▣ 문제: 침입탐지시스템의 오용탐지 기법이 사용하는 6가지 방법론을 나열하고 해당 방법론에 대한 설명을 서술하시오.

오용탐지 기법이란, 정해진 공격 모델과 일치하는 경우를 침입으로 간주하는 가장 많이 사용하는 형태를 말한다. 즉 알려진 침입 행위를 탐지하는 것이다.

오용탐지 기법은 탐지 내용이 확실하고, 침입에 사용된 특정 도구나 기술에 대한 분석이 가능하며, 신속하고 정확한 침해 사고 대응에 도움이 될 뿐만 아니라, 잘못된 탐지 가능성이 적다는 장점이 있다. 하지만 다양한 우회 가능성이 존재하고. 새로운 침입 유형에 대한 탐지가 불가능해서 다양한 침입 패턴 수집이 어려우며, 새로운 공격에 대한 시그니처를 지속적으로 업데이트하는 것은 필수고, 오탐을 줄이기 위한 세밀한 패턴 정의가 필요하다는 단점이 있다.

오용탐지 기법이 사용하는 6가지 방법론은 다음과 같다.

1. 전문가시스템(Expert System)

지식 기반 접근을 이용한 탐지 방법론이다. 우선 순위 기반으로 수립된 규칙 집합(rule set)과 감사 증적의 사건들을 비교하여 침입을 탐지한다.

전문가시스템은 공격에 관한 규칙집합을 가지고 있어 감사 이벤트가 전문가시스템 내에서 의미를 가지는 사실로 변환이 되고, 추론엔진은 이 규칙들과 사실을 기반으로 침입을 판단한다. 전문가시스템기법은 감사자료에 의미를 부여함으로서 감사자료의 추상화 정도를 증가시킨다.

전문가시스템에서 규칙기반 언어(rule-based language)는 공격에 관한 전문가의 지식을 모델링하기 위한 자연스러운 도구이다. 이 접근방식은 알려진 취약점을 이용하려는 시도들에 관한 증거를 찾기 위해 감사 자료를 체계적으로 탐색할 수 있도록 한다. 또한 보안정책이 적절히 적용되고 있는지 검증하는데 사용될 수도 있다. 하지만 전문가시스템의 전체적 성능은 아직 낮은 정도이며 늦은 처리속도로 인해 프로토타입에서만 사용되며 상용 제품들은 보다 효율적인 접근방식을 취한다. 대표적인 시스템으로는 RUSSEL이라는 규칙기반 언어를 사용한 ASAX (Advanced Security audit trail Analysis on unix) 등이 있다.

2. 시그니처분석(Signature Analysis)

시그너쳐 분석은 전문가시스템과 동일한 방식으로 지식을 획득하지만 지식을 사용하는 방식이 다르다. 공격에 대한 의미적 기술은 감사자료에서 곧바로 검색이 가능한 형태의 정보로 변경된다. 예를 들면, 공격시나리오는 공격 시 생성되는 감사 이벤트 시퀀스로 변경되거나 시스템에 의해 생성된 감사자료에서 탐색할 수 있는 데이터 패턴으로 변경된다. 이 기법은 공격에 관한 기술이 저수준에서 이루어진다.

시그너쳐 분석기법은 아주 효율적인 구현이 가능하므로 상업적인 침입탐지 제품에 응용되고 있다. 이 방식의 주약점은 다른 지식기반 접근방법과 마찬가지로 새로 발견된 취약점에 대해 자주 갱신을 해주어야 한다는 것이다.

3. 페트리넷(Petri-net)

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

4. 상태전이분석(State Transition Analysis)

상태전이분석은 92년 UCSB의 P. A. Porras의 석사학위 논문으로 개념상으로는 모델기반추론과 동일하다. 이 기법은 공격을 목표와 상태 전이의 집합으로 기술하며 상태전이 다이어그램으로 표현한 것으로 일반적으로 STAT라 부른다.

STAT 기반 침입탐지 방식이 처음 설계되고 도구로 개발된 것이 '92년 개발한 UCSB에서 개발한 USTAT이며 멀티 호스트로 확장한 것이 NSTAT이다. 현재 DARPA 프로젝트로 수행 중인 네트워크 기반 침입탐지시스템이 NetSTAT이다. STAT는 일부 상용 제품에서도 사용되고 있다.

5. 신경망(Neural Network)

신경망은 타당한 방법으로 새로운 입력-출력쌍을 얻기 위해 두 집합의 정보 간 관련성을 학습하고 일반화하는데 사용되는 알고리즘 기법이다. 신경망은 이론적으로 지식기반 침입탐지 방식에서 공격을 학습하고 감사 스트림에서 탐색하는데 사용될 수 있다. 입력과 출력간의 관계를 알 수 있는 믿을만한 방법이 없으므로 신경망은 공격을 추론하거나 설명할 수 없어 주로 비정상행위 탐지 기법으로 많이 연구되었으나 최근에는 지식기반 프로파일을 구성하여 오용탐지 기법으로도 사용된다.

일반적으로 신경망은 컴퓨터가 인간 두뇌의 학습 기능을 갖게하기 위하여 고안되었다. 신경망은 생물학적 신경단위인 뉴런을 모델링한 유닛(unit)들과 유닛 사이의 가중치 연결 (weighted-connection)들로 구성된다. 신경망은 불완전하고 다양한 입력의 해석, 패턴 인식(pattern recognition), 학습, 분류, 일반화, 추상화 등이 필요한 분야에 유용하게 활용되고 있다. 특히, 논리적이고 분석적인 기법을 활용해서도 시뮬레이션하기 어려운 인간의 문제 해결에도 효과적으로 활용되고 있다. 신경망을 이용한 침입탐지시스템은 다양한 행위 예들로부터 침입을 탐지할 수 있고 자동 학습 기능이 있어서 변화하는 공격 패턴에 대하여 능동적으로 대처할 수 있지만 구현이 어려워서 널리 사용되지는 않고 있다.

6. 유전 알고리즘(genetic algorithm)

유전 알고리즘은 자연 선택의 원리와 자연계의 생물 유전학에 기본 이론을 두며, 모든 생물은 주어진 다양한 환경 속에 적응함으로써 살아남는다는 다원의 적자생존(survival of the fittest)의 이론을 기본 개념으로 한다. GSSATA는 패턴 매칭에서 생기는 문제(backreferencing operator in a string)를 해결하기 위하여 공격시나리오로부터 시간에 대한 개념을 제거하고 여기에 John Helland가 제안한 유전 알고리즘을 사용하였다.