KR20230108819A - Server, method and computer program for detecting malicious file - Google Patents

Server, method and computer program for detecting malicious file Download PDF

Info

Publication number
KR20230108819A
KR20230108819A KR1020220004391A KR20220004391A KR20230108819A KR 20230108819 A KR20230108819 A KR 20230108819A KR 1020220004391 A KR1020220004391 A KR 1020220004391A KR 20220004391 A KR20220004391 A KR 20220004391A KR 20230108819 A KR20230108819 A KR 20230108819A
Authority
KR
South Korea
Prior art keywords
file
files
malicious
information
list
Prior art date
Application number
KR1020220004391A
Other languages
Korean (ko)
Inventor
권정현
박춘걸
이영훈
임형묵
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020220004391A priority Critical patent/KR20230108819A/en
Publication of KR20230108819A publication Critical patent/KR20230108819A/en

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

프로그램을 실행하지 않은 환경에서 악성 파일을 탐지하는 서버는 기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장하는 저장부, 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하는 분석부, 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 생성부 및 정오탐 판단 정보를 운영자 단말로 전송하는 전송부를 포함할 수 있다. A server that detects malicious files in an environment where no program is running is a storage unit that stores information on all PE files including a plurality of previously secured normal PE files and malicious PE files in a database, and information on all PE files. an analysis unit that analyzes information on the detection target PE file based on the detection target PE file, a generator that generates true positive determination information for the detection target PE file based on the analyzed detection target PE file information, and a true false positive determination information for an operator terminal It may include a transmission unit for transmitting to.

Description

악성 파일을 탐지하는 서버, 방법 및 컴퓨터 프로그램{SERVER, METHOD AND COMPUTER PROGRAM FOR DETECTING MALICIOUS FILE}Server, method and computer program for detecting malicious files {SERVER, METHOD AND COMPUTER PROGRAM FOR DETECTING MALICIOUS FILE}

본 발명은 악성 파일을 탐지하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다. The present invention relates to a server, method and computer program for detecting malicious files.

대부분의 악성코드는 윈도우 운영체제 상에서 실행되는 PE(Portable Executable) 파일을 통해 동작한다. Most malicious codes operate through PE (Portable Executable) files that run on the Windows operating system.

윈도우 운영체제에서 지원하는 프로그램의 취약점을 이용하여 PE 파일에 숨겨진 임의의 악성 코드를 실행하는 기법으로 많은 공격이 이루어지고 있다. Many attacks are being made using the vulnerability of programs supported by the Windows operating system to execute arbitrary malicious codes hidden in PE files.

여기서, PE 파일은 윈도우 운영체제에서 사용되는 실행 파일로서, 예를 들어, EXE 파일, DLL 파일 등을 포함한다. Here, the PE file is an executable file used in the Windows operating system, and includes, for example, an EXE file, a DLL file, and the like.

도 1을 참조하면, 기존의 악성 PE 파일 탐지 방법은 대상 PE 파일에 대한 정적분석을 수행하여 대상 PE 파일로부터 라이브러리 및 함수를 추출하고, 머신러닝(ML, Machine Learning) 모델을 통해 대상 PE 파일의 라이브러리 및 함수가 악성일 확률을 운용자에게 알려주는 방식이다. Referring to FIG. 1, the existing malicious PE file detection method performs static analysis on the target PE file, extracts libraries and functions from the target PE file, and extracts the target PE file through a machine learning (ML) model. This is a method of notifying the operator of the probability that the library and function are malicious.

이러한, 악성 PE 파일 탐지에 이용되는 머신러닝 모델은 복잡한 모델일수록 예측성능은 올라가지만, 해석력은 떨어지는 경향이 있다. 또한, 머신러닝 모델을 통해 도출된 대상 PE 파일의 라이브러리 및 함수가 악성일 확률 정보는 운용자가 대상 PE 파일에 대한 정오탐을 판단하기에 부족한 부분이 있다. The machine learning model used for detecting such a malicious PE file tends to have higher predictive performance but lower interpretability as the model becomes more complex. In addition, information on the probability that the library and function of the target PE file derived through the machine learning model is malicious is insufficient for an operator to determine a false positive for the target PE file.

한국등록특허공보 제10-2010468호 (2019.08.07. 등록)Korean Registered Patent Publication No. 10-2010468 (registered on August 7, 2019)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 기확보된 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하고, 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하여 이를 운영자 단말에게 전송하고자 한다. The present invention is to solve the above-mentioned problems of the prior art, and analyzes information on detection target PE files based on information on all previously secured PE files, and based on the information on the analyzed detection target PE files It is intended to generate false positive determination information for the PE file to be detected and transmit it to the operator terminal.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. However, the technical problem to be achieved by the present embodiment is not limited to the technical problems described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 프로그램을 실행하지 않은 환경에서 악성 파일을 탐지하는 서버는 기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장하는 저장부; 상기 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하는 분석부; 상기 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 생성부; 및 상기 정오탐 판단 정보를 운영자 단말로 전송하는 전송부를 포함할 수 있다. As a technical means for achieving the above-described technical problem, the server detecting malicious files in an environment in which the program according to the first aspect of the present invention is not executed includes all of the previously secured normal PE files and malicious PE files. a storage unit that stores information about the PE file in a database; an analysis unit that analyzes information on a PE file to be detected based on the information on all PE files; a generator that generates false positive determination information for the PE file to be detected based on the information on the PE file to be detected; and a transmitter for transmitting the false positive determination information to an operator terminal.

본 발명의 제 2 측면에 따른 프로그램을 실행하지 않은 환경에서 악성 파일 탐지 서버에 의해 수행되는 악성 파일을 탐지하는 방법은 기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장하는 단계; 상기 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하는 단계; 상기 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 단계; 및 상기 정오탐 판단 정보를 운영자 단말로 전송하는 단계를 포함할 수 있다. A method for detecting a malicious file performed by a malicious file detection server in an environment in which a program is not executed according to a second aspect of the present invention is a method for detecting a plurality of previously secured normal PE files and all PE files including malicious PE files. storing the information in a database; analyzing information on a PE file to be detected based on the information on all PE files; generating false positive determination information for the PE file to be detected based on the analyzed information on the PE file to be detected; and transmitting the false positive determination information to an operator terminal.

본 발명의 제 3 측면에 따른 프로그램을 실행하지 않은 환경에서 악성 파일을 탐지하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장하고, 상기 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하고, 상기 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하고, 상기 정오탐 판단 정보를 운영자 단말로 전송하는 명령어들의 시퀀스를 포함할 수 있다. A computer program stored in a computer-readable recording medium including a sequence of instructions for detecting a malicious file in an environment in which the program according to the third aspect of the present invention is not executed is executed by a computing device, and the plurality of previously secured normal PEs Information on all PE files including files and malicious PE files is stored in a database, information on detection target PE files is analyzed based on the information on all PE files, and information on the analyzed detection target PE files is analyzed. It may include a sequence of instructions for generating true positive determination information for the PE file to be detected based on the information and transmitting the false positive determination information to an operator terminal.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described means for solving the problems is only illustrative and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 기확보된 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하고, 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하여 이를 운영자 단말에게 전송할 수 있다. According to any one of the above-described problem solving means of the present invention, the present invention analyzes information on detection target PE files based on previously secured information on all PE files, and determines the information on the analyzed detection target PE files. Based on this, false positive determination information for the PE file to be detected may be generated and transmitted to the operator terminal.

이를 통해, 본 발명은 머신러닝 모델에 의한 예측된 탐지 대상 PE 파일의 악성예측 결과와 함께 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 운영자 단말에게 제공함으로써 운영자는 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 통해 탐지 대상 PE 파일의 악성예측 결과가 도출된 이유를 파악할 수 있다. Through this, the present invention provides the operator terminal with the malicious prediction result of the detection target PE file predicted by the machine learning model and the false positive determination information for the detection target PE file, so that the operator determines the true false positive for the detection target PE file. Through the information, it is possible to understand why the malicious prediction result of the PE file to be detected was derived.

또한, 본 발명은 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 통해 운영자가 탐지 대상 PE 파일의 악성예측 결과의 정오탐을 분류하는데 걸리는 시간을 단축시킬 수 있다. In addition, the present invention can reduce the time it takes for an operator to classify false positives in the malicious prediction result of the PE file to be detected through false positive determination information on the PE file to be detected.

도 1은 종래의 악성 파일 탐지 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른, 악성 파일 탐지 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 악성 파일을 탐지하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 데이터베이스에 저장되는 전체 PE 파일에 대한 정보를 나타낸 예시 도면이다.
도 5는 본 발명의 일 실시예에 따른, 탐지 대상 PE 파일의 개별 함수에 대한 악성 PE 파일과의 관련도를 계산하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른, 악성 파일을 탐지하는 방법을 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.
도 10은 본 발명의 다른 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.
1 is a diagram for explaining a conventional malicious file detection method.
2 is a block diagram of a malicious file detection server according to an embodiment of the present invention.
3 is a diagram for explaining a method of detecting a malicious file according to an embodiment of the present invention.
4 is an exemplary view showing information on all PE files stored in a database according to an embodiment of the present invention.
5 is a diagram for explaining a method of calculating the degree of association with a malicious PE file for each function of a PE file to be detected according to an embodiment of the present invention.
6 is a flowchart illustrating a method of detecting a malicious file according to an embodiment of the present invention.
7 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to an embodiment of the present invention.
8 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to another embodiment of the present invention.
9 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to another embodiment of the present invention.
10 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected" but also the case where it is "electrically connected" with another element interposed therebetween. . In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In this specification, a "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by a terminal or device may be performed instead by a server connected to the terminal or device. Likewise, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the corresponding server.

이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, specific details for the implementation of the present invention will be described with reference to the accompanying configuration diagram or process flow chart.

도 2는 본 발명의 일 실시예에 따른, 악성 파일 탐지 서버(20)의 블록도이다. 2 is a block diagram of a malicious file detection server 20 according to an embodiment of the present invention.

도 2를 참조하면, 악성 파일 탐지 서버(20)는 저장부(200), 분석부(210), 생성부(220) 및 전송부(230)를 포함할 수 있다. 다만, 도 2에 도시된 악성 파일 탐지 서버(20)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 2 , the malicious file detection server 20 may include a storage unit 200 , an analysis unit 210 , a generation unit 220 and a transmission unit 230 . However, the malicious file detection server 20 shown in FIG. 2 is only one implementation example of the present invention, and various modifications are possible based on the components shown in FIG. 2 .

이하에서는 도 3을 참조하여 도 2를 설명하기로 한다. Hereinafter, FIG. 2 will be described with reference to FIG. 3 .

저장부(200)는 기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스(32)에 저장할 수 있다. 여기서, 전체 PE 파일에 대한 정보에는 예를 들어, 복수의 정상 PE 파일마다 정상 레이블(예컨대, 0 레이블)이 표시되고, 복수의 악성 PE 파일마다 악성 레이블(예컨대, 1 레이블)이 표시될 수 있다. The storage unit 200 may store in the database 32 information on all PE files including a plurality of previously secured normal PE files and malicious PE files. Here, in the information on all PE files, for example, a normal label (eg, label 0) may be displayed for each of a plurality of normal PE files, and a malicious label (eg, label 1) may be displayed for each of a plurality of malicious PE files. .

잠시, 도 4를 참조하여 데이터베이스(32)에 저장되는 전체 PE 파일에 대한 정보를 설명하기로 한다. For a moment, information on all PE files stored in the database 32 will be described with reference to FIG. 4 .

도 4를 참조하면, 저장부(200)는 전체 PE 파일에 포함된 정상 PE 파일 및 악성 PE 파일별로 라이브러리 목록, 함수 목록(40) 및 해시값을 데이터베이스(32)에 저장할 수 있다. Referring to FIG. 4 , the storage unit 200 may store a library list, a function list 40, and hash values in a database 32 for each normal PE file and malicious PE file included in all PE files.

여기서, 라이브러리 목록은 함수들의 모음 단위로 PE 파일에서 어떤 함수를 사용하기 위해 해당 함수를 수록한 집합을 의미한다. 함수 목록은 함께 컴파일된 루틴 또는 서브루틴의 집합을 의미한다. 해시값은 PE 파일에서 임포트(import)하는 '라이브러리명: 함수명'들을 소문자로 변환하고, 변환된 소문자를 바이트 배열로 변환한 뒤, MD5 해시 함수가 적용된 값을 의미한다. Here, the library list means a set containing a function in order to use a certain function in a PE file in units of collections of functions. A function list is a collection of routines or subroutines compiled together. The hash value refers to the value to which the MD5 hash function is applied after converting the 'library name: function name' imported from the PE file into lowercase letters, converting the converted lowercase letters into a byte array.

저장부(200)는 라이브러리별 정상 PE 파일의 개수 및 악성 PE 파일의 개수(42)를 데이터베이스(32)에 저장할 수 있다. 예를 들어, 저장부(200)는 '라이브러리명'을 기준으로 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 대한 자료구조를 생성하여 데이터베이스(32)에 저장할 수 있다. The storage unit 200 may store the number 42 of normal PE files and malicious PE files for each library in the database 32 . For example, the storage unit 200 may create a data structure for the number of normal PE files and the number of malicious PE files based on 'library name' and store it in the database 32 .

저장부(200)는 함수별 정상 PE 파일의 개수 및 악성 PE 파일의 개수(44)를 데이터베이스(32)에 저장할 수 있다. 예를 들어, 저장부(200)는 '라이브러리명:함수명'을 기준으로 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 대한 자료구조를 생성하여 데이터베이스(32)에 저장할 수 있다.The storage unit 200 may store the number of normal PE files and the number 44 of malicious PE files for each function in the database 32 . For example, the storage unit 200 may generate a data structure for the number of normal PE files and the number of malicious PE files based on 'library name: function name' and store it in the database 32 .

다시 도 2로 돌아오면, 분석부(210)는 탐지 대상 PE 파일(30)에 대한 정적분석을 통해 탐지 대상 PE 파일(30)로부터 탐지 대상 PE 파일(30)에 포함된 라이브러리 및 함수를 추출할 수 있다. Returning to FIG. 2 again, the analysis unit 210 extracts libraries and functions included in the detection target PE file 30 from the detection target PE file 30 through static analysis of the detection target PE file 30. can

분석부(210)는 추출된 탐지 대상 PE 파일(30)의 라이브러리 및 함수를 머신러닝 모델에 입력하여 머신러닝 모델을 통해 해당 라이브러리 및 함수가 악성일 확률을 포함하는 악성예측 결과를 도출할 수 있다. The analyzer 210 inputs the extracted library and function of the PE file 30 to be detected into a machine learning model, and derives a malicious prediction result including a probability that the corresponding library and function are malicious through the machine learning model. .

분석부(210)는 데이터베이스(32)에 저장된 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일(30)에 대한 정보를 분석할 수 있다. The analyzer 210 may analyze information about the detection target PE file 30 based on information about all PE files stored in the database 32 .

생성부(220)는 분석된 탐지 대상 PE 파일(30)에 대한 정보에 기초하여 탐지 대상 PE 파일(30)에 대한 정오탐 판단 정보(34)를 생성할 수 있다. The generation unit 220 may generate false positive determination information 34 for the detection target PE file 30 based on the analyzed information on the detection target PE file 30 .

<제 1 실시예><First Embodiment>

분석부(210)는 데이터베이스(32)에서 정상 라벨링된 정상 PE 파일별 라이브러리 목록 및 악성 라벨링된 악성 PE 파일별 라이브러리 목록을 추출하고, 추출된 정상 PE 파일별 라이브러리 목록 및 악성 PE 파일별 라이브러리 목록 간의 차집합을 계산할 수 있다. The analysis unit 210 extracts a library list by normal labeled normal PE file and a library list by malicious labeled malicious PE file from the database 32, and between the extracted library list by normal PE file and the library list by malicious PE file. difference can be calculated.

분석부(210)는 차집합의 결과에 기초하여 복수의 정상 PE 파일에만 속하는 라이브러리 목록을 추출할 수 있다. The analysis unit 210 may extract a library list belonging only to a plurality of normal PE files based on a result of the difference set.

분석부(210)는 추출된 정상 PE 파일에 대해서만 라이브러리 목록 및 탐지 대상 PE 파일(30)로부터 추출된 라이브러리 목록 간의 교집합을 계산하고, 교집합의 결과에 기초하여 탐지 대상 PE 파일(30)에 대한 정보를 분석할 수 있다. The analyzer 210 calculates an intersection between the library list extracted from the extracted normal PE file and the library list extracted from the detection target PE file 30 only for the extracted normal PE file, and based on the result of the intersection, information about the detection target PE file 30 can be analyzed.

예를 들어, 분석부(210)는 교집합의 결과가 기설정된 임계치(예컨대, 1) 이상인 경우, 탐지 대상 PE 파일(30)의 라이브러리가 정상 PE 파일에만 속하는 라이브러리를 포함할 확률이 높다고 판단할 수 있다. 이러한 이유는 악성 PE 파일은 많은 윈도우 운영체제에서 실행되도록 native 함수들을 사용하지만, 정상 PE 파일은 non-native 함수 사용에 자유롭기 때문이다. For example, if the result of the intersection is equal to or greater than a preset threshold (eg, 1), the analyzer 210 may determine that there is a high probability that the library of the PE file 30 to be detected includes a library belonging only to normal PE files. there is. This is because malicious PE files use native functions to run on many Windows operating systems, but normal PE files are free to use non-native functions.

생성부(220)는 탐지 대상 PE 파일(30)의 라이브러리가 정상 PE 파일에만 속하는 라이브러리를 포함하고 있음을 나타내는 정오탐 판단 정보(34)를 생성할 수 있다.The generating unit 220 may generate false positive determination information 34 indicating that the library of the PE file 30 to be detected includes a library belonging only to normal PE files.

<제 2 실시예><Second Embodiment>

분석부(210)는 전체 PE 파일의 해시값 중 탐지 대상 PE 파일(30)의 해시값과 일치하는 PE 파일을 탐색하고, 탐색된 PE 파일을 구성하는 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 탐지 대상 PE 파일(30)에 대한 정보를 분석할 수 있다. The analyzer 210 searches for PE files matching the hash value of the detection target PE file 30 among the hash values of all PE files, and the number of normal PE files and the number of malicious PE files constituting the searched PE files. Information on the PE file 30 to be detected may be analyzed based on .

분석부(210)는 탐지 대상 PE 파일(30)의 해시값과 일치하는 탐색된 PE 파일 중 정상 PE 파일 및 악성 PE 파일 각각의 개수 및 데이터베이스(32)에 저장된 전체 PE 파일 중 정상 PE 파일 및 악성 PE 파일 각각이 차지하는 비율에 기초하여 [수학식 1]을 통해 탐지 대상 PE 파일(30)이 악성 PE 파일과 완전 일치하는 완전 일치율을 계산할 수 있다. 이 때, 계산된 완전 일치율이 높을수록 탐지 대상 PE 파일(30)이 악성 PE 파일일 확률이 높음을 의미할 수 있다. The analysis unit 210 determines the number of normal PE files and malicious PE files among the searched PE files that match the hash value of the detection target PE file 30 and normal PE files and malicious PE files among all PE files stored in the database 32. Based on the ratio occupied by each PE file, it is possible to calculate the perfect match ratio in which the PE file 30 to be detected completely matches the malicious PE file through [Equation 1]. In this case, the higher the calculated perfect matching rate, the higher the probability that the PE file 30 to be detected is a malicious PE file.

[수학식 1][Equation 1]

여기서, 은 데이터베이스에 포함된 복수의 악성 PE 파일 중에 탐지 대상 PE 파일의 해시값과 일치하는 파일의 개수이고, 은 악성 파일에 대한 가중치로서, 데이터베이스에 포함된 전체 PE파일 중 악성 PE 파일이 차지하는 비율로 계산되고, 는 데이터베이스에 포함된 복수의 정상 PE 파일 중에 탐지 대상 PE 파일의 해시값과 일치하는 파일의 개수이고, 는 정상파일에 대한 가중치로서, 데이터베이스에 포함된 전체 PE 파일 중 정상 PE 파일이 차지하는 비율로 (1-)과 같고, α는 분모가 0이 되는 것을 방지하기 위한 값이다. here, is the number of files that match the hash value of the PE file to be detected among a plurality of malicious PE files included in the database, is a weight for malicious files, calculated as the ratio of malicious PE files to all PE files included in the database, is the number of files that match the hash value of the PE file to be detected among a plurality of normal PE files included in the database, is the weight for normal files, and is the ratio of normal PE files among all PE files included in the database (1- ), and α is a value to prevent the denominator from becoming 0.

생성부(220)는 탐색된 PE 파일 중 탐지 대상 PE 파일(30)의 해시값과 일치하는 악성 PE 파일에 대한 목록을 정오탐 판단 정보(34)로서 생성할 수 있다. The generation unit 220 may generate a list of malicious PE files matching the hash value of the detection target PE file 30 among the searched PE files as the false positive determination information 34 .

<제 3 실시예><Third Embodiment>

분석부(210)는 전체 PE 파일의 함수 목록 및 탐지 대상 PE 파일(30)의 함수 목록 간의 유사도를 계산할 수 있다. 이를 통해 기존 악성 PE 파일에서 일부를 수정한 악성 PE 파일을 고려하지 못하는 한계를 개선할 수 있다.The analyzer 210 may calculate a similarity between the function list of all PE files and the function list of the PE file 30 to be detected. This can improve the limitation of not considering a malicious PE file partially modified from an existing malicious PE file.

분석부(210)는 전체 PE 파일의 '라이브러리명:함수명'을 원핫 인코딩(One-hot encoding) 방식으로 벡터화하고, 탐지 대상 PE 파일(30)의 '라이브러리명:함수명'을 원핫 인코딩 방식으로 벡터화한 후, 두 벡터 간의 코사인 유사도 공식에 기초하여 벡터화된 전체 PE 파일의 함수 목록 및 벡터화된 탐지 대상 PE 파일(30)의 함수 목록 간의 코사인 유사도를 계산할 수 있다. 이 때, 코사인 유사도는 [수학식 2]를 통해 계산될 수 있다. 코사인 유사도는 0에서 1사이의 소수를 가지고, 1에 가까울수록 유사도가 높음을 의미한다. The analyzer 210 vectorizes the 'library name: function name' of the entire PE file using a one-hot encoding method, and vectorizes the 'library name: function name' of the PE file to be detected 30 using a one-hot encoding method. After that, the cosine similarity between the vectorized function list of the entire PE file and the vectorized function list of the PE file 30 to be detected can be calculated based on the cosine similarity formula between the two vectors. At this time, the cosine similarity can be calculated through [Equation 2]. The cosine similarity has a prime number between 0 and 1, and the closer to 1, the higher the similarity.

[수학식 2][Equation 2]

여기서, 은 데이터베이스(32)에 포함된 악성 PE 파일 m이 임포트하는 함수에 대한 벡터와 탐지 대상 PE 파일이 임포트하는 함수에 대한 벡터 간의 코사인 유사도 결과값이고, T는 코사인 유사도의 임계치 함수이며, 의 값이 특정 코사인 유사도(예컨대, 0.8)보다 낮을 때 0으로 설정하는 함수이다. 은 악성 파일에 대한 가중치로서, 데이터베이스에 포함된 전체 PE파일 중 악성 PE 파일이 차지하는 비율로 계산되고, 는 데이터베이스(32)에 포함된 정상 PE 파일 b가 임포트하는 함수에 대한 벡터와 탐지 대상 PE 파일이 임포트하는 함수에 대한 벡터 간의 코사인 유사도 결과값이고, 는 정상파일에 대한 가중치로서, 데이터베이스에 포함된 전체 PE 파일 중 정상 PE 파일이 차지하는 비율로 (1-)과 같고, α는 분모가 0이 되는 것을 방지하기 위한 값이다. here, is the cosine similarity result between the vector for the function imported by the malicious PE file m included in the database 32 and the vector for the function imported by the PE file to be detected, T is the cosine similarity threshold function, It is a function that sets to 0 when the value of is lower than a specific cosine similarity (eg, 0.8). is a weight for malicious files, calculated as the ratio of malicious PE files to all PE files included in the database, is a cosine similarity result between a vector for a function imported by a normal PE file b included in the database 32 and a vector for a function imported by a PE file to be detected, is the weight for normal files, and is the ratio of normal PE files among all PE files included in the database (1- ), and α is a value to prevent the denominator from becoming 0.

분석부(210)는 전체 PE 파일의 함수 목록 중 기설정된 임계치를 초과하는 유사도를 갖는 PE 파일의 함수 목록을 추출하고, 추출된 PE 파일의 함수 목록에 기초하여 탐지 대상 PE 파일(30)에 대한 정보를 분석할 수 있다. The analysis unit 210 extracts a function list of a PE file having a similarity exceeding a predetermined threshold among function lists of all PE files, and determines a function list for the PE file 30 to be detected based on the function list of the extracted PE file. information can be analyzed.

분석부(210)는 [수학식 2]를 통해 전체 PE 파일에 포함된 복수의 악성 PE 파일의 함수 목록 중 탐지 대상 PE 파일(30)의 함수 목록과의 유사도가 기설정된 임계치를 초과하는 악성 PE 파일의 함수 목록을 추출할 수 있다. 이 때, [수학식 2]를 통해 계산된 값이 높을수록 탐지 대상 PE 파일(30)이 악성 PE 파일일 확률이 높음을 의미한다. The analysis unit 210, through [Equation 2], is a malicious PE whose similarity with the function list of the PE file 30 to be detected among the function lists of a plurality of malicious PE files included in the entire PE file exceeds a preset threshold. You can extract a function list from a file. At this time, the higher the value calculated through [Equation 2], the higher the probability that the PE file 30 to be detected is a malicious PE file.

생성부(220)는 추출된 악성 PE 파일의 함수 목록 및 추출된 악성 PE 파일의 함수 목록과 탐지 대상 PE 파일(30)의 함수 목록 간의 유사도를 탐지 대상 PE 파일(30)에 대한 정오탐 판단 정보(34)로서 생성할 수 있다. The generation unit 220 calculates the similarity between the function list of the extracted malicious PE file and the function list of the extracted malicious PE file and the function list of the detection target PE file 30 to determine false positive information for the detection target PE file 30. (34) can be generated.

<제 4 실시예><The fourth embodiment>

분석부(210)는 데이터베이스(32)에 저장된 함수별 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 탐지 대상 PE 파일(30)의 함수에 대한 악성 PE 파일과의 관련도를 계산할 수 있다. 이 때, 악성 PE 파일과의 관련도가 높을수록 탐지 대상 PE 파일(30)에서 사용되는 함수가 악성 PE 파일에서 사용되는 함수일 가능성이 높음을 의미할 수 있다. The analyzer 210 may calculate the degree of association between the function of the PE file 30 to be detected and the malicious PE file based on the number of normal PE files and the number of malicious PE files for each function stored in the database 32. . In this case, the higher the correlation with the malicious PE file, the higher the possibility that the function used in the PE file 30 to be detected is a function used in the malicious PE file.

예를 들어, 도 5를 참조하면, 탐지 대상 PE 파일(30)에 'GetLastError' 함수가 포함되어 있는 경우, 데이터베이스(32)에서 'GetLastError' 함수(50)를 임포트하는 정상 PE 파일의 개수는 10963개이고, 악성 PE 파일의 개수는 21040개이고, 해당 정상 PE 파일의 개수 및 악성 PE 파일의 개수 간의 합이 32003으로, 탐지 대상 PE 파일(30)의 함수에 대한 악성 PE 파일과의 관련도는 약 0.66(=21040/32003)으로 계산될 수 있다. For example, referring to FIG. 5 , when the detection target PE file 30 includes the 'GetLastError' function, the number of normal PE files importing the 'GetLastError' function 50 from the database 32 is 10963. , the number of malicious PE files is 21040, the sum of the number of normal PE files and the number of malicious PE files is 32003, and the degree of correlation of the function of the PE file to be detected (30) with the malicious PE file is about 0.66. It can be calculated as (= 21040/32003).

생성부(220)는 계산된 악성 PE 파일과의 관련도에 기초하여 악성 PE 파일의 함수 목록을 탐지 대상 PE 파일(30)에 대한 정오탐 판단 정보(34)로서 생성할 수 있다. The generation unit 220 may generate a function list of the malicious PE file as the false positive determination information 34 for the PE file 30 to be detected based on the calculated correlation with the malicious PE file.

전송부(230)는 머신러닝 모델을 통해 도출된 탐지 대상 PE 파일(30)에 대한 악성예측 결과와 함께 탐지 대상 PE 파일(30)에 대한 정오탐 판단 정보(34)를 운영자 단말에게 전송할 수 있다. The transmission unit 230 may transmit false positive determination information 34 for the detection target PE file 30 to the operator terminal together with the malicious prediction result for the detection target PE file 30 derived through the machine learning model. .

한편, 당업자라면, 저장부(200), 분석부(210), 생성부(220) 및 전송부(230) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Meanwhile, those skilled in the art will fully understand that each of the storage unit 200, the analysis unit 210, the generation unit 220, and the transmission unit 230 can be implemented separately or implemented by integrating one or more of them. .

도 6은 본 발명의 일 실시예에 따른, 악성 파일을 탐지하는 방법을 나타낸 흐름도이다. 6 is a flowchart illustrating a method of detecting a malicious file according to an embodiment of the present invention.

도 6을 참조하면, 단계 S601에서 악성 파일 탐지 서버(20)는 기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장할 수 있다. Referring to FIG. 6 , in step S601, the malicious file detection server 20 may store information on all PE files including a plurality of previously secured normal PE files and malicious PE files in a database.

단계 S603에서 악성 파일 탐지 서버(20)는 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석할 수 있다. In step S603, the malicious file detection server 20 may analyze information about PE files to be detected based on information about all PE files.

단계 S605에서 악성 파일 탐지 서버(20)는 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성할 수 있다. In step S605, the malicious file detection server 20 may generate false positive determination information for the PE file to be detected based on the analyzed information on the PE file to be detected.

단계 S607에서 악성 파일 탐지 서버(20)는 정오탐 판단 정보를 운영자 단말에게 전송할 수 있다. In step S607, the malicious file detection server 20 may transmit false positive determination information to the operator terminal.

상술한 설명에서, 단계 S601 내지 S607은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the foregoing description, steps S601 to S607 may be further divided into additional steps or combined into fewer steps, depending on an embodiment of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.

도 7은 본 발명의 일 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.7 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to an embodiment of the present invention.

도 7을 참조하면, 단계 S701에서 악성 파일 탐지 서버(20)는 데이터베이스에 저장된 정상 PE 파일별 라이브러리 목록 및 악성 PE 파일별 라이브러리 목록 간의 차집합을 계산할 수 있다. Referring to FIG. 7 , in step S701, the malicious file detection server 20 may calculate the difference between the library list for each normal PE file and the library list for each malicious PE file stored in the database.

단계 S703에서 악성 파일 탐지 서버(20)는 계산된 차집합의 결과에 기초하여 데이터베이스로부터 복수의 정상 PE 파일에만 속하는 라이브러리 목록을 추출할 수 있다. In step S703, the malicious file detection server 20 may extract a library list belonging only to a plurality of normal PE files from the database based on the result of the calculated difference set.

단계 S705에서 악성 파일 탐지 서버(20)는 추출된 정상 PE 파일에만 속하는 라이브러리 목록 및 탐지 대상 PE 파일로부터 추출된 라이브러리 목록 간의 교집합을 계산할 수 있다. In step S705, the malicious file detection server 20 may calculate an intersection between the library list belonging only to the extracted normal PE file and the library list extracted from the PE file to be detected.

단계 S707에서 악성 파일 탐지 서버(20)는 계산된 교집합의 결과에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석할 수 있다. In step S707, the malicious file detection server 20 may analyze information on the PE file to be detected based on the calculated intersection result.

단계 S709에서 악성 파일 탐지 서버(20)는 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성할 수 있다. In step S709, the malicious file detection server 20 may generate false positive determination information for the PE file to be detected based on the analyzed information on the PE file to be detected.

상술한 설명에서, 단계 S701 내지 S709는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S701 to S709 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.

도 8은 본 발명의 다른 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to another embodiment of the present invention.

도 8을 참조하면, 단계 S801에서 악성 파일 탐지 서버(20)는 데이터베이스에 저장된 전체 PE 파일의 해시값 중 탐지 대상 PE 파일의 해시값과 일치하는 PE 파일을 탐색할 수 있다. Referring to FIG. 8 , in step S801, the malicious file detection server 20 may search for a PE file that matches the hash value of the PE file to be detected among hash values of all PE files stored in the database.

단계 S803에서 악성 파일 탐지 서버(20)는 탐색된 PE 파일을 구성하는 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석할 수 있다. In step S803, the malicious file detection server 20 may analyze information about PE files to be detected based on the number of normal PE files and the number of malicious PE files constituting the searched PE files.

단계 S805에서 악성 파일 탐지 서버(20)는 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 탐색된 PE 파일 중 탐지 대상 PE 파일의 해시값과 일치하는 악성 PE 파일에 대한 목록을 탐지 대상 PE 파일에 대한 정오탐 판단 정보로서 생성할 수 있다. In step S805, the malicious file detection server 20 assigns a list of malicious PE files matching the hash value of the detection target PE file among the detected PE files based on the analyzed detection target PE file information to the detection target PE file. It can be generated as false positive determination information for

상술한 설명에서, 단계 S801 내지 S805는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S801 to S805 may be further divided into additional steps or combined into fewer steps, depending on an embodiment of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.

도 9는 본 발명의 다른 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.9 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to another embodiment of the present invention.

도 9를 참조하면, 단계 S901에서 악성 파일 탐지 서버(20)는 데이터베이스에 저장된 전체 PE 파일의 함수 목록 및 탐지 대상 PE 파일의 함수 목록 간의 유사도를 계산할 수 있다. Referring to FIG. 9 , in step S901, the malicious file detection server 20 may calculate a similarity between the function list of all PE files stored in the database and the function list of the PE file to be detected.

단계 S903에서 악성 파일 탐지 서버(20)는 전체 PE 파일에 포함된 복수의 악성 PE 파일의 함수 목록 중 탐지 대상 PE 파일의 함수 목록과의 유사도가 기설정된 임계치를 초과하는 악성 PE 파일의 함수 목록을 데이터베이스로부터 추출할 수 있다. In step S903, the malicious file detection server 20 selects a function list of a malicious PE file whose similarity with the function list of a PE file to be detected exceeds a predetermined threshold among function lists of a plurality of malicious PE files included in the entire PE file. can be extracted from the database.

단계 S905에서 악성 파일 탐지 서버(20)는 추출된 악성 PE 파일의 함수 목록 및 유사도를 탐지 대상 PE 파일에 대한 정오탐 판단 정보로서 생성할 수 있다.In step S905, the malicious file detection server 20 may generate a function list and similarity of the extracted malicious PE file as false positive determination information for the PE file to be detected.

상술한 설명에서, 단계 S901 내지 S905는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S901 to S905 may be further divided into additional steps or combined into fewer steps, depending on an embodiment of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.

도 10은 본 발명의 다른 실시예에 따른, 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 방법을 나타낸 흐름도이다.10 is a flowchart illustrating a method of generating false positive determination information for a PE file to be detected according to another embodiment of the present invention.

도 10을 참조하면, 단계 S1001에서 악성 파일 탐지 서버(20)는 데이터베이스에 저장된 함수별 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 탐지 대상 PE 파일의 함수에 대한 악성 PE 파일과의 관련도를 계산할 수 있다. Referring to FIG. 10, in step S1001, the malicious file detection server 20 associates the function of the PE file to be detected with the malicious PE file based on the number of normal PE files and the number of malicious PE files for each function stored in the database. figure can be calculated.

단계 S1003에서 악성 파일 탐지 서버(20)는 계산된 악성 PE 파일과의 관련도에 기초하여 데이터베이스로부터 악성 PE 파일의 함수 목록을 추출하고, 추출된 악성 PE 파일의 함수 목록을 탐지 대상 PE 파일에 대한 정오탐 판단 정보로서 생성할 수 있다. In step S1003, the malicious file detection server 20 extracts the function list of the malicious PE file from the database based on the calculated correlation with the malicious PE file, and converts the function list of the extracted malicious PE file to the detection target PE file. It can be generated as false positive determination information.

상술한 설명에서, 단계 S1001 내지 S1003은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S1001 to S1003 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present invention. Also, some steps may be omitted if necessary, and the order of steps may be changed.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may be implemented in the form of a recording medium including instructions executable by a computer, such as program modules executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes, and those skilled in the art can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts thereof should be construed as being included in the scope of the present invention. .

20: 악성 파일 탐지 서버
200: 저장부
210: 분석부
220: 생성부
230: 전송부
20: malicious file detection server
200: storage unit
210: analysis unit
220: generating unit
230: transmission unit

Claims (19)

프로그램을 실행하지 않은 환경에서 악성 파일을 탐지하는 서버에 있어서,
기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장하는 저장부;
상기 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하는 분석부;
상기 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 생성부; 및
상기 정오탐 판단 정보를 운영자 단말로 전송하는 전송부
를 포함하는 것인, 악성 파일 탐지 서버.
In a server that detects malicious files in an environment where a program is not executed,
a storage unit for storing information on all PE files including a plurality of previously secured normal PE files and malicious PE files in a database;
an analysis unit that analyzes information on a PE file to be detected based on the information on all PE files;
a generator that generates false positive determination information for the PE file to be detected based on the information on the PE file to be detected; and
Transmission unit for transmitting the false positive determination information to an operator terminal
To include, malicious file detection server.
제 1 항에 있어서,
상기 저장부는 상기 전체 PE 파일에 포함된 정상 PE 파일 및 악성 PE 파일별로 라이브러리 목록, 함수 목록 및 해시값을 상기 데이터베이스에 저장하는 것인, 악성 파일 탐지 서버.
According to claim 1,
Wherein the storage unit stores a library list, a function list, and a hash value for each normal PE file and malicious PE file included in the entire PE file in the database.
제 2 항에 있어서,
상기 저장부는 라이브러리별 정상 PE 파일의 개수 및 악성 PE 파일의 개수를 저장하고, 함수별 정상 PE 파일의 개수 및 악성 PE 파일의 개수를 상기 데이터베이스에 저장하는 것인, 악성 파일 탐지 서버.
According to claim 2,
wherein the storage unit stores the number of normal PE files and the number of malicious PE files for each library, and stores the number of normal PE files and the number of malicious PE files for each function in the database.
제 3 항에 있어서,
상기 분석부는
상기 정상 PE 파일별 라이브러리 목록 및 상기 악성 PE 파일별 라이브러리 목록 간의 차집합의 결과에 기초하여 상기 복수의 정상 PE 파일에만 속하는 라이브러리 목록을 추출하고,
상기 추출된 라이브러리 목록 및 상기 탐지 대상 PE 파일로부터 추출된 라이브러리 목록 간의 교집합의 결과에 기초하여 상기 탐지 대상 PE 파일에 대한 정보를 분석하는 것인, 악성 파일 탐지 서버.
According to claim 3,
The analysis unit
Extracting a library list belonging only to the plurality of normal PE files based on a result of a difference between the library list for each normal PE file and the library list for each malicious PE file;
and analyzing information on the PE file to be detected based on a result of intersection between the extracted library list and the library list extracted from the PE file to be detected.
제 3 항에 있어서,
상기 분석부는
상기 전체 PE 파일의 해시값 중 상기 탐지 대상 PE 파일의 해시값과 일치하는 PE 파일을 탐색하고,
상기 탐색된 PE 파일을 구성하는 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 상기 탐지 대상 PE 파일에 대한 정보를 분석하는 것인, 악성 파일 탐지 서버.
According to claim 3,
The analysis unit
Searching for a PE file that matches the hash value of the detection target PE file among the hash values of all the PE files,
and analyzing information on the PE file to be detected based on the number of normal PE files and the number of malicious PE files constituting the searched PE file.
제 5 항에 있어서,
상기 생성부는
상기 탐색된 PE 파일 중 상기 탐지 대상 PE 파일의 해시값과 일치하는 악성 PE 파일에 대한 목록을 상기 정오탐 판단 정보로서 생성하는 것인, 악성 파일 탐지 서버.
According to claim 5,
the generator
And generating a list of malicious PE files matching the hash value of the detection target PE file among the searched PE files as the false positive determination information.
제 3 항에 있어서,
상기 분석부는
상기 전체 PE 파일의 함수 목록 및 상기 탐지 대상 PE 파일의 함수 목록 간의 유사도를 계산하고,
상기 전체 PE 파일의 함수 목록 중 기설정된 임계치를 초과하는 유사도를 갖는 PE 파일의 함수 목록을 추출하고,
상기 추출된 PE 파일의 함수 목록에 기초하여 상기 탐지 대상 PE 파일에 대한 정보를 분석하는 것인, 악성 파일 탐지 서버.
According to claim 3,
The analysis unit
Calculate a similarity between a function list of the entire PE file and a function list of the PE file to be detected;
Extracting a function list of a PE file having a similarity exceeding a predetermined threshold among function lists of all PE files;
and analyzing information about the PE file to be detected based on the function list of the extracted PE file.
제 7 항에 있어서,
상기 분석부는
상기 전체 PE 파일에 포함된 복수의 악성 PE 파일의 함수 목록 중 상기 탐지 대상 PE 파일의 함수 목록과의 유사도가 상기 기설정된 임계치를 초과하는 악성 PE 파일의 함수 목록을 추출하고,
상기 생성부는
상기 추출된 악성 PE 파일의 함수 목록 및 유사도를 상기 정오탐 판단 정보로서 생성하는 것인, 악성 파일 탐지 서버.
According to claim 7,
The analysis unit
Extracting a function list of a malicious PE file whose similarity with the function list of the PE file to be detected exceeds the predetermined threshold among the function lists of the plurality of malicious PE files included in the entire PE file;
the generator
and generating a function list and similarity of the extracted malicious PE file as the false positive determination information.
제 3 항에 있어서,
상기 분석부는
상기 데이터베이스에 저장된 함수별 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 상기 탐지 대상 PE 파일의 함수에 대한 악성 PE 파일과의 관련도를 계산하고,
상기 생성부는
상기 계산된 악성 PE 파일과의 관련도에 기초하여 상기 악성 PE 파일의 함수 목록을 상기 정오탐 판단 정보로서 생성하는 것인, 악성 파일 탐지 서버.
According to claim 3,
The analysis unit
Based on the number of normal PE files and the number of malicious PE files for each function stored in the database, the degree of association between the function of the PE file to be detected and the malicious PE file is calculated,
the generator
and generating a function list of the malicious PE file as the false positive determination information based on the calculated correlation with the malicious PE file.
프로그램을 실행하지 않은 환경에서 악성 파일 탐지 서버에 의해 수행되는 악성 파일을 탐지하는 방법에 있어서,
기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장하는 단계;
상기 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하는 단계;
상기 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 단계; 및
상기 정오탐 판단 정보를 운영자 단말로 전송하는 단계
를 포함하는 것인, 악성 파일 탐지 방법.
A method for detecting a malicious file performed by a malicious file detection server in an environment where a program is not executed,
Storing information on all PE files including a plurality of previously secured normal PE files and malicious PE files in a database;
analyzing information on a PE file to be detected based on the information on all PE files;
generating false positive determination information for the PE file to be detected based on the analyzed information on the PE file to be detected; and
Transmitting the false positive determination information to an operator terminal
To include, a malicious file detection method.
제 10 항에 있어서,
상기 데이터베이스에 저장하는 단계는
상기 전체 PE 파일에 포함된 정상 PE 파일 및 악성 PE 파일별로 라이브러리 목록, 함수 목록 및 해시값을 상기 데이터베이스에 저장하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
According to claim 10,
Storing in the database
and storing a library list, a function list, and a hash value for each normal PE file and malicious PE file included in the entire PE file in the database.
제 11 항에 있어서,
상기 데이터베이스에 저장하는 단계는
라이브러리별 정상 PE 파일의 개수 및 악성 PE 파일의 개수를 저장하고, 함수별 정상 PE 파일의 개수 및 악성 PE 파일의 개수를 상기 데이터베이스에 저장하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
According to claim 11,
Storing in the database
and storing the number of normal PE files and the number of malicious PE files for each library, and storing the number of normal PE files and the number of malicious PE files for each function in the database.
제 12 항에 있어서,
상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계는
상기 정상 PE 파일별 라이브러리 목록 및 상기 악성 PE 파일별 라이브러리 목록 간의 차집합의 결과에 기초하여 상기 복수의 정상 PE 파일에만 속하는 라이브러리 목록을 추출하는 단계 및
상기 추출된 라이브러리 목록 및 상기 탐지 대상 PE 파일로부터 추출된 라이브러리 목록 간의 교집합의 결과에 기초하여 상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
According to claim 12,
The step of analyzing information about the detection target PE file
Extracting a library list belonging only to the plurality of normal PE files based on a result of a difference between the library list for each normal PE file and the library list for each malicious PE file; and
And analyzing information about the detection target PE file based on a result of intersection between the extracted library list and the library list extracted from the detection target PE file.
제 12 항에 있어서,
상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계는
상기 전체 PE 파일의 해시값 중 상기 탐지 대상 PE 파일의 해시값과 일치하는 PE 파일을 탐색하는 단계 및
상기 탐색된 PE 파일을 구성하는 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
According to claim 12,
The step of analyzing information about the detection target PE file
Searching for a PE file matching the hash value of the detection target PE file among hash values of all the PE files; and
And analyzing information on the PE file to be detected based on the number of normal PE files and the number of malicious PE files constituting the searched PE file.
제 14 항에 있어서,
상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 단계는
상기 탐색된 PE 파일 중 상기 탐지 대상 PE 파일의 해시값과 일치하는 악성 PE 파일에 대한 목록을 상기 정오탐 판단 정보로서 생성하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
15. The method of claim 14,
The step of generating false positive determination information for the PE file to be detected is
And generating a list of malicious PE files matching the hash value of the detection target PE file among the searched PE files as the false positive determination information.
제 12 항에 있어서,
상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계는
상기 전체 PE 파일의 함수 목록 및 상기 탐지 대상 PE 파일의 함수 목록 간의 유사도를 계산하는 단계;
상기 전체 PE 파일의 함수 목록 중 기설정된 임계치를 초과하는 유사도를 갖는 PE 파일의 함수 목록을 추출하는 단계 및
상기 추출된 PE 파일의 함수 목록에 기초하여 상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
According to claim 12,
The step of analyzing information about the detection target PE file
calculating a similarity between a function list of all PE files and a function list of the PE file to be detected;
Extracting a function list of a PE file having a similarity exceeding a predetermined threshold among function lists of all PE files; and
and analyzing information about the PE file to be detected based on the function list of the extracted PE file.
제 16 항에 있어서,
상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계는
상기 전체 PE 파일에 포함된 복수의 악성 PE 파일의 함수 목록 중 상기 탐지 대상 PE 파일의 함수 목록과의 유사도가 상기 기설정된 임계치를 초과하는 악성 PE 파일의 함수 목록을 추출하는 단계를 포함하고,
상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 단계는
상기 추출된 악성 PE 파일의 함수 목록 및 유사도를 상기 정오탐 판단 정보로서 생성하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
17. The method of claim 16,
The step of analyzing information about the detection target PE file
Extracting a function list of a malicious PE file whose similarity with the function list of the PE file to be detected exceeds the predetermined threshold among function lists of a plurality of malicious PE files included in the entire PE file;
The step of generating false positive determination information for the PE file to be detected is
and generating a function list and similarity of the extracted malicious PE file as the false positive determination information.
제 12 항에 있어서,
상기 탐지 대상 PE 파일에 대한 정보를 분석하는 단계는
상기 데이터베이스에 저장된 함수별 정상 PE 파일의 개수 및 악성 PE 파일의 개수에 기초하여 상기 탐지 대상 PE 파일의 함수에 대한 악성 PE 파일과의 관련도를 계산하는 단계를 포함하고,
상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하는 단계는
상기 계산된 악성 PE 파일과의 관련도에 기초하여 상기 악성 PE 파일의 함수 목록을 상기 정오탐 판단 정보로서 생성하는 단계를 포함하는 것인, 악성 파일 탐지 방법.
According to claim 12,
The step of analyzing information about the detection target PE file
Calculating a degree of association with a malicious PE file for a function of the PE file to be detected based on the number of normal PE files and the number of malicious PE files for each function stored in the database;
The step of generating false positive determination information for the PE file to be detected is
and generating a function list of the malicious PE file as the false positive determination information based on the calculated correlation with the malicious PE file.
프로그램을 실행하지 않은 환경에서 악성 파일을 탐지하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
기확보된 복수의 정상 PE 파일 및 악성 PE 파일을 포함하는 전체 PE 파일에 대한 정보를 데이터베이스에 저장하고,
상기 전체 PE 파일에 대한 정보에 기초하여 탐지 대상 PE 파일에 대한 정보를 분석하고,
상기 분석된 탐지 대상 PE 파일에 대한 정보에 기초하여 상기 탐지 대상 PE 파일에 대한 정오탐 판단 정보를 생성하고,
상기 정오탐 판단 정보를 운영자 단말로 전송하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.

A computer program stored in a computer readable recording medium containing a sequence of instructions for detecting a malicious file in an environment where the program is not executed,
When the computer program is executed by a computing device,
Store information on all PE files including a plurality of previously secured normal PE files and malicious PE files in a database;
Analyzing information on a PE file to be detected based on the information on all PE files;
generating false positive determination information for the PE file to be detected based on the information about the analyzed PE file to be detected;
A computer program stored on a computer readable recording medium, comprising a sequence of instructions for transmitting the false positive determination information to an operator terminal.

KR1020220004391A 2022-01-12 2022-01-12 Server, method and computer program for detecting malicious file KR20230108819A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220004391A KR20230108819A (en) 2022-01-12 2022-01-12 Server, method and computer program for detecting malicious file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220004391A KR20230108819A (en) 2022-01-12 2022-01-12 Server, method and computer program for detecting malicious file

Publications (1)

Publication Number Publication Date
KR20230108819A true KR20230108819A (en) 2023-07-19

Family

ID=87425954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220004391A KR20230108819A (en) 2022-01-12 2022-01-12 Server, method and computer program for detecting malicious file

Country Status (1)

Country Link
KR (1) KR20230108819A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102010468B1 (en) 2018-09-06 2019-08-14 주식회사 윈스 Apparatus and method for verifying malicious code machine learning classification model

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102010468B1 (en) 2018-09-06 2019-08-14 주식회사 윈스 Apparatus and method for verifying malicious code machine learning classification model

Similar Documents

Publication Publication Date Title
CN107102981B (en) Word vector generation method and device
EP2304649B1 (en) Frame based video matching
WO2021096649A1 (en) Detecting unknown malicious content in computer systems
US20130332466A1 (en) Linking Data Elements Based on Similarity Data Values and Semantic Annotations
US20160196342A1 (en) Plagiarism Document Detection System Based on Synonym Dictionary and Automatic Reference Citation Mark Attaching System
CN110191096B (en) Word vector webpage intrusion detection method based on semantic analysis
EP3358472A1 (en) User classification based on multimodal information
US9268767B2 (en) Semantic-based search system and search method thereof
JP2010501096A (en) Cooperative optimization of wrapper generation and template detection
CN110750615B (en) Text repeatability judgment method and device, electronic equipment and storage medium
KR101706300B1 (en) Apparatus and method for generating word hierarchy of technology terms
Santana et al. On the combination of domain-specific heuristics for author name disambiguation: the nearest cluster method
CN110516210B (en) Text similarity calculation method and device
KR102344293B1 (en) Apparatus and method for preprocessing security log
Stokes et al. Scriptnet: Neural static analysis for malicious javascript detection
CN104871152A (en) Providing organized content
CN116015703A (en) Model training method, attack detection method and related devices
Dolev et al. Relationship of Jaccard and edit distance in malware clustering and online identification
Al Zaabi et al. Android malware detection using static features and machine learning
KR20230108819A (en) Server, method and computer program for detecting malicious file
CN114443783B (en) Supply chain data analysis and enhancement processing method and device
US20220377095A1 (en) Apparatus and method for detecting web scanning attack
Hoang-Xuan et al. V-first 2.0: video event retrieval with flexible textual-visual intermediary for VBS 2023
Pu et al. BERT-Embedding-Based JSP Webshell Detection on Bytecode Level Using XGBoost
Zhang Clement: Machine learning methods for malware recognition based on semantic behaviours