KR20210125147A - Method and apparatus for generating malicious traffic using malicious file - Google Patents

Method and apparatus for generating malicious traffic using malicious file Download PDF

Info

Publication number
KR20210125147A
KR20210125147A KR1020200042211A KR20200042211A KR20210125147A KR 20210125147 A KR20210125147 A KR 20210125147A KR 1020200042211 A KR1020200042211 A KR 1020200042211A KR 20200042211 A KR20200042211 A KR 20200042211A KR 20210125147 A KR20210125147 A KR 20210125147A
Authority
KR
South Korea
Prior art keywords
communication
malicious file
malicious
message
file
Prior art date
Application number
KR1020200042211A
Other languages
Korean (ko)
Other versions
KR102346751B1 (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 한국전자통신연구원
Priority to KR1020200042211A priority Critical patent/KR102346751B1/en
Publication of KR20210125147A publication Critical patent/KR20210125147A/en
Application granted granted Critical
Publication of KR102346751B1 publication Critical patent/KR102346751B1/en

Links

Images

Classifications

    • 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
    • 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
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Virology (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A malicious traffic generating method using a malicious file and a device thereof are disclosed. According to an embodiment of the present invention, the malicious traffic generating method comprises the following steps of: analyzing a malicious file by extracting communication-related information from the malicious file; generating a communication counterpart for the malicious file by using the communication-related information extracted from the malicious file; and generating the malicious traffic by using the malicious file and the communication counterpart.

Description

악성파일을 이용한 악성 트래픽 생성 방법 및 장치 {METHOD AND APPARATUS FOR GENERATING MALICIOUS TRAFFIC USING MALICIOUS FILE}Method and device for generating malicious traffic using malicious files {METHOD AND APPARATUS FOR GENERATING MALICIOUS TRAFFIC USING MALICIOUS FILE}

본 발명은 악성파일을 이용하여 악성 트래픽을 생성하는 기술에 관한 것으로, 특히 악성파일에 의해 발생하는 실제 트래픽을 생성하여 악성 통신의 탐지, 대응 및 위협정보 축적 등에 활용할 수 있도록 하는 기술에 관한 것이다.The present invention relates to a technology for generating malicious traffic using a malicious file, and more particularly, to a technology for generating actual traffic generated by a malicious file and utilizing it for detection, response, and threat information accumulation of malicious communication.

최근 일상적으로 사용되는 프로토콜을 이용하여 다양한 방법으로 악성 통신을 수행하려는 시도들이 이루어지고 있다. 다수의 정상 트래픽에 숨어 은밀히 수행되는 악성 통신은 시그니처가 알려진 행위 외에는 기존 기술로 탐지가 어려우므로 통신기법의 상세 분석을 통해 악성 통신 행위를 탐지하는 새로운 기술의 개발이 요구되고 있다.Recently, attempts have been made to perform malicious communication in various ways using commonly used protocols. Since it is difficult to detect malicious communications that are performed secretly by hiding in a large number of normal traffic with existing technologies except for behaviors with known signatures, the development of new technologies for detecting malicious communication behaviors through detailed analysis of communication techniques is required.

통신기법의 분석을 위해서는 여러 단계로 수행되는 악성 행위에 대한 트래픽의 확보가 필수적이다. 하지만, 악성 행위를 탐지하더라도 악성통신 트래픽의 확보는 매우 제한적이어서 양질의 악성 트래픽을 확보하기 어려우며, 기존의 트래픽 생성방법을 이용하여 악성 행위를 상세히 분석하고 새로운 탐지방법을 검증하기 위한 악성 트래픽을 생성하는 데에는 한계가 있다.For the analysis of communication techniques, it is essential to secure traffic for malicious actions performed in several stages. However, even if a malicious behavior is detected, it is difficult to secure high-quality malicious traffic because the securing of malicious communication traffic is very limited. There are limits to what you can do.

악성 트래픽 생성과 관련하여, 종래에는 단순 공격 패킷을 생성하거나 또는 단순 공격 패킷을 대상으로 하는 악성파일에 관한 가상 트래픽이나, 실제 악성파일의 동작이 가능한지 여부와는 무관하게 악성 행위의 패턴이 포함된 가상 트래픽을 생성하였다. 반면에, 실제 악성파일의 동작을 통해 감염 신호 전달, 명령 전달, 자료 유출 등의 악성 행위를 수행하면서 발생하는 트래픽을 생성하지는 못하였다. 이러한 가상 악성 트래픽들은 네트워크 스캔 및 DoS(Denial of Service) 공격을 탐지하는 보안장비의 시험에 활용할 수는 있으나, 실제 통신에서 보이는 악성 행위를 상세히 분석하고 새로운 악성통신 탐지방법을 고안하기 위한 용도로 활용하기에는 어려운 한계가 있었다. 따라서, 본 기술분야에서는 악성파일에 의해 발생하는 실제 트래픽을 생성하여 악성 통신의 탐지, 대응 및 위협정보 축적 등에 활용할 수 있도록 하는 기술이 요구되고 있는 실정이다.In relation to the generation of malicious traffic, conventionally, virtual traffic related to malicious files that generate simple attack packets or target simple attack packets, or that contain malicious behavior patterns regardless of whether the actual malicious file can operate. Created virtual traffic. On the other hand, it was not possible to generate traffic generated while performing malicious actions such as transmission of infection signals, transmission of commands, and data leakage through the actual operation of malicious files. These virtual malicious traffic can be used for network scans and testing of security devices that detect Denial of Service (DoS) attacks, but they are used to analyze malicious behaviors seen in actual communication in detail and devise a new malicious communication detection method. There were limits to what it was difficult to do. Therefore, there is a demand in the present technical field for a technology that generates actual traffic generated by a malicious file and utilizes it for detection, response, and threat information accumulation of malicious communication.

한국 등록 특허 제10-1624326호, 2016년 4월 22일 등록(명칭: 악성 파일 진단 시스템 및 악성 파일 진단 방법)Korean Patent No. 10-1624326, registered on April 22, 2016 (Title: Malicious file diagnosis system and malicious file diagnosis method)

본 발명의 목적은 대상 악성파일의 동작으로 발생하는 악성트래픽을 생성하고 수집하기 위한 것이다.An object of the present invention is to generate and collect malicious traffic generated by the operation of a target malicious file.

또한, 악성파일에 의해 발생하는 실제 트래픽을 생성하여 악성 통신의 탐지, 대응 및 위협정보 축적 등에 활용할 수 있도록 하기 위한 것이다.In addition, the actual traffic generated by the malicious file is generated so that it can be utilized for detection, response, and threat information accumulation of malicious communication.

또한, 실제 통신에서 보이는 악성 행위를 상세히 분석하고 새로운 악성통신 탐지방법을 고안하기 위한 용도로 활용 가능한 악성 트래픽을 생성하기 위한 것이다.In addition, it is to generate malicious traffic that can be used to analyze malicious behaviors seen in actual communication in detail and devise a new malicious communication detection method.

상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 악성 트래픽 생성 방법은 상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하는 단계; 상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하는 단계; 및 상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 단계를 포함한다.To achieve the above object, a method for generating malicious traffic according to an embodiment of the present invention includes analyzing the malicious file by extracting communication-related information from the malicious file; creating a communication counterpart for the malicious file by using the communication-related information extracted from the malicious file; and generating the malicious traffic using the malicious file and the communication counterpart.

이 때, 상기 악성파일을 분석하는 단계는, 상기 악성파일의 통신지점을 검색하는 단계; 상기 통신지점이 존재하는지 여부를 판단하는 단계; 및 통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계를 포함할 수 있다.In this case, the analyzing of the malicious file may include: searching for a communication point of the malicious file; determining whether the communication point exists; and extracting communication-related information from the malicious file when the communication point exists as a result of determining whether the communication point exists.

이 때, 상기 악성파일의 통신지점을 검색하는 단계, 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부를 판단하는 단계 및 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계를 더 포함할 수 있다.In this case, as a result of the steps of searching for a communication point of the malicious file, determining whether there is another communication point other than the communication point, and determining whether there is another communication point other than the communication point, there is another communication point. In this case, the method may further include extracting communication-related information from the malicious file.

이 때, 상기 악성파일의 통신지점을 검색하는 단계는, 상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.In this case, in the step of searching for the communication point of the malicious file, when the malicious file is an executable file, the communication point of the malicious file may be searched by searching for a communication-related application programming interface (API) call unit.

이 때, 상기 악성파일의 통신지점을 검색하는 단계는, 상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.In this case, the step of searching the communication point of the malicious file includes calling a utility, a shell command, a Powershell Cmdlet, and a communication-related module used by the malicious file for communication if the malicious file is a malicious file in the form of a script. The communication point of the malicious file may be searched by searching for at least one of the identification factors.

이 때, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나 이상을 포함할 수 있다.In this case, the communication-related information may include at least one or more of information about a communication partner, information about a communication protocol, message information, encoding information, and information about communication expression.

이 때, 통신 상대를 생성하는 단계는, 상기 악성파일을 실행하는 단계; 상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하는 단계; 상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하는 단계; 상기 응답 메시지를 상기 악성파일에 전송하는 단계; 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하는 단계; 상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하는 단계; 및 상기 생성된 시나리오에 대응하는 통신 상대를 생성하는 단계를 포함할 수 있다.In this case, the step of creating a communication partner includes: executing the malicious file; checking whether a message transmission occurs from the malicious file; generating a response message to the message transmitted from the malicious file; transmitting the response message to the malicious file; identifying the transmitted message and the response message as one message pair, and storing the identified message pair; generating a communication scenario according to the communication order of the identified message pairs; and generating a communication counterpart corresponding to the generated scenario.

이 때, 상기 악성파일은 복수의 통신부를 포함하며, 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인할 수 있다.In this case, the malicious file includes a plurality of communication units, and as a result of checking whether or not the message transmission occurs, if the message transmission does not occur, whether the message transmission occurs to a communication unit other than the currently executing communication unit can check whether

이 때, 상기 메시지 쌍을 저장하는 단계는 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별할 수 있다.In this case, in the step of storing the message pair, as a result of transmitting the response message to the malicious file, the transmitted message and the response message are combined into one only when the malicious file receiving the response message executes the next step. They can be identified by message pairs.

이 때, 상기 악성 트래픽을 생성하는 단계는, 상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하는 단계; 상기 악성 트래픽을 수집하기 위한 환경을 설정하는 단계; 상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하는 단계; 상기 악성파일과 통신을 수행할 통신 상대를 설정하는 단계; 상기 악성파일을 실행하는 단계; 및 상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 메모리에 저장하는 단계를 포함할 수 있다.In this case, the generating of the malicious traffic may include: setting a network environment for the created communication counterpart to communicate with the malicious file; setting an environment for collecting the malicious traffic; setting a communication expression environment for executing the malicious file; setting a communication partner to communicate with the malicious file; executing the malicious file; and storing the malicious traffic generated as a result of executing the malicious file in a memory.

또한, 본 발명의 일실시예에 따른 악성파일을 이용하여 악성 트래픽을 생성하는 장치는 상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하고, 상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하고, 상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 프로세서; 및 상기 악성파일 및 상기 악성 트래픽 중 적어도 하나를 저장하는 메모리를 포함한다.In addition, the apparatus for generating malicious traffic using a malicious file according to an embodiment of the present invention analyzes the malicious file by extracting communication-related information from the malicious file, and uses the communication-related information extracted from the malicious file. a processor for generating a communication partner for the malicious file and generating the malicious traffic using the malicious file and the communication partner; and a memory for storing at least one of the malicious file and the malicious traffic.

이 때, 상기 프로세서는, 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 존재하는지 여부를 판단하고, 통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.In this case, the processor searches for a communication point of the malicious file, determines whether the communication point exists, and, if the communication point exists as a result of determining whether the communication point exists, communicates from the malicious file Relevant information can be extracted.

이 때, 상기 프로세서는, 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하고, 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.At this time, the processor searches for a communication point of the malicious file, determines whether there is another communication point other than the communication point, and determines whether there is another communication point other than the communication point. When a branch exists, communication-related information can be extracted from the malicious file.

이 때, 상기 프로세서는, 상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.In this case, when the malicious file is an executable file, the processor may search for a communication point of the malicious file by searching for a communication-related application programming interface (API) call unit.

이 때, 상기 프로세서는, 상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.At this time, when the malicious file is a malicious file in the form of a script, the processor searches for at least one of identification factors including a utility used by the malicious file for communication, a shell command, a Powershell Cmdlet, and a communication-related module call. By doing so, the communication point of the malicious file can be searched.

이 때, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나를 포함할 수 있다.In this case, the communication-related information may include at least one of information on a communication partner, information on a communication protocol, message information, encoding information, and information on communication expression.

이 때, 상기 프로세서는, 상기 악성파일을 실행하고, 상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하고, 상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하고, 상기 응답 메시지를 상기 악성파일에 전송하고, 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하고, 상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하고, 상기 생성된 시나리오에 대응하는 통신 상대를 생성할 수 있다.At this time, the processor executes the malicious file, checks whether a message transmission occurs from the malicious file, generates a response message to the message transmitted from the malicious file, and sends the response message to the malicious file to send the message to the server, identify the transmitted message and the response message as one message pair, store the identified message pair, generate a communication scenario according to the communication order of the identified message pair, and the generated scenario You can create a communication partner corresponding to .

이 때, 상기 악성파일은 복수의 통신부를 포함하며, 상기 프로세서는, 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인할 수 있다.In this case, the malicious file includes a plurality of communication units, and the processor, if it is a result of checking whether the message transmission occurs, and the message transmission does not occur, sends the message to a communication unit other than the currently executing communication unit. It is possible to check whether transmission has occurred or not.

이 때, 상기 프로세서는, 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별할 수 있다.In this case, as a result of transmitting the response message to the malicious file, the processor identifies the transmitted message and the response message as a single message pair only when the malicious file receiving the response message executes the next step can do.

이 때, 상기 프로세서는, 상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하고, 상기 악성 트래픽을 수집하기 위한 환경을 설정하고, 상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하고, 상기 악성파일과 통신을 수행할 통신 상대를 설정하고, 상기 악성파일을 실행하고, 상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 상기 메모리에 저장할 수 있다.In this case, the processor sets a network environment for the created communication counterpart to communicate with the malicious file, sets an environment for collecting the malicious traffic, and a communication expression environment for executing the malicious file may be set, a communication partner to communicate with the malicious file may be set, the malicious file may be executed, and the malicious traffic generated as a result of executing the malicious file may be stored in the memory.

본 발명에 따르면, 악성파일을 이용하여 악성파일이 악성 행위를 수행할 때마다 발생하는 단계별 악성 통신 트래픽을 생성할 수 있다.According to the present invention, it is possible to generate step-by-step malicious communication traffic that occurs whenever a malicious file performs a malicious action using a malicious file.

또한, 악성파일을 이용하여 새로운 악성파일의 탐지규칙을 제작하거나, 새로운 악성파일의 탐지방법을 고안하고, 새로 고안한 악성파일 탐지방법을 검증하기 위해 필요한 악성 트래픽을 확보할 수 있다.In addition, it is possible to secure malicious traffic necessary to create a new malicious file detection rule using the malicious file, devise a new malicious file detection method, and verify the newly devised malicious file detection method.

도 1은 본 발명의 일실시예에 따른 악성파일을 이용한 악성 트래픽 생성 장치의 구성 및 데이터 흐름을 개괄적으로 나타낸다.
도 2는 본 발명의 일실시예에 따른 악성파일 분석부의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 악성파일 분석 방법을 나타낸 흐름도이다.
도 4는 본 발명의 일실시예에 따른 통신 상대 생성부의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 악성파일의 전송 메시지 및 이에 대응하여 생성된 응답 메시지의 일예를 나타낸다.
도 6은 본 발명의 일실시예에 따른 메시지 쌍의 일예를 나타낸다.
도 7은 본 발명의 일실시예에 따른 통신 시나리오의 일예를 나타낸다.
도 8은 본 발명의 일실시예에 따른 통신 상대 생성 방법을 나타낸 흐름도이다.
도 9는 본 발명의 일실시예에 따른 트래픽 생성부의 구성을 나타낸 블록도이다.
도 10은 본 발명의 일실시예에 따른 트래픽 생성 방법을 나타낸 흐름도이다.
도 11은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
1 schematically shows the configuration and data flow of an apparatus for generating malicious traffic using a malicious file according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a malicious file analysis unit according to an embodiment of the present invention.
3 is a flowchart illustrating a malicious file analysis method according to an embodiment of the present invention.
4 is a block diagram showing the configuration of a communication counterpart generating unit according to an embodiment of the present invention.
5 shows an example of a malicious file transmission message and a response message generated in response thereto according to an embodiment of the present invention.
6 shows an example of a message pair according to an embodiment of the present invention.
7 shows an example of a communication scenario according to an embodiment of the present invention.
8 is a flowchart illustrating a communication counterpart creation method according to an embodiment of the present invention.
9 is a block diagram showing the configuration of a traffic generator according to an embodiment of the present invention.
10 is a flowchart illustrating a traffic generation method according to an embodiment of the present invention.
11 is a block diagram illustrating a computer system according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings as follows. Here, repeated descriptions, well-known functions that may unnecessarily obscure the gist of the present invention, and detailed descriptions of configurations will be omitted. The embodiments of the present invention are provided in order to more completely explain the present invention to those of ordinary skill in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clearer description.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 악성파일을 이용한 악성 트래픽 생성 장치의 구성 및 데이터 흐름을 개괄적으로 나타낸다.1 schematically shows the configuration and data flow of an apparatus for generating malicious traffic using a malicious file according to an embodiment of the present invention.

도 1을 참조하면, 본 실시예에 따른 악성 트래픽 생성 장치(100)는 악성파일 분석부(110), 통신 상대 생성부(130), 트래픽 생성부(150)를 포함한다.Referring to FIG. 1 , the malicious traffic generating apparatus 100 according to the present embodiment includes a malicious file analyzing unit 110 , a communication counterpart generating unit 130 , and a traffic generating unit 150 .

악성파일 분석부(110)는 악성파일(160)을 분석하여 통신 수행 시점, 통신 버퍼, 프로토콜 정보, 인코딩 정보 등 악성파일(160)의 통신과 관련된 정보를 추출한다.The malicious file analysis unit 110 analyzes the malicious file 160 to extract information related to communication of the malicious file 160 such as a communication execution time, a communication buffer, protocol information, and encoding information.

이 때, 악성파일 분석부(110)는 악성파일(160)에서 사용되는 통신 식별인자(170)를 추가적으로 활용하여 악성파일(160)을 분석할 수 있다.In this case, the malicious file analysis unit 110 may analyze the malicious file 160 by additionally utilizing the communication identifier 170 used in the malicious file 160 .

이 때, 악성파일 분석부(110)는 악성파일 분석에 따른 악성파일 분석 정보(115)를 생성하여 데이터베이스 또는 메모리 등의 저장소에 저장할 수 있다. 이 때, 악성파일 분석 정보(115)는 통신 수행 시점, 통신 버퍼, 프로토콜 정보, 인코딩 정보 등의 악성파일(160)의 통신과 관련된 정보를 포함할 수 있다.At this time, the malicious file analysis unit 110 may generate the malicious file analysis information 115 according to the malicious file analysis and store it in a storage such as a database or memory. In this case, the malicious file analysis information 115 may include information related to communication of the malicious file 160 such as a communication execution time, a communication buffer, protocol information, and encoding information.

통신 상대 생성부(130)는 악성파일 분석부(110)에서 추출된 악성파일(160)의 통신 관련 정보를 이용하여 악성파일(160)과 통신을 수행하는 통신 상대를 생성한다.The communication counterpart generating unit 130 creates a communication counterpart that communicates with the malicious file 160 by using the communication related information of the malicious file 160 extracted by the malicious file analyzing unit 110 .

이 때, 악성파일(160)과 통신을 수행하는 통신 상대는 모사 서버 또는 모사 클라이언트일 수 있다.At this time, the communication counterpart performing communication with the malicious file 160 may be a copy server or a copy client.

이 때, 통신 상대 생성부(130)는 통신 상대에 관한 정보(135)를 생성하여 데이터베이스 또는 메모리 등의 저장소에 저장할 수 있다.In this case, the communication counterpart generating unit 130 may generate the information 135 on the communication counterpart and store it in a storage such as a database or memory.

트래픽 생성부(150)는 악성파일(160) 및 통신 상대 생성부(130)에서 생성된통신 상대에 관한 정보(135)를 이용하여 악성 트래픽(155)을 생성한다.The traffic generating unit 150 generates malicious traffic 155 by using the malicious file 160 and the communication counterpart information 135 generated by the communication counterpart generating unit 130 .

이 때, 트래픽 생성부(150)에서 생성된 악성 트래픽(155)은 데이터베이스 또는 메모리 등의 저장소에 저장될 수 있다. 또한, 트래픽 생성부(150)는 악성 트래픽(180)을 외부 서버 등으로 업로드하여 악성파일(160) 분석 등에 활용되도록 할 수 있다.In this case, the malicious traffic 155 generated by the traffic generator 150 may be stored in a database or storage such as a memory. In addition, the traffic generator 150 may upload the malicious traffic 180 to an external server, etc. to be utilized for analysis of the malicious file 160 .

도 2는 본 발명의 일실시예에 따른 악성파일 분석부의 구성을 나타낸 블록도이다.2 is a block diagram showing the configuration of a malicious file analysis unit according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 악성파일 분석부(200)는 통신지점 식별부(210), 통신 상대정보 추출부(220), 프로토콜 정보 추출부(230), 메시지 정보 추출부(240), 인코딩 정보 추출부(250), 발현 정보 추출부(260)를 포함한다.Referring to FIG. 2 , the malicious file analysis unit 200 according to an embodiment of the present invention includes a communication point identification unit 210 , a communication counterpart information extraction unit 220 , a protocol information extraction unit 230 , and message information extraction. It includes a unit 240 , an encoding information extraction unit 250 , and an expression information extraction unit 260 .

악성파일 분석부(200)를 구성하는 상기 구성요소들은 주로 악성파일의 통신 관련 정보를 추출하는 기능을 한다. 악성파일은 PE(Portable Executable)와 같은 실행파일일 수 있으며, 스크립트(Script)일 수도 있다.The components constituting the malicious file analysis unit 200 mainly function to extract communication-related information of the malicious file. The malicious file may be an executable file such as PE (Portable Executable), or it may be a script.

통신지점 식별부(210)는 악성파일 내에서 통신을 수행하는 지점을 상기 악성파일에서 사용되는 통신 식별인자를 이용하여 식별한다. 이 때, 상기 악성파일에서 사용되는 통신 식별인자는 API(Application Programming Interface), 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출 중 적어도 하나일 수 있다.The communication point identification unit 210 identifies a communication point in the malicious file using the communication identification factor used in the malicious file. In this case, the communication identifier used in the malicious file may be at least one of an API (Application Programming Interface), a utility, a shell command, a Powershell Cmdlet, and a communication-related module call.

이 때, 악성파일이 PE(Portable Executable)와 같은 실행파일인 경우, 통신지점 식별부(210)는 악성파일의 통신 관련 API 호출부를 검색하여 통신지점에 대한 정보를 추출할 수 있다. 예를 들어, 마이크로소프트 윈도우(Microsoft Windows)에서 HTTP(Hyper Text Transport Protocol) 통신을 위해 사용되는 WinHttpOpen, WinHttpConnect, WinHttpOpenRequest, WinHttpSendRequest, WinHttpReceiveResponse, WinHttpReadData 등의 API를 검색하거나, DNS(Domain Name System) 정보를 얻기 위해 사용하는 DNSQuery_A 등의 API를 검색하여 사용할 수 있다.In this case, if the malicious file is an executable file such as a portable executable (PE), the communication point identification unit 210 may search for a communication related API call unit of the malicious file to extract information on the communication point. For example, retrieve APIs such as WinHttpOpen, WinHttpConnect, WinHttpOpenRequest, WinHttpSendRequest, WinHttpReceiveResponse, and WinHttpReadData used for HTTP (Hyper Text Transport Protocol) communication in Microsoft Windows, or retrieve Domain Name System (DNS) information. You can search and use the API such as DNSQuery_A used to obtain it.

한편, 악성파일이 스크립트 형태인 경우, 통신지점 식별부(210)는 통신에 사용되는 유틸리티, 콤포넌트 호출부를 검색하여 통신지점에 대한 정보를 추출할 수 있다. 예를 들어, 통신에 사용할 수 있는 유틸리티인 msiexec.exe, regsrv.exe, mshta.exe, bitsadmin.exe, 스크립트에서 HTTP 통신에 사용하는 MSXML2.ServerXMLHTTP, System.Net.WebClient 로 악성파일의 통신지점을 확인할 수 있다. On the other hand, when the malicious file is in the form of a script, the communication point identification unit 210 may extract information about the communication point by searching for a utility or component call unit used for communication. For example, msiexec.exe, regsrv.exe, mshta.exe, bitsadmin.exe, which are utilities that can be used for communication, and MSXML2.ServerXMLHTTP and System.Net.WebClient used for HTTP communication in scripts, the communication point of malicious files is set. can be checked

또한, 통신지점 식별부(210)는 통신을 위한 상대측 주소 및 경로에서 'http://', 'https://', 'ftp://' 등의 프로토콜 식별자가 포함되어 호출되는 부분, IP(Internet Protocol) 주소 또는 도메인 형태가 포함되어 호출되는 부분을 검색하여 통신지점에 대한 정보를 추출할 수 있다.In addition, the communication point identification unit 210 includes a protocol identifier such as 'http://', 'https://', 'ftp://', etc. in the address and path of the other party for communication, the part called, IP (Internet Protocol) It is possible to extract information about the communication point by searching the part that is called including the address or domain type.

한편, 악성파일의 통신에 관련된 분석은 통신지점 식별부(210)에서 식별된 통신 수행지점으로부터 시작된다.Meanwhile, the analysis related to the communication of the malicious file starts from the communication execution point identified by the communication point identification unit 210 .

통신 상대정보 추출부(220)는 악성파일로부터 통신을 수행할 통신 상대정보를 추출한다. 이 때, 통신 상대정보는 IP주소, 도메인주소, 포트, URL(Uniform Resource Locator)등 네트워크 주소와 관련된 형태를 정규표현식 등으로 검색하거나, 앞에서 통신지점을 식별할 때 사용된 통신 식별인자에 입력되는 값을 분석하여 추출할 수 있다.The communication counterpart information extraction unit 220 extracts communication counterpart information to be communicated with from the malicious file. At this time, the communication counterpart information is searched for a form related to a network address such as an IP address, domain address, port, URL (Uniform Resource Locator), etc. with regular expressions, or inputted into the communication identification factor used to identify the communication point. It can be extracted by analyzing the value.

프로토콜 정보 추출부(230)는 악성파일로부터 통신에 사용되는 프로토콜 관련 정보를 추출한다. 예를 들어, 프로토콜 정보 추출부(230)는 악성파일로부터 전송계층 프로토콜 종류, 응용계층 프로토콜 종류, 전송방법(API, 통신에 활용되는 유틸리티, 자체구현 후 API 이용한 전송 등)의 정보를 추출할 수 있다.The protocol information extraction unit 230 extracts protocol-related information used for communication from the malicious file. For example, the protocol information extraction unit 230 may extract information of a transport layer protocol type, an application layer protocol type, and a transmission method (API, utility used for communication, transmission using API after self-implementation, etc.) from the malicious file. have.

이 때, 프로토콜 정보는 통신지점 식별 시 사용되는 API, 유틸리티, 컴포넌트 등에서 사용하는 프로토콜 정보를 이용하거나, 입력되는 인자값에서 확인할 수 있다. 한편, 프로토콜 정보는 통신 상대정보 추출부(220)에서 통신 상대정보 추출 시 확인했던 주소에서 'http://', 'ftp://' 등의 프로토콜 식별자가 포함되는 경우, 통신 상대정보 추출 시 확인했던 포트 정보, HTTP 스타트라인(startline) 및 헤더 등과 같이 특정 프로토콜의 통신에 포함되는 형태 및 시그니처 값이 악성파일 내에 존재하는지 여부 등으로 식별할 수 있다.In this case, the protocol information can be confirmed by using protocol information used in APIs, utilities, components, etc. used to identify a communication point, or from input parameter values. On the other hand, when protocol identifiers such as 'http://' and 'ftp://' are included in the address checked when the communication counterpart information extraction unit 220 extracts the communication counterpart information, the protocol information is extracted when the communication counterpart information is extracted. It can be identified by whether the form and signature value included in communication of a specific protocol such as the checked port information, HTTP startline and header, etc. exist in the malicious file.

메시지 정보 추출부(240)는 악성파일로부터 메시지에 관한 정보를 추출한다. 이 때, 메시지 정보는 전송되는 메시지의 형태, 가능한 값을 포함한다. 이러한 메시지 정보는 악성파일에서 전송, 수신 시에 사용하는 버퍼 값의 형태와 관련된 처리부의 분석을 통해 추출될 수 있다. 한편, 메시지 정보 추출부(240)를 통해 추출되는 메시지 정보에는 메시지 구조, 특정 위치에 존재하는 값의 의미, 특정 필드에서 사용 가능한 값과 그 의미, 통신 프로토콜 상 특정 헤더 값의 의미, 구조 및 사용 값, 프로토콜 상 메시지 탑재부, 메시지의 예가 포함될 수 있다.The message information extraction unit 240 extracts message information from the malicious file. In this case, the message information includes the type of message to be transmitted and possible values. Such message information can be extracted through the analysis of the processing unit related to the shape of the buffer value used for transmission and reception in the malicious file. On the other hand, the message information extracted through the message information extraction unit 240 includes the message structure, the meaning of a value existing at a specific location, the values available in a specific field and their meaning, and the meaning, structure and use of a specific header value in a communication protocol. A value, a message loader on the protocol, and an example of a message may be included.

인코딩 정보 추출부(250)는 악성파일로부터 인코딩/디코딩 방법, 인코딩 킷값에 관한 정보를 추출한다. 이 때, 인코딩 정보 추출부(250)는 통신 메시지 버퍼와 관련된 인코딩/디코딩 처리부를 분석하여 알고리즘, 킷값, 인코딩/디코딩 위치 등을 추출할 수 있다.The encoding information extraction unit 250 extracts information about encoding/decoding methods and encoding kit values from the malicious file. In this case, the encoding information extraction unit 250 may extract an algorithm, a kit value, an encoding/decoding position, etc. by analyzing the encoding/decoding processing unit related to the communication message buffer.

발현정보 추출부(260)는 악성파일의 동작과 통신 수행에 필요한 환경, 악성파일 실행을 위한 조건을 식별한다. 이 때, 발현정보 추출부(260)로부터 추출되는 발현정보는 악성파일의 통신지점이 OS, 소프트웨어, 네트워크 등의 실행 환경, 악성파일이 특정 상태에 도달해야 하는 통신 발현, 정해진 실행시간 또는 지연 후 발현 등 특정 조건을 만족할 때에만 수행되는 경우의 조건에 해당된다. 이러한, 발현정보 추출부(260)로부터 추출된 발현정보는 추후 통신 메시지 식별과 트래픽 생성시에 사용된다.The expression information extraction unit 260 identifies the environment necessary for performing the operation and communication of the malicious file, and conditions for executing the malicious file. At this time, the expression information extracted from the expression information extraction unit 260 indicates that the communication point of the malicious file is the execution environment of the OS, software, network, etc., the communication expression that the malicious file needs to reach a specific state, and after a predetermined execution time or delay It corresponds to the condition when it is performed only when certain conditions such as expression are satisfied. This expression information extracted from the expression information extraction unit 260 is later used for communication message identification and traffic generation.

도 3은 본 발명의 일실시예에 따른 악성파일 분석 방법을 나타낸 흐름도이다.3 is a flowchart illustrating a malicious file analysis method according to an embodiment of the present invention.

도 3을 참조하면, 본 실시예에 따른 악성파일 분석 방법은 악성파일 내에서 통신을 수행하는 지점을 검색한다(S310). 이 때, 통신 지점에 대한 검색은 악성파일에서 사용되는 통신 식별인자를 이용하여 식별할 수 있다. 악성파일에서 사용되는 통신 식별인자는 API(Application Programming Interface), 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출 중 적어도 하나일 수 있다. 한편, 본 발명에서 생성된 악성 트래픽을 기반으로 악성파일을 분석할 때, 악성파일의 통신에 관련된 분석은 악성파일 전체를 대상으로 수행하는 대신 단계 S310에서 식별된 통신 수행지점으로부터 시작할 수 있다.Referring to FIG. 3 , the malicious file analysis method according to the present embodiment searches for a communication point in the malicious file ( S310 ). In this case, the search for the communication point can be identified using the communication identifier used in the malicious file. The communication identifier used in the malicious file may be at least one of API (Application Programming Interface), utility, shell command, Powershell Cmdlet, and communication-related module call. Meanwhile, when analyzing a malicious file based on the malicious traffic generated in the present invention, the analysis related to the communication of the malicious file may be started from the communication execution point identified in step S310 instead of the entire malicious file.

악성파일 내에서 통신을 수행하는 지점을 검색할 때, 악성파일이 PE(Portable Executable)와 같은 실행파일인 경우, 악성파일의 통신 관련 API 호출부를 검색하여 통신지점에 대한 정보를 추출할 수 있다. 예를 들어, 마이크로소프트 윈도우(Microsoft Windows)에서 HTTP(Hyper Text Transport Protocol) 통신을 위해 사용되는 WinHttpOpen, WinHttpConnect, WinHttpOpenRequest, WinHttpSendRequest, WinHttpReceiveResponse, WinHttpReadData 등의 API를 검색하거나, DNS(Domain Name System) 정보를 얻기 위해 사용하는 DNSQuery_A 등의 API를 검색하여 사용할 수 있다.When searching for a communication point within a malicious file, if the malicious file is an executable file such as PE (Portable Executable), information about the communication point can be extracted by searching the communication-related API call part of the malicious file. For example, retrieve APIs such as WinHttpOpen, WinHttpConnect, WinHttpOpenRequest, WinHttpSendRequest, WinHttpReceiveResponse, and WinHttpReadData used for HTTP (Hyper Text Transport Protocol) communication in Microsoft Windows, or retrieve Domain Name System (DNS) information. You can search and use the API such as DNSQuery_A used to obtain it.

한편, 악성파일이 스크립트 형태인 경우, 통신에 사용되는 유틸리티, 콤포넌트 호출부를 검색하여 통신지점에 대한 정보를 추출할 수 있다. 예를 들어, 통신에 사용할 수 있는 유틸리티인 msiexec.exe, regsrv.exe, mshta.exe, bitsadmin.exe, 스크립트에서 HTTP 통신에 사용하는 MSXML2.ServerXMLHTTP, System.Net.WebClient 등으로 악성파일의 통신지점을 확인할 수 있다. On the other hand, when the malicious file is in the form of a script, information on a communication point can be extracted by searching for a utility or component calling unit used for communication. For example, msiexec.exe, regsrv.exe, mshta.exe, bitsadmin.exe, which are utilities that can be used for communication, and MSXML2.ServerXMLHTTP, System.Net.WebClient, etc., which are used for HTTP communication in scripts, are communication points of malicious files. can confirm.

또한, 통신을 위한 상대측 주소 및 경로에서 'http://', 'https://', 'ftp://' 등의 프로토콜 식별자가 포함되어 호출되는 부분, IP(Internet Protocol) 주소 또는 도메인 형태가 포함되어 호출되는 부분을 검색하여 통신지점에 대한 정보를 추출할 수 있다.In addition, the part called with protocol identifiers such as 'http://', 'https://', and 'ftp://' in the address and path of the other party for communication, IP (Internet Protocol) address or domain type It is possible to extract information about the communication point by searching for the part to be called by including .

또한, 본 실시예에 따른 악성파일 분석 방법은 단계 S310에서 통신지점이 존재하는지 여부를 판단한다(S320).In addition, the malicious file analysis method according to the present embodiment determines whether a communication point exists in step S310 (S320).

이 때, 상기 통신지점이 존재하는지 여부에 대한 판단 결과 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출한다. 통신 관련 정보는 통신 상대정보, 프로토콜 정보, 메시지 정보, 인코딩 정보, 통신 발현수단 정보를 포함하며, 이하의 단계에서는 이러한 통신 관련 정보를 추출한다.At this time, if the communication point exists as a result of determining whether the communication point exists, communication-related information is extracted from the malicious file. Communication-related information includes communication counterpart information, protocol information, message information, encoding information, and communication expression means information, and in the following steps, such communication-related information is extracted.

또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 통신을 수행할 통신 상대정보를 추출한다(S330). 이 때, 통신 상대정보는 IP주소, 도메인주소, 포트, URL(Uniform Resource Locator)등 네트워크 주소와 관련된 형태를 정규표현식 등으로 검색하거나, 앞에서 통신지점을 식별할 때 사용된 통신 식별인자에 입력되는 값을 분석하여 추출할 수 있다.In addition, the malicious file analysis method according to the present embodiment extracts communication counterpart information to be communicated with from the malicious file (S330). At this time, the communication counterpart information is searched for a form related to a network address such as an IP address, domain address, port, URL (Uniform Resource Locator), etc. with regular expressions, or inputted into the communication identification factor used to identify the communication point. It can be extracted by analyzing the value.

또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 통신에 사용되는 프로토콜 관련 정보를 추출한다(S340). 예를 들어, 악성파일로부터 전송계층 프로토콜 종류, 응용계층 프로토콜 종류, 전송방법(API, 통신에 활용되는 유틸리티, 자체구현 후 API 이용한 전송 등)의 정보를 추출할 수 있다.In addition, the malicious file analysis method according to the present embodiment extracts protocol-related information used for communication from the malicious file (S340). For example, information on the transport layer protocol type, application layer protocol type, and transmission method (API, utility used for communication, self-implemented transmission using API, etc.) can be extracted from the malicious file.

이 때, 프로토콜 정보는 통신지점 식별 시 사용되는 API, 유틸리티, 컴포넌트 등에서 사용하는 프로토콜 정보를 이용하거나, 입력되는 인자값에서 확인할 수 있다. 한편, 프로토콜 정보는 단계 S320에서 통신 상대정보 추출 시 확인했던 주소에서 'http://', 'ftp://' 등의 프로토콜 식별자가 포함되는 경우, 통신 상대정보 추출 시 확인했던 포트 정보, HTTP 스타트라인(startline) 및 헤더 등과 같이 특정 프로토콜의 통신에 포함되는 형태 및 시그니처 값이 악성파일 내에 존재하는지 여부 등으로 식별할 수 있다.In this case, the protocol information can be confirmed by using protocol information used in APIs, utilities, components, etc. used to identify a communication point, or from input parameter values. On the other hand, when protocol identifiers such as 'http://' and 'ftp://' are included in the address checked when extracting the communication partner information in step S320, the protocol information includes the port information checked when extracting the communication partner information, HTTP It can be identified by whether a form and a signature value included in communication of a specific protocol, such as a startline and a header, exist in a malicious file.

또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 메시지에 관한 정보를 추출한다(S350). 이 때, 메시지 정보는 전송되는 메시지의 형태, 가능한 값을 포함한다. 이러한 메시지 정보는 악성파일에서 전송, 수신 시에 사용하는 버퍼 값의 형태와 관련된 처리부의 분석을 통해 추출될 수 있다. 한편, 추출되는 메시지 정보에는 메시지 구조, 특정 위치에 존재하는 값의 의미, 특정 필드에서 사용 가능한 값과 그 의미, 통신 프로토콜 상 특정 헤더 값의 의미, 구조 및 사용 값, 프로토콜 상 메시지 탑재부, 메시지의 예가 포함될 수 있다.In addition, the malicious file analysis method according to the present embodiment extracts message information from the malicious file (S350). In this case, the message information includes the type of message to be transmitted and possible values. Such message information can be extracted through the analysis of the processing unit related to the shape of the buffer value used for transmission and reception in the malicious file. On the other hand, the extracted message information includes the message structure, the meaning of a value existing in a specific location, the values available in a specific field and their meaning, the meaning of a specific header value in the communication protocol, the structure and use value, the message loading unit in the protocol, and the message Examples may be included.

또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 인코딩/디코딩 방법, 인코딩 킷값에 관한 정보를 추출한다(S360). 이 때, 통신 메시지 버퍼와 관련된 인코딩/디코딩 처리부를 분석하여 알고리즘, 킷값, 인코딩/디코딩 위치 등을 추출할 수 있다.In addition, the malicious file analysis method according to the present embodiment extracts information about the encoding/decoding method and the encoding kit value from the malicious file (S360). In this case, an algorithm, a kit value, an encoding/decoding position, etc. may be extracted by analyzing the encoding/decoding processing unit related to the communication message buffer.

또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일의 동작과 통신 수행에 필요한 환경 또는 악성파일 실행을 위한 조건을 포함하는 통신발현정보를 추출한다(S370). 이 때, 추출되는 발현정보는 악성파일의 통신지점이 OS, 소프트웨어, 네트워크 등의 실행 환경, 악성파일이 특정 상태에 도달해야 하는 통신 발현, 정해진 실행시간 또는 지연 후 발현 등 특정 조건을 만족할 때에만 수행되는 경우의 조건에 해당된다. 이 때, 추출된 발현정보는 추후 통신 메시지 식별과 트래픽 생성시에 사용될 수 있다.In addition, the malicious file analysis method according to the present embodiment extracts communication expression information including the environment necessary for the operation of the malicious file and the communication execution or the condition for executing the malicious file ( S370 ). At this time, the extracted expression information is extracted only when the communication point of the malicious file satisfies specific conditions such as the execution environment of the OS, software, network, etc., the communication expression that the malicious file needs to reach a specific state, and the expression after a set execution time or delay. It is subject to the conditions in which it is carried out. At this time, the extracted expression information can be used for later communication message identification and traffic generation.

그런 후, 본 실시예에 따른 악성파일 분석 방법은 단계 S310를 다시 수행하여, 통신지점이 존재하는지 여부를 판단한다(S320). 이때, 통신지점은 이전에 검색된 통신지점과는 상이한 것일 수 있다. 즉, S320에서 이전과는 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, S330 내지 S370가 반복 수행된다. Then, the malicious file analysis method according to the present embodiment performs step S310 again to determine whether a communication point exists (S320). In this case, the communication point may be different from the previously searched communication point. That is, if a different communication point exists as a result of determining whether a different communication point exists in S320, steps S330 to S370 are repeatedly performed.

도 4는 본 발명의 일실시예에 따른 통신 상대 생성부의 구성을 나타낸 블록도이다.4 is a block diagram showing the configuration of a communication counterpart generating unit according to an embodiment of the present invention.

도 4를 참조하면, 통신 상대 생성부(400)는 메시지 후보군 생성부(410), 메시지 쌍 식별부(420), 시나리오 생성부(430), 시나리오 검증부(440), 모사 통신 상대 생성부(450)를 포함한다.Referring to FIG. 4 , the communication counterpart generating unit 400 includes a message candidate group generating unit 410 , a message pair identifying unit 420 , a scenario generating unit 430 , a scenario verifying unit 440 , and a copying communication counterpart generating unit ( 450).

메시지 후보군 생성부(410)는 악성파일을 실행하여 통신 발생을 확인하고, 통신이 발생하여 특정 메시지가 송신되는 경우, 악성파일의 응답 처리부 분석 결과를 바탕으로 악성파일이 수신하려고 하는 응답 메시지를 생성하고 메시지를 악성파일에 전송한다. 도 5는 본 발명의 일실시예에 따른 악성파일의 전송 메시지 및 이에 대응하여 생성된 응답 메시지의 일예를 나타낸다. 도 5를 참조하면, 전송 메시지와 이에 대응하는 응답 메시지는 쌍으로 존재할 수 있다.The message candidate group generation unit 410 executes the malicious file to check the communication occurrence, and when a communication occurs and a specific message is transmitted, based on the analysis result of the response processing unit of the malicious file, a response message to be received by the malicious file is generated. and sends the message to the malicious file. 5 shows an example of a malicious file transmission message and a response message generated in response thereto according to an embodiment of the present invention. Referring to FIG. 5 , a transmission message and a response message corresponding thereto may exist in pairs.

응답 메시지를 생성할 때 악성파일의 송신 메시지에 포함된 특정 값을 처리하여 응답 메시지에 포함하거나, 송신 메시지에 따라 응답 메시지를 구성하여야 하는 부분과 방법 등을 식별할 수 있다. 예를 들어, 악성파일에서 특정 값을 생성하여 HTTP 특정 헤더 문자열에 포함하고, 해당 문자열이 포함된 응답에 대해서만 악성파일이 정상 처리하는 경우 등 메시지 생성에 영향을 주는 요소를 고려한다.When generating a response message, it is possible to process a specific value included in the transmission message of the malicious file and include it in the response message, or identify the part and method to configure the response message according to the transmission message. For example, consider factors affecting message creation, such as generating a specific value from a malicious file and including it in a specific HTTP header string, and the malicious file normally processes only the response containing the string.

다시 도 4를 참조하면, 메시지 쌍 식별부(420)는 생성한 응답 메시지를 수신한 악성파일이 다음 단계를 실행하게 되면 송신 메시지와 응답 메시지를 메시지 쌍으로 식별하여 식별 결과를 저장한다. 도 6은 본 발명의 일실시예에 따른 메시지 쌍의 일예를 나타낸다. 도 6을 참조하면, 도 5의 전송 메시지와 이에 대응하는 응답 메시지는 하나의 메시지 쌍으로 식별되어 메모리 등에 저장될 수 있다.Referring back to FIG. 4 , when the malicious file receiving the generated response message executes the next step, the message pair identification unit 420 identifies the transmitted message and the response message as a message pair and stores the identification result. 6 shows an example of a message pair according to an embodiment of the present invention. Referring to FIG. 6 , the transmission message of FIG. 5 and a response message corresponding thereto may be identified as one message pair and stored in a memory or the like.

시나리오 생성부(430)는 메시지 쌍 식별부(420)에서 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성한다. 도 7은 본 발명의 일실시예에 따른 통신 시나리오의 일예를 나타낸다. 도 7을 참조하면, 시나리오는 메시지 쌍 식별부(420)에서 식별된 메시지 쌍들을 통신 순서로 나열된 형태로 생성됨을 확인할 수 있다.The scenario generation unit 430 generates a communication scenario according to the communication order of the message pairs identified by the message pair identification unit 420 . 7 shows an example of a communication scenario according to an embodiment of the present invention. Referring to FIG. 7 , it can be confirmed that the scenario is generated in a form in which the message pairs identified by the message pair identification unit 420 are listed in the communication order.

다시 도 4를 참조하면, 시나리오 검증부(440)는 시나리오 생성부(430)에서 생성된 시나리오를 검증한다.Referring back to FIG. 4 , the scenario verification unit 440 verifies the scenario generated by the scenario generation unit 430 .

모사 통신 상대 생성부(450)는 시나리오 생성부(430)에서 생성된 시나리오에 따라 모사 통신 상대를 생성한다. 이 때, 모사 통신 상대는 스크립트 또는 파이썬(Python)과 같은 프로그래밍 언어로 구현될 수 있고, 요청에 대한 다양한 응답을 생성하도록 설정하는 소프트웨어를 이용하여 생성할 수 있다.The replica communication counterpart generating unit 450 generates a replica communication counterpart according to the scenario generated by the scenario generating unit 430 . In this case, the replica communication counterpart may be implemented in a script or a programming language such as Python, and may be generated using software that is set to generate various responses to requests.

도 8은 본 발명의 일실시예에 따른 통신 상대 생성 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a communication counterpart creation method according to an embodiment of the present invention.

도 8을 참조하면, 본 실시예에 따른 통신 상대 생성 방법은 통신 발현 환경을 설정한다(S805). 이 때, 통신 발현 환경은 도 2의 발현 정보 추출부(260) 또는 도 3의 단계 S370에서 추출된 통신 발현 환경 정보에 기반하여 설정될 수 있다.Referring to Figure 8, the communication counterpart creation method according to the present embodiment sets the communication expression environment (S805). In this case, the communication expression environment may be set based on the expression information extraction unit 260 of FIG. 2 or the communication expression environment information extracted in step S370 of FIG.

또한, 본 실시예에 따른 통신 상대 생성 방법은 악성파일을 실행한다(S810). In addition, the communication counterpart creation method according to the present embodiment executes a malicious file (S810).

또한, 본 실시예에 따른 통신 상대 생성 방법은 악성파일로부터 메시지 송신 여부를 확인한다(S815). 구체적으로, 단계 S810에서 악성파일이 실행되면, 이에 따른 결과로 악성파일로부터 메시지가 송신되는지 여부를 확인한다.Also, in the communication counterpart creation method according to the present embodiment, it is checked whether a message is transmitted from the malicious file (S815). Specifically, when a malicious file is executed in step S810, it is checked whether a message is transmitted from the malicious file as a result of the execution.

메시지 송신 여부 확인 결과, 악성파일로부터 메시지 송신이 발생하는 경우송신 메시지를 분석한다(S820).As a result of checking whether the message has been transmitted, if a message transmission occurs from a malicious file, the transmitted message is analyzed (S820).

또한, 본 실시예에 따른 통신 상대 생성 방법은 악성파일의 응답 처리부를 분석한다(S825). 악성파일은 하나 또는 복수의 응답 처리부를 포함할 수 있으며, 이에 대한 분석을 통해 악성파일의 송신 메시지에 대한 응답 메시지를 생성할 수 있다.In addition, the communication counterpart generating method according to the present embodiment analyzes the response processing unit of the malicious file (S825). A malicious file may include one or a plurality of response processing units, and through analysis thereof, a response message to a message sent from the malicious file may be generated.

또한, 본 실시예에 따른 통신 상대 생성 방법은 응답 메시지를 생성한다(S830). 이 때, 응답 메시지는 단계 S825에서 수행한 악성파일의 응답 처리부 분석 결과를 기반으로 생성될 수 있다. 한편, 응답 메시지를 생성할 때 악성파일의 송신 메시지에 포함된 특정 값을 처리하여 응답 메시지에 포함하거나, 송신 메시지에 따라 응답 메시지를 구성하여야 하는 부분과 방법 등을 식별할 수 있다. 예를 들어, 악성파일에서 특정 값을 생성하여 HTTP 특정 헤더 문자열에 포함하고, 해당 문자열이 포함된 응답에 대해서만 악성파일이 정상 처리하는 경우 등 메시지 생성에 영향을 주는 요소를 고려한다.In addition, the communication counterpart generating method according to the present embodiment generates a response message (S830). In this case, the response message may be generated based on the analysis result of the response processing unit of the malicious file performed in step S825. Meanwhile, when generating a response message, it is possible to process a specific value included in the transmission message of the malicious file and include it in the response message, or identify a part and method to configure the response message according to the transmission message. For example, consider factors affecting message creation, such as generating a specific value from a malicious file and including it in a specific HTTP header string, and the malicious file normally processes only the response containing the string.

또한, 본 실시예에 따른 통신 상대 생성 방법은 응답 메시지를 전송한다(S835). 이 때, 전송되는 응답 메시지는 단계 S830에서 생성된 응답 메시지이다. In addition, the communication counterpart generating method according to the present embodiment transmits a response message (S835). At this time, the transmitted response message is the response message generated in step S830.

또한, 본 실시예에 따른 통신 상대 생성 방법은 성공하였는지 여부를 판단한다(S840). In addition, it is determined whether the communication counterpart creation method according to the present embodiment is successful (S840).

판단 결과, 응답 메시지 전송에 성공한 경우, 메시지 쌍 식별 결과를 저장하고(S845), 응답 메시지 생성 방법을 저장한다(S850). 그런 후, 단계 S815로 되돌아간다.As a result of the determination, if the response message transmission is successful, the message pair identification result is stored (S845), and the response message generation method is stored (S850). Then, it returns to step S815.

한편, 응답 메시지 전송에 실패한 경우, 응답 메시지를 생성하여(S830) 전송하고(S835), 성공 여부를 판단(S840)하는 과정을 반복하여 수행한다.On the other hand, if the response message transmission fails, the process of generating a response message (S830), transmitting it (S835), and determining whether the response message is successful (S840) is repeatedly performed.

한편, 단계 S815에서 메시지 송신여부 확인 결과 메시지 송신에 실패한 경우, 악성파일의 모든 통신부를 실행하였는지 여부를 판단한다(S855). 판단 결과, 미실행된 통신부가 존재하는 경우, 통신수행조건을 변경하여(S860), 악성파일을 실행하고(S810), 메시지 송신에 성공하였는지 여부를 확인(S815)하는 과정을 반복하여 수행한다.On the other hand, if the message transmission fails as a result of checking whether the message is transmitted in step S815, it is determined whether all communication units of the malicious file have been executed (S855). As a result of the determination, if there is an unexecuted communication unit, the communication execution condition is changed (S860), the malicious file is executed (S810), and the process of checking whether or not the message transmission is successful (S815) is repeatedly performed.

한편, 단계 S855의 판단 결과 악성파일의 모든 통신부를 실행한 경우, 통신 시나리오를 생성하고(S865), 통신 상대를 생성한다(S870).On the other hand, if it is determined in step S855 that all communication units of the malicious file are executed, a communication scenario is created (S865) and a communication partner is created (S870).

이 때, 생성되는 시나리오는 도 4의 메시지 쌍 식별부(420)에서 식별된 메시지 쌍의 통신 순서에 따라 생성될 수 있다. 한편, 이 때, 생성되는 시나리오는 도 7과 같은 포맷으로 생성될 수 있다.In this case, the generated scenario may be generated according to the communication order of the message pairs identified by the message pair identification unit 420 of FIG. 4 . Meanwhile, in this case, the generated scenario may be generated in the format shown in FIG. 7 .

도 9는 본 발명의 일실시예에 따른 트래픽 생성부의 구성을 나타낸 블록도이다. 도 9를 참조하면, 트래픽 생성부(900)는 통신 상대 생성부(400)에서 생성된 통신 상대를 이용하여 트래픽을 생성하며, 네트워크 환경 설정부(910), 발현환경 설정부(930), 시나리오별 트래픽 생성부(950)를 포함한다.9 is a block diagram showing the configuration of a traffic generator according to an embodiment of the present invention. Referring to FIG. 9 , the traffic generating unit 900 generates traffic using the communication counterpart generated by the communication counterpart generating unit 400 , the network environment setting unit 910 , the expression environment setting unit 930 , and the scenario It includes a separate traffic generator 950 .

네트워크 환경 설정부(910)는 악성파일이 생성한 모사 통신 상대와 지속적인 통신을 수행할 수 있도록 추출한 통신 상대 IP 주소, 도메인, 포트를 모사 통신 상대로 리다이렉션하여 네트워크 환경을 설정한다.The network environment setting unit 910 sets the network environment by redirecting the extracted communication counterpart IP address, domain, and port to the copy communication counterpart so that continuous communication with the copy communication counterpart generated by the malicious file can be performed.

발현환경 설정부(930)는 악성파일을 정상적으로 실행하기 위한 환경 및 조건을 설정하여 트래픽 생성을 수행할 수 있도록 준비한다. The expression environment setting unit 930 prepares to perform traffic generation by setting the environment and conditions for normally executing the malicious file.

시나리오별 트래픽 생성부(950)는 네트워크 환경 설정부(910)에서 설정된 네트워크 환경에서 분석대상 악성파일과 시나리오별 통신 상대와의 통신을 수행하여 악성 트래픽을 생성한다.The scenario-specific traffic generating unit 950 generates malicious traffic by performing communication with the analysis target malicious file and the scenario-specific communication counterpart in the network environment set by the network environment setting unit 910 .

도 10은 본 발명의 일실시예에 따른 트래픽 생성 방법을 나타낸 흐름도이다.10 is a flowchart illustrating a traffic generation method according to an embodiment of the present invention.

도 10을 참조하면, 본 실시예에 따른 트래픽 생성 방법은 네트워크 환경을 설정한다(S1010). 이 때, 악성파일이 생성한 모사 통신 상대와 지속적인 통신을 수행할 수 있도록 추출한 통신 상대 IP 주소, 도메인, 포트를 모사 통신 상대로 리다이렉션하여 네트워크 환경을 설정한다.Referring to FIG. 10 , in the traffic generation method according to the present embodiment, a network environment is set ( S1010 ). At this time, the network environment is set by redirecting the extracted communication partner IP address, domain, and port to the copy communication partner so that continuous communication with the copy communication partner created by the malicious file can be performed.

또한, 본 실시예에 따른 트래픽 생성 방법은 악성 트래픽을 수집하기 위한 환경을 설정한다(S1020). 이 때, 악성 트래픽을 수집하여 저장할 저장 공간의 위치, 크기 등이 설정될 수 있다.Also, in the traffic generation method according to the present embodiment, an environment for collecting malicious traffic is set ( S1020 ). In this case, the location and size of a storage space to collect and store malicious traffic may be set.

또한, 본 실시예에 따른 트래픽 생성 방법은 악성파일을 정상적으로 실행하기 위한 통신 발현 환경을 설정한다(S1030). In addition, the traffic generation method according to the present embodiment sets the communication expression environment for normally executing the malicious file (S1030).

또한, 본 실시예에 따른 트래픽 생성 방법은 통신 상대를 설정한다(S1040). 이 때, 설정되는 통신 상대는 통신 상대 생성부(400)에서 생성된 시나리오와 이에 따라 생성된 통신 상대를 기반으로 설정된다. 이 때, 통신 상대 생성부(400)에서 생성된 시나리오 및 통신 상대는 복수 개가 존재할 수 있다.Also, in the traffic generation method according to the present embodiment, a communication partner is set ( S1040 ). In this case, the set communication counterpart is set based on the scenario generated by the communication counterpart generating unit 400 and the communication counterpart generated accordingly. In this case, a plurality of scenarios and communication partners generated by the communication counterpart generating unit 400 may exist.

또한, 본 실시예에 따른 트래픽 생성 방법은 악성파일을 실행한다(S1050). 이 때, 통신 상대 생성부(400)에서 악성파일의 분석 결과 생성된 악성파일의 송신 메시지에 대한 응답 메시지의 쌍으로 구성된 시나리오 및 통신 상대에 기반하여 악성파일을 실행하면 이에 따른 악성 트래픽이 생성된다.In addition, the traffic generation method according to the present embodiment executes a malicious file (S1050). At this time, when the malicious file is executed based on the communication counterpart and the scenario composed of a pair of response messages to the transmission message of the malicious file generated as a result of the analysis of the malicious file by the communication counterpart generating unit 400, malicious traffic is generated accordingly. .

또한, 본 실시예에 따른 트래픽 생성 방법은 생성된 트래픽을 저장한다(S1060). 이 때, 생성된 트래픽은 트래픽은 단계 S1050에서 악성파일의 실행 결과 생성된 악성 트래픽이다. 한편, 생성된 트래픽을 저장할 때에는, 단계 S1010에서 설정된 트래픽 수집 환경을 기반으로 생성된 트래픽을 저장할 수 있다. In addition, the traffic generation method according to the present embodiment stores the generated traffic (S1060). In this case, the generated traffic is malicious traffic generated as a result of executing the malicious file in step S1050. Meanwhile, when storing the generated traffic, the generated traffic may be stored based on the traffic collection environment set in step S1010.

또한, 본 실시예에 따른 트래픽 생성 방법은 악성파일과의 통신에 사용되지않은 다음 시나리오가 존재하는지 여부를 판단한다(S1070). 판단 결과, 악성파일과의 통신에 사용되지 않은 다음 시나리오가 존재하는 경우, 해당하는 시나리오를 기반으로 단계 S1030 내지 단계 S1070의 과정을 반복하여 수행한다. 한편, 악성파일과의 통신에 사용되지 않은 다음 시나리오가 존재하지 않는 경우에는 본 실시예에 따른 트래픽 생성 과정을 종료한다.In addition, the traffic generation method according to the present embodiment determines whether the following scenario that is not used for communication with a malicious file exists ( S1070 ). As a result of the determination, if the next scenario that is not used for communication with the malicious file exists, the process of steps S1030 to S1070 is repeated based on the corresponding scenario. On the other hand, if the following scenario that is not used for communication with the malicious file does not exist, the traffic generation process according to the present embodiment is terminated.

도 11은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.11 is a block diagram illustrating a computer system according to an embodiment of the present invention.

도 11을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템에서 구현될 수 있다. 도 11에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(1130)는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.Referring to FIG. 11 , an embodiment of the present invention may be implemented in a computer system such as a computer-readable recording medium. As shown in FIG. 11 , the computer system 1100 includes one or more processors 1110 , a memory 1130 , a user interface input device 1140 , and a user interface output device 1150 that communicate with each other via a bus 1120 . and storage 1160 . In addition, the computer system 1100 may further include a network interface 1170 coupled to the network 1180 . The processor 1110 may be a central processing unit or a semiconductor device that executes processing instructions stored in the memory 1130 or the storage 1160 . The memory 1130 and the storage 1160 may be various types of volatile or non-volatile storage media. For example, the memory 1130 may include a ROM 1131 or a RAM 1132 .

이 때, 프로세서(1110)는 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하고, 상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하고, 상기 악성파일 및 상기 통신 상대를 이용하여 악성 트래픽을 생성할 수 있다.At this time, the processor 1110 analyzes the malicious file by extracting communication-related information from the malicious file, creates a communication partner for the malicious file using the communication-related information extracted from the malicious file, and Malicious traffic may be generated using the communication counterpart.

이 때, 메모리(1130)는 상기 악성파일 및 악성 트래픽 중 적어도 하나를 저장할 수 있다.In this case, the memory 1130 may store at least one of the malicious file and the malicious traffic.

이 때, 프로세서(1110)는 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 존재하는지 여부를 판단하고, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.In this case, the processor 1110 may search for a communication point of the malicious file, determine whether the communication point exists, and extract communication-related information from the malicious file.

이 때, 프로세서(1110)는 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하고, 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점에 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.At this time, the processor 1110 searches for a communication point of the malicious file, determines whether there is another communication point other than the communication point, and determines whether there is another communication point other than the communication point. If it exists at the communication point, communication-related information can be extracted from the malicious file.

이 때, 프로세서(1110)는 상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.In this case, when the malicious file is an executable file, the processor 1110 may search for a communication point of the malicious file by searching for a communication-related application programming interface (API) call unit.

이 때, 프로세서(1110)는 상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.At this time, when the malicious file is a malicious file in the form of a script, the processor 1110 selects at least one of identification factors including a utility used by the malicious file for communication, a shell command, a Powershell Cmdlet, and a communication-related module call. By searching, the communication point of the malicious file can be searched.

이 때, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나를 포함할 수 있다.In this case, the communication-related information may include at least one of information on a communication partner, information on a communication protocol, message information, encoding information, and information on communication expression.

이 때, 프로세서(1110)는 상기 악성파일을 실행하고, 상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하고, 상기 응답 메시지를 상기 악성파일에 전송하고, 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하고, 상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하고, 상기 생성된 시나리오에 대응하는 통신 상대를 생성할 수 있다.At this time, the processor 1110 executes the malicious file, generates a response message to the message transmitted from the malicious file, transmits the response message to the malicious file, and receives the transmitted message and the response message. It is possible to identify one message pair, store the identified message pair, generate a communication scenario according to a communication order of the identified message pair, and create a communication counterpart corresponding to the generated scenario.

이 때, 악성파일은 복수의 통신부를 포함할 수 있으며, 프로세서(1110)는 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인할 수 있다.At this time, the malicious file may include a plurality of communication units, and as a result of checking whether the message transmission occurs, when the message transmission does not occur, the processor 1110 responds to communication units other than the currently executing communication unit. It can be checked whether the message transmission occurs.

이 때, 프로세서(1110)는 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성 트래픽을 상기 메모리에 저장할 수 있다.In this case, as a result of transmitting the response message to the malicious file, the processor 1110 may store the malicious traffic receiving the response message in the memory.

이상에서와 같이 본 발명에 따른 악성파일을 이용한 악성 트래픽 생성 방법 및 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, in the method and apparatus for generating malicious traffic using a malicious file according to the present invention, the configuration and method of the above-described embodiments are not limitedly applicable, but the embodiments are designed so that various modifications can be made. All or part of each embodiment may be selectively combined and configured.

Claims (20)

악성파일을 이용하여 악성 트래픽을 생성하는 방법에 있어서,
상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하는 단계;
상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하는 단계; 및
상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 단계
를 포함하는 악성 트래픽 생성 방법.
A method of generating malicious traffic using a malicious file, the method comprising:
analyzing the malicious file by extracting communication-related information from the malicious file;
creating a communication counterpart for the malicious file by using the communication-related information extracted from the malicious file; and
generating the malicious traffic using the malicious file and the communication counterpart
A method of generating malicious traffic, including
제1항에 있어서, 상기 악성파일을 분석하는 단계는,
상기 악성파일의 통신지점을 검색하는 단계;
상기 통신지점이 존재하는지 여부를 판단하는 단계; 및
통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계
를 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법.
The method of claim 1, wherein analyzing the malicious file comprises:
searching for a communication point of the malicious file;
determining whether the communication point exists; and
extracting communication-related information from the malicious file when a communication point exists as a result of determining whether a communication point exists
A method for generating malicious traffic, comprising:
제2항에 있어서,
상기 악성파일의 통신지점을 검색하는 단계;
상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하는 단계; 및
상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계를 더 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법.
3. The method of claim 2,
searching for a communication point of the malicious file;
determining whether another communication point exists in addition to the communication point; and
The method of claim 1, further comprising: extracting communication-related information from the malicious file when another communication point exists as a result of determining whether other communication points exist in addition to the communication point.
제2항에 있어서, 상기 악성파일의 통신지점을 검색하는 단계는,
상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 방법.
The method of claim 2, wherein the step of searching for a communication point of the malicious file comprises:
When the malicious file is an executable file, the malicious traffic generation method of claim 1, wherein the communication point of the malicious file is searched by searching for a communication-related application programming interface (API) call unit.
제2항에 있어서, 상기 악성파일의 통신지점을 검색하는 단계는,
상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 방법.
The method of claim 2, wherein the step of searching for a communication point of the malicious file comprises:
When the malicious file is a malicious file in the form of a script, the communication point of the malicious file by searching for at least one of identification factors including a utility, a shell command, a Powershell Cmdlet, and a communication-related module call used by the malicious file for communication A method of generating malicious traffic, characterized in that it searches for
제2항에 있어서, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법.The method of claim 2, wherein the communication-related information includes at least one of information about a communication counterpart, information on a communication protocol, message information, encoding information, and information on communication expression. 제1항에 있어서, 통신 상대를 생성하는 단계는,
상기 악성파일을 실행하는 단계;
상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하는 단계;
상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하는 단계;
상기 응답 메시지를 상기 악성파일에 전송하는 단계;
상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하는 단계;
상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하는 단계; 및
상기 생성된 시나리오에 대응하는 통신 상대를 생성하는 단계
를 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법.
The method of claim 1, wherein the step of creating a communication partner comprises:
executing the malicious file;
checking whether a message transmission occurs from the malicious file;
generating a response message to the message transmitted from the malicious file;
transmitting the response message to the malicious file;
identifying the transmitted message and the response message as one message pair, and storing the identified message pair;
generating a communication scenario according to the communication order of the identified message pairs; and
generating a communication counterpart corresponding to the generated scenario;
A method for generating malicious traffic, comprising:
제7항에 있어서, 상기 악성파일은 복수의 통신부를 포함하며, 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인하는 것을 특징으로 하는 악성 트래픽 생성 방법.8. The method of claim 7, wherein the malicious file includes a plurality of communication units, and when it is determined whether or not the message transmission occurs, when the message transmission does not occur, the message is transmitted to a communication unit other than the currently executing communication unit. A method of generating malicious traffic, characterized in that it is checked whether this occurs. 제7항에 있어서, 상기 메시지 쌍을 저장하는 단계는 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하는 것을 특징으로 하는 악성 트래픽 생성 방법.8. The method of claim 7, wherein the step of storing the message pair includes the transmitted message and the response message only when, as a result of transmitting the response message to the malicious file, the malicious file receiving the response message executes the next step. A method of generating malicious traffic, characterized in that it identifies as one message pair. 제1항에 있어서, 상기 악성 트래픽을 생성하는 단계는,
상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하는 단계;
상기 악성 트래픽을 수집하기 위한 환경을 설정하는 단계;
상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하는 단계;
상기 악성파일과 통신을 수행할 통신 상대를 설정하는 단계;
상기 악성파일을 실행하는 단계; 및
상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 메모리에 저장하는 단계
를 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법.
The method of claim 1, wherein the generating of the malicious traffic comprises:
setting a network environment for the created communication counterpart to communicate with the malicious file;
setting an environment for collecting the malicious traffic;
setting a communication expression environment for executing the malicious file;
setting a communication partner to communicate with the malicious file;
executing the malicious file; and
storing the malicious traffic generated as a result of executing the malicious file in a memory;
A method for generating malicious traffic, comprising:
악성파일을 이용하여 악성 트래픽을 생성하는 장치에 있어서,
상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하고,
상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하고,
상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 프로세서; 및
상기 악성파일 및 상기 악성 트래픽 중 적어도 하나를 저장하는 메모리
를 포함하는 악성 트래픽 생성 장치.
In a device that generates malicious traffic using a malicious file,
Analyze the malicious file by extracting communication-related information from the malicious file,
creating a communication partner for the malicious file using the communication-related information extracted from the malicious file;
a processor for generating the malicious traffic using the malicious file and the communication counterpart; and
A memory for storing at least one of the malicious file and the malicious traffic
Malicious traffic generating devices, including
제11항에 있어서, 상기 프로세서는,
상기 악성파일의 통신지점을 검색하고,
상기 통신지점이 존재하는지 여부를 판단하고,
통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우,상기 악성파일로부터 통신 관련 정보를 추출하는 것을 특징으로 하는 악성 트래픽 생성 장치.
The method of claim 11 , wherein the processor comprises:
Search the communication point of the malicious file,
Determining whether the communication point exists,
The apparatus for generating malicious traffic, characterized in that the communication-related information is extracted from the malicious file when the communication point exists as a result of determining whether the communication point exists.
제12항에 있어서, 상기 프로세서는,
상기 악성파일의 통신지점을 검색하고,
상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하고,
상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 것을 특징으로 하는 악성 트래픽 생성 장치.
The method of claim 12, wherein the processor comprises:
Search the communication point of the malicious file,
It is determined whether there is another communication point in addition to the communication point,
and extracting communication-related information from the malicious file when another communication point exists as a result of determining whether another communication point exists in addition to the communication point.
제12항에 있어서, 상기 프로세서는,
상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 장치.
The method of claim 12, wherein the processor comprises:
When the malicious file is an executable file, the malicious traffic generating apparatus of claim 1, wherein the communication point of the malicious file is searched by searching for a communication-related application programming interface (API) call unit.
제12항에 있어서, 프로세서는,
상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 장치.
13. The method of claim 12, wherein the processor comprises:
When the malicious file is a malicious file in the form of a script, the communication point of the malicious file by searching for at least one of identification factors including a utility, a shell command, a Powershell Cmdlet, and a communication-related module call used by the malicious file for communication A device for generating malicious traffic, characterized in that it searches for
제12항에 있어서, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 악성 트래픽 생성 장치.13. The apparatus of claim 12, wherein the communication-related information includes at least one of information on a communication counterpart, information on a communication protocol, message information, encoding information, and information on communication expression. 제11항에 있어서, 상기 프로세서는,
상기 악성파일을 실행하고,
상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하고,
상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하고,
상기 응답 메시지를 상기 악성파일에 전송하고,
상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하고,
상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하고,
상기 생성된 시나리오에 대응하는 통신 상대를 생성하는 것을 특징으로 하는 악성 트래픽 생성 장치.
The method of claim 11 , wherein the processor comprises:
Execute the malicious file,
Check whether a message transmission occurs from the malicious file,
generating a response message to the message sent from the malicious file;
sending the response message to the malicious file,
Identifies the transmitted message and the response message as one message pair, and stores the identified message pair;
create a communication scenario according to the communication order of the identified message pair;
and generating a communication counterpart corresponding to the generated scenario.
제17항에 있어서,
상기 악성파일은 복수의 통신부를 포함하며,
상기 프로세서는,
상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인하는 것을 특징으로 하는 악성 트래픽 생성 장치.
18. The method of claim 17,
The malicious file includes a plurality of communication units,
The processor is
and if the message transmission does not occur as a result of checking whether the message transmission occurs, it is checked whether the message transmission occurs with respect to a communication unit other than the currently executing communication unit.
제17항에 있어서, 상기 프로세서는,
상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하는 것을 특징으로 하는 악성 트래픽 생성 장치.
The method of claim 17, wherein the processor comprises:
As a result of transmitting the response message to the malicious file, the transmitted message and the response message are identified as a single message pair only when the malicious file receiving the response message executes the next step. generating device.
제11항에 있어서, 상기 프로세서는,
상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하고,
상기 악성 트래픽을 수집하기 위한 환경을 설정하고,
상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하고,
상기 악성파일과 통신을 수행할 통신 상대를 설정하고,
상기 악성파일을 실행하고,
상기 악성파일에 대한 실행 결과로 생성된 상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 상기 메모리에 저장하는 것을 특징으로 하는 악성 트래픽 생성 장치.
The method of claim 11 , wherein the processor comprises:
Set up a network environment for the created communication counterpart to communicate with the malicious file,
Set up an environment for collecting the malicious traffic,
Setting a communication expression environment for executing the malicious file,
Set a communication partner to communicate with the malicious file,
Execute the malicious file,
and the malicious traffic generated as a result of executing the malicious file generated as a result of executing the malicious file is stored in the memory.
KR1020200042211A 2020-04-07 2020-04-07 Method and apparatus for generating malicious traffic using malicious file KR102346751B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200042211A KR102346751B1 (en) 2020-04-07 2020-04-07 Method and apparatus for generating malicious traffic using malicious file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200042211A KR102346751B1 (en) 2020-04-07 2020-04-07 Method and apparatus for generating malicious traffic using malicious file

Publications (2)

Publication Number Publication Date
KR20210125147A true KR20210125147A (en) 2021-10-18
KR102346751B1 KR102346751B1 (en) 2022-01-04

Family

ID=78271184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200042211A KR102346751B1 (en) 2020-04-07 2020-04-07 Method and apparatus for generating malicious traffic using malicious file

Country Status (1)

Country Link
KR (1) KR102346751B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230114844A (en) * 2022-01-25 2023-08-02 한국전자통신연구원 Method and apparatus for self generating malware traffic

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060056459A (en) * 2004-11-20 2006-05-24 한국전자통신연구원 Apparatus and method for malicious code protocol analysis and harmful traffic generation
KR20060058788A (en) * 2004-11-25 2006-06-01 한국전자통신연구원 Network simulation apparatus and method for abnormal traffic analysis
KR101624326B1 (en) 2014-06-24 2016-05-26 주식회사 안랩 Malicious file diagnosis system and method
KR20170122548A (en) * 2016-04-27 2017-11-06 한국전자통신연구원 Method and Apparatus for Recognizing APT(Advanced Persistent Threat) using Co-Relational Data Analytics

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060056459A (en) * 2004-11-20 2006-05-24 한국전자통신연구원 Apparatus and method for malicious code protocol analysis and harmful traffic generation
KR20060058788A (en) * 2004-11-25 2006-06-01 한국전자통신연구원 Network simulation apparatus and method for abnormal traffic analysis
KR101624326B1 (en) 2014-06-24 2016-05-26 주식회사 안랩 Malicious file diagnosis system and method
KR20170122548A (en) * 2016-04-27 2017-11-06 한국전자통신연구원 Method and Apparatus for Recognizing APT(Advanced Persistent Threat) using Co-Relational Data Analytics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230114844A (en) * 2022-01-25 2023-08-02 한국전자통신연구원 Method and apparatus for self generating malware traffic

Also Published As

Publication number Publication date
KR102346751B1 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
US10505973B2 (en) System and methods of detecting malicious elements of web pages
Cui et al. Protocol-independent adaptive replay of application dialog.
US10182068B2 (en) Determine vulnerability using runtime agent and network sniffer
US9451036B2 (en) Method and apparatus for fingerprinting systems and operating systems in a network
Xu et al. Autoprobe: Towards automatic active malicious server probing using dynamic binary analysis
Osanaiye Short Paper: IP spoofing detection for preventing DDoS attack in Cloud Computing
JP7388613B2 (en) Packet processing method and apparatus, device, and computer readable storage medium
WO2018076697A1 (en) Method and apparatus for detecting zombie feature
RU2606559C1 (en) System and method for optimizing of files antivirus checking
CN110266650B (en) Identification method of Conpot industrial control honeypot
CN111565203B (en) Method, device and system for protecting service request and computer equipment
US20220141252A1 (en) System and method for data filtering in machine learning model to detect impersonation attacks
CN107347076A (en) The detection method and device of SSRF leaks
JP6592196B2 (en) Malignant event detection apparatus, malignant event detection method, and malignant event detection program
CN115695031A (en) Host computer sink-loss detection method, device and equipment
KR102346751B1 (en) Method and apparatus for generating malicious traffic using malicious file
CN108768934A (en) Rogue program issues detection method, device and medium
WO2017215650A1 (en) Automatic login method and device for micro-game client, program, and medium
TW201937394A (en) System and method for program security protection
KR20210059991A (en) METHOD FOR IoT ANALYZING MALICIOUS BEHAVIOR AND COMPUTING DEVICE FOR EXECUTING THE METHOD
CN106919844A (en) A kind of android system vulnerability of application program detection method
US10747525B2 (en) Distribution of a software upgrade via a network
CN108566380B (en) Proxy internet surfing behavior identification and detection method
CN114513331B (en) Mining Trojan detection method, device and equipment based on application layer communication protocol
CN115314271A (en) Access request detection method, system and computer storage medium

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant