KR20110112100A - Method for detecting peer-to-peer botnets - Google Patents

Method for detecting peer-to-peer botnets Download PDF

Info

Publication number
KR20110112100A
KR20110112100A KR1020100031515A KR20100031515A KR20110112100A KR 20110112100 A KR20110112100 A KR 20110112100A KR 1020100031515 A KR1020100031515 A KR 1020100031515A KR 20100031515 A KR20100031515 A KR 20100031515A KR 20110112100 A KR20110112100 A KR 20110112100A
Authority
KR
South Korea
Prior art keywords
host
connection
level
network
hosts
Prior art date
Application number
KR1020100031515A
Other languages
Korean (ko)
Other versions
KR101096520B1 (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 KR1020100031515A priority Critical patent/KR101096520B1/en
Publication of KR20110112100A publication Critical patent/KR20110112100A/en
Application granted granted Critical
Publication of KR101096520B1 publication Critical patent/KR101096520B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은, 네트워크 상의 트래픽을 분석하여 상기 네트워크 상에 존재하는 각 호스트들의 상호 피투피 연결정보를 수집하는 과정; 상기 수집된 정보를 이용하여 각 호스트들이 피투피(peer-to-peer) 기반으로 상호 연결되어 형성되는 전체 피투피 네트워크에 관한 정보를 구성하는 과정; 상기 구성된 피투피 네트워크에 관한 정보를 이용하여 상기 피투피 네트워크의 반경, 상기 피투피 네트워크 내에서 클라이언트와 서버로 동시에 동작하는 호스트의 비율 및 호스트들의 평균 확산속도를 추정하는 과정; 및 상기의 추정된 네트워크 반경, 동시동작 호스트의 비율 및 호스트의 평균 확산속도 중 하나 이상이 각각의 특정한 임계치를 초과하는 경우 상기의 피투피 네트워크는 피투피 봇넷(botnet)으로 단정하는 과정으로 구성된 P2P 봇넷 탐지 방법을 제공한다.The present invention comprises the steps of: analyzing the traffic on the network to collect mutual peer-to-peer connection information of each host existing on the network; Using the collected information, configuring each host for information on the entire P2P network formed by being interconnected on a peer-to-peer basis; Estimating a radius of the PTP network, a ratio of hosts operating simultaneously as a client and a server in the PTP network, and an average spreading rate of the hosts using the information about the PTP network; And if the at least one of the estimated network radius, the ratio of concurrent hosts, and the average spreading speed of the hosts exceeds a specific threshold, the P2P network detects a P2P botnet. Provide a method.

Description

피투피 봇넷 탐지 방법{METHOD FOR DETECTING PEER-TO-PEER BOTNETS}P2P botnet detection method {METHOD FOR DETECTING PEER-TO-PEER BOTNETS}

본 발명은 봇(bot)으로의 명령전달 및 제어를 위한 기반 통신체계로써 P2P(peer-to-peer) 네트워크를 사용하는 P2P 봇넷을 탐지하는 방법에 관한 것이다.The present invention relates to a method for detecting a P2P botnet using a peer-to-peer network as a base communication system for command transmission and control to a bot.

분산업무를 수행하기 위하여 네트워크로 연결되어 있으며 상호작용하는 컴퓨터의 집합을 봇넷(botnet)이라고 한다. 이들은 주로 스팸메일 발송, DDoS(Distributed Denial of Service : 분산 서비스 거부) 공격, 개인정보 유출 등의 불법 행위에 사용된다.A set of computers that are networked and interact with each other to perform a distributed task is called a botnet. They are mainly used for illegal activities such as sending spam mails, Distributed Denial of Service (DDoS) attacks, and the leakage of personal information.

봇으로의 명령전달 및 제어를 위한 기반통신체계로써 P2P 네트워크를 사용하는 봇넷을 P2P 봇넷이라고 한다. P2P 봇넷은 각 봇을 제어하기 위한 중앙 서버가 없다는 점에서 기존의 C&C 봇넷(Command and Control botnet)과는 다르다. 봇에 감염된 호스트는 서로 연결하고 공격자는 피어(peer)의 하나가 되어 명령을 봇넷에 브로드캐스트(broadcast)한다. P2P 봇넷을 탐지하기 위하여 실패한 연결시도 횟수, 알려진 포트, 패킷 페이로드 시그너처(packet payload signature) 등을 이용한 몇 개의 연구가 발표되었다. 이들은 특정 봇넷 어플리케이션에서 발견되는 정보만을 이용하므로 알려진 P2P 봇 공격만을 탐지할 수 있다. 그러므로 공격자가 변종을 생산하는 경우는 탐지하기 어렵다는 단점이 있다. 또한 이러한 정보로는 일반적인 웜(worm)에 의한 행위나 스캔(scan)행위, 정상적인 P2P 어플리케이션에 의해 발생하는 현상과도 구분하기 어렵다.Botnets that use P2P networks as the underlying communication system for command delivery and control to bots are called P2P botnets. P2P botnets differ from traditional C & C botnets in that they do not have a central server to control each bot. Hosts infected by bots connect with each other, and attackers become peers, broadcasting commands to botnets. Several studies have been published using the number of failed connection attempts, known ports, and packet payload signatures to detect peer-to-peer botnets. They only use information found in certain botnet applications, so they can only detect known P2P bot attacks. Therefore, it is difficult to detect when an attacker produces a variant. In addition, such information cannot be distinguished from the phenomena caused by normal worms, scans, and normal P2P applications.

P2P 봇넷은 중앙 서버를 사용하지 않으므로 전체 봇넷을 무용화시키기 어렵다. 그러므로 전체 봇넷을 탐지하고 적시에 대응하기 위해서는 전체 P2P 봇넷의 확산 경로를 파악하고 조기에 대응할 수 있는 기술의 개발이 필요하다. 또한 P2P 봇은 기존의 웜, 바이러스와 마찬가지로 많은 변종이 예상되므로 이들 변종을 탐지할 수 있는 기술의 개발이 요구된다.P2P botnets do not use a central server, making it difficult to disable the entire botnet. Therefore, in order to detect and respond to the entire botnet in a timely manner, it is necessary to develop a technology that can identify the proliferation path of the entire P2P botnet and respond early. In addition, since P2P bots are expected to have many variants, like existing worms and viruses, it is necessary to develop technology to detect these variants.

상기한 과제를 실현하기 위한 본 발명의 일예와 관련된 P2P 봇넷 탐지 방법은, 네트워크 상의 트래픽을 분석하여 상기 네트워크 상에 존재하는 각 호스트들의 상호 피투피 연결정보를 수집하는 과정; 상기 수집된 정보를 이용하여 각 호스트들이 피투피(peer-to-peer) 기반으로 상호 연결되어 형성되는 전체 피투피 네트워크에 관한 정보를 구성하는 과정; 상기 구성된 피투피 네트워크에 관한 정보를 이용하여 상기 피투피 네트워크의 반경, 상기 피투피 네트워크 내에서 클라이언트와 서버로 동시에 동작하는 호스트의 비율 및 호스트들의 평균 확산속도를 추정하는 과정; 및 상기의 추정된 네트워크 반경, 동시동작 호스트의 비율 및 호스트의 평균 확산속도 중 하나 이상이 각각의 특정한 임계치를 초과하는 경우 상기의 피투피 네트워크는 피투피 봇넷(botnet)으로 단정하는 과정을 포함한다.P2P botnet detection method according to an embodiment of the present invention for realizing the above object, the process of collecting traffic peer-to-peer connection information of each host existing on the network by analyzing the traffic on the network; Using the collected information, configuring each host for information on the entire P2P network formed by being interconnected on a peer-to-peer basis; Estimating a radius of the PTP network, a ratio of hosts operating simultaneously as a client and a server in the PTP network, and an average spreading rate of the hosts using the information about the PTP network; And if the at least one of the estimated network radius, the proportion of concurrent hosts, and the average spreading speed of the hosts exceeds each particular threshold, the peer-to-peer network includes determining a peer-to-peer botnet.

상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 P2P 봇넷 탐지 방법은 큰 네트워크 반경, 높은 동시동작 호스트 비율 및 높은 호스트 평균 확산속도 등의 P2P 봇넷 트래픽의 근본적인 속성을 이용하여 P2P 봇넷을 탐지하므로, P2P 봇넷의 확산 경로를 파악하고 조기에 대응할 수 있도록 한다.The P2P botnet detection method according to at least one embodiment of the present invention configured as described above detects a P2P botnet using fundamental properties of P2P botnet traffic such as large network radius, high concurrent host ratio, and high host average spread rate. Therefore, the spread path of the P2P botnet can be identified and responded to early.

또한 상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 P2P 봇넷 탐지 방법은 변종과 같은 알려지지 않은 P2P 봇넷을 탐지할 수 있다.In addition, the P2P botnet detection method according to at least one embodiment of the present invention configured as described above may detect unknown P2P botnets such as variants.

또한 상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 P2P 봇넷 탐지 방법은 P2P 봇의 확산경로를 추적하므로 대부분의 봇넷의 탐지 및 제거가 가능하다.In addition, the P2P botnet detection method according to at least one embodiment of the present invention configured as described above is able to detect and remove most botnets by tracking the spread path of the P2P bot.

도 1은 본 발명의 일 실시예에 따른 연결 그래프.
도 2는 본 발명의 일 실시예에 따른 연결그래프를 구성하는 데이터의 구조도.
도 3은 본 발명의 일 실시예에 따라 연결 그래프를 구성하는 방법을 나타내는 의사코드.
도 4는 P2P 봇넷 여부 판단에 사용되는 수학식 등에 포함된 표기를 정의한 표.
1 is a connection graph according to an embodiment of the present invention.
2 is a structural diagram of data constituting a connection graph according to an embodiment of the present invention.
3 is a pseudocode illustrating a method of constructing a connection graph according to an embodiment of the present invention.
4 is a table defining notation included in equations used in determining whether a P2P botnet.

상기와 같은 본 발명이 적용된 실시예를 첨부된 도면을 참조하여 상세히 설명한다.An embodiment to which the present invention as described above is applied will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 연결 그래프를 나타낸다.1 shows a connection graph according to an embodiment of the present invention.

본 발명은 큰 네트워크 반경, 다수의 클라이언트/서버 동시 동작 호스트, 빠른 확산 속도라는 P2P 봇넷 트래픽의 근본적인 속성을 이용하여 P2P 봇넷을 탐지한다.The present invention detects P2P botnets using the fundamental properties of P2P botnet traffic such as large network radius, multiple client / server concurrent host, and fast spread rate.

먼저, 본 발명의 일 실시에와 관련하여 사용되는 용어를 정의한다. 연결을 시작한 호스트를 부모 호스트, 연결을 허용하는 호스트를 자식 호스트라고 한다. 자식 호스트는 부모 호스트보다 한 단계 높은 레벨을 할당받는다. 예를 들어, P2P 봇에 의해 처음 감염된 또는 감염이 발견된 호스트의 레벨을 0으로 둘 때, 이 호스트에 연결을 허용하는 자식 호스트의 레벨은 한 단계 높은 레벨 1이 된다. 이미 레벨을 할당받은 호스트로 연결하는 부모호스트는 한 단계 낮은 레벨을 가지게 된다. 이처럼 각 호스트의 모든 포트에서 들어오고 나가는 연결 방향을 추적하여 호스트 레벨을 측정할 수 있다. First, terms used in connection with an embodiment of the present invention are defined. The host that initiated the connection is called the parent host and the host that accepts the connection is called the child host. Child hosts are allocated one level higher than their parent host. For example, when the level of a host first infected or detected by a P2P bot is set to 0, the level of the child host allowing connection to this host is one level higher. A parent host connecting to a host that has already been assigned a level will have a lower level. In this way, you can measure the host level by tracking the incoming and outgoing connections from all ports on each host.

각 포트별로 연결 방향을 추적하여 그래프를 생성할 수 있는데 이를 연결 그래프라고 정의한다. 각 호스트에 레벨을 할당한 후, 네트워크 반경을 추정할 수 있다. 여기에서 네트워크 반경은 네트워크 내의 최대레벨과 최소레벨간의 차이이다. 부모 호스트 생성시점부터 부모 호스트가 자식 호스트로의 연결 설정에 성공하기 까지 걸리는 시간을 개별 호스트 확산 속도로 정의한다. 동일 레벨의 모든 개별 호스트 확산속도의 평균을 레벨 평균 확산속도로 정의한다. 연결 평균 확산속도는 최소레벨에서 최대레벨까지의 모든 호스트의 평균 확산속도로 정의한다.You can create a graph by tracking the connection direction for each port, which is defined as a connection graph. After assigning levels to each host, the network radius can be estimated. Where the network radius is the difference between the maximum and minimum levels in the network. The time it takes for a parent host to successfully establish a connection to a child host from the time of parent host creation is defined as the individual host spreading speed. The average of all individual host diffusion rates at the same level is defined as the level average diffusion rate. The average spread rate of a connection is defined as the average spread rate of all hosts from the minimum level to the maximum level.

도 1을 참조하여 이를 구체적으로 설명한다. 도 1은 포트 4075번을 이용한 모든 연결을 추적한 연결 그래프의 예이다. 도 1에서 최초감염 호스트의 레벨을 0으로 둔다. 이 호스트가 연결한 호스트의 레벨은 한 단계 높은 레벨 1이 되고, 다음 연결 순서에 따라 호스트의 레벨은 한 단계씩 높아진다. 만약 레벨 0인 호스트로의 연결이 발생했다면 연결을 시도한 호스트의 레벨은 -1이 된다. 도 1에서 네트워크 반경은 최대 레벨 4와 최소 레벨 0의 차이인 4로 추정한다. 최초 감염 시간을 0으로 가정하면, Host(1,0)의 개별 호스트 확산 속도는 10, Host(2,0)는 10, Host(3,0)은 18이 된다. 따라서 레벨 1의 평균 확산 속도 Vlv(1)은 10, 레벨 2는 14.75 등이 된다. 그러므로 도 1의 연결 그래프의 평균 확산 속도는 16.53이 된다.This will be described in detail with reference to FIG. 1. 1 is an example of a connection graph tracking all connections using port 4075. In FIG. 1 the level of the original infected host is left at zero. The level of the host connected by this host is one level higher, and the level of the host is increased by one level according to the next connection order. If a connection to a host with level 0 occurs, the level of the host attempting to connect is -1. In FIG. 1, the network radius is estimated as 4, which is the difference between the maximum level 4 and the minimum level 0. FIG. Assuming an initial infection time of 0, the host spread rate of Host (1,0) is 10, Host (2,0) is 10, and Host (3,0) is 18. Therefore, the average spreading velocity Vlv (1) of level 1 is 10, level 2 is 14.75, and the like. Therefore, the average diffusion rate of the connection graph of FIG. 1 is 16.53.

일반적으로, P2P 트래픽은 네트워크 반경이 크며, 클라이언트와 서버로 동시에 동작하는 호스트의 비율이 크다. P2P 봇넷 트래픽은 앞서 제시한 P2P 트래픽의 속성을 가질 뿐만 아니라 일반 P2P 트래픽에 비해 다음 레벨로 확산되어가는 속도가 상당히 빠르다는 특징이 있다. 즉, P2P 봇은 봇 전파 프로그램에 의해 자동적으로 확산되므로 사용자의 요구에 의해 확산되는 일반적인 P2P 어플리케이션 수행 호스트에 비해 빠르게 확산된다. 본 발명은 이점에 착안하여 각 포트에 대한 네트워크 연결을 연결 그래프 형태로 구성한 후, 큰 네트워크 반경, 클라이언트/서버 동시 동작 호스트 비율, 평균 확산 속도 속성을 이용하여 P2P 봇을 탐지한다.In general, P2P traffic has a large network radius, and a large proportion of hosts that simultaneously operate as clients and servers. P2P botnet traffic not only has the properties of P2P traffic presented above, but also has a characteristic that the rate of spreading to the next level is considerably faster than general P2P traffic. In other words, P2P bots are automatically spread by the bot propagation program, so they spread faster than general P2P application execution hosts which are spread by user's request. In view of this, the present invention constructs a network connection for each port in the form of a connection graph, and then detects a P2P bot using a large network radius, a client / server concurrent host ratio, and an average spread rate property.

도 2는 본 발명의 일 실시예에 따른 연결그래프를 구성하는 데이터의 구조도이다. 2 is a structural diagram of data constituting a connection graph according to an embodiment of the present invention.

특정 포트에 대한 연결 그래프(PortEntry)는 서버포트번호(serverport), 포트로 연결된 호스트 정보(HostTable), 해당 연결 그래프의 최소/최대 레벨(min/maxlevel), 클라이언트/서버 동시동작 호스트 개수(serventsnum), 에지 레벨 정보(EdgeLevelEntry), 평균 확산 속도 정보(mean diffusion velocity) 등의 연결 그래프 속성을 가진다. The connection graph (PortEntry) for a specific port includes the server port number (serverport), the host information connected to the port (HostTable), the minimum / maximum level (min / maxlevel) of the corresponding connection graph, and the number of client / server concurrent hosts (serventsnum). , Connection level attributes such as edge level information (EdgeLevelEntry) and mean diffusion velocity information.

호스트 정보(HostTable)는 포트로 연결된 각 호스트(HostEntry)의 정보를 포함하고, 각 호스트의 정보는 해당 호스트의 IP 주소(ip), 레벨(level), 해당 호스트가 연결한 자식 호스트의 목록 및 개수(Incoming sourcelist and sourcenum), 해당 호스트로 연결허용된 부모 호스트의 목록 및 개수(Outgoing targetlist and targetnum), 해당 호스트로의 연결이 허용된 시각(time)을 포함한다.Host information (HostTable) includes the information of each host (HostEntry) connected by port, and information of each host is the IP address (ip), level, list and number of child hosts connected to the host. (Incoming sourcelist and sourcenum), the list and number of parent hosts allowed to connect to the host (Outgoing targetlist and targetnum), and the time allowed to connect to the host.

도 3은 연결 그래프를 생성/갱신하는 의사코드이다. 3 is pseudo code for creating / updating a connection graph.

패킷을 분석하여 연결을 요청하는 클라이언트(client), 연결을 제공하는 서버(server), 연결이 설정된 시간(currenttime)을 결정한다(110). The packet is analyzed to determine a client requesting a connection, a server providing a connection, and a current time when the connection is established (110).

패킷의 서버 포트에 대한 연결 그래프가 이미 있다면 현재 발생한 연결 정보만을 추가하여 연결 그래프를 갱신한다. 해당 포트에 대한 연결 그래프가 없다면 연결 그래프를 생성하고 연결 정보를 추가한다(120).If there is already a connection graph for the server port of the packet, update the connection graph by adding only the connection information that has occurred. If there is no connection graph for the port, a connection graph is generated and connection information is added (120).

연결 정보를 추가할 때, 클라이언트인 호스트 A와 서버인 호스트 B 모두가 연결 그래프에 없다면(210) 호스트 정보(HostTable)에 A 및 B 호스트(HostEntry) 각각의 정보를 추가한다. 우선 IP 주소(ip), 레벨(level), 해당 호스트가 연결한 자식 호스트의 목록 및 개수(Incoming sourcelist and sourcenum), 해당 호스트로 연결허용된 부모 호스트의 목록 및 개수(Outgoing targetlist and targetnum), 해당 호스트로의 연결이 허용된 시각(time) 등의 정보를 추가한다. 클라이언트인 호스트 A의 레벨은 0, 서버인 호스트의 레벨은 1로 설정한다. 새로 생성된 호스트들이므로 호스트 A 및 B의 time은 모두 연결이 허용된 시각으로 설정된다. When adding the connection information, if both the host A as a client and the host B as the server are not in the connection graph (210), the information of each of the host A and the Host Entry is added to the host information HostTable. First, the IP address (ip), level, Incoming sourcelist and sourcenum that the host is connected to, Outgoing targetlist and targetnum, and the number of parent hosts allowed to connect to that host. Add information such as the time the connection is allowed to the host. The level of the host A, which is a client, is set to 0, and the level of the host, which is a server, is set to 1. Since the hosts are newly created, the times of hosts A and B are both set to the time when the connection is allowed.

호스트 A가 클라이언트, 호스트 B가 서버이므로 A의 Outgoing target list에 B를 추가하고 targetlist에 포함된 호스트의 개수인 targetnum을 갱신한다. 마찬가지로 B의 Incoming sourcelist에 A를 추가하고 sourcenum의 개수를 갱신한다. 그리고, min/maxlevel, serventsnum, EdgeLevelEntry, meandiffusionvelocity 등의 연결 그래프 속성값을 추가한다.Since host A is a client and host B is a server, add B to A's Outgoing target list and update targetnum, the number of hosts in targetlist. Similarly, add A to B's incoming sourcelist and update the number of sourcenum. Then, add connection graph attribute values such as min / maxlevel, serventsnum, EdgeLevelEntry, and meandiffusionvelocity.

연결 정보를 추가할 때, 서버인 호스트 B만 연결 그래프에 있다면(220), 클라이언트인 호스트 A 정보를 추가한다. 클라이언트인 호스트 A는 서버인 호스트 B보다 한 단계 낮은 레벨을 할당받고, 호스트 A의 time은 연결이 허용된 시각으로 설정된다. 또한 호스트 A, B 각각의 Outgoing, Incoming 정보를 갱신하고 min/maxlevel, serventsum 등의 연결 그래프 속성도 갱신한다.When adding connection information, if only host B, which is a server, is in the connection graph (220), the host A information, which is a client, is added. Host A, the client, is assigned a level one level lower than host B, the server, and the time of host A is set to the time when the connection is allowed. It also updates the outgoing and incoming information of hosts A and B, and also updates the connection graph properties such as min / maxlevel and serventsum.

연결 정보를 추가할 때, 클라이언트인 호스트 A만 연결 그래프에 있다면(230), 서버인 호스트 B 정보를 추가한다. 서버인 호스트 B는 클라이언트인 호스트 A보다 한 단계 높은 레벨을 할당받고, 호스트 B의 time은 연결이 허용된 시각으로 설정된다. 또한 호스트 A, B 각각의 Outgoing, Incoming 정보를 갱신하고 min/maxlevel, serventsum 등의 연결 그래프 속성도 갱신한다.When adding connection information, if only host A, the client, is in the connection graph (230), the server adds host B information. Host B, which is a server, is assigned a level one level higher than host A, which is a client, and the time of host B is set to the time when the connection is allowed. It also updates the outgoing and incoming information of hosts A and B, and also updates the connection graph properties such as min / maxlevel and serventsum.

상기와 같이 생성되는 연결 정보를 이용하여 연결 그래프를 갱신하고 P2P 봇 트래픽을 식별한다. 특정 포트에 대하여 다음 조건을 모두 만족하면 P2P 봇으로 동작하는 호스트로 판단한다.By using the connection information generated as described above, the connection graph is updated and P2P bot traffic is identified. If all of the following conditions are met for a particular port, it is determined to be a host operating as a P2P bot.

1)최대레벨과 최소레벨간의 차이인 네트워크 반경이 특정 임계치를 넘어선다. 단, 네트워크의 최대 및 최소레벨을 계산할 때 매우 작은 수의 호스트를 가진 레벨은 무시한다. 즉, 레벨별 호스트의 수는 특정 임계치를 넘어야 한다.1) The network radius, the difference between the maximum and minimum levels, exceeds a certain threshold. However, when calculating the maximum and minimum levels of the network, ignore levels with a very small number of hosts. In other words, the number of hosts per level must exceed a certain threshold.

2)서버와 클라이언트로 동시에 동작하는 호스트의 비율이 특정 임계치를 넘어선다.2) The percentage of hosts running simultaneously as a server and a client exceeds a certain threshold.

3)평균 확산속도가 특정 임계치 이하여야 한다. 단, 표준편차 범위를 벗어나는 확산속도를 가진 호스트는 제외하고 평균 확산속도를 재계산할 수 있다.3) The average diffusion rate should be below a certain threshold. However, the average spreading rate can be recalculated except for hosts with spreading rates outside the standard deviation range.

상기의 각 임계치는 탐지 대상이 되는 네트워크에서의 실험을 통하여 결정될 수 있다.Each of the above thresholds can be determined through experimentation in the network to be detected.

도 4는 P2P 봇넷 여부 판단에 사용되는 수학식 등에 포함된 표기를 정의한 표이다.4 is a table defining notation included in equations used in determining whether a P2P botnet is used.

상기에 설명한 방법으로 특정 포트에 대한 연결 그래프를 완성한 후(각 포트에 대한 네트워크 연결을 구성한 후) 네트워크가 P2P 봇넷인지 여부를 판단한다. 연결 그래프 G는 다음의 세 가지 조건을 만족하면 P2P 봇넷이다.After completing the connection graph for a specific port (after configuring a network connection for each port) by the method described above, it is determined whether the network is a P2P botnet. The connection graph G is a P2P botnet if the following three conditions are met.

Figure pat00001
Figure pat00001

수학식 1은 연결 그래프 G의 네트워크 반경이 반경 임계치 ω를 초과한다는 것을 나타낸다. 네트워크의 최대/최소 레벨을 계산할 때, 최대 레벨에서의 호스트 개수는 에지 레벨 임계치 α를 초과해야 한다. 연결 그래프 G의 마지막 레벨인 E(G)의 호스트 개수가 에지 레벨 임계치를 초과하는 경우에만 최대 레벨이 된다. 최대 레벨은 다음과 같이 설정된다. E(G)는 연결 그래프 G의 마지막 레벨을 나타낸다.Equation 1 shows that the network radius of the connection graph G exceeds the radius threshold ω. When calculating the maximum / minimum level of the network, the number of hosts at the maximum level must exceed the edge level threshold α. The maximum level is obtained only when the number of hosts in E (G), the last level of the connection graph G, exceeds the edge level threshold. The maximum level is set as follows. E (G) represents the last level of the connection graph G.

If N(E(G))>α, M(G)=E(G)If N (E (G))> α, M (G) = E (G)

Else M(G)=E(G)-1Else M (G) = E (G) -1

Figure pat00002
Figure pat00002

수학식 2는 특정 포트에서 클라이언트/서버 동시 동작 호스트 비율이 클라이언트/서버 임계치를 초과한다는 것을 나타낸다.Equation 2 indicates that the client / server concurrent host ratio on a particular port exceeds the client / server threshold.

Figure pat00003
Figure pat00003

여기에서,From here,

Figure pat00004
Figure pat00004

수학식 3은 연결 그래프 호스트의 평균 확산속도가 확산속도 임계치 ρ보다 빠르다는 것을 나타낸다. 레벨의 평균속도 Vlv(i)는 레벨 i를 구성하는 모든 호스트 중에서 확산속도 편차 임계치 σ를 초과하는 확산속도를 가지는 호스트를 제외한 나머지 호스트들의 확산속도의 평균을 나타낸다.Equation 3 shows that the average diffusion rate of the connection graph host is faster than the diffusion rate threshold ρ. The average speed Vlv (i) of the level represents the average of the spreading speeds of the other hosts except for the host having a spreading speed deviation threshold σ that exceeds the spreading speed deviation threshold σ among all the hosts constituting the level i.

또한, 본 발명의 일실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.Further, according to an embodiment of the present invention, the above-described method can be implemented as a code that can be read by a processor on a medium on which the program is recorded. Examples of processor-readable media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may be implemented in the form of a carrier wave (for example, transmission over the Internet). Include.

상기와 같이 설명된 P2P 봇넷 탐지방법은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The above-described P2P botnet detection method is not limited to the configuration and method of the above-described embodiments, the embodiments may be a combination of all or a part of the embodiments selectively so that various modifications can be made It may be configured.

이상, 본 발명의 바람직한 실시 예를 첨부된 도면들을 참조로 설명하였다.In the above, preferred embodiments of the present invention have been described with reference to the accompanying drawings.

여기서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. Here, the terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary meanings, but should be construed as meaning and concept consistent with the technical idea of the present invention.

따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the specification and the drawings shown in the drawings are only the most preferred embodiment of the present invention, and do not represent all of the technical idea of the present invention, which can be replaced at the time of the present application It should be understood that there may be various equivalents and variations.

100 : 패킷 분석 과정
200 : 연결정보 추가 과정
100: packet analysis process
200: connection information addition process

Claims (9)

네트워크 상의 트래픽을 분석하여 상기 네트워크 상에 존재하는 각 호스트들의 상호 피투피 연결정보를 수집하는 과정;
상기 수집된 정보를 이용하여 각 호스트들이 피투피(peer-to-peer) 기반으로 상호 연결되어 형성되는 전체 피투피 네트워크에 관한 정보를 구성하는 과정;
상기 구성된 피투피 네트워크에 관한 정보를 이용하여 상기 피투피 네트워크의 반경, 상기 피투피 네트워크 내에서 클라이언트와 서버로 동시에 동작하는 호스트의 비율 및 호스트들의 평균 확산속도를 추정하는 과정; 및
상기의 추정된 네트워크 반경, 동시동작 호스트의 비율 및 호스트의 평균 확산속도 중 하나 이상이 각각의 특정한 임계치를 초과하는 경우 상기의 피투피 네트워크는 피투피 봇넷(botnet)으로 단정하는 과정을 포함하는 피투피 봇넷 탐지 방법.
Analyzing traffic on a network to collect mutual peer-to-peer connection information of respective hosts existing on the network;
Using the collected information, configuring each host for information on the entire P2P network formed by being interconnected on a peer-to-peer basis;
Estimating a radius of the PTP network, a ratio of hosts operating simultaneously as a client and a server in the PTP network, and an average spreading rate of the hosts using the information about the PTP network; And
If the one or more of the estimated network radius, the ratio of concurrent hosts, and the average spreading speed of the hosts exceeds each particular threshold, the P2P network detects a P2P botnet; Way.
제 1 항에 있어서,
상기 수집과정에서는 상기 트래픽 내의 패킷을 분석하여 서버포트번호, 연결을 요청하는 클라이언트 호스트, 연결을 제공하는 서버 호스트 및 연결이 설정된 시각에 관한 정보를 수집하는 것을 특징으로 하는 피투피 봇넷 탐지 방법.
The method of claim 1,
In the collecting process, PIPPI botnet detection method for analyzing the packet in the traffic to collect information about the server port number, the client host requesting the connection, the server host providing the connection and the time the connection is established.
제 2 항에 있어서,
상기 피투피 네트워크에 관한 정보는 상기 패킷을 분석하여 수집한 서버포트번호, 클라이언트 호스트, 서버 호스트 및 연결이 설정된 시각에 관한 정보를 이용하여, 각 서버포트를 기반으로 연결 그래프를 생성 및 갱신하여 구성되는 것을 특징으로 하는 피투피 봇넷 탐지 방법.
The method of claim 2,
The information about the peer-to-peer network may be configured by generating and updating a connection graph based on each server port using information on a server port number collected by analyzing the packet, a client host, a server host, and a time when a connection is established. Peopi botnet detection method, characterized in that.
제 3 항에 있어서,
상기의 연결 그래프 형태로 구성하는 과정은
상기 패킷을 분석하여 결정된 서버포트번호, 클라이언트 호스트, 서버 호스트 및 연결이 설정된 시간을 이용하여,
(1)해당 포트에 대한 연결 그래프가 없는 경우 연결 그래프를 생성하는 과정; 및
(2)클라이언트 호스트와 서버 호스트를 연결그래프의 호스트들과 비교하여
(a)클라이언트 호스트와 서버 호스트 모두가 연결그래프에 없는 경우, 연결그래프에 호스트 (a), (b)의 정보, 및 연결그래프의 속성값을 추가하고
(b)서버 호스트만 연결그래프에 있는 경우, 클라이언트 호스트의 정보를 추가하고 연결그래프의 속성값을 갱신하며,
(c)클라이언트 호스트만 연결그래프에 있는 경우, 서버 호스트의 정보를 추가하고 연결그래프의 속성값을 갱신하는 연결 그래프 갱신 과정을 포함하는 것을 특징으로 하는 피투피 봇넷 탐지 방법.
The method of claim 3, wherein
The process of configuring the above connection graph form
By using the server port number determined by analyzing the packet, the client host, the server host and the time the connection is established,
(1) generating a connection graph when there is no connection graph for the corresponding port; And
(2) Compare the client host and server host with the hosts in the connection graph.
(a) If neither the client host nor the server host is in the connection graph, add the information of the hosts (a) and (b) and the property values of the connection graph to the connection graph.
(b) If only the server host is in the connection graph, add the information of the client host and update the attribute value of the connection graph.
(c) If only the client host is in the connection graph, P2P botnet detection method comprising the step of updating the connection graph to add the information of the server host and update the attribute value of the connection graph.
제 4 항에 있어서,
상기의 연결그래프의 갱신 과정은
(a)클라이언트 호스트와 서버 호스트 모두가 연결그래프에 없는 경우, 클라이언트 호스트의 레벨은 0으로 설정하고,서버 호스트의 레벨은 1로 설정하며, 각 호스트의 연결시각은 모두 연결이 허용된 시각으로 설정하고,
(b)서버 호스트만 연결그래프에 있는 경우, 클라이언트 호스트의 레벨은 서버 호스트의 레벨보다 한 단계 낮은 값으로 설정하고, 클라이언트 호스트의 연결시각은 연결이 허용된 시각으로 설정하고,
(c)클라이언트 호스트만 연결그래프에 있는 경우, 서버 호스트의 레벨은 클라이언트 호스트의 레벨보다 한 단계 높은 값으로 설정하고, 서버 호스트의 연결시각은 연결이 허용된 시각으로 설정하는 것을 특징으로 하는 피투피 봇넷 탐지 방법.
The method of claim 4, wherein
The updating process of the above connection graph
(a) If neither the client host nor the server host is in the connection graph, the client host level is set to 0, the server host level is set to 1, and the connection time of each host is set to the time allowed for the connection. and,
(b) If only the server host is in the connection graph, set the client host's level to one level lower than the server host's level, and set the client host's connection time to the time allowed for the connection.
(c) If only the client host is in the connection graph, P2P botnet characterized in that the level of the server host is set one level higher than the level of the client host, and the connection time of the server host is set to the time allowed for the connection Detection method.
제 5 항에 있어서,
상기의 추정과정은 특정 포트에 대해 완성된 연결그래프를 이용하여, 네트워크 반경은 네트워크 내의 최대레벨과 최소레벨간의 차이로 추정하고, 클라이언트 호스트 동시동작 호스트의 비율은 전체 호스트의 개수에 대한 동시동작 호스트의 개수의 비율로 추정하고, 평균확산속도는 최소레벨에서 최대레벨까지의 레벨평균확산속도의 평균으로 추정하는 것을 특징으로 하는 피투피 봇넷 탐지 방법.
The method of claim 5, wherein
In the above estimation process, using the completed connection graph for a specific port, the network radius is estimated by the difference between the maximum level and the minimum level in the network, and the ratio of the client host concurrent hosts to the total number of concurrent hosts And the average diffusion rate is estimated as an average of level average diffusion rates from the minimum level to the maximum level.
제 6항에 있어서,
상기의 최대레벨은 해당 레벨의 호스트 개수가 에지 레벨 임계치를 초과하는 것에 한하는 것을 특징으로 하는 피투피 봇넷 탐지 방법.
The method of claim 6,
The maximum level is P2P botnet detection method, characterized in that the number of hosts of the level exceeds the edge level threshold.
제 6 항에 있어서,
상기의 레벨평균확산속도는 모든 호스트 중에서 확산속도 편차 임계치를 초과하는 확산속도를 가지는 호스트를 제외한 나머지 호스트들의 확산속도의 평균으로 하는 것을 특징으로 하는 피투피 봇넷 탐지 방법.
The method according to claim 6,
The level average spreading speed is a peer-to-peer botnet detection method, characterized in that the average of the spreading speed of the other hosts except the host having a spreading speed exceeding the spreading speed deviation threshold among all the host.
제 1 항 내지 8 항 중 어느 하나의 피투피 봇넷 탐지 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of detecting a P2P botnet according to any one of claims 1 to 8.
KR1020100031515A 2010-04-06 2010-04-06 Method for detecting peer-to-peer botnets KR101096520B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100031515A KR101096520B1 (en) 2010-04-06 2010-04-06 Method for detecting peer-to-peer botnets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100031515A KR101096520B1 (en) 2010-04-06 2010-04-06 Method for detecting peer-to-peer botnets

Publications (2)

Publication Number Publication Date
KR20110112100A true KR20110112100A (en) 2011-10-12
KR101096520B1 KR101096520B1 (en) 2011-12-20

Family

ID=45028004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100031515A KR101096520B1 (en) 2010-04-06 2010-04-06 Method for detecting peer-to-peer botnets

Country Status (1)

Country Link
KR (1) KR101096520B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891893A (en) * 2012-10-16 2013-01-23 苏州迈科网络安全技术股份有限公司 P2P (Peer-to-Peer) traffic identification method and P2P traffic identification system
DE102012107033A1 (en) 2011-10-31 2013-05-02 Hyundai Mobis Co., Ltd. Spot lamp unit, headlamp system with spot lamp unit and front lighting method using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100877911B1 (en) 2008-01-31 2009-01-12 전남대학교산학협력단 Method for detection of p2p-based botnets using a translation model of network traffic

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012107033A1 (en) 2011-10-31 2013-05-02 Hyundai Mobis Co., Ltd. Spot lamp unit, headlamp system with spot lamp unit and front lighting method using the same
CN102891893A (en) * 2012-10-16 2013-01-23 苏州迈科网络安全技术股份有限公司 P2P (Peer-to-Peer) traffic identification method and P2P traffic identification system

Also Published As

Publication number Publication date
KR101096520B1 (en) 2011-12-20

Similar Documents

Publication Publication Date Title
US11924170B2 (en) Methods and systems for API deception environment and API traffic control and security
Almutairi et al. Hybrid botnet detection based on host and network analysis
Yen et al. Are your hosts trading or plotting? telling p2p file-sharing and bots apart
US10721244B2 (en) Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
KR101140475B1 (en) Peer chosen as tester for detecting misbehaving peer in structured peer-to-peer networks
US8650287B2 (en) Local reputation to adjust sensitivity of behavioral detection system
Zeidanloo et al. Botnet detection by monitoring similar communication patterns
Jiang et al. Detecting P2P botnets by discovering flow dependency in C&C traffic
Kheir et al. Botsuer: Suing stealthy p2p bots in network traffic through netflow analysis
Zeidanloo et al. A proposed framework for P2P Botnet detection
Haddadi et al. DoS-DDoS: taxonomies of attacks, countermeasures, and well-known defense mechanisms in cloud environment
Robinson et al. Evaluation of mitigation methods for distributed denial of service attacks
Backes et al. On the feasibility of TTL-based filtering for DRDoS mitigation
Tarng et al. The analysis and identification of P2P botnet's traffic flows
Zhong et al. DUSTBot: A duplex and stealthy P2P-based botnet in the Bitcoin network
JP5986340B2 (en) URL selection method, URL selection system, URL selection device, and URL selection program
KR101096520B1 (en) Method for detecting peer-to-peer botnets
KR101124615B1 (en) Apparatus and methdd of searching group activity malicious code
Wang et al. Identifying peer-to-peer botnets through periodicity behavior analysis
Steggink et al. Detection of peer-to-peer botnets
Kheir et al. Behavioral fine-grained detection and classification of P2P bots
Al-Hammadi et al. Behavioural correlation for detecting P2P bots
Zhang et al. A survey of defense against p2p botnets
Rostami et al. Analysis and detection of P2P botnet connections based on node behaviour
TW201947442A (en) Suspicious domain detecting method, gateway apparatus and non-transitory computer readable medium apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151202

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161202

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee