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 PDFInfo
- 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
Links
Images
Abstract
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
Система создания правил фильтрации МС 100 запрашивает из баз 110А, 110N информацию о содержащихся в них компиляторах, упаковщиках, протекторах и других программах. Базы 110А, …, 110N направляют запрашиваемую информацию средству создания программы-образца 120. Как было написано выше, в качестве информации, например, будет передаваться либо исполняемый файл компилятора, упаковщика, протектора и т.д., либо путь к исполняемому файлу. Средство создания программы-образца 120 использует, например, полученный компилятор для формирования программы-образца 125, которую направляет средству отслеживания выполнения ПО (далее - эмулятор) 130.The system for creating
Стоит отметить, что созданная программа-образец 125 является простейшим приложением, которое не совершает никаких действий и служит только для выделения фрагментов - пустышек, созданных при запуске такого приложения. Например, у каждого компилятора из базы 110А существует стандартный список событий, который будет выполнен при выполнении приложений, созданных (скомпилированных) с помощью соответствующего компилятора. Примером простейшего приложения, созданного с помощью компилятора для языка программирования Delphi, является приложение:It is worth noting that the created
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
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
Эмулятор 130 проводит эмуляцию полученной программы-образца 125, во время которой регистрирует все происходящие события в протоколе событий 135. Эмуляция программы-образца 125 означает разбор его программного кода на инструкции и имитацию их исполнения. Затем эмулятор 130 передает сформированный протокол событий 135 в анализатор 140.The
Стоит отметить, что все события из протокола событий 135 будут являться малозначимыми событиями, так как указанные события будут присущи любому приложению, которое будет создано с помощью анализируемого компилятора или упаковано с помощью анализируемого протектора или упаковщика вне зависимости от того, является приложение безопасным или вредоносным.It is worth noting that all events from the
Анализатор 140 на основе каждого события из полученного протокола событий 135 создает правило фильтрации малозначимых событий. Правило фильтрации является булевым признаком и содержит имя API - функции и маски для ее аргументов (количество аргументов от 1 до N). Каждый аргумент маски может принимать значения:The
- 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
База правил фильтрации МС 160 добавляет полученный пакет правил 145 в таблицу 1 правил фильтрации малозначимых событий для последующего хранения. После добавления пакета правил 145 в базу 160 версия указанной базы изменяется и передается средству обновления 165. Примером таблицы правил фильтрации малозначимых событий является таблица 1 следующего вида:The
В представленной таблице 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
В частном случае реализации взаимодействие базы правил фильтрации МС 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
На Фиг.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
Анализатор 140 запрашивает у баз 150А и 150Б все протоколы событий BL 152 и WL 154, которые находятся в указанных базах на момент запроса. Далее анализатор 140 проводит анализ всех полученных протоколов событий 152 и 154, по окончании которого формирует список малозначимых событий 270 (более подробно работа анализатора 140 будет рассмотрена на Фиг.2). Список малозначимых событий 270 содержит события, встретившиеся как в протоколах событий BL 152, так и в протоколах событий WL 154. Все события, попавшие в указанный список 270, являются малозначимыми событиями.The
Далее анализатор 140 на основе каждого события из сформированного списка малозначимых событий 270 создает правило фильтрации НС. Затем все созданные правила фильтрации МС передаются в базу правил фильтрации МС 160 в виде пакета правил 145. База правил фильтрации МС 160 полученный пакет правил 145 добавляет в таблицу правил фильтрации малозначимых событий для последующего хранения и передачи ПК пользователям 180, в случае получения от них запроса. Все взаимодействия между системой создания правил фильтрации МС 100 и ПК пользователей 180 происходят через средство обновления 165, которое в свою очередь взаимодействует с ПК пользователей 180 через сеть Интернет 170.Next, the
Еще один пример реализации системы создания правил фильтрации малозначимых событий представлен на Фиг.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
Далее анализатор 140 будет сравнивать каждое событие из протокола событий 135 со сформированными списками событий 250 и 260.Next, the
В том случае, если событие из полученного от эмулятора 130 протокола событий 135 было найдено в списках событий 250 и 260, то данное событие не является малозначимым событием и будет удалено.In the event that an event from
В том случае если событие из полученного от эмулятора 130 протокола событий 135 не было найдено в списках событий 250 и 260, то данное событие является малозначимым событием, и анализатор 140 формирует правило фильтрации на основе данного события. После формирования правил на основе событий, которые прошли верификацию, анализатор 140 формирует пакет правил 145, который передает в базу правил фильтрации МС 160.If the event from the
Фиг.2 иллюстрирует пример схемы работы анализатора 140 при формировании правил фильтрации малозначимых событий. В одном из вариантов реализации анализатор 140 состоит из модуля анализа протоколов событий 210 (далее - модуль 210), модуля анализа протоколов событий и формирования списков событий 230 (далее - модуль 230) и модуля формирования правил фильтрации малозначимых событий 290 (далее - модуль 290).Figure 2 illustrates an example of the operation of the
Модуль 210 предназначен для анализа протокола событий 135, получаемого от эмулятора (средства отслеживания исполнения ПО) 130 и предоставления всех малозначимых событий модулю 290 в виде списка малозначимых событий 280. Также модуль 210 проводит предварительную верификацию (как описано при рассмотрении Фиг.1 В) всех событий из протокола 135 с помощью списка вредоносных событий 250 и списка безопасных событий 260, полученных от модуля 230.
Модуль 230 предназначен для анализа протоколов событий BL 152 и протоколов событий WL 154, полученных от баз 150А и 150Б, хранящихся на антивирусном сервере 101. На основе проведенного анализа модуль 230 формирует три списка событий: список вредоносных событий 250, список безопасных событий 260 и список малозначимых событий 270. Затем модуль 230 предоставляет списки 250 и 260 модулю 210, а список 270 - модулю 290.
Модуль 290 предназначен для:
- формирования правил фильтрации малозначимых событий (МС) на основе полученных списков малозначимых событий 270 и 280 от модулей 210 и 230 (как описано при рассмотрении Фиг.1А),- the formation of rules for filtering insignificant events (MS) based on the received lists of
- формирования пакета правил 145 из сформированных правил фильтрации МС и- the formation of a package of
- последующей передачи сформированного пакета правил 145 в базу правил фильтрации МС 160.- the subsequent transfer of the generated packet of
В частном случае реализации модуль 290 проверяет сформированные правила фильтрации МС на их наличие в базе правил фильтрации МС 160. В том случае, если сформированные правила фильтрации МС будут найдены в базе 160, то правила не будут добавлены в базу 160, а будут удалены.In the particular case of implementation,
Стоит более подробно остановиться на границе отбора малозначимых событий при анализе событий из протоколов событий 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
Далее возможны три ситуации: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
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
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
Также стоит отметить, что наиболее точный результат при формировании списков событий 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
В одном из вариантов реализации, проверка данных на новизну может заключаться в формирование хеш-суммы на каждый комплект данных о каждом полученном объекте. Сформированная хеш-сумма сравнивается со списком ранее созданных хеш-сумм, который хранится у средства создания программы-образца 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
На этапе 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
На этапе 345 анализатор 140 формирует правила фильтрации на основе событий из полученного списка 280. Формирование правил фильтрации малозначимых событий происходит согласно описанию Фиг.1А. На этапе 350 сформированные правила добавляются в базу правил фильтрации МС 160 для последующего хранения, предварительно сформированные в виде пакета правил 145. На этапе 355 принимается решение о продолжении формирования правил фильтрации малозначимых событий или об окончание работы. В том случае если все полученные данные из информационных баз 110А, 110Б, 110В, … , HON были проанализированы, то работа будет окончена. В том случае если не все данные из баз 110А, 110Б, 110В, … , 110N были проанализированы, то система 100 вернется к этапу 310.At step 345, the
На Фиг.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
На Фиг.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
Персональный компьютер 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
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флэш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47 персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.Computer 20 has a
Персональный компьютер 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
Сетевые соединения могут образовывать локальную вычислительную сеть (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
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.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. 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.
- базой протоколов событий от вредоносных программ, которая содержит, по крайней мере, один протокол событий, который сформирован во время исполнения вредоносных приложений, и
- базой протоколов событий от безопасных программ, которая содержит, по крайней мере, один протокол событий, который сформирован во время исполнения безопасных приложений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. 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.
е) получают данные, по крайней мере, из одной информационной базы,
ж) формируют программу-образец на основе полученных данных,
з) исполняют сформированную программу-образец с помощью средства отслеживания выполнения программного обеспечения,
и) регистрируют все события в протоколе событий, которые происходят во время исполнения программы - образца,
к) формируют, по крайней мере, одно правило фильтрации малозначимых событий на основе событий из протокола событий, в том случае, если указанные события являются малозначимыми событиями,
где в качестве малозначимого события является событие, которое происходит во время исполнения или эмуляции как безопасных приложений, так и вредоносных приложений.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. 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.
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)
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)
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)
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 |
-
2012
- 2012-09-28 RU RU2012141475/08A patent/RU2514139C1/en active
Patent Citations (5)
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)
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 |