KR101446280B1 - System for detecting and blocking metamorphic malware using the Intermediate driver - Google Patents

System for detecting and blocking metamorphic malware using the Intermediate driver Download PDF

Info

Publication number
KR101446280B1
KR101446280B1 KR1020130032351A KR20130032351A KR101446280B1 KR 101446280 B1 KR101446280 B1 KR 101446280B1 KR 1020130032351 A KR1020130032351 A KR 1020130032351A KR 20130032351 A KR20130032351 A KR 20130032351A KR 101446280 B1 KR101446280 B1 KR 101446280B1
Authority
KR
South Korea
Prior art keywords
packet
driver
malicious code
ndis
blocking
Prior art date
Application number
KR1020130032351A
Other languages
Korean (ko)
Inventor
김기천
허주승
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020130032351A priority Critical patent/KR101446280B1/en
Application granted granted Critical
Publication of KR101446280B1 publication Critical patent/KR101446280B1/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Landscapes

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

Abstract

The present invention relates to a system and a method for detecting and blocking variants of malware using an intermediate driver and, more specifically, to a system and a method for detecting and blocking variants of malware using an intermediate driver which complements the shortcomings of a conventional signature analysis by proposing a model which analyzes state changes in a system and a network by using a network driver interface specification (NDIS) intermediate driver and detects and blocks malware having an irregular pattern in a kernel mode. The present invention detects state behavior by using protocol type, IP address, MAC, use port, length, and time information extracted from packet information.

Description

인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 시스템 및 그 방법{System for detecting and blocking metamorphic malware using the Intermediate driver}FIELD OF THE INVENTION [0001] The present invention relates to a malicious code detection and blocking system using intermittent drivers,

본 발명은 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 시스템 및 그 방법에 관한 것으로서, 보다 상세하게는 NDIS(Network Driver Interface Specification) Intermediate 드라이버를 이용하여 시스템 및 네트워크 상태 변화를 분석하고 커널모드에서 불규칙한 패턴의 악성코드를 탐지 및 차단하는 모델을 제안하여 기존 Signature 분석의 단점을 보완한 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 시스템 및 그 방법에 관한 것이다.
More particularly, the present invention relates to a system and method for detecting and blocking malicious codes using intermittent drivers, and more particularly, to a system and a method for analyzing system and network status changes using an NDIS (Network Driver Interface Specification) The present invention relates to a malicious code detection and blocking system using intermittent drivers and a method for detecting and blocking malicious codes using irregular patterns.

인터넷의 급격한 성장과 함께 컴퓨터 통신 이용률이 폭발적으로 증가함에 따라 여러 악성코드가 등장하게 되었다. 이러한 악성코드는 시스템의 비정상 동작 유발, 네트워크 성능 저하, 개인정보유출의 문제를 발생시킨다. 현재의 악성코드 분석은 Signature 분석이 대부분이며, Signature 분석은 특정 패턴의 악성코드는 빠르게 탐지하나, 변조된 코드는 탐지하지 못하며, 이미 피해가 널리 퍼진 뒤 분석 및 차단이 가능하다는 단점을 가진다. With the rapid growth of the Internet and the explosion of computer usage rates, several malicious codes have emerged. Such malicious code causes abnormal operation of the system, degradation of network performance, and leakage of personal information. Currently, most of the malicious code analysis is signature analysis. Signature analysis detects malicious code of a specific pattern quickly, but it can not detect the modified code, and has the disadvantage that the damage can be prevalent before analysis and blocking.

또한, 정보통신기술분야의 발전으로 인터넷이 급격히 발전함에 따라 다양한 악성코드들이 나타나게 되었다. 이러한 악성코드는 시스템의 비정상 동작유발, 네트워크 성능저하, 개인 정보유출의 문제를 발생시키며, 각종 범죄와 연관되어 보다 체계적이고 복잡한 공격으로 변화하고 있다.Also, due to the development of the information and communication technology, various kinds of malicious codes have appeared as the Internet has rapidly developed. These malicious codes cause abnormal operation of the system, degradation of network performance, leakage of personal information, and are becoming more systematic and complex attacks related to various crimes.

현재 대부분의 악성코드 탐지 및 차단은 Signature 분석을 통해 이루어지며, 이는 특정 패턴을 가지는 악성코드만 차단하고, 불규칙한 패턴의 악성코드는 탐지하지 못하는 문제점이 있다.Currently, most malicious codes are detected and blocked by signature analysis, which only blocks malicious code with a certain pattern and can not detect malicious codes with irregular patterns.

따라서 이를 보완하는 보다 능동적인 악성코드 분석 모델의 설계와 구현이 필요하다.Therefore, it is necessary to design and implement a more active malicious code analysis model that complements it.

상술한 문제점을 해결하기 위하여 본 발명은 특정 패턴의 악성코드만 차단이 가능한 Signature 분석 모델의 단점을 보완하여, 시스템 및 네트워크 상태를 분석 하고, 커널모드에서 악성코드를 탐지, 차단 할 수 있는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 시스템 및 그 방법을 제공하는 데 목적이 있다.In order to solve the above-mentioned problems, the present invention has been made to solve the above-mentioned disadvantages of the Signature analysis model which can block only malicious code of a specific pattern, analyze the system and network status, The present invention provides a system and method for detecting and blocking malicious codes of a malicious code using a tamper driver.

본 발명은 패킷 정보에서 추출한 프로토콜 타입, 아이피(IP) 어드레스, MAC, 사용포트, 길이, 및 시간정보를 이용하여 상태 행동을 감지한다.The present invention detects a state action using a protocol type, IP address, MAC, port, length, and time information extracted from the packet information.

상기 상태 행동을 하는 프로세스 및 포트를 차단한다.Thereby blocking the process and the port for performing the state action.

상기 상태 행동은 아이피(IP) 스푸핑 패킷발송시도, TCP 커넥션 연결 시도, Listen 모드로 연결 대기 시도, 다중 아이피(IP) 패킷 발송시도, 프로세서 사용량 변화를 포함한다.The state action includes an attempt to send an IP spoofing packet, a TCP connection connection attempt, a connection wait attempt in a Listen mode, an attempt to send multiple IP packets, and a processor usage change.

본 발명은 인터미디어트(Intermediate) 드라이버를 이용하여 해당 악성코드를 분석하는 단계; 상기 악성코드에 대한 분석 후 특정 Signature를 찾고, Signature 분석을 마친 패킷은 Protocol 로 전송하는 단계; 시스템 및 네트워크 상태를 상태 분석 모델로 주기적으로 모니터링 하여, 특정 프로세스가 특정 포트에서 패킷의 이상 상태가 탐지되면 커널 모드에서 프로세스 및 포트를 차단하는 단계;를 포함하여 구성된다.The present invention relates to a method and an apparatus for analyzing a malicious code using an intermediate driver, Searching for a specific signature after analyzing the malicious code, and transmitting the signature-analyzed packet to the protocol; Periodically monitoring the system and network status with a state analysis model and blocking a process and a port in a kernel mode when a specific process detects an abnormal state of a packet at a specific port.

상기 인터미디어트(Intermediate) 드라이버는, 이더넷, ATM과 같은 서로 다른 전송계층의 패킷을 매핑하는 변환 단계;를 포함하여 구성된다.The intermediate driver includes a mapping step of mapping packets of different transport layers such as Ethernet and ATM.

상기 인터미디어트(Intermediate) 드라이버는, 수신되는 패킷의 정보와 송신시 전달되는 패킷을 우선적으로 읽고, 관리하는 패킷 필터링이나 블록킹 단계;를 포함하여 구성된다.The intermediate driver includes a packet filtering and blocking step for preferentially reading and managing information of a packet to be received and a packet to be transmitted in transmission.

상기 인터미디어트(Intermediate) 드라이버는, 하나의 가상 어댑터를 상위레벨에 노출시켜 하나 이상의 NIC로 전송 패킷을 분산시키는 Road Balancing 단계;를 포함하여 구성된다.The intermediate driver includes a road balancing step of exposing one virtual adapter to a higher level and distributing transmission packets to one or more NICs.

상기 Protocol의 드라이버는 어플리케이션에 전송되는 데이터를 패킷에 복사하는 단계;를 포함하여 구성된다.The protocol driver includes a step of copying data to be transmitted to an application into a packet.

상기 Protocol의 드라이버는 네트워크 드라이버 인터페이스 규격(NDIS)함수를 호출하여 하위 레벨의 드라이버로 전송하는 단계;를 포함하여 구성된다.The driver of the protocol calls the Network Driver Interface Specification (NDIS) function and transmits to the driver of the lower level.

상기 프로토콜(Protocol)의 드라이버는 하위레벨에서 수신된 패킷을 받기 위해 프로토콜 인터페이스를 제공하고 수신된 데이터를 클라이언트 어플리케이션에 전송하는 단계;를 포함하여 구성된다.The driver of the protocol includes a protocol interface for receiving a packet received at a lower level and transmitting the received data to the client application.

본 발명은 네트워크 드라이버 인터페이스 규격(NDIS)가 NDIS_PACKET 구조체를 만들어 드라이버간의 통신 하는 단계; NDIS_PACKET에서 NDIS_BUFFER 구조체를 얻고, NDIS_BUFFER가 또 다른 NDIS_BUFFER와 연결되는 단계; 상기 네트워크 드라이버 인터페이스 규격(NDIS)의 상위 레벨에서 네트워크 드라이버 인터페이스 규격(NDIS) 라이브러리에 접근 할 때 NdisAllocatePacket API를 이용하여 네트워크 드라이버 인터페이스 규격(NDIS) 패킷을 만들어 통신하는 단계;를 포함하여 구성된다.The present invention relates to a network driver interface specification (NDIS) creating an NDIS_PACKET structure to communicate between drivers; Obtaining an NDIS_BUFFER structure from NDIS_PACKET, and NDIS_BUFFER being associated with another NDIS_BUFFER; And creating and communicating a Network Driver Interface Specification (NDIS) packet using the NdisAllocatePacket API when accessing a Network Driver Interface Specification (NDIS) library at a higher level of the Network Driver Interface Specification (NDIS).

상기 네트워크 드라이버 인터페이스 규격(NDIS) 패킷 정보에서 추출한 프로토콜 타입, 아이피(IP) 어드레스, MAC, 사용포트, 길이, 및 시간정보를 이용하여 상태 행동을 감지한다.An IP address, MAC, port, length, and time information extracted from the Network Driver Interface Standard (NDIS) packet information.

상기 상태 행동을 하는 프로세스 및 포트를 차단한다.Thereby blocking the process and the port for performing the state action.

상기 상태 행동은 아이피(IP) 스푸핑 패킷발송시도, TCP 커넥션 연결 시도, Listen 모드로 연결 대기 시도, 다중 아이피(IP) 패킷 발송시도, 프로세서 사용량 변화를 포함한다.The state action includes an attempt to send an IP spoofing packet, a TCP connection connection attempt, a connection wait attempt in a Listen mode, an attempt to send multiple IP packets, and a processor usage change.

본 발명은 NdisQueryPacket API를 이용하여 패킷을 복사해온 후 NdisQueryBuffer API로 이더넷헤더를 읽는 단계; 상기 이더넷헤더에서 패킷 정보를 분석하고, NdisGetNextBuffer API로 다음 버퍼를 복사해온 후 다시 패킷 정보를 분석하는 단계; 상기 패킷 정보를 분석한 후 악성코드의 특정 패턴을 추출하여 해당 패턴을 데이터베이스화하고, 악성 코드의 검사 대상이 되는 파일 내에 해당 패턴의 존재 유무를 판단하는 단계;를 포함한다.The method comprising: copying a packet using an NdisQueryPacket API and reading an Ethernet header with an NdisQueryBuffer API; Analyzing packet information in the Ethernet header, copying the next buffer using the NdisGetNextBuffer API, and analyzing packet information again; Analyzing the packet information, extracting a specific pattern of the malicious code, converting the pattern into a database, and determining whether the pattern exists in the file to be inspected of the malicious code.

상기 패킷 정보에서 추출한 프로토콜 타입, 아이피(IP) 어드레스, MAC, 사용포트, 길이, 및 시간정보를 이용하여 상태 행동을 감지한다.An IP address, MAC, port, length, and time information extracted from the packet information.

상기 상태 행동을 하는 프로세스 및 포트를 차단한다.Thereby blocking the process and the port for performing the state action.

상기 상태 행동은 아이피(IP) 스푸핑 패킷발송시도, TCP 커넥션 연결 시도, Listen 모드로 연결 대기 시도, 다중 아이피(IP) 패킷 발송시도, 프로세서 사용량 변화를 포함한다.
The state action includes an attempt to send an IP spoofing packet, a TCP connection connection attempt, a connection wait attempt in a Listen mode, an attempt to send multiple IP packets, and a processor usage change.

본 발명에 따르면 제시된 모델은 시스템 상태 분석을 통해 Signature 분석과 비교하여 보다 능동적인 탐지 및 차단을 제공할 수 있다.According to the present invention, the presented model can provide more active detection and blocking compared to Signature analysis through system state analysis.

본 발명에 따르면 NDIS(Network Driver Interface Specification)를 이용하여 악성코드에 대해 수동적인 Signature 분석의 단점을 보완 할 수 있다.
According to the present invention, the disadvantage of passive signature analysis on malicious code can be compensated by using NDIS (Network Driver Interface Specification).

도 1은 본 발명에 따른 NDIS 구조를 보여주는 도면.
도 2는 본 발명에 따른 NDIS 데이터 구조를 보여주는 도면.
도 3은 본 발명에 따른 NDIS의 Intermediate 드라이버를 이용한 수신된 패킷 정보를 분석하는 코드를 보여주는 도면.
도 4는 본 발명에 따른 Code Red Worm의 Signature를 보여주는 도면.
도 5는 본 발명에 따른 모델의 상태 분석 과정을 보여주는 도면.
도 6은 본 발명에 따른 모델의 패킷 흐름과 차단 과정을 보여주는 도면.
1 is a diagram showing an NDIS structure according to the present invention;
2 is a diagram showing an NDIS data structure according to the present invention;
3 is a diagram illustrating a code for analyzing received packet information using an intermediate driver of an NDIS according to the present invention;
4 is a view showing a signature of a Code Red Worm according to the present invention.
5 is a diagram illustrating a state analysis process of a model according to the present invention.
6 is a diagram illustrating a packet flow and a blocking process of a model according to the present invention;

본 발명을 충분히 이해하기 위해서 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 설명한다. 본 발명의 실시예는 여러 가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상세히 설명하는 실시예로 한정되는 것으로 해석되어서는 안 된다. 본 실시예는 당업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 따라서 도면에서의 요소의 형상 등은 보다 명확한 설명을 강조하기 위해서 과장되어 표현될 수 있다. 각 도면에서 동일한 부재는 동일한 참조부호로 도시한 경우가 있음을 유의하여야 한다. 또한, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 공지 기능 및 구성에 대한 상세한 기술은 생략된다.For a better understanding of the present invention, a preferred embodiment of the present invention will be described with reference to the accompanying drawings. The embodiments of the present invention may be modified into various forms, and the scope of the present invention should not be construed as being limited to the embodiments described in detail below. The present embodiments are provided to enable those skilled in the art to more fully understand the present invention. Therefore, the shapes and the like of the elements in the drawings can be exaggeratedly expressed to emphasize a clearer description. It should be noted that in the drawings, the same members are denoted by the same reference numerals. Further, detailed descriptions of well-known functions and configurations that may be unnecessarily obscured by the gist of the present invention are omitted.

이하 본 발명의 실시를 위한 구체적인 내용을 도면을 참고하여 자세히 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.

NDIS는 3COM과 Microsoft가 공동으로 개발한 계층 형태의 네트워크 구조이다. 여러 가지 네트워크 프로토콜 스택을 사용할 수 있게 운영체제와 NIC(Network Interface Card)가 여러 프로토콜을 사용하기 위해 만든 하나의 개념적인 계층이다.NDIS is a hierarchical network structure developed by 3COM and Microsoft. It is a conceptual layer created by the operating system and network interface card (NIC) to use various protocols to use various network protocol stacks.

NDIS는 도 1과 같은 구조를 가진다.The NDIS has the structure shown in FIG.

MiniPort 드라이버는 NDIS 구조에서 가장 최하위에 위치하는 일반적인 이더넷 드라이버로써, NIC를 통해 데이터를 보내고 받는 것을 포함해 NIC를 직접 제어하는 역할을 한다. 상위 계층의 Intermediate 드라이버나 프로토콜 드라이버와 인터페이스를 수행하기도 하는데, 특히 이더넷 드라이버이기 때문에 하드웨어 수준에서 지원하지 않는 이상 TCP/IP 같은 것을 알 수가 없다. MiniPort 드라이버의 주요 기능은 다음과 같다.The MiniPort driver is the lowest common Ethernet driver in the NDIS architecture, and it directly controls the NIC, including sending and receiving data through the NIC. It also interfaces with the intermediate layer driver or protocol driver of the upper layer. Especially since it is an Ethernet driver, it does not know TCP / IP like it unless it is supported at the hardware level. The main features of the MiniPort driver are as follows.

(1) NIC의 초기화 및 등록 기능(1) NIC initialization and registration function

(2) NIC의 설정변경, 종료, 리셋 등의 제어 기능(2) Control functions such as setting change, termination, and reset of NIC

(3) 전송할 패킷 전달 및 수신되는 패킷을 상위 계층으로 전달 기능(3) Transferring the packet to be transmitted and forwarding the received packet to the upper layer

Intermediate 드라이버는 MiniPort드라이버와 Protocol 드라이버 중간에 위치하며, 하위 계층과 상위 계층사이에 통신을 한다. Intermediate 드라이버의 주요 기능은 다음과 같다.Intermediate driver is located between MiniPort driver and Protocol driver and communicates between lower layer and upper layer. The main features of the Intermediate driver are as follows.

(1) 이더넷, ATM과 같은 서로 다른 전송계층의 패킷을 매핑하는 변환 기능.(1) A mapping function that maps packets of different transport layers, such as Ethernet and ATM.

(2) 수신되는 패킷의 정보와 송신시 전달되는 패킷을 우선적으로 읽고, 관리하는 패킷 필터링이나 블록킹 기능.(2) Packet filtering or blocking function that reads and manages the information of received packets and the packets that are transmitted in transmission.

(3) 하나의 가상 어댑터를 상위레벨에 노출시켜 하나 이상의 NIC로 전송 패킷을 분산시키는 Road Balancing 기능.(3) Road balancing function that distributes packets to one or more NICs by exposing one virtual adapter to a higher level.

Protocol 드라이버는 NDIS 구조에서 가장 위에 있는 드라이버로써 TCP/IP 또는 IPX/SPX 스택과 같은 프로토콜 전송을 실행하는 전송 계층 드라이버 내에서 가장 낮은 드라이버로 사용된다. 이때, Protocol 드라이버는 도 1의 LAN protocols에 해당된다. Protocol 드라이버의 기능은 다음과 같다.Protocol driver is the top driver in the NDIS architecture and is the lowest driver in the transport layer driver that performs protocol transfers such as TCP / IP or IPX / SPX stacks. At this time, the protocol driver corresponds to the LAN protocols of FIG. The protocol driver has the following features.

(1) 어플리케이션에 전송되는 데이터를 패킷에 복사하는 기능.(1) The function to copy the data transferred to the application to the packet.

(2) NDIS함수를 호출하여 하위 레벨의 드라이버로 전송하는 기능.(2) The function to call the NDIS function and transmit it to the driver of the lower level.

(3) 하위레벨에서 수신된 패킷을 받기 위해 프로토콜 인터페이스를 제공하고 수신된 데이터를 클라이언트 어플리케이션에 전송하는 기능.(3) The ability to provide a protocol interface to receive packets received at a lower level and to send the received data to the client application.

NDIS는 NDIS_PACKET 구조체를 만들어 드라이버간의 통신을 하게 된다.NDIS creates an NDIS_PACKET structure to communicate between drivers.

NDIS_PACKET에서 NDIS_BUFFER 구조체를 얻을 수가 있고, NDIS_BUFFER는 또 다른 NDIS_BUFFER와 연결 된다. 데이터의 용량이 클수록 연결된 NDIS_BUFFER의 개수가 많을 것이고, 처음 NDIS_BUFFER만 14Byte고 그 다음부터는 60Byte씩 NDIS_BUFFER가 할당된다.An NDIS_BUFFER structure can be obtained from NDIS_PACKET, and NDIS_BUFFER is associated with another NDIS_BUFFER. The larger the data capacity, the larger the number of NDIS_BUFFERs connected, the first NDIS_BUFFER is only 14 bytes, and the second is NDIS_BUFFER by 60 bytes.

NDIS 상위 레벨에서 NDIS 라이브러리에 접근 할 때는 NdisAllocatePacket API 등을 이용하여 NDIS 패킷을 만들어 통신을 하게 된다.When accessing the NDIS library at a higher level of NDIS, NDIS packets are created using the NdisAllocatePacket API to communicate.

도 2는 NDIS 데이터 구조를 나타낸다.Figure 2 shows the NDIS data structure.

패킷에 대한 분석은 NdisQueryPacket API를 이용하여 패킷을 복사해온 후 NdisQueryBuffer API로 이더넷헤더를 읽는다. 그리고 이더넷헤더에서 패킷 정보를 분석하고, NdisGetNextBuffer API로 다음 버퍼를 복사해온 후 다시 패킷 정보를 분석하는 방법으로 특정 패킷 및 전체 패킷에 대한 정보를 분석 할 수 있다.The packet analysis uses the NdisQueryPacket API to copy the packet and then read the Ethernet header with the NdisQueryBuffer API. Then, the packet information is analyzed in the Ethernet header, the next buffer is copied by the NdisGetNextBuffer API, and the packet information is analyzed again, so that the information about the specific packet and the entire packet can be analyzed.

도 3은 NDIS의 Intermediate 드라이버를 이용한 수신된 패킷 정보를 분석하는 코드이다.3 is a code for analyzing received packet information using an intermediate driver of the NDIS.

Signature 분석은 대부분의 안티바이러스 소프트웨어에서 사용되는 방법으로, 악성코드의 특정 패턴을 추출하여 해당 패턴을 데이터베이스화하고, 악성 코드의 검사 대상이 되는 파일 내에 해당 패턴의 존재 유무를 판단하는 방법이다. 이는 오탐지율과 미탐지율을 최소화 할 수 있고 특정 패턴만 비교하기 때문에 빠르게 동작한다. 그러나 최신 악성코드나 유사 변종코드는 판별할 수 없는 문제점이 있으며, 이미 피해가 널리 퍼진 후 탐지가 가능하다는 단점이 있다.Signature analysis is a method used in most antivirus software. It extracts a specific pattern of malicious code, converts the pattern into a database, and judges the presence or absence of the pattern in the file to be inspected for malicious code. It works fast because it can minimize false positives and false positives and only compare certain patterns. However, there is a problem that the latest malicious code or similar variant code can not be identified, and the detection is possible after the damage has already become widespread.

도 4는 Code Red Worm의 Signature이다.FIG. 4 is a signature of Code Red Worm.

본 발명에서 제안하는 모델의 상태분석은 패킷 정보에서 추출한 프로토콜 타입, IP 어드레스, MAC, 사용포트, 길이, 시간정보를 이용하여 IP 스푸핑 패킷발송시도, 과다한 TCP 커넥션 연결 시도, Listen 모드로 연결 대기 시도, 다중 IP 패킷 발송시도, 프로세서 사용량 변화 등의 상태 행동을 감지하고, 해당 행동을 하는 프로세스 및 포트를 차단 한다. 이는 시스템의 상태를 분석하여 Signature 분석 모델이 가지는 수동적 탐지의 단점을 보완 하는 능동적 탐지의 장점을 가진다.The analysis of the state of the proposed model according to the present invention is performed by attempting to send an IP spoof packet using an IP address, MAC address, MAC address, port, length and time information extracted from the packet information, an excessive TCP connection connection attempt, , Attempts to send multiple IP packets, changes in processor usage, and so on, and blocks the processes and ports that perform the actions. This has the advantage of active detection that complements the disadvantages of passive detection of the signature analysis model by analyzing the state of the system.

도 5는 본 발명에서 제안하는 모델의 상태 분석 과정을 나타낸다.FIG. 5 shows a state analysis process of the model proposed in the present invention.

즉 상태분석부(state analysis; 101)에서 패킷 분석 데이터(102)의 비헤이비어 감지(103)와 과정 감지(104)를 통해 블록(105)시키는 과정에서 패턴파일(106)을 사용하는 과정이다.That is, the state analysis unit 101 uses the pattern file 106 in the process of detecting the behavior of the packet analysis data 102 and block 105 through the process detection 104.

제안하는 모델의 악성코드 차단 과정은 먼저 Intermediate 드라이버를 이용하여 도 2와 도 3의 방법으로 해당 악성코드를 분석을 한다. 악성코드에 대한 분석이 끝나면 도 4와 같은 특정 Signature를 찾고, Signature 분석을 마친 패킷은 Protocol 로 전송 된다. 그리고 시스템 및 네트워크 상태를 도 5의 상태 분석 모델로 주기적으로 모니터링 하여, 특정 프로세스가 특정 포트에서 패킷이 과다하게 발생하는 이상 상태가 탐지되면 커널 모드에서 프로세스 및 포트를 차단 한다.In the malicious code blocking process of the proposed model, first, the malicious code is analyzed by the method of FIG. 2 and FIG. 3 using the intermediate driver. After analyzing the malicious code, a specific signature as shown in FIG. 4 is searched, and the packet after the signature analysis is transmitted to the protocol. The system and network conditions are periodically monitored with the state analysis model of FIG. 5, and if an abnormal state is detected in which a specific process has a large number of packets in a specific port, the process and the port are blocked in the kernel mode.

도 6은 제안하는 모델의 패킷 흐름과 차단 과정을 나타낸다.Figure 6 shows the packet flow and blocking process of the proposed model.

즉 패킷 분석 과정(201)을 통해 시그너쳐 매칭(202)과 상태 분석(203)을 통해 감지(204)하는 과정으로 구성된다.(204) through a signature analysis (202) and a state analysis (203) through a packet analysis process (201).

본 발명에서는 특정 패턴의 악성코드만 차단이 가능한 Signature 분석 모델의 단점을 보완하여, 시스템 및 네트워크 상태를 분석 하고, 커널모드에서 악성코드를 탐지, 차단 할 수 있는 모델을 제시하였다. 제시된 모델은 시스템 상태 분석을 통해 Signature 분석과 비교하여 보다 능동적인 탐지 및 차단을 제공하여 줄 것으로 예상되며, 향후 제안된 모델을 구현하여, 악성코드 탐지 및 차단 확률을 분석하고, 다른 모델들과 비교, 분석할 것이다
The present invention complements the disadvantages of the Signature analysis model that can block only malicious codes of a specific pattern, analyzes the system and network status, and presents a model that can detect and block malicious codes in the kernel mode. The presented model is expected to provide more active detection and blocking compared to Signature analysis through system state analysis. By implementing the proposed model in the future, we can analyze the probability of malicious code detection and blocking, compare with other models , Will analyze

이상에서 설명된 본 발명의 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 시스템의 실시예는 예시적인 것에 불과하며, 본 발명이 속한 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 잘 알 수 있을 것이다. The embodiment of the above-described variant malicious code detection and blocking system using the intermittent driver of the present invention is merely illustrative and those skilled in the art will appreciate that various modifications and equivalent It will be appreciated that other embodiments are possible.

그러므로 본 발명은 상기의 상세한 설명에서 언급되는 형태로만 한정되는 것은 아님을 잘 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. 또한, 본 발명은 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 그 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.Therefore, it is to be understood that the present invention is not limited to the above-described embodiments. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims. It is also to be understood that the invention includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.

101 : 상태분석부
102 : 패킷 분석 데이터
103 : 비헤이비어 감지
104 : 과정 감지
105 : 블록
106 : 패턴파일
201 : 패킷 분석 과정
202 : 시그너쳐 매칭
203 : 상태 분석
204 : 감지
101:
102: packet analysis data
103: Detecting the behavior
104: Process detection
105: Block
106: Pattern file
201: packet analysis process
202: Signature Matching
203: State Analysis
204: Detection

Claims (18)

삭제delete 삭제delete 삭제delete 변종 악성코드를 탐지 및 차단 시스템에 의한 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법에 있어서,
변종 악성코드 탐지 및 차단 시스템이 인터미디어트(Intermediate) 드라이버를 이용하여, 해당 악성코드를 분석하는 단계;
변종 악성코드 탐지 및 차단 시스템이 상기 악성코드에 대한 분석 후 특정 Signature를 찾고, Signature 분석을 마친 패킷은 상위 계층의 프로토콜(protocol) 드라이버로 전송하는 단계;
변종 악성코드 탐지 및 차단 시스템이 시스템 및 네트워크 상태를 상태 분석 모델로 주기적으로 모니터링 하여, 특정 프로세스가 특정 포트에서 패킷의 이상 상태가 탐지되면 커널 모드에서 프로세스 및 포트를 차단하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
A malicious code detection and blocking method using an intermediary driver by a malicious code detection and blocking system,
The malicious code detection and blocking system comprising the steps of: analyzing the malicious code using an intermediate driver;
The malicious code detection and blocking system searches for a specific signature after analyzing the malicious code, and transmits the signature-analyzed packet to a protocol driver of an upper layer;
A variant malicious code detection and blocking system periodically monitoring system and network status with a status analysis model to block processes and ports in kernel mode if a particular process detects an abnormal status of a packet at a particular port;
And detecting a malicious code of the malicious code using the intermittent driver.
제4항에 있어서,
상기 인터미디어트(Intermediate) 드라이버는,
이더넷, ATM과 같은 서로 다른 전송계층의 패킷을 매핑하는 변환 단계;를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
5. The method of claim 4,
The intermittent driver includes:
And a mapping step of mapping packets of different transport layers, such as Ethernet, ATM, and the like, to the malicious code detection and blocking method using the intermedit driver.
제4항에 있어서,
상기 인터미디어트(Intermediate) 드라이버는,
수신되는 패킷의 정보와 송신시 전달되는 패킷을 우선적으로 읽고, 관리하는 패킷 필터링이나 블록킹 단계;를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
5. The method of claim 4,
The intermittent driver includes:
And a packet filtering or blocking step of preferentially reading and managing the information of the received packet and the packet transmitted in transmission.
제4항에 있어서,
상기 인터미디어트(Intermediate) 드라이버는,
하나의 가상 어댑터를 상위레벨에 노출시켜 하나 이상의 NIC로 전송 패킷을 분산시키는 Road Balancing 단계;를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
5. The method of claim 4,
The intermittent driver includes:
And a Road Balancing step of exposing one virtual adapter to a higher level and distributing transmission packets to one or more NICs.
제4항에 있어서,
상기 프로토콜(protocol) 드라이버는
어플리케이션에 전송되는 데이터를 패킷에 복사하는 단계;를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
5. The method of claim 4,
The protocol driver
And copying the data to be transmitted to the application to the packet. The method for detecting and blocking malicious codes according to claim 1,
제4항에 있어서,
상기 프로토콜(protocol) 드라이버는
네트워크 드라이버 인터페이스 규격(NDIS)함수를 호출하여 하위 레벨의 드라이버로 전송하는 단계;를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
5. The method of claim 4,
The protocol driver
And transmitting the network driver interface standard (NDIS) function to a driver of a lower level by calling the network driver interface standard (NDIS) function.
제4항에 있어서,
상기 프로토콜(Protocol)의 드라이버는
하위레벨에서 수신된 패킷을 받기 위해 프로토콜 인터페이스를 제공하고 수신된 데이터를 클라이언트 어플리케이션에 전송하는 단계;를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
5. The method of claim 4,
The driver of the protocol
Providing a protocol interface to receive packets received at a lower level and transmitting the received data to a client application. ≪ Desc / Clms Page number 19 >
네트워크 드라이버 인터페이스 규격(NDIS)가 NDIS_PACKET 구조체를 만들어 드라이버간의 통신 하는 단계;
NDIS_PACKET에서 NDIS_BUFFER 구조체를 얻고, NDIS_BUFFER가 또 다른 NDIS_BUFFER와 연결되는 단계;
상기 네트워크 드라이버 인터페이스 규격(NDIS)의 상위 레벨에서 네트워크 드라이버 인터페이스 규격(NDIS) 라이브러리에 접근 할 때 NdisAllocatePacket API를 이용하여 네트워크 드라이버 인터페이스 규격(NDIS) 패킷을 만들어 통신하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
The Network Driver Interface Specification (NDIS) creates an NDIS_PACKET structure to communicate between the drivers;
Obtaining an NDIS_BUFFER structure from NDIS_PACKET, and NDIS_BUFFER being associated with another NDIS_BUFFER;
Creating and communicating Network Driver Interface Specification (NDIS) packets using the NdisAllocatePacket API when accessing a Network Driver Interface Specification (NDIS) library at a higher level of the Network Driver Interface Specification (NDIS);
And detecting a malicious code of the malicious code using the intermittent driver.
제11항에 있어서,
상기 네트워크 드라이버 인터페이스 규격(NDIS) 패킷 정보에서 추출한 프로토콜 타입, 아이피(IP) 어드레스, MAC, 사용포트, 길이, 및 시간정보를 이용하여 상태 행동을 감지하는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
12. The method of claim 11,
Wherein the control unit detects the state action using the protocol type, IP address, MAC, port, length, and time information extracted from the network driver interface standard (NDIS) packet information. How to detect and block malware.
제12항에 있어서,
상기 상태 행동을 하는 프로세스 및 포트를 차단하는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
13. The method of claim 12,
And blocking the process and the port for performing the state action.
제12항에 있어서,
상기 상태 행동은 아이피(IP) 스푸핑 패킷발송시도, TCP 커넥션 연결 시도, Listen 모드로 연결 대기 시도, 다중 아이피(IP) 패킷 발송시도, 프로세서 사용량 변화를 포함하는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
13. The method of claim 12,
Wherein the state action includes an attempt to send an IP spoofing packet, a TCP connection connection attempt, a connection wait attempt in a Listen mode, an attempt to send an IP packet, and a processor usage change. How to detect and block variant malware.
변종 악성코드를 탐지 및 차단 시스템에 의한 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법에 있어서,
변종 악성코드를 탐지 및 차단 시스템이 NdisQueryPacket API를 이용하여 패킷을 복사해온 후 NdisQueryBuffer API로 이더넷헤더를 읽는 단계;
변종 악성코드를 탐지 및 차단 시스템이 상기 이더넷헤더에서 패킷 정보를 분석하고, NdisGetNextBuffer API로 다음 버퍼를 복사해온 후 다시 패킷 정보를 분석하는 단계;
변종 악성코드를 탐지 및 차단 시스템이 상기 패킷 정보를 분석한 후 악성코드의 특정 패턴을 추출하여 해당 패턴을 데이터베이스화하고, 악성 코드의 검사 대상이 되는 파일 내에 해당 패턴의 존재 유무를 판단하는 단계;
를 포함하는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
A malicious code detection and blocking method using an intermediary driver by a malicious code detection and blocking system,
The malicious code detection and blocking system reads the Ethernet header with the NdisQueryBuffer API after copying the packet using the NdisQueryPacket API;
Analyzing packet information in the ethernet header, analyzing packet information after copying the next buffer with the NdisGetNextBuffer API;
A step of extracting a specific pattern of the malicious code after analyzing the packet information by the detection and blocking system of the variant malicious code to convert the pattern into a database and determining the presence or absence of the pattern in the file to be inspected of the malicious code;
And detecting a malicious code of the malicious code using the intermediate driver.
제15항에 있어서,
상기 패킷 정보에서 추출한 프로토콜 타입, 아이피(IP) 어드레스, MAC, 사용포트, 길이, 및 시간정보를 이용하여 상태 행동을 감지하는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
16. The method of claim 15,
Detecting a state action using the protocol type, IP address, MAC, port, length, and time information extracted from the packet information.
제16항에 있어서,
상기 상태 행동을 하는 프로세스 및 포트를 차단하는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
17. The method of claim 16,
And blocking the process and the port for performing the state action.
제16항에 있어서,
상기 상태 행동은 아이피(IP) 스푸핑 패킷발송시도, TCP 커넥션 연결 시도, Listen 모드로 연결 대기 시도, 다중 아이피(IP) 패킷 발송시도, 프로세서 사용량 변화를 포함하는 것을 특징으로 하는 인터미디어트 드라이버를 이용한 변종 악성코드 탐지 및 차단 방법.
17. The method of claim 16,
Wherein the state action includes an attempt to send an IP spoofing packet, a TCP connection connection attempt, a connection wait attempt in a Listen mode, an attempt to send an IP packet, and a processor usage change. How to detect and block variant malware.
KR1020130032351A 2013-03-26 2013-03-26 System for detecting and blocking metamorphic malware using the Intermediate driver KR101446280B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130032351A KR101446280B1 (en) 2013-03-26 2013-03-26 System for detecting and blocking metamorphic malware using the Intermediate driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130032351A KR101446280B1 (en) 2013-03-26 2013-03-26 System for detecting and blocking metamorphic malware using the Intermediate driver

Publications (1)

Publication Number Publication Date
KR101446280B1 true KR101446280B1 (en) 2014-10-01

Family

ID=51996245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130032351A KR101446280B1 (en) 2013-03-26 2013-03-26 System for detecting and blocking metamorphic malware using the Intermediate driver

Country Status (1)

Country Link
KR (1) KR101446280B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016108415A1 (en) * 2014-12-31 2016-07-07 주식회사 시큐아이 Network security equipment and method for detecting ddos attack by same
KR20190010225A (en) * 2017-07-21 2019-01-30 삼성에스디에스 주식회사 Method for detecting malicious traffic and Apparatus thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926456B1 (en) 2008-04-04 2009-11-13 숭실대학교산학협력단 Apparatus and method for intrusion detection using client terminal, system and method for network security of the same
KR20100078081A (en) * 2008-12-30 2010-07-08 (주) 세인트 시큐리티 System and method for detecting unknown malicious codes by analyzing kernel based system events
KR101057432B1 (en) 2010-02-23 2011-08-22 주식회사 이세정보 System, method, program and recording medium for detection and blocking the harmful program in a real-time throught behavior analysis of the process
KR20130009130A (en) * 2011-07-14 2013-01-23 루멘소프트 (주) Apparatus and method for dealing with zombie pc and ddos

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926456B1 (en) 2008-04-04 2009-11-13 숭실대학교산학협력단 Apparatus and method for intrusion detection using client terminal, system and method for network security of the same
KR20100078081A (en) * 2008-12-30 2010-07-08 (주) 세인트 시큐리티 System and method for detecting unknown malicious codes by analyzing kernel based system events
KR101057432B1 (en) 2010-02-23 2011-08-22 주식회사 이세정보 System, method, program and recording medium for detection and blocking the harmful program in a real-time throught behavior analysis of the process
KR20130009130A (en) * 2011-07-14 2013-01-23 루멘소프트 (주) Apparatus and method for dealing with zombie pc and ddos

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016108415A1 (en) * 2014-12-31 2016-07-07 주식회사 시큐아이 Network security equipment and method for detecting ddos attack by same
KR20190010225A (en) * 2017-07-21 2019-01-30 삼성에스디에스 주식회사 Method for detecting malicious traffic and Apparatus thereof
KR102347525B1 (en) * 2017-07-21 2022-01-04 삼성에스디에스 주식회사 Method for detecting malicious traffic and Apparatus thereof

Similar Documents

Publication Publication Date Title
CN110445770B (en) Network attack source positioning and protecting method, electronic equipment and computer storage medium
EP3111330B1 (en) System and method for verifying and detecting malware
US8935419B2 (en) Filtering device for detecting HTTP request and disconnecting TCP connection
US7703138B2 (en) Use of application signature to identify trusted traffic
Kumar et al. Early detection of Mirai-like IoT bots in large-scale networks through sub-sampled packet traffic analysis
KR101010465B1 (en) Network security elements using endpoint resources
CN107181738B (en) Software intrusion detection system and method
CN114145004B (en) System and method for using DNS messages to selectively collect computer forensic data
US9730075B1 (en) Systems and methods for detecting illegitimate devices on wireless networks
KR101089154B1 (en) Network separation device and system using virtual environment and method thereof
US20120005743A1 (en) Internal network management system, internal network management method, and program
CN101529862A (en) Methods and apparatus for detecting unwanted traffic in one or more packet networks utilizing string analysis
US20090119745A1 (en) System and method for preventing private information from leaking out through access context analysis in personal mobile terminal
CN113765846B (en) Intelligent detection and response method and device for network abnormal behaviors and electronic equipment
WO2023040303A1 (en) Network traffic control method and related system
KR101446280B1 (en) System for detecting and blocking metamorphic malware using the Intermediate driver
WO2019240054A1 (en) Communication device, packet processing method, and program
CN116527395A (en) Network threat detection method, device and storage medium
EP3985920A1 (en) Network traffic analysis
KR101907037B1 (en) Server, system and method for diagnosing malware
WO2020158896A1 (en) Communication device
JP2002318739A (en) Device, method and system for processing intrusion data measures
US11973773B2 (en) Detecting and mitigating zero-day attacks
CN114244610A (en) File transmission method and device, network security equipment and storage medium
JP2003348113A (en) Switch and lan

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 5