KR102369240B1 - 네트워크 공격 탐지 장치 및 방법 - Google Patents
네트워크 공격 탐지 장치 및 방법 Download PDFInfo
- Publication number
- KR102369240B1 KR102369240B1 KR1020200103350A KR20200103350A KR102369240B1 KR 102369240 B1 KR102369240 B1 KR 102369240B1 KR 1020200103350 A KR1020200103350 A KR 1020200103350A KR 20200103350 A KR20200103350 A KR 20200103350A KR 102369240 B1 KR102369240 B1 KR 102369240B1
- Authority
- KR
- South Korea
- Prior art keywords
- network
- normal
- network characteristic
- classification
- abnormal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000000605 extraction Methods 0.000 claims abstract description 82
- 238000001514 detection method Methods 0.000 claims abstract description 81
- 238000013145 classification model Methods 0.000 claims abstract description 64
- 238000013135 deep learning Methods 0.000 claims abstract description 17
- 230000002159 abnormal effect Effects 0.000 claims description 29
- 238000012360 testing method Methods 0.000 claims description 29
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 230000000306 recurrent effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
네트워크 공격 탐지 장치 및 방법이 개시된다. 일 실시예에 따른 네트워크 공격 탐지 장치는, 각각 복수의 정상 네트워크 데이터 셋 중 하나와 복수의 딥 러닝(Deep learning) 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장하는 모델 저장부, 상기 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정하는 모델 결정부 및 상기 결정된 네트워크 특성 분류 모델을 이용하여 상기 네트워크 특성 추출 파일에 대해 상기 정상-비정상 분류를 수행하고, 상기 정상-비정상 분류의 결과에 기초하여 상기 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지하는 공격 탐지부를 포함한다.
Description
개시되는 실시예들은 네트워크 공격을 탐지하는 기술에 관한 것이다.
정보의 홍수 속에서 살아가는 우리는, 다양한 컴퓨팅 장치들이 상호 연결된 네트워크를 통해 수많은 데이터를 주고받으며 각자에게 필요한 정보를 습득한다. 따라서 원활한 정보 습득 및 공동체의 번영을 위해서는 안전한 환경의 네트워크를 구축하는 것이 중요한 과제라 할 수 있다.
이를 위해서는 네트워크 교란, 정보 유출 등을 목적으로 하는 네트워크 공격을 정확하게 탐지할 필요가 있어, 종래에는 규칙(rule) 기반 탐지 방법과 머신 러닝(machine learning) 알고리즘 기반 탐지 방법이 활용되어왔다.
그러나, 네트워크 공격이 점차 지능적이고 고도화됨에 따라 새로운 유형의 네트워크 공격이 등장하게 되었고, 종래의 규칙 기반 탐지 방법은 새로운 유형의 네트워크 공격에 대해서는 낮은 탐지율을 보일 뿐만 아니라 새로운 네트워크 공격 유형에 대한 규칙을 추가하기 위해서는 추가적으로 비용 및 시간이 소요된다는 문제가 있었다.
한편, 종래의 머신 러닝 알고리즘 기반 탐지 방법은 새로운 유형의 네트워크 공격을 탐지할 수는 있으나, 이를 위한 학습(training)에는 비정상 네트워크와 관련된 상당한 양의 학습 데이터가 필요하다는 한계가 있으며, 특히 지도 학습(supervised learning) 기법을 통해 학습될 경우 데이터의 라벨링(labeling)에 추가적인 비용 및 시간이 소요된다는 문제가 있었다.
개시되는 실시예들은 비용, 시간, 데이터 셋의 구성 등의 제약을 극복하고 다양한 유형의 네트워크 공격을 탐지하기 위한 것이다.
개시되는 일 실시예에 따른 네트워크 공격 탐지 장치는, 각각 복수의 정상 네트워크 데이터 셋 중 하나와 복수의 딥 러닝(Deep learning) 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장하는 모델 저장부, 상기 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정하는 모델 결정부 및 상기 결정된 네트워크 특성 분류 모델을 이용하여 상기 네트워크 특성 추출 파일에 대해 상기 정상-비정상 분류를 수행하고, 상기 정상-비정상 분류의 결과에 기초하여 상기 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지하는 공격 탐지부를 포함한다.
상기 복수의 딥 러닝 알고리즘은, 오토 인코더(Auto Encoder) 알고리즘 및 순환 신경망(RNN; Recurrent Neural Network) 알고리즘 중 적어도 하나를 포함할 수 있다.
추가적인 실시예에 따른 네트워크 공격 탐지 장치는, 상기 공격 탐지부에 입력되거나 상기 복수의 정상 네트워크 데이터 셋 중 어느 하나에 포함된 복수의 네트워크 패킷 캡쳐 파일(network packet capture file)을 하나 이상의 네트워크 패킷 플로우(network packet flow)로 군집화하고, 기 설정된 종류의 네트워크 특성에 기초하여 상기 하나 이상의 네트워크 패킷 플로우 각각에 대응되는 네트워크 특성 추출 파일을 생성하는 전처리부를 더 포함할 수 있다.
상기 모델 결정부는, 정상-비정상 레이블(label)로 라벨링(labeling)된 복수의 테스트 파일을 포함하는 테스트 데이터 셋 및 상기 정상-비정상 분류의 기준이 되는 기 설정된 임계 값에 기초하여 상기 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정할 수 있다.
상기 모델 결정부는, 상기 임계 값에 기초한 상기 복수의 테스트 파일의 정상-비정상 분류 결과와 상기 정상-비정상 레이블에 기초하여 상기 복수의 네트워크 특성 분류 모델 각각의 정밀도(Precision) 및 재현율(Recall)을 산출하고, 상기 정밀도 및 상기 재현율에 기초하여 F1-score를 산출하고, 상기 F1-score가 가장 높은 네트워크 특성 분류 모델을 상기 네트워크 특성 추출 파일의 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델로 결정할 수 있다.
상기 모델 결정부는, 상기 기 설정된 임계 값이 복수 개인 경우, 상기 복수의 임계 값 중 상기 F1-score가 가장 높을 때의 임계 값을 상기 네트워크 특성 추출 파일의 정상-비정상 분류의 기준이 될 임계 값으로 선택할 수 있다.
상기 공격 탐지부는, 기 설정된 종류의 네트워크 특성 각각에 대해 상기 결정된 네트워크 특성 분류 모델이 판단한 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각에 기초하여 손실(loss)을 산출하고, 상기 손실이 기 설정된 임계 값 이상인 경우 상기 네트워크 특성 추출 파일을 비정상으로 분류하고, 상기 비정상으로 분류된 네트워크 특성 추출 파일에 대응되는 네트워크가 공격받은 것으로 탐지할 수 있다.
상기 공격 탐지부는, 상기 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각 사이의 평균 제곱 오차(MSE; Mean Squared Error)를 상기 손실로 산출할 수 있다.
상기 공격 탐지부는, 기 설정된 제1 임계 값 및 상기 제1 임계 값을 초과하는 기 설정된 제2 임계 값에 있어서, 상기 손실이 상기 제1 임계 값 이상이고 상기 제2 임계 값 미만인 경우, 상기 네트워크 특성 추출 파일을 정상이되 위험군(risk group)으로 분류할 수 있고, 상기 손실이 상기 제2 임계 값 이상인 경우, 상기 네트워크 특성 추출 파일을 비정상으로 분류할 수 있다.
개시되는 일 실시예에 따른 네트워크 공격 탐지 방법은, 각각 복수의 네트워크 데이터 셋 중 하나와 복수의 딥 러닝(Deep learning) 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장하는 단계, 상기 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정하는 단계, 상기 결정된 네트워크 특성 분류 모델을 이용하여 상기 네트워크 특성 추출 파일에 대해 상기 정상-비정상 분류를 수행하는 단계 및 상기 정상-비정상 분류의 결과에 기초하여 상기 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지하는 단계를 포함한다.
상기 복수의 딥 러닝 알고리즘은, 오토 인코더(Auto Encoder) 알고리즘 및 순환 신경망(RNN; Recurrent Neural Network) 알고리즘 중 적어도 하나를 포함할 수 있다.
추가적인 실시예에 따른 네트워크 공격 탐지 방법은, 네트워크 공격 탐지 장치에 입력되거나 상기 복수의 네트워크 데이터 셋 중 어느 하나에 포함된 복수의 네트워크 패킷 캡쳐 파일(network packet capture file)을 하나 이상의 네트워크 패킷 플로우(network packet flow)로 군집화하는 단계 및 기 설정된 종류의 네트워크 특성에 기초하여 상기 하나 이상의 네트워크 패킷 플로우 각각에 대응되는 네트워크 특성 추출 파일을 생성하는 단계를 더 포함할 수 있다.
상기 결정하는 단계는, 정상-비정상 레이블(label)로 라벨링(labeling)된 복수의 테스트 파일을 포함하는 테스트 데이터 셋 및 상기 정상-비정상 분류의 기준이 되는 기 설정된 임계 값에 기초하여 상기 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정할 수 있다.
상기 결정하는 단계는, 상기 임계 값에 기초한 상기 복수의 테스트 파일의 정상-비정상 분류 결과와 상기 정상-비정상 레이블에 기초하여 상기 복수의 네트워크 특성 분류 모델 각각의 정밀도(Precision) 및 재현율(Recall)을 산출하는 단계, 상기 정밀도 및 상기 재현율에 기초하여 F1-score를 산출하는 단계 및 상기 F1-score가 가장 높은 네트워크 특성 분류 모델을 상기 네트워크 특성 추출 파일의 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델로 결정하는 단계를 포함할 수 있다.
상기 결정하는 단계는, 상기 기 설정된 임계 값이 복수 개인 경우, 상기 복수의 임계 값 중 상기 F1-score가 가장 높을 때의 임계 값을 상기 네트워크 특성 추출 파일의 정상-비정상 분류의 기준이 될 임계 값으로 선택할 수 있다.
상기 수행하는 단계는, 기 설정된 종류의 네트워크 특성 각각에 대해 상기 결정된 네트워크 특성 분류 모델이 판단한 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각에 기초하여 손실(loss)을 산출하는 단계 및 상기 손실이 기 설정된 임계 값 이상인 경우 상기 네트워크 특성 추출 파일을 비정상으로 분류하는 단계를 포함할 수 있고, 상기 탐지하는 단계는, 상기 비정상으로 분류된 네트워크 특성 추출 파일에 대응되는 네트워크가 공격받은 것으로 탐지할 수 있다.
상기 산출하는 단계는, 상기 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각 사이의 평균 제곱 오차(MSE; Mean Squared Error)를 상기 손실로 산출할 수 있다.
상기 분류하는 단계는, 기 설정된 제1 임계 값 및 상기 제1 임계 값을 초과하는 기 설정된 제2 임계 값에 있어서, 상기 손실이 상기 제1 임계 값 이상이고 상기 제2 임계 값 미만인 경우, 상기 네트워크 특성 추출 파일을 정상이되 위험군(risk group)으로 분류할 수 있고, 상기 손실이 상기 제2 임계 값 이상인 경우, 상기 네트워크 특성 추출 파일을 비정상으로 분류할 수 있다.
개시되는 실시예들에 따르면, 딥 러닝(Deep learning) 알고리즘에 기반한 학습을 통해 생성된 모델로 네트워크에 대한 공격을 탐지함으로써, 새로운 유형의 네트워크 공격을 탐지하기 위해 필요한 학습 데이터의 양, 비용 및 시간을 절감할 수 있다.
또한 개시되는 실시예들에 따르면, 다양한 딥 러닝 알고리즘에 기반하여 학습된 여러 모델 중 정밀도와 재현율을 고려하여 가장 우수한 모델을 사용함으로써, 현존하는 다양한 딥 러닝 알고리즘 및 향후 개선될 알고리즘들을 용이하게 모델의 학습에 사용할 수 있다.
도 1은 일 실시예에 따른 네트워크 공격 탐지 장치를 설명하기 위한 블록도
도 2는 추가적인 실시예에 따른 네트워크 공격 탐지 장치를 설명하기 위한 블록도
도 3은 일 실시예에 따른 네트워크 공격 탐지 방법을 설명하기 위한 흐름도
도 4는 추가적인 실시예에 따른 네트워크 공격 탐지 방법을 설명하기 위한 흐름도
도 5는 일 실시예에 따른 320 단계를 보다 상세히 설명하기 위한 흐름도
도 6은 일 실시예에 따른 330 단계를 보다 상세히 설명하기 위한 흐름도
도 7은 추가적인 실시예에 따른 330 단계를 보다 상세히 설명하기 위한 흐름도
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 추가적인 실시예에 따른 네트워크 공격 탐지 장치를 설명하기 위한 블록도
도 3은 일 실시예에 따른 네트워크 공격 탐지 방법을 설명하기 위한 흐름도
도 4는 추가적인 실시예에 따른 네트워크 공격 탐지 방법을 설명하기 위한 흐름도
도 5는 일 실시예에 따른 320 단계를 보다 상세히 설명하기 위한 흐름도
도 6은 일 실시예에 따른 330 단계를 보다 상세히 설명하기 위한 흐름도
도 7은 추가적인 실시예에 따른 330 단계를 보다 상세히 설명하기 위한 흐름도
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 네트워크 공격 탐지 장치(100)를 설명하기 위한 블록도이다.
이하의 실시예들에서, '네트워크'는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wire area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.
한편 이하의 실시예들에서, '네트워크 공격'은 네트워크 상의 정보, 네트워크에 연결된 기기에 저장된 정보 또는 네트워크 자체를 교란, 거부, 손상, 파괴하는 행위를 포함할 수 있다. 예를 들어, '네트워크 공격'은 '시스템 거부공격(Denial of Service), 스니핑(Sniffing), 스푸핑(Spoofing), 스위치 재밍(Switch Jamming), 랜드 어택(Land Attack) 또는 포트 스캐닝(PORT Scanning) 등을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니다.
도시된 바와 같이, 일 실시에 따른 네트워크 공격 탐지 장치(100)는 모델 저장부(110), 모델 결정부(120) 및 공격 탐지부(130)를 포함한다.
모델 저장부(110)는 각각 복수의 정상 네트워크 데이터 셋 중 하나와 복수의 딥 러닝(Deep learning) 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장한다.
일 실시예에 따르면, 복수의 정상 네트워크 데이터 셋 각각은 정상 네트워크에 대한 복수의 네트워크 패킷 캡쳐 파일(network packet capture file)을 포함할 수 있다. 또한, 일 실시예에 따르면, 복수의 정상 네트워크 데이터 셋 각각은 정상 네트워크에 대한 복수의 네트워크 특성 추출 파일을 포함할 수도 있다.
이하의 실시예들에서, '네트워크 패킷'은 네트워크가 전달하는 네트워크 데이터의 형식화된 블록(block)을 의미하며, '네트워크 패킷 캡쳐 파일'은 이러한 네트워크 패킷을 저장하기 위해 사용되는 파일을 의미한다.
한편, 이하의 실시예들에서, '네트워크 특성'은 네트워크에 대한 공격 여부를 탐지하는 기준이 복수의 기준을 의미한다. 예를 들어, '네트워크 특성'은 '통신한 총 네트워크 패킷의 개수', '전체 통신 시간', '네트워크 패킷의 통신에 소요된 시간의 표준편차', '네트워크 패킷의 통신에 소요된 시간의 평균', '네트워크 패킷의 통신에 소요된 시간의 최댓값', '네트워크 패킷의 통신에 소요된 시간의 최솟값', '1초당 통신한 네트워크 패킷의 개수', 'TCP 송신 포트(Source Port)와 수신 포트(Destination Port)의 비율', '네트워크 패킷의 헤더(header)에 사용된 전체 바이트(bite)', '최초 윈도우(window)에서 보내진 바이트', '네트워크 패킷의 최대 사이즈(size)', '네트워크 패킷의 최소 사이즈' 등을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니며, 네트워크에 대한 공격 여부를 탐지하는 데 사용될 수 있는 임의의 기준을 더 포함할 수도 있다.
일 실시예에 따르면, 복수의 딥 러닝 알고리즘은, 오토 인코더(Auto Encoder) 알고리즘 및 순환 신경망(RNN; Recurrent Neural Network) 알고리즘 중 적어도 하나를 포함할 수 있다.
구체적으로, 복수의 딥 러닝 알고리즘은, RNN 알고리즘 중에서 LSTM(Long Short-Term Memory) 알고리즘을 포함할 수 있으나, 반드시 이에 한정되는 것은 아니다.
모델 결정부(120)는 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정한다.
일 실시예에 따르면, 모델 결정부(120)는 정상-비정상 레이블(label)로 라벨링(labeling)된 복수의 테스트 파일을 포함하는 테스트 데이터 셋 및 정상-비정상 분류의 기준이 되는 기 설정된 임계 값에 기초하여 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정할 수 있다.
이때, 테스트 데이터 셋에 포함된 복수의 테스트 파일은 기 설정된 종류의 네트워크 특성 각각을 기준으로 정상-비정상이 구분되어 라벨링된 복수의 네트워크 특성 추출 파일일 수 있다.
구체적으로, 모델 결정부(120)는 아래의 과정을 통해 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정할 수 있다.
(1) 기 설정된 임계 값에 기초한 복수의 테스트 파일의 정상-비정상 분류 결과와 정상-비정상 레이블에 기초하여, 복수의 네트워크 특성 분류 모델 각각의 정밀도(Precision) 및 재현율(Recall)을 산출
(2) 정밀도 및 재현율에 기초하여 F1-score를 산출
(3) F1-score가 가장 높은 네트워크 특성 분류 모델을 네트워크 특성 추출 파일의 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델로 결정
이하의 실시예들에서, '정밀도'는 복수의 테스트 파일을 복수의 네트워크 특성 분류 모델을 통해 각각 정상 또는 비정상으로 분류한 결과, 비정상으로 분류된 테스트 파일 중 실제 비정상으로 라벨링된 테스트 파일의 비율을 의미할 수 있다.
즉 다시 말하면, '정밀도'는 아래의 수학식 1에 의해 산출될 수 있다.
[수학식 1]
이때, TP(True Positive)는 비정상으로 분류되고 실제 비정상으로 라벨링된 테스트 파일의 수, FP(False Positive)는 비정상으로 분류되나 실제 정상으로 라벨링된 테스트 파일의 수를 나타낸다.
한편 이하의 실시예들에서, '재현율'은 복수의 테스트 파일을 복수의 네트워크 특성 분류 모델을 통해 각각 정상 또는 비정상으로 분류한 결과, 실제 비정상으로 라벨링된 테스트 파일 중에서 비정상으로 분류된 테스트 파일의 비율을 의미할 수 있다.
즉 다시 말하면, '재현율'은 아래의 수학식 2에 의해 산출될 수 있다.
[수학식 2]
이때, FN(False Negative)은 정상으로 분류되나 실제 비정상으로 라벨링된 테스트 파일의 수를 나타낸다.
일 실시예에 따르면, 모델 결정부(120)는 정밀도와 재현율의 조화평균(Harmonic Mean)을 F1-score로 산출할 수 있다.
구체적으로, F1-score는 아래의 수학식 3에 의해 산출될 수 있다.
[수학식 3]
일 실시예에 따르면, 모델 결정부(120)는 기 설정된 임계 값이 복수 개인 경우, 복수의 기 설정된 임계 값 중 F1-score가 가장 높을 때의 임계 값을 네트워크 특성 추출 파일의 정상-비정상 분류의 기준이 될 임계 값으로 선택할 수 있다.
즉, 테스트 데이터 셋에 포함된 테스트 파일을 이용하여 임계 값을 설정하는 경우, 정상 네트워크 데이터 셋으로부터 획득한 네트워크 특성 추출 파일을 이용하여 임계 값을 설정할 때와 비교하여 정상-비정상 분류의 신뢰도에 차이가 발생할 수 있다. 이를 보완하기 위해, 네트워크 공격 탐지 장치(100)는 임계 값을 복수 개 설정하고, 모델 결정부(120)로 하여금 F1-score가 가장 높을 때의 임계 값을 선택하도록 할 수 있다.
예를 들어, 정상 네트워크 데이터 셋으로부터 획득한 네트워크 특성 추출 파일을 이용하여 설정한 신뢰도 95%의 임계 값이 0.95라 가정하자. 이 경우, 네트워크 공격 탐지 장치(100)는 0.95에서 0.01 또는 0.02를 더하거나 뺀 값인 0.93, 0.94, 0.96, 0.97을 추가적인 임계 값으로 설정하여, 모델 결정부(120)로 하여금 총 5개의 임계 값 중 F1-score가 가장 높을 때의 임계 값을 선택하도록 할 수 있다.
공격 탐지부(130)는 결정된 네트워크 특성 분류 모델을 이용하여 네트워크 특성 추출 파일에 대해 정상-비정상 분류를 수행하고, 정상-비정상 분류의 결과에 기초하여 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지한다.
일 실시예에 따르면, 공격 탐지부(130)는 아래의 과정을 통해 네트워크에 대한 공격을 탐지할 수 있다.
(1) 기 설정된 종류의 네트워크 특성 각각에 대해, 모델 결정부(120)를 통해 결정된 네트워크 특성 분류 모델이 판단한 정상 특성 값 각각과 네트워크 특성 추출 파일의 특성 값 각각에 기초하여 손실(loss)을 산출
(2) 산출된 손실이 기 설정된 임계 값 이상인 경우, 네트워크 특성 추출 파일을 비정상으로 분류
(3) 비정상으로 분류된 네트워크 특성 추출 파일에 대응되는 네트워크가 공격받은 것으로 탐지
구체적으로, 공격 탐지부(130)는 정상 특성 값 각각과 네트워크 특성 추출 파일의 특성 값 각각 사이의 평균 제곱 오차(MSE; Mean Squared Error)를 손실로 산출할 수 있다.
이와 관련하여, 정상-비정상 분류의 기준이 되는 임계 값은 정상 특성 값 각각과 정상 네트워크 데이터 셋으로부터 획득한 네트워크 특성 추출 파일의 특성 값 각각 사이의 MSE들로 이루어진 분포에서, 상위 X 퍼센티지(이때, X는 0 이상 100 이하의 양의 실수)에 해당하는 MSE일 수 있다.
예를 들어, 기 설정되는 임계 값은 정상 특성 값 각각과 정상 네트워크 데이터 셋으로부터 획득한 네트워크 특성 추출 파일의 특성 값 각각 사이의 MSE들로 이루어진 분포에서, 최대값에 해당하는 MSE일 수 있다.
일 실시예에 따르면, 공격 탐지부(130)는 기 설정된 제1 임계 값 및 제1 임계 값을 초과하는 기 설정된 제2 임계 값에 있어서, 손실이 제1 임계 값 이상이고 제2 임계 값 미만인 경우, 네트워크 특성 추출 파일을 정상이되 위험군(risk group)으로 분류할 수 있다.
한편, 일 실시예에 따르면, 공격 탐지부(130)는 손실이 제2 임계 값 이상인 경우, 네트워크 특성 추출 파일을 비정상으로 분류할 수 있다.
또한, 일 실시예에 따르면, 공격 탐지부(130)는 손실이 제1 임계 값 미만인 경우, 네트워크 특성 추출 파일을 정상이되 비위험군(non-risk group)으로 분류할 수 있다.
예를 들어, 제1 임계 값은 정상 특성 값 각각과 정상 네트워크 데이터 셋으로부터 획득한 네트워크 특성 추출 파일의 특성 값 각각 사이의 MSE들로 이루어진 분포에서, 상위 5퍼센티지에 해당하는 MSE일 수 있으며, 제2 임계 값은 최대값에 해당하는 MSE일 수 있다.
도 2는 추가적인 실시예에 따른 네트워크 공격 탐지 장치(200)를 설명하기 위한 블록도이다.
도시된 바와 같이, 추가적인 실시예에 따른 네트워크 공격 탐지 장치(200)는 모델 저장부(110), 모델 결정부(120) 및 공격 탐지부(130) 외에 전처리부(210)를 더 포함한다.
이 중, 모델 저장부(110), 모델 결정부(120) 및 공격 탐지부(130)는 도 1을 참조하여 설명한 일 실시예에서와 동일 또는 유사한 기능을 수행하므로, 이에 대한 중복되는 설명은 생략하도록 한다.
전처리부(210)는 공격 탐지부에 입력되거나 복수의 정상 네트워크 데이터 셋 중 어느 하나에 포함된 복수의 네트워크 패킷 캡쳐 파일을 하나 이상의 네트워크 패킷 플로우(network packet flow)로 군집화할 수 있다.
이하의 실시예들에서, '네트워크 패킷 플로우'는 송-수신 IP 및 송-수신 포트 번호 중 적어도 하나가 동일한 네트워크 패킷들에 대해, 해당 네트워크 패킷들에 대응되는 복수의 네트워크 패킷 캡쳐 파일을 한데 묶은 군집일 수 있다. 그러나, 네트워크 패킷 캡쳐 파일을 분류하는 기준은 이외에도 다양할 수 있으며, 해당 기준을 달리함에 따라 네트워크 패킷 플로우를 구성하는 네트워크 패킷 캡쳐 파일들의 구성이 달라질 수 있음은 자명하다.
아울러, 전처리부(210)는 기 설정된 종류의 네트워크 특성에 기초하여, 군집화된 하나 이상의 네트워크 패킷 플로우 각각에 대응되는 네트워크 특성 추출 파일을 생성할 수 있다.
도 3은 일 실시예에 따른 네트워크 공격 탐지 방법을 설명하기 위한 흐름도이다. 도 3에 도시된 방법은 예를 들어, 도 1을 참조하여 상술한 네트워크 공격 탐지 장치(100)에 의해 수행될 수 있다.
우선, 네트워크 공격 탐지 장치(100)는 각각 복수의 네트워크 데이터 셋 중 하나와 복수의 딥 러닝(Deep learning) 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장한다(310).
이후, 네트워크 공격 탐지 장치(100)는 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정한다(320).
이후, 네트워크 공격 탐지 장치(100)는 결정된 네트워크 특성 분류 모델을 이용하여 네트워크 특성 추출 파일에 대해 정상-비정상 분류를 수행한다(330).
이후, 네트워크 공격 탐지 장치(100)는 정상-비정상 분류의 결과에 기초하여 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지한다(340).
도 4는 추가적인 실시예에 따른 네트워크 공격 탐지 방법을 설명하기 위한 흐름도이다. 도 4에 도시된 방법은 예를 들어, 도 2를 참조하여 상술한 네트워크 공격 탐지 장치(200)에 의해 수행될 수 있다.
우선, 네트워크 공격 탐지 장치(200)는 네트워크 공격 탐지 장치에 입력되거나 복수의 네트워크 데이터 셋 중 어느 하나에 포함된 복수의 네트워크 패킷 캡쳐 파일(network packet capture file)을 하나 이상의 네트워크 패킷 플로우(network packet flow)로 군집화한다(410).
이후, 네트워크 공격 탐지 장치(200)는 기 설정된 종류의 네트워크 특성에 기초하여 하나 이상의 네트워크 패킷 플로우 각각에 대응되는 네트워크 특성 추출 파일을 생성한다(420).
이후, 네트워크 공격 탐지 장치(200)는 각각 복수의 네트워크 데이터 셋 중 하나와 복수의 딥 러닝 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장한다(430).
이후, 네트워크 공격 탐지 장치(200)는 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정한다(440).
이후, 네트워크 공격 탐지 장치(200)는 결정된 네트워크 특성 분류 모델을 이용하여 네트워크 특성 추출 파일에 대해 정상-비정상 분류를 수행한다(450).
이후, 네트워크 공격 탐지 장치(200)는 정상-비정상 분류의 결과에 기초하여 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지한다(460).
도 5는 일 실시예에 따른 320 단계를 보다 상세히 설명하기 위한 흐름도이다. 도 5에 도시된 방법은 예를 들어, 도 1을 참조하여 상술한 네트워크 공격 탐지 장치(100)에 의해 수행될 수 있다. 그러나, 320 단계는 도 4를 참조하여 설명한 440 단계와 대응되며, 이에 따라 도 5에 도시된 방법은 도 2를 참조하여 상술한 네트워크 공격 탐지 장치(200)에 의해서도 수행될 수 있다.
우선, 네트워크 공격 탐지 장치(100, 200)는 임계 값에 기초한 복수의 테스트 파일의 정상-비정상 분류 결과와 정상-비정상 레이블에 기초하여 복수의 네트워크 특성 분류 모델 각각의 정밀도(Precision) 및 재현율(Recall)을 산출한다(510).
이후, 네트워크 공격 탐지 장치(100, 200)는 정밀도 및 재현율에 기초하여 F1-score를 산출한다(520).
이후, 네트워크 공격 탐지 장치(100, 200)는 F1-score가 가장 높은 네트워크 특성 분류 모델을 네트워크 특성 추출 파일의 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델로 결정한다(530).
도 6은 일 실시예에 따른 330 단계를 보다 상세히 설명하기 위한 흐름도이다. 도 6에 도시된 방법은 예를 들어, 도 1을 참조하여 상술한 네트워크 공격 탐지 장치(100)에 의해 수행될 수 있다. 그러나, 330 단계는 도 4를 참조하여 설명한 450 단계와 대응되며, 이에 따라 도 6에 도시된 방법은 도 2를 참조하여 상술한 네트워크 공격 탐지 장치(200)에 의해서도 수행될 수 있다.
우선, 네트워크 공격 탐지 장치(100, 200)는 기 설정된 종류의 네트워크 특성 각각에 대해 결정된 네트워크 특성 분류 모델이 판단한 정상 특성 값 각각과 네트워크 특성 추출 파일의 특성 값 각각에 기초하여 손실(loss)을 산출한다(610).
이후, 네트워크 공격 탐지 장치(100, 200)는 산출된 손실이 기 설정된 임계 값 이상인지 여부를 판단한다(620).
이후, 네트워크 공격 탐지 장치(100, 200)는 손실이 기 설정된 임계 값 이상인 경우, 네트워크 특성 추출 파일을 비정상으로 분류한다(630).
한편, 네트워크 공격 탐지 장치(100, 200)는 손실이 기 설정된 임계 값 미만인 경우, 네트워크 특성 추출 파일을 정상으로 분류한다(640).
도 7은 추가적인 실시예에 따른 330 단계를 보다 상세히 설명하기 위한 흐름도이다. 도 7에 도시된 방법은 예를 들어, 도 1을 참조하여 상술한 네트워크 공격 탐지 장치(100)에 의해 수행될 수 있다. 그러나, 330 단계는 도 4를 참조하여 설명한 450 단계와 대응되며, 이에 따라 도 7에 도시된 방법은 도 2를 참조하여 상술한 네트워크 공격 탐지 장치(200)에 의해서도 수행될 수 있다.
우선, 네트워크 공격 탐지 장치(100, 200)는 기 설정된 종류의 네트워크 특성 각각에 대해 결정된 네트워크 특성 분류 모델이 판단한 정상 특성 값 각각과 네트워크 특성 추출 파일의 특성 값 각각에 기초하여 손실을 산출한다(710).
이후, 네트워크 공격 탐지 장치(100, 200)는 산출된 손실이 기 설정된 제1 임계 값 이상인지 여부를 판단한다(720).
이후, 네트워크 공격 탐지 장치(100, 200)는 손실이 제1 임계 값 이상인 경우, 제1 임계 값을 초과하는 기 설정된 제2 임계 값을 기준으로 하여, 손실이 제2 임계 값 이상인지 여부를 판단한다(730).
이후, 네트워크 공격 탐지 장치(100, 200)는 손실이 제2 임계 값 이상인 경우, 네트워크 특성 추출 파일을 비정상으로 분류한다(740).
한편, 네트워크 공격 탐지 장치(100, 200)는 손실이 제1 임계 값 이상이고 제2 임계 값 미만인 경우, 네트워크 특성 추출 파일을 정상이되 위험군(risk group)으로 분류한다(750).
한편, 네트워크 공격 탐지 장치(100, 200)는 손실이 제1 임계 값 미만인 경우, 네트워크 특성 추출 파일을 정상이되 비위험군(non-risk group)으로 분류한다(760).
이상의 흐름도 도 3 내지 도 7에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
도 8은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 일 실시예에 따른 네트워크 공격 탐지 장치(100)일 수 있다. 또한, 컴퓨팅 장치(12)는 추가적인 실시예에 따른 네트워크 공격 탐지 장치(200)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100, 200: 네트워크 공격 탐지 장치
110: 모델 저장부
120: 모델 결정부
130: 공격 탐지부
210: 전처리부
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100, 200: 네트워크 공격 탐지 장치
110: 모델 저장부
120: 모델 결정부
130: 공격 탐지부
210: 전처리부
Claims (18)
- 각각 복수의 정상 네트워크 데이터 셋 중 하나와 복수의 딥 러닝(Deep learning) 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장하는 모델 저장부;
상기 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정하는 모델 결정부; 및
상기 결정된 네트워크 특성 분류 모델을 이용하여 상기 네트워크 특성 추출 파일에 대해 상기 정상-비정상 분류를 수행하고, 상기 정상-비정상 분류의 결과에 기초하여 상기 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지하는 공격 탐지부를 포함하되,
상기 모델 결정부는,
정상-비정상 레이블(label)로 라벨링(labeling)된 복수의 테스트 파일을 포함하는 테스트 데이터 셋 및 상기 정상-비정상 분류의 기준이 되는 기 설정된 임계 값에 기초하여 상기 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정하는, 네트워크 공격 탐지 장치.
- 청구항 1에 있어서,
상기 복수의 딥 러닝 알고리즘은,
오토 인코더(Auto Encoder) 알고리즘 및 순환 신경망(RNN; Recurrent Neural Network) 알고리즘 중 적어도 하나를 포함하는, 네트워크 공격 탐지 장치.
- 청구항 1에 있어서,
상기 공격 탐지부에 입력되거나 상기 복수의 정상 네트워크 데이터 셋 중 어느 하나에 포함된 복수의 네트워크 패킷 캡쳐 파일(network packet capture file)을 하나 이상의 네트워크 패킷 플로우(network packet flow)로 군집화하고, 기 설정된 종류의 네트워크 특성에 기초하여 상기 하나 이상의 네트워크 패킷 플로우 각각에 대응되는 네트워크 특성 추출 파일을 생성하는 전처리부를 더 포함하는, 네트워크 공격 탐지 장치.
- 삭제
- 청구항 1에 있어서,
상기 모델 결정부는,
상기 임계 값에 기초한 상기 복수의 테스트 파일의 정상-비정상 분류 결과와 상기 정상-비정상 레이블에 기초하여 상기 복수의 네트워크 특성 분류 모델 각각의 정밀도(Precision) 및 재현율(Recall)을 산출하고, 상기 정밀도 및 상기 재현율에 기초하여 F1-score를 산출하고, 상기 F1-score가 가장 높은 네트워크 특성 분류 모델을 상기 네트워크 특성 추출 파일의 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델로 결정하는, 네트워크 공격 탐지 장치.
- 청구항 5에 있어서,
상기 모델 결정부는,
상기 기 설정된 임계 값이 복수 개인 경우, 상기 복수의 임계 값 중 상기 F1-score가 가장 높을 때의 임계 값을 상기 네트워크 특성 추출 파일의 정상-비정상 분류의 기준이 될 임계 값으로 선택하는, 네트워크 공격 탐지 장치.
- 청구항 1에 있어서,
상기 공격 탐지부는,
기 설정된 종류의 네트워크 특성 각각에 대해 상기 결정된 네트워크 특성 분류 모델이 판단한 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각에 기초하여 손실(loss)을 산출하고, 상기 손실이 기 설정된 임계 값 이상인 경우 상기 네트워크 특성 추출 파일을 비정상으로 분류하고, 상기 비정상으로 분류된 네트워크 특성 추출 파일에 대응되는 네트워크가 공격받은 것으로 탐지하는, 네트워크 공격 탐지 장치.
- 청구항 7에 있어서,
상기 공격 탐지부는,
상기 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각 사이의 평균 제곱 오차(MSE; Mean Squared Error)를 상기 손실로 산출하는, 네트워크 공격 탐지 장치.
- 청구항 7에 있어서,
상기 공격 탐지부는,
기 설정된 제1 임계 값 및 상기 제1 임계 값을 초과하는 기 설정된 제2 임계 값에 있어서,
상기 손실이 상기 제1 임계 값 이상이고 상기 제2 임계 값 미만인 경우, 상기 네트워크 특성 추출 파일을 정상이되 위험군(risk group)으로 분류하고,
상기 손실이 상기 제2 임계 값 이상인 경우, 상기 네트워크 특성 추출 파일을 비정상으로 분류하는, 네트워크 공격 탐지 장치.
- 각각 복수의 네트워크 데이터 셋 중 하나와 복수의 딥 러닝(Deep learning) 알고리즘 중 하나를 이용한 학습을 통해 생성된 복수의 네트워크 특성 분류 모델을 저장하는 단계;
상기 복수의 네트워크 특성 분류 모델 중 분류 대상인 네트워크 특성 추출 파일에 대한 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정하는 단계;
상기 결정된 네트워크 특성 분류 모델을 이용하여 상기 네트워크 특성 추출 파일에 대해 상기 정상-비정상 분류를 수행하는 단계; 및
상기 정상-비정상 분류의 결과에 기초하여 상기 네트워크 특성 추출 파일에 대응되는 네트워크에 대한 공격을 탐지하는 단계를 포함하되,
상기 결정하는 단계는,
정상-비정상 레이블(label)로 라벨링(labeling)된 복수의 테스트 파일을 포함하는 테스트 데이터 셋 및 상기 정상-비정상 분류의 기준이 되는 기 설정된 임계 값에 기초하여 상기 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델을 결정하는, 네트워크 공격 탐지 방법.
- 청구항 10에 있어서,
상기 복수의 딥 러닝 알고리즘은,
오토 인코더(Auto Encoder) 알고리즘 및 순환 신경망(RNN; Recurrent Neural Network) 알고리즘 중 적어도 하나를 포함하는, 네트워크 공격 탐지 방법.
- 청구항 10에 있어서,
네트워크 공격 탐지 장치에 입력되거나 상기 복수의 네트워크 데이터 셋 중 어느 하나에 포함된 복수의 네트워크 패킷 캡쳐 파일(network packet capture file)을 하나 이상의 네트워크 패킷 플로우(network packet flow)로 군집화하는 단계; 및
기 설정된 종류의 네트워크 특성에 기초하여 상기 하나 이상의 네트워크 패킷 플로우 각각에 대응되는 네트워크 특성 추출 파일을 생성하는 단계를 더 포함하는, 네트워크 공격 탐지 방법.
- 삭제
- 청구항 10에 있어서,
상기 결정하는 단계는,
상기 임계 값에 기초한 상기 복수의 테스트 파일의 정상-비정상 분류 결과와 상기 정상-비정상 레이블에 기초하여 상기 복수의 네트워크 특성 분류 모델 각각의 정밀도(Precision) 및 재현율(Recall)을 산출하는 단계;
상기 정밀도 및 상기 재현율에 기초하여 F1-score를 산출하는 단계; 및
상기 F1-score가 가장 높은 네트워크 특성 분류 모델을 상기 네트워크 특성 추출 파일의 정상-비정상 분류를 위해 이용할 네트워크 특성 분류 모델로 결정하는 단계를 포함하는, 네트워크 공격 탐지 방법.
- 청구항 14에 있어서,
상기 결정하는 단계는,
상기 기 설정된 임계 값이 복수 개인 경우, 상기 복수의 임계 값 중 상기 F1-score가 가장 높을 때의 임계 값을 상기 네트워크 특성 추출 파일의 정상-비정상 분류의 기준이 될 임계 값으로 선택하는, 네트워크 공격 탐지 방법.
- 청구항 10에 있어서,
상기 수행하는 단계는,
기 설정된 종류의 네트워크 특성 각각에 대해 상기 결정된 네트워크 특성 분류 모델이 판단한 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각에 기초하여 손실(loss)을 산출하는 단계; 및
상기 손실이 기 설정된 임계 값 이상인 경우 상기 네트워크 특성 추출 파일을 비정상으로 분류하는 단계를 포함하고,
상기 탐지하는 단계는,
상기 비정상으로 분류된 네트워크 특성 추출 파일에 대응되는 네트워크가 공격받은 것으로 탐지하는, 네트워크 공격 탐지 방법.
- 청구항 16에 있어서,
상기 산출하는 단계는,
상기 정상 특성 값 각각과 상기 네트워크 특성 추출 파일의 특성 값 각각 사이의 평균 제곱 오차(MSE; Mean Squared Error)를 상기 손실로 산출하는, 네트워크 공격 탐지 방법.
- 청구항 16에 있어서,
상기 분류하는 단계는,
기 설정된 제1 임계 값 및 상기 제1 임계 값을 초과하는 기 설정된 제2 임계 값에 있어서,
상기 손실이 상기 제1 임계 값 이상이고 상기 제2 임계 값 미만인 경우, 상기 네트워크 특성 추출 파일을 정상이되 위험군(risk group)으로 분류하고,
상기 손실이 상기 제2 임계 값 이상인 경우, 상기 네트워크 특성 추출 파일을 비정상으로 분류하는, 네트워크 공격 탐지 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200103350A KR102369240B1 (ko) | 2020-08-18 | 2020-08-18 | 네트워크 공격 탐지 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200103350A KR102369240B1 (ko) | 2020-08-18 | 2020-08-18 | 네트워크 공격 탐지 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220022322A KR20220022322A (ko) | 2022-02-25 |
KR102369240B1 true KR102369240B1 (ko) | 2022-02-28 |
Family
ID=80490312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200103350A KR102369240B1 (ko) | 2020-08-18 | 2020-08-18 | 네트워크 공격 탐지 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102369240B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117675363A (zh) * | 2023-12-07 | 2024-03-08 | 广州融服信息技术有限公司 | 一种基于机器学习的动态网络攻击识别方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019047335A (ja) * | 2017-09-01 | 2019-03-22 | 日本電信電話株式会社 | 検知装置、検知方法、および、検知プログラム |
KR102074909B1 (ko) * | 2019-09-06 | 2020-02-07 | 세종대학교산학협력단 | 소프트웨어 취약점 분류 장치 및 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100628325B1 (ko) | 2004-12-20 | 2006-09-27 | 한국전자통신연구원 | 무선 네트워크에 대한 공격을 탐지하기 위한 침입 탐지센서 및 무선 네트워크 침입 탐지 시스템 및 방법 |
KR102279983B1 (ko) * | 2018-12-28 | 2021-07-21 | 성균관대학교산학협력단 | 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체 |
-
2020
- 2020-08-18 KR KR1020200103350A patent/KR102369240B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019047335A (ja) * | 2017-09-01 | 2019-03-22 | 日本電信電話株式会社 | 検知装置、検知方法、および、検知プログラム |
KR102074909B1 (ko) * | 2019-09-06 | 2020-02-07 | 세종대학교산학협력단 | 소프트웨어 취약점 분류 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20220022322A (ko) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7559200B2 (ja) | ディープ・ラーニングによるネットワーク侵入検知 | |
CN107154950B (zh) | 一种日志流异常检测的方法及系统 | |
CN110266647B (zh) | 一种命令和控制通信检测方法及系统 | |
US8418249B1 (en) | Class discovery for automated discovery, attribution, analysis, and risk assessment of security threats | |
Yoon et al. | Communication pattern monitoring: Improving the utility of anomaly detection for industrial control systems | |
US9230102B2 (en) | Apparatus and method for detecting traffic flooding attack and conducting in-depth analysis using data mining | |
CN109951491A (zh) | 网络攻击检测方法、装置、设备及存储介质 | |
KR20160095856A (ko) | 새로운 공격 유형의 자동 탐지 및 공격 유형 모델 갱신을 통한 지능형 침입 탐지 시스템 및 방법 | |
CN110769007B (zh) | 一种基于异常流量检测的网络安全态势感知方法及装置 | |
WO2019129915A1 (en) | Intelligent defense and filtration platform for network traffic | |
CN117544420B (zh) | 一种基于数据分析的融合系统安全管理方法及系统 | |
Agrawal et al. | Autoencoder for Design of Mitigation Model for DDOS Attacks via M‐DBNN | |
CN111464510B (zh) | 基于快速梯度提升树分类模型的网络实时入侵检测方法 | |
KR102369240B1 (ko) | 네트워크 공격 탐지 장치 및 방법 | |
Singh et al. | Detecting different attack instances of DDoS vulnerabilities on edge network of fog computing using gaussian naive bayesian classifier | |
KR20190081408A (ko) | 네트워크 침입 탐지 시스템 및 방법, 이를 수행하기 위한 기록매체 | |
Pal et al. | Neural network & genetic algorithm based approach to network intrusion detection & comparative analysis of performance | |
CN113542252A (zh) | Web攻击的检测方法、检测模型和检测装置 | |
CN114205146B (zh) | 一种多源异构安全日志的处理方法及装置 | |
Shaik et al. | capsAEUL: Slow http DoS attack detection using autoencoders through unsupervised learning | |
Alhaidari et al. | Hybrid learning approach of combining cluster-based partitioning and hidden markov model for iot intrusion detection | |
CN111416812B (zh) | 一种恶意脚本检测方法、设备及存储介质 | |
KR101809671B1 (ko) | 이상 인증 탐지 장치 및 방법 | |
Benferhat et al. | Revising the outputs of a decision tree with expert knowledge: Application to intrusion detection and alert correlation | |
Perwira et al. | Software Defined Network: The Comparison of SVM kernel on DDoS Detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |