RU2430411C1 - System and method of detecting malware - Google Patents

System and method of detecting malware Download PDF

Info

Publication number
RU2430411C1
RU2430411C1 RU2010107437/08A RU2010107437A RU2430411C1 RU 2430411 C1 RU2430411 C1 RU 2430411C1 RU 2010107437/08 A RU2010107437/08 A RU 2010107437/08A RU 2010107437 A RU2010107437 A RU 2010107437A RU 2430411 C1 RU2430411 C1 RU 2430411C1
Authority
RU
Russia
Prior art keywords
events
analyst
malicious
program
programs
Prior art date
Application number
RU2010107437/08A
Other languages
Russian (ru)
Inventor
Олег Владимирович Зайцев (RU)
Олег Владимирович Зайцев
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 RU2010107437/08A priority Critical patent/RU2430411C1/en
Application granted granted Critical
Publication of RU2430411C1 publication Critical patent/RU2430411C1/en

Links

Images

Abstract

FIELD: information technology.
SUBSTANCE: system employs a data processing apparatus designed to process programs found by a program search tool, and connected to an analyst workstation, which includes: apparatus for checking whether programs found by the search tool belong to a black or white list of programs; apparatus for emulating program code not associated with the black or white list; apparatus for tracking events occurring when executing a program during emulation; and an analyst workstation capable of emulating the program code, processing data, furnishing information, receive physiological reactions of the analyst and classify information.
EFFECT: detection of malware which cannot be classified by existing standard technologies.
15 cl, 5 dwg

Description

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

Изобретение относится к компьютерным системам, более конкретно к системам обнаружения вредоносного программного обеспечения при помощи анализа событий исполняемой программы.The invention relates to computer systems, and more particularly to malware detection systems by analyzing the events of an executable program.

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

В настоящее время компьютерное вредоносное программное обеспечение, такое как вирусы, компьютерные черви и троянские программы представляют одну из самых важных проблем компьютерной безопасности. Было подсчитано, что ежегодные финансовые потери предпринимательства от вредоносного программного обеспечения составляют десятки миллиардов долларов. Для противостояния возрастающему числу вредоносных программ было разработано большое количество антивирусных технологий. Большинство технологий обнаружения заключаются в анализе программного кода и сопоставления его частей набору частей известного вредоносного кода, содержащегося в антивирусных базах. Если схожесть между программным кодом и вредоносным фрагментом найдена, программный код отмечается как вредоносный.Computer malware, such as viruses, computer worms, and trojans, is currently one of the most important computer security issues. It has been estimated that tens of billions of dollars in annual financial loss to businesses from malware. To counter the growing number of malware, a large number of anti-virus technologies have been developed. Most detection technologies consist in analyzing program code and comparing its parts to a set of parts of known malicious code contained in anti-virus databases. If a similarity between the program code and the malicious fragment is found, the program code is marked as malicious.

Другим немало известным подходом обнаружения вредоносного программного обеспечения является эвристический анализ программного кода. Эвристический анализ представляет технологию, основанную на анализе поведения программы, эмулируемой в защищенной компьютерной среде, например в виртуальной операционной системе. Поведение эмулируемой программы анализируется на предмет наличия часто встречаемых вредоносных действий, таких как дублирование, затирание и попытки скрыть наличие подозрительных или потенциально опасных файлов. Если подобные вредоносные действия присутствуют, то программа отмечается как вредоносная.Another well-known malware detection approach is heuristic analysis of program code. Heuristic analysis is a technology based on the analysis of the behavior of a program emulated in a secure computer environment, for example, in a virtual operating system. The behavior of the emulated program is analyzed for frequently encountered malicious actions, such as duplication, overwriting and attempts to hide the presence of suspicious or potentially dangerous files. If such malicious actions are present, then the program is marked as malicious.

Однако данные технологии могут не сработать или привести к неверным результатам, если вредоносная часть кода программы не присутствует в антивирусных базах или код содержит скрытое и неочевидное вредоносное поведение. В этих случаях скрытый код может быть отправлен аналитику для рассмотрения и принятия решения о вредоносности программы. Процесс просмотра аналитиком дает точные результаты, но при этом занимает время и не эффективен с данной точки зрения.However, these technologies may not work or lead to incorrect results if the malicious part of the program code is not present in the anti-virus databases or the code contains hidden and non-obvious malicious behavior. In these cases, the hidden code can be sent to the analyst to review and decide on the harmfulness of the program. The process of viewing by the analyst gives accurate results, but it takes time and is not effective from this point of view.

Анализ предшествующего уровня техники позволяет сделать вывод о неэффективности и в некоторых случаях о невозможности применения предшествующих технологий, недостатки которых решаются настоящим изобретением, а именно системой обнаружения вредоносного программного обеспечения.Analysis of the prior art allows us to conclude about the inefficiency and, in some cases, the impossibility of using previous technologies, the disadvantages of which are solved by the present invention, namely, a malware detection system.

Раскрытие изобретенияDisclosure of invention

Настоящее изобретение предназначено для обнаружения вредоносного программного обеспечения, в частности вредоносных программ, не поддающихся классификации ввиду недостатков существующих методов обнаружения вредоносного программного обеспечения.The present invention is intended to detect malicious software, in particular malicious programs that are not classifiable due to the disadvantages of existing methods for detecting malicious software.

Технический результат настоящего изобретения заключается в выявлении вредоносного программного обеспечения, не поддающегося классификации стандартными известными технологиями.The technical result of the present invention is to identify malicious software that is not amenable to classification by standard known technologies.

Система обнаружения вредоносного программного обеспечения содержит средство поиска программ, средство обработки данных найденных программ и рабочую станцию аналитика, связанную со средством обработки данных. Система обнаружения вредоносного программного обеспечения содержит: средство поиска программ, предназначенное для поиска программ в Интернет, связанное со средством обработки данных; средство обработки данных, предназначенное для обработки найденных программ средством поиска программ и связанное с рабочей станцией аналитика, включающее: хранилище данных о вредоносном и законном программном обеспечении, содержащее черные списки, белые списки, примеры поведения программ, примеры вредоносных и законно используемых программ, предназначенные для калибровки системы; средство проверки принадлежности найденных средством поиска программ к черному или белому списку программ; средство эмуляции кода программ, не относящихся к черному или белому списку; средство отслеживания событий, вызываемых при исполнении программы в ходе эмуляции; средство классификации отслеживаемых в ходе эмуляции событий на вредоносные и не вредоносные; средство сбора информации о событиях, не поддающихся классификации; и рабочую станцию аналитика, связанную со средством обработки данных, включающую: средство изолирования аналитика от внешних аудио- и видеораздражителей; устройство калибровки рабочей станции аналитика, формирующее калибровочный профиль аналитика на основе примеров вредоносных и законно используемых программ, хранящихся в хранилище данных; устройство вывода для предоставления списка не поддающихся классификации событий и дополнительной информации о данных событиях аналитику; устройство ввода, состоящее, по меньшей мере, из одного датчика; и анализатор, предназначенный для обнаружения вредоносного программного обеспечения с учетом параметров данных, полученных устройством ввода, и данных калибровочного профиля аналитика.The malware detection system comprises a software search tool, a data processing tool for the programs found, and an analytics workstation associated with the data processing tool. A malware detection system comprises: a software search tool for searching for programs on the Internet associated with a data processing tool; data processing tool designed to process the programs found by the program search tool and associated with the analytics workstation, including: a repository of malware and legitimate software data containing black lists, white lists, examples of program behavior, examples of malicious and legitimately used programs designed to system calibration; means for verifying that the programs found by the search tool belong to the black or white list of programs; means for emulating code of programs not related to the black or white list; means for tracking events that are called during program execution during emulation; a means of classifying events monitored during emulation into malicious and non-malicious; a means of collecting information about events that are not amenable to classification; and an analytics workstation associated with the data processing means, including: means for isolating the analyst from external audio and video irritants; analytics workstation calibration device, which forms the analyst’s calibration profile based on examples of malicious and legally used programs stored in the data warehouse; an output device for providing a list of non-categorized events and additional information about these events to the analyst; an input device consisting of at least one sensor; and an analyzer designed to detect malware taking into account data parameters received by the input device and data of the analyst’s calibration profile.

В частном варианте исполнения системы под средствами изолирования подразумевается видеоустройство, закрепляемое на голову аналитика, и наушники.In a particular embodiment of the system, isolation means refers to a video device mounted on the analyst’s head and headphones.

В частном варианте исполнения системы видеоустройством могут являться видеоочки или видеошлем.In a particular embodiment of the system, the video device may be video glasses or a video helmet.

В частном варианте исполнения системы устройство ввода может включать: кнопочное устройство, чувствительное к движениям пальцев; датчик давления, чувствительный к движениям пальцев; видеокамеру, отслеживающую движения глаз аналитика; аудиодатчик для обнаружения и анализа голосовых команд; электрический сенсор для отслеживания биосигналов аналитика.In a particular embodiment of the system, the input device may include: a button device sensitive to finger movements; pressure sensor sensitive to finger movements; video camera tracking analyst’s eye movements; an audio sensor for detecting and analyzing voice commands; electric sensor for tracking bio signals of the analyst.

В частном варианте исполнения системы дополнительная информация о событиях включает: частоту возникновения не поддающихся классификации событий в течение эмуляции программы и частоту возникновения не поддающихся классификации событий в известной вредоносной программе.In a particular embodiment of the system, additional information about events includes: the frequency of occurrence of non-classification events during program emulation and the frequency of occurrence of non-classification events in a known malicious program.

В частном варианте исполнения системы список не поддающихся классификации событий не включает дубликаты событий.In a particular embodiment of the system, the list of non-classifiable events does not include duplicate events.

В частном варианте исполнения системы калибровочный профиль аналитика содержит таблицы соответствия параметров устройства ввода вредоносному или законному программному обеспечению.In a private embodiment of the system, the analyst’s calibration profile contains tables of correspondence between the parameters of the input device and malicious or legitimate software.

Способ обнаружения вредоносного программного обеспечения состоит из: формирования калибровочного профиля аналитика на основе примеров известных вредоносных и законно используемых программ; поиска новых программ в Интернет; сравнения найденных программ с черным и белым списком программ; эмуляции исполнения программного кода; отслеживания событий исполнения программ; классификации событий как вредоносные или не вредоносные; сбора информации о событиях, не поддающихся классификации; предоставления списка не поддающихся классификации событий аналитику через видеоустройство; преобразования психологических реакций аналитика на предоставляемую ему информацию; и определения вредоносных событий из списка не поддающихся классификации событий на основании полученных данных психологических реакций аналитика.A method for detecting malicious software consists of: generating an analyst’s calibration profile based on examples of known malicious and legally used programs; search for new programs on the Internet; comparing the programs found with the black and white list of programs; emulation of program code execution; tracking program execution events; classifying events as malicious or non-malicious; collecting information on events that are not amenable to classification; providing a list of unclassifiable events to the analyst through the video device; transformations of the analyst’s psychological reactions to the information provided to him; and determining malicious events from a list of non-categorized events based on the received data of the analyst’s psychological reactions.

В частном варианте исполнения способа отслеживание событий включает, по крайней мере, один или несколько программных системных вызовов и один или несколько системных ответов на вызов.In a particular embodiment of the method, event tracking includes at least one or more software system calls and one or more system responses to the call.

В частном варианте исполнения способа классификация событий заключается в сравнении полученных в результате эмуляции программного кода событий с образцами событий, ассоциированных с вредоносными программами.In a particular embodiment of the method, the classification of events consists in comparing the events obtained as a result of emulating a program code with event samples associated with malicious programs.

В частном варианте исполнения способа информация о не поддающихся классификации событиях включает: частоту возникновения не поддающихся классификации событий в течение эмуляции программы; и частоту возникновения не поддающихся классификации событий в известной вредоносной программе.In a particular embodiment of the method, information about events that cannot be classified includes: the frequency of occurrence of events that cannot be classified during the program emulation; and the incidence of unclassifiable events in a known malware.

В частном варианте исполнения способа список не поддающихся классификации событий не включает дубликаты событий.In a particular embodiment of the method, the list of non-categorized events does not include duplicate events.

В частном варианте исполнения способа видеоустройством могут являться видеоочки или видеошлем.In a particular embodiment of the method, the video device may be video glasses or a video helmet.

В частном варианте исполнения способа психологические реакции распознаются при помощи: кнопочного устройства, чувствительного к движениям пальцев; датчика давления, чувствительного к движениям пальцев; видеокамеры, отслеживающей движения глаз аналитика; аудиодатчика для обнаружения и анализа голосовых команд; электрического сенсора для отслеживания биосигналов аналитика.In a particular embodiment of the method, psychological reactions are recognized by: a push-button device sensitive to finger movements; pressure sensor sensitive to finger movements; analyst eye tracking video camera; an audio sensor for detecting and analyzing voice commands; An electric sensor for tracking biosignals analyst.

Машиночитаемый носитель для управления доступом к запоминающему устройству, на котором сохранена компьютерная программа, при выполнении которой на компьютере выполняются следующие этапы: поиск новых программ в Интернет; эмуляция исполнения программного кода; отслеживание событий исполнения программ; классификация событий; сбор информации о событиях, не поддающихся классификации; предоставление списка не поддающихся классификации событий аналитику через видеоустройство; отслеживание психологических реакций аналитика на предоставляемую ему информацию; и определение вредоносных событий из списка не поддающихся классификации событий на основании полученных данных психологических реакций аналитика.A machine-readable medium for controlling access to a storage device on which a computer program is stored, during which the following steps are performed on a computer: search for new programs on the Internet; emulation of program code execution; tracking of program execution events; classification of events; collection of information about events that are not amenable to classification; Providing a list of non-categorizable analytics events through the video device tracking the analyst’s psychological reactions to the information provided to him; and determining malicious events from a list of non-categorizable events based on the received data of the analyst’s psychological reactions.

Краткое описание чертежейBrief Description of the Drawings

Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objectives, features and advantages of the present invention will be apparent from reading the following description of an embodiment of the invention with reference to the accompanying drawings, in which:

Фиг.1 изображен пример архитектуры системы обнаружения вредоносного программного обеспечения.Figure 1 shows an example architecture of a malware detection system.

Фиг.2 показывает пример другого подхода осуществления архитектуры системы обнаружения вредоносного программного обеспечения.Figure 2 shows an example of another approach for implementing the malware detection system architecture.

Фиг.3 изображен пример системного интерфейса представляемого аналитику.Figure 3 shows an example of a system interface presented to an analyst.

Фиг.4A и B показывают процесс работы системы по обнаружению вредоносного программного обеспечения.Figa and B show the operation of the system for detecting malicious software.

Описание вариантов осуществления изобретения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 provided to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined only in the scope of the attached claims.

На Фиг.1 приведен пример архитектуры системы обнаружения вредоносного программного обеспечения. Система 100 включает средство обработки данных 105, способное производить эмуляцию, анализ и классификацию различных компьютерных объектов. Система дополнительно включает хранилище данных 110, соединенное со средством обработки данных 105. Хранилище данных содержит информацию об известном вредоносном программном обеспечении, таком как вирусы, троянские программы, компьютерные черви и о другом нежелательном и вредном программном обеспечении. Система 100 дополнительно включает одну или несколько рабочих станций аналитиков 115, соединенных со средством обработки данных 105. При помощи рабочих станций аналитики, например, вирусные аналитики, способны проводить анализ не поддающихся классификации событий, возникающих при исполнении программы. Рабочие станции 115 настроены для оптимизации эффективности работы аналитиков в сфере рассмотрения не поддающихся классификации событий и предоставления полученных результатов средству обработки данных 105.Figure 1 shows an example architecture of a malware detection system. System 100 includes data processing means 105 capable of emulating, analyzing, and classifying various computer objects. The system further includes a data warehouse 110 connected to the data processing means 105. The data warehouse contains information about known malicious software, such as viruses, trojans, computer worms, and other unwanted and harmful software. System 100 further includes one or more analyst workstations 115 connected to data processing means 105. Using workstations, analysts, such as viral analysts, are capable of analyzing classifiable events that occur during program execution. Workstations 115 are tuned to optimize the performance of analysts in examining non-categorized events and presenting the results to a data processing tool 105.

Средство обработки данных 105 может состоять из одного или нескольких серверов. Система может иметь один или несколько процессоров 125, таких как Intel Quad-Core® или AMD™ Turon 64 и исполнять одну или несколько операционных систем 135, например Windows®, Unix®, Mac® OS, а также другие типы операционных систем. Средство 105 может иметь один или несколько накопителей на жестких магнитных носителях, флэш-память, оперативное запоминающее устройство или другие типы запоминающих устройств 130 для хранения операционной системы, данных и различных программных ресурсов, необходимых для функционирования средств обработки данных 105. Система также может иметь сетевой интерфейс 140, например Ethernet, для доступа в сеть Интернет или другие локальные или широко распространенные сети, а также различные последовательные и параллельные порты ввода и вывода 145 для соединения периферийных устройств. Также средство обработки данных 105 может содержать дополнительные аппаратные или программные компоненты.The data processor 105 may consist of one or more servers. A system may have one or more processors 125, such as an Intel Quad-Core ® or AMD ™ Turon 64, and run one or more operating systems 135, such as Windows ® , Unix ® , Mac ® OS, and other types of operating systems. The tool 105 may have one or more hard disk drives, flash memory, random access memory or other types of storage devices 130 for storing the operating system, data and various software resources necessary for the operation of data processing means 105. The system may also have a network an interface 140, such as Ethernet, for access to the Internet or other local or widespread networks, as well as various serial and parallel input and output ports 145 for of the connections of peripherals. Also, the data processing means 105 may include additional hardware or software components.

Средство обработки данных 105 может быть настроено для выполнения приложения обнаружения вредоносных программ 150. Как показано на Фиг.2, приложение обнаружения вредоносных программ 150 может задействовать средства поиска 205, средство эмуляции 210, детектор событий 215 и анализатор событий 220. Средство эмуляции 210 может включать системный эмулятор 225 и программный эмулятор 230. Приложение обнаружения вредоносного программного обеспечения 150 может быть запущено как на одном, так и на нескольких серверах приложений.The data processor 105 may be configured to run the malware detection application 150. As shown in FIG. 2, the malware detection application 150 may use the search tools 205, the emulation tool 210, the event detector 215, and the event analyzer 220. The emulation tool 210 may include a system emulator 225 and a software emulator 230. The malware detection application 150 can be run on one or several application servers.

В частном примере реализации системы, приложение обнаружения вредоносных программ может включать средства поиска 205, например Google®, Yahoo®, Яндекс® или собственный механизм поиска. Средство поиска предназначено для нахождения в Интернете и других сетях новых приложений, программ и других типов программного обеспечения, для дальнейшего анализа на наличие вредоносного кода. В качестве одного из вариантов реализации системы все найденные программы могут быть сравнены с программами из белого списка программ 160, занесенных в хранилище данных 110. Белый список 160 содержит список программного обеспечения, проверенного ранее и классифицированного не содержащим вредоносный программный код или законным. Если программа не может быть найдена в белом списке, она передается средству эмуляции 210 для анализа на наличие вредоносного программного обеспечения. Другим подходом является сравнение всех новых объектов с черным списком программ 165, также занесенного в хранилище данных 110. Черный список содержит перечень ранее классифицированных вредоносными объектов. Анализ и классификация объекта не производится в том случае, если объект занесен в черный список.In a particular example of a system implementation, a malware detection application may include search tools 205, such as Google ® , Yahoo ® , Yandex ®, or its own search engine. The search tool is designed to find new applications, programs and other types of software on the Internet and other networks, for further analysis of malicious code. As one of the options for implementing the system, all found programs can be compared with programs from the white list of programs 160 stored in the data warehouse 110. The white list 160 contains a list of software that has been previously verified and classified without malicious code or legitimate. If the program cannot be found in the white list, it is passed to emulator 210 for analysis for malicious software. Another approach is to compare all new objects with the black list of programs 165, also listed in the data warehouse 110. The black list contains a list of previously classified malicious objects. Analysis and classification of an object is not performed if the object is blacklisted.

Приложение обнаружения вредоносного программного обеспечения 150 может включать средство эмуляции 210, способное производить эмуляцию объектов с целью обнаружения вредоносного поведения исследуемого объекта. Для этого средство эмуляции 210 включает системный эмулятор и программный эмулятор 230. Системный эмулятор предназначен для эмуляции одного или нескольких компонентов компьютерной системы в изолированном защищенном компьютерном окружении средства обработки данных 105. Например, часть системной памяти 130 может быть задействована для создания подобного изолированного защищенного окружения для эмуляции исполнения объектов. Системный эмулятор 225 может эмулировать несколько компонент компьютерной системы, включая центральный процессор 235, эмулируемый БИОС 240 и операционную систему 245, которая может также включать эмулируемые программные интерфейсы приложений 250, такие как Win32 или, например, эмулируемые файловая система 255, системный реестр 260, планировщик потоков 265 и другие необходимые системные компоненты. Системный эмулятор 225 способен принимать различные системные настройки в зависимости от требований программы 270, эмулируемой программным эмулятором 230.The malware detection application 150 may include an emulation tool 210 capable of emulating objects in order to detect malicious behavior of an object under investigation. To this end, emulator 210 includes a system emulator and software emulator 230. The system emulator is designed to emulate one or more components of a computer system in an isolated protected computer environment of the data processing means 105. For example, part of the system memory 130 can be used to create such an isolated protected environment for emulation of the execution of objects. System emulator 225 may emulate several components of a computer system, including a central processor 235, emulated BIOS 240 and an operating system 245, which may also include emulated application programming interfaces 250, such as Win32 or, for example, emulated file system 255, system registry 260, scheduler streams 265 and other necessary system components. System emulator 225 is capable of accepting various system settings depending on the requirements of program 270 emulated by software emulator 230.

Средство эмуляции 210 может включать программный эмулятор 230, способный выполнять одну или несколько программ 270 в изолированном безопасном окружении средства обработки данных 105, используя системный эмулятор 225. Для организации эмуляции программы 270 программный эмулятор 230 способен загружать программу 270 из системной памяти 130 или из любого другого локального или удаленного источника в область запоминающего устройства с произвольным доступом 130, расположенную в изолированной защищенной компьютерной среде. Перед эмуляцией программный эмулятор 230 может запустить сканирование программы 270 для проверки того, что системный эмулятор 225 имеет все необходимые ресурсы для проведения эмуляции программы. Программный эмулятор способен также распаковывать заархивированные программы 270 и производить дополнительные необходимые операции. Далее программный эмулятор 230 может производить чтение инструкций, таких как с 1 по N и производить их эмуляцию, используя системный эмулятор 225.The emulator 210 may include a software emulator 230 capable of executing one or more programs 270 in an isolated secure environment of the data processing means 105 using a system emulator 225. To organize the emulation of a program 270, a program emulator 230 is capable of loading a program 270 from system memory 130 or from any other a local or remote source to an area of a random access storage device 130 located in an isolated secure computer environment. Before emulation, program emulator 230 may run a scan of program 270 to verify that system emulator 225 has all the necessary resources to conduct program emulation. A software emulator is also capable of unpacking archived programs 270 and performing additional necessary operations. Further, software emulator 230 may read instructions, such as 1 through N, and emulate them using system emulator 225.

В частном примере реализации системы системный эмулятор 225 может быть сконфигурирован для эмуляции одного или нескольких исполнимых компонент компьютерной программы 270. Различные исполняемые компоненты могут включать как сами программы, так и различные копии программ, которые могут быть созданы в течение эмуляции программы. Исполняемые компоненты могут включать подпрограммы программы 270, функционирующие в полунезависимом режиме от программы, и создавать некоторые задачи, которые могут различаться, но относиться к программе 270. Исполняемые компоненты могут также включать связные или несвязные программы, приложения или файлы, вызываемые программой в ходе ее исполнения. Например, программа 270 может вызывать Internet Explorer® для соединения и загрузки файла из Интернет или активации Microsoft Outlook® для получения некоторой информации. Исполняемые компоненты могут также включать динамически подключаемые библиотеки (DLL), используемые программой, такие как Windows DLL и другие.In a particular embodiment of the system, system emulator 225 may be configured to emulate one or more executable components of a computer program 270. Various executable components may include both the programs themselves and various copies of programs that may be created during program emulation. Executable components may include routines of program 270 operating in a semi-independent mode from the program, and create some tasks that may vary, but relate to program 270. Executable components may also include connected or disconnected programs, applications, or files that are called by the program during its execution . For example, the program 270 may cause Internet Explorer ® to connect and download a file from the internet or activate Microsoft Outlook ® to obtain some information. Executable components may also include dynamically linked libraries (DLLs) used by the program, such as the Windows DLL and others.

Существует несколько подходов исполнения компонентов программы 270 при помощи средства эмуляции 210. Например, компоненты могут быть исполнены как основной процесс программы 270, как различные дочерние процессы от основного процесса и как дочерние процессы от дочернего процесса и так далее. Компьютерный процесс можно определить как этап исполнения программы 270. Дочерний процесс, в свою очередь, - это процесс, созданный другим процессом. В случае другого примера, исполняемые компоненты программы 270 могут быть исполнены в одном или нескольких потоках, включая один или несколько удаленных потоков. Различные исполняемые компоненты программы 270 могут быть исполнены поочередно и/или параллельно друг с другом. Для предоставления возможности параллельного исполнения, которое, как правило, увеличивает скорость эмуляции программы, системный эмулятор 225 способен эмулировать мультизадачную компьютерную архитектуру, включая мультизадачный эмулируемый центральный процессор 235 и мультизадачную эмулируемую операционную систему 245, которая поддерживает параллельную обработку различных процессов и потоков исполнения программ 270.There are several approaches for executing program components 270 using emulation tool 210. For example, components can be executed as the main process of program 270, as various child processes from the main process, and as child processes from the child process and so on. A computer process can be defined as a stage in the execution of program 270. A child process, in turn, is a process created by another process. In the case of another example, the executable components of program 270 may be executed in one or more threads, including one or more remote threads. Various executable components of program 270 may be executed alternately and / or in parallel with each other. To enable parallel execution, which typically increases the speed of program emulation, system emulator 225 is able to emulate a multitask computer architecture, including a multitask emulated central processor 235 and a multitask emulated operating system 245, which supports parallel processing of various processes and program execution threads 270.

В частном варианте исполнения приложение 150 обнаружения вредоносного программного обеспечения включает детектор событий 215, который способствует обнаружению событий, полученных при эмуляции программы 270 и ее различных исполняемых компонентов. Примерами событий, которые могут быть обнаружены детектором событий 215, являются, но не ограничиваются приведенным списком: компьютерная программа, создающая копию самой себя; компьютерная программа, создающая новый файл; новый файл, копирующий себя в системный каталог; компьютерная программа, создающая новый ключ в системном реестре, изменяющая реестр и другие. Необходимо заметить, что детектор событий 215 обнаруживает не только события с явным вредоносным поведением, но и вредоносные события, созданные не вредоносными программами, не приносящие вреда средству обработки данных 105. После обнаруженные события отправляются в реальном времени для дальнейшей обработки анализатору событий 220.In a private embodiment, the malware detection application 150 includes an event detector 215, which facilitates the detection of events obtained by emulating the program 270 and its various executable components. Examples of events that can be detected by the event detector 215 are, but are not limited to, the following list: a computer program that creates a copy of itself; a computer program that creates a new file; a new file that copies itself to the system directory; a computer program that creates a new key in the system registry, modifies the registry, and others. It should be noted that the event detector 215 detects not only events with obvious malicious behavior, but also malicious events created by non-malicious programs that do no harm to the data processor 105. After the detected events are sent in real time for further processing to the event analyzer 220.

В частном варианте исполнения системы анализатор событий 220 обладает возможностью сравнения полученных данных о событиях с примерами поведения вредоносных программ 170 и классификации эмулируемой программы относительно ее вредоносности. Пример поведения вредоносной программы 170 может включать одно или несколько событий, относящихся к группе вредоносных. Анализатор событий может прибегать к анализу событий, как только событие сгенерировано средством эмуляции 210. Также анализ может быть запущен только после завершения эмуляции программы. Также в случае обнаружения одного или нескольких событий анализатор событий может классифицировать данные события как вредоносные и дать команду средству эмуляции о прекращении программной эмуляции. В случае если созданные события не содержат похожих на вредоносные элементы поведения, анализатор событий 220 может отнести событие к не вредоносным и остановить программную эмуляцию. Если анализатор событий 220 не может точно классифицировать созданное событие, оно относится к не поддающимся классификации событиям.In a particular embodiment of the system, the event analyzer 220 has the ability to compare the received event data with examples of malware behavior 170 and to classify the emulated program with respect to its harmfulness. An example of the behavior of a malicious program 170 may include one or more events related to a malware group. The event analyzer can resort to event analysis as soon as the event is generated by the emulation tool 210. Also, the analysis can be started only after the emulation of the program is completed. Also, if one or more events is detected, the event analyzer can classify these events as malicious and instruct the emulator to terminate the software emulation. In the event that the created events do not contain malicious behavior-like elements, the event analyzer 220 can classify the event as non-malicious and stop the software emulation. If the event analyzer 220 cannot accurately classify the generated event, it refers to unclassifiable events.

Не поддающиеся классификации события могут быть предоставлены аналитику для дальнейшего анализа через рабочие станции 115. Аналитик - человек с большой накопленной экспертизой в области обнаружения вредоносного программного обеспечения. Аналитик содействует приложению обнаружения вредоносного программного обеспечения 150 в тех случаях, когда приложение не может точно принять решение о принадлежности объекта к группе вредоносных или напротив не вредоносных объектов. К не поддающимся классификации событиям помимо событий, вызванных доверительными программами, но содержащих элементы потенциально вредоносного содержания, могут относиться новые виды компьютерных вирусов, червей, троянских программ, программ-шпионов и вредоносные программы с неизвестными ранее примерами поведения.Unclassifiable events can be provided to the analyst for further analysis through workstations 115. The analyst is a person with extensive accumulated expertise in the field of malware detection. The analyst promotes the malware detection application 150 in cases where the application cannot accurately decide whether an object belongs to a group of malicious or, on the contrary, non-malicious objects. Unclassifiable events, in addition to events caused by trust programs, but containing elements of potentially harmful content, may include new types of computer viruses, worms, trojans, spyware and malicious programs with previously unknown behaviors.

Для предоставления возможности аналитикам эффективно анализировать события, не поддающиеся автоматической классификации, средство обработки данных 105 способно извлекать и преобразовывать информацию, относящуюся к событиям. Например, система способна удалять все дубликаты событий из программного кода и отображать количество повторений события во время исполнения программы. Это помогает организовать информацию в более удобном для восприятия формате, как, например, список всех не поддающихся автоматической классификации событий совместно с информацией о каждом событии такой, как различные аргументы функции и другое. Система может также отображать текущий программный код, вызывающий рассматриваемые события. Существует также много способов форматирования и предоставления информации о событиях аналитику, например, информация может быть визуализирована, используя различные шрифт, размер и цвет букв при выводе информации на рабочую станцию аналитика 115.To enable analysts to efficiently analyze events that are not amenable to automatic classification, data processor 105 is capable of extracting and converting information related to events. For example, the system is able to remove all duplicate events from the program code and display the number of repetitions of the event during program execution. This helps organize information in a more readable format, such as a list of all events that are not amenable to automatic classification, together with information about each event, such as various function arguments and more. The system can also display the current program code that triggers the events in question. There are also many ways of formatting and presenting information about events to an analyst, for example, information can be visualized using various font, size, and color of letters when outputting information to an analyst workstation 115.

Средство обработки данных способно предоставлять аналитику различную информацию касательно событий, не поддающихся классификации. Подобная информация может включать, но не ограничивается приведенным списком, информацию о примерах поведений вредоносных программ 170, имеющих наиболее сходные поведения с описываемыми событиями, информацию о классах функций, объектов или программ, ассоциированных с не поддающимся классификации событием. Средство обработки данных также может предоставлять различную статистическую информацию о не поддающихся классификации событиях, такую как, частота возникновения не поддающихся классификации событий в программном коде, в известном вредоносном программном обеспечении, включая тип программы, и/или в законном программном обеспечении, включая тип программы.The data processing tool is able to provide the analyst with a variety of information regarding events that cannot be classified. Such information may include, but is not limited to, a list of examples of malware behavior 170 that have the most similar behavior to the described events, information about classes of functions, objects, or programs associated with an unclassifiable event. The data processing tool can also provide various statistical information about non-classification events, such as the frequency of occurrence of non-classification events in the program code, in known malicious software, including the type of program, and / or in legitimate software, including the type of program.

На Фиг.3 приведен примерный интерфейс системы с отображением информации о не поддающихся классификации событиях. Предоставляемая информация может включать одно или несколько не поддающихся классификации событий 310, таких как вызовы API-функций, вызванные эмулируемой программой, например API: WriteFile, и аргументы вызова: ARG1, ARG2, ARGN. Также может отображаться ссылочная информация 330, как, например, аргумент ARG1 был найден по ссылке «Полное наименование критичных системных объектов», а также, что событие было идентифицировано с поведением примера поведения «Открытие хост объекта». Также может быть включена статистическая информация 340, например, демонстрирующая, что не поддающееся классификации событие было найдено 3217 раз в черном списке программ и ни разу в белом списке. Описанный интерфейс всего лишь один из примеров реализации интерфейса, предоставляющего информацию аналитику.Figure 3 shows an exemplary system interface with the display of information about not classifiable events. The information provided may include one or more unclassifiable events 310, such as API function calls invoked by an emulated program, such as API: WriteFile, and call arguments: ARG1, ARG2, ARGN. Reference information 330 may also be displayed, such as, for example, the argument ARG1 was found on the link “Full name of critical system objects”, and also that the event was identified with the behavior of the example of the behavior “Opening host object”. Statistical information 340 may also be included, for example, demonstrating that an unclassifiable event was found 3217 times in the black list of programs and never in the white list. The described interface is just one example of the implementation of an interface that provides information to the analyst.

По мере завершения просмотра информации, относящейся к событиям, аналитик сможет классифицировать события как вредоносные, не вредоносные и не поддающиеся классификации. Не поддающиеся классификации события могут быть автоматически в режиме реального времени направлены другим аналитикам для обзора и последующей классификации. В качестве альтернативного подхода, не поддающиеся классификации события могут быть временно размещены в хранилище данных системой и предоставлены тому же самому аналитику через некоторое время.As the event-related information is completed, the analyst will be able to classify the events as malicious, non-malicious, and non-categorical. Events that cannot be classified can be automatically sent to other analysts in real time for review and subsequent classification. As an alternative approach, classifiable events can be temporarily placed in the data warehouse by the system and provided to the same analyst after some time.

В частном примере реализации системы, средство обработки данных 105 может быть настроено таким образом, чтобы разделять не поддающиеся классификации события между аналитиками, основываясь на специализации, загруженности и других параметрах. Например, если приложения обнаружения вредоносных программ 150 приписывает поведению не поддающегося классификации события тип троянской программы, то система может отправить данное событие аналитику, специализирующемуся в области троянских программ. Другим примером может являться ситуация, когда у первого аналитика в очереди на обработку 500 событий, а второго 1000, то тогда система будет передавать на обработку события менее загруженному аналитику - первому. Также система может периодически отправлять классифицированные события тем же аналитикам для повторного рассмотрения для повышения точности и аккуратности анализа.In a particular example of a system implementation, the data processor 105 can be configured to separate classifiable events between analysts based on specialization, workload, and other parameters. For example, if a malware detection application 150 attributes a type of Trojan to the behavior of an unclassifiable event, the system can send the event to an analyst specializing in Trojan programs. Another example may be the situation when the first analyst is in the queue for processing 500 events, and the second is 1000, then the system will send the less loaded analyst, the first, to process the event. The system can also periodically send classified events to the same analysts for reconsideration to increase the accuracy and accuracy of the analysis.

Система 100 включает одну или несколько рабочих станций аналитиков 115. Рабочие станции могут быть компьютерными терминалами, имеющими процессор, память, сетевые интерфейсы для соединения со средством обработки данных 105 по локальной сети, такой как Ethernet. Каждая рабочая станция может также включать видеоустройство вывода, способное предоставить аналитику информацию о не поддающихся классификации событиях. Рабочая станция аналитика может также включать устройства ввода информации, способные принимать физиологические реакции аналитика, показывающие на принадлежность событий к вредоносным или законным. Рабочие станции могут быть отделены друг от друга и изолированы от внешних раздражителей. Для достижения данной цели может быть использован видеошлем или видеоочки. Данные приспособления должны быть способными к отображению, например, картинки с разрешением 640×480 с информацией о событии, как приведено на Фиг.3. Данный тип видеоустройства изолирует аналитика от внешних визуальных раздражителей. Аналитикам также могут быть предоставлены наушники или ушные затычки для блокировки внешних звуков и других аудиораздражителей. Приведенные изолирующие средства увеличивают эффективность работы аналитиков.System 100 includes one or more analyst workstations 115. Workstations may be computer terminals having a processor, memory, network interfaces for connecting to data processing means 105 over a local area network, such as Ethernet. Each workstation may also include a video output device capable of providing the analyst with information about unclassifiable events. The analyst workstation may also include information input devices capable of receiving the physiological reactions of the analyst, indicating that the events are malicious or legitimate. Workstations can be separated from each other and isolated from external stimuli. To achieve this goal, a video helmet or video glasses can be used. These devices must be capable of displaying, for example, pictures with a resolution of 640 × 480 with information about the event, as shown in Fig.3. This type of video device isolates analytics from external visual stimuli. Analysts can also be provided with headphones or earplugs to block external sounds and other audio irritants. These insulating agents increase the efficiency of analysts.

С целью предотвращения ложных срабатываний и настройки системы под различных аналитиков, рабочая станция 115 включает устройство калибровки, формирующее калибровочный профиль аналитика на основе примеров известных вредоносных и законно используемых программ 180, хранящихся в хранилище данных. Калибровочный профиль аналитика содержит таблицы соответствия параметров устройства ввода вредоносному или законному программному обеспечению.In order to prevent false alarms and configure the system for various analysts, workstation 115 includes a calibration device that generates a calibration profile for the analyst based on examples of known malicious and legally used programs 180 stored in the data warehouse. The analyst’s calibration profile contains tables that match the parameters of the input device with malicious or legitimate software.

Рабочая станция аналитика 115 содержит анализатор, предназначенный для обнаружения вредоносного программного обеспечения с учетом параметров данных, полученных устройством ввода, и данных устройства калибровки рабочей станции аналитика.Analytics Workstation 115 contains an analyzer designed to detect malware taking into account data parameters received by the input device and data from the analytic workstation calibration device.

Устройство ввода рабочей станции 115 может быть настроено для увеличения эффективности принятия решения аналитиком. Например, устройство ввода может включать кнопочное устройство или датчик давления, чувствительный к движениям пальцев. В случае если устройство однокнопочное, то одиночное нажатие может означать, что событие вредоносное, двойное - событие не вредоносное, тройное - событие не поддается классификации. Также можно применить множество других различных способов регистрации событий.The input device of the workstation 115 may be tuned to increase the decision-making efficiency of the analyst. For example, the input device may include a button device or a pressure sensor sensitive to finger movements. If the device is single-button, then a single click can mean that the event is malicious, double - the event is not malicious, triple - the event can not be classified. You can also apply many other different ways of recording events.

В качестве альтернативного подхода могут быть использованы другие способы регистрации психологических реакций на программную информацию. Например, можно использовать датчик голосовых команд или камеру, регистрирующую движения глаз аналитика, расширение зрачков которых может указывать на вредоносность или на законность программного кода. Система может быть адаптирована индивидуально под каждого аналитика, тем самым она может определять реакции аналитика с большой точностью. Также могут использоваться различные датчики наблюдения биосигналов аналитика. Подобные устройства могут включать датчики для определения кожно-гальванической реакции (GSR), систему определения электроэнцефалограммы (EEG), которая регистрирует активность мозга аналитика, систему электрокардиограммы (ECG) для наблюдения за частотой биения сердца. Приведенные и подобные системы могут быть использованы для определения принадлежности событий к классу вредоносных.As an alternative approach, other methods of recording psychological reactions to program information can be used. For example, you can use a voice command sensor or a camera that records analyst’s eye movements, the expansion of the pupils of which may indicate harmfulness or legitimacy of the program code. The system can be adapted individually for each analyst, thereby it can determine the reaction of the analyst with great accuracy. Various analytic biosignal sensors may also be used. Such devices may include sensors for detecting a skin galvanic reaction (GSR), an electroencephalogram detection system (EEG) that records the analyst’s brain activity, and an electrocardiogram system (ECG) to monitor the heart rate. The above and similar systems can be used to determine whether an event belongs to a class of malware.

На Фиг.4 приведен пример реализации метода для обнаружения вредоносных программ, используя описываемую систему. Первым действием производится калибровка рабочей станции аналитика 401 для составления таблицы соответствия параметров устройства ввода вредоносному или законному программному обеспечению. На шаге 405 система обработки данных производит поиск в Интернете новых программ и приложений. Для каждой встретившейся программы система проверяет в своей базе данных, относится ли программа к белому списку, шаг 410, или к черному, шаг 415. Если программа встречается в одном из списков, то она отбрасывается. Если программа не была встречена в черном или белом списке, то система обработки данных активирует средство эмуляции, шаг 420. Средство эмуляции загружает программу в изолированную компьютерную среду, шаг 425, и эмулирует программу, используя системный и программный эмуляторы, шаг 430. События, возникающие в результате выполнения программы, фиксируются и сравниваются с образцами поведения вредоносных программ как указано ранее, на шаге 435. Основываясь на результатах данного анализа, программа классифицируется системой обработки данных как вредоносная, не вредоносная или не поддающаяся классификации.Figure 4 shows an example implementation of a method for detecting malware using the described system. The first step is to calibrate the Analyst 401 workstation to compile a table of correspondence between the parameters of the input device and malicious or legitimate software. At step 405, the data processing system searches the Internet for new programs and applications. For each program encountered, the system checks in its database whether the program belongs to the white list, step 410, or to the black list, step 415. If the program appears in one of the lists, it is discarded. If the program was not found in the black or white list, the data processing system activates the emulation tool, step 420. The emulation tool loads the program into an isolated computer environment, step 425, and emulates the program using system and software emulators, step 430. Events that occur as a result of the program’s execution, they are recorded and compared with the malware behavior patterns as indicated earlier, at step 435. Based on the results of this analysis, the program is classified by the data processing system as in edonosnaya not malicious or unclassifiable.

В случае если программа классифицирована как вредоносная, шаг 440, она добавляется в черный список программ, шаг 445. В случае если программа классифицирована как не вредоносная, она добавляется в белый список программ, шаг 450, и эмуляция программы прекращается. Если система обработки данных определила, что программа не может быть классифицирована, то система собирает всю возможную информацию о событиях, шаг 455, преобразует ее и отправляет на рабочую станцию аналитику, шаг 460. Информация о событие предоставляется аналитику по средствам видеоустройства, закрепляемого на голову аналитика, например видеоочки или видеошлем, шаг 465. Далее система определяет психологические реакции аналитика на предоставленную информацию, реакции указывают на принадлежность события к вредоносным или не вредоносным с учетом данных калибровочного профиля аналитика, шаг 470. Если событие классифицировано как вредоносное, шаг 480, программа добавляется в черный список программ, шаг 485. Если программа классифицируется как не вредоносная, она добавляется в белый список программ, шаг 490, эмуляция программы прекращается. В случае невозможности определения принадлежность программы к тому или иному классу, информация о событии отправляется другому аналитику, шаг 495, либо могут быть применены другие действия.If the program is classified as malicious, step 440, it is added to the black list of programs, step 445. If the program is classified as not malicious, it is added to the white list of programs, step 450, and the emulation of the program stops. If the data processing system determines that the program cannot be classified, the system collects all possible information about the events, step 455, converts it and sends the analytics to the workstation, step 460. Information about the event is provided to the analyst by means of a video device attached to the analyst’s head , for example, video glasses or a video helmet, step 465. Next, the system determines the analyst’s psychological reactions to the information provided, reactions indicate that the event belongs to malicious or non-malicious taking into account the data of the analyst’s calibration profile, step 470. If the event is classified as malicious, step 480, the program is added to the black list of programs, step 485. If the program is classified as not malicious, it is added to the white list of programs, step 490, the program emulation is terminated. If it is not possible to determine whether the program belongs to a particular class, the event information is sent to another analyst, step 495, or other actions can be applied.

Необходимо отметить, что технологии обработки, основанные на эмуляции, описанные выше, могут быть реализованы альтернативными подходами. Например, система обработки данных может быть сконфигурирована для исполнения программ непосредственно в режиме реального времени, то есть не эмулируя системные ресурсы, такие как центральный процессор 125, память 130 и другие. После завершения исполнения программы, ресурсы, задействованные приложением обнаружения вредоносных программ, могут быть возвращены в первоначальное состояние, а данные исполнения программы могут быть удалены.It should be noted that the emulation-based processing technologies described above can be implemented with alternative approaches. For example, a data processing system can be configured to execute programs directly in real time, that is, without emulating system resources, such as a central processor 125, memory 130, and others. After the execution of the program is completed, the resources used by the malware detection application can be returned to their original state, and the program execution data can be deleted.

Изложенная система и метод обладают высокой эффективностью и точностью анализа известного и неизвестного программного обеспечения и приложений. Аналитики, изолированные от внешних аудио- и видеораздражителей, снабжены удобными устройствами ввода. Предоставляемые события могут быть мгновенно проанализированы. Система способна классифицировать порядка 3000 событий в час. Работа аналитика стала автоматической, зачастую рефлексивной. Более того, так как повторяющиеся события не предоставляются аналитику, классификация события применяется ко всем событиям. Это означает, что если событие А повторяется 2572 раза, то классификация одного из 2572 событий влечет классификацию всех событий данной группы.The stated system and method have high efficiency and accuracy of analysis of known and unknown software and applications. Analysts isolated from external audio and video irritators are equipped with convenient input devices. Provided events can be instantly analyzed. The system is able to classify about 3000 events per hour. The analyst’s work has become automatic, often reflective. Moreover, since recurring events are not provided to the analyst, event classification is applied to all events. This means that if event A is repeated 2572 times, then the classification of one of 2572 events entails the classification of all events in this group.

В соответствии с описанием, компоненты, этапы исполнения, структура данных, описанные выше, могут быть выполнены, используя различные типы операционных систем, компьютерных платформ, программ.In accordance with the description, components, execution steps, data structure described above can be performed using various types of operating systems, computer platforms, programs.

В заключении следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.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. One skilled in the art will recognize that there may be other embodiments of the present invention consistent with the spirit and scope of the present invention.

Claims (15)

1. Система обнаружения вредоносного программного обеспечения содержит:
средство поиска программ, предназначенное для поиска программ в Интернет, связанное со средством обработки данных;
средство обработки данных, предназначенное для обработки найденных программ средством поиска программ, и связанное с рабочей станцией аналитика, включающее:
хранилище данных о вредоносном и законном программном обеспечении, содержащее черные списки, белые списки, примеры поведения программ, примеры вредоносных и законно используемых программ, предназначенные для калибровки системы;
средство проверки принадлежности найденных средством поиска программ к черному или белому списку программ;
средство эмуляции кода программ, не относящихся к черному или белому списку;
средство отслеживания событий, вызываемых при исполнении программы в ходе эмуляции;
средство классификации отслеживаемых в ходе эмуляции событий на вредоносные и не вредоносные;
средство сбора информации о событиях, не поддающихся классификации; и
рабочую станцию аналитика, связанную со средством обработки данных, включающую:
средство изолирования аналитика от внешних аудиовидеораздражителей;
устройство калибровки рабочей станции аналитика, предназначенное для формирования калибровочного профиля аналитика на основе примеров известных вредоносных и законно используемых программ, хранящихся в хранилище данных, с целью предотвращения ложных срабатываний и настройки системы под различных аналитиков;
устройство вывода для предоставления списка не поддающихся классификации событий и дополнительной информации о данных событиях аналитику;
устройство ввода, состоящее, по меньшей мере, из одного датчика; и анализатор, предназначенный для обнаружения вредоносного программного обеспечения с учетом параметров данных, полученных устройством ввода, и данных устройства калибровки рабочей станции аналитика.
1. The malware detection system contains:
program search tool for searching programs on the Internet associated with a data processing means;
data processing means designed to process the programs found by the program search tool and associated with the analytics workstation, including:
a repository of data on malicious and legitimate software containing black lists, white lists, examples of program behavior, examples of malicious and legitimately used programs designed to calibrate the system;
means for verifying that the programs found by the search tool belong to the black or white list of programs;
means for emulating code of programs not related to the black or white list;
means for tracking events that are called during program execution during emulation;
a means of classifying events monitored during emulation into malicious and non-malicious;
a means of collecting information about events that are not amenable to classification; and
analytics workstation associated with a data processing tool, including:
means for isolating the analyst from external audio and video irritators;
analytic workstation calibration device designed to generate the analyst’s calibration profile based on examples of known malicious and legally used programs stored in the data warehouse in order to prevent false positives and configure the system for various analysts;
an output device for providing a list of non-categorized events and additional information about these events to the analyst;
an input device consisting of at least one sensor; and an analyzer designed to detect malicious software, taking into account the parameters of the data received by the input device and the data of the calibration device of the analyst workstation.
2. Система по п.1, в которой под средствами изолирования подразумевается видеоустройство, закрепляемое на голову аналитику, и наушники.2. The system according to claim 1, in which the means of isolation means a video device, mounted on the head of the analyst, and headphones. 3. Система по п.2, в которой видеоустройством могут являться видеоочки или видеошлем.3. The system of claim 2, wherein the video device may be video glasses or a video helmet. 4. Система по п.1, в которой устройство ввода может включать:
кнопочное устройство, чувствительное к движениям пальцев;
датчик давления, чувствительный к движениям пальцев;
видеокамеру, отслеживающую движения глаз аналитика;
аудиодатчик для обнаружения и анализа голосовых команд;
электрический сенсор для отслеживания биосигналов аналитика.
4. The system according to claim 1, in which the input device may include:
a button device that is sensitive to finger movements;
pressure sensor sensitive to finger movements;
video camera tracking analyst’s eye movements;
an audio sensor for detecting and analyzing voice commands;
electric sensor for tracking bio signals of the analyst.
5. Система по п.1, в которой дополнительная информация о событиях включает:
частоту возникновения неподдающихся классификации событий в течение эмуляции программы; и
частоту возникновения неподдающихся классификации событий в известной вредоносной программе.
5. The system according to claim 1, in which additional information about the events includes:
the frequency of occurrence of unclassifiable events during program emulation; and
the frequency of occurrence of unclassifiable events in a known malicious program.
6. Система по п.1, в которой список неподдающихся классификации событий не включает дубликаты событий.6. The system of claim 1, wherein the list of non-categorized events does not include duplicate events. 7. Система по п.1, в которой калибровочный профиль аналитика содержит таблицы соответствия параметров устройства ввода вредоносному или законному программному обеспечению.7. The system according to claim 1, in which the analytics calibration profile contains tables of correspondence between the parameters of the input device and malicious or legitimate software. 8. Способ обнаружения вредоносного программного обеспечения состоит из:
формирования калибровочного профиля аналитика на основе примеров известных вредоносных и законно используемых программ;
поиска новых программ в Интернет;
сравнения найденных программ с черным и белым списком программ;
эмуляции исполнения программного кода;
отслеживания событий исполнения программ;
классификации событий как вредоносные или не вредоносные;
сбора информации о событиях, не поддающихся классификации;
предоставления списка не поддающихся классификации событий аналитику через видеоустройство;
преобразования психологических реакций аналитика на предоставляемую ему информацию; и
определения вредоносных событий из списка не поддающихся событий на основании полученных данных психологических реакций аналитика.
8. The malware detection method consists of:
the formation of the analyst’s calibration profile based on examples of known malicious and legally used programs;
search for new programs on the Internet;
comparing the programs found with the black and white list of programs;
emulation of program code execution;
tracking program execution events;
classifying events as malicious or non-malicious;
collecting information on events that are not amenable to classification;
providing a list of unclassifiable events to the analyst through the video device;
transformations of the analyst’s psychological reactions to the information provided to him; and
determination of malicious events from the list of non-malleable events based on the received data of the analyst’s psychological reactions.
9. Способ по п.8, в котором отслеживание событий включает, по крайней мере, один или несколько программных системных вызовов и один или несколько системных ответов на вызов.9. The method of claim 8, wherein the event tracking includes at least one or more software system calls and one or more system responses to the call. 10. Способ по п.8, в котором классификация событий заключается в сравнении полученных в результате эмуляции программного кода событий с образцами событий, ассоциированных с вредоносными программами.10. The method according to claim 8, in which the classification of events consists in comparing the events obtained as a result of emulation of the program code with the samples of events associated with malicious programs. 11. Способ по п.8, в котором информация о не поддающихся классификации событиях включает:
частоту возникновения не поддающихся классификации событий в течение эмуляции программы; и
частоту возникновения не поддающихся классификации событий в известной вредоносной программе.
11. The method according to claim 8, in which information about not classifiable events includes:
the frequency of occurrence of unclassifiable events during program emulation; and
the frequency of occurrence of unclassifiable events in a known malicious program.
12. Способ по п.8, в котором список не поддающихся классификации событий не включает дубликаты событий.12. The method of claim 8, wherein the list of non-categorized events does not include duplicate events. 13. Способ по п.8, в котором видеоустройством могут являться видеоочки или видеошлем.13. The method of claim 8, wherein the video device may be video glasses or a video helmet. 14. Способ по п.8, в котором психологические реакции распознаются при помощи:
кнопочного устройства, чувствительного к движениям пальцев; датчика давления, чувствительного к движениям пальцев; видеокамеры, отслеживающей движения глаз аналитика; аудиодатчика для обнаружения и анализа голосовых команд; электрического сенсора для отслеживания биосигналов аналитика.
14. The method of claim 8, in which psychological reactions are recognized using:
a button device that is sensitive to finger movements; pressure sensor sensitive to finger movements; analyst eye tracking video camera; an audio sensor for detecting and analyzing voice commands; An electric sensor for tracking biosignals analyst.
15. Машиночитаемый носитель для управления доступом к запоминающему устройству, на котором сохранена компьютерная программа, при выполнении которой на компьютере выполняются следующие этапы:
эмуляция исполнения программного кода;
отслеживание событий исполнения программ;
классификация событий;
сбор информации о событиях, не поддающихся классификации;
предоставление списка не поддающихся классификации событий аналитику через видеоустройство;
отслеживание психологических реакций аналитика на предоставляемую ему информацию; и
определение вредоносных событий из списка не поддающихся событий на основании полученных данных психологических реакций аналитика.
15. Machine-readable medium for controlling access to a storage device on which a computer program is stored, during which the following steps are performed on a computer:
emulation of program code execution;
tracking of program execution events;
classification of events;
collection of information about events that are not amenable to classification;
Providing a list of non-categorizable analytics events through the video device
tracking the analyst’s psychological reactions to the information provided to him; and
determination of malicious events from the list of non-malleable events based on the received data of the analyst’s psychological reactions.
RU2010107437/08A 2010-03-02 2010-03-02 System and method of detecting malware RU2430411C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2010107437/08A RU2430411C1 (en) 2010-03-02 2010-03-02 System and method of detecting malware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2010107437/08A RU2430411C1 (en) 2010-03-02 2010-03-02 System and method of detecting malware

Publications (1)

Publication Number Publication Date
RU2430411C1 true RU2430411C1 (en) 2011-09-27

Family

ID=44804251

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010107437/08A RU2430411C1 (en) 2010-03-02 2010-03-02 System and method of detecting malware

Country Status (1)

Country Link
RU (1) RU2430411C1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2472215C1 (en) * 2011-12-28 2013-01-10 Закрытое акционерное общество "Лаборатория Касперского" Method of detecting unknown programs by load process emulation
RU2485577C1 (en) * 2012-05-11 2013-06-20 Закрытое акционерное общество "Лаборатория Касперского" Method of increasing reliability of detecting malicious software
RU2514142C1 (en) * 2012-12-25 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" Method for enhancement of operational efficiency of hardware acceleration of application emulation
RU2527738C1 (en) * 2013-04-24 2014-09-10 Общество с ограниченной ответственностью "НАНО Секьюрити" Method of neutralising malware blocking pc operation using separate device for user activation of malware counteracting procedure
WO2014145626A1 (en) * 2013-03-15 2014-09-18 Jon Rav Gagan SHENDE Cloud forensics
RU2652448C1 (en) * 2017-08-10 2018-04-26 Акционерное общество "Лаборатория Касперского" System and method of adapting patterns of dangerous program behavior to users' computer systems
RU2658132C1 (en) * 2013-03-15 2018-06-19 Макафи, Инк. General unpacking of applications for detecting malicious programs
RU2659742C1 (en) * 2017-08-17 2018-07-03 Акционерное общество "Лаборатория Касперского" Method for emulating the execution of files comprising instructions, different from machine instructions
RU2679175C1 (en) * 2015-06-12 2019-02-06 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Method of behavioral detection of malicious programs using a virtual interpreter machine
RU2679783C2 (en) * 2015-12-18 2019-02-12 Закрытое акционерное общество "Лаборатория Касперского" Method of creating script of popular activation events
RU2680738C1 (en) * 2015-05-17 2019-02-26 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Cascade classifier for the computer security applications
RU2731467C1 (en) * 2019-11-06 2020-09-03 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Method for early detection of destructive effects of botnet on a communication network

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2472215C1 (en) * 2011-12-28 2013-01-10 Закрытое акционерное общество "Лаборатория Касперского" Method of detecting unknown programs by load process emulation
RU2485577C1 (en) * 2012-05-11 2013-06-20 Закрытое акционерное общество "Лаборатория Касперского" Method of increasing reliability of detecting malicious software
RU2514142C1 (en) * 2012-12-25 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" Method for enhancement of operational efficiency of hardware acceleration of application emulation
WO2014145626A1 (en) * 2013-03-15 2014-09-18 Jon Rav Gagan SHENDE Cloud forensics
RU2658132C1 (en) * 2013-03-15 2018-06-19 Макафи, Инк. General unpacking of applications for detecting malicious programs
RU2527738C1 (en) * 2013-04-24 2014-09-10 Общество с ограниченной ответственностью "НАНО Секьюрити" Method of neutralising malware blocking pc operation using separate device for user activation of malware counteracting procedure
US9262636B2 (en) 2013-04-24 2016-02-16 Nano Security Ltd. Method for neutralizing PC blocking malware using a separate device for an antimalware procedure activated by user
EA029778B1 (en) * 2013-04-24 2018-05-31 Общество с ограниченной ответственностью "НАНО Секьюрити" Method for neutralizing pc blocking malware using a separate device for an antimalware procedure activated by user
RU2680738C1 (en) * 2015-05-17 2019-02-26 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Cascade classifier for the computer security applications
RU2679175C1 (en) * 2015-06-12 2019-02-06 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Method of behavioral detection of malicious programs using a virtual interpreter machine
RU2679783C2 (en) * 2015-12-18 2019-02-12 Закрытое акционерное общество "Лаборатория Касперского" Method of creating script of popular activation events
RU2652448C1 (en) * 2017-08-10 2018-04-26 Акционерное общество "Лаборатория Касперского" System and method of adapting patterns of dangerous program behavior to users' computer systems
RU2659742C1 (en) * 2017-08-17 2018-07-03 Акционерное общество "Лаборатория Касперского" Method for emulating the execution of files comprising instructions, different from machine instructions
RU2731467C1 (en) * 2019-11-06 2020-09-03 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Method for early detection of destructive effects of botnet on a communication network

Similar Documents

Publication Publication Date Title
RU2430411C1 (en) System and method of detecting malware
US8484727B2 (en) System and method for computer malware detection
Alazab et al. Towards understanding malware behaviour by the extraction of API calls
US9876812B1 (en) Automatic malware signature extraction from runtime information
US11481492B2 (en) Method and system for static behavior-predictive malware detection
US8850581B2 (en) Identification of malware detection signature candidate code
US8762948B1 (en) System and method for establishing rules for filtering insignificant events for analysis of software program
EP1543396B1 (en) Method and apparatus for the automatic determination of potentially worm-like behaviour of a program
US8555385B1 (en) Techniques for behavior based malware analysis
US9015814B1 (en) System and methods for detecting harmful files of different formats
US20100192222A1 (en) Malware detection using multiple classifiers
EP3211558B1 (en) Multi-threat analyzer array system and method of use
EP3341884B1 (en) Systems methods and devices for memory analysis and visualization
WO2020040878A1 (en) Enhancing cybersecurity and operational monitoring with alert confidence assignments
EP2797021B1 (en) A method for neutralizing pc blocking malware using a separate device for an antimalware procedure activated by user
Choi et al. Toward extracting malware features for classification using static and dynamic analysis
US20210173760A1 (en) Software diagnostic context selection and use
US11528298B2 (en) Methods and systems for preventing malicious activity in a computer system
Canto et al. Large scale malware collection: lessons learned
Sun et al. Malware virtualization-resistant behavior detection
US20230153439A1 (en) Early filtering of clean file using dynamic analysis
Rana et al. Automated windows behavioral tracing for malware analysis
Gregory Paul et al. A framework for dynamic malware analysis based on behavior artifacts
Van Randwyk et al. Farm: An automated malware analysis environment
Safitri A study: Volatility forensic on hidden files