Система и способ формирования системы ресурсов-ловушек
SYSTEM AND METHOD FOR FORMING A SYSTEM OF TRAP RESOURCES

Область техники
Изобретение относится к области анализа данных, а более конкретно к системам и способам формирования систем ресурсов-ловушек и выявления вредоносных объектов.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и объема программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ, а также способов несанкционированного доступа к данным, обрабатываемым указанными устройствами, и мошеннических способов использования этих данных.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак на вычислительные системы, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service), или для перебора паролей методом грубой силы (англ. bruteforce). Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
Для борьбы с вредоносными программами, включающими в себя обнаружение вредоносных программ, предотвращение заражения и восстановление работоспособности вычислительных устройств, зараженных вредоносными программами, применяются специализированные программы - антивирусы. Для обнаружения всего многообразия вредоносных программ антивирусные программы используют разнообразные технологии, такие как: статический анализ, сигнатурный анализ, списки разрешенных и запрещенных приложений и адресов, динамический анализ, эвристический анализ, проактивная защита и т.д.
Для эффективного применения описанных выше технологий обнаружения вредоносных программ в частности и вредоносной активности в целом необходимо получение новых экземпляров вредоносных программ или журналов вредоносной активности. С этой задачей хорошо справляются специальные системы - ресурсы-ловушки (от англ. honeypot - горшочек с медом), специально настроенные вычислительные системы с активными уязвимостями, представляющие собой хорошие цели для вредоносных атак.
Одним из недостатков ресурсов-ловушек может служить то, что зачастую они требуют для своей работы или отдельных компьютеров, или значительных вычислительных ресурсов, или сложной настройки и управления, что может затруднить их использование в задачах, связанных с информационной безопасностью.
В публикации US 9906538 B2 описана технология обнаружения сетевых атак с помощью систем-ловушек (ресурсов-ловушек). С этой целью на специально выделенной вычислительной системе формируется система, способствующая тому, что на нее будет совершена сетевая атака - за счет подготовки соответствующих ловушек (файлов и программного обеспечения, являющихся целью сетевой атаки). Выявление сетевых атак становится возможным за счет того, что заранее известно состояние вычислительной системы до начала ее функционирования в качестве ловушки. Таким образом, отслеживаются изменения в файловой системе и активности программного обеспечения на указанной вычислительной системе, в том числе активности вредоносных приложений или любой активности, связанной с сетевыми атаками.
Хотя описанные технологии хорошо справляются с формированием среды-ловушки для обнаружения вредоносных программ, они формируют указанные среды-ловушки на заданных вычислительных устройствах, тем самым снижая их эффективность работы с остальными задачами, а зачастую и делая невозможной такую работу (на вычислительной системе, служащей ловушкой для вредоносных программ, не может безопасно работать пользователь).
Настоящее изобретение позволяет решать задачу формирования ловушек для вредоносных программ и прочих вредоносных объектов (ресурсы-ловушки) без значительных ограничений в работе вычислительных систем, которые служат указанными ловушками, путем формирования системы ресурсов-ловушек.
Раскрытие изобретения
Изобретение предназначено для анализа данных.
Технический результат настоящего изобретения заключается в формировании системы ресурсов-ловушек для выявления вредоносных объектов в сетевом трафике.
Данные результаты достигаются с помощью использования системы формирования системы ресурсов-ловушек, которая содержит по меньшей мере два средства сбора, каждое из которых установлено на отдельной вычислительной системе и предназначено для сбора данных о вычислительной системе, на которой установлено, и передачи собранных данных средству формирования и средству распределения; средство формирования, предназначенное для формирования по меньшей мере двух виртуальных сред, каждая из которых содержит средство эмуляции, предназначенное для эмуляции работы вычислительной системы в виртуальной среде, на основании собранных данных о вычислительных системах, и передачи данных о сформированных виртуальных средах средству распределения; средство распределения, предназначенное для выбора по меньшей мере одной виртуальной среды для каждой вычислительной системы и установления связи между указанной вычислительной системой и виртуальной средой.
В другом частном случае реализации системы в качестве данных о вычислительной системе выступают по меньшей мере: аппаратные характеристики вычислительной системы; информация о вычислительных ресурсах вычислительной системы; информация об установленном на вычислительной системе программном обеспечении; информация о сетевом окружении вычислительной системы; информация о физическом расположении вычислительной системы.
Еще в одном частном случае реализации системы формируемая виртуальная среда по меньшей мере: содержит программное обеспечение, обладающее тем же функционалом, что и программное обеспечение, установленное на вычислительной системе; обладает вычислительными ресурсами, схожими с вычислительными ресурсами вычислительной системы; обладает скоростью передачи данных от вычислительной системы до виртуальной среды выше заранее заданного порогового значения; функционирует с тем же сетевым окружением, что и вычислительная система; обладает заранее заданным набором уязвимостей.
В другом частном случае реализации системы выбор для вычислительной системы виртуальной среды осуществляется на основании обученной модели.
Еще в одном частном случае реализации системы выбор для вычислительной системы виртуальной среды осуществляется по меньшей мере таким образом, чтобы: использование вычислительных ресурсов виртуальной среды было меньше заранее заданного порога; скорость передачи данными от вычислительной системы до виртуальной среды выше заранее заданного порогового значения.
В другом частном случае реализации системы связь для передачи данных между вычислительной системой и средством эмуляции устанавливают с использованием защищенной виртуальной сети.
Еще в одном частном случае реализации системы средство распределения дополнительно предназначено для установления связи между вычислительной системой и виртуальной средой для передачи данных между вычислительной системой и средством эмуляции выбранной виртуальной среды.
Данные результаты достигаются с помощью использования способа формирования системы ресурсов-ловушек, при этом способ содержит этапы, которые реализуются с помощью средств из системы формирования системы ресурсов-ловушек и на которых: собирают данные о по меньшей мере двух вычислительных системах; формируют по меньшей мере две виртуальные среды, каждая из которых содержит по средству эмуляции, предназначенному для эмуляции работы вычислительной системы в виртуальной среде, на основании собранных данных о вычислительных системах; формируют систему ресурсов-ловушек, путем выбора для каждой описанной выше вычислительной системы по меньшей мере одной виртуальной среды на основании данных о сформированных виртуальных средах и установления связи между указанными вычислительной системой и виртуальной средой.
В другом частном случае реализации способа в качестве данных о вычислительной системе выступают по меньшей мере: аппаратные характеристики вычислительной системы; информация о вычислительных ресурсах вычислительной системы; информация об установленном на вычислительной системе программном обеспечении; информация о сетевом окружении вычислительной системы; информация о физическом расположении вычислительной системы.
Еще в одном частном случае реализации способа формируемая виртуальная среда по меньшей мере: содержит программное обеспечение, обладающее тем же функционалом, что и программное обеспечение, установленное на вычислительной системе; обладает вычислительными ресурсами, схожими с вычислительными ресурсами вычислительной системы; обладает скоростью передачи данных от вычислительной системы до виртуальной среды выше заранее заданного порогового значения; функционирует с тем же сетевым окружением, что и вычислительная система; обладает заранее заданным набором уязвимостей.
В другом частном случае реализации способа выбор для вычислительной системы виртуальной среды осуществляется на основании обученной модели.
Еще в одном частном случае реализации способа выбор для вычислительной системы виртуальной среды осуществляется по меньшей мере таким образом, чтобы: использование вычислительных ресурсов виртуальной среды было меньше заранее заданного порога; скорость передачи данными между от вычислительной системы до виртуальной среды выше заранее заданного порогового значения.
В другом частном случае реализации способа связь для передачи данных между вычислительной системой и средством эмуляции устанавливают с использованием защищенной виртуальной сети.
Еще в одном частном случае реализации способа устанавливают связь между вычислительной системой и виртуальной средой для передачи данных между вычислительной системой и средством эмуляции выбранной виртуальной среды.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы обнаружения вредоносного объекта в сетевом трафике.
Фиг. 2 представляет структурную схему способа обнаружения вредоносного объекта в сетевом трафике.
Фиг. 3 представляет структурную схему системы формирования системы ресурсов-ловушек.
Фиг. 4 представляет структурную схему способа формирования системы ресурсов-ловушек.
Фиг. 5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Ресурс-ловушка, honeypot (хонипот, с англ. - горшочек с медом) - вычислительная система, представляющая собой приманку для злоумышленников. Задача ресурса-ловушки - подвергнуться атаке или несанкционированному исследованию и собрать данные об указанной активности, что впоследствии позволит изучить стратегию злоумышленника и определить перечень средств, с помощью которых могут быть нанесены удары по реально существующим объектам безопасности.
В качестве вычислительной системы может выступать:
компьютерная система пользователя;
сервер;
сайт;
программное обеспечение (например, приложения для работы с электронными документами).
Например, веб-сервер, который не имеет имени и фактически никому не известен, не должен, соответственно, иметь и гостей, заходящих на него, поэтому все лица, которые пытаются на него проникнуть, являются потенциальными взломщиками. Ресурс-ловушка собирает информацию о характере поведения этих взломщиков и об их способах воздействия на сервер. После чего специалисты в области информационной безопасности разрабатывают стратегии отражения атак злоумышленников.
Виртуальная среда (или виртуальная машина, VM, от англ. virtual machine) - программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы (target - целевая, или гостевая платформа) и исполняющая программы для target-платформы на host-платформе (host - хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы.
Виртуализация - предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе.
Примером использования виртуализации является возможность запуска нескольких операционных систем на одном компьютере: при том каждый из экземпляров таких гостевых операционных систем работает со своим набором логических ресурсов (процессорных, оперативной памяти, устройств хранения), предоставлением которых из общего пула, доступного на уровне оборудования, управляет хостовая операционная система - гипервизор.
Фиг. 1 представляет структурную схему системы обнаружения вредоносного объекта в сетевом трафике.
Структурная схема системы обнаружения вредоносного объекта в сетевом трафике состоит из сетевого трафика 100, который содержит вредоносный объект 101, вычислительной системы 110, которая содержит средство сбора 111, средство управления сетевым трафиком 112, средства распределения 120, виртуальной среды 130, которая содержит средство эмуляции 131, средство анализа 140.
Основное назначение системы обнаружения вредоносных объектов в сетевом трафике (далее - вредоносные объекты) заключается в обнаружении указанных вредоносных объектов, которые после передачи на вычислительную систему 110 устанавливаются в ней и начинают активно взаимодействовать с другим установленным программным обеспечением. Указанное обнаружение вредоносных объектов осуществляется путем эмуляции работы указанной вычислительной системы 110 в сформированной для этой цели виртуальной среде 130. Таким образом злоумышленник, атакуя вычислительную систему 110, инфицирует виртуальную среду-ловушку 130, которая выступает в качестве ресурса-ловушки.
В одном из вариантов реализации системы в качестве вредоносного объекта выступает по меньшей мере:
вредоносное приложение;
вредоносный файл;
унифицированный указатель ресурса (URL), с которого по меньшей мере:
распространяются вредоносные приложения,
осуществляется сетевая атака на вычислительную систему,
сетевой адрес, с которого по меньшей мере:
распространяются вредоносные приложение,
осуществляется сетевая атака на вычислительную систему.
Например, в сетевом трафике 100 может передаваться:
вредоносная программа - клавиатурный шпион;
инструкции для клиента бот-сети;
Еще в одном примере сам сетевой трафик не содержит описанных выше сущностей (т.е. является безопасным или условно безопасным), однако сетевой трафик могут поступать из источников, распространяющих спам, вредоносные программы, навязчивую рекламу и т.д., например со специализированных серверов, арендованных мошенниками.
В одном из вариантов реализации системы в качестве вычислительной системы выступает компьютерная система, описанная на Фиг. 5.
В качестве вычислительной системы 110 выступает по меньшей мере:
персональный компьютер;
ноутбук;
мобильное устройство (такое как смартфон, умные часы, планшет и т.д.);
сервер или распределенная система серверов;
система на чипе (англ. System-on-a-Chip, SoC);
иные встраиваемые системы.
Описываемая система обнаружения вредоносных объектов в сетевом трафике содержит по меньшей мере два средства сбора 111, каждое из которых функционирует на отдельной вычислительной системе 110.
В одном из вариантов реализации системы виртуальная среда 130 функционирует на сервере, не являющимся вычислительной системой 110.
Средство сбора 111 предназначено для сбора данных о вычислительной системе 110, на которой оно функционирует, и передаче собранных данных средству распределения 120.
Сбор данных о вычислительной системе 110 может осуществляться как до перехвата сетевого трафика 100 (например, во время загрузки операционной системы), так и в процессе перехвата сетевого трафика 100. Второй случай, хотя и требует больших вычислительных ресурсов, позволяет более эффективно формировать виртуальную среду 130 и, как следствие, позволяет более эффективно выявлять вредоносные объекты в сетевом трафике.
В одном из вариантов реализации системы в качестве данных о вычислительной системе 110 выступают по меньшей мере:
аппаратные характеристики вычислительной системы 110;
информация о вычислительных ресурсах вычислительной системы 110;
информация об установленном на вычислительной системе 110 программном обеспечении;
информация о сетевом окружении вычислительной системы 110;
информация о физическом расположении вычислительной системы 110.
Например, в качестве данных о вычислительной системе могут выступать:
объем оперативной памяти;
количество жестких дисков, общая емкость жестких дисков и объем свободного места на них;
перечень установленного программного обеспечения, версии программного обеспечения;
название процессора, видеокарты, периферийных устройств и т.д.
Еще в одном примере, если предполагается целевая атака (англ. APT, advanced persistent threat - развитая устойчивая угроза), то в качестве данных о вычислительной системе 110 может выступать непосредственно образ указанной вычислительной системы 110. На основании данного образа будет формироваться виртуальная среда 130 (на которой разворачивается данный образ). Таким образом, виртуальная среда 130 будет полностью эмулировать работу вычислительной системы 110, что в свою очередь будет способствовать обнаружению предназначенных исключительно для конкретной вычислительной системы 110 вредоносных объектов, которые не могли бы быть выявлены на виртуальной среде 130, сформированной на иных принципах (к примеру, на виртуальной среде, эмулирующей работу вычислительной системы среднестатистического пользователя).
Еще в одном из вариантов реализации системы средство сбора 111 дополнительно предназначено для сбора данных о работе приложений на вычислительной системе 110, включающих в том числе по меньшей мере:
информацию о создании, модификации и удалении файлов на вычислительной системе 110;
информацию о сетевых соединениях и передаваемых по сети данных;
информацию о пользователях, работающих на вычислительной системе 110.
Средство распределения 120 предназначено для выбора виртуальной среды 130 из по меньшей мере двух заранее сформированных виртуальных сред на основании собранных средством сбора 111 данных о вычислительной системе 110.
В одном из вариантов реализации системы выбирают виртуальную среду 130 из заранее сформированных виртуальных сред по меньшей мере:
с установленным программным обеспечением, обладающим тем же функционалом, что и программное обеспечение, установленное на вычислительной системе 110;
обладающую вычислительными ресурсами, схожими с вычислительными ресурсами вычислительной системы 110;
обладающую скоростью передачи данных от вычислительной системы 110 до виртуальной среды 130 выше заранее заданного порогового значения;
функционирующую с тем же сетевым окружением, что и вычислительная среда 110;
обладающую заранее заданным набором уязвимостей.
Например, для выявления вредоносных программ-шифровальщиков, которые шифруют электронные документы (к примеру, документы Microsoft Office) в виртуальной среде 130 должны быть установлены соответствующие приложения (к примеру, Microsoft Office). Для того, чтобы виртуальная среда 130 более точно соответствовала вычислительной системе 110, необходимо, чтобы в виртуальной среде 130 были установлены приложения тех же версий, что и на вычислительной системе 110 (к примеру, Microsoft Office 2016).
Еще в одном примере для выявления эксплойтов, т.е. исполняемого кода, использующего уязвимости операционной системы или приложений, в виртуальной среде 130 должна быть установлена такая же операционная система, что и на вычислительной системе 110, но с неисправленными уязвимостями. С одной стороны, такой подход позволяет максимально точно воспроизвести вычислительную систему 110 с минимальными затратами вычислительных ресурсов, а с другой стороны - с максимально возможной вероятностью получить в сетевом трафике 100 вредоносные объекты.
Еще в одном из вариантов реализации системы выбирают виртуальную среду 130 из заранее сформированных виртуальных сред на основе предварительно обученной модели.
Еще в одном из вариантов реализации системы указанная предварительно обученная модель представляет собой совокупность правил для по меньшей мере:
выбора виртуальной среды 130;
формирования виртуальной среды 130 под заданную вычислительную систему 110.
Обученная модель формируется с помощью методов машинного обучения (англ. machine learning) для чего используется по меньшей мере:
нейронные сети (англ. artificial neural network),
методы коррекции ошибки,
методы обратного распространения ошибки (англ. backpropagation),
методы опорных векторов (англ. support vector machine),
методы бустинга (англ. boosting),
байесовские сети (англ. red bayesiana).
Частным примером обученной модели является обученная модель распределения 330, представленная при описании Фиг. 3.
Например, для разных типов вредоносных объектов могут быть заранее сформированы разные виртуальные среды 130 со своим программным обеспечением и характеристиками. Для выявления уязвимостей в виртуальной среде 130 устанавливается операционная система и программное обеспечение с неисправленными уязвимостями, для выявления программ-шифровальщиков - программное обеспечение для электронного документооборота и работы с медиа данными, для выявления спам-рассылок - программное обеспечение для работы с социальными сетями и т.д.
Еще в одном примере разным виртуальным средам 130 могут выделяться разные вычислительные ресурсы, такие как оперативная память, место на жестком диске или производительность процессора (регулируемая выделяемыми квантами процессорного времени). Таким образом, виртуальная среда 130, рассчитанная на выявление определенных типов вредоносных объектов, будет использовать минимально необходимое количество вычислительных ресурсов.
Такой подход позволяет сформировать и поддерживать работоспособность большего количества виртуальных сред 130 на одном сервере, что в свою очередь дает возможность более гибко осуществлять выбор между разными виртуальными средами 130 для заданной вычислительной системы 110.
Еще в одном примере, кроме формирования виртуальных сред 130 для заданных типов вредоносных объектов, могут формировать виртуальные среды 130 для определенных групп пользователей, таких как:
группа среднестатистических пользователей, т.е. пользователей, работающих с популярным программным обеспечением и выполняющих наиболее частые действия на вычислительных системах 110;
группа пользователей, работающих с электронными документами;
группа пользователей, работающих с видео и аудиоданными;
группа пользователей, работающих с базами данных и т.д.
Такой подход наиболее эффективен для того, чтобы охватить наибольшее количество целевых аудиторий при минимальном использовании вычислительных ресурсов (выделяемых для функционирования виртуальных сред 130).
Кроме того, для конкретных пользователей, вычислительных систем 110 или действий, выполняемых пользователями на указанных вычислительных системах 110, могут формироваться отдельные виртуальные среды. Как указывалось выше, такой подход наиболее эффективен для выявления вредоносных объектов, используемых для целевых атак (APT).
Еще в одном из вариантов реализации системы средство распределения 120 дополнительно предназначено для выбора виртуальной среды 130 на основании характеристик перехваченного сетевого трафика 100.
Еще в одном из вариантов реализации системы в качестве характеристик перехваченного сетевого трафика выступает по меньшей мере:
унифицированный указатель ресурса (URL), с которого на вычислительную систему 110 поступает сетевой трафик 100;
сетевой адрес, с которого на вычислительную систему 110 поступает сетевой трафик 100;
хэш-суммы, вычисленные на основании содержимого сетевого трафика 100.
Средство управления сетевым трафиком 112 предназначено для перехвата сетевого трафика 100 вычислительной системы 110 и передачи его средству эмуляции 131 на выбранной виртуальной среде 130.
В одном из вариантов реализации системы средство управления сетевым трафиком 112 представляет собой драйвер, работающий на вычислительной системе 110.
Еще в одном из вариантов реализации системы средство сбора 111 и средство управления сетевым трафиком 112 реализуются в виде тонкого клиента (англ. thin client).
Еще в одном из вариантов реализации системы средство управления сетевым трафиком 112 дополнительно передает перехваченный сетевой трафик 100 другому программному обеспечению, работающему на вычислительной системе 110. Таким образом, становится возможным перехватывать сетевой трафик 100 и использовать его для последующей эмуляции работы вычислительной системы 110 на виртуальной среде 130, при этом позволяя продолжать работать пользователю на вычислительной системе 110.
Еще в одном из вариантов реализации системы средство перехвата сетевого трафика 100 дополнительно предназначено для:
фильтрации сетевого трафика 100 на основании данных об источнике сетевого трафика 100, содержимом сетевого трафика 100 и т.д.;
категоризации сетевого трафика 100 на основании результатов фильтрации;
последующей передачи сетевого трафика в зависимости от выбранной категории средству эмуляции 131, работающему в виртуальной среде 130, или другому программному обеспечению, работающему на вычислительной системе 110.
Например, все сетевые пакеты из сетевого трафика 100, источник которых известен и находится в списке разрешенных адресов, категоризируются как безопасные сетевые пакеты и передаются другому программному обеспечению, работающему на вычислительной системе 110, а все сетевые пакеты, источник которых неизвестен или находится в списке запрещенных адресов, категоризируются как потенциально опасные и передаются средству эмуляции 131, работающему в виртуальной среде 130.
Еще в одном из вариантов реализации системы перехваченный сетевой трафик 100 передают средству эмуляции 131 с использованием защищенной виртуальной сети (VPN).
Виртуальные среды 130 могут функционировать как на одном вычислительном устройстве (например, на одном сервере), так и на нескольких вычислительных устройствах (формировать распределенную систему вычислительных устройств и распределенную систему виртуальных сред 130).
Средство эмуляции 131 предназначено для эмуляции работы вычислительной системы 110 в виртуальной среде 130 на основании данных из перехваченного сетевого трафика 100 и передачи результатов эмуляции работы вычислительной системы средству анализа 140.
В одном из вариантов реализации системы в качестве средства эмуляции 131 выступает программное обеспечение для виртуализации.
Например, в качестве средства эмуляции 131 может выступать программное обеспечение «Microsoft Hyper-V», «VMware Server», «VMware Workstation», «VirtualBox» и т.д.
Средство анализа 140 предназначено для обнаружения вредоносного объекта 101 в виртуальной среде 130 на основании анализа результатов эмуляции работы вычислительной системы 110.
В одном из вариантов реализации системы в качестве средства анализа 140 выступает антивирусное программное обеспечение, использующее по меньшей мере одну из следующих технологий:
статический анализ - анализ программ на вредоносность на основании данных, содержащихся в файлах, составляющих анализируемые программы, при этом при статистическом анализе могут использоваться:
сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемых программ известному коду (сигнатуре) из базы данных сигнатур вредоносных программ;
списки разрешенных и запрещенных приложений - поиск вычисленных контрольных сумм от анализируемых программ (или их частей) в базе данных контрольных сумм вредоносных программ (списки запрещенных программ) или базе данных контрольных сумм безопасных программ (списки разрешенных программ);
динамический анализ - анализ программ на вредоносность на основании данных, полученных в ходе исполнения или эмуляции работы анализируемых программ, при этом при динамическом анализе могут использоваться:
эвристический анализ - эмуляция работы анализируемых программ, создание журналов эмуляции (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных поведенческих сигнатур вредоносных программ;
проактивная защита - перехват вызовов API-функций запущенных анализируемых программ, создание журналов поведения анализируемых программ (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных вызовов вредоносных программ.
Еще в одном из вариантов реализации системы в результате работы средства анализа 140 по меньшей мере:
формируется поток атакующих URL/IP адресов, поставляемый известным из уровня техники внешним защитным решениям (антивирусному программному обеспечению, сетевым фильтрам и т.д.);
URL-адреса с вредоносным ПО добавляются в облачные сервисы для защиты пользователей, использующих антивирусные продукты и т.д.
Фиг. 2 представляет структурную схему способа обнаружения вредоносного объекта в сетевом трафике.
Структурная схема способа обнаружения вредоносного объекта в сетевом трафике содержит этап 200, на котором собирают данные о вычислительной системе, этап 210, на котором выбирают виртуальную среду, этап 220, на котором перехватывают сетевой трафик, этап 230, на котором эмулируют работу вычислительной системы, этап 240, на котором обнаруживают вредоносный объект.
На этапе 200 с помощью средства сбора 111 собирают данные о вычислительной системе 110.
На этапе 210 с помощью средства распределения 120 выбирают виртуальную среду 130 из по меньшей мере двух заранее сформированных виртуальных сред на основании собранных данных о вычислительной системе 110.
В одном из вариантов реализации способа этапы 200 и 210 выполняются по меньшей мере:
до начала выполнения этапа 220 (например, при загрузке операционной системы или запуске приложения, к примеру браузера);
в процессе выполнения этапа 220 (например, при работе приложения, которое активно генерирует сетевой трафик, к примеру браузера, при загрузке страницы сайта);
после выполнения этапа 220.
На этапе 220 с помощью средства управления сетевым трафиком 112 перехватывают сетевой трафик вычислительной системы 110.
На этапе 230 с помощью средства эмуляции 131 эмулируют работу вычислительной системы 110 в виртуальной среде 130 на основании данных из перехваченного сетевого трафика 100.
На этапе 240 с помощью средства анализа 140 обнаруживают вредоносный объект 101 в виртуальной среде 130 на основании анализа результатов эмуляции работы вычислительной системы 110.
Фиг. 3 представляет структурную схему системы формирования системы ресурсов-ловушек.
Структурная схема системы формирования системы ресурсов-ловушек состоит из средства формирования 310, базы виртуальных сред 320, модели распределения 330, средства распределения 340, вычислительных систем 110, каждое из которых содержит средство сбора 111 и средство управления сетевым трафиком 112, виртуальных сред 130, каждая из которых содержит средство эмуляции 131.
Одно из назначений системы формирования системы ресурсов-ловушек - реализация системы распределения виртуальных сред 130 между вычислительными системами 110, позволяющей эффективно обнаруживать вредоносные объекты 101 из сетевого трафика 100 поскольку каждой вычислительной системе 110 выделяется наиболее подходящая виртуальная среда 130, что с одной стороны снижает общее использование вычислительных ресурсов описываемой системой, а с другой стороны увеличивает эффективность (англ. detection rate) обнаружение вредоносных файлов 101 в специализированной для этой цели виртуальной среде 130. Более подробно см. ниже.
Система формирования системы ресурсов-ловушек содержит по меньшей мере две вычислительные системы 110.
Более подробно о вычислительной системе 110 описано на Фиг. 1.
В одном из вариантов реализации системы средство формирования 310, средство распределения 340 и виртуальные среды 130 функционируют на отдельных серверах.
Еще в одном из вариантов реализации системы средство формирования 310 и виртуальные среды 130 функционируют на одних и тех же серверах, а вычислительные системы 110 и средство распределения 340 - на других компьютерных системах, при этом вычислительная система 110 и средство распределения 340 могут работать на одной компьютерной системе.
Например, компьютер пользователя может представлять собой вычислительную систему 110, на которой функционирует средство распределения 340, которое устанавливает соединение с удаленным сервером, на котором функционирует средство формирования 310 и сформированная указанным средством виртуальная среда 130.
Предварительно собираются данные о каждой вычислительной системе 110 с помощью средства сбора 111.
В одном из вариантов реализации системы в качестве данных о вычислительной системе 110 выступают по меньшей мере:
аппаратные характеристики вычислительной системы;
информация о вычислительных ресурсах вычислительной системы 110;
информация об установленном на вычислительной системе 110 программном обеспечении;
информация о сетевом окружении вычислительной системы 110;
информация о физическом расположении вычислительной системы 110.
Средство формирования 310 предназначено для формирования по меньшей мере двух виртуальных сред 130, каждая из которых содержит средство эмуляции 131, предназначенное для эмуляции работы вычислительной системы 110 в виртуальной среде 130, на основании собранных данных о вычислительных системах 110 и передачи данных о сформированных виртуальных средах средству распределения 340.
В одном из вариантов реализации системы формируемая виртуальная среда 130 по меньшей мере:
содержит программное обеспечение, обладающее тем же функционалом, что и программное обеспечение, установленное на вычислительной системе 110;
обладает вычислительными ресурсами, схожими с вычислительными ресурсами вычислительной системы 110;
обладает скоростью передачи данных от вычислительной системы 110 до виртуальной среды 130 выше заранее заданного порогового значения;
функционирует с тем же сетевым окружением, что и вычислительная система 110;
обладает заранее заданным набором уязвимостей.
Еще в одном из вариантов реализации системы формирование виртуальной среды 130 осуществляется по меньшей мере:
на основании элементов ранее сформированных виртуальных сред, хранящихся в базе виртуальных сред 320 (например, в виде образов), где в качестве элементов виртуальных сред выступают по меньшей мере:
компоненты операционной системы, функционирующей в виртуальной среде,
приложения, функционирующие в виртуальной среде,
настройки операционной системы,
настройки приложений,
данные (к примеру электронные документы, медиа данные и т.д.);
путем выбора одной из виртуальных сред, хранящихся в базе виртуальных сред 320.
на основании заранее сформированных правил формирования виртуальных сред.
Еще в одном из вариантов реализации системы формирование виртуальной среды 130 для одной вычислительной системы 110 влияет на формирование виртуальной среды 130 для другой вычислительной системы 110.
Например, виртуальные среды 130 для вычислительных систем 110 формируются таким образом, чтобы не превышать в своей работе выделенных вычислительных ресурсов сервера (при условии, что формируемые виртуальные среды 130 будут работать на одном сервере).
Средство формирования 310 дополнительно предназначено для обучения модели распределения 330 на основании данных о вычислительных системах 110 и сформированных виртуальных средах 130 таким образом, чтобы при последующем выборе с помощью средства распределения 340 с помощью модели распределения 330 виртуальных сред 130 для заданных вычислительных систем выполнялись задачи, в которых по меньшей мере:
эффективность обнаружения вредоносных объектов разных типов на выбираемых виртуальных средах 130 была максимальной;
время на передачу сетевого трафика 100 между вычислительными системами 110 и виртуальными средами 130 было минимальным;
нагрузка (т.е. использование вычислительных ресурсов, потребление машинного времени, потребление электроэнергии и т.д.) на виртуальную среду 130 была меньше заранее заданных пороговых значений.
Например, с помощью средства формирования 310 обучают модель распределения 330 на основании ранее сформированных виртуальных сред 130, которые использовались для обнаружения эксплойтов операционной системы Windows в сетевом трафике 100.
Еще в одном примере с помощью средства формирования 310 переобучают модель распределения 330 на основании результатов работы средства анализа 140 (см. Фиг. 1). К примеру, для снижения времени на передачу сетевого трафика 100 между вычислительными системами 110 и виртуальными средами 130 - для чего виртуальные среды 130 подбираются на более коротких сетевых расстояниях до вычислительных систем 110.
Формирование виртуальной среды 130 под конкретную вычислительную систему 110 (формирование виртуальной среды 130 на основании данных о работе вычислительной системы 110) позволяет более точно эмулировать работу указанной вычислительной системы 110, что в свою очередь повышает эффективность обнаружения вредоносных приложений 101.
Например, в случае целевой атаки на вычислительную систему 110 недостаточно точная эмуляция ее работы может не позволить сработать вредоносному функционалу вредоносного приложения 101, содержащегося в сетевом трафике 100, что в свою очередь не позволит обнаружить указанное вредоносное приложение. Чем точнее эмулируется работа вычислительной системы 110, тем выше шанс обнаружить вредоносное приложение, предназначенное для работы на указанной вычислительной системе и/или выше шанс определить вредоносный функционал указанного приложения.
Средство распределения 340 предназначено для формирования системы ресурсов-ловушек, что включает выбор для каждой вычислительной системы 110 по меньшей мере одной виртуальной среды 130 на основании данных о сформированных виртуальных средах 130 и установление связи между указанными вычислительной системой 110 и виртуальной средой 130 для передачи данных между указанной вычислительной системой 110 и средством эмуляции 131 выбранной виртуальной среды 130.
В одном из вариантов реализации системы выбор для вычислительной системы 110 виртуальной среды 130 осуществляется на основании обученной модели распределения 330.
Еще в одном из вариантов реализации системы выбор для вычислительной системы 110 виртуальной среды 130 осуществляется по меньшей мере таким образом, чтобы:
использование вычислительных ресурсов виртуальной среды 130 было меньше заранее заданного порога;
скорость передачи данными между от вычислительной системы 110 до виртуальной среды 130 было выше заранее заданного порогового значения.
Еще в одном из вариантов реализации системы виртуальная среда 130 для вычислительной системы 110 выбирается исходя из типов вредоносных объектов, которые ожидается обнаружить в сетевом трафике 100.
Например, для эффективного обнаружения вредоносных программ-шифровальщиков и эксплойтов требуется две специально сформированные виртуальные среды 130. Поэтому средство распределения 340 может выбрать для заданной вычислительной системы 110 сразу две виртуальные среды 130, на которые и будет передаваться перехваченный средством управления сетевым трафиком 112 сетевой трафик 100 (см. Фиг. 1).
Таким образом, в одном из вариантов реализации системы средство распределения 340 выполняет по меньшей мере следующие задачи:
выбирает для заданных вычислительных систем 110 виртуальные среды 130 такие, что эффективность обнаружения вредоносных объектов разных типов была максимальной;
выбирает для заданных вычислительных систем 110 такие виртуальные среды 130, чтобы время на передачу сетевого трафика 100 между вычислительными системами 110 и виртуальными средами 130 было минимальным;
выбирает для заданных вычислительных систем 110 такие виртуальные среды 130, чтобы нагрузка на виртуальные среды 130 (т.е. использование вычислительных ресурсов, потребление машинного времени, потребление электроэнергии и т.д.) было меньше заранее заданных пороговых значений.
Распределение виртуальных сред 130 между вычислительными системами 110 позволяет более эффективно распределять вычислительную нагрузку между задачами эмуляции работы вычислительных систем 110, тем самым можно использовать более сложные и ресурсоемкие алгоритмы эмуляции, что в свою очередь повышает эффективность (точность) эмуляции указанных вычислительных систем 110.
Еще в одном из вариантов реализации системы связь для передачи данных между указанной вычислительной системой 110 и средством эмуляции 131 устанавливают с использованием защищенной виртуальной сети (VPN).
Еще в одном из вариантов реализации системы дополнительно в зависимости от результата работы средства анализа 140 виртуальной среды 130 (см. Фиг. 1) с помощью средства формирования 310 принимают решение о переобучении модели распределения 330 таким образом, чтобы выбор виртуальных сред 130 для вычислительной системы 110 на основании данных о вычислительной системе 110 или сетевом трафике 100 более эффективно решал описанные выше задачи.
Фиг. 4 представляет структурную схему способа формирования системы ресурсов-ловушек.
Структурная схема способа формирования системы ресурсов-ловушек содержит этап 410, на котором собирают данные о вычислительных системах, этап 420, на котором формируют виртуальные среды, этап 430, на котором формируют систему ресурсов-ловушек.
На этапе 410 с помощью средства сбора 111 собирают данные о по меньшей мере двух вычислительных системах 110.
На этапе 420 с помощью средства формирования 310 формируют по меньшей мере две виртуальные среды 130, содержащие по средству эмуляции 131, предназначенному для эмуляции работы вычислительной системы 110 в виртуальной среде 130, на основании собранных данных о вычислительных системах 110.
На этапе 430 с помощью средства распределения 340 формируют систему ресурсов-ловушек, заключающуюся в выборе для каждой вычислительной системы 110 по меньшей мере одной виртуальной среды 130 на основании данных о сформированных виртуальных средах 130 и установлении связи между указанными вычислительной системой 110 и виртуальной средой 130 для передачи данных между указанной вычислительной системой 110 и средством эмуляции 131 выбранной виртуальной среды 130.
Фиг. 5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.