KR20040012285A - 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템및 방법 - Google Patents

은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템및 방법 Download PDF

Info

Publication number
KR20040012285A
KR20040012285A KR1020020045791A KR20020045791A KR20040012285A KR 20040012285 A KR20040012285 A KR 20040012285A KR 1020020045791 A KR1020020045791 A KR 1020020045791A KR 20020045791 A KR20020045791 A KR 20020045791A KR 20040012285 A KR20040012285 A KR 20040012285A
Authority
KR
South Korea
Prior art keywords
hmm
learning
model
bsm
module
Prior art date
Application number
KR1020020045791A
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 KR1020020045791A priority Critical patent/KR20040012285A/ko
Publication of KR20040012285A publication Critical patent/KR20040012285A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템 및 방법에 관한 것으로, 특히 은닉 마르코프 모델(HMM:Hidden Markov Model)을 이용하여 탐지의 정확성, 실시간성 및 학습방법의 편리성을 제공하도록 한 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템 및 방법에 관한 것이다.
본 발명은 HMM 모델로 풀 매트릭스(Full Matrix)를 사용하고 민감도를 낮추며 SOM(Self-Organizing Map)를 중요 디렉토리와 파일로 구분하여 폴스 포지티브(False-Positive)를 줄임으로써, 탐지의 정확성을 제공할 수 있고, BSM(Basic Security Module) 축약에서 중요한 시스템 호출만 감시대상으로 하는 시스템 호출 필터링 기능을 추가하여 시스템 호출 처리 시간을 감소시킴으로써, 실시간성을 제공할 수 있으며, 사용자 ID별 학습 데이터 생성 및 학습결과를 저장하고, 학습 단계별로 학습결과를 저장하여 사용자 학습 데이터를 파일과 사용자 ID로 구분하여 생성하고 학습이 필요한 사용자만 학습시킴으로써, 학습시간을 단축시키고 비정상행위가 학습되는 현상을 막음으로써, 학습방법의 편리성을 제공할 수 있다.

Description

은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템 및 방법{System And Method For Detecting Intrusion Using Hidden Markov Model}
본 발명은 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템 및 방법에 관한 것으로, 특히 은닉 마르코프 모델(HMM:Hidden Markov Model)을 이용하여 탐지의 정확성, 실시간성 및 학습방법의 편리성을 제공하도록 한 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템 및 방법에 관한 것이다.
최근, 급속한 정보통신 기반구조의 확산에 힘입어 컴퓨터를 이용한 정보처리에 새로운 장이 열리고 있으며, 그와 더불어 정보보안에 대한 문제가 심각하게 대두되고 있다. 외국뿐만 아니라 국내에서도 네트워크를 통한 침입의 횟수가 급격히 늘어나는 추세인데, 특히 금융망이나 국방망, 전력망 등에 침입하는 사례가 늘고 있어, 불법적인 침입을 사전에 탐지하여 국가의 중요 정보통신 기반에 가해지는 피해를 차단할 필요가 있다.
한편, 침입탐지 시스템(IDS:Intrusion Detecting System)은 불법적인 사용이나 오용, 남용 등에 의한 침입을 알아내는 것으로, 단일 컴퓨터는 물론이고 네트워크로 연결된 여러 컴퓨터를 감독할 수 있으며, 기본적으로 감사기록, 시스템 테이블, 네트워크 부하기록 등의 자료로부터 사용자의 행위에 대한 정보를 분석하는 작업을 한다. 또한, 상기 침입탐지 시스템에 적용되는 침입탐지 방법을 공격행위의 정보를 이용하는지 정상행위의 정보를 이용하는지에 따라서 오용행위 탐지 방법과 비정상행위 탐지 방법으로 나눌 수 있다.
여기서, 상기 비정상행위 탐지 방법은 모델링된 정상행위에서 벗어나는 행동은 공격행위로 간주하기 때문에 공격행위를 정상행위로 간주하는 오류(False-Negative Error)가 적으나 정상행위 모델링을 위해서 다량의 데이터를 분석해야하므로 구현비용이 높고, 학습되지 않은 정상행위는 비정상행위로 간주되므로 정상행위가 공격행위로 간주되는 오류(False-Positive Error)가 많다. 이러한 비정상행위 탐지를 위해서는 참조되는 정상행위 모델과 모델링 방법 그리고 현재 행위가 정상행위에서 벗어낫는지 여부를 알아내기 위한 추론 방법이 있어야 한다.
이하, 도 1을 참조하여 종래의 HMM을 이용한 비정상행위 침입탐지 시스템을설명한다.
도 1은 종래의 HMM을 이용한 비정상행위 침입탐지 시스템을 나타낸 도면이다.
순서적 이벤트의 정상행위 모델링을 이용한 추론방법을 사용하는 종래의 HMM을 이용한 비정상행위 침입탐지 시스템은 감사기록부(10), 전처리 모듈(20), 프로파일(Profile) 저장부(30) 및 비정상행위 판정 모듈(40)로 이루어지는데, 상기 감사기록부(10)는 네트워크 패킷형태로 감사기록 데이터를 전송하고, 상기 전처리 모듈(20)은 테이터 필터링부(21)와 테이터 축약부(22)를 구비하여 데이터 필터링과 테이터 축약을 담당하고, 상기 비정상행위 판정 모듈(40)은 정상행위 모델링부(41)와 추론 및 판정부(42)를 구비하여 정상행위 모델링과 추론 및 정상행위 여부 판정을 담당하며, 상기 프로파일 저장부(30)는 모델학습을 통해 구축된 정상행위의 프로파일 데이터베이스를 저장한다.
이하, 도 2를 참조하여 종래의 HMM을 이용한 비정상행위 침입탐지 방법을 설명한다.
도 2는 종래의 HMM을 이용한 비정상행위 침입탐지 방법을 나타낸 순서도이다.
먼저, 순서적으로 생성되는 이벤트ID에 대해 일정 크기의 윈도우를 옆으로 이동시켜가면서 윈도우 크기 만한 정상행위열로 추출하는 전처리 과정이 수행된다(S201).
이에, 상기 추출된 정상행위열을 기반으로 HMM의 매개변수를 결정하는 정상행위 모델링 과정이 수행된다(S202).
그리고, 이미 구축되어 있는 정상행위별 HMM에 사용자행위열을 입력으로 넣어 각 정상행위에서 현재 행위가 생성되었을 확률을 계산하는 정상행위 평가 과정이 수행된다(S203).
그런 후, 상기 정상행위 평가에 의해 수치화된 평가값을 임계값과 비교하는 비정상행위 판정 과정이 수행된다(S204).
이하, 도 3을 참조하여 상기 전처리 과정을 설명한다.
도 3은 도 2에 있어, 전처리 과정에서 사용한 축약된 이벤트ID를 나타낸 도면이다.
이벤트열 정보원으로는 BSM(Basic Security Module)을 통해 획득한 감사자료 중 이벤트ID를 사용한다. 이벤트ID는 주로 시스템 호출로 구성된 커널수준 이벤트ID와 응용프로그램 수행시 발생하는 응용프로그램수준 이벤트ID로 구성되어 있다. 모든 이벤트ID가 다 사용되지 않으므로 도 3에 도시된 바와 같이 통계적으로 빈도가 높은 49개의 이벤트에 대해 0부터 48번까지의 번호를 부여하고 그 밖의 이벤트는 49번을 부여하여 총 50개의 축약된 이벤트ID를 사용한다. 일정 크기의 윈도우를 옆으로 이동시켜가면서 순서적으로 생성되는 이벤트ID를 윈도우 크기 만한 열로 추출한다.
이하, 도 4 및 도 5를 참조하여 상기 정상행위 모델링 과정 및 정상행위 평가 과정을 설명한다.
도 4는 도 2에 있어, 정상행위 모델링 과정 및 정상행위 평가 과정에서 사용한 우향모델 HMM의 일예를 나타낸 도면이고, 도 5는 도 2에 있어, HMM을 이용한 정상행위 모델링 과정과 정상행위 평가과정의 시나리오를 나타낸 도면이다.
HMM은 실제적인 생성모델을 알 수 없고 단지 생성된 관찰열에 의해서만 확률적으로 관찰할 수 있는 이중으로 확률적인 절차로서, 순서정보를 모델링하기에 유용한 도구이다. 이 모델은 상태라고 불리는 N개의 노드와 상태간의 전이를 표현하는 가지(Edge)로 구성된 그래프로 볼 수 있다. 각 상태노드에는 초기상태 분포와 해당 상태에서 M개의 관찰 가능한 심볼 중 특정 심볼을 관찰할 확률분포가 저장되어 있으며, 각 가지에는 한 상태에서 다른 상태로 전이할 상태전이 확률분포가 저장되어 있다. 도 4는 상태수가 3인 우향모델(Left-To-Right) HMM의 일예를 보여주고 있다.
O=O 1 ,O 2 ,...,O T 라는 입력열이 주어지면 HMM은 비록 외부에서 그 상태전이 과정을 직접적으로 알 수는 없어도 자체의 확률 매개변수를 이용하여 이를 마르코프 과정의 확률함수로 모델링할 수 있다. 또한, 일단 모델링 과정을 통해 모델이 구축되면 임의의 입력열이 모델로부터 생성되었을 확률을 계산할 수 있다. HMM은 다음과 같은 매개변수λ= (A,B,π)로 표현된다. 여기서, 상기A,B,π의미는 다음과 같다.
상태전이 확률분포A={a ij } : 상태S i 에서 상태S j 로 이동할 확률
관찰심볼 확률분포B={b j (k)} : 상태S j 에서 상태v k 를 관찰할 확률
초기 상태 분포π={π i } : 초기 상태가S i 가 될 확률
종래의 HMM을 이용한 비정상행위 침입탐지 시스템에서 발생되는 각 이벤트를 HMM의 관찰심볼로 사용하며, 시스템의 이벤트 발생기저는 일반적으로 알 수 없으므로 HMM의 상태는 상태수만을 정의하고 각 상태에 대해서 의미를 부여하지는 않는다. 시스템에서 발생되는 이벤트열은 고정길이T로 샘플링되어 HMM의 입력열이 되며, 정상행위 모델링 과정과 정상행위 평가 과정은 HMM의 관찰열 확률 계산과 모델학습 문제와 대응된다. HMM을 이용한 침입탐지는 도 5에 도시된 바와 같은 정상행위 모델링 과정과 정상행위 평가 과정을 통해 수행된다.
즉, 상기 정상행위 모델링 과정은 상기 전처리 과정에서 생성된 정상행위열을 기반으로 HMM의 매개변수를 결정하는 과정이다. 상기 HMM의 매개변수 결정은 주어진 관찰열O가 해당 모델λ로부터 나왔을 확률인 Pr(O|λ)값이 최대가 되도록λ=(A,B,π)를 조정하는 것이다. 이를 계산하는 해석적인 방법은 알려져있지 않고 반복적으로λ를 결정하는 방법으로 Baum-Welch의 재추정식이 있다.
그리고, 상기 정상행위 평가 과정은 이미 구축되어 있는 정상행위별 HMM에 사용자행위열을 입력으로 넣어 각 정상행위에서 현재 행위가 생성되었을 확률을 계산한다. 예를 들어 도 4와 같이 구축된 모델에 입력열로'abc'가 관찰되었고, 초기 상태는 항상 상태 1에서 시작된다고 하자. 입력열이 상태 1, 상태 2, 상태 3을 거쳐서 발생했을 확률은 초기상태를 상태 1에서 시작하여 상태 1에서 심볼'a'를 관찰한 후, 상태 1에서 상태 2로 전이한 후 상태 2에서 심볼'b'를 관찰하고, 상태 2에서 상태 3으로 전이한 후 상태 3에서 심볼'a'를 관찰할 확률을 곱하면 다음과 같이 계산된다.
Pr(O='abc',Q=S 1 S 2 S 3 λ)
= π 1 ·b 1 ('a')·a 12 ·b 2 ('b')·a 23 ·b 3 ('a')
= 1·1/2·1/3·1/2·1
= 1/24
상기'abc'가 어떤 상태를 거쳐서 발생했는지 모르므로 모든 가능한 상태전이에 대해서 확률을 구한 후 더해주면 해당 모델에서 관찰열'abc'가 발생한 확률을 구할 수 있다. 실제에서는 더 효율적인 전방향-역방향 절차(forward-backward procedure)를 사용할 수 있다.
이하, 도 6를 참조하여 상기 비정상행위 판정 과정을 설명한다.
도 6은 도 2에 있어, 비정상행위 판정 과정의 시나리오를 나타낸 도면이다.
상기 정상행위 평가 과정에 의해 수치화된 평가값은 현재 행위가 기준이 되는 모델, 즉 정상행위로부터 생성되었는지를 나타내는 확률값으로 다른 평가값과의 산술적인 직접비교가 가능하다. 따라서 정상행위로 볼 수 있는 가장 낮은 임계값을 결정하고, 현재 행위의 평가값을 상기 결정된 임계값과 산술비교하여 더 작으면 현재 행위를 비정상행위로 판정하며 침입으로 간주하고, 반면에 더 크면 현재 행위를 정상행위로 판정한다.
도 6은 이벤트ID열이 전처리 과정에 의해 축약되고 고정길이로 샘플링되어 HMM에 의해 정상행위 평가값으로 계산된 후 정상행위 임계값과 비교하여 비정상행위인지를 판정하는 과정을 나타낸다.
그런데, 종래의 HMM을 이용한 비정상행위 침입탐지 시스템에서는 다음과 같은 문제점이 있었다.
먼저, HMM 모델이 계산 시간을 줄이기 위해 다이에고널 매트릭스(Diagonal Matrix)를 사용했지만, 학습된 후의 값이 비슷하고 정상행위와 비정상행위를 차별화시키는 값의 범위가 좁아서 정확한 탐지결과를 낼 수 없었고, 민감도를 높게 하였을 경우 갑작스러운 비정상행위 값이 생성되는 경우가 많이 나타났는데, 이렇게 나타나는 값은 실제로 비정상행위가 아닌 경우, 즉 정상행위를 비정상행위로 간주하는 폴스 포지티브(False-Positive)가 많이 발생하였고, 이렇게 발생한 비정상행위 알람은 탐지결과 파일의 크기를 증가시킬 뿐만 아니라 관리자에게 알람의 경각심을 감소시키는 결과를 낳아 탐지의 정확성을 제공하지 못하는 문제점이 있었다.
그리고, 모든 시스템 호출을 감시대상으로 하였으므로 시스템 호출 처리 시간이 증가하여 실시간성을 제공하지 못하는 문제점이 있었다.
또한, 학습시간이 오래 걸리고 비정상행위가 학습되어 학습방법의 편리성을 제공하지 못하는 문제점이 있었다.
상술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 HMM 모델로 풀 매트릭스(Full Matrix)를 사용하고 민감도를 낮추며 SOM(Self-Organizing Map)를 중요 디렉토리와 파일로 구분하여 폴스 포지티브(False-Positive)를 줄임으로써, 탐지의 정확성을 제공하는데 있다.
본 발명의 다른 목적은 BSM(Basic Security Module) 축약에서 중요한 시스템 호출만 감시대상으로 하는 시스템 호출 필터링 기능을 추가하여 시스템 호출 처리 시간을 감소시킴으로써, 실시간성을 제공하는데 있다.
본 발명의 또 다른 목적은 사용자 ID별 학습 데이터 생성 및 학습결과를 저장하고, 학습 단계별로 학습결과를 저장하여 사용자 학습 데이터를 파일과 사용자 ID로 구분하여 생성하고 학습이 필요한 사용자만 학습시킴으로써, 학습시간을 단축시키고 비정상행위가 학습되는 현상을 막음으로써, 학습방법의 편리성을 제공하는데 있다.
도 1은 종래의 HMM을 이용한 비정상행위 침입탐지 시스템을 나타낸 도면.
도 2는 종래의 HMM을 이용한 비정상행위 침입탐지 방법을 나타낸 순서도.
도 3은 도 2에 있어, 전처리 과정에서 사용한 축약된 이벤트ID를 나타낸 도면
도 4는 도 2에 있어, 정상행위 모델링 과정 및 정상행위 평가 과정에서 사용한 우향모델 HMM의 일예를 나타낸 도면.
도 5는 도 2에 있어, HMM을 이용한 정상행위 모델링 과정과 정상행위 평가 과정의 시나리오를 나타낸 도면.
도 6은 도 2에 있어, 비정상행위 판정 과정의 시나리오를 나타낸 도면.
도 7은 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템을 나타낸 도면.
도 8은 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 방법을 나타낸 순서도.
도 9는 도 7에 있어, BSM 축약 모듈을 나타낸 도면.
도 10은 도 8에 있어, BSM 축약 과정의 시나리오를 나타낸 도면.
도 11은 중요 파일과 디렉토리에 대한 정보 맵을 나타낸 도면.
도 12는 축약된 시스템 호출 목록을 나타낸 도면.
도 13은 사용되는 정보들을 나타낸 도면.
도 14는 도 7에 있어, SOM 학습 모듈을 나타낸 도면.
도 15는 도 8에 있어, SOM 학습 과정을 나타낸 순서도.
도 16a는 시스템 호출 관련 SOM 가중치 값을 나타낸 그래프.
도 16b는 파일 시스템 관련 SOM 가중치 값을 나타낸 그래프.
도 16c는 시스템 호출과 파일 시스템을 종합한 SOM 가중치 값을 나타낸 그래프.
도 17은 도 8에 있어, HMM 학습 과정의 시나리오를 나타낸 도면.
도 18은 HMM 모델 형태를 나타낸 도면.
도 19는 HMM 모델의 정상행위 모델링 시나리오를 나타낸 도면.
도 20은 도 8에 있어, HMM 학습 과정을 나타낸 순서도
도 21은 도 20에 있어, 전방향 절차를 나타낸 도면.
도 22는 도 20에 있어, 역방향 절차를 나타낸 도면.
도 23a는 본 발명의 실시예에 따른 루트에 대한 HMM 학습을 수행한 결과 생성된 모델값 A의 일예를 나타낸 도면.
도 23b는 본 발명의 실시예에 따른 루트에 대한 HMM 학습을 수행한 결과 생성된 모델값 B의 일예를 나타낸 도면.
도 24는 도 8에 있어, HMM 판정 과정의 시나리오를 나타낸 도면.
도 25는 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템에 적용되는 HMM 프로그램을 McCabe에서 분석한 결과를 나타내 그래프.
* 도면의 주요 부분에 대한 부호의 설명 *
100 : 감사기록 모듈 200 : BSM 축약 모듈
210 : 정보 수집부 220 : 정보 축약부
300 : SOM 학습 모듈 310 : 입력 계층부
320 : 은닉 계층부 330 : 출력 계층부
400 : HMM 학습 모듈 500 : HMM 판정 모듈
상술한 바와 같은 목적을 해결하기 위하여, 본 발명의 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템은 시스템 호출 로그를 생성하는 감사기록 모듈과; 상기 생성된 시스템 호출 로그를 축약하는 BSM 축약 모듈과; 상기 축약된 로그 데이터를 정형화된 데이터로 변환시키는 SOM 학습 모듈과; 상기 정형화된 데이터 순서를 추상화된 HMM 모델로 만드는 HMM 학습 모듈과; 실제 수행된 시스템 호출 로그를 상기 추상화된 HMM 모델에 적용하여 침입여부를 판정하는 HMM 판정 모듈을 포함하여 이루어진 것을 특징으로 한다.
그리고, 본 발명의 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 방법은 BSM 감사 데이터로부터 중요한 정보를 추출하고 해당 추출된 정보의 크기를 줄여 정규화시키는 BSM 축약 과정과; 상기 축약된 다차원 정보를 SOM의 가중치 학습을 통해 저차원 정보로 변환하여 출력하는 SOM 학습 과정과; 상기 SOM에 의한 출력을 이용하여 HMM의 정상행위 모델링을 하는 HMM 학습 과정과; 상기 구축되어 있는 정상행위 모델을 근거로 사용자의 정상행위 여부를 판정하는 HMM 판정 과정을 포함하여 이루어진 것을 특징으로 한다.
이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
도 7을 참조하여 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템을 설명한다.
도 7은 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템을 나타낸 도면이다.
본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템은 감사기록 모듈(Auditd)(100), BSM 축약 모듈(BSM Reduction)(200), SOM 학습 모듈(SOM Learning)(300), HMM 학습 모듈(HMM Learning)(400) 및 HMM 판정 모듈(HMM Detecting)(500)을 포함하여 이루어지는데, 상기 감사기록 모듈(100)은 시스템 호출 로그(BSM audit log)를 생성하고, 상기 BSM 축약 모듈(200)은 상기 생성된 시스템 호출 로그를 축약하고, 상기 SOM 학습 모듈(300)은 상기 축약된 로그 데이터를 정형화된 데이터로 변환시키고, 상기 HMM 학습 모듈(400)은 상기 정형화된 데이터 순서를 추상화된 HMM 모델로 만들며, 상기 HMM 판정 모듈(500)은 실제 수행된 시스템 호출 로그를 상기 추상화된 HMM 모델에 적용하여 침입여부를 판정한다.
그리고, 도 8을 참조하여 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 방법을 설명한다.
도 8은 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 방법을 나타낸 순서도이다.
먼저, BSM 감사 데이터로부터 중요한 정보(Measure)를 추출하고 해당 추출된 정보의 크기를 줄여 정규화시키는 BSM 축약 과정이 수행된다(S801).
그리고, 상기 축약된 다차원 정보를 SOM의 가중치 학습을 통해 저차원 정보로 변환하여 출력하는 SOM 학습 과정이 수행된다(S802).
이에, 상기 SOM에 의한 출력을 이용하여 HMM의 정상행위 모델링을 하는 HMM 학습 과정이 수행된다(S803).
그런 후, 상기 구축되어 있는 정상행위 모델을 근거로 사용자의 정상행위 여부를 판정하는 HMM 판정 과정이 수행된다(S804).
이하, 도 9를 참조하여 상기 BSM 축약 모듈(200)을 설명한다.
도 9는 도 7에 있어, BSM 축약 모듈을 나타낸 도면이다.
상기 BSM 축약 모듈(200)은 정보 수집부(210)와 정보 축약부(220)로 이루어지는데, 상기 정보 수집부(210)는 상기 감사기록 모듈(100)의 BSM 감사 데이터로부터 중요한 정보(Measure)를 추출하고, 상기 정보 축약부(220)는 상기 추출된 정보의 크기를 줄여서 정규화시킨다.
그리고, 도 10을 참조하여 상기 BSM 축약 과정을 설명한다.
도 10은 도 8에 있어, BSM 축약 과정의 시나리오를 나타낸 도면이다.
상기 BSM 축약 과정에서는 침입탐지를 위해 BSM 감사 데이터로부터 중요한 정보를 추출하고 추출된 정보들의 크기를 빈도정보나 사용범위 정보에 의해 줄인다. 즉, 감사기록 자료를 정성적으로 분석하여 탐지에 사용될 정보를 결정하고, 데이터의 통계적인 특성에 의해 데이터의 크기를 줄인다.
상기 정부 수집부(210)는 상기 감사기록부(100)로부터 감사기록을 수집하는데, 감사범위에 따라 다르지만 상기 감사기록의 양이 방대하다. 모든 이벤트에 대해 감사를 할 경우 하루에도 수 백 메가바이트(Mbyte)이상의 감사기록을 남기게 된다. 이러한 문제는 시스템 관리자의 적절한 감사범위 지정으로 어느 정도는 해결될 수 있지만 침입을 위해 처리되어야할 정보량을 고려해보면 너무 방대한 양이다. 따라서 이러한 감사기록에서 필요한 데이터를 추출하고 축약할 필요가 있다.
따라서, 상기 정보 수집부(210)는 BSM 감사기록에서 추출될 수 있는 정보는 많지만 추출 가능한 모든 정보를 그대로 사용하지 않고 필요한 정보만을 추출해야 한다. 여기서 필요한 정보량은 실시간 탐지에 있어서 탐지시간과 관련되는 중요한 변수로 볼 수 있다. 많은 양의 정보를 추출하여 사용한다면 많은 처리시간이 요구되고 적은 양의 정보만을 추출한다면 탐지율의 저하를 초래할 수 있다. 탐지에 사용되는 정보가 많을수록 탐지율이 좋아지거나 적은 양의 정보만을 사용한다고 해서 탐지율이 낮게 나온다는 보고는 없다. 오히려 침입탐지에 필요한 효율적 정보들을 선별적으로 추출하고 이를 효과적으로 탐지에 사용하는 것이 바람직하다.
상기 정보 축약부(220)는 도 10에 도시된 바와 같이 상기 정보 수집부(210)에 의해 BSM 감사기록에서 추출된 정보에 대해 데이터에 의한 자료축약을 한다. 여기서, 도 10은 도 8에 있어, BSM 축약 과정의 시나리오를 나타낸 도면이다.
상기 데이터에 의한 자료축약은x 1,x 2, …,x n x 1',x 2', …,x k ' (k<n)과 같이 하나의 정보의 크기(n)를k(k<n)로 줄이는 것이다. 이를 위해서는 이러한 정보들이 사용되는 값의 범위를 테이블로 저장하고 사용되는 값을 테이블의 위치로 매핑시키면 간단하게 정보의 크기를 줄일 수 있다. 이에 따라 중요한 파일이나 디렉토리(경로)를 정보 맵(Measure Map)으로 분류하면 도 11에 도시된 바와 같다.
감사기록들의 통계적인 특성을 이용하여 감사자료를 축약하는 방법으로서 여기서는 도 12에 도시된 BSM 감사기록에서 추출한 시스템 호출의 경우를 예로 든다. 3일간의 여러 사용자들의 시스템 호출을 조사하여 그 빈도수를 보여주고 있는데 가능한 시스템 호출은 300여개 정도이지만 실제로 자주 사용되는 시스템 호출의 개수는 50개 정도이다. 따라서 이러한 정보를 이용하면 0 ~ 65535크기의 이벤트의 크기를 작게 하면서 큰 정보손실을 막을 수 있다.
본 발명에서는 실시간성을 부여하기 위한 노력으로 BSM(Basic Security Module) 축약에서 시스템 호출 필터링 기능을 추가한다. 탐지과정에서 너무 많은 실수 연산이 일어나기 때문에, 실제 시스템을 사용하였을 때의 프로그램의 계산 속도가 시스템 호출 발생 속도를 따라가지 못하는데, 이러한 시스템 호출 발생 속도에 대비하기 위하여 입력으로 사용되는 BSM 로그 데이터를 줄이는 방법을 선택한다. 종래의 프로그램에서는 도 3에 도시된 바와 같이 49개의 자주 발생하는 시스템 호출 배열하고 나머지 시스템 호출을 50번째로 넣어서 처리하였다. 본 발명에서는도 12에 도시된 바와 같이 자주 발생하는 시스템 호출 목록을 중요 시스템 호출 목록으로 재정의하고 50개를 선별하였다. 즉, 종래에는 모든 시스템 호출을 감시대상으로 하였지만 본 발명에서는 중요한 50개 시스템 호출만을 감시대상으로 하였다. 이러한 필터링 과정으로 인하여 시스템 호출 처리 시간을 3배이상 감소시켰다.
탐지에 사용되는 정보들은 침입탐지 시스템의 목적에 따라 다르다. 침입탐지 시스템에서 사용되어져야 할 표준적인 정보들은 정해져 있지 않다. 통계적 기법을 사용하는 시스템에서는 다변량을 유지하는 것이 중요할 것이며, HMM이나 신경망을 사용할 경우는 탐지에 필요한 최소의 정보들만을 사용하는 것이 더 효율적일 수 있다. 도 12는 가장 많이 사용되는 정보들로서 BSM에서 추출 가능한 정보들을 보여주고 있다.
이외에도 정보로 사용되고 있는 파일 액세스 모드, 시스템 반환 값, 파일시스템 ID, 시스템 호출 반환 값, 시스템 호출 반환 상태 등 도 13에 도시된 여러 정보들은 시스템호출의 빈도특성이나 사용되는 범위를 조사함으로써 쉽게 작은 크기의 정보로 변환된다.
이하, 도 14를 참조하여 상기 SOM 학습 모듈(300)을 설명한다.
도 14는 도 7에 있어, SOM 학습 모듈을 나타낸 도면이다.
상기 SOM 학습 모듈(300)은 입력 계층부(Input layer)(310), 은닉 계층부(Hidden layer)(320) 및 출력 계층부(Output layer)(330)를 구비하는데, 상기 입력 계층부(310)은 BSM으로부터 추출되어 정보의 크기가 정규화된 데이터를 입력받고, 상기 은닉 계층부(320)는 입력 데이터와 유사한 것으로 대표값이 결정되도록 가중치 갱신을 반복하고, 상기 출력 계층부(330)는 상기 결정된 대표값을 출력한다.
실시간으로 침입을 탐지하기 위해서 중요한 정보들만을 추출하게되는데 추출된 다변량 데이터는 통계적인 방법에 의해 사용되어 질 수 있지만 HMM과 같은 고정길이의 시퀀스를 필요로 하는 방법에는 적용할 수 없다는 한계가 있다. 즉, 신경망이나 HMM과 같은 여러 인공지능적인 방법에 의해 정상행위를 모델링하기 위해서는 추출된 다차원 정보를 저차원 정보로 변환할 필요가 있는데 이는 다차원 정보가 통계적 기법에서는 이용이 가능하지만 고정크기의 저차원 정보를 요하는 다른 방법에는 사용될 수 없기 때문이다.
본 발명에서는 SOM(Self-Organizing Map)의 중요한 파일 리스트를 수정하여 중요 디렉토리와 파일로 구분하였다. SOM 축약 과정에서 먼저 접근 파일이 중요 디렉토리에 있는지 또는 중요 파일에 해당되는지를 비교하여 그 리스트 값을 넘겨준다. 이것은 임의로 중요한 파일에 접근했을 때 SOM 축약 과정에서 특징적인 값을 산출하도록 하는 것이다.
다차원 정보를 일차원 정보로 변환하기 위해서는 통계적인 방법이 사용되지만 여기서는 입력패턴에 따라 자기 조직화하여 이차원상의 대표값으로 출력해주는 SOM을 이용한다. 비교사학습(unsupervised learning) 신경망인 SOM은 다차원 입력벡터를 유클리언 거리(Euclidean Distance)와 같은 유사도 측정을 통해 자기조직화하고 입력값에 가장 가까운 대표값으로 출력해준다.
여기서, 상기 SOM은 Kohonen이 사용한 특징 맵(Feature Map)으로 가장 많이알려진 인공지능 신경망 알고리즘 중 하나이다. 주로 사용하는 영역은 입력 데이터를 클러스터링하거나 맵의 공간적 순서화(Spatial Ordering)이다.
SOM에서 사용하는 데이터는 입력 데이터와 가중값이다. SOM의 크기는 N×M×L로 표현하는데, N과 M은 가중값에 대한 이차원 배열이고, N과 M을 합쳐서 일차원으로 사용하기도 한다. L은 입력 크기로 척도에 대한 번호이며 입력 시퀀스의 번호이기도 하다. 초기에 가중값 w는 N×M×L로 정의되고 입력값은 일차원 배열 x[L]로 정의된다.η는 반경으로 신경망에서 사용하는 조정값이다. 여기서는 입력값을 도 11에서 볼 수 있듯 0∼49 사이의 값으로 설정하고 7개 척도를 측정하므로 x[7]로 선언되었다. 각 척도의 의미는 아래와 같다.
x[0] = 시스템 호출 번호(system call number),
x[1] = 파일 시스템 번호(file system)
x[2] = 시스템 호출 반환값(return value),
x[3] = 시스템 수행 상태(system status),
x[4] = 매개변수 길이(argument length),
x[5] = 파일 허가권(file permission),
x[6] = 파일 이름(filename),
x[7] = 디렉토리 경로(directory path)
이하, 도 15를 참조하여 SOM 학습 과정을 설명한다.
도 15는 SOM 학습 과정을 나타낸 순서도이다.
SOM을 이용하여 데이터를 축약하기 위해서는 BSM으로부터 추출된 정보의 크기를 정규화하여 SOM의 입력으로 사용한다. SOM은 이러한 입력값을 잘 분류해내기 위해서는 학습 과정이 필요하다. SOM 학습 과정, 즉 SOM 학습 알고리즘은 매개변수들과 가중치를 초기화하고 조건이 만족할 때까지 입력된 데이터와 유사한 것으로 대표값이 결정되도록 가중치를 갱신하는 반복과정으로 볼 수 있다.
먼저 가중치 벡터(weight vector(W))를 초기화한다(n= 0)(S151). 여기서, 상기 가중치 벡터 W는 아래와 같이 2차원 배열로 구성된다.
W j = {w 1 j ,w 2 j , …,w nj }
그리고, 입력 벡터(input vector (X))를 가져온다(S152). 여기서, 상기 입력 벡터 X는 아래와 같이 구성된다.
X= {x(1),x(2), …,x(n)}
이에 따라, 상기 가중치 벡터와 입력 벡터를 이용해 유사도를 비교한 후 해당 유사도를 특징 맵에 저장한다(S153).
,L: 입력 크기
이에, 상기 특징 맵이 가장 작을 때의 행렬 색인ij를 구한다(S154).
그리고, 상기 가중치 벡터의 상기 행렬 색인i,j번째 값에 대한 증감치를 구한다(S155).
여기서, η는 학습률을 의미한다.
이에, 상기 가중치 벡터의 값에 상기 증감치를 더하여 갱신한다(S156).
그런 후, 갱신횟수가 입력 데이터의 수보다 커질 때까지 상기 가중치 갱신 단계(S152~S156)를 반복한다(S157).
이하, 도 16a, 도 16b 및 도 16c를 참조하여 SOM 가중치 값(SOM weight values)을 설명한다.
도 16a는 시스템 호출 관련 SOM 가중치 값을 나타낸 그래프이고, 도 16b는 파일 시스템 관련 SOM 가중치 값을 나타낸 그래프이며, 도 16c는 시스템 호출과 파일 시스템을 종합한 SOM 가중치 값을 나타낸 그래프이다.
상기 SOM 가중치는 시스템 호출, 파일 시스템, 시스템 호출과 파일 시스템에 대하여 각각 존재한다. 먼저 시스템 호출 관련 SOM 가중치 값은 도 16a에 도시된 바와 같다. 도면에서 계층(layer)은 여러 가지 정보(measure)를 나타낸다. 시스템 호출 관련 SOM에서 계층 1은 시스템 호출 번호, 계층 2는 시스템 호출 반환값, 계층 3은 시스템 호출 수행 상태에 대한 값을 의미한다. 도 16a에서 전반적으로 시스템 호출 번호에 가장 큰 영향을 받음을 알 수 있다.
그리고, 파일 시스템 관련 SOM 가중치 값은 도 16b에 도시된 바와 같다. 여기서, 계층 1은 시스템 호출 번호, 계층 2는 중요 파일 이름, 계층 3는 중요 디렉토리 이름, 계층 4는 매개변수 길이, 계층 5는 파일 시스템 번호, 계층 6는 파일 허가권(permission)을 나타낸다. 도 16b에서 알 수 있듯이 파일 시스템 관련에서 중요 파일 이름과 중요 파일 디렉토리의 변화가 적게 나타나는 것은 실제로 그 디렉토리나 파일에 접근하는 경우가 적어서 학습 데이터에 충분히 반영되지 않기 때문이다. 따라서, 파일 시스템 관련 SOM의 값을 결정하는 중요 요소는 시스템 호출 번호와 파일의 허가권임을 알 수 있다.
또한, 시스템 호출과 파일 시스템을 종합한 SOM 가중치 값은 도 16c에 도시된 바와 같다. 여기서, 계층 1은 시스템 호출 번호, 계층 2는 시스템 호출 반환값, 계층 3은 시스템 호출 수행 상태, 계층 4는 매개변수 길이, 계층 5는 중요 파일 이름, 계층 6은 중요 디렉토리 이름, 계층 7은 파일 허가권, 계층 8은 파일 시스템 번호를 나타낸다. 도 16c에서 알 수 있는 것은 시스템 호출과 파일 시스템을 종합한 판정에서는 시스템 호출 번호와 파일 시스템 번호가 중요한 요소가 됨을 알 수 있다.
이하, 도 17을 참조하여 상기 HMM 학습 과정을 설명한다.
도 17은 도 8에 있어, HMM 학습 과정의 시나리오를 나타낸 도면이다.
상기 HMM 학습 과정은 정상행위를 모델링하는 과정으로 사용자의 정상행위 정보를 HMM의 Baum-Welch 재추정식을 사용해서 모델링한다. HMM의 입력으로는 전처리에 의해 필터링되고 축약된 사용자의 순서적인 정상행위 데이터(SOM 출력 Sequence)이며 출력(정상행위도 score)은 해당 식별자의 HMM 매개변수를 조정하는 것이다.
상기 HMM에 대하여 설명하면, 음성이 마르코프(Marlov) 모델로 모델링될 수 있다는 가정 하에, 훈련과정에서 마르코프 모델의 확률적인 파라미터를 구하여 기준 마르코프 모델을 만들고 인식과정에서는 입력음성과 가장 유사한 기준 마르코프모델을 추정해냄으로써 음성을 인식한다. 모델로써 은닉 마르코프 모델(HMM:hidden Markov model)을 사용하는데 이것은 음성패턴의 다양한 변화를 수용하기 위해서이다. 여기서 은닉(hidden)이라는 용어는 상태(state)가 음성패턴에 관계없이 모델 속에 숨어있다는 것을 뜻한다.
상기 HMM은 실제적인 생성모델을 알 수 없고 단지 생성된 시퀀스에 의해서만 확률적으로 관측할 수 있는 이중으로 확률적인 절차로서, 사용자의 행위시퀀스(Behavior Sequence)를 모델링하기에 유용한 도구이다. 하나의 시퀀스에 대해서 여러 가지의 모델을 가정할 수 있다. 중요한 것은 시퀀스를 효과적으로 설명해주는 모델을 결정하는 것과 시퀀스를 잘 표현하도록 모델을 학습하는 것이다.
상기 HMM은 고정된 값인 관찰 시퀀스의 길이, 상태수, 심볼수와 학습에 의해 조정되는 전이확률, 관측확률, 초기상태분포로 구성이 된다. 상기 전이확률은 한 상태에서 다음상태로 전이할 확률을 나타내며, 상기 관측확률은 한 상태에서 특정 심볼이 관측될 확률을 나타낸다. 상기 초기 상태 분포는 처음에 해당 상태에서 시작할 확률을 나타낸다. 상기 HMM은 아래와 같이 표현되며, 모델 λ는 학습에 의해 조정되는 변수들로 간략히 (A,B, π)로 나타낸다.
T: 관찰 시퀀스의 길이 (전체 클럭 시간(clock time)의 수)
N: 모델의 상태 수
M: 관찰 심볼의 수
Q= {q 1,q 2, …,q N } : 상태
O= {o 1,o 2, …,o M } : 가능한 관찰 심볼의 이산집합
: 상태전이 확률분포
: 관찰 심볼 확률분포
: 초기 상태 분포
상기 HMM은 여러 가지 모델 형태로 구성될 수 있다. 도 18은 HMM 모델 형태를 나타낸 도면이다.
도 18에서는 에르코딕 모델(Ergodic model) 형태와 우향 모델(Left-to-right model(Bakis Model)) 형태가 도시되어 있는데, 상기 에르코딕 모델 형태는 한 상태에서 다른 상태로 나갈 확률과 다른 상태에서 해당 상태로 들어올 확률이 동일한 형태이고, 상기 우향 모델 형태는 자기 상태에서 자기로 되돌아오거나 이후 상태로의 전이만을 허용하는 형태이다. 일반적으로 우향 모델 형태의 HMM이 시간이나 순서적 정보를 잘 표현한다고 알려져 있다. 상기 에르코딕 모델과 우향 모델을 행렬식으로 보면 아래와 같다.
에르고딕 모델 우향 모델
본 발명에서는 폴스 포지티브(false-positive)를 줄이기 위해 HMM 모델로 풀 매트릭스(full matrix)를 사용한다. 종래 기술에서 HMM 모델이 계산 시간을 줄이기 위해 다이에고널 매트릭스(diagonal matrix)를 사용했지만, 학습된 후의 값이 비슷하고 정상행위와 비정상행위를 차별화시키는 값의 범위가 좁아서 정확한 탐지결과를 낼 수 없었다. 따라서, 본 발명에서는 계산횟수는 더 많지만 좀더 정확한 탐지결과를 얻기 위해서 풀 매트릭스를 사용한다. 본 발명에서 풀 매트릭스를 사용하므로 탐지과정에서 너무 많은 실수 연산이 일어나기 때문에, 실제 시스템을 사용하였을 때의 프로그램의 계산 속도가 시스템 호출 발생 속도를 따라가지 못하는 문제점이 있어 실시간성을 부여하기 위한 노력으로 BSM(Basic Security Module) 축약에서 시스템 호출 필터링 기능을 추가한다.
이하, 도 19와 도 20을 참조하여 상기 HMM 학습 과정을 설명한다.
도 19는 HMM 모델의 정상행위 모델링 시나리오를 나타낸 도면이고, 도 20은 도 8에 있어, HMM 학습 과정을 나타낸 순서도이다.
도 19에 도시된 바와 같이 상기 HMM 모델의 정상행위 모델링을 위해 학습 및 평가가 이루어지는데, 상기 HMM 모델의 정상행위 모델링을 위한 HMM 학습 과정은 도 20에 도시된 바와 같다.
먼저, 행위 시퀀스(behavior sequence)가 들어오면 전방향 절차(forward procedure)와 역방향 절차(backward procedure)를 통해서 HMM 모델로부터 나왔을 확률값 Pr(O|λ)을 계산한다(S211).
이에, 상기 확률값을 기반으로 Baum-Welch 재추정식을 이용해 평가값을 계산한다(S212).
이에 따라, 상기 평가값을 사용하여 상기 HMM 모델을 수정한다(S213).
그리고, 수정횟수가 입력 데이터 수가 될 때까지 상기 HMM 모델 수정과정(S211~S213)을 반복한다(S214).
이와 같은 HMM 학습 과정 수행 결과로 생성된 HMM 모델은 실시간 판정에 이용된다. 상기 HMM 모델에서는 전방향 절차에서 생성되는 값으로서 침입 여부를 판정하게 된다. 다른 판정 방법으로는 비터바이(Viterbi) 알고리즘이 있다. 상기 HMM의 판정은 Pr(O|λ)을 기반으로 이루어진다.
본 발명에서는 학습방법에 편리성을 제공하기 위하여 사용자 ID별 학습 데이터 생성 및 학습결과를 저장한다. 또한, 학습 단계별로 학습결과를 저장하여 학습이 오래 걸리는 경우에 대비한다. 이러한 결과로 사용자 학습 데이터를 파일과 사용자 ID로 구분하여 생성하며, 학습이 필요한 사용자만 학습시킬 수 있다. 이에 따라, 학습시간이 단축되는 효과가 있으며 비정상행위가 학습되는 현상을 막을 수 있었다.
상기 HMM을 실제로 적용할 때 문제되는 것으로 모델 학습, 시퀀스/모델 평가 및 최적상태추적이 있다.
먼저, 상기 모델 학습은 Pr(O|λ)를 최대로 하기 위해 모델 파라메터 λ=(A,B, π)를 어떻게 조정할 것인가의 문제이다. 이는 원 모델을 더 잘 표현하도록 HMM을 학습시키는 문제이다.
그리고, 상기 시퀀스/모델 평가는 주어진 관찰 시퀀스O= (o 1 o 2o T )가 모델 λ=(A,B, π)에 주어지면 효과적으로 Pr(O|λ)를 구하기 위해 어떠한 방법을 사용할 것인가의 문제이다. 이는 HMM으로 모델을 구축해 놓은 후 관찰된 시퀀스가 해당모델에 의해 생성 확률을 계산하는 것으로 생각할 수 있다. 역으로, 해당 모델로부터 생성된 시퀀스가 있다면 HMM으로 얼마나 효과적으로 해당 모델을 모델링했는지를 평가하는데도 사용할 수 있다.
그리고, 상기 최적상태추적은 주어진 관찰시퀀스에 대해 최적의 상태시퀀스Q= (q 1, q2, …,q T )를 어떻게 선택할 것인가의 문제이다. 최적의 의미는 여러 가지로 해석할 수 있겠지만 여기서는 Pr(O|λ)가 최대가 되도록 하는 상태 시퀀스로 간주한다.
이하, 도 21을 참조하여 상기 전방향 절차를 설명한다.
도 21은 도 20에 있어, 전방향 절차를 나타낸 도면이다.
전방향-역방향 절차(forward-backward procedure)에서는 전방향 변수인α와 역방향 변수인β를 사용해서 입력시퀀스가 해당 모델로부터 나왔을 확률 Pr(O|λ)를 계산한다. 여기서, 전방향 변수α는 시간t에 부분관찰 시퀀스o 1 o 2o t 를 보고 상태q i 에 있을 확률로 다음과 같이 정의된다.
이 정의에 따르면α T (i)는 입력시퀀스O의 모든 심볼을 순서에 맞게 가지고 있으면서 최종상태가i인 확률을 나타낸다.α T (i)를 모든 상태i에 대해 고려하면를 구할 수 있다.α t (i)는 다음 절차에 의해 귀납적으로 구할 수 있다.
먼저, 다음과 같이 초기화(initialization)한다.
그리고, 다음과 같이 귀납(induction)한다.
그런 후, 다음과 같이 종료(termination)한다.
이하, 도 22를 참조하여 상기 역방향 절차를 설명한다.
도 22는 도 20에 있어, 역방향 절차를 나타낸 도면이다.
역방향 변수β는 주어진 시간t에 부분관찰 시퀀스o t +1 o t +2o T 를 보고 상태q i 에 있을 확률을 의미하며 역방향 변수α와 함께 입력시퀀스가 해당 모델로부터 나왔을 확률 Pr(O|λ)를 계산한다.
역방향 절차에 사용되는 역방향 변수β의 계산은 전방향 변수의 계산과 유사한 과정에 의해서 구할 수 있다.
역방향 변수β는 다음과 같이 정의된다.
마찬가지로β t (i)는 다음 절차에 의해 귀납적으로 구할 수 있다.
먼저, 다음과 같이 초기화한다.
β t (i) = 1
그리고, 다음과 같이 귀납한다.
fort=T-1 to 1
이하, 상기 Baum-Welch 재추정식(Baum-Welch Algorithm)을 설명한다.
상기 HMM 학습 과정에서 정상행위 모델링은 전처리 과정에서 생성된 정상행위 시퀀스를 기반으로 HMM의 파라메터를 결정하는 과정이다. HMM의 파라메터 결정은 주어진 시퀀스O가 해당 모델 λ로부터 나왔을 확률인 Pr(O|λ)값이 최대가 되도록 λ=(A,B, π)를 조정한다. 이를 계산하는 해석적인 방법은 알려져있지 않고 반복적으로 λ를 결정하는 방법으로 Baum-Welch의 재추정식이 있다.
상기 Baum-Welch 재추정식에서는 두 개의 변수,가 추가로 사용된다.
상기는 시간t에 상태q i 에 있다 시간t+1에 상태q j 에 있을 확률로 정의되며 다음과 같이 표현될 수 있다.
전방향-역방향 변수 α와 β를 사용하여 이 값을 구할 수 있다.
그리고, 상기는 시간t에 상태q i 에 있을 확률이며 다음 수식을 통해 구할 수 있다.
상기 두 값,을 시간t에 대해 각각 합을 취하면 하나의 시퀀스에서 각각 상태 i에서 j로 변할 기대값과 상태 i에 있을 기대값을 구할 수 있다. 상기 값이 구해지면 다음 수식에 의해서 새 모델를 구할 수 있다.
시퀀스O를 관찰한 결과로를 구한 후를 비교한다.가 더 크다면 우도 함수의 임계점에 다다랐으므로 재추정 과정을 종료한다.가 더 큰 경우는 더 나은 모델이 생성된 경우이며로 대치한 후 재추정 과정을 반복한다.
단, 아래의 기본 조건에 맞추어 값을 스케일링(scaling)하여야 한다.
이하, 스케일링을 설명한다.
상기 HMM 학습 과정에서는 독립확률의 연속으로 표현하기 때문에 실수 곱셈이 많다. 따라서, 값이 계속해서 커지거나 작아지는 경우가 많이 발생된다. 이러한 값을 조정하기 위해서 스케일링 과정을 거친다. 스케일링은 주어진 상황에서 발생할 수 있는 경우 확률의 합은 1이라는 이론에 입각하여 확률값을 다시 계산하게 된다. 즉, 아래 수식처럼 N개의 배열이 각각 확률값을 가지고 있고 그 값의 합이 1이 되어야 한다면, N개의 배열의 합을 구하고 그 합으로 각 배열 요소를 나눈다.
와 같이 α t (i)의 합을 구하여 그 역을c t 에 저장한다. 그리고, α t (i)는c t 를 곱하여 새로운 값를 구한다.
이러한 스케일링은 그 자체로 부가적인 연산을 수행하기 때문에 자주 하는 것은 바람직하지 못하다. 그러나, 변화된α값을 HMM 학습에 반영해야 하므로 하나의 입력 시퀀스에 대한 학습이 수행될 때마다 전방향 변수α, 역방향 변수β, 초기값 π를 스케일링한다.
이러한 스케일링 계수(coefficient)c t 는 학습 척도로 쓰일 수 있다.
Pr(O|) 값 ( 참조 :)
이러한 평균값이 이전 학습 과정에서 나온 평균값보다 커지면 학습을 중지한다.
이하, 도 23a와 도 23b를 참조하여 HMM 모델 데이터를 설명한다. 여기서, 도 23a는 본 발명의 실시예에 따른 루트(root)에 대한 HMM 학습을 수행한 결과 생성된 모델값 A의 일예를 나타낸 도면이고, 도 23b는 본 발명의 실시예에 따른 루트에 대한 HMM 학습을 수행한 결과 생성된 모델값 B의 일예를 나타낸 도면이다.
도 23a에서 색깔이 진할수록 확률이 높다. 초기값 π의 경우 π4와 π9에서 상태가 주로 시작됨을 알 수 있다. 초기 상태가 9에서 시작했다면 다음 상태로 진행될 확률은a 94가 가장 높으므로 상태 4로 보통 전이된다. 상태전이가 확률이 높은쪽으로 이동된다면 정상행위에 가까워지는 것이고, 확률이 낮은쪽으로 이동된다면 비정상행위에 가까워진다. 실제 실행과정에서는 오랜 관찰에서 얻은 임계값(threshold)을 설정하여 그보다 작은 확률이 나타나면 비정상행위 수를 증가시킨다. 이러한 비정상행위 수가 일정 횟수 이상 증가하게 되면 경고(warning) 메시지를 보내게 되고, 그보다 훨씬 많은 횟수로 증가하면 경보(alert) 메시지를 보내게 된다. 이러한 비정상행위 수는 HMM을 이용한 비정상행위 탐지 모델의 민감도를 결정하는 요소가 된다.
본 발명에서는 폴스 포지티브(false-positive)를 줄이기 위해 민감도를 낮추었다. 종래에 민감도를 1로 하였을 경우 갑작스러운 비정상행위 값이 생성되는 경우가 많이 나타났다. 이렇게 나타나는 값은 실제로 비정상행위가 아닌 경우가 많다. 또한, 이렇게 발생한 비정상행위 알람은 탐지결과 파일의 크기를 증가시킬 뿐만 아니라 관리자에게 알람의 경각심을 감소시키는 결과를 낳는다. 따라서, 본 발명에서는 여러 차례 실험을 거쳐서 민감도를 감소시켰다. 다만, 해당 민감도는 설치 환경에 따라 달라질 수 있다.
도 23b에서도 역시 색깔이 진할수록 그 방향으로 진행할 확률이 높다는 것을 의미한다. 여기의 B 행렬은 상태수 10과 객체수 25에 대한 내용이며, 어떤 상태에서 객체가 나타날 확률을 의미한다. 예를 들어 상태 1에서 가장 많이 나타날 객체는 객체25번째이다. 초기 π값에 연속되는 A 행렬과 B 행렬의 조합으로 입력 시퀀스에 대한 확률값을 계산하게 된다. 이러한 확률값이 높게 나타나는 것은 정상행위 모델과 비슷한 방향으로 진행한다는 것을 의미하게 된다.
이하, 도 24을 참조하여 상기 HHM 판정 과정을 설명한다.
도 24는 도 8에 있어, HMM 판정 과정의 시나리오를 나타낸 도면이다.
비정상행위 판정을 위한 HMM 판정 모듈의 동작 시나리오를 나타낸 도면이다.
상기 HMM 판정 과정은 구축되어 있는 정상행위 모델을 근거로 사용자의 정상행위 여부를 판별하는 과정이다. 여기서, 상기 HMM 판정 모듈(500)의 입력은 전처리에 의해 걸러지고 축약된 사용자 행위 데이터이며 출력은 현재 사용자의 행위가 정상행위인지 비정상행위인지를 나타낸다.
상기 비정상행위 판정에서는 이미 구축되어 있는 정상행위별 HMM에 사용자행위 시퀀스(Behavior Sequence)를 입력으로 넣어 각 정상행위에서 현재 행위가 생성되었을 확률을 구한다. 확률을 구하는 방법으로는 전방향 절차(forward procedure)나 비터바이 알고리즘(Viterbi algorithm)을 사용할 수 있다. 각 모델별로 구해진 확률은 전달받은 HMM 판정모듈(500)은 비정상행위인지 판정한다.
먼저, 상기 전방향 절차에 의하여 확률을 구하는 방법을 설명한다.
전방향 절차를 거쳐서 구해지는α값으로 Pr(O|λ)를 구할 수 있다. 여기에서 정상행위값 스코어(score)는 아래와 같이 계산된다.
즉, α T (i) 값에서 가장 높은 확률을 선택하는 것이다.
다음으로, 상기 비터바이 알고리즘에 의하여 확률을 구하는 방법을 설명한다.
상기 비터바이 알고리즘은 HMM 모델에서 주어진 관찰 시퀀스에 대한 최적의 경로를 찾는 방법이다. 따라서, 주어진 관찰 시퀀스에 대한 최대 가능한 확률값을 구할 수 있다. 이것을 계산하는 절차는 아래와 같다.
먼저, 다음과 같이 초기화를 한다.
그리고, 다음과 같이 순환(recursion)을 한다.
그리고, 다음과 같이 종료한다.
마지막으로, 다음과 같이 경로(상태 시퀀스)를 추적(backtracking)한다.
실제로 본 발명에서 적용해 본 것은 상기 4단계인 경로 추적을 제외한 나머지 과정이다. 여기서, 정상행위 확률 스코어(score)는 위의 3단계에서 구해진p*로써 전방향 절차와 비슷하다. 탐지 결과는 전방향 절차와 약간의 차이가 나타나는데, 그것은 HMM 모델에 대한 학습이 전방향-역방향 절차에 의해 수행되었기 때문에, 전방향 절차의 결과 더 정확하다.
이하, 도 25를 참조하여 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템에 적용되는 HMM 프로그램을 소프트웨어 분석 도구인 McCabe에서 분석한 결과를 설명한다.
도 25는 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템에 적용되는 HMM 프로그램을 McCabe에서 분석한 결과를 나타내 그래프이다.
도 25에 도시된 바와 같이, McCabe에서 분석하는 Kiviat 다이어그램의 각 축은 구조화 정도, 디자인 복잡도, 순환 복잡도, 라인당 평균 복잡도, 그리고 모듈당 평균 라인수를 나타낸다. 그리고, 구조화 정도와 라인당 평균 복잡도는 유지보수성(maintainability)을 측정하고, 디자인 복잡도와 순환 복잡도는 시험가능성(testability)을 순환복잡도와 모듈당 평균 라인수는 모듈의 크기(size)를 측정하는 도구가 된다. Kiviat 다이어그램에서 바깥선이 최대 허용 비율로써 이 선을 벗어나면 좋지 않은 프로그램이라는 의미하고, 가운데 선이 임계치에 해당되는데 이 선 근처나 내부에 분석 프로그램이 위치하면 좋은 프로그램이라는 의미이다. 본 발명의 실시예에 따른 HMM을 이용한 비정상행위 침입탐지 시스템에 적용되는 HMM 프로그램은 내부에 있는 선에 해당하므로 프로그램이 구조적으로 이해하기 쉽게 작성되었다는 것을 나타낸다.
또한, 본 발명에 따른 실시예는 상술한 것으로 한정되지 않고, 본 발명과 관련하여 통상의 지식을 가진 자에게 자명한 범위 내에서 여러 가지의 대안, 수정 및 변경하여 실시할 수 있다.
이상과 같이, 본 발명은 HMM 모델로 풀 매트릭스(Full Matrix)를 사용하고 민감도를 낮추며 SOM(Self-Organizing Map)를 중요 디렉토리와 파일로 구분하여 폴스 포지티브(False-Positive)를 줄임으로써, 탐지의 정확성을 제공할 수 있고,BSM(Basic Security Module) 축약에서 중요한 시스템 호출만 감시대상으로 하는 시스템 호출 필터링 기능을 추가하여 시스템 호출 처리 시간을 감소시킴으로써, 실시간성을 제공할 수 있으며, 사용자 ID별 학습 데이터 생성 및 학습결과를 저장하고, 학습 단계별로 학습결과를 저장하여 사용자 학습 데이터를 파일과 사용자 ID로 구분하여 생성하고 학습이 필요한 사용자만 학습시킴으로써, 학습시간을 단축시키고 비정상행위가 학습되는 현상을 막음으로써, 학습방법의 편리성을 제공할 수 있다.

Claims (10)

  1. 시스템 호출 로그를 생성하는 감사기록 모듈과;
    상기 생성된 시스템 호출 로그를 축약하는 BSM 축약 모듈과;
    상기 축약된 로그 데이터를 정형화된 데이터로 변환시키는 SOM 학습 모듈과;
    상기 정형화된 데이터 순서를 추상화된 HMM 모델로 만드는 HMM 학습 모듈과;
    실제 수행된 시스템 호출 로그를 상기 추상화된 HMM 모델에 적용하여 침입여부를 판정하는 HMM 판정 모듈을 포함하여 이루어진 것을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템.
  2. 제 1 항에 있어서,
    상기 BSM 축약 모듈은,
    BSM 감사 데이터로부터 중요한 정보를 추출하는 정보 수집부와;
    상기 추출된 정보의 크기를 줄여서 정규화시키는 정보 축약부를 포함하여 이루어진 것을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템.
  3. 제 1 항에 있어,
    상기 BSM 축약 모듈은,
    BSM 축약에서 중요한 시스템 호출만 감시대상으로 하는 시스템 호출 필터링 기능을 갖는 것을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템.
  4. 제 1 항에 있어서,
    상기 SOM 학습 모듈은,
    BSM으로부터 추출되어 정보의 크기가 정규화된 데이터를 입력받는 입력 계층부와;
    상기 입력 데이터와 유사한 것으로 대표값이 결정되도록 가중치 갱신을 반복하는 은닉 계층부와;
    상기 결정된 대표값을 출력하는 출력 계층부를 포함하여 이루어진 것을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템.
  5. 제 1 항에 있어,
    상기 SOM 학습 모듈은,
    SOM의 중요한 파일 리스트를 수정하여 중요 디렉토리와 파일로 구분함을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템.
  6. 제 1 항에 있어서,
    상기 HMM 학습 모듈은,
    상기 HMM 모델로 풀 매트릭스(Full Matrix)를 사용함을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템.
  7. 제 1 항에 있어서,
    상기 HMM 학습 모듈은,
    사용자 ID별 학습 데이터 생성 및 학습결과를 저장하고 학습 단계별로 학습결과를 저장함을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템.
  8. BSM 감사 데이터로부터 중요한 정보를 추출하고 해당 추출된 정보의 크기를 줄여 정규화시키는 BSM 축약 과정과;
    상기 축약된 다차원 정보를 SOM의 가중치 학습을 통해 저차원 정보로 변환하여 출력하는 SOM 학습 과정과;
    상기 SOM에 의한 출력을 이용하여 HMM의 정상행위 모델링을 하는 HMM 학습과정과;
    상기 구축되어 있는 정상행위 모델을 근거로 사용자의 정상행위 여부를 판정하는 HMM 판정 과정을 포함하여 이루어진 것을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 방법.
  9. 제 8 항에 있어서,
    상기 SOM 학습 과정은,
    가중치 벡터를 초기화하는 단계와;
    입력 벡터를 가져오는 단계와;
    상기 가중치 벡터와 입력 벡터를 이용해 유사도를 비교한 후 해당 유사도를 특징 맵에 저장하는 단계와;
    상기 특징 맵이 가장 작을 때의 행렬 색인을 구하는 단계와;
    상기 가중치 벡터의 상기 행렬 색인 번째 값에 대한 증감치를 구하는 단계와;
    상기 가중치 벡터의 값에 상기 증감치를 더하여 갱신하는 단계와;
    상기 갱신횟수가 입력 데이터의 수보다 커질 때까지 상기 가중치 갱신을 반복하는 단계를 포함하여 이루어진 것을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 방법.
  10. 제 8 항에 있어서,
    상기 HMM 학습 과정은,
    행위 시퀀스가 들어오면 전방향 절차와 역방향 절차를 통해서 HMM 모델로부터 나왔을 확률값을 계산하는 단계와;
    상기 확률값을 기반으로 Baum-Welch 재추정식을 이용해 평가값을 계산하는 단계와;
    상기 평가값을 사용하여 상기 HMM 모델을 수정하는 단계와;
    상기 수정횟수가 입력 데이터 수가 될 때까지 상기 HMM 모델 수정을 반복하는 단계를 포함하여 이루어진 것을 특징으로 하는 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 방법.
KR1020020045791A 2002-08-02 2002-08-02 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템및 방법 KR20040012285A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020045791A KR20040012285A (ko) 2002-08-02 2002-08-02 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020045791A KR20040012285A (ko) 2002-08-02 2002-08-02 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템및 방법

Publications (1)

Publication Number Publication Date
KR20040012285A true KR20040012285A (ko) 2004-02-11

Family

ID=37320284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020045791A KR20040012285A (ko) 2002-08-02 2002-08-02 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템및 방법

Country Status (1)

Country Link
KR (1) KR20040012285A (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100729151B1 (ko) * 2006-07-18 2007-06-19 고려대학교 산학협력단 마코프 프로세스 기반의 피해 산정 방법, 그 기록 매체 및그 장치
KR100785929B1 (ko) * 2006-07-18 2007-12-17 서울산업대학교 산학협력단 온오프라인연계 컨텐츠기록시스템 및 그 방법
WO2012125146A1 (en) * 2011-03-14 2012-09-20 Galick Albert Method for uncovering hidden markov models
KR101477388B1 (ko) * 2013-04-26 2014-12-29 경희대학교 산학협력단 개인화된 사용자 행위 모델의 생성 방법
KR20160064710A (ko) 2014-11-28 2016-06-08 건국대학교 산학협력단 Ldfgb 알고리즘을 이용한 비정상 침입 탐지 장치 및 방법
CN106682502A (zh) * 2016-12-13 2017-05-17 重庆邮电大学 基于隐马尔可夫和概率推断的入侵意图识别系统及方法
CN106815125A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种日志审计方法及平台
KR102091076B1 (ko) * 2019-04-16 2020-03-20 주식회사 이글루시큐리티 지도학습기반의 경보분석과 비지도학습기반의 이상행위탐지 기법을 혼용한 지능형 보안관제 시스템 및 그 방법
CN114201358A (zh) * 2021-11-22 2022-03-18 南京邮电大学 一种基于系统调用序列的多线程程序异常检测方法
CN117633787A (zh) * 2024-01-25 2024-03-01 北京安领可信网络科技有限公司 一种基于用户行为数据的安全分析方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062070A (ko) * 2001-01-19 2002-07-25 주식회사 정보보호기술 다양한 침입탐지모델을 사용하는 침입탐지시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062070A (ko) * 2001-01-19 2002-07-25 주식회사 정보보호기술 다양한 침입탐지모델을 사용하는 침입탐지시스템 및 그 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김용민, 정보처리학회논문지, 2001, 8(5), 507-516 *
한국통신학회지(정보통신) 제19권 8호, 2002.08, Vol 19, No 8(요약, p7) *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100729151B1 (ko) * 2006-07-18 2007-06-19 고려대학교 산학협력단 마코프 프로세스 기반의 피해 산정 방법, 그 기록 매체 및그 장치
KR100785929B1 (ko) * 2006-07-18 2007-12-17 서울산업대학교 산학협력단 온오프라인연계 컨텐츠기록시스템 및 그 방법
WO2012125146A1 (en) * 2011-03-14 2012-09-20 Galick Albert Method for uncovering hidden markov models
KR101477388B1 (ko) * 2013-04-26 2014-12-29 경희대학교 산학협력단 개인화된 사용자 행위 모델의 생성 방법
KR20160064710A (ko) 2014-11-28 2016-06-08 건국대학교 산학협력단 Ldfgb 알고리즘을 이용한 비정상 침입 탐지 장치 및 방법
CN106815125A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种日志审计方法及平台
CN106682502A (zh) * 2016-12-13 2017-05-17 重庆邮电大学 基于隐马尔可夫和概率推断的入侵意图识别系统及方法
CN106682502B (zh) * 2016-12-13 2019-07-19 重庆邮电大学 基于隐马尔可夫和概率推断的入侵意图识别系统及方法
KR102091076B1 (ko) * 2019-04-16 2020-03-20 주식회사 이글루시큐리티 지도학습기반의 경보분석과 비지도학습기반의 이상행위탐지 기법을 혼용한 지능형 보안관제 시스템 및 그 방법
CN114201358A (zh) * 2021-11-22 2022-03-18 南京邮电大学 一种基于系统调用序列的多线程程序异常检测方法
CN117633787A (zh) * 2024-01-25 2024-03-01 北京安领可信网络科技有限公司 一种基于用户行为数据的安全分析方法及系统

Similar Documents

Publication Publication Date Title
CN108881196B (zh) 基于深度生成模型的半监督入侵检测方法
Casdagli Recurrence plots revisited
US7769561B2 (en) Robust sensor correlation analysis for machine condition monitoring
US10257211B2 (en) Method, apparatus, and computer-readable medium for detecting anomalous user behavior
CN113344295B (zh) 基于工业大数据的设备剩余寿命预测方法、系统及介质
Mazhelis One-class classifiers: a review and analysis of suitability in the context of mobile-masquerader detection
Reunanen et al. Unsupervised online detection and prediction of outliers in streams of sensor data
CN111694879A (zh) 一种多元时间序列异常模式预测方法及数据采集监控装置
CN109714324B (zh) 基于机器学习算法的用户网络异常行为发现方法及系统
JP2004309998A (ja) 確率分布推定装置および異常行動検出装置,ならびにその確率分布推定方法および異常行動検出方法
CN112039903B (zh) 基于深度自编码神经网络模型的网络安全态势评估方法
CN109257383B (zh) 一种bgp异常检测方法及系统
CN111538311B (zh) 一种基于数据挖掘的机械设备柔性多状态自适应预警方法及装置
KR20040012285A (ko) 은닉 마르코프 모델을 이용한 비정상행위 침입탐지 시스템및 방법
Shi et al. An improved agglomerative hierarchical clustering anomaly detection method for scientific data
Zameni et al. Unsupervised online change point detection in high-dimensional time series
Wang et al. Embedding learning with heterogeneous event sequence for insider threat detection
Pushkar et al. A comparative study on change-point detection methods in time series data
Mallissery et al. Accuracy analysis of machine learning algorithms for intrusion detection system using nsl-kdd dataset
CN115700553A (zh) 一种异常检测方法及相关装置
Liu et al. Anomaly Detection in Industrial Multivariate Time-Series Data With Neutrosophic Theory
CN117978461B (zh) 基于孤立森林的异常登录检测方法及系统
Jiang Weak process models for robust process detection
CN118041692B (zh) 基于入侵检测技术的网络安全测试方法及系统
CN118035815A (zh) 压缩机健康状态劣化识别方法、装置及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application