RU2613535C1 - Method for detecting malicious software and elements - Google Patents
Method for detecting malicious software and elements Download PDFInfo
- Publication number
- RU2613535C1 RU2613535C1 RU2015150022A RU2015150022A RU2613535C1 RU 2613535 C1 RU2613535 C1 RU 2613535C1 RU 2015150022 A RU2015150022 A RU 2015150022A RU 2015150022 A RU2015150022 A RU 2015150022A RU 2613535 C1 RU2613535 C1 RU 2613535C1
- Authority
- RU
- Russia
- Prior art keywords
- elements
- malicious
- files
- document
- decomposed
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
Description
Изобретение относится к области идентификации и анализа данных, передаваемых через сеть связи, в частности к идентификации, обнаружению и анализу вредоносных программ и элементов или злонамеренного программного обеспечения.The invention relates to the field of identification and analysis of data transmitted through a communication network, in particular to the identification, detection and analysis of malicious programs and elements or malicious software.
По мере того как технологии и инфраструктура компьютерных сетей совершенствуются, объем и скорость данных, передаваемых между устройствами компьютерной сети, стремительно возрастает. При этом передаваемые данные могут содержать вредоносные программы и элементы. Вредоносная программа - это компьютерный программный продукт, выполненный с возможностью проникать в вычислительное устройство без ведома или согласия владельца устройства. Вредоносные программы стали общеупотребительным термином и означают общий класс программного обеспечения, включающий в себя множество вредоносных, навязчивых или иным образом мешающих работе форм программного обеспечения или машинного кода. Вредоносные программы включают в себя различные вирусы, программы-черви, программы типа "троянский конь" (или программы - "трояны"), руткиты, программы-шпионы, программы с навязчивой рекламой, программы, эксплуатирующие уязвимости в программном обеспечении третьих сторон и любое другое нежелательное злонамеренное программное обеспечение. Различные типы вредоносных программ могут собирать персональную информацию, связанную с пользователем, и отправлять эту информацию обратно в устройство сбора информации. Другие типы вредоносных программ могут приводить к тому, что вычислительное устройство работает с ошибками или вообще не работает.As the technology and infrastructure of computer networks improves, the volume and speed of data transmitted between devices on a computer network is growing rapidly. At the same time, the transmitted data may contain malicious programs and elements. A malicious program is a computer software product that is capable of penetrating a computing device without the knowledge or consent of the owner of the device. Malicious programs have become a common term and mean a general class of software, which includes many malicious, intrusive or otherwise interfering forms of software or machine code. Malicious programs include various viruses, worms, Trojan horses (or Trojans), rootkits, spyware, adware, programs that exploit vulnerabilities in third-party software, and any other unwanted malicious software. Various types of malware can collect personal information related to the user and send this information back to the information collection device. Other types of malware can cause the computing device to fail or not work at all.
Широко известны способы и средства идентификации и удаления вредоносных элементов с помощью антивирусного программного обеспечения. Традиционное антивирусное программное обеспечение использует последовательности поиска и предустановленный аналитический подход для поиска известных вредоносных программ.Widely known are methods and means of identifying and removing malicious elements using anti-virus software. Traditional antivirus software uses search sequences and a predefined analytic approach to search for known malware.
Однако с учетом того, что код вредоносных программ может довольно часто изменяться автором вредоносной программы, предустановленная последовательность поиска и основанный на правилах анализ могут не обнаруживать обновленные программы.However, given that malware code can be changed quite often by the malware author, a predefined search sequence and rule-based analysis may not detect updated programs.
Таким образом, к недостаткам антивирусного программного обеспечения можно отнести неспособность обнаружения новых или неизвестных вирусов.Thus, the disadvantages of antivirus software include the inability to detect new or unknown viruses.
Указанные проблемы решаются также широко известными способами обнаружения в антивирусном программном обеспечении подозрительного режима работы программы и ее оценки. Если антивирусное программное обеспечение находит существенные корелляции кода либо поведения с уже известными вредоносными кодами, антивирусное приложение может допускать, что оно обнаруживает новый вирус или вредоносную программу. Эти способы подпадают под обобщенный термин "эвристические" способы обнаружения вредоносных программ. Как правило, эвристический анализ означает, что анализируемая программа запускается в некотором изолированном и безопасном окружении, и способ собирает сведения о ее выполнении. Указанный способ подвергает оценке максимально возможный объем информации и позволяет сделать выводы о легитимности анализируемой программы, либо нацеленности программы на что-либо нестандартное или вредоносное. Эвристический анализ имеет ряд преимуществ. Он работает независимо от того, анализировался или нет конкретный код ранее. Он также может распознавать новые вирусы и программы - "трояны".These problems are also solved by well-known methods for detecting a suspicious mode of operation of a program in antivirus software and evaluating it. If anti-virus software finds significant correlations of code or behavior with already known malicious codes, the anti-virus application may assume that it detects a new virus or malware. These methods fall under the generic term “heuristic” malware detection methods. As a rule, heuristic analysis means that the program being analyzed is launched in some isolated and safe environment, and the method collects information about its execution. The specified method evaluates the maximum possible amount of information and allows us to draw conclusions about the legitimacy of the analyzed program, or the program’s focus on something non-standard or malicious. Heuristic analysis has several advantages. It works whether the specific code has been analyzed or not previously. It can also recognize new viruses and Trojan programs.
Однако указанному способу присущи такие недостатки, как недостаточная достоверность анализа, поскольку грань между корректным и наносящим вред режимом работы программного обеспечения может быть неопределенной, степень сходства с уже известным вредоносным кодом либо поведением может быть преднамеренно скрыта. При этом нужны значительные затраты времени, связанные с необходимостью проверки программы в безопасном окружении, в котором можно быть уверенным, что вред не будет нанесен. К тому же следует учитывать набор разнообразных приемов авторов вредоносных программ, направленных на предотвращение эвристического типа анализа.However, such a method has inherent disadvantages such as insufficient reliability of the analysis, since the line between the correct and harmful mode of operation of the software may be uncertain, the degree of similarity with already known malicious code or behavior may be deliberately hidden. At the same time, considerable time is required associated with the need to check the program in a safe environment, in which you can be sure that the harm will not be done. In addition, one should take into account a set of various techniques of malware authors aimed at preventing the heuristic type of analysis.
Известно изобретение (RU 2417429, 27.04.11) на способ минимизации использования злоумышленником уязвимостей в программном обеспечении, установленном в целевом компьютере, посредством изучения сетевого трафика туда и идентификации злонамеренного кода перед тем, как он может быть выполнен и/или установлен. На транспортном уровне (например, уровне сокетов протокола управления передачей (TCP) сетевой трафик наблюдается с помощью компонента безопасности, установленного в целевом компьютере. Когда принимается сообщение, предназначенное для вычислительной системы, данные, включенные в сообщение, сравниваются с признаками эксплойта (код, эксплуатирующий уязвимости в программном обеспечении, произведенного третьими сторонами), используемыми для того, чтобы идентифицировать злонамеренный код. Признаки эксплойта предоставляются компоненту безопасности службой безопасности, которая собирает информацию о злонамеренном коде. На основе сравнения данных в сообщении с признаками эксплойта идентифицируются правила, которые инструктируют компонент безопасности, чтобы предпринять соответствующее действие по принятому сообщению.The invention is known (RU 2417429, 04/27/11) for a method of minimizing an attacker's use of vulnerabilities in software installed on a target computer by examining network traffic there and identifying malicious code before it can be executed and / or installed. At the transport level (for example, the Transmission Control Protocol (TCP) socket level), network traffic is monitored by the security component installed on the target computer. When a message is received intended for the computing system, the data included in the message is compared with the exploit features (code that exploits vulnerabilities in software produced by third parties) used to identify malicious code. The security service, which collects information about the malicious code, identifies the rules that instruct the security component to take the appropriate action on the received message by comparing the data in the message with the signs of the exploit.
Однако в указанном способе отсутствует возможность селективного наблюдения за интерпретируемыми объектами веб-сайтов, а не за всем трафиком на транспортном уровне, отсутствует контроль и анализ корелляций передаваемых иетаданных, отсутствует возможность анализа отдельных интерпретируемых файлов, возможность асинхронного выявления вредоносных элементов на веб-сайте, то есть выявления не в режиме реального времени, а также не выполняется функция корелляции данных, полученных в синхронном (режиме реального времени) и асинхронных режимах работы.However, in this method there is no possibility of selective monitoring of interpreted objects of websites, and not all traffic at the transport level, there is no monitoring and analysis of correlations of transmitted metadata, there is no possibility of analyzing individual interpreted files, the possibility of asynchronous detection of malicious elements on the website, there is no real-time detection, and the function of correlating data received in synchronous (real-time) and asynchronous modes is also not performed ah work.
Наиболее близким к заявляемому способу является эвристический способ анализа кода (RU 2526716, 27.08.2014 г.), включающий следующие этапы: посредством процессора вычислительного устройства, выполняют статическую оценку программных инструкций в программе, содержащей последовательность программных инструкций, сохраненных на машиночитаемом носителе, функционально соединенном с процессором, причем статическую оценку выполняют без выполнения упомянутых программных инструкций, сравнивают, посредством упомянутого процессора, каждую инструкцию в упомянутой последовательности с каждым из группы критериев подозрительности, причем критерии подозрительности используют для оценки каждой инструкции на основании ожидаемого результата инструкции в ходе выполнения, определяют, посредством упомянутого процессора, удовлетворяет ли каждая инструкция в последовательности какому-либо критерию из группы критериев подозрительности; назначают, посредством упомянутого процессора, количественный показатель на уровне инструкций для каждой инструкции, которая нарушает какой-либо из критериев подозрительности, причем количественный показатель на уровне инструкций отражает одно или более из опыта использования, сравнения с другим кодом, сформированным посредством официального инструментального средства, и сравнения с другой последовательностью инструкций, сформированной посредством официального инструментального средства; суммируют, посредством упомянутого процессора, количественные показатели на уровне инструкций для каждой инструкции для получения в результате количественного показателя на уровне программы; определяют, посредством упомянутого процессора, превышает ли количественный показатель на уровне программы пороговое значение; и если количественный показатель на уровне программы превышает пороговое значение, создают посредством упомянутого процессора сообщение, указывающее результат обнаружения вредоносных программ.Closest to the claimed method is a heuristic method of code analysis (RU 2526716, 08/27/2014), which includes the following steps: using a processor of a computing device, perform a static evaluation of program instructions in a program containing a sequence of program instructions stored on a machine-readable medium, functionally connected with a processor, moreover, a static evaluation is performed without executing said program instructions, and each instruction in the aforementioned sequence to each of a group of suspicion criteria, wherein criteria used to evaluate the suspicion of each instruction based on expected results during instruction execution, it is determined by said processor, whether each instruction satisfies sequence in any of the criteria of a group of suspicion criteria; appoint, by means of said processor, a quantity at the level of instructions for each instruction that violates any of the criteria for suspicion, moreover, a quantity at the level of instructions reflects one or more of the experience of use, comparison with another code generated using an official tool, and comparisons with another sequence of instructions generated by an official tool; summarize, by means of said processor, quantitative indicators at the instruction level for each instruction to obtain a quantitative indicator at the program level; determining by means of said processor whether the quantitative indicator at the program level exceeds a threshold value; and if the quantitative indicator at the program level exceeds a threshold value, a message is generated by said processor indicating the result of malware detection.
Однако указанному способу присущи вышеуказанные недостатки эвристических способов - недостаточная достоверность обнаружения вредоносных элементов.However, the aforementioned method is characterized by the above-mentioned disadvantages of heuristic methods - insufficient reliability of detection of malicious elements.
Общие признаки: осуществление работы с сетевым трафиком и базами данных безопасных и небезопасных объектов, а выявленные вредоносные элементы не передаются на компьютер пользователя.Common signs: working with network traffic and databases of safe and insecure objects, and detected malicious elements are not transmitted to the user's computer.
Основной задачей, решаемой заявляемым изобретением, является создание способа обнаружения вредоносных программ и элементов на веб-сайте и трафике, способных с высокой достоверностью обнаруживать вредоносные программы и элементы.The main task solved by the claimed invention is the creation of a method for detecting malicious programs and elements on a website and traffic, capable of detecting malicious programs and elements with high reliability.
Технический результат - повышение достоверности обнаружения вредоносных программ и элементов.EFFECT: increased reliability of detection of malicious programs and elements.
Технический результат достигается за счет того, что в известном способе обнаружения вредоносных программ, включающем анализ программы, или элементов сообщений, которые удовлетворяет критерию или группе критериев подозрительности и создание сообщения, указывающего на результат обнаружения вредоносных программ и элементов, в сервер, браузер или канал коммуникаций между ними встраивают систему фильтрации, которая осуществляет анализ передаваемых документов в соответствии с базой данных, включающей данные об известных безопасных элементах, и в случае, если в документе присутствуют потенциально вредоносные элементы, отсутствующие в базе данных безопасных элементов, осуществляют декомпозицию полученного документа на множество отдельных элементов, из которых создают множество файлов из декомпозированных элементов, число которых соответствует числу декомпозированных элементов, производят композицию одного либо нескольких наборов файлов из декомпозированных элементов, которые подвергают динамическому детектированию для отслеживания отклонений от нормального поведения клиентской программы в результате действий вредоносных элементов, причем при обнаружении одного либо нескольких вредоносных элементов, включают их в базу данных как вредоносные, а остальные элементы, как безопасные, а документ передают в браузер без выявленных вредоносных элементов.The technical result is achieved due to the fact that in the known method for detecting malicious programs, including analyzing a program or message elements that satisfy a criterion or group of criteria for suspiciousness and creating a message indicating the result of detection of malicious programs and elements, to a server, browser or communication channel a filtering system is built between them, which analyzes the transmitted documents in accordance with a database including data on known safe elements ntah, and if the document contains potentially harmful elements that are not in the database of safe elements, decompose the resulting document into many separate elements, from which create a lot of files from decomposed elements, the number of which corresponds to the number of decomposed elements, compose one or several sets of files from decomposed elements that are dynamically detected to track deviations from normal behavior actions of the client program as a result of the actions of malicious elements, and if one or several malicious elements are detected, they are included in the database as malicious, and the remaining elements are safe, and the document is transmitted to the browser without any malicious elements detected.
При композиции осуществляют функциональный, или инкрементальный, или полный композиционный набор файлов из декомпозированных элементов.When composing, a functional, or incremental, or complete compositional set of files from decomposed elements is performed.
В случае композиции на основе функционального набора, анализируют функциональные связи между декомпозированными элементами и формируют функциональные блоки, каждый из которых содержит декомпозированные элементы, связанные функционально друг с другом.In the case of a composition based on a functional set, the functional relationships between the decomposed elements are analyzed and functional blocks are formed, each of which contains decomposed elements connected functionally to each other.
Количество композиционных файлов, сформированных на основе функционального набора, равно количеству функциональных блоков и одному базовому файлу, составленному на основе оригинального файла, из которого удалены все потенциально вредоносные элементы.The number of composite files generated on the basis of the functional set is equal to the number of functional blocks and one base file compiled on the basis of the original file from which all potentially harmful elements are removed.
Количество композиционных файлов, сформированных на основе инкрементального набора, равно количеству декомпозированных элементов и одному базовому файлу, составленному на основе оригинального файла, из которого удалены все потенциально вредоносные элементы.The number of composite files generated on the basis of an incremental set is equal to the number of decomposed elements and one base file composed on the basis of the original file from which all potentially harmful elements are removed.
При композиции на основе полного комбинационного набора композиционные файлы формируют на основе полного комбинаторного перебора потенциально вредоносных элементов так, чтобы каждый файл комбинационного набора содержал уникальную комбинацию из декомпозированных элементов.When compositing based on a complete combination set, composite files are formed on the basis of a complete combinatorial search of potentially harmful elements so that each combination set file contains a unique combination of decomposed elements.
В одном из вариантов реализации способа анализ исходящего с сервера документа можно осуществлять совместно с анализом иетаданных, принимаемых на сервер, например, User Agent и IP-адрес и направляемых с сервера обратно, например, код статуса и адрес перенаправления.In one embodiment of the method, the analysis of the document outgoing from the server can be carried out together with the analysis of the metadata received on the server, for example, the User Agent and IP address and sent back from the server, for example, the status code and redirection address.
В способе может использоваться система детектирования, выполненная с возможностью обеспечения срабатывания вредоносных кодов в процессе работы с соответствующим типом интерпретируемых файлов, например, уязвимые версии Microsoft Office для открытия DOC(X), Adobe Acrobat Reader для PDF, Adobe Flash Player для SWF.The method may use a detection system configured to ensure that malicious codes are triggered while working with the corresponding type of interpreted files, for example, vulnerable versions of Microsoft Office to open DOC (X), Adobe Acrobat Reader for PDF, Adobe Flash Player for SWF.
Отличительные признаки изобретения - декомпозиция и последующая композиция одного либо нескольких наборов композиционных файлов из декомпозированных элементов, позволяют выносить однозначный вердикт по установлению вредоносности элементов веб-сайта, интерпретируемых файлов и трафика за счет открытия и интерпретации каждого из этих файлов с помощью программного обеспечения, предназначенного для работы с данным типом файлов под контролем специализированного программного кода-детектора таким образом, что любое отклонение в нормальной работе вышеозначенного программного обеспечения было бы зафиксировано детектором и, на основании фиксации аномального поведения клиентской программы, был бы вынесен однозначный вердикт о наличии либо отсутствии вредоносного элемента в открытом файле.The distinguishing features of the invention are the decomposition and subsequent composition of one or several sets of composite files from decomposed elements, which allow an unambiguous verdict to establish the harmfulness of website elements, interpreted files and traffic by opening and interpreting each of these files using software designed to work with this type of file under the control of a specialized software detector code so that any deviation in the normal The operation of the above mentioned software would be detected by the detector and, based on fixing the abnormal behavior of the client program, an unambiguous verdict would be issued on the presence or absence of a malicious element in the open file.
При этом повышение достоверности обнаружения вредоносных программ и элементов достигается также за счет использования динамического (а не статического, на эмуляторе) детектирования в режиме реального времени с использованием набора файлов, составленных на основе композиции элементов, выделенных путем декомпозиции из первоначального файла.At the same time, the increase in the reliability of detection of malicious programs and elements is also achieved through the use of dynamic (rather than static, on the emulator) real-time detection using a set of files based on a composition of elements extracted by decomposition from the original file.
На чертеже схематически представлено устройство, с помощью которого может быть реализован способ.The drawing schematically shows a device with which the method can be implemented.
Устройство для реализации способа в одном из вариантов исполнения содержит блок фильтрации 1, соединенный с блоком декомпозиции и композиции 2, с браузером 8 и с сервером 9, связанными друг с другом. Блок фильтрации 1 и блок декомпозиции и композиции 2 подсоединены также к глобальным базам данных 4 вредоносных элементов и базе данных 5 безопасных элементов. Кроме того, блок фильтрации 1 соединен с локальной базой 6 безопасных элементов и локальной базой 7 вредоносных элементов. При этом блок декомпозиции и композиции 2 соединен с блоком динамического детектирования 3.A device for implementing the method in one embodiment comprises a
Заявляемый способ реализуется следующим образом.The inventive method is implemented as follows.
При этом заявляемый способ не ограничен конкретными описанными вариантами реализации, поскольку они могут варьироваться.Moreover, the inventive method is not limited to the specific described implementation options, as they may vary.
Браузер посылает запрос на получение документа на сервер, сервер принимает запрос, обрабатывает его, формирует документ и отсылает его в ответ. При этом возможна работа по синхронному и асинхронному вариантам. Асинхронный вариант нужен для уменьшения задержек для пользователя при анализе данных, поскольку документы, которые он загружает, уже были предварительно получены и проверены самой системой. Таким образом, имеются два варианта развития событий для пользователя: в первом случае, пользователь через свой браузер посылает запрос на получение документа (HTML-странички, к примеру), который формируется сервером и отправляется обратно пользователю. Но сначала, до отправки пользователю, документ направляется в блок фильтрации 1. Блок фильтрации 1 производит проверку документа на наличие потенциально вредоносных элементов по локальным базам известных безопасных 6 и вредоносных 7 элементов. В случае, если в документе присутствуют потенциально вредоносные элементы, отсутствующие в обеих базах, блок фильтрации 1 производит обновление локальных баз безопасных 6 и вредоносных 7 элементов с использованием глобальных баз безопасных 5 и вредоносных 4 элементов, после чего проверяет документ по обеим локальным базам 6 и 7 безопасных и вредоносных элементов еще раз. Если после проверки по обновленным локальным базам 6 и 7 известных вредоносных и безопасных элементов в документе присутствуют элементы, отсутствующие в указанных базах, документ отправляется на сервер 9 для проверки и квалификации неизвестных потенциально вредоносных элементов. Указанная проверка отнимает некоторое время, в связи с чем пользователю придется подождать окончания анализа.The browser sends a request for a document to the server, the server accepts the request, processes it, generates a document and sends it in response. At the same time, synchronous and asynchronous options are possible. The asynchronous option is needed to reduce delays for the user when analyzing data, since the documents that he downloads have already been received and checked by the system itself. Thus, there are two options for the development of events for the user: in the first case, the user sends a request through his browser to receive a document (HTML pages, for example), which is generated by the server and sent back to the user. But first, before being sent to the user, the document is sent to filtering
В асинхронном варианте работы система защиты сайта, установленная на сервере, сама инициирует первый запрос на получение документа, анализирует его и квалифицирует все неизвестные потенциально опасные элементы. В таком случае первый пользователь никаких задержек при получении запрашиваемого документа просто не почувствует, то есть они будут, но только на анализ всех потенциально опасных элементов документа по локальным базам безопасных и вредоносных элементов. В этом случае экономится время ожидания для первого пользователя. При синхронной обработке задержка идет только для первого пользователя, последующие уже пользуются результатами первичного анализа, в связи с чем задержка для них минимальна, потому что идет только анализ по локальным базам вредоносных и безопасных элементов на анализ неизвестных потенциально вредоносных элементов документа.In the asynchronous mode of operation, the site security system installed on the server itself initiates the first request for a document, analyzes it and qualifies all unknown potentially dangerous elements. In this case, the first user will not feel any delays in receiving the requested document, that is, they will be, but only for the analysis of all potentially dangerous elements of the document according to the local databases of safe and malicious elements. In this case, the wait time for the first user is saved. In synchronous processing, the delay is only for the first user, the subsequent ones already use the results of the initial analysis, and therefore the delay is minimal for them, because there is only an analysis of the local databases of malicious and safe elements for the analysis of unknown potentially harmful elements of the document.
Блок фильтрации 1, встроенный в сервер, браузер или канал коммуникаций между ними, осуществляет анализ передаваемых документов в соответствии с локальной базой данных 6, включающей данные об известных безопасных элементах. Локальные базы данных безопасных и вредоносных элементов первоначально создают путем полной репликации данных из соответствующих глобальных баз данных 4 и 5, находящихся на сервере системы защиты. Эти базы данных могут быть обновлены с помощью блока фильтрации 1 в случае обнаружения неизвестных элементов в исходящих документах, типы которых, согласно текущим настройкам блока, могут быть использованы для атаки на браузер либо иное ПО пользователя, а также по сигналу с сервера, после анализа потенциально вредоносных элементов на серверах с установленными системами защиты и по расписанию согласно текущим настройкам блока фильтрации 1.The
Блок фильтрации 1, преимущественно выполненный в виде программного обеспечения, встроенного в сервер, либо браузер, либо канал связи между браузером и сервером, анализирует отсылаемый документ с помощью локальной базы 6 безопасных элементов, также установленной в сервер, либо браузер, либо канал связи между браузером и сервером в режиме «только чтение», при котором локальная база данных 6 безопасных элементов не пополняется новыми данными, чтобы не сбивать когерентность базы данных.The
Кроме того, в сервер 9, либо браузер 8, либо в канал связи между ними встроена также программа для ЭВМ, представляющая собой локальную базу 7 вредоносных элементов, также используемую в рамках данной операции в режиме «только чтение». В случае, если в отправленном документе присутствуют неизвестные элементы, отсутствующие как в локальной базе 7 известных вредоносных элементов, так и в локальной базе 6 безопасных элементов, и типы которых, после проведения сравнительного анализа согласно настройкам блока фильтрации, могут быть использованы для атаки на браузер либо иное прикладное программное обеспечение на стороне пользователя, производится обновление в режиме «только запись» локальных баз данных 6 и 7 путем добавления к ним из глобальных баз данных 4 и 5, реализованных преимущественно в виде ПО и установленных на сервере 9. После этого производится еще одна проверка в режиме «только чтение» отсылаемого документа по обеим локальным базам данных - вредоносных 7 и безопасных 6 элементов. При этом в локальную базу данных 7 вредоносных элементов на данном этапе проверки документа добавляются только те новые элементы, что присутствуют в глобальной базе 4 вредоносных элементов, но которых нет в локальной. Аналогичным образом пополняется и база данных 6 безопасных элементов. Неизвестные элементы на данном этапе проверки документа не добавляются в локальные базы данных, а подлежат лишь дальнейшей классификации на сервере.In addition, a computer program is also built into
Таким образом, блок фильтрации 1 проверяет потенциально вредоносные элементы полученного файла на соответствие элементам, уже известным как вредоносные и безопасные.Thus, filtering
Если даже после этого устанавливается, что в отсылаемом документе присутствуют неизвестные элементы, которые могут быть потенциально вредоносными, и типы которых, после проведения сравнительного анализа согласно настройкам блока фильтрации, могут быть использованы для атаки на браузер либо иное ПО на стороне пользователя, блок фильтрации 1 отсылает такой документ в блок декомпозиции и композиции 2. Отправка документа, содержащего неизвестные потенциально вредоносные элементы, производится путем направления соответствующего пакета либо набора пакетов данных на сервер 9, где данные принимаются и обрабатывается путем декомпозиции и композиции преимущественно с помощью программы, установленной на сервере 9.If even after this it is established that the document to be sent contains unknown elements that may be potentially harmful, and whose types, after conducting a comparative analysis according to the settings of the filtering unit, can be used to attack a browser or other software on the user side, filtering
Декомпозиция полученного документа осуществляется путем его разбиения на множество отдельных элементов, содержащих неизвестные потенциально вредоносные элементы, из которых создают множество файлов с декомпозированными элементами. После декомпозиции полученного документа на отдельные составляющие элементы, осуществляется композиция набора файлов на основе функционального, инкрементального или полного набора следующим образом:The decomposition of the resulting document is carried out by splitting it into many separate elements containing unknown potentially harmful elements, from which create many files with decomposed elements. After decomposition of the received document into individual constituent elements, a set of files is compiled based on a functional, incremental or complete set as follows:
- в случае выбора композиции на основе функционального набора, предварительно анализируют функциональные связи между декомпозированными элементами. При этом выявляют все элементы, которые связаны функционально друг с другом, и формируют из них функциональный блок. Количество файлов в функциональном наборе должно быть равно количеству функциональных блоков и одному базовому файлу, составленному на основе оригинального файла, из которого удалены все неизвестные потенциально вредоносные элементы;- in the case of choosing a composition based on a functional set, the functional relationships between decomposed elements are preliminarily analyzed. At the same time, all elements that are functionally connected with each other are revealed, and a functional block is formed from them. The number of files in the functional set must be equal to the number of functional blocks and one base file, compiled on the basis of the original file, from which all unknown potentially harmful elements are deleted;
- в случае выбора композиции на основе инкрементального набора, потенциально вредоносные элементы добавляют по одному в каждый последующий композиционный файл, количество которых равно количеству декомпозированных элементов плюс один базовый файл, составленный на основе оригинального файла, из которого удалены все неизвестные потенциально вредоносные элементы;- in the case of choosing a composition based on an incremental set, potentially harmful elements are added one to each subsequent composition file, the number of which is equal to the number of decomposed elements plus one base file based on the original file from which all unknown potentially harmful elements were deleted;
- в случае выбора полного композиционного набора, количество композированных файлов представляет собой набор композированных файлов из изначальных декомпозированных элементов, собранных таким образом, чтобы включать в себя все возможные уникальные комбинации декомпозированных элементов, (2∧N-1), (два в степени от числа декомпозированных элементов без единицы) плюс один базовый файл.- in the case of selecting a complete compositional set, the number of composites is a set of composites from the original decomposed elements, assembled in such a way as to include all possible unique combinations of decomposed elements, (2 ∧ N-1), (two to the power of decomposed elements without unit) plus one base file.
Ниже приведены примеры реализации способа в различных вариантах при осуществлении декомпозиции документа с последующей композицией.The following are examples of the implementation of the method in various ways when implementing the decomposition of the document with the subsequent composition.
Например, изначальный файл, перехваченный блоком фильтрации.For example, the original file intercepted by the filtering unit.
В данном файле имеются два неизвестных потенциально вредоносных элемента типа<script>. Первый из нихThere are two unknown potentially malicious <script> elements in this file. First one
Второй из нихSecond of them
В результате декомпозиции исходного файла имеем два декомпозированных элемента плюс базовый композиционный файл.As a result of decomposition of the source file, we have two decomposed elements plus the base composition file.
а) Базовый композиционный файл, представляющий собой основу для составления композиционного набора, в котором отсутствуют неизвестные потенциально вредоносные элементы:a) The basic composition file, which is the basis for the compilation of the composition set, in which there are no unknown potentially harmful elements:
б) Первый из неизвестных потенциально вредоносных элементов:b) The first of the unknown potentially harmful elements:
в) Второй из неизвестных потенциально вредоносных элементов:c) The second of the unknown potentially harmful elements:
Полученные декомпозированные потенциально вредоносные элементы в дальнейшем используют для составления различных композиционных наборов в следующих вариантах.The resulting decomposed potentially harmful elements are subsequently used to compile various compositional kits in the following embodiments.
1) Функциональная композиция.1) Functional composition.
Оба потенциально вредоносных элемента типа<script>, б) и в), функционально никак не связаны друг с другом, это независимо работающие скрипты, поэтому у нас получается три композиционных файла, созданных путем встраивания функциональных блоков в базовый композиционный файл, одного за другим, вставляемых в те позиции файлов композиционного набора, в которых они находились в оригинальном файле. Это необходимо для выявления вредоносных элементов и отделения их от безопасных. При этом получены три композиционных файла. Композиционный файл №1:Both potentially harmful elements of the <script> type, b) and c), are functionally in no way connected with each other, they are independently working scripts, so we get three composition files created by embedding function blocks in the base composition file, one after the other, inserted into the positions of the files of the composition set in which they were in the original file. This is necessary to identify malicious elements and separate them from safe ones. In this case, three composite files were obtained. Composition file No. 1:
Композиционный файл №2:Composition file No. 2:
Композиционный файл №3:Composition file No. 3:
2) Инкрементальная композиция.2) Incremental composition.
При наличии двух неизвестных потенциально вредоносных элементов, б) и в), создаем три композиционных файла путем добавления, один за другим, данных элементов к предыдущему композиционному файлу, вставляя их в те позиции, где они присутствовали в оригинальном файле.If there are two unknown potentially harmful elements, b) and c), we create three composition files by adding, one after the other, these elements to the previous composition file, inserting them at the positions where they were present in the original file.
Композиционный файл №1:Composition file No. 1:
Композиционный файл №2:Composition file No. 2:
Композиционный файл №3:Composition file No. 3:
3) Полный композиционный набор3) Full compositional kit
При обнаружении двух неизвестных потенциально вредоносных элементов, б) и в), создают соответственно следующий полный комбинационный набор из этих элементов с учетом базового композиционного файла, создаваемого путем полного комбинаторного перебора такого, чтобы каждый файл из комбинаторного набора был уникален, и вставки неизвестных потенциально вредоносных элементов в те позиции, в которых они присутствовали в первоначальном файле.If two unknown potentially harmful elements are detected, b) and c), respectively, the following complete combinational set of these elements is created, taking into account the basic composition file created by a complete combinatorial search so that each file from the combinatorial set is unique, and inserts of unknown potentially harmful elements in those positions in which they were present in the original file.
Композиционный файл №1:Composition file No. 1:
Композиционный файл №2:Composition file No. 2:
Композиционный файл №3:Composition file No. 3:
Композиционный файл №4:Composition file No. 4:
Появление 4 композиционных файлов вызвано необходимостью представления полного комбинаторного набора из 2 элементов, например: Базовый файл, базовый файл + элемент №1, базовый файл + элемент №2, базовый файл + элемент №1 + элемент №2. Если таких элементов три, то тогда имеем: базовый файл, базовый файл + элемент №1, базовый файл + элемент №2, базовый файл + элемент №3, базовый файл + элемент №1 + элемент №2, базовый файл + элемент №1 + элемент №3, базовый файл + элемент №3 + элемент №2, базовый файл + элемент №1 + элемент №2 + элемент №3. Указанное определяет выражение 2 в степени количества декомпозированных элементов без единицы плюс один базовый тестовый файл.The appearance of 4 composite files is caused by the need to present a complete combinatorial set of 2 elements, for example: Basic file, basic file + element No. 1, basic file + element No. 2, basic file + element No. 1 + element No. 2. If there are three such elements, then we have: a basic file, a basic file + element No. 1, a basic file + element No. 2, a basic file + element No. 3, a basic file + element No. 1 + element No. 2, a basic file + element No. 1 + element No. 3, the base file + element No. 3 + element No. 2, the basic file + element No. 1 + element No. 2 + element No. 3. The above determines
После этого производят композицию функционального (1-М+1), инкрементальных (1-N+1) либо полного композиционного (1-2∧N) наборов файлов из декомпозированных элементов, где М - число функциональных блоков, а N - число декомпозированных элементов.After this, the composition of the functional (1-M + 1), incremental (1-N + 1) or full compositional (1-2 ∧ N) sets of files from decomposed elements is produced, where M is the number of functional blocks and N is the number of decomposed elements .
В дальнейшем составленные композиции набора файлов подвергают динамическому детектированию.Subsequently, compiled file set compositions are subjected to dynamic detection.
При этом в случае осуществления композиции на основе функционального набора, в качестве вредоносных элементов выявляют те функционально связанные блоки элементов из всех неизвестных системе, что получили вердикт «было зафиксировано срабатывание вредоносного кода» при анализе в блоке динамического детектирования 3.Moreover, in the case of a composition based on a functional set, those functionally related blocks of elements from all unknowns to the system are detected as malicious elements that received the verdict “the malicious code was triggered” when analyzed in the
В случае инкрементального набора в качестве вредоносного элемента выявляют тот элемент, что вызвал вердикт «было зафиксировано срабатывание вредоносного кода» со стороны блока динамического детектирования.In the case of incremental dialing, the element that causes the verdict “malicious code was triggered” by the dynamic detection unit is detected as a malicious element.
В случае полного композиционного набора, вредоносные элементы выявляют путем соотнесения вынесенных блоком динамического детектирования 2 вердиктов по каждому конкретному файлу композиционного набора. Поскольку каждый файл композиционного набора уникален, а все вместе они содержат все неизвестные потенциально вредоносные элементы, то в случае получения вердикта со стороны блока 2 на каждый файл полного композиционного набора в отдельности можно сразу выявить все элементы, являющиеся вредоносными. Также, возможен вариант получения файла, который лишен всех элементов, идентифицированных как вредоносные, для передачи его в блок фильтрации.In the case of a complete compositional set, malicious elements are detected by correlating 2 verdicts handed down by the dynamic detection unit for each specific file of the compositional set. Since each file of the composition set is unique, and together they contain all unknown potentially harmful elements, if a verdict is received from
Если была использована инкрементальная композиция и вредоносное поведение было выявлено, начиная с некоторого файла, в котором использовался неизвестный потенциально вредоносный элемент, то такой идентифицированный элемент добавляется в базу вредоносных элементов, удаляется из композиционного набора, все протестированные неизвестные элементы перед ним добавляются в базу данных безопасных, после чего строится новый инкрементальный композиционный набор из оставшихся элементов, начиная с последнего безопасного, а файлы композиционного набора снова направляются для детектирования. Все указанные операции повторяются до того момента, когда все неизвестные элементы не окажутся идентифицированы и будут находиться в соответствующих базах данных. В случае, когда вредоносное поведение не зафиксировано ни для одного из файлов инкрементального набора, все неизвестные потенциально вредоносные элементы, входившие в набор, добавляются в глобальную базу безопасных элементов.If incremental composition was used and malicious behavior was detected, starting with a file in which an unknown potentially harmful element was used, then such an identified element is added to the database of malicious elements, removed from the composition set, all tested unknown elements before it are added to the safe database , after which a new incremental compositional set of the remaining elements is built, starting with the last safe, and the files are compositional -set again sent for detection. All these operations are repeated until all unknown elements are identified and will be in the corresponding databases. In the case when no malicious behavior has been detected for any of the incremental set files, all unknown potentially harmful elements included in the set are added to the global database of safe elements.
При использовании полного композиционного набора осуществляется анализ полученных данных единым кадром, т.е. одномоментно идентифицируются все неизвестные потенциально опасные элементы файла с добавлением каждого из них, согласно вынесенному вердикту, в глобальные базы вредоносных 7 и безопасных 6 элементов соответственно.When using the full compositional set, the data obtained is analyzed in a single frame, i.e. all unknown potentially dangerous file elements are identified simultaneously with the addition of each of them, according to the verdict, to the global database of malicious 7 and safe 6 elements, respectively.
При использовании композиции на основе функционального набора анализируются связанные функционально блоки внутри изначального документа. В дальнейшем, возможен и поэлементный анализ внутри функционального блока, получившего вердикт со стороны блока 3 динамического детектирования - «было зафиксировано срабатывание вредоносного кода».When using a composition based on a functional set, the functionally related blocks within the original document are analyzed. In the future, element-by-element analysis is also possible inside a functional block that has received a verdict from the side of dynamic detection block 3 - “the operation of malicious code was detected”.
Элементы в наборе могут быть модифицированы для устранения задержек срабатывания интерпретируемого кода. Например, в состав JavaScript может идти задержка на определенное время для того, чтобы пройти проверку блока 3 динамического детектирования, которая ограничена по времени, но у пользователя вредоносный элемент сработал бы. Для исключения такого варианта развития событий можно модифицировать JavaScript-элемент для того, чтобы убрать из кода задержку по времени, осуществив это на этапе составления композиционного набора.Elements in the set can be modified to eliminate delays in the operation of the interpreted code. For example, JavaScript may be delayed for a certain time in order to pass the check of
Композиционный набор из декомпозированных элементов, полученных из оригинального файла, подвергают динамическому детектированию для выявления отклонений от нормального поведения клиентской программы, в которую загружают файл из композиционного набора для его интерпретации, в результате действий вредоносных элементов. При этом каждый файл из композиционного набора загружают с помощью специальной программы-загрузчика, реализованного в качестве программного обеспечения, установленного на сервере системы защиты и реализующего динамическое детектирование. Процесс динамического детектирования, необходим для того, чтобы произошло срабатывание вредоносного кода, содержащегося в файле, причем он должен сработать за время, которое отводится на детектирование. При этом должен быть зафиксирован факт срабатывания эксплойта, идентифицировав ход исполнения клиентского программного обеспечения, как аномальное. Для достижения поставленной задачи, блок динамического детектирования может быть выполнен в виде программного обеспечения, установленного на сервере системы защиты, которое составлено на основе программы для работы с соответствующим типом документов и имеющего либо эмулирующего уязвимости, связанные с интерпретацией подобного вида документов, работающего под контролем дополнительного программного слоя, задачей которого является выявление аномалий хода исполнения программного клиента либо его поведения.A composite set of decomposed elements obtained from the original file is subjected to dynamic detection to detect deviations from the normal behavior of the client program into which the file is downloaded from the composite set for its interpretation as a result of the actions of malicious elements. At the same time, each file from the composition set is downloaded using a special loader program implemented as software installed on the server of the security system and implementing dynamic detection. The process of dynamic detection is necessary in order for the malicious code contained in the file to trigger, and it should work in the time it takes to detect. At the same time, the fact of the exploit’s response should be recorded, identifying the progress of the client software as abnormal. To achieve the task, the dynamic detection unit can be made in the form of software installed on the server of the security system, which is based on a program for working with the corresponding type of documents and having or emulating vulnerabilities associated with the interpretation of this type of documents, working under the control of additional a software layer whose task is to identify anomalies in the execution of the software client or its behavior.
Также, в качестве динамического детектора 3 возможен вариант использования специального программного обеспечения, установленного на сервере и эмулирующего, частично либо полностью, ход работы клиентского программного обеспечения, связанного с интерпретацией соответствующего типа файлов.Also, as a
Программа для работы с соответствующим типом документов, установленная на сервере и являющаяся частью блока динамического детектирования, способна работать с определенным типом файлов, интерпретируя его внутреннюю структуру таким образом, чтобы вызвать срабатывание вредоносного кода в файле в случае, если он там присутствует. Аномальный ход исполнения программного кода характеризуется отклонением путей выполнения инструкций клиентского программного обеспечения от предписанной разработчиками данного программного обеспечения для того, чтобы вредоносный код, содержащийся в той или иной форме в файле из композиционного набора, получил возможность быть исполненным так же, как и код клиентского программного обеспечения. Аномальное поведение клиентского программного обеспечения характеризуется использованием средств, предоставляемых операционной системой, для выполнения операций, не требующихся для интерпретации внутренней структуры файла из композиционного набора и, потому, выходящего за рамки предопределенного набора разрешенных действий и вызовов средств операционной системы для данного клиентского программного обеспечения.The program for working with the corresponding type of documents installed on the server and which is part of the dynamic detection unit is able to work with a certain type of file, interpreting its internal structure in such a way as to trigger the malicious code in the file if it is present there. The abnormal course of execution of program code is characterized by a deviation of the paths for executing client software instructions from those prescribed by the developers of this software so that malicious code contained in one form or another in a file from a composition set can be executed in the same way as client program code providing. The abnormal behavior of client software is characterized by the use of tools provided by the operating system to perform operations that are not required to interpret the internal structure of the file from the composition set and, therefore, go beyond the predefined set of allowed actions and calls of the operating system tools for this client software.
После осуществления декомпозиции и композиции, а также динамического детектирования, позволяющего отделить безопасные элементы от вредоносных, полученный файл, содержащий только безопасные элементы, возвращается в блок фильтрации 1. Блок фильтрации 1 также обновляет локальные базы безопасных 6 и вредоносных 7 элементов. Если блок фильтрации 1 имеет сопряжение с блоком автоматического лечения, (на чертеже не показан) то он направляет в блок автоматического лечения всю ту информацию о найденных вредоносных элементах, которая будет необходима для однозначной идентификации вредоносного кода либо данных на самом веб-сайте либо смежных с ним ресурсах, которые передают документ с вредоносными элементами в первоначальном файле, ранее направлявшийся с сервера к пользователю.After decomposition and composition, as well as dynamic detection, which allows to separate safe elements from malicious ones, the resulting file containing only safe elements is returned to
При этом блок фильтрации 1 осуществляет замену изначального исходящего документа на тот, что был передан обратно от блока декомпозиции и композиции 2, а также корректирует, если необходимо, исходящие метаданные пользовательского запроса, например, меняя размер исходящего файла с оригинального на новый, не содержащий вредоносных элементов. После того как файл отправлен блок фильтрации 1 обновляет обе локальные базы данных вредоносных 7 и безопасных 6 элементов, получая данные для их обновления из соответствующих глобальных баз данных 4 и 5.At the same time, filtering
В случае идентификации одного либо нескольких вредоносных элементов, они заносятся в базу как вредоносные, остальные - как безопасные. Те элементы, что были выявлены как вредоносные, удаляются из документа таким образом, чтобы документ открывался у пользователя без ошибок.If one or several malicious elements are identified, they are entered into the database as malicious, the rest as safe. Those elements that were identified as malicious are deleted from the document so that the document opens without errors for the user.
Для этого полученный файл проходит проверку валидности файлов документа с удаленными вредоносными элементами. Проверка валидности осуществляется после удаления элементов, идентифицированных как вредоносные, но до передачи скорректированного документа в браузер 8.To do this, the received file is checked for the validity of document files with deleted malicious elements. Validation is carried out after the removal of elements identified as malicious, but before the transmission of the adjusted document to
Без проверки валидности файл может быть испорчен в результате удаления вредоносных элементов. При этом проверку валидности можно осуществлять и на этапе фильтрации после удаления известных вредоносных элементов из документа с последующей его корректировкой в случае необходимости. Проверка валидности документа осуществляется в блоке фильтрации 1, если из документа удалены вредоносные элементы. При этом происходит получение файла из блока фильтрации 1, проводится его проверка на валидность, согласно предопределенным правилам и стандартам, после чего, если есть необходимость, осуществляется корректировка файла согласно предопределенным алгоритмам и передача его обратно в блок фильтрации.Without validation, the file may be corrupted as a result of the removal of malicious elements. At the same time, the validity check can also be carried out at the filtering stage after the removal of known malicious elements from the document with its subsequent adjustment if necessary. The validity of the document is checked in
В случае обнаружения одного либо нескольких вредоносных элементов в исходящем документе, который был проанализирован блоком декомпозиции и композиции 2 на основании вердиктов, вынесенных блоком динамического детектирования 3 (например, «было зафиксировано срабатывание вредоносного кода»-«не было зафиксировано срабатывание вредоносного кода») для конкретного файла композиционного набора, который был в него загружен для проверки, те элементы, что были идентифицированы как вредоносные, заносятся блоком декомпозиции и композиции 2 в глобальную базу данных 4 вредоносных элементов. Указанная база данных реализована в качестве программного обеспечения и установлена на сервере 9 таким образом, чтобы в дальнейшем подобные элементы в исходящем трафике могли однозначно идентифицироваться как вредоносные. Все остальные неизвестные потенциально вредоносные элементы идентифицируются как безопасные, и после декомпозиции и композиции записи о новых элементах, идентифицированных как безопасные в режиме «только запись», включают в глобальную базу данных безопасных элементов 5 таким образом, чтобы в дальнейшем подобные элементы в исходящем трафике могли однозначно интерпретироваться как безопасные.If one or more malicious elements are detected in the outgoing document, which was analyzed by the decomposition and
Исходящий документ после динамического детектирования перекомпоновывается таким образом, чтобы исключить из его структуры те элементы, что были идентифицированы как вредоносные. После этого документ передается в систему фильтрации 1, которая принимает данный файл и проверяет его на валидность, после чего готовит документ для передачи в браузер 8 пользователю, модифицируя в случае необходимости иетаданные в оригинальном ответе на запрос браузера клиента. Далее осуществляется замена оригинального исходящего файла на новый, вследствие чего пользователю направляется безопасный вариант запрошенного изначального документа.After dynamic detection, the outgoing document is rearranged in such a way as to exclude from its structure those elements that have been identified as malicious. After that, the document is transmitted to the
При выявлении вредоносных элементов реализуют следующее.When malicious elements are detected, the following is implemented.
Командный интерпретатор исполняет код на сайте, расположенный в большом количестве файлов, которые оперируют также значениями из локальных или расположенных удаленно на других серверах баз данных. Каждая операция, исполняемая командным интерпретатором, заносится в лог, а также каждое значение входящих и исходящих параметров для данной операции. Например, если идет вредоносная вставка в HTML код странички, то данная вставка начинается в том интерпретируемом файле, что получен для выдачи пользователю, с позиции 444. При этом поднимают лог командного интерпретатора для того, чтобы идентифицировать тот набор команд на сайте, который вставил в файл этот вредоносный элемент. Предположим, это файл do_not_do_eval.php, строка 34, это команда «eval(«что-то там внутри»)». В таком случае лицо, принимающее решения на данном веб-сайте, информируется о том, что команда в строке 34 «еуа1(«что-то там внутри»)» из файла do_not_do_eval.php является вредоносным кодом на сайте, с предложением ее удалить.The shell executes code on a site located in a large number of files that also operate with values from local or located remotely on other database servers. Each operation executed by the command interpreter is logged, as well as each value of the incoming and outgoing parameters for this operation. For example, if there is a malicious insertion into the HTML code of a page, then this insertion begins in the interpreted file that was received for the user, from position 444. At the same time, the shell of the shell is raised in order to identify the set of commands on the site that it inserted into file this malicious element. Suppose this is the file do_not_do_eval.php, line 34, this is the command “eval (“ something inside ”). In this case, the decision-maker on this website is informed that the command on line 34 “eua1 (“ something is inside ”) from the do_not_do_eval.php file is malicious code on the site, with a proposal to delete it.
В случае наличия блока истории изменений файлов на сервере 9 и блока сбора логов командного интерпретатора и сервера, блок автоматизированного лечения, в результате анализа данных о работе сервера и истории изменения интересующего нас файла do_not_do_eval.php на предмет появления в нем строчки «eval(«что-то там внутри»)», блок автоматизированного лечения также может вынести вердикт по поводу того, какие именно средства использовал злоумышленник для инфицирования веб-сайта, и также предоставить лицу, принимающему решения на веб-сайте, заключение о шагах, которые нужно принять для предотвращения подобных инцидентов в будущем.If there is a block for the history of changes to files on
Известно, что иногда автоматизированная система не сможет сама произвести лечение в случаях, например, новых видов заражения сервера, но она сможет подсказать персоналу сайта (или приглашенным специалистам), где именно нужно искать причину проблемы, что немаловажно, так как на сайте может быть огромное количество файлов с командами и данными, а также многие миллионы записей в сопряженных базах данных.It is known that sometimes an automated system will not be able to treat itself in cases of, for example, new types of server infections, but it will be able to tell the site staff (or invited specialists) where exactly it is necessary to look for the cause of the problem, which is important, since the site can have a huge the number of files with commands and data, as well as many millions of records in related databases.
Также, во всех режимах можно выявлять атаки типа «перенаправление пользователя», для этого необходимо добавить к анализу исходящего с сервера документа также и анализ иетаданных, принимаемых на сервер (например, User Agent и IP-адрес) и отсылаемых с сервера обратно (например, код статуса и адрес перенаправления). Возможно динамическое перенаправление пользователя осуществлять с помощью тегов и данных внутри выдаваемой странички, иногда - через иетаданные, выдавая ответ сервера «301» (переадресация 301) с адресом перенаправления. Можно анализировать выдаваемый код на предмет вердикта детектора «переадресация по адресу, не связанного с оригинальным сайтом», можно анализировать иетаданные 301-го ответа сервера для вынесения вердикта «переадресация по адресу, не связанному с оригинальным сайтом».Also, in all modes, it is possible to detect attacks such as "user redirection", for this it is necessary to add to the analysis of the document outgoing from the server also the analysis of the metadata received on the server (for example, User Agent and IP address) and sent from the server back (for example status code and redirect address). It is possible to dynamically redirect the user using tags and data inside the issued page, sometimes through the metadata, giving the server response “301” (301 redirect) with the redirection address. You can analyze the issued code for the verdict of the “redirect to an address not associated with the original site” detector; you can analyze the metadata of the 301st server response to reach the verdict “redirect to an address not associated with the original site”.
Заявляемое изобретение может найти широкое применение для идентификации, обнаружения и анализа вредоносных элементов на веб-сайте и в трафике. При этом значительно повышается достоверность обнаружения вредоносных программ и элементов и снижаются затраты времени на их обнаружение.The claimed invention can be widely used to identify, detect and analyze malicious elements on a website and in traffic. At the same time, the reliability of detection of malicious programs and elements is significantly increased and the time required to detect them is reduced.
Claims (12)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015150022A RU2613535C1 (en) | 2015-11-20 | 2015-11-20 | Method for detecting malicious software and elements |
PCT/RU2016/000773 WO2017086837A1 (en) | 2015-11-20 | 2016-11-14 | Method for detecting malicious programs and elements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015150022A RU2613535C1 (en) | 2015-11-20 | 2015-11-20 | Method for detecting malicious software and elements |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2613535C1 true RU2613535C1 (en) | 2017-03-16 |
Family
ID=58458484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015150022A RU2613535C1 (en) | 2015-11-20 | 2015-11-20 | Method for detecting malicious software and elements |
Country Status (2)
Country | Link |
---|---|
RU (1) | RU2613535C1 (en) |
WO (1) | WO2017086837A1 (en) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2680736C1 (en) * | 2018-01-17 | 2019-02-26 | Общество с ограниченной ответственностью "Группа АйБи ТДС" | Malware files in network traffic detection server and method |
US10430588B2 (en) | 2016-07-06 | 2019-10-01 | Trust Ltd. | Method of and system for analysis of interaction patterns of malware with control centers for detection of cyber attack |
US10581880B2 (en) | 2016-09-19 | 2020-03-03 | Group-Ib Tds Ltd. | System and method for generating rules for attack detection feedback system |
US10721271B2 (en) | 2016-12-29 | 2020-07-21 | Trust Ltd. | System and method for detecting phishing web pages |
US10721251B2 (en) | 2016-08-03 | 2020-07-21 | Group Ib, Ltd | Method and system for detecting remote access during activity on the pages of a web resource |
US10762352B2 (en) | 2018-01-17 | 2020-09-01 | Group Ib, Ltd | Method and system for the automatic identification of fuzzy copies of video content |
US10778719B2 (en) | 2016-12-29 | 2020-09-15 | Trust Ltd. | System and method for gathering information to detect phishing activity |
US10958684B2 (en) | 2018-01-17 | 2021-03-23 | Group Ib, Ltd | Method and computer device for identifying malicious web resources |
US11005779B2 (en) | 2018-02-13 | 2021-05-11 | Trust Ltd. | Method of and server for detecting associated web resources |
US11151581B2 (en) | 2020-03-04 | 2021-10-19 | Group-Ib Global Private Limited | System and method for brand protection based on search results |
US11153351B2 (en) | 2018-12-17 | 2021-10-19 | Trust Ltd. | Method and computing device for identifying suspicious users in message exchange systems |
RU2762079C1 (en) * | 2021-03-24 | 2021-12-15 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Владивостокский государственный университет экономики и сервиса" (ВГУЭС) | Method for detecting malware and malware components |
US11250129B2 (en) | 2019-12-05 | 2022-02-15 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
US11356470B2 (en) | 2019-12-19 | 2022-06-07 | Group IB TDS, Ltd | Method and system for determining network vulnerabilities |
US11431749B2 (en) | 2018-12-28 | 2022-08-30 | Trust Ltd. | Method and computing device for generating indication of malicious web resources |
US11451580B2 (en) | 2018-01-17 | 2022-09-20 | Trust Ltd. | Method and system of decentralized malware identification |
US11475090B2 (en) | 2020-07-15 | 2022-10-18 | Group-Ib Global Private Limited | Method and system for identifying clusters of affiliated web resources |
US11503044B2 (en) | 2018-01-17 | 2022-11-15 | Group IB TDS, Ltd | Method computing device for detecting malicious domain names in network traffic |
US11526608B2 (en) | 2019-12-05 | 2022-12-13 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
RU2786352C1 (en) * | 2022-03-17 | 2022-12-20 | Акционерное общество "Лаборатория Касперского" | System and method for detecting a malicious script based on a set of hash codes |
US11755700B2 (en) | 2017-11-21 | 2023-09-12 | Group Ib, Ltd | Method for classifying user action sequence |
US11847223B2 (en) | 2020-08-06 | 2023-12-19 | Group IB TDS, Ltd | Method and system for generating a list of indicators of compromise |
US11934498B2 (en) | 2019-02-27 | 2024-03-19 | Group Ib, Ltd | Method and system of user identification |
US11947572B2 (en) | 2021-03-29 | 2024-04-02 | Group IB TDS, Ltd | Method and system for clustering executable files |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075500A1 (en) * | 2004-10-01 | 2006-04-06 | Bertman Justin R | System and method for locating malware |
WO2008057755A2 (en) * | 2006-10-31 | 2008-05-15 | At & T Corp. | Method and apparatus for providing automatic generation of wegpages for use in a honeypot system |
RU91202U1 (en) * | 2009-10-01 | 2010-01-27 | ЗАО "Лаборатория Касперского" | UNKNOWN Malicious Software Detection System |
RU94016U1 (en) * | 2009-12-02 | 2010-05-10 | Закрытое акционерное общество "Лаборатория Касперского" | OBFUSIONED MALICIOUS SOFTWARE DETECTION DETECTION SYSTEM |
RU2417429C2 (en) * | 2006-03-24 | 2011-04-27 | ЭйВиДжи ТЕКНОЛОДЖИЗ СиУай ЛИМИТЕД | Protection from exploitation of software vulnerability |
US20120023579A1 (en) * | 2010-07-23 | 2012-01-26 | Kaspersky Lab, Zao | Protection against malware on web resources |
US20120174224A1 (en) * | 2010-12-30 | 2012-07-05 | Verisign, Inc. | Systems and Methods for Malware Detection and Scanning |
RU2497189C2 (en) * | 2008-08-29 | 2013-10-27 | Авг Текнолоджиз Сз, С.Р.О. | System and method to detect malicious software |
US8677481B1 (en) * | 2008-09-30 | 2014-03-18 | Trend Micro Incorporated | Verification of web page integrity |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2214623C2 (en) * | 2000-12-29 | 2003-10-20 | Купреенко Сергей Витальевич | Computer network with internet screen and internet screen |
NO20023860D0 (en) * | 2002-08-14 | 2002-08-14 | Sospita As | Procedure for generating and processing data streams containing encrypted and decrypted data |
US8904536B2 (en) * | 2008-08-28 | 2014-12-02 | AVG Netherlands B.V. | Heuristic method of code analysis |
-
2015
- 2015-11-20 RU RU2015150022A patent/RU2613535C1/en active
-
2016
- 2016-11-14 WO PCT/RU2016/000773 patent/WO2017086837A1/en active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075500A1 (en) * | 2004-10-01 | 2006-04-06 | Bertman Justin R | System and method for locating malware |
RU2417429C2 (en) * | 2006-03-24 | 2011-04-27 | ЭйВиДжи ТЕКНОЛОДЖИЗ СиУай ЛИМИТЕД | Protection from exploitation of software vulnerability |
WO2008057755A2 (en) * | 2006-10-31 | 2008-05-15 | At & T Corp. | Method and apparatus for providing automatic generation of wegpages for use in a honeypot system |
RU2497189C2 (en) * | 2008-08-29 | 2013-10-27 | Авг Текнолоджиз Сз, С.Р.О. | System and method to detect malicious software |
US8677481B1 (en) * | 2008-09-30 | 2014-03-18 | Trend Micro Incorporated | Verification of web page integrity |
RU91202U1 (en) * | 2009-10-01 | 2010-01-27 | ЗАО "Лаборатория Касперского" | UNKNOWN Malicious Software Detection System |
RU94016U1 (en) * | 2009-12-02 | 2010-05-10 | Закрытое акционерное общество "Лаборатория Касперского" | OBFUSIONED MALICIOUS SOFTWARE DETECTION DETECTION SYSTEM |
US20120023579A1 (en) * | 2010-07-23 | 2012-01-26 | Kaspersky Lab, Zao | Protection against malware on web resources |
US20120174224A1 (en) * | 2010-12-30 | 2012-07-05 | Verisign, Inc. | Systems and Methods for Malware Detection and Scanning |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430588B2 (en) | 2016-07-06 | 2019-10-01 | Trust Ltd. | Method of and system for analysis of interaction patterns of malware with control centers for detection of cyber attack |
US10721251B2 (en) | 2016-08-03 | 2020-07-21 | Group Ib, Ltd | Method and system for detecting remote access during activity on the pages of a web resource |
US10581880B2 (en) | 2016-09-19 | 2020-03-03 | Group-Ib Tds Ltd. | System and method for generating rules for attack detection feedback system |
US10778719B2 (en) | 2016-12-29 | 2020-09-15 | Trust Ltd. | System and method for gathering information to detect phishing activity |
US10721271B2 (en) | 2016-12-29 | 2020-07-21 | Trust Ltd. | System and method for detecting phishing web pages |
US11755700B2 (en) | 2017-11-21 | 2023-09-12 | Group Ib, Ltd | Method for classifying user action sequence |
US10762352B2 (en) | 2018-01-17 | 2020-09-01 | Group Ib, Ltd | Method and system for the automatic identification of fuzzy copies of video content |
US10958684B2 (en) | 2018-01-17 | 2021-03-23 | Group Ib, Ltd | Method and computer device for identifying malicious web resources |
US11122061B2 (en) | 2018-01-17 | 2021-09-14 | Group IB TDS, Ltd | Method and server for determining malicious files in network traffic |
US11503044B2 (en) | 2018-01-17 | 2022-11-15 | Group IB TDS, Ltd | Method computing device for detecting malicious domain names in network traffic |
RU2680736C1 (en) * | 2018-01-17 | 2019-02-26 | Общество с ограниченной ответственностью "Группа АйБи ТДС" | Malware files in network traffic detection server and method |
US11475670B2 (en) | 2018-01-17 | 2022-10-18 | Group Ib, Ltd | Method of creating a template of original video content |
US11451580B2 (en) | 2018-01-17 | 2022-09-20 | Trust Ltd. | Method and system of decentralized malware identification |
US11005779B2 (en) | 2018-02-13 | 2021-05-11 | Trust Ltd. | Method of and server for detecting associated web resources |
US11153351B2 (en) | 2018-12-17 | 2021-10-19 | Trust Ltd. | Method and computing device for identifying suspicious users in message exchange systems |
US11431749B2 (en) | 2018-12-28 | 2022-08-30 | Trust Ltd. | Method and computing device for generating indication of malicious web resources |
US11934498B2 (en) | 2019-02-27 | 2024-03-19 | Group Ib, Ltd | Method and system of user identification |
US11250129B2 (en) | 2019-12-05 | 2022-02-15 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
US11526608B2 (en) | 2019-12-05 | 2022-12-13 | Group IB TDS, Ltd | Method and system for determining affiliation of software to software families |
US11356470B2 (en) | 2019-12-19 | 2022-06-07 | Group IB TDS, Ltd | Method and system for determining network vulnerabilities |
US11151581B2 (en) | 2020-03-04 | 2021-10-19 | Group-Ib Global Private Limited | System and method for brand protection based on search results |
US11475090B2 (en) | 2020-07-15 | 2022-10-18 | Group-Ib Global Private Limited | Method and system for identifying clusters of affiliated web resources |
US11847223B2 (en) | 2020-08-06 | 2023-12-19 | Group IB TDS, Ltd | Method and system for generating a list of indicators of compromise |
RU2762079C1 (en) * | 2021-03-24 | 2021-12-15 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Владивостокский государственный университет экономики и сервиса" (ВГУЭС) | Method for detecting malware and malware components |
US11947572B2 (en) | 2021-03-29 | 2024-04-02 | Group IB TDS, Ltd | Method and system for clustering executable files |
RU2786352C1 (en) * | 2022-03-17 | 2022-12-20 | Акционерное общество "Лаборатория Касперского" | System and method for detecting a malicious script based on a set of hash codes |
Also Published As
Publication number | Publication date |
---|---|
WO2017086837A1 (en) | 2017-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2613535C1 (en) | Method for detecting malicious software and elements | |
US9596255B2 (en) | Honey monkey network exploration | |
Egele et al. | Defending browsers against drive-by downloads: Mitigating heap-spraying code injection attacks | |
RU2680736C1 (en) | Malware files in network traffic detection server and method | |
Cova et al. | Detection and analysis of drive-by-download attacks and malicious JavaScript code | |
US7934261B1 (en) | On-demand cleanup system | |
Carmony et al. | Extract Me If You Can: Abusing PDF Parsers in Malware Detectors. | |
Shabtai et al. | F-sign: Automatic, function-based signature generation for malware | |
Wang et al. | Jsdc: A hybrid approach for javascript malware detection and classification | |
CN103279710B (en) | Method and system for detecting malicious codes of Internet information system | |
US9396334B1 (en) | System and method for detecting harmful files executable on a virtual stack machine | |
KR101132197B1 (en) | Apparatus and Method for Automatically Discriminating Malicious Code | |
RU2677361C1 (en) | Method and system of decentralized identification of malware programs | |
CN108369541B (en) | System and method for threat risk scoring of security threats | |
Hatada et al. | Empowering anti-malware research in Japan by sharing the MWS datasets | |
JP5752642B2 (en) | Monitoring device and monitoring method | |
Wang et al. | {MetaSymploit}:{Day-One} Defense against Script-based Attacks with {Security-Enhanced} Symbolic Analysis | |
Satrya et al. | The detection of 8 type malware botnet using hybrid malware analysis in executable file windows operating systems | |
Abuzaid et al. | An efficient trojan horse classification (ETC) | |
CN105791250B (en) | Application program detection method and device | |
Takata et al. | Minespider: Extracting urls from environment-dependent drive-by download attacks | |
Akram et al. | The making of indicator of compromise using malware reverse engineering techniques | |
US20200334353A1 (en) | Method and system for detecting and classifying malware based on families | |
RU2662391C1 (en) | System and method for checking web resources for presence of harmful inserts | |
KR101077855B1 (en) | Apparatus and method for inspecting a contents and controlling apparatus of malignancy code |