RU2654151C1 - System and method of detection of malicious files using a trained malware detection pattern - Google Patents
System and method of detection of malicious files using a trained malware detection pattern Download PDFInfo
- Publication number
- RU2654151C1 RU2654151C1 RU2017128540A RU2017128540A RU2654151C1 RU 2654151 C1 RU2654151 C1 RU 2654151C1 RU 2017128540 A RU2017128540 A RU 2017128540A RU 2017128540 A RU2017128540 A RU 2017128540A RU 2654151 C1 RU2654151 C1 RU 2654151C1
- Authority
- RU
- Russia
- Prior art keywords
- file
- behavior
- malicious
- files
- detection model
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 213
- 238000000034 method Methods 0.000 title claims description 50
- 238000004458 analytical method Methods 0.000 claims abstract description 87
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000006399 behavior Effects 0.000 claims description 282
- 230000006870 function Effects 0.000 claims description 64
- 238000010801 machine learning Methods 0.000 claims description 46
- 239000013598 vector Substances 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 20
- 238000003066 decision tree Methods 0.000 claims description 14
- 230000015572 biosynthetic process Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 44
- 230000002155 anti-virotic effect Effects 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 8
- 239000000126 substance Substances 0.000 abstract 1
- 238000012549 training Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 11
- 238000002360 preparation method Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 238000002790 cross-validation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000006386 neutralization reaction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001667 episodic effect Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000002407 reforming Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Область техникиTechnical field
Изобретение относится к антивирусным технологиям, а более конкретно к системам и способам обнаружения вредоносных файлов.The invention relates to antivirus technologies, and more particularly to systems and methods for detecting malicious files.
Уровень техникиState of the art
Бурное развитие компьютерных технологий в последнее десятилетие, а также широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.) стали мощным стимулом для использования упомянутых устройств в разнообразных сферах деятельности и для огромного количества задач (от интернет-серфинга до банковских переводов и ведения электронного документооборота). Параллельно с ростом количества вычислительных устройств и программного обеспечения, работающего на этих устройствах, быстрыми темпами росло и количество вредоносных программ.The rapid development of computer technology in the last decade, as well as the widespread dissemination of a variety of computing devices (personal computers, laptops, tablets, smartphones, etc.) have become a powerful incentive for using these devices in various fields of activity and for a huge number of tasks (from the Internet surfing to bank transfers and electronic document management). In parallel with the increase in the number of computing devices and software running on these devices, the number of malicious programs has grown rapidly.
В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для таких атак, как отказ в обслуживании (англ. DDoS - Distributed Denial of Service), или для перебора паролей методом грубой силы (англ. bruteforce) на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.Currently, there are a huge number of varieties of malware. Some of them steal personal and confidential data from users' devices (for example, logins and passwords, bank details, electronic documents). Others form so-called botnets from user devices for attacks such as denial of service (DDoS - Distributed Denial of Service) or bruteforce bruteforce passwords to other computers or computer networks. Still others offer paid content to users through intrusive ads, paid subscriptions, sending CMC to paid numbers, etc.
Для борьбы с вредоносными программами, включающей в себя обнаружение вредоносных программ, предотвращение заражения и восстановление работоспособности вычислительных устройств, зараженных вредоносными программами, применяются специализированные программы-антивирусы. Для обнаружения всего многообразия вредоносных программ антивирусные программы используют разнообразные технологии, такие как:To combat malware, which includes the detection of malware, the prevention of infection and the restoration of the performance of computing devices infected with malware, specialized anti-virus programs are used. To detect the whole variety of malicious programs, anti-virus programs use a variety of technologies, such as:
статический анализ - анализ программ на вредоносность, исключающий запуск или эмуляцию работы анализируемых программ, на основании данных содержащихся в файлах, составляющих анализируемые программы, при этом при статистическом анализе могут использоваться: static analysis - analysis of programs for malware, excluding the launch or emulation of the work of the analyzed programs, based on the data contained in the files that make up the analyzed programs, while statistical analysis can be used:
сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемых программ известному коду (сигнатуре) из базы данных сигнатур вредоносных программ; Signature analysis - search for correspondence of any part of the code of the analyzed programs to the known code (signature) from the malware signature database;
белые и черные списки - поиск вычисленных контрольных сумм от анализируемых программ (или их частей) в базе данных контрольных сумм вредоносных программ (черные списки) или базе данных контрольных сумм безопасных программ (белые списки); white and black lists - search for calculated checksums from the analyzed programs (or their parts) in the malware checksum database (black lists) or the safe checksums database (white lists);
динамический анализ - анализ программ на вредоносность на основании данных, полученных в ходе исполнения или эмуляции работы анализируемых программ, при этом при динамическом анализе могут использоваться: dynamic analysis - analysis of malware programs on the basis of data obtained during the execution or emulation of the work of the analyzed programs, while dynamic analysis can use:
эвристический анализ - эмуляция работы анализируемых программ, создание журналов эмуляции (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных поведенческих сигнатур вредоносных программ; heuristic analysis - emulation of the work of analyzed programs, creation of emulation logs (containing data on calls to API functions, passed parameters, code sections of analyzed programs, etc.) and search for correspondence of data from created logs with data from a database of behavioral signatures of malicious programs;
проактивная защита - перехват вызовов API-функций запущенных анализируемых программ, создания журналов поведения анализируемых программ (содержащих данные по вызовам API-функций, переданным параметрам, участкам кода анализируемых программ и т.д.) и поиск соответствий данных из созданных журналов с данными из базы данных вызовов вредоносных программ. proactive defense - interception of calls to API functions of running analyzed programs, creation of behavior logs of analyzed programs (containing data on calls to API functions, passed parameters, code sections of analyzed programs, etc.) and search for data matches from created logs with data from the database malware call data.
И статический, и динамический анализ обладают своими плюсами и минусами. Статический анализ менее требователен к ресурсам вычислительного устройства, на котором выполняется анализ, а поскольку он не требует исполнения или эмуляции анализируемой программы, статистический анализ более быстрый, но при этом менее эффективен, т.е. имеет более низкий процент обнаружения вредоносных программ и более высокий процент ложных срабатываний (т.е. вынесения решения о вредоносности файла, анализируемого средствами программы-антивируса, при том, что анализируемый файл является безопасным). Динамический анализ из-за того, что использует данные, получаемые при исполнении или эмуляции работы анализируемой программы, более медленный и предъявляет более высокие требования к ресурсам вычислительного устройства на котором выполняется анализ, но при этом и более эффективен. Современные антивирусные программы используют комплексный анализ, включающий в себя как элементы статического, так и динамического анализа.Both static and dynamic analysis have their pros and cons. Static analysis is less demanding on the resources of the computing device on which the analysis is performed, and since it does not require execution or emulation of the analyzed program, statistical analysis is faster, but less efficient, i.e. it has a lower percentage of malware detection and a higher percentage of false positives (i.e. deciding on the harmfulness of a file analyzed by the anti-virus program, even though the analyzed file is safe). Dynamic analysis due to the fact that it uses the data obtained during the execution or emulation of the work of the analyzed program, is slower and makes higher demands on the resources of the computing device on which the analysis is performed, but at the same time it is more efficient. Modern antivirus programs use complex analysis, which includes both elements of static and dynamic analysis.
Поскольку современные стандарты информационной безопасности требуют оперативного реагирования на вредоносные программы (в особенности на новые), на первый план выходят автоматические средства обнаружения вредоносных программ. Для эффективной работы упомянутых средств зачастую применяются элементы искусственного интеллекта и разнообразные методы машинного обучения моделей обнаружения вредоносных программ (т.е. совокупности правил принятия решения о вредоносности файла на основании некоторого набора входных данных, описывающих вредоносный файл), позволяющие эффективно обнаруживать не только хорошо известные вредоносные программы или вредоносные программы с хорошо известным вредоносным поведением, но и новые вредоносные программы, обладающие неизвестным или слабо исследованным вредоносным поведением, а также оперативно адоптироваться (обучаться) к обнаружению новых вредоносных программ.Since modern standards of information security require a rapid response to malicious programs (especially new ones), automatic malware detection tools come to the fore. For the effective operation of the mentioned tools, artificial intelligence elements and various methods of machine learning malware detection models are often used (i.e., a set of rules for deciding whether a file is harmful based on a certain set of input data describing a malicious file), which can effectively detect not only well-known malware or malware with well-known malicious behavior, but also new malware with unknown or poorly researched malware behavior, and quickly adapt (to learn) to detect new malware.
В патентной публикации US 9288220B2 описана технология обнаружения вредоносного ПО в сетевом трафике. С этой целью из данных, выбранных из сетевого трафика, выделяют характерные признаки (признаки, характеризующие тип исполняемого файла, поведение исполняемого файла, тип передаваемых по компьютерной сети данных, например тип и размер передаваемых по компьютерной сети данных, команды, выполняемые при исполнении файла, наличие заранее заданных сигнатур в файле и т.д.), в качестве которых может выступать признаковое описание выбранных данных, т.е. вектор (англ. feature vector), составленный из значений, соответствующих некоторому набору признаков для объекта, содержащего выбранные данные. Применяя модели обнаружения безопасных файлов, обнаружения вредоносных файлов и определения типов вредоносных файлов, предварительно обученные с использованием методов машинного обучения на основании шаблонов, составленных из схожих с упомянутыми характерных признаков, определяют, с каким весом и к какому типу вредоносного ПО относятся выбранные данные, и выносят решение об обнаружении вредоносного ПО в сетевом трафике.Patent publication US 9288220B2 describes a technology for detecting malware in network traffic. For this purpose, characteristic features are selected from data selected from network traffic (features characterizing the type of the executable file, the behavior of the executable file, the type of data transmitted over the computer network, for example, the type and size of data transmitted over the computer network, commands executed during file execution, the presence of predefined signatures in the file, etc.), which can be a characteristic description of the selected data, i.e. vector (eng. feature vector), composed of values corresponding to a certain set of features for the object containing the selected data. Using the models for detecting safe files, detecting malicious files, and determining the types of malicious files that have been pre-trained using machine learning methods based on patterns made up of characteristics similar to those mentioned above, determine the weight and type of malware selected data belongs to, and make a decision to detect malware in network traffic.
Хотя описанная выше технология хорошо справляется с обнаружением вредоносных файлов, обладающих некоторыми характерными признаками (т.е. данными, описывающими некоторые особенности файлов из некоторой совокупности файлов, например, наличие графического интерфейса, шифрования данных, передачи данных по компьютерной сети и т.д.), схожими с характерными признаками уже известных вредоносных файлов, она не способна справиться с обнаружением вредоносных файлов, имеющих отличные характерные признаки (хотя и схожее поведение) от характерных признаков уже известных вредоносных файлов, кроме того описанная выше технология не раскрывает такие аспекты машинного обучения моделей, как тестирование и переобучение моделей, а также формирование и переформирование (в зависимости от результатов упомянутого выше тестирования) характерных признаков.Although the technology described above copes well with the detection of malicious files that have some characteristic features (i.e., data describing some features of files from a certain set of files, for example, the presence of a graphical interface, data encryption, data transfer over a computer network, etc. ), similar to the characteristic features of already known malicious files, it is not able to cope with the detection of malicious files that have distinct characteristic features (albeit similar behavior) from the characteristic signs of already known malicious files, in addition, the technology described above does not disclose aspects of machine learning models, such as testing and retraining of models, as well as the formation and reforming (depending on the results of the above testing) of characteristic features.
Настоящее изобретение позволяет решать задачу обнаружения вредоносных файлов.The present invention allows to solve the problem of detecting malicious files.
Раскрытие изобретенияDisclosure of invention
Изобретение предназначено для антивирусной проверки файлов.The invention is intended for antivirus scanning of files.
Технический результат настоящего изобретения заключается в обнаружении вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.The technical result of the present invention is to detect malicious files using a trained model for detecting malicious files.
Еще один технический результат настоящего изобретения заключается в повышении точности обнаружения вредоносных файлов за счет использования нескольких моделей обнаружения вредоносных файлов, каждая из которых обучена для обнаружения вредоносных файлов с уникальными заранее заданными характерными признаками.Another technical result of the present invention is to increase the accuracy of detection of malicious files through the use of several models of detection of malicious files, each of which is trained to detect malicious files with unique predefined characteristic features.
Еще один технический результат настоящего изобретения заключается в повышении скорости обнаружения вредоносных файлов за счет использования нескольких моделей обнаружения вредоносных файлов, каждая из которых обучена для обнаружения вредоносных файлов с уникальными заранее заданными характерными признаками.Another technical result of the present invention is to increase the speed of detection of malicious files through the use of several models for the detection of malicious files, each of which is trained to detect malicious files with unique predefined characteristic features.
Данные результаты достигаются с помощью использования системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов, которая содержит средство анализа журнала поведения, предназначенное для формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из журнала поведения исполняемого файла, при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора; вычисления свертки от всех сформированных шаблонов поведения; передачи сформированной свертки средству вычисления степени вредоносности; средство выбора моделей обнаружения, предназначенное для выборки из базы моделей обнаружения по меньшей мере двух моделей обнаружения вредоносных файлов на основании команд и параметров, выбранных из журнала поведения исполняемого файла, при этом модель обнаружения вредоносных файлов представляет собой решающее правило определения степени вредоносности; передачи всех выбранных моделей обнаружения вредоносных файлов средству вычисления степени вредоносности; средство вычисления степени вредоносности, предназначенное для вычисления степени вредоносности исполняемого файла на основании анализа полученной свертки с помощью каждой полученной модели обнаружения вредоносных файлов; передачи каждой вычисленной степени вредоносности средству анализа; средство анализа, предназначенное для формирования на основании полученных степени вредоносности шаблона решения; признания исполняемого файла вредоносным, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения, предварительно сформированных на основании анализа вредоносных файлов, превышает заранее заданное пороговое значение.These results are achieved by using a malware detection system using a trained malware detection model that contains a behavior log analysis tool designed to generate at least one behavior pattern based on commands and parameters selected from the behavior file of the executable file, behavior is a set of at least one command and such a parameter that describes all the commands from the said set; convolution calculations from all generated behavior patterns; transmitting the generated convolution to the malware severity calculator; tool for selecting detection models, designed to select from the database of detection models at least two detection models of malicious files based on commands and parameters selected from the behavior of the executable file, while the malware detection model is a decisive rule for determining the degree of malware; transferring all selected malware detection models to a malware calculator; malware severity calculation means for calculating the severity of the executable file based on the analysis of the resulting convolution using each received malware detection model; transferring each calculated degree of harmfulness to the analysis tool; analysis tool designed to form a solution template based on the degree of severity obtained; recognition of the executable file as malicious if the degree of similarity between the generated solution template and at least one of the predefined solution templates from the database of solution templates previously generated based on the analysis of malicious files exceeds a predetermined threshold value.
В другом частном случае реализации системы система обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов дополнительно содержит средство формирования журналов поведения исполняемого файла, предназначенное для перехвата по меньшей мере одной команды по меньшей мере во время исполнения файла, эмуляции исполнения файла; определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду; формирования на основании перехваченных команд и определенных параметров журнала поведения упомянутого файла; передачи сформированного журнала поведения средству анализа журнала поведения и средству выбора моделей обнаружения.In another particular embodiment of the system, the malware detection system using the trained malware detection model further comprises an executable file behavior logger designed to intercept at least one command at least during file execution, emulate file execution; determining, for each intercepted command, at least one parameter describing said command; forming, based on the intercepted commands and certain parameters of the behavior log of the file; transmitting the generated behavior log to the behavior log analysis tool and the detection model selection tool.
Еще в одном частном случае реализации системы журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).In another particular case of the system implementation, the behavior log is a set of executable commands (hereinafter referred to as the command) from the file, where each command corresponds to at least one parameter that describes the mentioned command (hereinafter referred to as the parameter).
В другом частном случае реализации системы вычисление свертки от сформированных шаблонов поведения выполняется на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного значения.In another particular case of the implementation of the system, the convolution from the generated behavior patterns is calculated based on a predefined convolution function, such that the inverse convolution function from the result of the convolution function over all generated behavior patterns has a degree of similarity with the above behavior pattern greater than the specified value.
Еще в одном частном случае реализации системы модель обнаружения вредоносных файлов была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.In another particular case of system implementation, the malware detection model was previously trained using machine learning on at least one safe file and malicious file.
В другом частном случае реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод: градиентный бустинг на деревьях принятия решений; деревья принятия решений; ближайших соседей kNN; опорных векторов.In another particular case of implementing the system, at least the method acts as a machine learning method for the detection model: gradient boosting on decision trees; decision trees; nearest neighbors kNN; reference vectors.
Еще в одном частном случае реализации системы метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности файла в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.In another particular case of the system’s implementation, the method of training the detection model ensures the monotonicity of the change in the degree of harmfulness of the file depending on the change in the number of behavior patterns generated based on the analysis of the behavior log.
В другом частном случае реализации системы шаблон решения представляет собой композицию степеней вредоносности.In another particular case of system implementation, the solution template is a composition of the degrees of harmfulness.
Еще в одном частном случае реализации системы каждая выбранная из базы моделей обнаружения модель обнаружения вредоносных файлов обучена для обнаружения вредоносных файлов с уникальными заранее заданными характерными признаками.In another particular case of the system implementation, each malware detection model selected from the detection model database is trained to detect malicious files with unique predefined characteristic features.
В другом частном случае реализации системы дополнительно средство анализа предназначено для переобучения по меньшей мере одной модели обнаружения из базы моделей обнаружения на основании команд и параметров, выбранных из журнала поведения исполняемого файла, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения превышает заранее заданное пороговое значение, а степени вредоносности, вычисленные с помощью упомянутых моделей обнаружения вредоносного файла, не превышают заранее заданного порогового значения.In another particular case of the system implementation, the analysis tool is additionally designed to retrain at least one detection model from the database of detection models based on commands and parameters selected from the behavior of the executable file, in the case when the degree of similarity between the generated solution template and at least one from predefined solution templates from the database of solution templates exceeds a predetermined threshold value, and the degree of harmfulness calculated using the mentioned models is detected The malicious file does not exceed a predetermined threshold value.
Данные результаты достигаются с помощью использования способа обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов, при этом способ содержит этапы, которые реализуются с помощью средств из системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов и на которых формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из журнала поведения исполняемого файла, при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора; вычисляют свертку от всех сформированных на предыдущем этапе шаблонов поведения; выбирают из базы моделей обнаружения по меньшей мере две модели обнаружения вредоносных файлов на основании команд и параметров, выбранных из журнала поведения исполняемого файла, при этом модель обнаружения вредоносных файлов представляет собой решающее правило определения степени вредоносности; вычисляют степень вредоносности исполняемого файла на основании анализа вычисленной на предыдущем этапе свертки с помощью каждой выбранной на предыдущем этапе модели обнаружения вредоносных файлов; формируют на основании полученных на предыдущем этапе степеней вредоносности шаблона решения; признают исполняемый файл вредоносным, в случае, когда степень схожести между сформированным на предыдущем этапе шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения превышает заранее заданное пороговое значение.These results are achieved using the method for detecting malicious files using a trained model for detecting malicious files, the method comprising the steps that are implemented using tools from a malware detection system using a trained model for detecting malicious files and at least one pattern is generated behavior based on commands and parameters selected from the behavior log of the executable file, while the behavior pattern is a set of at least one command and such a parameter that describes all the commands from the said set; compiling a convolution from all the behavior patterns generated in the previous step; at least two malware detection models are selected from the database of detection models based on commands and parameters selected from the behavior file of the executable file, while the malware detection model is a decisive rule for determining the degree of malware; calculate the degree of harmfulness of the executable file based on the analysis of the convolution calculated in the previous step using each malware detection model selected in the previous step; form a decision template based on the degrees of harmfulness obtained in the previous step; recognize the executable file as malicious if the degree of similarity between the solution template generated at the previous stage and at least one of the predetermined solution templates from the solution template database exceeds a predetermined threshold value.
В другом частном случае реализации способа дополнительно перехватывают по меньшей мере одну команду по меньшей мере во время исполнения файла, эмуляции исполнения файла; определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду; формируют на основании перехваченных команд и определенных параметров журнала поведения упомянутого файла.In another particular case, the method additionally intercepts at least one command at least during file execution, emulating file execution; determining for each intercepted command at least one parameter describing said command; form on the basis of intercepted commands and certain parameters of the behavior log of the file.
Еще в одном частном случае реализации способа журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).In another particular case of the method, the behavior log is a set of executable commands (hereinafter referred to as the command) from the file, where each command corresponds to at least one parameter describing the command (hereinafter referred to as the parameter).
В другом частном случае реализации способа вычисляют свертку от сформированных шаблонов поведения на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного значенияIn another particular case of the method, the convolution from the generated behavior patterns is calculated based on a predetermined convolution function, such that the inverse convolution function from the result of the said convolution function over all generated behavior patterns has a degree of similarity with the said behavior pattern greater than the specified value
Еще в одном частном случае реализации способа модель обнаружения вредоносных файлов была предварительно обучена методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.In another particular case of the method, the malware detection model has been previously trained using machine learning on at least one safe file and malicious file.
В другом частном случае реализации способа в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод: градиентный бустинг на деревьях принятия решений; деревья принятия решений; ближайших соседей kNN; опорных векторов.In another particular case of implementing the method, at least the method acts as a machine learning method for the detection model: gradient boosting on decision trees; decision trees; nearest neighbors kNN; reference vectors.
Еще в одном частном случае реализации способа метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности файла в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.In another particular case of implementing the method, the method of teaching the detection model provides a monotonic change in the degree of harmfulness of the file depending on changes in the number of behavior patterns generated based on the analysis of the behavior log.
В другом частном случае реализации способа шаблон решения представляет собой композицию степеней вредоносности.In another particular case of the method, the solution template is a composition of the degrees of harmfulness.
Еще в одном частном случае реализации способа каждая выбранная из базы моделей обнаружения модель обнаружения вредоносных файлов обучена для обнаружения вредоносных файлов с уникальными заранее заданными характерными признаками.In another particular case of implementing the method, each malware detection model selected from the detection model base is trained to detect malicious files with unique predefined characteristic features.
В другом частном случае реализации способа переобучают по меньшей мере одну модель обнаружения из базы моделей обнаружения на основании команд и параметров, выбранных из журнала поведения исполняемого файла, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения превышает заранее заданное пороговое значение, а степени вредоносности, вычисленные с помощью упомянутых моделей обнаружения вредоносного файла, не превышают заранее заданного порогового значения.In another particular case of the method implementation, at least one detection model from the detection model database is retrained based on the commands and parameters selected from the behavior file of the executable file, in the case when the degree of similarity between the generated solution template and at least one of the predefined solution templates from the database of solution templates exceeds a predetermined threshold value, and the severity calculated using the said malware detection models does not exceed a predetermined threshold th threshold value.
Краткое описание чертежейBrief Description of the Drawings
Фиг. 1 представляет структурную схему системы машинного обучения модели обнаружения вредоносных файлов.FIG. 1 is a block diagram of a machine learning system for detecting malicious files.
Фиг. 2 представляет структурную схему способа машинного обучения модели обнаружения вредоносных файлов.FIG. 2 is a flow diagram of a machine learning method for detecting malicious files.
Фиг. 3 представляет примеры динамики изменения степени вредоносности от количества шаблонов поведения.FIG. 3 presents examples of dynamics of changes in the degree of harmfulness in relation to the number of patterns of behavior.
Фиг. 4 представляет пример схемы связей между элементами шаблонов поведения.FIG. 4 is an example of a relationship scheme between elements of behavior patterns.
Фиг. 5 представляет структурную схему системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.FIG. 5 is a block diagram of a malware detection system using a trained malware detection model.
Фиг. 6 представляет структурную схему способа обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.FIG. 6 is a flow diagram of a method for detecting malicious files using a trained model for detecting malicious files.
Фиг. 7 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.FIG. 7 is an example of a general purpose computer system, a personal computer, or a server.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.Although the invention may have various modifications and alternative forms, the characteristic features shown by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to its specific embodiment. On the contrary, the purpose of the description is to cover all changes, modifications that are included in the scope of this invention, as defined by the attached formula.
Описание вариантов осуществления изобретенияDescription of Embodiments
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than the specific details necessary to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined in the scope of the attached claims.
Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.We introduce a number of definitions and concepts that will be used in the description of embodiments of the invention.
Вредоносный файл - файл, исполнение которого заведомо способно привести к несанкционированному уничтожению, блокированию, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации.Malicious file - a file whose execution is obviously capable of leading to unauthorized destruction, blocking, modification, copying of computer information or the neutralization of computer information protection tools.
Вредоносное поведение исполняемого файла - совокупность действий, которые могут быть выполнены при исполнении упомянутого файла и которые заведомо способны привести к несанкционированному уничтожению, блокированию, модификации, копированию информации или нейтрализации средств защиты компьютерной информации.Malicious behavior of an executable file - a set of actions that may be performed during the execution of the mentioned file and which are obviously capable of leading to unauthorized destruction, blocking, modification, copying of information or neutralization of computer information protection tools.
Вредоносная активность исполняемого файла - совокупность действий, выполненных упомянутым файлом в соответствии с его вредоносным поведением.Malicious activity of an executable file - a set of actions performed by the said file in accordance with its malicious behavior.
Вычислительное устройство среднестатистического пользователя - гипотетическое (теоретическое) вычислительное устройство, обладающее усредненными характеристиками вычислительных устройств заранее выбранной группы пользователей, на котором исполняются те же приложения, что и на вычислительных устройствах упомянутых пользователей.The average user's computing device is a hypothetical (theoretical) computing device that has average characteristics of computing devices of a pre-selected group of users, on which the same applications are executed as on the computing devices of the mentioned users.
Команда, исполняемая вычислительным устройством, - совокупность машинных инструкций или инструкций сценариев, исполняемых вычислительным устройством на основании параметров упомянутых инструкций, называемых параметрами команды или параметрами, описывающими упомянутую команду.A command executed by a computing device is a set of machine instructions or script instructions executed by a computing device based on parameters of said instructions called command parameters or parameters describing said command.
Лексический анализ («токенизация», от англ. tokenizing) - процесс аналитического разбора входной последовательности символов на распознанные группы (далее - лексемы) с целью формирования на выходе идентификационных последовательностей (далее - токены).Lexical analysis ("tokenization", from the English tokenizing) is the process of analytic analysis of the input sequence of characters into recognized groups (hereinafter - tokens) in order to form identification sequences (hereinafter - tokens) at the output.
Токен - идентификационная последовательность, формируемая из лексемы в процессе лексического анализа.A token is an identification sequence formed from a token in the process of lexical analysis.
Фиг. 1 представляет структурную схему системы машинного обучения модели обнаружения вредоносных файлов.FIG. 1 is a block diagram of a machine learning system for detecting malicious files.
Структурная схема системы машинного обучения состоит из средства подготовки обучающих выборок 111, средства формирования журналов поведения 112, средства формирования шаблонов поведения 121, средства формирования функций свертки 122, средства создания модели обнаружения 131, средства машинного обучения модели обнаружения 132, средства вычисления степени вредоносности 142, средства управления ресурсами 143.The structural diagram of a machine learning system consists of means for preparing
В одном из вариантов реализации системы упомянутая система машинного обучения модели обнаружения представляет собой клиент-серверную архитектуру, в которой средство подготовки обучающих выборок 111, средство формирования журналов поведения 112, средство формирования шаблонов поведения 121, средство формирования функций свертки 122, средство создания модели обнаружения 131 и средство машинного обучения модели обнаружения 132 работают на стороне сервера, а средство формирования шаблонов поведения 121, средство вычисления степени вредоносности 142 и средство управления ресурсами 143 работают на стороне клиента.In one embodiment of the system, the said machine learning system of the detection model is a client-server architecture in which the training
Например, в качестве клиента могут выступать вычислительные устройства пользователя такие, как персональный компьютер, ноутбук, смартфон и т.д., а в качестве сервера могут выступать вычислительные устройства антивирусной компании такие, как распределенные системы серверов, с помощью которых кроме всего прочего предварительно осуществляют сбор и антивирусный анализ файлов, создание антивирусных записей и т.д., при этом система машинного обучения модели обнаружения вредоносных файлов будет использована для обнаружения вредоносных файлов на клиенте, тем самым повышая эффективность антивирусной защиты упомянутого клиента.For example, a client can be a user's computing devices such as a personal computer, laptop, smartphone, etc., and a server can be an anti-virus company’s computing devices, such as distributed server systems, which, among other things, are preliminarily performed collection and antivirus analysis of files, creation of antivirus entries, etc., while the machine learning system for detecting malicious files will be used to detect malicious files in the client, thereby increasing the effectiveness of anti-virus protection of said client.
Еще в одном примере в качестве как клиента, так и сервера могут выступать вычислительные устройства только антивирусной компании, при этом система машинного обучения модели обнаружения вредоносных файлов будет использована для автоматизированного антивирусного анализа файлов и создания антивирусных записей, тем самым повышая эффективность работы антивирусной компании.In another example, only the antivirus company can act as a client or server, while the machine learning system for the malware detection model will be used for automated antivirus analysis of files and creation of antivirus entries, thereby increasing the efficiency of the antivirus company.
Средство подготовки обучающих выборок 111 предназначено для:The training
выборки по меньшей мере одного файла из базы файлов согласно заранее заданным правилам формирования обучающей выборки файлов, впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять обучение модели обнаружения; fetching at least one file from the file database according to predefined rules for generating a training sample of files; subsequently, based on the analysis of the selected files, the machine tool for detecting
передачи выбранных файлов средству формирования журналов поведения 112. transferring the selected files to the
В одном из вариантов реализации системы в базе файлов хранится по меньшей мере один безопасный файл и один вредоносный файл.In one embodiment of the system, at least one secure file and one malicious file are stored in the file database.
Например, в базе файлов в качестве безопасных файлов могут храниться файлы операционной системы «Windows», а в качестве вредоносных - файлы бэкдоров (англ. backdoor), приложений, осуществляющих несанкционированный доступ к данным и удаленному управлению операционной системой и компьютером в целом. При этом обученная на упомянутых файлах с помощью методов машинного обучения модель обнаружения вредоносных файлов будет способна с высокой точностью (точность тем выше, чем больше файлов было использовано для обучения упомянутой модели обнаружения) обнаруживать вредоносные файлы, обладающие функционалом, схожим с функционалом упомянутых выше бэкдоров.For example, files of the Windows operating system can be stored in the file database as safe files, and backdoor files, applications that provide unauthorized access to data and remote control of the operating system and the computer as a whole, can be stored as malicious files. At the same time, the malware detection model trained on the mentioned files using machine learning methods will be able to detect malware with the same functionality as the above mentioned backdoors with high accuracy (the higher the more files used to train the said detection model).
Еще в одном из вариантов реализации системы дополнительно в базе файлов хранятся по меньшей мере:In another embodiment of the system, at least:
подозрительные файлы (англ. riskware) - файлы, не являющиеся вредоносными, но способные выполнять вредоносные действия; suspicious files (eng. riskware) - files that are not malicious, but capable of performing malicious actions;
неизвестные файлы - файлы, вредоносность которых не была определена и остается неизвестной (т.е. файлы, не являющиеся безопасными, вредоносными, подозрительными и т.д.). unknown files - files whose maliciousness has not been determined and remains unknown (i.e. files that are not safe, malicious, suspicious, etc.).
Например, в базе файлов в качестве подозрительных файлов могут выступать файлы приложений удаленного администрирования (к примеру, RAdmin), архивации или шифрования данных (к примеру, WinZip) и т.д.For example, files of remote administration applications (for example, RAdmin), archiving or encryption of data (for example, WinZip), etc. can act as suspicious files in the file database.
Еще в одном из вариантов реализации системы в базе файлов хранятся файлы по меньшей мере:In yet another embodiment of the system, at least files are stored in the file database:
собранные антивирусными поисковыми роботами (англ. web crawler); collected by antivirus search robots (eng. web crawler);
переданные пользователями. submitted by users.
При этом упомянутые файлы анализируются антивирусными экспертами, в том числе с помощью автоматических средств анализа файлов, для последующего вынесения решение о вредоносности упомянутых файлов.Moreover, the mentioned files are analyzed by anti-virus experts, including using automatic file analysis tools, for the subsequent decision on the harmfulness of the mentioned files.
Например, в базе файлов могут храниться файлы, переданные пользователями со своих вычислительных устройств антивирусным компаниям для проверки на вредоносность, при этом переданные файлы могут быть как безопасными, так и вредоносными, при этом распределение между количеством упомянутых безопасных и вредоносных файлов близко к распределению между количеством всех безопасных и вредоносных файлов, расположенных на вычислительных устройствах упомянутых пользователей (т.е. отношение количества упомянутых безопасных к количеству упомянутых вредоносных файлов отличается от отношения количества всех безопасных к количеству всех вредоносных файлов, расположенных на вычислительных устройствах упомянутых пользователей на величину меньше заданного порогового значенияFor example, a file database can store files transferred by users from their computing devices to anti-virus companies to check for malware, while the transferred files can be both safe and malicious, while the distribution between the number of safe and malicious files mentioned is close to the distribution between the number of all safe and malicious files located on the computing devices of the mentioned users (i.e. the ratio of the number of said safe to the number of mentioned These malicious files differ from the ratio of the number of all safe to the number of all malicious files located on the computing devices of the mentioned users by an amount less than the specified threshold
). В отличие от файлов, переданных пользователями (т.е. файлов, субъективно подозрительных), файлы, собранные антивирусными поисковыми роботами, созданными для поиска подозрительных и вредоносных файлов, чаще оказываются вредоносными.) Unlike files transferred by users (i.e., files subjectively suspicious), files collected by anti-virus search robots designed to search for suspicious and malicious files are more likely to be malicious.
Еще в одном из вариантов реализации системы в качестве критериев, согласно которым выбираются файлы из базы файлов, выступает по меньшей мере одно из условий:In another embodiment of the system’s implementation, at least one of the following conditions acts as criteria according to which files are selected from the file database:
распределение между безопасными и вредоносными файлами, выбранными из базы файлов, соответствует распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя; the distribution between safe and malicious files selected from the file database corresponds to the distribution between safe and malicious files located on the computing device of the average user;
распределение между безопасными и вредоносными файлами, выбранными из базы файлов, соответствует распределению между безопасными и вредоносными файлами, собранными с помощью антивирусных поисковых роботов; the distribution between safe and malicious files selected from the file database corresponds to the distribution between safe and malicious files collected using anti-virus search robots;
параметры файлов, выбранных из базы файлов, соответствуют параметрам файлов, расположенных на вычислительном устройстве среднестатистического пользователя; parameters of files selected from the database of files correspond to parameters of files located on the computing device of the average user;
количество выбранных файлов соответствует заранее заданному значению, а сами файлы выбраны случайным образом. the number of selected files corresponds to a predetermined value, and the files themselves are selected randomly.
Например, база файлов содержит 100000 файлов, среди которых 40% безопасных файлов и 60% вредоносных файлов. Из базы файлов выбирают 15000 файлов (15% от общего количества файлов, хранящихся в базе файлов) таким образом, чтобы распределение между выбранными безопасными и вредоносными файлами соответствовало распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя и составляло 95 к 5. С этой целью из базы файлов случайным образом выбирают 14250 безопасных файлов (35,63% от общего числа безопасных файлов) и 750 вредоносных файлов (1,25% от общего числа вредоносных файлов).For example, the file database contains 100,000 files, including 40% safe files and 60% malicious files. 15,000 files are selected from the file database (15% of the total number of files stored in the file database) so that the distribution between the selected safe and malicious files corresponds to the distribution between the safe and malicious files located on the average user's computing device and is 95 to 5. For this purpose, 14250 safe files (35.63% of the total number of safe files) and 750 malicious files (1.25% of the total number of malicious files) are randomly selected from the file database.
Еще в одном примере база файлов содержит 1250000 файлов, среди которых 95% безопасных файлов и 5% вредоносных файлов, т.е. распределение между безопасными и вредоносными файлами, хранящимися в базе файлов, соответствует распределению между безопасными и вредоносными файлами, расположенными на вычислительном устройстве среднестатистического пользователя. Среди упомянутых файлов случайным образом выбирают 5000 файлов, среди которых с большой вероятностью окажется ~4750 безопасных файлов и ~250 вредоносных файлов.In another example, the file database contains 1250,000 files, including 95% safe files and 5% malicious files, i.e. the distribution between safe and malicious files stored in the file database corresponds to the distribution between safe and malicious files located on the computing device of the average user. Among the mentioned files, 5,000 files are randomly selected, among which with a high probability there will be ~ 4750 safe files and ~ 250 malicious files.
Еще в одном из вариантов реализации системы в качестве параметров файла выступает по меньшей мере:In another embodiment of the system, at least:
вредоносность файла, характеризующая, является ли файл безопасным, вредоносным, потенциально опасным или поведение вычислительной системы при исполнении файла не определено и т.д.; file harmfulness, characterizing whether the file is safe, malicious, potentially dangerous, or the behavior of the computing system during file execution is not defined, etc .;
количество команд, выполненных вычислительным устройством во время исполнения файла; the number of instructions executed by the computing device during file execution;
размер файла; file size;
приложения, использующие файл. applications using the file.
Например, из базы файлов выбирают вредоносные файлы, представляющие собой сценарии на языке «ActionScript», выполняемые приложением «Adobe Flash», и не превышающие размер в 5КБ.For example, malicious files are selected from the file database, which are scripts in the ActionScript language executed by the Adobe Flash application and do not exceed 5KB.
Еще в одном из вариантов реализации системы дополнительно средство подготовки обучающих выборок 111 предназначено для:In another embodiment of the system, an additional means for preparing
выборки по меньшей мере еще одного файла из базы файлов согласно заранее заданным правилам формирования тестовой выборки файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять проверку обученной модели обнаружения; selecting at least one more file from the file database according to predefined rules for generating a test sample of files, and subsequently, based on the analysis of the selected files, the machine tool for detecting
передачи выбранных файлов средству формирования журналов поведения 112. transferring the selected files to the
Например, база файлов содержит 75000 файлов, среди которых 20% безопасных файлов и 80% вредоносных файлов. Изначально из базы файлов выбирают 12500 файлов, среди которых 30% безопасных файлов и 70% вредоносных файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять обучение модели обнаружения, затем из оставшихся 62500 файлов выбирают 2500 файлов, среди которых 60% безопасных файлов и 40% вредоносных файлов, при этом впоследствии на основании анализа выбранных файлов средство машинного обучения модели обнаружения 132 будет выполнять проверку обученной модели обнаружения. Данные, сформированные описанным выше образом, называется набором данных для перекрестной проверки (англ. cross-validation set of data).For example, the file database contains 75,000 files, including 20% safe files and 80% malicious files. Initially, 12,500 files are selected from the file database, among which 30% of safe files and 70% of malicious files, and subsequently, based on the analysis of the selected files, the detection model
Средство формирования журналов поведения 112 предназначено для:Means of generating behavior logs 112 is intended for:
перехвата по меньшей мере одной исполняемой команды по меньшей мере во время: intercepting at least one executable command at least during:
исполнения полученного файла, execution of the received file,
эмуляции исполнения полученного файла, при этом эмуляция исполнения файла включает в том числе открытие упомянутого файла (например, открытие сценария интерпретатором); emulating the execution of the received file, while emulating the execution of the file includes, among other things, opening the mentioned file (for example, opening the script by the interpreter);
определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду; determining, for each intercepted command, at least one parameter describing said command;
формирования на основании перехваченных команд и определенных параметров журнала поведения полученного файла, при этом журнал поведения представляет собой совокупность перехваченных команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один определенный параметр, описывающий упомянутую команду (далее - параметр). forming, based on the intercepted commands and certain parameters of the behavior log of the received file, the behavior log is a collection of intercepted commands (hereinafter referred to as the command) from the file, where at least one specific parameter corresponding to the mentioned command (hereinafter referred to as the parameter) corresponds to each command.
Например, перехваченные во время исполнения вредоносного файла, собирающего пароли и передающего их по компьютерной сети, команды и вычисленные параметры упомянутых команд могут иметь вид:For example, commands intercepted during execution of a malicious file that collects passwords and sends them over a computer network may look like:
В одном из вариантов реализации системы перехват команд из файла осуществляется с помощью по меньшей мере:In one embodiment of the system, the interception of commands from a file is carried out using at least:
специализированного драйвера; specialized driver;
средства отладки (англ. debugger); debugging tools;
гипервизора (англ. hypervisor). hypervisor.
Например, перехват команд при исполнении файла и определение их параметров осуществляется с помощью драйвера, использующего перехват сплайсингом (англ. splicing) точки входа (англ. entry point) WinAPI-функции.For example, interception of commands during the execution of a file and determination of their parameters is carried out using a driver that uses splicing (English entry) of the entry point (English entry point) of a WinAPI function.
Еще в одном примере перехват команд при эмуляции работы файла осуществляется непосредственно средствами эмулятора, выполняющего упомянутую эмуляцию, который определяет параметры команды, которую требуется эмулировать.In another example, the interception of commands when emulating a file is done directly by means of an emulator that performs the above emulation, which determines the parameters of the command that you want to emulate.
Еще в одном примере перехват команд при исполнении файла на виртуальной машине осуществляется средствами гипервизора, который определяет параметры команды, которую требуется эмулировать.In another example, the interception of commands when executing a file on a virtual machine is carried out using the hypervisor, which determines the parameters of the command that you want to emulate.
Еще в одном из вариантов реализации системы в качестве перехваченных команд из файла выступают по меньшей мере:In another embodiment of the system, at least:
API-функции; API functions
совокупности машинных инструкций, описывающих заранее заданный набор действий (макрокоманд). a set of machine instructions that describe a predefined set of actions (macros).
Например, очень часто вредоносные программы осуществляют поиск некоторых файлов и модификацию их атрибутов, для чего выполняется последовательность команд, таких как:For example, very often malicious programs search for some files and modify their attributes, for which a sequence of commands is performed, such as:
, что может быть в свою очередь описано лишь одной командой, which can in turn be described by only one command
Еще в одном из вариантов реализации системы каждой команде ставится в соответствие свой уникальный идентификатор.In another embodiment of the system, each team is assigned its own unique identifier.
Например, всем WinAPI функциям могут быть поставлены в соответствие числа в диапазоне от 0×0000 до 0×8000, при этом каждой WinAPI-функции соответствует свое уникальное число (к примеру, ReadFile→0×00f0, ReadFileEx→0×00f1, connect→0×03A2).For example, all WinAPI functions can be assigned numbers in the range from 0 × 0000 to 0 × 8000, and each WinAPI function has its own unique number (for example, ReadFile → 0 × 00f0, ReadFileEx → 0 × 00f1, connect → 0 × 03A2).
Еще в одном из вариантов реализации системы нескольким командам, описывающим схожие действия, ставится в соответствие единый идентификатор.In another embodiment of the system, several teams describing similar actions are assigned a single identifier.
Например, всем командам, таким как ReadFile, ReadFileEx, ifstream, getline, getchar и т.д., описывающим чтение данных из файла, ставится в соответствие идентификатор _read_data_file (0×70F0).For example, all commands, such as ReadFile, ReadFileEx, ifstream, getline, getchar, etc. that describe reading data from a file are assigned the identifier _read_data_file (0 × 70F0).
Средство формирования шаблонов поведения 121 предназначено для:Means of creating patterns of
формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из журнала поведения, при этом журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр), шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора (далее - элементы шаблона поведения); the formation of at least one behavior template based on commands and parameters selected from the behavior log, and the behavior log is a set of executable commands (hereinafter referred to as the command) from a file, where at least one parameter describing the said command corresponds to each command (hereinafter - parameter), the behavior template is a set of at least one command and such a parameter that describes all the commands from the said set (hereinafter referred to as elements of the behavior template);
передачи сформированных шаблонов поведения средству формирования функций свертки 122. transmitting the generated patterns of behavior to the means of forming convolution functions 122.
Например, из журнала поведения выбирают следующие команды ci (от англ. command) и параметры pi (от англ. parameter):For example, from the behavior log, the following commands c i (from the English command) and parameters p i (from the English parameter) are selected:
{c1,p1, p2, p3},{c 1 , p 1 , p 2 , p 3 },
{c2, p1, p4},{c 2 , p 1 , p 4 },
{c3, p5},{c 3 , p 5 },
{c2, p5},{c 2 , p 5 },
{c1,p5, p6},{c 1 , p 5 , p 6 },
{с3, p2}. {3, p 2}.
На основании выбранных команд и параметров формируют шаблоны поведения, содержащие по одной команде и одному параметру, описывающему упомянутую команду:Based on the selected commands and parameters, behavior patterns are formed containing one command and one parameter describing the command:
{c1, p1}, {с1, р2}, {с1, р3}, {c1, p5}, {с1, p6},{c 1 , p 1 }, {c 1 , p 2 }, {c 1 , p 3 }, {c 1 , p 5 }, {c 1 , p 6 },
{c2, p1}, {c2, p4}, {c2, p5},{c 2 , p 1 }, {c 2 , p 4 }, {c 2 , p 5 },
{c3, p2}, {с3, p5}.{c 3 , p 2 }, {c 3 , p 5 }.
Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по одному параметру и все команды, описываемые упомянутым параметром:Then, based on the generated patterns, behavior patterns are additionally formed, containing one parameter and all the commands described by the mentioned parameter:
{c1, c2, p3},{c 1 , c 2 , p 3 },
{c1, c3, p2},{c 1 , c 3 , p 2 },
{c1, c2, c3, p5},{c 1 , c 2 , c 3 , p 5 },
Затем на основании сформированных шаблонов дополнительно формируют шаблоны поведения, содержащие по несколько параметров и все команды, одновременно описываемые упомянутыми параметрами:Then, based on the generated patterns, behavior patterns are additionally formed, containing several parameters and all the commands simultaneously described by the mentioned parameters:
{c1, c2, p1, p5}.{c 1 , c 2 , p 1 , p 5 }.
В одном из вариантов реализации системы команды и параметры из журнала поведения выбирают на основании правил, по которым по меньшей мере выбирают:In one embodiment of the system implementation, the commands and parameters from the behavior log are selected based on the rules by which at least they select:
последовательно каждую i-ю команду и описывающие ее параметры, при этом шаг i является заранее заданным; sequentially each i-th command and parameters describing it, while step i is predetermined;
команды, выполненные через заранее заданный промежуток времени (например, каждую десятую секунду) после предыдущей выбранной команды, и описывающие их параметры; commands executed after a predetermined period of time (for example, every tenth second) after the previous selected command, and describing their parameters;
команды и описывающие их параметры, выполненные в заранее заданном временном диапазоне с начала исполнения файла; commands and parameters describing them, executed in a predetermined time range from the beginning of file execution;
команды из заранее заданного списка и описывающие их параметры; commands from a predefined list and describing their parameters;
параметры из заранее заданного списка и описываемые упомянутыми параметрами команды; parameters from a predefined list and described by the command parameters mentioned;
первые или случайные k параметров команд, в случае, когда количество параметров команд больше заранее заданного порогового значения. first or random k command parameters, in the case when the number of command parameters is greater than a predetermined threshold value.
Например, из журнала поведения выбирают все команды для работы с жестким диском (такие как CreateFile, ReadFile, WriteFile, DeleteFile, GetFileAttribute и т.д.) и все параметры, описывающие выбираемые команды.For example, from the behavior log, all commands for working with the hard disk (such as CreateFile, ReadFile, WriteFile, DeleteFile, GetFileAttribute, etc.) and all parameters describing the selected commands are selected.
Еще в одном примере из журнала поведения выбирают каждую тысячную команду и все параметры, описывающие выбираемые команды.In another example, every thousandth command and all parameters describing the selected commands are selected from the behavior log.
В одном из вариантов реализации системы журналы поведения заранее сформированы из по меньшей мере двух файлов, один из которых - безопасный файл, а другой - вредоносный файл.In one embodiment of the system, the behavior logs are pre-generated from at least two files, one of which is a safe file and the other is a malicious file.
Еще в одном из вариантов реализации системы каждому элементу шаблона поведения ставится в соответствие такая характеристика, как тип элемента шаблона поведения. В качестве типа элемента шаблона поведения (команды или параметра) выступает по меньшей мере:In yet another embodiment of the system, each element of the behavior pattern is associated with a characteristic such as the type of element of the behavior pattern. The type of element of the behavior template (command or parameter) is at least:
в случае, если элемент шаблона поведения может быть выражен в виде числа - «численный диапазон» in case the element of the behavior pattern can be expressed as a number - “numerical range”
например, для элемента шаблона поведения, представляющего собой параметр porthtml = 80 команды connect, тип упомянутого элемента шаблона поведения может быть «численное значение от 0×0000 до 0×FFFF»,for example, for a behavior pattern element representing the port html = 80 parameter of the connect command, the type of the behavior pattern element mentioned may be “a numerical value from 0 × 0000 to 0 × FFFF”,
в случае, если элемент шаблона поведения может быть выражен в виде строки - «строка» in case the element of the behavior template can be expressed as a string - “string”
например, для элемента шаблона поведения, представляющего собой команду connect, тип упомянутого элемента шаблона поведения может быть «строка размером менее 32 символов»,for example, for a behavior template element that is a connect command, the type of the mentioned behavior template element may be “a string of less than 32 characters”,
в случае, если элемент шаблона поведения может быть выражен в виде данных, описываемых заранее заданной структурой данных, тип упомянутого элемента шаблона поведения может быть «структура данных» in case the element of the behavior template can be expressed in the form of data described by a predetermined data structure, the type of said element of the behavior template can be “data structure”
например, для элемента шаблона поведения, представляющего собой параметр src=0×336b9a480d490982cdd93e2e49fdeca7 команды find_record, тип упомянутого элемента шаблона поведения может быть «структура данных MD5».for example, for a behavior pattern element that is the parameter src = 0 × 336b9a480d490982cdd93e2e49fdeca7 of the find_record command, the type of the behavior pattern element mentioned may be “MD5 data structure”.
Еще в одном из вариантов реализации системы дополнительно в шаблон поведения в качестве элементов шаблона поведения включаются токены, сформированные на основании лексического анализа упомянутых элементов шаблона поведения с использованием по меньшей мере:In yet another embodiment of the system, tokens formed on the basis of the lexical analysis of the mentioned elements of the behavior template using at least:
заранее заданных правил формирования лексем, predefined rules for the formation of tokens,
заранее обученной рекурсивной нейронной сети (англ. recurrent neural network). a pre-trained recursive neural network.
Например, с помощью лексического анализа параметраFor example, using lexical analysis of a parameter
на основании правил формирования лексем:based on the rules for the formation of tokens:
если строка содержит путь к файлу, определить диск, на котором расположен файл; if the line contains the path to the file, determine the drive on which the file is located;
если строка содержит путь к файлу, определить папки, в которых расположен файл; if the line contains the path to the file, determine the folders in which the file is located;
если строка содержит путь к файлу, определить расширение файла; if the line contains the path to the file, determine the file extension;
где в качестве лексем выступают:where the tokens are:
пути к файлу; file paths;
папки, в которых расположены файлы; folders in which the files are located;
имена файлов; file names;
расширения файлов; file extensions;
могут быть сформированы токены:Tokens can be formed:
«пути к файлу» →“File paths” →
«папки, в которых расположены файлы» →“Folders in which files are located” →
«расширения файлов» →"File extensions" →
Еще в одном примере с помощью лексического анализа параметровIn another example, using lexical analysis of parameters
на основании правила формирования лексемы:based on the rule of the formation of the token:
если параметры представляют собой IP-адреса, определить битовую маску (или ее аналог, выраженный через метасимволы), описывающую упомянутые IP-адреса (т.е. такую битовую маску М, для которой верно равенство М∧IP=const для всех упомянутых IP); if the parameters are IP addresses, define a bit mask (or its analog expressed in metacharacters) that describes the mentioned IP addresses (i.e. such a bit mask M for which the equality М∧IP = const for all the mentioned IPs is true) ;
может быть сформирован токен:a token can be formed:
Еще в одном примере из всех доступных параметров, в качестве которых выступают числа, формируют токены чисел в заранее заданных диапазонах:In another example, of all the available parameters, which are numbers, form tokens of numbers in predetermined ranges:
23, 16, 7224, 6125152186, 512, 2662162, 363627632, 737382, 52, 2625, 3732, 812, 3671, 80, 320023, 16, 7224, 6125152186, 512, 2662162, 363627632, 737382, 52, 2625, 3732, 812, 3671, 80, 3200
сортируют по диапазонам чисел:sort by ranges of numbers:
Еще в одном из вариантов реализации системы токены формируются из элементов шаблона поведения, в качестве которых выступают строки.In another embodiment of the system implementation, tokens are formed from elements of the behavior template, which are strings.
Например, шаблон поведения представляет собой путь к файлу, содержащему названия диска, директории, файла, расширения файла и т.д. В этом случае токен может представлять собой название диска и расширение файла.For example, a behavior pattern is a path to a file containing the names of the drive, directory, file, file extension, etc. In this case, the token may be the name of the disk and the file extension.
Средство формирования функций свертки 122 предназначено для:Convolution function forming means 122 is intended for:
формирования такой функции свертки от шаблона поведения, что обратная функция свертки от результата такой функции свертки над полученным шаблоном поведения будет иметь степень схожести с полученным шаблоном поведения больше заданного значения, т.е. the formation of such a convolution function from the behavior pattern that the inverse convolution function of the result of such a convolution function over the obtained behavior pattern will have a degree of similarity with the obtained behavior pattern is greater than the specified value, i.e.
r~g-1(g(r))r ~ g -1 (g (r))
где:Where:
ri - шаблон поведения,r i is the behavior pattern,
g - функция свертки,g is the convolution function,
g-1 - обратная функция свертки.g -1 is the inverse convolution function.
передачи сформированной функции свертки средству машинного обучения модели обнаружения 132. transmitting the generated convolution function to the machine
В одном из вариантов реализации системы средство формирования функций свертки дополнительно предназначено для:In one embodiment of the system, the means of forming convolution functions is additionally intended for:
вычисления признакового описания (англ. feature vector) шаблона поведения на основании полученного шаблона поведения, при этом признаковое описание шаблона поведения может быть выражено как сумма хэш-сумм от элементов шаблона поведения; computing a feature description of the behavior pattern based on the resulting behavior pattern, wherein the feature description of the behavior pattern can be expressed as the sum of the hash sums from the elements of the behavior pattern;
формирования функции свертки от признакового описания шаблона поведения, при этом функция свертки представляет собой хэш-функцию, такую, что степень схожести вычисленного признакового описания и результата обратной хэш-функции от результата упомянутой хэш-функции от вычисленного признакового описания больше заранее заданного значения. the formation of the convolution function from the characteristic description of the behavior pattern, wherein the convolution function is a hash function such that the degree of similarity of the calculated characteristic description and the result of the inverse hash function from the result of the said hash function from the calculated characteristic description is greater than a predetermined value.
Еще в одном из вариантов реализации системы функция свертки формируется методом метрического обучения (англ. metric learning), т.е. таким образом, что расстояние между свертками, полученными с помощью упомянутой функции свертки для шаблонов поведения имеющих степень схожести больше заранее заданного порогового значения было меньше заранее заданного порогового значения, а для шаблонов поведения имеющих степень схожести менее заранее заданного порогового значения - больше заранее заданного порогового значения.In another embodiment of the system’s implementation, the convolution function is formed by the method of metric learning (English metric learning), i.e. so that the distance between convolutions obtained using the convolution function for behavior patterns having a degree of similarity greater than a predetermined threshold value was less than a predetermined threshold value, and for behavior patterns having a similarity degree less than a predetermined threshold value is greater than a predetermined threshold value .
Например, признаковое описание шаблона поведения может вычисляться следующим образом:For example, a characteristic description of a behavior pattern can be computed as follows:
предварительно создают пустой битовый вектор, состоящий из 100000 элементов (где для каждого элемента вектора зарезервирован один бит информации); pre-creating an empty bit vector consisting of 100,000 elements (where for each element of the vector one bit of information is reserved);
для хранения данных о командах ci из шаблона поведения r отводят 1000 элементов, оставшиеся 99000 элементов отводят для параметров ci из шаблона поведения r, при этом для строковых параметров отводят 50000 элементов (с 1001 элемента по 51000 элемент), для численных - 25000 элементов (с 51001 элемента по 76000 элемент); to store data on commands c i from the behavior template r, 1,000 elements are allocated, the remaining 99,000 elements are allocated for parameters c i from the behavior template r, while 50,000 elements (from 1001 elements to 51,000 elements) are allocated for string parameters, 25,000 elements for numerical (from 51001 elements to 76000 elements);
каждой команде c1 из шаблона поведения r ставят в соответствие некоторое число xi от 0 до 999, и устанавливают соответствующий бит в созданном векторе each command c 1 from the behavior pattern r is associated with a certain number x i from 0 to 999, and the corresponding bit in the created vector is set
ν[xi]=true;ν [x i ] = true;
для каждого параметра pi из шаблона поведения r вычисляют хэш-сумму по формуле: for each parameter p i from the behavior pattern r, the hash sum is calculated by the formula:
для строк: yi=1001+crc32(pi) (mod 50000) for strings: y i = 1001 + crc32 (p i ) (mod 50000)
для чисел: yi=51001+crc32(pi) (mod 25000) for numbers: y i = 51001 + crc32 (p i ) (mod 25000)
для остального: yi=76001+crc32(pi) (mod 24000) for the rest: y i = 76001 + crc32 (p i ) (mod 24000)
и в зависимости от вычисленной хэш-суммы устанавливают соответствующий бит в созданном векторе and depending on the calculated hash, set the corresponding bit in the generated vector
ν[yi]=true;ν [y i ] = true;
Описанный битовый вектор с установленными элементами представляет собой признаковое описание шаблона поведения r. The described bit vector with installed elements is an indicative description of the behavior pattern r.
Еще в одном из вариантов реализации системы признаковое описание шаблона поведения вычисляется согласно формуле:In another embodiment of the system, a characteristic description of the behavior pattern is calculated according to the formula:
где:Where:
b - основание позиционной системы счисления (например, для бинарного вектора b=2, для вектора, представляющего собой строку, т.е. совокупность символов, b=8),b - the base of the positional number system (for example, for a binary vector b = 2, for a vector representing a string, i.e. a collection of characters, b = 8),
ri - i-й элемент шаблона поведения,r i is the i-th element of the behavior pattern,
h - хэш-функция, при этом 0≤h(ri)<b.h is a hash function, with 0≤h (r i ) <b.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:For example, a characteristic description of a behavior pattern can be computed as follows:
предварительно создают еще один (отличный от предыдущего примера) пустой битовый вектор, состоящий из 1000 элементов (где для каждого элемента вектора зарезервирован один бит информации); pre-create another (different from the previous example) empty bit vector consisting of 1000 elements (where for each element of the vector one bit of information is reserved);
для каждого элемента шаблона ri из шаблона поведения r вычисляют хэш-сумма по формуле: for each element of the template r i from the behavior template r calculate the hash sum by the formula:
хi=2crc32(ri) (mod 1000) x i = 2 crc32 (ri) (mod 1000)
и в зависимости от вычисленной хэш-суммы устанавливают соответствующий бит в созданном векторе and depending on the calculated hash, set the corresponding bit in the generated vector
ν[xi]=true;ν [x i ] = true;
Еще в одном из вариантов реализации системы признаковое описание шаблона поведения представляет собой фильтр Блума.In another embodiment of the system implementation, the characteristic description of the behavior pattern is a Bloom filter.
Например, признаковое описание шаблона поведения может вычисляться следующим образом:For example, a characteristic description of a behavior pattern can be computed as follows:
предварительно создают еще один (отличный от предыдущих примеров) пустой вектор, состоящий из 100000 элементов; pre-create another (different from the previous examples) empty vector consisting of 100,000 elements;
для каждого элемента шаблона ri из шаблона поведения r вычисляют по меньшей мере две хэш-суммы с помощью набора хэш-функций {hj} по формуле: for each element of the template r i from the behavior template r, at least two hash sums are calculated using a set of hash functions {h j } according to the formula:
xij=hj(ri)x ij = h j (r i )
где:Where:
hj(ri)=crc32(ri),h j (r i ) = crc32 (r i ),
hj(0)=constj h j (0) = const j
и в зависимости от вычисленных хэш-сумм устанавливают соответствующие элементы в созданном векторе and depending on the calculated hash sums, the corresponding elements in the created vector are set
ν[xij]=true.ν [x ij ] = true.
Еще в одном из вариантов реализации системы размер результата сформированной функции свертки от признакового описания шаблона поведения меньше размера упомянутого признакового описания шаблона поведения.In another embodiment of the system, the size of the result of the generated convolution function from the characteristic description of the behavior template is less than the size of the mentioned characteristic description of the behavior template.
Например, признаковое описание представляет собой битовый вектор, содержащий 100000 элементов, и тем самым имеет размер 12500 байт, а результат функции свертки от упомянутого признакового описания представляет собой набор из 8 MD5 хэш-сумм и тем самым имеет размер 256 байт, т.е. ~2% от размера признакового описания.For example, the characteristic description is a bit vector containing 100,000 elements, and thus has a size of 12,500 bytes, and the result of the convolution function from the said characteristic description is a set of 8 MD5 hash sums and thus has a size of 256 bytes, i.e. ~ 2% of the size of the feature description.
Еще в одном из вариантов реализации системы степень схожести признакового описания и результата обратной хэш-функции от результата упомянутой хэш-функции от вычисленного признакового описания представляет собой численное значение в диапазоне от 0 до 1 и вычисляется согласно формуле:In another embodiment of the system, the degree of similarity of the feature description and the result of the inverse hash function from the result of the said hash function from the calculated feature description is a numerical value in the range from 0 to 1 and is calculated according to the formula:
где:Where:
h(ri)∧gi обозначает совпадение h(ri) с gi h (r i ) ∧ g i denotes the coincidence of h (r i ) with g i
иand
{h(ri)} совокупность результатов хэш-функций от элементов шаблона поведения,{h (r i )} the set of results of hash functions from the elements of the behavior template,
{gi} - совокупность результатов обратной хэш-функции от результата хэш-функции от элементов шаблона поведения,{g i} - aggregate feedback hash results from the result of the hash function of template elements behavior,
ri - i-й элемент шаблона поведения,r i is the i-th element of the behavior pattern,
h - хэш-функция,h is a hash function
w - степень схожести.w is the degree of similarity.
Например, вычисленное признаковое описание представляет собой битовый векторFor example, the computed feature description is a bit vector
результат функции свертки от упомянутого признакового описания the result of the convolution function from said feature description
а результат обратной функции свертки от полученного выше результата and the result of the inverse convolution function from the result obtained above
(где жирным шрифтом отмечены элементы, отличные от признакового описания). Таким образом, схожесть признакового описания и результата обратной функции свертки составляет 0,92.(where elements other than the characteristic description are marked in bold). Thus, the similarity of the feature description and the result of the inverse convolution function is 0.92.
Еще в одном из вариантов реализации системы упомянутая хэш-функция, принимающая в качестве параметра элемент шаблона поведения, зависит от типа элемента шаблона поведения:In another embodiment of the system, said hash function, which takes a behavior pattern element as a parameter, depends on the type of behavior pattern element:
h(ri)=hri(ri)h (r i ) = h ri (r i )
Например, для вычисления хэш-суммы от параметра из шаблона поведения, представляющего собой строку, содержащую путь к файлу, используется хэш-функция CRC32, любую другую строку - алгоритм Хаффмана, набор данных - хэш-функция MD5.For example, to calculate the hash sum of a parameter from a behavior template that is a string containing the path to a file, the CRC32 hash function is used, any other line is the Huffman algorithm, the data set is the MD5 hash function.
Еще в одном из вариантов реализации системы формирование функции свертки от признакового описания шаблона поведения выполняется через автокодировщик (англ. autoencoder), при этом в качестве входных данных выступают элементы упомянутого признакового описания шаблона поведения, а в качестве выходных данных - данных, имеющие коэффициент схожести с входными данными выше заранее заданного порогового значения.In yet another embodiment of the system, the convolution function is generated from the characteristic description of the behavior template through an auto-encoder (English autoencoder), while the elements of the mentioned characteristic description of the behavior template act as input data, and data having a similarity coefficient input above a predetermined threshold value.
Средство создания модели обнаружения 131 предназначено для:
создания модели обнаружения вредоносных файлов, которое включает в себя по меньшей мере: creating a malware detection model that includes at least:
выбор метода машинного обучения модели обнаружения; the choice of machine learning detection model;
инициализации параметров модели обучения, при этом параметры модели обучения, проинициализированные до начала машинного обучения модели обнаружения, называются гиперпараметрами (англ. hyperparameter); initialization of the parameters of the learning model, while the parameters of the learning model, initialized before the start of machine learning of the detection model, are called hyperparameters;
в зависимости от параметров файлов, выбранных средством подготовки обучающих выборок 111;depending on the file parameters selected by the training
передачи созданной модели обучения средству машинного обучения модели обнаружения 132. transferring the created learning model to the machine
Например, при выборе метода машинного обучения модели обнаружения вначале выносится решение следует ли использовать в качестве модели обнаружения искусственную нейронную сеть или случайные леса (англ. random forest), затем, в случае выбора случайного леса, выбирается разделяющий критерий для узлов случайного леса; или в случае выбора искусственной нейронной сети, выбирается метод численной оптимизации параметров искусственной нейронной сети. При этом решение о выборе того или иного метода машинного обучения принимается на основании эффективности упомянутого метода при обнаружении вредоносных файлов (т.е. количества ошибок первого и второго рода, возникающих при обнаружении вредоносных файлов) с использованием входных данных (шаблонов поведения) заранее заданного вида (т.е. структуры данных, количества элементов шаблонов поведения, производительности вычислительного устройства на котором выполняется поиск вредоносных файлов, доступных ресурсов вычислительного устройства и т.д.).For example, when choosing a machine learning method for a detection model, the decision is first made whether to use an artificial neural network or random forests as the detection model, then, in the case of choosing a random forest, a separating criterion for nodes of a random forest is selected; or in the case of choosing an artificial neural network, the method of numerical optimization of the parameters of the artificial neural network is selected. At the same time, the decision to choose one or another machine learning method is made based on the effectiveness of the mentioned method when detecting malicious files (i.e. the number of errors of the first and second kind that occur when malicious files are detected) using input data (behavior patterns) of a predetermined type (i.e. data structures, the number of elements of behavior patterns, the performance of the computing device on which the malicious files, available resources of the computing device are searched etc.).
Еще в одном примере метод машинного обучения модели обнаружения выбирают на основании по меньшей мере:In yet another example, a machine learning method of detection model is selected based on at least:
перекрестной проверки, скользящего контроля, кросс-валидации (англ. cross-validation, CV); cross-validation, rolling control, cross-validation (English cross-validation, CV);
математического обоснования критериев AIC, BIC и т.д.; mathematical justification of the criteria AIC, BIC, etc .;
А/В тестирования (англ. А/В testing, split testing); A / B testing (Eng. A / B testing, split testing);
стекинга. stacking.
Еще в одном примере в случае невысокой производительности вычислительного устройства выбирают случайные леса, в противном случае - искусственную нейронную сеть.In another example, in the case of low performance computing devices random forests are chosen, otherwise, an artificial neural network.
В одном из вариантов реализации системы выполняется машинное обучение заранее созданной необученной модели обнаружения (т.е. модели обнаружения, у которой параметры упомянутой модели не позволяют получить на основании анализа входных данных выходных данных с точностью выше заранее заданного порогового значения).In one embodiment of the system, machine learning of a previously created untrained detection model is performed (i.e., a detection model for which the parameters of the said model do not allow obtaining, based on the analysis of the input data, the output data with an accuracy higher than a predetermined threshold value).
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод:In another embodiment of the system, at least the method acts as a method of machine learning the detection model:
градиентный бустинг на деревьях принятия решений (англ. decision-tree-based gradient boosting); gradient boosting on decision trees (English decision-tree-based gradient boosting);
деревья принятия решений (англ. decision trees); decision trees (English decision trees);
ближайших соседей kNN (англ. K-nearest neighbor method); nearest neighbors kNN (English K-nearest neighbor method);
опорных векторов (англ. support vector machine, SVM). support vectors (English support vector machine, SVM).
Еще в одном из вариантов реализации системы дополнительно средство создания модели обнаружения 131 предназначено для создания модели обнаружения по запросу от средства машинного обучения 132, при этом определенные гиперпараметры и методы машинного обучения выбираются отличными от гиперпараметров и методов машинного обучения, выбранных для предыдущей модели обнаружения.In another embodiment of the system, the detection
Средство машинного обучения модели обнаружения 132 предназначено для обучения модели обнаружения, в которой параметры модели обнаружения вычисляются с использованием полученной функции свертки над полученными шаблонами поведения, где модель обнаружения представляет собой совокупность правил вычисления степени вредоносности файла на основании по меньшей мере одного шаблона поведения с использованием вычисленных параметров упомянутой модели обнаружения.Detection model
Например, модель обнаружения обучают на известном наборе файлов, выбранных средством подготовки обучающих выборок 111, при этом упомянутый набор файлов содержит 60% безопасных файлов и 40% вредоносных файлов.For example, the detection model is trained on a well-known set of files selected by the training
В одном из вариантов реализации системы степень вредоносности файла представляет собой численное значение от 0 до 1, при этом 0 означает, что упомянутый файл безопасный, 1 - вредоносный.In one embodiment of the system, the degree of maliciousness of the file is a numerical value from 0 to 1, while 0 means that the file is safe, 1 means malicious.
Еще в одном из вариантов реализации системы выбирается метод обучения модели обнаружения, обеспечивающий монотонность изменения степени вредоносности файла в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.In yet another embodiment of the system, a method for training a detection model is selected that provides a monotonic change in the degree of harmfulness of a file depending on a change in the number of behavior patterns generated based on an analysis of the behavior log.
Например, монотонное изменение степени вредоносности файла приводит к тому, что при анализе каждого последующего шаблона поведения, вычисленная степень вредоносности оказывается не меньше чем, вычисленная ранее степень вредоносности (к примеру, после анализа 10-го шаблона поведения вычисленная степень вредоносности равна 0,2 после анализа 50-го шаблона поведения - 0,4, а после анализа 100-го шаблона поведения - 0,7).For example, a monotonous change in the severity of a file leads to the fact that, when analyzing each subsequent behavior pattern, the calculated severity is no less than the previously calculated severity (for example, after analyzing the 10th behavior pattern, the calculated severity is 0.2 after analysis of the 50th pattern of behavior - 0.4, and after analysis of the 100th pattern of behavior - 0.7).
Еще в одном из вариантов реализации системы дополнительно средство машинного обучения модели обнаружения 132 предназначено для:In another embodiment of the system, an additional machine learning tool for the
выполнения проверки обученной модели обнаружения на полученных журналах поведения, сформированных на основании анализа файлов из тестовой выборки файлов, с целью определить корректность определения вредоносности файлов из тестовой выборки файлов; checking the trained detection model on the received behavior logs generated based on the analysis of files from the test file selection in order to determine the correctness of determining the harmfulness of files from the test file selection;
в случае отрицательного результата проверки передачи запроса по меньшей мере: in case of a negative result of checking the transfer of the request at least:
средству подготовки обучающих выборок 111 для подготовки выборки файлов, отличной от текущей, на которой производилось обучение модели обнаружения; the training
средству создания модели обнаружения 131 для создания новой модели обнаружения, отличной от текущей.
При этом проверка обученной модели обнаружения заключается в следующем. Упомянутая модель обнаружения была обучена на основании набора выбранных средством подготовки обучающих выборок 111 файлов, для которых было известно, являются ли они безопасными или вредоносными. Для того, чтобы проверить, что модель обнаружения вредоносных файлов была обучена корректно, т.е. упомянутая модель обнаружения сможет обнаруживать вредоносные файлы и пропускать безопасные файлы, выполняется проверка упомянутой модели. С этой целью с помощью упомянутой модели обнаружения определяют, являются ли файлы из другого набора выбранных средством подготовки обучающих выборок 111 файлов вредоносными, при этом, являются ли упомянутые файлы вредоносными, известно заранее. Таким образом, определяют, сколько вредоносных файлов было «пропущено» и сколько безопасных файлов было обнаружено. Если количество пропущенных вредоносных и обнаруженных безопасных файлов больше заранее заданного порогового значения, то упомянутая модель обнаружения считается некорректно обученной и требуется выполнить ее повторное машинное обучение (например, на другой обучающей выборке файлов, с использованием отличных от предыдущих значений параметров модели обнаружения и т.д.).The verification of the trained detection model is as follows. The mentioned detection model was trained on the basis of a set of 111 files selected by the training sample preparation tool, for which it was known whether they were safe or malicious. In order to verify that the malware detection model has been trained correctly, i.e. said detection model will be able to detect malicious files and skip safe files; the said model is checked. To this end, using the aforementioned detection model, it is determined whether the files from another set of 111 files selected by the training sample preparation tool are malicious, and whether the said files are malicious is known in advance. Thus, it is determined how many malicious files were “skipped” and how many safe files were detected. If the number of skipped malicious and detected safe files is greater than a predetermined threshold value, then the mentioned detection model is considered to be incorrectly trained and it is necessary to perform its machine learning again (for example, on another training sample of files using different detection model parameters, etc. .).
Например, при выполнении проверки обученной модели проверяется количество ошибок первого и второго рода при обнаружении вредоносных файлов из тестовой выборки файлов. Если количество упомянутых ошибок превышает заранее заданное пороговое значение, то выбирается новая обучающая и тестовая выборка файлов и создается новая модель обнаружения.For example, when testing a trained model, the number of errors of the first and second kind when detecting malicious files from a test sample of files is checked. If the number of the mentioned errors exceeds a predetermined threshold value, a new training and test selection of files is selected and a new detection model is created.
Еще в одном примере обучающая выборка файлов содержала 10000 файлов, из которых 8500 было вредоносными, а 1500 - безопасными. После того как модель обнаружения была обучена, ее проверили на тестовой выборке файлов, содержащей 1200 файлов, из которых 350 было вредоносными, а 850 - безопасными. По результатам выполненной проверки 15 из 350 вредоносных файлов обнаружить не удалось (4%), в то же время 102 из 850 безопасных файлов (12%) ошибочно было признано вредоносными. В случае, когда количество не обнаруженных вредоносных файлов превышает 5% или случайно обнаруженных безопасных файлов превышает 0,1%, обученная модель обнаружения признается некорректно обученной.In another example, the training sample of files contained 10,000 files, of which 8,500 were malicious, and 1,500 were safe. After the detection model was trained, it was tested on a test sample of files containing 1200 files, of which 350 were malicious, and 850 were safe. According to the results of the scan, 15 out of 350 malicious files could not be detected (4%), while 102 of the 850 safe files (12%) were mistakenly recognized as malicious. In the case when the number of undetected malicious files exceeds 5% or accidentally detected safe files exceeds 0.1%, the trained detection model is recognized as incorrectly trained.
В одном из вариантов реализации системы дополнительно журнал поведения системы формируется на основании ранее сформированного журнала поведения системы и команд, перехваченных после формирования упомянутого журнала поведения системы.In one embodiment of the system, an additional system behavior log is generated based on a previously generated system behavior log and commands intercepted after the formation of the system behavior log.
Например, после начала исполнения файла, для которого требуется вынести вердикт о вредоносности или безопасности упомянутого файла, перехваченные выполняемые команды и описывающие их параметры записываются в журнал поведения. На основании анализа упомянутых команд и параметров вычисляется степень вредоносности упомянутого файла. Если по результатам анализа решения о признании файла вредоносным или безопасным вынесено не было, перехват команд может быть продолжен. Перехваченные команды и описывающие их параметры дописываются в старый журнал поведения или в новый журнал поведения. В первом случае степень вредоносности вычисляется на основании анализа всех команд и параметров, записанных в журнале поведения, т.е. и тех, которые ранее использовались для вычисления степени вредоносности.For example, after the start of the execution of a file for which a verdict on the harmfulness or security of the said file is to be issued, intercepted executable commands and parameters describing them are recorded in the behavior log. Based on the analysis of the mentioned commands and parameters, the severity of the said file is calculated. If, according to the results of the analysis, a decision to recognize the file as malicious or safe was not made, command interception can continue. Intercepted commands and parameters describing them are added to the old behavior log or to the new behavior log. In the first case, the severity is calculated based on an analysis of all the commands and parameters recorded in the behavior log, i.e. and those previously used to calculate the degree of harmfulness.
Средство вычисления степени вредоносности 142 предназначено для:The malware severity calculation tool 142 is intended for:
вычисления степени вредоносности на основании полученного от средства формирования журнала поведения 142 журнала поведения и от средства машинного обучения модели обнаружения 132 модели обнаружения, при этом степень вредоносности файла представляет собой количественную характеристику (например, лежащую в диапазоне от 0 - файл обладает исключительно безопасным поведением до 1 - упомянутый файл обладает заранее заданным вредоносным поведением), описывающую вредоносное поведение исполняемого файла; calculating the degree of severity based on the behavior log received from the means of generating the behavior log 142 of the behavior log and from the machine learning tool of the
передачи вычисленного степени вредоносности средству управления ресурсами 143. transmitting the calculated severity to the resource manager 143.
Средство управления ресурсами 143 предназначено для, на основании анализа полученной степени вредоносности выделения вычислительных ресурсов компьютерной системы, использования их при обеспечении безопасности компьютерной системы.The resource management tool 143 is intended for, based on the analysis of the degree of harmfulness of the allocation of computing resources of a computer system, their use in ensuring the security of a computer system.
В одном из вариантов реализации системы в качестве вычислительных ресурсов компьютерной системы выступают по меньшей мере:In one embodiment of the system, at least:
объем свободной оперативной памяти; amount of free RAM;
объем свободного места на жестких дисках; amount of free space on hard drives;
свободное процессорное время (кванты процессорного времени), которое может быть потрачено на антивирусную проверку (например, с большей глубиной эмуляции). free processor time (quanta of processor time) that can be spent on anti-virus scanning (for example, with greater emulation depth).
Еще в одном из вариантов реализации системы анализ степени вредоносности заключается в определении динамики изменения значения степени вредоносности после каждого из предыдущих вычислений степени вредоносности и в случае по меньшей мере:In another embodiment of the system, the analysis of the degree of harmfulness consists in determining the dynamics of the change in the value of the degree of harmfulness after each of the previous calculations of the degree of harmfulness and in the case of at least:
увеличение значения степени вредоносности - выделения дополнительных ресурсов компьютерной системы; increasing the value of the degree of severity - allocation of additional resources of a computer system;
уменьшение значения степени вредоносности - освобождение ранее выделенных ресурсов компьютерной системы. reducing the value of the degree of severity - the release of previously allocated resources of a computer system.
Фиг. 2 представляет структурную схему способа машинного обучения модели обнаружения вредоносных файлов.FIG. 2 is a flow diagram of a machine learning method for detecting malicious files.
Структурная схема способа машинного обучения модели обнаружения вредоносных файлов содержит этап 211, на котором подготавливают обучающие выборки файлов, этап 212, на котором формируют журналы поведения, этап 221, на котором формируют шаблоны поведения, этап 222, на котором формируют функции свертки, этапа 231, на котором создают модель обнаружения, этапа 232, на котором обучаю модель обнаружения, этапа 241, на котором отслеживают поведение компьютерной системы, этапа 242, на котором вычисляют степень вредоносности, этап 243, на котором управляют ресурсами компьютерной системы.The block diagram of the machine learning method for detecting malicious files contains
На этапе 211 с помощью средства подготовки обучающих выборок 111 выбирают по меньшей мере один файл из базы файлов согласно заранее заданным критериям, при этом на основании выбранных файлов на этапе 232 будут выполнять обучение модели обнаружения.At
На этапе 212 с помощью средства формирования журналов поведения 112:At
перехватывают по меньшей мере одну команду по меньшей мере во время: intercept at least one command at least during:
исполнения выбранного на этапе 211 файла, executing the file selected in
эмуляции работы выбранного на этапе 211 файла; emulating the operation of the file selected in
определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду; determining for each intercepted command at least one parameter describing said command;
формируют на основании перехваченных команд и определенных параметров журнал поведения полученного файла, при этом журнал поведения представляет собой совокупность перехваченных команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один определенный параметр, описывающий упомянутую команду (далее - параметр). form, based on the intercepted commands and certain parameters, the behavior log of the received file, while the behavior log is a collection of intercepted commands (hereinafter referred to as the command) from the file, where at least one specific parameter corresponding to the mentioned command (hereinafter referred to as the parameter) corresponds to each command.
На этапе 221 с помощью средства формирования шаблонов поведения 121 формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из журнала поведения, сформированного на этапе 212, при этом журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр), шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора.At
На этапе 222 с помощью средства формирования функций свертки 122 формируют такую функцию свертки от шаблона поведения, сформированного на этапе 221, что обратная функция свертки от результата такой функции свертки над упомянутым шаблоном поведения будет иметь степень схожести с упомянутым шаблоном поведения больше заданного значения.At
На этапе 231 с помощью средства создания модели обнаружения 131 создают модель обнаружения для чего по меньшей мере:At
выбирают метод машинного обучения модели обнаружения; choose a machine learning method for the detection model;
инициализируют параметры модели обучения, при этом параметры модели обучения, проинициализированные до начала машинного обучения модели обнаружения, называются гиперпараметрами (англ. hyperparameter), initialize the parameters of the learning model, while the parameters of the learning model, initialized before the start of machine learning of the detection model, are called hyperparameters,
в зависимости от параметров файлов, выбранных на этапе 211.depending on the file parameters selected in
На этапе 232 с помощью средства машинного обучения модели обнаружения 132 обучают модель обнаружения, созданную на этапе 231, в которой параметры упомянутой модели обнаружения вычисляются с использованием функции свертки, сформированной на этапе 222, над шаблонами поведения, сформированными на этапе 221, где модель обнаружения представляет собой совокупность правил вычисления степени вредоносности файла на основании по меньшей мере одного шаблона поведения с использованием вычисленных параметров упомянутой модели обнаружения.In
На этапе 241 с помощью средства отслеживания поведения 141:At step 241, using the behavior tracking means 141:
перехватывают по меньшей мере одну команду, исполняемую файлами, работающими в компьютерной системе; intercepting at least one command executed by files operating in a computer system;
формируют на основании перехваченных команд журнал поведения системы. form a system behavior log based on intercepted commands.
На этапе 242 с помощью средства вычисления степени вредоносности 142 вычисляют степень вредоносности на основании журнала поведения системы, сформированного на этапе 241, и модели обнаружения, обученной на этапе 232.In step 242, the degree of severity is calculated using the severity calculation means 142 based on the system behavior log generated in step 241 and the detection model trained in
На этапе 243 с помощью средства управления ресурсами 143 на основании анализа степени вредоносности, вычисленного на этапе 242, выделяют вычислительные ресурсы для использования их при обеспечении безопасности компьютерной системы.At step 243, using the resource management tool 143 based on the analysis of the severity calculated at step 242, computing resources are allocated for use in securing a computer system.
Фиг. 3 представляет примеры динамики изменения степени вредоносности от количества шаблонов поведения.FIG. 3 presents examples of dynamics of changes in the degree of harmfulness in relation to the number of patterns of behavior.
Примеры динамики изменения степени вредоносности от количества шаблонов поведения содержат график динамики произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла 311, график динамики монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла 312, график динамики произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла 321, график динамики монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла 322.Examples of dynamics of changes in the degree of harmfulness depending on the number of patterns of behavior contain a graph of the dynamics of an arbitrary change in the degree of harmfulness on the number of patterns of behavior generated during the execution of a
В одном из вариантов реализации системы степень вредоносности исполняемого файла принимает значение в диапазоне от 0 (упомянутый файл обладает исключительно безопасным поведением) до 1 (упомянутый файл обладает заранее заданным вредоносным поведением).In one embodiment of the system, the severity of the executable file takes a value in the range from 0 (the file has exceptionally safe behavior) to 1 (the file has a predefined malicious behavior).
На графике 311 изображена динамика произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла.The
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность исполняемого файла может отсутствовать или быть минимальной (например, выполняется инициализация данных, свойственная многим, в том числе и безопасным файлам), поэтому вычисленная степень вредоносности незначительно отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности), при превышении которого поведение исполняемого файла перестанет считаться безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).Initially, during the execution of the mentioned file, the number of generated behavior patterns is small, in addition, the malicious activity of the executable file may be absent or minimal (for example, the data is initialized, which is characteristic of many, including safe files), therefore, the calculated severity is slightly different from 0 and not exceeds a predetermined threshold value (hereinafter referred to as the security criterion), upon exceeding which the behavior of the executable file will cease to be considered safe (n in the graph, said threshold value is indicated by a dashed line).
Однако со временем вредоносная активность исполняемого файла возрастает и степень вредоносности начинает стремиться к 1, превышая критерий безопасности, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности), при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией).However, over time, the malicious activity of the executable file increases and the degree of harmfulness begins to approach 1, exceeding the security criterion, while the degree of malware may not reach a predetermined threshold value (hereinafter - the harmfulness criterion), beyond which the behavior of the executable file will be considered malicious (on the graph) said threshold value is indicated by a dashed line).
После периода роста вредоносная активность может прекращаться и степень вредоносности опять будет стремиться к 0 (момент А). В определенный момент степень вредоносности становится больше критерия вредоносности (момент В) и поведение исполняемого файла признается вредоносным и как следствие сам файл признается вредоносным.After a period of growth, malicious activity may cease and the degree of harmfulness will again tend to 0 (moment A). At a certain point, the degree of harmfulness becomes greater than the harmfulness criterion (moment B) and the behavior of the executable file is recognized as malicious and, as a result, the file itself is recognized as malicious.
При этом момент признания файла вредоносным может произойти значительно позже начала роста вредоносной активности, поскольку описанный подход хорошо реагирует на резкий рост степени вредоносности, что происходит чаще всего при длительной, явно выраженной вредоносной активности исполняемого файла.At the same time, the moment the file is recognized as malicious can occur much later than the beginning of the growth of malicious activity, since the described approach responds well to a sharp increase in the degree of harmfulness, which occurs most often with prolonged, clearly pronounced malicious activity of the executable file.
В случае, когда вредоносная активность возникает эпизодически (левая сторона графика 311), вычисленная степень вредоносности может не достигать значения, после которого выносится решение о вредоносности поведения исполняемого файла и, следовательно, вредоносности самого исполняемого файла.In the case when malicious activity occurs occasionally (the left side of the graph 311), the calculated degree of harmfulness may not reach the value after which a decision is made on the harmfulness of the behavior of the executable file and, therefore, the harmfulness of the executable file itself.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислена в момент А (когда начинается вредоносная активность) и момент С (когда завершается вредоносная активность) и не будет вычислена в момент В (когда происходит вредоносная активность), из-за чего вычисленные степени вредоносности не превысят критерия вредоносности, активность исполняемого файла не будет признана вредоносной и, следовательно, вредоносный файл не будет обнаружен.In the case when the severity is not calculated on the basis of each generated behavior pattern (for example, due to the fact that the performance of the computing device is low), it is possible that the severity will be calculated at time A (when malicious activity begins) and moment C (when malicious activity ends) and will not be calculated at time В (when malicious activity occurs), because of which the calculated degrees of harmfulness will not exceed the harmfulness criterion, activity and fills the file will not be recognized as harmful and, therefore, the malicious file will not be detected.
На графике 312 изображена динамика монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения вредоносного файла.The
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность исполняемого файла может отсутствовать или быть минимальной (например, выполняется инициализация данных, свойственная многим, в том числе и безопасным файлам), поэтому вычисленная степень вредоносности незначительно отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности), при превышении которого поведение исполняемого файла перестанет считаться безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).Initially, during the execution of the mentioned file, the number of generated behavior patterns is small, in addition, the malicious activity of the executable file may be absent or minimal (for example, the data is initialized, which is characteristic of many, including safe files), therefore, the calculated severity is slightly different from 0 and not exceeds a predetermined threshold value (hereinafter referred to as the security criterion), upon exceeding which the behavior of the executable file will cease to be considered safe (n in the graph, said threshold value is indicated by a dashed line).
Однако со временем вредоносная активность исполняемого файла возрастает и степень вредоносности начинает стремиться к 1, превышая критерий безопасности, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности), при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией).However, over time, the malicious activity of the executable file increases and the degree of harmfulness begins to approach 1, exceeding the security criterion, while the degree of malware may not reach a predetermined threshold value (hereinafter - the harmfulness criterion), beyond which the behavior of the executable file will be considered malicious (on the graph) said threshold value is indicated by a dashed line).
После периода роста (моменты А-В) вредоносная активность может прекращаться (моменты В-А), но степень вредоносности уменьшаться уже не будет, а при любой вредоносной активности исполняемого файла будет только продолжать расти. В определенный момент степень вредоносности становится больше критерия вредоносности (момент D) и поведение исполняемого файла признается вредоносным и как следствие сам файл признается вредоносным.After a growth period (moments AB), malicious activity may cease (moments BA), but the degree of harmfulness will no longer decrease, and with any malicious activity of the executable file it will only continue to grow. At a certain point, the degree of harmfulness becomes greater than the harmfulness criterion (moment D) and the behavior of the executable file is recognized as malicious and, as a result, the file itself is recognized as malicious.
При этом момент признания файла вредоносным может произойти сразу после выявления вредоносной активности, поскольку описанный подход хорошо реагирует на плавный рост степени вредоносности, что происходит как при длительной, явно выраженной вредоносной активности исполняемого файла, так и при частых эпизодической слабовыраженной вредоносной активности.At the same time, the moment the file is recognized as malicious can occur immediately after the detection of malicious activity, since the described approach responds well to a smooth increase in the degree of harmfulness, which occurs both with prolonged, clearly pronounced malicious activity of the executable file, and with frequent episodic mild malicious activity.
В случае, когда вредоносная активность возникает эпизодически (левая сторона графика 312), вычисленная степень вредоносности со временем может достигать значения, после которого выносится решение о вредоносности поведения исполняемого файла и вредоносности самого исполняемого файла.In the case when malicious activity occurs sporadically (the left side of the graph 312), the calculated degree of malware can reach a value over time, after which a decision is made on the harmfulness of the behavior of the executable file and the harmfulness of the executable file itself.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислена в момент А (когда начинается вредоносная активность) и момент С (когда завершается вредоносная активность) и не будет вычислена в момент В (когда происходит вредоносная активность), тем не менее, поскольку степень вредоносности меняется монотонно, вычисленные степени вредоносности только увеличивают свои значения и в момент С степень вредоносности превысит критерий вредоносности, активность исполняемого файла будет признана вредоносной и, следовательно, вредоносный файл будет обнаружен.In the case when the severity is not calculated on the basis of each generated behavior pattern (for example, due to the fact that the performance of the computing device is low), it is possible that the severity will be calculated at time A (when malicious activity begins) and moment C (when malicious activity ends) and will not be calculated at time В (when malicious activity occurs), however, since the degree of harmfulness changes monotonously, the calculated degrees of harmful Nost only increase their value and at the moment With the degree of severity exceeds the criterion of severity, the activity of the executable file is found to be malicious, and therefore, the malicious file will be found.
На графике 321 изображена динамика произвольного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла.The
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность как таковая у исполняемого файла отсутствует, но могут выполняться «подозрительные» команды, выполняемые также и при исполнении вредоносных файлов (например, удаление файлов, передача данных по компьютерной сети и т.д.), поэтому вычисленная степень вредоносности отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности), при превышении которого поведение исполняемого файла перестанет считаться безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).Initially, when executing the mentioned file, the number of generated behavior patterns is small, in addition, malicious activity as such is absent in the executable file, but “suspicious” commands can also be executed when executing malicious files (for example, deleting files, transferring data over a computer network, etc.) .d), therefore, the calculated degree of harmfulness differs from 0 and does not exceed a predetermined threshold value (hereinafter referred to as the security criterion), upon exceeding which the behavior is executed th deemed safe file stops (on the schedule, said threshold value is denoted by a dotted line).
Однако со временем вредоносная активность исполняемого файла из-за выполнения большого количества «подозрительных» команд возрастает и степень вредоносности начинает стремиться к 1, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности), при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией), но может превышать критерий безопасности, таким образом файл может перестать считаться безопасным и стать «подозрительным».However, over time, the malicious activity of the executable file increases due to the execution of a large number of “suspicious” commands and the degree of harmfulness begins to approach 1, while the degree of harmfulness may not reach a predetermined threshold value (hereinafter, the harmfulness criterion), beyond which the behavior of the executable file It will be considered malicious (on the graph, the threshold value indicated by a dashed line), but may exceed the security criterion, so the file may stop working. read safe and become "suspicious."
После периода роста вредоносная активность может прекращаться и степень вредоносности опять будет стремиться к 0 (момент С).After a period of growth, malicious activity may cease and the degree of harmfulness will again tend to 0 (moment C).
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислена в момент В (когда активность наиболее схожа с вредоносной, т.е. становится «подозрительной») и не будет вычислена в момент А (когда «подозрительная» активность увеличивается) и в момент С (когда «подозрительная активность» уменьшается), из-за чего вычисленная степень вредоносности превысит критерий безопасности, активность исполняемого файла будет признана «подозрительной» (не будет признана безопасной) и, следовательно, безопасный файл не будет признан безопасным.In the case when the severity is not calculated on the basis of each generated behavior pattern (for example, because the performance of the computing device is low), it is possible that the severity will be calculated at time B (when the activity is most similar to the malicious one, t .e. becomes “suspicious”) and will not be calculated at time A (when “suspicious” activity increases) and at time C (when “suspicious” activity decreases), due to which the calculated degree of malware spine exceed the security criteria of the executable file activity will be recognized as "suspicious" (will not be recognized as safe) and thus secure the file is found to be safe.
На графике 322 изображена динамика монотонного изменения степени вредоносности от количества шаблонов поведения, сформированных во время исполнения безопасного файла.The
Изначально, при исполнении упомянутого файла количество сформированных шаблонов поведения невелико, вдобавок вредоносная активность как таковая у исполняемого файла отсутствует, но могут выполняться «подозрительные» команды, выполняемые также и при исполнении вредоносных файлов (например, удаление файлов, передача данных по компьютерной сети и т.д.), поэтому вычисленная степень вредоносности отличается от 0 и не превышает заранее заданного порогового значения (далее - критерия безопасности), при превышении которого поведение исполняемого файла перестанет считаться безопасным (на графике упомянутое пороговое значение обозначается пунктирной линией).Initially, when executing the mentioned file, the number of generated behavior patterns is small, in addition, malicious activity as such is absent in the executable file, but “suspicious” commands can also be executed when executing malicious files (for example, deleting files, transferring data over a computer network, etc.) .d), therefore, the calculated degree of harmfulness differs from 0 and does not exceed a predetermined threshold value (hereinafter referred to as the security criterion), upon exceeding which the behavior is executed th deemed safe file stops (on the schedule, said threshold value is denoted by a dotted line).
Однако со временем вредоносная активность исполняемого файла из-за выполнения большого количества «подозрительных» команд возрастает и степень вредоносности начинает стремиться к 1, при этом степень вредоносности может не достигать заранее заданного порогового значения (далее - критерий вредоносности), при превышении которого поведение исполняемого файла будет считаться вредоносным (на графике упомянутое пороговое значение обозначается штриховой линией), а также может не превышать критерий безопасности, таким образом файл будет продолжать считаться безопасным.However, over time, the malicious activity of the executable file increases due to the execution of a large number of “suspicious” commands and the degree of harmfulness begins to approach 1, while the degree of harmfulness may not reach a predetermined threshold value (hereinafter, the harmfulness criterion), beyond which the behavior of the executable file will be considered malicious (on the graph, the threshold value indicated by a dashed line), and may also not exceed the security criterion, so the file will be olzhat considered safe.
После периода роста (моменты А-В) вредоносная активность может прекращаться (моменты В-А), но степень вредоносности уменьшаться уже не будет, а при любой вредоносной активности исполняемого файла будет только продолжать расти, но при этом не превышать коэффициент безопасности, таким образом активность исполняемого файла будет считаться безопасной и, следовательно, упомянутый файл будет считаться безопасным.After a growth period (moments AB), malicious activity may cease (moments BA), but the degree of harmfulness will not decrease anymore, and for any malicious activity of the executable file it will only continue to grow, but not exceed the safety factor, thus the activity of the executable file will be considered safe and, therefore, the mentioned file will be considered safe.
В случае, когда степень вредоносности вычисляется не на основании каждого сформированного шаблона поведения (например, из-за того, что производительность вычислительного устройства является невысокой), возможна ситуация, когда степень вредоносности будет вычислена в момент В (когда активность наиболее схожа с вредоносной, т.е. становится «подозрительной») и не будет вычислена в момент А (когда «подозрительная» активность увеличивается) и в момент С (когда «подозрительная активность» уменьшается), тем не менее, поскольку степень вредоносности меняется монотонно, вычисленные степени вредоносности только увеличивают свои значения, в моменты А, В, С степени вредоносности не превысят критерия безопасности, активность исполняемого файла будет признана безопасной и, следовательно, безопасный файл будет признан безопасным.In the case when the severity is not calculated on the basis of each generated behavior pattern (for example, because the performance of the computing device is low), it is possible that the severity will be calculated at time B (when the activity is most similar to the malicious one, t ie becomes “suspicious”) and will not be calculated at time A (when “suspicious” activity increases) and at time C (when “suspicious” activity decreases), however, since the degree of malware changes monotonously, the calculated degrees of severity only increase their values, at moments A, B, and C the severity will not exceed the security criterion, the activity of the executable file will be recognized as safe and, therefore, the safe file will be recognized as safe.
При этом момент признания файла «подозрительным» может не произойти после выявления «подозрительной» активности, поскольку описанный подход обеспечивает на плавный рост степени вредоносности, что позволяет избежать резких пиков при росте степени вредоносности.At the same time, the moment of recognition of a file as “suspicious” may not occur after the detection of “suspicious” activity, since the described approach ensures a smooth increase in the degree of harmfulness, which avoids sharp peaks with an increase in the degree of harmfulness.
Фиг. 4 представляет пример схемы связей между элементами шаблонов поведения.FIG. 4 is an example of a relationship scheme between elements of behavior patterns.
Пример схемы связей между элементами шаблонов поведения содержит команды 411 (пустые кружки), параметры 412 (штрихованные кружки), пример шаблона поведения с одним параметром 421, пример шаблона поведения с одной командой 422.An example of a relationship between elements of behavior patterns contains commands 411 (empty circles), parameters 412 (hatched circles), an example of a behavior pattern with one
Во время исполнения файла были перехвачены команды 411 и определены описывающие им параметры 412:During the execution of the file, commands 411 were intercepted and the
На основании упомянутых команд 411 и параметров 412 формируют шаблоны поведения (421, 422) и определяют связи между элементами шаблонов поведения.Based on the mentioned commands 411 and
На первом этапе формируют шаблоны, содержащие одну команду 411 и один параметр 412, описывающий упомянутую команду:At the first stage, templates are formed containing one
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было сформировано 19 шаблонов поведения.In the given example, on the basis of 8 intercepted teams (with parameters describing them), 19 patterns of behavior were generated.
На втором этапе формируют шаблоны, содержащие один параметр 412 и все команды 411, описываемые упомянутым параметром 412:At the second stage, templates are formed containing one
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было дополнительно сформировано 7 шаблонов поведения.In the given example, based on 8 intercepted commands (with the parameters describing them), 7 additional behavior patterns were generated.
На третьем этапе формируют шаблоны, содержащие несколько параметров 412 и все команды 411, описываемые упомянутыми шаблонами 412:At the third stage, templates are formed containing
В приведенном примере на основании 8 перехваченных команд (с описывающими их параметрами) было дополнительно сформировано 3 шаблона поведения.In the given example, on the basis of 8 intercepted teams (with parameters describing them), 3 behavior patterns were additionally generated.
Фиг. 5 представляет структурную схему системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.FIG. 5 is a block diagram of a malware detection system using a trained malware detection model.
Структурная схема системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов состоит из анализируемого файла 501, средства формирования журналов поведения 112, средства выбора моделей обнаружения 520, базы моделей обнаружения 521, средства анализа журнала поведения 530, средства вычисления степени вредоносности 540, базы шаблонов решений 541 и средства анализа 550.The structural diagram of a malware detection system using a trained malware detection model consists of an analyzed
В одном из вариантов реализации системы упомянутая система дополнительно содержит средство формирования журналов поведения 112 исполняемого файла, предназначенное для:In one embodiment of the system, said system further comprises means for generating behavior logs 112 of the executable file for:
перехвата по меньшей мере одной команды по меньшей мере во время: intercepting at least one command at least during:
исполнения файла 501,
эмуляции исполнения файла 501; 501 file execution emulation;
определения для каждой перехваченной команды по меньшей мере одного параметра, описывающего упомянутую команду; determining, for each intercepted command, at least one parameter describing said command;
формирования на основании перехваченных команд и определенных параметров журнала поведения упомянутого файла, при этом перехваченные команды и описывающие их параметры записываются в журнал поведения в хронологическом порядке от более ранней перехваченной команды к более поздней перехваченной команды (далее - запись в журнале поведения); generating based on the intercepted commands and certain parameters of the behavior log of the mentioned file, while the intercepted commands and the parameters describing them are recorded in the behavior log in chronological order from the earlier intercepted command to the later intercepted command (hereinafter referred to as an entry in the behavior log);
передачи сформированного журнала поведения средству анализа журнала поведения 530 и средству выбора моделей обнаружения 520. transmitting the generated behavior log to the behavior
Еще в одном из вариантов реализации системы журнал поведения представляет собой совокупность исполняемых команд (далее - команда) из файла 501, где каждой команде соответствует по меньшей мере один параметр, описывающий упомянутую команду (далее - параметр).In another embodiment of the system, the behavior log is a set of executable commands (hereinafter referred to as the command) from the
Еще в одном из вариантов реализации системы перехват команд исполняемого файла 501 и определение параметров перехваченных команд осуществляется на основании анализа производительности вычислительного устройства, на котором работает система обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов, что включает в себя по меньшей мере:In yet another embodiment of the system, command interception of the
определения, возможно ли проанализировать исполняемый файл 501 на вредоносность (осуществляемое с помощью средства анализа журнала поведения 530, средства вычисления степени вредоносности 540 и средства анализа 550) до момента, когда будет перехвачена следующая команда; determining whether it is possible to analyze the
определения, не приведет ли анализ исполняемого файла 501 на вредоносность к снижению вычислительных ресурсов упомянутого вычислительного устройства ниже заранее заданного порогового значения, при этом в качестве ресурсов вычислительного устройства выступает по меньшей мере: determining whether the analysis of the
производительность упомянутого вычислительного устройства; performance of said computing device;
объем свободной оперативной памяти упомянутого вычислительного устройства; the amount of free RAM of said computing device;
объем свободного места на носителях информации упомянутого вычислительного устройства (например, жестких дисках); the amount of free space on the storage media of the said computing device (for example, hard drives);
пропускная способность компьютерной сети, к которой подключено упомянутое вычислительное устройство. the bandwidth of the computer network to which the computing device is connected.
Для повышения производительности системы обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов может потребоваться анализировать журнал поведения, содержащего не все выполняемые команды исполняемого файла 501, поскольку вся последовательность действий, выполняемых для анализа файла 501 на вредоносность, занимает времени больше, чем промежуток времени между двумя последовательно выполняемыми командами исполняемого файла 501.To improve the performance of the malware detection system using the trained malware detection model, it may be necessary to analyze a behavior log that does not contain all the executable commands of the
Например, команды исполняемого файла 501 выполняются (а, следовательно, и перехватываются) каждую 0,001 сек, но анализ файла 501 на вредоносность занимает 0,15 сек, таким образом все команды, перехваченные в течении упомянутого промежутка времени, будут проигнорированы, таким образом достаточно перехватывать лишь каждую 150 команду.For example, the commands of the
Средство выбора моделей обнаружения 520 предназначено для:The 520 detection model selector is designed for:
выборки из базы моделей обнаружения 521 по меньшей мере двух моделей обнаружения вредоносных файлов на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом модель обнаружения вредоносных файлов представляет собой решающее правило определения степени вредоносности; selection from the database of
передачи всех выбранных моделей обнаружения вредоносных файлов средству вычисления степени вредоносности 540. transferring all selected malware detection models to
В одном из вариантов реализации системы модели обнаружения вредоносных файлов, хранящиеся в базе моделей обнаружения 521, были предварительно обучены методом машинного обучения на по меньшей мере одном безопасном файле и вредоносном файле.In one embodiment of the system, malware detection models stored in the database of 521 detection models were pre-trained using machine learning on at least one safe file and malicious file.
Более подробно модель обнаружения вредоносных файлов описана на Фиг. 1 - Фиг. 4.The malware detection model is described in more detail in FIG. 1 - FIG. four.
Еще в одном из вариантов реализации системы в качестве метода машинного обучения модели обнаружения выступает по меньшей мере метод:In another embodiment of the system, at least the method acts as a method of machine learning the detection model:
градиентный бустинг на деревьях принятия решений; gradient boosting on decision trees;
деревья принятия решений; decision trees;
ближайших соседей kNN; nearest neighbors kNN;
опорных векторов. reference vectors.
Еще в одном из вариантов реализации системы метод обучения модели обнаружения обеспечивает монотонность изменения степени вредоносности файла в зависимости от изменения количества шаблонов поведения, сформированных на основании анализа журнала поведения.In another embodiment of the system’s implementation, the method of teaching the detection model ensures the monotonicity of the change in the degree of harmfulness of the file depending on the change in the number of behavior patterns generated from the analysis of the behavior log.
Например, вычисленная степень вредоносности файла 501 может только монотонно возрастать или не изменяться в зависимости от количества шаблонов поведения, сформированных на основании анализа журнала поведения упомянутого файла 501. В начале исполнения файла 501 количество сформированных шаблонов поведения незначительно, а вычисленная степень вредоносности упомянутого файла 501 незначительно отличается от 0, со временем количество сформированных шаблонов растет и вычисленная степень вредоносности упомянутого файла 501 также растет или если вредоносная активность упомянутого файла 501 отсутствует - вычисленная степень вредоносности остается неизменной, таким образом в какой бы момент исполнения вредоносного файла 501 (или с какой бы записи из журнала поведения ни началось бы формирование шаблонов поведения) ни была бы вычислена степень вредоносности файла, она будет отражать, имела ли место вредоносная активность файла 501 или нет до момента вычисления упомянутой степени вредоносности.For example, the calculated degree of maliciousness of the
Еще в одном из вариантов реализации системы каждая выбранная из базы моделей обнаружения 521 модель обнаружения вредоносных файлов обучена для обнаружения вредоносных файлов с заранее заданными уникальными характерными признаками.In yet another embodiment of the system, each malware detection model selected from the base of
Например, модели обнаружения, хранящиеся в базе моделей обнаружения 521, могут быть обучены для обнаружения файлов:For example, discovery models stored in the 521 discovery model database can be trained to detect files:
обладающих графическим интерфейсом (англ. GUI - graphical user interface); with a graphical user interface (English GUI - graphical user interface);
обменивающиеся данными по компьютерной сети; exchanging data over a computer network;
шифрующих файлы (например, вредоносные файлы семейства «Trojan-Cryptors»); encryption files (for example, malicious files of the Trojan-Cryptors family);
использующие для распространения сетевые уязвимости (например, вредоносные файлы семейства «Net-Worms»), Р2Р сети (например, вредоносные файлы семейства «P2P-Worms») и т.д. using network vulnerabilities for distribution (for example, malicious files of the Net-Worms family), P2P networks (for example, malicious files of the P2P-Worms family), etc.
Таким образом, вредоносный файл может быть обнаружен с использованием нескольких обученных моделей обнаружения вредоносных файлов. Например, вредоносный файл «WannaCry.exe» во время своего исполнения шифрующий данные на вычислительном устройстве пользователя и пересылающий свои копии другим вычислительным устройствам, подключенным к той же компьютерной сети, что и упомянутое вычислительное устройство пользователя, на котором исполняется упомянутый файл, может быть обнаружен с помощью модели обнаружения #1, обученной для обнаружения файлов, использующих уязвимости, модели обнаружения #2, обученной для обнаружения файлов, предназначенных для шифрования файлов и модели обнаружения #3, обученной для обнаружения файлов, содержащих текстовую информацию, интерпретируемую как выдвигаемые требования (например, о форме оплаты, денежных суммах и т.п.). При этом степени вредоносности, вычисленная с помощью упомянутых моделей, а также моменты времени, когда вычисленные степени вредоносности превысят заранее заданное пороговое значение, могут различаться. Например, результаты использования моделей обнаружения вредоносных файлов, с помощью которых удалось обнаружить вредоносный файл 501, могут быть выражены в следующей таблице:Thus, a malicious file can be detected using several trained malware detection models. For example, a malicious file “WannaCry.exe”, during its execution, encrypts data on a user's computing device and sends its copies to other computing devices connected to the same computer network as the mentioned computing device of the user on which the said file is executed, can be detected using the
Файл 501 признается вредоносным в случае, когда вычисленная степень вредоносности превосходит 0,78. При этом степень вредоносности (например, 0,78) характеризует вероятность того, что файл для которого вычислена степень вредоносности может оказаться вредоносным (78%) или безопасным (22%). Если файл 501 может быть признан вредоносным с использованием нескольких моделей обнаружения вредоносных файлов, то вероятность того, что файл 501 окажется вредоносным возрастает. Например, для моделей обнаружения вредоносных файлов, по которым приведены данные в Таблице #1, итоговая степень вредоносности может быть вычислена по формуле
гдеWhere
wtotal - итоговая степень вредоносности,w total - total degree of harmfulness,
wi - степень вредоносности, вычисленная с использованием с модели i,w i - the degree of harmfulness calculated using model i,
n - количество моделей обнаружения вредоносных файлов, использованных для вычисления итоговой степени вредоносности.n is the number of malware detection models used to calculate the total malware.
Таким образом, полученная итоговая степень вредоносности (0,999685) значительно выше, чем заранее заданное пороговое значение, при превышении вычисленной степенью вредоносности которого (0,78) файл признается вредоносным. Т.е. использование нескольких моделей обнаружения вредоносных файлов позволяет значительно повысить точность определения вредоносных файлов, уменьшить ошибки первого и второго рода, возникающие при обнаружении вредоносных файлов.Thus, the resulting final degree of harmfulness (0.999685) is significantly higher than a predetermined threshold value, if the calculated degree of harmfulness exceeds (0.78), the file is considered malicious. Those. the use of several models for detecting malicious files can significantly improve the accuracy of detection of malicious files, reduce errors of the first and second kind that occur when detecting malicious files.
Еще в одном примере использование нескольких моделей обнаружения вредоносных файлов позволяет итоговой степени вредоносности достичь заранее заданное пороговое значение, при превышении вычисленной степенью вредоносности которого файл признается вредоносным, гораздо раньше, чем при использовании каждой из моделей обнаружения вредоносных файлов по отдельности. Например, для моделей обнаружения вредоносных файлов, по которым приведены данные в Таблице #1, при условии, что вычисляемые степени вредоносности монотонно изменяются, № команды из журнала поведения, после которого файл будет признан вредоносным, может быть вычислен по формулеIn another example, the use of several models for detecting malicious files allows the final degree of maliciousness to reach a predetermined threshold value, if the calculated degree of maliciousness is exceeded, the file is recognized as malicious much earlier than when using each of the malware detection models individually. For example, for malware detection models for which the data are shown in
гдеWhere
Idetect - № команды из журнала поведения, после анализа которой файл признается вредоносным,I detect - No. of the command from the behavior log, after the analysis of which the file is recognized as malicious,
Ii - № команды из журнала поведения, после анализа которой с использованием с модели i файл признается вредоносным,I i - No. of the team from the behavior log, after analysis of which, using model i, the file is considered malicious
wi - степень вредоносности, вычисленная с использованием с модели i,w i - the degree of harmfulness calculated using model i,
n - количество моделей обнаружения вредоносных файлов, использованных для вычисления № команды из журнала поведения, после анализа которой файл признается вредоносным.n is the number of malware detection models used to calculate the command number from the behavior log, after which the file is recognized as malicious.
Таким образом полученный итоговый № команды из журнала поведения (207) значительно меньше, чем самый ранний № команды из журнала поведения (288), после анализа которой файл был признан вредоносным одной из моделей обнаружения вредоносных файлов (модель #2). Т.е. использование нескольких моделей обнаружения вредоносных файлов позволяет значительно повысить скорость (т.е. оперативность) определения вредоносных файлов.Thus, the resulting final command number from the behavior log (207) is significantly less than the earliest command number from the behavior log (288), after analyzing which the file was recognized as malicious by one of the malware detection models (model # 2). Those. the use of several models for detecting malicious files can significantly increase the speed (i.e. efficiency) of detecting malicious files.
Еще в одном примере разные модели обнаружения, хранящиеся в базе моделей обнаружения 521, могут быть обучены для обнаружения вредоносных файлов с несколькими не обязательно уникальными заранее заданными характерными признаками, т.е. модель обнаружения #1, может обнаруживать файлы, обладающие графическим интерфейсом и обменивающиеся данными по компьютерной сети, а модель #2, может обнаруживать файлы, обменивающиеся данными по компьютерной сети и распространяющиеся по упомянутой компьютерной сети с использованием сетевых уязвимостей. Обе упомянутые модели обнаружения могут обнаружить упомянутый вредоносный файл «WannaCry.exe» за счет общего характерного признака распространения файла по компьютерной сети с использованием сетевых уязвимостей.In another example, different detection models stored in the database of 521 detection models can be trained to detect malicious files with several not necessarily unique predefined characteristic features, i.e.
Еще в одном из вариантов реализации системы выбирают из базы моделей обнаружения 521 такую модель обнаружения вредоносных файлов, которая обучалась на файлах, при исполнении которых по меньшей мере:In yet another embodiment of the system, a malware detection model is selected from the database of
выполнялись те же команды, что и команды, выбранные из журнала поведения исполняемого файла 501; the same commands were executed as the commands selected from the behavior log of the
использовались те же параметры, что и параметры, выбранные из журнала поведения исполняемого файла 501. the same parameters were used as the parameters selected from the behavior log of the
Например из журнала поведения были выбраны команды «CreateFileEx», «ReadFile», «WriteFile», «CloseHandle», которые используются для модификации файлов, в том числе для шифрования файлов. Из базы моделей обнаружения 521 выбирают модель обнаружения, обученную для использования для обнаружения вредоносных файлов семейства «Trojan-Cryptors».For example, the CreateFileEx, ReadFile, WriteFile, CloseHandle commands that were used to modify files, including encrypting files, were selected from the behavior log. From the database of
Еще в одном примере из журнала поведения были выбраны параметры «8080», «21», описывающие команды работы с компьютерной сетью (например, connect, где описанные выше параметры представляют собой порты соединения к электронному адресу). Из базы моделей обнаружения 521 выбирают модель обнаружения, обученную для использования для обнаружения файлов, обеспечивающих обмен данными по компьютерной сети.In another example, the parameters “8080”, “21” were selected from the behavior log, which describe commands for working with a computer network (for example, connect, where the parameters described above are the ports for connecting to the electronic address). From the database of
Средство анализа журнала поведения 530 предназначено для:Behavioral
формирования по меньшей мере одного шаблона поведения на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора; generating at least one behavior pattern based on commands and parameters selected from the behavior log of the
вычисления свертки от всех сформированных шаблонов поведения; convolution calculations from all generated behavior patterns;
передачи сформированной свертки средству вычисления степени вредоносности 540 исполняемого файла. transmitting the generated convolution to the means of calculating the
В одном из вариантов реализации системы вычисление свертки от сформированных шаблонов поведения выполняется на основании заранее заданной функции свертки, такой что обратная функция свертки от результата упомянутой функции свертки над всеми сформированными шаблонами поведения имеет степень схожести с упомянутым шаблоном поведения больше заданного порогового значения.In one embodiment of the system, the convolution from the generated behavior patterns is calculated based on a predetermined convolution function, such that the inverse convolution function from the result of the convolution function over all generated behavior patterns is more similar to the behavior pattern than the specified threshold value.
Более подробно формирование и использование функций свертки (вычисление свертки) описаны на Фиг. 1, Фиг. 2.The formation and use of convolution functions (convolution calculation) are described in more detail in FIG. 1, FIG. 2.
Средство вычисления степени вредоносности 540 предназначено для:The 540 malware calculator is designed for:
вычисления степени вредоносности исполняемого файла 501 на основании анализа полученной свертки с помощью каждой полученной модели обнаружения вредоносных файлов; calculating the severity of the
передачи каждой вычисленной степени вредоносности средству анализа 550. transferring each calculated degree of harmfulness to the
В одном из вариантов реализации системы шаблон решения представляет собой композицию степеней вредоносности.In one embodiment of the system, the solution template is a composition of the degrees of harmfulness.
Например, композиция степеней вредоносности, вычисленных на основании моделей #1, #2, #3, описанных выше, может быть представлена в виде совокупности пар {0.95, 374}, {0.79, 288}, {0.87, 302}.For example, the composition of the degrees of harmfulness calculated on the basis of the
Еще в одном примере композиция степеней вредоносности, вычисленных на основании моделей #1, #2, #3, описанных выше, может представлять меру центральной тенденции вычисленных степеней вредоносности (например, среднее арифметическое, в данном случае 0,87).In another example, the composition of the degrees of harmfulness calculated on the basis of the
Еще в одном примере композиция степеней вредоносности представляет собой зависимость изменения степеней вредоносности от времени или количества шаблонов поведения, используемых для вычисления степени вредоносности.In yet another example, the composition of the degrees of harmfulness is the dependence of the change in the degrees of harmfulness on time or the number of behavior patterns used to calculate the degree of harmfulness.
Средство анализа 550 предназначено для:
формирования на основании полученных степеней вредоносности шаблона решения; forming, based on the obtained degrees of harmfulness, a solution template;
признания исполняемого файла 501 вредоносным, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541, предварительно сформированных на основании анализа вредоносных файлов, превышает заранее заданное пороговое значение. recognition of the
В одном из вариантов реализации системы шаблон решения представляет собой совокупность степеней вредоносности, полученных от средства вычисления степеней вредоносности 540.In one embodiment of the system, the solution template is a combination of the degrees of harmfulness received from the means of calculating the degrees of
Еще в одном из вариантов реализации системы шаблон решения представляет собой зависимость степени вредоносности от времени или количества шаблонов поведения, используемых для вычисления упомянутой степени вредоносности.In another embodiment of the system, the solution template is the dependence of the degree of harmfulness on time or the number of behavior patterns used to calculate the said degree of harmfulness.
Еще в одном из вариантов реализации системы шаблонов решения из базы шаблонов решения 541 формируются на основании анализа вредоносных файлов, использованных для обучения моделей из базы моделей обнаружения 521.In another embodiment of the system of solution templates, solutions from the database of
Например, на основании 100000 файлов, из которых 75000 безопасных файлов и 25000 вредоносных файлов обучают (включая тестирование) модели обнаружения, которые затем сохраняют в базу моделей обнаружения 521. После того как модели обнаружения вредоносных файлов были обучены, они используются для формирования шаблонов решений для некоторых (или всех) из 25000 упомянутых вредоносных файлов, которые затем записывают в базу шаблонов решений 541. Т.е. первоначально на обучающей и тестовой выборке файлов выполняют машинное обучение моделей обнаружения вредоносных файлов. В итоге может быть обучено несколько моделей обнаружения вредоносных файлов, каждая из которых будет обучена для обнаружения вредоносных файлов с уникальными заранее заданными характерными признаками. После того, как все модели обнаружения будут обучены, определяют, какие из обученных моделей обнаружения вредоносных файлов обнаруживают те или иные вредоносные файлы (из описанного выше примера - 25000 вредоносных файлов), может оказаться, что один вредоносный файл может быть обнаружен с использованием одного набора моделей обнаружения вредоносных файлов, другой - с использованием другого набора моделей обнаружения вредоносных файлов, третий - с использованием некоторых моделей обнаружения вредоносных файлов из упомянутых выше наборов моделей обнаружения вредоносных файлов. На основании полученных данных о том, с помощью каких моделей обнаружения вредоносных файлов какие вредоносные файлы могут быть обнаружены, формируются шаблоны решения.For example, based on 100,000 files, of which 75,000 safe files and 25,000 malicious files are trained (including testing) detection models, which are then stored in the 521 detection model database. After the malicious file detection models have been trained, they are used to create decision templates for some (or all) of the 25,000 mentioned malicious files, which are then written to the
Еще в одном из вариантов реализации системы дополнительно средство анализа 550 предназначено для переобучения по меньшей мере одной модели обнаружения из базы моделей обнаружения 521 на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541 превышает заранее заданное пороговое значение, а степени вредоносности, вычисленные с помощью упомянутых моделей обнаружения вредоносного файла, не превышают заранее заданного порогового значения.In another embodiment of the system, the
Фиг. 6 представляет структурную схему способа обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов.FIG. 6 is a flow diagram of a method for detecting malicious files using a trained model for detecting malicious files.
Структурная схема способа обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов содержит этап 610, на котором исполняют анализируемый файл, этап 620, на котором формируют журнал поведения, этап 630, на котором формируют шаблоны поведения, этап 640, на котором вычисляют свертку, этап 650, на котором выбирают модель обнаружения, этап 660, на котором вычисляют степень вредоносности, этап 670, на котором формируют шаблон решения, этап 680, на котором признают файл вредоносным и этап 690, на котором переобучают модель обнаружения.The flowchart of a method for detecting malicious files using a trained model for detecting malicious files comprises a
На этапе 610 с помощью средства формирования журналов поведения 112 по меньшей мере:At
исполняют анализируемый файл 501; execute the analyzed
эмулируют исполнение анализируемого файла 501. emulate the execution of the analyzed
На этапе 620 с помощью средства формирования журналов поведения 112 формируют журнал поведения для анализируемого файла 501 для чего:At
перехватывают по меньшей мере одну выполняемую команду; intercept at least one executable command;
определяют для каждой перехваченной команды по меньшей мере один параметр, описывающий упомянутую команду; determining for each intercepted command at least one parameter describing said command;
формируют на основании перехваченных команд и определенных параметров журнала поведения упомянутого файла 501. form on the basis of intercepted commands and certain parameters of the behavior log of said
На этапе 630 с помощью средства анализа журнала поведения 530 формируют по меньшей мере один шаблон поведения на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом шаблон поведения представляет собой набор из по меньшей мере одной команды и такого параметра, который описывает все команды из упомянутого набора.At
На этапе 640 с помощью средства анализа журнала поведения 530 вычисляют свертку от всех сформированных на этапе 630 шаблонов поведения.At 640, a convolution from all the behavior patterns generated at 630 is calculated using the behavior
На этапе 650 с помощью средства выбора моделей обнаружения 520 выбирают из базы моделей обнаружения 521 по меньшей мере две модели обнаружения вредоносных файлов на основании команд и параметров, выбранных из журнала поведения исполняемого файла 501, при этом модель обнаружения вредоносных файлов представляет собой решающее правило определения степени вредоносности.At
На этапе 660 с помощью средства вычисления степени вредоносности 540 вычисляют степень вредоносности исполняемого файла 501 на основании анализа вычисленной на этапе 640 свертки с помощью каждой выбранной на этапе 650 модели обнаружения вредоносных файлов.At
На этапе 670 с помощью средства анализа 550 формируют на основании полученных на этапе 660 степеней вредоносности шаблон решения.At
На этапе 680 с помощью средства анализа 550 признают исполняемый файл 501 вредоносным, в случае, когда степень схожести между сформированным на этапе 670 шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541 превышает заранее заданное пороговое значение.At
На этапе 690 с помощью средства анализа 550 переобучают по меньшей мере одну модель обнаружения из базы моделей обнаружения 521 на основании команд и параметров, выбранных из журнала поведения исполняемого файла, в случае, когда степень схожести между сформированным шаблоном решения и по меньшей мере одним из заранее заданных шаблонов решения из базы шаблонов решения 541 превышает заранее заданное пороговое значение, а степени вредоносности, вычисленные с помощью упомянутых моделей обнаружения вредоносного файла, не превышают заранее заданного порогового значения.At
Фиг. 7 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.FIG. 7 is an example of a general purpose computer system, a personal computer or
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 7. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined by the claims.
Claims (58)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017128540A RU2654151C1 (en) | 2017-08-10 | 2017-08-10 | System and method of detection of malicious files using a trained malware detection pattern |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017128540A RU2654151C1 (en) | 2017-08-10 | 2017-08-10 | System and method of detection of malicious files using a trained malware detection pattern |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2654151C1 true RU2654151C1 (en) | 2018-05-16 |
Family
ID=62152998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017128540A RU2654151C1 (en) | 2017-08-10 | 2017-08-10 | System and method of detection of malicious files using a trained malware detection pattern |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2654151C1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2697958C1 (en) * | 2018-06-29 | 2019-08-21 | Акционерное общество "Лаборатория Касперского" | System and method for detecting malicious activity on a computer system |
RU2706896C1 (en) * | 2018-06-29 | 2019-11-21 | Акционерное общество "Лаборатория Касперского" | System and method of detecting malicious files using a training model trained on one malicious file |
RU2724800C1 (en) * | 2018-12-28 | 2020-06-25 | Акционерное общество "Лаборатория Касперского" | System and method of detecting source of malicious activity on computer system |
EP3674948A1 (en) * | 2018-12-28 | 2020-07-01 | AO Kaspersky Lab | System and method for classification of objects of a computer system |
EP3674947A1 (en) * | 2018-12-28 | 2020-07-01 | AO Kaspersky Lab | System and method for detection of a malicious file |
CN111382430A (en) * | 2018-12-28 | 2020-07-07 | 卡巴斯基实验室股份制公司 | System and method for classifying objects of a computer system |
RU2739830C1 (en) * | 2019-09-30 | 2020-12-28 | Акционерное общество "Лаборатория Касперского" | System and method of selecting means of detecting malicious files |
US11216558B2 (en) | 2019-09-24 | 2022-01-04 | Quick Heal Technologies Limited | Detecting malwares in data streams |
RU2802860C1 (en) * | 2020-04-21 | 2023-09-05 | БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД | Computer system and method for detecting malware using machine learning |
EP3918500B1 (en) * | 2019-03-05 | 2024-04-24 | Siemens Industry Software Inc. | Machine learning-based anomaly detections for embedded software applications |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7487544B2 (en) * | 2001-07-30 | 2009-02-03 | The Trustees Of Columbia University In The City Of New York | System and methods for detection of new malicious executables |
RU101223U1 (en) * | 2010-03-02 | 2011-01-10 | Закрытое акционерное общество "Лаборатория Касперского" | SYSTEM FOR QUICK DETECTION OF SIMILAR OBJECTS USING CONVOLUTIONS |
RU2454714C1 (en) * | 2010-12-30 | 2012-06-27 | Закрытое акционерное общество "Лаборатория Касперского" | System and method of increasing efficiency of detecting unknown harmful objects |
RU2580036C2 (en) * | 2013-06-28 | 2016-04-10 | Закрытое акционерное общество "Лаборатория Касперского" | System and method of making flexible convolution for malware detection |
US9652617B1 (en) * | 2013-06-25 | 2017-05-16 | Amazon Technologies, Inc. | Analyzing security of applications |
-
2017
- 2017-08-10 RU RU2017128540A patent/RU2654151C1/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7487544B2 (en) * | 2001-07-30 | 2009-02-03 | The Trustees Of Columbia University In The City Of New York | System and methods for detection of new malicious executables |
RU101223U1 (en) * | 2010-03-02 | 2011-01-10 | Закрытое акционерное общество "Лаборатория Касперского" | SYSTEM FOR QUICK DETECTION OF SIMILAR OBJECTS USING CONVOLUTIONS |
RU2454714C1 (en) * | 2010-12-30 | 2012-06-27 | Закрытое акционерное общество "Лаборатория Касперского" | System and method of increasing efficiency of detecting unknown harmful objects |
US9652617B1 (en) * | 2013-06-25 | 2017-05-16 | Amazon Technologies, Inc. | Analyzing security of applications |
RU2580036C2 (en) * | 2013-06-28 | 2016-04-10 | Закрытое акционерное общество "Лаборатория Касперского" | System and method of making flexible convolution for malware detection |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2697958C1 (en) * | 2018-06-29 | 2019-08-21 | Акционерное общество "Лаборатория Касперского" | System and method for detecting malicious activity on a computer system |
RU2706896C1 (en) * | 2018-06-29 | 2019-11-21 | Акционерное общество "Лаборатория Касперского" | System and method of detecting malicious files using a training model trained on one malicious file |
US11163881B2 (en) | 2018-06-29 | 2021-11-02 | AO Kaspersky Lab | Systems and methods for detecting malicious activity in a computer system |
EP3674947A1 (en) * | 2018-12-28 | 2020-07-01 | AO Kaspersky Lab | System and method for detection of a malicious file |
US11188649B2 (en) | 2018-12-28 | 2021-11-30 | AO Kaspersky Lab | System and method for classification of objects of a computer system |
CN111382430A (en) * | 2018-12-28 | 2020-07-07 | 卡巴斯基实验室股份制公司 | System and method for classifying objects of a computer system |
US11880455B2 (en) | 2018-12-28 | 2024-01-23 | AO Kaspersky Lab | Selecting a detection model for detection of a malicious file |
US11036858B2 (en) | 2018-12-28 | 2021-06-15 | AO Kaspersky Lab | System and method for training a model for detecting malicious objects on a computer system |
RU2724800C1 (en) * | 2018-12-28 | 2020-06-25 | Акционерное общество "Лаборатория Касперского" | System and method of detecting source of malicious activity on computer system |
US11176250B2 (en) | 2018-12-28 | 2021-11-16 | AO Kaspersky Lab | System and method for detection of a malicious file |
EP3674948A1 (en) * | 2018-12-28 | 2020-07-01 | AO Kaspersky Lab | System and method for classification of objects of a computer system |
US11599630B2 (en) | 2018-12-28 | 2023-03-07 | AO Kaspersky Lab | System and method for training a detection model using machine learning |
US11227048B2 (en) | 2018-12-28 | 2022-01-18 | AO Kaspersky Lab | Method and system for detecting malicious files using behavior patterns |
US11403398B2 (en) | 2018-12-28 | 2022-08-02 | AO Kaspersky Lab | System and method of detecting a source of malicious activity in a computer system |
EP3918500B1 (en) * | 2019-03-05 | 2024-04-24 | Siemens Industry Software Inc. | Machine learning-based anomaly detections for embedded software applications |
US11216558B2 (en) | 2019-09-24 | 2022-01-04 | Quick Heal Technologies Limited | Detecting malwares in data streams |
RU2739830C1 (en) * | 2019-09-30 | 2020-12-28 | Акционерное общество "Лаборатория Касперского" | System and method of selecting means of detecting malicious files |
RU2802860C1 (en) * | 2020-04-21 | 2023-09-05 | БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД | Computer system and method for detecting malware using machine learning |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2679785C1 (en) | System and method of classification of objects | |
RU2659737C1 (en) | System and method of managing computing resources for detecting malicious files | |
RU2724710C1 (en) | System and method of classifying objects of computer system | |
RU2654151C1 (en) | System and method of detection of malicious files using a trained malware detection pattern | |
US10878090B2 (en) | System and method of detecting malicious files using a trained machine learning model | |
RU2739865C2 (en) | System and method of detecting a malicious file | |
US10795996B2 (en) | System and method of machine learning of malware detection model | |
US10929534B2 (en) | System and method detecting malicious files using machine learning | |
RU2654146C1 (en) | System and method of detecting malicious files accompanied with using the static analysis elements | |
JP6731981B2 (en) | System and method for managing computational resources for malicious file detection based on machine learning model | |
RU2673708C1 (en) | System and method of machine training model of detecting malicious files |