RU2659737C1 - Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов - Google Patents

Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов Download PDF

Info

Publication number
RU2659737C1
RU2659737C1 RU2017128537A RU2017128537A RU2659737C1 RU 2659737 C1 RU2659737 C1 RU 2659737C1 RU 2017128537 A RU2017128537 A RU 2017128537A RU 2017128537 A RU2017128537 A RU 2017128537A RU 2659737 C1 RU2659737 C1 RU 2659737C1
Authority
RU
Russia
Prior art keywords
behavior
applications
computing device
degree
resources
Prior art date
Application number
RU2017128537A
Other languages
English (en)
Inventor
Александр Сергеевич Чистяков
Екатерина Максимовна Лобачева
Алексей Михайлович Романенко
Original Assignee
Акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Акционерное общество "Лаборатория Касперского" filed Critical Акционерное общество "Лаборатория Касперского"
Priority to RU2017128537A priority Critical patent/RU2659737C1/ru
Application granted granted Critical
Publication of RU2659737C1 publication Critical patent/RU2659737C1/ru
Priority to US16/039,389 priority patent/US10831891B2/en
Priority to US17/062,798 priority patent/US11403396B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/561Virus type analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Изобретение относится к области антивирусных технологий. Техническим результатом является управление вычислительными ресурсами для обнаружения вредоносных файлов. Раскрыта система управления вычислительными ресурсами для обнаружения вредоносных файлов, которая содержит: а) средство анализа журнала поведения, предназначенное для: формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из созданного журнала поведения, исполняемых на вычислительном устройстве (далее - приложения), при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора; вычисления свертки от сформированного шаблона поведения; передачи вычисленной свертки средству вычисления степени вредоносности; б) средство вычисления степени вредоносности, предназначенное для: вычисления степени вредоносности приложений на основании анализа полученной свертки с помощью модели обнаружения вредоносных файлов, при этом степень вредоносности приложений представляет собой численное значение, характеризующее вероятность того, что ко времени вычисления упомянутой степени вредоносности приложений осуществляется вредоносная активность; передачи вычисленной степени вредоносности приложений средству управления ресурсами; в) средство управления ресурсами, предназначенное для управления вычислительными ресурсами, которые используются для обеспечения безопасности упомянутого вычислительного устройства (далее - ресурсы), в зависимости от полученной степени вредоносности приложений, таким образом, чтобы степень вредоносности приложений, вычисленная после упомянутого управления ресурсами, находилась в заранее заданном диапазоне значений, при этом в случае превышения полученной степени вредоносности приложений заранее заданного порогового значения передачи запроса на выделение дополнительных ресурсов вычислительного устройства, в случае снижения полученной степени вредоносности ниже заранее заданного порогового значения передачи запроса на освобождение выделенных ранее ресурсов вычислительного устройства. 2 н. и 22 з.п. ф-лы, 7 ил., 1 табл.

Description

Область техники
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам обнаружения вредоносных файлов.
Уровень техники
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service) или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.
Для борьбы с вредоносными программами, включающей в себя обнаружение вредоносных программ, предотвращение заражения и восстановление работоспособности вычислительных устройств, зараженных вредоносными программами, применяются специализированные программы -антивирусы. Для обнаружения всего многообразия вредоносных программ антивирусные программы используют разнообразные технологии, такие как:
Figure 00000001
статический анализ - анализ программ на вредоносность, исключающий запуск или эмуляцию работы анализируемых программ, на основании данных содержащихся в файлах, составляющих анализируемые программы, при этом при статистическом анализе могут использоваться:
Figure 00000002
сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемых программ известному коду (сигнатуре) из базы данных сигнатур вредоносных программ;
Figure 00000003
белые и черные списки - поиск вычисленных контрольных сумм от анализируемых программ (или их частей) в базе данных контрольных сумм вредоносных программ (черные списки) или базе данных контрольных сумм безопасных программ (белые списки);
Figure 00000004
динамический анализ - анализ программ на вредоносность на основании данных, полученных в ходе исполнения или эмуляции работы анализируемых программ, при этом при динамическом анализе могут использоваться:
Figure 00000005
эвристический анализ - эмуляция работы анализируемых программ, создание журналов эмуляции (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных поведенческих сигнатур вредоносных программ;
Figure 00000006
проактивная защита - перехват вызовов API-функций запущенных анализируемых программ, создания журналов поведения анализируемых программ (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных вызовов вредоносных программ.
И статический, и динамический анализ обладают своими плюсами и минусами. Статический анализ менее требователен к ресурсам вычислительного устройства, на котором выполняется анализ, а поскольку он не требует исполнения или эмуляции анализируемой программы, статистический анализ более быстрый, но при этом менее эффективен, т.е. имеет более низкий процент обнаружения вредоносных программ и более высокий процент ложных срабатываний (т.е. вынесения решения о вредоносности файла, анализируемого средствами программы-антивируса, при том, что анализируемый файл является безопасным). Динамический анализ из-за того, что использует данные, получаемые при исполнении или эмуляции работы анализируемой программы, более медленный и предъявляет более высокие требования к ресурсам вычислительного устройства на котором выполняется анализ, но при этом и более эффективен. Современные антивирусные программы используют комплексный анализ, включающий в себя как элементы статического, так и динамического анализа.
Поскольку современные стандарты информационной безопасности требуют оперативного реагирования на вредоносные программы (в особенности на новые), на первый план выходят автоматические средства обнаружения вредоносных программ. Для эффективной работы упомянутых средств зачастую применяются элементы искусственного интеллекта и разнообразные методы машинного обучения моделей обнаружения вредоносных программ (т.е. совокупности правил принятия решения о вредоносности файла на основании некоторого набора входных данных, описывающих вредоносный файл), позволяющие эффективно обнаруживать не только хорошо известные вредоносные программы или вредоносные программы с хорошо известным вредоносным поведением, но и новые вредоносные программы, обладающие неизвестным или слабо исследованным вредоносным поведением, а также оперативно адоптироваться (обучаться) к обнаружению новых вредоносных программ.
В патентной публикации US 9288220 B2 описана технология обнаружения вредоносного ПО в сетевом трафике. С этой целью из данных, выбранных из сетевого трафика, выделяют характерные признаки (признаки, характеризующие тип исполняемого файла, поведение исполняемого файла, тип передаваемых по компьютерной сети данных, например тип и размер передаваемых по компьютерной сети данных, команды, выполняемые при исполнении файла, наличие заранее заданных сигнатур в файле и т.д.), в качестве которых может выступать признаковое описание выбранных данных, т.е. вектор (англ. feature vector), составленный из значений, соответствующих некоторому набору признаков для объекта, содержащего выбранные данные. Применяя модели обнаружения безопасных файлов, обнаружения вредоносных файлов и определения типов вредоносных файлов, предварительно обученные с использованием методов машинного обучения на основании шаблонов, составленных из схожих с упомянутыми характерных признаков, определяют, с каким весом и к какому типу вредоносного ПО относятся выбранные данные, и выносят решение об обнаружении вредоносного ПО в сетевом трафике.
Хотя описанная выше технология хорошо справляется с обнаружением вредоносных файлов, обладающих некоторыми характерными признаками (т.е. данными, описывающими некоторые особенности файлов из некоторой совокупности файлов, например, наличие графического интерфейса, шифрования данных, передачи данных по компьютерной сети и т.д.), сам используемый способ обнаружения может неэффективно использовать доступные вычислительные ресурсу вычислительного устройства, на котором выполняется упомянутое обнаружение вредоносных файлов (например, может быть чрезмерное использование оперативной памяти или резервирование времени центрального процессора). Таким образом, в случае, когда вычислительные ресурсы интенсивно используют другими приложения, обнаружение вредоносных файлов может стать неэффективным, в том числе возможны появления ошибок первого и второго роде (ложные срабатывания на безопасных файлах и пропуски вредоносных файлов). Это связано с тем, что для одной задачи обнаружения вредоносных файлов может быть недостаточно доступных вычислительных ресурсов, поскольку ранее часть из них была выделена для другой задачи обнаружения вредоносных файлов (например, больше вычислительных ресурсов было выделено для сигнатурного анализа и меньше для эвристического анализа), в связи с чем эффективность поиска и обнаружения вредоносных файлов значительно снижается.
Настоящее изобретение позволяет решать задачу обнаружения вредоносных файлов.
Раскрытие изобретения
Изобретение предназначено для антивирусной проверки файлов.
Технический результат настоящего изобретения заключается в реализации заявленного назначения.
Еще один технический результат настоящего изобретения заключается в обнаружении вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.
Еще один технический результат настоящего изобретения заключается в управлении вычислительными ресурсами вычислительного устройства в зависимости от вычисленной степени вредоносности приложения.
Данные результаты достигаются с помощью использования системы управления вычислительными ресурсами для обнаружения вредоносных файлов, которая содержит средство анализа журнала поведения, предназначенное для формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из созданного журнала поведения, исполняемых на вычислительном устройстве (далее -приложения), при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора; вычисления свертки от сформированного шаблона поведения; передачи вычисленной свертки средству вычисления степени вредоносности; средство вычисления степени вредоносности, предназначенное для вычисления степени вредоносности приложений на основании анализа полученной свертки с помощью модели обнаружения вредоносных файлов, при этом степень вредоносности приложений представляет собой численное значение, характеризующее вероятность того, что ко времени вычисления упомянутой степени вредоносности приложений осуществляется вредоносная активность; передачи вычисленной степени вредоносности приложений средству управления ресурсами; средство управления ресурсами, предназначенное для управления вычислительными ресурсами, которые используются для обеспечения безопасности упомянутого вычислительно устройства (далее - ресурсы), в зависимости от полученной степени вредоносности приложений, таким образом, чтобы степень вредоносности приложений, вычисленная после упомянутого управления ресурсами, находилась в заранее заданном диапазоне значений, при этом в случае превышения полученной степени вредоносности приложений заранее заданного порогового значения передачи запроса на выделение дополнительных ресурсов вычислительного устройства, в случае снижения полученной степени вредоносности ниже заранее заданного порогового значения передачи запроса на освобождение выделенных ранее ресурсов вычислительного устройства.
В другом частном случае реализации системы система дополнительно содержит средство формирования журналов поведения, предназначенное для перехвата по меньшей мере одной команды по меньшей мере во время исполнения приложения на вычислительном устройстве, эмуляции на вычислительном устройстве исполнения приложения; определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду; формирования на основании перехваченных команд и определенных параметров журнала поведения упомянутого приложения; передачи сформированного журнала поведения средству анализа журнала поведения.
Еще в одном частном случае реализации системы журнал поведения представляет собой совокупность исполняемых команд (далее - команда) приложения, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).
В другом частном случае реализации системы вычисление свертки от сформированных шаблонов поведения выполняется на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного значения.
Еще в одном частном случае реализации системы модель обнаружения вредоносных файлов была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.
В другом частном случае реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод градиентный бустинг на деревьях принятия решений; деревья принятия решений; ближайших соседей kNN; опорных векторов.
Еще в одном частном случае реализации системы метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности приложений в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
В другом частном случае реализации системы управление вычислительными ресурсами включает по меньшей мере выделение дополнительных вычислительных ресурсов для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве; освобождение вычислительных ресурсов, ранее выделенных для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве; управление политиками безопасности работы с вычислительными ресурсами приложениями, исполняемыми на упомянутом вычислительном устройстве.
Еще в одном частном случае реализации системы управление вычислительными ресурсами осуществляется по запросу от средства управления ресурсами по меньшей мере с помощью средств операционной системы, под управлением которой работает упомянутое вычислительное устройство; средств, предоставляемых исполняемым на упомянутом вычислительном устройстве приложением, использующим упомянутые вычислительные ресурсы.
В другом частном случае реализации системы дополнительно средство управления ресурсами управляет вычислительными ресурсами с помощью модели управления вычислительными ресурсами.
Еще в одном частном случае реализации системы в системе дополнительно содержится средство обучения модели управления, предназначенное для машинного обучения модели управления вычислительными ресурсами, таким образом, чтобы при управлении вычислительными ресурсами с помощью упомянутой обученной модели, использование упомянутых вычислительных ресурсов было минимальным.
В другом частном случае реализации системы в системе дополнительно содержится средство обучения модели обнаружения, предназначенное для машинного обучения модели обнаружения вредоносных файлов на основании анализа по меньшей мере одного созданного журнала поведения, при этом упомянутое машинное обучение выполняется в случае, когда после завершения последнего управления ресурсами вычисленная степень вредоносности приложений оказывается выше заранее заданного порогового значения.
Данные результаты достигаются с помощью использования способа управления вычислительными ресурсами для обнаружения вредоносных файлов, при этом способ содержит этапы, которые реализуются с помощью средств из системы управления вычислительными ресурсами для обнаружения вредоносных файлов и на которых формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из созданного журнала поведения, исполняемых на вычислительном устройстве (далее - приложения), при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора; вычисляют свертку от сформированного шаблона поведения; вычисляют степень вредоносности приложений на основании анализа вычисленной свертки с помощью модели обнаружения вредоносных файлов, при этом степень вредоносности приложений представляет собой численное значение, характеризующее вероятность того, что ко времени вычисления упомянутой степени вредоносности приложений осуществляется вредоносная активность; управляют вычислительными ресурсами, которые используются для обеспечения безопасности упомянутого вычислительно устройства (далее - ресурсы), в зависимости от вычисленной степени вредоносности приложений, таким образом, чтобы степень вредоносности приложений, вычисленная после упомянутого управления ресурсами, находилась в заранее заданном диапазоне значений, при этом в случае превышения полученной степени вредоносности приложений заранее заданного порогового значения передачи запроса на выделение дополнительных ресурсов вычислительного устройства, в случае снижения полученной степени вредоносности ниже заранее заданного порогового значения передачи запроса на освобождение выделенных ранее ресурсов вычислительного устройства.
В другом частном случае реализации способа дополнительно перехватывают по меньшей мере одну команду по меньшей мере во время исполнения приложения на вычислительном устройстве, эмуляции на вычислительном устройстве исполнения приложения; определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду; формируют на основании перехваченных команд и определенных параметров журнала поведения.
Еще в одном частном случае реализации способа журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).
В другом частном случае реализации способа вычисляют свертку от сформированных шаблонов поведения на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного значения
Еще в одном частном случае реализации способа модель обнаружения вредоносных файлов была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.
В другом частном случае реализации способа в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод градиентный бустинг на деревьях принятия решений; деревья принятия решений; ближайших соседей kNN; опорных векторов.
Еще в одном частном случае реализации способа метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности приложений в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
В другом частном случае реализации способа управление вычислительными ресурсами включает по меньшей мере выделение дополнительных вычислительных ресурсов для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве освобождение вычислительных ресурсов, ранее выделенных для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве управление политиками безопасности работы с вычислительными ресурсами приложениями, исполняемыми на упомянутом вычислительном устройстве.
Еще в одном частном случае реализации способа управление вычислительными ресурсами осуществляется по запросу от средства управления ресурсами по меньшей мере с помощью средств операционной системы, под управлением которой работает упомянутое вычислительное устройство; средств, предоставляемых исполняемым на упомянутом вычислительном устройстве приложением, использующим упомянутые вычислительные ресурсы.
В другом частном случае реализации способа дополнительно управляют вычислительными ресурсами с помощью модели управления вычислительными ресурсами.
Еще в одном частном случае реализации способа дополнительно обучают с помощью методов машинного обучения модель управления вычислительными ресурсами, таким образом, чтобы при управлении вычислительными ресурсами с помощью упомянутой обученной модели, использование упомянутых вычислительных ресурсов было минимальным.
В другом частном случае реализации способа дополнительно обучают с помощью методов машинного обучения модель обнаружения вредоносных файлов на основании анализа по меньшей мере одного созданного журнала поведения, при этом упомянутое машинное обучение выполняется в случае, когда после завершения последнего управления ресурсами вычисленная степень вредоносности приложений оказывается выше заранее заданного порогового значения.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы машинного обучения модели обнаружения вредоносных файлов.
Фиг. 2 представляет структурную схему способа машинного обучения модели обнаружения вредоносных файлов.
Фиг. 3 представляет примеры динамики изменения степени вредоносности от количества шаблонов поведения.
Фиг. 4 представляет пример схемы связей между элементами шаблонов поведения.
Фиг. 5 представляет структурную схему системы управления вычислительными ресурсами для обнаружения вредоносных файлов.
Фиг. 6 представляет структурную схему способа управления вычислительными ресурсами для обнаружения вредоносных файлов.
Фиг. 7 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.
Вредоносный файл - файл, исполнение которого заведомо способно привести к несанкционированному уничтожению, блокированию, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации.
Вредоносное поведение исполняемого файла - совокупность действий, которые могут быть выполнены при исполнении упомянутого файла и которые заведомо способны привести к несанкционированному уничтожению, блокированию, модификации, копированию информации или нейтрализации средств защиты компьютерной информации.
Вредоносная активность исполняемого файла - совокупность действий, выполненных упомянутым файлом в соответствии с его вредоносным поведением.
Вычислительное устройство среднестатистического пользователя -гипотетическое (теоретическое) вычислительное устройство, обладающее усредненными характеристиками вычислительных устройств заранее выбранной группы пользователей, на котором исполняются те же приложения, что и на вычислительных устройствах упомянутых пользователей.
Команда, исполняемая вычислительным устройством - совокупность машинных инструкций или инструкций сценариев, исполняемых вычислительным устройством на основании параметров упомянутых инструкций, называемых параметрами команды или параметрами, описывающими упомянутую команду.
Лексический анализ («токенизация», от англ. tokenizing) - процесс аналитического разбора входной последовательности символов на распознанные группы (далее - лексемы), с целью формирования на выходе идентификационных последовательностей (далее - токены).
Токен - идентификационная последовательность, формируемая из лексемы в процессе лексического анализа.
Фиг. 1 представляет структурную схему системы машинного обучения модели обнаружения вредоносных файлов.
Структурная схема системы машинного обучения состоит из средства подготовки обучающих выборок 111, средства формирования журналов поведения 112, средства формирования шаблонов поведения 121, средства формирования функций свертки 122, средства создания модели обнаружения 131, средства машинного обучения модели обнаружения 132, средства вычисления степени вредоносности 142, средства управления ресурсами 143.
В одном из вариантов реализации системы упомянутая система машинного обучения модели обнаружения представляет собой клиент-серверную архитектуру, в которой средство подготовки обучающих выборок 111, средство формирования журналов поведения 112, средство формирования шаблонов поведения 121, средство формирования функций свертки 122, средство создания модели обнаружения 131 и средство машинного обучения модели обнаружения 132 работают на стороне сервера, а средство формирования шаблонов поведения 121, средство вычисления степени вредоносности 142 и средство управления ресурсами 143 работают на стороне клиента.
Например, в качестве клиента могут выступать вычислительные устройства пользователя такие, как персональный компьютер, ноутбук, смартфон и т.д., а в качестве сервера могут выступать вычислительные устройства антивирусной компании такие, как распределенные системы серверов, с помощью которых кроме всего прочего предварительно осуществляют сбор и антивирусный анализ файлов, создание антивирусных записей и т.д., при этом система машинного обучения модели обнаружения вредоносных файлов будет использована для обнаружения вредоносных файлов на клиенте, тем самым повышая эффективность антивирусной защиты упомянутого клиента.
Еще в одном примере в качестве как клиента, так и сервера могут выступать вычислительные устройства только антивирусной компании, при этом система машинного обучения модели обнаружения вредоносных файлов будет использована для автоматизированного антивирусного анализа файлов и создания антивирусных записей, тем самым повышая эффективность работы антивирусной компании.
Средство подготовки обучающих выборок 111 предназначено для:
Figure 00000007
выборки по меньшей мере одного файла из базы файлов согласно заранее заданным правилам формирования обучающей выборки файлов, впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять обучение модели обнаружения;
Figure 00000008
передачи выбранных файлов средству формирования журналов поведения 112.
В одном из вариантов реализации системы в базе файлов хранится по меньшей мере один безопасный файл и один вредоносный файл.
Например, в базе файлов в качестве безопасных файлов могут храниться файлы операционной системы «Windows», а в качестве вредоносных - файлы бэкдоров (англ. backdoor), приложений, осуществляющих несанкционированный доступ к данным и удаленному управлению операционной системой и компьютером в целом. При этом обученная на упомянутых файлах с помощью методов машинного обучения модель обнаружения вредоносных файлов будет способна с высокой точностью (точность тем выше, чем больше файлов было использовано для обучения упомянутой модели обнаружения) обнаруживать вредоносные файлы, обладающие функционалом, схожим с функционалом упомянутых выше бэкдоров.
Еще в одном из вариантов реализации системы дополнительно в базе файлов хранятся по меньшей мере:
Figure 00000009
подозрительные файлы (англ. riskware) - файлы, не являющиеся вредоносными, но способные выполнять вредоносные действия;
Figure 00000010
неизвестные файлы - файлы, вредоносность которых не была определена и остается неизвестной (т.е. файлы, не являющиеся безопасными, вредоносными, подозрительными и т.д.). Например, в базе файлов в качестве подозрительных файлов могут выступать файлы приложений удаленного администрирования (к примеру, RAdmin), архивации или шифрования данных (к примеру, WinZip) и т.д.
Еще в одном из вариантов реализации системы в базе файлов хранятся файлы по меньшей мере:
Figure 00000011
собранные антивирусными поисковыми роботами (англ. web crawler);
Figure 00000012
переданные пользователями.
При этом упомянутые файлы анализируются антивирусными экспертами, в том числе с помощью автоматических средств анализа файлов, для последующего вынесения решение о вредоносности упомянутых файлов.
Например, в базе файлов могут храниться файлы, переданные пользователями со своих вычислительных устройств антивирусным компаниям для проверки на вредоносность, при этом переданные файлы могут быть как безопасными, так и вредоносными, при этом распределение между количеством упомянутых безопасных и вредоносных файлов близко к распределению между количеством всех безопасных и вредоносных файлов, расположенных на вычислительных устройствах упомянутых пользователей (т.е. отношение количества упомянутых безопасных к количеству упомянутых вредоносных файлов отличается от отношения количества всех безопасных к количеству всех вредоносных файлов, расположенных на вычислительных устройствах упомянутых пользователей на величину меньше заданного порогового значения
Figure 00000013
). В отличии от файлов, переданных пользователями (т.е. файлов, субъективно подозрительных), файлы, собранные антивирусными поисковыми роботами, созданными для поиска подозрительных и вредоносных файлов, чаще оказываются вредоносными.
Еще в одном из вариантов реализации системы в качестве критериев, согласно которым выбираются файлы из базы файлов, выступает по меньшей мере одно из условий:
Figure 00000014
распределение между безопасными и вредоносными файлами, выбранными из базы файлов, соответствует распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя;
Figure 00000015
распределение между безопасными и вредоносными файлами, выбранными из базы файлов, соответствует распределению между безопасными и вредоносными файлами, собранными с помощью антивирусных поисковых роботов;
Figure 00000016
параметры файлов, выбранных из базы файлов, соответствуют параметрам файлов, расположенных на вычислительном устройстве среднестатистического пользователя;
Figure 00000017
количество выбранных файлов соответствует заранее заданному значению, а сами файлы выбраны случайным образом.
Например, база файлов содержит 100000 файлов, среди которых 40% безопасных файлов и 60% вредоносных файлов. Из базы файлов выбирают 15000 файлов (15% от общего количества файлов, хранящихся в базе файлов) таким образом, чтобы распределение между выбранными безопасными и вредоносными файлами соответствовало распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя и составляло 95 к 5. С этой целью из базы файлов случайным образом выбирают 14250 безопасных файлов (35,63% от общего числа безопасных файлов) и 750 вредоносных файлов (1,25% от общего числа вредоносных файлов).
Еще в одном примере база файлов содержит 1250000 файлов, среди которых 95% безопасных файлов и 5% вредоносных файлов, т.е. распределение между безопасными и вредоносными файлами, хранящимися в базе файлов, соответствует распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя. Среди упомянутых файлов случайным образом выбирают 5000 файлов, среди которых с большой вероятностью окажется ~4750 безопасных файлов и ~250 вредоносных файлов.
Еще в одном из вариантов реализации системы в качестве параметров файла выступает по меньшей мере:
Figure 00000018
вредоносность файла, характеризующая, является ли файл безопасным, вредоносным, потенциально опасным или поведение вычислительной системы при исполнении файла не определено и т.д.;
Figure 00000019
количество команд, выполненных вычислительным устройством во время исполнения файла;
Figure 00000020
размер файла;
Figure 00000021
приложения, использующие файл.
Например, из базы файлов выбирают вредоносные файлы, представляющие собой сценарии на языке «ActionScript», выполняемые приложением «Adobe Flash», и не превышающие размер в 5 КБ.
Еще в одном из вариантов реализации системы дополнительно средство подготовки обучающих выборок 111 предназначено для:
Figure 00000022
выборки по меньшей мере еще одного файла из базы файлов согласно заранее заданным правилам формирования тестовой выборки файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять проверку обученной модели обнаружения;
Figure 00000023
передачи выбранных файлов средству формирования журналов поведения 112.
Например, база файлов содержит 75000 файлов, среди которых 20% безопасных файлов и 80% вредоносных файлов. Изначально из базы файлов выбирают 12500 файлов, среди которых 30% безопасных файлов и 70% вредоносных файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять обучение модели обнаружения, затем из оставшихся 62500 файлов выбирают 2500 файлов, среди которых 60% безопасных файлов и 40%>вредоносных файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять проверку обученной модели обнаружения. Данные, сформированные описанным выше образом, называется набором данных для перекрестной проверки (англ. cross-validation set of data).
Средство формирования журналов поведения 112 предназначено для:
Figure 00000024
перехвата по меньшей мере одной исполняемой команды по меньшей мере во время:
Figure 00000025
исполнения полученного файла,
Figure 00000026
эмуляции исполнения полученного файла, при этом эмуляция исполнения файла включает в том числе открытие упомянутого файла (например, открытие сценария интерпретатором);
Figure 00000027
определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду;
Figure 00000028
формирования на основании перехваченных команд и определенных параметров журнала поведения полученного файла, при этом журнал поведения представляет собой совокупность перехваченных команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один определенный параметр, описывающий упомянутую команду (далее - параметр). Например, перехваченные во время исполнения вредоносного файла, собирающего пароли и передающего их по компьютерной сети, команды и вычисленные параметры упомянутых команд могут иметь вид:
Figure 00000029
В одном из вариантов реализации системы перехват команд из файла осуществляется с помощью по меньшей мере:
Figure 00000030
специализированного драйвера;
Figure 00000031
средства отладки (англ. debugger);
Figure 00000032
гипервизора (англ. hypervisor).
Например, перехват команд при исполнении файла и определение их параметров осуществляется с помощью драйвера, использующего перехват сплайсингом (англ. splicing) точки входа (англ. entry point) WinAPI-функции.
Еще в одном примере перехват команд при эмуляции работы файла осуществляется непосредственно средствами эмулятора, выполняющего упомянутую эмуляцию, который определяет параметры команды, которую требуется эмулировать.
Еще в одном примере перехват команд при исполнении файла на виртуальной машине осуществляется средствами гипервизора, который определяет параметры команды, которую требуется эмулировать.
Еще в одном из вариантов реализации системы в качестве перехваченных команд из файла выступают по меньшей мере:
Figure 00000033
API-функции;
Figure 00000034
совокупности машинных инструкций, описывающих заранее заданный набор действий (макрокоманд). Например, очень часто вредоносные программы осуществляют поиск некоторых файлов и модификацию их атрибутов, для чего выполняется последовательность команд, таких как:
Figure 00000035
, что может быть в свою очередь описано лишь одной командой
Figure 00000036
Еще в одном из вариантов реализации системы каждой команде ставится в соответствие свой уникальный идентификатор.
Например, всем WinAPI функциям могут быть поставлены в соответствие числа в диапазоне от 0×0000 до 0×8000, при этом каждой WinAPI-функции соответствует свое уникальное число (к примеру,
Figure 00000037
.
Еще в одном из вариантов реализации системы нескольким командам, описывающим схожие действия, ставится в соответствие единый идентификатор.
Например, всем командам, таким как ReadFile, ReadFileEx, ifstream, getline, getchar и т.д., описывающим чтение данных из файла, ставится в соответствие идентификатор _read_data_file (0×70F0).
Средство формирования шаблонов поведения 121 предназначено для:
Figure 00000038
формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из журнала поведения, при этом журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр), шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора (далее - элементы шаблона поведения);
Figure 00000039
передачи сформированных шаблонов поведения средству формирования функций свертки 122;
Например, из журнала поведения выбирают следующие команды ci (от англ. command) и параметры pi (от англ. parameter):
Figure 00000040
На основании выбранных команд и параметров формируют шаблоны поведения, содержащие по одной команде и одному параметру, описывающему упомянутую команду:
Figure 00000041
Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по одному параметру и все команды, описываемые упомянутым параметром:
Figure 00000042
Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по несколько параметров и все команды, одновременно описываемые упомянутыми параметрами:
Figure 00000043
В одном из вариантов реализации системы команды и параметры из журнала поведения выбирают на основании правил, по которым по меньшей мере выбирают:
Figure 00000044
последовательно каждую i-ую команду и описывающие ее параметры, при этом шаг i является заранее заданным;
Figure 00000045
команды, выполненные через заранее заданный промежуток времени (например, каждую десятую секунду) после предыдущей выбранной команды, и описывающие их параметры;
Figure 00000046
команды и описывающие их параметры, выполненные в заранее заданном временном диапазоне с начала исполнения файла;
Figure 00000047
команды из заранее заданного списка и описывающие их параметры;
Figure 00000048
параметры из заранее заданного списка и описываемые упомянутыми параметрами команды;
Figure 00000049
первые или случайные к параметров команд, в случае, когда количество параметров команд больше заранее заданного порогового значения. Например, из журнала поведения выбирают все команды для работы с жестким диском (такие как, CreateFile, ReadFile, WriteFile, DeleteFile, GetFileAttribute и т.д.) и все параметры, описывающие выбираемые команды.
Еще в одном примере из журнала поведения выбирают каждую тысячную команду и все параметры, описывающие выбираемые команды.
В одном из вариантов реализации системы журналы поведения заранее сформированы из по меньшей мере двух файлов, один из которых -безопасный файл, а другой - вредоносный файл.
Еще в одном из вариантов реализации системы каждому элементу шаблона поведения ставится в соответствие такая характеристика, как тип элемента шаблона поведения. В качестве типа элемента шаблона поведения (команды или параметра) выступает по меньшей мере:
Figure 00000050
в случае, если элемент шаблона поведения может быть выражен в виде числа - «численный диапазон» например, для элемента шаблона поведения, представляющего собой параметр porthtml = 80 команды connect, тип упомянутого элемента шаблона поведения может быть «численное значение от 0×0000 до 0×FFFF»,
Figure 00000051
в случае, если элемент шаблона поведения может быть выражен в виде строки - «строка» например, для элемента шаблона поведения, представляющего собой команду connect, тип упомянутого элемента шаблона поведения может быть «строка размером менее 32 символов»,
Figure 00000052
в случае, если элемент шаблона поведения может быть выражен в виде данных, описываемых заранее заданной структурой данных, тип упомянутого элемента шаблона поведения может быть «структура данных» например, для элемента шаблона поведения, представляющего собой параметр src=0x336b9a480d490982cdd93e2e49fdeca7 команды find_record, тип упомянутого элемента шаблона поведения может быть «структура данных MD5».
Еще в одном из вариантов реализации системы дополнительно в шаблон поведения в качестве элементов шаблона поведения включаются токены, сформированные на основании лексического анализа упомянутых элементов шаблона поведения с использованием по меньшей мере:
Figure 00000053
заранее заданных правил формирования лексем,
Figure 00000054
заранее обученной рекурсивной нейронной сети (англ. recurrent neural network).
Например, с помощью лексического анализа параметра
Figure 00000055
на основании правил формирования лексем:
Figure 00000056
если строка содержит путь к файлу, определить диск, на котором расположен файл;
Figure 00000057
если строка содержит путь к файлу, определить папки, в которых расположен файл;
Figure 00000058
если строка содержит путь к файлу, определить расширение файла;
где в качестве лексем выступают:
Figure 00000059
пути к файлу;
Figure 00000060
папки, в которых расположены файлы;
Figure 00000061
имена файлов;
Figure 00000062
расширения файлов;
могут быть сформированы токены:
«пути к файлу» →
Figure 00000063
«папки, в которых расположены файлы» →
Figure 00000064
,
«расширения файлов» →
Figure 00000065
Еще в одном примере с помощью лексического анализа параметров
Figure 00000066
на основании правила формирования лексемы:
Figure 00000062
если параметры представляют собой IP-адреса, определить битовую маску (или ее аналог, выраженный через метасимволы), описывающую упомянутые IP-адреса (т.е. такую битовую маску М, для которой верно равенство
Figure 00000067
для всех упомянутых IP);
может быть сформирован токен:
Figure 00000068
Еще в одном примере из всех доступных параметров, в качестве которых выступают числа, формируют токены чисел в заранее заданных диапазонах:
23, 16, 7224, 6125152186, 512, 2662162, 363627632, 737382, 52,
2625, 3732, 812, 3671, 80, 3200
сортируют по диапазонам чисел:
от 0 до 999
→ {16, 23,52, 80, 512,812},
от 1000 до 9999
→ {2625, 3200, 3671,7224}, от 10000
→ {737382, 2662162, 363627632, 6125152186}
Еще в одном из вариантов реализации системы токены формируются из элементов шаблона поведения, в качестве которых выступают строки.
Например, шаблон поведения представляет собой путь к файлу, содержащему названия диска, директории, файла, расширения файла и т.д. В этом случае токен может представлять собой название диска и расширение файла.
Figure 00000069
Средство формирования функций свертки 122 предназначено для:
Figure 00000070
формирования такой функции свертки от шаблона поведения, что обратная функция свертки от результата такой функции свертки над полученным шаблоном поведения будет иметь степень схожести с полученным шаблоном поведения больше заданного значения, т.е.
r~g-1(g(r))
где:
ri - шаблон поведения,
g - функция свертки,
g-1 - обратная функция свертки,
Figure 00000071
передачи сформированной функции свертки средству машинного обучения модели обнаружения 132.
В одном из вариантов реализации системы средство формирования функций свертки дополнительно предназначено для:
Figure 00000072
вычисления признакового описания (англ. feature vector) шаблона поведения на основании полученного шаблона поведения, при этом признаковое описание шаблона поведения может быть выражено как сумма хэш-сумм от элементов шаблона поведения;
Figure 00000073
формирования функции свертки от признакового описания шаблона поведения, при этом функция свертки представляет собой хэш-функцию, такую, что степень схожести вычисленного признакового описания и результата обратной хэш-функции от результата упомянутой хэш-функции от вычисленного признакового описания больше заранее заданного значения. Еще в одном из вариантов реализации системы функция свертки формируется методом метрического обучения (англ. metric learning), т.е. таким образом, что расстояние между свертками, полученными с помощью упомянутой функции свертки для шаблонов поведения имеющих степень схожести больше заранее заданного порогового значения было меньше заранее заданного порогового значения, а для шаблонов поведения имеющих степень схожести менее заранее заданного порогового значения - больше заранее заданного порогового значения.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:
Figure 00000074
предварительно создают пустой битовый вектор, состоящий из 100000 элементов (где для каждого элемента вектора зарезервирован один бит информации);
Figure 00000075
для хранения данных о командах ci из шаблона поведения r отводят 1000 элементов, оставшиеся 99000 элементов отводят для параметров ci из шаблона поведения r, при этом для строковых параметров отводят 50000 элементов (с 1001 элемента по 51000 элемент), для численных - 25000 элементов (с 51001 элемента по 76000 элемент);
Figure 00000076
каждой команде ci из шаблона поведения r ставят в соответствие некоторое число хi от 0 до 999, и устанавливают соответствующий бит в созданном векторе
Figure 00000077
;
Figure 00000078
для каждого параметра pi из шаблона поведения r вычисляют хэш-сумму по формуле:
Figure 00000079
для строк:
Figure 00000080
Figure 00000081
для чисел:
Figure 00000082
Figure 00000083
для остального:
Figure 00000084
, и в зависимости от вычисленной хэш-суммы устанавливают соответствующий бит в созданном векторе
Figure 00000085
;
Описанный битовый вектор с установленными элементами представляет собой признаковое описание шаблона поведения r.
Еще в одном из вариантов реализации системы признаковое описание шаблона поведения вычисляется согласно формуле:
Figure 00000086
где:
b - основание позиционной системы счисления (например, для бинарного вектора b=2, для вектора, представляющего собой строку, т.е. совокупность символов, b=8),
ri - i-ый элемент шаблона поведения,
h - хэш-функция, при этом 0≤h(ri)<b.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:
Figure 00000087
предварительно создают еще один (отличный от предыдущего примера) пустой битовый вектор, состоящий из 1000 элементов (где для каждого элемента вектора зарезервирован один бит информации);
Figure 00000088
для каждого элемента шаблона ri из шаблона поведения r вычисляют хэш-сумма по формуле:
Figure 00000089
, и в зависимости от вычисленной хэш-суммы устанавливают соответствующий бит в созданном векторе
Figure 00000090
;
Еще в одном из вариантов реализации системы признаковое описание шаблона поведения представляет собой фильтр Блума.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:
Figure 00000091
предварительно создают еще один (отличный от предыдущих примеров) пустой вектор, состоящий из 100000 элементов;
Figure 00000092
для каждого элемента шаблона ri из шаблона поведения r вычисляют по меньшей мере две хэш-суммы с помощью набора хэш-функций {hj} по формуле:
xij=hj(ri)
где:
hj(ri)=crc32(ri),
hj(0)=constj
, и в зависимости от вычисленных хэш-сумм устанавливают соответствующие элементы в созданном векторе
Figure 00000093
.
Еще в одном из вариантов реализации системы размер результата сформированной функции свертки от признакового описания шаблона поведения меньше размера упомянутого признакового описания шаблона поведения.
Например, признаковое описание представляет собой битовый вектор, содержащий 100000 элементов, и тем самым имеет размер 12500 байт, а результат функции свертки от упомянутого признакового описания представляет собой набор из 8 MD5 хэш-сумм и тем самым имеет размер 256 байт, т.е. ~2% от размера признакового описания.
Еще в одном из вариантов реализации системы степень схожести признакового описания и результата обратной хэш-функции от результата упомянутой хэш-функции от вычисленного признакового описания представляет собой численное значение в диапазоне от 0 до 1 и вычисляется согласно формуле:
Figure 00000094
Figure 00000095
где:
Figure 00000096
обозначает совпадение h(ri) с gi
и
{h(ri)} _ совокупность результатов хэш-функций от элементов шаблона поведения,
{gi} - совокупность результатов обратной хэш-функции от результата хэш-функции от элементов шаблона поведения,
ri - i-ый элемент шаблона поведения,
h - хэш-функция,
w - степень схожести.
Например, вычисленное признаковое описание представляет собой битовый вектор
Figure 00000097
, результат функции свертки от упомянутого признакового описания
Figure 00000098
, а результат обратной функции свертки от полученного выше результата
Figure 00000099
(где жирным шрифтом отмечены элементы, отличные от признакового описания). Таким образом, схожесть признакового описания и результата обратной функции свертки составляет 0,92.
Еще в одном из вариантов реализации системы упомянутая хэш-функция, принимающая в качестве параметра элемент шаблона поведения, зависит от типа элемента шаблона поведения:
Figure 00000100
.
Например, для вычисления хэш-суммы от параметра из шаблона поведения, представляющего собой строку, содержащую путь к файлу, используется хэш-функция CRC32, любую другую строку - алгоритм Хаффмана, набор данных - хэш-функция MD5.
Еще в одном из вариантов реализации системы формирование функции свертки от признакового описания шаблона поведения выполняется через автокодировщик (англ. autoencoder), при этом в качестве входных данных выступают элементы упомянутого признакового описания шаблона поведения, а в качестве выходных данных - данных, имеющие коэффициент схожести с входными данными выше заранее заданного порогового значения.
Средство создания модели обнаружения 131 предназначено для:
Figure 00000101
создания модели обнаружения вредоносных файлов, которое включает в себя по меньшей мере:
Figure 00000102
выбор метода машинного обучения модели обнаружения;
Figure 00000103
инициализации параметров модели обучения, при этом параметры модели обучения, проинициализированные до начала машинного обучения модели обнаружения, называются гиперпарамерами (англ. hyperparameter);
в зависимости от параметров файлов, выбранных средством подготовки обучающих выборок 111;
Figure 00000104
передачи созданной модели обучения средству машинного обучения модели обнаружения 132.
Например, при выборе метода машинного обучения модели обнаружения вначале выносится решение следует ли использовать в качестве модели обнаружения искусственную нейронную сеть или случайные леса (англ. random forest), затем, в случае выбора случайного леса, выбирается разделяющий критерий для узлов случайного леса; или в случае выбора искусственной нейронной сети, выбирается метод численной оптимизации параметров искусственной нейронной сети. При этом решение о выборе того или иного метода машинного обучения принимается на основании эффективности упомянутого метода при обнаружении вредоносных файлов (т.е. количества ошибок первого и второго рода, возникающих при обнаружении вредоносных файлов) с использованием входных данных (шаблонов поведения) заранее заданного вида (т.е. структуры данных, количества элементов шаблонов поведения, производительности вычислительного устройства на котором выполняется поиск вредоносных файлов, доступных ресурсов вычислительного устройства и т.д.).
Еще в одном примере метод машинного обучения модели обнаружения выбирают на основании по меньшей мере:
Figure 00000105
перекрестной проверки, скользящего контроля, кросс-валидации (англ. cross-validation, CV);
Figure 00000106
математического обоснования критериев AIC, BIC и т.д.;
Figure 00000107
А/В тестирования (англ. А/В testing, split testing);
Figure 00000108
стекинга.
Еще в одном примере в случае невысокой производительности вычислительного устройства выбирают случайные леса, в противном случае - искусственную нейронную сеть.
В одном из вариантов реализации системы выполняется машинное обучение заранее созданной необученной модели обнаружения (т.е. модели обнаружения, у которой параметры упомянутой модели не позволяют получить на основании анализа входных данных выходных данных с точностью выше заранее заданного порогового значения).
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод:
Figure 00000109
градиентный бустинг на деревьях принятия решений (англ. decision-tree-based gradient boosting);
Figure 00000110
деревья принятия решений (англ. decision trees);
Figure 00000111
ближайших соседей kNN (англ. K-nearest neighbor method);
Figure 00000112
опорных векторов (англ. support vector machine, SVM).
Еще в одном из вариантов реализации системы дополнительно средство создания модели обнаружения 131 предназначено для создания модели обнаружения по запросу от средства машинного обучения 132, при этом определенные гиперпараметры и методы машинного обучения выбираются отличными от гиперпараметров и методов машинного обучения, выбранных для предыдущей модели обнаружения.
Средство машинного обучения модели обнаружения 132 предназначено для обучения модели обнаружения, в которой параметры модели обнаружения вычисляются с использованием полученной функции свертки над полученными шаблонами поведения, где модель обнаружения представляет собой совокупность правил вычисления степени вредоносности файла на основании по меньшей мере одного шаблона поведения с использованием вычисленных параметров упомянутой модели обнаружения.
Например, модель обнаружения обучают на известном наборе файлов, выбранных средством подготовки обучающих выборок 111, при этом упомянутый набор файлов содержит 60% безопасных файлов и 40% вредоносных файлов.
В одном из вариантов реализации системы степень вредоносности файла представляет собой численное значение от 0 до 1, при этом 0 означает, что упомянутый файл безопасный, 1 - вредоносный.
Еще в одном из вариантов реализации системы выбирается метод обучения модели обнаружения, обеспечивающий монотонность изменения степени вредоносности файла в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
Например, монотонное изменение степени вредоносности файла приводит к тому, что при анализе каждого последующего шаблона поведения, вычисленный степень вредоносности оказывается не меньше чем, вычисленный ранее степень вредоносности (к примеру, после анализа 10ого шаблона поведения вычисленный степень вредоносности равен 0,2, после анализа 50ого шаблона поведения - 0,4, а после анализа 100ого шаблона поведения - 0,7).
Еще в одном из вариантов реализации системы дополнительно средство машинного обучения модели обнаружения 132 предназначено для:
Figure 00000113
выполнения проверки обученной модели обнаружения на полученных журналах поведения, сформированных на основании анализа файлов из тестовой выборки файлов, с целью определить корректность определения вредоносности файлов из тестовой выборки файлов;
Figure 00000114
в случае отрицательного результата проверки передачи запроса по меньшей мере:
Figure 00000115
средству подготовки обучающих выборок 111 для подготовки выборки файлов, отличной от текущей, на которой производилось обучение модели обнаружения;
Figure 00000116
средству создания модели обнаружения 131 для создания новой модели обнаружения, отличной от текущей.
При этом проверка обученной модели обнаружения заключается в следующем. Упомянутая модель обнаружения была обучена на основании набора выбранных средством подготовки обучающих выборок 111 файлов для которых было известно являются ли они безопасными или вредоносными. Для того, чтобы проверить, что модель обнаружения вредоносных файлов была обучена корректно, т.е. упомянутая модель обнаружения сможет обнаруживать вредоносные файлы и пропускать безопасные файлы выполняется проверка упомянутой модели. С этой целью с помощью упомянутой модели обнаружения определяют являются ли файлы из другого набора выбранных средством подготовки обучающих выборок 111 файлов вредоносными, при этом являются ли упомянутые файлы вредоносными известно заранее. Таким образом, определяют сколько вредоносных файлов было «пропущено» и сколько безопасных файлов было обнаружено. Если количество пропущенных вредоносных и обнаруженных безопасных файлов больше заранее заданного порогового значения, то упомянутая модель обнаружения считается некорректно обученной и требуется выполнить ее повторное машинное обучение (например, на другой обучающей выборке файлов, с использованием отличных от предыдущих значений параметров модели обнаружения и т.д.).
Например, при выполнении проверки обученной модели проверяется количество ошибок первого и второго рода при обнаружении вредоносных файлов из тестовой выборки файлов. Если количество упомянутых ошибок превышает заранее заданное пороговое значение, то выбирается новая обучающая и тестовая выборка файлов и создается новая модель обнаружения.
Еще в одном примере обучающая выборка файлов содержала 10000 файлов из которых 8500 было вредоносными, а 1500 - безопасными. После того как модель обнаружения была обучена, ее проверили на тестовой выборке файлов, содержащей 1200 файлов, из которых 350 было вредоносными, а 850 - безопасными. По результатам выполненной проверки 15 из 350 вредоносных файлов обнаружить не удалось (4%), в тоже время 102 из 850 безопасных файлов (12%) ошибочно было признано вредоносными. В случае, когда количество не обнаруженных вредоносных файлов превышает 5% или случайно обнаруженных безопасных файлов превышает 0,1% обученная модель обнаружения признается некорректно обученной.
В одном из вариантов реализации системы дополнительно журнал поведения системы формируется на основании ранее сформированного журнала поведения системы и команд, перехваченных после формирования упомянутого журнала поведения системы.
Например, после начала исполнения файла, для которого требуется вынести вердикт о вредоносности или безопасности упомянутого файла, перехваченные выполняемые команды и описывающие их параметры записываются в журнал поведения. На основании анализа упомянутых команд и параметров вычисляется степень вредоносности упомянутого файла. Если по результатам анализа решения о признании файла вредоносным или безопасным вынесено не было, перехват команд может быть продолжен. Перехваченные команды и описывающие их параметры дописываются в старый журнал поведения или в новый журнал поведения. В первом случае степень вредоносности вычисляется на основании анализа всех команда и параметров, записанных в журнале поведения, т.е. и тех, которые ранее использовались для вычисления степени вредоносности.
Средство вычисления степени вредоносности 142 предназначено для:
Figure 00000117
вычисления степени вредоносности на основании полученного от средства формирования журнала поведения 142 журнала поведения и от средства машинного обучения модели обнаружения 132 модели обнаружения, при этом степень вредоносности файла представляет собой количественную характеристику (например, лежащую в диапазоне от 0 - файл обладает исключительно безопасным поведением до 1 - упомянутый файл обладает заранее заданным вредоносным поведением), описывающую вредоносное поведение исполняемого файла;
Figure 00000118
передачи вычисленного степени вредоносности средству управления ресурсами 143.
Средство управления ресурсами 143 предназначено для на основании анализа полученного степени вредоносности выделения вычислительных ресурсов компьютерной системы для использования их при обеспечении безопасности компьютерной системы.
В одном из вариантов реализации системы в качестве вычислительных ресурсов компьютерной системы выступают по меньшей мере:
Figure 00000119
объем свободной оперативной памяти;
Figure 00000120
объем свободного места на жестких дисках;
Figure 00000121
свободное процессорное время (кванты процессорного времени), которое может быть потрачено на антивирусную проверку (например, с большей глубиной эмуляции).
Еще в одном из вариантов реализации системы анализ степени вредоносности заключается в определении динамики изменения значения степени вредоносности после каждого из предыдущих вычислений степени вредоносности и в случае по меньшей мере:
Figure 00000122
увеличение значения степени вредоносности - выделения дополнительных ресурсов компьютерной системы;
Figure 00000123
уменьшение значения степени вредоносности - освобождение ранее выделенных ресурсов компьютерной системы.
Фиг. 2 представляет структурную схему способа машинного обучения модели обнаружения вредоносных файлов.
Структурная схема способа машинного обучения модели обнаружения вредоносных файлов содержит этап 211, на котором подготавливают обучающие выборки файлов, этап 212, на котором формируют журналы поведения, этап 221, на котором формируют шаблоны поведения, этап 222, на котором формируют функции свертки, этапа 231, на котором создают модель обнаружения, этапа 232, на котором обучаю модель обнаружения, этапа 241, на котором отслеживают поведение компьютерной системы, этапа 242, на котором вычисляют степень вредоносности, этап 243, на котором управляют ресурсами компьютерной системы.
На этапе 211 с помощью средства подготовки обучающих выборок 111 выбирают по меньшей мере один файл из базы файлов согласно заранее заданным критериям, при этом на основании выбранных файлов на этапе 232 будут выполнять обучение модели обнаружения.
На этапе 212 с помощью средства формирования журналов поведения 112:
Figure 00000124
перехватывают по меньшей мере одну команду по меньшей мере во время:
Figure 00000125
исполнения выбранного на этапе 211 файла,
Figure 00000126
эмуляции работы выбранного на этапе 211 файла;
Figure 00000127
определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду;
Figure 00000128
формируют на основании перехваченных команд и определенных параметров журнал поведения полученного файла, при этом журнал поведения представляет собой совокупность перехваченных команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один определенный параметр, описывающий упомянутую команду (далее - параметр). На этапе 221 с помощью средства формирования шаблонов поведения 121 формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из журнала поведения, сформированного на этапе 212, при этом журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр), шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора.
На этапе 222 с помощью средства формирования функций свертки 122 формируют такую функцию свертки от шаблона поведения, сформированного на этапе 221, что обратная функция свертки от результата такой функции свертки над упомянутым шаблоном поведения будет иметь степень схожести с упомянутым шаблоном поведения больше заданного значения.
На этапе 231 с помощью средства создания модели обнаружения 131 создают модель обнаружения для чего по меньшей мере:
Figure 00000129
выбирают метод машинного обучения модели обнаружения;
Figure 00000130
инициализируют параметры модели обучения, при этом параметры модели обучения, проинициализированные до начала машинного обучения модели обнаружения, называются гиперпарамерами (англ. hyperparameter), в зависимости от параметров файлов, выбранных на этапе 211.
На этапе 232 с помощью средства машинного обучения модели обнаружения 132 обучают модель обнаружения, созданную на этапе 231, в которой параметры упомянутой модели обнаружения вычисляются с использованием функции свертки, сформированной на этапе 222, над шаблонами поведения, сформированными на этапе 221, где модель обнаружения где модель обнаружения представляет собой совокупность правил вычисления степени вредоносности файла на основании по меньшей мере одного шаблона поведения с использованием вычисленных параметров упомянутой модели обнаружения.
На этапе 241 с помощью средства отслеживания поведения 141:
Figure 00000131
перехватывают по меньшей мере одну команду, исполняемую файлами, работающими в компьютерной системе;
Figure 00000132
формируют на основании перехваченных команд журнал поведения системы. На этапе 242 с помощью средства вычисления степени вредоносности 142 вычисляют степень вредоносности на основании журнала поведения системы, сформированного на этапе 241, и модели обнаружения, обученной на этапе 232.
На этапе 243 с помощью средства управления ресурсами 143 на основании анализа степени вредоносности, вычисленного на этапе 242, выделяют вычислительные ресурсы для использования их при обеспечении безопасности компьютерной системы.
Фиг. 3 представляет примеры динамики изменения степени вредоносности от количества шаблонов поведения.
Примеры динамики изменения степени вредоносности от количества шаблонов поведения содержит график динамики произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла 311, график динамики монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла 312, график динамики произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла 321, график динамики монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла 322.
В одном из вариантов реализации системы степень вредоносности исполняемого файла принимает значение в диапазоне от 0 (упомянутый файл обладает исключительно безопасным поведением) до 1 (упомянутый файл обладает заранее заданным вредоносным поведением).
На графике 311 изображена динамика произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность исполняемого файла может отсутствовать или быть минимальной (например, выполняется инициализация данных, свойственная многим, в том числе и безопасным файлам), поэтому вычисленный степень вредоносности незначительно отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла возрастает и степень вредоносности начинает стремиться к 1, превышая критерий безопасности, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией).
После периода роста вредоносная активность может прекращаться и степень вредоносности опять будет стремиться к 0 (момент А). В определенный момент степень вредоносности становится больше критерия вредоносности (момент В) и поведение исполняемого файла признается вредоносным и как следствие сам файл признается вредоносным.
При этом момент признания файла вредоносным может произойти значительно позже начала роста вредоносной активности, поскольку описанный подход хорошо реагирует на резкий рост степени вредоносности, что происходит чаще всего при длительной, явно выраженной вредоносной активности исполняемого файла.
В случае, когда вредоносная активность возникает эпизодически (левая сторона графика 311), вычисленный степень вредоносности может не достигать значения, после которого выносится решение о вредоносности поведения исполняемого файла и, следовательно, вредоносности самого исполняемого файла.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент А (когда начинается вредоносная активность) и момент С (когда завершается вредоносная активность), и не будет вычислен в момент В (когда происходит вредоносная активность), из-за чего вычисленные степени вредоносности не превысят критерия вредоносности, активность исполняемого файла не будет признана вредоносной и, следовательно, вредоносный файл не будет обнаружен.
На графики 312 изображена динамика монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность исполняемого файла может отсутствовать или быть минимальной (например, выполняется инициализация данных, свойственная многим, в том числе и безопасным файлам), поэтому вычисленный степень вредоносности незначительно отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла возрастает и степень вредоносности начинает стремиться к 1, превышая критерий безопасности, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией).
После периода роста (моменты А-В) вредоносная активность может прекращаться (моменты В-А), но степень вредоносности уменьшаться уже не будет, а при любой вредоносной активности исполняемого файла будет только продолжать расти. В определенный момент степень вредоносности становится больше критерия вредоносности (момент D) и поведение исполняемого файла признается вредоносным и как следствие сам файл признается вредоносным.
При этом момент признания файла вредоносным может произойти сразу после выявления вредоносной активности, поскольку описанный подход хорошо реагирует на плавный рост степени вредоносности, что происходит как при длительной, явно выраженной вредоносной активности исполняемого файла, так и при частых эпизодической слабовыраженной вредоносной активности.
В случае, когда вредоносная активность возникает эпизодически (левая сторона графика 312), вычисленный степень вредоносности со временем может достигать значения, после которого выносится решение о вредоносности поведения исполняемого файла и вредоносности самого исполняемого файла.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент А (когда начинается вредоносная активность) и момент С (когда завершается вредоносная активность), и не будет вычислен в момент В (когда происходит вредоносная активность), тем, не менее, поскольку степень вредоносности меняется монотонно вычисленные степени вредоносности только увеличивают свои значения и в момент С степень вредоносности превысит критерий вредоносности, активность исполняемого файла будет признана вредоносной и, следовательно, вредоносный файл будет обнаружен.
На графике 321 изображена динамика произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность как таковая у исполняемого файла отсутствует, но могут выполняться «подозрительные» команды, выполняемые также и при исполнении вредоносных файлов (например, удаление файлов, передача данных по компьютерной сети и т.д.), поэтому вычисленный степень вредоносности отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла из-за выполнения большого количества «подозрительных» команд возрастает и степень вредоносности начинает стремиться к 1, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией), но может превышать критерий безопасности, таким образом файл может перестать считаться безопасным и стать «подозрительным».
После периода роста вредоносная активность может прекращаться и степень вредоносности опять будет стремиться к 0 (момент С).
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент В (когда активность наиболее схожа с вредоносной, т.е. становится «подозрительной») и не будет вычислен в момент А (когда «подозрительная» активность увеличивается) и в момент С (когда «подозрительная активность» уменьшается), из-за чего вычисленный степень вредоносности превысит критерий безопасности, активность исполняемого файла будет признана «подозрительной» (не будет признана безопасной) и, следовательно, безопасный файл не будет признан безопасным.
На графике 322 изображена динамика монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла.
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность как таковая у исполняемого файла отсутствует, но могут выполняться «подозрительные» команды, выполняемые также и при исполнении вредоносных файлов (например, удаление файлов, передача данных по компьютерной сети и т.д.), поэтому вычисленный степень вредоносности отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности) при превышении которого поведение исполняемого файла перестанет считать безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).
Однако со временем вредоносная активность исполняемого файла из-за выполнения большого количества «подозрительных» команд возрастает и степень вредоносности начинает стремиться к 1, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности) при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией), а также может не превышать критерий безопасности, таким образом файл будет продолжать считаться безопасным.
После периода роста (моменты А-В) вредоносная активность может прекращаться (моменты В-А), но степень вредоносности уменьшаться уже не будет, а при любой вредоносной активности исполняемого файла будет только продолжать расти, но при этом не превышать коэффициент безопасности, таким образом активность исполняемого файла будет считаться безопасной и, следовательно, упомянутый файл будет считаться безопасным.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислен в момент В (когда активность наиболее схожа с вредоносной, т.е. становится «подозрительной») и не будет вычислен в момент А (когда «подозрительная» активность увеличивается) и в момент С (когда «подозрительная активность» уменьшается), тем, не менее, поскольку степень вредоносности меняется монотонно вычисленные степени вредоносности только увеличивают свои значения, в моменты А, В, С степени вредоносности не превысят критерия безопасности, активность исполняемого файла будет признана безопасной и, следовательно, безопасный файл будет признан безопасным.
При этом момент признания файла «подозрительным» может не произойти после выявления «подозрительной» активности, поскольку описанный подход обеспечивает на плавный рост степени вредоносности, что позволяет избежать резких пиков при росте степени вредоносности.
Фиг. 4 представляет пример схемы связей между элементами шаблонов поведения.
Пример схемы связей между элементами шаблонов поведения содержит команды 411 (пустые кружки), параметры 412 (штрихованные кружки), пример шаблона поведения с одним параметром 421, пример шаблона поведения с одной командой 422.
Во время исполнения файла были перехвачены команды 411 и определены описывающие им параметры 412:
Figure 00000133
Figure 00000134
На основании упомянутых команд 411 и параметров 412 формируют шаблоны поведения (421, 422) и определяют связи между элементами шаблонов поведения.
На первом этапе формируют шаблоны, содержащие одну команду 411 и один параметр 412, описывающий упомянутую команду:
Figure 00000135
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было сформировано 19 шаблонов поведения.
На втором этапе формируют шаблоны, содержащие один параметр 412 и все команды 411, описываемые упомянутым параметром 412:
Figure 00000136
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было дополнительно сформировано 7 шаблонов поведения.
На третьем этапе формируют шаблоны, содержащие несколько параметров 412 и все команды 411, описываемые упомянутыми шаблонами 412:
Figure 00000137
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было дополнительно сформировано 3 шаблона поведения.
Фиг. 5 представляет структурную схему системы управления вычислительными ресурсами для обнаружения вредоносных файлов.
Структурная схема системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов состоит из приложения 501, ресурсов вычислительного устройства 502, средства формирования журналов поведения 112, средства анализа журнала поведения 510, средства вычисления степени вредоносности 520, модели обнаружения вредоносных файлов 521, средства управления ресурсами 530, модели управления вычислительными ресурсами 531, средства обучения модели управления 540, средства обучения модели обнаружения 550.
Описываемая система управления вычислительными ресурсами для обнаружения вредоносных файлов работает на вычислительном устройстве. Например, на вычислительном устройстве пользователя таком, как мобильный телефон, ноутбук или персональный компьютер.
На упомянутом вычислительном устройстве дополнительно выполняется по меньшей мере одно приложение 501. Например, на персональном компьютере под управлением операционной системы «Windows 10» выполняется приложение «Microsoft Word».
В одном из вариантов реализации системы приложение 501 представляет собой совокупность файлов, по меньшей мере один из которых:
Figure 00000138
является исполняемым;
Figure 00000139
представляет собой сценарий, предназначенный для исполнения сторонним приложением.
Средство формирования журналов поведения 112 предназначено для:
Figure 00000140
перехвата по меньшей мере одной команды по меньшей мере во время:
Figure 00000141
исполнения приложения 501 на вычислительном устройстве,
Figure 00000142
эмуляции на вычислительном устройстве исполнения приложения 501;
Figure 00000143
определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду;
Figure 00000144
формирования на основании перехваченных команд и определенных параметров журнала поведения упомянутого приложения 501;
Figure 00000145
передачи сформированного журнала поведения средству анализа журнала поведения 510.
В одном из вариантов реализации системы журнал поведения представляет собой совокупность исполняемых команд (далее - команда) приложения 501, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).
Еще в одном из вариантов реализации системы на основании перехваченных команд, исполняемых в разных потоках, формируются отдельные журналы поведения, при этом впоследствии перед анализом упомянутые журналы поведения могут быть объединены в единый журнал поведения.
Еще в одном из вариантов реализации системы перехват команд исполняемого приложения 501 и определение параметров перехваченных команд осуществляется на основании анализа производительности вычислительного устройства, на котором работает система управления вычислительными ресурсами для обнаружения вредоносных файлов, что включает в себя по меньшей мере:
Figure 00000146
определения, возможно ли проанализировать исполняемое приложение 501 на вредоносность (осуществляемое с помощью средства анализа журнала поведения 510, средства вычисления степени вредоносности 520 и средства управления ресурсами 530) до момента, когда будет перехвачена следующая команда;
Figure 00000147
определения, не приведет ли анализ исполняемого приложения 501 на вредоносность к снижению вычислительных ресурсов 502 упомянутого вычислительного устройства ниже заранее заданного порогового значения, при этом в качестве ресурсов вычислительного устройства выступает по меньшей мере:
Figure 00000148
производительность упомянутого вычислительного устройства, характеризующая по меньшей мере:
Figure 00000149
количество тактов, требуемого процессору (англ. CPU) упомянутого вычислительного устройства для выполнения заранее заданных операций;
Figure 00000150
количество квантов процессорного времени (англ. scheduler processor time slice), выделяемых операционной системой, под управлением которой работает упомянутое вычислительное устройство, для выполнения заранее заданных операций в частности или целых приложений 501 в общем;
Figure 00000151
время, требуемое процессору упомянутого устройства для выполнения заранее заданных операций в частности или целых приложений 501 в общем;
Figure 00000152
объем свободной оперативной памяти упомянутого вычислительного устройства;
Figure 00000153
объем свободного места на носителях информации упомянутого вычислительного устройства (например, жестких дисках);
Figure 00000154
пропускная способность компьютерной сети к которой подключено упомянутое вычислительное устройство.
Для повышения производительности системы управления вычислительными ресурсами для обнаружения вредоносных файлов может потребоваться анализировать журнал поведения, содержащего не все выполняемые команды исполняемого приложения 501, поскольку вся последовательность действий, выполняемых для анализа приложения 501 на вредоносность занимает времени больше, чем промежуток времени между двумя последовательно выполняемыми командами исполняемого файла 501.
Например, команды исполняемого приложения 501 выполняются (а, следовательно, и перехватываются) каждую 0,001 сек, но анализ приложения 501 на вредоносность занимает 0,15 сек, таким образом все команды, перехваченные в течении упомянутого промежутка времени, будут проигнорированы, таким образом достаточно перехватывать лишь каждую 150 команду.
Средство анализа журнала поведения 510 предназначено для:
Figure 00000155
формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из созданного журнала поведения, исполняемых на вычислительном устройстве (далее - приложения), при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора;
Figure 00000156
вычисления свертки от сформированного шаблона поведения;
Figure 00000157
передачи вычисленной свертки средству вычисления степени вредоносности 520.
В одном из вариантов реализации системы вычисление свертки от сформированных шаблонов поведения выполняется на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного значения.
Более подробно формирование и использование функций свертки (вычисление свертки) описано на Фиг. 1, Фиг. 2.
Средство вычисления степени вредоносности 520 предназначено для:
Figure 00000158
вычисления степени вредоносности приложений на основании анализа полученной свертки с помощью модели обнаружения вредоносных файлов 521, при этом степень вредоносности приложений представляет собой численное значение, характеризующее вероятность того, что ко времени вычисления упомянутой степени вредоносности приложений осуществляется вредоносная активность;
Figure 00000159
передачи вычисленной степени вредоносности приложений средству управления ресурсами 530.
В одном из вариантов реализации системы модель обнаружения вредоносных файлов 521 была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели обнаружения вредоносных файлов 521 выступает по меньшей мере метод:
Figure 00000160
градиентный бустинг на деревьях принятия решений;
Figure 00000161
деревья принятия решений;
Figure 00000162
ближайших соседей kNN;
Figure 00000163
опорных векторов.
Еще в одном из вариантов реализации системы метод обучения модели обнаружения вредоносных файлов 521 обеспечивает монотонность изменения степени вредоносности приложений в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
Более подробно машинное обучение модели обнаружения вредоносных файлов описано на Фиг. 1 - Фиг. 4.
Средство управления ресурсами 530 предназначено для управления вычислительными ресурсами 502, которые используются для обеспечения безопасности упомянутого вычислительно устройства (далее - ресурсы), в зависимости от полученной степени вредоносности приложений, таким образом, чтобы степень вредоносности приложений, вычисленная после упомянутого управления ресурсами 502, находилась в заранее заданном диапазоне значений, при этом в случае превышения полученной степени вредоносности приложений заранее заданного порогового значения передачи запроса на выделение дополнительных ресурсов вычислительного устройства, в случае снижения полученной степени вредоносности ниже заранее заданного порогового значения передачи запроса на освобождение выделенных ранее ресурсов вычислительного устройства.
В одном из вариантов реализации системы безопасность вычислительного устройства определяется возможностью выполнять вредоносную активность на упомянутом вычислительном устройстве и характеризуется степенью вредоносности приложения, выполняемых на упомянутом вычислительном устройстве.
Например, на ноутбуке пользователя (выступающего в роли описываемого вычислительного устройства), работающем под управлением операционной системы «Microsoft Windows 10», отсутствует соединение с компьютерной сетью (например, с Интернет), в связи с чем упомянутая операционная система не может быть атакована вредоносными приложениями, использующими для своего распространения компьютерную сеть (например, Net-Worm - компьютерный червь, использующий уязвимости приложений, в том числе и операционной системы, выполняемых на вычислительном устройстве), поэтому пользователю не может быть нанесет урон (например, кража конфиденциальных данных, шифрование важных электронных документов, выведение из строя ноутбука и т.д.) Таким образом степень вредоносности приложений, выполняющихся на упомянутом ноутбуке, низкая, и, как следствие, безопасность упомянутого ноутбука высокая).
Еще в одном из вариантов реализации системы управление вычислительными ресурсами 502 включает по меньшей мере:
Figure 00000164
выделение дополнительных вычислительных ресурсов 502 для предоставления приложениям 501, исполняемым на упомянутом вычислительном устройстве;
Figure 00000165
освобождение вычислительных ресурсов 502, ранее выделенных для предоставления приложениям 501, исполняемым на упомянутом вычислительном устройстве;
Figure 00000166
управление политиками безопасности работы с вычислительными ресурсами 502 приложениями 501, исполняемыми на упомянутом вычислительном устройстве.
Например, права на запись (как часть политики безопасности) для приложения снижают безопасность вычислительного устройства на котором упомянутое приложение выполняется поскольку делают возможным повреждение важных данных пользователя упомянутым приложением, и не должны выдаваться приложению без надобности (например, приложение «Калькулятор» не должно иметь прав на запись на жесткий диск поскольку запись не предполагается при работе упомянутого приложения и даже в случае внедрения вредоносного кода в приложение «Калькулятор» упомянутое приложение все равно не сможет нанести урон данным пользователя).
Еще в одном примере выделение таких дополнительных ресурсов 502 как процессорное время и свободная оперативная память позволит более эффективно работать антивирусным программам, выполняемым на вычислительном устройстве. Например, эвристический модуль при наличии дополнительного процессорного времени способен выполнять эмуляцию приложений с большей глубиной эмуляции, а сигнатурный модуль при наличии дополнительной свободной памяти способен выполнять антивирусную проверку большим количеством антивирусных сигнатур, что повышает точность обнаружения вредоносных файлов.
Еще в одном примере освобождение вычислительных ресурсов 502 от одних приложений, позволяет выделить их другим приложениям. Например, приложению «Notepad» было выделено 64 МБ оперативной памяти, хотя для работы ему требуется только 16 МБ, с другой стороны сигнатурному модулю антивируса было выделено 96 МБ оперативной памяти, хотя для эффективной работы (т.е. с максимальным быстродействием при использовании имеющейся базы сигнатур) требуется 128 МБ (т.е. не хватает 32 МБ), поэтому для повышения безопасности вычислительного устройства на котором работают приложение «Notepad» и антивирус у Notepad освобождают 32 МБ оперативной памяти, а сигнатурному модулю антивируса выделяют 32 МБ памяти.
Еще в одном из вариантов реализации системы управление вычислительными ресурсами 502 осуществляется по запросу от средства управления ресурсами 530 по меньшей мере с помощью:
Figure 00000167
средств операционной системы, под управлением которой работает упомянутое вычислительное устройство;
Figure 00000168
средств, предоставляемых исполняемым на упомянутом вычислительном устройстве приложением 501, использующим упомянутые вычислительные ресурсы 502.
Например, выделить свободную оперативную память можно путем вызова системной API-функции VirtualAlloc, а освободить выделенную память - API-функции VirtualFree. Операционная система самостоятельно обработает упомянутые функции и выполнит требуемые действия.
В другом примере оперативная память изначально может быть выделена описанным выше методом, а затем приложение само будет выделять или освобождать память из выделенного объема, без обращения к операционной системе (так называемые «кучи» (англ. heap)). Аналогичная логика применима и к другим типам вычислительным ресурсам 502.
Еще в одном из вариантов реализации системы в качестве вычислительных ресурсов выступают по меньшей мере:
Figure 00000169
свободная оперативная память, используемая для хранения антивирусных баз и результатов анализа файлов на вредоносность;
Figure 00000170
свободное место на носителях информации упомянутого вычислительного устройства;
Figure 00000171
процессорное время, выделяемое для исполнения приложений 501, исполняемых на упомянутом вычислительном устройстве, в том числе, обеспечивающих безопасность упомянутого вычислительного устройства;
Figure 00000172
сетевые ресурсы, выделяемые для обеспечения контролируемого обмена данными между приложениями 501, исполняемыми на упомянутом вычислительном устройстве.
Еще в одном из вариантов реализации системы дополнительно средство управления ресурсами 530 управляет вычислительными ресурсами 502 с помощью модели управления вычислительными ресурсами 531, предварительно обученной с использованием методов машинного обучения, при этом модель управления вычислительными ресурсами 531 представляет совокупность правил определения таких параметров вычислительных ресурсов 531, что степень вредоносности приложений 501, работающих на вычислительном устройстве, после выполнения управления упомянутыми вычислительными ресурсами 502 на основании вычисленных параметров не будет превышать заранее заданного порогового значения.
При этом степень вредоносности приложений 501 может удовлетворять описанным выше требованиям при различных значениях параметров вычислительных ресурсов 502, поэтому обучение модели управления вычислительными ресурсами 531 преследует цель снижения выделяемых вычислительных ресурсов 502, требуемых для того, чтобы степень вредоносности приложений 501 не будет превышать заранее заданного порогового значения, т.е. после завершения обучения модели управления вычислительными ресурсами 531 выделяться будет меньше вычислительных ресурсов 502, чем до завершения обучения упомянутой модели управления вычислительными ресурсами 531.
Например, степень вредоносности приложения 501 может быть ниже заранее заданного порогового значения 0,23 при выделении свободно оперативной памяти упомянутому приложению в объеме 100 МБ, при этом при выделении упомянутого объема оперативной памяти степень вредоносности приложения 501 будет равна 0,13, что значительно ниже 0,27, а значит выделения всех 100 МБ оперативной памяти было бы излишней тратой вычислительных ресурсов 502. При машинном обучении модель управления вычислительными ресурсами 531 использование упомянутой модели со временем позволит выделять все меньше и меньше оперативной памяти, до тех пор, пока объем выделяемой оперативной памяти не станет минимальным для достижения степени вредоносности приложения 501 равной 0,23. Этапы машинного обучения описанной модели управления вычислительными ресурсами 531 представлен в приведенной ниже таблице:
Figure 00000173
Figure 00000174
Еще в одном из вариантов реализации системы дополнительно модель управления вычислительными ресурсами 531 обучают на известном наборе приложений 501. При этом уже при использовании системы управления вычислительными ресурсами для обнаружения вредоносных файлов упомянутая модель управления вычислительными ресурсами 531 переобучают
Например, для предварительного машинного обучения модели управления вычислительными ресурсами 531 используется обучающая выборка из вредоносных и безопасных приложений.
Еще в одном примере обучающая выборка приложений содержит 10000 приложений из которых 7200 было вредоносными, а 2800 - безопасными. После того как модель управления вычислительными ресурсами 531 была обучена, ее проверяют на тестовой выборке приложений, содержащей 1500 приложений, из которых 250 было вредоносными, а 1250 - безопасными.
Еще в одном из вариантов реализации системы управление вычислительными ресурсами осуществляется на основании параметров вычислительных ресурсов, значения которых вычисляют с использованием заранее заданных алгоритмов, в том числе с использованием модели управления вычислительными ресурсами.
Еще в одном из вариантов реализации системы средство управления ресурсами 530 дополнительно предназначено для управления вычислительными ресурсами 502, которые используются для обнаружения (например, антивирусными приложениями) вредоносных файлов на вычислительном устройстве, в зависимости от полученной степени вредоносности приложений.
Например, в качестве приложения 501 может выступать антивирус, при этом эффективность работы упомянутого антивируса (т.е. скорость работы, количество ошибок первого и второго рода при обнаружении вредоносных файлов и т.д.) зависит от вычислительных ресурсов, выделенных упомянутому антивирусу. Антивирус может содержать:
Figure 00000175
модуль эвристического анализ, эффективная работа которого зависит от процессорного времени, выделенного для антивируса и объема свободной памяти;
Figure 00000176
модуль сигнатурного анализа, эффективность работы которого зависит от объема свободной памяти;
Figure 00000177
модуль проактивной защиты, эффективная работа которого зависит от процессорного времени.
Еще в одном из вариантов реализации системы степень вредоносности приложений удерживается в заранее заданном диапазоне за счет обнаружения и последующей нейтрализации вредоносных файлов.
Средство обучения модели управления 540 предназначено для машинного обучения (переобучения) модели управления вычислительными ресурсами 531, таким образом, чтобы при управлении вычислительными ресурсами 502 с помощью упомянутой обученной модели 531, использование упомянутых вычислительных ресурсов 502 было минимальным.
Например, модель управления вычислительными ресурсами 531 обучают на известном наборе приложений, при этом упомянутый набор приложений содержит 60% безопасных приложений и 40% вредоносных приложений.
Еще в одном из вариантов реализации системы дополнительно средство обучения модели управления 540 предназначено для:
Figure 00000178
выполнения проверки обученной модели управления вычислительными ресурсами на полученных журналах поведения, сформированных на основании анализа приложений из тестовой выборки файлов, с целью определить корректность управления вычислительными ресурсами 502;
Figure 00000179
в случае отрицательного результата переобучения модели управления вычислительными ресурсами 531 на новых обучающих выборках приложений. Средство обучения модели обнаружения 550 предназначено для машинного обучения (переобучения) модели обнаружения вредоносных файлов 521 на основании анализа по меньшей мере одного созданного журнала поведения, при этом упомянутое машинное обучение выполняется в случае, когда после завершения последнего управления ресурсами 502 вычисленная степень вредоносности приложений оказывается выше заранее заданного порогового значения.
Фиг. 6 представляет структурную схему способа управления вычислительными ресурсами для обнаружения вредоносных файлов.
Структурная схема способа управления вычислительными ресурсами для обнаружения вредоносных файлов содержит этап 610, на котором исполняют приложения, этап 620, на котором формируют журнал поведения, этап 630, на котором формируют шаблоны поведения, этап 640, на котором вычисляют свертку, этап 650, на котором вычисляют степень вредоносности, этап 660, на котором управляют вычислительными ресурсами, этап 670, на котором обучают модель управления вычислительными ресурсами и этап 680, на котором обучают модель обнаружения вредоносных файлов.
На этапе 610 с помощью средства формирования журналов поведения 112 по меньшей мере:
Figure 00000180
исполняют анализируемый файл 501;
Figure 00000181
эмулируют исполнение анализируемого файла 501.
На этапе 620 с помощью средства формирования журналов поведения 112 формируют журнал поведения для анализируемого файла 501 для чего:
Figure 00000182
перехватывают по меньшей мере одну выполняемую команду;
Figure 00000183
определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду;
Figure 00000184
формируют на основании перехваченных команд и определенных параметров журнала поведения упомянутого файла 501.
На этапе 630 с помощью средства анализа журнала поведения 510 формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из созданного на этапе 620 журнала поведения, исполняемых на вычислительном устройстве (далее - приложения), при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора.
На этапе 640 с помощью средства анализа журнала поведения 510 вычисляют свертку от сформированного на этапе 630 шаблона поведения.
На этапе 650 с помощью средства вычисления степени вредоносности 520 вычисляют степень вредоносности приложений на основании анализа вычисленной на этапе 640 свертки с помощью модели обнаружения вредоносных файлов, при этом степень вредоносности приложений представляет собой численное значение, характеризующее вероятность того, что ко времени вычисления упомянутой степени вредоносности приложений осуществляется вредоносная активность.
На этапе 660 с помощью средства управления ресурсами 530 управляют вычислительными ресурсами, которые используются для обеспечения безопасности упомянутого вычислительно устройства (далее - ресурсы), в зависимости от вычисленной на этапе 650 степени вредоносности приложений, таким образом, чтобы степень вредоносности приложений, вычисленная после упомянутого управления ресурсами, находилась в заранее заданном диапазоне значений, при этом в случае превышения полученной степени вредоносности приложений заранее заданного порогового значения передачи запроса на выделение дополнительных ресурсов вычислительного устройства, в случае снижения полученной степени вредоносности ниже заранее заданного порогового значения передачи запроса на освобождение выделенных ранее ресурсов вычислительного устройства.
На этапе 670 с помощью средства обучения модели управления 540 дополнительно обучают с помощью методов машинного обучения модель управления вычислительными ресурсами, таким образом, чтобы при управлении вычислительными ресурсами с помощью упомянутой обученной модели, использование упомянутых вычислительных ресурсов было минимальным.
На этапе 680 с помощью средства обучения модели обнаружения 550 дополнительно обучают с помощью методов машинного обучения модель обнаружения вредоносных файлов на основании анализа по меньшей мере одного сформированного на этапе 620 журнала поведения, при этом упомянутое машинное обучение выполняется в случае, когда после завершения последнего управления ресурсами на этапе 660 вычисленная степень вредоносности приложений оказывается выше заранее заданного порогового значения.
Фиг. 7 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 7. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.

Claims (65)

1. Система управления вычислительными ресурсами для обнаружения вредоносных файлов, которая содержит:
а) средство анализа журнала поведения, предназначенное для:
• формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из созданного журнала поведения, исполняемых на вычислительном устройстве (далее - приложения), при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора;
• вычисления свертки от сформированного шаблона поведения;
• передачи вычисленной свертки средству вычисления степени вредоносности;
б) средство вычисления степени вредоносности, предназначенное для:
• вычисления степени вредоносности приложений на основании анализа полученной свертки с помощью модели обнаружения вредоносных файлов, при этом степень вредоносности приложений представляет собой численное значение, характеризующее вероятность того, что ко времени вычисления упомянутой степени вредоносности приложений осуществляется вредоносная активность;
• передачи вычисленной степени вредоносности приложений средству управления ресурсами;
в) средство управления ресурсами, предназначенное для управления вычислительными ресурсами, которые используются для обеспечения безопасности упомянутого вычислительно устройства (далее - ресурсы), в зависимости от полученной степени вредоносности приложений, таким образом, чтобы степень вредоносности приложений, вычисленная после упомянутого управления ресурсами, находилась в заранее заданном диапазоне значений, при этом в случае превышения полученной степени вредоносности приложений заранее заданного порогового значения передачи запроса на выделение дополнительных ресурсов вычислительного устройства, в случае снижения полученной степени вредоносности ниже заранее заданного порогового значения передачи запроса на освобождение выделенных ранее ресурсов вычислительного устройства.
2. Система по п. 1, которая дополнительно содержит средство формирования журналов поведения, предназначенное для:
• перехвата по меньшей мере одной команды по меньшей мере во время:
Figure 00000185
исполнения приложения на вычислительном устройстве,
Figure 00000185
эмуляции на вычислительном устройстве исполнения приложения;
• определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду;
• формирования на основании перехваченных команд и определенных параметров журнала поведения упомянутого приложения;
• передачи сформированного журнала поведения средству анализа журнала поведения.
3. Система по п. 1, в которой журнал поведения представляет собой совокупность исполняемых команд (далее - команда) приложения, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).
4. Система по п. 1, в которой вычисление свертки от сформированных шаблонов поведения выполняется на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного значения.
5. Система по п. 1, в которой модель обнаружения вредоносных файлов была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.
6. Система по п. 5, в которой в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод:
• градиентный бустинг на деревьях принятия решений;
• деревья принятия решений;
• ближайших соседей kNN;
• опорных векторов.
7. Система по п. 5, в которой метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности приложений в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
8. Система по п. 1, в которой управление вычислительными ресурсами включает по меньшей мере:
• выделение дополнительных вычислительных ресурсов для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве;
• освобождение вычислительных ресурсов, ранее выделенных для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве;
• управление политиками безопасности работы с вычислительными ресурсами приложениями, исполняемыми на упомянутом вычислительном устройстве.
9. Система по п. 1, в которой управление вычислительными ресурсами осуществляется по запросу от средства управления ресурсами по меньшей мере с помощью:
• средств операционной системы, под управлением которой работает упомянутое вычислительное устройство;
• средств, предоставляемых исполняемым на упомянутом вычислительном устройстве приложением, использующим упомянутые вычислительные ресурсы.
10. Система по п. 1, в которой дополнительно средство управления ресурсами управляет вычислительными ресурсами с помощью модели управления вычислительными ресурсами.
11. Система по п. 4, в которой дополнительно содержится средство обучения модели управления, предназначенное для машинного обучения модели управления вычислительными ресурсами, таким образом, чтобы при управлении вычислительными ресурсами с помощью упомянутой обученной модели, использование упомянутых вычислительных ресурсов было минимальным.
12. Система по п. 1, в которой дополнительно содержится средство обучения модели обнаружения, предназначенное для машинного обучения модели обнаружения вредоносных файлов на основании анализа по меньшей мере одного созданного журнала поведения, при этом упомянутое машинное обучение выполняется в случае, когда после завершения последнего управления ресурсами вычисленная степень вредоносности приложений оказывается выше заранее заданного порогового значения.
13. Способ управления вычислительными ресурсами для обнаружения вредоносных файлов, при этом способ содержит этапы, которые реализуются с помощью средств из системы по п. 1 и на которых:
а) формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из созданного журнала поведения, исполняемых на вычислительном устройстве (далее - приложения), при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора;
б) вычисляют свертку от сформированного шаблона поведения;
в) вычисляют степень вредоносности приложений на основании анализа вычисленной свертки с помощью модели обнаружения вредоносных файлов, при этом степень вредоносности приложений представляет собой численное значение, характеризующее вероятность того, что ко времени вычисления упомянутой степени вредоносности приложений осуществляется вредоносная активность;
г) управляют вычислительными ресурсами, которые используются для обеспечения безопасности упомянутого вычислительно устройства (далее - ресурсы), в зависимости от вычисленной степени вредоносности приложений, таким образом, чтобы степень вредоносности приложений, вычисленная после упомянутого управления ресурсами, находилась в заранее заданном диапазоне значений, при этом в случае превышения полученной степени вредоносности приложений заранее заданного порогового значения передачи запроса на выделение дополнительных ресурсов вычислительного устройства, в случае снижения полученной степени вредоносности ниже заранее заданного порогового значения передачи запроса на освобождение выделенных ранее ресурсов вычислительного устройства.
14. Способ по п. 13, по которому дополнительно:
• перехватывают по меньшей мере одну команду по меньшей мере во время:
Figure 00000185
исполнения приложения на вычислительном устройстве,
Figure 00000185
эмуляции на вычислительном устройстве исполнения приложения;
• определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду;
• формируют на основании перехваченных команд и определенных параметров журнала поведения.
15. Способ по п. 13, по которому журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).
16. Способ по п. 13, по которому вычисляют свертку от сформированных шаблонов поведения на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного значения.
17. Способ по п. 13, по которому модель обнаружения вредоносных файлов была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.
18. Способ по п. 13, по которому в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод:
• градиентный бустинг на деревьях принятия решений;
• деревья принятия решений;
• ближайших соседей kNN;
• опорных векторов.
19. Способ по п. 13, по которому метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности приложений в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.
20. Способ по п. 13, по которому управление вычислительными ресурсами включает по меньшей мере:
• выделение дополнительных вычислительных ресурсов для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве;
• освобождение вычислительных ресурсов, ранее выделенных для предоставления приложениям, исполняемым на упомянутом вычислительном устройстве;
• управление политиками безопасности работы с вычислительными ресурсами приложениями, исполняемыми на упомянутом вычислительном устройстве.
21. Способ по п. 13, по которому управление вычислительными ресурсами осуществляется по запросу от средства управления ресурсами по меньшей мере с помощью:
• средств операционной системы, под управлением которой работает упомянутое вычислительное устройство;
• средств, предоставляемых исполняемым на упомянутом вычислительном устройстве приложением, использующим упомянутые вычислительные ресурсы.
22. Способ по п. 13, по которому дополнительно управляют вычислительными ресурсами с помощью модели управления вычислительными ресурсами.
23. Способ по п. 22, по которому дополнительно обучают с помощью методов машинного обучения модель управления вычислительными ресурсами, таким образом, чтобы при управлении вычислительными ресурсами с помощью упомянутой обученной модели, использование упомянутых вычислительных ресурсов было минимальным.
24. Способ по п. 13, по которому дополнительно обучают с помощью методов машинного обучения модель обнаружения вредоносных файлов на основании анализа по меньшей мере одного созданного журнала поведения, при этом упомянутое машинное обучение выполняется в случае, когда после завершения последнего управления ресурсами вычисленная степень вредоносности приложений оказывается выше заранее заданного порогового значения.
RU2017128537A 2017-08-10 2017-08-10 Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов RU2659737C1 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2017128537A RU2659737C1 (ru) 2017-08-10 2017-08-10 Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
US16/039,389 US10831891B2 (en) 2017-08-10 2018-07-19 System and method of managing computing resources for detection of malicious files based on machine learning model
US17/062,798 US11403396B2 (en) 2017-08-10 2020-10-05 System and method of allocating computer resources for detection of malicious files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017128537A RU2659737C1 (ru) 2017-08-10 2017-08-10 Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов

Publications (1)

Publication Number Publication Date
RU2659737C1 true RU2659737C1 (ru) 2018-07-03

Family

ID=62815445

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017128537A RU2659737C1 (ru) 2017-08-10 2017-08-10 Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов

Country Status (2)

Country Link
US (2) US10831891B2 (ru)
RU (1) RU2659737C1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3674947A1 (en) * 2018-12-28 2020-07-01 AO Kaspersky Lab System and method for detection of a malicious file
GB2592132B (en) * 2018-08-31 2023-01-04 Sophos Ltd Enterprise network threat detection
US11720844B2 (en) 2018-08-31 2023-08-08 Sophos Limited Enterprise network threat detection

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190294796A1 (en) * 2018-03-23 2019-09-26 Microsoft Technology Licensing, Llc Resolving anomalies for network applications using code injection
US11461462B1 (en) * 2018-09-21 2022-10-04 Ca, Inc. Systems and methods for producing adjustments to malware-detecting services
US20200372183A1 (en) * 2019-05-21 2020-11-26 Hewlett Packard Enterprise Development Lp Digitally Signing Software Packages With Hash Values
US11399041B1 (en) 2019-11-22 2022-07-26 Anvilogic, Inc. System for determining rules for detecting security threats
US11055652B1 (en) * 2019-11-22 2021-07-06 Anvilogic, Inc. System for sharing detection logic through a cloud-based exchange platform
US11290483B1 (en) 2020-04-07 2022-03-29 Anvilogic, Inc. Platform for developing high efficacy detection content
CN113536288B (zh) * 2021-06-23 2023-10-27 上海派拉软件股份有限公司 数据认证方法、装置、认证设备及存储介质
CN113592690B (zh) * 2021-07-30 2024-03-29 卡斯柯信号有限公司 一种基于数据库模型的危害管理方法
US11941121B2 (en) * 2021-12-28 2024-03-26 Uab 360 It Systems and methods for detecting malware using static and dynamic malware models
WO2023157014A1 (en) * 2022-02-15 2023-08-24 INDIAN INSTITUTE OF TECHNOLOGY MADRAS (IIT Madras) "system and method for malware detection by cross-dimensional behavioural analysis"
CN114710325B (zh) * 2022-03-17 2023-09-15 广州杰赛科技股份有限公司 网络入侵检测模型的构建方法、装置、设备及存储介质
US12038883B2 (en) * 2022-06-16 2024-07-16 Red Hat, Inc. Distributed Storage System with machine learning model for selecting a hash function to map a data item to a storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU91205U1 (ru) * 2009-10-01 2010-01-27 ЗАО "Лаборатория Касперского" Система асинхронной обработки событий для обнаружения неизвестных вредоносных программ
US9483643B1 (en) * 2015-03-13 2016-11-01 Symantec Corporation Systems and methods for creating behavioral signatures used to detect malware
US20170004303A1 (en) * 2013-12-30 2017-01-05 Nokia Technologies Oy Method and Apparatus for Malware Detection
US20170161499A1 (en) * 2015-12-03 2017-06-08 F-Secure Corporation Behaviour Based Malware Prevention

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930546B2 (en) * 1996-05-16 2011-04-19 Digimarc Corporation Methods, systems, and sub-combinations useful in media identification
US7096367B2 (en) * 2001-05-04 2006-08-22 Microsoft Corporation System and methods for caching in connection with authorization in a computer system
US9288220B2 (en) 2013-11-07 2016-03-15 Cyberpoint International Llc Methods and systems for malware detection
US9241010B1 (en) * 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US9769195B1 (en) 2015-04-16 2017-09-19 Symantec Corporation Systems and methods for efficiently allocating resources for behavioral analysis
US10104107B2 (en) * 2015-05-11 2018-10-16 Qualcomm Incorporated Methods and systems for behavior-specific actuation for real-time whitelisting
US20170024660A1 (en) 2015-07-23 2017-01-26 Qualcomm Incorporated Methods and Systems for Using an Expectation-Maximization (EM) Machine Learning Framework for Behavior-Based Analysis of Device Behaviors
US10708290B2 (en) * 2016-01-18 2020-07-07 Secureworks Corp. System and method for prediction of future threat actions
US20170286861A1 (en) * 2016-04-01 2017-10-05 Damian Kelly Structured machine learning framework

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU91205U1 (ru) * 2009-10-01 2010-01-27 ЗАО "Лаборатория Касперского" Система асинхронной обработки событий для обнаружения неизвестных вредоносных программ
US20170004303A1 (en) * 2013-12-30 2017-01-05 Nokia Technologies Oy Method and Apparatus for Malware Detection
US9483643B1 (en) * 2015-03-13 2016-11-01 Symantec Corporation Systems and methods for creating behavioral signatures used to detect malware
US20170161499A1 (en) * 2015-12-03 2017-06-08 F-Secure Corporation Behaviour Based Malware Prevention

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2592132B (en) * 2018-08-31 2023-01-04 Sophos Ltd Enterprise network threat detection
US11720844B2 (en) 2018-08-31 2023-08-08 Sophos Limited Enterprise network threat detection
US11727333B2 (en) 2018-08-31 2023-08-15 Sophos Limited Endpoint with remotely programmable data recorder
US11755974B2 (en) 2018-08-31 2023-09-12 Sophos Limited Computer augmented threat evaluation
US11836664B2 (en) 2018-08-31 2023-12-05 Sophos Limited Enterprise network threat detection
US11928631B2 (en) 2018-08-31 2024-03-12 Sophos Limited Threat detection with business impact scoring
US12079757B2 (en) 2018-08-31 2024-09-03 Sophos Limited Endpoint with remotely programmable data recorder
EP3674947A1 (en) * 2018-12-28 2020-07-01 AO Kaspersky Lab System and method for detection of a malicious file

Also Published As

Publication number Publication date
US20210019406A1 (en) 2021-01-21
US10831891B2 (en) 2020-11-10
US11403396B2 (en) 2022-08-02
US20190050567A1 (en) 2019-02-14

Similar Documents

Publication Publication Date Title
RU2659737C1 (ru) Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
RU2679785C1 (ru) Система и способ классификации объектов
RU2739865C2 (ru) Система и способ обнаружения вредоносного файла
RU2724710C1 (ru) Система и способ классификации объектов вычислительной системы
US10878090B2 (en) System and method of detecting malicious files using a trained machine learning model
JP6715292B2 (ja) 機械学習を用いる悪意のあるファイルを検出するシステムおよび方法
RU2654151C1 (ru) Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов
JP6636096B2 (ja) マルウェア検出モデルの機械学習のシステムおよび方法
RU2654146C1 (ru) Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа
EP3474175B1 (en) System and method of managing computing resources for detection of malicious files based on machine learning model
RU2673708C1 (ru) Система и способ машинного обучения модели обнаружения вредоносных файлов