KR101666177B1 - 악성 도메인 클러스터 탐지 장치 및 방법 - Google Patents

악성 도메인 클러스터 탐지 장치 및 방법 Download PDF

Info

Publication number
KR101666177B1
KR101666177B1 KR1020150044016A KR20150044016A KR101666177B1 KR 101666177 B1 KR101666177 B1 KR 101666177B1 KR 1020150044016 A KR1020150044016 A KR 1020150044016A KR 20150044016 A KR20150044016 A KR 20150044016A KR 101666177 B1 KR101666177 B1 KR 101666177B1
Authority
KR
South Korea
Prior art keywords
domain
cluster
malicious
domains
normal
Prior art date
Application number
KR1020150044016A
Other languages
English (en)
Other versions
KR20160116415A (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 KR1020150044016A priority Critical patent/KR101666177B1/ko
Priority to US14/735,579 priority patent/US9560063B2/en
Publication of KR20160116415A publication Critical patent/KR20160116415A/ko
Application granted granted Critical
Publication of KR101666177B1 publication Critical patent/KR101666177B1/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
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • 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/142Denial of service attacks against network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

집합적으로 사용되는 악성 도메인들을 클러스터로 묶어 탐지하고 분석하는 악성 도메인 클러스터 탐지 장치 및 방법을 제시한다. 제시된 장치는 네트워크를 통해 DNS 트래픽을 수집하고 이를 데이터베이스에 저장하는 DNS 데이터 수집부, 및 DNS 데이터를 근거로 도메인 클러스터를 생성하고 도메인 클러스터에서 정상 클러스터 및 악성 클러스터의 특징을 학습하고 학습 결과를 근거로 도메인 클러스터에 대한 악성 여부를 탐지하는 악성 도메인 클러스터 탐지부를 포함한다.

Description

악성 도메인 클러스터 탐지 장치 및 방법{Malicious domain cluster detection apparatus and method}
본 발명은 악성 도메인 클러스터 탐지 장치 및 방법에 관한 것으로, 보다 상세하게는 악성 도메인을 클러스터 단위로 기계학습하여 탐지하는 장치 및 방법에 관한 것이다.
종래의 악성 도메인 탐지 방법으로는 DNS 트래픽을 모니터링하여 악성 도메인을 개별 단위로 탐지하는 방법이 대한민국 공개특허 제2014-0035678호(학습 가능한 DNS 분석기 및 분석 방법)에 개시되었다. 대한민국 공개특허 제2014-0035678호에서는 악성 도메인을 개별적으로 탐지한다. 그러나, 대한민국 공개특허 제2014-0035678호에 따르면 집합적으로 사용된 악성 도메인들 중 일부를 놓칠 수 있다.
한편, 악성 코드에 감염된 호스트들의 집단 행동을 기반으로 집단 행동 악성코드를 검색하는 방법이 대한민국 공개특허 제2010-0084488호(집단행동 악성코드 검색 방법 및 장치)에 개시되었다. 대한민국 공개특허 제2010-0084488호에서는 화이트리스트에 있는 트래픽을 제외한 집단 행동을 보이는 모든 트래픽을 악성으로 판단한다. 그러나, 대한민국 공개특허 제2010-0084488호에 따르면 화이트리스트에 없는 새로운 트래픽이 발생할 경우 취약하다는 문제가 있다.
한편, 도메인 이름 서비스 질의 데이터를 이용하여 봇넷(botnet)을 탐지하는 방법이 대한민국 공개특허 제2012-0092286호(도메인 이름 서비스 질의 데이터를 이용한 봇넷 탐지 방법 및 시스템)에 개시되었다. 대한민국 공개특허 제2012-0092286호에서는 도메인 질의 순서를 고려하여 도메인 관계 그래프를 생성한다. 그러나, 대한민국 공개특허 제2012-0092286호에 따르면 악성 도메인들이 새롭게 사용되어 그래프로 형성될 경우 해당 도메인의 일부가 블랙리스트에 올라갈 때까지 악성 여부를 판단할 수 없다.
한편, 2011년 NDSS에 게재된 "EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis"(Leyla Bilge, Engin Kirda, Christopher Kruegel,and Marco Balduzzi)에는 Passive DNS 분석 기법을 이용하여 악성 행위에 연루된 도메인들을 탐지하는 방법이 제시되었다. 이러한 방법 역시 상술한 대한민국 공개특허 제2014-0035678호에서와 같이 악성 도메인을 개별적으로 탐지하지만, 집합적으로 사용된 악성 도메인들 중 일부를 놓칠 수 있다.
한편, 2007년 ICCIT에 게재된 "Botnet Detection by Monitoring Group Activities in DNS Traffic"(Hyunsang Choi, Hanwoo Lee, Heejo Lee, Hyogon Kim)에는 DNS 트래픽을 모니터링하여 봇넷을 탐지하는 방법이 제시되었다. 이 방법 역시 상술한 대한민국 공개특허 제2010-0084488호에서와 같이 화이트리스트에 있는 도메인을 제외한 집단 행동을 보이는 모든 도메인을 악성으로 판단하지만, 화이트리스트에 없는 새로운 트래픽이 발생할 경우 취약하다는 문제가 있다.
그리고, 2014년 4월 Computer Communication Volume 49, Pages 33~47에 게재된 "Graph-based Malware Activity Detection by DNS traffic analysis"(Jehyun Lee, Heejo Lee)에는 DNS 질의 순서를 고려하여 악성행위를 탐지하는 방법이 제시되었다. 이 방법 역시 상술한 대한민국 공개특허 제2012-0092286호에서와 같이 도메인 질의 순서를 고려하여 도메인 관계 그래프를 생성하지만, 악성 도메인들이 새롭게 사용되어 그래프로 형성될 경우 해당 도메인의 일부가 블랙리스트에 올라갈 때까지 악성 여부를 판단할 수 없다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 집합적으로 사용되는 악성 도메인들을 클러스터로 묶어 탐지하고 분석하는 악성 도메인 클러스터 탐지 장치 및 방법을 제공함에 그 목적이 있다.
본 발명의 다른 목적은 종래 개별 악성 도메인의 특징을 기계 학습하여 탐지함에 따라 도메인이 집합적으로 사용되었을 때 함께 사용된 악성 도메인의 일부를 놓칠 수 있다는 점을 극복할 수 있는 악성 도메인 클러스터 탐지 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 집합적으로 사용된 악성 도메인을 클러스터로 묶더라도 클러스터의 악성 여부를 기존의 블랙리스트나 화이트리스트에 전적으로 의지함에 따라 기존에 사용되지 않은 도메인으로만 이루어진 클러스터가 생성될 경우 이에 대한 악성 여부를 판단하기 어려운 문제점을 악성 클러스터와 정상 클러스터의 특징을 기계 학습하는 방식을 통해 해결할 수 있는 악성 도메인 클러스터 탐지 장치 및 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 악성 도메인 클러스터 탐지 장치는, 네트워크를 통해 DNS 트래픽을 수집하고 이를 데이터베이스에 저장하는 DNS 데이터 수집부; 및 상기 DNS 데이터를 근거로 도메인 클러스터를 생성하고, 상기 도메인 클러스터에서 정상 클러스터 및 악성 클러스터의 특징을 학습하고, 상기 학습 결과를 근거로 상기 도메인 클러스터에 대한 악성 여부를 탐지하는 악성 도메인 클러스터 탐지부;를 포함한다.
상기 악성 도메인 클러스터 탐지부는, 상기 DNS 데이터를 근거로 집단 행동을 보이는 도메인들을 묶어 상기 도메인 클러스터를 생성하는 클러스터링 모듈부; 상기 생성된 도메인 클러스터에 악성 또는 정상의 클러스터 라벨을 부여하는 라벨링 모듈부; 상기 생성된 도메인 클러스터를 근거로 악성 클러스터와 정상 클러스터에서 다르게 나타나는 클러스터 특징을 추출하는 특징 추출 모듈부; 상기 클러스터 라벨 및 상기 클러스터 특징을 기반으로 상기 악성 클러스터와 상기 정상 클러스터를 학습하는 학습 모듈부; 및 상기 학습 모듈부의 학습 결과를 기반으로 상기 도메인 클러스터에 대한 악성 여부를 탐지하는 탐지 모듈부;를 포함할 수 있다.
상기 클러스터링 모듈부는, 상기 집단 행동을 보이는 도메인들을 묶기 위해, 각 도메인을 특정 시간 동안 해당 도메인을 질의한 호스트의 IP주소 목록으로 나타내고, 도메인들 간에 호스트 IP주소 목록의 유사성을 계산하여 호스트 IP주소 목록이 유사한 도메인들을 클러스터로 묶을 수 있다.
상기 라벨링 모듈부는, 상기 클러스터 라벨을 부여하기 위해, 상기 도메인 클러스터내 도메인들의 악성 여부를 외부 도메인 평가 서비스를 통한 도메인 라벨로 확인할 수 있다.
상기 라벨링 모듈부는, 상기 도메인 라벨과 클러스터 구분 기준을 근거로 상기 도메인 클러스터에 대한 클러스터 라벨을 부여할 수 있다.
상기 라벨링 모듈부는, 상기 도메인 라벨이 위험을 나타내는 것이면 해당 도메인을 악성 도메인으로 간주하고, 상기 도메인 라벨이 안전을 나타내는 것이면 해당 도메인을 정상 도메인으로 간주할 수 있다.
상기 라벨링 모듈부는, 상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 상기 악성 도메인일 경우 악성 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여할 수 있다.
상기 라벨링 모듈부는, 상기 도메인 클러스터 내 도메인들 중 상기 악성 도메인이 최소 기설정치 이상 존재하고 상기 정상 도메인이 하나도 없으면 악성 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여할 수 있다.
상기 라벨링 모듈부는, 상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 상기 정상 도메인일 경우 정상 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여할 수 있다.
상기 라벨링 모듈부는, 상기 도메인 클러스터 내 도메인들 중 상기 정상 도메인이 최소 기설정치 이상 존재하고 상기 악성 도메인이 하나도 없으면 정상 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여할 수 있다.
상기 특징 추출 모듈부는, 상기 도메인 클러스터 내의 도메인 나이의 평균과 상기 도메인 나이의 표준편차를 특징 항목으로 추출하는 도메인 나이 추출 모듈부; 상기 도메인 클러스터 내의 도메인 유명도의 평균과 상기 도메인 유명도의 표준편차를 특징 항목으로 추출하는 도메인 유명도 추출 모듈부; 상기 도메인 클러스터 내의 도메인들의 환원된 IP 주소를 특징 항목으로 추출하는 환원된 IP 주소 추출 모듈부; 및 상기 도메인 클러스터 내의 도메인을 가리키는 웹페이지 링크의 평균과 상기 웹페이지 링크의 표준편차를 특징 항목으로 추출하는 도메인 링크 추출 모듈부;를 포함할 수 있다.
상기 학습 모듈부는 새로 생성된 도메인 클러스터에 대한 학습을 지속적으로 수행하여 상기 악성 도메인 클러스터의 탐지 규칙을 갱신할 수 있다.
상기 DNS 데이터 수집부는 네트워크 트래픽중에서 DNS 트래픽 데이터만 추려내고, 이를 가공한 DNS 데이터만을 상기 데이터베이스에 저장할 수 있다.
상기 DNS데이터는 도메인 질의 및 응답이 이루어진 시간, 도메인을 질의한 클라이언트 IP 주소를 익명으로 만든 해쉬 값, 질의된 도메인 이름, 도메인 응답 형태, 도메인 응답 값, 도메인의 TTL 값을 포함할 수 있다.
한편, 본 발명의 바람직한 실시양태에 따른 악성 도메인 클러스터 탐지 방법은, 네트워크를 통해 DNS 트래픽을 수집하고 이를 데이터베이스에 저장하는 단계; 상기 DNS 데이터를 근거로 도메인 클러스터를 생성하는 단계; 상기 도메인 클러스터에서 정상 클러스터 및 악성 클러스터의 특징을 학습하는 단계; 및 상기 학습하는 단계의 결과를 근거로 상기 도메인 클러스터에 대한 악성 여부를 탐지하는 단계;를 포함한다.
상기 생성하는 단계와 상기 학습하는 단계 사이에, 상기 생성된 도메인 클러스터에 악성 또는 정상의 클러스터 라벨을 부여하는 단계; 및 상기 악성 도메인 클러스터 탐지부가, 상기 생성된 도메인 클러스터를 근거로 악성 클러스터와 정상 클러스터에서 다르게 나타나는 클러스터 특징을 추출하는 단계;를 추가로 포함할 수 있고, 상기 학습하는 단계는 상기 클러스터 라벨 및 상기 클러스터 특징을 기반으로 상기 악성 클러스터와 상기 정상 클러스터를 학습할 수 있다.
상기 클러스터 라벨을 부여하는 단계는, 상기 도메인 클러스터내 도메인들의 악성 여부를 외부 도메인 평가 서비스를 통한 도메인 라벨로 확인하고, 상기 도메인 라벨과 클러스터 구분 기준을 근거로 상기 도메인 클러스터에 악성 또는 정상의 클러스터 라벨을 부여할 수 있다.
상기 클러스터 라벨을 부여하는 단계는, 상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 악성 도메인이거나, 상기 도메인 클러스터 내 도메인들 중 상기 악성 도메인이 최소 기설정치 이상 존재하고 정상 도메인이 하나도 없으면 악성 클러스터에 해당하는 클러스터 라벨을 부여할 수 있다.
상기 클러스터 라벨을 부여하는 단계는, 상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 정상 도메인이거나, 상기 도메인 클러스터 내 도메인들 중 상기 정상 도메인이 최소 기설정치 이상 존재하고 악성 도메인이 하나도 없으면 정상 클러스터에 해당하는 클러스터 라벨을 부여할 수 있다.
상기 클러스터 특징을 추출하는 단계는, 상기 도메인 클러스터 내의 도메인 나이의 평균과 상기 도메인 나이의 표준편차, 상기 도메인 클러스터 내의 도메인 유명도의 평균과 상기 도메인 유명도의 표준편차, 상기 도메인 클러스터 내의 도메인들의 환원된 IP 주소, 및 상기 도메인 클러스터 내의 도메인을 가리키는 웹페이지 링크의 평균과 상기 웹페이지 링크의 표준편차를 특징 항목으로 추출할 수 있다.
이러한 구성의 본 발명에 따르면, 악성 도메인을 집합적으로 사용하는 공격을 탐지할 때 사용된 악성 도메인들의 일부를 놓치는 경우를 줄일 수 있다.
그리고, 악성 도메인들이 어떤 방식을 통해 사용되고 있는지 분석할 수 있게 된다.
또한, 악성 도메인을 집합적으로 사용하는 공격이 기존의 블랙리스트에 없던 악성 도메인들로만 이루어지더라도 악성 도메인들이 클러스터 단위에서 보이는 특징을 이용하여 이를 탐지할 수 있다.
도 1은 본 발명의 실시예에 따른 악성 도메인 클러스터 탐지 장치의 구성도이다.
도 2는 본 발명의 실시예에 따른 악성 도메인 클러스터 탐지 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시예가 구현된 컴퓨터 시스템을 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 악성 도메인 클러스터 탐지 장치의 구성도이다.
본 발명의 실시예에 따른 악성 도메인 클러스터 탐지 장치(100)는, DNS 데이터 수집부(10), 데이터베이스부(20), 및 악성 도메인 클러스터 탐지부(30)를 포함한다.
DNS 데이터 수집부(10)는 Passive DNS 복제 방식을 이용하여 클라이언트와 Recursive Name 서버 간에 오가는 트래픽을 수집한다. 여기서, Passive DNS 복제 방식은 네트워크 트래픽이 DNS 서버(1)로 가는 길목에 네트워크 태핑 장치(도시 생략)를 연결하여 네트워크 태핑 장치로 하여금 DNS 서버(1)로 오가는 네트워크 트래픽을 실시간으로 복제하여 전달하도록 하는 방법을 말한다.
네트워크 태핑 장치가 DNS 데이터 수집부(10)에 전달하는 네트워크 트래픽은 TCP 트래픽 데이터 및 UDP 트래픽 데이터를 포함한다. UDP 트래픽 데이터는 DNS 트래픽 데이터(UDP 53포트)를 포함한다.
그에 따라, DNS 데이터 수집부(10)는 전달받은 네트워크 트래픽 중 DNS 트래픽 데이터만 추려내고, 이를 가공한 DNS 데이터만을 데이터베이스부(20)의 DNS 데이터 저장부(21)에 저장한다. 여기서, DNS 데이터는 도메인 질의 및 응답이 이루어진 시간, 도메인을 질의한 클라이언트 IP 주소를 익명으로 만든 해쉬 값, 질의된 도메인 이름, 도메인 응답 형태, 도메인 응답 값, 도메인의 TTL(Time to Live) 값을 포함한다. 도메인 응답 값은 도메인이 환원되는 IP 주소와 도메인의 Canonical Name을 포함한다.
악성 도메인 클러스터 탐지부(30)는 DNS 데이터 수집부(10)에서 수집한 DNS 데이터를 근거로 도메인 클러스터를 생성하고, 도메인 클러스터에서 정상 클러스터 및 악성 클러스터의 특징을 학습하고, 학습 결과를 근거로 도메인 클러스터에 대한 악성 여부를 탐지할 수 있다. 이를 위해, 악성 도메인 클러스터 탐지부(30)는 클러스터링 모듈부(31), 라벨링 모듈부(32), 특징 추출 모듈부(33), 학습 모듈부(34), 및 탐지 모듈부(35)를 포함한다.
클러스터링 모듈부(31)는 집단 행동을 보이는 도메인들을 클러스터로 묶는 작업을 수행한다. 다시 말해서, 클러스터링 모듈부(31)는 집단 행동을 보이는 도메인들을 묶기 위해 각 도메인을 특정 시간(예컨대, 하루) 동안 해당 도메인을 질의한 호스트의 IP주소 목록으로 나타낸다. 다음으로, 도메인들 간에 호스트 IP주소 목록의 유사성을 계산하여 호스트 IP주소 목록이 유사한 도메인들을 클러스터로 묶는다. 호스트 IP주소 목록이 유사한 도메인들을 클러스터로 묶기 위해 데이터마이닝 분야의 클러스터링 알고리즘(예컨대, CLOPE)를 사용할 수 있다. 클러스터링 알고리즘을 구동한 결과로 생성되는 클러스터는 집단 행동을 보이는(즉, 호스트 IP주소 목록이 유사한) 도메인의 집합으로 이루어진다. 클러스터링 모듈부(31)는 생성된 도메인 클러스터를 데이터베이스부(20)의 도메인 클러스터 저장부(22)에 저장한다.
다시 말해서, 클러스터링 모듈부(31)는 DNS 데이터 수집부(10)에서 수집한 DNS 데이터로부터 집단 행동을 보이는 도메인들을 묶어 도메인 클러스터를 생성할 수 있다. 여기서, 도메인 클러스터는 하나 이상 생성될 수 있다.
라벨링 모듈부(32)는 학습에 사용할 도메인 클러스터를 준비하기 위해 클러스터링 모듈부(31)에서 생성한 도메인 클러스터에 악성 또는 정상의 클러스터 라벨을 부여한다. 도메인 클러스터에 라벨을 부여하기 위해서 먼저 도메인 클러스터 내 도메인들의 악성 여부를 판단하여야 하는데, 이를 위하여 외부 도메인 평가 서비스(예컨대, McAfee의 SiteAdvisor, Norton의 SafeWeb, Google의 SafeBrowsing 등)를 이용할 수 있다. 외부 도메인 평가 서비스는 주어진 도메인에 대해서 예를 들어 네 가지 라벨, 즉 "위험한", "의심스런", "알 수 없는", "안전한" 중에서 하나의 도메인 라벨을 알려준다. 라벨링 모듈부(32)는 외부 도메인 평가 서비스를 통해 확인한 도메인 라벨을 데이터베이스부(20)의 도메인 라벨 저장부(23)에 저장한다. 외부 도메인 평가 서비스에 의해 위험하다고 판명이 난 도메인을 악성 도메인으로 간주할 수 있고, 안전한 목적으로 사용되고 있음이 판명이 난 도메인을 정상 도메인으로 간주할 수 있다.
도메인 클러스터 안 도메인들의 악성 여부를 판별하였다고 하더라도 도메인 클러스터 내에 악성 도메인과 정상 도메인이 혼재되어 있을 수 있기 때문에 어떤 도메인 클러스터를 악성 또는 정상으로 간주할 지에 대한 추가적인 기준이 필요하다. 악성 클러스터는 다음의 두 가지 기준(악성 클러스터 구분 기준) 중 하나를 사용하여 정의할 수 있다.
1. 도메인 클러스터 내 도메인들 중 일정 비율(예컨대, 50%) 이상이 악성 도메인일 경우 해당 도메인 클러스터를 악성 클러스터라고 정의한다.
2. 도메인 클러스터 내 도메인들 중 악성 도메인이 최소 몇 개(예컨대, 2개) 이상 있고 정상 도메인이 하나도 없으면 해당 도메인 클러스터를 악성 클러스터라고 정의한다.
그리고, 정상 클러스터도 마찬가지로 다음의 두 가지 기준(정상 클러스터 구분 기준) 중 하나를 사용하여 정의할 수 있다.
1. 도메인 클러스터 내 도메인들 중 일정 비율(예컨대, 50%) 이상이 정상 도메인일 경우 해당 도메인 클러스터를 정상 클러스터라고 정의한다.
2. 도메인 클러스터 내 도메인들 중 정상 도메인이 최소 몇 개(예컨대, 2개) 이상 있고 악성 도메인이 하나도 없으면 해당 도메인 클러스터를 정상 클러스터라고 정의한다.
이 밖에도, 정상 도메인과 악성 도메인이 섞여있는 도메인 클러스터는 혼재된 클러스터로 정의하여 클러스터 라벨을 부여할 수 있고, 도메인 클러스터 내 모든 도메인의 상태를 알 수 없는 경우를 알 수 없는 클러스터로 정의하여 클러스터 라벨을 부여할 수 있다.
그에 따라, 라벨링 모듈부(32)는 도메인 라벨과 클러스터 구분 기준(즉, 정상 클러스터 구분 기준, 악성 클러스터 구분 기준)을 사용하여 도메인 클러스터에 대한 클러스터 라벨을 부여하고, 클러스터 라벨을 데이터베이스부(20)의 클러스터 라벨 저장부(24)에 저장한다. 즉, 라벨링 모듈부(32)는 도메인 클러스터내의 도메인들이 악성 클러스터 구분 기준 및 정상 클러스터 구분 기준 중에서 어느 기준을 충족시키는지에 따라 그에 상응하는 클러스터 라벨을 부여할 수 있다.
특징 추출 모듈부(33)는 클러스터링 모듈부(31)에서 생성된 도메인 클러스터를 근거로 악성 클러스터와 정상 클러스터에서 다르게 나타나는 클러스터 특징을 추출하고, 클러스터 특징을 데이터베이스부(20)의 클러스터 특징 저장부(29)에 저장한다. 여기서, 클러스터 특징은 추후에 학습 모듈부(34)에서 악성 및 정상 클러스터를 학습하고 탐지 모듈부(35)에서 악성 도메인 클러스터를 분류할 때 사용된다.
특징 추출 모듈부(33)는 도메인 나이 추출 모듈부(36), 도메인 유명도 추출 모듈부(37), 환원된 IP주소 추출 모듈부(38), 및 도메인 링크 추출 모듈부(39)를 포함한다. 이러한 도메인 나이 추출 모듈부(36), 도메인 유명도 추출 모듈부(37), 환원된 IP주소 추출 모듈부(38), 및 도메인 링크 추출 모듈부(39)를 세부 특징 추출 모듈들이라고 한다. 이러한 세부 특징 추출 모듈들은 저마다 특징 항목을 추출한다. 여기서, 악성 클러스터와 정상 클러스터에서 다르게 나타나는 특징 항목은 도메인 나이, 도메인 유명도, 환원된 IP주소, 도메인 링크 등이 있을 수 있다. 클러스터 특징은 이러한 각 특징 항목들을 모두 포함하며, 각 특징 항목들은 벡터로 표시된다.
도메인 나이 추출 모듈부(36)는 도메인 나이 특징 항목을 추출하여 데이터베이스부(20)의 도메인 나이 저장부(25)에 저장한다. 도메인 나이 특징 항목은 도메인 클러스터 내 도메인 나이의 평균 및 도메인 나이의 표준편차를 포함한다. 여기서, 도메인 나이는 도메인이 등록된 시점부터 도메인이 관찰된 시점까지 시간의 차이(예컨대, 날짜)를 이용하여 구할 수 있다. 악성 클러스터는 정상 클러스터보다 상대적으로 등록된 지 오래되지 않은 도메인을 가지고 있는 경우가 많으며, 악성 클러스터 내 도메인들이 유사한 범위의 나이값을 갖는다는 점을 클러스터 분류에 이용한다.
도메인 유명도 추출 모듈부(37)는 도메인 유명도 특징 항목을 추출하여 데이터베이스부(20)의 도메인 유명도 저장부(26)에 저장한다. 도메인 유명도 특징 항목은 도메인 클러스터 내 도메인 유명도의 평균 및 도메인 유명도의 표준편차를 포함한다. 여기서, 도메인 유명도는 도메인이 사용된 기록을 토대로 도메인의 유명도 랭킹을 측정하여 제공하는 외부 서비스(예컨대, Alexa)를 이용하여 구할 수 있다. 악성 클러스터는 정상 클러스터보다 상대적으로 유명하지 않은 도메인을 가지고 있는 경우가 많으며, 악성 클러스터 내 도메인들이 유사한 범위의 유명도 랭킹값을 갖는다는 점을 클러스터 분류에 이용한다.
환원된 IP주소 추출 모듈부(38)는 환원된 IP주소 특징 항목을 추출하여 데이터베이스부(20)의 환원된 IP 주소 저장부(27)에 저장한다. 환원된 IP주소 특징 항목은 도메인 클러스터 내 도메인들이 얼마나 다양한 IP주소로 환원되는지, 그리고 환원되는 IP주소가 얼마나 다양한 국가와 BGP Prefix, ASN, Registry에 연결되는지에 대한 각각의 값들을 포함한다. 악성 클러스터는 FastFlux기법을 사용하는 경우를 제외하고는 정상 클러스터보다 상대적으로 덜 다양한 국가, BGP Prefix, ASN, Reigstry에 연결되는 경우가 많다는 점을 클러스터 분류에 이용한다.
도메인 링크 추출 모듈부(39)는 도메인 링크 특징 항목을 추출하여 데이터베이스부(20)의 도메인 링크 저장부(28)에 저장한다. 도메인 링크 특징 항목은 도메인 클러스터 내 도메인 링크의 평균 및 도메인 링크의 표준편차를 포함한다. 여기서, 도메인 링크는 다른 웹페이지들로부터 해당 도메인을 가리키는 링크의 숫자를 말하며, 검색 엔진(예컨대, Google, Bing, Yahoo)에서 제공하는 검색 연산자를 이용하여 구할 수 있다. 악성 클러스터는 정상 클러스터보다 링크의 수가 적은 경우가 많으며, 악성 클러스터 내 도메인들이 유사한 범위의 링크 값을 갖는다는 점을 클러스터 분류에 이용한다.
도 1에서, 학습 모듈부(34)는 클러스터 라벨과 클러스터 특징을 입력으로 받아 학습을 수행한다. 여기서, 학습으로는 기계 학습 분야의 어떠한 2-클래스 학습 알고리즘(예컨대, 결정 트리, 랜덤 포레스트 등)을 사용하여도 무방하다. 학습을 할 때 악성 클러스터의 수와 정상 클러스터 수의 비율을 맞춰주기 위해 언더 샘플링 기법을 활용한다.
다시 말해서, 학습 모듈부(34)는 클러스터링 모듈부(31)에서 생성한 도메인 클러스터의 클러스터 라벨과 클러스터 특징을 기반으로 악성 클러스터와 정상 클러스터를 기계 학습할 수 있다.
탐지 모듈부(35)는 학습 모듈부(34)에서 학습한 내용을 토대로 하여 라벨이 없거나 알 수 없는 라벨을 가진 클러스터의 특징을 입력으로 받아 해당 도메인 클러스터가 악성인지 또는 정상인지를 판별해낸다.
다시 말해서, 탐지 모듈부(35)는 학습 모듈부(34)에서의 분류 규칙을 이용하여 도메인 클러스터 중 악성 클러스터를 탐지할 수 있다. 여기서, 학습 모듈부(34)에서의 분류 규칙은 악성 도메인 클러스터의 탐지 규칙이라고 할 수 있다.
도 1에서는 탐지 모듈부(35)와 학습 모듈부(34)를 기능상 나누었으나, 탐지 모듈부(35)는 학습 모듈부(34)에서 사용한 학습 알고리즘과 동일한 알고리즘의 분류기를 사용하기 때문에 실제 구현상에서는 학습 모듈부(34)와 탐지 모듈부(35)는 하나로 묶여질 수 있다.
상술한 본 발명에서는 도메인을 기존의 단일 도메인 탐지 방식으로 탐지하는 것이 아니라, 클러스터 단위로 집합적으로 탐지함으로써 다음의 두 가지 장점을 가질 수 있다.
먼저, 악성 도메인들을 클러스터로 탐지함으로써 어떤 공격을 위해 도메인이 집합적으로 사용되었을 경우 이들 도메인 중 일부를 놓치는 경우를 줄일 수 있다. 단일 도메인 탐지 방식은 개개의 도메인을 탐지할 때 도메인간의 연관성을 고려하지 않기 때문에 집합적으로 사용된 도메인들 중 일부를 탐지하지 못할 수 있다. 이때, 도메인을 하나라도 놓치게 되면 놓친 도메인을 통해 봇넷과 C&C 서버와의 통신채널이 계속 유지될 수 있고, 해당 통신채널을 이용하여 기존에 탐지한 악성 도메인 목록을 다른 이름을 가진 도메인 목록으로 새로 업데이트할 수 있기 때문에 탐지한 도메인들이 무효화될 수 있다. 따라서, 해당 공격을 근절하기 위해서 관련된 도메인을 하나도 놓치지 않고 한꺼번에 탐지하는 것이 중요하다. 서로 연관있는 도메인들을 클러스터로 묶어서 악성 클러스터를 탐지하는 본 발명의 경우, 공격을 위해 집합적으로 사용된 도메인들이 클러스터로 묶이기 때문에 일부를 놓치지 않고 탐지할 수 있다.
다음으로, 악성 도메인들을 클러스터로 탐지함으로써 공격을 위해 집합적으로 사용된 도메인들이 어떤 방식으로 사용되고 있는지를 분석할 수 있다. 단일 도메인 탐지 방식으로 탐지한 개별 악성 도메인들로부터 얻을 수 있는 정보에 더해서 도메인 클러스터 내 도메인들의 연관성으로부터 보다 거시적인 시야에서 추가적인 정보를 추출할 수 있다. 예를 들어, 탐지한 악성 클러스터 내 악성 도메인들이 도메인 문자열을 어떤 식으로 배열하고 있는지, 악성 도메인들에 연결된 서버들이 지역적으로 어떻게 분포되어 있는지, 네트워크 내 어떤 호스트들이 감염되어 있는지 등을 확인할 수 있다. 이렇게 추출한 정보들을 토대로 공격자들이 현재 악성 도메인들을 사용하는 경향을 분석할 수 있고, 분석한 결과를 토대로 추후 공격에 대한 대응책을 마련하는데 활용할 수 있다.
데이터베이스부(20)는 DNS 데이터 저장부(21), 도메인 클러스터 저장부(22), 도메인 라벨 저장부(23), 클러스터 라벨 저장부(24), 도메인 나이 저장부(25), 도메인 유명도 저장부(26), 환원된 IP주소 저장부(27), 도메인 링크 저장부(28), 및 클러스터 특징 저장부(29)를 포함한다.
도 2는 본 발명의 실시예에 따른 악성 도메인 클러스터 탐지 방법을 설명하기 위한 흐름도이다.
먼저, DNS 데이터 수집부(10)는 네트워크를 통해 DNS 트래픽을 수집하고, 이를 가공한 DNS 데이터만을 데이터베이스부(20)의 DNS 데이터 저장부(21)에 저장한다(S10).
이어, 악성 도메인 클러스터 탐지부(30) 내의 클러스터링 모듈부(31)는 데이터베이스부(20)에 저장된 DNS 데이터를 근거로 집단 행동을 보이는 도메인들을 클러스터로 묶은 도메인 클러스터를 생성한다(S20). 클러스터링 모듈부(31)는 생성한 도메인 클러스터를 데이터베이스부(20)의 도메인 클러스터 저장부(22)에 저장한다.
그리고, 악성 도메인 클러스터 탐지부(30) 내의 라벨링 모듈부(32)는 데이터베이스부(20)에 저장된 도메인 클러스터에 악성 또는 정상의 클러스터 라벨을 부여한다(S30). 여기서, 도메인 클러스터에 클러스터 라벨을 부여하기 위해 라벨링 모듈부(32)는 먼저 도메인 클러스터 내 도메인들에 도메인 라벨을 부여한다. 한편, 탐지 모듈부(35)에서 과거에 악성으로 탐지한 도메인 클러스터도 악성에 해당하는 라벨을 부여할 수 있다. 이와 같이 부여된 클러스터 라벨은 데이터베이스부(20)의 클러스터 라벨 저장부(24)에 저장된다.
이후, 악성 도메인 클러스터 탐지부(30) 내의 특징 추출 모듈부(33)는 데이터베이스부(20)에 저장된 도메인 클러스터로부터 악성 클러스터와 정상 클러스터에서 다르게 나타나는 클러스터 특징을 추출한다(S40). 이때, 특징 추출 모듈부(33)는 도메인 나이, 도메인 유명도, 환원된 IP 주소, 및 도메인 링크에 대한 정보를 특징 항목으로서 추출하는데, 이러한 특징 항목들을 종합하여 클러스터 특징을 생성한다. 추출된 도메인 나이 특징 항목, 도메인 유명도 특징 항목, 환원된 IP 주소 특징 항목, 및 도메인 링크 특징 항목은 데이터베이스부(20)의 도메인 나이 저장부(25), 도메인 유명도 저장부(26), 환원된 IP 주소 저장부(27), 및 도메인 링크 저장부(28)에 저장되고, 생성된 클러스터 특징은 클러스터 특징 저장부(29)에 저장된다.
다음으로, 악성 도메인 클러스터 탐지부(30)는 학습 모드가 설정되었는지 여부를 판단한다(S50).
판단 결과, 학습 모드가 설정되었다면(S50에서 "Yes") 학습 모듈부(34)가 활성화된다. 그에 따라, 학습 모듈부(34)는 데이터베이스부(20)에 저장된 클러스터 라벨과 클러스터 특징을 참조하여 악성 및 정상 클러스터를 학습한다(S60).
만일, 학습 모드가 설정되어 있지 않았다면(S50에서 "No") 탐지 모듈부(35)가 활성화된다. 그에 따라, 탐지 모듈부(35)는 데이터베이스부(20)에 저장된 도메인 클러스터로부터 악성 클러스터를 탐지한다(S70). 이때, 탐지 모듈부(35)에 입력으로 주어지는 도메인 클러스터는 클러스터 라벨을 알 수 없는 클러스터로 제한할 수 있다.
이후, 악성 도메인 클러스터 탐지부(30)는 종료 신호가 입력되었는지 여부를 판단한다(S80).
단계 S80에서의 판단 결과, 만일 종료 신호가 입력되지 않았다면 상술한 단계 S10로 진행하여 DNS 트래픽 수집부터 이후의 과정들을 반복한다. 이러한 반복에 의하여 학습 모듈부(34)는 새로 생성된 도메인 클러스터에 대한 학습을 지속적으로 수행하여 악성 도메인 클러스터의 탐지 규칙을 변화하는 환경에 맞추어 갱신할 수 있다. 그에 따라, 탐지 모듈부(35)는 학습 모듈부(34)의 결과를 근거로 새로운 공격을 탐지할 수 있게 된다.
단계 S80에서의 판단 결과, 만일 종료 신호가 입력되었다면 종료한다.
한편, 상술한 본 발명의 실시예는 컴퓨터 시스템에서 구현될 수 있다. 도 3에 도시된 바와 같이, 컴퓨터 시스템(120)은 버스(122)를 통하여 서로 통신하는 하나 이상의 프로세서(121), 메모리(123), 사용자 인터페이스 입력 장치(126), 사용자 인터페이스 출력 장치(127) 및 스토리지(128)를 포함할 수 있다. 또한, 컴퓨터 시스템(120)은 네트워크(130)에 연결되는 하나 이상의 네트워크 인터페이스(129)를 더 포함할 수 있다. 프로세서(121)는 중앙 처리 장치 또는 메모리(123) 또는 스토리지(128)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(123) 및 스토리지(128)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(123)는 ROM(124)이나 RAM(125)을 포함할 수 있다.
컴퓨터 시스템(120)은 무선 통신 칩(와이파이 칩)(131)을 추가로 포함할 수 있다.
컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 실시예에 따른 방법을 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : DNS 데이터 수집부 20 : 데이터베이스부
21 : DNS 데이터 저장부 22 : 도메인 클러스터 저장부
23 : 도메인 라벨 저장부 24 : 클러스터 라벨 저장부
25 : 도메인 나이 저장부 26 : 도메인 유명도 저장부
27 : 환원된 IP 주소 저장부 28 : 도메인 링크 저장부
29 : 클러스터 특징 저장부 30 : 악성 도메인 클러스터 탐지부
31 : 클러스터링 모듈부 32 : 라벨링 모듈부
33 : 특징 추출 모듈부 34 : 학습 모듈부
35 : 탐지 모듈부
36 : 도메인 나이 추출 모듈부
37 : 도메인 유명도 추출 모듈부
38 : 환원된 IP 주소 추출 모듈부
39 : 도메인 링크 추출 모듈부

Claims (20)

  1. 네트워크 태핑 장치를 이용하여 네트워크 트래픽 중에서 DNS 트래픽 데이터만을 추려내고, 이를 가공한 DNS 데이터를 수집하며, 수집된 상기 DNS 데이터를 데이터베이스에 저장하는 DNS 데이터 수집부; 및
    상기 DNS 데이터를 근거로 도메인 클러스터를 생성하고, 상기 도메인 클러스터에서 정상 클러스터 및 악성 클러스터의 특징을 학습하고, 상기 학습 결과를 근거로 상기 도메인 클러스터에 대한 악성 여부를 탐지하는 악성 도메인 클러스터 탐지부;를 포함하며,
    상기 악성 도메인 클러스터 탐지부는,
    상기 DNS 데이터를 근거로 집단 행동을 보이는 도메인들을 묶어 상기 도메인 클러스터를 생성하는 클러스터링 모듈부;
    상기 도메인 클러스터내 도메인들의 악성 여부를 외부 도메인 평가 서비스를 통한 도메인 라벨로 확인하고, 상기 도메인 라벨과 클러스터 구분 기준을 근거로 상기 생성된 도메인 클러스터에 악성 또는 정상의 클러스터 라벨을 부여하는 라벨링 모듈부;
    상기 생성된 도메인 클러스터를 근거로 악성 클러스터와 정상 클러스터에서 다르게 나타나는 클러스터 특징인 도메인 나이, 도메인 유명도, 환원된 IP주소 및 도메인 링크 중에서 적어도 하나를 추출하는 특징 추출 모듈부;
    상기 클러스터 라벨 및 상기 클러스터 특징을 기반으로 상기 악성 클러스터와 상기 정상 클러스터를 학습하는 학습 모듈부; 및
    상기 학습 모듈부의 학습 결과를 기반으로 상기 도메인 클러스터에 대한 악성 여부를 탐지하는 탐지 모듈부;를 포함하고,
    상기 클러스터링 모듈부는,
    상기 집단 행동을 보이는 도메인들을 묶기 위해,
    상기 각 도메인을 특정 시간 동안 해당 도메인을 질의한 호스트의 IP주소 목록으로 나타내고, 상기 도메인들 간 상기 호스트 IP주소 목록의 유사성을 계산하며, 상기 유사성이 임계치 이상인 도메인들을 클러스터링 알고리즘을 이용하여 클러스터로 묶는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 청구항 1에 있어서,
    상기 라벨링 모듈부는, 상기 도메인 라벨이 위험을 나타내는 것이면 해당 도메인을 악성 도메인으로 간주하고, 상기 도메인 라벨이 안전을 나타내는 것이면 해당 도메인을 정상 도메인으로 간주하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  7. 청구항 6에 있어서,
    상기 라벨링 모듈부는,
    상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 상기 악성 도메인일 경우 악성 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  8. 청구항 6에 있어서,
    상기 라벨링 모듈부는,
    상기 도메인 클러스터 내 도메인들 중 상기 악성 도메인이 최소 기설정치 이상 존재하고 상기 정상 도메인이 하나도 없으면 악성 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  9. 청구항 6에 있어서,
    상기 라벨링 모듈부는,
    상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 상기 정상 도메인일 경우 정상 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  10. 청구항 6에 있어서,
    상기 라벨링 모듈부는,
    상기 도메인 클러스터 내 도메인들 중 상기 정상 도메인이 최소 기설정치 이상 존재하고 상기 악성 도메인이 하나도 없으면 정상 클러스터라고 정의하는 클러스터 구분 기준을 충족시키는 것으로 판단하여 그에 상응하는 클러스터 라벨을 부여하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  11. 청구항 1에 있어서,
    상기 특징 추출 모듈부는,
    상기 도메인 클러스터 내의 도메인 나이의 평균과 상기 도메인 나이의 표준편차를 특징 항목으로 추출하는 도메인 나이 추출 모듈부;
    상기 도메인 클러스터 내의 도메인 유명도의 평균과 상기 도메인 유명도의 표준편차를 특징 항목으로 추출하는 도메인 유명도 추출 모듈부;
    상기 도메인 클러스터 내의 도메인들의 환원된 IP 주소를 특징 항목으로 추출하는 환원된 IP 주소 추출 모듈부; 및
    상기 도메인 클러스터 내의 도메인을 가리키는 웹페이지 링크의 평균과 상기 웹페이지 링크의 표준편차를 특징 항목으로 추출하는 도메인 링크 추출 모듈부;를 포함하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  12. 청구항 1에 있어서,
    상기 학습 모듈부는 새로 생성된 도메인 클러스터에 대한 학습을 지속적으로 수행하여 상기 악성 도메인 클러스터의 탐지 규칙을 갱신하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  13. 삭제
  14. 청구항 1에 있어서,
    상기 DNS데이터는 도메인 질의 및 응답이 이루어진 시간, 도메인을 질의한 클라이언트 IP 주소를 익명으로 만든 해쉬 값, 질의된 도메인 이름, 도메인 응답 형태, 도메인 응답 값, 도메인의 TTL 값을 포함하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 장치.
  15. 데이터 수집부가, 네트워크 태핑 장치를 이용하여 네트워크 트래픽 중에서 DNS 트래픽 데이터만을 추려내고, 이를 가공한 DNS 데이터를 수집하며, 수집된 상기 DNS 데이터를 데이터베이스에 저장하는 단계;
    악성 도메인 클러스터 탐지부가, 상기 DNS 데이터를 근거로 집단 행동을 보이는 도메인들을 묶어 도메인 클러스터를 생성하는 단계;
    상기 악성 도메인 클러스터 탐지부가, 상기 도메인 클러스터내 도메인들의 악성 여부를 외부 도메인 평가 서비스를 통한 도메인 라벨로 확인하고, 상기 도메인 라벨과 클러스터 구분 기준을 근거로 상기 도메인 클러스터에 악성 또는 정상의 클러스터 라벨을 부여하는 단계;
    상기 악성 도메인 클러스터 탐지부가, 상기 생성된 도메인 클러스터를 근거로 악성 클러스터와 정상 클러스터에서 다르게 나타나는 클러스터 특징인 도메인 나이, 도메인 유명도, 환원된 IP주소 및 도메인 링크 중에서 적어도 하나를 추출하는 단계;
    상기 악성 도메인 클러스터 탐지부가, 상기 클러스터 라벨 및 상기 클러스터 특징을 기반으로 상기 악성 클러스터와 상기 정상 클러스터를 학습하는 단계; 그리고
    상기 악성 도메인 클러스터 탐지부가, 상기 학습하는 단계의 결과를 기반으로 상기 클러스터 라벨이 부여되지 않은 도메인 클러스터에 대한 악성 여부를 탐지하는 단계;를 포함하며,
    상기 도메인 클러스터를 생성하는 단계는,
    상기 집단 행동을 보이는 도메인들을 묶기 위해, 상기 각 도메인을 특정 시간 동안 해당 도메인을 질의한 호스트의 IP주소 목록으로 생성하는 단계;
    상기 도메인들 간 상기 호스트 IP주소 목록의 유사성을 계산하는 단계; 그리고
    상기 유사성이 임계치 이상인 도메인들을 클러스터링 알고리즘을 이용하여 클러스터로 묶는 단계;를 포함하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 방법.
  16. 삭제
  17. 삭제
  18. 청구항 15에 있어서,
    상기 클러스터 라벨을 부여하는 단계는,
    상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 악성 도메인이거나, 상기 도메인 클러스터 내 도메인들 중 상기 악성 도메인이 최소 기설정치 이상 존재하고 정상 도메인이 하나도 없으면 악성 클러스터에 해당하는 클러스터 라벨을 부여하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 방법.
  19. 청구항 15에 있어서,
    상기 클러스터 라벨을 부여하는 단계는,
    상기 도메인 클러스터 내 도메인들 중 일정 비율 이상이 정상 도메인이거나, 상기 도메인 클러스터 내 도메인들 중 상기 정상 도메인이 최소 기설정치 이상 존재하고 악성 도메인이 하나도 없으면 정상 클러스터에 해당하는 클러스터 라벨을 부여하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 방법.
  20. 청구항 15에 있어서,
    상기 클러스터 특징을 추출하는 단계는,
    상기 도메인 클러스터 내의 도메인 나이의 평균과 상기 도메인 나이의 표준편차, 상기 도메인 클러스터 내의 도메인 유명도의 평균과 상기 도메인 유명도의 표준편차, 상기 도메인 클러스터 내의 도메인들의 환원된 IP 주소, 및 상기 도메인 클러스터 내의 도메인을 가리키는 웹페이지 링크의 평균과 상기 웹페이지 링크의 표준편차를 특징 항목으로 추출하는 것을 특징으로 하는 악성 도메인 클러스터 탐지 방법.
KR1020150044016A 2015-03-30 2015-03-30 악성 도메인 클러스터 탐지 장치 및 방법 KR101666177B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150044016A KR101666177B1 (ko) 2015-03-30 2015-03-30 악성 도메인 클러스터 탐지 장치 및 방법
US14/735,579 US9560063B2 (en) 2015-03-30 2015-06-10 Apparatus and method for detecting malicious domain cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150044016A KR101666177B1 (ko) 2015-03-30 2015-03-30 악성 도메인 클러스터 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160116415A KR20160116415A (ko) 2016-10-10
KR101666177B1 true KR101666177B1 (ko) 2016-10-14

Family

ID=57016461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150044016A KR101666177B1 (ko) 2015-03-30 2015-03-30 악성 도메인 클러스터 탐지 장치 및 방법

Country Status (2)

Country Link
US (1) US9560063B2 (ko)
KR (1) KR101666177B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210117852A (ko) * 2020-03-20 2021-09-29 엘아이지넥스원 주식회사 악성 도메인 탐지 장치 및 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10673719B2 (en) 2016-02-25 2020-06-02 Imperva, Inc. Techniques for botnet detection and member identification
KR102407637B1 (ko) * 2016-10-12 2022-06-13 에스케이텔레콤 주식회사 광고차단장치 및 그 동작 방법
US10911477B1 (en) * 2016-10-20 2021-02-02 Verisign, Inc. Early detection of risky domains via registration profiling
US20180295094A1 (en) * 2017-04-05 2018-10-11 Linkedin Corporation Reducing latency during domain name resolution in networks
TWI677803B (zh) * 2018-05-09 2019-11-21 中華電信股份有限公司 可疑網域之偵測方法、閘道裝置及非暫態電腦可讀取媒體
US20200106791A1 (en) * 2018-09-28 2020-04-02 Fireeye, Inc. Intelligent system for mitigating cybersecurity risk by analyzing domain name system traffic metrics
US11329902B2 (en) 2019-03-12 2022-05-10 The Nielsen Company (Us), Llc Methods and apparatus to credit streaming activity using domain level bandwidth information
CN112583763B (zh) * 2019-09-27 2022-09-09 财团法人资讯工业策进会 入侵侦测装置以及入侵侦测方法
CN110753064B (zh) * 2019-10-28 2021-05-07 中国科学技术大学 机器学习和规则匹配融合的安全检测系统
CN110912910A (zh) * 2019-11-29 2020-03-24 北京工业大学 一种dns网络数据过滤方法及装置
KR102156891B1 (ko) * 2020-02-25 2020-09-16 주식회사 에프원시큐리티 인공지능 머신러닝 행위 기반 웹 프로토콜 분석을 통한 웹 공격 탐지 및 차단 시스템 및 방법
CN113765841A (zh) * 2020-06-01 2021-12-07 中国电信股份有限公司 恶意域名的检测方法和装置
CN111935136B (zh) * 2020-08-07 2022-05-20 哈尔滨工业大学 基于dns数据分析的域名查询与解析异常检测系统及方法
CN112637119A (zh) * 2020-11-13 2021-04-09 北京大米科技有限公司 主机扫描方法、装置、存储介质及电子设备
CN112104677B (zh) * 2020-11-23 2021-03-02 北京金睛云华科技有限公司 一种基于知识图谱的受控主机检测方法和装置
US11695667B2 (en) * 2020-11-25 2023-07-04 Infoblox Inc. Query prints (Qprints): telemetry-based similarity for DNS
US11799904B2 (en) * 2020-12-10 2023-10-24 Cisco Technology, Inc. Malware detection using inverse imbalance subspace searching
CN113645240B (zh) * 2021-08-11 2023-05-23 积至(海南)信息技术有限公司 一种基于图结构的恶意域名群落挖掘方法
CN113746952B (zh) * 2021-09-14 2024-04-16 京东科技信息技术有限公司 Dga域名检测方法、装置、电子设备及计算机存储介质
CN114401122B (zh) * 2021-12-28 2024-04-05 中国电信股份有限公司 一种域名检测方法、装置、电子设备及存储介质
CN114513341B (zh) * 2022-01-21 2023-09-12 上海斗象信息科技有限公司 恶意流量检测方法、装置、终端及计算机可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7626940B2 (en) * 2004-12-22 2009-12-01 Intruguard Devices, Inc. System and method for integrated header, state, rate and content anomaly prevention for domain name service
US20060253584A1 (en) * 2005-05-03 2006-11-09 Dixon Christopher J Reputation of an entity associated with a content item
WO2007050244A2 (en) * 2005-10-27 2007-05-03 Georgia Tech Research Corporation Method and system for detecting and responding to attacking networks
KR20110004101A (ko) * 2009-07-07 2011-01-13 주식회사 케이티 계층적 클러스터링을 이용하여 비정상 트래픽을 분석하는 방법 및 장치
US8826438B2 (en) * 2010-01-19 2014-09-02 Damballa, Inc. Method and system for network-based detecting of malware from behavioral clustering
KR20100084488A (ko) 2010-05-17 2010-07-26 고려대학교 산학협력단 집단행동 악성코드 검색 방법 및 장치
US9516058B2 (en) * 2010-08-10 2016-12-06 Damballa, Inc. Method and system for determining whether domain names are legitimate or malicious
US8661544B2 (en) * 2010-08-31 2014-02-25 Cisco Technology, Inc. Detecting botnets
KR101182793B1 (ko) 2011-02-11 2012-09-13 고려대학교 산학협력단 도메인 이름 서비스 질의 데이터를 이용한 봇넷 탐지 방법 및 시스템
US9356942B1 (en) * 2012-03-05 2016-05-31 Neustar, Inc. Method and system for detecting network compromise
KR20140035678A (ko) * 2012-09-14 2014-03-24 한국전자통신연구원 학습 가능한 dns 분석기 및 분석 방법
US9519533B2 (en) * 2015-01-28 2016-12-13 Qualcomm Incorporated Data flow tracking via memory monitoring

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210117852A (ko) * 2020-03-20 2021-09-29 엘아이지넥스원 주식회사 악성 도메인 탐지 장치 및 방법
KR102361513B1 (ko) 2020-03-20 2022-02-10 엘아이지넥스원 주식회사 악성 도메인 탐지 장치 및 방법

Also Published As

Publication number Publication date
KR20160116415A (ko) 2016-10-10
US20160294859A1 (en) 2016-10-06
US9560063B2 (en) 2017-01-31

Similar Documents

Publication Publication Date Title
KR101666177B1 (ko) 악성 도메인 클러스터 탐지 장치 및 방법
US10270744B2 (en) Behavior analysis based DNS tunneling detection and classification framework for network security
Shibahara et al. Efficient dynamic malware analysis based on network behavior using deep learning
US10713586B2 (en) System and method for high speed threat intelligence management using unsupervised machine learning and prioritization algorithms
Kührer et al. Paint it black: Evaluating the effectiveness of malware blacklists
Mohaisen et al. Unveiling zeus: automated classification of malware samples
Mamun et al. Detecting malicious urls using lexical analysis
US10721244B2 (en) Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
US9781139B2 (en) Identifying malware communications with DGA generated domains by discriminative learning
Zhang et al. Arrow: Generating signatures to detect drive-by downloads
Chu et al. Protect sensitive sites from phishing attacks using features extractable from inaccessible phishing URLs
Niakanlahiji et al. Phishmon: A machine learning framework for detecting phishing webpages
US9118704B2 (en) Homoglyph monitoring
US20200106790A1 (en) Intelligent system for mitigating cybersecurity risk by analyzing domain name system traffic
US10911477B1 (en) Early detection of risky domains via registration profiling
Krishnaveni et al. Ensemble approach for network threat detection and classification on cloud computing
US11669779B2 (en) Prudent ensemble models in machine learning with high precision for use in network security
US10462168B2 (en) Access classifying device, access classifying method, and access classifying program
Kheir et al. Mentor: positive DNS reputation to skim-off benign domains in botnet C&C blacklists
US10348751B2 (en) Device, system and method for extraction of malicious communication pattern to detect traffic caused by malware using traffic logs
US20180139142A1 (en) Network traffic pattern based machine readable instruction identification
Le Page et al. Domain classifier: Compromised machines versus malicious registrations
Haddadi et al. Malicious automatically generated domain name detection using stateful-SBB
Chiba et al. Botprofiler: Profiling variability of substrings in http requests to detect malware-infected hosts
CN115001724B (zh) 网络威胁情报管理方法、装置、计算设备及计算机可读存储介质

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 4