Система и способ обнаружения вредоносного программного обеспечения

Иллюстрации

Показать все

Изобретение относится к системам обнаружения вредоносного программного обеспечения при помощи анализа событий исполняемой программы и предназначено для обнаружения вредоносного программного обеспечения. Техническим результатом является выявление вредоносного программного обеспечения, не поддающегося классификации стандартными известными технологиями. В системе используют средство обработки данных, предназначенное для обработки найденных программ средством поиска программ и связанное с рабочей станцией аналитика, включающее: средство проверки принадлежности найденных средством поиска программ к черному или белому списку программ; средство эмуляции кода программ, не относящихся к черному или белому списку; средство отслеживания событий, вызываемых при исполнении программы в ходе эмуляции; и рабочую станцию аналитика, способную проводить эмуляцию программного кода, обработку данных, предоставлять информацию, принимать физиологические реакции аналитика, классифицировать информацию. 3 н. и 12 з.п. ф-лы, 5 ил.

Реферат

Область техники

Изобретение относится к компьютерным системам, более конкретно к системам обнаружения вредоносного программного обеспечения при помощи анализа событий исполняемой программы.

Уровень техники

В настоящее время компьютерное вредоносное программное обеспечение, такое как вирусы, компьютерные черви и троянские программы представляют одну из самых важных проблем компьютерной безопасности. Было подсчитано, что ежегодные финансовые потери предпринимательства от вредоносного программного обеспечения составляют десятки миллиардов долларов. Для противостояния возрастающему числу вредоносных программ было разработано большое количество антивирусных технологий. Большинство технологий обнаружения заключаются в анализе программного кода и сопоставления его частей набору частей известного вредоносного кода, содержащегося в антивирусных базах. Если схожесть между программным кодом и вредоносным фрагментом найдена, программный код отмечается как вредоносный.

Другим немало известным подходом обнаружения вредоносного программного обеспечения является эвристический анализ программного кода. Эвристический анализ представляет технологию, основанную на анализе поведения программы, эмулируемой в защищенной компьютерной среде, например в виртуальной операционной системе. Поведение эмулируемой программы анализируется на предмет наличия часто встречаемых вредоносных действий, таких как дублирование, затирание и попытки скрыть наличие подозрительных или потенциально опасных файлов. Если подобные вредоносные действия присутствуют, то программа отмечается как вредоносная.

Однако данные технологии могут не сработать или привести к неверным результатам, если вредоносная часть кода программы не присутствует в антивирусных базах или код содержит скрытое и неочевидное вредоносное поведение. В этих случаях скрытый код может быть отправлен аналитику для рассмотрения и принятия решения о вредоносности программы. Процесс просмотра аналитиком дает точные результаты, но при этом занимает время и не эффективен с данной точки зрения.

Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно системой обнаружения вредоносного программного обеспечения.

Раскрытие изобретения

Настоящее изобретение предназначено для обнаружения вредоносного программного обеспечения, в частности вредоносных программ, не поддающихся классификации ввиду недостатков существующих методов обнаружения вредоносного программного обеспечения.

Технический результат настоящего изобретения заключается в выявлении вредоносного программного обеспечения, не поддающегося классификации стандартными известными технологиями.

Система обнаружения вредоносного программного обеспечения содержит средство поиска программ, средство обработки данных найденных программ и рабочую станцию аналитика, связанную со средством обработки данных. Система обнаружения вредоносного программного обеспечения содержит: средство поиска программ, предназначенное для поиска программ в Интернет, связанное со средством обработки данных; средство обработки данных, предназначенное для обработки найденных программ средством поиска программ и связанное с рабочей станцией аналитика, включающее: хранилище данных о вредоносном и законном программном обеспечении, содержащее черные списки, белые списки, примеры поведения программ, примеры вредоносных и законно используемых программ, предназначенные для калибровки системы; средство проверки принадлежности найденных средством поиска программ к черному или белому списку программ; средство эмуляции кода программ, не относящихся к черному или белому списку; средство отслеживания событий, вызываемых при исполнении программы в ходе эмуляции; средство классификации отслеживаемых в ходе эмуляции событий на вредоносные и не вредоносные; средство сбора информации о событиях, не поддающихся классификации; и рабочую станцию аналитика, связанную со средством обработки данных, включающую: средство изолирования аналитика от внешних аудио- и видеораздражителей; устройство калибровки рабочей станции аналитика, формирующее калибровочный профиль аналитика на основе примеров вредоносных и законно используемых программ, хранящихся в хранилище данных; устройство вывода для предоставления списка не поддающихся классификации событий и дополнительной информации о данных событиях аналитику; устройство ввода, состоящее, по меньшей мере, из одного датчика; и анализатор, предназначенный для обнаружения вредоносного программного обеспечения с учетом параметров данных, полученных устройством ввода, и данных калибровочного профиля аналитика.

В частном варианте исполнения системы под средствами изолирования подразумевается видеоустройство, закрепляемое на голову аналитика, и наушники.

В частном варианте исполнения системы видеоустройством могут являться видеоочки или видеошлем.

В частном варианте исполнения системы устройство ввода может включать: кнопочное устройство, чувствительное к движениям пальцев; датчик давления, чувствительный к движениям пальцев; видеокамеру, отслеживающую движения глаз аналитика; аудиодатчик для обнаружения и анализа голосовых команд; электрический сенсор для отслеживания биосигналов аналитика.

В частном варианте исполнения системы дополнительная информация о событиях включает: частоту возникновения не поддающихся классификации событий в течение эмуляции программы и частоту возникновения не поддающихся классификации событий в известной вредоносной программе.

В частном варианте исполнения системы список не поддающихся классификации событий не включает дубликаты событий.

В частном варианте исполнения системы калибровочный профиль аналитика содержит таблицы соответствия параметров устройства ввода вредоносному или законному программному обеспечению.

Способ обнаружения вредоносного программного обеспечения состоит из: формирования калибровочного профиля аналитика на основе примеров известных вредоносных и законно используемых программ; поиска новых программ в Интернет; сравнения найденных программ с черным и белым списком программ; эмуляции исполнения программного кода; отслеживания событий исполнения программ; классификации событий как вредоносные или не вредоносные; сбора информации о событиях, не поддающихся классификации; предоставления списка не поддающихся классификации событий аналитику через видеоустройство; преобразования психологических реакций аналитика на предоставляемую ему информацию; и определения вредоносных событий из списка не поддающихся классификации событий на основании полученных данных психологических реакций аналитика.

В частном варианте исполнения способа отслеживание событий включает, по крайней мере, один или несколько программных системных вызовов и один или несколько системных ответов на вызов.

В частном варианте исполнения способа классификация событий заключается в сравнении полученных в результате эмуляции программного кода событий с образцами событий, ассоциированных с вредоносными программами.

В частном варианте исполнения способа информация о не поддающихся классификации событиях включает: частоту возникновения не поддающихся классификации событий в течение эмуляции программы; и частоту возникновения не поддающихся классификации событий в известной вредоносной программе.

В частном варианте исполнения способа список не поддающихся классификации событий не включает дубликаты событий.

В частном варианте исполнения способа видеоустройством могут являться видеоочки или видеошлем.

В частном варианте исполнения способа психологические реакции распознаются при помощи: кнопочного устройства, чувствительного к движениям пальцев; датчика давления, чувствительного к движениям пальцев; видеокамеры, отслеживающей движения глаз аналитика; аудиодатчика для обнаружения и анализа голосовых команд; электрического сенсора для отслеживания биосигналов аналитика.

Машиночитаемый носитель для управления доступом к запоминающему устройству, на котором сохранена компьютерная программа, при выполнении которой на компьютере выполняются следующие этапы: поиск новых программ в Интернет; эмуляция исполнения программного кода; отслеживание событий исполнения программ; классификация событий; сбор информации о событиях, не поддающихся классификации; предоставление списка не поддающихся классификации событий аналитику через видеоустройство; отслеживание психологических реакций аналитика на предоставляемую ему информацию; и определение вредоносных событий из списка не поддающихся классификации событий на основании полученных данных психологических реакций аналитика.

Краткое описание чертежей

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:

Фиг.1 изображен пример архитектуры системы обнаружения вредоносного программного обеспечения.

Фиг.2 показывает пример другого подхода осуществления архитектуры системы обнаружения вредоносного программного обеспечения.

Фиг.3 изображен пример системного интерфейса представляемого аналитику.

Фиг.4A и B показывают процесс работы системы по обнаружению вредоносного программного обеспечения.

Описание вариантов осуществления изобретения

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.

На Фиг.1 приведен пример архитектуры системы обнаружения вредоносного программного обеспечения. Система 100 включает средство обработки данных 105, способное производить эмуляцию, анализ и классификацию различных компьютерных объектов. Система дополнительно включает хранилище данных 110, соединенное со средством обработки данных 105. Хранилище данных содержит информацию об известном вредоносном программном обеспечении, таком как вирусы, троянские программы, компьютерные черви и о другом нежелательном и вредном программном обеспечении. Система 100 дополнительно включает одну или несколько рабочих станций аналитиков 115, соединенных со средством обработки данных 105. При помощи рабочих станций аналитики, например, вирусные аналитики, способны проводить анализ не поддающихся классификации событий, возникающих при исполнении программы. Рабочие станции 115 настроены для оптимизации эффективности работы аналитиков в сфере рассмотрения не поддающихся классификации событий и предоставления полученных результатов средству обработки данных 105.

Средство обработки данных 105 может состоять из одного или нескольких серверов. Система может иметь один или несколько процессоров 125, таких как Intel Quad-Core® или AMD™ Turon 64 и исполнять одну или несколько операционных систем 135, например Windows®, Unix®, Mac® OS, а также другие типы операционных систем. Средство 105 может иметь один или несколько накопителей на жестких магнитных носителях, флэш-память, оперативное запоминающее устройство или другие типы запоминающих устройств 130 для хранения операционной системы, данных и различных программных ресурсов, необходимых для функционирования средств обработки данных 105. Система также может иметь сетевой интерфейс 140, например Ethernet, для доступа в сеть Интернет или другие локальные или широко распространенные сети, а также различные последовательные и параллельные порты ввода и вывода 145 для соединения периферийных устройств. Также средство обработки данных 105 может содержать дополнительные аппаратные или программные компоненты.

Средство обработки данных 105 может быть настроено для выполнения приложения обнаружения вредоносных программ 150. Как показано на Фиг.2, приложение обнаружения вредоносных программ 150 может задействовать средства поиска 205, средство эмуляции 210, детектор событий 215 и анализатор событий 220. Средство эмуляции 210 может включать системный эмулятор 225 и программный эмулятор 230. Приложение обнаружения вредоносного программного обеспечения 150 может быть запущено как на одном, так и на нескольких серверах приложений.

В частном примере реализации системы, приложение обнаружения вредоносных программ может включать средства поиска 205, например Google®, Yahoo®, Яндекс® или собственный механизм поиска. Средство поиска предназначено для нахождения в Интернете и других сетях новых приложений, программ и других типов программного обеспечения, для дальнейшего анализа на наличие вредоносного кода. В качестве одного из вариантов реализации системы все найденные программы могут быть сравнены с программами из белого списка программ 160, занесенных в хранилище данных 110. Белый список 160 содержит список программного обеспечения, проверенного ранее и классифицированного не содержащим вредоносный программный код или законным. Если программа не может быть найдена в белом списке, она передается средству эмуляции 210 для анализа на наличие вредоносного программного обеспечения. Другим подходом является сравнение всех новых объектов с черным списком программ 165, также занесенного в хранилище данных 110. Черный список содержит перечень ранее классифицированных вредоносными объектов. Анализ и классификация объекта не производится в том случае, если объект занесен в черный список.

Приложение обнаружения вредоносного программного обеспечения 150 может включать средство эмуляции 210, способное производить эмуляцию объектов с целью обнаружения вредоносного поведения исследуемого объекта. Для этого средство эмуляции 210 включает системный эмулятор и программный эмулятор 230. Системный эмулятор предназначен для эмуляции одного или нескольких компонентов компьютерной системы в изолированном защищенном компьютерном окружении средства обработки данных 105. Например, часть системной памяти 130 может быть задействована для создания подобного изолированного защищенного окружения для эмуляции исполнения объектов. Системный эмулятор 225 может эмулировать несколько компонент компьютерной системы, включая центральный процессор 235, эмулируемый БИОС 240 и операционную систему 245, которая может также включать эмулируемые программные интерфейсы приложений 250, такие как Win32 или, например, эмулируемые файловая система 255, системный реестр 260, планировщик потоков 265 и другие необходимые системные компоненты. Системный эмулятор 225 способен принимать различные системные настройки в зависимости от требований программы 270, эмулируемой программным эмулятором 230.

Средство эмуляции 210 может включать программный эмулятор 230, способный выполнять одну или несколько программ 270 в изолированном безопасном окружении средства обработки данных 105, используя системный эмулятор 225. Для организации эмуляции программы 270 программный эмулятор 230 способен загружать программу 270 из системной памяти 130 или из любого другого локального или удаленного источника в область запоминающего устройства с произвольным доступом 130, расположенную в изолированной защищенной компьютерной среде. Перед эмуляцией программный эмулятор 230 может запустить сканирование программы 270 для проверки того, что системный эмулятор 225 имеет все необходимые ресурсы для проведения эмуляции программы. Программный эмулятор способен также распаковывать заархивированные программы 270 и производить дополнительные необходимые операции. Далее программный эмулятор 230 может производить чтение инструкций, таких как с 1 по N и производить их эмуляцию, используя системный эмулятор 225.

В частном примере реализации системы системный эмулятор 225 может быть сконфигурирован для эмуляции одного или нескольких исполнимых компонент компьютерной программы 270. Различные исполняемые компоненты могут включать как сами программы, так и различные копии программ, которые могут быть созданы в течение эмуляции программы. Исполняемые компоненты могут включать подпрограммы программы 270, функционирующие в полунезависимом режиме от программы, и создавать некоторые задачи, которые могут различаться, но относиться к программе 270. Исполняемые компоненты могут также включать связные или несвязные программы, приложения или файлы, вызываемые программой в ходе ее исполнения. Например, программа 270 может вызывать Internet Explorer® для соединения и загрузки файла из Интернет или активации Microsoft Outlook® для получения некоторой информации. Исполняемые компоненты могут также включать динамически подключаемые библиотеки (DLL), используемые программой, такие как Windows DLL и другие.

Существует несколько подходов исполнения компонентов программы 270 при помощи средства эмуляции 210. Например, компоненты могут быть исполнены как основной процесс программы 270, как различные дочерние процессы от основного процесса и как дочерние процессы от дочернего процесса и так далее. Компьютерный процесс можно определить как этап исполнения программы 270. Дочерний процесс, в свою очередь, - это процесс, созданный другим процессом. В случае другого примера, исполняемые компоненты программы 270 могут быть исполнены в одном или нескольких потоках, включая один или несколько удаленных потоков. Различные исполняемые компоненты программы 270 могут быть исполнены поочередно и/или параллельно друг с другом. Для предоставления возможности параллельного исполнения, которое, как правило, увеличивает скорость эмуляции программы, системный эмулятор 225 способен эмулировать мультизадачную компьютерную архитектуру, включая мультизадачный эмулируемый центральный процессор 235 и мультизадачную эмулируемую операционную систему 245, которая поддерживает параллельную обработку различных процессов и потоков исполнения программ 270.

В частном варианте исполнения приложение 150 обнаружения вредоносного программного обеспечения включает детектор событий 215, который способствует обнаружению событий, полученных при эмуляции программы 270 и ее различных исполняемых компонентов. Примерами событий, которые могут быть обнаружены детектором событий 215, являются, но не ограничиваются приведенным списком: компьютерная программа, создающая копию самой себя; компьютерная программа, создающая новый файл; новый файл, копирующий себя в системный каталог; компьютерная программа, создающая новый ключ в системном реестре, изменяющая реестр и другие. Необходимо заметить, что детектор событий 215 обнаруживает не только события с явным вредоносным поведением, но и вредоносные события, созданные не вредоносными программами, не приносящие вреда средству обработки данных 105. После обнаруженные события отправляются в реальном времени для дальнейшей обработки анализатору событий 220.

В частном варианте исполнения системы анализатор событий 220 обладает возможностью сравнения полученных данных о событиях с примерами поведения вредоносных программ 170 и классификации эмулируемой программы относительно ее вредоносности. Пример поведения вредоносной программы 170 может включать одно или несколько событий, относящихся к группе вредоносных. Анализатор событий может прибегать к анализу событий, как только событие сгенерировано средством эмуляции 210. Также анализ может быть запущен только после завершения эмуляции программы. Также в случае обнаружения одного или нескольких событий анализатор событий может классифицировать данные события как вредоносные и дать команду средству эмуляции о прекращении программной эмуляции. В случае если созданные события не содержат похожих на вредоносные элементы поведения, анализатор событий 220 может отнести событие к не вредоносным и остановить программную эмуляцию. Если анализатор событий 220 не может точно классифицировать созданное событие, оно относится к не поддающимся классификации событиям.

Не поддающиеся классификации события могут быть предоставлены аналитику для дальнейшего анализа через рабочие станции 115. Аналитик - человек с большой накопленной экспертизой в области обнаружения вредоносного программного обеспечения. Аналитик содействует приложению обнаружения вредоносного программного обеспечения 150 в тех случаях, когда приложение не может точно принять решение о принадлежности объекта к группе вредоносных или напротив не вредоносных объектов. К не поддающимся классификации событиям помимо событий, вызванных доверительными программами, но содержащих элементы потенциально вредоносного содержания, могут относиться новые виды компьютерных вирусов, червей, троянских программ, программ-шпионов и вредоносные программы с неизвестными ранее примерами поведения.

Для предоставления возможности аналитикам эффективно анализировать события, не поддающиеся автоматической классификации, средство обработки данных 105 способно извлекать и преобразовывать информацию, относящуюся к событиям. Например, система способна удалять все дубликаты событий из программного кода и отображать количество повторений события во время исполнения программы. Это помогает организовать информацию в более удобном для восприятия формате, как, например, список всех не поддающихся автоматической классификации событий совместно с информацией о каждом событии такой, как различные аргументы функции и другое. Система может также отображать текущий программный код, вызывающий рассматриваемые события. Существует также много способов форматирования и предоставления информации о событиях аналитику, например, информация может быть визуализирована, используя различные шрифт, размер и цвет букв при выводе информации на рабочую станцию аналитика 115.

Средство обработки данных способно предоставлять аналитику различную информацию касательно событий, не поддающихся классификации. Подобная информация может включать, но не ограничивается приведенным списком, информацию о примерах поведений вредоносных программ 170, имеющих наиболее сходные поведения с описываемыми событиями, информацию о классах функций, объектов или программ, ассоциированных с не поддающимся классификации событием. Средство обработки данных также может предоставлять различную статистическую информацию о не поддающихся классификации событиях, такую как, частота возникновения не поддающихся классификации событий в программном коде, в известном вредоносном программном обеспечении, включая тип программы, и/или в законном программном обеспечении, включая тип программы.

На Фиг.3 приведен примерный интерфейс системы с отображением информации о не поддающихся классификации событиях. Предоставляемая информация может включать одно или несколько не поддающихся классификации событий 310, таких как вызовы API-функций, вызванные эмулируемой программой, например API: WriteFile, и аргументы вызова: ARG1, ARG2, ARGN. Также может отображаться ссылочная информация 330, как, например, аргумент ARG1 был найден по ссылке «Полное наименование критичных системных объектов», а также, что событие было идентифицировано с поведением примера поведения «Открытие хост объекта». Также может быть включена статистическая информация 340, например, демонстрирующая, что не поддающееся классификации событие было найдено 3217 раз в черном списке программ и ни разу в белом списке. Описанный интерфейс всего лишь один из примеров реализации интерфейса, предоставляющего информацию аналитику.

По мере завершения просмотра информации, относящейся к событиям, аналитик сможет классифицировать события как вредоносные, не вредоносные и не поддающиеся классификации. Не поддающиеся классификации события могут быть автоматически в режиме реального времени направлены другим аналитикам для обзора и последующей классификации. В качестве альтернативного подхода, не поддающиеся классификации события могут быть временно размещены в хранилище данных системой и предоставлены тому же самому аналитику через некоторое время.

В частном примере реализации системы, средство обработки данных 105 может быть настроено таким образом, чтобы разделять не поддающиеся классификации события между аналитиками, основываясь на специализации, загруженности и других параметрах. Например, если приложения обнаружения вредоносных программ 150 приписывает поведению не поддающегося классификации события тип троянской программы, то система может отправить данное событие аналитику, специализирующемуся в области троянских программ. Другим примером может являться ситуация, когда у первого аналитика в очереди на обработку 500 событий, а второго 1000, то тогда система будет передавать на обработку события менее загруженному аналитику - первому. Также система может периодически отправлять классифицированные события тем же аналитикам для повторного рассмотрения для повышения точности и аккуратности анализа.

Система 100 включает одну или несколько рабочих станций аналитиков 115. Рабочие станции могут быть компьютерными терминалами, имеющими процессор, память, сетевые интерфейсы для соединения со средством обработки данных 105 по локальной сети, такой как Ethernet. Каждая рабочая станция может также включать видеоустройство вывода, способное предоставить аналитику информацию о не поддающихся классификации событиях. Рабочая станция аналитика может также включать устройства ввода информации, способные принимать физиологические реакции аналитика, показывающие на принадлежность событий к вредоносным или законным. Рабочие станции могут быть отделены друг от друга и изолированы от внешних раздражителей. Для достижения данной цели может быть использован видеошлем или видеоочки. Данные приспособления должны быть способными к отображению, например, картинки с разрешением 640×480 с информацией о событии, как приведено на Фиг.3. Данный тип видеоустройства изолирует аналитика от внешних визуальных раздражителей. Аналитикам также могут быть предоставлены наушники или ушные затычки для блокировки внешних звуков и других аудиораздражителей. Приведенные изолирующие средства увеличивают эффективность работы аналитиков.

С целью предотвращения ложных срабатываний и настройки системы под различных аналитиков, рабочая станция 115 включает устройство калибровки, формирующее калибровочный профиль аналитика на основе примеров известных вредоносных и законно используемых программ 180, хранящихся в хранилище данных. Калибровочный профиль аналитика содержит таблицы соответствия параметров устройства ввода вредоносному или законному программному обеспечению.

Рабочая станция аналитика 115 содержит анализатор, предназначенный для обнаружения вредоносного программного обеспечения с учетом параметров данных, полученных устройством ввода, и данных устройства калибровки рабочей станции аналитика.

Устройство ввода рабочей станции 115 может быть настроено для увеличения эффективности принятия решения аналитиком. Например, устройство ввода может включать кнопочное устройство или датчик давления, чувствительный к движениям пальцев. В случае если устройство однокнопочное, то одиночное нажатие может означать, что событие вредоносное, двойное - событие не вредоносное, тройное - событие не поддается классификации. Также можно применить множество других различных способов регистрации событий.

В качестве альтернативного подхода могут быть использованы другие способы регистрации психологических реакций на программную информацию. Например, можно использовать датчик голосовых команд или камеру, регистрирующую движения глаз аналитика, расширение зрачков которых может указывать на вредоносность или на законность программного кода. Система может быть адаптирована индивидуально под каждого аналитика, тем самым она может определять реакции аналитика с большой точностью. Также могут использоваться различные датчики наблюдения биосигналов аналитика. Подобные устройства могут включать датчики для определения кожно-гальванической реакции (GSR), систему определения электроэнцефалограммы (EEG), которая регистрирует активность мозга аналитика, систему электрокардиограммы (ECG) для наблюдения за частотой биения сердца. Приведенные и подобные системы могут быть использованы для определения принадлежности событий к классу вредоносных.

На Фиг.4 приведен пример реализации метода для обнаружения вредоносных программ, используя описываемую систему. Первым действием производится калибровка рабочей станции аналитика 401 для составления таблицы соответствия параметров устройства ввода вредоносному или законному программному обеспечению. На шаге 405 система обработки данных производит поиск в Интернете новых программ и приложений. Для каждой встретившейся программы система проверяет в своей базе данных, относится ли программа к белому списку, шаг 410, или к черному, шаг 415. Если программа встречается в одном из списков, то она отбрасывается. Если программа не была встречена в черном или белом списке, то система обработки данных активирует средство эмуляции, шаг 420. Средство эмуляции загружает программу в изолированную компьютерную среду, шаг 425, и эмулирует программу, используя системный и программный эмуляторы, шаг 430. События, возникающие в результате выполнения программы, фиксируются и сравниваются с образцами поведения вредоносных программ как указано ранее, на шаге 435. Основываясь на результатах данного анализа, программа классифицируется системой обработки данных как вредоносная, не вредоносная или не поддающаяся классификации.

В случае если программа классифицирована как вредоносная, шаг 440, она добавляется в черный список программ, шаг 445. В случае если программа классифицирована как не вредоносная, она добавляется в белый список программ, шаг 450, и эмуляция программы прекращается. Если система обработки данных определила, что программа не может быть классифицирована, то система собирает всю возможную информацию о событиях, шаг 455, преобразует ее и отправляет на рабочую станцию аналитику, шаг 460. Информация о событие предоставляется аналитику по средствам видеоустройства, закрепляемого на голову аналитика, например видеоочки или видеошлем, шаг 465. Далее система определяет психологические реакции аналитика на предоставленную информацию, реакции указывают на принадлежность события к вредоносным или не вредоносным с учетом данных калибровочного профиля аналитика, шаг 470. Если событие классифицировано как вредоносное, шаг 480, программа добавляется в черный список программ, шаг 485. Если программа классифицируется как не вредоносная, она добавляется в белый список программ, шаг 490, эмуляция программы прекращается. В случае невозможности определения принадлежность программы к тому или иному классу, информация о событии отправляется другому аналитику, шаг 495, либо могут быть применены другие действия.

Необходимо отметить, что технологии обработки, основанные на эмуляции, описанные выше, могут быть реализованы альтернативными подходами. Например, система обработки данных может быть сконфигурирована для исполнения программ непосредственно в режиме реального времени, то есть не эмулируя системные ресурсы, такие как центральный процессор 125, память 130 и другие. После завершения исполнения программы, ресурсы, задействованные приложением обнаружения вредоносных программ, могут быть возвращены в первоначальное состояние, а данные исполнения программы могут быть удалены.

Изложенная система и метод обладают высокой эффективностью и точностью анализа известного и неизвестного программного обеспечения и приложений. Аналитики, изолированные от внешних аудио- и видеораздражителей, снабжены удобными устройствами ввода. Предоставляемые события могут быть мгновенно проанализированы. Система способна классифицировать порядка 3000 событий в час. Работа аналитика стала автоматической, зачастую рефлексивной. Более того, так как повторяющиеся события не предоставляются аналитику, классификация события применяется ко всем событиям. Это означает, что если событие А повторяется 2572 раза, то классификация одного из 2572 событий влечет классификацию всех событий данной группы.

В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.

В заключении следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.

1. Система обнаружения вредоносного программного обеспечения содержит:средство поиска программ, предназначенное для поиска программ в Интернет, связанное со средством обработки данных;средство обработки данных, предназначенное для обработки найденных программ средством поиска программ, и связанное с рабочей станцией аналитика, включающее:хранилище данных о вредоносном и законном программном обеспечении, содержащее черные списки, белые списки, примеры поведения программ, примеры вредоносных и законно используемых программ, предназначенные для калибровки системы;средство проверки принадлежности найденных средством поиска программ к черному или белому списку программ;средство эмуляции кода программ, не относящихся к черному или белому списку;средство отслеживания событий, вызываемых при исполнении программы в ходе эмуляции;средство классификации отслеживаемых в ходе эмуляции событий на вредоносные и не вредоносные;средство сбора информации о событиях, не поддающихся классификации; ирабочую станцию аналитика, связанную со средством обработки данных, включающую:средство изолирования аналитика от внешних аудиовидеораздражителей;устройство калибровки рабочей станции аналитика, предназначенное для формирования калибровочного профиля аналитика на основе примеров известных вредоносных и законно используемых программ, хранящихся в хранилище данных, с целью предотвращения ложных срабатываний и настройки системы под различных аналитиков;устройство вывода для предоставления списка не поддающихся классификации событий и дополнительной информации о данных событиях аналитику;устройство ввода, состоящее, по меньшей мере, из одного датчика; и анализатор, предназначенный для обнаружения вредоносного программного обеспечения с учетом параметров данных, полученных устройством ввода, и данных устройства калибровки рабочей станции аналитика.

2. Система по п.1, в которой под средствами изолирования подразумевается видеоустройство, закрепляемое на голову аналитику, и наушники.

3. Система по п.2, в которой видеоустройством могут являться видеоочки или видеошлем.

4. Система по п.1, в которой устройство ввода может включать:кнопочное устройство, чувствительное к движениям пальцев;датчик давления, чувствительный к движениям пальцев;видеокамеру, отслеживающую движения глаз аналитика;аудиодатчик для обнаружения и анализа голосовых команд;электрический сенсор для отслеживания биосигналов аналитика.

5. Система по п.1, в которой дополнительная информация о событиях включает:частоту возникновения неподдающихся классификации событий в течение эмуляции программы; ичастоту возникновения неподдающихся классификации событий в известной вредоносной программе.

6. Система по п.1, в которой список неподдающихся классификации событий не включает дубликаты событий.

7. Система по п.1,