Система и способ выбора средства обнаружения вредоносных файлов
SYSTEM AND METHOD OF SELECTING MEANS OF DETECTING MALICIOUS FILES

Область техники
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам обнаружения вредоносных файлов.
Уровень техники
Стремительное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. Botnet) для таких атак на другие компьютеры или компьютерные сети, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. Bruteforce). Третьи предлагают пользователям платный контент через навязчивую рекламу, спам-рассылки, отправку CMC на платные номера и т.д.
Для борьбы с вредоносными программами, включающей в себя обнаружение вредоносных программ, предотвращение заражения и восстановление работоспособности вычислительных устройств, зараженных вредоносными программами, применяются специализированные программы -антивирусы. Для обнаружения всего многообразия вредоносных программ антивирусные программы используют разнообразные технологии, такие как:
статический анализ - анализ программ на вредоносность, исключающий запуск или эмуляцию работы анализируемых программ, на основании данных содержащихся в файлах, составляющих анализируемые программы, при этом при статистическом анализе могут использоваться:
сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемых программ известному коду (сигнатуре) из базы данных сигнатур вредоносных программ;
белые и черные списки - поиск вычисленных контрольных сумм от анализируемых программ (или их частей) в базе данных контрольных сумм вредоносных программ (черные списки) или базе данных контрольных сумм безопасных программ (белые списки);
динамический анализ - анализ программ на вредоносность на основании данных, полученных в ходе исполнения или эмуляции работы анализируемых программ, при этом при динамическом анализе могут использоваться:
эвристический анализ - эмуляция работы анализируемых программ, создание журналов эмуляции (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных поведенческих сигнатур вредоносных программ;
проактивная защита - перехват вызовов API-функций запущенных анализируемых программ, создания журналов поведения анализируемых программ (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных вызовов вредоносных программ. Описанные выше способы обнаружения вредоносных программ (особенно динамический анализ) зачастую предъявляют высокие требования к вычислительным ресурсам устройств, на которых используются указанные методы: динамический анализ требователен к производительности вычислительных устройств, статистический анализ - к предоставляемой памяти и дисковому пространству.
Для уверенного обнаружения большинства вредоносных программ в настоящее время приходится использовать последовательно несколько разнообразных способов обнаружения вредоносных программ, что зачастую бывает избыточно.
Например, если вредоносная программа хорошо изучена и для нее разработаны правила обнаружения, то не обязательно применять требовательные к вычислительным ресурсам динамические способы обнаружения, вредоносная программа будет обнаружена быстрыми и несильно требовательными к вычислительным ресурсам методами (например, сигнатурным анализом). И в противовес к вышесказанному в другом примере, если вредоносная программа является новой, не являющейся дальнейшим развитием какого-нибудь вредоносного семейства, то использование «легких» методов не приведет к положительному результату, и надо будет применять высокоэффективные, но и требовательные к вычислительным ресурсам методы.
Таким образом, если имеется возможность предварительно быстро определить, к какой именно категории относится анализируемая вредоносная программа, то появляется возможность обеспечить максимально возможный уровень обнаружения вредоносных файлов при минимально возможном уровне используемых вычислительных ресурсов за счет выбора оптимального способа обнаружения вредоносных файлов.
В патентной публикации US 9288220 B2 описана технология обнаружения вредоносного ПО в сетевом трафике. С этой целью из данных, выбранных из сетевого трафика, выделяют характерные признаки (признаки, характеризующие тип исполняемого файла, поведение исполняемого файла, тип передаваемых по компьютерной сети данных, например тип и размер передаваемых по компьютерной сети данных, команды, выполняемые при исполнении файла, наличие заранее заданных сигнатур в файле и т.д.), в качестве которых может выступать признаковое описание выбранных данных, т.е. вектор (англ. Feature vector), составленный из значений, соответствующих некоторому набору признаков для объекта, содержащего выбранные данные. Применяя модели обнаружения безопасных файлов, обнаружения вредоносных файлов и определения типов вредоносных файлов, предварительно обученные с использованием методов машинного обучения на основании шаблонов, составленных из схожих с упомянутыми характерных признаков, определяют, с каким весом и к какому типу вредоносного ПО относятся выбранные данные, и выносят решение об обнаружении вредоносного ПО в сетевом трафике.
Хотя описанная выше технология хорошо справляется с обнаружением вредоносных файлов, обладающих некоторыми характерными признаками (т.е. данными, описывающими некоторые особенности файлов из некоторой совокупности файлов, например, наличие графического интерфейса, шифрования данных, передачи данных по компьютерной сети и т.д.), схожими с характерными признаками уже известных вредоносных файлов, она не способна справиться с обнаружением вредоносных файлов, имеющих отличные характерные признаки (хотя и схожее поведение) от характерных признаков уже известных вредоносных файлов, кроме того описанная выше технология не раскрывает такие аспекты машинного обучения моделей, как тестирование и переобучение моделей, а также формирование и переформирование (в зависимости от результатов упомянутого выше тестирования) характерных признаков. По сути описанная технология для обнаружения вредоносных файлов может использовать только заданный неизменяемый набор средств обнаружения вредоносных файлов, тем самым являясь неэффективной в некоторых случаях (например, при анализе большого количества файлов или при ограниченных вычислительных ресурсах).
Настоящее изобретение позволяет решать задачу выбора эффективного средства обнаружения вредоносных файлов.
Раскрытие изобретения
Изобретение предназначено для антивирусной проверки файлов.
Технический результат настоящего изобретения заключается в оптимизации использования вычислительных ресурсов при проверке файла на вредоносность.
Еще один технический результат настоящего изобретения заключается в увеличении эффективности выбора средства обнаружения вредоносных файлов.
Еще один технический результат настоящего изобретения заключается в изменении категории анализируемого файла.
В одном из вариантов осуществления данного изобретения реализуется система выбора средства обнаружения вредоносных файлов, которая содержит: (а) средство определения характеристик файла, предназначенное для определения характеристик файла на основании заранее заданных правил; (б) средство формирования отображения файла, предназначенное для формирования отображения файла в вероятностном пространстве с помощью обученной модели отображения на основании определенных характеристик файла; (в) средство поиска, предназначенное для поиска в базе отображений семейства вредоносных файлов на основании сформированного отображения файла; (г) средство выбора, предназначенное для выбора из базы средств обнаружения вредоносных файлов средства обнаружения вредоносных файлов, соответствующее семейству вредоносных файлов, найденному в базе отображений.
В одном варианте осуществления вероятностное пространство представляет собой многомерное пространство, в котором каждой паре характеристик файла и признаков поведения файла ставится в соответствие вероятность того, что файлу, обладающему данными характеристиками, свойственно поведение, описываемое данными признаками поведения.
В другом варианте осуществления отображение файла представляет собой совокупность параметров, описывающие поверхность, помещенную в указанное пространство.
Еще в одном варианте осуществления база отображений содержит по меньшей мере:
отображение файла, принадлежащего заданному семейству вредоносных файлов;
суммарное отображение всех файлов, принадлежащих заданному семейству вредоносных файлов.
Еще в одном варианте осуществления в базе отображений осуществляется поиск семейства вредоносных файлов по меньшей мере:
содержащего файл, чье отображения имеет со сформированным отображением степень схожести выше заранее заданного установленного порогового значения;
суммарное отображение всех файлов которого имеет со сформированным отображением степень схожести выше заранее заданного порогового значения.
Еще в одном варианте осуществления система дополнительно содержит средство переобучения, предназначенное для переобучения модели отображения таким образом, чтобы степень схожести сформированного отображения файла с отображением по меньшей мере одного файла из заданного семейства вредоносных файлов была выше, чем до переобучения модели отображения.
Еще в одном варианте осуществления средство выбора дополнительно предназначено для изменения на основании выбранного средства обнаружения вредоносного файла категории файла, если указанному файлу до этого была выставлена определенная категория, при этом в качестве категории может выступать:
категория вредоносных файлов;
категория безопасных файлов;
категория условно-безопасных файлов;
категория подозрительных файлов;
категория неизвестных файлов.
В одном из вариантов осуществления данного изобретения реализуется способ выбора средства обнаружения вредоносных файлов, при этом способ содержит этапы, которые реализуются с помощью средств из системы по п. 1 и на которых: (а) определяют характеристики файла на основании заранее заданных правил; (б) формируют отображение файла в вероятностном пространстве с помощью обученной модели отображения на основании определенных характеристик файла; (в) осуществляют поиск в базе отображений семейства вредоносных файлов на основании сформированного отображения файла; (г) выбирают из базы средств обнаружения вредоносных файлов средство обнаружения вредоносных файлов, соответствующее семейству вредоносных файлов, найденному в базе отображений.
В другом варианте осуществления вероятностное пространство представляет собой многомерное пространство, в котором каждой паре характеристик файла и признаков поведения файла ставится в соответствие вероятность того, что файлу, обладающий данными характеристиками, свойственно поведение, описываемое данными признаками поведения.
Еще в одном варианте осуществления отображение файла представляет собой совокупность параметров, описывающие поверхность, помещенную в указанное пространство.
Еще в одном варианте осуществления база отображений содержит по меньшей мере:
отображение файла, принадлежащего заданному семейству вредоносных файлов;
суммарное отображение всех файлов, принадлежащих заданному семейству вредоносных файлов.
Еще в одном варианте осуществления в базе отображений
осуществляется поиск семейства вредоносных файлов по меньшей мере:
содержащего файл, чье отображения имеет со сформированным отображением степень схожести выше заранее заданного установленного порогового значения;
суммарное отображение всех файлов которого имеет со сформированным отображением степень схожести выше заранее заданного порогового значения.
Еще в одном варианте осуществления дополнительно переобучают
модель отображения таким образом, чтобы степень схожести сформированного отображения файла с отображением по меньшей мере одного файла из заданного семейства вредоносных файлов была выше, чем до переобучения модели отображения.
Еще в одном варианте осуществления с помощью выбранного средства обнаружения вредоносного файла изменяют категорию файла, если указанному файлу до этого была выставлена определенная категория, при этом в качестве категории может выступать:
категория вредоносных файлов;
категория безопасных файлов;
категория условно-безопасных файлов;
категория подозрительных файлов;
категория неизвестных файлов.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы выбора средства обнаружения вредоносных файлов.
Фиг. 2 представляет структурную схему способа выбора средства обнаружения вредоносных файлов.
Фиг. 3 представляет схему отображения семейств вредоносных программ в вероятностном пространстве.
Фиг. 4 представляет структурную схему системы обучения модели отображения файла в вероятностном пространстве.
Фиг. 5 представляет структурную схему способа обучения модели отображения файла в вероятностном пространстве.
Фиг. 6 представляет схему выбора файлов на основании сравнения отображений.
Фиг. 7 представляет структурную схему системы обнаружения источников вредоносной активности.
Фиг. 8 представляет структурную схему способа обнаружения источников вредоносной активности.
Фиг. 9 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Безопасный файл - файл, исполнение которого заведомо не способно привести к несанкционированному уничтожению, блокированию, модификации, копированию компьютерной информации или нейтрализации средств защиты компьютерной информации.
Вредоносный файл - файл, исполнение которого заведомо способно привести к несанкционированному уничтожению, блокированию, модификации, копированию компьютерной информации или нейтрализации средств защиты компьютерной информации.
Вредоносное поведение исполняемого файла - совокупность действий, которые могут быть выполнены при исполнении упомянутого файла и которые заведомо способны привести к несанкционированному уничтожению, блокированию, модификации, копированию информации или нейтрализации средств защиты компьютерной информации.
Вредоносная активность исполняемого файла - совокупность действий, выполненных упомянутым файлом в соответствии с его вредоносным поведением.
Подозрительный файл - файл, исполнение которого способно с некоторой вероятностью привести к несанкционированному уничтожению, блокированию, модификации, копированию компьютерной информации или нейтрализации средств защиты компьютерной информации, при этом указанная вероятность может быть оценена на основании данных о самом файле (источник получения файла, разработчик, популярность среди пользователя) или по данным о поведении операционной системы или приложений при исполнении файла.
Условно-безопасный файл - файл, исполнение которого по заявленному функционалу не должно привести к несанкционированному уничтожению, блокированию, модификации, копированию компьютерной информации или нейтрализации средств защиты компьютерной информации, однако при несанкционированном использовании указанного файла или использовании указанного файла отличными от заявленных способами способно привести к уничтожению, блокированию, модификации, копированию компьютерной информации или нейтрализации средств защиты компьютерной информации.
Фиг. 1 представляет структурную схему системы выбора средства обнаружения вредоносных файлов.
Структурная схема системы выбора средства обнаружения вредоносных файлов состоит из файла 101, средства обнаружения вредоносных файлов 102, средства определения характеристик файла 110, средства формирования отображения файла 120, модели отображения 121, средства поиска 130, базы отображений 131, средства выбора 140, базы средств обнаружения вредоносных файлов 141, средства переобучения 150.
Средство определения характеристик файла 110 предназначено для определения характеристик файла 101 на основании заранее заданных правил и передачи определенных характеристик файла 101 средству формирования отображения файла 120.
В одном из вариантов реализации системы в качестве характеристик файла 101 выступает по меньшей мере:
мета-информация файла 101 (размер файла, тип файла, даты создания, модификации и использования, права доступа и т.д.);
структуры файла 101 (данные о заголовке файла, информация о секциях файла, такие как размер и тип секции, название и т.д.);
дерево распаковки файла 101 (данные об упаковщиках, которыми упаковывался файл, такие как название и версия упаковщика, параметры упаковки и т.д.);
байтовое представление файла 101;
дизассемблированное представление файла 101;
таблицы импорта/экспорта файла 101;
строковые константы, содержащиеся в файле 101;
результаты работы ручных экспертных эвристик над файлом 101 (при этом ручные экспертные эвристики представляют собой совокупность правил поиска разнообразных зависимостей и вычисления разнообразных весовых коэффициентов и т.п.); и т.д.
Например, из файла 101 могут определяться следующие характеристики:
размер файла (в байтах);
количество секций;
наличие подписи;
энтропия (частное распределение символов, лексем и т.д. и отклонение указанных распределений от нормального);
размер таблицы импорта;
количество ассемблерных инструкций jmp;
флаг факта того, что файл 101 содержит последовательность байт 0xABCDEF1313.
Средство формирования отображения файла 120 предназначено для формирования отображения файла 101 в вероятностном пространстве с помощью обученной модели отображения 121 на основании определенных характеристик файла 101 и передачи сформированного отображения файла 101 средству поиска 130.
В одном из вариантов реализации системы вероятностное пространство представляет собой многомерное пространство, в котором каждой паре характеристик файла 101 и признаков поведения файла 101 ставится в соответствие вероятность того, что файлу 101, обладающему данными характеристиками, свойственно поведение, описываемое данными признаками поведения.
Еще в одном из вариантов реализации системы отображение файла 101 представляет собой совокупность параметров, описывающих поверхность, помещенную в указанное пространство.
Еще в одном из вариантов реализации системы в качестве признаков поведения файла 101 выступают по меньшей мере:
структура и содержимое сетевого трафика, генерируемого исполняемым файлом 101;
состояние операционной системы в процессе и после завершения исполнения файла 101 (в том числе использование операционной системой вычислительных ресурсов, таких как оперативная
память или загрузка процессора, загруженные динамические библиотеки, запущенные служебные приложения и т.д.);
информация о взаимодействии пользователя с исполняемым файлом 101;
результаты работы ручных экспертных эвристик над файлом 101; и т.д.
Еще в одном из вариантов реализации системы модель отображения 121 обучалась с использованием по меньшей мере:
методов глубокого обучения (англ. Deep Learning);
генетических алгоритмов;
методов отображений (англ. Embeddings), таких как скрытое векторное пространство (англ. Latent vector space), скрытое распределение (англ. Latent distribution);
методов обучения с подкреплением (англ. Reinforcement learning). Еще в одном из вариантов реализации системы отображение файла 101 формируется с использованием по меньшей мере одного из алгоритмов:
глубокие нейронные сети (англ. Deep neural networks);
свертки (англ. Convolutions);
рекуррентные нейронные сети (англ. Recurrent neural network; RNN);
нейрокодировщики (англ. Encoders);
вариационные автокодировщики (англ. Variational autoencoder);
Байесовские сети (англ. Bayesian networks);
обучение похожести (англ. Similarity learning);
представления в скрытом гиперболическом пространстве (как частный случай представления в скрытом неевклидовом пространстве, англ. Hyperbolic embeddings).
Средство поиска 130 предназначено для поиска в базе отображений 131 семейства вредоносных файлов на основании сформированного отображения файла 101 и передачи результатов поиска средству выбора 140.
В одном из вариантов реализации системы база отображений 131 содержит по меньшей мере:
отображение файла, принадлежащего заданному семейству вредоносных файлов;
суммарное отображение всех файлов, принадлежащих заданному семейству вредоносных файлов.
Еще в одном из вариантов реализации системы в базе отображений 131 осуществляется поиск семейства вредоносных файлов по меньшей мере:
содержащего файл, чье отображения имеет со сформированным отображением файла 101 степень схожести выше заранее заданного установленного порогового значения;
суммарное отображение всех файлов которого имеет со сформированным отображением файла 101 степень схожести выше заранее заданного порогового значения.
Еще в одном из вариантов реализации системы для поиска отображений файлов используются по меньшей мере:
поиск ближайших соседей (англ. Nearest neighbors search), такие как местно-чувствительное хэширование (англ. Locality-sensitive hashing), шариковые деревья (англ. Ball-trees) и т.д.;
оценка плотности (англ. Density estimation), такие как ядерная оценка плотности (англ. Kernel density estimation), эскиз MinCount (англ. MinCount sketch).
Более подробно результаты поиска см. Фиг. 3.
Средство выбора 140 предназначено для выбора из базы средств обнаружения вредоносных файлов 141 средства обнаружения вредоносных файлов 102, соответствующее семейству вредоносных файлов, найденному в базе отображений 131.
Средство выбора 140 дополнительно предназначено для изменения категории анализируемого файла 101, если указанному файлу 101 до этого была выставлена определенная категория, при этом в качестве категории может выступать:
категория вредоносных файлов;
категория безопасных файлов;
категория условно-безопасных файлов;
категория подозрительных файлов;
категория неизвестных файлов.
Средство переобучения 150 предназначено для переобучения модели отображения 121 таким образом, чтобы степень схожести сформированного отображения файла 101 с отображением по меньшей мере одного файла из заданного семейства вредоносных файлов была выше, чем до переобучения модели отображения 121.
В одном из вариантов реализации системы переобучение модели отображения 121 может заключаться по меньшей мере в:
обучении модели отображения 121 с нуля;
дообучении модели отображения 121, корректируя отображения известных файлов 101 и обучая новые.
Эффективный выбор средства обнаружения вредоносных файлов позволяет решить несколько проблем в зависимости от области своего применения:
снизить использование вычислительных ресурсов при выполнении поиска вредоносных файлов за счет того, что для каждого файла или группы файлов используется не весь спектр доступных средств обнаружения, а только специализированные, обладающие наиболее высокой эффективностью (англ. detection rate);
повысить эффективность работы вирусных аналитиков (при ручном анализе файлов на вредоносность) за счет того, что из заданной выборки файлов становится возможным выбирать новые файлы, не относящиеся к уже известным вредоносным семействам, а значит имеющим малоизвестную или неизвестную структуру или поведение.
Например, простейший сценарий использования для поиска файлов с новым поведением (один из технических результатов настоящего изобретения - сортировка анализируемых файлов на файлы с известным поведением и структурой, для которых уже известны эффективные средства обнаружения, и файлы с неизвестным поведением или структурой, для которых неизвестны эффективные средства обнаружения, и для обнаружения вредоносного файла требуется применять совместно несколько средств обнаружения, что является неоптимальным) может заключаться в следующем:
i
1) для всех ранее отправленных на динамический анализ файлов 101 вычисляются вектора параметров поведения на основании журналов поведения log
2
i
где ML - обученная модель отображения, работающая с параметрами поведения файла 101 log,
и сохраняются в базу;
2) для всех файлов 101, которые еще не прошли описанный выше анализ, вычисляется
1
i
где ML - обученная модель отображения, работающая с характеристиками файла 101 file;
3) если доступны вычислительные ресурсы на динамический анализ K файлов, то из всех ранее необработанных файлов выбираются K таких, что для них расстояние до ближайшего ранее известного журнала поведения файла минимально (более подробное описание см. Фиг. 4):
В реальных задачах:
1) может использоваться значительно более сложное признаковое описание файла 101 (как характеристики файла 101, так и параметры поведения файла 101);
1
2
2) может использоваться значительно более сложная архитектура моделей ML, ML (EncF, DecF, EncL, DecL), где
EncF - функция отображения файла в вероятностное пространство,
EncL - функция отображения журнала поведения файла в вероятностное пространство,
DecF - функция отображения данных из вероятностного пространства в файл,
DecL - функция отображения данных из вероятностного пространства в журнал поведения файла;
l
2
3) может использоваться значительно более гибкая функция расстояния (например, на выходе модели ML, ML возвращают параметризованное распределение в бесконечномерном пространстве, и вычисляется ассиметричная метрика похожести между двумя распределениями);
1
2
4) может быть модифицирован принцип построения функций ML, ML, например, вместо обучения 2х моделей может обучаться 4 модели:
и при обучении стремятся минимизировать расстояния между исходными и декодированными признаковыми описаниями:
и максимизировать соответствующие расстояния для различных пар журналов поведения файлов;
5) для одного файла может храниться несколько соответствующих ему журналов поведения (поведение файла может меняться при разных запусках) и учитываться при оценке схожести;
6) могут храниться не все представления с ранее обработанных файлов, а, например, представления некоторых представителей или центроиды (для экономии памяти/ускорения поиска);
7) может использовать цепочку приоритизаций:
Легковесный статический анализ → Легковесный эмулятор →
Глубокий статический анализ → Продолжительная эмуляция
1
light
2
light
1
deep
2
deep
и по аналогичному принципу обучить модели ML(file), ML(log), ML(file), ML(log).
1
light
2
light
В результате после каждого этапа обработки отсеиваются наиболее знакомые объекты (т.е. приоритизировать отправку на глубокий статический анализ на основе усреднения/объединения известных ML(file), ML(log)).
Фиг. 2 представляет структурную схему способа выбора средства обнаружения вредоносных файлов.
Структурная схема способа выбора средства обнаружения вредоносных файлов содержит этап 210, на котором определяют характеристики файла, этап 220, на котором формируют отображение файла, этап 230, на котором осуществляют поиск, этап 240, на котором выбирают средство обнаружения вредоносных файлов, этап 250, на котором переобучают модель обнаружения.
На этапе 210 с помощью средства определения характеристик файла 110 определяют характеристики файла 101 на основании заранее заданных правил.
На этапе 220 с помощью средства формирования отображения файла 110 формируют отображение файла 101 в вероятностном пространстве с помощью обученной модели отображения 121 на основании определенных на этапе 210 характеристик файла.
На этапе 230 с помощью средства поиска 130 осуществляют поиск в базе отображений 131 семейства вредоносных файлов на основании сформированного на этапе 220 отображения файла 101.
На этапе 240 с помощью средства выбора 140 выбирают из базы средств обнаружения вредоносных файлов 141 средство обнаружения вредоносных файлов 102, соответствующее семейству вредоносных файлов, найденному на этапе 230 в базе отображений 131.
На этапе 250 с помощью средства переобучения 150 переобучают модель отображения 121 таким образом, чтобы степень схожести сформированного отображения файла 101 с отображением по меньшей мере одного файла из заданного семейства вредоносных файлов была выше, чем до переобучения модели отображения 121.
На этапе 240 с помощью средства выбора 140 с помощью выбранного средства обнаружения вредоносного файла изменяют категорию анализируемого файла 101, если указанному файлу до этого была выставлена определенная категория, при этом в качестве категории может выступать:
категория вредоносных файлов;
категория безопасных файлов;
категория условно-безопасных файлов;
категория подозрительных файлов;
категория неизвестных файлов.
Фиг. 3 представляет схему отображения семейств вредоносных программ в вероятностном пространстве.
Схема отображения семейств вредоносных программ в вероятностном пространстве содержит отображение файлов семейства AdWare.Win32.SmartInstaller 310, отображение файлов семейства Worm.Win32.Vobrus 320, отображение файлов семейства Backdoor.Win32.DarkKomet 330, отображение файлов семейства Trojan.Win32.ShipUp 340, отображение файлов семейства Trojan.Win32.AntiAV 350, отображение файлов семейства Trojan.Win32.Bayrod 360, где 301 - отображение файлов вредоносных коллекций, построенных на основании характеристик указанных файлов, 302 - отображение файлов вредоносных коллекций, построенных на основании признаков поведения указанных файлов, 303 - отображение файлов заданного вредоносного семейства (см. выше), построенных на основании характеристик указанных файлов, 304 - отображение файлов заданного вредоносного семейства, построенных на основании признаков поведения указанных файлов.
На Фиг. 3 представлена схема отображения файлов из некоторых вредоносных семейств. Файлы отдельных вредоносных семейств имеют как схожий функционал (поведение исполняемого файла), так и структуру, что в свою очередь приводит к тому, что отображения файлов одного семейства группируются в компактной области вероятностного пространства.
Если отображение некоторого файла 101 также лежит в области, занимаемой отображениями файлов какого-нибудь вредоносного семейства, то с большой долей вероятности можно утверждать, что указанный файл 101 также может принадлежать указанному вредоносному семейству.
Если отображение файла некоторого файла 101 лежит вне областей, занимаемых отображениями файлов вредоносных семейств, то с большой долей вероятности можно утверждать, что указанный файл 101 является новой разновидностью, не принадлежащей к известным вредоносным семействам.
Если в первом случае для проверки того, что некоторый файл 101 является вредоносным, достаточно использовать одно из средств обнаружения вредоносных файлов, специализированных для обнаружения с высокой долей вероятности вредоносных файлов заданного вредоносного семейства, то во втором случае требуется или более тщательный ручной анализ вирусным аналитиком, или использование нескольких средств обнаружения вредоносных файлов, что может требовать значительных трат вычислительных ресурсов.
Фиг. 4 представляет структурную схему системы обучения модели отображения файла в вероятностном пространстве.
Структурная схема системы обучения модели отображения файла в вероятностном пространстве состоит из обучающей выборки 401, содержащей по меньшей мере один файл 101, модели отображения 121, базы отображений 131, базы средств обнаружений 141, средства определения характеристик файла 110, средства определения признаков поведения файла 410, средства формирования отображения файла 420, средства обнаружения 430, средства обучения 440.
Средство определения признаков поведения файла 410 предназначено для определения признаков поведения файла 101 на основании журнала действий, полученного на основании анализа исполнения файла 101 и передачи определенных признаков поведения файла 101 средству формирования отображения файла 420.
Например, из файла 101 могут определяться следующие признаки поведения файла 101:
количество запущенных потоков;
флаг индикации, что осуществлялась запись в реестр;
количество объектов, скачанных из компьютерной сети (локальной или глобальной);
флаг индикации, что было обращение к ловушкам (англ. Honeypot);
флаг индикации, что программа отрисовала графический интерфейс (с помощью использования соответствующего функционала GUI);
флаг индикации успешного завершения программы;
максимальное потребление оперативной памяти. Средство формирования отображения файла 420 предназначено для формирования отображения №1 файла 101 в вероятностном пространстве на основании определенных характеристик файла 101 и отображения №2 файла 101 в вероятностном пространстве на основании определенных признаков поведения файла 101 и передачи сформированных отображений файла средству обучения 440.
В одном из вариантов реализации системы вероятностное пространство представляет собой многомерное пространство, в котором каждой паре характеристик файла 101 и признаков поведения файла 101 ставится в соответствие вероятность того, что файлу 101, обладающему данными характеристиками, свойственно поведение, описываемое данными признаками поведения.
Еще в одном из вариантов реализации системы отображение файла 101 представляет собой совокупность параметров, описывающих поверхность, помещенную в указанное пространство (к примеру коэффициентов в многочлене второго порядка).
Средство обнаружения 430 предназначено для детектирования файла 101, в результате которого определяются вредоносное семейство, к которому относится файл 101, и по меньшей мере один способ обнаружения вредоносного файла, который дал положительный результат при детектировании файла 101, и передачи определенной информации средству обучения 440.
Средство обучения 440 предназначено для обучения модели отображения 121 на основании сформированных отображения №1 и отображения №2 файла 101.
В одном из вариантов реализации системы средство обучения 440 дополнительно предназначено для добавления в базу отображений 131, которая содержит по меньшей мере:
отображение файла, принадлежащего заданному семейству вредоносных файлов;
суммарное отображение всех файлов, принадлежащих заданному семейству вредоносных файлов;
сформированные отображения файла 101, соответствующие определенному вредоносному семейству.
Еще в одном из вариантов реализации системы средство обучения 440 дополнительно предназначено для добавления в базу средств обнаружения 141
средства обнаружения, определенного при детектировании файла 101 и соответствующего определенному вредоносному семейству.
Пример простого варианта обучения модели отображения 121:
где:
1
ML - обученная модель отображения 121, работающая с характеристиками файла 401;
2
ML - обученная модель отображения 121, работающая с признаками поведения 401;
file
F - характеристики файла 401;
log
F - признаки поведения файла 401;
f
1
W - настраиваемые (обучаемые) параметры модели ML;
l
2
W - настраиваемые (обучаемые) параметры модели ML.
Например:
f
пусть W=W, тогда
Берется N=1000 файлов и передается на эмулятор поведения файлов, после отработки эмулятора поведения файлов формируются журналы действий:
После чего определяется расстояние между двумя объектами (файлами или журнала поведения файлов):
f
l
С помощью процесса обучения модели отображения 121 подбираются такие параметры W, W, что усредненное расстояние между отображениями файла 401 и соответствующим ему журналом действий (или иначе между характеристиками файла 401 и параметрами поведения файла 401) будет меньше заранее заданного порогового значения, а между файлом 401 и чужим журналом действия другого файла - больше заранее заданного порогового значения.
Например, численно минимизируется величина ошибки:
Фиг. 5 представляет структурную схему способа обучения модели отображения файла в вероятностном пространстве.
Структурная схема способа обучения модели отображения файла в вероятностном пространстве содержит этап 210, на котором определяют характеристики файла, этап 510, на котором определяют признаки поведения файла, этап 520, на котором формируют отображение файла, этап 530, на котором детектируют файл, этап 540, на котором обучают модель отображения.
На этапе 510 с помощью средства определения признаков поведения файла 410 определяют признаки поведения файла 101 на основании журнала действий, полученного на основании анализа исполнения файла 101.
На этапе 520 с помощью средства формирования отображения файла 420 формируют отображение №1 файла 101 в вероятностном пространстве на основании определенных на этапе 210 характеристик файла 101 и отображение №2 файла 101 в вероятностном пространстве на основании определенных на этапе 410 признаков поведения файла 101.
На этапе 530 с помощью средства обнаружения 430 детектируют файл 101, определяя вредоносное семейство, к которому относится файл 101, и по меньшей мере один способ обнаружения вредоносного файла, который дал положительный результат при детектировании файла 101.
На этапе 540 с помощью средства обучения 440 в случае детектирования на этапе 530 файла 101 обучают модель отображения на основании сформированных на этапе 520 отображения №1 и отображения №2 файла 101.
Дополнительно на этапе 540 в случае детектирования на этапе 530 файла 101 добавляют в базу отображений 131, которая содержит по меньшей мере:
отображение файла, принадлежащего заданному семейству вредоносных файлов;
суммарное отображение всех файлов, принадлежащих заданному семейству вредоносных файлов;
сформированные на этапе 520 отображения файла 101, соответствующие определенному вредоносному семейству.
Дополнительно на этапе 540 в случае детектирования на этапе 530 файла 101 добавляют в базу средств обнаружения 141 средство обнаружения, определенное на этапе 530 при детектировании файла 101 и соответствующее определенному вредоносному семейству.
Более подробно основной принцип обучения см. на Фиг. 6.
Фиг. 6 представляет схему выбора файлов на основании сравнения отображений.
Схема выбора файлов на основании сравнения отображений состоит из совокупности файлов для анализа 610, которая содержит анализируемый файл 611, отображения файлов 620, совокупность вредоносных файлов 630, которая содержит схожие с анализируемым файлом 611 вредоносные файлы 631.
Для анализа файлов на вредоносность формируется некоторая выборка файлов 610 из которой последовательно выбирается по одному файлу 611.
Для каждого файла определяются его характеристики (210) и формируется отображение файла в вероятностном пространстве (220), после чего производится сравнение сформированного отображения (620) среди отображений, рассчитанных по заранее заданной совокупности вредоносных файлов (630).
При этом каждому анализируемому файлу 611 может ставиться в соответствие несколько файлов 631 из выборки вредоносных файлов 630, имеющих схожие отображения с отображением указанного файла 611.
Алгоритмы формирования отображения файла можно подобрать таким образом, чтобы файлы, обладающие схожей структурой или схожим поведением при их исполнении, имели схожие отображения (т.е. отображения, находящиеся в одной области вероятностного пространства).
В этом случае возможно не только определять, является ли файл 611 вредоносным (т.е. похож он на другие вредоносные файлы 631), но и относится ли указанный файл 611 к какому-то вредоносному семейству или нет.
Еще в одном из вариантов реализации изобретения описанные выше системы и способы (Фиг. 1 - Фиг. 6) могут использоваться для классификации и кластеризации вредоносных коллекций, в результате чего вся совокупность вредоносных файлов разделяется не несколько разных вредоносных семейств, которые характеризуются схожим составом или поведением файлов.
Фиг. 7 представляет структурную схему системы обнаружения источников вредоносной активности.
Структурная схема системы обнаружения источников вредоносной активности состоит из исполняемых файлов операционной системы 701, модели отображения 121, базы отображений 131, средства определения признаков поведения файлов 710, средства формирования отображения файлов 720, средства поиска 730, средства выделения характеристик файлов 740, средства выявления вредоносных файлов 750, средства переобучения 760.
Средство определения признаков поведения файлов 710 предназначено для определения признаков поведения файлов 701 (как совокупности файлов, так и единичных файлов), работающих в операционной системе, на основании журнала действий, полученного на основании анализа работы операционной системы и передачи определенных признаков поведения файлов 701 средству формирования отображения файлов 720.
Средство формирования отображения файлов 720 предназначено для формирования отображения файлов 701 в вероятностном пространстве с помощью обученной модели отображения 121 на основании определенных признаков поведения файлов 701 и передачи сформированного отображения файлов 701 средству поиска 730.
В одном из вариантов реализации вероятностное пространство представляет собой многомерное пространство, в котором каждой паре характеристик файла и признаков поведения файла ставится в соответствие вероятность того, что файлу, обладающему данными характеристиками, свойственно поведение, описываемое данными признаками поведения.
Еще в одном из вариантов реализации системы отображение файла представляет собой совокупность параметров, описывающих поверхность, помещенную в указанное пространство.
Средство поиска 730 предназначено для осуществления поиска в базе отображений 131 семейства вредоносных файлов на основании сформированного отображения файлов и передачи результатов поиска средству выделения характеристик файлов 740.
В одном из вариантов реализации системы в базе отображений 131 осуществляется поиск семейства вредоносных файлов по меньшей мере:
содержащего файл, отображение которого имеет со сформированным отображением степень схожести выше заранее заданного установленного порогового значения;
суммарное отображение всех файлов которого имеет со сформированным отображением степень схожести выше заранее заданного порогового значения.
Средство выделения характеристик файлов 740 предназначено для выделения характеристик файлов, соответствующих найденному в базе отображений 131 семейству вредоносных файлов и передачи выделенных характеристик файлов средству выявления вредоносных файлов 750.
Средство выявления вредоносных файлов 750 предназначено для осуществления поиска вредоносного файла, являющегося источником вредоносной активности в операционной системе, соответствующего выделенным характеристикам файлов.
Средство переобучения 760 предназначено для переобучения модели отображения 121 таким образом, чтобы степень схожести сформированного отображения файлов с отображением по меньшей мере одного файла из заданного семейства вредоносных файлов была выше, чем до переобучения модели отображения 121.
В одном из вариантов реализации системы источником вредоносной угрозы может выступать не вредоносный файл, как таковой, а сетевой ресурс, который по меньшей мере:
являлся источником атаки на вычислительное устройство (например, DDoS атака, внедрение эксплойтов и т.д.);
является источником распространения вредоносных файлов на вычислительном устройстве (например, при использовании вредоносных программ-загрузчиков и т.д.).
Т.е. на основании анализа определенных признаков поведения файлов 701 операционной системы определяется, что на вычислительном устройстве имела место вредоносная активность, источником которой был определенный сетевой ресурс (сайт, с которого был скачан вредоносный файл, IP-адреса, с которых производилась DDoS-атака и т.д.).
Описанная выше система позволяет таким образом бороться и противодействовать целевым атакам (англ. APT - Advanced persistent threat).
Фиг. 8 представляет структурную схему способа обнаружения источников вредоносной активности.
Структурная схема способа обнаружения источников вредоносной активности содержит этап 810, на котором определяют признаки поведения файлов, этап 820, на котором формируют отображения файлов, этап 830, на котором осуществляют поиск, этап 840, на котором выделяют характеристики файлов, этап 850, на котором определяют вредоносные файлы, этап 860, на котором переобучают модель обнаружения.
На этапе 810 с помощью средства определения признаков поведения файлов 710 определяют признаки поведения файлов 701, работающих в операционной системе, на основании журнала действий, полученного на основании анализа работы операционной системы.
На этапе 820 с помощью средства формирования отображения файлов 720 формируют отображение файлов 701 в вероятностном пространстве с помощью обученной модели отображения 121 на основании определенных на этапе 810 признаков поведения файлов 701.
На этапе 830 с помощью средства поиска 730 осуществляют поиск в базе отображений 131 семейства вредоносных файлов на основании сформированного на этапе 820 отображения файлов 701.
На этапе 840 с помощью средства выделения характеристик файлов 740 выделяют характеристики файлов, соответствующих найденному на этапе 830 в базе отображений 141 семейству вредоносных файлов.
На этапе 850 с помощью средства выявления вредоносных файлов 750 находят вредоносный файл, являющийся источником вредоносной активности в операционной системе, соответствующий выделенным на этапе 840 характеристикам файлов.
На этапе 860 переобучают модель отображения 121 таким образом, чтобы степень схожести сформированного отображения файлов 701 с отображением по меньшей мере одного файла из заданного семейства вредоносных файлов была выше, чем до переобучения модели отображения 121.
Фиг. 9 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 9. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет.В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46.
Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.