KR102346751B1 - 악성파일을 이용한 악성 트래픽 생성 방법 및 장치 - Google Patents
악성파일을 이용한 악성 트래픽 생성 방법 및 장치 Download PDFInfo
- Publication number
- KR102346751B1 KR102346751B1 KR1020200042211A KR20200042211A KR102346751B1 KR 102346751 B1 KR102346751 B1 KR 102346751B1 KR 1020200042211 A KR1020200042211 A KR 1020200042211A KR 20200042211 A KR20200042211 A KR 20200042211A KR 102346751 B1 KR102346751 B1 KR 102346751B1
- Authority
- KR
- South Korea
- Prior art keywords
- communication
- malicious file
- malicious
- message
- file
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network 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)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
악성파일을 이용한 악성 트래픽 생성 방법 및 장치가 개시된다. 본 발명의 일실시예에 따른 악성 트래픽 생성 방법은 상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하는 단계; 상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하는 단계; 및 상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 단계를 포함한다.
Description
본 발명은 악성파일을 이용하여 악성 트래픽을 생성하는 기술에 관한 것으로, 특히 악성파일에 의해 발생하는 실제 트래픽을 생성하여 악성 통신의 탐지, 대응 및 위협정보 축적 등에 활용할 수 있도록 하는 기술에 관한 것이다.
최근 일상적으로 사용되는 프로토콜을 이용하여 다양한 방법으로 악성 통신을 수행하려는 시도들이 이루어지고 있다. 다수의 정상 트래픽에 숨어 은밀히 수행되는 악성 통신은 시그니처가 알려진 행위 외에는 기존 기술로 탐지가 어려우므로 통신기법의 상세 분석을 통해 악성 통신 행위를 탐지하는 새로운 기술의 개발이 요구되고 있다.
통신기법의 분석을 위해서는 여러 단계로 수행되는 악성 행위에 대한 트래픽의 확보가 필수적이다. 하지만, 악성 행위를 탐지하더라도 악성통신 트래픽의 확보는 매우 제한적이어서 양질의 악성 트래픽을 확보하기 어려우며, 기존의 트래픽 생성방법을 이용하여 악성 행위를 상세히 분석하고 새로운 탐지방법을 검증하기 위한 악성 트래픽을 생성하는 데에는 한계가 있다.
악성 트래픽 생성과 관련하여, 종래에는 단순 공격 패킷을 생성하거나 또는 단순 공격 패킷을 대상으로 하는 악성파일에 관한 가상 트래픽이나, 실제 악성파일의 동작이 가능한지 여부와는 무관하게 악성 행위의 패턴이 포함된 가상 트래픽을 생성하였다. 반면에, 실제 악성파일의 동작을 통해 감염 신호 전달, 명령 전달, 자료 유출 등의 악성 행위를 수행하면서 발생하는 트래픽을 생성하지는 못하였다. 이러한 가상 악성 트래픽들은 네트워크 스캔 및 DoS(Denial of Service) 공격을 탐지하는 보안장비의 시험에 활용할 수는 있으나, 실제 통신에서 보이는 악성 행위를 상세히 분석하고 새로운 악성통신 탐지방법을 고안하기 위한 용도로 활용하기에는 어려운 한계가 있었다. 따라서, 본 기술분야에서는 악성파일에 의해 발생하는 실제 트래픽을 생성하여 악성 통신의 탐지, 대응 및 위협정보 축적 등에 활용할 수 있도록 하는 기술이 요구되고 있는 실정이다.
본 발명의 목적은 대상 악성파일의 동작으로 발생하는 악성트래픽을 생성하고 수집하기 위한 것이다.
또한, 악성파일에 의해 발생하는 실제 트래픽을 생성하여 악성 통신의 탐지, 대응 및 위협정보 축적 등에 활용할 수 있도록 하기 위한 것이다.
또한, 실제 통신에서 보이는 악성 행위를 상세히 분석하고 새로운 악성통신 탐지방법을 고안하기 위한 용도로 활용 가능한 악성 트래픽을 생성하기 위한 것이다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 악성 트래픽 생성 방법은 상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하는 단계; 상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하는 단계; 및 상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 단계를 포함한다.
이 때, 상기 악성파일을 분석하는 단계는, 상기 악성파일의 통신지점을 검색하는 단계; 상기 통신지점이 존재하는지 여부를 판단하는 단계; 및 통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계를 포함할 수 있다.
이 때, 상기 악성파일의 통신지점을 검색하는 단계, 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부를 판단하는 단계 및 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계를 더 포함할 수 있다.
이 때, 상기 악성파일의 통신지점을 검색하는 단계는, 상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.
이 때, 상기 악성파일의 통신지점을 검색하는 단계는, 상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.
이 때, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나 이상을 포함할 수 있다.
이 때, 통신 상대를 생성하는 단계는, 상기 악성파일을 실행하는 단계; 상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하는 단계; 상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하는 단계; 상기 응답 메시지를 상기 악성파일에 전송하는 단계; 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하는 단계; 상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하는 단계; 및 상기 생성된 시나리오에 대응하는 통신 상대를 생성하는 단계를 포함할 수 있다.
이 때, 상기 악성파일은 복수의 통신부를 포함하며, 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인할 수 있다.
이 때, 상기 메시지 쌍을 저장하는 단계는 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별할 수 있다.
이 때, 상기 악성 트래픽을 생성하는 단계는, 상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하는 단계; 상기 악성 트래픽을 수집하기 위한 환경을 설정하는 단계; 상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하는 단계; 상기 악성파일과 통신을 수행할 통신 상대를 설정하는 단계; 상기 악성파일을 실행하는 단계; 및 상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 메모리에 저장하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 악성파일을 이용하여 악성 트래픽을 생성하는 장치는 상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하고, 상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하고, 상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 프로세서; 및 상기 악성파일 및 상기 악성 트래픽 중 적어도 하나를 저장하는 메모리를 포함한다.
이 때, 상기 프로세서는, 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 존재하는지 여부를 판단하고, 통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.
이 때, 상기 프로세서는, 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하고, 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.
이 때, 상기 프로세서는, 상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.
이 때, 상기 프로세서는, 상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.
이 때, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나를 포함할 수 있다.
이 때, 상기 프로세서는, 상기 악성파일을 실행하고, 상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하고, 상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하고, 상기 응답 메시지를 상기 악성파일에 전송하고, 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하고, 상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하고, 상기 생성된 시나리오에 대응하는 통신 상대를 생성할 수 있다.
이 때, 상기 악성파일은 복수의 통신부를 포함하며, 상기 프로세서는, 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인할 수 있다.
이 때, 상기 프로세서는, 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별할 수 있다.
이 때, 상기 프로세서는, 상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하고, 상기 악성 트래픽을 수집하기 위한 환경을 설정하고, 상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하고, 상기 악성파일과 통신을 수행할 통신 상대를 설정하고, 상기 악성파일을 실행하고, 상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 상기 메모리에 저장할 수 있다.
본 발명에 따르면, 악성파일을 이용하여 악성파일이 악성 행위를 수행할 때마다 발생하는 단계별 악성 통신 트래픽을 생성할 수 있다.
또한, 악성파일을 이용하여 새로운 악성파일의 탐지규칙을 제작하거나, 새로운 악성파일의 탐지방법을 고안하고, 새로 고안한 악성파일 탐지방법을 검증하기 위해 필요한 악성 트래픽을 확보할 수 있다.
도 1은 본 발명의 일실시예에 따른 악성파일을 이용한 악성 트래픽 생성 장치의 구성 및 데이터 흐름을 개괄적으로 나타낸다.
도 2는 본 발명의 일실시예에 따른 악성파일 분석부의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 악성파일 분석 방법을 나타낸 흐름도이다.
도 4는 본 발명의 일실시예에 따른 통신 상대 생성부의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 악성파일의 전송 메시지 및 이에 대응하여 생성된 응답 메시지의 일예를 나타낸다.
도 6은 본 발명의 일실시예에 따른 메시지 쌍의 일예를 나타낸다.
도 7은 본 발명의 일실시예에 따른 통신 시나리오의 일예를 나타낸다.
도 8은 본 발명의 일실시예에 따른 통신 상대 생성 방법을 나타낸 흐름도이다.
도 9는 본 발명의 일실시예에 따른 트래픽 생성부의 구성을 나타낸 블록도이다.
도 10은 본 발명의 일실시예에 따른 트래픽 생성 방법을 나타낸 흐름도이다.
도 11은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 악성파일 분석부의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 악성파일 분석 방법을 나타낸 흐름도이다.
도 4는 본 발명의 일실시예에 따른 통신 상대 생성부의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 악성파일의 전송 메시지 및 이에 대응하여 생성된 응답 메시지의 일예를 나타낸다.
도 6은 본 발명의 일실시예에 따른 메시지 쌍의 일예를 나타낸다.
도 7은 본 발명의 일실시예에 따른 통신 시나리오의 일예를 나타낸다.
도 8은 본 발명의 일실시예에 따른 통신 상대 생성 방법을 나타낸 흐름도이다.
도 9는 본 발명의 일실시예에 따른 트래픽 생성부의 구성을 나타낸 블록도이다.
도 10은 본 발명의 일실시예에 따른 트래픽 생성 방법을 나타낸 흐름도이다.
도 11은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 악성파일을 이용한 악성 트래픽 생성 장치의 구성 및 데이터 흐름을 개괄적으로 나타낸다.
도 1을 참조하면, 본 실시예에 따른 악성 트래픽 생성 장치(100)는 악성파일 분석부(110), 통신 상대 생성부(130), 트래픽 생성부(150)를 포함한다.
악성파일 분석부(110)는 악성파일(160)을 분석하여 통신 수행 시점, 통신 버퍼, 프로토콜 정보, 인코딩 정보 등 악성파일(160)의 통신과 관련된 정보를 추출한다.
이 때, 악성파일 분석부(110)는 악성파일(160)에서 사용되는 통신 식별인자(170)를 추가적으로 활용하여 악성파일(160)을 분석할 수 있다.
이 때, 악성파일 분석부(110)는 악성파일 분석에 따른 악성파일 분석 정보(115)를 생성하여 데이터베이스 또는 메모리 등의 저장소에 저장할 수 있다. 이 때, 악성파일 분석 정보(115)는 통신 수행 시점, 통신 버퍼, 프로토콜 정보, 인코딩 정보 등의 악성파일(160)의 통신과 관련된 정보를 포함할 수 있다.
통신 상대 생성부(130)는 악성파일 분석부(110)에서 추출된 악성파일(160)의 통신 관련 정보를 이용하여 악성파일(160)과 통신을 수행하는 통신 상대를 생성한다.
이 때, 악성파일(160)과 통신을 수행하는 통신 상대는 모사 서버 또는 모사 클라이언트일 수 있다.
이 때, 통신 상대 생성부(130)는 통신 상대에 관한 정보(135)를 생성하여 데이터베이스 또는 메모리 등의 저장소에 저장할 수 있다.
트래픽 생성부(150)는 악성파일(160) 및 통신 상대 생성부(130)에서 생성된통신 상대에 관한 정보(135)를 이용하여 악성 트래픽(155)을 생성한다.
이 때, 트래픽 생성부(150)에서 생성된 악성 트래픽(155)은 데이터베이스 또는 메모리 등의 저장소에 저장될 수 있다. 또한, 트래픽 생성부(150)는 악성 트래픽(180)을 외부 서버 등으로 업로드하여 악성파일(160) 분석 등에 활용되도록 할 수 있다.
도 2는 본 발명의 일실시예에 따른 악성파일 분석부의 구성을 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 악성파일 분석부(200)는 통신지점 식별부(210), 통신 상대정보 추출부(220), 프로토콜 정보 추출부(230), 메시지 정보 추출부(240), 인코딩 정보 추출부(250), 발현 정보 추출부(260)를 포함한다.
악성파일 분석부(200)를 구성하는 상기 구성요소들은 주로 악성파일의 통신 관련 정보를 추출하는 기능을 한다. 악성파일은 PE(Portable Executable)와 같은 실행파일일 수 있으며, 스크립트(Script)일 수도 있다.
통신지점 식별부(210)는 악성파일 내에서 통신을 수행하는 지점을 상기 악성파일에서 사용되는 통신 식별인자를 이용하여 식별한다. 이 때, 상기 악성파일에서 사용되는 통신 식별인자는 API(Application Programming Interface), 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출 중 적어도 하나일 수 있다.
이 때, 악성파일이 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를 검색하여 사용할 수 있다.
한편, 악성파일이 스크립트 형태인 경우, 통신지점 식별부(210)는 통신에 사용되는 유틸리티, 콤포넌트 호출부를 검색하여 통신지점에 대한 정보를 추출할 수 있다. 예를 들어, 통신에 사용할 수 있는 유틸리티인 msiexec.exe, regsrv.exe, mshta.exe, bitsadmin.exe, 스크립트에서 HTTP 통신에 사용하는 MSXML2.ServerXMLHTTP, System.Net.WebClient 로 악성파일의 통신지점을 확인할 수 있다.
또한, 통신지점 식별부(210)는 통신을 위한 상대측 주소 및 경로에서 'http://', 'https://', 'ftp://' 등의 프로토콜 식별자가 포함되어 호출되는 부분, IP(Internet Protocol) 주소 또는 도메인 형태가 포함되어 호출되는 부분을 검색하여 통신지점에 대한 정보를 추출할 수 있다.
한편, 악성파일의 통신에 관련된 분석은 통신지점 식별부(210)에서 식별된 통신 수행지점으로부터 시작된다.
통신 상대정보 추출부(220)는 악성파일로부터 통신을 수행할 통신 상대정보를 추출한다. 이 때, 통신 상대정보는 IP주소, 도메인주소, 포트, URL(Uniform Resource Locator)등 네트워크 주소와 관련된 형태를 정규표현식 등으로 검색하거나, 앞에서 통신지점을 식별할 때 사용된 통신 식별인자에 입력되는 값을 분석하여 추출할 수 있다.
프로토콜 정보 추출부(230)는 악성파일로부터 통신에 사용되는 프로토콜 관련 정보를 추출한다. 예를 들어, 프로토콜 정보 추출부(230)는 악성파일로부터 전송계층 프로토콜 종류, 응용계층 프로토콜 종류, 전송방법(API, 통신에 활용되는 유틸리티, 자체구현 후 API 이용한 전송 등)의 정보를 추출할 수 있다.
이 때, 프로토콜 정보는 통신지점 식별 시 사용되는 API, 유틸리티, 컴포넌트 등에서 사용하는 프로토콜 정보를 이용하거나, 입력되는 인자값에서 확인할 수 있다. 한편, 프로토콜 정보는 통신 상대정보 추출부(220)에서 통신 상대정보 추출 시 확인했던 주소에서 'http://', 'ftp://' 등의 프로토콜 식별자가 포함되는 경우, 통신 상대정보 추출 시 확인했던 포트 정보, HTTP 스타트라인(startline) 및 헤더 등과 같이 특정 프로토콜의 통신에 포함되는 형태 및 시그니처 값이 악성파일 내에 존재하는지 여부 등으로 식별할 수 있다.
메시지 정보 추출부(240)는 악성파일로부터 메시지에 관한 정보를 추출한다. 이 때, 메시지 정보는 전송되는 메시지의 형태, 가능한 값을 포함한다. 이러한 메시지 정보는 악성파일에서 전송, 수신 시에 사용하는 버퍼 값의 형태와 관련된 처리부의 분석을 통해 추출될 수 있다. 한편, 메시지 정보 추출부(240)를 통해 추출되는 메시지 정보에는 메시지 구조, 특정 위치에 존재하는 값의 의미, 특정 필드에서 사용 가능한 값과 그 의미, 통신 프로토콜 상 특정 헤더 값의 의미, 구조 및 사용 값, 프로토콜 상 메시지 탑재부, 메시지의 예가 포함될 수 있다.
인코딩 정보 추출부(250)는 악성파일로부터 인코딩/디코딩 방법, 인코딩 킷값에 관한 정보를 추출한다. 이 때, 인코딩 정보 추출부(250)는 통신 메시지 버퍼와 관련된 인코딩/디코딩 처리부를 분석하여 알고리즘, 킷값, 인코딩/디코딩 위치 등을 추출할 수 있다.
발현정보 추출부(260)는 악성파일의 동작과 통신 수행에 필요한 환경, 악성파일 실행을 위한 조건을 식별한다. 이 때, 발현정보 추출부(260)로부터 추출되는 발현정보는 악성파일의 통신지점이 OS, 소프트웨어, 네트워크 등의 실행 환경, 악성파일이 특정 상태에 도달해야 하는 통신 발현, 정해진 실행시간 또는 지연 후 발현 등 특정 조건을 만족할 때에만 수행되는 경우의 조건에 해당된다. 이러한, 발현정보 추출부(260)로부터 추출된 발현정보는 추후 통신 메시지 식별과 트래픽 생성시에 사용된다.
도 3은 본 발명의 일실시예에 따른 악성파일 분석 방법을 나타낸 흐름도이다.
도 3을 참조하면, 본 실시예에 따른 악성파일 분석 방법은 악성파일 내에서 통신을 수행하는 지점을 검색한다(S310). 이 때, 통신 지점에 대한 검색은 악성파일에서 사용되는 통신 식별인자를 이용하여 식별할 수 있다. 악성파일에서 사용되는 통신 식별인자는 API(Application Programming Interface), 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출 중 적어도 하나일 수 있다. 한편, 본 발명에서 생성된 악성 트래픽을 기반으로 악성파일을 분석할 때, 악성파일의 통신에 관련된 분석은 악성파일 전체를 대상으로 수행하는 대신 단계 S310에서 식별된 통신 수행지점으로부터 시작할 수 있다.
악성파일 내에서 통신을 수행하는 지점을 검색할 때, 악성파일이 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를 검색하여 사용할 수 있다.
한편, 악성파일이 스크립트 형태인 경우, 통신에 사용되는 유틸리티, 콤포넌트 호출부를 검색하여 통신지점에 대한 정보를 추출할 수 있다. 예를 들어, 통신에 사용할 수 있는 유틸리티인 msiexec.exe, regsrv.exe, mshta.exe, bitsadmin.exe, 스크립트에서 HTTP 통신에 사용하는 MSXML2.ServerXMLHTTP, System.Net.WebClient 등으로 악성파일의 통신지점을 확인할 수 있다.
또한, 통신을 위한 상대측 주소 및 경로에서 'http://', 'https://', 'ftp://' 등의 프로토콜 식별자가 포함되어 호출되는 부분, IP(Internet Protocol) 주소 또는 도메인 형태가 포함되어 호출되는 부분을 검색하여 통신지점에 대한 정보를 추출할 수 있다.
또한, 본 실시예에 따른 악성파일 분석 방법은 단계 S310에서 통신지점이 존재하는지 여부를 판단한다(S320).
이 때, 상기 통신지점이 존재하는지 여부에 대한 판단 결과 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출한다. 통신 관련 정보는 통신 상대정보, 프로토콜 정보, 메시지 정보, 인코딩 정보, 통신 발현수단 정보를 포함하며, 이하의 단계에서는 이러한 통신 관련 정보를 추출한다.
또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 통신을 수행할 통신 상대정보를 추출한다(S330). 이 때, 통신 상대정보는 IP주소, 도메인주소, 포트, URL(Uniform Resource Locator)등 네트워크 주소와 관련된 형태를 정규표현식 등으로 검색하거나, 앞에서 통신지점을 식별할 때 사용된 통신 식별인자에 입력되는 값을 분석하여 추출할 수 있다.
또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 통신에 사용되는 프로토콜 관련 정보를 추출한다(S340). 예를 들어, 악성파일로부터 전송계층 프로토콜 종류, 응용계층 프로토콜 종류, 전송방법(API, 통신에 활용되는 유틸리티, 자체구현 후 API 이용한 전송 등)의 정보를 추출할 수 있다.
이 때, 프로토콜 정보는 통신지점 식별 시 사용되는 API, 유틸리티, 컴포넌트 등에서 사용하는 프로토콜 정보를 이용하거나, 입력되는 인자값에서 확인할 수 있다. 한편, 프로토콜 정보는 단계 S320에서 통신 상대정보 추출 시 확인했던 주소에서 'http://', 'ftp://' 등의 프로토콜 식별자가 포함되는 경우, 통신 상대정보 추출 시 확인했던 포트 정보, HTTP 스타트라인(startline) 및 헤더 등과 같이 특정 프로토콜의 통신에 포함되는 형태 및 시그니처 값이 악성파일 내에 존재하는지 여부 등으로 식별할 수 있다.
또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 메시지에 관한 정보를 추출한다(S350). 이 때, 메시지 정보는 전송되는 메시지의 형태, 가능한 값을 포함한다. 이러한 메시지 정보는 악성파일에서 전송, 수신 시에 사용하는 버퍼 값의 형태와 관련된 처리부의 분석을 통해 추출될 수 있다. 한편, 추출되는 메시지 정보에는 메시지 구조, 특정 위치에 존재하는 값의 의미, 특정 필드에서 사용 가능한 값과 그 의미, 통신 프로토콜 상 특정 헤더 값의 의미, 구조 및 사용 값, 프로토콜 상 메시지 탑재부, 메시지의 예가 포함될 수 있다.
또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일로부터 인코딩/디코딩 방법, 인코딩 킷값에 관한 정보를 추출한다(S360). 이 때, 통신 메시지 버퍼와 관련된 인코딩/디코딩 처리부를 분석하여 알고리즘, 킷값, 인코딩/디코딩 위치 등을 추출할 수 있다.
또한, 본 실시예에 따른 악성파일 분석 방법은 악성파일의 동작과 통신 수행에 필요한 환경 또는 악성파일 실행을 위한 조건을 포함하는 통신발현정보를 추출한다(S370). 이 때, 추출되는 발현정보는 악성파일의 통신지점이 OS, 소프트웨어, 네트워크 등의 실행 환경, 악성파일이 특정 상태에 도달해야 하는 통신 발현, 정해진 실행시간 또는 지연 후 발현 등 특정 조건을 만족할 때에만 수행되는 경우의 조건에 해당된다. 이 때, 추출된 발현정보는 추후 통신 메시지 식별과 트래픽 생성시에 사용될 수 있다.
그런 후, 본 실시예에 따른 악성파일 분석 방법은 단계 S310를 다시 수행하여, 통신지점이 존재하는지 여부를 판단한다(S320). 이때, 통신지점은 이전에 검색된 통신지점과는 상이한 것일 수 있다. 즉, S320에서 이전과는 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, S330 내지 S370가 반복 수행된다.
도 4는 본 발명의 일실시예에 따른 통신 상대 생성부의 구성을 나타낸 블록도이다.
도 4를 참조하면, 통신 상대 생성부(400)는 메시지 후보군 생성부(410), 메시지 쌍 식별부(420), 시나리오 생성부(430), 시나리오 검증부(440), 모사 통신 상대 생성부(450)를 포함한다.
메시지 후보군 생성부(410)는 악성파일을 실행하여 통신 발생을 확인하고, 통신이 발생하여 특정 메시지가 송신되는 경우, 악성파일의 응답 처리부 분석 결과를 바탕으로 악성파일이 수신하려고 하는 응답 메시지를 생성하고 메시지를 악성파일에 전송한다. 도 5는 본 발명의 일실시예에 따른 악성파일의 전송 메시지 및 이에 대응하여 생성된 응답 메시지의 일예를 나타낸다. 도 5를 참조하면, 전송 메시지와 이에 대응하는 응답 메시지는 쌍으로 존재할 수 있다.
응답 메시지를 생성할 때 악성파일의 송신 메시지에 포함된 특정 값을 처리하여 응답 메시지에 포함하거나, 송신 메시지에 따라 응답 메시지를 구성하여야 하는 부분과 방법 등을 식별할 수 있다. 예를 들어, 악성파일에서 특정 값을 생성하여 HTTP 특정 헤더 문자열에 포함하고, 해당 문자열이 포함된 응답에 대해서만 악성파일이 정상 처리하는 경우 등 메시지 생성에 영향을 주는 요소를 고려한다.
다시 도 4를 참조하면, 메시지 쌍 식별부(420)는 생성한 응답 메시지를 수신한 악성파일이 다음 단계를 실행하게 되면 송신 메시지와 응답 메시지를 메시지 쌍으로 식별하여 식별 결과를 저장한다. 도 6은 본 발명의 일실시예에 따른 메시지 쌍의 일예를 나타낸다. 도 6을 참조하면, 도 5의 전송 메시지와 이에 대응하는 응답 메시지는 하나의 메시지 쌍으로 식별되어 메모리 등에 저장될 수 있다.
시나리오 생성부(430)는 메시지 쌍 식별부(420)에서 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성한다. 도 7은 본 발명의 일실시예에 따른 통신 시나리오의 일예를 나타낸다. 도 7을 참조하면, 시나리오는 메시지 쌍 식별부(420)에서 식별된 메시지 쌍들을 통신 순서로 나열된 형태로 생성됨을 확인할 수 있다.
다시 도 4를 참조하면, 시나리오 검증부(440)는 시나리오 생성부(430)에서 생성된 시나리오를 검증한다.
모사 통신 상대 생성부(450)는 시나리오 생성부(430)에서 생성된 시나리오에 따라 모사 통신 상대를 생성한다. 이 때, 모사 통신 상대는 스크립트 또는 파이썬(Python)과 같은 프로그래밍 언어로 구현될 수 있고, 요청에 대한 다양한 응답을 생성하도록 설정하는 소프트웨어를 이용하여 생성할 수 있다.
도 8은 본 발명의 일실시예에 따른 통신 상대 생성 방법을 나타낸 흐름도이다.
도 8을 참조하면, 본 실시예에 따른 통신 상대 생성 방법은 통신 발현 환경을 설정한다(S805). 이 때, 통신 발현 환경은 도 2의 발현 정보 추출부(260) 또는 도 3의 단계 S370에서 추출된 통신 발현 환경 정보에 기반하여 설정될 수 있다.
또한, 본 실시예에 따른 통신 상대 생성 방법은 악성파일을 실행한다(S810).
또한, 본 실시예에 따른 통신 상대 생성 방법은 악성파일로부터 메시지 송신 여부를 확인한다(S815). 구체적으로, 단계 S810에서 악성파일이 실행되면, 이에 따른 결과로 악성파일로부터 메시지가 송신되는지 여부를 확인한다.
메시지 송신 여부 확인 결과, 악성파일로부터 메시지 송신이 발생하는 경우송신 메시지를 분석한다(S820).
또한, 본 실시예에 따른 통신 상대 생성 방법은 악성파일의 응답 처리부를 분석한다(S825). 악성파일은 하나 또는 복수의 응답 처리부를 포함할 수 있으며, 이에 대한 분석을 통해 악성파일의 송신 메시지에 대한 응답 메시지를 생성할 수 있다.
또한, 본 실시예에 따른 통신 상대 생성 방법은 응답 메시지를 생성한다(S830). 이 때, 응답 메시지는 단계 S825에서 수행한 악성파일의 응답 처리부 분석 결과를 기반으로 생성될 수 있다. 한편, 응답 메시지를 생성할 때 악성파일의 송신 메시지에 포함된 특정 값을 처리하여 응답 메시지에 포함하거나, 송신 메시지에 따라 응답 메시지를 구성하여야 하는 부분과 방법 등을 식별할 수 있다. 예를 들어, 악성파일에서 특정 값을 생성하여 HTTP 특정 헤더 문자열에 포함하고, 해당 문자열이 포함된 응답에 대해서만 악성파일이 정상 처리하는 경우 등 메시지 생성에 영향을 주는 요소를 고려한다.
또한, 본 실시예에 따른 통신 상대 생성 방법은 응답 메시지를 전송한다(S835). 이 때, 전송되는 응답 메시지는 단계 S830에서 생성된 응답 메시지이다.
또한, 본 실시예에 따른 통신 상대 생성 방법은 성공하였는지 여부를 판단한다(S840).
판단 결과, 응답 메시지 전송에 성공한 경우, 메시지 쌍 식별 결과를 저장하고(S845), 응답 메시지 생성 방법을 저장한다(S850). 그런 후, 단계 S815로 되돌아간다.
한편, 응답 메시지 전송에 실패한 경우, 응답 메시지를 생성하여(S830) 전송하고(S835), 성공 여부를 판단(S840)하는 과정을 반복하여 수행한다.
한편, 단계 S815에서 메시지 송신여부 확인 결과 메시지 송신에 실패한 경우, 악성파일의 모든 통신부를 실행하였는지 여부를 판단한다(S855). 판단 결과, 미실행된 통신부가 존재하는 경우, 통신수행조건을 변경하여(S860), 악성파일을 실행하고(S810), 메시지 송신에 성공하였는지 여부를 확인(S815)하는 과정을 반복하여 수행한다.
한편, 단계 S855의 판단 결과 악성파일의 모든 통신부를 실행한 경우, 통신 시나리오를 생성하고(S865), 통신 상대를 생성한다(S870).
이 때, 생성되는 시나리오는 도 4의 메시지 쌍 식별부(420)에서 식별된 메시지 쌍의 통신 순서에 따라 생성될 수 있다. 한편, 이 때, 생성되는 시나리오는 도 7과 같은 포맷으로 생성될 수 있다.
도 9는 본 발명의 일실시예에 따른 트래픽 생성부의 구성을 나타낸 블록도이다. 도 9를 참조하면, 트래픽 생성부(900)는 통신 상대 생성부(400)에서 생성된 통신 상대를 이용하여 트래픽을 생성하며, 네트워크 환경 설정부(910), 발현환경 설정부(930), 시나리오별 트래픽 생성부(950)를 포함한다.
네트워크 환경 설정부(910)는 악성파일이 생성한 모사 통신 상대와 지속적인 통신을 수행할 수 있도록 추출한 통신 상대 IP 주소, 도메인, 포트를 모사 통신 상대로 리다이렉션하여 네트워크 환경을 설정한다.
발현환경 설정부(930)는 악성파일을 정상적으로 실행하기 위한 환경 및 조건을 설정하여 트래픽 생성을 수행할 수 있도록 준비한다.
시나리오별 트래픽 생성부(950)는 네트워크 환경 설정부(910)에서 설정된 네트워크 환경에서 분석대상 악성파일과 시나리오별 통신 상대와의 통신을 수행하여 악성 트래픽을 생성한다.
도 10은 본 발명의 일실시예에 따른 트래픽 생성 방법을 나타낸 흐름도이다.
도 10을 참조하면, 본 실시예에 따른 트래픽 생성 방법은 네트워크 환경을 설정한다(S1010). 이 때, 악성파일이 생성한 모사 통신 상대와 지속적인 통신을 수행할 수 있도록 추출한 통신 상대 IP 주소, 도메인, 포트를 모사 통신 상대로 리다이렉션하여 네트워크 환경을 설정한다.
또한, 본 실시예에 따른 트래픽 생성 방법은 악성 트래픽을 수집하기 위한 환경을 설정한다(S1020). 이 때, 악성 트래픽을 수집하여 저장할 저장 공간의 위치, 크기 등이 설정될 수 있다.
또한, 본 실시예에 따른 트래픽 생성 방법은 악성파일을 정상적으로 실행하기 위한 통신 발현 환경을 설정한다(S1030).
또한, 본 실시예에 따른 트래픽 생성 방법은 통신 상대를 설정한다(S1040). 이 때, 설정되는 통신 상대는 통신 상대 생성부(400)에서 생성된 시나리오와 이에 따라 생성된 통신 상대를 기반으로 설정된다. 이 때, 통신 상대 생성부(400)에서 생성된 시나리오 및 통신 상대는 복수 개가 존재할 수 있다.
또한, 본 실시예에 따른 트래픽 생성 방법은 악성파일을 실행한다(S1050). 이 때, 통신 상대 생성부(400)에서 악성파일의 분석 결과 생성된 악성파일의 송신 메시지에 대한 응답 메시지의 쌍으로 구성된 시나리오 및 통신 상대에 기반하여 악성파일을 실행하면 이에 따른 악성 트래픽이 생성된다.
또한, 본 실시예에 따른 트래픽 생성 방법은 생성된 트래픽을 저장한다(S1060). 이 때, 생성된 트래픽은 트래픽은 단계 S1050에서 악성파일의 실행 결과 생성된 악성 트래픽이다. 한편, 생성된 트래픽을 저장할 때에는, 단계 S1010에서 설정된 트래픽 수집 환경을 기반으로 생성된 트래픽을 저장할 수 있다.
또한, 본 실시예에 따른 트래픽 생성 방법은 악성파일과의 통신에 사용되지않은 다음 시나리오가 존재하는지 여부를 판단한다(S1070). 판단 결과, 악성파일과의 통신에 사용되지 않은 다음 시나리오가 존재하는 경우, 해당하는 시나리오를 기반으로 단계 S1030 내지 단계 S1070의 과정을 반복하여 수행한다. 한편, 악성파일과의 통신에 사용되지 않은 다음 시나리오가 존재하지 않는 경우에는 본 실시예에 따른 트래픽 생성 과정을 종료한다.
도 11은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 11을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템에서 구현될 수 있다. 도 11에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(1130)는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
이 때, 프로세서(1110)는 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하고, 상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하고, 상기 악성파일 및 상기 통신 상대를 이용하여 악성 트래픽을 생성할 수 있다.
이 때, 메모리(1130)는 상기 악성파일 및 악성 트래픽 중 적어도 하나를 저장할 수 있다.
이 때, 프로세서(1110)는 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 존재하는지 여부를 판단하고, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.
이 때, 프로세서(1110)는 상기 악성파일의 통신지점을 검색하고, 상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하고, 상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점에 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출할 수 있다.
이 때, 프로세서(1110)는 상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.
이 때, 프로세서(1110)는 상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색할 수 있다.
이 때, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나를 포함할 수 있다.
이 때, 프로세서(1110)는 상기 악성파일을 실행하고, 상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하고, 상기 응답 메시지를 상기 악성파일에 전송하고, 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하고, 상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하고, 상기 생성된 시나리오에 대응하는 통신 상대를 생성할 수 있다.
이 때, 악성파일은 복수의 통신부를 포함할 수 있으며, 프로세서(1110)는 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인할 수 있다.
이 때, 프로세서(1110)는 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성 트래픽을 상기 메모리에 저장할 수 있다.
이상에서와 같이 본 발명에 따른 악성파일을 이용한 악성 트래픽 생성 방법 및 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
Claims (20)
- 악성파일을 이용하여 악성 트래픽을 생성하는 방법에 있어서,
상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하는 단계;
상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하는 단계; 및
상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 단계
를 포함하되,
통신 상대를 생성하는 단계는,
상기 악성파일을 실행한 결과 발생된 송신 메시지 및 그에 대한 응답 메시지를 하나의 메시지 쌍으로 식별하고,
상기 식별된 메시지 쌍의 통신 순서에 따라 생성된 통신 시나리오에 대응하는 통신 상대를 생성하는 악성 트래픽 생성 방법. - 제1항에 있어서, 상기 악성파일을 분석하는 단계는,
상기 악성파일의 통신지점을 검색하는 단계;
상기 통신지점이 존재하는지 여부를 판단하는 단계; 및
통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계
를 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법. - 제2항에 있어서,
상기 악성파일의 통신지점을 검색하는 단계;
상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하는 단계; 및
상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 단계를 더 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법. - 제2항에 있어서, 상기 악성파일의 통신지점을 검색하는 단계는,
상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 방법. - 제2항에 있어서, 상기 악성파일의 통신지점을 검색하는 단계는,
상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 방법. - 제2항에 있어서, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법.
- 제1항에 있어서, 통신 상대를 생성하는 단계는,
상기 악성파일을 실행하는 단계;
상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하는 단계;
상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하는 단계;
상기 응답 메시지를 상기 악성파일에 전송하는 단계;
상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하는 단계;
상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하는 단계; 및
상기 생성된 시나리오에 대응하는 통신 상대를 생성하는 단계
를 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법. - 제7항에 있어서, 상기 악성파일은 복수의 통신부를 포함하며, 상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인하는 것을 특징으로 하는 악성 트래픽 생성 방법.
- 제7항에 있어서, 상기 메시지 쌍을 저장하는 단계는 상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하는 것을 특징으로 하는 악성 트래픽 생성 방법.
- 제1항에 있어서, 상기 악성 트래픽을 생성하는 단계는,
상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하는 단계;
상기 악성 트래픽을 수집하기 위한 환경을 설정하는 단계;
상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하는 단계;
상기 악성파일과 통신을 수행할 통신 상대를 설정하는 단계;
상기 악성파일을 실행하는 단계; 및
상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 메모리에 저장하는 단계
를 포함하는 것을 특징으로 하는 악성 트래픽 생성 방법. - 악성파일을 이용하여 악성 트래픽을 생성하는 장치에 있어서,
상기 악성파일로부터 통신 관련 정보를 추출함으로써 상기 악성파일을 분석하고,
상기 악성파일로부터 추출한 통신 관련 정보를 이용하여 상기 악성파일에 대한 통신 상대를 생성하고,
상기 악성파일 및 상기 통신 상대를 이용하여 상기 악성 트래픽을 생성하는 프로세서; 및
상기 악성파일 및 상기 악성 트래픽 중 적어도 하나를 저장하는 메모리
를 포함하되,
프로세서는,
통신 상대를 생성함에 있어,
상기 악성파일을 실행한 결과 발생된 송신 메시지 및 그에 대한 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍의 통신 순서에 따라 생성된 통신 시나리오에 대응하는 통신 상대를 생성하는 악성 트래픽 생성 장치. - 제11항에 있어서, 상기 프로세서는,
상기 악성파일의 통신지점을 검색하고,
상기 통신지점이 존재하는지 여부를 판단하고,
통신지점이 존재하는지 여부에 대한 판단 결과 통신 지점이 존재하는 경우,상기 악성파일로부터 통신 관련 정보를 추출하는 것을 특징으로 하는 악성 트래픽 생성 장치. - 제12항에 있어서, 상기 프로세서는,
상기 악성파일의 통신지점을 검색하고,
상기 통신지점이 외에 다른 통신지점이 존재하는지 여부를 판단하고,
상기 통신지점 이외에 다른 통신지점이 존재하는지 여부에 대한 판단 결과 다른 통신지점이 존재하는 경우, 상기 악성파일로부터 통신 관련 정보를 추출하는 것을 특징으로 하는 악성 트래픽 생성 장치. - 제12항에 있어서, 상기 프로세서는,
상기 악성파일이 실행 파일인 경우, 통신 관련 API(Application Programming Interface) 호출부를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 장치. - 제12항에 있어서, 프로세서는,
상기 악성파일이 스크립트 형태의 악성파일인 경우, 상기 악성파일이 통신에 사용하는 유틸리티, 쉘 명령어, Powershell Cmdlet 및 통신관련모듈 호출을 포함하는 식별 인자들 중 적어도 하나를 검색함으로써 상기 악성파일의 통신지점을 검색하는 것을 특징으로 하는 악성 트래픽 생성 장치. - 제12항에 있어서, 상기 통신 관련 정보는 통신 상대에 대한 정보, 통신 프로토콜에 대한 정보, 메시지 정보, 인코딩 정보, 통신 발현에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 악성 트래픽 생성 장치.
- 제11항에 있어서, 상기 프로세서는,
상기 악성파일을 실행하고,
상기 악성파일로부터 메시지 송신이 발생하는지 여부를 확인하고,
상기 악성파일로부터 송신된 메시지에 대한 응답 메시지를 생성하고,
상기 응답 메시지를 상기 악성파일에 전송하고,
상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하고, 상기 식별된 메시지 쌍을 저장하고,
상기 식별된 메시지 쌍의 통신 순서에 따라 통신 시나리오를 생성하고,
상기 생성된 시나리오에 대응하는 통신 상대를 생성하는 것을 특징으로 하는 악성 트래픽 생성 장치. - 제17항에 있어서,
상기 악성파일은 복수의 통신부를 포함하며,
상기 프로세서는,
상기 메시지 송신이 발생하는지 여부에 대한 확인 결과, 메시지 송신이 발생하지 않는 경우, 현재 실행중인 통신부 이외의 다른 통신부에 대하여 상기 메시지 송신이 발생하는지 여부를 확인하는 것을 특징으로 하는 악성 트래픽 생성 장치. - 제17항에 있어서, 상기 프로세서는,
상기 악성파일에 상기 응답 메시지를 전송한 결과, 상기 응답 메시지를 수신한 악성파일이 다음 단계를 실행하는 경우에만 상기 송신된 메시지 및 상기 응답 메시지를 하나의 메시지 쌍으로 식별하는 것을 특징으로 하는 악성 트래픽 생성 장치. - 제11항에 있어서, 상기 프로세서는,
상기 생성된 통신 상대가 상기 악성파일과 통신을 수행하기 위한 네트워크 환경을 설정하고,
상기 악성 트래픽을 수집하기 위한 환경을 설정하고,
상기 악성파일을 실행하기 위한 통신 발현 환경을 설정하고,
상기 악성파일과 통신을 수행할 통신 상대를 설정하고,
상기 악성파일을 실행하고,
상기 악성파일에 대한 실행 결과로 생성된 상기 악성파일에 대한 실행 결과 생성된 상기 악성 트래픽을 상기 메모리에 저장하는 것을 특징으로 하는 악성 트래픽 생성 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200042211A KR102346751B1 (ko) | 2020-04-07 | 2020-04-07 | 악성파일을 이용한 악성 트래픽 생성 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200042211A KR102346751B1 (ko) | 2020-04-07 | 2020-04-07 | 악성파일을 이용한 악성 트래픽 생성 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210125147A KR20210125147A (ko) | 2021-10-18 |
KR102346751B1 true KR102346751B1 (ko) | 2022-01-04 |
Family
ID=78271184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200042211A KR102346751B1 (ko) | 2020-04-07 | 2020-04-07 | 악성파일을 이용한 악성 트래픽 생성 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102346751B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102617950B1 (ko) * | 2022-01-25 | 2023-12-28 | 한국전자통신연구원 | 악성코드 송수신 트래픽 자가 생성 방법 및 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100609708B1 (ko) * | 2004-11-20 | 2006-08-08 | 한국전자통신연구원 | 악성코드 프로토콜 분석 및 유해 트래픽을 생성하는 방법및 장치 |
KR100609710B1 (ko) * | 2004-11-25 | 2006-08-08 | 한국전자통신연구원 | 이상 트래픽 분석을 위한 네트워크 시뮬레이션 장치 및 그방법 |
KR101624326B1 (ko) | 2014-06-24 | 2016-05-26 | 주식회사 안랩 | 악성 파일 진단 시스템 및 악성 파일 진단 방법 |
KR20170122548A (ko) * | 2016-04-27 | 2017-11-06 | 한국전자통신연구원 | 비정상 프로세스의 연관 데이터 분석을 이용한 apt 공격 인지 방법 및 장치 |
-
2020
- 2020-04-07 KR KR1020200042211A patent/KR102346751B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20210125147A (ko) | 2021-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
CN109194680B (zh) | 一种网络攻击识别方法、装置及设备 | |
US11290484B2 (en) | Bot characteristic detection method and apparatus | |
CN108183916A (zh) | 一种基于日志分析的网络攻击检测方法及装置 | |
JP7388613B2 (ja) | パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体 | |
US20220141252A1 (en) | System and method for data filtering in machine learning model to detect impersonation attacks | |
CN105187430A (zh) | 一种反向代理服务器、反向代理系统和方法 | |
CN110266650B (zh) | Conpot工控蜜罐的识别方法 | |
CN111565203B (zh) | 业务请求的防护方法、装置、系统和计算机设备 | |
CN111049782B (zh) | 反弹式网络攻击的防护方法、装置、设备、系统 | |
CN108768934A (zh) | 恶意程序发布检测方法、装置以及介质 | |
KR102346751B1 (ko) | 악성파일을 이용한 악성 트래픽 생성 방법 및 장치 | |
WO2017217247A1 (ja) | 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム | |
CN115695031A (zh) | 主机失陷检测方法、装置及设备 | |
Krupp et al. | {AmpFuzz}: Fuzzing for amplification {DDoS} vulnerabilities | |
CN112769635B (zh) | 多粒度特征解析的服务识别方法及装置 | |
CN106919844B (zh) | 一种Android系统应用程序漏洞检测方法 | |
CN108259416B (zh) | 检测恶意网页的方法及相关设备 | |
US10747525B2 (en) | Distribution of a software upgrade via a network | |
CN108270730A (zh) | 一种扩展防火墙的应用层检测方法、装置及电子设备 | |
KR20210059991A (ko) | IoT 악성행위 분석 방법 및 이를 수행하기 위한 컴퓨팅 장치 | |
CN108566380B (zh) | 一种代理上网行为识别与检测方法 |
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 |