KR102075715B1 - 공격 주체 분류 장치 및 방법 - Google Patents

공격 주체 분류 장치 및 방법 Download PDF

Info

Publication number
KR102075715B1
KR102075715B1 KR1020180061329A KR20180061329A KR102075715B1 KR 102075715 B1 KR102075715 B1 KR 102075715B1 KR 1020180061329 A KR1020180061329 A KR 1020180061329A KR 20180061329 A KR20180061329 A KR 20180061329A KR 102075715 B1 KR102075715 B1 KR 102075715B1
Authority
KR
South Korea
Prior art keywords
data set
attack
document
information
training data
Prior art date
Application number
KR1020180061329A
Other languages
English (en)
Other versions
KR20190135836A (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 KR1020180061329A priority Critical patent/KR102075715B1/ko
Priority to US16/180,855 priority patent/US11647032B2/en
Publication of KR20190135836A publication Critical patent/KR20190135836A/ko
Application granted granted Critical
Publication of KR102075715B1 publication Critical patent/KR102075715B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 공격 주체 분류 기술에 관한 것으로, 특정 포맷의 문서를 포함하는 데이터 세트로부터, 상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 추출하는 특징 추출부와, 상기 특징에 기초하여 학습용 데이터 세트를 생성하는 정보 생성부와, 상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 학습 모델부를 포함할 수 있다.

Description

공격 주체 분류 장치 및 방법 {APPARATUS FOR CLASSIFYING ATTACK GROUPS AND METHOD THEREFOR}
본 발명은 사이버 상의 공격자 또는 공격 그룹과 같은 공격 주체를 분류하는 기술과 및 공격 주체 분류를 위한 학습에 관한 것이다.
사이버 공격 발생시 공격자 또는 공격 그룹과 같은 공격 주체를 추적 또는 식별하기 위해, 사고 발생 후 침해 대응 포렌식(forensic) 분석으로 정보를 수집하여 수집된 정보(예를 들어, 악성코드, 로그 등)와 사전 확보된 정보(예를 들어, 특정 조직이 사용하는 IP, 악성코드의 암호 키, 코딩 패턴, 공격방식의 유사성 등)를 비교하는 과정이 필요하다.
실제로 국내의 대표적인 APT(Advanced Persistent Threat) 공격(예를 들어, 7.7 DDoS 공격, 농협해킹, 320 공격 등)에서 공격자를 특정하는 근거도 공격지 IP, 악성코드 패턴, 동일 악성 코드 재사용 등이었다. 즉, 침해 분석가의 노하우를 기반으로 공격자를 특정할 수 있는 정보를 식별하는 방식이다.
특히, 사이버 공격이 점차 고도화 됨에 따라, 단편적인 정보로 공격자/공격그룹을 특정하는 대신 공격자 프로파일링 기법을 접목한 연구가 국내외에서 활발히 진행되어 왔다. 하지만, 맞춤식 악성코드로 공격 후 폐기한다거나 타 조직의 악성코드를 재활용하거나 공격 패턴을 허위로 설계하는 등 일정한 룰(rule)을 벗어날 경우 공격 주체의 분석이 어렵다는 한계가 있다.
따라서, 공격자(혹은 제작자)가 의도하지는 않았지만 사이버 공격시 자연 발생적으로 생성된 정보를 추가적으로 식별할 필요가 있고, 보다 유연하게 공격 주체를 특정할 수 있는 분석 기술이 필요하다.
한국공개특허 제2016-0095856호 (2016.08.12 공개)
본 발명의 실시예에서는, 사이버 상의 공격 주체를 신속하고 정확하게 분류할 수 있는 공격 주체 분류 기술을 제안하고자 한다.
구체적으로 본 발명의 실시예에서는, 사이버 공격에 사용된 특정 포맷의 문서의 데이터 세트로부터 공격 주체를 식별하기 위한 특징을 추출하고 이를 분류 학습 알고리즘에 적용함으로써, 의도되지 않은 공격 주체를 추가적으로 식별하고 효율적으로 문서의 공격 주체를 분류할 수 있는 기술을 제안하고자 한다.
본 발명이 해결하고자 하는 과제는 상기에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재들로부터 본 발명이 속하는 통상의 지식을 가진 자에 의해 명확하게 이해될 수 있을 것이다.
본 발명의 실시예에 따르면, 특정 포맷의 문서를 포함하는 데이터 세트로부터, 상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 추출하는 특징 추출부와, 상기 특징에 기초하여 학습용 데이터 세트를 생성하는 정보 생성부와, 상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 학습 모델부를 포함하는 공격 주체 분류 장치를 제공할 수 있다.
여기서, 상기 문서의 특정 포맷은, 이메일 포맷, 문서 포맷 및 실행파일 포맷 중 하나 이상을 포함할 수 있다.
또한, 상기 특징은, 지역 정보, 언어 정보, 시간 정보, 시스템 정보, 파일 특성 정보 및 n-gram 정보 중 하나 이상을 포함할 수 있다.
또한, 상기 정보 생성부는, 상기 특징을 범주형(categorical) 또는 실수형(numerical)으로 구분하는 전처리를 통해 상기 학습용 데이터 세트를 생성할 수 있다.
또한, 상기 학습 모델부는, 상기 학습용 데이터 세트를 훈련(training) 데이터 세트와 테스트(test) 데이터 세트로 구분한 후 학습 알고리즘을 수행할 수 있다.
또한, 상기 학습 알고리즘을 수행하는 것은, 상기 학습용 데이터 세트를 K개의 서브 데이터 세트로 구분한 후 상기 분류 모델 생성을 위한 K-폴드 교차 검증(K-fold cross validation) 알고리즘을 수행하는 것일 수 있다.
또한, 상기 서브 데이터 세트의 각각은 상기 훈련 데이터 세트와 상기 테스트 데이터 세트를 4:1의 비율로 포함할 수 있다.
또한, 상기 공격 주체 분류 장치는, 임의의 상기 특정 포맷의 문서에 상기 분류 모델을 적용하여 상기 임의의 특정 포맷의 문서의 공격 주체를 분류하는 공격 주체 분류기를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 특정 포맷의 문서를 포함하는 데이터 세트를 수집하는 단계와, 상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 상기 데이터 세트로부터 추출하는 단계와, 상기 특징에 기초하여 학습용 데이터 세트를 생성하는 단계와, 상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 단계를 포함하는 공격 주체 분류 학습 방법을 제공할 수 있다.
여기서, 상기 문서의 특정 포맷은, 이메일 포맷, 문서 포맷 및 실행파일 포맷 중 하나 이상을 포함할 수 있다.
또한, 상기 특징은 지역 정보, 시간 정보, 언어 정보, 시스템 정보, 파일 특성 정보 및 n-gram 정보 중 하나 이상을 포함할 수 있다.
또한, 상기 학습용 데이터 세트를 생성하는 단계는, 상기 특징을 범주형 또는 실수형으로 구분하는 전처리를 통해 상기 학습용 데이터 세트를 생성하는 단계를 포함할 수 있다.
또한, 상기 분류 모델을 생성하는 단계는, 상기 학습용 데이터 세트를 훈련 데이터 세트 및 테스트 데이터 세트로 구분한 후 학습 알고리즘을 수행하는 단계를 포함할 수 있다.
또한, 상기 학습 알고리즘을 수행하는 단계는, 상기 학습용 데이터 세트를 K개의 서브 데이터 세트로 구분한 후 상기 분류 모델 생성을 위한 K-폴드 교차 검증 알고리즘을 수행하는 단계를 포함할 수 있다.
또한, 상기 서브 데이터 세트의 각각은 상기 훈련 데이터 세트와 상기 테스트 데이터 세트를 4:1의 비율로 포함할 수 있다.
본 발명의 실시예에 따르면, 특정 포맷의 문서로 이루어진 데이터 세트를 수집하는 단계와, 상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 상기 데이터 세트로부터 추출하는 단계와, 상기 특징에 기초하여 학습용 데이터 세트를 생성하는 단계와, 상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 단계와, 임의의 상기 특정 포맷의 문서에 상기 분류 모델을 적용하여 상기 임의의 특정 포맷의 문서의 공격 주체를 분류하는 단계를 포함하는 공격 주체 분류 방법을 제공할 수 있다.
본 발명의 실시예에 의하면, 기존에 알려진 추적 정보 외 추가적인 추적 정보 확보가 가능하고, 더불어 추가 정보를 활용한 보다 정확한 공격 주체의 식별이 가능하다.
또한, 신속한 공격 주체 식별을 통한 빠른 대처가 가능하고, 공격 주체의 빠른 식별을 통해 네트워크 중심전(Network Centric Warfare, NCW)의 빠른 패러다임에도 대응할 수 있는 사이버전 핵심 기술 확보가 가능해 진다.
또한, 국방 정보체계 사이버 위협에 대한 체계의 안전한 운용이 보장되고, 신속한 공격 그룹 식별을 통해 재공격 방지 및 특화된 방어 기술 개발이 가능할 뿐만 아니라, 민간 정보 보호 분야 기술 발전에 기여할 것으로 기대된다.
도 1은 본 발명의 실시예에 따른 공격 주체 분류 장치의 블록도이다.
도 2는 본 발명의 실시예에 따른 공격 주체 분류를 위한 학습 방법을 예시적으로 설명하는 흐름도이다.
도 3은 도 2의 특징 추출 과정을 예시적으로 설명하는 도면이다.
도 4는 도 2의 분류 모델 생성을 위한 학습 알고리즘의 개념을 예시적으로 설명하는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
현재 발생되고 있는 사이버 상의 공격은, 대부분 공격 주체가 공격 대상을 타겟팅 한 후 악성 코드를 여러 경로(예를 들어, 이메일, 외부 저장매체, 웹사이트 등)를 통해 공격 대상 호스트에 유입시킨 후 악의적인 행위를 하는 것이 일반적이다. 예를 들면, 이메일을 통한 문서형 악성 코드 공격이 자주 사용되고 있는 공격방법이다. 따라서, 호스트 레벨에서 발생하는 정보 중 공격 주체(공격자 또는 공격 그룹)를 특정할 수 있는 의미 있는 정보를 추출할 필요가 있다. 즉, 각각의 포맷(이메일 포맷, 문서 포맷, 실행 파일 포맷 등)에서 공격자는 의도하지 않은 공격자의 정보가 포함되어 있을 수 있으므로 공격 주체 식별을 위한 특화된 분석이 필요하다.
본 발명의 실시예에서는, 사이버 공격에 사용된 특정 포맷의 문서의 데이터 세트(data set)로부터 공격 주체를 식별하기 위한 특징(feature)을 추출하고 이를 분류 학습 알고리즘에 적용함으로써, 의도되지 않은 사이버 상의 공격 주체를 신속하고 정확하게 식별하고 효율적으로 문서의 공격 주체를 분류할 수 있는 기술을 제안하고자 한다.
후술하는 본 발명의 실시예에서 다루고 있는 특징 및 분류 학습은 아래와 같이 정의될 수 있다.
1) 특징: 공격자 또는 공격 그룹을 식별/특정하는데 활용될 수 있는 직접적/간접적 정보를 의미하며, 분류 학습 분석 시 추적 정보에 해당된다.
2) 분류 학습: 기존 룰 베이스 학습을 제외한 기계 학습을 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 공격 주체 분류 장치에 대한 블록도이다.
도 1의 공격 주체 분류 장치(100)는, 정보 수집부(110), 특징 추출부(120), 정보 생성부(130) 및 학습 모델부(140)를 포함할 수 있으며, 필요에 따라 공격 주체 분류기(150)를 더 포함할 수 있다.
도 1에 도시한 바와 같이, 정보 수집부(110)는 실제 공격에 사용된 특정 포맷의 문서, 예를 들어 이메일(E-mail), 문서형 파일, 실행 파일 등을 포함하는 데이터 세트를 수집할 수 있다. 이때, 데이터 세트는 공격 국가의 라벨(label)이 포함될 수 있으며, 데이터 세트의 수집 대상과 수집 범위는 다음 [표 1]과 같이 예시될 수 있다.
분류 설명 예시
수집 대상 이메일
문서형 파일 PDF, MS-Office, HWP 등
실행 파일 PE(Portable Executable) 파일
수집 범위 특정 가능한 직접적인 정보 공격 주체 정보, 시스템 정보 등
특정 가능한 간접적인 정보 문서 포맷 정보, n-gram 등
문서형 악성 코드의 경우, 문서 내에 익스플로잇(exploit)된 악성 코드는 PE 포맷을 통해 분석할 수 있다. 더불어, 공격자가 의도치 않았지만 남아있을 수 있는 추적 정보를 추출하기 위해 문서 포맷도 함께 분석할 수 있다. 문서 포맷의 경우 파일 확장자에 따라서 CDFF(Compound Document File Format), OOXML(Office Open XML), PDF(Portable Document Format) 등으로 구성되어 있지만 편의상 DOC라고 통칭한다. 따라서, 이메일, DOC, PE 파일 등이 수집 대상에 해당될 수 있다.
특징 추출부(120)는 정보 수집부(110)에 의해 수집된 특정 포맷의 문서를 포함하는 데이터 세트로부터, 이러한 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징(추적 정보)을 추출할 수 있다. 이러한 특징은, 예를 들어 지역(location) 정보, 언어(language) 정보, 시간(time) 정보, 시스템(system) 정보, 파일 특성 정보 및 n-gram 정보 중 하나 이상을 포함할 수 있으며, 이에 대해서는 후술하는 실시예를 통해 보다 구체적으로 다루기로 한다.
정보 생성부(130)는 특징 추출부(120)에서 추출된 특징에 기초하여 학습용 데이터 세트를 생성할 수 있다. 이를 위해 정보 생성부(130)는 특징을 범주형(categorical) 또는 실수형(numerical)으로 구분하는 전처리 과정을 거친 후 학습용 데이터 세트를 생성할 수 있다.
학습 모델부(140)는 이러한 정보 생성부(130)로부터 생성된 학습용 데이터 세트에 대해 학습을 수행하여 특정 포맷의 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 분류 모델을 생성할 수 있다. 이때, 학습 모델부(140)는 학습용 데이터 세트를 훈련(training) 데이터 세트와 테스트(test) 데이터 세트로 구분한 후 학습 알고리즘을 수행할 수 있으며, 학습 알고리즘에 대한 구체적인 설명은 후술하는 실시예에서 다루기로 한다.
한편, 본 발명의 실시예에 따른 공격 주체 분류 장치(100)는 임의의 문서의 공격 주체를 분류하는 공격 주체 분류기(150)를 더 포함할 수 있다. 여기서, 임의의 문서는, 예를 들어 공격 주체 분류를 위한 분류 대상 데이터를 의미하며, 이메일 포맷, 문서 포맷 및 실행파일 포맷 중 하나 이상을 포함하는 특정 포맷의 문서를 포함할 수 있다.
이하, 상술한 구성과 함께, 본 발명의 실시예에 따른 공격 주체 분류 장치(100)의 학습 방법을 구체적인 실시예와 함께 상세히 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 공격 주체 분류를 위한 학습 방법을 예시적으로 설명하는 흐름도이다.
도 2에 도시한 바와 같이, 정보 수집부(110)는 실제 공격에 사용된 특정 포맷의 문서를 포함하는 데이터 세트를 수집할 수 있다(S110).
데이터 세트의 수집 단계는 학습을 위한 신뢰할 수 있는 정보를 확보하는 과정으로서, 본 발명의 실시예에서는, 예를 들어 APT(Advanced Persistent Threat) 보고서를 통해 데이터 세트를 수집할 수 있다. 각 보고서에 기재된 악성 코드의 해쉬값을 목록화한 후 악성 코드 다운로드 사이트(VirusShare 등)를 통해 해당 악성 코드 해쉬를 비교 후 다운로드 하여 악성 코드를 수집할 수 있다. 악성 코드의 수집이 완료되면 보고서에 명시된 공격 국가명에 따라 공격 그룹을 분류할 수 있다. 즉, 데이터 세트의 라벨(혹은 클래스)은 악성 코드의 공격 그룹인 공격 국가 명이 된다. 위와 같은 방식으로 2009년~2016년에 발표된 총 310개의 APT 보고서를 확보하였고 중복을 제거한 후 총 10개 공격 그룹(국가)으로 분류되는 5,707개의 파일(EML, DOC, PE)로 구성된 데이터 세트를 생성하였다.
정보 수집부(110)를 통해 데이터 세트가 수집되면, 특징 추출부(120)는 수집된 데이터 세트로부터, 특정 포맷의 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징, 예컨대 추적 정보를 추출할 수 있다(S120).
앞서 정의한 분석 대상(EML, DOC, PE)의 포맷을 통해서 공격자/공격그룹 정보(본인 정보 및 악성코드 제작시 사용된 시스템 정보 등) 위주로 추적 정보를 식별할 수 있다. 이러한 추적 정보는, 언어, 지역, 시간, 시스템, 기타 정보 등으로 구성될 수 있으며, 프로파일 분석에서 주로 사용하는 특징(profile-oriented features)과 머신 러닝 분석에서 주로 사용하는 특징으로 구분될 수 있다.
<프로파일 분석용 특징>
1) 시간 기반 특징 및 지역 기반 특징(time-based features & location-based features)
시간 정보는 EML, DOC, PE 등 모든 포맷에 공통적으로 포함될 수 있다. 이러한 시간 정보는 기본적으로 UTC(Universal Time Coordinated) 정보로 표현될 수 있으며, EML과 DOC 파일 내 일부 항목의 경우 UTC와 타임존(timezone) 정보가 포함되어 있어서 IP2Location 서비스를 이용하여 위치를 식별할 수 있다. 즉, PE의 경우 실행 파일이 빌드된 UTC 시간만 알 수 있는 반면, EML과 DOC는 시간 추출 및 지역/위치 정보(country, latitude, longitude, timezone(IP), ISP, domain 등)의 식별이 가능하다.
2) 언어 기반 특징(language-based features)
언어 정보 역시 모든 포맷(EML, DOC, PE)에 공통적으로 포함될 수 있다. EML의 경우 Received, Date, IP 등의 항목에서 각각 추출이 가능하다. DOC의 경우도 APP(Application) 설치 언어, OS(Operating System) 버전 언어, 제작자 프로파일 언어, 문서 내 폰트 변경 행위 등을 식별할 수 있다. PE의 경우는 PDB(Program Database) 경로에 사용된 폴더명에서 언어를 식별하거나 리소스 영역에서 사용된 리소스 타입(스트링(string), 아이콘(icon), 메뉴(menu) 등)별로 charset(character set) 정보를 추출할 수 있다.
3) 시스템 기반 특징(system-based features)
시스템 정보 역시 EML, DOC, PE 모든 포맷에 다른 형태로 존재할 수 있다. EML의 경우 User-Agent라는 항목에 OS 종류 및 버전, 클라이언트 프로그램 등이 포함되어 있다. DOC의 경우 공격자 시스템 정보(OS 종류/버전/언어버전), 공격자 APP 정보(문서/개발도구 APP version), 공격자 계정 정보(OS/APP/개발환경 계정 정보), 기타 c2 서버 URL 등을 추출할 수 있다. PE의 경우는 NT HEADER 포맷에 링커, OS 종류 등이 포함되어 있다.
4) 특성 특징(type-specific features)
EML, DOC, PE는 파일 특성에 따라 추출 가능한 정보가 있다. 가령 EML의 경우 시간 정보를 기반으로 근무 시간을 대입하여 공격 국가를 유추할 수 있다. 최근 복수의 분석 보고서에 따르면 시간 정보를 평일/주말, 근무시간/비근무시간으로 변환하여 비교 분석하였을 경우 실제 공격지의 근무시간과 매우 흡사함을 보였다. DOC 중 PDF는 다른 포맷과 달리 문서 고유 식별자 항목이 존재하여 추적 정보로 사용 가능하다. PE의 경우는 엔트리 포인트(entry point), 패커(packer) 정보, 안티 VM(Virtual Machine) 정보 역시 PE에 특화된 추적 정보로 추출하여 활용 가능하다.
<머신 러닝 분석용 특징>
머신 러닝 분석에서 좋은 특징으로 사용되고 있는 n-gram 역시 추출 가능하다. 모든 포맷의 경우 n-gram 추출이 가능하다. EML의 경우 메일 내용에 대해서 1-gram을 추출하고 DOC의 경우도 실제 문서를 오픈 했을 때 보여지는 컨텐츠를 1-gram 한다. PE의 경우 섹션별로 1-gram을 추출할 수 있다. 또한 PE의 경우 사용 빈도가 높은 opcode(operation code) 세트에 대한 frequency를 추적 정보(특징)로 추가 추출 가능하다.
한편, 특징 추출 단계(S120)에서는 도 3에 도시한 바와 같이, 예컨대 파서(parser)의 파싱 과정을 통해 각 포맷별 추적 정보를 추출할 수 있다. 데이터 세트는 총 10개의 폴더(10개의 국가)로 나눠져 있으며, 파서는 각 파일을 포맷별로 재귀적으로 파싱을 지속적으로 수행한다. 이때, 라벨(또는 클래스) 칼럼은 최상위 폴더명, 즉 국가명을 추출하여 저장할 수 있다. 라벨(또는 클래스) 칼럼은 분류 분석에서 라벨(또는 클래스)에 해당된다. 도 3의 파서의 경우 추적 정보 출력은 기본적으로 .db 파일로 저장되고 분석시 사용의 편의성을 위해 csv, jsons, pandas 등의 데이터 프레임 형태의 저장도 지원할 수 있다.
단계(S120)와 같이 특징이 추출되면, 정보 생성부(130)는 학습용 데이터 세트를 생성할 수 있다(S130). 학습용 데이터 세트를 생성하는 과정은 추적 정보와 같은 특징을 추출한 후 실수형 또는 범주형에 따라 전처리 과정을 거쳐 특정 추적 정보를 선택하여 학습용 데이터를 생성하는 과정을 포함할 수 있다.
먼저, 전처리 과정에서는 포맷별로 추출된 모든 추적 정보를 실수형과 범주형으로 구분한다. 추적 정보가 실수형일 경우 범위(range)를 정하여 특징으로 사용하고 범주형일 경우 one-hot 인코딩으로 변환한다. 가령, PE의 dll_characteristics의 경우 사전 정의된 값으로 표현 가능한 경우의 수가 제한되어 있다. 이 경우는 one-hot 인코딩으로 변환하여 학습용 추적 정보로 사용할 수 있다.
이후, 전체 추적 정보 중에 특정 추적 정보를 선택하는(feature selection) 과정을 거친다. 특정 추적 정보의 선택 과정은, 예를 들어 전진 선택 방법(Sequential Forward Selection, SFS), 후진 제거 방법(Sequential Backward Selection, SBS) 등이 적용될 수 있다. 전자는 추적 정보(특징)가 없는 상태에서 추적 정보의 misclassification rate가 더 이상 줄어들지 않을 때까지 추적 정보를 하나씩 추가하면서 추적 정보를 선택하는 방법이다. 후자는 전체 추적 정보에서 misclassification rate가 더 이상 증가되지 않을 때까지 순차적으로 추적 정보를 제거하는 방식이다.
이러한 과정을 통해서 공격자/공격그룹 분류를 위한 포맷별 학습용 데이터 세트가 생성될 수 있다.
정보 생성부(130)를 통해 학습용 데이터 세트가 생성되면, 학습 모델부(140)는 이러한 학습용 데이터 세트에 대해 학습을 수행하여 본 발명의 실시예에 따라 공격 주체를 식별하기 위한 분류 모델을 생성할 수 있다(S140).
본 발명의 실시예에 따른 분류 모델을 생성하는 단계는, 학습용 데이터 세트를 훈련 데이터 세트(training data set) 및 테스트 데이터 세트(test data set)로 구분한 후 학습 알고리즘을 수행하는 단계를 포함할 수 있다. 여기서, 학습 알고리즘을 수행하는 단계는, 학습용 데이터 세트를 K개의 서브 데이터 세트로 구분한 후 분류 모델 생성을 위한 K-폴드 교차 검증(K-fold cross validation) 알고리즘을 수행하는 단계를 포함할 수 있다.
도 4는 이러한 분류 모델 생성을 위한 학습 알고리즘의 개념을 예시적으로 설명하는 도면이다.
도 4의 실시예에서는, 학습용 데이터 세트를 5개의 서브 데이터 세트로 구분하고, 각 폴드(폴드1~폴드5)에서는 훈련 데이터 세트와 테스트 데이터 세트를 4:1의 비율로 나누어 일련의 학습 알고리즘을 각각 대입하여 알고리즘 별로 정확도를 계산할 수 있다. 이때, 정확도가 가장 높은 학습 알고리즘을 분류화를 위한 지능형 분석 모델로 사용할 수 있다.
본 발명의 실시예에서는 5 cross validation 분석을 진행하여 각 포맷 별로 데이터 세트를 수집하고 각 포맷 별로 분석을 진행할 수 있다. 이와 같이 분석을 진행하는 이유는, 사이버 공격이 발생될 경우에 특정 공격에서 실제 사용했던 EML과 문서형 악성 코드 세트를 수집하기가 현실적으로 어렵기 때문에 이를 보완하기 위해서이다.
한편, 본 발명의 실시예에 따른 공격 주체 분류를 위한 분류 모델을 생성한 후, 임의의 특정 포맷의 문서, 예컨대 신규 사이버 공격에 의한 공격 주체 분류 대상 데이터 세트가 학습 모델부(140)로 입력될 경우에, 기 생성된 분류 모델을 적용하여 임의의 특정 포맷의 문서의 공격 주체를 분류하는 단계를 포함할 수 있다.
이상 설명한 바와 같이, 본 발명의 실시예에 의하면, 사이버 공격에 사용된 특정 포맷의 문서의 데이터 세트로부터 특징을 추출하고 이를 분류 학습 알고리즘에 적용함으로써, 의도되지 않은 사이버 상의 공격 주체를 신속하고 정확하게 식별하고 효율적으로 문서의 공격 주체를 분류하도록 구현하였다.
한편, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체(또는 메모리) 등에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체(또는 메모리)에 저장된 인스트럭션들은 블록도의 각 블록에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 적어도 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
100: 공격 주체 분류 장치
110: 정보 수집부
120: 특징 추출부
130: 정보 생성부
140: 학습 모델부
150: 공격 주체 분류기

Claims (17)

  1. 특정 포맷의 문서를 포함하는 데이터 세트로부터, 상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 추출하는 특징 추출부와,
    상기 특징에 기초하여 학습용 데이터 세트를 생성하는 정보 생성부와,
    상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 학습 모델부를 포함하는
    공격 주체 분류 장치.
  2. 제 1 항에 있어서,
    상기 문서의 특정 포맷은,
    이메일 포맷, 문서 포맷 및 실행파일 포맷 중 하나 이상을 포함하는
    공격 주체 분류 장치.
  3. 제 1 항에 있어서,
    상기 특징은,
    지역 정보, 언어 정보, 시간 정보, 시스템 정보, 파일 특성 정보 및 n-gram 정보 중 하나 이상을 포함하는
    공격 주체 분류 장치.
  4. 제 1 항에 있어서,
    상기 정보 생성부는,
    상기 특징을 범주형(categorical) 또는 실수형(numerical)으로 구분하는 전처리를 통해 상기 학습용 데이터 세트를 생성하는
    공격 주체 분류 장치.
  5. 제 4 항에 있어서,
    상기 학습 모델부는,
    상기 학습용 데이터 세트를 훈련(training) 데이터 세트와 테스트(test) 데이터 세트로 구분한 후 학습 알고리즘을 수행하는
    공격 주체 분류 장치.
  6. 제 5 항에 있어서,
    상기 학습 알고리즘을 수행하는 것은,
    상기 학습용 데이터 세트를 K개의 서브 데이터 세트로 구분한 후 상기 분류 모델 생성을 위한 K-폴드 교차 검증(K-fold cross validation) 알고리즘을 수행하는 것인
    공격 주체 분류 장치.
  7. 제 6 항에 있어서,
    상기 서브 데이터 세트의 각각은 상기 훈련 데이터 세트와 상기 테스트 데이터 세트를 4:1의 비율로 포함하는
    공격 주체 분류 장치.
  8. 제 1 항에 있어서,
    임의의 상기 특정 포맷의 문서에 상기 분류 모델을 적용하여 상기 임의의 특정 포맷의 문서의 공격 주체를 분류하는 공격 주체 분류기를 더 포함하는
    공격 주체 분류 장치.
  9. 특정 포맷의 문서를 포함하는 데이터 세트를 수집하는 단계와,
    상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 상기 데이터 세트로부터 추출하는 단계와,
    상기 특징에 기초하여 학습용 데이터 세트를 생성하는 단계와
    상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 단계를 포함하는
    공격 주체 분류 학습 방법.
  10. 제 9 항에 있어서,
    상기 문서의 특정 포맷은,
    이메일 포맷, 문서 포맷 및 실행파일 포맷 중 하나 이상을 포함하는
    공격 주체 분류 학습 방법.
  11. 제 9 항에 있어서,
    상기 특징은
    지역 정보, 시간 정보, 언어 정보, 시스템 정보, 파일 특성 정보 및 n-gram 정보 중 하나 이상을 포함하는
    공격 주체 분류 학습 방법.
  12. 제 9 항에 있어서,
    상기 학습용 데이터 세트를 생성하는 단계는,
    상기 특징을 범주형 또는 실수형으로 구분하는 전처리를 통해 상기 학습용 데이터 세트를 생성하는 단계를 포함하는
    공격 주체 분류 학습 방법.
  13. 제 9 항에 있어서,
    상기 분류 모델을 생성하는 단계는,
    상기 학습용 데이터 세트를 훈련 데이터 세트 및 테스트 데이터 세트로 구분한 후 학습 알고리즘을 수행하는 단계를 포함하는
    공격 주체 분류 학습 방법.
  14. 제 13 항에 있어서,
    상기 학습 알고리즘을 수행하는 단계는,
    상기 학습용 데이터 세트를 K개의 서브 데이터 세트로 구분한 후 상기 분류 모델 생성을 위한 K-폴드 교차 검증 알고리즘을 수행하는 단계를 포함하는
    공격 주체 분류 학습 방법.
  15. 제 14 항에 있어서,
    상기 서브 데이터 세트의 각각은 상기 훈련 데이터 세트와 상기 테스트 데이터 세트를 4:1의 비율로 포함하는
    공격 주체 분류 학습 방법.
  16. 특정 포맷의 문서로 이루어진 데이터 세트를 수집하는 단계와,
    상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 상기 데이터 세트로부터 추출하는 단계와,
    상기 특징에 기초하여 학습용 데이터 세트를 생성하는 단계와,
    상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 단계와,
    임의의 상기 특정 포맷의 문서에 상기 분류 모델을 적용하여 상기 임의의 특정 포맷의 문서의 공격 주체를 분류하는 단계를 포함하는
    공격 주체 분류 방법.
  17. 특정 포맷의 문서로 이루어진 데이터 세트를 수집하는 단계와,
    상기 문서를 이용하여 공격하는 공격 주체를 식별하기 위한 특징을 상기 데이터 세트로부터 추출하는 단계와,
    상기 특징에 기초하여 학습용 데이터 세트를 생성하는 단계와,
    상기 학습용 데이터 세트에 대해 학습을 수행하여 상기 공격 주체를 식별하기 위한 분류 모델을 생성하는 단계와
    임의의 상기 특정 포맷의 문서에 상기 분류 모델을 적용하여 상기 임의의 특정 포맷의 문서의 공격 주체를 분류하는 단계를 수행하는 명령어를 포함하는 프로그램이 기록된
    컴퓨터 판독 가능 기록 매체.
KR1020180061329A 2018-05-29 2018-05-29 공격 주체 분류 장치 및 방법 KR102075715B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180061329A KR102075715B1 (ko) 2018-05-29 2018-05-29 공격 주체 분류 장치 및 방법
US16/180,855 US11647032B2 (en) 2018-05-29 2018-11-05 Apparatus and method for classifying attack groups

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180061329A KR102075715B1 (ko) 2018-05-29 2018-05-29 공격 주체 분류 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190135836A KR20190135836A (ko) 2019-12-09
KR102075715B1 true KR102075715B1 (ko) 2020-02-10

Family

ID=68693985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180061329A KR102075715B1 (ko) 2018-05-29 2018-05-29 공격 주체 분류 장치 및 방법

Country Status (2)

Country Link
US (1) US11647032B2 (ko)
KR (1) KR102075715B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10202002125QA (en) * 2020-03-09 2020-07-29 Flexxon Pte Ltd System and method for detecting data anomalies by analysing morphologies of known and/or unknown cybersecurity threats
JP2022065703A (ja) * 2020-10-16 2022-04-28 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
CN112261045A (zh) * 2020-10-22 2021-01-22 广州大学 一种基于攻击原理的网络攻击数据自动生成方法及系统
KR102472449B1 (ko) * 2020-11-25 2022-12-01 (주)유엠로직스 Ai와 상관도 분석 기법을 이용한 사회이슈 기반 사이버 표적공격의 위험도 분석 시스템 및 그 분석 방법
KR102556463B1 (ko) * 2021-11-17 2023-07-18 (주)유엠로직스 공격자 그룹 유사도 기법을 활용한 사회이슈 기반 사이버 표적공격 예측 시스템 및 그 방법
KR102562665B1 (ko) * 2021-11-26 2023-08-03 (주)유엠로직스 공격자 그룹 유사도 기법을 활용한 사회이슈 기반 사이버 표적공격 탐지 시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798923B1 (ko) 2006-09-29 2008-01-29 한국전자통신연구원 컴퓨터 및 네트워크 보안을 위한 공격 분류 방법 및 이를수행하는 프로그램을 기록한 기록 매체

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460049B1 (en) * 1998-12-22 2002-10-01 Silicon Graphics, Inc. Method system and computer program product for visualizing an evidence classifier
KR100432421B1 (ko) * 2001-12-21 2004-05-22 한국전자통신연구원 공격에 대한 연관성 분석방법 및 이를 위한 기록매체
US8370942B1 (en) * 2009-03-12 2013-02-05 Symantec Corporation Proactively analyzing binary files from suspicious sources
US9015082B1 (en) * 2010-12-14 2015-04-21 Symantec Corporation Data quality assessment for vector machine learning
KR20160095856A (ko) 2015-02-04 2016-08-12 한국전자통신연구원 새로운 공격 유형의 자동 탐지 및 공격 유형 모델 갱신을 통한 지능형 침입 탐지 시스템 및 방법
US10176321B2 (en) * 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
EP3188038B1 (en) * 2015-12-31 2020-11-04 Dassault Systèmes Evaluation of a training set
US10708283B2 (en) * 2017-06-30 2020-07-07 Fortinet, Inc. Detection and mitigation of time-delay based network attacks
US11609984B2 (en) * 2018-02-14 2023-03-21 Digital Guardian Llc Systems and methods for determining a likelihood of an existence of malware on an executable
US20210366048A1 (en) * 2018-05-14 2021-11-25 State Farm Mutual Automobile Insurance Company Methods and systems for reacting to loss reporting data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798923B1 (ko) 2006-09-29 2008-01-29 한국전자통신연구원 컴퓨터 및 네트워크 보안을 위한 공격 분류 방법 및 이를수행하는 프로그램을 기록한 기록 매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
홍성삼외 2인, ‘작성자 분석 기반의 공격 메일 탐지를 위한 분류 모델’, Journal of Internet Computing and Services(JICS)18(6) pp.35-46. 2017.12.*

Also Published As

Publication number Publication date
US11647032B2 (en) 2023-05-09
KR20190135836A (ko) 2019-12-09
US20190370395A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
KR102075715B1 (ko) 공격 주체 분류 장치 및 방법
EP3113064B1 (en) System and method for determining modified web pages
AU2020213347A1 (en) Systems and methods for remote identification of enterprise threats
Nunan et al. Automatic classification of cross-site scripting in web pages using document-based and URL-based features
US9300682B2 (en) Composite analysis of executable content across enterprise network
Zollner et al. An automated live forensic and postmortem analysis tool for bitcoin on windows systems
Lee et al. LARGen: automatic signature generation for Malwares using latent Dirichlet allocation
US11763032B2 (en) Method and system for preserving privacy in an HTTP communication between a client and a server
Wang et al. Machine learning based cross-site scripting detection in online social network
WO2018066221A1 (ja) 分類装置、分類方法及び分類プログラム
Wang et al. TextDroid: Semantics-based detection of mobile malware using network flows
McGahagan et al. A comprehensive evaluation of webpage content features for detecting malicious websites
CN113992623B (zh) 一种基于内容与源码的网页邮件跨站脚本攻击检测方法
Almeida et al. Heuristic phishing detection and URL checking methodology based on scraping and web crawling
Saeli et al. DNS covert channel detection via behavioral analysis: a machine learning approach
KR102128008B1 (ko) 사이버 위협 정보 처리 방법 및 장치
CN113067792A (zh) 一种xss攻击识别方法、装置、设备及介质
Priya et al. A static approach to detect drive-by-download attacks on webpages
Zhao et al. Wsld: detecting unknown webshell using fuzzy matching and deep learning
CN115314271B (zh) 一种访问请求的检测方法、系统及计算机存储介质
US20230112092A1 (en) Detecting visual similarity between dns fully qualified domain names
CN113361597B (zh) 一种url检测模型的训练方法、装置、电子设备和存储介质
CN113553584A (zh) 一种工业互联网安全未知威胁检测方法、系统及存储介质
Kim et al. Frism: Malicious exploit kit detection via feature-based string-similarity matching
Marchai et al. Semantic based DNS forensics

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