Система и способ формирования правила проверки файла на вредоносность
SYSTEM AND METHOD FOR FORMING RULE FOR CHECKING FILE FOR MALICIOUSNESS

Область техники
Изобретение относится к области информационной безопасности, а более конкретно к системам и способам формирования правила проверки файла на вредоносность.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак на другие компьютеры или компьютерные сети, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. brute force). Третьи предлагают пользователям платный контент через навязчивую рекламу, отправку SMS-сообщений на платные номера и т.д.
Для обнаружения этого многообразия вредоносных программ используются разнообразные технологии, такие как:
статический анализ - анализ программы на вредоносность, исключающий выполнение или эмуляцию работы анализируемой программы, при этом указанный анализ осуществляется на основании данных, содержащихся в составляющих анализируемую программу файлах;
динамический анализ - анализ программы на вредоносность на основании данных, полученных в ходе выполнения или эмуляции работы анализируемой программы;
списки разрешенных и запрещенных программ - категоризация программ по заранее заданным категориям (к примеру, на категории вредоносных и безопасных программ) на основании заранее заданных характеристик программ (к примеру, на основе хэш-сумм, вычисленным по программам);
и т.д.
Каждый из описанных методов обладает своими плюсами и минусами, связанными с появлением ошибок первого и второго рода при обнаружении вредоносных файлов (так называемой эффективностью обнаружения или detection rate) и с использованием вычислительных ресурсов при обнаружении вредоносных файлов (так называемой производительностью).
В свою очередь вредоносные программы эволюционируют вслед за технологиями их обнаружения и становятся более сложными для своевременного выявления и блокировки. Для своей защиты они также используют разнообразные технологии, такие как:
защита от эмуляции в виртуальной среде (англ. anti-emulation) - обнаружение попытки эмуляции вредоносной программы в виртуальной среде и препятствование выполнению основного функционала вредоносной программы;
защита от запуска на нецелевых вычислительных системах - обнаружение и препятствование выполнению основного функционала вредоносной программы на вычислительных системах, выполнение на которых не предполагалось;
защита от обнаружения вредоносной активности - сокрытие вредоносной активности от антивирусных приложений (например, отложенная во времени активация вредоносной активности, остановка вредоносной активности при начале мониторинга системы со стороны антивирусных приложений и т.д.);
обфускация - приведение исходного текста или исполняемого кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции;
и т.д.
Для того, чтобы эффективно обнаруживать такие вредоносные программы приходится использовать технологии или совокупности технологий, предъявляющие повышенные требования к вычислительным ресурсам, что зачастую исключает возможность использования таких технологий на компьютерах рядовых пользователей.
Например, в публикации US 8042186 B1 описана технология обнаружения вредоносных программ со сложным поведением, обеспечивающая повышенную защиту от вредоносных программ путем выявления потенциально опасных программных объектов (для чего используется один движок), мониторинга выполнения различных процессов и потоков потенциально опасных объектов (для чего используется другой движок), компиляции контекстов событий выполнения отслеживаемых процессов и потоков, а также объединения контекстов связанных процессов и потоков. На основе анализа отдельных и объединенных контекстов объектов с использованием правил поведения вредоносных программ система позволяет обнаруживать вредоносные объекты, имеющие простые и сложные модели поведения.
Хотя описанная выше технология хорошо справляется с выявлением вредоносных программ, обладающих сложным поведением (т.е. поведением, затрагивающим разные элементы программного и аппаратного окружения атакованного компьютера), она имеет крайне низкую эффективность при выявлении вредоносных программ, имеющих не столько сложное, сколько сильно отличающееся поведение в зависимости от разных факторов (в том числе действий пользователя, результатов работы операционной системы и программ в ней, событий, возникающих на компьютере и т.д.), поскольку выявление таких вредоносных программ требует не столько анализа последовательных действий программ (их поведения), сколько параллельного анализа одних и тех же действий разными (зачастую кардинально) узкоспециализированными технологиями.
Настоящее изобретение позволяет решать задачу обнаружения вредоносных файлов.
Раскрытие изобретения
Изобретение предназначено для обеспечения информационной безопасности.
Технический результат настоящего изобретения заключается в формировании правила проверки файла на вредоносность.
Данный результат достигается с помощью использования системы формирования правила проверки файла на вредоносность, которая содержит средство определения характеристик файла, предназначенное для определения характеристик файла, который требуется проверить на вредоносность; средство выборки модулей, предназначенное для выборки на основании определенных характеристик по меньшей мере двух модулей проверки файла на вредоносность из базы модулей; средство выборки правил, предназначенное для выборки правила проверки файла на вредоносность из базы правил для каждого выбранного модуля, где правило проверки файла на вредоносность представляет собой способ вычисления степени вредоносности файла; средство формирования правила, предназначенное для формирования правила проверки файла на вредоносность из выбранных правил.
В другом частном случае реализации системы в качестве характеристик файла выступают по меньшей мере: тип файла; размер файла; структура файла; вызовы встроенных функций, содержащихся в файле; вызовы API-функций, содержащиеся в файле; строки, содержащиеся в файле; параметры сетевого соединения, устанавливаемого при исполнении файла.
Еще в одном частном случае реализации системы модуль проверки файла на вредоносность предназначен для определения степени вредоносности файла с помощью правила проверки файла на вредоносность, где степень вредоносности файла представляет собой численное значение в заданном диапазоне, одна граница которого соответствует гарантированно безопасному файлу, а вторая граница - гарантированно вредоносному файлу.
В другом частном случае реализации системы в качестве правила проверки файла на вредоносность выступает способ определения степени вредоносности файла на основании полученной от выбранного модуля проверки файла на вредоносность информации по меньшей мере о: функциональности файла, структуре файла.
Еще в одном частном случае реализации системы правило проверки файла на вредоносность характеризуется по меньшей мере: эффективностью обнаружения, представляющей собой численное значение, характеризующее вероятность возникновения по меньшей мере ошибок первого и второго рода при определении степени вредоносности файла с помощью указанного правила; эффективностью использования вычислительных ресурсов, доступных модулю проверки файла на вредоносность, представляющую собой численное значение, характеризующее вероятность использования заданного объема вычислительных ресурсов.
В другом частном случае реализации системы выбирают правило проверки файла на вредоносность таким образом, чтобы по меньшей мере: минимальная степень вредоносности файла для файла, который требуется проверить на вредоносность указанным правилом, превосходила заранее заданное пороговое значение; эффективность обнаружения, характеризующее указанное правило, не превосходила заранее заданного порогового значения; эффективность использования вычислительных ресурсов, характеризующее указанное правило, не превосходила заранее заданного порогового значения.
Еще в одном частном случае реализации системы формируют правило проверки файла на вредоносность таким образом, чтобы по меньшей мере: степень вредоносности файла была по меньшей мере: выше заранее заданного порогового значения; выше меры центральной тенденции степени вредоносности, определяемой правилами, используемыми при формировании указанного правила; эффективность обнаружения, характеризующее формируемое правило, была по меньшей мере: выше заранее заданного порогового значения; выше меры центральной тенденции эффективности обнаружения, характеризующей правила, используемые при формировании указанного правила; эффективность использования вычислительных ресурсов, характеризующее формируемое правило, была по меньшей мере: выше заранее заданного порогового значения; выше меры центральной тенденции эффективности использования вычислительных ресурсов, характеризующей правила, используемые при формировании указанного правила.
В другом частном случае реализации системы с помощью обученной модели выбора осуществляется выбор по меньшей мере: модуля проверки файла на вредоносность, правила проверки файла на вредоносность.
Еще в одном частном случае реализации системы система дополнительно содержит средство переобучения, предназначенное для переобучения модели выбора таким образом, чтобы для файла, который требуется проверить на вредоносность, было сформировано правило проверки файла на вредоносность таким образом, чтобы были выше заданного порогового значения по меньшей мере: степень вредоносности файла, определенная с помощью сформированного правила, эффективность обнаружения, характеризующая сформированное правило, эффективность использования вычислительных ресурсов, характеризующая сформированное правило.
Данный результат достигается с помощью использования способа формирования правила проверки файла на вредоносность, при этом способ содержит этапы, которые реализуются с помощью средств из системы формирования правила проверки файла и на которых: определяют характеристики файла, который требуется проверить на вредоносность; выбирают на основании определенных характеристик по меньшей мере два модуля проверки файла на вредоносность из базы модулей; выбирают правило проверки файла на вредоносность из базы правил для каждого выбранного модуля, где правило проверки файла на вредоносность представляет собой способ вычисления степени вредоносности файла; формируют правило проверки файла на вредоносность из выбранных правил.
В другом частном случае реализации способа в качестве характеристик файла выступают по меньшей мере: тип файла; размер файла; структура файла; вызовы встроенных функций, содержащихся в файле; вызовы API функций, содержащихся в файле; строки, содержащиеся в файле; параметры сетевого соединения, устанавливаемого при исполнении файла.
Еще в одном частном случае реализации способа модуль проверки файла на вредоносность предназначен для определения степени вредоносности файла с помощью правила проверки файла на вредоносность, где степень вредоносности файла представляет собой численное значение в заданном диапазоне, одна граница которого соответствует гарантированно безопасному файлу, а вторая граница - гарантированно вредоносному файлу.
В другом частном случае реализации способа в качестве правила проверки файла на вредоносность выступает способ определения степени вредоносности файла на основании полученной от модуля проверки файла на вредоносность информации по меньшей мере о: функциональности файла, структуре файла.
Еще в одном частном случае реализации способа правило проверки файла на вредоносность характеризуется по меньшей мере: эффективностью обнаружения, представляющей собой численное значение, характеризующее вероятность возникновения по меньшей мере ошибок первого и второго рода при определении степени вредоносности файла с помощью указанного правила; эффективностью использования вычислительных ресурсов, доступных модулю проверки файла на вредоносность представляющую собой численное значение, характеризующее вероятность использования заданного объема вычислительных ресурсов.
В другом частном случае реализации способа выбирают правило проверки файла на вредоносность таким образом, чтобы по меньшей мере: минимальная степень вредоносности файла для файла, который требуется проверить на вредоносность указанным правилом, превосходила заранее заданное пороговое значение; эффективность обнаружения, характеризующее указанное правило, не превосходила заранее заданного порогового значения; эффективность использования вычислительных ресурсов, характеризующее указанное правило, не превосходила заранее заданного порогового значения.
Еще в одном частном случае реализации способа формируют правило проверки файла на вредоносность таким образом, чтобы по меньшей мере: степень вредоносности файла была по меньшей мере: выше заранее заданного порогового значения; выше меры центральной тенденции степени вредоносности, определяемой правилами, используемыми при формировании указанного правила; эффективность обнаружения, характеризующее формируемое правило, была по меньшей мере: выше заранее заданного порогового значения; выше меры центральной тенденции эффективности обнаружения, характеризующей правила, используемые при формировании указанного правила; эффективность использования вычислительных ресурсов, характеризующее формируемое правило, была по меньшей мере: выше заранее заданного порогового значения; выше меры центральной тенденции эффективности использования вычислительных ресурсов, характеризующей правила, используемые при формировании указанного правила.
В другом частном случае реализации способа с помощью обученной модели выбора осуществляется выбор по меньшей мере: модуля проверки файла на вредоносность, правила проверки файла на вредоносность.
Еще в одном частном случае реализации способа дополнительно переобучают модель выбора таким образом, чтобы для файла, который требуется проверить на вредоносность, было сформировано правило проверки файла на вредоносность таким образом, чтобы были выше заданного порогового значения по меньшей мере: степень вредоносности файла, определенная с помощью сформированного правила, эффективность обнаружения, характеризующая сформированное правило, эффективность использования вычислительных ресурсов, характеризующая сформированное правило.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы формирования правила проверки файла на вредоносность
Фиг. 2 представляет структурную схему способа формирования правила проверки файла на вредоносность.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако, настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Фиг. 1 представляет структурную схему системы формирования правила проверки файла на вредоносность.
Структурная схема системы формирования правила проверки файла на вредоносность состоит из средства определения характеристик файла 110, средства выборки модулей 120, базы модулей 121, средства выборки правил 130, базы правил 131, средства формирования правила 140, средства переобучения 150, модели выбора 151, средства проверки 160.
В одном из вариантов реализации описываемые средства системы формирования правила проверки файла на вредоносность представляют собой функциональные элементы антивирусного приложения, функционирующего на компьютере пользователя.
Например, антивирусное приложение может проверять файлы на вредоносность не с помощью заранее сформированных правил (сигнатурных, эвристических и т.д.), а формировать с помощью описываемой системы правило под каждый конкретный файл уже в процессе выполнения проверки. Такой подход позволяет снизить ошибки первого и второго рода, возникающие при проверке файлов на вредоносность.
Еще в одном из вариантов реализации описываемая система функционирует на базе внутренней инфраструктуры антивирусных компаний и предназначена для формирования правил проверки файла на вредоносность, из которых затем формируются антивирусные базы, предоставляемые антивирусным приложениям на компьютерах пользователей.
Например, на основании собранной от пользователей статистики по вредоносным и подозрительным файлам антивирусная компания формирует с помощью описываемой системы новые эвристические правила проверки файла на вредоносность, из которых затем формирует антивирусные базы, предоставляемые пользователям.
Средство определения характеристик файла 110 предназначено для определения характеристик файла 101, который требуется проверить на вредоносность.
В одном из вариантов реализации системы в качестве файла 101, который требуется проверить на вредоносность, выступает по меньшей мере:
исполняемый файл;
библиотека, содержащая API функции, подключаемая динамически сторонними приложениями;
скрипт;
медиа-данные, используемые сторонними приложениями.
Например, в качестве файла 101 может выступать:
исполняемый файл «newvideo.avi.exe», представляющий собой вредоносный файл, маскирующий себя под видео-файл;
В одном из вариантов реализации системы в качестве характеристик файла 101 выступают по меньшей мере:
статические характеристики:
тип файла 101;
размер файла 101;
структура файла 101;
вызовы встроенных функций, содержащихся в файле 101;
вызовы API функций, содержащихся в файле 101;
строки, содержащиеся в файле 101;
динамические характеристики:
параметры сетевого соединения, устанавливаемого при исполнении файла 101.
Например, в качестве характеристик файла «newvideo.avi.exe» могут выступать:
Указанные характеристики могут свидетельствовать, что файл «newvideo.avi.exe» является вредоносным и маскирует себя под видеофайл (зачастую в ОС «Windows» в проводнике расширение файла скрыто, и пользователь не видит, что файл является исполнимым, вместо этого он видит, что файл является видеофайлом).
Средство выборки модулей 120 предназначено для выборки на основании определенных характеристик файла 101 по меньшей мере двух модулей проверки файла на вредоносность из базы модулей 121, при этом каждый выбранный модуль предназначен для по меньшей мере:
проверки на вредоносность файла заданного типа;
проверки на вредоносность файла с помощью определенного алгоритма (отличного от алгоритмов других модулей проверки файла на вредоносность).
Например, один модуль проверки файла на вредоносность может предназначаться для проверки исполняемого файла, а другой модуль - для проверки скрипта. При этом оба модуля могут косвенно проверять файлы таких типов, для проверки которых предназначены другие модули, например, если при исполнении вредоносного файла формируется вредоносный скрипт, то каждый из модулей с определенной вероятностью определит анализируемый файл или скрипт как вредоносный, что позволит сделать вывод о вредоносности соответствующего скрипта (модулем, проверяющим файл) или файла (модулем, проверяющим скрипт).
Еще в одном примере один модуль проверки файла на вредоносность может предназначаться для проверки исполняемого файла с использованием сигнатурных методов, а другой модуль - для проверки исполняемого файла с использованием эвристических (поведенческих) методов.
В качестве модуля проверки файла на вредоносность может выступать по меньшей мере:
функция для проверки файла на вредоносность;
библиотека для проверки файла на вредоносность (например, веб-антивирус);
процесс антивирусного приложения, предназначенный для проверки файла на вредоносность (например, сервис virustotal).
Разные модули проверки файла на вредоносность предназначены для проверки на вредоносность файлов, обладающих разными характеристиками. Исполнимый файл обрабатывается (т.е. для указанного файла вычисляется степень вредоносности и выносится решение о том, является ли файл вредоносным, подозрительным, безопасным и т.д.) одним модулем, медиа-файл - другим и т.д. Кроме того, файлы, обладающие схожими характеристиками, могут обрабатываться разными модулями - исполняемый файл может обрабатываться и сигнатурным модулем, и эвристическим модулем, и модулем, проверяющим списки разрешенных и запрещенных файлов.
Например, при проверке файла 101 на вредоносность в качестве модулей могут быть выбраны:
мониторинг активности программы, исполняющей файл 101,
Указанные модули проверки файла на вредоносность хранятся в базе модулей 121.
В одном из вариантов реализации системы база модулей 121 представляет собой совокупность элементов антивирусного приложения, предназначенных для проверки файла на вредоносность.
Еще в одном из вариантов реализации системы база модулей 121 представляет собой распределенную систему антивирусных приложений, каждое из которых рассматривается как средство проверки файла на вредоносность (элемент объединенной антивирусной системы).
В одном из вариантов реализации системы в качестве модуля проверки файла на вредоносность выступает по меньшей мере:
программное обеспечение,
аппаратное обеспечение, с помощью которого осуществляется проверка файла 101 на вредоносность.
Указанные модули предназначены для определения степени вредоносности файла 101 с помощью правила проверки файла на вредоносность, где степень вредоносности файла 101 представляет собой численное значение в заданном диапазоне, одна граница которого соответствует гарантированно безопасному файлу, а вторая граница - гарантированно вредоносному файлу.
Еще в одном из вариантов реализации системы в качестве правила проверки файла на вредоносность выступает способ определения степени вредоносности файла 101 на основании полученной от выбранного модуля проверки файла на вредоносность информации по меньшей мере о:
функциональности файла 101,
структуре файла 101.
Еще в одном из вариантов реализации системы информация о функциональности файла 101 представляет собой по меньшей мере:
командную строку запуска файла 101 на исполнение;
информацию по обращениям к файловой системе при исполнении файла 101;
информацию по обращениям к веткам реестра при исполнении файла 101;
информацию о запуске процессов при исполнении файла 101;
информацию о создании потоков при исполнении файла 101;
дампы памяти процесса, в котором исполняется файл 101;
информация о динамической загрузке библиотек при исполнении файла 101;
стек вызовов.
Еще в одном из вариантов реализации системы правило проверки файла на вредоносность характеризуется по меньшей мере:
эффективностью обнаружения, представляющей собой численное значение, характеризующее вероятность возникновения по меньшей мере ошибок первого и второго рода при определении степени вредоносности файла с помощью указанного правила;
эффективностью использования вычислительных ресурсов, доступных модулю проверки файла на вредоносность, представляющую собой численное значение, характеризующее вероятность использования заданного объема вычислительных ресурсов.
Например, при проверки тестовой, заранее сформированной вирусной коллекции, содержащей сетевые черви (англ. Net-Worms) для одного специализированного правила обнаружения сетевых червей был получен результат в 99,5% верных вердиктов и 0,2% ложно-положительных вердиктов, а для другого правила - 99,7% верных вердиктов и 0,1% ложно-положительных вердиктов. Таким образом, можно сделать вывод, что второе правило более эффективно обнаруживает вредоносные файлы и допускает меньше ложных вердиктов, чем первое.
Еще в одном примере для описанных выше правил на описанной выше вирусной коллекции были получены следующие результаты использования вычислительных ресурсов: первое правило использовало 752 МБ оперативной памяти и работало 3 часа 12 минут, а второй правило использовало 1,2 ГБ оперативной памяти и работало 4 часа 37 минут. Таким образом, можно сделать вывод, что первое правило более эффективно использует вычислительные ресурсы компьютера, чем второе.
Таким образом, если требуется более высокая точность обнаружения вредоносного файла и при этом есть достаточно вычислительных ресурсов, то может быть выбрано второе правило, а если вычислительных ресурсов недостаточно (или их выделение для проверки файла на вредоносность нецелесообразно), то может быть выбрано первое правило.
Еще в одном из вариантов реализации системы выбор модуля проверки файла на вредоносность осуществляется с помощью обученной модели выбора 151.
В одном из вариантов реализации системы модель выбора 151 предварительно обучают на заранее сформированных вирусных коллекциях, содержащих файлы, для которых уже известны (были заранее определены) соответствующие вердикты и степень вредоносности. При этом для каждого типа файлов может быть сформирована своя модель выбора 151.
Средство выборки правил 130 предназначено для выборки правила проверки файла на вредоносность из базы правил 131 для каждого выбранного модуля, где правило проверки файла на вредоносность представляет собой способ вычисления степени вредоносности файла 101, на основании которого делается вывод о том, является ли файл 101 вредоносным (т.е. обладает ли вредоносным функционалом) или нет.
В одном из вариантов реализации системы с помощью средства выборки правил 130 выбирают правило проверки файла на вредоносность таким образом, чтобы по меньшей мере:
минимальная степень вредоносности файла для файла 101, который требуется проверить на вредоносность указанным правилом, превосходила заранее заданное пороговое значение;
эффективность обнаружения, характеризующая указанное правило, не превосходила заранее заданного порогового значения;
эффективность использования вычислительных ресурсов, характеризующее указанное правило, не превосходила заранее заданного порогового значения.
Например, после того как с помощью средства выборки модулей 120 был выбран эвристический модуль проверки файла на вредоносность, для указанного модуля с помощью средства выборки правил 130 для исполняемого файла, содержащего WinAPI функции для работы с сетью, выбирается такое правило из базы правил 131, которое предназначено (узко специализировано) для анализа сетевой активности, возникающей при исполнении анализируемого файла, тем самым повышается эффективность обнаружения вредоносного файла (т.е. снижается ошибка ложно-отрицательного результата).
Еще в одном примере выбирается такое правило, чтобы выделенной оперативной памяти и процессорного времени хватило для проверки исполняемого файла в установленных границах (к примеру, чтобы было израсходовано не более 1 МБ оперативной памяти, а непосредственно проверка выполнена быстрее 15 мсек).
Например, после анализа файла 101 может быть получена следующая совокупность правил:
в случае, если в качестве модуля проверки файла на вредоносность выступает мониторинг активности программ:
флаг: файл 101 прописал себя в автозагрузку,
флаг: файл 101 создал в системе копию с именем похожим на системный;
в случае, если в качестве модуля проверки файла на вредоносность выступает веб антивирус:
флаг: файл 101 сделал запрос на внешний URL и передал туда информацию о характеристиках системы.
Еще в одном из вариантов реализации системы выбор правила проверки файла на вредоносность осуществляется с помощью обученной модели выбора 151.
В одном из вариантов реализации системы модель выбора 151 предварительно обучается на заранее сформированных вирусных коллекциях, содержащих файлы, для которых уже известны (были заранее определены) соответствующие вердикты и степень вредоносности. При этом для каждого способа обнаружения вредоносного файла (например, сигнатурный анализ, эвристический анализ, использование черных или запрещенных (англ. blacklist, denylist) и белых или разрешенных (англ. whitelist, allowlist) списков и т.д.) может быть сформирована своя модель выбора 151.
В одном из вариантов реализации системы база правил 131 представляет собой антивирусную базу, формируемую и предоставляемую антивирусной компанией для своего антивирусного приложения.
Средство формирования правила 140 предназначено для формирования из выбранных правил нового правила проверки файла на вредоносность.
В одном из вариантов реализации системы формируют правило проверки файла на вредоносность таким образом, чтобы по меньшей мере:
степень вредоносности файла 101 была по меньшей мере:
выше заранее заданного порогового значения;
выше меры центральной тенденции степени вредоносности, определяемой правилами, используемыми при формировании указанного правила;
эффективность обнаружения, характеризующая формируемое правило, была по меньшей мере:
выше заранее заданного порогового значения;
выше меры центральной тенденции эффективности обнаружения, характеризующей правила, используемые при формировании указанного правила;
эффективность использования вычислительных ресурсов, характеризующая формируемое правило, была по меньшей мере:
выше заранее заданного порогового значения;
выше меры центральной тенденции эффективности использования вычислительных ресурсов, характеризующей правила, используемые при формировании указанного правила.
В одном из вариантов реализации системы новое правило, сформированное из выбранных эвристических правил проверки файла на вредоносность, содержит тот же функционал, что и оба указанных правила.
Например, эвристические правила могут содержать независимые инструкции (проверки данных из анализируемого файла 101), которые вносят разный вклад в окончательный результат (т.е. в определяемую степень вредоносности анализируемого файла 101), при этом для выполнения одних инструкций требуется больше вычислительных ресурсов, чем для выполнение других инструкций, хотя их вклад в окончательный результат может быть меньше, чем у менее требовательных к вычислительным ресурсам инструкций. Формирование итогового правила в одном из вариантов реализации заключается в оптимальном подборе инструкций из разных правил таким образом, чтобы эффективность обнаружения вредоносного файла была оптимальной относительно используемых вычислительных ресурсов.
В другом примере новое правило формируется из инструкций выбранного файла 101 таким образом, чтобы для проверки использовалось вычислительных ресурсов меньше заданного порогового значения.
В другом примере новое правило формируется из инструкций выбранного файла 101 таким образом, чтобы эффективность обнаружения вредоносного файла была максимальной (исключаются инструкции, которые могут негативно влиять на результат исполнения других инструкций).
Еще в одном из вариантов реализации системы новое правило, сформированное из выбранных сигнатурных правил проверки файла на вредоносность, представляет собой эвристическое правило, содержащее инструкции по анализу сигнатур, поиск которых осуществляют оба указанных правила.
Средство переобучения 150 предназначено для переобучения модели выбора 151 таким образом, чтобы для файла 101, который требуется проверить на вредоносность, правило проверки файла на вредоносность было сформировано таким образом, чтобы были выше заданного порогового значения по меньшей мере:
степень вредоносности файла 101, определенная с помощью сформированного правила,
эффективность обнаружения, характеризующая сформированное правило,
эффективность использования вычислительных ресурсов, характеризующая сформированное правило.
Средство проверки 160 предназначено для определения с помощью сформированного средством формирования правила 150 правила проверки файла на вредоносность, является ли файл 101 вредоносным, т.е. превосходит ли определенная степень вредоносности файла 101 заданное пороговое значение.
В одном из вариантов реализации указанная система может быть использована для формирования правила проверки нескольких файлов на вредоносность. Принципиального отличия между формированием правила для проверки одного или нескольких файлов на вредоносность в рамках настоящего изобретения не существует.
Во-первых, для каждого файла 101 может быть сформировано собственное правило проверки указанного файла на вредоносность, при этом для некоторых файлов 101, имеющих схожие характеристики, правила будут совпадать или быть схожими.
Во-вторых, для нескольких файлов 101 может быть сформировано общее правило проверки указанных файлов на вредоносность. С этой целью средство определения характеристик файла 110 дополнительно предназначено для определения характеристик нескольких файлов 101, которые требуется проверить на вредоносность. Определенные характеристики нескольких файлов 101 передаются средству выборки модулей 120, дополнительно предназначенному для выборки на основании определенных характеристик файлов 101 по меньшей мере двух модулей проверки файла на вредоносность из базы модулей 121.
Таким образом, изменения в работе настоящей системы при формировании правила проверки нескольких файлов на вредоносность затрагивает лишь работу средства определения характеристик файла 110 и никак не влияет на работу остальных средств описываемом системы формирования правила проверка файла на вредоносность.
Еще в одном из вариантов реализации указанная система может быть использована для формирования нескольких правил проверки файла (или нескольких файлов, как было указано выше) на вредоносность. Принципиального отличия между формированием правила или нескольких правил для проверки файла на вредоносность в рамках настоящего изобретения не существует.
Во-первых, в зависимости от собранных характеристик файла 101 может быть сформированы разные правила проверки указанного файла на вредоносность, при этом для разных характеристик файла 101 правила будет совпадать или быть схожими.
Во-вторых, могут быть сформированы несколько правил проверки файла на вредоносность. С этой целью средство выборки правил 130 дополнительно предназначено для выборки нескольких правил проверки файла на вредоносность из базы правил 131 для каждого выбранного модуля.
Таким образом, изменения в работе настоящей системы при формировании нескольких правил проверки файла на вредоносность затрагивает лишь работу средства выборки правил 130 или средства формирования правила 140 и никак не влияет на работу остальных средств описываемом системы формирования правила проверка файла на вредоносность.
Фиг. 2 представляет структурную схему способа формирования правила проверки файла на вредоносность.
Структурная схема способа формирования правила проверки файла на вредоносность содержит этап 210, на котором определяют характеристики файла 101, этап 220, на котором выбирают модули, этап 230, на котором выбирают правила, этап 240, на котором формируют правило, этап 250, на котором переобучают модель 151, этап 260, на котором проверяют файл 101 на вредоносность.
На этапе 210 с помощью средства определения характеристик файла 110 определяют характеристики файла 101, который требуется проверить на вредоносность.
На этапе 220 с помощью средства выборки модулей 120 выбирают на основании определенных характеристик по меньшей мере два модуля проверки файла на вредоносность из базы модулей 121.
На этапе 230 с помощью средства выборки правил 130 выбирают правило проверки файла на вредоносность из базы правил 131 для каждого выбранного модуля.
На этапе 240 с помощью средства формирования правила 140 формируют из выбранных правил правило проверки файла на вредоносность.
На этапе 250 с помощью средства переобучения 150 переобучают модель выбора 151 таким образом, чтобы для файла 101, который требуется проверить на вредоносность, правило проверки файла на вредоносность было сформировано таким образом, чтобы были выше заданного порогового значения по меньшей мере:
степень вредоносности файла 101, определенная с помощью сформированного правила;
эффективность обнаружения, характеризующая сформированное правило;
эффективность использования вычислительных ресурсов, характеризующая сформированное правило.
На этапе 260 с помощью средства проверки 160 определяют с помощью сформированного средством формирования правила 150 правила проверки файла на вредоносность, является ли файл 101 вредоносным, т.е. превосходит ли определенная степень вредоносности файла 101 заданное пороговое значение.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.