KR20210086220A - 비정상 트래픽 패턴의 탐지 방법 및 장치 - Google Patents

비정상 트래픽 패턴의 탐지 방법 및 장치 Download PDF

Info

Publication number
KR20210086220A
KR20210086220A KR1020190180015A KR20190180015A KR20210086220A KR 20210086220 A KR20210086220 A KR 20210086220A KR 1020190180015 A KR1020190180015 A KR 1020190180015A KR 20190180015 A KR20190180015 A KR 20190180015A KR 20210086220 A KR20210086220 A KR 20210086220A
Authority
KR
South Korea
Prior art keywords
traffic
packet
abnormal
vector
prediction model
Prior art date
Application number
KR1020190180015A
Other languages
English (en)
Other versions
KR102291869B1 (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 KR1020190180015A priority Critical patent/KR102291869B1/ko
Priority to US17/120,390 priority patent/US11444876B2/en
Publication of KR20210086220A publication Critical patent/KR20210086220A/ko
Application granted granted Critical
Publication of KR102291869B1 publication Critical patent/KR102291869B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/149Network analysis or design for prediction of maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • 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
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

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

Abstract

적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치의 동작 방법으로서, 트래픽 패킷들을 수집하는 단계, 상기 트래픽 패킷들로부터 특정 필드 데이터를 추출하고, 트래픽 패킷별로 추출된 특정 필드 데이터를 차원이 축소된 벡터로 변환하고, 트래픽 패킷별 벡터로 학습 데이터를 생성하는 단계, 학습 데이터를 이용하여, 입력된 트래픽 패킷으로부터 다음에 입력될 트래픽 패킷과 상기 트래픽 패킷의 비정상 여부를 예측하는 트래픽 예측 모델을 학습시키는 단계, 그리고 학습된 트래픽 예측 모델을 이용하여 비정상 트래픽 패킷이 입력될 빈도를 예측하고, 예측된 빈도와 기준값을 비교하여 비정상 트래픽 알람을 출력하는 단계를 포함한다.

Description

비정상 트래픽 패턴의 탐지 방법 및 장치{METHOD AND APPARATUS FOR ANOMALY DETECTION OF TRAFFIC PATTERN}
본 발명은 비정상 트래픽 패턴을 탐지하는 기술에 관한 것이다.
다양한 원인으로 비정상 네트워크 트래픽이 생성될 수 있다. 예를 들어, 보안상의 이유로 새로운 TCP 포트가 비주기적으로 재연결 되거나, 시스템이 저속 통신 회선으로 구성된 경우, 네트워크 버스트(Burst) 트래픽으로 인해 패킷이 손상될 수 있다.
전체 네트워크 트래픽에서 비정상 트래픽이 차지하는 비율은 매우 미미하나, 이러한 비정상 트래픽의 영향을 받는 트래픽의 비율은 낮지 않다. 따라서 매우 드물게 발생하는 불규칙한 네트워크 트래픽을 정확하게 탐지해야 한다.
한편, 비정상 네트워크 트래픽을 탐지하기 위해 화이트리스트 규칙을 생성하는 종래 기술이 개발되었다.
그러나 화이트리스트 규칙을 이용하는 경우, 화이트리스트 규칙에 어긋나는 비정상 트래픽을 탐지한 이후, 다음 규칙에 적용할 트래픽 패턴의 시작 부분을 결정하기가 어렵다. 또한, 일상적으로 발생할 수 있는 일시적 네트워크 통신 불능에 대해, 설정한 규칙에 조금이라도 맞지 않는 경우 비정상 트래픽으로 탐지하여 오탐률이 높다는 문제가 있다.
화이트리스트 규칙으로 인한 단점을 보완하기 위해, 순환 신경망(Recurrent Neural Network, RNN)이 사용될 수 있다. 그러나 일반적인 단방향 순환 신경망(Unidirectional RNN)의 경우 아주 드물게 관측되는 트래픽 패턴에 대한 예측이 어렵다.
따라서 비정상 트래픽이 발생한 이후에도 지속적으로 탐지를 수행하고, 출현 빈도가 낮은 비정상 트래픽도 정확하게 탐지하는 방법이 요구된다.
해결하고자 하는 과제는 양방향 순환 신경망을 이용하여 네트워크 트래픽 패턴을 학습하고, 비정상 트래픽 패턴을 탐지하는 방법을 제공하는 것이다.
한 실시예에 따른 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치의 동작 방법으로서, 트래픽 패킷들을 수집하는 단계, 상기 트래픽 패킷들로부터 특정 필드 데이터를 추출하고, 트래픽 패킷별로 추출된 특정 필드 데이터를 차원이 축소된 벡터로 변환하고, 트래픽 패킷별 벡터로 학습 데이터를 생성하는 단계, 학습 데이터를 이용하여, 입력된 트래픽 패킷으로부터 다음에 입력될 트래픽 패킷과 상기 트래픽 패킷의 비정상 여부를 예측하는 트래픽 예측 모델을 학습시키는 단계, 그리고 학습된 트래픽 예측 모델을 이용하여 비정상 트래픽 패킷이 입력될 빈도를 예측하고, 예측된 빈도와 기준값을 비교하여 비정상 트래픽 알람을 출력하는 단계를 포함한다.
상기 특정 필드 데이터는, 각 트래픽 패킷에 포함된 데이터 타입의 유형, 커맨드의 유형, 플래그 정보, 포트 정보, 소스 IP, 목적지 IP 중 적어도 어느 하나를 포함할 수 있다.
상기 생성하는 단계는, 수집한 상기 트래픽 패킷들에서 등장하는 패턴의 종류를 파악하고, 상기 패턴의 종류를 구분할 수 있는 최소 크기의 벡터로 변환할 수 있다.
상기 벡터는 한 개의 성분만 참 또는 1이고, 나머지 성분은 거짓 또는 0으로 표시된 원-핫(One-hot) 벡터일 수 있다.
일련의 새로운 트래픽 패킷들을 순차적으로 입력받아 상기 트래픽 예측 모델로 입력하는 단계, 그리고 상기 새로운 트래픽 패킷들 이후에 들어올 트래픽 패킷을 예측하는 단계를 더 포함할 수 있다.
상기 입력하는 단계와 상기 예측하는 단계 사이에, 상기 새로운 트래픽 패킷들에서 상기 특정 필드 데이터를 추출하여 벡터로 변환하고, 상기 벡터가 상기 학습 데이터의 형태와 다른 경우 알람을 발생하는 단계를 더 포함할 수 있다.
예측된 트래픽 패킷이 정상 트래픽인지 판단하는 단계, 상기 예측된 트래픽 패킷이 비정상 트래픽으로 판단된 경우, 알람을 발생하는 단계를 더 포함할 수 있다.
한 실시예에 따른 컴퓨팅 장치로서, 메모리, 그리고 상기 메모리에 로드된 프로그램의 명령들(instructions)을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 프로그램은 수집한 복수의 트래픽 패킷들로부터 특정 필드 데이터를 추출하고, 트래픽 패킷별로 추출된 특정 필드 데이터를 차원이 축소된 벡터로 변환하고, 트래픽 패킷별 벡터로 학습 데이터를 생성하는 단계, 학습 데이터를 이용하여, 입력된 트래픽 패킷으로부터 다음에 입력될 트래픽 패킷과 상기 트래픽 패킷의 비정상 여부를 예측하는 트래픽 예측 모델을 학습시키는 단계, 일련의 새로운 트래픽 패킷들을 순차적으로 입력받는 단계, 상기 새로운 트래픽 패킷들에서 상기 특정 필드 데이터를 추출하여 벡터로 변환하고 상기 트래픽 예측 모델로 입력하는 단계, 그리고 상기 새로운 트래픽 패킷 이후에 들어올 트래픽 패킷을 예측하는 단계를 실행하도록 기술된 명령들을 포함한다.
상기 트래픽 예측 모델은 양방향 순환 신경망(Bidirectional Recurrent Neural Networks, BRNN)으로 구현된 모델일 수 있다.
상기 생성하는 단계는, 상기 추출한 필드 데이터를 분류 규칙에 따라 복수개의 그룹들로 분류하는 단계, 그리고 각 그룹에 속한 필드 데이터를, 필드 데이터의 종류를 구별할 수 있는 최소 차원의 벡터로 변환하는 단계를 포함할 수 있다.
상기 트래픽 예측 모델은 상기 그룹의 개수만큼 생성되고, 각 트래픽 예측 모델은 각 그룹에 속한 벡터들을 입력받아 학습할 수 있다.
상기 학습시키는 단계는, 학습된 트래픽 예측 모델을 이용하여 비정상 트래픽 패킷이 입력될 빈도를 예측하고, 상기 빈도를 이용하여 알람을 출력하기 위한 기준값을 설정할 수 있다.
예측된 트래픽 패킷이 정상 트래픽인지 판단하는 단계, 상기 예측된 트래픽 패킷이 비정상이라고 판단된 경우, 단위 시간당 비정상 트래픽 패킷이 입력된 빈도를 계산하여 상기 기준값을 초과하는 경우 알람을 출력하는 단계를 더 포함할 수 있다.
본 발명에 따르면 양방향 순환 신경망을 이용하여, 정상 범주 내에서 일시적 네트워크 통신 불능이 발생한 경우를 비정상 트래픽으로 오탐하지 않을 수 있고, 탐지 결과의 해석이 용이하다.
또한 본 발명에 따르면, 비정상 트래픽이 발생한 이후에도 탐지가 중단되지 않고, 비정상 트래픽을 입력값으로 하여 딥러닝 모델이 지속적으로 탐지를 수행할 수 있어 탐지의 연속성을 보장할 수 있다.
또한 본 발명에 따르면, 단순히 정상과 비정상 여부를 출력하는 것이 아니라, 다음 트래픽의 예측값을 제공하므로, 비정상의 원인을 파악하는 데에 도움이 된다.
또한 본 발명에 따르면, 사이버 공격에 따른 비정상 행위 외에도, 네트워크 운영 중 네트워크의 장기적인 불능을 탐지할 수 있으므로 보안성을 향상시키고, 네트워크 상황을 파악하는 데 활용할 수 있다.
도 1은 한 실시예에 따른 비정상 트래픽 탐지 장치의 구성도이다.
도 2는 한 실시예에 따른 전처리부가 동작하는 방법의 설명도이다.
도 3은 다른 실시예에 따른 전처리부가 동작하는 방법의 설명도이다.
도 4는 한 실시예에 따른 비정상 트래픽 탐지 장치의 학습 방법의 흐름도이다.
도 5는 한 실시예에 따른 비정상 트래픽 탐지 장치의 탐지 방법의 흐름도이다.
도 6은 한 실시예에 따른 트래픽 예측 모델의 설명도이다.
도 7은 한 실시예에 따른 비정상 트래픽을 탐지하는 예시도이다.
도 8은 한 실시예에 따른 트래픽 예측 모델의 성능을 나타내는 설명도이다.
도 9는 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 한 실시예에 따른 비정상 트래픽 탐지 장치의 구성도이다.
도 1을 참고하면, 비정상 트래픽 탐지 장치(1000)는 트래픽 패킷에서 특정 필드를 추출하고 필드 별 관찰되는 패턴을 벡터로 생성하여 트래픽 예측 모델(310)을 학습한다. 단위 시간 동안 비정상 트래픽 패킷이 발생된 빈도를 파악하고, 이후 트래픽 패킷이 입력되면 다음에 들어올 패킷을 예측하여 비정상 패킷을 탐지하여 비정상 트래픽 패킷이 발생된 빈도가 임계값을 초과하는지 판단한다.
비정상 트래픽 탐지 장치(1000)는 학습 데이터와 트래픽 패킷에서 특정 필드를 추출하여 필드 데이터를 생성하는 필드 추출부(100), 변환 규칙에 필드 데이터를 벡터화하는 전처리부(200), 트래픽 예측 모델(310)을 학습시키는 학습부(300), 학습된 트래픽 예측 모델(310)을 이용하여 다음 트래픽을 예측하고, 비정상 트래픽을 탐지하는 탐지부(400)를 포함한다.
설명을 위해, 필드 추출부(100), 전처리부(200), 학습부(300), 탐지부(400)로 명명하여 부르나, 이들은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치이다. 여기서, 필드 추출부(100), 전처리부(200), 학습부(300), 탐지부(400)는 하나의 컴퓨팅 장치에 구현되거나, 별도의 컴퓨팅 장치에 분산 구현될 수 있다. 별도의 컴퓨팅 장치에 분산 구현된 경우, 필드 추출부(100), 전처리부(200), 학습부(300), 탐지부(400)는 통신 인터페이스를 통해 서로 통신할 수 있다. 컴퓨팅 장치는 본 발명을 수행하도록 작성된 소프트웨어 프로그램을 실행할 수 있는 장치이면 충분하고, 예를 들면, 서버, 랩탑 컴퓨터 등일 수 있다.
필드 추출부(100), 전처리부(200), 학습부(300), 탐지부(400) 각각은 하나의 인공지능 모델일 수 있고, 복수의 인공지능 모델로 구현될 수도 있다. 그리고 트래픽 예측 모델(310)도 하나의 인공지능 모델일 수 있고, 복수의 인공지능 모델로 구현될 수도 있다. 비정상 트래픽 탐지 장치(1000)는 하나의 인공지능 모델일 수 있고, 복수의 인공지능 모델로 구현될 수도 있다. 이에 따라, 상술한 구성들에 대응하는 하나 또는 복수의 인공지능 모델은 하나 또는 복수의 컴퓨팅 장치에 의해 구현될 수 있다.
필드 추출부(100)는 입력되는 데이터 패킷에서 특정 필드를 추출한다. 데이터 패킷의 데이터량이 방대하므로 이를 딥러닝 모델로 학습시키려면 매우 큰 연산량이 필요하므로 일부의 데이터를 추출할 수 있다. 데이터 패킷에서 추출된 일부의 데이터를 필드 데이터라고 호칭하며, 추출되는 필드의 종류는 관리자에 의해 결정될 수 있으며 어느 하나로 제한되는 것은 아니다.
예를 들어 응용 계층의 프로토콜에서 네트워크 프로토콜에서 제공하는 명령어 집합코드인 Function Code, 포트, 프로토콜, 커맨드(Command), 데이터 타입, FIR, FIN, SEQ 등의 플래그를 추출할 필드로 선정할 수 있으며 본 명세서에서는 소스 IP(Source IP)와 목적지 IP(Destination IP)를 추출한 예에 대해 설명한다.
전처리부(200)는 필드 데이터를 트래픽 예측 모델(310)로 입력하기 위해 벡터로 변환하며, 벡터로 변환하는 방법은 어느 하나에 한정되지 않는다. 본 명세서에서는 원-핫 인코딩(One-hot Encoding) 방법으로 원-핫 벡터(One-hot Vector)를 생성하는 경우를 예로 들어 설명한다.
원-핫 인코딩은 문자형 또는 범주형 데이터를 유의미한 이진 벡터로 변환하는 방법이며, 모든 범주형 변수를 참 또는 1과 거짓 또는 0의 이진 벡터로 표시하고, 해당하는 항목만을 참 또는 1로 인코딩 하는 것이다.
원-핫 인코딩을 이용하면, 값의 차이가 있는 텍스트로 표현되는 데이터가 모델 학습이나 분석에는 영향을 주면 안되는 경우, 값의 크기로 인한 계산 가중치 또는 바이어스(Bias)의 영향을 제거할 수 있다.
예를 들어 트래픽 패킷에서 IP라는 필드를 추출한 경우, 1.1.1.1이라는 IP와 255.255.255.255라는 IP는 서로 다른 주소임을 나타낼 뿐, 주소 값을 나타내는 숫자가 큰 것이 특별한 의미를 갖는 것은 아니다. 그러나 숫자 값이 큰 경우, 딥러닝 모델의 연산에 영향을 미칠 수 있으므로 원-핫 인코딩을 통해 숫자 데이터를 단순한 이진 벡터로 변환하여 사용한다.
또 다른 예로서, 분석하고자 하는 대상의 특성에 따라 데이터 범위를 좁혀서 모델 학습을 수행할 수 있다. IP 필드를 예로 들면, IP 주소는 1.1.1.1부터 255.255.255.255까지의 넓은 데이터 범위를 갖는데, IP 주소를 곧바로 딥러닝 모델로 입력하면 딥러닝 모델은 해당 범위에서 가능한 모든 값들에 대해 연산을 수행하게 된다. 이 경우 입력될 수 있거나 실제 존재하는 IP 주소만을 원-핫 벡터로 생성하여 모델에 입력하면 모델의 연산량을 감소시킬 수 있고, 예측 결과의 정확도를 향상시킬 수 있다.
또한, 본 발명에서, 전처리부(200)는 입력될 수 있는 트래픽 패킷에 대하여 원-핫 벡터로 생성하는 변환 규칙을 관리하므로, 임의의 입력된 트래픽 패킷이 원-핫 벡터로 변환될 수 없는 경우 해당 트래픽 패킷을 곧바로 비정상 트래픽으로 탐지하여 알람을 제공할 수 있다. 한편, 전처리부(200)의 자세한 동작 방법은 도 2와 도 3을 통해 설명한다.
학습부(300)는 원-핫 벡터로 변환된 학습 데이터들로 트래픽 예측 모델(310)을 학습시킨다. 본 명세서에서 트래픽 예측 모델(310)은 비지도 학습(Unsupervised Learning)으로 학습될 수 있으며, 따라서 학습 데이터는 트래픽 패턴의 정상 여부에 대한 태그를 포함하지 않을 수 있다. 한편, 비정상 트래픽이 많을수록 정상 트래픽 패턴 학습률이 떨어질 수 있으므로, 관리자는 학습 데이터의 비정상 트래픽의 일부를 삭제할 수 있다.
트래픽 예측 모델(310)은 일련의 트래픽 패턴을 학습하여, 임의의 트래픽 패킷이 입력되면 다음에 등장할 트래픽 패킷을 예측한다. 본 발명에서 트래픽 예측 모델(310)은 원-핫 벡터로 표시된 트래픽 패킷을 입력받으므로, 예측되는 트래픽 패킷을 원-핫 벡터 형태로 표현할 수 있다.
트래픽 예측 모델(310)은 임의의 딥러닝 모델로 구현될 수 있으며, 본 명세서에서는 양방향 순환 신경망(Bidirectional Recurrent Neural Networks, BRNN)으로 구현된 경우에 대해 설명한다.
BRNN은 과거의 상태뿐만 아니라, 미래의 상태까지 고려하는 순환 신경망으로, 데이터의 이전 상태 정보를 메모리(Memory) 형태로 저장하는 기존의 순환 신경망(Recurrent Neural Networks, RNN)이 확장된 것이다. BRNN은 2개의 히든 레이어(Hidden Layer)를 가지고 있다. 정방향 상태(Forward States) 정보를 가지고 있는 레이어와 역방향 상태(Backward States) 정보를 가지고 있는 레이어가 있다. 입력값은 두 개의 히든 레이어에 모두 전달되고, 출력 레이어도 두 개의 레이어로부터 모두 값을 받아서 최종 결과를 계산한다.
또한 학습부(300)는, 학습된 트래픽 예측 모델(310)로부터 단위 시간동안 비정상 트래픽이 탐지된 빈도를 파악하여 이를 임계값으로 설정할 수 있다. 이하 본 발명에서 구현되는 트래픽 예측 모델(310)의 자세한 동작 방법은 도 6을 통해 설명한다.
탐지부(400)는 학습된 트래픽 예측 모델(310)을 이용하여, 임의의 트래픽 패킷이 입력되면 다음에 들어올 트래픽 패킷을 예측하고, 예측된 트래픽 패킷이 정상인지 여부를 판단한다.
탐지부(400)는 한 번의 비정상 트래픽 패킷이 입력될 때 알람을 출력하거나, 학습부(300)가 설정한 임계값을 기준으로 하여, 비정상 트래픽 패킷이 예측된 빈도 수가 임계값을 초과하는 경우에 알람을 출력할 수 있다. 본 명세서에서는 사용자 또는 관리자에게 비정상 트래픽 패킷의 발생을 알람으로 제공하나, 출력 방식은 이에 제한되는 것은 아니다.
도 2는 한 실시예에 따른 전처리부가 동작하는 방법의 설명도이다.
도 2를 참고하면, 전처리부(200)는 필드 데이터가 입력되는 패턴을 파악하여, 필드 데이터를 벡터로 변환하기 위한 규칙을 설정하고, 이에 따라 입력되는 필드 데이터를 벡터로 변환하여 트래픽 예측 모델(310)로 입력한다. 벡터로 변환하는 방법은 어느 하나에 한정되지 않으나, 본 명세서에서는 원-핫 인코딩을 예로 들어 설명한다.
트래픽 예측 모델(310)에 입력되는 필드 데이터의 종류가 표 1과 같이 6개이고, 6개의 벡터가 차례대로 반복하여 나타나는 IP 통신 흐름을 갖는 경우를 설명한다.
소스 IP 목적지 IP 변환된 벡터
192.168.0.1 192.168.0.2 (1, 0, 0, 0, 0, 0)
192.168.0.2 192.168.0.1 (0, 1, 0, 0, 0, 0)
192.168.0.1 192.168.0.3 (0, 0, 1, 0, 0, 0)
192.168.0.3 192.168.0.1 (0, 0, 0, 1, 0, 0)
192.168.0.1 192.168.0.4 (0, 0, 0, 0, 1, 0)
192.168.0.4 192.168.0.1 (0, 0, 0, 0, 0, 1)
표 1에서, 입력되는 필드 데이터의 패턴이 6 종류이므로, 전처리부(200)는 6가지 패턴을 구분하기 위해 각 필드 데이터를 크기가 6인 원-핫 벡터로 변환할 수 있다. 또한 원-핫 벡터의 크기는 벡터화 하려는 필드 데이터의 종류에 따라 변경될 수 있다.
도 3은 다른 실시예에 따른 전처리부가 동작하는 방법의 설명도이다.
도 3을 참고하면, 전처리부(200)는 필드 데이터를 복수개의 그룹으로 분류할 수 있다. 예를 들어, 소스 IP와 목적지 IP의 주소를 바탕으로 IP 통신 구간을 분류 기준으로 하여 필드 데이터를 복수개의 그룹으로 분류할 수 있다. 구체적으로, IP 통신 구간이 192.168.0.1과 192.168.0.2 사이인 필드 데이터를 그룹 1로, 192.168.0.1과 192.168.0.3 사이인 필드 데이터를 그룹 2로, 192.168.0.1과 196.168.0.4 사이인 필드 데이터를 그룹 3으로 분류할 수 있다.
이후 전처리부(200)는 표 2의 예시와 같이 각 그룹의 필드 데이터를 원-핫 벡터로 변환할 수 있다.
그룹 소스 IP 목적지 IP 변환된 벡터
그룹 1 192.168.0.1 192.168.0.2 (1, 0)
192.168.0.2 192.168.0.1 (0, 1)
그룹 2 192.168.0.1 192.168.0.3 (1, 0)
192.168.0.3 192.168.0.1 (0, 1)
그룹 3 192.168.0.1 192.168.0.4 (1, 0)
192.168.0.4 192.168.0.1 (0, 1)
한편 각 그룹별 원-핫 벡터의 크기는 각 그룹에 속한 필드 데이터의 종류에 따라 결정될 수 있다. 예를 들어, 그룹 1은 소스 IP가 192.168.0.1이고 목적지 IP가 192.168.0.2인 트래픽 패킷과, 소스 IP가 192.168.0.2이고 목적지 IP가 192.168.0.1인 트래픽 패킷 2 종류를 포함하므로, 2 종류의 패킷을 구분하기 위한 최적의 벡터 크기를 2로 결정할 수 있다.
전처리부(200)에서 필드 데이터를 복수개의 그룹으로 분류한 후, 그룹에 따라 서로 다른 트래픽 예측 모델(310, 320, 330)로 입력하여 모델을 학습시킬 수 있다. 이때 그룹의 개수만큼의 트래픽 예측 모델(310, 320, 330)이 생성될 수 있으며, 각 모델(310, 320, 330)의 구체적인 특징은 개별적으로 최적화 및 설정될 수 있다.
이하 본 명세서에서는 설명의 편의상 필드 데이터를 그룹으로 분류하지 않은 경우에 대해 설명한다.
도 4는 한 실시예에 따른 비정상 트래픽 탐지 장치의 학습 방법의 흐름도이다.
도 4를 참고하면, 비정상 트래픽 탐지 장치(1000)는 학습용 트래픽 패킷을 수집한다(S110).
비정상 트래픽 탐지 장치(1000)는 트래픽 패킷의 특정 필드를 추출하여 필드 데이터로 생성한다(S120). 예를 들어, 필드 추출부(100)는 표 1의 예시와 같이 각 트래픽 패킷의 소스 IP(Source IP)와 목적지 IP(Destination IP)를 추출하여 필드 데이터를 생성할 수 있다.
비정상 트래픽 탐지 장치(1000)는 필드 데이터의 특성에 따라 변환 규칙을 생성하고, 변환 규칙에 따라 필드 데이터를 벡터로 변환한다(S130). 변환 규칙이란, 임의의 필드 데이터를 원-핫 벡터로 생성하기 위한 규칙으로, 학습용 트래픽 패킷에서 관찰되는 패턴을 기반으로 생성되거나 또는 관리자에 의해 생성될 수 있다.
예를 들어 전처리부(200)는 소스 IP가 192.168.0.1이고, 목적지 IP가 192.168.0.2인 트래픽 패킷을 (1, 0, 0, 0, 0, 0)이라는 원-핫 벡터로 변환하는 규칙을 생성할 수 있다. 이후 입력되는 필드 데이터에서 소스 IP와 목적지 IP가 해당 규칙에 적용되면, 해당 필드 데이터들은 (1, 0, 0, 0, 0, 0)로 벡터화 될 수 있다.
비정상 트래픽 탐지 장치(1000)는 벡터를 입력하여 트래픽 예측 모델(310)을 학습시킨다(S140). 트래픽 예측 모델(310)은 BRNN으로 구현될 수 있으며, 예측의 정확도를 향상시키기 위해, 다대다 방식(Many to Many)가 아닌 다대일 방식(Many to 1)의 방식으로 학습시킬 수 있다. 다대다 방식은 출력값이 입력값의 개수와 동일한 방식을 의미하고, 다대일 방식은 입력값의 개수와 관계없이 출력되는 예측값이 하나인 경우를 의미한다. 다대일 방식의 BRNN에 대한 자세한 내용은 도 6을 통해 설명한다.
비정상 트래픽 탐지 장치(1000)는 단위 시간 당 비정상 트래픽이 입력된 빈도를 파악하여 임계값으로 설정한다(S150). 임계값은 트래픽 예측 모델(310)의 학습이 끝난 후 학습부(300) 또는 탐지부(400)에서 설정할 수 있다. 구체적으로, 임계값은 Z-score 값 또는 단위 시간 당 비정상 트래픽이 입력된 평균 빈도 수를 기반으로 설정되거나, 실제 환경에서 구현 과정을 통해 조절될 수 있다.
도 5는 한 실시예에 따른 비정상 트래픽 탐지 장치의 탐지 방법의 흐름도이다.
도 5를 참고하면, 비정상 트래픽 탐지 장치(1000)는 트래픽 패킷을 수집한다(S210).
비정상 트래픽 탐지 장치(1000)는 트래픽 패킷에서 특정 필드의 필드 데이터를 추출한다(S220). 트래픽 패킷에서 추출되는 필드는 학습 데이터로 사용된 필드와 동일한 종류일 수 있다.
비정상 트래픽 탐지 장치(1000)는 필드 데이터를 변환 규칙에 따라 벡터로 변환한다(S230). 변환 규칙은 도 4의 S130 단계에서 설정된 규칙과 동일한 것일 수 있다.
비정상 트래픽 탐지 장치(1000)는 해당 필드 데이터가 변환 규칙을 적용할 수 있는 형태인지 확인한다(S240). 예를 들어, 표 1과 같이 소스 IP와 목적지 IP에 따라 크기가 6인 원-핫 벡터로 변환하라는 변환 규칙이 설정된 것을 가정한다. 이때 소스 IP가 192.168.0.1이고, 목적지 IP가 192.168.0.5인 데이터 패킷이 입력된 경우, 이는 설정된 변환 규칙에 해당하지 않는 패킷으로서, 해당 데이터 패킷은 벡터로 변환될 수 없다.
S240 단계에서, 필드 데이터가 변환 규칙이 적용되는 형태가 아닌 것으로 판단된 경우, 비정상 트래픽 탐지 장치(1000)는 입력된 트래픽 패킷을 비정상 트래픽이라고 판단하고 알람을 출력한다(S250). 위의 예에서 전처리부(200)는 소스 IP가 192.168.0.1이고, 목적지 IP가 192.168.0.5인 데이터 패킷이 비정상 트래픽이라고 판단할 수 있다. 이때 탐지부(400)를 거치지 않고 전처리부(200)에서 곧바로 알람을 출력할 수 있다.
S240 단계에서, 필드 데이터가 변환 규칙에 따라 벡터로 변환되면, 비정상 트래픽 탐지 장치(1000)는 학습된 트래픽 예측 모델(310)에 변환된 벡터를 입력하여 다음에 들어올 트래픽을 예측한다(S260). 트래픽 예측 모델(310)은 양방향 RNN으로 구현될 수 있으며, 자세한 동작 방법은 도 6을 통해 설명한다.
비정상 트래픽 탐지 장치(1000)는 예측된 트래픽이 정상인지 비정상인지 판단한다(S270). 판단 기준은 관리자에 의해 미리 설정될 수 있다.
비정상 트래픽 탐지 장치(1000)는 누적된 트래픽 정보를 바탕으로, 비정상 트래픽이 등장하는 빈도가 임계값을 초과하면 알람을 발생시킨다(S280). 이때 학습부(300)가 설정한 임계값을 기준으로 할 수 있다.
도 6은 한 실시예에 따른 트래픽 예측 모델의 설명도이다.
도 6의 (a)를 참고하면, 일반적인 다대다 방식의 BRNN 모델을 나타낸 것이다. 다대다 방식과 다대일 방식의 구분은 도 6의 (b)를 통해 설명하고, 우선 BRNN 모델에 대해 설명한다.
양방향 RNN(BRNN)은 과거에서 미래로 연결된 유닛들을 포함하는 정방향 레이어와, 미래에서 과거로 연결된 유닛들을 포함하는 역방향 레이어를 포함한다. 두 레이어를 연결하여 현재 시점(t=N)의 데이터를 추론한다.
BRNN은 단방향(Unidirectional) RNN의 문제를 극복하기 위해 확장된 것인데, 단방향 RNN은 과거(t=N-2, N-1) 시퀀스를 입력받아 현재(t=N) 데이터의 레이블을 예측하는 구조이다. 그러나 역방향의 연결은 존재하지 않기 때문에, 추론 시 미래 시점(t=N+1, N+2)의 데이터를 활용할 수 없다.
또한 단방향 RNN의 문제점은 아주 드물게 일어나는 경우의 예측이 어렵다는 것이다. 예를 들어 a, b, c, d라는 4 종류의 트래픽 패킷을 가정한다. a와 b가 번갈아 100번 나타나고 이후 c와 d가 차례로 나오는 경우 단방향 RNN은 c 다음에 등장할 d를 예측할 수 있으나, b 이후에 등장할 트래픽이 a 인지 또는 c 인지 예측하기 어렵다. b 이후에는 a가 100번 나타나고 c가 1번 나타나므로, 단방향 RNN은 높은 정확도를 위해 b 다음에 들어올 트래픽 패킷을 a로 예측할 것이다.
양방향 RNN을 사용한다면, 현재(t=N) b라는 패킷이 입력되면, 이후에 들어올 패킷을 예측하기 위해 미래(t=N+2)의 패킷을 참고하여 미래의 패킷이 b라면 N+1 시점의 패킷을 b로 예측하고, 미래의 패킷이 d라면 N+1 시점의 패킷을 c로 예측할 수 있다.
도 6의 (b)를 참고하면, 본 발명에서 사용하는 다대일 방식으로 모델을 학습시키는 방법을 나타낸 것이다. 다대일 방식이란 입력값의 개수와 관계없이 출력되는 예측값이 하나인 경우를 의미한다.
이때 다대다 방식과 달리, BRNN의 정방향 레이어는 현재까지 입력된 데이터만을 고려하고, 역방향 레이어는 미래 시점의 데이터만을 고려하여 N+1 시점에 들어올 데이터를 예측할 수 있다.
구체적으로, 표 1과 같은 6종류의 트래픽 패킷이 순서대로 연속하여 들어오는 상황을 가정한다. N은 현재까지 들어온 데이터, M은 미래 시점의 데이터를 의미한다. 예를 들어, N이 3이고 M이 2 이고, 현재까지 들어온 데이터가 각각 X_N-2=(1, 0, 0, 0, 0, 0), X_N-1=(0, 1, 0, 0, 0, 0), X_N=(0, 0, 1, 0, 0, 0)인 경우에 대해 설명한다.
다대일 방식의 BRNN 기반 트래픽 예측 모델(310)은 X_N+1을 예측하기 위해 미래 시점의 데이터인 X_M+1=(0,0,0,0,1,0)과 X_M+2=(0,0,0,0,0,1)를 고려하여 N+1 시점에 들어올 데이터를 (0,0,0,1,0,0)으로 예측할 수 있다.
구체적으로, 트래픽 예측 모델(310)은 N+1 시점에 들어올 데이터의 확률로 계산할 수 있으며, (1, 0, 0, 0, 0, 0)일 확률을 0, (0, 1, 0, 0, 0, 0)일 확률을 0.2, (0, 0, 1, 0, 0, 0)일 확률을 0.1, (0, 0, 0, 1, 0, 0)일 확률을 0.7, (0, 0, 0, 0, 1, 0)일 확률을 0, (0, 0, 0, 0, 0, 1)일 확률을 0이라고 예측할 수 있다.
한편, BRNN의 계층 수와 N 값, M 값, 학습을 반복하는 횟수(Epoch), 레이어 내부의 뉴런 개수, 셀(Cell)의 유형 등은 사용자 또는 관리자에 의해 적절한 값으로 선택될 수 있다. 한 예로서, 반복 학습을 진행하여 N 값을 45, M 값을 2, Epoch 값을 300, 레이어 내부의 뉴런 개수를 45, 셀의 유형을 GRU(Gated Recurrent Unit)로 선택할 수 있다.
도 7은 한 실시예에 따른 비정상 트래픽을 탐지하는 예시도이다.
도 7을 참고하면, 단위 시간당 비정상 트래픽이 탐지된 빈도가 임계값을 초과하는 경우를 나타낸 그래프이다. 그래프의 X축은 트래픽이 입력되는 시간을 나타내고, Y축은 비정상 트래픽을 탐지한 빈도를 나타낸 것이다.
한 예로서 비정상 트래픽 탐지 장치(1000)의 관리자는 비정상 트래픽의 빈도가 일정 수치 이상인 경우 알람을 발생시킬 수 있으며, 그 임계값을 7.9로 설정할 수 있다. 이 경우 단위 시간당 비정상 트래픽이 8번 이상 발생한 구간에서, 비정상 트래픽 탐지 장치(1000)가 알람을 발생할 수 있다.
도 8은 한 실시예에 따른 트래픽 예측 모델의 성능을 나타내는 설명도이다.
도 8을 참고하면, 학습 데이터 내에 비정상 트래픽이 포함된 비율에 따라 RNN을 이용한 모델과 BRNN을 이용한 모델의 학습 정확도를 나타낸 그래프이다.
학습 데이터에 비정상 트래픽 포함율이 높아질 수록, RNN과 BRNN 모두 학습 정확도가 낮아지나, BRNN이 RNN에 비해 비정상 트래픽 포함율이 높더라도 네트워크 트래픽 패턴 학습 정확도가 높음을 알 수 있다. 즉, RNN은 30%의 비정상 트래픽 패턴에 내성을 갖고, BRNN은 40%의 비정상 트래픽 패턴에 내성을 갖는다고 볼 수 있다. 비정상 트래픽은 네트워크의 혼잡, 보안상의 이유로 네트워크의 재연결 등으로 발생할 수 있다.
한편, RNN을 이용한 모델과 BRNN을 이용한 모델의 학습 결과를 다음 표 3과 같이 나타낼 수 있다.
모델 패턴 학습 비율 TPR FPR 지연 정도
RNN 0.993 1.000 0.0112 1-4개의 입력
BRNN 1.000 1.000 0.0026 2개의 입력
표 3에서, 패턴 학습 비율은 길이가 137으로 긴 트래픽 패킷의 학습 비율을 의미하고, TPR(True Positive Rate)은 실제 양성 클래스에 속한 표본 중에 양성 클래스에 속한다고 출력한 표본의 수의 비율로 높을수록 좋은 모델을 의미한다. FPR(False Positive Rate)은 실제 양성 클래스에 속하지 않는 표본 중에 양성 클래스에 속한다고 출력한 표본의 비율로 낮을 수록 좋은 모델을 의미한다. 지연 정도는 비정상적인 트래픽 패턴을 감지한 후 모델이 정상 작동하기 위해 필요한 입력 트래픽 패킷의 개수를 의미한다.
표 3을 통해 BRNN은 RNN이 학습하지 못한 출현율이 낮은 비정상 패턴을 학습한 것을 알 수 있다. 또한 BRNN은 미래 시점의 입력 데이터로 모델을 보정하여 오탐지율이 RNN에 비해 낮다. 이때 BRNN이 오탐지한 트래픽은 장시간 네트워크가 비정상적으로 동작하여 발생한 것일 수 있다.
도 9는 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 9를 참고하면, 필드 추출부(100), 전처리부(200), 학습부(300), 탐지부(400)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(500)에서, 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행한다.
컴퓨팅 장치(500)의 하드웨어는 적어도 하나의 프로세서(510), 메모리(520), 스토리지(530), 통신 인터페이스(540)을 포함할 수 있고, 버스(550)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. 컴퓨팅 장치(500)는 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(520)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(510)에 의해 처리되도록 해당 프로그램을 로드한다. 메모리(520)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(530)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장한다. 통신 인터페이스(540)는 유/무선 통신 모듈일 수 있다.
본 발명에 따르면 양방향 순환 신경망을 이용하여, 정상 범주 내에서 일시적 네트워크 통신 불능이 발생한 경우를 비정상 트래픽으로 오탐하지 않을 수 있고, 탐지 결과의 해석이 용이하다.
또한 본 발명에 따르면, 비정상 트래픽이 발생한 이후에도 탐지가 중단되지 않고, 비정상 트래픽을 입력값으로 하여 딥러닝 모델이 지속적으로 탐지를 수행할 수 있어 탐지의 연속성을 보장할 수 있다.
또한 본 발명에 따르면, 단순히 정상과 비정상 여부를 출력하는 것이 아니라, 다음 트래픽의 예측값을 제공하므로, 비정상의 원인을 파악하는 데에 도움이 된다.
또한 본 발명에 따르면, 사이버 공격에 따른 비정상 행위 외에도, 네트워크 운영 중 네트워크의 장기적인 불능을 탐지할 수 있으므로 보안성을 향상시키고, 네트워크 상황을 파악하는 데 활용할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (13)

  1. 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치의 동작 방법으로서,
    트래픽 패킷들을 수집하는 단계,
    상기 트래픽 패킷들로부터 특정 필드 데이터를 추출하고, 트래픽 패킷별로 추출된 특정 필드 데이터를 차원이 축소된 벡터로 변환하고, 트래픽 패킷별 벡터로 학습 데이터를 생성하는 단계,
    학습 데이터를 이용하여, 입력된 트래픽 패킷으로부터 다음에 입력될 트래픽 패킷과 상기 트래픽 패킷의 비정상 여부를 예측하는 트래픽 예측 모델을 학습시키는 단계, 그리고
    학습된 트래픽 예측 모델을 이용하여 비정상 트래픽 패킷이 입력될 빈도를 예측하고, 예측된 빈도와 기준값을 비교하여 비정상 트래픽 알람을 출력하는 단계
    를 포함하는, 동작 방법.
  2. 제1항에서
    상기 특정 필드 데이터는,
    각 트래픽 패킷에 포함된 데이터 타입의 유형, 커맨드의 유형, 플래그 정보, 포트 정보, 소스 IP, 목적지 IP 중 적어도 어느 하나를 포함하는, 동작 방법.
  3. 제1항에서,
    상기 생성하는 단계는,
    수집한 상기 트래픽 패킷들에서 등장하는 패턴의 종류를 파악하고, 상기 패턴의 종류를 구분할 수 있는 최소 크기의 벡터로 변환하는, 동작 방법.
  4. 제2항에서,
    상기 벡터는 한 개의 성분만 참 또는 1이고, 나머지 성분은 거짓 또는 0으로 표시된 원-핫(One-hot) 벡터인, 동작 방법.
  5. 제1항에서,
    일련의 새로운 트래픽 패킷들을 순차적으로 입력받아 상기 트래픽 예측 모델로 입력하는 단계, 그리고
    상기 새로운 트래픽 패킷들 이후에 들어올 트래픽 패킷을 예측하는 단계
    를 더 포함하는, 동작 방법.
  6. 제5항에서,
    상기 입력하는 단계와 상기 예측하는 단계 사이에,
    상기 새로운 트래픽 패킷들에서 상기 특정 필드 데이터를 추출하여 벡터로 변환하고, 상기 벡터가 상기 학습 데이터의 형태와 다른 경우 알람을 발생하는 단계
    를 더 포함하는, 동작 방법.
  7. 제5항에서,
    예측된 트래픽 패킷이 정상 트래픽인지 판단하는 단계,
    상기 예측된 트래픽 패킷이 비정상 트래픽으로 판단된 경우, 알람을 발생하는 단계
    를 더 포함하는, 동작 방법.
  8. 컴퓨팅 장치로서,
    메모리, 그리고
    상기 메모리에 로드된 프로그램의 명령들(instructions)을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 프로그램은
    수집한 복수의 트래픽 패킷들로부터 특정 필드 데이터를 추출하고, 트래픽 패킷별로 추출된 특정 필드 데이터를 차원이 축소된 벡터로 변환하고, 트래픽 패킷별 벡터로 학습 데이터를 생성하는 단계,
    학습 데이터를 이용하여, 입력된 트래픽 패킷으로부터 다음에 입력될 트래픽 패킷과 상기 트래픽 패킷의 비정상 여부를 예측하는 트래픽 예측 모델을 학습시키는 단계,
    일련의 새로운 트래픽 패킷들을 순차적으로 입력받는 단계,
    상기 새로운 트래픽 패킷들에서 상기 특정 필드 데이터를 추출하여 벡터로 변환하고 상기 트래픽 예측 모델로 입력하는 단계, 그리고
    상기 새로운 트래픽 패킷 이후에 들어올 트래픽 패킷을 예측하는 단계
    를 실행하도록 기술된 명령들을 포함하는, 컴퓨팅 장치.
  9. 제8항에서,
    상기 트래픽 예측 모델은 양방향 순환 신경망(Bidirectional Recurrent Neural Networks, BRNN)으로 구현된 모델인, 컴퓨팅 장치.
  10. 제8항에서,
    상기 생성하는 단계는,
    상기 추출한 필드 데이터를 분류 규칙에 따라 복수개의 그룹들로 분류하는 단계, 그리고
    각 그룹에 속한 필드 데이터를, 필드 데이터의 종류를 구별할 수 있는 최소 차원의 벡터로 변환하는 단계
    를 포함하는, 컴퓨팅 장치.
  11. 제10항에서,
    상기 트래픽 예측 모델은 상기 그룹의 개수만큼 생성되고, 각 트래픽 예측 모델은 각 그룹에 속한 벡터들을 입력받아 학습하는, 컴퓨팅 장치.
  12. 제8항에서
    상기 학습시키는 단계는,
    학습된 트래픽 예측 모델을 이용하여 비정상 트래픽 패킷이 입력될 빈도를 예측하고, 상기 빈도를 이용하여 알람을 출력하기 위한 기준값을 설정하는, 컴퓨팅 장치.
  13. 제12항에서,
    예측된 트래픽 패킷이 정상 트래픽인지 판단하는 단계,
    상기 예측된 트래픽 패킷이 비정상이라고 판단된 경우, 단위 시간당 비정상 트래픽 패킷이 입력된 빈도를 계산하여 상기 기준값을 초과하는 경우 알람을 출력하는 단계
    를 더 포함하는, 컴퓨팅 장치.
KR1020190180015A 2019-12-31 2019-12-31 비정상 트래픽 패턴의 탐지 방법 및 장치 KR102291869B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190180015A KR102291869B1 (ko) 2019-12-31 2019-12-31 비정상 트래픽 패턴의 탐지 방법 및 장치
US17/120,390 US11444876B2 (en) 2019-12-31 2020-12-14 Method and apparatus for detecting abnormal traffic pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190180015A KR102291869B1 (ko) 2019-12-31 2019-12-31 비정상 트래픽 패턴의 탐지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210086220A true KR20210086220A (ko) 2021-07-08
KR102291869B1 KR102291869B1 (ko) 2021-08-19

Family

ID=76546899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190180015A KR102291869B1 (ko) 2019-12-31 2019-12-31 비정상 트래픽 패턴의 탐지 방법 및 장치

Country Status (2)

Country Link
US (1) US11444876B2 (ko)
KR (1) KR102291869B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794680A (zh) * 2021-08-04 2021-12-14 清华大学 基于频域分析的高带宽场景下的恶意流量检测方法和装置
WO2023003067A1 (ko) * 2021-07-19 2023-01-26 주식회사 샌즈랩 비정상 데이터 탐지 시스템 및 방법
KR102582663B1 (ko) * 2023-02-20 2023-09-26 주식회사 델타엑스 네트워크 관리 방법 및 네트워크 관리 시스템

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11379390B1 (en) * 2020-12-14 2022-07-05 International Business Machines Corporation In-line data packet transformations
KR102290039B1 (ko) * 2020-12-16 2021-08-13 한국인터넷진흥원 IoT 기기의 이상 행위 모니터링 방법 및 그 장치
CN114037286A (zh) * 2021-11-10 2022-02-11 国网天津市电力公司 一种基于大数据电力调度自动化敏感数据检测方法及系统
CN114615088A (zh) * 2022-04-25 2022-06-10 国网冀北电力有限公司信息通信分公司 一种终端业务流量异常检测模型建立方法及异常检测方法
CN114880312B (zh) * 2022-05-17 2023-02-28 三峡高科信息技术有限责任公司 一种可柔性设置的应用系统业务数据稽核方法
CN117118709A (zh) * 2023-08-25 2023-11-24 国网山东省电力公司泰安供电公司 一种电力系统的异常流量预警方法、系统、设备及介质
CN117692207B (zh) * 2023-12-12 2024-05-03 国网湖北省电力有限公司鄂州供电公司 一种基于加权相似度匹配的指令级电力系统业务防护方法
CN117895511B (zh) * 2024-03-14 2024-05-14 河北建筑工程学院 一种数据智能传输方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101711022B1 (ko) * 2014-01-07 2017-02-28 한국전자통신연구원 제어 네트워크 침해사고 탐지 장치 및 탐지 방법
KR20180042019A (ko) * 2016-10-17 2018-04-25 국민대학교산학협력단 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법, 이를 수행하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치
JP2019033312A (ja) * 2017-08-04 2019-02-28 株式会社日立製作所 ネットワーク装置、パケットを処理する方法、及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8339974B1 (en) * 2005-06-22 2012-12-25 Sprint Communications Company L.P. Method and system for detecting and mitigating RTP-based denial of service attacks
KR101814368B1 (ko) 2017-07-27 2018-01-04 김재춘 빅데이터 및 인공지능을 이용한 정보 보안 네트워크 통합 관리 시스템 및 그 방법
CA3076538A1 (en) * 2017-09-27 2019-04-04 Newsouth Innovations Pty Limited Process and apparatus for identifying and classifying video-data
KR20190091713A (ko) 2018-01-29 2019-08-07 한국전자통신연구원 네트워크 트래픽 분류 장치 및 그 방법
CN113348645B (zh) * 2018-11-27 2024-02-27 萨瑟尔公司 数据流分类的系统和方法
TWI698102B (zh) * 2020-01-06 2020-07-01 財團法人資訊工業策進會 用於行動通訊系統之威脅偵測系統及其中心裝置與本地裝置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101711022B1 (ko) * 2014-01-07 2017-02-28 한국전자통신연구원 제어 네트워크 침해사고 탐지 장치 및 탐지 방법
KR20180042019A (ko) * 2016-10-17 2018-04-25 국민대학교산학협력단 순환 신경망 기반 네트워크 패킷의 위험요소 분석 방법, 이를 수행하는 순환 신경망 기반 네트워크 패킷의 위험요소 분석 장치
JP2019033312A (ja) * 2017-08-04 2019-02-28 株式会社日立製作所 ネットワーク装置、パケットを処理する方法、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023003067A1 (ko) * 2021-07-19 2023-01-26 주식회사 샌즈랩 비정상 데이터 탐지 시스템 및 방법
CN113794680A (zh) * 2021-08-04 2021-12-14 清华大学 基于频域分析的高带宽场景下的恶意流量检测方法和装置
KR102582663B1 (ko) * 2023-02-20 2023-09-26 주식회사 델타엑스 네트워크 관리 방법 및 네트워크 관리 시스템

Also Published As

Publication number Publication date
US11444876B2 (en) 2022-09-13
US20210203605A1 (en) 2021-07-01
KR102291869B1 (ko) 2021-08-19

Similar Documents

Publication Publication Date Title
KR102291869B1 (ko) 비정상 트래픽 패턴의 탐지 방법 및 장치
CN108737406B (zh) 一种异常流量数据的检测方法及系统
CN113242259B (zh) 网络异常流量检测方法及装置
KR102153992B1 (ko) 심층 신경망을 이용한 사이버 위협 탐지 방법 및 장치
CN113378168B (zh) 一种基于Renyi熵和BiGRU算法实现SDN环境下的DDoS攻击检测方法
CN112231562A (zh) 一种网络谣言识别方法及系统
CN112492059A (zh) Dga域名检测模型训练方法、dga域名检测方法、装置及存储介质
CN111598179B (zh) 电力监控系统用户异常行为分析方法、存储介质和设备
KR20200072169A (ko) 머신러닝을 이용한 이상징후 탐지 방법 및 시스템
CN116247824B (zh) 电力设备的控制方法及其系统
Niranjan et al. ERCR TV: Ensemble of random committee and random tree for efficient anomaly classification using voting
CN110768971A (zh) 适用于人工智能系统的对抗样本快速预警方法及系统
Disha et al. A Comparative study of machine learning models for Network Intrusion Detection System using UNSW-NB 15 dataset
Ao Using machine learning models to detect different intrusion on NSL-KDD
Hlaing Feature selection and fuzzy decision tree for network intrusion detection
Pal et al. Neural network & genetic algorithm based approach to network intrusion detection & comparative analysis of performance
CN111884874B (zh) 一种基于可编程数据平面的舰船网络实时异常检测方法
CN117009903A (zh) 一种数据异常检测方法、装置、设备及存储介质
Wei et al. Intrusive detection systems design based on BP neural network
Luo et al. Focal loss based two-stage training for class imbalance network intrusion detection
CN111556017B (zh) 一种基于自编码机的网络入侵检测方法及电子装置
CN113298124B (zh) 一种基于参数匹配的多层次直流故障电弧检测方法
KR20020024508A (ko) 네트워크 침입탐지를 위한 비정상행위 탐지기법
KR102580433B1 (ko) 이상 예측을 위한 분석 대상 데이터의 특징을 검출하기 위한 장치 및 이를 위한 방법
CN114024726B (zh) 在线检测网络流量的方法及系统

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant