KR102292968B1 - 기계학습을 이용한 고속의 네트워크 침입탐지 방법 - Google Patents

기계학습을 이용한 고속의 네트워크 침입탐지 방법 Download PDF

Info

Publication number
KR102292968B1
KR102292968B1 KR1020200110740A KR20200110740A KR102292968B1 KR 102292968 B1 KR102292968 B1 KR 102292968B1 KR 1020200110740 A KR1020200110740 A KR 1020200110740A KR 20200110740 A KR20200110740 A KR 20200110740A KR 102292968 B1 KR102292968 B1 KR 102292968B1
Authority
KR
South Korea
Prior art keywords
packet
session
machine learning
classification
received
Prior art date
Application number
KR1020200110740A
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 KR1020200110740A priority Critical patent/KR102292968B1/ko
Application granted granted Critical
Publication of KR102292968B1 publication Critical patent/KR102292968B1/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/1416Event detection, e.g. attack signature detection
    • 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/1441Countermeasures against malicious traffic

Abstract

본 발명에 의한 기계학습을 이용한 고속의 네트워크 침입탐지 방법은, 패킷 기반 방식의 네트워크 침입 탐지 시스템과 세션 기반 방식의 네트워크 침입 탐지 시스템을 순차적으로 적용함으로써, 패킷 기반 방식의 네트워크 침입 탐지 시스템이 갖는 빠른 속도와 세션 기반 방식의 네트워크 침입 탐지 시스템이 갖는 높은 정확도의 장점을 동시에 얻을 수 있는 기계학습을 이용한 고속의 네트워크 침입탐지 방법에 관한 것이다.

Description

기계학습을 이용한 고속의 네트워크 침입탐지 방법 {Network intrusion detection method for high-speed using machine learning}
본 발명은 기계학습을 이용한 고속의 네트워크 침입탐지 방법에 관한 것으로, 패킷 기반 방식의 네트워크 침입 탐지 시스템과 세션 기반 방식의 네트워크 침입 탐지 시스템을 모두 활용하여, 다양하게 발생하는 네트워크 침입 공격을 신속하면서도 정확하게 탐지할 수 있는 기계학습을 이용한 고속의 네트워크 침입탐지 방법에 관한 것이다.
최근 네트워크의 크기와 트래픽 용량이 급속도로 증가하면서 다양한 형태의 네트워크 침입 공격들이 새롭게 출현하고 있다. 이들을 효과적으로 탐지하기 위해서 기계학습을 이용한 네트워크 침입탐지 시스템(NIDS, Network Intrusion Detection System)들이 제안되고 있다. 이들은 대부분 세션 기반 방식과 패킷 기반 방식으로 구별된다.
상세하게는, 세션 기반 방식의 경우, 각 세션에 포함된 패킷들을 각각 분석하거나 조사하는 대신, 세션 단위로 통계적인 정보들을 취합하는 방식을 사용한다. 일 예를 들자면, 패킷 수를 측정할 경우, 세션이 시작되고 종료되는 동안 송수신된 패킷의 수를 계산하게 된다. 이러한 방법을 통해서, 하나의 세션에 대해 복수 개의 정보들을 생성하고 이들 정보들을 가공하여 기계학습을 위한 특성(feature)들로 사용하게 된다. 이에 따라, 세션 기반 방식의 경우, 하나의 세션에 포함된 패킷의 수와 무관하게 각 세션은 동일한 수의 데이터(특성)를 생성하기 때문에, 생성된 데이터의 양이 고정되어 있어 기계학습에 적용이 용이한 장점이 있다. 그렇지만, 세션이 종료되기 전까지는 공격인지 정상인지 침입 탐지 여부를 할 수 없기 때문에, 현재 실시간으로 이루어지고 있는 공격을 막을 수 없고 공격이 종료된 후, 공격을 탐지할 수 밖에 없는 문제점이 있다. 더불어, 세션으로부터 추출(생성)되어야 하는 데이터의 종류와 형식 등을 사전에 분석하여 정의해야 하는데, 일반적으로 특성을 결정하고 추출하는 것은 기계학습에서는 매우 어려운 문제이기 때문에 정확도를 높이기 위해서는 매우 정교하게 설계된 특성들을 결정하고 추출해야 하는 어려움이 있다.
또한, 패킷 기반 방식의 경우, 세션에 포함된 패킷들의 묶음을 그대로 기계학습에 적용하는 방식을 사용한다. 통상적으로 패킷 자체를 가공없이 사용하거나 원 핫 인코딩(one-hot encoding) 정도의 간단한 변환만을 적용하여 생성되는 대용량의 데이터를 기계학습(일 예를 들자면, 딥러닝 계열의 알고리즘 등)들을 이용하여 처리하게 된다. 물론, 적용되는 알고리즘의 특성에 따라 전체 패킷 데이터 대신 패킷의 특정 사이즈만을 사용하기도 한다. 이와 같이, 패킷 기반 방식의 경우, 세션 기반 방식과는 달리 특성을 결정하고 설계할 필요가 없기 때문에 매우 편리한 장점이 있지만, 세션 기반의 방식에 비해 특성의 개수가 매우 많기 때문에, 네트워크 침입 탐지의 고속화가 어렵다는 단점이 있다. 또한, 패킷 기반 방식은 대부분 단일 패킷보다는 하나의 세션에 포함된 고정된 수의 패킷을 처리한 후 네트워크 침입 공격 여부에 대한 판단을 수행하게 된다.
그렇기 때문에, 패킷 기반 방식의 경우, 세션 기반 방식과 같이, 세션 종료 후에 공격을 탐지하는 것보다는 신속하게 탐지할 수 있지만, 일정 패킷을 송수신한 후에만 공격 탐지가 가능하기 때문에, 실제 탐지 속도가 느리다는 문제점이 여전히 존재한다.
이와 관련해서, 종래에는 국내등록특허 제10-1280910호("고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법")에서는 네트워크를 통하여 입력되는 패킷의 패킷 헤더(packet header)와 패킷 페이로드(packet payload)에 대한 처리를 2단계로 나누어서 침입탐지를 수행하여, 고속 패킷 처리가 가능하게 하는 기술을 개시하고 있다.
한국등록특허 제10-1280910호 (등록일 2013.06.26.)
따라서 본 발명은 상기한 바와 같은 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 패킷 기반 방식의 네트워크 침입 탐지 시스템과 세션 기반 방식의 네트워크 침입 탐지 시스템을 순차적으로 활용하여, 다양하게 발생하는 네트워크 침입 공격을 신속하면서도 정확하게 탐지할 수 있는 기계학습을 이용한 고속의 네트워크 침입탐지 방법을 제공함에 있다.
상기한 바와 같은 문제점을 해결하기 위한 본 발명의 일 실시예에 의한 기계학습을 이용한 고속의 네트워크 침입탐지 방법은, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 기계학습을 이용한 고속의 네트워크 침입탐지 방법에 있어서, 상기 연산처리수단에서, 네트워크로 유입되는 패킷이 수신되는 패킷 수신 단계(S100), 상기 패킷 수신 단계(S100)에 의해 상기 수신된 패킷이 세션 내 기설정된 소정 순번의 패킷에 해당하는지 판단하는 순번 판단 단계(S200), 상기 순번 판단 단계(S200)의 판단 결과에 따라, 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 기설정된 소정 순번의 패킷에 해당할 경우, 상기 수신된 패킷에 기저장된 알고리즘을 적용하여 고정된 소정 개수의 특성을 추출하고, 기설정된 기계학습을 이용한 패킷 기반 분류기에서 추출한 특성들을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 제1 분류 단계(S300), 상기 패킷 기반 분류기로부터 결과 데이터로 수신된 분류 스코어를 이용하여, 상기 분류 스코어가 소정값 이상인지 판단하는 정확도 판단 단계(S400), 상기 정확도 판단 단계(S400)의 판단 결과에 따라, 상기 분류 스코어가 소정값 이상일 경우, 상기 수신된 패킷을 침입으로 최종 판단하여 차단하는 통신 차단 단계(S500), 상기 순번 판단 단계(S200)의 판단 결과에 따라, 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 기설정된 소정 순번의 패킷에 해당하지 않거나, 상기 정확도 판단 단계(S400)의 판단 결과에 따라 상기 분류 스코어가 소정값 미만일 경우, 상기 수신된 패킷을 수집하여 2차 분류를 위한 통계 데이터로 생성하는 데이터 생성 단계(S600), 상기 수신된 패킷에 의한 네트워크를 허용하는 통신 허용 단계(S700), 상기 수신된 패킷이 포함된 세션의 종료 여부를 판단하는 세션 종료 판단 단계(S800), 상기 세션 종료 판단 단계(S800)의 판단 결과에 따라 세션 종료가 이루어질 경우, 상기 데이터 생성 단계(S600)에서 생성한 상기 통계 데이터를 이용하여 특성을 추출하는 특성 추출 단계(S900), 기설정된 기계학습을 이용한 세션 기반 분류기에서 상기 특성 추출 단계(S900)에서 추출한 특성을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 제2 분류 단계(S1000) 및 상기 제2 분류 단계(S1000)의 분류 결과에 따라, 각각의 공격 패킷과 정상 패킷으로 수집하여 저장 및 관리하는 후처리 단계(S1100)를 포함하여 구성되는 것이 바람직하다.
더 나아가, 상기 순번 판단 단계(S200)는 네트워크로 유입되는 세션의 첫 번째 순번을 소정 순번으로 설정하는 것이 바람직하다.
더 나아가, 상기 제1 분류 단계(S300)는 사전에 네트워크로 수신된 패킷들에 대해서 피처 셀렉션 알고리즘을 적용하여 다수의 특성을 추출하고, 각 특성 별 상관관계값을 기반으로 특정한 특성을 선택하여, 선택한 특성들을 상기 기계학습을 이용한 패킷 기반 분류기에 적용하여 수신되는 분류 스코어를 측정하는 과정을 반복 수행하여, 분류 스코어가 가장 최대가 되는 특성의 수를 결정하여 상기 소정 개수를 설정하는 것이 바람직하다.
더 나아가, 상기 정확도 판단 단계(S400)는 사전에 네트워크로 수신된 패킷들에 대해서 상기 기계학습을 이용한 패킷 기반 분류기와 상기 기계학습을 이용한 세션 기반 분류기를 이용하여 네트워크로의 공격 패킷인지를 판단하여 분류한 결과를 학습 데이터 셋으로 적용하여, 선형 탐색을 통해서 분류 결과를 정밀 분석하여, 가장 높은 분류 정확도를 갖는 상기 분류 스코어를 상기 소정값으로 설정하는 것이 바람직하다.
더 나아가, 상기 세션 종료 판단 단계(S800)는 상기 수신된 패킷이 포함된 세션의 타입에 따라 세션의 종료 여부를 판단하는 것이 바람직하다.
더 나아가, 상기 제2 분류 단계(S1000)의 기계학습을 이용한 세션 기반 분류기는 사전에 네트워크로 수신된 패킷들 중 상기 기계학습을 이용한 패킷 기반 분류기에 적용하여 수신된 분류 스코어가 상기 소정값 미만인 경우에만 학습 데이터 셋으로 설정하는 것이 바람직하다.
본 발명의 바람직한 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법은 패킷 기반 방식의 네트워크 침입 탐지 시스템과 세션 기반 방식의 네트워크 침입 탐지 시스템을 모두 활용하여, 다양하게 발생하는 네트워크 침입 공격을 신속하면서도 정확하게 탐지할 수 있는 장점이 있다.
상세하게는, 종래의 방식과는 달리 명확한 공격, 다시 말하자면, 네트워크 침입 공격으로의 판단 정확도가 높을 경우에는 첫 번째 데이터 패킷만으로 공격 여부를 판단할 수 있어 매우 신속한 공격 탐지가 가능한 장점이 있다.
또한, 이외의 경우에는 정밀한 판단을 위해 세션이 종료된 후, 세션 기반 분류를 사용하여, 네트워크 침입 공격 여부를 판단할 수 있으며, 이 때, 학습 데이터 셋으로 이미 공격으로 분류된 데이터 패킷은 적용하지 않음으로써, 2차 분류의 학습량을 감소시킬 수 있는 장점이 있다.
이를 통해서, 기계학습을 이용한 네트워크 침입탐지를 수행함으로써, 변종의 네트워크 공격을 검출할 수 있을 뿐 아니라, 기계학습에 의한 느린 탐지속도의 한계를 극복할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법을 나타낸 순서 예시도이다.
도 2는 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법에서 적용된 통신 데이터 패킷의 예시도이다.
도 3은 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법에서 최적의 분류 스코어를 설정하기 위한 탐색 과정을 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법에서 패킷 기반 분류기와 세션 기반 분류기에서의 학습 수행 과정을 나타낸 예시도이다.
이하 첨부한 도면들을 참조하여 본 발명의 기계학습을 이용한 고속의 네트워크 침입탐지 방법을 상세히 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.
이 때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.
종래의 네트워크 침입탐지 방법은, 세션 기반 방식의 경우, 세션이 끝난 후 특징(feature)을 추출하여, 이미 네트워크 공격이 이루어진 후 공격 여부가 탐지되는 문제점이 있지만, 세션의 전체 정보를 기초로 분석이 이루어지기 때문에 가장 정확하게 공격 여부를 탐지할 수 있는 장점이 있다. 다만, 세션이 끝난 후 주고받은 패킷수, 패킷 크기 등의 특징을 분석 및 추출함에 있어서, 이루어진 네트워크 공격 특성을 고려하여 추출해야 하는 특징을 결정하는 자체에 어려움이 있을 뿐 아니라, 공격 여부를 탐지하는데 활용되는 특징 자체의 절대 개수(데이터량)이 부족하여 기계학습(딥러닝 등)의 어려움이 있다.
또한, 패킷 기반 방식의 경우, 한 패킷씩 또는 미리 설정된 패킷수만큼 묶여 있는 한 무리의 패킷 자체를 특성으로 설정하고 이를 통해서 네트워크 공격 여부를 탐지하기 때문에, 이를 기계학습에 적용할 경우 악성코드 등의 네트워크 공격 특성을 신속하게 찾아낼 수 있어 네트워크 공격 여부를 신속하게 판단할 수 있는 장점이 있다. 그렇지만, 종래의 패킷 기반 방식에서 적용되는 원 핫 인코딩(one-hot encoding)을 통해 학습 데이터로 적용하기 위한 변환을 수행할 경우, 특성 자체가 폭증(일 예를 들자면, 1byte의 데이터 패킷이 256개의 특성을 생성함.)하기 때문에 기계학습이 느려지고 입력되는 패킷에 대한 분류가 느려지는 문제점이 있다.
더불어, 이외에도 패턴 매칭을 통한 연산을 수행하여 네트워크 침입을 탐지할 경우, 일 예를 들자면, 랜섬웨어에 포함되어 있는 일부 정보(계좌번호 등)가 일부만 바뀌어도 이를 분류(검출)할 수 없게 되어, 변종 네트워크 침입에 대한 신속한 적응이 불가능한 문제점이 있다.
이에 반해서, 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법은, 상술한 문제점들을 해소하기 위한 패킷 기반 방식의 네트워크 침입탐지 시스템(패킷 기반 분류기)과 세션 기반 방식의 네트워크 침입탐지 시스템(세션 기반 분류기)을 함께 적용하여, 높은 속도와 높은 정확도를 동시에 가질 수 있는 네트워크 침입탐지 방법에 관한 것이다.
이러한 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법은 도 1에 도시된 바와 같이, 패킷 수신 단계(S100), 순번 판단 단계(S200), 제1 분류 단계(S300), 정확도 판단 단계(S400), 통신 차단 단계(S500), 데이터 생성 단계(S600), 통신 허용 단계(S700), 세션 종료 판단 단계(S800), 특성 추출 단계(S900), 제2 분류 단계(S1000) 및 후처리 단계(S1100)를 포함하여 구성되는 것이 바람직하며, 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 것이 바람직하여, 각 단계는 상기 연산처리수단을 통해서 수행되게 된다.
각 단계에 대해서 자세히 알아보자면,
상기 패킷 수신 단계(S100)는 네트워크로 유입되는 패킷이 수신되는 것이 바람직하다. 이 때, 수신된 패킷은 경우에 따라 네트워크로의 공격 여부/침입 여부를 판단하거나, 상기 패킷 기반 방식의 네트워크 침입탐지 시스템(패킷 기반 분류기)과 세션 기반 방식의 네트워크 침입탐지 시스템(세션 기반 분류기)의 학습 데이터 셋으로 적용될 수도 있다.
상기 순번 판단 단계(S200)는 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 미리 설정된 소정 순번의 패킷에 해당하는 판단하는 것이 바람직하다.
이 때, 상기 소정 순번은 네트워크로 유입되는 세션의 첫 번째 순번으로 설정하는 것이 바람직하다. 이는 최근들어 증가하고 있는 DOS 계열의 네트워크 공격의 비중이 높아지고 있으며, DOS 계열의 네트워크 공격은 적은 패킷으로 공격이 이루어지는 것이 특징이기 때문에, 통상적으로 첫 번째 패킷만으로도 공격을 탐지할 수 있게 된다. 그렇기 때문에, 상기 순번 판단 단계(S200)는 도 2에 도시된 바와 같이, 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 미리 설정된 소정 순번의 패킷에 해당하는 판단하는 것이 바람직하다.
일 예를 들자면, TCP의 경우, 하나의 세션이 주로 SYN, SYNACK, ACK, data1, data2, data3, …, FIN, FINACK, ACK로 구성되게 되며, 상기 순번 판단 단계(S200)에서는 수신된 패킷들 중 data1에 해당하는지 판단하는 것이 바람직하다.
또다른 예를 들자면, UDP의 경우, 세션에 포함되어 있는 첫 번째 패킷 여부를 판단하는 것이 바람직하다.
이를 통해서, 상기 제1 분류 단계(S300)에서 매우 빠른 속도로 네트워크 침입/공격에 사용되는 세션을 탐지할 수 있다.
상세하게는, 상기 제1 분류 단계(S300)는 상기 순번 판단 단계(S200)의 판단 결과에 따라 상기 패킷 수신 단계(S100)에 수신된 패킷이 세션 내 미리 설정된 소정 순번, 즉, 첫 번째 순번의 패킷에 해당할 경우, 상기 수신된 패킷에 미리 저장된 알고리즘을 적용하여 고정된 소정 개수의 특성을 추출하고, 미리 설정된 기계학습을 이용한 패킷 기반 분류기에서 추출한 특성들을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 것이 바람직하다.
상술한 바와 같이, 종래의 패킷 기반 분류기에서 적용되는 원 핫 인코딩(one-hot encoding)을 통해 학습 데이터로 적용하기 위한 변환을 수행할 경우, 특성 개수 자체가 폭증(일 예를 들자면, 100 byte 크기의 패킷인 경우, 각 바이트별로 256개의 특성을 생성하기 때문에, 25,600개의 특성이 생성됨.)하기 때문에 기계학습이 느려지고 입력되는 패킷에 대한 분류가 느려지는 문제점이 있다.
이에 따라, 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법은 이를 해소하기 위하여, 원 핫 인코딩을 적용하지 않고 피처 셀렉션 알고리즘을 적용하여 고정된 소정 개수의 특성을 추출하는 것이 바람직하다.
다시 말하자면, 상기 제1 분류 단계(S300)은 원 핫 인코딩 없이 상기 패킷 수신 단계(S100)에 의해 수신된 패킷을 그대로 특성으로 사용하는 것이 바람직하다. 즉, 100 byte 크기의 패킷의 경우, 100 개의 특성이 생성되게 된다. 그렇지만, 원 핫 인코딩을 적용하지 않을 경우, 생성되는 특성의 개수가 줄어들기 때문에 기계학습을 이용한 패킷 기반 분류기에서의 학습이 제대로 이루어지지 않는 문제점이 있다.
이를 해소하기 위하여, 실제 학습과 분류에서 첫 번째 패킷의 모든 데이터를 특성으로 사용하는 대신 상기 피처 셀렉션 알고리즘을 적용하여 가장 중요한 일부 고정된 수의 특성만을 선택하여 활용하는 것이 바람직하다.
즉, 상기 제1 분류 단계(S300)는 사전에 네트워크로 수신된 패킷들에 대해, 다시 말하자면, 학습에 활용하기 위한 패킷들에 대해 상기 피처 셀렉션 알고리즘을 적용하여 다수의 특성을 추출하고, 각 특성 별 상관관계값(pearson correlation 값)을 계산한 후, 이를 기반으로 상관관계가 가장 높은 임의의 특성을 선택한 후, 선택한 특성들을 상기 기계학습을 이용한 패킷 기반 분류기에 적용하여 결과 데이터로 수신되는 분류 스코어를 측정하는 과정을 반복 수행하여, 상기 분류 스코어가 가장 최대가 되는 특성 개수를 결정하여 상기 소정 개수로 설정하는 것이 바람직하다.
이 때, 상기 분류 스코어가 가장 최대가 되는 특성 개수는 변경되지 않기 때문에, 패킷 데이터의 크기와 상관없이 상기 소정 개수에 해당하는 특성을 추출하고, 미리 설정된 기계학습을 이용한 패킷 기반 분류기에서 추출한 특성들을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 것이 바람직하다.
이를 통해서, 종래의 패킷 기반 분류기의 문제점이였던 특성의 개수를 감소시켜 탐지 속도를 향상시킬 수 있으나, 정확도가 낮아지기 때문에 이를 개선하기 위한 과정을 수행하는 것이 바람직하다.
상기 정확도 판단 단계(S400)는 네트워크 침입탐지 여부를 판별하기 위한 패킷들에 대해 상기 패킷 기반 분류기로부터 결과 데이터로 수신된 분류 스코어를 이용하여, 상기 분류 스코어가 소정값 이상인지 판단하는 것이 바람직하다.
이 때, 상기 정확도 판단 단계(S400)는 도 3에 도시된 바와 같이, 사전에 네트워크로 수신된 패킷들에 대해, 다시 말하자면, 학습에 활용하기 위한 패킷들에 대해 상기 기계학습을 이용한 패킷 기반 분류기와 상기 기계학습을 이용한 세션 기반 분류기를 이용하여 네트워크로의 공격 패킷인지를 판단하여 분류한 결과 데이터를 학습 데이터 셋으로 적용하여, 선형 탐색을 통해서 분류 결과를 정밀 분석하여, 가장 높은 분류 정확도를 갖는 상기 분류 스코어를 상기 소정값으로 설정하는 것이 바람직하다.
다시 말하자면, 상기 정확도 판단 단계(S400)는 최적의 분류 스코어, 즉, 최적의 소정값을 설정하기 위하여, 분류 스코어를 임의로 0.5 ~ 1.0 사이의 값들로 설정한 후, 상기 기계학습을 이용한 패킷 기반 분류기와 상기 기계학습을 이용한 세션 기반 분류기를 이용하여 네트워크로의 공격 패킷인지를 판단하여 분류한 결과 데이터에 대한 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), 분류속도 등을 종합적으로 판단하여 가장 높은 결과를 달성하는 분류 스코어를 상기 소정값으로 설정하는 것이 바람직하다.
여기서, 상기 기계학습을 이용한 패킷 기반 분류기와 상기 기계학습을 이용한 세션 기반 분류기는 사전에 네트워크로 수신된 패킷들을 이용하여 학습 데이터 셋으로 적용하여 학습을 수행한 후, 사전에 네트워크로 수신된 패킷들에 대해, 다시 말하자면, 학습에 활용하기 위한 패킷들에 대해 네트워크로의 공격 패킷인지를 판단하여 분류한 결과 데이터를 정밀 분석하여, 가장 높은 분류 정확도를 갖는 상기 분류 스코어를 상기 소정값으로 설정하는 것이 바람직하다.
상세하게는, 상기 기계학습을 이용한 패킷 기반 분류기와 상기 기계학습을 이용한 세션 기반 분류기의 학습 방법으로는, 도 4에 도시된 바와 같이, 상기 기계학습을 이용한 패킷 기반 분류기를 통해서, 학습 데이터 셋에 포함된 세션들의 첫 번째 데이터 패킷을 이용하여 패킷 기반 특성을 생성하고, 이를 이용하여 학습을 수행하게 된다.
학습된 상기 기계학습을 이용한 패킷 기반 분류기를 이용하여 학습 데이터 셋을 다시 한번 분류한 후, 분류결과 중 상기 분류 스코어가 임의로 설정한 값 미만인 패킷이 포함된 세션만을 이용하여 학습 데이터 셋을 다시 구성하게 된다.
새로 구성된 학습 데이터 셋을 이용하여 상기 기계학습을 이용한 세션 기반 분류기에서 세션 기반 특성을 생성하고 이를 이용하여 학습을 수행하게 된다.
상기 통신 차단 단계(S500)는 상기 정확도 판단 단계(S400)의 판단 결과에 따라, 상기 분류 스코어가 소정값 이상일 경우, 상기 수신된 패킷을 침입 패킷으로 최종 판단하여 네트워크 통신을 차단하는 것이 바람직하다.
이와는 반대로, 상기 데이터 생성 단계(S600)는 상기 정확도 판단 단계(S400)의 판단 결과에 따라, 상기 분류 스코어가 소정값 미만이거나, 상기 순번 판단 단계(S200)의 판단 결과에 따라, 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 미리 설정된 소정 순번의 패킷에 해당하지 않을 경우, 해당하는 상기 수신된 패킷들을 수집하여 2차 분류를 위한 통계 데이터로 생성하는 것이 바람직하다.
상기 통계 데이터는 매 패킷을 수신할 때마다 업데이트되며 주로 초당 전송한 트래픽 양, 전체 데이터양, 전체 수신된 패킷 수, 패킷간 지연시간 등의 세션의 특성을 정의할 수 있는 다양한 통계 값들로 이루어지는 것이 바람직하다.
이와 함께, 상기 정확도 판단 단계(S400)의 판단 결과에 따라, 상기 분류 스코어가 소정값 미만이거나, 상기 순번 판단 단계(S200)의 판단 결과에 따라, 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 미리 설정된 소정 순번의 패킷에 해당하지 않을 경우, 해당하는 상기 수신된 패킷들에 의한 네트워크를 허용하는 상기 통신 허용 단계(700)를 수행하는 것이 바람직하다.
상기 제1 분류 단계(S300)를 통해서 각 세션의 첫 번째 패킷을 분류한 후, 분류 스코어가 충분히 높은 경우, 분류를 완료하게 된다. 이 경우, 단 하나의 데이터 패킷을 이용하여 공격 여부를 탐지하기 때문에, 상당히 빠른 속도로 분류가 이루어지게 된다. 그렇지만, 분류 스코어가 충분히 높지 않을 경우에는 2차 분류를 수행하는 것이 바람직하다. 이 경우, 해당 세션이 종료된 후에 세션 기반 특성을 생성하여 분류하게 되므로 분류는 세션이 종료될 때까지 미뤄지게 된다. 그렇지만, 전체 패킷을 활용하여 네트워크 공격 여부 탐지가 이루어지기 때문에 탐지 정확도가 향상되게 된다.
상기 세션 종료 판단 단계(S800)는 상기 수신된 패킷이 포함된 세션의 종료 여부를 판단하는 것이 바람직하다.
상세하게는, 상기 수신된 패킷이 포함된 세션의 타입에 따라 세션의 종료 여부를 판단하는 것이 바람직하며, 세션 종료는 프로토콜에 따라 상이하게 판단하게 된다. 일 예를 들자면, TCP의 경우, 세션 종료를 위한 핸드쉐이크가 완료가 되면 해당 세션은 종료된 것으로 판단하는 것이 바람직하며, UDP의 경우, 세션 종료를 위한 과정이 없기 때문에, 마지막 패킷이 수신된 후 미리 설정된 소정 시간동안 패킷 송수신이 이루어지지 않을 경우, 해당 세션이 종료된 것으로 판단하는 것이 바람직하다.
상기 특성 추출 단계(S900)는 상기 세션 종료 판단 단계(S800)의 판단 결과에 따라 세션 종료가 이루어질 경우, 상기 데이터 생성 단계(S600)에서 생성한 상기 통계 데이터를 이용하여 특성을 추출하는 것이 바람직하다.
상기 제2 분류 단계(S1000)는 미리 설정된 기계학습을 이용한 세션 기반 분류기에서, 상기 특성 추출 단계(S900)에서 추출한 특성을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 것이 바람직하다.
이 때, 상기 제2 분류 단계(S1000)는 사전에 네트워크로 수신된 패킷들에 대해, 다시 말하자면, 학습에 활용하기 위한 패킷들 중 상기 기계학습을 이용한 패킷 기반 분류기에 적용하여 수신된 분류 스코어가 상기 소정값 미만인 경우에만 상기 기계학습을 이용한 세션 기반 분류기의 학습 데이터 셋으로 설정하는 것이 바람직하다.
즉, 상기 패킷 기반 분류기에서 상기 분류 스코어가 상기 특정값보다 낮은 경우에 해당하는 세션만을 이용하여 상기 세션 기반 분류기를 학습하도록 함으로써, 상기 세션 기반 분류기가 특정 데이터 셋을 좀 더 정확하게 학습하여 분류 정확도를 향상시킬 수 있다.
상기 제2 분류 단계(S1000)는 이러한 학습 데이터 셋을 적용한 상기 기계학습을 이용한 세션 기반 분류기에서, 상기 특성 추출 단계(S900)에서 추출한 특성을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 것이 바람직하다.
상기 후처리 단계(S1100)는 상기 제2 분류 단계(S1000)의 분류 결과에 따라, 각각의 공격 패킷과 정상 패킷으로 분류 수집하여, 저장 및 관리하는 것이 바람직하다. 일 예를 들자면, 각각의 상기 기계학습을 이용한 패킷 기반 분류기, 상기 기계학습을 이용한 세션 기반 분류기의 학습 데이터 셋으로 활용하는 것이 가장 바람직하고, 발생된 공격에 따라 사후 대응이 이루어질 수 있도록 제어신호를 생성하여 전송하는 것이 바람직하다.
즉, 다시 말하자면, 본 발명의 일 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법은, 1차 패킷 기반 분류기의 빠른 속도와 2차 세션 기반 분류기의 정확도의 장점을 동시에 얻을 수 있는 장점이 있으며, 네트워크 트래픽 용량이 증가하고 다양하고 정밀한 보안 공격들이 출현하고 있는 현재 네트워크의 많은 문제점들을 해결할 수 있는 효과적인 방안으로 적용될 수 있는 장점이 있다.
한편, 본 발명의 실시예에 따른 기계학습을 이용한 고속의 네트워크 침입탐지 방법은 다양한 전자적으로 정보를 처리하는 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 저장 매체에 기록될 수 있다. 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 소자 등과 같은 특정 사항들과 한정된 실시예 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것 일 뿐, 본 발명은 상기의 일 실시예에 한정되는 것이 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허 청구 범위뿐 아니라 이 특허 청구 범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (6)

  1. 컴퓨터를 포함하는 연산처리수단에 의하여 실행되는 프로그램 형태로 이루어지는 기계학습을 이용한 고속의 네트워크 침입탐지 방법에 있어서,
    상기 연산처리수단에서, 네트워크로 유입되는 패킷이 수신되는 패킷 수신 단계(S100);
    상기 패킷 수신 단계(S100)에 의해 상기 수신된 패킷이 세션 내 기설정된 소정 순번의 패킷에 해당하는지 판단하는 순번 판단 단계(S200);
    상기 순번 판단 단계(S200)의 판단 결과에 따라, 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 기설정된 소정 순번의 패킷에 해당할 경우, 상기 수신된 패킷에 기저장된 알고리즘을 적용하여 고정된 소정 개수의 특성을 추출하고, 기설정된 기계학습을 이용한 패킷 기반 분류기에서 추출한 특성들을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 제1 분류 단계(S300);
    상기 패킷 기반 분류기로부터 결과 데이터로 수신된 분류 스코어를 이용하여, 상기 분류 스코어가 소정값 이상인지 판단하는 정확도 판단 단계(S400);
    상기 정확도 판단 단계(S400)의 판단 결과에 따라, 상기 분류 스코어가 소정값 이상일 경우, 상기 수신된 패킷을 침입으로 최종 판단하여 차단하는 통신 차단 단계(S500);
    상기 순번 판단 단계(S200)의 판단 결과에 따라, 상기 패킷 수신 단계(S100)에 의해 수신된 패킷이 세션 내 기설정된 소정 순번의 패킷에 해당하지 않거나, 상기 정확도 판단 단계(S400)의 판단 결과에 따라 상기 분류 스코어가 소정값 미만일 경우, 상기 수신된 패킷을 수집하여 2차 분류를 위한 통계 데이터로 생성하는 데이터 생성 단계(S600);
    상기 수신된 패킷에 의한 네트워크를 허용하는 통신 허용 단계(S700);
    상기 수신된 패킷이 포함된 세션의 종료 여부를 판단하는 세션 종료 판단 단계(S800);
    상기 세션 종료 판단 단계(S800)의 판단 결과에 따라 세션 종료가 이루어질 경우, 상기 데이터 생성 단계(S600)에서 생성한 상기 통계 데이터를 이용하여 특성을 추출하는 특성 추출 단계(S900);
    기설정된 기계학습을 이용한 세션 기반 분류기에서 상기 특성 추출 단계(S900)에서 추출한 특성을 적용하여 네트워크로의 공격 패킷인지를 판단하여 분류하는 제2 분류 단계(S1000); 및
    상기 제2 분류 단계(S1000)의 분류 결과에 따라, 각각의 공격 패킷과 정상 패킷으로 수집하여 저장 및 관리하는 후처리 단계(S1100);
    를 포함하여 구성되는 것을 특징으로 하는 기계학습을 이용한 고속의 네트워크 침입탐지 방법.
  2. 제 1항에 있어서,
    상기 순번 판단 단계(S200)는
    네트워크로 유입되는 세션의 첫 번째 순번을 소정 순번으로 설정하는 것을 특징으로 하는 기계학습을 이용한 고속의 네트워크 침입탐지 방법.
  3. 제 1항에 있어서,
    상기 제1 분류 단계(S300)는
    사전에 네트워크로 수신된 패킷들에 대해서 피처 셀렉션 알고리즘을 적용하여 다수의 특성을 추출하고, 각 특성 별 상관관계값을 기반으로 특정한 특성을 선택하여, 선택한 특성들을 상기 기계학습을 이용한 패킷 기반 분류기에 적용하여 수신되는 분류 스코어를 측정하는 과정을 반복 수행하여, 분류 스코어가 가장 최대가 되는 특성의 수를 결정하여 상기 소정 개수를 설정하는 것을 특징으로 하는 기계학습을 이용한 고속의 네트워크 침입탐지 방법.
  4. 제 1항에 있어서,
    상기 정확도 판단 단계(S400)는
    사전에 네트워크로 수신된 패킷들에 대해서 상기 기계학습을 이용한 패킷 기반 분류기와 상기 기계학습을 이용한 세션 기반 분류기를 이용하여 네트워크로의 공격 패킷인지를 판단하여 분류한 결과를 학습 데이터 셋으로 적용하여, 선형 탐색을 통해서 분류 결과를 정밀 분석하여, 가장 높은 분류 정확도를 갖는 상기 분류 스코어를 상기 소정값으로 설정하는 것을 특징으로 하는 기계학습을 이용한 고속의 네트워크 침입탐지 방법.
  5. 제 1항에 있어서,
    상기 세션 종료 판단 단계(S800)는
    상기 수신된 패킷이 포함된 세션의 타입에 따라 세션의 종료 여부를 판단하는 것을 특징으로 하는 기계학습을 이용한 고속의 네트워크 침입탐지 방법.
  6. 제 1항에 있어서,
    상기 제2 분류 단계(S1000)의 기계학습을 이용한 세션 기반 분류기는
    사전에 네트워크로 수신된 패킷들 중 상기 기계학습을 이용한 패킷 기반 분류기에 적용하여 수신된 분류 스코어가 상기 소정값 미만인 경우에만 학습 데이터 셋으로 설정하는 것을 특징으로 하는 기계학습을 이용한 고속의 네트워크 침입탐지 방법.

KR1020200110740A 2020-09-01 2020-09-01 기계학습을 이용한 고속의 네트워크 침입탐지 방법 KR102292968B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200110740A KR102292968B1 (ko) 2020-09-01 2020-09-01 기계학습을 이용한 고속의 네트워크 침입탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200110740A KR102292968B1 (ko) 2020-09-01 2020-09-01 기계학습을 이용한 고속의 네트워크 침입탐지 방법

Publications (1)

Publication Number Publication Date
KR102292968B1 true KR102292968B1 (ko) 2021-08-25

Family

ID=77495004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200110740A KR102292968B1 (ko) 2020-09-01 2020-09-01 기계학습을 이용한 고속의 네트워크 침입탐지 방법

Country Status (1)

Country Link
KR (1) KR102292968B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230087232A (ko) 2021-12-09 2023-06-16 국방과학연구소 Lid-ds 데이터 세트를 이용한 기계학습 알고리즘 성능 분석 방법 및 시스템
KR20240035192A (ko) 2022-09-08 2024-03-15 제주대학교 산학협력단 예측 모델을 이용한 투표 기반 위험 및 이상 탐지 방법과 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101280910B1 (ko) 2011-12-15 2013-07-02 한국전자통신연구원 고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법
KR20190048605A (ko) * 2017-10-31 2019-05-09 삼성에스디에스 주식회사 기계 학습 기반의 분류 방법 및 그 장치
KR20190050521A (ko) * 2017-11-03 2019-05-13 주식회사 윈스 프로파일링 기반의 기계 학습을 활용한 이상 징후 탐지 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101280910B1 (ko) 2011-12-15 2013-07-02 한국전자통신연구원 고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법
KR20190048605A (ko) * 2017-10-31 2019-05-09 삼성에스디에스 주식회사 기계 학습 기반의 분류 방법 및 그 장치
KR20190050521A (ko) * 2017-11-03 2019-05-13 주식회사 윈스 프로파일링 기반의 기계 학습을 활용한 이상 징후 탐지 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230087232A (ko) 2021-12-09 2023-06-16 국방과학연구소 Lid-ds 데이터 세트를 이용한 기계학습 알고리즘 성능 분석 방법 및 시스템
KR20240035192A (ko) 2022-09-08 2024-03-15 제주대학교 산학협력단 예측 모델을 이용한 투표 기반 위험 및 이상 탐지 방법과 시스템

Similar Documents

Publication Publication Date Title
CN110311829B (zh) 一种基于机器学习加速的网络流量分类方法
KR102292968B1 (ko) 기계학습을 이용한 고속의 네트워크 침입탐지 방법
CN109117634B (zh) 基于网络流量多视图融合的恶意软件检测方法及系统
CN110611640A (zh) 一种基于随机森林的dns协议隐蔽通道检测方法
CN110798463B (zh) 基于信息熵的网络隐蔽信道的检测方法及装置
CN111200600B (zh) 一种物联网设备流量序列指纹特征提取方法
CN114257428B (zh) 一种基于深度学习的加密网络流量识别及分类方法
CN109151880A (zh) 基于多层分类器的移动应用流量识别方法
Yan et al. Identifying wechat red packets and fund transfers via analyzing encrypted network traffic
CN111611280A (zh) 一种基于cnn和sae的加密流量识别方法
CN111464510B (zh) 基于快速梯度提升树分类模型的网络实时入侵检测方法
CN111224998B (zh) 一种基于极限学习机的僵尸网络识别方法
CN104243225A (zh) 一种基于深度包检测的流量识别方法
CN112839051B (zh) 基于卷积神经网络的加密流量实时分类方法及装置
CN110532756A (zh) 一种系统指纹识别方法、装置、电子设备及存储介质
CN112714079B (zh) 一种vpn环境下的目标服务识别方法
Ohzeki et al. Estimating TCP Congestion Control Algorithms from Passively Collected Packet Traces using Recurrent Neural Network.
CN111586052B (zh) 一种基于多层级的群智合约异常交易识别方法及识别系统
KR101467942B1 (ko) 고속 어플리케이션 인지 시스템 및 처리 방법
CN110766165A (zh) 用于恶意url检测的在线主动机器学习方法
CN103701669A (zh) 一种检测业务类型的方法及装置
CN117220911B (zh) 一种基于协议深度分析的工控安全审计系统
CN114679606B (zh) 一种基于Burst特征的视频流量识别方法、系统、电子设备及存储介质
CN113810372B (zh) 一种低吞吐量dns隐蔽信道检测方法及装置
CN112733689B (zh) 一种https终端类型分类方法及装置

Legal Events

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