KR20190028880A - 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치 - Google Patents

봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치 Download PDF

Info

Publication number
KR20190028880A
KR20190028880A KR1020170115711A KR20170115711A KR20190028880A KR 20190028880 A KR20190028880 A KR 20190028880A KR 1020170115711 A KR1020170115711 A KR 1020170115711A KR 20170115711 A KR20170115711 A KR 20170115711A KR 20190028880 A KR20190028880 A KR 20190028880A
Authority
KR
South Korea
Prior art keywords
model
detection system
threshold value
learning data
botnet detection
Prior art date
Application number
KR1020170115711A
Other languages
English (en)
Inventor
박민호
마이렁
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020170115711A priority Critical patent/KR20190028880A/ko
Publication of KR20190028880A publication Critical patent/KR20190028880A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)

Abstract

본 발명은 GANs(Generative Adversarial Nets)를 이용하여 봇넷 탐지 시스템을 위한 학습 데이터를 생성하는 방법으로, 본 발명은 (a) 하나 이상의 실제 플로우(real-world flow)를 생성자 모델(generative model) 및 판별자 모델(discriminative model)로 입력하는 단계; (b) 하나 이상의 실제 플로우를 기초로 생성자 모델에서 생성된 합성 플로우(synthetic flow)에 대한 판별자 모델의 판별 결과값을 임계값과 비교하는 단계; (c) 판별 결과값이 임계값 이하이면, 합성 플로우를 생성자 모델 및 판별자 모델로 재입력하는 단계; (d) 판별 결과값이 임계값을 초과할 때까지 (b) 및 (c)를 반복수행하는 수행하는 단계; 및 (e) 판별 결과값이 임계값을 초과하면, 합성 플로우를 봇넷 탐지 시스템의 학습 데이터로 저장하는 단계를 포함한다.

Description

봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치 {METHOD AND APPRATUS FOR GENERATING MACHINE LEARNING DATA FOR BOTNET DETECTION SYSTEM}
봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치에 관한 것이다.
최근 몇 년간 사이버 공격이 지속적으로 증가하여 대규모의 피해를 가했는데, 서로 다른 유형의 사이버 범죄 중에서 봇넷(Botnet)이 가장 큰 피해를 입혔다. 봇넷은 악성 소프트웨어에 감염된 거대한 네트워크 장치로 여러 컴퓨터를 감염시켜 목표대상에게 서비스 거부 공격(DoS)와 같은 집중적 공격을 할 수 있다. 이러한 봇넷 트래픽을 탐지하는 가장 보편적인 방법 중 하나가 기계 학습(Machine Learning)이다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술이다. 이러한 기계학습을 보다 정확하고 효율적으로 수행하여 봇넷 트래픽의 탐지 성능을 향상시키기 위해서는 충분한 양의 학습 데이터 세트를 확보하는 것이 중요하며, 특히 학습 데이터 세트가 네트워크에서 수집된 일상적인 트래픽을 포함하여 얼마나 다양한 종류의 데이터들을 포함하는가는 봇넷 트랙픽의 탐지 성능을 결정하는데 큰 영향을 미친다. 그러나, 이러한 학습 데이터 세트를 충분히 확보하는 것은 현실적으로 어렵다. 따라서, 충분한 양의 학습 데이터 세트를 확보할 수 있는 방안에 대한 연구가 필요한 실정이다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일 실시예는 봇넷 탐지 시스템을 위한 충분한 양의 유의미한 학습 데이터를 생성하는 방법 및 그 장치를 제공하는데에 그 목적이 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제1 측면은, (a) 하나 이상의 실제 플로우(real-world flow)를 생성자 모델(generative model) 및 판별자 모델(discriminative model)로 입력하는 단계; (b) 하나 이상의 실제 플로우를 기초로 생성자 모델에서 생성된 합성 플로우(synthetic flow)에 대한 판별자 모델의 판별 결과값을 임계값과 비교하는 단계; (c) 판별 결과값이 임계값 이하이면, 합성 플로우를 생성자 모델 및 판별자 모델로 재입력하는 단계; (d) 판별 결과값이 임계값을 초과할 때까지 (b) 및 (c)를 반복수행하는 수행하는 단계; 및 (e) 판별 결과값이 임계값을 초과하면, 합성 플로우를 봇넷 탐지 시스템의 학습 데이터로 저장하는 단계를 포함하는 GANs(Generative Adversarial Nets) 기반의 봇넷 탐지 시스템을 위한 학습 데이터 생성 방법을 제공한다.
전술한 본 발명의 과제 해결 수단에 의하면, 본 발명의 일 실시예는 GANs(generative Adversarial Networks)를 이용하여 봇넷 탐지 시스템을 기계학습을 수행할 수 있는 의미있는 학습 데이터 세트를 생성함으로써, 실제 플로우를 수집하지 않으면서도 봇넷 탐지 시스템을 기계학습할 수 있는 충분한 양의 학습 데이터 세트를 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따라 봇넷 탐지 시스템을 위한 학습 데이터 세트를 생성하는 방법을 도시한다.
도 2는 본 발명의 일 실시예에 따른 봇넷 탐지 시스템을 위한 학습 데이터 생성 장치의 구성을 도시한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라 봇넷 탐지 시스템을 위한 학습 데이터 세트를 생성하는 방법을 도시한다.
종래에는 봇넷 트래픽을 탐지하는 봇넷 탐지 시스템의 성능을 향상시키기 위해 기계학습 알고리즘의 성능을 향상시키고자 하였다. 이에 따라 네트워크의 플로우를 공격 플로우와 정상 플로우로 분류하는 분류 성능을 향상시키기 위한 피처(feature) 추출 성능, 분류기 성능 등이 개선되고 있다. 그러나 알고리즘 성능이 개선되어도, 학습 데이터 세트가 충분하지 않은 환경에서 봇넷 탐지 시스템의 성능을 향상시키는 것은 한계가 있다. 또한, 타겟 네트워크에서 트래픽을 충분히 수집하여 충분한 양의 학습 데이터 세트가 마련되는 경우라도, 시스템의 성능을 저해하는 비정상적인 데이터를 삭제하는데에 많은 시간이 소요된다. 따라서, 본 방법은 충분한 양의 유의미한 학습 데이터 세트를 생성하여 봇넷 탐지 시스템을 기계학습함으로써, 봇넷 탐지 시스템의 기계학습 알고리즘의 성능을 극대화하는데에 그 목적이 있다.
구체적으로, 본 발명의 일 실시예에 따른 방법은 GANs(Generative Adversarial Nets)를 이용하여 봇넷 탐지 시스템을 위한 학습 데이터 세트를 생성한다. 여기서 GANs은 실제 데이터 패턴을 기초로 해당 패턴을 모사하여 새로운 데이터 패턴을 생성하는 생성자 모델(generative model, GM)과, 생성된 패턴의 진위 여부를 판별하는 판별자 모델(discriminative model, DM)로 구성되어, 게임이론을 기초로 생성자 모델은 판별자 모델의 정확도를 최소화할 수 있는 모사 패턴을 생성하고, 판별자 모델은 판별의 성공 활률을 최대화하도록 형성된 비지도 학습 인공지능 기술이다.
도 1을 참조하면, 본 방법은, 먼저 생성자 모델과 판별자 모델로 하나 이상의 실제 플로우(real-world flow, 즉, 실제 트래픽으로부터 추출된 정상 데이터를 포함하는 서로 다른 종류의 데이터 세트)를 입력한다. 생성자 모델은 입력받은 실제 플로우에 랜덤 벡터값(random vector)을 입력받아 합성 플로우(synthetic flow)를 생성하며, 이렇게 생성된 합성 플로우는 판별자 모델로 입력된다. DM은 실제 플로우를 기초로 선별된 예측 알고리즘(predict1, predict2)를 이용하여, 입력받은 합성 플로우가 실제 플로우일 확률값(즉, 판별 결과값)을 출력한다.
만약, 출력된 확률값이 임계값 이하라면, 합성 플로우는 에러값(error)으로 판별되어, 다시 생성자 모델 및 판별자 모델로 입력된다. 이에 따라 생성자 모델은 보다 실제 플로우에 유사한 합성 플로우를 생성하도록 합성 알고리즘을 갱신(update)하며, 판별자 모델은 보다 정확하게 합성 플로우와 실제 플로우를 판별하도록 예측 알고리즘(predict1, predict 2)을 갱신한다.
본 방법은 출력된 확률값(즉, 판별 결과값)이 임계값을 초과할 때까지 전술한 과정을 반복 수행한다. 이때, 임계값은 실험적으로 결정된 값으로서, 봇넷 탐지 시스템의 성능에 따라 설정 및 조정될 수 있다.
반복수행결과, 판별자 모델의 출력된 확률값이 임계값을 초과하면, 합성 플로우는 봇넷 탐지 시스템의 학습 데이터 세트로서 출력된다.
이와 같이, 본 발명은 GANs를 이용하여 보다 실제 플로우에 매칭되는 양질의 학습 데이터 세트를 반복 수행함으로써, 봇넷 탐지 시스템의 기계학습 성능을 향상시킬 수 있을 뿐 아니라, 유의미한 학습 데이터 세트를 추출하기 위한 과정을 생략할 수 있다.
도 2는 본 발명의 일 실시예에 따른 봇넷 탐지 시스템을 위한 학습 데이터 생성 장치(100)의 구성을 도시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 장치(100)는 생성자 모델 및 판별자 모델이 저장된 메모리(110) 및 생성자 모델 및 판별자 모델을 실행하여 학습 데이터 세트를 출력받는 프로세서(120)를 포함한다.
생성자 모델은 프로세서(120)에 의해 실행됨에 따라 실제 플로우(real-world flow)를 입력받아 합성 플로우(synthetic flow)를 생성하며, 생성된 합성 플로우를 판별자 모델로 출력한다. 판별자 모델은 프로세서(120)에 의해 실행됨에 따라 생성자 모델로부터 입력받은 플로우가 실제 플로우일 확률(즉, 판별 결과값)을 산출하여 출력한다.
프로세서(120)는 판별자 모델에서의 출력값(즉, 판별 결과값)이 임계값 이하이면, 에러값으로 결정하고, 해당 출력값을 다시 생성자 모델과 판별자 모델로 입력한다. 프로세서(120)는 판별자 모델에서의 출력값이 임계값을 초과할 때까지 전술한 동작을 반복 수행한다.
이후, 판별자 모델의 출력값(즉, 판별 결과값)이 임계값을 초과하면, 프로세서(120)는 해당 출력값을 봇넷 탐지 시스템을 위한 학습 데이터 세트로서 저장한다.
한편, 본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 학습 데이터 생성 장치
110: 메모리
111: 생성자 모델(GM) 모듈
112: 판별자 모델(DM) 모듈
120: 프로세서

Claims (1)

  1. GANs(Generative Adversarial Nets)를 이용하여 봇넷 탐지 시스템을 위한 학습 데이터를 생성하는 방법에 있어서,
    (a) 하나 이상의 실제 플로우(real-world flow)를 생성자 모델(generative model) 및 판별자 모델(discriminative model)로 입력하는 단계;
    (b) 상기 하나 이상의 실제 플로우를 기초로 상기 생성자 모델에서 생성된 합성 플로우(synthetic flow)에 대한 상기 판별자 모델의 판별 결과값을 임계값과 비교하는 단계;
    (c) 상기 판별 결과값이 임계값 이하이면, 상기 합성 플로우를 상기 생성자 모델 및 상기 판별자 모델로 재입력하는 단계;
    (d) 상기 판별 결과값이 임계값을 초과할 때까지 상기 (b) 및 상기 (c)를 반복수행하는 수행하는 단계; 및
    (e) 상기 판별 결과값이 임계값을 초과하면, 상기 합성 플로우를 상기 봇넷 탐지 시스템의 학습 데이터로 저장하는 단계를 포함하는 것인 방법.
KR1020170115711A 2017-09-11 2017-09-11 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치 KR20190028880A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170115711A KR20190028880A (ko) 2017-09-11 2017-09-11 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170115711A KR20190028880A (ko) 2017-09-11 2017-09-11 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20190028880A true KR20190028880A (ko) 2019-03-20

Family

ID=66036303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170115711A KR20190028880A (ko) 2017-09-11 2017-09-11 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20190028880A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565261A (zh) * 2020-12-04 2021-03-26 浙江大学 基于多生成器AugGAN的对抗动态恶意API序列生成方法
KR20210045577A (ko) * 2019-10-16 2021-04-27 연세대학교 산학협력단 인공 지능 기반 뇌 mri영상에서 생성된 ct 영상을 이용한 비침습 치료 계획 방법
KR20210086789A (ko) * 2019-12-30 2021-07-09 서울대학교산학협력단 Mr 영상유도 방사선 치료를 위한 합성 ct 영상 생성 방법 및 이를 이용한 방사선 치료계획 수립방법
US11430089B2 (en) 2019-07-10 2022-08-30 Samsung Electronics Co., Ltd. Image processing method and image processing system for generating a corrected image

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11430089B2 (en) 2019-07-10 2022-08-30 Samsung Electronics Co., Ltd. Image processing method and image processing system for generating a corrected image
KR20210045577A (ko) * 2019-10-16 2021-04-27 연세대학교 산학협력단 인공 지능 기반 뇌 mri영상에서 생성된 ct 영상을 이용한 비침습 치료 계획 방법
KR20210086789A (ko) * 2019-12-30 2021-07-09 서울대학교산학협력단 Mr 영상유도 방사선 치료를 위한 합성 ct 영상 생성 방법 및 이를 이용한 방사선 치료계획 수립방법
CN112565261A (zh) * 2020-12-04 2021-03-26 浙江大学 基于多生成器AugGAN的对抗动态恶意API序列生成方法

Similar Documents

Publication Publication Date Title
EP3651043B1 (en) Url attack detection method and apparatus, and electronic device
CN107992887B (zh) 分类器生成方法、分类方法、装置、电子设备及存储介质
CN103532949B (zh) 基于动态反馈的自适应木马通信行为检测方法
KR20190028880A (ko) 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치
CN111586071B (zh) 一种基于循环神经网络模型的加密攻击检测方法及装置
Tan et al. Adversarial attacks on remote user authentication using behavioural mouse dynamics
CN113688387B (zh) 基于服务器和客户端双重检测的联邦学习中毒攻击的防御方法
CN110493262A (zh) 一种改进分类的网络攻击检测方法及系统
Benaddi et al. Adversarial attacks against iot networks using conditional gan based learning
Hadi et al. A novel approach to network intrusion detection system using deep learning for Sdn: Futuristic approach
CN110119621B (zh) 异常系统调用的攻击防御方法、系统及防御装置
US20230049479A1 (en) Computer-implemented method for accelerating convergence in the training of generative adversarial networks (gan) to generate synthetic network traffic, and computer programs of same
CN110598794A (zh) 一种分类对抗的网络攻击检测方法及系统
Macas et al. Adversarial examples: A survey of attacks and defenses in deep learning-enabled cybersecurity systems
CN110619216A (zh) 一种对抗性网络的恶意软件检测方法及系统
Nalavade et al. Evaluation of k-means clustering for effective intrusion detection and prevention in massive network traffic data
CN112070161B (zh) 一种网络攻击事件分类方法、装置、终端及存储介质
CN110581857B (zh) 一种虚拟执行的恶意软件检测方法及系统
Farrahi et al. KCMC: A hybrid learning approach for network intrusion detection using K-means clustering and multiple classifiers
CN113255526A (zh) 基于动量的对人群计数模型的对抗样本生成方法及系统
CN115277065B (zh) 一种物联网异常流量检测中的对抗攻击方法及装置
Qiu et al. MT-MTD: Muti-training based moving target defense trojaning attack in edged-AI network
Bui et al. A clustering-based shrink autoencoder for detecting anomalies in intrusion detection systems
CN114444075B (zh) 一种生成躲避流量数据的方法
Kuang et al. A CMA-ES-Based adversarial attack on black-box deep neural networks