RU2514139C1 - System and method of creating rules for filtering insignificant events for event log analysis - Google Patents

System and method of creating rules for filtering insignificant events for event log analysis Download PDF

Info

Publication number
RU2514139C1
RU2514139C1 RU2012141475/08A RU2012141475A RU2514139C1 RU 2514139 C1 RU2514139 C1 RU 2514139C1 RU 2012141475/08 A RU2012141475/08 A RU 2012141475/08A RU 2012141475 A RU2012141475 A RU 2012141475A RU 2514139 C1 RU2514139 C1 RU 2514139C1
Authority
RU
Russia
Prior art keywords
events
event
insignificant
execution
filtering
Prior art date
Application number
RU2012141475/08A
Other languages
Russian (ru)
Other versions
RU2012141475A (en
Inventor
Олег Владимирович Зайцев
Original Assignee
Закрытое акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Лаборатория Касперского" filed Critical Закрытое акционерное общество "Лаборатория Касперского"
Priority to RU2012141475/08A priority Critical patent/RU2514139C1/en
Application granted granted Critical
Publication of RU2514139C1 publication Critical patent/RU2514139C1/en
Publication of RU2012141475A publication Critical patent/RU2012141475A/en

Links

Images

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to means of creating rules for filtering insignificant events for event log analysis. Data are obtained from at least one data base. A template program is formed based on the obtained data. The formed template program is run using a software execution monitoring means. All events are recorded in an event log for events occurring while the template program is running. At least one rule for filtering low-significance events is created based on events from the event log if said events are low-significance events, where a low-significance event is an event occurring when running or emulating both safe applications and malicious applications.
EFFECT: fewer malfunctions when detecting malicious objects.
21 cl, 8 dwg, 1 tbl

Description

Область техникиTechnical field

Данное изобретение относится к системам анализа протоколов событий при эмуляции приложений и, более конкретно, к системам предварительной фильтрации малозначимых событий с целью уменьшения ложных срабатываний при выявлении вредоносных объектов во время эмуляции и при формировании правил поведения.This invention relates to systems for analyzing event protocols during application emulation and, more specifically, to systems for preliminary filtering of insignificant events in order to reduce false positives when malicious objects are detected during emulation and when forming rules of behavior.

Уровень техникиState of the art

В настоящее время распространение вредоносного программного обеспечения (далее - ПО) увеличивается с каждым днем, а также увеличивается и вред, который данное ПО наносит персональным компьютерам (далее - ПК) пользователей. Существующие методы защиты персональных компьютеров, а также компьютеров в корпоративной сети, предназначены как для обнаружения уже известных угроз, так для обнаружения неизвестных угроз. Методы защиты от известных угроз (компьютерных вирусов), как правило, основаны на сигнатурном сканировании, которое использует шаблоны кода, полученные из известных вредоносных программ для последующей проверки объектов. Также методами защиты от известных вирусов являются: технология "белых списков", использующая шаблоны уже известных доверенных программ, технология "черных списков", системы проверки контрольных сумм, метаданных и т.д. Однако скорость появления нового вредоносного ПО в последнее время постоянно растет, что требует постоянного увеличения роли проактивной защиты для осуществления оперативной защиты пользователя. Проактивные методы, чаще всего используемые для этой цели, как правило, имеют в своем составе эмулятор кода. Эмулятор разбирает байтовый код программы на команды и каждую команду запускает в виртуальной копии компьютера. Это позволяет средству защиты наблюдать за поведением программы, не ставя под угрозу операционную систему ПК и данные пользователя.Currently, the distribution of malicious software (hereinafter referred to as the software) is increasing every day, and the harm that this software does to personal computers (hereinafter referred to as the PC) of users is also increasing. Existing methods of protecting personal computers, as well as computers in the corporate network, are designed both to detect already known threats and to detect unknown threats. Methods of protection against known threats (computer viruses), as a rule, are based on signature scanning, which uses code templates obtained from known malicious programs for subsequent scanning of objects. Also, methods of protection against known viruses are: the technology of "white lists", which uses templates of already known trusted programs, the technology of "black lists", systems for checking checksums, metadata, etc. However, the speed of the emergence of new malware has been steadily increasing recently, which requires a constant increase in the role of proactive protection for real-time user protection. The proactive methods most often used for this purpose, as a rule, include a code emulator. The emulator parses the byte code of the program into commands and launches each command in a virtual copy of the computer. This allows the protection tool to monitor the behavior of the program without compromising the PC operating system and user data.

В настоящее время эмулятор также может содержать в себе аналитический модуль, который собирает информацию об анализируемом объекте, проводит исследования, на их основе делает вывод о вредоносности того или иного объекта и формирует правила обнаружения. Как правило, эмулятор с аналитическим модулем проводит глубокий анализ, используя правила для обнаружения неизвестных угроз, которые были созданы в антивирусных лабораториях. Также эмулятор во время исследования приложений может использовать различные рейтинги (например, рейтинг опасности, описанный в патенте на полезную модель RU 101233). Следует отметить, что во время эмуляции приложений для последующего анализа/исследования формируется протокол произошедших событий, который содержит в себе как обычные (типичные) события безопасных (известных) программ, так и подозрительные события остальных программ (неизвестных или вредоносных). На основе анализа данного протокола событий, во время которого и используются правила обнаружения произошедших событий и расчета рейтинга, выносится окончательный вердикт о вредоносности исследуемого приложения.Currently, the emulator can also contain an analytical module that collects information about the analyzed object, conducts research, and based on it draws a conclusion about the harmfulness of a particular object and generates detection rules. Typically, an emulator with an analysis module performs in-depth analysis using rules to detect unknown threats that were created in antivirus laboratories. Also, the emulator may use various ratings during application research (for example, the hazard rating described in utility patent RU 101233). It should be noted that during the emulation of applications for subsequent analysis / research, a protocol of events has been formed that contains both ordinary (typical) events of safe (known) programs and suspicious events of other programs (unknown or malicious). Based on the analysis of this protocol of events, during which the rules for detecting events that have occurred and calculating the rating are used, the final verdict on the harmfulness of the application under investigation is issued.

В настоящее время существуют различные методы фильтрации протоколов (журналов) событий. Как правило, фильтрация используется с целью получения необходимых данных (событий) из протокола, согласно запрашиваемым критериям.Currently, there are various methods for filtering event protocols (logs). As a rule, filtering is used to obtain the necessary data (events) from the protocol, according to the requested criteria.

Так, в патенте US 7707189 B2 описывается метод управления записями в журнале регистрации, связанными с произошедшими событиями во время работы приложения. Метод включает в себя анализ и фильтрацию записей, находящиеся в журнале событий, и информации, связанной с данными записями, с помощью правил фильтрации.So, in patent US 7707189 B2 describes a method of managing entries in the logbook associated with events that occurred during application operation. The method includes analysis and filtering of records in the event log, and information related to these records using filtering rules.

В патенте US 7024694 B1 описывается метод выявления вторжений в компьютерную систему с помощью системы контроля. Система контроля формирует журнал регистрации совершенных событий и проводит анализ с помощью полученного заранее перечня контроля, содержащего условия и критерии проверки. Также система позволяет на основе выявленных событий динамически регулировать критерии контроля или условия для последующего контроля.US Pat. No. 7,024,694 B1 describes a method for detecting intrusions into a computer system using a monitoring system. The control system generates a log of perfect events and analyzes using the control list received in advance, containing the conditions and criteria for verification. The system also allows on the basis of identified events to dynamically adjust the control criteria or conditions for subsequent control.

Однако вышеперечисленные изобретения не решают одну из основных проблем при анализе протоколов - большие временные затраты, т.к. созданные протоколы событий во время эмуляции достигают огромных размеров, которые могут доходить до миллиона строк. Еще одним недостатком является то, что при анализе таких протоколов малораспространенные значимые события сложно выявить среди большого числа малозначимых (незначительных) событий. Малозначимым событием является такое событие, которое с точки зрения анализа опасности поведения (совершенного действия) не имеет большого значения, т.к. данное событие может происходить как во время выполнения безопасного ПО, так и во время выполнения вредоносного ПО. Следовательно, с помощью малозначимых событий нельзя точно определить, является ли ПО вредоносным или нет. Типичным примером малозначимых событий при выполнении какого-либо программного обеспечения, написанного на языке программирования Delphi, могут быть события, которые произошли от выполнения дополнительного кода, добавленного при компиляции данного ПО, например «startup кода».However, the above inventions do not solve one of the main problems in the analysis of protocols - large time costs, because created logs of events during emulation reach enormous sizes, which can reach up to a million lines. Another drawback is that when analyzing such protocols, it is difficult to identify low-significant significant events among a large number of insignificant (insignificant) events. An insignificant event is an event that, from the point of view of analyzing the danger of behavior (perfect action), does not matter much, because This event can occur both during the execution of safe software and during the execution of malware. Therefore, with the help of insignificant events it is impossible to determine exactly whether the software is malicious or not. A typical example of insignificant events when executing any software written in the Delphi programming language may be events that occurred from the execution of additional code added during compilation of this software, for example, “startup code”.

Еще одной проблемой систем фильтрации событий является то, что при выполнении их обучения, т.е. создания новых или настройки имеющихся правил обнаружения произошедших событий, есть риск создать такое правило, которое является стандартным для некоторого легитимного программного обеспечения. Таким образом, будет присутствовать значительный риск ложного срабатывания на легитимное ПО. Примером событий, на которые может быть создано ложное правило, являются события, произошедшие во время исполнения приложения, которые было предварительно сжато и/или зашифровано с помощью специализированных программ защиты. Примерами программ защиты являются программы защиты от исследований (например, OSProtector), которые могут с целью защиты программного приложения от несанкционированной модификации выполнять множество разных операций, но это не показатель легитимности или вредоносности данного приложения - такое поведение будет у любого приложения, защищенного такой программой.Another problem of event filtering systems is that when performing their training, i.e. creating new or adjusting existing rules for detecting events that have occurred, there is a risk of creating a rule that is standard for some legitimate software. Thus, there will be a significant risk of false positives for legitimate software. An example of events for which a false rule can be created are events that occurred during application execution, which were previously compressed and / or encrypted using specialized protection programs. Examples of protection programs are research protection programs (for example, OSProtector), which can perform many different operations to protect a software application from unauthorized modification, but this is not an indicator of the legitimacy or harmfulness of this application - any application protected by such a program will have such behavior.

Перечисленные проблемы можно решить с помощью предварительной фильтрации, т.е. фильтрации еще на этапе совершения событий и их записи в протокол эмуляции.These problems can be solved using pre-filtering, i.e. filtering at the stage of events and their recording in the emulation protocol.

Таким образом, требуется создать решение, которое позволит проводить предварительную фильтрацию событий с помощью заранее сформированных правил фильтрации малозначимых событий. Система фильтрации малозначимых событий, которая будет описана далее, позволяет решить задачу уменьшения размера протокола совершенных событий.Thus, it is required to create a solution that allows preliminary filtering of events using pre-formed rules for filtering insignificant events. The system for filtering insignificant events, which will be described later, allows us to solve the problem of reducing the size of the protocol of perfect events.

Сущность изобретенияSUMMARY OF THE INVENTION

Настоящее изобретение предназначено для предварительной фильтрации записей в протоколе событий созданного во время эмуляции приложения, с целью уменьшения его размера за счет поиска и удаления типовых (малозначимых) событий.The present invention is intended for pre-filtering entries in the protocol of events created during the emulation of the application, in order to reduce its size by searching and deleting typical (unimportant) events.

Технический результат данного изобретения заключается в обеспечении возможности фильтрации малозначимых событий в протоколе событий, сформированном во время отслеживания выполнения приложения, который достигается за счет формирования правил фильтрации малозначимых событий.The technical result of this invention is to enable filtering of insignificant events in the event protocol generated during tracking application execution, which is achieved by forming rules for filtering insignificant events.

Система формирования правил фильтрации малозначимых событий, которая включает в себя:The system of forming rules for filtering insignificant events, which includes:

а) по крайней мере, одну информационную базу, содержащую набор данных для формирования программ-образцов;a) at least one information base containing a data set for the formation of sample programs;

б) средство формирования программы-образца, предназначенное для формирования программы-образца, используя данные, по меньшей мере, из одной информационной базы, и передачи указанной программы-образца средству отслеживания выполнения программного обеспечения;b) a means for generating a sample program for generating a sample program using data from at least one information base and transmitting said sample program to a software execution tracking means;

в) упомянутое средство отслеживания выполнения программного обеспечения, которое предназначено для:c) said software execution tracking tool, which is intended for:

- формирования протокола событий во время исполнения упомянутой программы-образца и- the formation of a protocol of events during the execution of the mentioned sample program and

- передачи упомянутого протокола событий средству анализа.- transmitting said protocol of events to the analysis tool.

г) упомянутое средство анализа, которое предназначено для:d) said analysis tool, which is intended for:

- формирования правил фильтрации малозначимых событий на основе каждого события из упомянутого протокола событий в том случае, если указанное событие является малозначимым событием,- the formation of rules for filtering insignificant events on the basis of each event from the mentioned protocol of events in the event that the specified event is an insignificant event,

где в качестве малозначимого события является событие, которое происходит во время исполнения как безопасных приложений, так и вредоносных приложений,where as an insignificant event is an event that occurs during the execution of both safe applications and malicious applications,

- передачи сформированных правил фильтрации малозначимых событий в базу правил фильтрации малозначимых событий;- transmission of the formed rules for filtering insignificant events to the database of rules for filtering insignificant events;

д) упомянутую базу правил фильтрации малозначимых событий, предназначенную для хранения полученных правил фильтрации малозначимых событий.d) the above-mentioned base of rules for filtering insignificant events, designed to store the resulting rules for filtering insignificant events.

В частном варианте исполнения системы в качестве, по крайней мере, одной информационной базы являются, по крайней мере, база компиляторов, база упаковщиков, база протекторов, базы архиваторов.In a particular embodiment of the system, at least one information base is at least a compiler base, a packer base, a protector base, an archiver database.

В частном варианте исполнения системы в качестве данных, содержащихся в упомянутой информационной базе, по крайней мере, являются, сами приложения, части программного кода приложений, метаданные приложений, хеш-суммы приложений или совокупность данных сущностей.In a particular embodiment of the system, the data contained in the said information base, at least, are the applications themselves, parts of the application program code, application metadata, hash sums of applications, or a combination of these entities.

В частном варианте исполнения системы в качестве метаданных приложений, по меньшей мере, являются имена приложений, размер приложений, номер версии приложений, тип приложения.In a particular embodiment of the system, the application metadata, at least, are application names, application size, application version number, application type.

В частном варианте исполнения системы в качестве средства отслеживания выполнения ПО является, по крайней мере, одно из следующих средств: эмулятор, дизассемблер и трассировщик.In a particular embodiment of the system, at least one of the following means is used as a means of monitoring software execution: an emulator, a disassembler, and a tracer.

В частном варианте исполнения системы в качестве события из сформированного протокола событий является малозначимое событие.In a particular embodiment of the system, an insignificant event is an event from the generated event protocol.

В частном варианте исполнения системы в системе содержится средство обновления, предназначенное для передачи правил фильтрации малозначимых событий персональным компьютерам пользователей.In a particular embodiment of the system, the system contains an update tool for transmitting filtering rules of minor events to personal computers of users.

В частном варианте исполнения системы средство анализа связано с базой протоколов событий от вредоносных программ, которая содержит, по крайней мере, один протокол событий, который сформирован во время исполнения вредоносных приложений, и с базой протоколов событий от безопасных программ, которая содержит, по крайней мере, один протокол событий, который сформирован во время исполнения безопасных приложений.In a particular embodiment of the system, the analysis tool is associated with a database of event protocols from malicious programs, which contains at least one event protocol that was generated during the execution of malicious applications, and with a database of event protocols from safe programs, which contains at least , one event log that is generated during the execution of secure applications.

В частном варианте исполнения системы средство анализа на основе анализа, по крайней мере, одного протока событий из базы протоколов событий от вредоносных программ и одного протокола событий из базы протоколов событий от безопасных программ формирует три списка событий:In a particular embodiment of the system, an analysis tool based on the analysis of at least one event flow from the database of event protocols from malicious programs and one event protocol from the database of event protocols from safe programs generates three lists of events:

а) список безопасных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения безопасных приложений,a) a list of safe events that contains events that were detected only in the event logs generated during the execution of safe applications,

б) список вредоносных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения вредоносных приложений;b) a list of malicious events that contains events that were detected only in the event logs generated during the execution of malicious applications;

в) список малозначимых событий, который содержит события, которые были обнаружены как в протоколах событий, сформированных во время исполнения вредоносных приложений, так и в протоколах событий, сформированных во время исполнения безопасных приложений.c) a list of insignificant events that contains events that were detected both in the event logs generated during the execution of malicious applications, and in the event logs generated during the execution of safe applications.

В частном варианте исполнения системы средство анализа проводит предварительный анализ событий из протокола событий, который сформирован во время исполнения упомянутой программы-образца с помощью сформированных упомянутых списков событий а) и б), и формирует правила фильтрации малозначимых событий на основе каждого события из упомянутого списка малозначимых событий.In a particular embodiment of the system, the analysis tool conducts a preliminary analysis of events from the event protocol, which is generated during the execution of the sample program using the generated event lists a) and b), and generates filtering rules for events of little significance based on each event from the list of events of little significance events.

В частном варианте исполнения системы анализируемое событие является малозначимым событием, если указанное событие отсутствует в упомянутых списках событий а) и б).In a particular embodiment of the system, the analyzed event is an insignificant event if the specified event is not in the mentioned lists of events a) and b).

Способ формирования правил фильтрации малозначимых событий, содержащий этапы, на которых:A method of forming rules for filtering insignificant events, comprising stages in which:

а) получают данные, по крайней мере, из одной информационной базы,a) receive data from at least one information base,

б) формируют программу - образец на основе полученных данных,b) form a program - a sample based on the data received,

в) исполняют сформированную программу - образец с помощью средства отслеживания выполнения программного обеспечения,c) execute the generated program - sample using the software execution tracking tool,

г) регистрируют все события в протоколе событий, которые происходят во время исполнения программы-образца,d) register all events in the protocol of events that occur during the execution of the sample program,

д) формируют, по крайней мере, одно правило фильтрации малозначимых событий на основе событий из протокола событий, в том случае если указанные события являются малозначимыми событиями,e) form at least one rule for filtering insignificant events on the basis of events from the protocol of events, if these events are insignificant events,

где в качестве малозначимого события является событие, которое происходит во время исполнения или эмуляции как безопасных приложений, так и вредоносных приложений. В частном варианте исполнения способа формируется три списка событий, которые были выявлены с помощью анализа, по крайней мере, одного протокола событий, созданного во время исполнения вредоносных программ, и, по крайней мере, одного протокола событий, созданного во время исполнения безопасных программ, и списки событий содержат:where as an insignificant event is an event that occurs during the execution or emulation of both safe applications and malicious applications. In a particular embodiment of the method, three lists of events are generated that were identified by analyzing at least one event protocol created during the execution of malicious programs, and at least one event protocol created during the execution of safe programs, and event lists contain:

а) список безопасных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения безопасных приложений,a) a list of safe events that contains events that were detected only in the event logs generated during the execution of safe applications,

б) список вредоносных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения вредоносных приложений;b) a list of malicious events that contains events that were detected only in the event logs generated during the execution of malicious applications;

в) список малозначимых событий, который содержит события, которые были обнаружены как в протоколах событий, сформированных во время исполнения вредоносных приложений, так и в протоколах событий, сформированных во время исполнения безопасных приложений.c) a list of insignificant events that contains events that were detected both in the event logs generated during the execution of malicious applications, and in the event logs generated during the execution of safe applications.

В частном варианте исполнения способа формируются правила фильтрации малозначимых событий на основе событий из упомянутого списка малозначимых событий.In a particular embodiment of the method, rules for filtering insignificant events are formed based on events from the list of insignificant events.

В частном варианте исполнения способа проводят предварительную проверку событий из протокола событий, созданного при исполнении программы-образца, перед формированием правил фильтрации малозначимых событий с помощью упомянутых списков событий а) и б) для определения малозначимых событий.In a particular embodiment of the method, a preliminary check of events is carried out from the protocol of events created during execution of the sample program before the formation of rules for filtering insignificant events using the mentioned event lists a) and b) to determine insignificant events.

В частном варианте исполнения способа событие является малозначимым событием, если указанные события из протокола событий, созданного при исполнении программы-образца, не содержатся в упомянутых списках событий а) и б).In a particular embodiment of the method, an event is an insignificant event if the specified events from the protocol of events created during the execution of the sample program are not contained in the mentioned lists of events a) and b).

В частном варианте исполнения способа хранят правила фильтрации малозначимых событий в базе правил фильтрации малозначимых событий.In a particular embodiment of the method, rules for filtering insignificant events are stored in the database of rules for filtering insignificant events.

В частном варианте исполнения способа передают правила фильтрации малозначимых событий персональным компьютерам пользователей с помощью средства обновления.In a particular embodiment of the method, rules for filtering insignificant events are transmitted to personal computers of users using the update tool.

В частном варианте исполнения способа данные, полученные от информационных баз, являются, по меньшей мере, данными об известных компиляторах, упаковщиках, протекторах, архиваторах.In a particular embodiment of the method, data received from infobases is at least data about known compilers, packers, protectors, archivers.

В частном варианте исполнения способа в качестве данных, получаемых от информационных баз, по крайней мере, являются сами приложения, метаданные приложений, части программного кода приложений, хеш-суммы приложений или совокупность данных сущностей.In a particular embodiment of the method, the data received from the infobases at least are the applications themselves, application metadata, parts of the application program code, hash sums of the applications, or a combination of these entities.

В частном варианте исполнения способа в качестве средства отслеживания выполнения ПО является, по крайней мере, одно из следующих средств: эмулятор, дизассемблер и трассировщик.In a particular embodiment of the method, at least one of the following means is used as a means of monitoring software execution: an emulator, a disassembler, and a tracer.

Краткое описание прилагаемых чертежейBrief description of the attached drawings

Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.The accompanying drawings, which are included to provide an additional understanding of the invention and form part of this description, show embodiments of the invention and together with the description serve to explain the principles of the invention.

Заявленное изобретение поясняется следующими чертежами, на которых:The claimed invention is illustrated by the following drawings, in which:

Фиг.1А, 1Б, 1В иллюстрируют примеры реализации системы создания правил фильтрации малозначимых событий.Figa, 1B, 1B illustrate examples of the implementation of the system for creating rules for filtering insignificant events.

Фиг.2 иллюстрирует пример схемы работы анализатора при формировании правил фильтрации малозначимых событий.Figure 2 illustrates an example of the analyzer operation when forming rules for filtering insignificant events.

Фиг.3 иллюстрирует блок-схему для способа, с помощью которого можно реализовать систему создания правил фильтрации малозначимых событий.Figure 3 illustrates a flowchart for a method by which you can implement a system for creating rules for filtering insignificant events.

Фиг.4 иллюстрирует алгоритм создания правил фильтрации малозначимых событий.Figure 4 illustrates an algorithm for creating filtering rules of minor events.

Фиг.5 показывает границы разделения событий при анализе протоколов событий.Figure 5 shows the boundaries of the separation of events in the analysis of event protocols.

Фиг.6 показывает пример компьютерной системы общего назначения, на которой может быть реализовано данное изобретение.6 shows an example of a general purpose computer system on which the present invention can be implemented.

Описание вариантов осуществления изобретения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.

Одним из вариантов реализации данного изобретения является система создания правил фильтрации малозначимых событий (МС), представленная на Фиг.1А, Фиг.1Б и Фиг.1В. Представленная система является дополнительным компонентом для систем фильтрации при формировании и/или анализе протоколов событий, созданных во время эмуляции программного обеспечения (ПО, приложения). Эмулятор ПО, как правило, является частью антивирусного средства, которое во время проверки ПО проводит поиск неизвестных вредоносных объектов на ПК пользователя. В качестве объекта можно рассмотреть исполняемый файл, например, [имя].ехе, который перед запуском проверяется эмулятором приложений.One of the options for implementing this invention is a system for creating rules for filtering insignificant events (MS), presented in figa, figb and figv. The presented system is an additional component for filtration systems in the formation and / or analysis of event protocols created during emulation of software (software, applications). The software emulator, as a rule, is part of an anti-virus tool that, during the software scan, searches for unknown malicious objects on the user's PC. As an object, you can consider an executable file, for example, [name]. Exe, which is checked by the application emulator before starting.

Эмулятор приложений разбирает байтовый код приложения на команды, а затем каждую команду запускает в виртуальной копии компьютера, что позволяет наблюдать за поведением данного приложения. При проведении проверки приложения во время исполнения каждой команды или набора команд происходят события, которые после предварительного анализа будут записаны в протокол событий для последующего анализа (для непосредственного выявления вредоносности приложения). Во время предварительного анализа используются правила фильтрации малозначимых событий на стороне ПК пользователя.The application emulator parses the byte code of the application into commands, and then runs each command in a virtual copy of the computer, which allows you to monitor the behavior of this application. When an application is tested during the execution of each command or a set of commands, events occur that, after preliminary analysis, will be recorded in the event protocol for subsequent analysis (to directly detect the harmfulness of the application). During the preliminary analysis, rules for filtering insignificant events on the side of the user's PC are used.

Если совершенное событие при эмуляции приложения было идентифицировано каким-либо правилом фильтрации малозначимых событий, то данное событие будет являться малозначимым событием и не будет добавлено в протокол событий. Если же событие не было идентифицировано ни одним правилом, то событие будет внесено в протокол событий для дальнейшего анализа другими средствами антивирусного устройства, например, с помощью системы, описанной в патенте на полезную модель RU 101233. После чего будет вынесено окончательное решение.If a perfect event when emulating the application was identified by some rule for filtering insignificant events, then this event will be an insignificant event and will not be added to the event log. If the event was not identified by any rule, the event will be entered into the event protocol for further analysis by other means of the anti-virus device, for example, using the system described in the patent for utility model RU 101233. After that, the final decision will be made.

Как было определено ранее, малозначимым событием является такое событие, которое происходит во время выполнения как безопасных программных приложений, так и вредоносных программных приложений. Следовательно, по такому событию или по совокупности таких событий нельзя точно определить, каким является приложение. Кроме того, такие события являются не только бесполезными для анализа протоколов эмуляции, а еще и вредными, так как они увеличивают размер протокола эмуляции в десятки - сотни раз, что приводит к затруднению (значительному увеличению времени) выявления вредоносных действий. Также стоит отметить, что малозначимые события могут повлиять на формирование правил анализа протоколов событий при эмуляции, т.к.правила анализа могут быть созданы на основе малозначимых событий (т.е. возможно ложное срабатывание).As previously determined, an insignificant event is an event that occurs during the execution of both safe software applications and malicious software applications. Therefore, by such an event or by the totality of such events it is impossible to determine exactly what the application is. In addition, such events are not only useless for the analysis of emulation protocols, but also harmful, since they increase the size of the emulation protocol by tens to hundreds of times, which makes it difficult (a significant increase in time) to detect malicious actions. It is also worth noting that insignificant events can affect the formation of rules for analyzing event protocols during emulation, because analysis rules can be created on the basis of insignificant events (i.e., false triggering is possible).

Примерами малозначимых событий являются:Examples of minor events are:

1) вызов «GetVersion()» - запрос версии операционной системы. Любое приложение, написанное на языке программирования Delphi 7, будет совершать данный запрос, а такой запрос не говорит о том, вредоносное приложение или нет;1) the call "GetVersion ()" - a request for the version of the operating system. Any application written in the Delphi 7 programming language will make this request, and such a request does not indicate whether the application is malicious or not;

2) вызов «RegOpenKeyEx(0×80000001,"Software\Borland\Locales*,„,);» - данное действие также будет совершаться при исполнении любого приложения, написанного на Delphi 7, и также по нему нельзя определить, какое это приложение;2) a call “RegOpenKeyEx (0 × 80000001," Software \ Borland \ Locales * , „,);” - this action will also be performed when any application written in Delphi 7 is executed, and it is also impossible to determine which application is using it;

3) вызов «GetModuleHandle("USER32.DLL");» - данное действие присуще 80% всех исполняемых файлов, следовательно, это действие будет совершено как при выполнении безопасных приложений, так и вредоносных.3) the call "GetModuleHandle (" USER32.DLL ");" - this action is inherent in 80% of all executable files, therefore, this action will be performed both while executing safe applications and malicious ones.

Стоит отметить, что система фильтрации при формировании и последующем анализе протоколов событий для исполнения анализируемого программного обеспечения (ПО, приложения) и создания протокола событий вместо эмулятора также может использовать другие средства отслеживания выполнения ПО. В качестве средства отслеживания выполнения ПО могут использоваться, по крайней мере, дизассемблер и трассировщик. С целью удобства понимания изобретения при описании чертежей в качестве средства отслеживания выполнения ПО используется эмулятор.It is worth noting that the filtering system, when creating and subsequently analyzing event protocols for executing the analyzed software (software, applications) and creating an event protocol, instead of an emulator, can also use other means of tracking software execution. At least a disassembler and a tracer can be used as a means of tracking software execution. For the convenience of understanding the invention, when describing the drawings, an emulator is used as a means of tracking software execution.

На Фиг.1А изображена структурная схема системы создания правил фильтрации малозначимых событий. В одном из вариантов реализации система создания правил фильтрации МС 100 взаимодействует с антивирусным сервером 101. Примером антивирусного сервера 101 может являться сервер, предоставляющий сервис Kaspersky Security Network. Антивирусный сервер 101 содержит различную информацию о ПО, которая разрабатывается компаниями-разработчиками, например Microsoft, а затем работает на ПК пользователей 180А, …, 180N. Вся информация о различных программах хранится в соответствующих информационных базах 110A, …, 110N. Информационные базы 110А, 110N могут находиться как отдельно (в антивирусном сервере 101) от других средств системы 100, так и совместно с ними. В качестве информации, которая содержится в информационных базах 110А, 110N, может быть как само приложение (файл), так и любая информация о приложениях, например метаданные приложения, части программного кода, хеш-сумма приложения и т.д. формационные базы 110А, …, 110N формируются по типам приложений, например, база компиляторов 110А, база упаковщиков 110Б (приложения для сжатия исполняемого файла), база протекторов/крипторов 110В (приложения для сжатия и шифрования исполняемого файла) и т.д.On figa shows a structural diagram of a system for creating rules for filtering insignificant events. In one embodiment, the MS 100 filtering rule creation system interacts with the anti-virus server 101. An example of an anti-virus server 101 may be a server that provides the Kaspersky Security Network service. The anti-virus server 101 contains various information about the software that is developed by development companies, for example Microsoft, and then runs on users' PC 180A, ..., 180N. All information about various programs is stored in the corresponding information databases 110A, ..., 110N. Information databases 110A, 110N can be located separately (in the anti-virus server 101) from other means of the system 100, or together with them. The information contained in the information databases 110A, 110N can be either the application (file) itself or any information about applications, for example application metadata, parts of program code, hash sum of the application, etc. formation bases 110A, ..., 110N are formed by application types, for example, the base of compilers 110A, the base of packers 110B (applications for compressing the executable file), the database of protectors / cryptors 110B (applications for compressing and encrypting the executable file), etc.

Система создания правил фильтрации МС 100 запрашивает из баз 110А, 110N информацию о содержащихся в них компиляторах, упаковщиках, протекторах и других программах. Базы 110А, …, 110N направляют запрашиваемую информацию средству создания программы-образца 120. Как было написано выше, в качестве информации, например, будет передаваться либо исполняемый файл компилятора, упаковщика, протектора и т.д., либо путь к исполняемому файлу. Средство создания программы-образца 120 использует, например, полученный компилятор для формирования программы-образца 125, которую направляет средству отслеживания выполнения ПО (далее - эмулятор) 130.The system for creating filtering rules MS 100 requests from the bases 110A, 110N information about the compilers, packers, protectors and other programs contained in them. The bases 110A, ..., 110N send the requested information to the means of creating the sample program 120. As described above, as information, for example, either the executable file of the compiler, packer, protector, etc., or the path to the executable file will be transferred. The tool for creating the sample program 120 uses, for example, the compiler to generate the sample program 125, which is sent to the tool for tracking the execution of software (hereinafter - the emulator) 130.

Стоит отметить, что созданная программа-образец 125 является простейшим приложением, которое не совершает никаких действий и служит только для выделения фрагментов - пустышек, созданных при запуске такого приложения. Например, у каждого компилятора из базы 110А существует стандартный список событий, который будет выполнен при выполнении приложений, созданных (скомпилированных) с помощью соответствующего компилятора. Примером простейшего приложения, созданного с помощью компилятора для языка программирования Delphi, является приложение:It is worth noting that the created sample program 125 is the simplest application that does not perform any actions and serves only to highlight fragments - dummies created when such an application was launched. For example, each compiler from base 110A has a standard list of events that will be executed during the execution of applications created (compiled) using the corresponding compiler. An example of a simple application created using a compiler for the Delphi programming language is the application:

BeginBegin

End.End.

Также можно подключить к данному приложению различные стандартные библиотеки, которые будут вызываться при выполнении приложения. В этом случае программа-образец 125, написанная на языке программирования Delphi, может иметь вид:You can also connect various standard libraries to this application that will be called when the application runs. In this case, the sample program 125, written in the Delphi programming language, can be of the form:

unit Unitl;unit unitl;

interfaceinterface

usesuses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, OracleData, Oracle, StdCtrls, urlmon, ExtCtrls, Spin,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, OracleData, Oracle, StdCtrls, urlmon, ExtCtrls, Spin,

IdBaseComponent, IdComponent, IdTCPConnection, IdTCP Client, IdHTTP, IdMultipartFormData, AbUnZper, AbUtils, AbArcTyp, INIFiles, RxVerlnf, IdUDPBase, IdUDPClient, IdDNSResolver, ComObj, Math; typeIdBaseComponent, IdComponent, IdTCPConnection, IdTCP Client, IdHTTP, IdMultipartFormData, AbUnZper, AbUtils, AbArcTyp, INIFiles, RxVerlnf, IdUDPBase, IdUDPClient, IdDNSResolver, type

TMain=class(TForm)TMain = class (TForm)

end;end;

varvar

Main: TMain;Main: TMain;

implementationimplementation

beginbegin

end.end.

В том случае когда данные были получены из баз 110Б или 110В, то программой-образцом 125 будет являться приложение, созданное (написанное) на любом языке программирования, и при этом будет упаковано соответствующим упаковщиком или протектором, информация о которых была предоставлена средству 120.In the event that the data was obtained from the databases 110B or 110B, the sample program 125 will be an application created (written) in any programming language, and at the same time it will be packaged by the appropriate packer or protector, information about which was provided to the tool 120.

Эмулятор 130 проводит эмуляцию полученной программы-образца 125, во время которой регистрирует все происходящие события в протоколе событий 135. Эмуляция программы-образца 125 означает разбор его программного кода на инструкции и имитацию их исполнения. Затем эмулятор 130 передает сформированный протокол событий 135 в анализатор 140.The emulator 130 emulates the resulting sample program 125, during which it registers all the events that occur in the event log 135. Emulation of the sample program 125 means parsing its program code for instructions and simulating their execution. The emulator 130 then transmits the generated event log 135 to the analyzer 140.

Стоит отметить, что все события из протокола событий 135 будут являться малозначимыми событиями, так как указанные события будут присущи любому приложению, которое будет создано с помощью анализируемого компилятора или упаковано с помощью анализируемого протектора или упаковщика вне зависимости от того, является приложение безопасным или вредоносным.It is worth noting that all events from the event log 135 will be insignificant events, since these events will be inherent in any application that will be created using the analyzed compiler or packaged using the analyzed protector or packer, regardless of whether the application is safe or malicious.

Анализатор 140 на основе каждого события из полученного протокола событий 135 создает правило фильтрации малозначимых событий. Правило фильтрации является булевым признаком и содержит имя API - функции и маски для ее аргументов (количество аргументов от 1 до N). Каждый аргумент маски может принимать значения:The analyzer 140, based on each event from the received event protocol 135, creates a filtering rule for events of little significance. The filtering rule is a Boolean attribute and contains the name of the API - a function and a mask for its arguments (the number of arguments is from 1 to N). Each mask argument can take values:

- NULL - - говорит о том, что аргумент функции должен быть пустым,- NULL - - indicates that the function argument must be empty,

- * - любое значение аргумента,- * - any value of the argument,

- конкретное значение аргумента (в этом случае будет производиться сравнение значения аргумента и заданного значения до полного совпадения).- the specific value of the argument (in this case, the comparison of the value of the argument and the set value will be performed until complete coincidence).

Примером такой API - функции (правила фильтрации малозначимого события) является функция SysAllocString с тремя аргументами (*,-NULL-,-NULL-), где первый аргумент любой, а остальные - отсутствуют.An example of such an API function (filtering rules of an insignificant event) is the SysAllocString function with three arguments (*, - NULL -, - NULL-), where the first argument is any, and the rest are absent.

Анализатор 140 на основе созданных правил фильтрации малозначимых событий формирует пакет правил 145, которые затем передает в базу правил фильтрации МС 160.The analyzer 140, based on the created filtering rules of insignificant events, generates a packet of rules 145, which then passes to the filtering rule base MS 160.

База правил фильтрации МС 160 добавляет полученный пакет правил 145 в таблицу 1 правил фильтрации малозначимых событий для последующего хранения. После добавления пакета правил 145 в базу 160 версия указанной базы изменяется и передается средству обновления 165. Примером таблицы правил фильтрации малозначимых событий является таблица 1 следующего вида:The MS 160 filtering rule base adds the resulting rule package 145 to table 1 of the filtering rules of minor events for subsequent storage. After adding the rule package 145 to the database 160, the version of the specified database is changed and transferred to the update tool 165. An example of a table of rules for filtering insignificant events is table 1 of the following form:

Таблица 1Table 1 Apl_FUNCTApl_FUNCT ARG1ARG1 ARG2ARG2 ... ARGNARGN ColnitializeColnitialize -NULL--NULL- -NULL--NULL- ... -NULL--NULL- CoCreatelnstanceCoCreatelnstance -NULL--NULL- -NULL--NULL- ... ** GetStringTypeGetstringtype -IMULL--IMULL- -NULL--NULL- ... ””,,”” ,, SysAllocStringSysallocString ** -NULL--NULL- ... -NULL--NULL- WideCharToMultiByteWideCharToMultiByte -NULL--NULL- -NULL--NULL- ... ** LCMapStringLCMapString -NULL--NULL- -NULL--NULL- ... ””,””,””, ””, GetModuleFileNameGetModuleFileName -NULL--NULL- -NULL--NULL- ... -NULL--NULL- GetFileTypeGetfiletype ** -NULL--NULL- ... -NULL--NULL- LoadLibraryLoadlibrary shell32.dllshell32.dll -NULL--NULL- ... -NULL--NULL- LoadLibraryLoadlibrary kernel32.dllkernel32.dll -NULL--NULL- ... -NULL--NULL- LoadLibraryLoadlibrary ole32.dllole32.dll -NULL--NULL- ... -NULL--NULL- RegSetValueExRegSetValueEx \Registry\Machine\Software\Classes\.key\ Registry \ Machine \ Software \ Classes \ .key -NULL--NULL- ... ,,”regfile”,,, ”regfile”, RegOpenKeyExRegOpenKeyEx 0×800000000 × 80,000,000 .key.key ... ,,,, RegSetValueRegSetValue 0×800000000 × 80,000,000 .key.key ... ,””,, ””, CreateDirectoryCreatedirectory file://C:/DOCUME~l/ADMINI~l/LOCALS~l/Temp/~~~file: // C: / DOCUME ~ l / ADMINI ~ l / LOCALS ~ l / Temp / ~~~ -NULL--NULL- ... -NULL--NULL- ... ... ... ... ...

В представленной таблице 1 первый столбец (API_FUNCT) содержит имена API - функций, а последующие столбцы (ARG1, ARG2, … , ARGN) содержат аргументы функций.In table 1, the first column (API_FUNCT) contains the names of the API functions, and the subsequent columns (ARG1, ARG2, ..., ARGN) contain the arguments of the functions.

Также стоит отметить, что система создания правил фильтрации МС 100 предоставит правила фильтрации МС из базы правил фильтрации 160 антивирусным средствам, находящимся на ПК пользователей 180А, 180N, в случае получения запроса от данных антивирусных средств. При этом все взаимодействия между системой создания правил фильтрации МС 100 и ПК пользователей 180А, 180N проходят через сеть Интернет 170.It is also worth noting that the MS 100 filtering rules creation system will provide MS filtering rules from the filtering rules database 160 to antivirus products located on users’s PC 180A, 180N, in case of receiving a request from these anti-virus tools. In this case, all interactions between the system for creating filtering rules MS 100 and user PCs 180A, 180N pass through the Internet 170.

В частном случае реализации взаимодействие базы правил фильтрации МС 160 и ПК пользователей 180А, …, 180N происходит через средство обновления 165. В этом случае средство обновления 165 содержит актуальную версию базы 160. Тогда при получении запроса от антивирусных средств, находящихся на ПК пользователей 180А, 180N или других устройствах, средство обновления 165 сверит полученную версию базы со своей версией базы 160. В том случае если версии совпадут, то антивирусные средства на ПК пользователей 180А, …, 180N уже содержат актуальную базу правил фильтрации НС. В том случае если версии различны, то будет сформирован пакет правил фильтрации малозначимых событий 175. Пакет 175 будет содержать все правила фильтрации, созданные после представленной версии базы правил от ПК пользователей 180А, 180N. Затем данный пакет 175 будет направлен соответствующим антивирусным средствам на ПК пользователей 180А, … ,180N.In the particular case of the implementation, the interaction of the filtering rule base MS 160 and the users’ PC 180A, ..., 180N occurs through the update tool 165. In this case, the update tool 165 contains the current version of the database 160. Then, upon receipt of a request from anti-virus tools located on the users’s PC 180A, 180N or other devices, the updater 165 will compare the received database version with its version of the database 160. If the versions match, then the anti-virus tools on the 180A, ..., 180N users' PCs already contain the current database of filtering rules NA. In the event that the versions are different, then a packet of rules for filtering insignificant events 175 will be generated. Package 175 will contain all the filtering rules created after the presented version of the rule base from users PC 180A, 180N. Then this package 175 will be sent to the appropriate antivirus tools on the PC users 180A, ..., 180N.

На Фиг.1Б изображен еще один пример реализации системы создания правил фильтрации малозначимых событий. В данном примере реализации система создания правил фильтрации 100 содержит в себе только анализатор 140, базу правил фильтрации МС 160 и средство обновления 165 и взаимодействует с антивирусным сервером 101. В данной реализации антивирусный сервер 101 содержит две базы данных 150А и 150Б. База данных 150А содержит протоколы событий BL 152, которые были сформированы при эмуляции только вредоносных приложений. База данных 150Б содержит протоколы событий WL 154, которые были сформированы только при эмуляции безопасных приложений.On Figb shows another example implementation of a system for creating rules for filtering insignificant events. In this example implementation, the filtering rule creation system 100 contains only the analyzer 140, the MS 160 filtering rule base and the update tool 165, and interacts with the anti-virus server 101. In this implementation, the anti-virus server 101 contains two databases 150A and 150B. Database 150A contains the BL 152 event logs that were generated by emulating only malicious applications. Database 150B contains WL 154 event logs that were generated only when emulating secure applications.

Анализатор 140 запрашивает у баз 150А и 150Б все протоколы событий BL 152 и WL 154, которые находятся в указанных базах на момент запроса. Далее анализатор 140 проводит анализ всех полученных протоколов событий 152 и 154, по окончании которого формирует список малозначимых событий 270 (более подробно работа анализатора 140 будет рассмотрена на Фиг.2). Список малозначимых событий 270 содержит события, встретившиеся как в протоколах событий BL 152, так и в протоколах событий WL 154. Все события, попавшие в указанный список 270, являются малозначимыми событиями.The analyzer 140 requests from the bases 150A and 150B all event logs BL 152 and WL 154, which are in the specified databases at the time of the request. Next, the analyzer 140 analyzes all the obtained protocols of events 152 and 154, at the end of which it forms a list of unimportant events 270 (the operation of the analyzer 140 will be discussed in more detail in FIG. 2). The list of unimportant events 270 contains events that occurred both in the event logs of BL 152 and in the event logs of WL 154. All events that appear in the specified list of 270 are insignificant events.

Далее анализатор 140 на основе каждого события из сформированного списка малозначимых событий 270 создает правило фильтрации НС. Затем все созданные правила фильтрации МС передаются в базу правил фильтрации МС 160 в виде пакета правил 145. База правил фильтрации МС 160 полученный пакет правил 145 добавляет в таблицу правил фильтрации малозначимых событий для последующего хранения и передачи ПК пользователям 180, в случае получения от них запроса. Все взаимодействия между системой создания правил фильтрации МС 100 и ПК пользователей 180 происходят через средство обновления 165, которое в свою очередь взаимодействует с ПК пользователей 180 через сеть Интернет 170.Next, the analyzer 140, based on each event from the generated list of unimportant events 270, creates an NS filtering rule. Then, all created MS filtering rules are transferred to the MS 160 filtering rule base in the form of a rule package 145. The MS 160 filtering rule base is received by adding the received rule package 145 to the filtering rules table of insignificant events for subsequent storage and transfer of the PC to users 180, if they receive a request . All interactions between the system for creating filtering rules MS 100 and the user PC 180 occur through the update tool 165, which in turn interacts with the user PC 180 through the Internet 170.

Еще один пример реализации системы создания правил фильтрации малозначимых событий представлен на Фиг.1 В.Another example implementation of a system for creating rules for filtering insignificant events is presented in Figure 1 B.

Представленный на Фиг.1 В вариант реализации системы создания правил фильтрации МС объединяет в себе подходы, представленные на Фиг.1А и Фиг.1Б. Также в данной реализации анализатор 140 проводит проверку каждого события из полученного протокола событий 135 от эмулятора 130 на их соответствие критерию малозначимого события. Проверка будет происходить с помощью списка безопасных событий 260 и списка вредоносных событий 250 (Фиг.2). Указанные списки будут формироваться анализатором 140 во время анализа протоколов событий 152 и 154 из баз 150А и 150Б совместно со списком событий 270, как описано на Фиг.1Б.Presented in FIG. 1, an embodiment of a system for creating filtering rules MS combines the approaches presented in FIGS. 1A and 1B. Also in this implementation, the analyzer 140 checks each event from the received event protocol 135 from the emulator 130 for their compliance with the criterion of an insignificant event. The check will occur using the list of safe events 260 and the list of malicious events 250 (Figure 2). These lists will be generated by the analyzer 140 during the analysis of event protocols 152 and 154 from the bases 150A and 150B together with the list of events 270, as described in Fig.1B.

Далее анализатор 140 будет сравнивать каждое событие из протокола событий 135 со сформированными списками событий 250 и 260.Next, the analyzer 140 will compare each event from the event log 135 with the generated event lists 250 and 260.

В том случае, если событие из полученного от эмулятора 130 протокола событий 135 было найдено в списках событий 250 и 260, то данное событие не является малозначимым событием и будет удалено.In the event that an event from event protocol 135 received from emulator 130 was found in event lists 250 and 260, then this event is not an insignificant event and will be deleted.

В том случае если событие из полученного от эмулятора 130 протокола событий 135 не было найдено в списках событий 250 и 260, то данное событие является малозначимым событием, и анализатор 140 формирует правило фильтрации на основе данного события. После формирования правил на основе событий, которые прошли верификацию, анализатор 140 формирует пакет правил 145, который передает в базу правил фильтрации МС 160.If the event from the event protocol 135 received from the emulator 130 was not found in the event lists 250 and 260, then this event is an insignificant event, and the analyzer 140 generates a filtering rule based on this event. After the formation of rules based on events that have passed verification, the analyzer 140 generates a packet of rules 145, which transmits to the filtering rule base MS 160.

Фиг.2 иллюстрирует пример схемы работы анализатора 140 при формировании правил фильтрации малозначимых событий. В одном из вариантов реализации анализатор 140 состоит из модуля анализа протоколов событий 210 (далее - модуль 210), модуля анализа протоколов событий и формирования списков событий 230 (далее - модуль 230) и модуля формирования правил фильтрации малозначимых событий 290 (далее - модуль 290).Figure 2 illustrates an example of the operation of the analyzer 140 in the formation of filtering rules of minor events. In one embodiment, the analyzer 140 consists of an event protocol analysis module 210 (hereinafter referred to as module 210), an event protocol analysis module and event list generation 230 (hereinafter referred to as module 230) and a module for generating filtering rules of minor events 290 (hereinafter referred to as module 290) .

Модуль 210 предназначен для анализа протокола событий 135, получаемого от эмулятора (средства отслеживания исполнения ПО) 130 и предоставления всех малозначимых событий модулю 290 в виде списка малозначимых событий 280. Также модуль 210 проводит предварительную верификацию (как описано при рассмотрении Фиг.1 В) всех событий из протокола 135 с помощью списка вредоносных событий 250 и списка безопасных событий 260, полученных от модуля 230.Module 210 is designed to analyze the event protocol 135 received from the emulator (software execution tracking tool) 130 and provide all minor events to module 290 in the form of a list of minor events 280. Also, module 210 conducts preliminary verification (as described in Figure 1 B) of all events from protocol 135 using a list of malicious events 250 and a list of safe events 260 received from module 230.

Модуль 230 предназначен для анализа протоколов событий BL 152 и протоколов событий WL 154, полученных от баз 150А и 150Б, хранящихся на антивирусном сервере 101. На основе проведенного анализа модуль 230 формирует три списка событий: список вредоносных событий 250, список безопасных событий 260 и список малозначимых событий 270. Затем модуль 230 предоставляет списки 250 и 260 модулю 210, а список 270 - модулю 290.Module 230 is designed to analyze BL 152 event protocols and WL 154 event protocols received from databases 150A and 150B stored on anti-virus server 101. Based on the analysis, module 230 generates three lists of events: a list of malicious events 250, a list of safe events 260, and a list unimportant events 270. Then module 230 provides lists 250 and 260 to module 210, and list 270 provides to module 290.

Модуль 290 предназначен для:Module 290 is designed for:

- формирования правил фильтрации малозначимых событий (МС) на основе полученных списков малозначимых событий 270 и 280 от модулей 210 и 230 (как описано при рассмотрении Фиг.1А),- the formation of rules for filtering insignificant events (MS) based on the received lists of insignificant events 270 and 280 from modules 210 and 230 (as described when considering Figa);

- формирования пакета правил 145 из сформированных правил фильтрации МС и- the formation of a package of rules 145 from the generated filtering rules of the MS and

- последующей передачи сформированного пакета правил 145 в базу правил фильтрации МС 160.- the subsequent transfer of the generated packet of rules 145 to the filtering rule base MS 160.

В частном случае реализации модуль 290 проверяет сформированные правила фильтрации МС на их наличие в базе правил фильтрации МС 160. В том случае, если сформированные правила фильтрации МС будут найдены в базе 160, то правила не будут добавлены в базу 160, а будут удалены.In the particular case of implementation, module 290 checks the generated MS filtering rules for their presence in the MS 160 filtering rules database. In the event that the generated MS filtering rules are found in the database 160, the rules will not be added to the database 160, but will be deleted.

Стоит более подробно остановиться на границе отбора малозначимых событий при анализе событий из протоколов событий 152 и 154, который поясняется с помощью Фиг.5. Сначала будут выделены все события, которые были обнаружены в обоих протоколах (152 и 154). Затем будет проанализировано каждое событие, при этом совокупность протоколов, в которых было обнаружено анализируемое событие, будет составлять 100% протоколов. It is worthwhile to dwell in more detail on the boundary of the selection of insignificant events when analyzing events from the event protocols 152 and 154, which is explained using Figure 5. First, all events that were detected in both protocols (152 and 154) will be highlighted. Then each event will be analyzed, while the set of protocols in which the analyzed event was detected will be 100% of the protocols.

Далее возможны три ситуации:Further, three situations are possible:

1. Отношение обнаружения события составило 30%/70% и менее в сторону протоколов событий WL 152, т.е. данное событие было обнаружено в протоколах событий WL 152 от 0% до 30% и от 70% до 100% в протоколах событий BL 154. В этом случае событие является подозрительным событием и будет добавлено в список вредоносных событий 250.1. The event detection ratio was 30% / 70% or less towards the WL 152 event protocols, i.e. this event was detected in the event logs WL 152 from 0% to 30% and from 70% to 100% in the event logs BL 154. In this case, the event is a suspicious event and will be added to the list of malicious events 250.

2. Отношение обнаружения события составило 30%/70% и более в сторону протоколов событий WL 152, но не более 70%, т.е. данное событие было обнаружено в протоколах событий WL 152 от 30% до 70% и от 70% до 30% в протоколах событий BL 154. В этом случае событие является малозначимым событием и будет добавлено в список малозначимых событий 270.2. The event detection ratio was 30% / 70% or more towards the WL 152 event protocols, but not more than 70%, ie this event was detected in the event logs WL 152 from 30% to 70% and from 70% to 30% in the event logs BL 154. In this case, the event is an insignificant event and will be added to the list of insignificant events 270.

3. Отношение обнаружения события составило 70%/30% и более в сторону протоколов событий WL 152, т.е. данное событие было обнаружено в протоколах событий WL 152 от 70% до 100% и от 30% до 0% в протоколах событий BL 154. В этом случае событие является доверенным (потенциально безопасным) событием и будет добавлено в список безопасных событий 260.3. The event detection ratio was 70% / 30% or more towards the WL 152 event protocols, i.e. This event was detected in the event logs WL 152 from 70% to 100% and from 30% to 0% in the event logs BL 154. In this case, the event is a trusted (potentially safe) event and will be added to the list of safe events 260.

Также стоит отметить, что наиболее точный результат при формировании списков событий 250, 260 и 270 достигается при анализе нескольких сотен протоколов событий и более.It is also worth noting that the most accurate result in the formation of event lists 250, 260 and 270 is achieved when analyzing several hundred event protocols or more.

На Фиг.3 изображена блок схема для способа, с помощью которого можно реализовать систему создания правил фильтрации малозначимых событий. Для создания правил фильтрации МС на этапе 310 система создания правил фильтрации МС 100 отправляет запрос о наличии новых данных к базам из списка баз 110А, 110N. Запрос может быть передан как ко всем базам 110А, 110N сразу, так и поочередно. После получения запроса базы 110А, 110N передают системе создания правил фильтрации МС 100, а именно средству создания программы-образца 120 все хранящиеся у них данные (информацию) об объектах (компиляторах, протекторах, упаковщиках и т.д.). В качестве данных (информации), которые содержатся в базах 110, может быть как само приложение (файл), так и любые данные (информация) о них, например метаданные приложения, части программного кода, хеш-сумма приложения и т.д. На этапе 315 средство создания программы-образца 120 проверяет полученные данные на их новизну.Figure 3 shows a block diagram for a method by which it is possible to implement a system for creating rules for filtering insignificant events. To create filtering rules for MS at step 310, the system for creating filtering rules for MS 100 sends a request for new data to the databases from the list of bases 110A, 110N. The request can be transmitted to all bases 110A, 110N immediately, or in turn. After receiving the request, the bases 110A, 110N are transferred to the system for creating filtering rules MS 100, namely, to the means for creating the sample program 120 all data (information) stored on them about objects (compilers, protectors, packers, etc.). The data (information) contained in the databases 110 can be either the application (file) itself or any data (information) about them, for example, application metadata, parts of program code, hash sum of the application, etc. At step 315, the means for creating the sample program 120 checks the received data for their novelty.

В одном из вариантов реализации, проверка данных на новизну может заключаться в формирование хеш-суммы на каждый комплект данных о каждом полученном объекте. Сформированная хеш-сумма сравнивается со списком ранее созданных хеш-сумм, который хранится у средства создания программы-образца 120. В том случае, если сформированная хеш-сумма будет найдена в списке хеш-сумм, то сформированная хеш-сумма является не новой, и средство 120 удалит все данные, на основе которых была сформирована хеш-сумма. В том случае, если сформированная хеш-сумма не будет найдена в списке хеш-сумм, то сформированная хеш-сумма является новой и будет добавлена в указанный список хеш-сумм, а данные, на основе которых была сформирована хеш-сумма, будут переданы на этап 320.In one implementation option, checking the data for novelty may consist in generating a hash amount for each set of data about each received object. The generated hash sum is compared with the list of previously created hash sums that is stored in the tool for creating the sample program 120. If the generated hash sum is found in the list of hash sums, the generated hash sum is not new, and means 120 will delete all the data on the basis of which the hash amount has been generated. In the event that the generated hash amount is not found in the list of hash amounts, then the generated hash amount is new and will be added to the specified list of hash amounts, and the data on the basis of which the hash amount was generated will be transmitted to step 320.

На этапе 320 формируется программа-образец 125 на основе полученных данных с помощью средства 120. На этапе 325 средство 120 передает программу-образец 125 средству отслеживания выполнения ПО (далее - эмулятору) 130 для последующего анализа. После этого запускается эмулятор 130, и на этапе 330 проводится эмуляция (исполнение) программы-образца 125. Во время эмуляции формируется протокол событий 135, куда эмулятор 130 записывает все совершенные действия (случившиеся события) программы-образца 125. На этапе 335 сформированный протокол событий 135 передается анализатору 140, который проводит его проверку с целью выявления малозначимых событий. Проверка проводится с помощью сравнения событий из протокола событий с событиями из списков 250 и 260. В том случае, если события не будут найдены в указанных списках 250 и 260, то данные события являются малозначимыми событиями и будут добавлены в список 280, который после окончания проверки будет передан на этап 345. В том случае, если события будут найдены в указанных списках 250 и 260, то данные события будут удалены, т.к. не будут являться малозначимыми событиями.At step 320, a sample program 125 is generated based on the received data using the tool 120. At step 325, the tool 120 transmits the sample program 125 to the software execution tracking tool (hereinafter, the emulator) 130 for further analysis. After that, the emulator 130 is started, and at step 330 the emulation (execution) of the sample program 125 is carried out. During the emulation, an event protocol 135 is generated, where the emulator 130 records all the committed actions (happened events) of the sample program 125. At step 335, the generated event protocol 135 is passed to an analyzer 140, which checks it to identify events of little significance. Verification is carried out by comparing events from the event protocol with events from lists 250 and 260. In the event that events are not found in the indicated lists 250 and 260, then these events are insignificant events and will be added to list 280, which after the end of the check will be passed to step 345. In the event that events are found in the indicated lists 250 and 260, then these events will be deleted, because will not be insignificant events.

На этапе 345 анализатор 140 формирует правила фильтрации на основе событий из полученного списка 280. Формирование правил фильтрации малозначимых событий происходит согласно описанию Фиг.1А. На этапе 350 сформированные правила добавляются в базу правил фильтрации МС 160 для последующего хранения, предварительно сформированные в виде пакета правил 145. На этапе 355 принимается решение о продолжении формирования правил фильтрации малозначимых событий или об окончание работы. В том случае если все полученные данные из информационных баз 110А, 110Б, 110В, … , HON были проанализированы, то работа будет окончена. В том случае если не все данные из баз 110А, 110Б, 110В, … , 110N были проанализированы, то система 100 вернется к этапу 310.At step 345, the analyzer 140 generates filtering rules based on the events from the list 280. The formation of filtering rules of minor events occurs as described in FIG. 1A. At step 350, the generated rules are added to the MS 160 filtering rule base for subsequent storage, pre-generated as a packet of rules 145. At step 355, a decision is made whether to continue to generate filtering rules for insignificant events or to terminate the work. In the event that all the data obtained from the information databases 110A, 110B, 110B, ..., HON were analyzed, then the work will be completed. In the event that not all data from the bases 110A, 110B, 110B, ..., 110N has been analyzed, then the system 100 will return to step 310.

На Фиг.4 изображен алгоритм создания правил фильтрации малозначимых событий.Figure 4 shows the algorithm for creating rules for filtering insignificant events.

На этапе 415 анализатор 140 получает, по крайней мере, один протокол событий BL 152 из базы 150А и, по крайней мере, один протокол событий WL 154 из базы 150Б. На этапе 430 анализатор 140 проводит сравнение всех полученных протоколов событий и выявляет события, которые встретились как в протоколах BL 152, так и протоколах WL 154. На следующем этапе 445 анализатор 140 формирует список событий из событий, которые находились в обоих типах протоколов. На основе данного списка событий анализатор 140 на этапе 460 создает правила фильтрации НС. После чего из созданных правил фильтрации МС формирует пакет правил 145, который передает базе правила фильтрации МС 160. На этапе 475 база 160 добавит правила фильтрации МС из полученного пакета правил 145 в таблицу правил фильтрации малозначимых событий для последующего хранения.At step 415, the analyzer 140 receives at least one BL 152 event log from base 150A and at least one WL 154 event log from base 150B. At step 430, the analyzer 140 compares all received event protocols and identifies events that are encountered in both the BL 152 and WL 154 protocols. At the next step 445, the analyzer 140 generates a list of events from the events that were in both types of protocols. Based on this list of events, the analyzer 140, in step 460, creates NS filtering rules. Then, from the created filtering rules, the MS generates a packet of rules 145, which transmits the filtering rule MS 160 to the base. At step 475, the base 160 will add the MS filtering rules from the received packet of rules 145 to the table of filtering rules of minor events for subsequent storage.

На Фиг.6 показана компьютерная система, для которой может быть использовано описанное изобретение.Figure 6 shows a computer system for which the described invention can be used.

Фиг.6 представляет пример компьютерной системы общего назначения (может быть как персональным компьютер, так и сервером) 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.6 represents an example of a general-purpose computer system (it can be either a personal computer or a server) 20, comprising a central processor 21, a system memory 22 and a system bus 23 that contains various system components, including memory associated with the central processor 21. The system bus 23 is implemented as any bus structure known in the art, which in turn contains a bus memory or a bus memory controller, a peripheral bus and a local bus that is capable of interacting with any other bus Noah architecture. The system memory contains read-only memory (ROM) 24, random access memory (RAM) 25. The main input / output system (BIOS) 26 contains the basic procedures that ensure the transfer of information between the elements of the personal computer 20, for example, at the time of loading the operating system using ROM 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20 in turn contains a hard disk 27 for reading and writing data, a magnetic disk drive 28 for reading and writing to removable magnetic disks 29, and an optical drive 30 for reading and writing to removable optical disks 31, such as a CD-ROM, DVD -ROM and other optical information carriers. The hard disk 27, the magnetic disk drive 28, the optical drive 30 are connected to the system bus 23 through the interface of the hard disk 32, the interface of the magnetic disks 33 and the interface of the optical drive 34, respectively. Drives and associated computer storage media are non-volatile means of storing computer instructions, data structures, software modules and other data of a personal computer 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флэш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a hard disk 27, a removable magnetic disk 29, and a removable optical disk 31, but it should be understood that other types of computer storage media 56 that can store data in a form readable by a computer (solid state drives, flash memory cards, digital disks, random access memory (RAM), etc.) that are connected to the system bus 23 through the controller 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.Computer 20 has a file system 36 where the recorded operating system 35 is stored, as well as additional software applications 37, other program modules 38, and program data 39. The user is able to enter commands and information into personal computer 20 via input devices (keyboard 40, keypad “ the mouse "42). Other input devices (not displayed) can be used: microphone, joystick, game console, scanner, etc. Such input devices are, as usual, connected to the computer system 20 via a serial port 46, which in turn is connected to the system bus, but can be connected in another way, for example, using a parallel port, a game port, or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48. In addition to the monitor 47, the personal computer may be equipped with other peripheral output devices (not displayed), for example, speakers, a printer, and the like.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.6. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment, using a network connection with another or more remote computers 49. The remote computer (or computers) 49 are the same personal computers or servers that have most or all of the elements mentioned earlier in the description of the creature personal computer 20 shown in Fig.6. Other devices, such as routers, network stations, peer-to-peer devices, or other network nodes may also be present on the computer network.

Сетевые соединения могут образовывать локальную вычислительную сеть (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 personal computer 20 is connected to the local area network 50 via a network adapter or network interface 51. When using the networks, the personal computer 20 may use a modem 54 or other means of providing communication with a global computer network such as the Internet. The modem 54, which is an internal or external device, is connected to the system bus 23 via the serial port 46. It should be clarified that the network connections are only exemplary and are not required to display the exact network configuration, i.e. in reality, there are other ways to establish a technical connection between one computer and another.

В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information provided in the description are only examples that do not limit the scope of the present invention defined by the claims.

Claims (21)

1. Система формирования правил фильтрации малозначимых событий, которая включает в себя:
е) по крайней мере, одну информационную базу, содержащую набор данных для формирования программ-образцов;
ж) средство формирования программы-образца, предназначенное для формирования программы-образца, используя данные, по меньшей мере, из одной информационной базы, и передачи указанной программы-образца средству отслеживания выполнения программного обеспечения;
з) упомянутое средство отслеживания выполнения программного обеспечения, которое предназначено для:
- формирования протокола событий во время исполнения упомянутой программы-образца и
- передачи упомянутого протокола событий средству анализа.
и) упомянутое средство анализа, которое предназначено для:
- формирования правил фильтрации малозначимых событий на основе каждого события из упомянутого протокола событий в том случае, если указанное событие является малозначимым событием,
где в качестве малозначимого события является событие, которое происходит во время исполнения как безопасных приложений, так и вредоносных приложений,
- передачи сформированных правил фильтрации малозначимых событий в базу правил фильтрации малозначимых событий;
к) упомянутую базу правил фильтрации малозначимых событий, предназначенную для хранения полученных правил фильтрации малозначимых событий.
1. The system of forming rules for filtering insignificant events, which includes:
e) at least one information base containing a data set for generating sample programs;
g) a means for generating a sample program for generating a sample program using data from at least one information base and transmitting said sample program to a software execution tracking means;
h) said software execution tracking tool, which is intended to:
- the formation of a protocol of events during the execution of the mentioned sample program and
- transmitting said protocol of events to the analysis tool.
i) said analysis tool, which is intended for:
- the formation of rules for filtering insignificant events on the basis of each event from the mentioned protocol of events in the event that the specified event is an insignificant event,
where as an insignificant event is an event that occurs during the execution of both safe applications and malicious applications,
- transmission of the formed rules for filtering insignificant events to the database of rules for filtering insignificant events;
j) the mentioned base of rules for filtering insignificant events, intended to store the obtained rules for filtering insignificant events.
2. Система по п.1, где в качестве, по крайней мере, одной информационной базы являются, по крайней мере, база компиляторов, база упаковщиков, база протекторов, базы архиваторов.2. The system according to claim 1, where at least one information base is at least a compiler database, a packer database, a database of protectors, an archiver database. 3. Система по п.1, где в качестве данных, содержащихся в упомянутой информационной базе, по крайней мере, являются сами приложения, части программного кода приложений, метаданные приложений, хеш-суммы приложений или совокупность данных сущностей.3. The system according to claim 1, where at least the data contained in the said information base are the applications themselves, parts of the application program code, application metadata, hash sums of applications, or a combination of these entities. 4. Система по п.3, где в качестве метаданных приложений, по меньшей мере, являются имена приложений, размер приложений, номер версии приложений, тип приложения.4. The system according to claim 3, where the application metadata, at least, are application names, application size, application version number, application type. 5. Система по п.1, где в качестве средства отслеживания выполнения ПО является, по крайней мере, одно из следующих средств: эмулятор, дизассемблер и трассировщик.5. The system according to claim 1, where as a means of monitoring the execution of software is at least one of the following tools: emulator, disassembler and tracer. 6. Система по п.1, где в качестве события из сформированного протокола событий является малозначимое событие.6. The system according to claim 1, where as an event from the generated protocol of events is an insignificant event. 7. Система по п.1, которая также содержит средство обновления, предназначенное для передачи правил фильтрации малозначимых событий персональным компьютерам пользователей.7. The system according to claim 1, which also contains an update tool designed to transmit filtering rules of minor events to personal computers of users. 8. Система по п.1, в которой средство анализа связано с:
- базой протоколов событий от вредоносных программ, которая содержит, по крайней мере, один протокол событий, который сформирован во время исполнения вредоносных приложений, и
- базой протоколов событий от безопасных программ, которая содержит, по крайней мере, один протокол событий, который сформирован во время исполнения безопасных приложений
8. The system according to claim 1, in which the analysis tool is associated with:
- a database of events protocols from malicious programs, which contains at least one event protocol, which is formed during the execution of malicious applications, and
- a base of event protocols from safe programs, which contains at least one event protocol, which is generated during the execution of safe applications
9. Система по п.8, в которой средство анализа на основе анализа, по крайней мере, одного протока событий из базы протоколов событий от вредоносных программ и одного протокола событий из базы протоколов событий от безопасных программ формирует три списка событий:
а) список безопасных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения безопасных приложений,
б) список вредоносных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения вредоносных приложений;
в) список малозначимых событий, который содержит события, которые были обнаружены как в протоколах событий, сформированных во время исполнения вредоносных приложений, так и в протоколах событий, сформированных во время исполнения безопасных приложений.
9. The system of claim 8, in which the analysis tool based on the analysis of at least one event flow from the database of event protocols from malicious programs and one event protocol from the database of event protocols from safe programs generates three lists of events:
a) a list of safe events that contains events that were detected only in the event logs generated during the execution of safe applications,
b) a list of malicious events that contains events that were detected only in the event logs generated during the execution of malicious applications;
c) a list of insignificant events that contains events that were detected both in the event logs generated during the execution of malicious applications, and in the event logs generated during the execution of safe applications.
10. Система по п.9, в которой средство анализа проводит предварительный анализ событий из протокола событий, который сформирован во время исполнения упомянутой программы-образца с помощью сформированных упомянутых списков событий а) и б), и формирует правила фильтрации малозначимых событий на основе каждого события из упомянутого списка малозначимых событий.10. The system according to claim 9, in which the analysis tool performs a preliminary analysis of events from the event protocol, which is generated during the execution of the mentioned sample program using the generated event lists a) and b), and generates filtering rules for events of little significance based on each events from the mentioned list of insignificant events. 11. Система по п.10, в которой анализируемое событие является малозначимым событием, если указанное событие отсутствует в упомянутых списках событий а) и б).11. The system of claim 10, in which the analyzed event is an insignificant event, if the specified event is not in the mentioned lists of events a) and b). 12. Способ формирования правил фильтрации малозначимых событий, содержащий этапы, на которых:
е) получают данные, по крайней мере, из одной информационной базы,
ж) формируют программу-образец на основе полученных данных,
з) исполняют сформированную программу-образец с помощью средства отслеживания выполнения программного обеспечения,
и) регистрируют все события в протоколе событий, которые происходят во время исполнения программы - образца,
к) формируют, по крайней мере, одно правило фильтрации малозначимых событий на основе событий из протокола событий, в том случае, если указанные события являются малозначимыми событиями,
где в качестве малозначимого события является событие, которое происходит во время исполнения или эмуляции как безопасных приложений, так и вредоносных приложений.
12. A method of forming rules for filtering insignificant events, comprising stages in which:
f) receive data from at least one information base,
g) form a sample program on the basis of the data obtained,
h) execute the generated sample program using the software execution tracking tool,
i) register all events in the protocol of events that occur during execution of the sample program,
j) form at least one rule for filtering insignificant events on the basis of events from the protocol of events, if these events are insignificant events,
where as an insignificant event is an event that occurs during the execution or emulation of both safe applications and malicious applications.
13. Способ по п.12, в котором формируется три списка событий, которые были выявлены с помощью анализа, по крайней мере, одного протокола событий, созданного во время исполнения вредоносных программ, и, по крайней мере, одного протокола событий, созданного во время исполнения безопасных программ, и списки событий содержат:
а) список безопасных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения безопасных приложений,
б) список вредоносных событий, который содержит события, которые были обнаружены только в протоколах событий, сформированных во время исполнения вредоносных приложений;
в) список малозначимых событий, который содержит события, которые были обнаружены как в протоколах событий, сформированных во время исполнения вредоносных приложений, так и в протоколах событий, сформированных во время исполнения безопасных приложений.
13. The method according to item 12, which generates three lists of events that were identified by analyzing at least one event protocol created during the execution of malicious programs, and at least one event protocol created during executing secure programs, and event lists contain:
a) a list of safe events that contains events that were detected only in the event logs generated during the execution of safe applications,
b) a list of malicious events that contains events that were detected only in the event logs generated during the execution of malicious applications;
c) a list of insignificant events that contains events that were detected both in the event logs generated during the execution of malicious applications, and in the event logs generated during the execution of safe applications.
14. Способ по п.13, в котором формируются правила фильтрации малозначимых событий на основе событий из упомянутого списка малозначимых событий.14. The method according to item 13, in which the rules for filtering insignificant events are formed based on the events from the list of insignificant events. 15. Способ по п.13, в котором проводят предварительную проверку событий из протокола событий, созданного при исполнении программы-образца, перед формированием правил фильтрации малозначимых событий с помощью упомянутых списков событий а) и б) для определения малозначимых событий.15. The method according to item 13, in which a preliminary check of events is carried out from the protocol of events created during the execution of the sample program, before forming the rules for filtering insignificant events using the mentioned event lists a) and b) to determine insignificant events. 16. Способ по п.15, в котором событие является малозначимым событием, если указанные события из протокола событий, созданного при исполнении программы-образца, не содержатся в упомянутых списках событий а) и б).16. The method according to clause 15, in which the event is an insignificant event, if the specified events from the protocol of events created during the execution of the sample program are not contained in the mentioned lists of events a) and b). 17. Способ по п.12, в которых хранят правила фильтрации малозначимых событий в базе правил фильтрации малозначимых событий.17. The method according to item 12, which store the filtering rules of minor events in the database of filtering rules of minor events. 18. Способ по пп.12 и 17, в которых передают правила фильтрации малозначимых событий персональным компьютерам пользователей с помощью средства обновления.18. The method according to claims 12 and 17, in which the rules for filtering insignificant events are transmitted to the personal computers of users using the update tool. 19. Способ по п.12, в котором данные, полученные от информационных баз, являются, по меньшей мере, данными об известных компиляторах, упаковщиках, протекторах, архиваторах.19. The method of claim 12, wherein the data received from the infobases is at least data about known compilers, packers, protectors, archivers. 20. Способ по п.19, в котором в качестве данных, получаемых от информационных баз, по крайней мере, являются сами приложения, метаданные приложений, части программного кода приложений, хеш - суммы приложений или совокупность данных сущностей.20. The method according to claim 19, in which the data received from the infobases is at least the applications themselves, application metadata, parts of the application software code, a hash - the sum of applications or a combination of these entities. 21. Способ по п.12, в котором в качестве средства отслеживания выполнения ПО является, по крайней мере, одно из следующих средств: эмулятор, дизассемблер и трассировщик. 21. The method according to item 12, in which as a means of monitoring the execution of software is at least one of the following means: an emulator, a disassembler and a tracer.
RU2012141475/08A 2012-09-28 2012-09-28 System and method of creating rules for filtering insignificant events for event log analysis RU2514139C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012141475/08A RU2514139C1 (en) 2012-09-28 2012-09-28 System and method of creating rules for filtering insignificant events for event log analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012141475/08A RU2514139C1 (en) 2012-09-28 2012-09-28 System and method of creating rules for filtering insignificant events for event log analysis

Publications (2)

Publication Number Publication Date
RU2514139C1 true RU2514139C1 (en) 2014-04-27
RU2012141475A RU2012141475A (en) 2014-04-27

Family

ID=50515054

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012141475/08A RU2514139C1 (en) 2012-09-28 2012-09-28 System and method of creating rules for filtering insignificant events for event log analysis

Country Status (1)

Country Link
RU (1) RU2514139C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2813239C1 (en) * 2022-12-21 2024-02-08 Акционерное общество "Лаборатория Касперского" Method for filtering events for transmission to remote device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2571723C2 (en) 2013-12-05 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" System and method of reducing load on operating system when executing antivirus application

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024694B1 (en) * 2000-06-13 2006-04-04 Mcafee, Inc. Method and apparatus for content-based instrusion detection using an agile kernel-based auditor
US7707189B2 (en) * 2004-10-05 2010-04-27 Microsoft Corporation Log management system and method
RU101233U1 (en) * 2010-07-23 2011-01-10 Закрытое акционерное общество "Лаборатория Касперского" SYSTEM OF RESTRICTION OF RIGHTS OF ACCESS TO RESOURCES BASED ON THE CALCULATION OF DANGER RATING
US7877806B2 (en) * 2006-07-28 2011-01-25 Symantec Corporation Real time malicious software detection
US8230390B2 (en) * 2007-02-09 2012-07-24 Nokia Corporation Template-based rule generation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024694B1 (en) * 2000-06-13 2006-04-04 Mcafee, Inc. Method and apparatus for content-based instrusion detection using an agile kernel-based auditor
US7707189B2 (en) * 2004-10-05 2010-04-27 Microsoft Corporation Log management system and method
US7877806B2 (en) * 2006-07-28 2011-01-25 Symantec Corporation Real time malicious software detection
US8230390B2 (en) * 2007-02-09 2012-07-24 Nokia Corporation Template-based rule generation
RU101233U1 (en) * 2010-07-23 2011-01-10 Закрытое акционерное общество "Лаборатория Касперского" SYSTEM OF RESTRICTION OF RIGHTS OF ACCESS TO RESOURCES BASED ON THE CALCULATION OF DANGER RATING

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2813239C1 (en) * 2022-12-21 2024-02-08 Акционерное общество "Лаборатория Касперского" Method for filtering events for transmission to remote device

Also Published As

Publication number Publication date
RU2012141475A (en) 2014-04-27

Similar Documents

Publication Publication Date Title
US8762948B1 (en) System and method for establishing rules for filtering insignificant events for analysis of software program
Lanzi et al. Accessminer: using system-centric models for malware protection
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
RU2568295C2 (en) System and method for temporary protection of operating system of hardware and software from vulnerable applications
TWI575397B (en) Point-wise protection of application using runtime agent and dynamic security analysis
Rathnayaka et al. An efficient approach for advanced malware analysis using memory forensic technique
CN110225029B (en) Injection attack detection method, device, server and storage medium
Sadeghi et al. Analysis of android inter-app security vulnerabilities using covert
WO2014078585A2 (en) Methods, systems and computer readable media for detecting command injection attacks
Bai et al. Towards model checking android applications
US10482240B2 (en) Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
CN109409089B (en) Windows encryption type Lego software detection method based on virtual machine introspection
Yoon et al. Toward detecting compromised mapreduce workers through log analysis
Pektaş et al. A dynamic malware analyzer against virtual machine aware malicious software
Wan et al. Practical and effective sandboxing for Linux containers
Salehi et al. Detecting malicious applications using system services request behavior
CN110659478B (en) Method for detecting malicious files preventing analysis in isolated environment
RU2514139C1 (en) System and method of creating rules for filtering insignificant events for event log analysis
Xiao et al. Understanding and Mitigating Remote Code Execution Vulnerabilities in Cross-platform Ecosystem
Lee et al. Analysis of application installation logs on android systems
Safitri A study: Volatility forensic on hidden files
Chang et al. Vulnerable service invocation and countermeasures
Abbadini et al. Lightweight cloud application sandboxing
Duarte Security Assessment and Analysis in Docker Environments
Sokol et al. Dynamic Heuristic Analysis Tool for Detection of Unknown Malware