RU2009136238A - SYSTEM AND METHOD FOR COMPARING FILES BASED ON FUNCTIONALITY TEMPLATES - Google Patents

SYSTEM AND METHOD FOR COMPARING FILES BASED ON FUNCTIONALITY TEMPLATES Download PDF

Info

Publication number
RU2009136238A
RU2009136238A RU2009136238/08A RU2009136238A RU2009136238A RU 2009136238 A RU2009136238 A RU 2009136238A RU 2009136238/08 A RU2009136238/08 A RU 2009136238/08A RU 2009136238 A RU2009136238 A RU 2009136238A RU 2009136238 A RU2009136238 A RU 2009136238A
Authority
RU
Russia
Prior art keywords
functionality
templates
executable file
blocks
information
Prior art date
Application number
RU2009136238/08A
Other languages
Russian (ru)
Other versions
RU2427890C2 (en
Inventor
Роман Сергеевич Василенко (RU)
Роман Сергеевич Василенко
Original Assignee
ЗАО "Лаборатория Касперского" (RU)
ЗАО "Лаборатория Касперского"
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 ЗАО "Лаборатория Касперского" (RU), ЗАО "Лаборатория Касперского" filed Critical ЗАО "Лаборатория Касперского" (RU)
Priority to RU2009136238/08A priority Critical patent/RU2427890C2/en
Publication of RU2009136238A publication Critical patent/RU2009136238A/en
Application granted granted Critical
Publication of RU2427890C2 publication Critical patent/RU2427890C2/en

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

1. Способ определения принадлежности файлов к коллекциям известных файлов на основе сравнения файлов с помощью шаблонов функциональности, содержащий этапы, на которых: ! (а) формируют шаблоны функциональности на основе информации об исполняемом файле; ! (б) выделяют шумовую информацию из шаблонов функциональности исполняемого файла; ! (в) приводят блоки шаблонов функциональности исполняемого файла к нормализованному виду для последующего сравнения; ! (г) сравнивают нормализованные блоки шаблонов функциональности исполняемого файла с блоками шаблонов функциональности известных файлов и по результатам сравнения принимают решение о принадлежности нормализованного блока шаблонов функциональности к одному из шаблонов функциональности известных файлов. ! 2. Способ по п.1, в котором информация об исполняемом файле может быть собрана посредством таких инструментов сбора информации, как ! модуль, эмулирующий исполнение программы; ! модуль виртуализации программ; ! модуль контроля приложений; !модуль, который дизассемблирует программу и позволяет облегчить дальнейшее выстраивание между определенными функциями связей. ! 4. Способ по п.1, в котором формирование шаблонов функциональности исполняемого файла осуществляется в два этапа: динамический и статический. ! 5. Способ по п.4, в котором динамический этап подразумевает сбор информации об исполняемом файле при помощи инструментов сбора информации; и ! результатом работы динамического этапа при формировании шаблонов функциональности исполняемого файла являются дамп памяти и журнал событий. ! 6. Способ по п.4, в котором статический этап подразумевает непосредст� 1. A method for determining file ownership of collections of known files based on file comparisons using functionality templates, comprising the steps of:! (a) form patterns of functionality based on information about the executable file; ! (b) extract noise information from the functionality templates of the executable file; ! (c) bring the blocks of the templates of the functionality of the executable file to a normalized form for subsequent comparison; ! (d) comparing the normalized blocks of the templates of the functionality of the executable file with the blocks of the templates of the functionality of known files and based on the results of the comparison decide on whether the normalized block of templates of the functionality belongs to one of the templates of the known files functionality. ! 2. The method according to claim 1, in which information about the executable file can be collected using information collection tools such as! module emulating program execution; ! software virtualization module; ! application control module; ! A module that disassembles the program and makes it easier to further align between certain communication functions. ! 4. The method according to claim 1, in which the formation of patterns of functionality of the executable file is carried out in two stages: dynamic and static. ! 5. The method according to claim 4, in which the dynamic step involves collecting information about the executable file using information collection tools; and! the result of the dynamic stage when forming patterns of functionality of the executable file are a memory dump and an event log. ! 6. The method according to claim 4, in which the static step implies direct

Claims (1)

1. Способ определения принадлежности файлов к коллекциям известных файлов на основе сравнения файлов с помощью шаблонов функциональности, содержащий этапы, на которых:1. A method for determining the ownership of files in collections of known files based on file comparisons using functionality templates, comprising the steps of: (а) формируют шаблоны функциональности на основе информации об исполняемом файле;(a) form patterns of functionality based on information about the executable file; (б) выделяют шумовую информацию из шаблонов функциональности исполняемого файла;(b) extract noise information from the functionality templates of the executable file; (в) приводят блоки шаблонов функциональности исполняемого файла к нормализованному виду для последующего сравнения;(c) bring the blocks of the templates of the functionality of the executable file to a normalized form for subsequent comparison; (г) сравнивают нормализованные блоки шаблонов функциональности исполняемого файла с блоками шаблонов функциональности известных файлов и по результатам сравнения принимают решение о принадлежности нормализованного блока шаблонов функциональности к одному из шаблонов функциональности известных файлов.(d) comparing the normalized blocks of the templates of the functionality of the executable file with the blocks of the templates of the functionality of known files and based on the results of the comparison decide on whether the normalized block of templates of the functionality belongs to one of the templates of the known files functionality. 2. Способ по п.1, в котором информация об исполняемом файле может быть собрана посредством таких инструментов сбора информации, как2. The method according to claim 1, in which information about the executable file can be collected by means of information collection tools such as модуль, эмулирующий исполнение программы;module emulating program execution; модуль виртуализации программ;software virtualization module; модуль контроля приложений;application control module; модуль, который дизассемблирует программу и позволяет облегчить дальнейшее выстраивание между определенными функциями связей.a module that disassembles the program and allows you to facilitate further alignment between certain communication functions. 4. Способ по п.1, в котором формирование шаблонов функциональности исполняемого файла осуществляется в два этапа: динамический и статический.4. The method according to claim 1, in which the formation of patterns of functionality of the executable file is carried out in two stages: dynamic and static. 5. Способ по п.4, в котором динамический этап подразумевает сбор информации об исполняемом файле при помощи инструментов сбора информации; и5. The method according to claim 4, in which the dynamic step involves collecting information about the executable file using information collection tools; and результатом работы динамического этапа при формировании шаблонов функциональности исполняемого файла являются дамп памяти и журнал событий.the result of the dynamic stage when forming patterns of functionality of the executable file are a memory dump and an event log. 6. Способ по п.4, в котором статический этап подразумевает непосредственную трассировку дампа памяти и формирование шаблонов функциональности исполняемого файла.6. The method according to claim 4, in which the static step involves the direct tracing of a memory dump and the formation of functionality templates for the executable file. 7. Способ по п.1, в котором шаблоны функциональности исполняемого файла бывают двух типов:7. The method according to claim 1, in which the functionality templates of the executable file are of two types: шаблон функциональности, который основан на последовательности блоков; иa functionality template that is based on a sequence of blocks; and шаблон функциональности, который основан на последовательности ребер.A functionality template that is based on a sequence of edges. 8. Способ по п.7, в котором блоками называются совокупности элементов, такие как API-функции, ссылки на строки кода и ссылки на другие логические блоки.8. The method according to claim 7, in which blocks are called sets of elements, such as API functions, links to lines of code and links to other logical blocks. 9. Способ по п.7, в котором ребрами называются участки между вызовами одного блока другим.9. The method according to claim 7, in which edges are called sections between calls from one block to another. 10. Способ по п.1, в котором выделяемая шумовая информация включает в себя базовые библиотеки компилятора и статически слинкованные функции стандартных библиотек.10. The method according to claim 1, in which the allocated noise information includes basic compiler libraries and statically linked functions of standard libraries. 11. Способ по п.1, в котором сравнение шаблонов функциональности исполняемого файла с шаблонами из коллекций известных файлов осуществляется по различным для каждого типа шаблонов функциональности математическим алгоритмам, таким как11. The method according to claim 1, in which the comparison of the functionality templates of the executable file with the templates from the collections of known files is carried out according to different mathematical algorithms for each type of functionality template, such as расстояние Хемминга;Hamming distance; расстояние Левенштейна;Levenshtein distance; алгоритм вычисления весов;algorithm for calculating weights; алгоритм выделения характеристической информации.algorithm for extracting characteristic information. 12. Система определения принадлежности файлов к коллекциям известных файлов на основе сравнения файлов с помощью шаблонов функциональности, содержащая:12. A system for determining file ownership of collections of known files based on file comparison using functionality templates, comprising: средство эмуляции, которое осуществляет сбор информации об исполняемом файле;emulation tool that collects information about the executable file; средство создания шаблонов функциональности исполняемого файла, которое на основе информации, собранной средством эмуляции, формирует блоки и составляет из них шаблоны функциональности исполняемого файла;means for creating functionality templates for the executable file, which, on the basis of the information collected by the emulation tool, forms blocks and makes up functionality templates for the executable file from them; средство обработки шаблонов функциональности исполняемых файлов, которое выделяет из шаблонов функциональности шумовую информацию и приводит блоки шаблонов функциональности к нормализованному виду;means for processing the functionality templates of executable files, which extracts noise information from the functionality templates and brings the blocks of functionality templates to a normalized form; средство хранения коллекций шаблонов функциональности известных файлов;means for storing collections of functionality templates of known files; средство сравнения шаблонов функциональности исполняемых файлов, которое осуществляет сравнение нормализованных блоков шаблонов функциональности, полученных от средства обработки шаблонов функциональности, с шаблонами функциональности известных файлов из упомянутого средства хранения коллекции в соответствии с классификацией шаблонов функциональности исполняемых файлов.means for comparing functionality templates of executable files, which compares normalized blocks of functionality templates received from means for processing functionality templates with functionality templates of known files from said storage medium of a collection in accordance with the classification of functionality templates for executable files. 13. Система по п.12, в которой средство эмуляции включает в себя такие инструменты сбора информации, как13. The system of claim 12, wherein the emulation tool includes information collection tools such as модуль, эмулирующий исполнение программы;module emulating program execution; модуль виртуализации программ;software virtualization module; модуль контроля приложений;application control module; модуль, который дизассемблирует программу и позволяет облегчить дальнейшее выстраивание между определенными функциями связей.a module that disassembles the program and allows you to facilitate further alignment between certain communication functions. 14. Машиночитаемый носитель определения принадлежности файлов к коллекциям известных файлов на основе сравнения файлов с помощью шаблонов функциональности, на котором сохранена компьютерная программа, при исполнении которой на компьютере выполняются следующие этапы:14. A machine-readable medium for determining whether a file belongs to collections of known files based on file comparisons using functionality templates on which a computer program is stored, when executed on a computer, the following steps are performed: (а) формируют шаблоны функциональности на основе информации об исполняемом файле;(a) form patterns of functionality based on information about the executable file; (б) выделяют шумовую информацию из шаблонов функциональности исполняемого файла;(b) extract noise information from the functionality templates of the executable file; (в) приводят блоки шаблонов функциональности исполняемого файла к нормализованному виду для последующего сравнения;(c) bring the blocks of the templates of the functionality of the executable file to a normalized form for subsequent comparison; (г) сравнивают нормализованные блоки шаблонов функциональности исполняемого файла с блоками шаблонов функциональности известных файлов и по результатам сравнения принимают решение о принадлежности нормализованного блока шаблонов функциональности к одному из шаблонов функциональности известных файлов. (d) comparing the normalized blocks of the templates of the functionality of the executable file with the blocks of the templates of the functionality of known files and based on the results of the comparison decide on whether the normalized block of templates of the functionality belongs to one of the templates of the known files functionality.
RU2009136238/08A 2009-10-01 2009-10-01 System and method to compare files based on functionality templates RU2427890C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2009136238/08A RU2427890C2 (en) 2009-10-01 2009-10-01 System and method to compare files based on functionality templates

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2009136238/08A RU2427890C2 (en) 2009-10-01 2009-10-01 System and method to compare files based on functionality templates

Publications (2)

Publication Number Publication Date
RU2009136238A true RU2009136238A (en) 2011-04-10
RU2427890C2 RU2427890C2 (en) 2011-08-27

Family

ID=44051854

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009136238/08A RU2427890C2 (en) 2009-10-01 2009-10-01 System and method to compare files based on functionality templates

Country Status (1)

Country Link
RU (1) RU2427890C2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2531565C2 (en) * 2012-09-28 2014-10-20 Закрытое акционерное общество "Лаборатория Касперского" System and method for analysing file launch events for determining safety ranking thereof
RU2530210C2 (en) * 2012-12-25 2014-10-10 Закрытое акционерное общество "Лаборатория Касперского" System and method for detecting malware preventing standard user interaction with operating system interface
RU2536664C2 (en) * 2012-12-25 2014-12-27 Закрытое акционерное общество "Лаборатория Касперского" System and method for automatic modification of antivirus database
RU2541895C2 (en) 2012-12-25 2015-02-20 Закрытое акционерное общество "Лаборатория Касперского" System and method of improving organisation data security by creating isolated environment
US10409987B2 (en) 2013-03-31 2019-09-10 AO Kaspersky Lab System and method for adaptive modification of antivirus databases
RU2615317C1 (en) * 2016-01-28 2017-04-04 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Method for detection of malicious software codes in network data traffic, including exposed to combination of polymorphic transformations
RU2628922C1 (en) * 2016-10-10 2017-08-22 Акционерное общество "Лаборатория Касперского" Method for determining similarity of composite files
US10929534B2 (en) 2017-10-18 2021-02-23 AO Kaspersky Lab System and method detecting malicious files using machine learning
RU2679785C1 (en) * 2017-10-18 2019-02-12 Акционерное общество "Лаборатория Касперского" System and method of classification of objects
RU2757807C1 (en) * 2020-08-24 2021-10-21 Акционерное общество "Лаборатория Касперского" System and method for detecting malicious code in the executed file

Also Published As

Publication number Publication date
RU2427890C2 (en) 2011-08-27

Similar Documents

Publication Publication Date Title
RU2009136238A (en) SYSTEM AND METHOD FOR COMPARING FILES BASED ON FUNCTIONALITY TEMPLATES
US8881286B2 (en) Clustering processing method and device for virus files
CN101359352B (en) API use action discovering and malice deciding method after confusion of multi-tier synergism
CN109614433B (en) Method, device, equipment and storage medium for identifying data blooding margin between business systems
US20170169224A1 (en) Apparatus and method for detecting malicious mobile app
CN111639337B (en) Unknown malicious code detection method and system for massive Windows software
WO2015101097A1 (en) Method and device for feature extraction
KR101228899B1 (en) Method and Apparatus for categorizing and analyzing Malicious Code Using Vector Calculation
CN108073815B (en) Family judgment method and system based on code slice and storage medium
CN101923617A (en) Cloud-based sample database dynamic maintaining method
Zheng et al. Vu1SPG: Vulnerability detection based on slice property graph representation learning
RU2587429C2 (en) System and method for evaluation of reliability of categorisation rules
CN104123501A (en) Online virus detection method based on assembly of multiple detectors
CN105138916A (en) Multi-track malicious program feature detecting method based on data mining
RU2728497C1 (en) Method and system for determining belonging of software by its machine code
RU2728498C1 (en) Method and system for determining software belonging by its source code
CN102298681B (en) Software identification method based on data stream sliced sheet
CN105183642A (en) Instrumentation based program behavior acquisition and structural analysis method
CN112286575A (en) Intelligent contract similarity detection method and system based on graph matching model
WO2018121464A1 (en) Method and device for detecting virus, and storage medium
CN113468524B (en) RASP-based machine learning model security detection method
KR20180133726A (en) Appratus and method for classifying data using feature vector
CN108491718B (en) Method and device for realizing information classification
CN111222367B (en) Fingerprint identification method and device, storage medium and terminal
EP2819054B1 (en) Flexible fingerprint for detection of malware