머신러닝 기반 네트워크 공격 및 침입 탐지 방법 및 장치
Method and Apparatus for Detecting Network Attack and Intrusion based on Machine Learning
특허 요약
인공신경망 모델에 의해 SDN/NFV 환경에서 네트워크 공격 및 침입 상태를 탐지함에 있어, 실제 네트워크 환경에서 획득한 데이터를 토대로 학습 데이터셋을 구축하여 모델의 학습에 사용하고, 상기 인공신경망 모델이 네트워크 트래픽 데이터의 시계열 특성을 고려하도록 함으로써, 실제 네트워크 환경에서 높은 탐지 정확도를 시현할 수 있는 네트워크 공격 및 침입 탐지 방법 및 장치를 제공한다. 네트워크 공격 및 침입 탐지 방법은, 네트워크를 통해 전달되는 데이터 플로우 또는 패킷으로부터 트래픽 데이터를 획득하고, 획득한 네트워크 트래픽 데이터를 토대로 학습용 데이터셋을 생성하는 단계; 상기 학습용 데이터셋을 사용하여 소정의 이상상태 탐지 신경망 모델을 학습시키는 단계; 상기 네트워크로부터 공격 또는 침입 상태 판정이 필요한 트래픽 데이터를 받아들이고, 시계열 트래픽 데이터를 저장하는 단계; 및 학습된 이상상태 탐지 신경망에 의한 추론에 의해 상기 시계열 트래픽 데이터에 공격 또는 침입 징후가 있는지 결정하는 단계를 포함한다.
청구항
번호청구항
1

네트워크를 통해 전달되는 데이터 플로우 또는 패킷으로부터 트래픽 데이터를 획득하고, 획득한 네트워크 트래픽 데이터를 토대로 학습용 데이터셋을 생성하는 단계;상기 학습용 데이터셋을 사용하여 소정의 이상상태 탐지 신경망 모델을 학습시키는 단계;상기 네트워크로부터 공격 또는 침입 상태 판정이 필요한 트래픽 데이터를 받아들이고, 시계열 트래픽 데이터를 저장하는 단계; 및학습된 이상상태 탐지 신경망에 의한 추론에 의해 상기 시계열 트래픽 데이터에 공격 또는 침입 징후가 있는지 결정하는 단계;를 포함하는,네트워크 공격 및 침입 탐지 방법.

2

청구항 1에 있어서, 상기 학습용 데이터셋을 생성하는 단계가상기 획득한 네트워크 트래픽 데이터에 결함을 주입하는 단계; 및결함이 주입된 데이터를 토대로 상기 학습용 데이터셋을 생성하는 단계;를 포함하는,네트워크 공격 및 침입 탐지 방법.

3

청구항 1에 있어서, 상기 시계열 트래픽 데이터에 공격 또는 침입 징후가 있는지 결정하는 단계가상기 시계열 트래픽 데이터에 대하여 스케일링을 포함한 전처리를 수행하는 단계; 및전처리가 완료된 데이터에서 상기 공격 또는 침입 징후를 탐지하는 단계;를 포함하는,네트워크 공격 및 침입 탐지 방법.

4

청구항 3에 있어서, 상기 이상상태 탐지 신경망이입력 데이터 시퀀스를 소정의 차원을 가지는 특징 벡터로 벡터화하는 특징 맵핑 계층;상기 특징 벡터의 크기를 감소시키는 인코더 계층;상기 인코더 계층의 출력 벡터를 풀링 또는 셀프-어텐션에 의하여 하나의 벡터로 축약시키는 판독 계층; 및상기 판독 계층에 의해 축약된 벡터를 토대로, RNN을 포함하는 신경망에 의하여 분류해서, 상기 공격 또는 침입 징후가 있는지를 탐지하는 분류기 계층;을 포함하는,네트워크 공격 및 침입 탐지 방법.

5

청구항 4에 있어서,상기 특징 맵핑 계층이, 상기 분류기 계층로부터 이전 시간 단계에서의 분류 결과를 받아들이고 상기 입력 데이터 시퀀스 또는 상기 특징 벡터에 상기 분류 결과를 결합시키는 단계;를 더 포함하는,네트워크 공격 및 침입 탐지 방법.

6

청구항 5에 있어서, 상기 특징 벡터에 상기 분류 결과를 결합시키는 단계는상기 특징 맵핑 계층이, 소정의 시간 단계들에 상응한 상기 분류기 계층의 분류 결과들을 받아들이는 단계;상기 입력 데이터 시퀀스 또는 상기 특징 벡터에 상기 분류기 계층으로부터의 분류 결과들을 직합 연산하여 결합시키는,네트워크 공격 및 침입 탐지 방법.

7

프로그램 명령들을 저장하는 메모리와; 상기 메모리에 접속되고 상기 메모리에 저장된 상기 프로그램 명령들을 실행하는 프로세서;를 구비하며,상기 프로그램 명령들은 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금:네트워크를 통해 전달되는 데이터 플로우 또는 패킷으로부터 트래픽 데이터를 획득하고, 획득한 네트워크 트래픽 데이터를 토대로 학습용 데이터셋을 생성하며;상기 학습용 데이터셋을 사용하여 소정의 이상상태 탐지 신경망 모델을 학습시키고;상기 네트워크로부터 공격 또는 침입 상태 판정이 필요한 트래픽 데이터를 받아들이고, 시계열 트래픽 데이터를 저장하며;학습된 이상상태 탐지 신경망에 의한 추론에 의해 상기 시계열 트래픽 데이터에 공격 또는 침입 징후가 있는지 결정하게 하는,네트워크 공격 및 침입 탐지 장치.

8

청구항 7에 있어서, 상기 프로세서로 하여금 상기 학습용 데이터셋을 생성하게 하는 프로그램 명령들은 상기 프로세서로 하여금:상기 획득한 네트워크 트래픽 데이터에 결함을 주입하고;결함이 주입된 데이터를 토대로 상기 학습용 데이터셋을 생성하게 하는,네트워크 공격 및 침입 탐지 장치.

9

청구항 7에 있어서, 상기 프로세서로 하여금 상기 시계열 트래픽 데이터에 공격 또는 침입 징후가 있는지 결정하게 하는 프로그램 명령들은 상기 프로세서로 하여금:상기 시계열 트래픽 데이터에 대하여 스케일링을 포함한 전처리를 수행하고;전처리가 완료된 데이터에서 상기 공격 또는 침입 징후를 탐지하게 하는,네트워크 공격 및 침입 탐지 장치.

10

청구항 9에 있어서, 상기 이상상태 탐지 신경망이입력 데이터 시퀀스를 소정의 차원을 가지는 특징 벡터로 벡터화하는 특징 맵핑 계층;상기 특징 벡터의 크기를 감소시키는 인코더 계층;상기 인코더 계층의 출력 벡터를 풀링 또는 셀프-어텐션에 의하여 하나의 벡터로 축약시키는 판독 계층; 및상기 판독 계층에 의해 축약된 벡터를 토대로, RNN을 포함하는 신경망에 의하여 분류해서, 상기 공격 또는 침입 징후가 있는지를 탐지하는 분류기 계층;을 포함하는,네트워크 공격 및 침입 탐지 장치.

11

청구항 10에 있어서, 상기 프로그램 명령들은 상기 프로세서로 하여금:상기 특징 맵핑 계층이, 상기 분류기 계층로부터 이전 시간 단계에서의 분류 결과를 받아들이고 상기 입력 데이터 시퀀스 또는 상기 특징 벡터에 상기 분류 결과를 결합시키게 하는,네트워크 공격 및 침입 탐지 장치.

12

청구항 11에 있어서, 상기 프로세서로 하여금 상기 특징 벡터에 상기 분류 결과를 결합시키게 하는 프로그램 명령들은 상기 프로세서로 하여금:상기 특징 맵핑 계층이, 소정의 시간 단계들에 상응한 상기 분류기 계층의 분류 결과들을 받아들이고;상기 입력 데이터 시퀀스 또는 상기 특징 벡터에 상기 분류기 계층으로부터의 분류 결과들을 직합 연산하여 결합시키도록 하는,네트워크 공격 및 침입 탐지 장치.