RU2510530C1 - Method for automatic generation of heuristic algorithms for searching for malicious objects - Google Patents

Method for automatic generation of heuristic algorithms for searching for malicious objects Download PDF

Info

Publication number
RU2510530C1
RU2510530C1 RU2012141479/08A RU2012141479A RU2510530C1 RU 2510530 C1 RU2510530 C1 RU 2510530C1 RU 2012141479/08 A RU2012141479/08 A RU 2012141479/08A RU 2012141479 A RU2012141479 A RU 2012141479A RU 2510530 C1 RU2510530 C1 RU 2510530C1
Authority
RU
Russia
Prior art keywords
heuristic
malicious applications
computer
log
analysis
Prior art date
Application number
RU2012141479/08A
Other languages
Russian (ru)
Inventor
Олег Владимирович Зайцев
Original Assignee
Закрытое акционерное общество "Лаборатория Касперского"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Лаборатория Касперского" filed Critical Закрытое акционерное общество "Лаборатория Касперского"
Priority to RU2012141479/08A priority Critical patent/RU2510530C1/en
Application granted granted Critical
Publication of RU2510530C1 publication Critical patent/RU2510530C1/en

Links

Images

Abstract

FIELD: information technology.
SUBSTANCE: method involves scanning a computer for presence of malicious applications while storing the scanning results in an inspection log; sending the inspection log for analysis; generating a heuristic scenario of detecting malicious applications based on analysis of the inspection log and sending the generated heuristic scenario of detecting malicious applications to the computer; performing procedures to optimise operation of the scenario during which malfunctions and/or unknown malicious applications are detected; making changes to the existing heuristic scenario of detecting malicious applications to correct the malfunctions and/or detect the unknown malicious applications; sending the changes for the existing heuristic scenario of detecting malicious applications.
EFFECT: high probability of detecting malicious applications.
12 cl, 3 dwg

Description

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

Настоящее изобретение относится к антивирусным системам, а более конкретно к способам создания и оптимизации эвристических сценариев обнаружения вредоносных приложений.The present invention relates to anti-virus systems, and more particularly to methods for creating and optimizing heuristic scripts for detecting malicious applications.

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

В настоящее время распространение вредоносного программного обеспечения (далее ПО) увеличивается, а также увеличивается и вред, который данное ПО наносит компьютерным системам. Существующие системы защиты персональных компьютеров, а также компьютеров в корпоративной сети основаны на обнаружении уже известных угроз. Однако новые угрозы появляются все чаще, и становятся необходимыми методы распознавания неизвестных угроз. С ростом коммуникационных сетей, таких как Интернет, увеличивается потребность в обмене данными, включая все более растущее использование почтовых сообщений, что, в свою очередь, приводит к увеличению частоты заражений компьютеров.Currently, the spread of malicious software (hereinafter referred to as software) is increasing, as well as the damage that this software is causing to computer systems. Existing systems for protecting personal computers, as well as computers in the corporate network, are based on the detection of already known threats. However, new threats appear more and more often, and methods for recognizing unknown threats become necessary. With the growth of communication networks such as the Internet, the need for data exchange is increasing, including the increasing use of mail messages, which, in turn, leads to an increase in the frequency of computer infections.

Под угрозами далее будут подразумеваться как различные вредоносные приложения, такие как троянские программы, сетевые черви, вирусы и другое нежелательное ПО, а также ссылки, которые ведут на веб-страницы с вредоносными программами и другим нежелательным ПО, уязвимости в лицензионном ПО и т.д. В список нежелательного ПО можно также включить приложения, предназначенные для совершения финансовых преступлений (Crimeware), отслеживания действий пользователя (Spyware), блокирующих данные или работоспособность компьютера (Ransomware). В настоящее время рост количества вредоносных приложений имеет ярко выраженный экспоненциальный вид, что определяется рядом причин, которые появились в последние годы, а именно рост количества персональных компьютеров, присоединенных к сети Интернет, в которой также происходит бурное развитие различных услуг и сервисов, что привлекает различных мошенников. В то же время возможности антивирусных компаний - как аппаратные ресурсы для обработки новых угроз, так и человеческие (эксперты по анализу угроз), достаточно ограничены и наращивать их теми же темпами, которыми растет количество угроз, невозможно. Одна из причин роста количества новых уникальных вредоносных файлов заключается в массовом развитии коммуникаций, в том числе сети Интернет, и, соответственно, быстром росте количества пользователей. Это, в свою очередь, обуславливает рост различных сервисов, которые предлагаются онлайн (в сети Интернет): интернет-банкинг, виртуальные деньги (такие как WebMoney), ведение журналов и блогов, перенос многих программных структур в веб (уже упоминавшиеся Google Apps могут служить отличным примером). Соответственно, текущее поколение так называемых компьютерных злоумышленников (т.е. людей, которые занимаются противоправной деятельностью с использованием компьютеров) активно использует свои разработки в виде вредоносных приложений и организованных сетевых атак для кражи и вымогательства финансовых средств. В последние годы их деятельность затронула не только банковскую сферу (т.н. банковские троянские программы), но и была направлена на кражу учетных записей к популярным онлайн-играм, а также на вымогательство с помощью класса приложений Trojan-Ransom (http://support.kaspersky.ru/faq/7qicN208637133). Успеху компьютерных злоумышленников и росту количества вредоносных приложений способствует ряд факторов: недостаточная защищенность многих онлайн-сервисов, несовершенство или полное отсутствие законов в ряде стран, касающихся преступлений с использованием компьютеров, а также безграмотность работающих за компьютерами людей в области компьютерной безопасности.Threats hereinafter will be understood as various malicious applications, such as trojans, network worms, viruses and other unwanted software, as well as links that lead to web pages with malicious programs and other unwanted software, licensed software vulnerabilities, etc. . In the list of unwanted software, you can also include applications designed to commit financial crimes (Crimeware), tracking user actions (Spyware), blocking data or the health of your computer (Ransomware). Currently, the increase in the number of malicious applications has a pronounced exponential form, which is determined by a number of reasons that have appeared in recent years, namely the increase in the number of personal computers connected to the Internet, in which there is also a rapid development of various services and services, which attracts various scammers. At the same time, the capabilities of anti-virus companies, both hardware resources for processing new threats, and human resources (experts in threat analysis) are quite limited and it is impossible to build them up at the same pace as the number of threats grows. One of the reasons for the increase in the number of new unique malicious files is the massive development of communications, including the Internet, and, accordingly, the rapid increase in the number of users. This, in turn, leads to the growth of various services that are offered online (on the Internet): Internet banking, virtual money (such as WebMoney), journaling and blogging, and the transfer of many software structures to the web (the already mentioned Google Apps can serve great example). Accordingly, the current generation of so-called computer attackers (that is, people who engage in illegal activities using computers) are actively using their developments in the form of malicious applications and organized network attacks to steal and extort financial means. In recent years, their activities have affected not only the banking sector (the so-called banking Trojans), but have also been aimed at stealing accounts for popular online games, as well as at extortion using the Trojan-Ransom application class (http: // support.kaspersky.ru/faq/7qicN208637133). A number of factors contribute to the success of computer attackers and the growth in the number of malicious applications: the inadequate security of many online services, the imperfection or complete absence of laws in a number of countries related to computer crimes, and the illiteracy of people working at computers in computer security.

Надо отметить, что существующие методы борьбы с вредоносными приложениями (вирусами, червями, троянскими программами и многими другими), которые, как правило, представлены сигнатурным и эвристическим обнаружением, уже практически исчерпали свой потенциал. Традиционный сигнатурный анализ по-прежнему позволяет быстро и без ошибок определить вредоносное приложение, но только в том случае, если оно известно. Сами сигнатуры постоянно обновляются (на данный момент уже ежечасно), что влечет за собой один очевидный минус - подобная защита заведомо дает некоторое время для распространения вредоносных приложений. С момента начала распространения вредоносного приложения могут пройти часы или даже дни, прежде чем антивирусная компания получит ее образец (как правило, исполняемый файл), проведет анализ, обнаружит вредоносное поведение, занесет в базу данных сигнатур и протестирует базы сигнатур перед выкладыванием их на сервер. Весь этот процесс занимает часы, при этом ситуация постоянно усугубляется тем, что не всегда удается автоматизировать все шаги приведенной схемы обнаружения вредоносного приложения.It should be noted that the existing methods of combating malicious applications (viruses, worms, trojans, and many others), which, as a rule, are represented by signature and heuristic detection, have almost exhausted their potential. Traditional signature analysis still allows you to quickly and without errors identify a malicious application, but only if it is known. The signatures themselves are constantly updated (at the moment already hourly), which entails one obvious minus - such protection certainly gives some time for the spread of malicious applications. It may take hours or even days from the moment the malicious application spreads before the antivirus company receives its sample (usually an executable file), analyzes it, detects malicious behavior, stores it in the signature database, and tests the signature databases before uploading it to the server. This whole process takes hours, while the situation is constantly aggravated by the fact that it is not always possible to automate all the steps of the above malware detection scheme.

Эвристический анализ (http://support.kaspersky.ru/kis2012/tech?qid=208640579) основан на поиске характерных для вредоносных приложений особенностей (фрагментов программного кода, определенных ключей реестра, имен файлов или процессов), однако отладка каждого эвристического сценария проверки занимает длительное время, а, кроме того, всегда остается риск ошибок (ложных срабатываний). Сама же эффективность эвристических методов обнаружения не превышает 60-70% (процент обнаружения неизвестных угроз на момент их появления).Heuristic analysis (http://support.kaspersky.com/kis2012/tech?qid=208640579) is based on the search for features specific to malicious applications (fragments of program code, specific registry keys, file names or processes), but debugging of each heuristic scan script takes a long time, and, in addition, there is always the risk of errors (false positives). The very effectiveness of heuristic detection methods does not exceed 60-70% (the percentage of detection of unknown threats at the time of their appearance).

В случае заражения компьютера вредоносным приложением предусмотрены частные персональные решения устранения вредоносного приложения для каждого компьютера. Такое персональное решение строится на сервере антивирусной компании на основе служебной информации о зараженной системе, передаваемой компьютером пользователя на сервер. Представленное решение является индивидуальным и предназначено для решения конкретной проблемы, возникшей на компьютере пользователя. Такое создание решения на основе заранее известных шаблонов раскрывается в патенте US7346928, где описывается система, состоящая из сервера, который получает запросы от множества клиентов на проверку файлов на вирусы. Существуют также системы, которые сначала создают сценарий исследования зараженного компьютера, и на основании исследования создается сценарий лечения. В патенте US7093239 описывается система анализа компьютера, созданная для обнаружения вредоносного кода. Система создает и последовательно анализирует шаблон поведения для каждого приложения, установленного на компьютере, для выявления приложений с вредоносным поведением. Однако предлагаемые решения могут создавать большую нагрузку на сеть из-за большого количества клиентов и растущего количества нового ПО, которое требуется анализировать.If a computer is infected with a malicious application, private personal solutions for eliminating the malicious application for each computer are provided. Such a personal solution is built on the server of the anti-virus company on the basis of service information about the infected system transmitted by the user's computer to the server. The presented solution is individual and designed to solve a specific problem that arose on the user's computer. Such creation of a solution based on previously known patterns is disclosed in US7346928, which describes a system consisting of a server that receives requests from multiple clients to scan files for viruses. There are also systems that first create a script for examining an infected computer, and based on the research, a treatment script is created. US7093239 describes a computer analysis system designed to detect malicious code. The system creates and sequentially analyzes the behavior pattern for each application installed on the computer to identify applications with malicious behavior. However, the proposed solutions can create a large load on the network due to the large number of clients and the growing number of new software that needs to be analyzed.

Анализ предшествующего уровня техники показал, что разработанные технологии не рассчитаны на высокий темп роста числа нового ПО и, как следствие, неспособны обеспечить высокий уровень обнаружения вредоносных приложений. Новый подход к применению эвристических алгоритмов позволяет повысить уровень обнаружения вредоносных приложений путем создания и оптимизации эвристических сценариев обнаружения вредоносных приложений.An analysis of the prior art showed that the developed technologies are not designed for a high growth rate of the number of new software and, as a result, are unable to provide a high level of detection of malicious applications. A new approach to the use of heuristic algorithms allows to increase the level of detection of malicious applications by creating and optimizing heuristic scenarios for detecting malicious applications.

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

Технический результат настоящего изобретения заключается в повышении уровня обнаружения вредоносных приложений путем создания и оптимизации эвристических сценариев обнаружения вредоносных приложений.The technical result of the present invention is to increase the level of detection of malicious applications by creating and optimizing heuristic scenarios for detecting malicious applications.

Согласно одному из вариантов реализации предлагается способ создания и оптимизации эвристических сценариев обнаружения вредоносных приложений, содержащий этапы, на которых: производят анализ компьютера на наличие вредоносных приложений, при этом сохраняют результаты анализа в журнал проверки; отправляют журнал проверки на анализ; создают эвристический сценарий обнаружения вредоносных приложений на основании анализа журнала проверки и отправляют сформированный эвристический сценарий обнаружения вредоносных приложений на компьютер; выполняют действия по оптимизации работы сценария, во время которых производят обнаружение ложных срабатываний и/или неизвестных вредоносных приложений; вносят изменения в существующий эвристический сценарий обнаружения вредоносных приложений для исправления ложных срабатываний и/или обнаружения неизвестных вредоносных приложений; отправляют изменения для существующего эвристического сценария обнаружения вредоносных приложений.According to one implementation option, a method is proposed for creating and optimizing heuristic scripts for detecting malicious applications, comprising the steps of: analyzing the computer for malicious applications, while saving the analysis results to a scan log; send a check log for analysis; create a heuristic script for detecting malicious applications based on the analysis of the scan log and send the generated heuristic script for detecting malicious applications to the computer; perform actions to optimize the script, during which they detect false positives and / or unknown malicious applications; make changes to the existing heuristic script for detecting malicious applications to fix false positives and / or detect unknown malicious applications; send changes to an existing heuristic malware detection script.

В одном из частных вариантов реализации журнал проверки содержит все результаты анализа компьютера на наличие вредоносных приложений, если анализ производится в первый раз.In one of the private embodiments, the check log contains all the results of the analysis of the computer for malicious applications, if the analysis is performed for the first time.

В еще одном из частных вариантов реализации журнал проверки содержит только информацию о ложных срабатываниях и неизвестном подозрительном ПО, которое было обнаружено с помощью эвристических сценариев обнаружения, если анализ производится во второй или последующие разы.In yet another private embodiment, the verification log contains only information about false positives and unknown suspicious software that was detected using heuristic detection scripts if the analysis is performed for the second or subsequent times.

В другом частном варианте реализации журнал проверки отправляется более чем с одного компьютера из одной локальной сети.In another particular embodiment, the verification log is sent from more than one computer from the same local network.

В одном из частных вариантов реализации журнал проверки отправляется только с одного компьютера из одной локальной сети, если компьютеры в сети одной и той же конфигурации и журналы проверки совпадают.In one particular embodiment, the scan log is sent from only one computer from the same local network if the computers in the network of the same configuration and the scan logs match.

В еще одном из частных вариантов реализации повторная отправка эвристических сценариев обнаружения не происходит целиком, а лишь высылаются изменения в самих сценариях.In another private implementation, the resending of heuristic detection scripts does not occur entirely, but only the changes in the scripts themselves are sent.

В другом частном варианте реализации эвристические сценарии разделяются на общие и частные.In another particular embodiment, heuristic scenarios are divided into general and particular.

В одном из частных вариантов реализации общие эвристические сценарии могут быть использованы в случае вирусных эпидемий на большом количестве компьютеров, зараженных разными модификациями одних и тех же вредоносных приложений.In one of the private options for implementation, general heuristic scenarios can be used in case of virus outbreaks on a large number of computers infected with different modifications of the same malicious applications.

В еще одном из частных вариантов реализации частные эвристические сценарии могут быть использованы для обнаружения вредоносных приложений на отдельных компьютерах.In yet another private embodiment, private heuristic scripts can be used to detect malicious applications on individual computers.

В другом частном варианте реализации журнал проверки содержит метаданные вредоносных приложений.In another private embodiment, the scan log contains metadata of malicious applications.

В одном из частных вариантов реализации метаданными могут быть, по меньшей мере, ключи автозапуска, CLSID, имена системных служб и драйверов, имена файлов.In one particular embodiment, the metadata may be at least autorun keys, CLSIDs, system service and driver names, file names.

В еще одном из частных вариантов реализации обнаружение ложных срабатываний происходит с помощью сравнения метаданных вредоносных приложений в журнале проверки с метаданными безопасных объектов.In yet another particular embodiment, the detection of false positives occurs by comparing the metadata of malicious applications in the scan log with the metadata of safe objects.

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

Фиг.1 отображает систему для лечения компьютеров от вредоносных приложений.Figure 1 depicts a system for treating computers from malicious applications.

Фиг.2 отображает способ работы настоящего изобретения.2 depicts a method of operation of the present invention.

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

Осуществление изобретенияThe implementation of the invention

Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, она может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.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.

Настоящее изобретение решает задачу нахождения как можно большего количества вредоносного ПО с помощью использования эвристических методов обнаружения, сохраняя при этом минимальный уровень ложных срабатываний и не нагружая сетевой канал чрезмерным количеством обращений к серверу провайдера антивирусных услуг. Стоит отметить, что в настоящее время большая часть ПО является легитимной и, соответственно, безопасной. Таким образом, требуется накопление статистических данных о безопасном (проверенном) ПО для последующего выявления признаков, с помощью которых можно будет исключить как настоящее, так и будущее безопасное ПО из эвристической проверки. С другой стороны, для обнаружения современного вредоносного ПО требуется иметь методы обнаружения, которые позволяют обнаруживать его в 100% случаях, охватывая при этом как существующие версии вредоносного ПО, так и будущие.The present invention solves the problem of finding as much malware as possible by using heuristic detection methods, while maintaining a minimum level of false positives and not loading the network channel with an excessive number of calls to the server of the anti-virus service provider. It is worth noting that at present most of the software is legitimate and, accordingly, safe. Thus, the accumulation of statistics on safe (verified) software is required for the subsequent identification of signs by which it will be possible to exclude both present and future safe software from heuristic checking. On the other hand, the detection of modern malware requires detection methods that allow it to be detected in 100% of cases, covering both existing versions of the malware and future ones.

Фиг.1 отображает систему для лечения компьютеров от вредоносных приложений. Для решения данной задачи на пользовательских компьютерах 100, на которых может быть найдено вредоносное ПО, проводится проверка с помощью средства проверки (не отображено). Проверка может быть выполнена с помощью известных методов анализа, например метода, описанного в патенте US7540030. Как итог подобной проверки средство проверки получает журнал проверки, в котором записана информация о найденном вредоносном ПО и последствиях его работы. Помимо вредоносного ПО в журнал проверки могут быть занесены и неизвестные (подозрительные) приложения, которые проявляют или проявляли активность, похожую на активность вредоносных приложений (подозрительная активность), как, например, установка в silent режиме (без запросов пользователя и без вывода какой-либо информации на экран), добавление имени файла в список автозапуска при загрузке ОС, запись/изменение файлов в системных папках и т.д. Средство проверки может создавать журнал проверки как в заданный момент времени (например, по требованию пользователя или периодически), так и постоянно пополнять журнал проверки по мере отслеживания системных событий. В журнал проверки включаются такие данные, как: созданные/измененные файлы, созданные/измененные ключи реестра, информация о сетевых соединениях, загруженные библиотеки (такие как DLLs), драйверы, модули расширения, информация об операционной системе (ОС), установленной на компьютере 100 и т.д. Информация может быть доступна с разной степенью детализации, например, в одном из вариантов реализации данные о файлах включают только хеш-суммы файлов, в то время как в другом варианте реализации данные могут включать метаданные о файле, такие как: имя файла, время последнего изменения файла, время линковки, цифровая подпись файла, тип файла, путь размещения файла, атрибуты «только чтение», «архивный», «скрытый», «системный» и т.д.Figure 1 depicts a system for treating computers from malicious applications. To solve this problem, on user computers 100 on which malware can be found, a check is carried out using a scan tool (not displayed). Verification can be performed using known analysis methods, for example, the method described in US7540030. As a result of such a scan, the scan tool receives a scan log that records information about the malware found and the consequences of its operation. In addition to malware, unknown (suspicious) applications that display or display activity similar to that of malicious applications (suspicious activity), such as installing in silent mode (without user requests and without any information on the screen), adding a file name to the startup list when the OS boots, writing / changing files in system folders, etc. The scan tool can create a scan log both at a given point in time (for example, at the request of the user or periodically), and constantly replenish the scan log as system events are tracked. The verification log includes data such as: created / modified files, created / changed registry keys, information about network connections, loaded libraries (such as DLLs), drivers, expansion modules, information about the operating system (OS) installed on computer 100 etc. Information may be available with varying degrees of detail, for example, in one embodiment, file data includes only hash sums of files, while in another embodiment, data may include file metadata, such as: file name, last modified time file, link time, digital signature of the file, file type, file location path, read-only, archive, hidden, system, etc. attributes

В качестве подозрительной активности можно привести следующий пример: если приложение Internet Explorer пользователя имеет неизвестную панель инструментов, и контрольная сумма такого исполняемого файла Internet Explorer отличается от контрольной суммы стандартного исполняемого файла Internet Explorer, и он также не соответствует какой-либо действительной записи базе данных безопасного ПО, тогда информация об этой версии Internet Explorer будет помещена в журнал проверки. Однако эта строка инструментов может быть пробной версией продукта стороннего производителя, который не представляет какой-либо вредоносный код, но для такого определения как раз и требуется дополнительный анализ.The following example can be cited as suspicious activity: if the user's Internet Explorer application has an unknown toolbar, and the checksum of such an Internet Explorer executable file is different from the checksum of the standard Internet Explorer executable file, and it also does not correspond to any valid record in the safe database Software, then information about this version of Internet Explorer will be placed in the audit log. However, this line of tools may be a trial version of a third-party product that does not represent any malicious code, but such an analysis requires additional analysis.

Полученные от компьютеров 100 журналы проверки попадают на средство 110 анализа журналов, которое обрабатывает получаемые журналы проверки в зависимости от различных параметров, таких как: тип операционной системы, установленной на компьютере 100; IP-адрес компьютера 100 (дополнительно также с указанием региона); время формирования журнала проверки; информация о наличии у пользователя прав администратора; сведения о установленном антивирусном ПО и актуальности его баз и т.д. Приведенные данные могут быть необходимы для формирования наиболее эффективных эвристических сценариев обнаружения для использования у пользователей из определенных регионов, которые могли столкнуться с эпидемией неизвестного вредоносного ПО. Описанная информация вместе с самим журналом проверки сохраняется в базе данных журналов 120.The verification logs received from computers 100 go to the log analysis tool 110, which processes the received verification logs depending on various parameters, such as: the type of operating system installed on the computer 100; The IP address of the computer 100 (optionally also indicating the region); time of formation of the audit log; information about the user having administrator rights; information about installed anti-virus software and the relevance of its databases, etc. The above data may be necessary for the formation of the most effective heuristic detection scenarios for use by users from certain regions who might encounter an epidemic of unknown malware. The information described along with the audit log itself is stored in the log database 120.

Информация из базы данных журналов 120 используется средством 130 создания эвристических сценариев, которое создает эвристические сценарии обнаружения вредоносного ПО, которые будут использованы на компьютерах 100. Для того чтобы избежать большого количества ложных срабатываний, а также повысить эффективность обнаружения вредоносного ПО, используются база данных 150 вредоносных объектов и база данных 140 безопасных объектов. Приведенные базы данных содержат информацию об известном вредоносном ПО (база данных 150 вредоносных объектов), так и обо всем легитимном, т.е. безопасном ПО (база данных 140 безопасных объектов). Подобная информация включает метаданные о файлах (хеш-сумма, размер, название и т.д.), так и более подробную информацию о том, как функционирует то или иное приложение: какие создает/изменяет файлы на диске, создает/изменяет ключи реестра, устанавливает соединения и т.д. Эта информация необходима для сравнения ее с информацией из журнала проверки для того, чтобы можно было, во-первых, исключить те данные, которые относятся к работе безопасного ПО, во-вторых, для выявления информации, которая относится к вредоносному ПО и последствиям его работы. База данных 140 безопасных объектов необходима для того, чтобы исключать из эвристических сценариев процедуры обнаружения объектов, которые относятся к безопасному ПО, исключая тем самым ложные срабатывания.The information from the log database 120 is used by the heuristic scripting engine 130, which creates heuristic malware detection scripts that will be used on computers 100. In order to avoid a large number of false positives and also increase the efficiency of malware detection, a malware database of 150 is used objects and a database of 140 safe objects. These databases contain information about known malware (a database of 150 malicious objects), as well as everything legitimate, i.e. safe software (database of 140 safe objects). Such information includes metadata about files (hash sum, size, name, etc.), as well as more detailed information about how an application works: which creates / modifies files on a disk, creates / modifies registry keys, establishes connections, etc. This information is necessary for comparing it with information from the scan log so that, firstly, it is possible to exclude data that relate to the operation of safe software, and secondly, to identify information that relates to malware and the consequences of its operation . A database of 140 safe objects is necessary in order to exclude from the heuristic scripts procedures for detecting objects that are related to safe software, thereby eliminating false positives.

Информация о вредоносном ПО пополняется путем анализа работы или эмуляции этих приложений на тестовых компьютерах или виртуальных машинах (таких как VirtualPC или VMWare) с последующим аккумулированием всех изменений в ОС и сведений о поведении изучаемого приложения. Информация о безопасном ПО может собираться аналогичным образом, а также предоставляться самими поставщиками этого ПО (т.е. такими компаниями, как Microsoft, Google, Adobe и т.д.) или автоматически собираться с известных сайтов, распространяющих ПО и/или различные обновления к ПО. Кроме того, как для вредоносного ПО, так и для безопасного определяются характерные признаки, которые могут быть использованы для определения еще неизвестных приложений - как вредоносных, так и безопасных.Information about malware is replenished by analyzing the operation or emulation of these applications on test computers or virtual machines (such as VirtualPC or VMWare), followed by the accumulation of all changes in the OS and information about the behavior of the studied application. Information about safe software can be collected in a similar way, as well as provided by the suppliers of this software (i.e. companies such as Microsoft, Google, Adobe, etc.) or automatically collected from well-known sites that distribute software and / or various updates. to software. In addition, both malicious and safe malware identify characteristic features that can be used to identify yet unknown applications - both malicious and safe.

На основании имеющейся в базе данных 150 вредоносных объектов информации о вредоносном ПО можно корректировать существующие способы обнаружения подобного ПО. Один из примеров подобных способов рассматривается в патенте US 7530106, в котором раскрывает способ присвоения специального рейтинга опасности для каждого исполняемого процесса. С помощью специальной системы правил каждый процесс набирает определенный рейтинг, на основе которого на процесс будут накладываться ограничения, определяемые HIPS-политикой. На основании собранных из журналов проверки сведений выделяется информация, которая относится к определенному вредоносному ПО - например, тому, которое изменяет определенные системные файлы. Рейтинг опасности для такого ПО может быть выставлен в 100% при совпадении метаданных с теми, что были записаны в правиле (например, для однозначной идентификации могут использоваться CLSID). Идентификация вредоносного ПО, как правило, происходит по файлам и ключам реестра, которые требуется удалить, поместить в карантин или восстановить прежнюю незараженную копию (в том случае, если вредоносное ПО изменило важные системные объекты).Based on the malware information in the database of 150 malicious objects, existing methods for detecting such software can be adjusted. One example of such methods is discussed in US Pat. No. 7,531,006, which discloses a method for assigning a specific hazard rating to each executable process. Using a special system of rules, each process gains a certain rating, based on which the process will be subject to restrictions determined by the HIPS policy. Based on the information gathered from the audit logs, information is released that relates to a specific malware - for example, one that modifies certain system files. The hazard rating for such software can be set at 100% if metadata coincides with those recorded in the rule (for example, CLSID can be used for unambiguous identification). Identification of malware usually takes place according to files and registry keys that need to be deleted, quarantined or restored to the previous uninfected copy (in the event that the malware has changed important system objects).

Средство 130 создания эвристических сценариев использует базу данных 120 журналов для того, чтобы разрабатывать как общие эвристические сценарии, так и частные. Общие сценарии могут быть использованы в случае вирусных эпидемий на большом количестве компьютеров, зараженных разными модификациями одного и того же вредоносного ПО. Также общие сценарии могут быть использованы в корпоративных сетях с большим количеством компьютеров с одинаковой программно-аппаратной частью. Частные сценарии могут быть использованы для обнаружения вредоносного ПО на отдельных компьютерах.The heuristic scripting engine 130 uses a database of 120 logs to develop both general heuristic scripts and private ones. Common scenarios can be used in case of virus outbreaks on a large number of computers infected with different modifications of the same malware. Also, common scenarios can be used in corporate networks with a large number of computers with the same hardware and software. Private scripts can be used to detect malware on individual computers.

Можно привести следующие примеры формирования как общих, так и частных эвристических сценариев обнаружения.The following examples of the formation of both general and private heuristic detection scenarios can be given.

Пример частного сценария для обнаружения конкретного вредоносного ПО:Example private scenario for detecting specific malware:

beginbegin

AddEvAlarmByCLSID(′4E1075F4-EEC4-4A86-ADD7-CD5F52858C31′,AScriptName,′2020search.dll′);AddEvAlarmByCLSID (′ 4E1075F4-EEC4-4A86-ADD7-CD5F52858C31 ′, AScriptName, ′ 2020search.dll ′);

AddEvAlarmByCLSID(′FC2493D6-A673-49FE-A2EE-EFE03E95C27C′,AScriptName,′2020search.dll′);AddEvAlarmByCLSID (′ FC2493D6-A673-49FE-A2EE-EFE03E95C27C ′, AScriptName, ′ 2020search.dll ′);

end.end.

В этом случае сценарий был получен следующим образом:In this case, the script was obtained as follows:

1. В карантин на одном из компьютеров 100 попадает потенциально вредоносный файл ′2020search.dll′, после чего информация о нем попадает на средство ПО анализа журналов и после обработки этой информации в базу данных 120 журналов.1. A potentially malicious file 2020search.dll gets into quarantine on one of the computers 100, after which the information about it falls into the log analysis software and, after processing this information, into the database of 120 logs.

2. Вредоносность файла подтверждается статистикой (т.е. такой файл встречается не первый раз на компьютерах 100, при этом информации о таком файле нет в базе данных 140 безопасных объектов и т.п.).2. File maliciousness is confirmed by statistics (that is, such a file is not found for the first time on computers 100, and there is no information about such a file in the database of 140 safe objects, etc.).

3. Средство 130 создания эвристических сценариев выделяет характерные признаки данного файла. В данном примере характерными признаками являются имя файла и CLSID его класса.3. Tool 130 create heuristic scripts highlights the characteristic features of this file. In this example, the characteristic features are the file name and CLSID of its class.

4. Производиться контроль ложных срабатываний - проверка отсутствия CLSID в базе данных 140 безопасных объектов.4. False positives are monitored - verification of the absence of CLSIDs in the database of 140 safe objects.

5. После этого создается вышеобозначенный сценарий.5. After that, the above scenario is created.

Подобный сценарий хорошо подходит для распространенного вредоносного ПО, которое можно безошибочно поименовать и классифицировать.Such a scenario is well suited for common malware that can be accurately named and classified.

Пример общего эвристического сценария обнаружения вредоносного ПО:An example of a common heuristic malware detection scenario:

varvar

FPath: string;FPath: string;

procedure X(AName: string); beginprocedure X (AName: string); begin

AddEvAlarmByName(FPath+AName, AScriptName, AName);AddEvAlarmByName (FPath + AName, AScriptName, AName);

end;end;

beginbegin

FPath:=NormalDir(′%SysDisk%\′);FPath: = NormalDir (′% SysDisk% \ ′);

X(′zpharaoh.exe′);X (′ zpharaoh.exe ′);

X(′winstall.exe′);X (′ winstall.exe ′);

X(′md.exe′);X (′ md.exe ′);

X(′lsass.exe′);X (′ lsass.exe ′);

...

X(′luklylq.com′);X (′ luklylq.com ′);

EndEnd

В данном случае происходит кластеризация по метаданным. Основной подход выглядит следующим образом:In this case, metadata clustering occurs. The basic approach is as follows:

1. Берется за основу один из типов метаданных (например - имя файла, находящегося в характерной папке), и делается выборка вредоносных объектов (файлов) с группировкой и подсчетом статистики. Если обнаруживается N файлов с совпадающими метаданными - это потенциальный элемент для сценария (второй фактор - как хорошо определяется подобный файл - если он встречается редко, но плохо поддается обнаружению и часто пропускается при анализе - значит, требуется создание сценария).1. One of the types of metadata is taken as a basis (for example, the name of a file located in a characteristic folder), and a selection of malicious objects (files) is done with grouping and statistics counting. If N files with matching metadata are detected, this is a potential element for the script (the second factor is how well a similar file is defined - if it is rare, but difficult to detect and often skipped during analysis, it means that a script is required).

2. Делается контрольная проверка - не встречались ли легитимные файлы (безопасные объекты) с такими метаданными - если да, то использовать этот тип метаданных для сценария нельзя. В такой ситуации или используются дополнительные метаданные, или принимается решение о том, что данную разновидность вредоносного приложения по метаданным обнаружить невозможно без риска ложного срабатывания. Пример - вредоносное приложение, подменяющее собой легитимный системный файл.2. A check is made to see if legitimate files (safe objects) have met with such metadata - if so, then this type of metadata cannot be used for the script. In this situation, either additional metadata is used, or a decision is made that it is impossible to detect this kind of malicious application by metadata without the risk of a false positive. An example is a malicious application replacing a legitimate system file.

Часто используемые метаданные в данном случае - ключи автозапуска, CLSID, имена системных служб и драйверов, имена файлов. В данном примере можно трактовать подозрение md.exe как: "известны случаи, когда на ПК пострадавшего в корне системного диска обнаруживался пропущенный антивирусом файл md.exe, который после обнаружения был признан вредоносным. Это распространенное явление, известных чистых объектов (файлов) с таким именем и местоположением не найдено".Often used metadata in this case are autorun keys, CLSID, names of system services and drivers, file names. In this example, you can interpret the suspicion of md.exe as: "there are cases when the md.exe file that was missing by the antivirus was detected on the PC of the victim in the root of the system drive, which was found to be malicious after detection. This is a common occurrence of known clean objects (files) with name and location not found. "

Пример по другому типу метаданных - CLSID:An example for another type of metadata is the CLSID:

procedure CC(S: string);procedure CC (S: string);

beginbegin

AddEvAlarmByCLSID(S, AScriptName,");AddEvAlarmByCLSID (S, AScriptName, ");

end;end;

beginbegin

CC(′408BD6C-6563-4EA7-8656-9D55DD65AlA′);CC (′ 408BD6C-6563-4EA7-8656-9D55DD65AlA ′);

CC(′00000012-890E-4AAC-AFD9-EFF6954A34DD′);CC (′ 00000012-890E-4AAC-AFD9-EFF6954A34DD ′);

CC(′00000231-1000-0010-8000-00AA006D2EA4′);CC (′ 00000231-1000-0010-8000-00AA006D2EA4 ′);

CC(′00000EFl-0786-4633-87C6-lAA7A44296DA′);CC (′ 00000EFl-0786-4633-87C6-lAA7A44296DA ′);

- и таких 350 штук- and such 350 pieces

CC(′FFB51760-344E-4FFB-BFFF-4B18C7AC1D63′);CC (′ FFB51760-344E-4FFB-BFFF-4B18C7AC1D63 ′);

CC(′FFF5092F-7172-4018-827B-FA5868FB0478′);CC (′ FFF5092F-7172-4018-827B-FA5868FB0478 ′);

CC(′FFFC57DB-1DE3-4303-B24D-CEE6DCDD3D86′);CC (′ FFFC57DB-1DE3-4303-B24D-CEE6DCDD3D86 ′);

CC(′FFFFE708-B832-42F1-BAFF-247753B5E452′);CC (′ FFFFE708-B832-42F1-BAFF-247753B5E452 ′);

end.end.

Источник данных для создания таких скриптов - базы данных 120, 150 и 140. Стоит отметить, что любая информация, поступившая с компьютеров 100, обогащает данные базы, так же как и обнаружение любого ложного срабатывания.The data source for creating such scripts is databases 120, 150 and 140. It is worth noting that any information received from computers 100 enriches the database data, as well as the detection of any false positives.

Другой пример - обнаружение ActiveSetup записей реестра, которые некоторые вредоносные объекты применяют как необычную форму автозапуска:Another example is ActiveSetup detection of registry entries that some malicious objects use as an unusual form of autorun:

procedure CA(S: string);procedure CA (S: string);

varvar

Tmp: string;Tmp: string;

beginbegin

Tmp:=RegKeyStrParamRead(′HKLM′, ′Software\Microsoft\Active Setup\Installed Components\′+S, ′StubPath′);Tmp: = RegKeyStrParamRead (′ HKLM ′, ′ Software \ Microsoft \ Active Setup \ Installed Components \ ′ + S, ′ StubPath ′);

if Tmpo<>′′thenif Tmpo <> ′ ′ then

AddEvAlarmByName(Tmp, AScriptName, ExtractFileName(Tmp));AddEvAlarmByName (Tmp, AScriptName, ExtractFileName (Tmp));

end;end;

beginbegin

CA(′198BCB9E-A95B-45FF-A89D-5FC22623446C′);CA (′ 198BCB9E-A95B-45FF-A89D-5FC22623446C ′);

CA(′B38B32A2-D4EB-A6D8-14AB-38ACD8369E3E′);CA (′ B38B32A2-D4EB-A6D8-14AB-38ACD8369E3E ′);

CA(′QPYMQQFS′);CA (′ QPYMQQFS ′);

CA(′{007C0E62-16F7-14AD-4EFB-405E87659967}′);CA (′ {007C0E62-16F7-14AD-4EFB-405E87659967} ′);

CA(′{H9I12RB03-АВ-В70-7-11D2-9CBD-0000FS7AH6-9E2121BHJLK}′);CA (′ {H9I12RB03-AB-B70-7-11D2-9CBD-0000FS7AH6-9E2121BHJLK} ′);

...

endend

После того как эвристические сценарии обнаружения были выработаны и переданы на компьютеры 100, они могут быть исполнены, и результаты их работы проверены в соответствии со списками известного вредоносного (blacklist) и безопасного (whitelist) ПО, чтобы удостовериться в правильности выполнения эвристических сценариев. В том случае, если эвристические сценарии были составлены правильно, то их выполнение позволит вылечить компьютеры 100 от всего имеющегося вредоносного ПО, не затронув безопасное ПО. Однако этот идеальный результат чаще всего невозможно достигнуть по ряду причин:After the heuristic detection scripts have been developed and transferred to computers 100, they can be executed and the results of their work checked in accordance with the lists of known malicious (blacklist) and safe (whitelist) software to make sure that the heuristic scripts are executed correctly. In the event that heuristic scenarios were compiled correctly, their execution will allow curing computers 100 of all existing malware without affecting safe software. However, this ideal result is most often impossible to achieve for a number of reasons:

- постоянно появляется новое вредоносное ПО;- New malware is constantly appearing;

- постоянно появляется новое безопасное ПО, а также постоянно обновляется уже известное безопасное ПО;- New safe software is constantly appearing, and the already known safe software is constantly being updated;

- как правило, эвристические методы обнаружения не обеспечивают 100% обнаружения неизвестного вредоносного ПО без возникновения ложных срабатываний.- as a rule, heuristic detection methods do not provide 100% detection of unknown malware without the occurrence of false positives.

Для решения данных проблем требуется постоянная доработка эвристических сценариев обнаружения. Однако при постоянной работе вышеописанной схемы каналы связи могут быть перегружены информацией с журналами проверки, а также эвристическими сценариями, что особенно актуально для большого количества компьютеров 100. Для решения этой проблемы используются следующие подходы:To solve these problems, constant updating of heuristic detection scenarios is required. However, with the constant operation of the above-described scheme, the communication channels can be overloaded with information from the verification logs, as well as heuristic scripts, which is especially true for a large number of computers 100. The following approaches are used to solve this problem:

- получение полного журнала проверки от компьютера 100 происходит только в первый раз, в дальнейшем пересылается лишь информация о ложных срабатываниях и неизвестном подозрительном ПО, которое было обнаружено с помощью эвристических сценариев обнаружения;- receiving a complete verification log from computer 100 occurs only for the first time, in the future only information about false positives and unknown suspicious software that was detected using heuristic detection scripts is sent;

- в корпоративных сетях возможно отправлять журналы проверки не от каждого компьютера одной и той же конфигурации, а только от одного в том случае, если журналы совпадают;- in corporate networks, it is possible to send verification logs not from each computer of the same configuration, but only from one if the logs match;

- повторная отправка эвристических сценариев обнаружения не происходит целиком, а лишь высылаются изменения в самих сценариях (difference).- re-sending heuristic detection scripts does not occur entirely, but only the changes in the scripts themselves are sent (difference).

Фиг.2 отображает способ работы настоящего изобретения. На этапе 210 происходит анализ компьютера 100 на наличие вредоносных приложений, формирование журнала проверки и его отправка на средство 110 анализа журналов. На этапе 220 средство 110 анализа журналов выполняет анализ полученного журнала проверки и записывает результаты анализа в базу данных 120 журналов. На этапе 225 определяется, был ли анализ выполнен впервые или нет. В случае положительного ответа на этапе 230 создается эвристический сценарий обнаружения с помощью средства 130 создания эвристических сценариев. В одном из вариантов реализации эвристический сценарий обнаружения создается на основании более чем одного журнала проверки, что позволяет создать более универсальный эвристический сценарий обнаружения, который сможет устранить вредоносные приложения на более чем одном компьютере. Также в еще одном из вариантов реализации на этапе 230 выбирается уже заранее созданный эвристический сценарий обнаружения, который был разработан на основании уже собранных ранее журналов проверки, полученных с других компьютеров 100. На этапе 240 происходит отправка эвристического сценария обнаружения на компьютер 100 с его последующим выполнением.2 depicts a method of operation of the present invention. At step 210, the computer 100 is analyzed for malicious applications, the verification log is generated and sent to the log analysis tool 110. At step 220, the log analysis tool 110 analyzes the resulting verification log and writes the analysis results to a database of 120 logs. At step 225, it is determined whether the analysis was performed for the first time or not. If the answer is yes, at step 230 a heuristic detection script is created using the heuristic scripting tool 130. In one embodiment, a heuristic detection script is created based on more than one scan log, which allows creating a more universal heuristic detection script that can eliminate malicious applications on more than one computer. Also, in another embodiment, at step 230, a pre-created heuristic detection script is selected, which was developed based on previously collected verification logs received from other computers 100. At step 240, a detection heuristic script is sent to computer 100 and then executed .

Если на этапе 225 было обнаружено, что анализ выполнялся уже не в первый раз, то на этапе 250 происходит обнаружение ложных срабатываний и/или неизвестного вредоносного ПО, которое может присутствовать на компьютере 100. Далее на этапе 260 определяется, были ли обнаружены похожие ложные срабатывания и/или неизвестное вредоносное ПО у большого количества пользователей. В различных вариантах реализации под количеством пользователей могут восприниматься различные значения: при анализе небольшого количества компьютеров это может быть значение больше одного, но в рамках рассмотрения миллионов компьютеров оно может составлять десятки. Если было решено, что ложные срабатывания и/или неизвестное вредоносное ПО обнаружено на небольшом количестве компьютеров, то на этапе 270 для них создается новый эвристический сценарий обнаружения, в противном случае на этапе 280 дорабатывается уже существующий эвристический сценарий обнаружения. На этапе 290 происходит отправка эвристического сценария обнаружения на компьютер 100 с его последующим выполнением. Стоит отметить, что повторная отправка эвристических сценариев обнаружения не происходит целиком, а лишь высылаются изменения в самих сценариях (difference).If at step 225 it was found that the analysis was not carried out for the first time, then at step 250 there is a detection of false positives and / or unknown malware that may be present on the computer 100. Next, at step 260, it is determined whether similar false positives were detected and / or unknown malware from a large number of users. In various implementations, the number of users can be understood as different values: when analyzing a small number of computers, this may be more than one value, but in the framework of the consideration of millions of computers, it can be tens. If it was decided that false positives and / or unknown malware were detected on a small number of computers, then at step 270 a new heuristic detection script is created for them; otherwise, at step 280, an existing heuristic detection script is finalized. At step 290, a heuristic detection script is sent to computer 100, and then executed. It is worth noting that the resending of heuristic detection scenarios does not occur entirely, but only changes in the scenarios themselves (difference) are sent.

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

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

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

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

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

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local area network 50 via a network adapter or network interface 51. When using the networks, the personal computer 20 may use a modem 54 or other means of providing communication with a global computer network such as the Internet. The modem 54, which is an internal or external device, is connected to the system bus 23 via the serial port 46. It should be clarified that the network connections are only exemplary and are not required to display the exact network configuration, i.e. in reality, there are other ways to establish a technical connection between one computer and another.

Настоящее описание излагает основной изобретательский замысел автора, который не может быть ограничен теми аппаратными устройствами, которые упоминались ранее. Следует отметить, что аппаратные устройства прежде всего предназначены для решения узкой задачи. С течением времени и с развитием технического прогресса такая задача усложняется или эволюционирует. Появляются новые средства, которые способны выполнить новые требования. В этом смысле следует рассматривать данные аппаратные устройства с точки зрения класса решаемых ими технических задач, а не чисто технической реализации на некой элементной базе.The present description sets forth the main inventive concept of the author, which cannot be limited to those hardware devices that were mentioned earlier. It should be noted that hardware devices are primarily designed to solve a narrow problem. Over time and with the development of technological progress, such a task becomes more complicated or evolves. New tools are emerging that are able to fulfill new requirements. In this sense, these hardware devices should be considered from the point of view of the class of technical problems they solve, and not purely technical implementation on a certain elemental base.

В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.In conclusion, it should be noted that the information provided in the description are examples that do not limit the scope of the present invention defined by the claims. 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 (12)

1. Способ создания и оптимизации эвристических сценариев обнаружения вредоносных приложений, содержащий этапы, на которых:
а) производят анализ компьютера на наличие вредоносных приложений, при этом сохраняют результаты анализа в журнал проверки;
б) отправляют журнал проверки на анализ;
в) создают эвристический сценарий обнаружения вредоносных приложений на основании анализа журнала проверки и отправляют сформированный эвристический сценарий обнаружения вредоносных приложений на компьютер;
г) выполняют действия по оптимизации работы сценария:
i. производят обнаружение ложных срабатываний и/или неизвестных вредоносных приложений;
ii. вносят изменения в существующий эвристический сценарий обнаружения вредоносных приложений для исправления ложных срабатываний и/или обнаружения неизвестных вредоносных приложений;
iii. отправляют изменения для существующего эвристического сценария обнаружения вредоносных приложений.
1. A method for creating and optimizing heuristic scripts for detecting malicious applications, comprising the steps of:
a) analyze the computer for malicious applications, while saving the results of the analysis in the audit log;
b) send a check log for analysis;
c) create a heuristic script for detecting malicious applications based on the analysis of the scan log and send the generated heuristic script for detecting malicious applications to the computer;
g) perform actions to optimize the script:
i. detect false positives and / or unknown malicious applications;
ii. make changes to the existing heuristic script for detecting malicious applications to fix false positives and / or detect unknown malicious applications;
iii. send changes to an existing heuristic malware detection script.
2. Способ по п.1, в котором журнал проверки содержит все результаты анализа компьютера на наличие вредоносных приложений, если анализ производится в первый раз.2. The method according to claim 1, in which the check log contains all the results of the analysis of the computer for malicious applications, if the analysis is performed for the first time. 3. Способ по п.1, в котором журнал проверки содержит только информацию о ложных срабатываниях и неизвестном подозрительном ПО, которое было обнаружено с помощью эвристических сценариев обнаружения, если анализ производится во второй или последующие разы.3. The method according to claim 1, in which the verification log contains only information about false positives and unknown suspicious software that was detected using heuristic detection scripts if the analysis is performed for the second or subsequent times. 4. Способ по п.1, в котором журнал проверки отправляется более чем с одного компьютера из одной локальной сети.4. The method according to claim 1, in which the verification log is sent from more than one computer from one LAN. 5. Способ по п.4, в котором журнал проверки отправляется только с одного компьютера из одной локальной сети, если компьютеры в сети одной и той же конфигурации и журналы проверки совпадают.5. The method according to claim 4, in which the scan log is sent only from one computer from the same local network if the computers in the network of the same configuration and the scan logs match. 6. Способ по п.1, в котором повторная отправка эвристических сценариев обнаружения не происходит целиком, а лишь высылаются изменения в самих сценариях.6. The method according to claim 1, in which the re-sending of heuristic detection scenarios does not occur entirely, but only the changes in the scripts are sent. 7. Способ по п.1, в котором эвристические сценарии разделяются на общие и частные.7. The method according to claim 1, in which heuristic scenarios are divided into general and private. 8. Способ по п.8, в котором общие эвристические сценарии могут быть использованы в случае вирусных эпидемий на большом количестве компьютеров, зараженных разными модификациями одних и тех же вредоносных приложений.8. The method of claim 8, in which general heuristic scenarios can be used in the case of virus outbreaks on a large number of computers infected with different modifications of the same malicious applications. 9. Способ по п.8, в котором частные эвристические сценарии могут быть использованы для обнаружения вредоносных приложений на отдельных компьютерах.9. The method of claim 8, in which private heuristic scripts can be used to detect malicious applications on individual computers. 10. Способ по п.1, в котором журнал проверки содержит метаданные вредоносных приложений.10. The method according to claim 1, in which the verification log contains metadata of malicious applications. 11. Способ по п.10, в котором метаданными могут быть, по меньшей мере, ключи автозапуска, CLSID, имена системных служб и драйверов, имена файлов.11. The method of claim 10, wherein the metadata may be at least autorun keys, CLSIDs, system service and driver names, file names. 12. Способ по пп.1, 10, в котором обнаружение ложных срабатываний происходит с помощью сравнения метаданных вредоносных приложений в журнале проверки с метаданными безопасных объектов. 12. The method according to claims 1, 10, in which the detection of false positives occurs by comparing the metadata of malicious applications in the scan log with the metadata of safe objects.
RU2012141479/08A 2012-09-28 2012-09-28 Method for automatic generation of heuristic algorithms for searching for malicious objects RU2510530C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012141479/08A RU2510530C1 (en) 2012-09-28 2012-09-28 Method for automatic generation of heuristic algorithms for searching for malicious objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012141479/08A RU2510530C1 (en) 2012-09-28 2012-09-28 Method for automatic generation of heuristic algorithms for searching for malicious objects

Publications (1)

Publication Number Publication Date
RU2510530C1 true RU2510530C1 (en) 2014-03-27

Family

ID=50343112

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012141479/08A RU2510530C1 (en) 2012-09-28 2012-09-28 Method for automatic generation of heuristic algorithms for searching for malicious objects

Country Status (1)

Country Link
RU (1) RU2510530C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2589862C1 (en) * 2015-06-30 2016-07-10 Закрытое акционерное общество "Лаборатория Касперского" Method of detecting malicious code in random-access memory
RU2602369C2 (en) * 2015-03-31 2016-11-20 Закрытое акционерное общество "Лаборатория Касперского" System and method of reducing number of determination of legitimate file as malware
RU2665909C1 (en) * 2017-08-10 2018-09-04 Акционерное общество "Лаборатория Касперского" Method of selective use of patterns of dangerous program behavior
RU2673708C1 (en) * 2017-07-17 2018-11-29 Акционерное общество "Лаборатория Касперского" System and method of machine training model of detecting malicious files

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143843A1 (en) * 2005-12-16 2007-06-21 Eacceleration Corporation Computer virus and malware cleaner
US20070226259A1 (en) * 2006-03-21 2007-09-27 Marty Kacin IT Automation Scripting Module And Appliance
US7281267B2 (en) * 2001-02-20 2007-10-09 Mcafee, Inc. Software audit system
RU80037U1 (en) * 2007-10-31 2009-01-20 ЗАО "Лаборатория Касперского" ANTI-VIRUS MOBILE APPLICATIONS MANAGEMENT SYSTEM
US7540030B1 (en) * 2008-09-15 2009-05-26 Kaspersky Lab, Zao Method and system for automatic cure against malware
US20100077481A1 (en) * 2008-09-22 2010-03-25 Microsoft Corporation Collecting and analyzing malware data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281267B2 (en) * 2001-02-20 2007-10-09 Mcafee, Inc. Software audit system
US20070143843A1 (en) * 2005-12-16 2007-06-21 Eacceleration Corporation Computer virus and malware cleaner
US20070226259A1 (en) * 2006-03-21 2007-09-27 Marty Kacin IT Automation Scripting Module And Appliance
RU80037U1 (en) * 2007-10-31 2009-01-20 ЗАО "Лаборатория Касперского" ANTI-VIRUS MOBILE APPLICATIONS MANAGEMENT SYSTEM
US7540030B1 (en) * 2008-09-15 2009-05-26 Kaspersky Lab, Zao Method and system for automatic cure against malware
US20100077481A1 (en) * 2008-09-22 2010-03-25 Microsoft Corporation Collecting and analyzing malware data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2602369C2 (en) * 2015-03-31 2016-11-20 Закрытое акционерное общество "Лаборатория Касперского" System and method of reducing number of determination of legitimate file as malware
RU2589862C1 (en) * 2015-06-30 2016-07-10 Закрытое акционерное общество "Лаборатория Касперского" Method of detecting malicious code in random-access memory
US9407648B1 (en) 2015-06-30 2016-08-02 AO Kaspersky Lab System and method for detecting malicious code in random access memory
US10242186B2 (en) 2015-06-30 2019-03-26 AO Kaspersky Lab System and method for detecting malicious code in address space of a process
RU2673708C1 (en) * 2017-07-17 2018-11-29 Акционерное общество "Лаборатория Касперского" System and method of machine training model of detecting malicious files
RU2665909C1 (en) * 2017-08-10 2018-09-04 Акционерное общество "Лаборатория Касперского" Method of selective use of patterns of dangerous program behavior

Similar Documents

Publication Publication Date Title
JP7084778B2 (en) Systems and methods for cloud-based detection, exploration and elimination of targeted attacks
US9147073B2 (en) System and method for automatic generation of heuristic algorithms for malicious object identification
US10193906B2 (en) Method and system for detecting and remediating polymorphic attacks across an enterprise
US8819835B2 (en) Silent-mode signature testing in anti-malware processing
RU2568295C2 (en) System and method for temporary protection of operating system of hardware and software from vulnerable applications
US7640589B1 (en) Detection and minimization of false positives in anti-malware processing
US9165142B1 (en) Malware family identification using profile signatures
US8479296B2 (en) System and method for detecting unknown malware
RU2624552C2 (en) Method of malicious files detecting, executed by means of the stack-based virtual machine
RU2514140C1 (en) System and method for improving quality of detecting malicious objects using rules and priorities
US8566943B2 (en) Asynchronous processing of events for malware detection
US7934261B1 (en) On-demand cleanup system
RU2617654C2 (en) System and method of formation of anti-virus records used to detect malicious files on user&#39;s computer
JP2010160791A (en) Context-aware real-time computer protection system and method
RU2697954C2 (en) System and method of creating antivirus record
US20110283358A1 (en) Method and system to detect malware that removes anti-virus file system filter driver from a device stack
CN108369541B (en) System and method for threat risk scoring of security threats
Continella et al. Prometheus: Analyzing WebInject-based information stealers
US10262131B2 (en) Systems and methods for obtaining information about security threats on endpoint devices
RU2510530C1 (en) Method for automatic generation of heuristic algorithms for searching for malicious objects
RU2587424C1 (en) Method of controlling applications
Gupta et al. Developing a blockchain-based and distributed database-oriented multi-malware detection engine
RU101224U1 (en) SYSTEM OF IDENTIFICATION AND MINIMIZATION OF RISK OF FALSE WORKS
RU2774042C1 (en) System and method for identifying potentially malicious changes in an application
RU2739832C1 (en) System and method of detecting changed system files for checking for malware in a cloud service