침입탐지시스템의 오용탐지

기법이 사용하는 6가지 방법론

서명 분석(signature analysis)

지식 기반 접근(knowledge based approach) 방식을 이용하는 침입 탐지 방법론으로서 침입 양상에 대하여 의미적인 단계를 부여하고 이에 대한 광범위한 정보를 축적한다. 감사 증적으로부터 감사 사건을 직접 검색하여 감사 사건의 기록 순서, 기록 패턴 등을 축적된 정보와 비교하여 침입을 탐지한다. 상용 침입탐지시스템 제품에 자주 적용되는 방법론이다. 대표적인 서명 분석 방식의 공개용 네트워크 기반 침입탐지시스템로서 Snort(http://www.snort.org/)가 있다.

전문가 시스템

서명 분석 방법론과 마찬가지로 지식 기반 접근을 이용한 탐지 방법론이다. 그림에서 예시하는 바와 같이 우선 순위 기반으로 수립된 규칙 집합(rule set)과 감사 증적의 사건들을 비교하여 침입을 탐지한다. 감사 데이터에 대한 추상적인 단계를 부여하며 각 공격 유형에 대한 지식들을 규칙 집합으로 표현한다. 추론 엔진(inference engine)은 사실(fact)로 변환된 감사 사건과 규칙 집합을 비교하며 규칙 집합의 관리를 위하여 규칙 기반 언어(rule based language)를 사용한다. 1992년, 벨기에에서 발표된 전문가 시스템 기반의 침입탐지시스템인 ASAX(Advanced Security audit trail Analysis on uniX)는 RUSSEL(RUle baSed Sequence Evaluation Language)이라는 규칙 기반 언어를 사용하며 1.0 버전이 공개용으로 배포되고 있다.

상태 전이 분석(state transition analysis)

그림에서 예시하는 바와 같이 침입을 상태 전이의 집합으로 표현한 상태 전이 다이어그램(state transition diagram)을 통하여 침입 탐지 과정을 분석하는 방법론으로서 UCSB(University of California, Santa Barbara)에서 개발하였다. 제품으로는 1992년도에 발표된 USTAT(A Real-time Intrusion Detection System for Unix), 1997년에 발표된 NSTAT(A Model-based Real-time Network Intrusion Detection System) 등이 있다.

페트리 넷(petri-nets)

퍼듀(Purdue)대학교에서 개발한 지식 기반 침입 탐지 방법론이다. 그림에서 예시하는 바와 같이 Colored Petri-Nets(CPNs)을 사용하여 침입탐지시스템의 행위를 모델링하고 있다. 페트리 넷은 복잡하고 분산된 시스템을 추상화한 모델을 정립하는데 매우 유용하며 페트리 넷을 이용하여 침입탐지시스템을 모델링 할 경우 개념적으로 단순화가 가능하고 도식적인 표현이 가능하므로 복잡한 침입탐지시스템의 행위들의 집단화(gathering), 분류(classification), 상관 관계(correlation) 등을 매우 효과적으로 설명할 수 있다. 퍼듀대학교의 COAST(Computer Operations, Audit, and Security Technology) 프로젝트의 일환으로 개발된 IDIOT(Intrusion Detection In Our Time) 시스템은 페트리 넷 기반의 침입 패턴 매칭 엔진을 탑재하여 효과적인 오용 탐지 기능을 제공한다.

출처: https://sugerent.tistory.com/461 [MISTERY]

패턴 매칭

알려진 공격 패턴을 시나리오 형태로 데이터베이스에 저장한 후 발생하는 사건들의 패턴을 데이터베이스의 시나리오와 비교하여 판단한다.

[출처] [네트워크보안] IDS|작성자 서이구

유전 알고리즘

진화의 핵심 원리인 자연 선택과 유전자의 개념을 이용한 최적화 기법.

주어진 문제에 대한 해답(solution)을 무작위로 생성한 뒤 이 해답 집단을 진화시켜 좋은 해답을 찾는다.

유전 알고리즘은 집단 기반의 최적화 기법인 진화 알고리즘의 한 종류로, 집적 회로 설계, 리보핵산(RNA: Ribonucleic acid) 구조 예측, 인공 신경망 학습 등 매우 다양한 분야의 최적화 및 탐색(search) 문제에 적용되고 있다.

유전 알고리즘에서 문제의 해답(solution)은 고정된 길이의 문자열로 표현되며, 이는 다음 세대를 생성할 때 교차 및 돌연변이 과정의 적용을 용이하게 한다. 해답의 좋고 나쁨의 정도는 최적화 문제의 목적(objective) 함수에 의해 평가되는데, 이를 적합도(fitness) 함수라고 한다.

유전 알고리즘을 구성하는 주요 연산은 ‘선택(selection)’, ‘교차(crossover)’, ‘돌연변이(mutation)’이다. 선택은 현재 세대에서 다음 세대를 생성할 때 사용하는 해답들을 결정하는 연산으로, 적합도에 따라 확률적으로 결정된다. 교차는 두 해답을 결합해 새로운 해답을 만드는 과정으로, 생물의 염색체 교차를 모사한 것이다. 서로 다른 두 해답의 좋은 점을 모두 취하는 새로운 해답을 만들 수 있다. 돌연변이는 해답의 일부분을 무작위로 변형하는 것으로, 지역 최적 해답(local optimum solution)에 빠질 가능성을 줄여 준다.

유전 알고리즘은 1931년 시월 라이트(Sewall Wright)가 제안한 적합도 경관(fitness landscape)의 개념에 영향을 받았고, 1965년 잉고 레켄베르크(Ingo Rechenberg)가 비행기 익형(airfoil)의 최적화에 진화 전략을 적용하면서 유명해졌다.

[네이버 지식백과] 유전 알고리즘 [genetic algorithm, 遺傳的-] (IT용어사전, 한국정보통신기술협회)