WO2018203775A2 - System and method for checking web resources for the presence of malicious inserts - Google Patents

System and method for checking web resources for the presence of malicious inserts Download PDF

Info

Publication number
WO2018203775A2
WO2018203775A2 PCT/RU2018/000274 RU2018000274W WO2018203775A2 WO 2018203775 A2 WO2018203775 A2 WO 2018203775A2 RU 2018000274 W RU2018000274 W RU 2018000274W WO 2018203775 A2 WO2018203775 A2 WO 2018203775A2
Authority
WO
WIPO (PCT)
Prior art keywords
elements
malicious
code
unit
data
Prior art date
Application number
PCT/RU2018/000274
Other languages
French (fr)
Russian (ru)
Other versions
WO2018203775A3 (en
Inventor
Илья Самуилович РАБИНОВИЧ
Original Assignee
Илья Самуилович РАБИНОВИЧ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Илья Самуилович РАБИНОВИЧ filed Critical Илья Самуилович РАБИНОВИЧ
Publication of WO2018203775A2 publication Critical patent/WO2018203775A2/en
Publication of WO2018203775A3 publication Critical patent/WO2018203775A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to systems and methods for securing computer systems, and more particularly, to systems and methods for checking secure web resources for malicious, potentially dangerous and unwanted inserts.
  • 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.
  • the disadvantages of antivirus software include the inability to detect new or unknown viruses.
  • this method does not provide for the possibility of identifying a specific place inside the website where the malicious insertion is located, since the protection system only checks the links in the internal database and issues a verdict that is displayed to the user whether the page is trusted or not.
  • PCT publication: WO 2013 / 089576 20130620 including the execution in the client computer system of an initial scan of a variety of targets of the client computer system for malware in response to a preliminary determination of the initial scan for malware suspiciously Go facility for malware; generating in the client computer system a plurality of target hashes of the target objects, each target hash representing a separate code block of the target object, with each individual code block containing a sequence of processor instructions of the target object; sending multiple target hashes from the client computer system to the server computer system, connected to the client computer system by a global computer network; receiving by the client computer system from the server computer system a server indicator indicating whether the target object is malicious, and the server indicator is generated by the server computer system by obtaining a plurality of reference hashes of the reference object for at least one target hash from the set of target hashes, and the reference object are selected according to the target hash from the set of objects listed in the whitelist, and if the set of target hashes is not identical to the set of reference hashe
  • this method implements a client-server scan of the network for malicious objects, in which the object is evaluated as malicious by the hash sum, and not by the functionality, and implements the signature search procedure, and if the object being scanned is not identified by its hash as malicious, then it considered harmless. This circumstance does not allow reliable and reliable web scanning.
  • This system contains: (a) a checklist compiler designed to extract the addresses of web resources from client applications, determine scan parameters for the corresponding web resource address, and the checklist compiler is associated with a database of check parameters; (b) an identifier interception tool for extracting user identifiers from client applications, adding new user identifiers and storing user identifiers for the corresponding web resource address in the verification parameter database, wherein the identifier interception means is associated with the verification parameter database; (c) a verification tool designed to authorize on a web resource using user identifiers and to further check the web resource for malicious components, taking into account the scan parameters, while the scan tool is associated with a database of scan parameters; (d) said parameter database Validation, designed to store validation settings for web resources and user identifiers.
  • the method for checking web resources for malicious components according to the specified patent is based on the fact that the parameters for checking the web resource are set:
  • a list of web resource addresses for verification b. verification parameters are defined that correspond to each address of the web resource; at. user identifiers for authorization on a web resource are determined; Further, the web resource is checked based on the verification parameters and authorization data:
  • this method does not have the ability to scan files and databases located on the server, but scans the data that they generate and displays to the user, which does not allow to identify specific places on the server where malicious code and data inserts are located.
  • One of the obstacles that makes it difficult to reliably identify the code responsible for detecting malicious inserts is that the operation of the malicious insert may depend on many parameters determined by the developer of the malicious insert, such as the IP address of the request, request parameters, browser cookies (for example, it doesn’t re-enter exploit per page), browser language, browser status bar, and so on.
  • the claimed invention allows to solve this problem and to provide more reliable detection of malicious code.
  • the main objective of the claimed invention is to solve the problem of reliable and prompt detection of infections of web resources by fully checking the code of the website and the data that the verified code gives to the browser.
  • the technical result is to increase the reliability of detection of malicious inserts on sites by reducing the number of false positives web scanner by checking not only the code of the website itself, but also all the data that the website gives to the browser.
  • the claimed invention Unlike traditional scanning, in which the website code is scanned for potentially dangerous parts of the code using predefined signatures, which creates a large number of false positives, in the claimed invention, not only the website code is scanned, but also the data that it embeds in browser, in connection with which and on the basis of a larger volume of checked information more accurate verdicts are issued.
  • the system for checking the website for malicious inserts contains a start address search unit connected to an interpreter configured to interpret all directions of code execution upon conditional transition, a decision making unit, a local database of safe elements, a local database malicious elements, a data reception and transmission unit, a code and data correction unit, a decomposition and composition unit and a dynamic analysis unit, while the interpreter is connected to decision block connected to the block of the local database of safe elements, the block of the local database of malicious elements, the block of reception and transmission of data and the block of correction of code and data, and the block of reception and transmission of data is connected to the decomposition and composition block connected to the dynamic analysis block .
  • An interpreter configured to interpret all directions of code execution in a conditional transition may contain, in one embodiment, an interpretation unit connected in series, an interpretation data memory unit, and an interpretation data analysis unit.
  • the start address search unit is preferably configured to search all the start addresses of web pages located on a web resource by recursively parsing the contents of the web pages of the web resource or by analyzing entries in additional sources of similar information, for example, server logs.
  • the data reception and transmission unit is configured to transmit data files to the decomposition and composition unit and receive data from its output.
  • the data receiving and transmitting unit can be additionally connected to the global database of safe elements and the global database of malicious elements.
  • the system may further comprise a traditional anti-virus scanner of malicious code.
  • the decision-making unit can be made with the possibility of working together with a traditional anti-virus scanner of malicious code with subsequent joint analysis of the results of scanning and interpretation.
  • a web resource is recursively parsed and related information sources, for example, web server logs, are analyzed, the web resource code is interpreted, and all directions of code execution under each conditional transition with logging the course of interpretation, and when interpreting the conditional branch command, the data on the course of interpretation is duplicated, and the code interpretation continues in all directions defined by the conditional transitions, with the output of web pages that check for malicious elements by comparing all elements of potentially harmful types contained in the outgoing data with a local database of safe elements and a local database of malicious elements, with a global database of safe elements and global a database of malicious elements, and in the case of identifying unknown potentially harmful elements, they are subjected to verification and dynamic analysis, after which they are installed There is a correspondence between each detected malicious element and the code on the site that entered these elements into the source data.
  • the malicious element inserted it is optimal to analyze the code that the malicious element inserted, by fully identifying it, including entries in the server databases. It is preferable to inform the owner of the web resource about the presence of malicious code on the server and the need to remove it, and if consent to delete the malicious code is obtained, delete it from the server. Optimally, the data of potentially harmful elements is saved in a file and transferred for verification using a global database of known safe elements and a global database of malicious elements.
  • compositional set of files from decomposed elements is performed.
  • the drawing schematically shows a block diagram of a system with which the inventive method is implemented.
  • the system for checking the web resource for malicious inserts consists of a block 1 for searching for start addresses on the server web data connected to the interpreter 2, containing the interpretation block 2.1 and the interpretation data block 2.2 connected to block 2.3. analysis of interpretation data.
  • the interpreter 2 block 2.1 is connected to the decision block 4 connected to the local database of 5 safe elements, the local database of 3 malicious elements, as well as to the code and data correction unit 7 connected to the notification block 8.
  • Block 1 of the search for start addresses 1 on the web data of the server searches and forms a list of all available links that are present in those HTML pages that the server provides, recursively parsing the web resource, and It also analyzes server log files and other data sources about entry points, for example, URL addresses that were entered at the server input and from which the server returned page data for analysis of a web resource.
  • the interpretation block 2.1 After which the website code begins to be sequentially interpreted using the interpretation block 2.1, which is characterized by a unique logical identifier, since among all the logical identifiers there is not one identical.
  • the interpretation progress is recorded in memory block 2.2.
  • an internal database in the form of a data set - “the interpreted function + incoming parameters received by the function + data coming from the function”, uniquely associated with the logical identifier of the code interpretation stream, for example, ID 10.
  • ID 10 uniquely associated with the logical identifier of the code interpretation stream
  • the interpretation block 2.1 suspends the initial interpretation stream (in our case, ID 10), creates a new interpretation stream in the state "Suspension flax ”with a new unique logical identifier (for example, ID20), creates an identical copy of the data of its execution flow (that is, ID 10) with the help of memory block 2.2. interpretation data of identifier 2 and assigns the identifier of the new execution thread (in our case, ID20 ).
  • ID 10 initial interpretation stream
  • ID20 creates a new interpretation stream in the state "Suspension flax ”with a new unique logical identifier (for example, ID20), creates an identical copy of the data of its execution flow (that is, ID 10) with the help of memory block 2.2. interpretation data of identifier 2 and assigns the identifier of the new execution thread (in our case, ID20 ).
  • the interpretation unit 2.1 emulates the execution of the unconditional transition command so as to find out the transition points of the interpretation flow, both in the case of the fulfillment of the transition condition and in case of its non-execution.
  • the initial stream of interpretation is translated into the interpreted code as if the transition condition in the conditional operator the transition is executed, and the cloned interpretation stream is transferred to the interpreted code in this way if the condition of the transition in the conditional transition operator is not fulfilled.
  • both interpretation flows are transferred from the “paused” state to the activity state, continuing to interpret the code.
  • the creation of two interpretation streams is intended to separate the stream of interpretation of the website code in the case when a conditional transition occurs in the path of the interpreter.
  • interpreter 2 checks all parts of the code posted on the website to identify malicious inserts, which are protected by the fact that during the usual linear interpretation they will not be interpreted and you can skip the malicious code insert. Therefore, after separation, the starting point of execution of the new interpretation flow is set in such a way as to start the interpretation from the very first line of code located after checking the conditions for switching to different branches of the code during interpretation. As a result of this sequence of operations, the code is interpreted along all branches of the code caused by conditional branch commands. Upon completion of the interpretation, interpreter 2 generates one or more web pages with data from the output of interpretation block 2.1, after which it transfers these pages to decision block 4. Block 4 decision making checks received from block 2.1.
  • interpreter 2 data for example, web pages, XML documents or other structured data by static analysis using a local database of 5 safe elements, and then checks them in the local database block 3 malicious elements. If any element or elements of potentially dangerous types were not unambiguously identified in decision block 4 after a static analysis, then decision block 4 updates the local database of known safe elements by receiving new data through block 6 for receiving and transmitting data from a global database of 9 known safe elements. Thus, the local database is updated if an unknown element of a potentially dangerous type is found, since it is likely that it was already identified elsewhere during scanning and that it is already in the global database, but the description of the element has not yet reached the specific local system database .
  • the local database of malicious elements is updated by receiving new data from the global database of 11 malicious elements in the event of detection of elements of potentially malicious types.
  • the data is checked again in decision block 4 so as not to initiate once again the analysis of potentially harmful elements established during interpretation by the interpreter 2 if they are detected in global databases, which saves the resources of the claimed system and increases it performance. If the data received from the interpreter 2 still contains unknown elements or elements of potentially dangerous types, then the data received from the interpreter 2 is transmitted to the data transmission and reception unit 6.
  • decision-making block 4 in one of the embodiments of the claimed system can work together with a traditional malware scanner (not shown in the drawing) working on signatures and heuristics, mainly on signatures based on regular expressions with subsequent comparison of the data obtained by both paths for more reliable identification of malicious correlations in the source code and the data that this code produces.
  • the specified implementation can help reduce the number of false positives of the system.
  • Block 6 transmitting and receiving data transfers the received files containing unknown elements of potentially dangerous types to the decomposition and composition block 10.
  • the decomposition of the received document in block 10 is carried out by breaking it into many separate elements containing unknown elements of potentially harmful types, from which many files with decomposed elements.
  • block 10 decomposes the document with unknown components into multiple decomposed elements.
  • Files are created from the latter, the number of which correlates with the number of decomposed elements, and then one or more sets of files are composed of decomposed elements, which are transferred to the dynamic analysis unit 12 for performing a dynamic method check, which means that block 12 monitors deviations from the normal client program behavior as a result of the actions of malicious elements.
  • Dynamic analysis process It is aimed at triggering malicious code contained in a file, and it should work in the time that is allocated to dynamic analysis. In this case, the fact of the exploit’s response should be recorded, identifying the progress of the client software as abnormal.
  • the dynamic analysis unit can be performed in the form of software installed on the server of the system, executed on the basis of a program for working with the corresponding type of documents and having or emulating vulnerabilities associated with the interpretation of this type of documents, the task of which is to identify anomalies of progress execution of the software client or its behavior.
  • special software can be used installed on the server of the system and emulating, partially or completely, the progress of the client software related to the interpretation of the corresponding file type.
  • a program for working with the corresponding type of documents, installed on the server of the system and which is part of the dynamic analysis 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.
  • the verdict for each of the composition files is sent from the dynamic analysis block 12 to the decomposition and composition block 10, after which the decomposition and composition block makes a verdict for each of the unknown elements of potentially harmful types, according to the results of which the global database of known safe elements 9 and the global database of 11 known malicious elements are updated.
  • a decision command 4 is sent to the decision block 4 through the data reception and transmission unit 6 from the output of the decomposition and composition block 10 to update the local database of 5 known safe elements by receiving new data from the global database 9 of known safe elements, then the local database 3 is updated malicious elements by obtaining new data from the global database of 11 malicious elements, after which the data received from the interpreter 2 is checked again.
  • decision block 4 sends a request for each of the detected malicious elements to block 2.3.
  • analysis of interpretation data which identifies the code that inserted these elements into the source document, then analyzes the relationship of this code with the other code of the web resource and its databases in order to identify other possible parts of the malicious code and malicious entries in the web database resource.
  • an analysis is made of exactly which code inserted the malicious element into the data that went to the server’s output, where this code takes data, what kind of data it is, what is the binding of this code, and what other code on the site is it connected to, i.e. e. a reverse analysis is performed using the database 2.2, in which the interpretation unit 2.1 records all the information about the progress of the interpretation.
  • the interpreter 2 data analysis unit 2.3 identifies all malicious code responsible for embedding malicious elements in the pages displayed to the user in the browser. Then the data about the parts of the code and pointers to them in the form of “directory name / file name / line number”, as well as identifiers of entries in the databases identified as malicious, are transferred to decision block 4, which transfers this data to block 7 code correction and data that conducts additional analysis of the detected malicious code in order to more accurately and fully identify its relationships with other parts of the code and website data, including entries in server databases.
  • notification block 8 informs the administrator or owner of the web resource about the presence of malicious code on the server and asks for confirmation to remove the detected malicious code.
  • confirmation of the removal of the malicious code is received, all detected malicious code is deleted from the server using the data and code correction unit 7, and the corresponding files or parts of the files are erased.
  • the inventive system and method for checking web resources for the presence of malicious inserts can be widely used to ensure the security of web resources, as they can reliably and reliably detect malicious inserts on sites by reducing the number of false positives for a web scanner by checking not only the web code itself site, but also all the data that is issued by the site to the browser.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention relates to systems and methods for ensuring the safety of computer systems, and more particularly to systems and methods for checking protected web resources for the presence of malicious, potentially dangerous and undesirable inserts. A system for checking web resources for the presence of malicious inserts comprises an origin address search unit connected to an interpreter capable of interpreting all code execution directions in the event of conditional branching, a decision-making unit, a local database of safe elements, a local database of malicious elements, a data receiving and transmitting unit, a code and data correction unit, a decomposition and composition unit, and a dynamic analysis unit, wherein the interpreter is connected to the decision-making unit, which is connected to a unit of the local database of safe elements, and to a unit of the local database of malicious elements, the data receiving and transmitting unit, and the code and data correction unit, and the data receiving and transmitting unit is connected to the decomposition and composition unit which is connected to the dynamic analysis unit. A method for checking web resources for the presence of malicious inserts using the aforementioned checking system includes recursively parsing a web resource and analyzing the associated sources of information, for example the logs of the web resource, interpreting the code of the web resource and logging the interpretation step, wherein, in the event of interpretation of a conditional branching command, the interpretation step is duplicated, and interpretation of the code is continued in all directions defined by the conditional branching with one or more web pages being obtained in which potentially malicious elements are detected by comparing all elements of potentially malicious types with those contained in the local database of safe elements and in the local database of malicious elements; if unknown potentially malicious elements are detected, these elements are subjected to checking and dynamic analysis, whereupon a correspondence is established between each malicious element detected and the code on the site which introduced these elements into the source data.

Description

Система и способ проверки веб-ресурсов на наличие вредоносных вставок  System and method for checking web resources for malicious insertions
Настоящее изобретение относится к системам и способам обеспечения безопасности компьютерных систем и более конкретно к системам и способам проверки защищенных веб-ресурсов на наличие вредоносных, потенциально опасных и нежелательных вставок. The present invention relates to systems and methods for securing computer systems, and more particularly, to systems and methods for checking secure web resources for malicious, potentially dangerous and unwanted inserts.
По мере того как технологии и инфраструктура компьютерных сетей совершенствуются, объем и скорость данных, передаваемых между устройствами компьютерной сети, стремительно возрастает. При этом передаваемые данные могут содержать вредоносные вставки - программы и элементы. Вредоносная программа - это компьютерный программный продукт, выполненный с возможностью проникать в вычислительное устройство без ведома или согласия владельца устройства. Вредоносные программы стали общеупотребительным термином и означают общий класс программного обеспечения, включающий в себя множество вредоносных, навязчивых или иным образом мешающих работе форм программного обеспечения или машинного кода. Вредоносные программы включают в себя различные вирусы, программы-черви, программы типа "троянский конь" (или программы - "трояны"), руткиты, программы-шпионы, программы с навязчивой рекламой, программы, эксплуатирующие уязвимости в программном обеспечении третьих сторон, и любое другое нежелательное злонамеренное программное обеспечение. Различные типы вредоносных программ могут собирать персональную информацию, связанную с пользователем, и отправлять эту информацию обратно в устройство сбора информации. Другие типы вредоносных программ могут приводить к тому, что вычислительное устройство будет работать с ошибками или вообще не будет работать. 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. Moreover, the transmitted data may contain malicious inserts - 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 inserts using antivirus software. Traditional antivirus software uses search sequences and a predefined analytic approach to search for known malware.
Современные антивирусные сканеры вредоносных вставок на веб-ресурсах (веб- сканеры), агенты которых размещаются на сервере и сканируют файлы, размещённые на сервере, с помощью сигнатур известных вредоносных вставок, малоэффективны из- за того, что пытаются применить технологии, хорошо отработанные на бинарном коде, к интерпретируемым файлам в вебе, которые являются всего-навсего текстом. Текст же легко модифицируется и обфусцируется, поэтому все современные веб-сканеры имеют большое количество ложных срабатываний, что затрудняет идентификацию вредоносных вставок в тех файлах, которые размещены на сервере. Modern anti-virus scanners of malicious inserts on web resources (web scanners), whose agents are located on the server and scan files hosted on the server using signatures of known malicious inserts, are ineffective due to the fact that they are trying to apply technologies that are well-developed on the binary code, to interpreted files on the web, which are just text. The text is it is easily modified and obfuscated, therefore, all modern web scanners have a large number of false positives, which makes it difficult to identify malicious inserts in those files that are located on the server.
Таким образом, к недостаткам антивирусного программного обеспечения можно отнести неспособность обнаружения новых или неизвестных вирусов. Thus, the disadvantages of antivirus software include the inability to detect new or unknown viruses.
Существуют технологии, включающие некоторые признаки заявляемого изобретения, однако в уровне техники неизвестна совокупность признаков заявляемой группы изобретений, позволяющая исключить вышеуказанные недостатки известных технологий веб-сканирования. Известен способ повышения уровня безопасности средств пользователя при просмотре web-страниц (заявка RU 2008103005, Дата публикации заявки: 10.08.2009. Конвенционный приоритет: 28.06.2005 US 11/167,235. Публикация РСТ: WO 2007/000751 20070104), согласно которому поиск веб-страниц включает в себя этапы, на которых веб-страницы классифицируются в соответствии с рангом безопасности и при предоставлении ссылки на каждую веб-страницу предоставляют упомянутый ранг безопасности вместе с упомянутой ссылкой. There are technologies that include some of the features of the claimed invention, however, in the prior art, the totality of the features of the claimed group of inventions is unknown, which allows to eliminate the above disadvantages of the known web scanning technologies. There is a method of increasing the security level of user tools when browsing web pages (application RU 2008103005, publication date of application: 10.08.2009. Convention priority: 06/28/2005 US 11 / 167,235. PCT publication: WO 2007/000751 20070104), according to which search the web -pages includes the stages in which web pages are classified according to the security rank and when providing a link to each web page, they provide the mentioned security rank together with the said link.
Однако в указанном способе не предусмотрена возможность выявления конкретного места внутри веб-сайта, где расположена вредоносная вставка, поскольку система защиты проверяет ссылки только по внутренней базе и выдаёт вердикт, который отображается пользователю, доверенной ли является страница или нет. However, this method does not provide for the possibility of identifying a specific place inside the website where the malicious insertion is located, since the protection system only checks the links in the internal database and issues a verdict that is displayed to the user whether the page is trusted or not.
Известны система и способ защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга (заявка RU 2014121249, Дата публикации заявки: 10.12.2015. Конвенционный приоритет: 02.11.2011 US 61/554,859; 06.12.2011 US 13/312,686. Публикация РСТ: WO 2013/089576 20130620), включающие в себя выполнение в клиентской компьютерной системе начального сканирования множества целевых объектов клиентской компьютерной системы на наличие вредоносных программ в ответ на предварительное определение начального сканирования на наличие вредоносных программ подозрительности целевого объекта на вредоносность; генерацию в клиентской компьютерной системе множества целевых хешей целевых объектов, причем каждый целевой хеш представляет отдельный блок кода целевого объекта, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта; отправку множества целевых хешей с клиентской компьютерной системы на серверную компьютерную систему, соединенную с клиентской компьютерной системой глобальной вычислительной сетью; получение клиентской компьютерной системой от серверной компьютерной системы серверного индикатора, указывающего, является ли целевой объект вредоносным, причем серверный индикатор генерируется серверной компьютерной системой посредством получения множества ссылочных хешей ссылочного объекта для, по меньшей мере, одного целевого хеша из множества целевых хешей, причем ссьшочный объект выбирают согласно целевому хешу из набора объектов, занесенных в вайтлист, и, если множество целевых хешей не идентично множеству ссылочных хешей, определения показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей; если показатель подобия превышает заданное пороговое значение, маркирования целевого объекта как невредоносного. A known system and method of protection against malicious software based on fuzzy whitelisting (application RU 2014121249, publication date of application: 12/10/2015. Conventional priority: 02/11/2011 US 61 / 554,859; 12/06/2011 US 13 / 312,686. PCT publication: WO 2013 / 089576 20130620), including the execution in the client computer system of an initial scan of a variety of targets of the client computer system for malware in response to a preliminary determination of the initial scan for malware suspiciously Go facility for malware; generating in the client computer system a plurality of target hashes of the target objects, each target hash representing a separate code block of the target object, with each individual code block containing a sequence of processor instructions of the target object; sending multiple target hashes from the client computer system to the server computer system, connected to the client computer system by a global computer network; receiving by the client computer system from the server computer system a server indicator indicating whether the target object is malicious, and the server indicator is generated by the server computer system by obtaining a plurality of reference hashes of the reference object for at least one target hash from the set of target hashes, and the reference object are selected according to the target hash from the set of objects listed in the whitelist, and if the set of target hashes is not identical to the set of reference hashes, op determining the similarity index according to the number of hashes common to both a plurality of target hashes and a plurality of reference hashes; if the similarity indicator exceeds a predetermined threshold value, marking the target object as non-harmful.
Однако указанный способ реализует клиент-серверную проверку сети на вредоносные объекты, в которой объект оценивается как вредоносный по хеш-сумме, а не по функционалу, и реализует сигнатурную процедуру поиска, и если проверяемый объект не идентифицируется по своему хешу, как вредоносный, то он считается невредоносным. Указанное обстоятельство не позволяет надежно и достоверно осуществлять веб-сканирование. However, this method implements a client-server scan of the network for malicious objects, in which the object is evaluated as malicious by the hash sum, and not by the functionality, and implements the signature search procedure, and if the object being scanned is not identified by its hash as malicious, then it considered harmless. This circumstance does not allow reliable and reliable web scanning.
Наиболее близкими к заявляемому изобретению являются система и способ проверки веб-ресурсов на наличие вредоносных компонентов, принятые за прототипы указанных объектов (патент RU 2446459, Опубликовано: 27.03.2012.). Closest to the claimed invention is a system and method for checking web resources for the presence of malicious components, taken as prototypes of these objects (patent RU 2446459, Published: 03/27/2012.).
Данная система содержит: (а) средство составления списка проверки, предназначенное для выделения адресов веб-ресурсов из клиент-приложений, определения параметров проверки для соответствующего адреса веб-ресурса, при этом средство составления списка проверки связано с базой данных параметров проверки; (б) средство перехвата идентификаторов, предназначенное для выделения идентификаторов пользователей из клиент-приложений, добавления новых идентификаторов пользователей и сохранения идентификаторов пользователей для соответствующего адреса веб-ресурса в базу данных параметров проверки, при этом средство перехвата идентификаторов связано с базой данных параметров проверки; (в) средство проверки, предназначенное для авторизации на веб-ресурсе с использованием идентификаторов пользователей и для дальнейшей проверки веб-ресурса на наличие вредоносных компонентов с учетом параметров проверки, при этом средство проверки связано с базой данных параметров проверки; (г) упомянутую базу данных параметров проверки, предназначенную для хранения параметров проверки веб-ресурсов и идентификаторов пользователей. This system contains: (a) a checklist compiler designed to extract the addresses of web resources from client applications, determine scan parameters for the corresponding web resource address, and the checklist compiler is associated with a database of check parameters; (b) an identifier interception tool for extracting user identifiers from client applications, adding new user identifiers and storing user identifiers for the corresponding web resource address in the verification parameter database, wherein the identifier interception means is associated with the verification parameter database; (c) a verification tool designed to authorize on a web resource using user identifiers and to further check the web resource for malicious components, taking into account the scan parameters, while the scan tool is associated with a database of scan parameters; (d) said parameter database Validation, designed to store validation settings for web resources and user identifiers.
Способ проверки веб-ресурсов на наличие вредоносных компонент по указанному патенту основан на том, что устанавливаются параметры проверки веб- ресурса: The method for checking web resources for malicious components according to the specified patent is based on the fact that the parameters for checking the web resource are set:
а. составляется список адресов веб-ресурсов для проверки; б. определяются параметры проверки, соответствующие каждому адресу веб-ресурса; в. определяются идентификаторы пользователя для авторизации на веб-ресурсе; далее производится проверка веб-ресурса с учетом параметров проверки и данных авторизации: but. A list of web resource addresses for verification b. verification parameters are defined that correspond to each address of the web resource; at. user identifiers for authorization on a web resource are determined; Further, the web resource is checked based on the verification parameters and authorization data:
а. устанавливается соединение с веб-ресурсом по адресу веб-ресурса; б. производится авторизация на веб-ресурсе с использованием соответствующих данному веб-ресурсу идентификаторов пользователя; в. осуществляется проверка веб-ресурса на наличие вредоносных программ и угроз безопасности. but. a connection is established with the web resource at the web resource address; b. Authorization is performed on the web resource using user identifiers corresponding to this web resource; at. The web resource is checked for malware and security risks.
Однако в данном способе отсутствует возможность сканирования файлов и баз данных, находящихся на сервере, а осуществляется сканирование данных, которые ими генерируются и выводятся пользователю, что не позволяет идентифицировать конкретные места на сервере, где находятся вредоносные вставки кода и данных. Одним из препятствий, затрудняющем надежное выявление кода, ответственного за выявление вредоносных вставок является то, что срабатывание вредоносной вставки может зависеть от множества параметров, определяемых разработчиком вредоносной вставки, таких как IP адрес запроса, параметры запроса, куки браузера (например, повторно зашедшим не вставляется эксплойт на страницу), язык браузера, статусная строка запроса браузера и так далее. However, this method does not have the ability to scan files and databases located on the server, but scans the data that they generate and displays to the user, which does not allow to identify specific places on the server where malicious code and data inserts are located. One of the obstacles that makes it difficult to reliably identify the code responsible for detecting malicious inserts is that the operation of the malicious insert may depend on many parameters determined by the developer of the malicious insert, such as the IP address of the request, request parameters, browser cookies (for example, it doesn’t re-enter exploit per page), browser language, browser status bar, and so on.
Заявляемое изобретение позволяет решить данную проблему и обеспечить более надежное выявление вредоносного кода. The claimed invention allows to solve this problem and to provide more reliable detection of malicious code.
Основной задачей заявляемого изобретения является решение проблемы достоверного и оперативного обнаружения заражений веб-ресурсов за счет полной проверки кода веб-сайта и тех данных, которые проверяемый код выдаёт в браузер. The main objective of the claimed invention is to solve the problem of reliable and prompt detection of infections of web resources by fully checking the code of the website and the data that the verified code gives to the browser.
Техническим результатом является повышение достоверности обнаружения вредоносных вставок на сайтах, путем уменьшения количества ложных срабатываний веб-сканера за счет проверки не только самого кода веб-сайта, но и всех данных, которые выдаются сайтом браузеру. The technical result is to increase the reliability of detection of malicious inserts on sites by reducing the number of false positives web scanner by checking not only the code of the website itself, but also all the data that the website gives to the browser.
В отличие от традиционного сканирования, в котором сканируется код веб- сайта на наличие потенциально опасных частей кода по предопределённым сигнатурам, что создает большое количество ложных срабатываний, в заявляемом изобретении сканируется не только код веб-сайта, но и те данные, которые он вьщаёт в браузер, в связи с чем и на основании большего объема проверяемой информации выдаются более точные вердикты. Unlike traditional scanning, in which the website code is scanned for potentially dangerous parts of the code using predefined signatures, which creates a large number of false positives, in the claimed invention, not only the website code is scanned, but also the data that it embeds in browser, in connection with which and on the basis of a larger volume of checked information more accurate verdicts are issued.
Технический результат достигается тем, что система проверки веб-сайта на наличие вредоносных вставок содержит блок поиска начальных адресов, подключенный к интерпретатору, выполненному с возможностью интерпретации всех направлений исполнения кода при условном переходе, блок принятия решений, локальную базу данных безопасных элементов, локальную базу данных вредоносных элементов, блок приема и передачи данных, блок коррекции кода и данных, блок декомпозиции и композиции и блок динамического анализа, при этом интерпретатор соединен с блоком принятия решений, подключенному к блоку локальной базы данных безопасных элементов, блоку локальной базы данных вредоносных элементов, блоку приема и передачи данных и блоку коррекции кода и данных, а блок приема и передачи данных соединен с блоком декомпозиции и композиции, подключенным к блоку динамического анализа. The technical result is achieved by the fact that the system for checking the website for malicious inserts contains a start address search unit connected to an interpreter configured to interpret all directions of code execution upon conditional transition, a decision making unit, a local database of safe elements, a local database malicious elements, a data reception and transmission unit, a code and data correction unit, a decomposition and composition unit and a dynamic analysis unit, while the interpreter is connected to decision block connected to the block of the local database of safe elements, the block of the local database of malicious elements, the block of reception and transmission of data and the block of correction of code and data, and the block of reception and transmission of data is connected to the decomposition and composition block connected to the dynamic analysis block .
Интерпретатор, выполненный с возможностью интерпретации всех направлений исполнения кода при условном переходе, может содержать в одном из вариантов реализации последовательно соединенные блок интерпретации, блок памяти данных интерпретации и блок анализа данных интерпретации. Блок поиска начальных адресов предпочтительно выполнить с возможностью поиска всех начальных адресов веб-страниц, расположенных на веб-ресурсе, путём рекурсивного разбора содержимого веб-страниц веб-ресурса или путем анализа записей в дополнительных источниках подобной информации, например, логах сервера. Блок приема и передачи данных выполнен с возможностью передачи файлов с данными в блок декомпозиции и композиции и приема данных с его выхода. Блок приема и передачи данных может быть дополнительно соединен с глобальной базой данных безопасных элементов и глобальной базой данных вредоносных элементов. An interpreter configured to interpret all directions of code execution in a conditional transition may contain, in one embodiment, an interpretation unit connected in series, an interpretation data memory unit, and an interpretation data analysis unit. The start address search unit is preferably configured to search all the start addresses of web pages located on a web resource by recursively parsing the contents of the web pages of the web resource or by analyzing entries in additional sources of similar information, for example, server logs. The data reception and transmission unit is configured to transmit data files to the decomposition and composition unit and receive data from its output. The data receiving and transmitting unit can be additionally connected to the global database of safe elements and the global database of malicious elements.
Оптимально блок коррекции кода и данных выполнить в виде программного обеспечения, установленного на сервере, с обеспечением возможности удаления вредоносных вставок кода и данных, выявленных в результате веб-сканирования. It is optimal to execute the code and data correction block in the form of software installed on the server, providing the ability to remove malicious code and data inserts detected as a result of web scanning.
Система может дополнительно содержать традиционный антивирусный сканер вредоносного кода. The system may further comprise a traditional anti-virus scanner of malicious code.
При этом блок принятия решений может быть выполнен с возможностью совместной работы с традиционным антивирусным сканером вредоносного кода с последующим совместным анализом результатов сканирования и интерпретации. At the same time, the decision-making unit can be made with the possibility of working together with a traditional anti-virus scanner of malicious code with subsequent joint analysis of the results of scanning and interpretation.
Технический результат достигается также тем, что в способе проверки веб- ресурсов на наличие вредоносных вставок проводят рекурсивный разбор веб-ресурса и анализ сопутствующих источников информации, например, логов веб-сервера, интерпретируют код веб-ресурса, и все направления исполнения кода при каждом условном переходе с логгированием хода интерпретации, причем при интерпретации команды условного перехода данные о ходе интерпретации дублируют, а выполнение интерпретации кода продолжают по всем направлениям, определенным условными переходами, с получением на выходе веб-страниц, которые проверяют на наличие вредоносных элементов путем сравнения всех элементов потенциально вредоносных типов, содержащихся в исходящих данных, с локальной базой данных безопасных элементов и локальной базой данных вредоносных элементов, с глобальной базой данных безопасных элементов и глобальной базой данных вредоносных элементов, а в случае выявления неизвестных потенциально вредоносных элементов подвергают их проверке и динамическому анализу, после завершения которых устанавливают соответствие между каждым выявленным вредоносным элементом и кодом на сайте, который ввел эти элементы в исходные данные. The technical result is also achieved by the fact that in the method of checking web resources for malicious insertions, a web resource is recursively parsed and related information sources, for example, web server logs, are analyzed, the web resource code is interpreted, and all directions of code execution under each conditional transition with logging the course of interpretation, and when interpreting the conditional branch command, the data on the course of interpretation is duplicated, and the code interpretation continues in all directions defined by the conditional transitions, with the output of web pages that check for malicious elements by comparing all elements of potentially harmful types contained in the outgoing data with a local database of safe elements and a local database of malicious elements, with a global database of safe elements and global a database of malicious elements, and in the case of identifying unknown potentially harmful elements, they are subjected to verification and dynamic analysis, after which they are installed There is a correspondence between each detected malicious element and the code on the site that entered these elements into the source data.
Оптимально проводить анализ кода, который вставил вредоносный элемент, путем его полной идентификации, включая записи в базах данных сервера. Предпочтительно информировать владельца веб-ресурса о наличии на сервере вредоносного кода и необходимости его удаления, а в случае, если согласие на удаление вредоносного кода получено, осуществлять его удаление с сервера. Оптимально данные потенциально вредоносных элементов сохранять в файле и передавать их для проверки с помощью глобальной базы данных известных безопасных элементов и глобальной базы данных вредоносных элементов. It is optimal to analyze the code that the malicious element inserted, by fully identifying it, including entries in the server databases. It is preferable to inform the owner of the web resource about the presence of malicious code on the server and the need to remove it, and if consent to delete the malicious code is obtained, delete it from the server. Optimally, the data of potentially harmful elements is saved in a file and transferred for verification using a global database of known safe elements and a global database of malicious elements.
Целесообразно подвергать данные потенциально вредоносных элементов проверке с помощью статических и динамических методов анализа It is advisable to expose data of potentially harmful elements using static and dynamic analysis methods.
Предпочтительно при наличии потенциально вредоносных элементов осуществлять декомпозицию документа на множество декомпозированных элементов, из которых создают файлы, число которых коррелирует с числом декомпозированных элементов, после чего производить композицию одного или нескольких наборов файлов из декомпозированных элементов, подвергаемых динамическому анализу. It is preferable, in the presence of potentially harmful elements, to decompose the document into many decomposed elements from which files are created, the number of which correlates with the number of decomposed elements, and then to compose one or more sets of files from decomposed elements subjected to dynamic analysis.
При композиции осуществляют функциональный, или инкрементальный, или полный композиционный набор файлов из декомпозированных элементов. When composing, a functional, or incremental, or complete compositional set of files from decomposed elements is performed.
На чертеже схематично представлена блок схема системы, с помощью которой реализуется заявляемый способ. The drawing schematically shows a block diagram of a system with which the inventive method is implemented.
Система проверки веб-ресурса на наличие вредоносных вставок состоит из блока 1 поиска начальных адресов на веб-данных сервера, соединенного с интерпретатором 2, содержащим последовательно соединенные блок интерпретации 2.1 и блок памяти 2.2 данных интерпретации, подключенного к блоку 2.3. анализа данных интерпретации. Блок 2.1 интерпретатора 2 подключен к блоку 4 принятия решений, соединенному с локальной базой данных 5 безопасных элементов, локальной базой данных 3 вредоносных элементов, а также с блоком 7 коррекции кода и данных, подключенному к блоку уведомления 8. Блок 6 приема и передачи данных, также соединенный с блоком 4 принятия решений, подключен к глобальной базе данных 9 безопасных элементов, и глобальной базе данных 11 вредоносных элементов, а также соединен с блоком декомпозиции и композиции 10, который подключен к блоку 12 динамического анализа. The system for checking the web resource for malicious inserts consists of a block 1 for searching for start addresses on the server web data connected to the interpreter 2, containing the interpretation block 2.1 and the interpretation data block 2.2 connected to block 2.3. analysis of interpretation data. The interpreter 2 block 2.1 is connected to the decision block 4 connected to the local database of 5 safe elements, the local database of 3 malicious elements, as well as to the code and data correction unit 7 connected to the notification block 8. The data transmission and transmission unit 6, also connected to decision block 4, connected to a global database of 9 safe elements, and a global database of 11 malicious elements, and also connected to a decomposition and composition block 10, which is connected to a dynamic analysis block 12.
Заявляемый способ реализуется с помощью указанного устройства следующим образом. Блок 1 поиска начальных адресов 1 на веб-данных сервера осуществляет поиск и формирует список из всех доступных ссылок, которые присутствуют в тех HTML- страницах, которые выдаёт сервер, осуществляя рекурсивный разбор веб-ресурса, а также анализирует файлы логов сервера и иные источники данных о точках входа, например, адреса URL, которые были введены на вход сервера и по которым сервер выдал данные страницы для анализа веб-ресурса. The inventive method is implemented using the specified device as follows. Block 1 of the search for start addresses 1 on the web data of the server searches and forms a list of all available links that are present in those HTML pages that the server provides, recursively parsing the web resource, and It also analyzes server log files and other data sources about entry points, for example, URL addresses that were entered at the server input and from which the server returned page data for analysis of a web resource.
Все полученные ссылки на страницы веб-ресурса передаются в блок интерпретации 2.1 интерпретатора 2 в качестве входного параметра - в виде параметра функции интерпретации кода (т1е геШюп_1 1сиоп('ЪАр:/^^ All received links to the web resource pages are transferred to the interpreter 2 interpretation block 2.1 as an input parameter - as a parameter of the code interpretation function (т1е ге Шюп_1 1соп ('бър: / ^^
после чего код веб-сайта начинает последовательно интерпретироваться с помощью блока интерпретации 2.1, характеризующегося уникальным логическим идентификатором, поскольку среди всех логических идентификаторов нет ни одного одинакового. При этом ведется запись хода интерпретации в блок памяти 2.2. внутренней базы данных в виде набора данных - «интерпретируемая функция + входящие параметры, получаемые функцией + исходящие из функции данные», однозначно связанных с логическим идентификатором потока интерпретации кода, например, ID 10. Например, в случае интерпретации сайта, написанного на языке программирования РНР, в случае выявления блоком интерпретации 2.1 конструкции вида $query = sprintafter which the website code begins to be sequentially interpreted using the interpretation block 2.1, which is characterized by a unique logical identifier, since among all the logical identifiers there is not one identical. At the same time, the interpretation progress is recorded in memory block 2.2. an internal database in the form of a data set - “the interpreted function + incoming parameters received by the function + data coming from the function”, uniquely associated with the logical identifier of the code interpretation stream, for example, ID 10. For example, in the case of interpreting a site written in the PHP programming language , if an interpretation unit 2.1 detects a construct of the form $ query = sprint
("SELECT firstname FROM friends WHERE firstaame- %s',$firstaame) в блок памяти 2.2. данных интерпретации будет записана функция sprintf, входящий параметр и результат отработки функцией $query данного запроса. Процесс интерпретации в блоке интерпретации 2.1 и сохранения данных интерпретации в блоке памяти 2.2. идёт последовательно до точки встречи в коде веб-ресурса оператора условного перехода (например, «if»). В таком случае блок интерпретации 2.1 приостанавливает первоначальный поток интерпретации (в нашем случае, ID 10), создаёт новый поток интерпретации в состоянии «приостановлен» с новым уникальным логическим идентификатором (например, ID20), создаёт тождественную копию данных своего потока исполнения (то есть, ID 10) с помощью блока памяти 2.2. данных интерпретации идентификатора 2 и присваивает копии идентификатор нового потока исполнения (в нашем случае, ID20). Таким образом, в процессе интерпретации создается тождественный клон первоначального потока интерпретации, но с другим логическим идентификатором. Далее блок интерпретации 2.1 эмулирует исполнение команды безусловного перехода так, чтобы выяснить точки перехода потока интерпретации, как в случае исполнения условия перехода, так и в случае его неисполнения. После этого первоначальный поток интерпретации переводится на интерпретируемый код так, как если бы условие перехода в операторе условного перехода исполнилось, а клонированный поток интерпретации переводится на интерпретируемый код таким образом, если бы условие перехода в операторе условного перехода не исполнилось. После этого оба потока интерпретации переводятся из состояние «приостановлено» в состояние активности, продолжая интерпретацию кода. Таким образом, создание двух потоков интерпретации предназначено для того, чтобы разделить поток интерпретации кода веб-сайта в случае, когда на пути интерпретатора встречается условный переход. Необходимость этого вызвана тем, чтобы интерпретатор проверил все части кода, размещённого на веб- сайте для выявления вредоносных вставок, защищенных тем, что при обычной линейной интерпретации они не будут интерпретированы и вредоносную кодовую вставку можно пропустить. Поэтому после разделения начальная точка исполнения нового потока интерпретации выставляется таким образом, чтобы начать интерпретацию с первой же строки кода, расположенной после проверки условия перехода на разные ветви кода при интерпретации. В результате указанной последовательности операций, интерпретация кода идет по всем ответвлениям кода, вызванным командами условного перехода. По завершении интерпретации интерпретатор 2 формирует одну или несколько веб- страниц с данными с выхода блока интерпретации 2.1, после чего передаёт эти страницы в блок 4 принятия решений. Блок 4 принятия решений проверяет полученные от блока 2.1. интерпретатора 2 данные, например, веб-страницы, XML-документы или иные структурированные данные путём статического анализа с использованием локальной базы данных 5 безопасных элементов, после чего проверяет их в блоке локальной базы данных 3 вредоносных элементов. Если же какой-то элемент либо элементы потенциально опасных типов не были однозначно идентифицированы в блоке 4 принятия решений после проведения статического анализа, то с помощью блока 4 принятия решений производится обновление локальной базы известных безопасных элементов путём получения через блок 6 приёма и передачи данных новых данных из глобальной базы данных 9 известных безопасных элементов. Таким образом, обновление локальной базы происходит в случае, если найден неизвестный элемент потенциально опасного типа, поскольку существует вероятность, что его уже идентифицировали в другом месте при сканировании и он уже есть в глобальной базе, но описание элемента ещё не попало в конкретную локальную базу системы. Аналогичным образом производится обновление локальной базы данных вредоносных элементов путем получения новых данных глобальной базы данных 11 вредоносных элементов в случае обнаружения элементов потенциально вредоносных типов. После указанных действий производят повторную проверку данных в блоке 4 принятия решений с тем, чтобы не инициировать лишний раз анализ потенциально вредоносных элементов, установленных в ходе интерпретации интерпретатором 2, в случае их обнаружения в глобальных базах данных, что позволяет экономить ресурсы заявляемой системы и повысить ее быстродействие. В случае, если в данных, полученных от интерпретатора 2, всё равно наличествуют неизвестные элементы или элементы потенциально опасных типов, то данные, полученные от интерпретатора 2, передаются в блок 6 передачи и приёма данных. Блок 4 принятия решений в одном из вариантов реализации заявляемой системы на данном этапе может работать совместно с традиционным сканером вредоносного кода (на чертеже не показан), работающим по сигнатурам и эвристике, в основном по сигнатурам на основе регулярных выражений с последующим сравнением полученных обоими путями данных для более надёжной идентификации вредоносных корреляций в исходном коде и данных, которые этот код продуцирует. Указанная реализация может способствовать уменьшению числа ложных срабатываний системы. Блок 6 передачи и приёма данных передаёт полученные файлы, содержащие неизвестные элементы потенциально опасных типов, в блок декомпозиции и композиции 10. Декомпозиция полученного документа в блоке 10 осуществляется путем его разбиения на множество отдельных элементов, содержащих неизвестные элементы потенциально вредоносных типов, из которых создают множество файлов с декомпозированными элементами. После декомпозиции полученного документа на отдельные составляющие элементы, осуществляется композиция набора файлов на основе функционального, инкрементального или полного набора. Операции декомпозиции и композиции осуществляются аналогично тому, как представлено в описании к патенту РФ Ν°2613535 (опубл. 16.03.2017). ("SELECT firstname FROM friends WHERE firstaame-% s', $ firstaame) in the memory block 2.2. Of the interpretation data, the sprintf function will be written, the input parameter and the result of the $ query processing the given query. The interpretation process in the interpretation block 2.1 and the interpretation data will be stored in the memory block 2.2. goes sequentially to the meeting point in the code of the web resource of the conditional branch operator (for example, “if”). In this case, the interpretation block 2.1 suspends the initial interpretation stream (in our case, ID 10), creates a new interpretation stream in the state "Suspension flax ”with a new unique logical identifier (for example, ID20), creates an identical copy of the data of its execution flow (that is, ID 10) with the help of memory block 2.2. interpretation data of identifier 2 and assigns the identifier of the new execution thread (in our case, ID20 ). Thus, in the process of interpretation, an identical clone of the initial stream of interpretation is created, but with a different logical identifier. Further, the interpretation unit 2.1 emulates the execution of the unconditional transition command so as to find out the transition points of the interpretation flow, both in the case of the fulfillment of the transition condition and in case of its non-execution. After that, the initial stream of interpretation is translated into the interpreted code as if the transition condition in the conditional operator the transition is executed, and the cloned interpretation stream is transferred to the interpreted code in this way if the condition of the transition in the conditional transition operator is not fulfilled. After that, both interpretation flows are transferred from the “paused” state to the activity state, continuing to interpret the code. Thus, the creation of two interpretation streams is intended to separate the stream of interpretation of the website code in the case when a conditional transition occurs in the path of the interpreter. The reason for this is that the interpreter checks all parts of the code posted on the website to identify malicious inserts, which are protected by the fact that during the usual linear interpretation they will not be interpreted and you can skip the malicious code insert. Therefore, after separation, the starting point of execution of the new interpretation flow is set in such a way as to start the interpretation from the very first line of code located after checking the conditions for switching to different branches of the code during interpretation. As a result of this sequence of operations, the code is interpreted along all branches of the code caused by conditional branch commands. Upon completion of the interpretation, interpreter 2 generates one or more web pages with data from the output of interpretation block 2.1, after which it transfers these pages to decision block 4. Block 4 decision making checks received from block 2.1. interpreter 2 data, for example, web pages, XML documents or other structured data by static analysis using a local database of 5 safe elements, and then checks them in the local database block 3 malicious elements. If any element or elements of potentially dangerous types were not unambiguously identified in decision block 4 after a static analysis, then decision block 4 updates the local database of known safe elements by receiving new data through block 6 for receiving and transmitting data from a global database of 9 known safe elements. Thus, the local database is updated if an unknown element of a potentially dangerous type is found, since it is likely that it was already identified elsewhere during scanning and that it is already in the global database, but the description of the element has not yet reached the specific local system database . Similarly, the local database of malicious elements is updated by receiving new data from the global database of 11 malicious elements in the event of detection of elements of potentially malicious types. After these actions, the data is checked again in decision block 4 so as not to initiate once again the analysis of potentially harmful elements established during interpretation by the interpreter 2 if they are detected in global databases, which saves the resources of the claimed system and increases it performance. If the data received from the interpreter 2 still contains unknown elements or elements of potentially dangerous types, then the data received from the interpreter 2 is transmitted to the data transmission and reception unit 6. At this stage, decision-making block 4 in one of the embodiments of the claimed system can work together with a traditional malware scanner (not shown in the drawing) working on signatures and heuristics, mainly on signatures based on regular expressions with subsequent comparison of the data obtained by both paths for more reliable identification of malicious correlations in the source code and the data that this code produces. The specified implementation can help reduce the number of false positives of the system. Block 6 transmitting and receiving data transfers the received files containing unknown elements of potentially dangerous types to the decomposition and composition block 10. The decomposition of the received document in block 10 is carried out by breaking it into many separate elements containing unknown elements of potentially harmful types, from which 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. The decomposition and composition operations are carried out in the same way as presented in the description of the patent of the Russian Federation Ν ° 2613535 (publ. March 16, 2017).
Таким образом, блок 10 осуществляет декомпозицию документа с неизвестными компонентами на множество декомпозированных элементов. Из последних создают файлы, число которых коррелирует с числом декомпозированных элементов, после чего производят композицию одного или нескольких наборов файлов из декомпозированных элементов, которые передаются в блок 12 динамического анализа для проведения проверки динамическим методом, заключающегося в том, что блок 12 отслеживает отклонения от нормального поведения клиентской программы в результате действий вредоносных элементов. Процесс динамического анализа ю направлен на срабатывание вредоносного кода, содержащегося в файле, причем он должен сработать за время, которое отводится на динамический анализ. При этом должен быть зафиксирован факт срабатывания эксплойта, идентифицирующий ход исполнения клиентского программного обеспечения как аномальное. Для достижения поставленной задачи, блок динамического анализа может быть выполнен в виде программного обеспечения, установленного на сервере системы, выполненного на основе программы для работы с соответствующим типом документов и имеющего либо эмулирующего уязвимости, связанные с интерпретацией подобного вида документов, задачей которого является выявление аномалий хода исполнения программного клиента либо его поведения. Thus, block 10 decomposes the document with unknown components into multiple decomposed elements. Files are created from the latter, the number of which correlates with the number of decomposed elements, and then one or more sets of files are composed of decomposed elements, which are transferred to the dynamic analysis unit 12 for performing a dynamic method check, which means that block 12 monitors deviations from the normal client program behavior as a result of the actions of malicious elements. Dynamic analysis process It is aimed at triggering malicious code contained in a file, and it should work in the time that is allocated to dynamic analysis. In this case, 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 analysis unit can be performed in the form of software installed on the server of the system, executed on the basis of a program for working with the corresponding type of documents and having or emulating vulnerabilities associated with the interpretation of this type of documents, the task of which is to identify anomalies of progress execution of the software client or its behavior.
Также, в качестве блока 12 динамического анализа в одном из вариантов может быть использовано специальное программное обеспечение, установленное на сервере системы и эмулирующего, частично либо полностью, ход работы клиентского программного обеспечения, связанного с интерпретацией соответствующего типа файлов. Also, as a block 12 of dynamic analysis, in one of the options, special software can be used installed on the server of the system and emulating, partially or completely, the progress of the client software related to the interpretation of the corresponding file type.
Программа для работы с соответствующим типом документов, установленная на сервере системы и являющаяся частью блока динамического анализа, способна работать с определенным типом файлов, интерпретируя его внутреннюю структуру таким образом, чтобы вызвать срабатывание вредоносного кода в файле в случае, если он там присутствует. Аномальный ход исполнения программного кода характеризуется отклонением путей выполнения инструкций клиентского программного обеспечения от предписанной разработчиками данного программного обеспечения для того, чтобы вредоносный код, содержащийся в той или иной форме в файле из композиционного набора, получил возможность быть исполненным так же, как и код клиентского программного обеспечения. Аномальное поведение клиентского программного обеспечения характеризуется использованием средств, предоставляемых операционной системой, для выполнения операций, не требующихся для интерпретации внутренней структуры файла из композиционного набора и, потому, выходящего за рамки предопределенного набора разрешённых действий и вызовов средств операционной системы для данного клиентского программного обеспечения. A program for working with the corresponding type of documents, installed on the server of the system and which is part of the dynamic analysis 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.
После осуществления декомпозиции и композиции, а также динамического анализа, позволяющего отделить безопасные элементы от вредоносных, вердикт на каждый из файлов композиции направляется из блока 12 динамического анализа в блок декомпозиции и композиции 10, после чего блок декомпозиции и композиции выносит вердикт по каждому из неизвестных элементов потенциально вредоносных типов, по результатам которого обновляется глобальная база известных безопасных элементов 9 и глобальная база 11 известных вредоносных элементов. Кроме того в блок принятия решения 4 через блок 6 приема и передачи данных с выхода блока декомпозиции и композиции 10 отправляется команда на обновление локальной базы 5 известных безопасных элементов путём получения новых данных из глобальной базы 9 данных известных безопасных элементов, затем производится обновление локальной базы 3 вредоносных элементов путем получения новых данных глобальной базы данных 11 вредоносных элементов, после чего ещё раз производится проверка данных, полученных из интерпретатора 2. After decomposition and composition, as well as dynamic analysis, allowing to separate safe elements from malicious ones, the verdict for each of the composition files is sent from the dynamic analysis block 12 to the decomposition and composition block 10, after which the decomposition and composition block makes a verdict for each of the unknown elements of potentially harmful types, according to the results of which the global database of known safe elements 9 and the global database of 11 known malicious elements are updated. In addition, a decision command 4 is sent to the decision block 4 through the data reception and transmission unit 6 from the output of the decomposition and composition block 10 to update the local database of 5 known safe elements by receiving new data from the global database 9 of known safe elements, then the local database 3 is updated malicious elements by obtaining new data from the global database of 11 malicious elements, after which the data received from the interpreter 2 is checked again.
В случае, если один или несколько вредоносных элементов выявлены, блок 4 принятия решений посылает запрос по каждому из выявленных вредоносных элементов в блок 2.3. анализа данных интерпретации, который идентифицирует тот код, который вставил эти элементы в исходный документ, затем анализирует взаимосвязи этого кода с другим кодом веб-ресурса и его базами данных для того, чтобы идентифицировать иные возможные части вредоносного кода и вредоносные записи в базе данных веб-ресурса. Таким образом, производится анализ того, какой именно код вставил вредоносный элемент в данные, которые ушли на выход с сервера, где этот код берёт данные, что это за данные, какова обвязка этого кода и с каким ещё кодом на сайте он связан, т.е. осуществляется обратный анализ с использованием базы данных 2.2, в которую блок интерпретации 2.1 заносит всю информацию о ходе выполнения интерпретации. In the event that one or more malicious elements are detected, decision block 4 sends a request for each of the detected malicious elements to block 2.3. analysis of interpretation data, which identifies the code that inserted these elements into the source document, then analyzes the relationship of this code with the other code of the web resource and its databases in order to identify other possible parts of the malicious code and malicious entries in the web database resource. Thus, an analysis is made of exactly which code inserted the malicious element into the data that went to the server’s output, where this code takes data, what kind of data it is, what is the binding of this code, and what other code on the site is it connected to, i.e. e. a reverse analysis is performed using the database 2.2, in which the interpretation unit 2.1 records all the information about the progress of the interpretation.
После этого путём статического анализа зависимостей и связей этой конкретной части кода с иными частями блок 2.3 анализа данных интерпретатора 2 выявляет весь вредоносный код, ответственный за встраивание вредоносных элементов в страницы, выдаваемые пользователю в браузер. Затем данные о частях кода и указателей на них в виде «имя директории/имя файла/номер строки», а также идентификаторы записей в базах данных, идентифицированных как вредоносные, передаются в блок принятия решений 4, который передаёт эти данные в блок 7 коррекции кода и данных, который проводит дополнительный анализ выявленного вредоносного кода с целью более точного и полного выявления его взаимосвязей с иными частями кода и данных веб- сайта, включая записи в базах данных сервера. Далее информация о выявленном вредоносном коде поступает в блок уведомления 8, который информирует администратора либо владельца веб-ресурса о наличии вредоносного кода на сервере и запрашивает подтверждение на удаление выявленного вредоносного кода. В случае если подтверждение на удаление вредоносного кода получено, весь выявленный вредоносный код удаляется с сервера с помощью блока 7 коррекции денных и кода, а соответствующие файлы или части файлов стираются. Приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, представленного в формуле. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, основанные на сущности и объеме настоящего изобретения. Заявляемые система и способ проверки веб-ресурсов на наличие вредоносных вставок могут найти широкое применение для обеспечения безопасности веб-ресурсов, поскольку позволяют надежно и достоверно обнаруживать вредоносные вставки на сайтах, путем уменьшения количества ложных срабатываний веб-сканера за счет проверки не только самого кода веб-сайта, но и всех данных, которые выдаются сайтом браузеру. After that, by static analysis of the dependencies and relationships of this specific part of the code with other parts, the interpreter 2 data analysis unit 2.3 identifies all malicious code responsible for embedding malicious elements in the pages displayed to the user in the browser. Then the data about the parts of the code and pointers to them in the form of “directory name / file name / line number”, as well as identifiers of entries in the databases identified as malicious, are transferred to decision block 4, which transfers this data to block 7 code correction and data that conducts additional analysis of the detected malicious code in order to more accurately and fully identify its relationships with other parts of the code and website data, including entries in server databases. Further, information about the detected malicious code enters notification block 8, which informs the administrator or owner of the web resource about the presence of malicious code on the server and asks for confirmation to remove the detected malicious code. In the event that confirmation of the removal of the malicious code is received, all detected malicious code is deleted from the server using the data and code correction unit 7, and the corresponding files or parts of the files are erased. The information in the description are only examples that do not limit the scope of the present invention presented in the formula. One skilled in the art will recognize that other embodiments of the present invention may exist based on the nature and scope of the present invention. The inventive system and method for checking web resources for the presence of malicious inserts can be widely used to ensure the security of web resources, as they can reliably and reliably detect malicious inserts on sites by reducing the number of false positives for a web scanner by checking not only the web code itself site, but also all the data that is issued by the site to the browser.

Claims

Формула изобретения Claim
1. Система проверки веб-ресурсов на наличие вредоносных вставок, содержащая блок поиска начальных адресов, подключенный к интерпретатору, вьшолненному с возможностью интерпретации всех направлений исполнения кода при условных переходах, блок принятия решений, локальную базу данных безопасных элементов, локальную базу данных вредоносных элементов, блок приема и передачи данных, блок коррекции кода и данных, блок декомпозиции и композиции и блок динамического анализа, при этом интерпретатор подключен к блоку принятия решений, соединенного с блоком локальной базы данных безопасных элементов, блоку локальной базы данных вредоносных элементов, блоку приема и передачи данных и блоку коррекции кода и данных, а блок приема и передачи данных соединен с блоком декомпозиции и композиции, подключенным к блоку динамического анализа. 1. A system for checking web resources for malicious insertions, containing a start address search unit connected to an interpreter configured to interpret all directions of code execution under conditional transitions, a decision unit, a local database of safe elements, a local database of malicious elements, a data reception and transmission unit, a code and data correction unit, a decomposition and composition unit and a dynamic analysis unit, the interpreter being connected to the decision making unit, connected go with the local safe elements database unit, the local malicious elements database unit, the data reception and transmission unit, and the code and data correction unit, and the data reception and transmission unit is connected to the decomposition and composition unit connected to the dynamic analysis unit.
2. Система по п.1, отличающаяся тем, что интерпретатор выполнен в виде последовательно соединенных блока интерпретации и блока памяти данных интерпретации, подключенного к блоку анализа данных интерпретации. 2. The system according to claim 1, characterized in that the interpreter is made in the form of series-connected interpretation unit and the interpretation data memory unit connected to the interpretation data analysis unit.
3. Система по п.1, отличающаяся тем, что блок приёма и передачи данных соединён с глобальной базой данных безопасных элементов и глобальной базой данных вредоносных элементов. 4. Система по п. 1, в которой блок поиска начальных адресов выполнен с возможностью поиска всех начальных адресов веб-страниц, расположенных на веб- ресурсе, путём рекурсивного разбора содержимого веб-страниц веб-ресурса. 3. The system according to claim 1, characterized in that the data reception and transmission unit is connected to a global database of safe elements and a global database of malicious elements. 4. The system of claim 1, wherein the start address search unit is configured to search for all start addresses of web pages located on the web resource by recursively parsing the contents of the web pages of the web resource.
5. Система по п. 1, в которой блок поиска начальных адресов выполнен с возможностью поиска всех начальных адресов веб-страниц, расположенных на веб- ресурсе путем анализа записей в логах сервера. 5. The system of claim 1, wherein the start address search unit is configured to search for all start addresses of web pages located on a web resource by analyzing entries in server logs.
6. Система по п. 1, в которой блок коррекции кода и данных выполнен в виде программного обеспечения, установленного на сервере с возможностью удаления вредоносных элементов кода и данных, выявленных в результате веб-сканирования. 6. The system according to claim 1, in which the code and data correction unit is made in the form of software installed on the server with the ability to remove malicious code elements and data detected as a result of web scanning.
7. Система по п. 1, отличающаяся тем, что она содержит антивирусный сканер вредоносного кода. 7. The system under item 1, characterized in that it contains an anti-virus scanner of malicious code.
8. Система по п.1, отличающаяся тем, что блок принятия решений выполнен с возможностью совместной работы с антивирусным сканером вредоносного кода с последующим совместным анализом результатов сканирования и интерпретации. 8. The system according to claim 1, characterized in that the decision block is configured to work together with an anti-virus scanner of malicious code, followed by a joint analysis of the results of scanning and interpretation.
9. Система по п.1 , отличающаяся тем, что блок коррекции кода и данных выполнен в виде программного обеспечения, установленного на сервере, с обеспечением возможности удаления вредоносных вставок кода и данных, выявленных в результате веб-сканирования. 9. The system according to claim 1, characterized in that the code and data correction unit is made in the form of software installed on the server, with the possibility of removing malicious code and data inserts detected as a result of web scanning.
10. Способ проверки веб-ресурсов на наличие вредоносных вставок системой по п.1, заключающийся в том, что проводят рекурсивный разбор веб-ресурса и анализ сопутствующих источников информации, например, логов веб-ресурса, интерпретируют код веб-ресурса с логгированием хода интерпретации, причем при интерпретации команды условного перехода данные о ходе интерпретации дублируют, а выполнение интерпретации кода продолжают по всем направлениям, определенным условными переходами, с получением на выходе одной либо нескольких веб-страниц, в которых выявляют потенциально вредоносные элементы путем сравнения всех элементов потенциально вредоносных типов с теми, что содержатся в локальной базе данных безопасных элементов и локальной базе данных вредоносных элементов, а в случае выявления неизвестных потенциально вредоносных элементов подвергают их проверке и динамическому анализу, после завершения которых устанавливают соответствие между каждым выявленным вредоносным элементом и кодом на сайте, который ввел эти элементы в исходные данные. 10. The method for checking web resources for malicious inserts by the system according to claim 1, which consists in recursively parsing a web resource and analyzing related sources of information, for example, web resource logs, interpreting the web resource code with logging the interpretation process moreover, when interpreting a conditional branch command, the data on the interpretation process is duplicated, and code interpretation is continued in all directions defined by conditional branches, with the output of one or more web pages into They identify potentially harmful elements by comparing all elements of potentially harmful types with those contained in the local database of safe elements and the local database of malicious elements, and if unknown potentially harmful elements are detected, they are checked and dynamically analyzed, after which they establish compliance between each detected malicious element and the code on the site that entered these elements into the source data.
11. Способ по п.10, отличаюпщйся тем, что код, который ввел вредоносный элемент идентифицируют, включая записи в базах данных веб-ресурса. 11. The method according to claim 10, characterized in that the code that introduced the malicious element is identified, including entries in the databases of the web resource.
12. Способ по п.10, отличающийся тем, что дополнительно информируют владельца веб-ресурса о наличии на сервере вредоносного кода и предлагают удалить вредоносный код, а в случае, если согласие на удаление вредоносного кода получено, выявленный вредоносный код удаляют с сервера. 12. The method according to claim 10, characterized in that it further informs the owner of the web resource about the presence of malicious code on the server and offers to remove the malicious code, and if consent is obtained to delete the malicious code, the detected malicious code is deleted from the server.
13. Способ по п. 10, отличающийся тем, что сформированные данные, содержащие неизвестные элементы потенциально вредоносных типов, сохраняют в файл и передают для проверки с помощью глобальной базы данных известных безопасных элементов и глобальной базы данных вредоносных элементов. 13. The method according to p. 10, characterized in that the generated data containing unknown elements of potentially harmful types are stored in a file and transmitted for verification using a global database of known safe elements and a global database of malicious elements.
14. Способ по п. 10, отличающийся тем, что при наличии неизвестных элементов потенциально вредоносных типов осуществляют их проверку путем декомпозиции документа на множество декомпозированных элементов, из которых создают файлы, число которых коррелирует с числом декомпозированных элементов, после чего производят композицию одного или нескольких наборов файлов из декомпозированных элементов, которые подвергают динамическому анализу. 14. The method according to p. 10, characterized in that in the presence of unknown elements of potentially harmful types, they are checked by decomposition document for many decomposed elements from which files are created, the number of which correlates with the number of decomposed elements, after which one or more sets of files are composed of decomposed elements, which are subjected to dynamic analysis.
16. Способ по п.10, отличающийся тем, что при композиции осуществляют функциональный, или инкрементальный, или полный композиционный набор файлов из декомпозированных элементов. 16. The method according to claim 10, characterized in that when the composition is carried out functional, or incremental, or a complete compositional set of files from decomposed elements.
PCT/RU2018/000274 2017-05-05 2018-04-26 System and method for checking web resources for the presence of malicious inserts WO2018203775A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2017116147A RU2662391C1 (en) 2017-05-05 2017-05-05 System and method for checking web resources for presence of harmful inserts
RU2017116147 2017-05-05

Publications (2)

Publication Number Publication Date
WO2018203775A2 true WO2018203775A2 (en) 2018-11-08
WO2018203775A3 WO2018203775A3 (en) 2019-01-31

Family

ID=62981731

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2018/000274 WO2018203775A2 (en) 2017-05-05 2018-04-26 System and method for checking web resources for the presence of malicious inserts

Country Status (2)

Country Link
RU (1) RU2662391C1 (en)
WO (1) WO2018203775A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2708353C1 (en) * 2018-12-28 2019-12-05 Акционерное общество "Лаборатория Касперского" System and method of proofing against scanning of eds files
RU2757007C2 (en) 2019-09-05 2021-10-08 Общество С Ограниченной Ответственностью «Яндекс» Method and system for detecting malicious actions of certain type

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011739A1 (en) * 2005-06-28 2007-01-11 Shay Zamir Method for increasing the security level of a user machine browsing web pages
RU2446459C1 (en) * 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" System and method for checking web resources for presence of malicious components
US9270691B2 (en) * 2010-11-01 2016-02-23 Trusteer, Ltd. Web based remote malware detection
US8584235B2 (en) * 2011-11-02 2013-11-12 Bitdefender IPR Management Ltd. Fuzzy whitelisting anti-malware systems and methods
KR20150075550A (en) * 2013-12-26 2015-07-06 한국전자통신연구원 System and method for real-time malware detection based on web browser plugin

Also Published As

Publication number Publication date
RU2662391C1 (en) 2018-07-25
WO2018203775A3 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
US10984097B2 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
RU2613535C1 (en) Method for detecting malicious software and elements
Sarmah et al. A survey of detection methods for XSS attacks
Ohm et al. Towards detection of software supply chain attacks by forensic artifacts
Yamaguchi et al. Chucky: Exposing missing checks in source code for vulnerability discovery
RU2571723C2 (en) System and method of reducing load on operating system when executing antivirus application
US8042186B1 (en) System and method for detection of complex malware
US8850585B2 (en) Systems and methods for automated malware artifact retrieval and analysis
RU2487405C1 (en) System and method for correcting antivirus records
JP6644001B2 (en) Virus processing method, apparatus, system, device, and computer storage medium
US20150205960A1 (en) Method of detecting a malware based on a white list
EP2515250A1 (en) System and method for detection of complex malware
EP3241135A1 (en) Code instrumentation for runtime application self-protection
EP3245776A1 (en) Rasp for scripting languages
CN107896219B (en) Method, system and related device for detecting website vulnerability
WO2017040957A1 (en) Process launch, monitoring and execution control
JP2013508823A (en) Malware detection and response to malware using link files
CN105631312A (en) Method and system for processing rogue programs
CN103473501A (en) Malware tracking method based on cloud safety
CN105791250B (en) Application program detection method and device
RU2662391C1 (en) System and method for checking web resources for presence of harmful inserts
WO2012078349A1 (en) Automatic correction of program logic
Gupta et al. A client‐server JavaScript code rewriting‐based framework to detect the XSS worms from online social network
Klein et al. Hand sanitizers in the wild: A large-scale study of custom javascript sanitizer functions
Supriya et al. Malware detection techniques: a survey

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18794519

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 14/04/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18794519

Country of ref document: EP

Kind code of ref document: A2