KR101045330B1 - 네트워크 기반의 http 봇넷 탐지 방법 - Google Patents

네트워크 기반의 http 봇넷 탐지 방법 Download PDF

Info

Publication number
KR101045330B1
KR101045330B1 KR1020080132935A KR20080132935A KR101045330B1 KR 101045330 B1 KR101045330 B1 KR 101045330B1 KR 1020080132935 A KR1020080132935 A KR 1020080132935A KR 20080132935 A KR20080132935 A KR 20080132935A KR 101045330 B1 KR101045330 B1 KR 101045330B1
Authority
KR
South Korea
Prior art keywords
traffic
botnet
server
zombie
list
Prior art date
Application number
KR1020080132935A
Other languages
English (en)
Other versions
KR20100074480A (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 KR1020080132935A priority Critical patent/KR101045330B1/ko
Publication of KR20100074480A publication Critical patent/KR20100074480A/ko
Application granted granted Critical
Publication of KR101045330B1 publication Critical patent/KR101045330B1/ko

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
    • 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 Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은, Domain 기반 트래픽, IP/Port 기반 트래픽 및 URL hash 기반 트래픽을 포함하는 중앙집중형 접속 특성을 갖는 트래픽을 수집하고 수집된 트래픽의 봇넷 여부를 판별하는 트래픽 분류 모듈(TC), 상기 트래픽 분류 모듈(TC)에 의해 수집되어 봇넷으로 분류된 트래픽의 구성 분석을 수행하는 봇넷 구성 분석 모듈(BOA) 및 상기 트래픽 분류 모듈(TC)에 의해 수집되어 봇넷으로 분류된 트래픽의 행위 분석을 수행하는 봇넷 행위 분석 모듈(BBA)을 포함하는 봇넷 탐지 시스템에서, HTTP 봇넷을 탐지하는 방법에 대한 것으로서, 다수의 트래픽 정보 수집 센서에 의해 수집된 상기 중앙집중적 접속 특성을 갖는 트래픽을 수집하는 제 1 단계, 상기 수집된 트래픽이 IP/Port 기반 트래픽 및 URL hash 기반 트래픽 중 어느 하나인 경우 기존에 탐지된 봇넷 정보와 비교하여 상기 트래픽을 기존 봇넷 및 신종 봇넷 중 어느 하나로 봇넷 매칭하는 제 2 단계 및 상기 트래픽 수집 관리 모듈에 의해 수집된 트래픽 중 Domain 기반 트래픽에 대하여 VDNS(Virtual DNS) 여부를 체크하는 제 3 단계를 포함하는 것을 특징으로 한다.
봇넷; 악성코드; 그룹행위; 트래픽 수집; HTTP 봇넷

Description

네트워크 기반의 HTTP 봇넷 탐지 방법{METHOD FOR DETECTING HTTP BOTNET BASED ON NETWORK}
본 발명은 봇넷 탐지 방법에 대한 것으로, 구체적으로 네트워크 기반의 HTTP 봇넷을 탐지하기 위한 방법에 대한 것이다.
현재 사이버 공간에서는 수많은 위협들이 대두되고 있다. 제3자의 개인정보를 갈취 또는 수집하여 악용하고, 불특정 다수를 향해 음란, 광고메일을 유포하고 금전적 이익을 보거나, 또는 경쟁사의 정보화 기기의 서비스를 못하게 하는 등 인터넷상의 위협요인들은 산재해 있다. 이러한 사이버 피해가 두드러지는 가운데 새로운 위협적 요소가 인터넷을 장악해 나가고 있는데 그것이 바로 봇넷이다. 최근 Arbor Networks에서는 가장 심각한 네트워크 위협으로 봇넷과 분산서비스 거부공격(DDoS)을 선정하기도 하였다.
봇넷(BotNet)이란 악성 소프트웨어인 봇에 감염된 다수의 컴퓨터들이 네트워크로 연결되어 있는 형태를 말한다. 즉, 봇들을 자유자재로 통제하는 권한을 가진 봇마스터에 의해 원격 조종되며 각종 악성행위를 수행할 수 있는 수천에서 수십만 대의 악성프로그램인 봇(Bot)에 감염된 컴퓨터들이 네트워크로 연결되어 있는 형태 를 봇넷이라 한다.
봇넷은 1993년에 EggDrop으로 처음 나온 이후로 최근 10년간 Forbot, PBot, Toxbot, Machbot,PHP Bot, Storm Bot 등으로 진화한 봇이 출현하였으며, 최근에는 너무 많은 변종 봇이 출현하면서 대응을 매우 어렵게 하고 있다(매일 5,000개의 신규 악성코드 출현, TechNewsWorld, 2007). 특히, 전 세계적으로 C&C 서버(Command & Control, 봇 좀비들에게 명령을 내리고 제어하기 위한 서버)와 악성 봇이 광범위하게 분포하고 있고 특정 지역에 밀집되는 양상을 보이고 있다. 이는 초고속 인터넷이 잘 갖추어진 환경에서는 기존에 비해 1/10의 PC들만 이용해도 더욱 강력한 DDoS와 같은 공격이 가능하기 때문이며, 특히 초고속의 인터넷 인프라가 잘 갖추어져 있는 국내 지역은 봇넷 감염지로 선호되고 있다. 또한, 세계적으로 봇에 감염되어 좀비 PC로 바뀌는 PC의 수가 지속적으로 증가하고 있으며 봇넷의 규모 또한 커지고 있다. TCP/IP 프로토콜 공동 창시자인 Vint Cerf는 전 세계 컴퓨터의 약 11% 정도인 1억~1억 5천 컴퓨터가 봇 악성코드에 감염되어 공격 수행에 사용될 것으로 예상하였으며, 현재까지 알려진 가장 큰 봇넷은 Storm 봇넷으로 230,000개의 좀비들로 연결되어 있는 것으로 알려져 있다.
봇넷으로 인한 공격이 더욱 심각해지는 이유는 범죄화 양상을 띠고 있기 때문이다. 2007년 발생한 아이템 거래업체 서비스 장애 유발 및 현금요구 협박 사고에서와 같이 서비스 장애유발을 빌미로 서비스 업체에 협박하여 금품 갈취하거나, 개인/금융 정보 수집 및 스팸 발송 등을 통하여 대가를 받는 사고가 빈번하게 발생하고 있다.
봇은 웜/바이러스, 백도어, 스파이웨어, 루트킷 등 다양한 악성코드들의 특성을 복합적으로 지니며, 봇넷을 통해 DDoS, Ad-ware, Spyware, 스팸발송, 정보불법 수집 등 대부분의 사이버 공격이 가능하다.
초기의 봇넷은 구조가 유연하고 널리 사용되는 IRC의 특성을 이용한 IRC 봇넷이 주를 이루었었다. 하지만, 탐지 및 대응을 보다 어렵게 하기 위해 웹 프로토콜인 HTTP를 기반으로 하거나, C&C라는 중앙집중형 명령/제어 방식(IRC, HTTP 봇넷)에서 탈피하여, 모든 좀비들이 C&C가 될 수 있는 분산형 명령/제어 방식(P2P 봇넷)의 봇넷으로 진화하고 있다.
더 나아가, 명령/제어를 위해 2가지 이상의 프로토콜을 사용하는 하이브리드 형태로 진화하고 있다. 최근 등장한 MayDay 웜의 경우, 하이퍼텍스트 프랜스퍼 프로토콜(hypertext transfer protocol, HTTP) 및 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol, ICMP)과 같이 두 가지 프로토콜을 사용하거나, 다수의 중앙 집중 포인트(C&C서버)가 존재하고 중앙 집중 포인트는 P2P 방식으로 연결되는 하이브리드 형태로 진화하고 있다.
명령/제어 방식의 진화와 함께, 악성코드도 빠른 속도록 진화하여 탐지/대응을 매우 어렵게 하고 있다. Packing/압축/암호화 기술, VM(Virtual Machine)/디버거/샌드박스 탐지 우회 기술, 악성코드를 숨기기 위한 RootKit 기술 등이 적용되어 봇에 대한 탐지 및 분석을 매우 어렵게 하고 있으며, 감염경로 또한 기존의 시스템 취약점을 악용한 방식에서, 웹, 이메일, 메신저 등 다양한 수단으로 다양해지고 있다.
이러한 봇넷의 대응 기술은 적용 대상에 따라, PC상에서 악성 봇 프로그램 설치 및 행동을 기반으로 탐지/분석하는 호스트 기반과 봇 좀비 및 C&C로부터의 네트워크 트래픽을 기반으로 탐지/분석하는 네트워크 기반으로 구분되며, 기술 특성에 따라 시그니처 기반과 행위기반으로 구분될 수 있다.
최근 들어, 봇넷의 심각성이 부각되면서 국제적으로 연구가 활성화되고 있는 추세이지만, 대체로 IRC 봇넷 중심으로 진행되어 왔으며, HTTP 및 P2P 봇넷에 대해서는 현황 및 특성에 대해서만 다루어져 왔다. IRC 봇넷에 대한 기존 대부분의 연구들은 채널 암호화, 스텔스 스캐닝, 명령/제어 패턴 변경, DNS 스푸핑 등을 통해 회피가 가능하고 오탐발생의 소지가 있으며, 최근 등장하는 HTTP/P2P 신규 봇넷에 대한 대응이 미흡한 수준이다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 제시된 것으로서, 본 발명의 목적은 네트워크 기반의 HTTP 봇넷을 효과적으로 탐지할 수 있는 네트워크 기반의 HTTP 봇넷 탐지 방법을 제공하는 것이다.
상기의 목적을 달성하기 위하여, 본 발명에 따른 네트워크 기반의 HTTP 봇넷 탐지 방법은, 사용자가 Domain을 해석하기 위해 외부와 통신하는 트래픽인 Domain 기반 트래픽, 통신 주체간의 IP와 Port를 구분하여 통신 세션을 구분할 수 있는 트래픽인 IP/Port 기반 트래픽 및 사용자 트래픽에 포함된 HTTP 요청에 대해서 요청 URL을 hash한 값으로 변경한 가공된 트래픽인 URL hash 기반 트래픽을 포함하는 트래픽이 하나의 수신지에 집중되는 중앙집중형 접속 특성을 갖는 트래픽을 수집하고 수집된 트래픽의 봇넷 여부를 판별하는 트래픽 분류 모듈(TC), 상기 트래픽 분류 모듈(TC)에 의해 수집되어 봇넷으로 분류된 트래픽에서 C&C 서버와 좀비를 분석하는 트래픽의 구성 분석을 수행하는 봇넷 구성 분석 모듈(BOA) 및 상기 트래픽 분류 모듈(TC)에 의해 수집되어 봇넷으로 분류된 트래픽에서 봇넷이 감염수를 증가시켜 그 규모를 증가시키는 행위인 봇넷 확장 행위와 에그 다운로드를 포함하는 봇넷의 행위를 분석하는 트래픽의 행위 분석을 수행하는 봇넷 행위 분석 모듈(BBA)을 포함하는 봇넷 탐지 시스템에서, HTTP 봇넷을 탐지하는 방법으로서, 다수의 트래픽 정보 수집 센서에 의해 수집된 상기 중앙집중적 접속 특성을 갖는 트래픽을 수집하는 제 1 단계, 상기 수집된 트래픽이 IP/Port 기반 트래픽 및 URL hash 기반 트래픽 중 어느 하나인 경우 기존에 탐지된, C&C 서버 정보와 좀비리스트를 포함하는 봇넷 정보와 비교하여 상기 트래픽을 상기 봇넷 정보에 포함되는 기존 봇넷 및 상기 봇넷 정보에 미포함되는 신종 봇넷 중 어느 하나로 봇넷 매칭하는 제 2 단계; 및 상기 트래픽 수집 관리 모듈에 의해 수집된 트래픽 중 Domain 기반 트래픽에 대하여 VDNS(Virtual DNS) 여부를 체크하는 제 3 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 제 2 단계가, 상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C서버 정보와 상이하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 상이한 경우 상기 트래픽을 신종 봇넷 메시지 큐에 저장하는 제 2-1 단계, 상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C 서버 정보와 일치하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 상이한 경우, 상기 트래픽을 봇넷 확장 행위로 구분하여 별도의 플래그를 부여하고 기존 봇넷 메시지 큐에 저장하는 제 2-2 단계, 상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C 서버 정보와 일치하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 유사한 경우, 상기 트래픽을 C&C서버 재접속 및 에그 다운로드 행위로 구분하여 별도의 플래그를 부여하고 기존 봇넷 메시지 큐에 저장하는 제 2-3 단계, 그리고 상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C 서버 정보와 상이하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 유사한 경우, 상기 트래픽을 C&C서버 이주를 포함하는 주요 봇넷 행위로 구분하여 별도의 플래그를 부여하여 기존 봇넷 메시지 큐에 저장하는 제 2-4 단계를 더 포함하도록 한다.
또한, 제 2 단계 이전에, 상기 수집된 트래픽에 대하여, 일정 대기시간동안 동일 C&C를 기준으로 유입되는 좀비 IP 리스트들을 추가적으로 열거하는 제 1-1 단계, 설정된 대기시간이 경과한 후 열거된 좀비 IP 리스트의 개수가 임계값을 초과하면 상기 수집된 트래픽을 봇넷의 트래픽으로 판단하는 제 1-2 단계 및 설정된 대기시간이 경과한 후 좀비 IP 리스트의 개수가 임계값에 미치지 못한 경우, 관제시스템의 공유정보에 의하여 업데이트되는 C&C서버 블랙리스트와 매칭하여 봇넷의 트래픽 여부를 판단하는 제 1-3 단계를 더 포함하도록 한다.
이때, 제 1-3 단계가, "접속 Dst IP/Port”와 “C&C서버 IP/Port”를 매칭하는 제 1-4 단계 및 "요청 도메인에 대한 응답 IP”와 “DNS 싱크홀 IP”를 매칭하는 제 1-5 단계를 포함하도록 한다. 더욱 바람직하게는, 제 2 단계 이후에, 상기 수집된 트래픽 정보(Domain, Dst_IP/Port, Dst_URL_len)를 수신하여 임시 구성 로그에 임시 저장하는 제 4 단계, 상기 임시 구성 로그로부터 분석에 필요한 트래픽 정보를 주기적으로 읽어 Domain, Dst_IP/Port 및 URL별 유사도를 분석하고, 봇넷 행위로 탐지된 트래픽을 전송하는 제 5 단계, 제 5 단계에서 탐지된 봇넷 트래픽을 전송받고 C&C를 추출 및 저장한 후, 분석을 마친 트래픽을 전송하는 제 6 단계, 제 6 단계에서 전송된 봇넷 트래픽을 전송받아 봇넷으로 탐지된 URL에 접근하는 좀비리스트를 추출하여 분석결과 로그에 저장하는 제 7 단계, 그리고 제 6 단계 및 제 7 단계에서 분석된 결과를 종합하여 로그 관리자에게 전송하는 제 8 단계를 포함하도록 한다.
이때, 제 5 단계는, 주기적으로 임시 구성 로그로부터 Domain 정보를 읽어 각 Domain별로 요청한 소스 IP들을 매트릭스에 기록하는 제 5-1 단계, 설정된 시간이 경과한 후 상기 매트릭스를 분석하여 Domain 유사도를 측정하고 좀비 IP 리스트를 생성하는 제 5-2 단계, 주기적으로 임시 구성 로그로부터 Dst_IP/Port 정보를 읽어 각 IP/Port 조합과 매칭되는 패킷을 전송한 소스 IP들을 매트릭스에 기록하는 제 5-3 단계를 포함하도록 한다. 또한 설정된 시간이 경과한 후 상기 매트릭스를 분석하여 Dst_IP/Port 유사도를 측정하고 좀비 IP 리스트를 생성하는 제 5-4 단계, 주기적으로 임시 구성 로그로부터 Dst_URL 정보를 읽어 각 URL별로 요청한 소스 IP를 매트릭스에 기록하는 제 5-5 단계, 그리고 설정된 시간이 경과한 후 매트릭스를 분석하여 Dst_URL의 유사도를 측정하여 좀비 IP 리스트를 생성하는 제 5-6 단계를 포함하도록 한다.
한편, 제 1 단계에서 수집된 트래픽 정보가 Domain 기반 트래픽인 경우 전송 데이터 포맷은, 헤더에 상기 트래픽의 발생시간인 Time 필드를 포함하고, 봇넷의 C&C 서버 필드에, C&C 서버의 DNS 쿼리 도메인명인 C&C Domain 필드 및 C&C 서버의 DNS 쿼리에 대한 응답 IP인 C&C IP 필드를 포함한다. 또한, 봇넷의 좀비리스트 필드에, 발견된 총 좀비 개체수인 Count 필드, 처음 좀비 발생시점부터 마지막 좀비 발생까지의 시간 구간인 Time Window 필드 및 접속한 총 좀비의 IP 리스트인 좀비 IP 리스트를 포함하고, 상기 C&C 서버 필드의 값이 DNS서버와의 통신 트래픽으로부터 수집되고 수집 대상 포트번호가 53번 포트가 되도록 한다. 이때 제 1 단계에서 수집되는 트래픽이 IP/Port 기반 트래픽인 경우 전송 데이터 포맷은, 헤더에 상기 트래픽의 발생시간인 Time 필드를 포함하고, 봇넷의 C&C 서버 필드에, C&C 서버의 IP인 C&C IP 필드 및 접속 포트번호인 C&C Port 필드를 포함한다. 또한, 봇넷의 좀비리스트 필드에, 발견된 총 좀비 개체수인 Count 필드, 처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간인 Time Window 필드 및 접속한 총 좀비의 IP 리스트인 좀비 IP 리스트 필드를 포함하고, 상기 C&C 서버 필드의 값이 C&C 서버와의 직접 통신 트래픽으로부터 수집되고, 수집 대상 포트번호가 모든 포트가 되도록 한다.
또한, 제 1 단계에서 수집되는 트래픽이 URL hash 기반 트래픽인 경우 전송 데이터 포맷은, 헤더에 상기 트래픽의 발생시간인 Time 필드를 포함하고, 봇넷의 C&C 서버 필드에, C&C 서버의 IP인 C&C IP 필드 및 C&C 서버의 요청 HTTP URL 문자열 길이인 URL hash 필드를 포함한다. 또한, 봇넷의 좀비리스트 필드에, 발견된 총 좀비 개체수인 Count 필드, 처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간인 Time Window 필드 및 접속한 총 좀비의 IP 리스트인 좀비 IP 리스트 필드를 포함하고, 상기 C&C 서버 필드의 값이 C&C 서버와 중간 전송 객체 없이 바로 통신하는 트래픽인 직접 통신 트래픽으로부터 수집되고, 수집 대상 포트번호가 모든 포트가 되도록 한다.
이상 설명한 바대로, 본 발명에 따른 네트워크 기반의 HTTP 봇넷 탐지 방법은 IP/Port 기반 및 URL hash 기반 트래픽에 대하여 봇넷 매칭 모듈에 의해 신규 봇넷 및 기존 봇넷으로 분류하고, 기존 봇넷에 대하여 그 유형에 따라 분류하여 메시지 큐에 저장함으로써 봇넷을 효과적으로 탐지하고 봇넷 행위 분석 모듈이 봇넷의 유형을 빠르게 인식할 수 있도록 한다.
이하에서는, 첨부한 도면을 참조하여 본 발명의 장점, 특징 및 바람직한 실시예에 대하여 상세히 설명하도록 한다.
도 1은 본 발명에 따른 봇넷 탐지 시스템의 구성도이다. 트래픽 정보 수집 센서로부터 HTTP 봇넷 탐지를 위하여 중앙집중형 접속 특성을 가지는 트래픽의 테이터 포맷을 전달받고, 이 과정을 통해 스타형 토폴로지를 구성하는 중앙집중형 네트워크를 발견하며, 봇넷 매칭 모듈에서 기존 봇넷 여부를 판별한 후 각종 행위를 재분류한다. 봇넷 매칭 모듈은 발견된 중앙집중형 트래픽을 유발하는 네트워크가 이미 탐지된 기존 봇넷과 매칭되는지의 여부를 체크한다. 봇넷 매칭 모듈에 의해 신규 봇넷으로 판별될 경우 봇넷 구성 분석 모듈(BOA)은 발견된 좀비들의 추가적인 행위 트래픽을 트래픽 정보 수집 센서로 요청한다.
구체적으로, 봇넷 매칭 모듈은 중앙집중 서버와 접속 클라이언트 IP 리스트의 유사성을 식별함으로써 발견된 중앙집중 트래픽의 봇넷 매칭을 수행한다.
먼저, 봇넷 매칭 모듈은 탐지된 기존 봇넷 정보들과 매칭하여 중앙집중 서버가 기존 C&C서버 정보와 같지 않고 접속 클라이언트 IP 리스트 또한 기존 좀비리스 트와 유사하지 않을 때 신규 봇넷으로 규정하여 봇넷 여부를 탐지한다. 봇넷 구성 분석 모듈(BOA)은 탐지된 신규 봇넷의 좀비들이 발생시키는 추가적인 행위 트래픽을 수집할 수 있도록 트래픽 정보 수집 센서에게 요청하여 이후 봇넷의 행위를 모니터링하고 분석한다.
한편, 중앙집중 서버가 기존 C&C 서버 정보와 같거나 접속 클라이언트 IP 리스트가 기존 좀비리스트와 유사할 경우 봇넷 매칭 모듈은 기존 봇넷으로 규정하는데, 기존 봇넷의 매칭 결과를 이후 봇넷 행위 분석 모듈(BBA)이 빠르게 인식할 수 있도록 하기 위하여 봇넷 매칭 모듈은 세가지 행위기반(A, B, C)에 의하여 선분류하고 플래그를 부여하도록 한다. 각 행위기반에 따른 플래그는 이하와 같다.
- A 플래그(봇넷 확장 행위): 중앙집중 서버가 C&C 서버 정보와 일치하지만 접속 클라이언트 IP 리스트가 기존 좀비리스트와 차이를 보이는 경우
- B 플래그(C&C서버 재접속 및 에그 다운로드 행위): 중앙집중 서버가 C&C 서버 정보와 일치하고 접속 클라이언트 IP 리스트도 기존 좀비리스트와 유사한 경우
- C 플래그(C&C서버 이주 및 기타 주요 봇넷 행위): 중앙집중 서버가 C&C 서버 정보와 다르지만 접속 클라이언트 IP 리스트가 기존 좀비리스트와 유사한 경우
상기한 바와 같이, 중앙집중형 트래픽(DNS 요청 Domain, 중앙집중 서버의 IP/Port 정보, HTTP 접속 URL 기반)을 모니터링하여 탐지된 봇넷에 대하여 봇넷 구성 분석 모듈(BOA)은 트래픽 정보 수집 센서에게 추가적인 행위 트래픽을 요청하고, 이때 전달받은 행위 트래픽을 기반으로 봇넷 행위 분석 모듈(BBA)은 다양한 봇 넷 행위들을 재분류한다. HTTP URL 정보는 봇넷 구성 분석 모듈(BOA)로 다시 전달되어 봇넷 프로토콜 판단의 정확한 기준이 되도록 한다. 중앙집중형 트래픽을 기반으로 대분류된 A/B/C 세가지 그룹의 행위들은 행위 트래픽을 기반으로 다시 각 구체적인 행위들로 세분류된다.
도 2은 본 발명에 따른 트래픽 분류 모듈(TC)의 블럭 구성도이다. 도 1에 도시한 바와 같이, 본 발명에 따른 트래픽 분류 모듈(TC)은, 필터, 수집/분류 관리 정책 모듈, 트래픽 수집관리 모듈, 봇넷 매칭 모듈 및 VDNS 체크 모듈을 포함한다.
필터는 다중의 트래픽 정보 수집 센서로부터 전달되는 유효 트래픽만을 수신하며, 자신이 담당하는 센서들의 IP에 대한 화이트 리스트 방화벽 기능을 제공한다.
수집/분류 관리 정책 모듈은 관리 시스템으로부터 전달되는 정책을 설정하여 상태값을 조정하고, 봇넷 관제/보안관리 시스템의 실시간 보안 이벤트를 참고하여 봇넷 탐지 시스템이 신속히 대응할 수 있도록 관리 정책에 반영한다. 따라서, 알려지지 않은 신종 봇넷에 빠르게 대응하기 위하여 관제시스템들의 공유정보를 기반으로 좀비리스트 분포량과 관계없이 C&C 서버 블랙리스트 매칭이 가능하도록 할 수 있다.
트래픽 수집 관리 모듈은 중앙집중적인 접속 특성을 가지는 트래픽, 즉 공동의 단일 서버에 연결되어 스타형 토폴로지를 구성하는 기본 트래픽을 수집 및 모니터링한다. 이는 HTTP 봇넷 탐지를 위한 기본 수집트래픽으로 이를 기반으로 봇넷 매칭 모듈에서 봇넷 여부를 판별하게 된다. 또한, 트래픽 수집 관리 모듈은 분석을 위한 추가적인 요청 트래픽(봇넷 구성 분석 모듈의 행위 트래픽 요청에 따른 트래픽)을 수집함으로써, 봇넷 구성 분석 모듈이 신종 봇넷의 HTTP 프로토콜(URL 정보 등)을 분석할 수 있도록 한다. 이 경우 추가적인 요청 트래픽은 이미 탐지된 봇들 가운데 다시 샘플링된 일부 봇, 즉 봇넷 구성 분석 모듈이 행위 트래픽을 요청한 일부 봇에 대하여만 수집하도록 한다. 또한, 트래픽 수집 관리 모듈은 관제시스템의 보안관리 정책 및 공유정보관리 정책에 의하여 발견된 새로운 봇넷의 위협을 사전에 대비하기 위하여 긴급 요청된 특정한 트래픽을 전달받을 수도 있다.
봇넷 매칭 모듈은 트래픽 수집 관리 모듈에 의해 수집된 트래픽이 IP/Port 기반 트래픽 또는 HTTP hash 기반 트래픽인 경우 기존 봇넷과 비교하여 기존 봇넷 또는 신종 봇넷으로 구분한다. 먼저, 봇넷 매칭 모듈은 트래픽 수집 관리 모듈에 의해 수집된 트래픽에 대하여 신종 봇넷 구성의 유사 트래픽을 탐지한다. 구체적으로, 탐지된 기존 봇넷 정보들과 매칭하여 중앙집중 서버가 기존 C&C서버 정보와 다르면서 접속 IP리스트가 기존 좀비리스트와 다른 경우 이를 탐지하여 신종 봇넷 메시지 큐에 저장한다. 하지만, 정상 트래픽일 확률 또한 배재할 수 없으므로 이후 봇넷 구성 분석(BOA) 모듈에서 세부적인 재분류가 이루어져야 하며 신종 봇넷의 구성 단계에서 발생된 트래픽인지 진위를 최종 판단하도록 한다. 다음으로, 봇넷 매칭 모듈은 기존 봇넷 탐지 및 대분류 작업을 수행한다. 구체적으로 탐지된 기존 봇넷 정보들과 매칭하여, 중앙집중 서버가 기존 C&C서버 정보와 같거나 혹은 접속 IP 리스트가 기존 좀비리스트와 유사할 경우 이를 탐지하여 기존 봇넷 메시지 큐에 저장한다. 봇넷 매칭 모듈은 메시지 큐 저장시 대분류된 세가지(A/B/C) 행위 결과를 플래그 비트로 명시하여 이후 봇넷 행위 분석(BBA) 모듈이 빠르게 인식하도록 한다. 세가지 행위 결과 플래그의 유형은 상기한 바와 같다.
VDNS 체크 모듈은 트래픽 수집 관리 모듈에 의해 수집된 트래픽이 Domain 기반 트래픽인 경우 VDNS(Virtual DNS) 여부를 체크한다. VDNS는 공격자가 임의로 운영하는 DNS로서 이를 이용하면 Dynamic DNS를 이용하지 않고도 C&C 서버 도메인의 IP를 쉽게 변경할 수 있다. 이때 요청되는 도메인은 대부분 정상 DNS 쿼리시에는 리턴되지 않는 경우가 많으므로, VDNS 체크 모듈은 정상 DNS 테이블과 매칭하여 VDNS 여부를 체크하고 새로이 탐지된 VDNS 쿼리 정보를 메시지 큐에 저장하여 봇넷 구성 분석 모듈 및 봇넷 행위 분석 모듈이 참고할 수 있도록 한다.
도 3은 트래픽 분류 모듈의 트래픽 분류 과정을 도시한 도이다. 도 2에 도시한 바와 같이, 트래픽 분류 모듈의 트래픽 분류 과정은 수집관리 프로시저, 봇넷 매칭 프로시저, VDNS 체크 프로시저로 이루어진다.
1. 수집 관리 프로시저
트래픽 정보 수집 센서로부터 수집된 트래픽 중 유효 트래픽을 수집/분류 관리 정책에 따라 필터가 필터링한 후, 트래픽 수집 관리 모듈이 상기 수집/분류 관리 정책에 따라 중앙 집중적인 접속 특성을 가지는 트래픽을 수집한다(ST100 내지 ST120).
이후 트래픽 수집 관리 모듈은 C&C 기반 좀비리스트와 탐지시스템 요청 트래픽을 분류한다. C&C기반 좀비리스트는 동일 C&C를 기준으로 연결 요청한 좀비들의 IP 목록을 나타내고, 탐지시스템 요청 트래픽은 봇넷 구성 분석 모듈에 의해 요청 된 신규 봇넷에 대한 행위 트래픽으로서 C&C 통신 프로토콜의 컨텐츠 정보를 나타낸다.
C&C 기반 좀비리스트는 봇넷 매칭을 위하여 일정 대기시간동안 동일 C&C를 기준으로 유입되는 좀비 IP 리스트들을 추가적으로 열거한다(ST130). 설정된 대기시간 이후 열거된 IP 리스트 개수가 임계값을 초과하면 봇넷 매칭을 수행한다(ST140). 한편, IP 리스트 개수가 임계값에 미치지 못할 경우에도, 관제시스템의 공유정보에 의하여 업데이트되는 C&C서버 블랙리스트와 매칭하여 봇넷의 트래픽이라 판단될 때에도 다음 단계로 봇넷 매칭을 수행한다(ST150). 먼저, “접속 Dst IP/Port”와 “C&C서버 IP/Port”를 매칭하는데, C&C서버 IP/Port의 블랙리스트는 관제시스템의 공유정보에 의하여 업데이트되며, C&C서버 도메인의 블랙리스트 업데이트는 필요하지 않다. 또한, “요청 도메인에 대한 응답 IP”와 “DNS 싱크홀 IP”를 매칭하는데, DNS 싱크홀 IP 리스트는 관제시스템의 공유정보가 아니고 봇넷 탐지 시스템이 사전에 보유하고 있어야 하는 고정된 리스트이다. 구체적으로, 1) 관제시스템에 의해 최종 판단된 C&C 서버의 도메인을 추출하여, 2) 타 ISP들과 정보를 공유하고, 3) 모든 ISP가 해당 도메인에 대한 DNS 싱크홀을 적용한 후, 4) 해당 도메인을 요청하는 트래픽을 수집(센서)하면, 5) 해당 요청 도메인의 응답 IP가 싱크홀 IP일 때 좀비의 행위로 판단한다. ST130 내지 ST150의 모든 경우에 있어 결국 봇넷 트래픽 여부를 판별할 수 없다면 해당 트래픽은 무효 처리한다. 상기와 같이 트래픽 정보 수집 센서에 의해 수집되는 여러 트래픽들의 규정된 데이터 포맷 형태를 유지하면서 동일 C&C서버를 기준으로 좀비 IP 리스트를 업데이트한다.
2. 봇넷 매칭 프로시저
상기한 바와 같이, 봇넷 매칭 모듈은 IP/Port 기반 트래픽 및 HTTP hash 기반 트래픽에 대하여 중앙집중 서버 정보와 기존 C&C서버 정보를 비교하고, 접속 클라이언트 IP 리스트와 기존 좀비리스트를 비교하여, 수집된 트래픽에 대하여 신종 봇넷 구성, 기존 봇넷 확장(A 플래그), C&C서버 재접속 및 에그 다운로드(B 플래그), C&C서버 이주 및 기타 주요 봇넷 행위(C 플래그)들로 분류하여 각 메시지 큐에 저장한다(ST160 내지 ST180).
3. VDNS 체크 프로시저
VDNS 체크 모듈은 Domain 기반 트래픽에 대하여 수집/분류 관리 정책에 의하여 VDNS 여부를 체크하여 새로운 도메인 쿼리 정보를 메시지 큐에 저장한다(ST190).
도 4는 본 발명에 따른 트래픽 분류 모듈의 각 구성모듈과 봇넷 구성 분석 모듈 및 봇넷 행위 분석 모듈 간의 동작 시퀀스를 나타낸 도이다.
트래픽 정보 수집 센서 및 트래픽 수집 관리 모듈에 의해 수집된 트래픽은 봇넷 매칭 모듈에 의해 신규 봇넷/기존 봇넷으로 분류되어 메시지 큐에 저장 및 봇넷 구성 분석 모듈에 전달된다. 한편, 수집된 트래픽이 도메인 요청인 경우 VDNS 체크 모듈에 의해 VDNS 체크를 수행하고, 신규 VDNS 요청 도메인인 경우 역시 메시지 큐에 저장 및 봇넷 구성 분석 모듈에 전달된다. 봇넷 구성 분석 모듈은 신규 트래픽(신규 봇넷) 및 신규 VDNS 요청 도메인에 대하여 행위 정보를 요청하기 위하여 샘플링된 신규 좀비 IP 리스트를 전송한다.
트래픽 정보 수집 센서와 트래픽 수집 관리 모듈은 계속해서 트래픽을 수집하며, 이 중 기존 봇넷에 해당하는 트래픽은 봇넷 매칭 모듈에 의해 분류되어 메시지 큐에 저장되고 봇넷 구성 분석 모듈 및 봇넷 행위 분석 모듈에 전달된다. 또한, 수집된 트래픽이 도메인 요청이고 VDNS 체크 모듈에 의해 신규 VDNS 요청 도메인으로 판단된 경우 메시지 큐에 저장 및 봇넷 구성 분석 모듈 및 봇넷 행위 분석 모듈에 전달된다. 한편, 트래픽 정보 수집 센서와 트래픽 수집 관리 모듈에 의해 수집된 트래픽이 봇넷 구성 분석 모듈에 의해 요청된 트래픽, 즉 봇넷 행위 정보인 경우 봇넷 매칭 모듈 및 VDNS 체크 모듈을 바이패스하여 메시지 큐에 저장되고 HTTP URL 정보가 봇넷 구성 분석 모듈로 전달된다.
도 5는 본 발명에 따른 봇넷 구성 분석 모듈의 구성도이다. 또한, 도 6은 본 발명에 따른 봇넷 구성 분석 모듈의 각 구성모듈의 동작 시퀀스를 나타낸 도이다. 도 5 및 도 6을 참조하여 본 발명에 따른 봇넷 구성 분석 모듈의 각 구성모듈의 동작에 대하여 설명하면 이하와 같다.
임시 구성 로그는 트래픽 수집 관리 모듈로부터 분류된 트래픽 정보(Domain, Dst_IP/Port, Dst_URL_len)를 수신하여 저장한다. 한편, 미분류 서버 접속 IP 리스트 로그는 C&C 분석 및 탐지 모듈에서 정상 트래픽으로 분류된 Domain, IP/Port 및 URL 등을 저장하고 그 결과를 분석 결과 로그에 전송한다. C&C 분석 및 탐지 모듈은 임시 구성 로그로부터 분석에 필요한 트래픽 정보를 주기적으로 읽어 Domain, Dst_IP/Port 및 URL별 유사도를 분석한다. 먼저, Domain 유사도 분석은, 주기적으로 임시 구성 로그로부터 Domain 정보를 읽어 각 Domain별로 요청한 소스 IP들을 매트릭스에 기록한 후 특정 시간이 지난 후 매트릭스를 분석하여 유사도를 측정하여 좀비 IP 리스트를 생성한다. 다음으로, Dst_IP/Port 유사도 분석은, 주기적으로 임시 구성 로그로부터 Dst_IP/Port 정보를 읽어 각 IP/Port 조합과 매칭되는 패킷을 전송한 소스 IP들을 매트릭스에 기록한 후 특정 시간이 지난 후 매트릭스를 분석하여 유사도를 측정하여 좀비 IP 리스트를 생성한다.
또한, URL 유사도 분석은, 주기적으로 임시 구성 로그로부터 Dst_URL 정보를 읽어 각 URL별로 요청한 소스 IP들을 매트릭스에 기록한 후 특징 시간이 지난 후 매트릭스를 분석하여 유사도를 측정하여 좀비 IP 리스트를 생성한다. 한편, 접속 프로토콜(커맨드) 분석은 트래픽 정보 수집 센서로부터 샘플링된 트래픽 정보를 받아 각 봇넷들의 접속 프로토콜(커맨드)를 분석하며, 이 과정에서 봇넷 행위로 탐지된 트래픽은 C&C 추출 모듈로 전송한다.
C&C 추출 모듈은 C&C 분석 및 탐지 모듈에서 탐지된 봇넷 트래픽을 전송받아 추출된 C&C를 저장하고, 분석을 마친 트래픽은 다시 좀비리스트 추출 모듈로 전송한다.
좀비리스트 추출 모듈은 C&C 추출 모듈에서 봇넷 트래픽을 전송받아 봇넷으로 탐지된 URL에 접근하는 좀비리스트를 추출하여 분석결과 로그에 저장한다.
구성 이벤트 트리거는 각 모듈에서 분석된 결과를 종합하여 로그 관리자에게 전송하고, 분석 결과에서 추후 정책에 사용될 트리거 메시지를 생성하여 이벤트 트리거에 전송한다.
도 7은 트래픽 정보 수집 센서와 봇넷 탐지 시스템 및 관제 시스템 간의 송 수신 데이터 흐름도이다.
도 7에 도시한 바와 같이, 트래픽 정보 수집 센서로부터 전달되는 수집 트래픽 데이터는 중앙집중형 트래픽 데이터로 Class O-1(Domain 기반 트래픽)과 Class 0-2(IP/Port 기반 트래픽) 및 Class 0-3(URL hash 기반 트래픽)을 포함하고, 행위트래픽 데이터로 Class B-1 내지 6을 포함한다. 또한, 봇넷 탐지 시스템, 구체적으로 봇넷 구성 분석 모듈로부터 전달되는 행위트래픽 수집 요청 데이터는 수집 대상 좀비리스트를 전달하는 Class R로 표현된다. 또한, 봇넷 탐지 시스템으로부터 관제 시스템으로 전달되는 탐지 결과 데이터는, 봇넷의 초기 구성단계 탐지 결과인 Class O-1, 봇넷의 초기 구성단계로 의심될만한 비정상 트래픽 탐지 결과인 Class O-2, 그리고 봇넷의 행위 분류 결과인 Class B-1 내지 8을 포함한다.
도 8은 트래픽 수집 관리 모듈에 의해 수집된 트래픽 정보의 전송 데이터 포맷을 나타낸 도이다. 트래픽 수집 관리 모듈에 의하여 감지된 중앙집중형 트래픽의 기본적인 가공 데이터 포맷은 하나의 C&C 서버 정보를 기준으로 이에 접속하는 좀비들의 IP를 열거하는 형식으로 생성한다.
먼저, Domain 기반 트래픽의 경우, 헤더에는 Time(트래픽 발생시간)이 기록되고, 중앙집중 서버(봇넷의 C&C 서버) 필드에는 C&C Domain(C&C 서버의 DNS 쿼리 도메인명)과 C&C IP(이때의 응답 IP)가 기록되며, 서버 접속 호스트(봇넷의 좀비리스트) 필드에는 Count(발견된 총 Src 개체수), Time Window(처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간) 및 좀비 IP 리스트(접속한 총 좀비들의 IP 리스트)가 기록된다. 이때, 중앙집중 서버 필드의 값은 C&C 서버와의 직접 통신 트래픽 이 아닌 DNS서버와의 통신 트래픽으로부터 수집하며, 수집 대상 포트번호는 53번 포트이다.
다음으로, IP/Port 기반 트래픽의 경우, 헤더에는 역시 Time(트래픽 발생시간)이 기록되고, 중앙집중 서버(봇넷의 C&C 서버) 필드에는 C&C IP(C&C 서버의 IP)와 C&C Port(접속 포트번호)가 기록되며, 서버 접속 호스트(봇넷의 좀비리스트) 필드에는 Count(발견된 총 Src 개체수), Time Window(처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간) 및 좀비 IP 리스트(접속한 총 좀비들의 IP 리스트)가 기록된다. 이때, 중앙집중 서버 필드의 값은 C&C 서버와의 직접 통신 트래픽으로부터 수집되며, 수집 대상 포트번호는 모든 포트가 된다.
다음으로, URL hash 기반 트래픽의 경우, 헤더에는 역시 Time(트래픽 발생시간)이 기록되고, 중앙집중 서버(봇넷의 C&C 서버) 필드에는 C&C IP(C&C 서버의 IP)와 URL hash(동일 C&C 서버의 요청 HTTP URL 문자열 길이)가 기록되며, 서버 접속 호스트(봇넷의 좀비리스트) 필드에는 Count(발견된 총 Src 개체수), Time Window(처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간) 및 좀비 IP 리스트(접속한 총 좀비들의 IP 리스트)가 기록된다. 이때, 중앙집중 서버 필드의 값은 C&C 서버와의 직접 통신 트래픽으로부터 수집되며, 수집 대상 포트번호는 모든 포트가 된다.
따라서, 트래픽 수집 관리 모듈은 기본 수집 대상 트래픽의 데이터 포맷으로, 요청 Domain 기반 분류 리스트(DNS 트래픽으로부터 추출되는 정보)로는 DNS서버 요청 도메인명(C&C Domain), DNS서버 응답 IP 주소(C&C IP), 열거된 총 좀비 수(Count), 처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간(Time Window) 및 DNS서버에 동일한 도메인을 요청한 좀비들의 IP 리스트(좀비 IP 리스트)를 수집한다. 또한, Dst IP/Port 기반 분류 리스트(서버 접속 트래픽으로부터 추출되는 정보)로는 중앙집중 트래픽이 유발된 C&C서버의 IP 주소(C&C IP), 중앙집중 트래픽이 유발된 C&C서버의 접속 Port 번호(C&C Port), 열거된 총 좀비수(Count), 처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간(Time Window) 및 동일한 IP 주소와 Port 번호로 접속한 좀비 IP 리스트(좀비 IP 리스트)를 수집한다. HTTP URL hash 기반 분류 리스트(서버 접속 트래픽으로부터 추출되는 정보)로는 중앙집중 서버의 IP 주소(Dst IP), 포트 80/8080/443번으로 접속하는 트래픽의 요청 URL hash(URL length), 열거된 총 좀비수(Count), 처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간(Time Window) 및 동일한 IP 주소와 Port 번호로 접속한 좀비 IP 리스트(좀비 IP 리스트)를 수집하게 된다.
도 9는 봇넷 탐지 시스템에서 탐지된 봇넷 구성 정보의 전송 데이터 포맷을 나타낸 도이다. 본 발명에 따른 봇넷 탐지 시스템은 새로이 탐지된 봇넷에 대하여 도 9와 같은 포맷으로 가공하여 저장 또는 관제시스템에 전달한다. 도 9에서 탐지는 일정 수 이상의 좀비들에 의하여 발견된 트래픽을 나타내고, 비정상은 일정 수 이하의 클라이언트들에 의하여 발견된 중앙집중형 트래픽을 나타낸다.
먼저, 탐지된 봇넷 구성 정보(Class O-1)는 헤더에 local ID(탐지시스템 인식용 지역적인 봇넷 ID 번호)와 Time(최초 구성 트래픽 발생 시간)을 포함하고, C&C 서버 필드에 Type(봇넷 구성 프로토콜(HTTP)), Domain(DNS 쿼리 발생시 C&C서 버 도메인명), IP(C&C서버 IP), Port(C&C서버 포트번호) 및 Locator(C&C 서버 내 접속 위치 표시자(Channel 이름))를 포함한다. 또한, 탐지된 봇넷 구성 정보(Class O-1)는 좀비리스트 필드에 Count(접속한 총 좀비 개체수)와 Zombie IP List(접속한 모든 좀비들의 IP 리스트)를 포함하고, 분석결과 필드에 Similarity(봇넷의 구성 탐지를 위한 척도로써 이용되는 유사도 분석값)을 포함한다.
또한, 비정상 봇넷 구성 정보(Class O-2)는 기본적으로 Class O-1 데이터 포맷과 동일하며, 다만 봇넷 ID 번호는 불필요하므로 local ID 필드가 제외된다. 이는 비정상 봇넷 구성 정보의 경우 행위 트래픽 정보와 동기화 될 필요가 없기 때문이다.
본 발명의 바람직한 실시예가 특정 용어들을 사용하여 기술되어 왔지만, 그러한 기술은 오로지 설명을 하기 위한 것이며, 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것으로 이해되어져야 한다.
도 1은 본 발명에 따른 봇넷 탐지 시스템의 구성도이다.
도 2는 본 발명에 따른 트래픽 분류 모듈의 구성도이다.
도 3은 본 발명에 따른 트래픽 분류 모듈의 트래픽 분류 과정을 도시한 흐름도이다.
도 4는 본 발명에 따른 트래픽 분류 모듈의 각 구성모듈과 봇넷 구성 분석 모듈 및 봇넷 행위 분석 모듈 간의 동작 시퀀스를 나타낸 도이다.
도 5는 본 발명에 따른 봇넷 구성 분석 모듈의 구성도이다.
도 6은 본 발명에 따른 봇넷 구성 분석 모듈의 각 구성모듈의 동작 시퀀스를 나타낸 도이다.
도 7은 트래픽 정보 수집 센서와 봇넷 탐지 시스템 및 관제 시스템 간의 송수신 데이터 흐름도이다.
도 8은 트래픽 수집 관리 모듈에 의해 수집된 트래픽 정보의 전송 데이터 포맷을 나타낸 도이다.
도 9는 봇넷 탐지 시스템에서 탐지된 봇넷 구성 정보의 전송 데이터 포맷을 나타낸 도이다.

Claims (12)

  1. 사용자가 Domain을 해석하기 위해 외부와 통신하는 트래픽인 Domain 기반 트래픽, 통신 주체간의 IP와 Port를 구분하여 통신 세션을 구분할 수 있는 트래픽인 IP/Port 기반 트래픽 및 사용자 트래픽에 포함된 HTTP 요청에 대해서 요청 URL을 hash한 값으로 변경한 가공된 트래픽인 URL hash 기반 트래픽을 포함하는 트래픽이 하나의 수신지에 집중되는 중앙집중형 접속 특성을 갖는 트래픽을 수집하고 수집된 트래픽의 봇넷 여부를 판별하는 트래픽 분류 모듈(TC), 상기 트래픽 분류 모듈(TC)에 의해 수집되어 봇넷으로 분류된 트래픽에서 C&C 서버와 좀비를 분석하는 트래픽의 구성 분석을 수행하는 봇넷 구성 분석 모듈(BOA) 및 상기 트래픽 분류 모듈(TC)에 의해 수집되어 봇넷으로 분류된 트래픽에서 봇넷이 감염수를 증가시켜 그 규모를 증가시키는 행위인 봇넷 확장 행위와 에그 다운로드를 포함하는 봇넷의 행위를 분석하는 트래픽의 행위 분석을 수행하는 봇넷 행위 분석 모듈(BBA)을 포함하는 봇넷 탐지 시스템에서, HTTP 봇넷을 탐지하는 방법으로서,
    다수의 트래픽 정보 수집 센서에 의해 수집된 상기 중앙집중적 접속 특성을 갖는 트래픽을 수집하는 제 1 단계;
    상기 수집된 트래픽이 IP/Port 기반 트래픽 및 URL hash 기반 트래픽 중 어느 하나인 경우 기존에 탐지된, C&C 서버 정보와 좀비리스트를 포함하는 봇넷 정보와 비교하여 상기 트래픽을 상기 봇넷 정보에 포함되는 기존 봇넷 및 상기 봇넷 정보에 미포함되는 신종 봇넷 중 어느 하나로 봇넷 매칭하는 제 2 단계; 및
    상기 트래픽 수집 관리 모듈에 의해 수집된 트래픽 중 Domain 기반 트래픽에 대하여 VDNS(Virtual DNS) 여부를 체크하는 제 3 단계를 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  2. 제 1 항에 있어서,
    상기 제 2 단계가,
    상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C서버 정보와 상이하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 상이한 경우 상기 트래픽을 신종 봇넷 메시지 큐에 저장하는 제 2-1 단계를 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  3. 제 2 항에 있어서,
    상기 제 2 단계가,
    상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C 서버 정보와 일치하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 상이한 경우, 상기 트래픽을 봇넷 확장 행위로 구분하여 별도의 플래그를 부여하고 기존 봇넷 메시지 큐에 저장하는 제 2-2 단계;
    상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C 서버 정보와 일치하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 유사한 경우, 상기 트래픽을 C&C서버 재접속 및 에그 다운로드 행위로 구분하여 별도의 플래그를 부여하고 기존 봇넷 메시지 큐에 저장하는 제 2-3 단계; 및
    상기 트래픽의 중앙집중 서버가 상기 봇넷 정보의 C&C 서버 정보와 상이하고 상기 트래픽의 접속 클라이언트 IP 리스트가 상기 봇넷 정보의 좀비리스트와 유사한 경우, 상기 트래픽을 C&C서버 이주를 포함하는 주요 봇넷 행위로 구분하여 별도의 플래그를 부여하여 기존 봇넷 메시지 큐에 저장하는 제 2-4 단계를 더 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  4. 제 1 항에 있어서,
    상기 제 2 단계 이전에,
    상기 수집된 트래픽에 대하여, 일정 대기시간동안 동일 C&C를 기준으로 유입되는 좀비 IP 리스트들을 추가적으로 열거하는 제 1-1 단계;
    설정된 대기시간이 경과한 후 열거된 좀비 IP 리스트의 개수가 임계값을 초과하면 상기 수집된 트래픽을 봇넷의 트래픽으로 판단하는 제 1-2 단계; 및
    설정된 대기시간이 경과한 후 좀비 IP 리스트의 개수가 임계값에 미치지 못한 경우, 관제시스템의 공유정보에 의하여 업데이트되는 C&C서버 블랙리스트와 매칭하여 봇넷의 트래픽 여부를 판단하는 제 1-3 단계를 더 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  5. 제 4 항에 있어서,
    상기 제 1-3 단계가,
    "접속 Dst IP/Port”와 “C&C서버 IP/Port”를 매칭하는 제 1-4 단계; 및
    "요청 도메인에 대한 응답 IP”와 “DNS 싱크홀 IP”를 매칭하는 제 1-5 단 계를 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  6. 제 1 항에 있어서,
    상기 제 2 단계 이후에,
    상기 수집된 트래픽 정보(Domain, Dst_IP/Port, Dst_URL_len)를 수신하여 임시 구성 로그에 임시 저장하는 제 4 단계;
    상기 임시 구성 로그로부터 분석에 필요한 트래픽 정보를 주기적으로 읽어 Domain, Dst_IP/Port 및 URL별 유사도를 분석하고, 봇넷 행위로 탐지된 트래픽을 전송하는 제 5 단계;
    제 5 단계에서 탐지된 봇넷 트래픽을 전송받고 C&C를 추출 및 저장한 후, 분석을 마친 트래픽을 전송하는 제 6 단계;
    제 6 단계에서 전송된 봇넷 트래픽을 전송받아 봇넷으로 탐지된 URL에 접근하는 좀비리스트를 추출하여 분석결과 로그에 저장하는 제 7 단계; 및
    제 6 단계 및 제 7 단계에서 분석된 결과를 종합하여 로그 관리자에게 전송하는 제 8 단계를 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  7. 제 6 항에 있어서,
    상기 제 5 단계가,
    주기적으로 임시 구성 로그로부터 Domain 정보를 읽어 각 Domain별로 요청한 소스 IP들을 매트릭스에 기록하는 제 5-1 단계; 및
    설정된 시간이 경과한 후 상기 매트릭스를 분석하여 Domain 유사도를 측정하고 좀비 IP 리스트를 생성하는 제 5-2 단계를 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  8. 제 6 항에 있어서,
    상기 제 5 단계가,
    주기적으로 임시 구성 로그로부터 Dst_IP/Port 정보를 읽어 각 IP/Port 조합과 매칭되는 패킷을 전송한 소스 IP들을 매트릭스에 기록하는 제 5-3 단계; 및
    설정된 시간이 경과한 후 상기 매트릭스를 분석하여 Dst_IP/Port 유사도를 측정하고 좀비 IP 리스트를 생성하는 제 5-4 단계를 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  9. 제 6 항에 있어서,
    상기 제 5 단계가,
    주기적으로 임시 구성 로그로부터 Dst_URL 정보를 읽어 각 URL별로 요청한 소스 IP를 매트릭스에 기록하는 제 5-5 단계; 및
    설정된 시간이 경과한 후 매트릭스를 분석하여 Dst_URL의 유사도를 측정하여 좀비 IP 리스트를 생성하는 제 5-6 단계를 포함하는 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  10. 제 1 항에 있어서,
    상기 제 1 단계에서 수집된 트래픽 정보가 Domain 기반 트래픽인 경우 전송 데이터 포맷이,
    헤더에 상기 트래픽의 발생시간인 Time 필드를 포함하고,
    봇넷의 C&C 서버 필드에, C&C 서버의 DNS 쿼리 도메인명인 C&C Domain 필드 및 C&C 서버의 DNS 쿼리에 대한 응답 IP인 C&C IP 필드를 포함하고,
    봇넷의 좀비리스트 필드에, 발견된 총 좀비 개체수인 Count 필드, 처음 좀비 발생시점부터 마지막 좀비 발생까지의 시간 구간인 Time Window 필드 및 접속한 총 좀비의 IP 리스트인 좀비 IP 리스트를 포함하고,
    상기 C&C 서버 필드의 값이 DNS서버와의 통신 트래픽으로부터 수집되고 수집 대상 포트번호가 53번 포트인 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  11. 제 1 항에 있어서,
    상기 제 1 단계에서 수집되는 트래픽이 IP/Port 기반 트래픽인 경우 전송 데이터 포맷이,
    헤더에 상기 트래픽의 발생시간인 Time 필드를 포함하고,
    봇넷의 C&C 서버 필드에, C&C 서버의 IP인 C&C IP 필드 및 접속 포트번호인 C&C Port 필드를 포함하고,
    봇넷의 좀비리스트 필드에, 발견된 총 좀비 개체수인 Count 필드, 처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간인 Time Window 필드 및 접속한 총 좀비의 IP 리스트인 좀비 IP 리스트 필드를 포함하고,
    상기 C&C 서버 필드의 값이 C&C 서버와의 직접 통신 트래픽으로부터 수집되고, 수집 대상 포트번호가 모든 포트인 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
  12. 제 1 항에 있어서,
    상기 제 1 단계에서 수집되는 트래픽이 URL hash 기반 트래픽인 경우 전송 데이터 포맷이,
    헤더에 상기 트래픽의 발생시간인 Time 필드를 포함하고,
    봇넷의 C&C 서버 필드에, C&C 서버의 IP인 C&C IP 필드 및 C&C 서버의 요청 HTTP URL 문자열 길이인 URL hash 필드를 포함하고,
    봇넷의 좀비리스트 필드에, 발견된 총 좀비 개체수인 Count 필드, 처음 좀비 발생부터 마지막 좀비 발생까지의 시간 구간인 Time Window 필드 및 접속한 총 좀비의 IP 리스트인 좀비 IP 리스트 필드를 포함하고,
    상기 C&C 서버 필드의 값이 C&C 서버와 중간 전송 객체 없이 바로 통신하는 트래픽인 직접 통신 트래픽으로부터 수집되고, 수집 대상 포트번호가 모든 포트인 것을 특징으로 하는 네트워크 기반의 HTTP 봇넷 탐지 방법.
KR1020080132935A 2008-12-24 2008-12-24 네트워크 기반의 http 봇넷 탐지 방법 KR101045330B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080132935A KR101045330B1 (ko) 2008-12-24 2008-12-24 네트워크 기반의 http 봇넷 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080132935A KR101045330B1 (ko) 2008-12-24 2008-12-24 네트워크 기반의 http 봇넷 탐지 방법

Publications (2)

Publication Number Publication Date
KR20100074480A KR20100074480A (ko) 2010-07-02
KR101045330B1 true KR101045330B1 (ko) 2011-06-30

Family

ID=42636992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080132935A KR101045330B1 (ko) 2008-12-24 2008-12-24 네트워크 기반의 http 봇넷 탐지 방법

Country Status (1)

Country Link
KR (1) KR101045330B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210092142A1 (en) * 2016-02-25 2021-03-25 Imperva, Inc. Techniques for targeted botnet protection

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101109669B1 (ko) 2010-04-28 2012-02-08 한국전자통신연구원 좀비 식별을 위한 가상 서버 및 방법과, 가상 서버에 기반하여 좀비 정보를 통합 관리하기 위한 싱크홀 서버 및 방법
KR101036750B1 (ko) 2011-01-04 2011-05-23 주식회사 엔피코어 좀비행위 차단 시스템 및 방법
KR101372492B1 (ko) * 2012-07-25 2014-03-13 (주) 시스메이트 행위 기반 비대칭 트래픽 분류 장치 및 방법
LT3297221T (lt) * 2016-09-19 2018-12-27 Retarus Gmbh Įtartinų elektroninių pranešimų aptikimo būdas
CN111182002A (zh) * 2020-02-19 2020-05-19 北京亚鸿世纪科技发展有限公司 基于http首个问答包聚类分析的僵尸网络检测装置
CN114979186B (zh) * 2022-05-16 2024-06-18 浪潮云信息技术股份公司 基于Flink组件的流量链接分析方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615080B1 (ko) 2005-12-15 2006-08-25 주식회사 정보보호기술 컴퓨터 네트워크상에서 악성 봇과 웜에 대한 규칙기반탐지패턴을 자동 생성하기 위한 방법
US20080307526A1 (en) 2007-06-07 2008-12-11 Mi5 Networks Method to perform botnet detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615080B1 (ko) 2005-12-15 2006-08-25 주식회사 정보보호기술 컴퓨터 네트워크상에서 악성 봇과 웜에 대한 규칙기반탐지패턴을 자동 생성하기 위한 방법
US20080307526A1 (en) 2007-06-07 2008-12-11 Mi5 Networks Method to perform botnet detection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210092142A1 (en) * 2016-02-25 2021-03-25 Imperva, Inc. Techniques for targeted botnet protection

Also Published As

Publication number Publication date
KR20100074480A (ko) 2010-07-02

Similar Documents

Publication Publication Date Title
CN109951500B (zh) 网络攻击检测方法及装置
US20200344246A1 (en) Apparatus, system and method for identifying and mitigating malicious network threats
US8042182B2 (en) Method and system for network intrusion detection, related network and computer program product
CN110730175B (zh) 一种基于威胁情报的僵尸网络检测方法及检测系统
US8943586B2 (en) Methods of detecting DNS flooding attack according to characteristics of type of attack traffic
EP2612488B1 (en) Detecting botnets
US9661008B2 (en) Network monitoring apparatus, network monitoring method, and network monitoring program
CN105915532B (zh) 一种失陷主机的识别方法及装置
US20140047543A1 (en) Apparatus and method for detecting http botnet based on densities of web transactions
KR101045331B1 (ko) 네트워크 기반의 irc 및 http 봇넷 행위 분석 방법
WO2014119669A1 (ja) ログ分析装置、情報処理方法及びプログラム
US7873998B1 (en) Rapidly propagating threat detection
KR101045330B1 (ko) 네트워크 기반의 http 봇넷 탐지 방법
US20030084319A1 (en) Node, method and computer readable medium for inserting an intrusion prevention system into a network stack
JP2003527793A (ja) ネットワークにおける、自動的な侵入検出及び偏向のための方法
KR101487476B1 (ko) 악성도메인을 검출하기 위한 방법 및 장치
Kim et al. Agent-based honeynet framework for protecting servers in campus networks
Lu et al. APT traffic detection based on time transform
KR20130105769A (ko) 악성 도메인 탐지 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
Keshri et al. DoS attacks prevention using IDS and data mining
KR101045556B1 (ko) 네트워크 기반의 irc 봇넷 탐지 방법
Prieto et al. Botnet detection based on DNS records and active probing
Prasad et al. Flooding attacks to internet threat monitors (ITM): modeling and counter measures using botnet and honeypots
KR100977827B1 (ko) 악성 웹 서버 시스템의 접속탐지 장치 및 방법
Abdulla et al. Setting a worm attack warning by using machine learning to classify netflow data

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20140703

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150617

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee