Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа
Иллюстрации
Показать всеИзобретение относится к области обнаружения вредоносных файлов. Техническим результатом является обнаружение вредоносных файлов на основании анализа функциональных зависимостей между ресурсами анализируемых файлов. Раскрыта система признания файла вредоносным, которая содержит: а) средство извлечения ресурсов, предназначенное для: извлечения ресурсов из анализируемого файла; передачи извлеченных ресурсов средству формирования правил и средству поиска правил; б) средство формирования правил, предназначенное для: формирования по меньшей мере одного правила, устанавливающего функциональную зависимость между полученными ресурсами (далее - правило), при этом правило формируется путем создания из полученных ресурсов искусственной нейронной сети, где узлами искусственной нейронной сети являются средства анализа полученных ресурсов, а связи между узлами, сформированные во время создания нейронной сети, указывают на функциональную зависимость между полученными ресурсами; передачи каждого сформированного правила средству сравнения правил; в) средство поиска правил, предназначенное для: осуществления поиска по меньшей мере одного правила в базе ресурсов вредоносных файлов на основании полученных ресурсов; передачи каждого найденного правила средству сравнения правил; г) средство сравнения правил, предназначенное для: вычисления степени схожести между полученными от средства формирования правил и средства поиска правилами; передачи вычисленной степени схожести средству вынесения решения; д) средство вынесения решения, предназначенное для: признания анализируемого файла вредоносным, в случае, когда полученная степень схожести превышает заранее заданное пороговое значение. 2 н. и 14 з.п. ф-лы, 3 ил.
Реферат
Область техники
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам обнаружения вредоносных файлов.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для атак таких, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
Для борьбы с вредоносными программами, включающей в себя обнаружение вредоносных программ, предотвращение заражения и восстановление компьютерных систем, зараженных вредоносными программами, применяются специализированные программы - антивирусы. Для обнаружения всего многообразия вредоносных программ антивирусные программы используют разнообразные технологии, такие как:
статический анализ - анализ программы на вредоносность, исключающей запуск или эмуляцию работы анализируемой программы, на основании данных содержащихся в файлах, составляющих анализируемую программу, при этом при статистическом анализе могут использоваться:
сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемой программы известному коду (сигнатуре) из базы данных сигнатур вредоносных программ;
белые и черные списки - поиск вычисленной контрольной суммы от анализируемой программы (или ее частей) в базе данных контрольных сумм вредоносных программ (черные списки) или базе данных контрольных сумм безопасных программ (белые списки);
динамический анализ - анализ программы на вредоносность на основании данных, полученных в ходе исполнения или эмуляции работы анализируемой программы, при этом при динамическом анализе могут использоваться:
эвристический анализ - эмуляция работы анализируемой программы, создание журналов эмуляции (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемой программы и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных эмуляционных сигнатур вредоносных программ;
проактивная защита - перехват вызовов API-функций запущенной анализируемой программы, создания журналов работы анализируемой программы (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемой программы и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных вызовов вредоносных программ.
И статический, и динамический анализ обладают своими плюсами и минусами. Статический анализ менее требователен к ресурсам компьютерной системы, на которой выполняется анализ, а поскольку он не требует исполнения или эмуляции анализируемой программы, статистический анализ более быстрый, но при этом менее эффективен, т.е. имеет более низкий процент обнаружения вредоносных программ и более высокий процент ложных срабатываний (т.е. вынесения решения о вредоносности файла, анализируемого средствами программы-антивируса, при том, что анализируемый файл является безопасным). Динамический анализ из-за того, что использует данные, получаемые при исполнении или эмуляции работы анализируемой программы, более медленный и предъявляет более высокие требования к ресурсам компьютерной системы на которой выполняется анализ, но при этом и более эффективен. Современные антивирусные программы используют комплексный анализ, включающий в себя как элементы статического, так и динамического анализа.
В патентной публикации US 9003314 описана технология обнаружения вредоносных файлов на основании статического анализа упомянутого файла с использованием иконок, содержащихся в анализируемом файле. С этой целью из анализируемого файла, без его исполнения или эмуляции его работы, извлекают иконки и сравнивают их с иконками из заранее подготовленного списка известных иконок, тем самым выполняя сигнатурный анализ. Анализируемый файл признается вредоносным, когда анализируемый файл содержит лишь одну иконку, упомянутая иконка содержится в упомянутом списке известных иконок и отмечена как иконка для вредоносных файлов. Основное преимущество описанной выше технологии заключается в скорости анализа файлов (достаточно лишь извлечь иконку из анализируемого файла и провести поиск иконок по списку известных иконок), однако качество такого способа обнаружения вредоносных файлов довольно низкое, а при использовании технологий обфускации иконок (когда в иконки при каждой сборке вредоносного приложения добавляется шум) описанная выше технология обнаружения вредоносных файлов становится полностью неэффективной.
Хотя описанная выше технология обнаружения хорошо справляется с обнаружением вредоносных файлов, а также файлов, представляющих потенциальную угрозу в случаях, когда упомянутые файлы содержат данные, схожие с данными, используемых в ранее уже обнаруженных вредоносных файлах, они зачастую имеют низкую эффективность при обнаружении новых вредоносных файлов, использующих данные, которые ранее не использовались в других вредоносных файлах или были модифицированы.
Настоящее изобретение позволяет решать задачу обнаружения вредоносных файлов с использованием элементов статистического анализа.
Раскрытие изобретения
Изобретение предназначено для антивирусной проверки приложений.
Технический результат настоящего изобретения заключается в обнаружении вредоносных файлов на основании анализа функциональных зависимостей между ресурсами анализируемых файлов.
Данные результаты достигаются с помощью использования системы признания файла вредоносным, которая содержит: средство извлечения ресурсов, предназначенное для: извлечения ресурсов из анализируемого файла; передачи извлеченных ресурсов средству формирования правил и средству поиска правил; средство формирования правил, предназначенное для: формирования по меньшей мере одного правила, устанавливающего функциональную зависимость между полученными ресурсами (далее - правило), при этом правило формируется путем создания из полученных ресурсов искусственной нейронной сети, где узлами искусственной нейронной сети являются средства анализа полученных ресурсов, а связи между узлами, сформированные во время создания нейронной сети, указывают на функциональную зависимость между полученными ресурсами; передачи каждого сформированного правила средству сравнения правил; средство поиска правил, предназначенное для: осуществления поиска по меньшей мере одного правила в базе ресурсов вредоносных файлов на основании полученных ресурсов; передачи каждого найденного правила средству сравнения правил; средство сравнения правил, предназначенное для: вычисления степени схожести между полученными от средства формирования правил и средства поиска правилами; передачи вычисленной степени схожести средству вынесения решения; средство вынесения решения, предназначенное для: признания анализируемого файла вредоносным, в случае, когда полученная степень схожести превышает заранее заданное пороговое значение.
В другом частном случае реализации системы в качестве анализируемого файла выступает по меньшей мере: исполняемый файл; файл, содержащий сценарии.
Еще в одном частном случае реализации системы в качестве файлов, содержащих сценарии, выступают по меньшей мере файлы: соответствующие приложению Microsoft Office; соответствующие приложению Adobe Acrobat Reader; содержащие сценарии на языке PowerShell.
В другом частном случае реализации системы в качестве ресурсов анализируемого файла выступают по меньшей мере: ресурсы, содержащиеся в секции ресурсов анализируемого файла; данные, содержащиеся в анализируемом файле и описывающие среду разработки, которая была использована для создания упомянутого файла; данные, содержащиеся в анализируемом файле и описывающие программные средства упаковки упомянутого файла.
Еще в одном частном случае реализации системы связи между ресурсами, содержащиеся в искусственной нейронной сети, формируются на основании алгоритмов машинного обучения.
В другом частном случае реализации системы база ресурсов вредоносных файлов представляет собой базу данных, содержащую по меньшей мере два правила, каждое из которых устанавливает функциональную зависимость между ресурсами по меньшей мере одного и того же вредоносного файла.
Еще в одном частном случае реализации системы дополнительно средство формирования правил передает средству поиска правил информацию о ресурсах, между которыми была установлена функциональная зависимость, а средство поиска правил производит поиск правил в базе ресурсов вредоносных файлов только для тех ресурсов, о которых было получена указанная информация.
В другом частном случае реализации системы средство поиска правил во время поиска правил в базе ресурсов вредоносных файлов находит правила на основании определения степени схожести полученных ресурсов с ресурсами, на основании которых были сформированы содержащиеся в базе ресурсов вредоносных файлов правила.
Данные результаты достигаются с помощью использования способа признания файла вредоносным, при этом способ содержит этапы, которые реализуются с помощью средств из системы и на которых: извлекают ресурсы из анализируемого файла; формируют по меньшей мере одно правило, устанавливающее функциональную зависимость между извлеченными ресурсами (далее - правило) путем создания из извлеченных ресурсов искусственной нейронной сети, где узлами искусственной нейронной сети являются средства анализа извлеченных ресурсов, а связи между упомянутыми узлами, сформированные при создании упомянутой нейронной сети, указывают на функциональную зависимость между извлеченными ресурсами; осуществляют поиск во время которого находят по меньшей мере одно правило в базе ресурсов вредоносных файлов на основании извлеченных на первом этапе ресурсов; вычисляют степень схожести между сформированным и найденным правилами; признают анализируемый файл вредоносным, в случае, когда вычисленная степень схожести превышает заранее заданное пороговое значение.
В другом частном случае реализации способа в качестве анализируемого файла выступает по меньшей мере: исполняемый файл; файл, содержащий сценарии.
Еще в одном частном случае реализации способа в качестве файлов, содержащих сценарии, выступают по меньшей мере файлы: соответствующие приложению Microsoft Office; соответствующие приложению Adobe Acrobat Reader; содержащие сценарии на языке PowerShell.
В другом частном случае реализации способа в качестве ресурсов анализируемого файла выступают по меньшей мере: ресурсы, содержащиеся в секции ресурсов анализируемого файла; данные, содержащиеся в анализируемом файле и описывающие среду разработки, которая была использована для создания упомянутого файла; данные, содержащиеся в анализируемом файле и описывающие программные средства упаковки упомянутого файла.
Еще в одном частном случае реализации способа связи между ресурсами, содержащиеся в искусственной нейронной сети, формируются на основании алгоритмов машинного обучения.
В другом частном случае реализации способа база ресурсов вредоносных файлов представляет собой базу данных, содержащую по меньшей мере два правила, каждое из которых устанавливает функциональную зависимость между ресурсами по меньшей мере одного и того же вредоносного файла.
Еще в одном частном случае реализации способа производят поиск правил в базе ресурсов вредоносных файлов только для тех ресурсов, между которыми на этапе б) была установлена функциональная зависимость.
В другом частном случае реализации способа средство поиска правил во время поиска правил в базе ресурсов вредоносных файлов находит правила на основании определения степени схожести полученных ресурсов с ресурсами, на основании которых были сформированы содержащиеся в базе ресурсов вредоносных файлов правила.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы обнаружения вредоносных файлов с использованием элементов статического анализа.
Фиг. 2 представляет структурную схему способа обнаружения вредоносных файлов с использованием элементов статического анализа.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Функциональная зависимость (англ. functional dependency) - отношение между двумя множествами атрибутов, при котором атрибуты одного множества могут быть получены из атрибутов второго множества с помощью общего для всех атрибутов преобразования.
Схожесть данных - характеристика взаимосвязи данных друг с другом, описываемая численным параметром «степень схожести», вычисляемым путем использования известных метрик (например, расстояние Левенштейна) для определения, насколько данные похожи друг на друга (значение которого лежит как правило в диапазоне от 0 до 1, где 0 означается что данные полностью идентичны, а 1 - данные полностью различны).
Фиг. 1 представляет пример структурную схему системы обнаружения вредоносных файлов с использованием элементов статического анализа.
Структурная схема системы обнаружения вредоносных файлов с использованием элементов статического анализа состоит из средства извлечения ресурсов 110, средства формирования правил 120, средства поиска правил 130, средства сравнения правил 140, средства вынесения решения 150 и базы ресурсов вредоносных файлов 160.
Средство извлечения ресурсов 110 предназначено для:
извлечения ресурсов из анализируемого файла;
передачи извлеченных ресурсов средству формирования правил 120 и средству поиска правил 130.
В одном из вариантов реализации системы в качестве анализируемого файла выступает по меньшей мере:
исполняемый файл;
файл, содержащий сценарии.
Например, в качестве исполняемых файлов могут выступать файлы .ехе (explorer.exe), .dll (OCHelper.dll), sys (mountmgr.sys).
Еще в одном примере в качестве файлов, содержащих сценарии, могут выступать любые файлы, данные из которых исполняют сторонние исполняемые файлы (сценарии на языке ActionScript, исполняемые стековой виртуальной машиной Adobe Flash, вызываемой Internet Explorer, макросы Microsoft Excel и исполняемые при выполнении сценария на языке Visual Basic for Applications и т.д.).
Еще в одном из вариантов реализации системы в качестве файлов, содержащих сценарии, выступают по меньшей мере файлы:
Microsoft Office (.doc, .docx, ppt, pptx, .xls, .xlsx и т.д.);
Adobe Acrobat Reader (.pdf);
Adobe Flash Player (.swf);
содержащие сценарии, написанные на языке PowerShell.
Еще в одном из вариантов реализации системы в качестве ресурсов анализируемого файла выступают по меньшей мере:
ресурсы, содержащиеся в секции ресурсов анализируемого файла;
данные, содержащиеся в анализируемом файле и описывающие среду разработки, которая была использована для создания (компиляции) упомянутого файла;
данные, содержащиеся в анализируемом файле и описывающие программные средства упаковки упомянутого файла;
данные, соответствующие цифровой подписи анализируемого файла.
Например, в качестве ресурсов, содержащихся в секции ресурсов анализируемого исполняемого файла с расширением «.ехе», могут выступать курсоры (RT_CURSOR), иконки (RT_ICON), диалоговые окна (RT_DIALOG), меню (RT_MENU), строки (RT_STRING), битовые матрицы (RT_BITMAP) и т.д., структурированные в виде дерева и хранящиеся в секции «.rsrc» анализируемого файла. При этом вся информация о ресурсе, представляющая собой метаданные ресурса (например, для иконок это размеры иконки, количество бит на цвет в иконке, тип иконки, указатель на битовую матрицу, для диалогов - размер диалога, параметры основного шрифта диалога, количество элементов, размещенных в диалоге и т.д.) может содержаться непосредственно в самом ресурсе.
Еще в одном примере в качестве данных, описывающих среду разработки, которая была использована для создания анализируемого файла (например, для компиляции исходного кода в исполняемый файл), может выступать:
название среды разработки,
версия среды разработки,
дата создания (или компиляции) анализируемого файла;
(например, Microsoft Visual Studio 2015). При этом упомянутые данные, описывающие среду разработки, могут не содержаться в явном виде в анализируемом файла, а быть получены путем анализа структуры анализируемого файла с использованием сигнатур, свойственных той или иной среде разработки, при этом в качестве сигнатур могут выступать:
вызовы функций,
коды выполнения.
Еще в одном примере в качестве данных, описывающих программные средства упаковки анализируемого файла, может выступать:
название программы-упаковщика,
версия программы-упаковщика,
дата упаковки анализируемого файла;
(например, UPX 3.94). При этом упомянутые данные, описывающие программные средства упаковки, могут не содержаться в явном виде в анализируемом файла, а быть получены путем анализа исполняемого кода расположенного в точке входа анализируемого исполняемого файла (например, поскольку каждое программное средство упаковки создает в упаковываемом файле уникальный код распаковки, то зная характеристики которого, т.е. используемые API функции, порядок вызова операторов и т.п., возможно определить и само программное средство упаковки, при этом упомянутые характеристики кода распаковки могут быть заданы с помощью сигнатур и битовых масок).
Еще в одном примере в качестве данных, соответствующих цифровой подписи анализируемого файла, может выступать:
название организации, выдавшей цифровую подпись,
действительность (валидность) упомянутой цифровой подписи.
Еще в одном из вариантов реализации системы средство извлечения ресурсов 110 извлекает ресурсы на основании по меньшей мере:
данных о структуре ресурсов, содержащихся в анализируемом файле;
сигнатур, содержащих метаданные извлекаемых ресурсов.
Например, в исполняемом файле с расширением «.ехе» данные о структуре ресурсов содержатся в заголовке упомянутого файла и в заголовке секции ресурсов «.rsrc», представляя собой дерево, в узлах которого находятся или непосредственно сами ресурсы, или данные о ресурсах.
Еще в одном из вариантов реализации системы дополнительно средство извлечения ресурсов 110 вычисляет на основании каждого извлеченного ресурса хэш-сумму упомянутого ресурса и передает вычисленные хэш-суммы средству поиска правил 130.
Например, в качестве хэш-суммы могут выступать:
MD5-cyMMa (или просто MD5) для изображений, медиа-данных или неструктурированных ресурсов;
свертки на основании лексем для диалогов, строк, меню и других ресурсов, содержащих лексические данные.
Еще в одном примере в качестве хэш-суммы может выступать перцептивная хэш-сумма (англ. perceptual hashing), идентичная для схожих данных.
Средство формирования правил 120 предназначено для:
формирования по меньшей мере одного правила, устанавливающего функциональную зависимость между полученными ресурсами (далее - правило), при этом правило формируется путем создания из полученных ресурсов искусственной нейронной сети, где узлами искусственной нейронной сети являются средства анализа полученных ресурсов, а связи между узлами, сформированные во время создания нейронной сети, указывают на функциональную зависимость между полученными ресурсами;
передачи каждого сформированного правила средству сравнения правил 140.
В одном из вариантов реализации системы дополнительно средство формирования правил 120 формирует правила из совокупности заранее установленных третьей стороной (например, вирусными аналитиками или автоматическими антивирусными средствами антивирусных компаний) функциональных зависимостей между ресурсами файлов, обработанных упомянутой третьей стороной, при этом ресурсы, извлеченные средством извлечения ресурсов 110, схожи с ресурсами, использованными для формирования упомянутых заранее установленных функциональных зависимостей.
Например, вирусными аналитиками или автоматическими средствами анализа (используются в рамках облачных сервисов, таких как Kaspersky Security Network) заранее на основании анализа большого количества вредоносных файлов были установлены типичные связи между ресурсами вредоносных файлов:
основная иконка приложения (RC_ICON), похожа, но не совпадает (т.е. степень схожести стремится к 0, но не равна 0) с иконками безопасных приложений (например, Internet Explorer или Windows Media Player);
диалог (RC_DIALOG) только один и является диалогом главного окна;
и т.д.
Средство формирования правил 120 использует эти связи для установления функциональных зависимостей между ресурсами, извлеченными из анализируемого файла средством извлечения ресурсов 110.
Еще в одном из вариантов реализации системы средство анализа ресурсов, являющееся узлом созданной искусственной нейронной сети, предназначено для создания с использованием заранее заданных алгоритмов на основании полученных ресурсов данных, описывающих функциональную связь между упомянутыми ресурсами.
Еще в одном из вариантов реализации системы результат работы средства анализа ресурсов на основании полученных ресурсов представляет собой свертку ресурса.
Еще в одном из вариантов реализации системы в качестве средства анализа ресурсов выступают данные, описывающие алгоритм обработки ресурсов, а непосредственно выполнение упомянутого алгоритма осуществляется средством формирования правил 120.
Например, в качестве средства анализа ресурсов могут выступать данные, описывающие обратные аффинные преобразования (англ. affine transformation), преобразовывающие изображение в набор аффиноров.
Еще в одном примере, в качестве средства анализа ресурсов могут выступать данные, описывающие алгоритм выделения из текста лексем и составление из выделенных лексем текстовых сверток.
Еще в одном из вариантов реализации системы в качестве средств анализа ресурсов выступают средства, осуществляющие
кластерный анализ (англ. cluster analysis), при этом в качестве кластера выступает совокупность ресурсов, объединенных по меньшей мере по:
применению упомянутых ресурсов в анализируемым файлов;
заранее заданному диапазону параметров, описывающим упомянутые ресурсы;
заранее заданному диапазону частотных характеристикам распределения лексем, содержащихся в упомянутых ресурсах;
распознавание образов (англ. pattern recognition).
Например, в качестве средства анализа ресурсов может выступать средство, выполняющее сравнение изображения (выступающего в качестве полученного ресурса) с заранее заданными изображения (содержащимися в упомянутом средстве) и вычисляющее степень схожести между упомянутыми изображениями (к примеру, устанавливающему функциональную связь «похож-не похож»).
Еще в одном из вариантов реализации системы искусственная нейронная сеть выбирается на основании ресурсов, полученных от средства извлечения ресурсов 110, из базы элементов искусственной нейронной сети 170, при этом узлы и связи полученной искусственной нейронной сети будут заранее заданы (например, вирусными аналитиками или автоматическими антивирусными средствами антивирусных компаний). При этом после выборки упомянутой искусственной нейронной сети средство формирования правил 120 выполняет ее обучение на основании ресурсов, полученных от средства извлечения ресурсов 110.
Еще в одном из вариантов реализации системы средство формирования правил 120 создает искусственную нейронную сеть с использованием по меньшей мере методов:
перцептрона (англ. perceptron), при этом в качестве S-, элементов выступают ресурсы, А- и R- - средства анализа ресурсов, а связи между упомянутыми элементами выстраиваются на основании метаданных упомянутых ресурсов;
сверточной нейронной сети (англ. CNN, convolutional neural network), при этом в качестве узлов нейронной сети выступают ресурсы и свертки от ресурсов, а в качестве связей - средства анализа ресурсов, выполняющие свертки упомянутых ресурсов;
Еще в одном из вариантов реализации системы средство формирования правил 120 формирует связи между узлами созданной искусственной нейронной сети на основании алгоритмов машинного обучения.
Еще в одном из вариантов реализации системы в качестве способа машинного обучения, используемого средством формирования правил 120 для формирования связей между узлами созданной искусственной нейронной сети, средство формирования правил 120 использует машинное обучение с учителем (англ. supervised learning), где в роли учителя выступает третья сторона (например, вирусные аналитики или автоматические антивирусные средства антивирусных компаний), а коррекция ошибок производится упомянутой третьей стороной предварительно на основании файлов, проанализированных при формировании упомянутой третьей стороной базы ресурсов вредоносных файлов 160.
Еще в одном из вариантов реализации системы в качестве способа машинного обучения, используемого средством формирования правил 120 для формирования связей между узлами созданной искусственной нейронной сети, средство формирования правил 120 использует машинное обучение без учителя (англ. unsupervised learning), при этом для обучения искусственной нейронной сети используются метод обратного распространения ошибки (англ. backward propagation of errors).
Еще в одном из вариантов реализации системы дополнительно средство формирования правил 120 передает средству поиска правил 130 информацию о ресурсах, между которыми была установлена функциональная зависимость, а средство поиска правил 130 производит поиск правил в базе ресурсов вредоносных файлов 160 только для тех ресурсов, о которых было получена указанная информация.
Средство поиска правил предназначено 130 для:
осуществления поиска по меньшей мере одного правила в базе ресурсов вредоносных файлов 160 на основании ресурсов, полученных от средства извлечения ресурсов 110;
передачи каждого найденного правила средству сравнения правил 140.
В одном из вариантов реализации системы дополнительно средство поиска правил 130 осуществляет поиск по меньшей мере одного правила в базе ресурсов вредоносных файлов 160 на основании полученных хэш-сумм ресурсов.
Например, каждому ресурсу в базе ресурсов вредоносных файлов 160 соответствует MD5 упомянутого ресурса. В этом случае, предварительно по ресурсам, по которым должен быть выполнен поиск, средство поиска правил 130 вычисляет MD5, после чего осуществляет поиск правил по вычисленной MD5 в базе ресурсов вредоносных файлов 160 (например, методом бинарного поиска).
Еще в одном из вариантов реализации системы средство поиска правил 130 во время поиска правил в базе ресурсов вредоносных файлов 160 находит правила на основании определения степени схожести ресурсов, полученных от средства извлечения ресурсов 110, с ресурсами, на основании которых были сформированы содержащиеся в базе ресурсов вредоносных файлов 160 правила.
Например, в случае, когда по изображению (являющемуся одним из извлеченных ресурсов) осуществляется поиск изображений в базе ресурсов вредоносных файлов, средство поиска правил 130 выполняет следующие действия:
из изображения, полученного из анализируемого файла, формируются YUV компоненты (YUV компоненты представляют собой данные, описывающие упомянутое изображение в цветовой модели, выражающей цвет точек, составляющих упомянутое изображение, через яркость Y и две цветоразности U и V);
для каждой сформированной компоненты вычисляется частотное распределение оттенков цвета от самого темного (0), до самого светлого (255), таким образом формируется 256-мерный вектор, представляющий собой массив данных (англ. row data);
сформированные вектора сравниваются с другими 256-мерными векторами из базы ресурсов вредоносных файлов 160, также представляющими собой массивы данных, используемые в качестве потенциальных ключей (англ. candidate key) (далее -ключи) (т.е. данных, с помощью которых осуществляется поиск других данных, записанных в базу ресурсов вредоносных файлов 160), с этой целью вычисляется скалярное произведение сформированного вектора и ключа (вычисляется угол между векторами);
в случае, если значение вычисленного скалярного произведения меньше заранее заданного значения, изображения на основании которых были сформированы упомянутые вектора, считаются схожими.
Еще в одном из вариантов реализации системы средство поиска правил 130 вычисляет степень схожести ресурсов, полученных от средства извлечения ресурсов 110, с ресурсами, на основании которых были сформированы содержащиеся в базе ресурсов вредоносных файлов 160 правила, с использованием методов распознавания образов с использованием дискриминантного анализа (англ. discriminant function analysis).
Еще одном из вариантов реализации системы средство поиска правил 130 осуществляет поиск правил в базе ресурсов вредоносных файлов 160 по ресурсам, на основании которых были сформированы содержащиеся в базе ресурсов вредоносных файлов 160 правила, только того же типа, что и ресурсы, полученные от средства извлечения ресурсов 110.
Например, по иконкам в базе ресурсов вредоносных файлов 160, средство поиска правил 130 находит правила при формировании которых использовались иконки. К примеру, по иконке Internet Explorer в базе ресурсов вредоносных файлов 160 находится правило, связывающее MD5 иконки Internet Explorer с манифестом (RT_MANIFECT), создаваемым Microsoft.
Еще в одном из вариантов реализации системы дополнительно средство поиска правил 130 осуществляет поиск правил в базе ресурсов вредоносных файлов 160 на основании только тех ресурсов, полученных от средства извлечения ресурсов 110, между которыми средством формирования правил 120 была установлена функциональная зависимость.
Например, из файла «explorer.exe» средством извлечения ресурсов 110 были извлечены иконки «icon1.ico», «icon2.ico», манифест «manifest.txt» и диалог основного окна «DIALOG_1». Средством формирования правил 120 была установлена функциональная зависимость между иконкой «icon1.ico» и диалогом «DIALOG_1» (иконка «icon1.ico» отображается на кнопке из диалога «DIALOG_1»). Для поиска правил в базе ресурсов вредоносных файлов 160 средство поиска правил 130 в качестве ключей использует только иконку «icon1.ico» и диалог «DIALOG_1», а иконку «icon2.ico» и манифест «manifect» игнорирует.
Средство сравнения правил 140 предназначено для:
вычисления степени схожести между полученными от средства формирования правил 120 и средства поиска 130 правилами;
передачи вычисленной степени схожести средству вынесения решения 150.
В одном из вариантов реализации системы степень схожести представляет собой численное значение от 0 (правила идентичны) до 1 (правила различны).
Например, два правила содержащих по 5 компонент, 4 из которых в одном правиле идентичны 4 во втором правиле, а 2 оставшихся компонента различны, обладают степенью схожести 0.2.
Еще одном из вариантов реализации системы средство сравнения правил 140 вычисляет степень схожести между правилами с использованием методов распознавания образов с использованием дискриминантного анализа.
Еще в одном из вариантов реализации системы, в случае, когда от средства формирования правил 120 или средства поиска правил 130 было получено по меньшей мере два правила, средство сравнения правил 140: