KR20210115991A - 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치 - Google Patents

시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치 Download PDF

Info

Publication number
KR20210115991A
KR20210115991A KR1020200032547A KR20200032547A KR20210115991A KR 20210115991 A KR20210115991 A KR 20210115991A KR 1020200032547 A KR1020200032547 A KR 1020200032547A KR 20200032547 A KR20200032547 A KR 20200032547A KR 20210115991 A KR20210115991 A KR 20210115991A
Authority
KR
South Korea
Prior art keywords
data
similarity
profile
network
anomaly
Prior art date
Application number
KR1020200032547A
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 KR1020200032547A priority Critical patent/KR20210115991A/ko
Publication of KR20210115991A publication Critical patent/KR20210115991A/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
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/067Generation of reports using time frame reporting
    • 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/0823Errors, e.g. transmission errors
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치가 제공된다. 상기 방법은, 네트워크를 통해 수집되는 데이터로부터 시계열 데이터를 생성하고, 상기 시계열 데이터를 미리 생성된 오토 인코더 기반 학습 모델에 입력 데이터로 입력시켜, 상기 입력 데이터에 대응하는 출력 데이터와 인코딩 데이터를 획득한다. 그리고, 상기 입력 데이터와 상기 출력 데이터를 이용한 유사도 분석을 수행하고, 상기 인코딩 데이터를 이용한 프로파일 분석을 수행하며, 상기 유사도 분석 결과와 상기 프로파일 분석 결과를 이용하여 상기 네트워크 상의 이상징후 여부를 판단한다.

Description

시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치{Method and apparatus for detecting network anomaly using analyzing time-series data}
본 발명은 네트워크 이상징후 탐지에 관한 것으로, 더욱 상세하게 말하자면, 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치에 관한 것이다.
현재 지능형 사이버 표적 공격에서, 공격자가 장기간에 걸쳐서 다양한 신종 변종된 공격 기법을 활용하고 있고, 이는 기업망이나 조직에 상당한 위협으로 대두되고 있다. 이에 따라 이를 탐지하기 위한 다양한 보안 시스템과 솔루션이 개발되고 있다.
최근, 인공지능 및 머신 러닝(machine learning) 분야에서 시스템 또는 데이터 내의 주요 변화를 분석하고 감지하여 이상징후 발생을 예측하는 이상징후 검출 기법을 보안을 비롯한 다양한 분야에 적용하기 위한 다각화된 연구들이 수행되고 있다.
대표적인 이상징후 검출 기법은 정상 상태의 포괄적인 정보를 토대로 정상에 대해 벗어남 정도(비정상도)를 판단하여 새로운 이상징후를 검출한다. 이러한 방법은 이상징후에 대한 정보가 필요하지 않기 때문에 범용적으로 활용될 수 있다. 그러나, 높은 복잡도의 시스템이 요구되고, 데이터로부터 정상 상태를 완벽하게 파악하는 것이 매우 어렵기 때문에 높은 검출 성능을 얻기 어려우므로, 주된 방법론으로 사용될 수 없었다.
최근 연구에서 주어진 시스템 상태 데이터로부터 스스로 패턴을 학습하는 딥러닝 (Deep Learning)을 적함으로써 정상 행위의 학습 정확도가 향상되고, 이에 따라 검출 성능도 향상을 얻는 것이 가능해졌다. 이러한 딥러닝의 하나의 인공신경망 알고리즘인 오토인코더(auto-encoder)는 인공신경망의 각 층을 단계적으로 학습하되, 최종 출력(Output)이 최초 입력(Input)을 재현하도록 하는 것이 가장 큰 특징인 알고리즘이다. 이러한 오토인코더를 네트워크 이상징후 탐지에 활용하는 방법이 요구되고 있다.
본 발명이 해결하고자 하는 과제는, 다양한 네트워크 보안 장비에서 발생하는 대용량 보안 이벤트에 관련된 데이터를 수집하여 시계열 분석 기반 패턴 생성을 위한 학습을 수행하고, 생성된 패턴을 기반으로 실시간으로 수집되는 데이터의 이상징후를 탐지하는 방법 및 장치를 제공하는 것이다.
또한, 본 발명이 해결하고자 하는 과제는, 수집되는 데이터에 대하여 시계열 분석 기반으로 생성된 패턴을 기반으로, 오토 인코더를 이용하여 유사도 분석과 프로파일 분석을 수행하여 실시간으로 수집되는 데이터의 이상징후를 탐지하는 방법 및 장치를 제공하는 것이다.
일 실시 예에 따르면, 탐지 장치가 네트워크 이상징후를 탐지하는 방법이 제공된다. 상기 방법은, 상기 탐지 장치가, 네트워크를 통해 수집되는 데이터로부터 시계열 데이터를 생성하는 단계; 상기 탐지 장치가, 상기 시계열 데이터를 미리 생성된 오토 인코더 기반 학습 모델에 입력 데이터로 입력시켜, 상기 입력 데이터에 대응하는 출력 데이터와 인코딩 데이터를 획득하는 단계; 상기 입력 데이터와 상기 출력 데이터를 이용한 유사도 분석을 수행하는 단계; 상기 인코딩 데이터를 이용한 프로파일 분석을 수행하는 단계; 및 상기 유사도 분석 결과와 상기 프로파일 분석 결과를 이용하여 상기 네트워크 상의 이상징후 여부를 판단하는 단계를 포함한다.
일 구현 예에서, 상기 이상징후 여부를 판단하는 단계는, 상기 유사도 분석 결과와 상기 프로파일 분석 결과 중 적어도 하나가 이상징후를 나타내는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단할 수 있다.
일 구현 예에서, 상기 방법은, 네트워크를 통해 수집되는 데이터로부터 상기 오토 인코더 기반 학습 모델을 생성하는 단계를 더 포함할 수 있다. 이 경우, 상기 오토 인코더 기반 학습 모델을 생성하는 단계는, 상기 수집되는 데이터로부터 추출되는 기본 특성을 이용하여 상기 수집되는 데이터를 설정된 시간 슬라이딩 윈도우 크기에 따라 취합하여 학습 데이터를 생성하는 단계; 및 상기 학습 데이터를 이용하여 오토 인코더를 이용한 탐지 모델을 학습하여 상기 오토 인코더 기반 학습 모델을 획득하는 단계를 포함할 수 있다.
일 구현 예에서, 상기 수집되는 데이터는 보안 이벤트와 로그에 관련된 데이터일 수 있으며, 상기 기본 특성에 관련된 데이터는 상기 수집되는 데이터에 관련된, 발생시간, 요일, 시간, 이벤트 발생수, 공격 ip 개수, 공격당한 ip 개수, 공격 포트 개수, 공격당한 포트 개수, 프로토콜 종류의 개수, 공격 종류별 개수를 포함할 수 있다.
일 구현 예에서, 상기 유사도 분석을 수행하는 단계는, 상기 입력 데이터와 상기 출력 데이터의 유사도를 산출하는 단계; 및 상기 산출된 유사도가 미리 설정된 유사도 임계치 미만이면 이상징후가 발생한 것으로 판단하는 단계를 포함할 수 있다.
일 구현 예에서, 상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도 중에서 최고 값의 유사도와 최저 값의 유사도 사이의 차이를 획득하고, 상기 획득된 차이의 설정 퍼센트에 대응하는 값을 상기 유사도 최저값에 더하는 것에 의해 획득될 수 있다.
일 구현 예에서, 상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도에 대한 정규 분포를 구하고, 상기 정규 분포의 중심값에서 설정값을 감산하는 것에 의해 획득될 수 있다.
일 구현 예에서, 상기 프로파일 분석을 수행하는 단계는, 학습 데이터를 상기 오토 인코더 기반 학습 모델을 통해 인코딩한 값을 기반으로 생성된 프로파일러를 이용하여, 상기 인코딩 데이터를 프로파일링하는 단계; 상기 프로파일링하여 획득된 프로파일별 빈도수를 기반으로 프로파일 번호를 추출하는 단계; 및 상기 추출된 프로파일 번호가 이상징후에 속하는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단하는 단계를 포함할 수 있다.
일 구현 예에서, 상기 방법은, 상기 이상징후 여부를 판단하는 단계 이후에 상기 네트워크 상의 이상징후 여부를 판단한 탐지 결과를 저장소에 저장하는 단계를 더 포함할 수 있으며, 상기 탐지 결과는 타임스탬프, 이상징후 유무, 프로파일 분석 결과에 따른 이상징후 유무, 프로파일 번호, 유사도 분석 결과에 따른 유사도 이상징후 유무, 유사도 분석에 사용된 유사도, 유사도 분석에 사용된 유사도 임계치를 포함할 수 있다.
다른 실시 예에 따르면, 네트워크 이상징후를 탐지하는 장치가 제공된다. 상기 장치는, 네트워크를 통해 수집되는 데이터를 제공받도록 구성된 인터페이스 장치; 및 상기 인터페이스 장치를 통해 전달되는 데이터를 기반으로 네트워크 이상징후를 탐지하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 인터페이스 장치를 통해 전달되는 데이터로부터 시계열 데이터를 생성하도록 구성된 시계열 데이터 생성기; 상기 시계열 데이터를 입력 데이터로 하여, 미리 생성된 오토 인코더 기반 학습 모델에 기반하여 상기 입력 데이터에 대응하는 출력 데이터와 인코딩 데이터를 출력하도록 구성된 비정상 패턴 탐지기; 상기 입력 데이터와 상기 출력 데이터의 유사도를 획득하도록 구성된 유사도 분석기; 상기 유사도를 이용하여 이상징후 여부를 판단하도록 구성된 이상징후 유사도 필터; 상기 인코딩 데이터에 대한 프로파일링을 수행하도록 구성된 프로파일러; 상기 프로파일링 결과를 이용하여 이상징후 여부를 판단하도록 구성된 이상징후 프로파일 필터; 및 상기 이상징후 유사도 필터의 판단 결과와 상기 이상징후 프로파일 필터의 판단 결과를 이용하여 상기 네트워크 상의 이상징후 여부를 판단하도록 구성된 이상징후 결정기를 포함한다.
일 구현 예에서, 상기 이상징후 결정기는 상기 유사도 분석 결과와 상기 프로파일 분석 결과 중 적어도 하나가 이상징후를 나타내는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단하도록 구성될 수 있다.
일 구현 예에서, 상기 이상징후 유사도 필터는 상기 유사도 분석기에 의해 획득된 유사도가 미리 설정된 유사도 임계치 미만이면 이상징후가 발생한 것으로 판단하도록 구성될 수 있다.
일 구현 예에서, 상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도 중에서 최고 값의 유사도와 최저 값의 유사도 사이의 차이를 획득하고, 상기 획득된 차이의 설정 퍼센트에 대응하는 값을 상기 유사도 최저값에 더하는 것에 의해 획득될 수 있다.
일 구현 예에서, 상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도에 대한 정규 분포를 구하고, 상기 정규 분포의 중심값에서 설정값을 감산하는 것에 의해 획득될 수 있다.
일 구현 예에서, 상기 이상징후 프로파일 필터는, 상기 프로파일에 의한 프로파일링에 따라 획득된 프로파일별 빈도수를 기반으로 프로파일 번호를 추출하고, 상기 추출된 프로파일 번호가 이상징후에 속하는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단하도록 구성될 수 있다.
일 구현 예에서, 상기 프로세서는, 상기 이상징후 결정기의 네트워크 상의 이상징후 여부를 판단한 탐지 결과를 저장소에 저장하도록 구성된 로거(logger)를 더 포함하도록 구성될 수 있으며, 상기 탐지 결과는 타임스탬프, 이상징후 유무, 프로파일 분석 결과에 따른 이상징후 유무, 프로파일 번호, 유사도 분석 결과에 따른 유사도 이상징후 유무, 유사도 분석에 사용된 유사도, 유사도 분석에 사용된 유사도 임계치를 포함할 수 있다.
일 구현 예에서, 상기 프로세서는, 상기 이상징후 결정기의 네트워크 상의 이상징후 여부를 판단한 탐지 결과를 설정 파일에 저장된 대상으로 통보하도록 구성된 이상징후 알림기를 더 포함하도록 구성될 수 있다.
일 구현 예에서, 상기 오토 인코더 기반 학습 모델은 네트워클 통해 수집되는 데이터로부터 추출되는 기본 특성을 이용하여 획득된 학습 데이터를 기반으로 한 탐지 모델 학습에 의하여 생성될 수 있으며, 상기 수집되는 데이터는 보안 이벤트와 로그에 관련된 데이터일 수 있고, 상기 기본 특성에 관련된 데이터는 상기 수집되는 데이터에 관련된, 발생시간, 요일, 시간, 이벤트 발생수, 공격 ip 개수, 공격당한 ip 개수, 공격 포트 개수, 공격당한 포트 개수, 프로토콜 종류의 개수, 공격 종류별 개수를 포함할 수 있다.
본 발명의 실시 예에 따르면, 수집되는 데이터에 대하여 시계열 분석 기반 패턴 생성을 위한 학습을 수행하고, 오토인코더를 이용하여 생성된 모델을 기반으로 유사도 분석과 프로파일 분석을 수행하여 실시간으로 수집되는 데이터의 이상징후를 탐지할 수 있다.
이를 통하여, 평소 발생 추이를 크게 벗어나서 드물게 발생되는 이상징후를 탐지함으로써, 이상징후를 모니터링할 수 있으며 그 결과가 사이버 보안 위협 탐지에 활용될 수 있다. 또한, 향후 인공지능이 적용되는 보안 관제 솔루션 분야의 네트워크 데이터의 이상행위 탐지를 위한 솔루션에 적용할 수 있는 효과가 있다.
또한, 지능형 보안 서비스를 위해 IDS/IPS, UTM, WAF, FW 등 다양한 네트워크 보안 장비에서 수집 데이터에 대하여 이상징후를 효과적으로 탐지할 수 있다.
도 1은 신경망의 작동 원리를 나타낸 도이다.
도 2는 본 발명의 실시 예에 따른 네트워크 이상징후 탐지 장치의 구조를 나타낸 도이다.
도 3은 본 발명의 실시 예에 따른 오토인코더의 입출력 결과를 비교한 예시도이다.
도 4는 본 발명의 실시 예에 따른 학습 데이터와 시험 데이터의 프로파일 빈도수를 나타낸 예시도이다.
도 5는 본 발명의 실시 예에 따른 이상징후 탐지 방법의 흐름도이다.
도 6은 본 발명의 다른 실시 예에 따른 네트워크 이상징후 탐지 장치의 구조를 나타낸 도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
또한, 본 발명의 실시 예에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 본 발명의 실시 예에 따른 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치에 대하여 설명한다.
도 1은 신경망의 작동 원리를 나타낸 도이다.
컴퓨터는 정보를 메모리의 특정 위치에 저장하지만, 뇌는 뇌의 신경세포(neuron)에 정보를 저장하는 공간이 따로 없기 때문에, 신경세포의 연결 관계를 바꾸는 방식으로 정보를 저장한다. 신경세포는 단지 다른 신경세포에서 오는 신호를 받아 자신의 신호를 내보내는 역할만을 한다. 뇌는 이런 신경세포들이 연결된 거대한 네트워크이며, 신경세포들의 연결 상태가 바로 뇌에 저장된 정보를 나타낸다. 신경망은 이러한 뇌의 작동 원리를 기반으로 생성되었다. 수많은 신경세포가 연결되어 뇌를 구성하는 것처럼, 신경망은 뇌의 신경세포에 해당하는 노드라고 하는 작은 요소들을 연결해 만든 네트워크이다. 뇌의 작동 원리 중에서 가장 중요한 신경세포들의 연결관계가, 신경망에서는 노드들의 연결 가중치로 계산된다.
이러한 신경망에서는 도 1에서와 같이, 학습 데이터를 토대로 학습 규칙이 생성되며, 신경망은 입력 데이터를 학습 규칙에 따라 처리하여 결과를 출력한다.
딥러닝의 하나의 인공신경망 알고리즘인 오토인코더는 인공신경망의 각 층을 단계적으로 학습하되, 최종 출력(Output)이 최초 입력(Input)을 재현하도록 하는 것이 가장 큰 특징인 알고리즘이다.
오토인코더는 인코더와 디코더를 포함하며, 인코더와 디코더 사이 부분이 매니폴드(Manifold)되어 있으며, 이러한 매니폴드된 부분이 잠재 변수(Latent Variable), 특징(Feature) 등으로 명명된다. 이 매니폴드된 부분을 중심으로 신경망의 모양이 대칭(Symmetric)적이다.
이러한 오토인코더에서 최초 입력 레이어와 최종 출력 레이어의 노드의 개수는 동일하며, 히든 레이어(Hidden Layer)의 노드의 개수는 입력 레이어 및 출력 레이어의 노드 개수보다 낮아야 한다. 히든 레이어의 노드의 개수가 더 낮으므로, 인공신경망은 입력 데이터들을 압축하여 이들로부터 특징을 추출하고, 추출한 특징을 기반으로 입력 데이터를 최대한 출력 데이터로 재현한다.
한편, 시계열 기반한 탐지 기술은 시간의 흐름에 따라 관측한 시계열 데이터(time series data)를 이용해서 추세(trend), 반복(cycle), 불규칙(random) 등의 변동 패턴을 찾고, 찾아진 변동 패턴 및 분석을 통해 보안 장비에서 생성되는 보안 이벤트 및 로그 데이터를 분석하여 이상징후(Anomaly)를 탐지하는 기술이다. 이를 통해 탐지되는 이상징후는 평소 발생 추이를 크게 벗어나서 드물게 발생되는 것을 나타내며, 이러한 이상징후를 모니터링하여 사이버 보안 위협 탐지에 활용될 수 있다.
본 발명의 실시 예에서는 시계열 데이터를 토대로 오토인코더를 이용하여 생성된 모델을 기반으로 유사도 분석과 프로파일 분석을 수행하여 실시간으로 수집되는 데이터의 이상징후를 탐지한다.
도 2는 본 발명의 실시 예에 따른 네트워크 이상징후 탐지 장치의 구조를 나타낸 도이다.
본 발명의 실시 예에 따른 네트워크 이상징후 탐지 장치(1)(설명의 편의를 위해, 이하에서는 이상징후 탐지 장치라고 명명함)는, 도 2에서와 같이, 시계열 데이터 생성기(time series generator)(10), 비정상 패턴 탐지기(anomaly pattern detector)(20), 유사도 분석기(similarity analyzer)(30), 이상징후 유사도 필터 (anomaly similarity filter)(40), 프로파일러(50), 이상징후 프로파일 필터(anomaly profile filter)(60), 이상징후 결정기(anomaly decision unit)(70), 로거(logger)(80), 이상징후 알림기(anomaly notifier)(90)를 포함한다.
이러한 구조로 이루어지는 이상징후 탐지 장치(1)는 외부의 저장소(2)로부터 데이터를 제공받아 처리한다. 저장소(2)는 다양한 네트워크 보안 장비에서 발생하는 대용량 보안 이벤트에 관련된 데이터를 저장할 수 있으며, 반드시 이에 한정되는 것은 아니다. 저장소(2)는 인덱스별로 데이터를 저장할 수 있다. 저장소(2)는 이상징후 탐지 장치(1)에 포함되는 형태로 구현될 수도 있다.
이상징후 탐지 장치(1)의 각 구성 요소의 동작을 살펴보면 다음과 같다.
시계열 데이터 생성기(10)는 이상징후 패턴분석을 위한 시계열 데이터를 생성한다. 구체적으로, 시계열 데이터 생성기(10)는 저장소(2)로부터 데이터를 읽어와서 시계열 데이터를 생성하며, 이때, 분산 검색 엔진인 EL(elasticsearch)을 이용하여 저장소(2)로부터 데이터를 획득할 수 있으며, 설정 시간 동안에 저장소(2)에 저장된 데이터를 읽어 올 수 있다. 예를 들어, EL(elasticsearch)의 /data_aggregted 인덱스에서 저장소(2)로부터 최근 30분(1*30)간에 저장된 데이터를 읽어온다. 그리고, 시계열 데이터 생성기(10)는 획득된 데이터를 가공해서 시계열 데이터를 생성한다.
시계열 데이터 생성기(10)에서 생성된 시계열 데이터는 비정상 패턴 탐지기(30)의 이상징후 탐지에 사용할 입력 데이터 즉, 시계열 데이터 입력(time series data input)(D1)으로 사용된다. 이때, 시계열 데이터 생성기(10)에 의해 생성된 시계열 데이터 중에서 데이터 벡터 크기에 맞는 데이터만 추출되어 시계열 데이터 입력(D1)으로 제공될 수 있다. 이러한 데이터 추출 처리는 시계열 데이터 생성기(10)에서 수행되거나 별도의 처리 수단에 의해 수행될 수도 있다.
비정상 패턴 탐지기(20)는 입력 데이터(시계열 데이터 입력(D1))를 이용하여 이상징후 패턴을 분석한다. 비정상 패턴 탐지기(20)는 딥러닝 기반 오토 인코더 모델 기반의 이상징후 분석기이다. 이러한 비정상 패턴 탐지기(20)는 입력 데이터를 이용해서 출력 데이터와 인코딩 데이터를 생성한다.
비정상 패턴 탐지기(20)로부터 출력 데이터 즉, 시계열 데이터 출력(D2)가 출력되며, 유사도 분석기(30)는 비정상 패턴 탐지기(30)로 제공되는 입력 데이터(시계열 데이터 입력(D1))와 비정상 패턴 탐지기(30)의 출력 데이터(시계열 데이터 출력(D2))와의 유사도를 분석한다. 이때, 유사도 알고리즘 SSIM(Structural SIMilarity)을 사용하여 입력 데이터(D1)와 출력 데이터(D2)의 유사도를 분석하며, SSIM 유사도 범위는 -1.0~1.0일 수 있다. 분석에 따라 획득되는 유사도 지표가 1.0에 가까울수록 이는 입력 데이터(D1)와 출력 데이터(D2)가 비슷한 것을 나타내며, -1.0에 가까울수록 이는 입력 데이터(D1)와 출력 데이터(D2) 사이의 차이가 크다는 것을 나타낸다. 유사도에 대한 자세한 설명은 이상징후 탐지 모델 부분의 유사도 분석 알고리즘을 참고한다.
이상징후 유사도 필터(40)는 유사도 분석기(30)로부터 제공되는 분석 결과에 따른 유사도 지표와 설정값을 비교하여 이상징후 여부를 판단한다. 유사도 지표가 설정값(유사도 임계치, 예를 들어, 0.8) 미만이면 이상징후인 것으로 판단하고, 판단 결과에 따른 출력, 예를 들어, 이상징후인 경우에는 참(true)을 출력하고, 이상징후가 아닌 경우에는 거짓(false)을 출력한다.
한편, 비정상 패턴 탐지기(30)로부터 출력되는 인코딩 데이터 즉, 인코디드 시계열 데이터(encoded time series data)(m_dim)(D3)는 프로파일러(50)로 제공된다. 인코디드 시계열 데이터(D3)는 이상징후 패턴 분석기 즉, 비정상 패턴 탐지기(30)로부터 출력된 인코딩 데이터이다. 프로파일러(50)는 이러한 입력되는 인코딩 데이터(D3)의 프로파일 데이터를 추출한다. 프로파일러(50)는 k-평균(means) 기반의 프로파일 분석을 수행한다. 여기서 k=100일 수 있으며, 프로파일러(50)는 인코딩 데이터(D3)를 이용해서 소수의 그룹 즉, 프로파일(클러스터)로 묶는 처리를 수행하며, 예를 들어, 100 종류의 프로파일(클러스터)에 대해 클러스터링을 수행하고, 각 프로파일별로 프로파일 번호(클러스터 번호)를 추출한다. 인코딩 데이터(D3)가 클러스터링된 프로파일의 프로파일 번호가 추출된다.
이상징후 프로파일 필터(60)는 프로파일러(50)로부터 제공되는 프로파일을 이상징후 또는 정상으로 분류한다. 프로파일러(50)의 의해 임의 프로파일에 대해 추출된 프로파일 번호가 이상징후에 속하는지 판단하여 이상징후 또는 정상으로 분류한다. 예를 들어, 이상징후에 속하는 경우에는 참(true)을 출력하고, 이상징후에 속하지 않는 경우에는 거짓(false)을 출력한다.
이상징후 결정기(70)는 이상징후 유사도 필터(40)의 결과와 이상징후 프로파일 필터(60)의 결과를 이용하여 이상징후 유무를 최종적으로 결정한다. 이상징후 결정기(70)는 이상징후 유사도 필터(40)의 결과와 이상징후 프로파일 필터(60)의 결과 중 적어도 하나가 이상징후를 나타내면, 최종적으로 이상징후가 발생한 것으로 결정한다. 또한, 이상징후 유무에 상관없이, 현재 탐지한 결과를 설정 구조의 데이터 예를 들어, JSON 구조의 데이터로 출력한다. 출력되는 탐지 결과는 예를 들어, 다음 표 1과 같을 수 있다.
Figure pat00001
표 1에서 예시된 탐지 결과에 따라, 2019년 1월 1일 00:00:00에서 설정 시간 동안 획득한 데이터를 토대로 이상징후 탐지를 수행한 결과, 딥러닝 기반 오토 인코더 모델 기반의 이상징후 분석에 사용된 입력 데이터와 이의 출력 데이터의 유사도 이상징후 유무는 거짓(F)이고, 이때, 사용된 유사도 임계치는 0.623이며, 이상징후 분석에 따른 인코딩 데이터의 프로파일링에 따른 프로파일 번호가 77이며, 이에 따른 프로파일 이상징후 유무는 거짓(F)이며, 이러한 이상징후 유무의 결과와 프로파일 이상징후 유무의 결과에 따라 최종적으로 이상징후 유무가 거짓(F)이어서 이상징후가 발생하지 않았음을 알 수 있다.
한편, 로거(80)는 이상징후 결정기(70)의 탐지 결과를 로깅(logging)한다. 예를 들어, 표 1과 같은 JSON 구조의 탐지 결과 즉, 이상징후 데이터를 저장소(2)에 로깅하며, EL의 /anomaly_log 인덱스에 로깅한다.
이상징후 알림기(90)는 이상징후 발생시 알림을 수행한다. 이상징후 결정기(70)의 탐지 결과를 토대로 이상징후가 발생한 것으로 판단되면, 설정 파일에 설정되어 있는 대상(예를 들어, 이메일 주소)으로 이상징후 발생을 나타내는 알림을 송신한다. 이때, 알림에 포함되는 내용은 로깅시 사용한 데이터와 동일할 수 있다.
이러한 구조로 이루어지는 본 발명의 실시 예에 따른 이상징후 탐지 장치(1)를 기반으로, 본 발명의 실시 예에 따른 이상징후 탐지 방법에 대하여 설명한다.
본 발명의 실시 예에서는, 수집 데이터에 대하여 시계열 분석 기반 패턴 생성을 위한 학습을 수행하고, 오토인코더를 이용하여 생성된 모델을 기반으로 유사도 분석과 프로파일 분석을 수행하여 실시간으로 수집되는 데이터의 이상징후를 탐지한다.
시계열 분석 이상징후 탐지 모델을 위해서 정해진 설정 시간 단위 동안 수집된 이벤트 데이터에 대해서 시계열 데이터를 생성한다. 이를 위해, 이상징후를 탐지하기 위해 수집되는 보안 이벤트와 로그에 관련된 데이터를 다음 표 2와 같은 유효 데이터 포맷으로 변경한다.
< 유효 데이터 포맷 >
1 id 로그 아이디
2 time_stamp 수집 시간
3 ips_id IPS ID
4 ip_version IP 버전
5 start_time 공격 탐지 시작 시간
6 end_time 공격 탐지 종료 시간
7 detect_count 공격 탐지 회수
8 try_count 공격 시도 회수 / 분단위 packets
9 bytes 공격탐지된 총 데이터 크기/(최초 탐지된 패킷 Byte size) * TryCount
10 attack_ip 공격 IP(srcip)
11 victim_ip 대상 IP(dstip)
12 attack_str_ip 공격 IP(srcip)
13 victim_str_ip 대상 IP(dstip)
14 attack_port 공격 Port
15 victim_port 대상 Port
16 protocol 프로토콜
17 attack_category 공격 대분류
18 attack_code 공격 코드명
19 attack_name 공격명
20 attack_mac Attack Mac Address
21 attack_country 공격 IP 국가
22 filter 내부->외부: 1(out), 외부->내부(in): 2, 내부->내부 : 3
23 alert_curr_level 정오탐 레이블 (정탐: TP, 오탐: FA), 탐지 데이터 경우 : null
그리고, 위와 같은 데이터 필드를 가지는 유효 데이터 포맷으로 변경된 데이터에 대해서, 특성 추출을 수행한다. 수집한 데이터에서 이상징후를 나타낼 수 있는 특성을 추출하며, 추출된 특성 추출 데이터는 다음 표 3과 같다. 여기서는 예를 들어, 1분 단위로 정보를 취합하여 특성 추출 데이터를 획득한다.
<특성 추출 데이터>
1 datetime 발생시간
2 weekday 요일
3 hour 시간
4 Event_count 몇개의 이벤트가 발생했는가?
5 Try_count 공격 시도 회수 / 분단위 packets
6 Attack_ip_count distinct 한 attack ip 개수단위 시간당 발생된 ip 수
7 Victim_ip_count distinct 한 victim ip 개수단위 시간당 발생된 ip 수
8 Attack_port_count distinct 한 attack port 개수단위 시간당 발생된 port 수
9 Victim_port_count distinct 한 victim port 개수단위 시간당 발생된 port 수
10 Protocol_count 프로토콜 종류의 수
11 Attack_name_count 공격 종류별로 나눠서 counting하고 공격 종류별 특성 추가
12 new_ip_count_in_N_days N일 동안에 발견되지 않은 ip 수
13 geohash_count attack_country 수공격자의 지리상 위치 정보를 geohash해서 몇군데 지역에서 공격이 들어오는지 산출
14 Relation- attack_ip_to_victim_ip_count distinct한 attack_ip와 victim_ip 연결 수
15 Relation- attack_ip_to_victim_ip_port_1toN_count
[min,max,avg,std]
Attack IP 1 개당 victim IP N 개 사이의 최소값, 최대값, 평균, 표준편차
16 Relation- attack_ip_to_victim_ip_port_Nto1_count_
[min,max,avg,std]
Attack IP N개당 victim IP 1 개 사이의 최소값, 최대값, 평균, 표준편차
17 Relation- victim_ip_to_attack_ip_port_1toN_count_
[min,max,avg,std]
Attack Port 1개당 victim Port N 개 사이의 최소값, 최대값, 평균, 표준편차
18 Relation- victim_ip_to_attack_ip_port_Nto1_count_
[min,max,avg,std]
Attack Port N개당 victim Port 1 개 사이의 최소값, 최대값, 평균, 표준편차
그리고, 이러한 특성 추출 데이터를 이용하여 오토인코더 학습을 위한 학습 데이터 즉, 시계열 데이터를 생성한다.
이를 위해, 특성 추출 데이터를 이용하여 기본 특성을 추출하고(1 단계), 그 다음에 기본 특성을 이용하여 시간 슬라이딩 윈도우 크기만큼 취합해서 오토인코더 학습을 위한 학습 데이터를 생성한다(2 단계).
먼저, 1단계에서, 1단계는 특성 추출 데이터를 이용하여 설정 단위(1분 단위)로 특성을 취합하며, 이 과정에서 취합된 특성의 데이터 구조는 다음과 같다.
1) 데이터 구조
A. datetime
B. weekday
C. hour
D. event_count
E. unique_attack_ip_count
F. unique_victim_ip_count
G. unique_attack_port_count
H. unique_victim_port_count
I. unique_protocol_count
J. unique_attack_name_count
예를 들어, 표 3의 특성 추출 데이터를 토대로, 위의 A 내지 J에 대응하는 기본 특성들(발생시간(A), 요일(B), 시간(C), 이벤트 발생수(D), 공격(attack) ip 개수(E), 공격당한(victim) ip 개수(F), 공격 포트 개수(G), 공격당한 포트 개수(H), 프로토콜 종류의 개수(I), 공격 종류별 개수(J))를 추출한다.
이러한 1 단계에서 취합된 결과는 다음의 예와 같을 수 있다.
2) 1단계 취합 결과 예
Figure pat00002
다음 2 단계에서, 1단계의 취합 결과를 시간 슬라이딩 윈도우 크기 즉, 제1 설정 단위로 취합한다. 예를 들어, 다음과 같이 1단계의 취합 결과를 30분 단위로 취합한다.
A. timestamp
B. event_count*30
C. unique_attack_ip_count*30
D. unique_victim_ip_count*30
E. unique_attack_port_count*30
F. unique_victim_port_count*30
G. unique_protocol_count*30
H. unique_attack_name_count*30
이때 슬라이딩은 제2 설정 단위(예를 들어, 1분 단위)로 수행된다. 학습에서는 시간정보는 제외하고 학습 데이터를 만든다. 참고로, 학습시에는 timestamp 값은 제외된다.
이러한 2 단계 취합 결과 다음과 같은 데이터를 획득할 수 있다.
3) 2단계 취합 결과 예
Figure pat00003
다음, 위와 같이 생성되는 시계열 데이터(오토인코더 학습을 위한 학습 데이터)를 토대로 모델 학습을 수행한다.
모델 학습을 위해서, 오토 인코더를 이용한 이상징후 탐지 모델 학습을 수행한다. 모델 구조를 위한 오토인코더 모델을 단순히 표현하면 다음과 같다.
Figure pat00004
오토인코더 모델은 입력 [x]에 대해 출력 [y]를 만드는 구조로 구성되며, 학습시 입력 [x]과 출력 [y]이 같아지도록 학습한다. 그리고 입력 [x]가 [encoder]를 거쳐서 나오는 [e]는 인코딩 데이터이다. [e]는 일반적으로 입력 [x]보다 차원이 축소되도록 구성된다. [e]는 [decoder]를 통해 [x’]로 복구될 수 있다.
이와 같은 오토인코더 모델을 토대로 이상징후 판단을 수행한다.
본 발명의 실시 예에서는 이상징후 판단을 위해, 다음 두 가지를 활용한다.
1) 유사도 분석: 오토인코더의 입력 값과 출력 값의 유사도(ssim)와 임계치의 비교를 통한 분석을 수행하며, 유사도 분석을 위한 SSIM은 다음과 같이 산출될 수 있다.
Figure pat00005
A. SSIM의 값 구간: [-1, 1]
i. 높을 수록 비슷하다.
ii. 1에 가까울 수록 비슷하고, -1에 가까울수록 다르다.
2) 프로파일 분석
오토 인코더를 통해 인코딩한 값의 프로파일이 이상징후 프로파일에 속하는지를 판단한다.
유사도 분석을 위해서는 시험 데이터의 ssim 평균값이 높을수록 좋다. 그리고 프로파일 분석의 효율을 높이려면, 오토인코더의 인코딩 차원이 낮을수록 좋다. 예를 들어, 이러한 조건을 만족하는 인코딩 차원을 찾기 위해 [1, 2, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] 차원에 대한 ssim 평균값을 산출하면, 다음 표 4와 같은 결과가 획득된다.
Figure pat00006
위의 표 4의 결과에서, ssim 평균값이 높을수록 좋은 것을 토대로, 가장 높은 값을 가지는 80차원(ssim 평균값이 0.944) 또는 그 다음 높은 값을 가지는 30차원(ssim 평균값이 0.888)이, 프로파일 분석의 효율을 높이기 위한 인코딩 차원으로 선택될 수 있다.
도 3은 본 발명의 실시 예에 따른 오토인코더의 입출력 결과를 비교한 예시도이다.
시험 데이터 20개 프로파일의 오토인코더의 입력 값과 출력 값을 이미지로 변환해서 비교하면 첨부한 도 3과 같다. 오토인코더의 입력(도 3의 상단)과 출력(도 3의 하단)이 비슷한 패턴으로 나타나는 것을 볼 수 있다.
유사도 분석시, 이상징후를 판단하기 위한 임계치(유사도 임계치)는 다음과 같이 설정될 수 있다. 여기서 임계치와 비교되는 유사도는 ssim 유사도인 것을 예로 한다.
유사도 임계치는 다음과 같이 2개의 방법으로 산출될 수 있다.
1) 임계치#1: min + (max - min) * 0.05
유사도 최고값과 유사도 최저값의 차이를 구하고, 구해진 차이 값의 설정 %(예를 들어, 5%)를 유사도 최저값에 더하여 유사도 임계치(임계치#`1)를 산출한다.
예를 들어, min: 0.0202496621272, max: 0.995953474865이라고 가정할 경우, 위의 1)의 방법에 따라, (max - min) * 0.05은 0.975703812738이며, 최종적으로 구해진 임계치#1 min + (max - min) * 0.05은 “0.0690348527641”이다.
2) 임계치#2 : μ - 3*σ
유사도들에 대한 정규 분포를 구하고 중심값(μ)에서 설정값(3*σ)을 빼서 유사도 임계치(임계치#2)를 산출한다.
예를 들어, μ: 0.862824345489, σ: 0.11147123467이라고 가정할 경우, 위의 2)의 방법에 따라 임계치#2μ - 3*σ는 “0.528410641479”이다.
이와 같이 1) 또는 2)의 방법으로 산출된 유사도 임계치와 오토 인코더의 입력 값과 출력 값의 유사도를 비교하여, 유사도 임계치 미만이면 이상징후인 것으로 판단한다.
한편, 프로파일 분석시, 학습 데이터의 인코딩 값을 이용해서 프로파일러(k-means, k=100)를 생성(이상징후 프로파일러 생성)한 후에, 이상징후 임계치 산출을 위해 시험 데이터를 프로파일링해서 프로파일별 빈도수를 산출한다. 그리고 이를 빈도수 오름차순으로 정렬하고, 빈도 발생율이 전체 5% 이하에 속하는 프로파일 번호를 추출한다.
도 4는 본 발명의 실시 예에 따른 학습 데이터와 시험 데이터의 프로파일 빈도수를 나타낸 예시도이다.
도 4에서, train은 학습 데이터의 빈도수를 나타내고, test는 시험 데이터의 빈도수를 나타낸다.
아래와 같이 100개의 시험 데이터를 프로파일링한 결과가 예를 들어, 다음 표 5와 같을 수 있다.
Figure pat00007
시험 데이터를 프로파일링해서 프로파일별 빈도수 즉, 빈도 발생율(sum)을 산출하고 이들을 오름차순으로 정렬하면 예를 들어, 위의 표 5와 같은 결과가 획득될 수 있다. 그리고 이러한 프로파일링 결과에서, 빈도 발생율이 전체 5% 이하에 속하는 프로파일 번호들이 이상징후로 판단된다. 표 5에서, [85, 81, 53, 63, 0, 66, 48, 98, 88, 90, 91, 50, 31, 92, 44, 78] 프로파일 패턴이 전체 발생 패턴의 95%를 나타내며, 이러한 95% 이외의 프로파일은 이상징후로 판단한다.
이후, 위에 기술된 바와 같은 유사도 분석의 결과와 프로파일 분석의 결과를 토대로 최종적으로 네트워크 이상징후를 분석 및 결정한다. 본 발명의 실시 예에서는 유사도 분석의 결과와 프로파일 분석의 결과 중 적어도 하나가 이상징후를 나타내면, 네트워크 이상징후가 발생한 것으로 결정한다.
위에 기술된 바와 같은 유사도 분석 결과와 프로파일 분석 결과가 3가지 타입 즉, A, B, C이 있다고 할 경우, 이러한 A, B, C 타입별로 네트워크 이상징후가 다음 표 6과 같이 판별될 수 있다.
Figure pat00008
위에 기술된 바를 토대로 다음과 같이 이상징후 탐지 방법이 수행된다.
도 5는 본 발명의 실시 예에 따른 이상징후 탐지 방법의 흐름도이다.
구체적으로, 첨부한 도 5에서와 같이, 시계열 분석 이상징후 탐지 모델을 위해서 정해진 설정 시간 단위 동안 수집된 이벤트 데이터에 대해서 시계열 데이터를 생성한다(S100). 실시간으로 수집되는 보안 이벤트, 로그 등의 이벤트 데이터를 패턴 분석 모형의 입력 구조에 맞도록 시계열 데이터로 가공하며, 예를 들어, 최근 N분간 수집되는 데이터를 가공하여 이상징후 탐지 모델 X를 위한 시계열 데이터를 생성한다. 예를 들어, 수집되는 데이터에 대해서 통계 타입별(예를 들어, 센서별, 객체별)로 통계화한다. 통계화된 데이터의 발생 건수 및 발생량의 값의 고점, 저점, 평균, 표준편차 등의 통계 메트릭에 대한 시계열 데이터를 생성한다.
다음, 생성된 시계열 데이터를 학습하여 시계열 분석 기법을 활용한 이상징후 탐지 머신러닝 모델 즉, 시계열 모델을 생성한다(S110). 구체적으로, 시계열 데이터를 학습시켜 딥러닝 기반 오토 인코더를 이용하여 학습하여 네트워크 정상, 비정상 상황을 학습하도록 하여 오토 인코더 기반 모델(시계열 모델)을 생성한다. 이에 따라, 도 3에서와 같이, 시계열 모델을 기반으로 시계열 데이터의 추이를 분석하여 이상징후를 탐지한다.
먼저, 시계열 모델 기반으로 유사도 분석을 수행한다(S120). 유사도 기반 분석은 네트워크 정상, 비정상 상황을 학습한 시계열 모델 즉, 오토 인코더 기반 모델을 이용해서 유사도를 분석한다. 구체적으로, 오토 인코더 기반 모델로 입력되는 입력 데이터와 오토 인코더 기반 모델에 따라 학습되어 출력되는 출력 데이터의 유사도를 분석한다. 현재 입력되는 데이터가 이전에 학습된 출력 데이터가 비슷하면 유사도 지표가 정상 구간(예, -3σ ~ 3σ)에 속하며, 그러나 입력되는 데이터가 이전에 보지 못한 패턴인 경우 비정상 구간에 속하는 것으로 판별될 수 있다. 이를 위해, 유사도 지표가 설정된 유사도 임계치 미만인 경우 이상징후인 것으로 판단하여 대응하는 값(참(true))을 출력하고, 유사도 지표가 설정된 유사도 임계치보다 큰 경우에는 이상징후가 아닌 것으로 판단하여 대응하는 값(거짓(false))을 출력한다.
다음에는 오토 인코더 기반 모델을 기반으로 프로파일 분석을 수행한다(S130). 오토 인코더 기반 모델의 오토인코더로 인코딩한 데이터를 설정 알고리즘(예를 들어, k-평균 알고리즘)으로 클러스터링하여 정상 프로파일인지 비정상 프로파일인지를 판별한다. 프로파일 분석에 따라 인코딩 데이터가 클러스터링된 프로파일의 프로파일 번호가 추출되고, 추출된 프로파일 번호가 이상징후에 속하는지에 따라 대응하는 값(이상징후에 속하는 경우에는 참(true), 이상징후에 속하지 않는 경우에는 거짓(false))을 출력한다.
이후, 시계열 데이터에 대한 딥러닝 기반의 오토인코더를 이용한 유사도 분석 결과와 오토인코더의 인코딩 데이터를 이용한 프로파일 분석 결과를 토대로 네트워크 이상징후 여부를 최종적으로 결정한다(S140). 유사도 분석 결과와 프로파일 분석 결과 중 적어도 하나가 이상징후를 나타내면 네트워크 이상징후가 발생한 것으로 결정한다.
다음에, 이상징후 탐지 결과를 출력한다(S150). 예를 들어, 설정 파일에 미리 설정되어 있는 대상의 이메일 주소로 이상징후 발생을 나타내는 알림을 송신한다. 그러나 본 발명에서 탐지 결과를 출력하는 방식은 이러한 이메일 발송에 한정되지 않으며, 다양한 형태의 출력 방식(네트워크를 통한 다른 단말로의 파일 송신 등)을 포함할 수 있다.
도 6은 본 발명의 다른 실시 예에 따른 네트워크 이상징후 탐지 장치의 구조를 나타낸 도이다.
도 6을 참조하면, 네트워크 이상징후 탐지 장치(200)는 적어도 하나의 프로세서(210), 메모리(220) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(230)를 포함할 수 있다. 또한, 통신 노드(200)는 입력 인터페이스 장치(240), 출력 인터페이스 장치(250), 저장 장치(260) 등을 더 포함할 수 있다. 각각의 구성 요소들은 버스(bus)(270)에 의해 연결되어 서로 통신을 수행할 수 있다. 또한, 각각의 구성요소들은 공통 버스(270)가 아니라, 프로세서(210)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다. 예를 들어, 프로세서(210)는 메모리(220), 송수신 장치(230), 입력 인터페이스 장치(240), 출력 인터페이스 장치(250) 및 저장 장치(260) 중에서 적어도 하나와 전용 인터페이스를 통하여 연결될 수도 있다.
프로세서(210)는 메모리(220) 및 저장 장치(260) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(210)는 중앙 처리 장치(central processing unit, CPU) 또는 본 발명의 실시 예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 이러한 프로세서(210)는 위의 도 1 내지 도 5를 토대로 설명한 방법에서 대응하는 기능을 구현하도록 구성될 수 있다. 예를 들어, 프로세서(210)는 시계열 데이터 생성기, 비정상 패턴 탐지기, 유사도 분석기, 이상징후 유사도 필터, 프로파일러, 이상징후 프로파일 필터, 이상징후 결정기, 로거, 이상징후 알림기의 기능을 수행하도록 구성될 수 있다.
메모리(220) 및 저장 장치(260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다. 메모리(220)/저장 장치(260)는 프로세서(210)의 내부 또는 외부에 위치할 수 있고, 이미 알려진 다양한 수단을 통해 프로세서(210)와 연결될 수 있다.
송수신 장치(230)는 네트워크를 통해 수집되는 데이터를 수신하여 프로세서(210)로 전달하도록 구성될 수 있다. 또는 송수신 장치(230)는 프로세서(210)의 탐지 결과를 네트워크를 통해 외부의 장치로 송신하도록 구성될 수 있다.
또한, 입력 인터페이스 장치(240)가 네트워크를 통해 수집되어 저장되었던 데이터를 기록 매체로부터 제공받아 프로세서(210)로 전달하도록 구성될 수도 있다.
이러한 송수신 장치(230)와 입력 인터페이스 장치(240) 그리고 출력 인터페이스 장치(250)를 통합하여 인터페이스 장치라고도 명명할 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (18)

  1. 탐지 장치가, 네트워크 이상징후를 탐지하는 방법으로서,
    상기 탐지 장치가, 네트워크를 통해 수집되는 데이터로부터 시계열 데이터를 생성하는 단계;
    상기 탐지 장치가, 상기 시계열 데이터를 미리 생성된 오토 인코더 기반 학습 모델에 입력 데이터로 입력시켜, 상기 입력 데이터에 대응하는 출력 데이터와 인코딩 데이터를 획득하는 단계;
    상기 입력 데이터와 상기 출력 데이터를 이용한 유사도 분석을 수행하는 단계;
    상기 인코딩 데이터를 이용한 프로파일 분석을 수행하는 단계; 및
    상기 유사도 분석 결과와 상기 프로파일 분석 결과를 이용하여 상기 네트워크 상의 이상징후 여부를 판단하는 단계
    를 포함하는 탐지 방법.
  2. 제1항에 있어서,
    상기 이상징후 여부를 판단하는 단계는
    상기 유사도 분석 결과와 상기 프로파일 분석 결과 중 적어도 하나가 이상징후를 나타내는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단하는, 탐지 방법.
  3. 제1항에 있어서,
    네트워크를 통해 수집되는 데이터로부터 상기 오토 인코더 기반 학습 모델을 생성하는 단계
    를 더 포함하고,
    상기 오토 인코더 기반 학습 모델을 생성하는 단계는,
    상기 수집되는 데이터로부터 추출되는 기본 특성을 이용하여 상기 수집되는 데이터를 설정된 시간 슬라이딩 윈도우 크기에 따라 취합하여 학습 데이터를 생성하는 단계; 및
    상기 학습 데이터를 이용하여 오토 인코더를 이용한 탐지 모델을 학습하여 상기 오토 인코더 기반 학습 모델을 획득하는 단계
    를 포함하는, 탐지 방법.
  4. 제3항에 있어서,
    상기 수집되는 데이터는 보안 이벤트와 로그에 관련된 데이터이며,
    상기 기본 특성에 관련된 데이터는 상기 수집되는 데이터에 관련된, 발생시간, 요일, 시간, 이벤트 발생수, 공격 ip 개수, 공격당한 ip 개수, 공격 포트 개수, 공격당한 포트 개수, 프로토콜 종류의 개수, 공격 종류별 개수를 포함하는, 탐지 방법.
  5. 제1항에 있어서,
    상기 유사도 분석을 수행하는 단계는,
    상기 입력 데이터와 상기 출력 데이터의 유사도를 산출하는 단계; 및
    상기 산출된 유사도가 미리 설정된 유사도 임계치 미만이면 이상징후가 발생한 것으로 판단하는 단계
    를 포함하는, 탐지 방법.
  6. 제5항에 있어서,
    상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도 중에서 최고 값의 유사도와 최저 값의 유사도 사이의 차이를 획득하고, 상기 획득된 차이의 설정 퍼센트에 대응하는 값을 상기 유사도 최저값에 더하는 것에 의해 획득되는, 탐지 방법.
  7. 제5항에 있어서,
    상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도에 대한 정규 분포를 구하고, 상기 정규 분포의 중심값에서 설정값을 감산하는 것에 의해 획득되는, 탐지 방법.
  8. 제1항에 있어서,
    상기 프로파일 분석을 수행하는 단계는,
    학습 데이터를 상기 오토 인코더 기반 학습 모델을 통해 인코딩한 값을 기반으로 생성된 프로파일러를 이용하여, 상기 인코딩 데이터를 프로파일링하는 단계;
    상기 프로파일링하여 획득된 프로파일별 빈도수를 기반으로 프로파일 번호를 추출하는 단계; 및
    상기 추출된 프로파일 번호가 이상징후에 속하는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단하는 단계
    를 포함하는, 탐지 방법.
  9. 제1항에 있어서,
    상기 이상징후 여부를 판단하는 단계 이후에
    상기 네트워크 상의 이상징후 여부를 판단한 탐지 결과를 저장소에 저장하는 단계
    를 더 포함하고,
    상기 탐지 결과는 타임스탬프, 이상징후 유무, 프로파일 분석 결과에 따른 이상징후 유무, 프로파일 번호, 유사도 분석 결과에 따른 유사도 이상징후 유무, 유사도 분석에 사용된 유사도, 유사도 분석에 사용된 유사도 임계치를 포함하는, 탐지 방법.
  10. 네트워크 이상징후를 탐지하는 장치로서,
    네트워크를 통해 수집되는 데이터를 제공받도록 구성된 인터페이스 장치; 및
    상기 인터페이스 장치를 통해 전달되는 데이터를 기반으로 네트워크 이상징후를 탐지하도록 구성된 프로세서
    를 포함하고,
    상기 프로세서는,
    상기 인터페이스 장치를 통해 전달되는 데이터로부터 시계열 데이터를 생성하도록 구성된 시계열 데이터 생성기;
    상기 시계열 데이터를 입력 데이터로 하여, 미리 생성된 오토 인코더 기반 학습 모델에 기반하여 상기 입력 데이터에 대응하는 출력 데이터와 인코딩 데이터를 출력하도록 구성된 비정상 패턴 탐지기;
    상기 입력 데이터와 상기 출력 데이터의 유사도를 획득하도록 구성된 유사도 분석기;
    상기 유사도를 이용하여 이상징후 여부를 판단하도록 구성된 이상징후 유사도 필터;
    상기 인코딩 데이터에 대한 프로파일링을 수행하도록 구성된 프로파일러;
    상기 프로파일링 결과를 이용하여 이상징후 여부를 판단하도록 구성된 이상징후 프로파일 필터; 및
    상기 이상징후 유사도 필터의 판단 결과와 상기 이상징후 프로파일 필터의 판단 결과를 이용하여 상기 네트워크 상의 이상징후 여부를 판단하도록 구성된 이상징후 결정기
    를 포함하는, 탐지 장치.
  11. 제10항에 있어서,
    상기 이상징후 결정기는
    상기 유사도 분석 결과와 상기 프로파일 분석 결과 중 적어도 하나가 이상징후를 나타내는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단하도록 구성되는, 탐지 장치.
  12. 제10항에 있어서,
    상기 이상징후 유사도 필터는 상기 유사도 분석기에 의해 획득된 유사도가 미리 설정된 유사도 임계치 미만이면 이상징후가 발생한 것으로 판단하도록 구성되는, 탐지 장치.
  13. 제12항에 있어서,
    상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도 중에서 최고 값의 유사도와 최저 값의 유사도 사이의 차이를 획득하고, 상기 획득된 차이의 설정 퍼센트에 대응하는 값을 상기 유사도 최저값에 더하는 것에 의해 획득되는, 탐지 장치.
  14. 제12항에 있어서,
    상기 유사도 임계치는, 학습 데이터를 토대로 생성된 복수의 유사도에 대한 정규 분포를 구하고, 상기 정규 분포의 중심값에서 설정값을 감산하는 것에 의해 획득되는, 탐지 장치.
  15. 제10항에 있어서,
    상기 이상징후 프로파일 필터는, 상기 프로파일에 의한 프로파일링에 따라 획득된 프로파일별 빈도수를 기반으로 프로파일 번호를 추출하고, 상기 추출된 프로파일 번호가 이상징후에 속하는 경우 상기 네트워크에 이상징후가 발생한 것으로 판단하도록 구성되는, 탐지 장치.
  16. 제10항에 있어서,
    상기 프로세서는,
    상기 이상징후 결정기의 네트워크 상의 이상징후 여부를 판단한 탐지 결과를 저장소에 저장하도록 구성된 로거(logger)
    를 더 포함하도록 구성되며,
    상기 탐지 결과는 타임스탬프, 이상징후 유무, 프로파일 분석 결과에 따른 이상징후 유무, 프로파일 번호, 유사도 분석 결과에 따른 유사도 이상징후 유무, 유사도 분석에 사용된 유사도, 유사도 분석에 사용된 유사도 임계치를 포함하는, 탐지 장치.
  17. 제10항에 있어서,
    상기 프로세서는,
    상기 이상징후 결정기의 네트워크 상의 이상징후 여부를 판단한 탐지 결과를 설정 파일에 저장된 대상으로 통보하도록 구성된 이상징후 알림기
    를 더 포함하도록 구성되는, 탐지 장치.
  18. 제10항에 있어서,
    상기 오토 인코더 기반 학습 모델은 네트워클 통해 수집되는 데이터로부터 추출되는 기본 특성을 이용하여 획득된 학습 데이터를 기반으로 한 탐지 모델 학습에 의하여 생성되며,
    상기 수집되는 데이터는 보안 이벤트와 로그에 관련된 데이터이고,
    상기 기본 특성에 관련된 데이터는 상기 수집되는 데이터에 관련된, 발생시간, 요일, 시간, 이벤트 발생수, 공격 ip 개수, 공격당한 ip 개수, 공격 포트 개수, 공격당한 포트 개수, 프로토콜 종류의 개수, 공격 종류별 개수를 포함하는, 탐지 장치.





KR1020200032547A 2020-03-17 2020-03-17 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치 KR20210115991A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200032547A KR20210115991A (ko) 2020-03-17 2020-03-17 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200032547A KR20210115991A (ko) 2020-03-17 2020-03-17 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210115991A true KR20210115991A (ko) 2021-09-27

Family

ID=77925781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200032547A KR20210115991A (ko) 2020-03-17 2020-03-17 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20210115991A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865751A (zh) * 2022-11-25 2023-03-28 南方电网数字平台科技(广东)有限公司 基于多态数据的故障检测方法及装置
KR20230072253A (ko) * 2021-11-17 2023-05-24 상명대학교산학협력단 딥러닝을 적용한 출입문 출입관리 시스템
KR20230119309A (ko) * 2022-02-07 2023-08-16 상명대학교산학협력단 유저별 ai 가변 임계값을 활용한 이상징후 탐지방법.
KR20230119312A (ko) * 2022-02-07 2023-08-16 상명대학교산학협력단 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법
CN116933016A (zh) * 2023-09-19 2023-10-24 交通运输部公路科学研究所 基于车路协同的自动驾驶信息安全测试方法及系统
KR102614798B1 (ko) 2022-12-29 2023-12-15 전남대학교산학협력단 시계열 기반 전력 데이터의 이상 탐지 방법 및 이를 위한 장치
KR20240078202A (ko) 2022-11-25 2024-06-03 한전케이디엔주식회사 네트워크 공격 정오탐 판별 장치 및 그 방법

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230072253A (ko) * 2021-11-17 2023-05-24 상명대학교산학협력단 딥러닝을 적용한 출입문 출입관리 시스템
KR20230119309A (ko) * 2022-02-07 2023-08-16 상명대학교산학협력단 유저별 ai 가변 임계값을 활용한 이상징후 탐지방법.
KR20230119312A (ko) * 2022-02-07 2023-08-16 상명대학교산학협력단 로그인 진행시 발생하는 텍스트를 활용하여 로그인시 발생되는 이상징후 탐지방법
CN115865751A (zh) * 2022-11-25 2023-03-28 南方电网数字平台科技(广东)有限公司 基于多态数据的故障检测方法及装置
CN115865751B (zh) * 2022-11-25 2024-05-14 南方电网数字平台科技(广东)有限公司 基于多态数据的故障检测方法及装置
KR20240078202A (ko) 2022-11-25 2024-06-03 한전케이디엔주식회사 네트워크 공격 정오탐 판별 장치 및 그 방법
KR102614798B1 (ko) 2022-12-29 2023-12-15 전남대학교산학협력단 시계열 기반 전력 데이터의 이상 탐지 방법 및 이를 위한 장치
CN116933016A (zh) * 2023-09-19 2023-10-24 交通运输部公路科学研究所 基于车路协同的自动驾驶信息安全测试方法及系统
CN116933016B (zh) * 2023-09-19 2023-11-24 交通运输部公路科学研究所 基于车路协同的自动驾驶信息安全测试方法及系统

Similar Documents

Publication Publication Date Title
KR20210115991A (ko) 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치
CN107241226B (zh) 基于工控私有协议的模糊测试方法
CN110011999B (zh) 基于深度学习的IPv6网络DDoS攻击检测系统及方法
CN111614627B (zh) 一种面向sdn的跨平面协作ddos检测与防御方法与系统
CN110336827B (zh) 一种基于异常字段定位的Modbus TCP协议模糊测试方法
CN111541661A (zh) 基于因果知识的电力信息网络攻击场景重构方法及系统
KR101375813B1 (ko) 디지털 변전소의 실시간 보안감사 및 이상징후 탐지를 위한 능동형 보안 센싱 장치 및 방법
Zhe et al. DoS attack detection model of smart grid based on machine learning method
CN109150859B (zh) 一种基于网络流量流向相似性的僵尸网络检测方法
Amoli et al. Unsupervised network intrusion detection systems for zero-day fast-spreading attacks and botnets
CN114143037B (zh) 一种基于进程行为分析的恶意加密信道检测方法
CN108632269A (zh) 基于c4.5决策树算法的分布式拒绝服务攻击检测方法
CN113420802B (zh) 基于改进谱聚类的报警数据融合方法
CN113206834B (zh) 一种基于逆向技术的未知协议模糊测试自动化方法
CN117113262B (zh) 网络流量识别方法及其系统
CN104899513A (zh) 一种工业控制系统恶意数据攻击的数据图检测方法
CN110768946A (zh) 一种基于布隆过滤器的工控网络入侵检测系统及方法
KR102500033B1 (ko) 산업제어시스템의 이상징후를 감지하는 방법 및 장치
CN117220920A (zh) 基于人工智能的防火墙策略管理方法
CN113705714A (zh) 基于行为序列的配电物联网设备异常行为检测方法及装置
CN116032526A (zh) 一种基于机器学习模型优化的异常网络流量检测方法
Wang et al. Abnormal traffic detection system in SDN based on deep learning hybrid models
CN110650124A (zh) 一种基于多层回声状态网络的网络流量异常检测方法
CN116527307A (zh) 一种基于社区发现的僵尸网络检测算法
Sapozhnikova et al. Intrusion detection system based on data mining technics for industrial networks