1. 침입탐지시스템의 개요

침입탐지시스템은 네트워크나 컴퓨터 시스템 내에서 일어나는 이벤트를 모니터링하고 보안관점에서 분석하는 작업을 수행하고, 허가받지 않은 접근이나 해킹시도를 감지하여 시스템 또는 네트워크 관리자에게 통보해주고, 필요한 대응을 취하도록 하는 시스템을 말한다.

이 시스템을 통하여  시스템 공격, 오용이나 침입을 방지하며, 또한 네트워크 활동을 감시하고 네트워크와 시스템 설정에 취약점이 있는지 확인하며 데이터 무결성을 분석하는 등의 다양한 작업을 수행할 수 있다.

2. 침입탐지방법론의 유형

침입탐지방법론은 탐지를 분석하는 방법에 따라 크게 두 개의 선구적인 흐름이 있는데 첫째는 공격에 관한 축적된 지식을 사용하여 어떤 공격을 사용하고 있다는 증거를 찾는 방식인 오용탐지, 둘째는 감시 중인 시스템의 정상행위에 관한 참조모델을 생성한 후 정상행위에서 벗어나는 경우를 찾는 방식으로 비정상행위탐지가 있다.

3. 오용탐지의 의의

오용탐지는 이미 발견되고 적립된 공격 패턴을 미리 입력해 두었다가 이에 해당하는 패턴이 탐지되면 알려주는 것이다. 이 기법은 비교적 오판률이 낮고 효율적이지만 알려진 공격 이외에는 탐지할 수 없어 새로 발견된 취약점에 대해 주기적인 업데이트가 필요하며 대량의 데이터를 분석하는데 한계가 있다.

4. 오용탐지기법의 6가지 방법론

①전문가 시스템(Expert System)

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

감사 데이터에 대한 추상적인 단계를 부여하며 각 공격 유형에 대한 지식들을 규칙 집합으로 표현한다. 추론 엔진(inference engine)은 사실(fact)로 변환된 감사 사건과 규칙 집합을 비교하며 규칙 집합의 관리를 위하여 규칙 기반 언어(rule based language)를 사용한다.

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

이 접근방식은 알려진 취약점을 이용하려는 시도들에 대한 증거를 찾기 위해 감사자료를 체계적으로 찾을 수 있도록 하며, 또한 보안정책이 적절히 적용되고 있는지 검증하는데 사용될 수도 있다.

하지만 전문가시스템의 전체적인 성능은 아직 낮은 정도이며, 늦은 처리속도로 인해 프로토타입에서만 사용이 되며, 대표적인 시스템으로는 RUSSEL(RUle baSed Sequence Evaluation Language)이라는 규칙 기반 언어를 사용하는 ASAX(Advanced Security audit trail Analysis on uniX)가 있다.

②시그니처 분석(Signature Analysis)

지식 기반 접근(knowledge based approach) 방식을 이용하는 침입 탐지 방법론으로서 침입 양상에 대하여 의미적인 단계를 부여하고 이에 대한 광범위한 정보를 축적한다. 감사 증적으로부터 감사 사건을 직접 검색하여 감사 사건의 기록 순서, 기록 패턴 등을 축적된 정보와 비교하여 침입을 탐지한다.

시그니처 분석은 전문가 시스템과 동일한 방식으로 지식을 획득하지만 지식을 사용하는 방식면에서 차이가 있다. 공격에 대한 의미적 기술은 감사자료에서 곧바로 검색이 가능한 형태의 정보로 변경된다.

예를 들면 공격시나리오는 공격 시 생성되는 감사 이벤트 시컨스로 변경되거나 시스템에 의해 생성된 감사자료에서 탐색할 수 있는 데이터 패턴으로 변경된다. 이 기법은 공격에 관한 기술이 저수준(Low-Level)인 경우에 수행된다.

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

대표적인 서명 분석 방식의 공개용 네트워크 기반 침입탐지시스템로서 Snort(http://www.snort.org/)가 있다.

③페트리넷(Pertri-net)

1995년 퍼듀(Purdue)대학교에서 개발한 지식 기반 침입 탐지 방법론으로서 기존 패턴매칭방법을 개선한 것으로서 침입한 관한 시그니처를 표현하기 위해서 Colored Petri-Nets(CPNs)을 사용하였다.

CPNs는 일반성, 개념적 단순성, 그래프 표현성 등이 장점으로 가지고 있으며, 시스템 관리자는 공격의 시그니처를 작성하고 IDIOT 시스템을 통합할 수 있습니다.

페트리넷은 복잡하고 분산된 시스템을 추상화한 모델을 정립하는데 매우 유용하며 페트리 넷을 이용하여 침입탐지시스템을 모델링 할 경우 개념적으로 단순화가 가능하고 도식적인 표현이 가능하므로 복잡한 침입탐지시스템의 행위들의 집단화(gathering), 분류(classification), 상관 관계(correlation) 등을 매우 효과적으로 설명할 수 있다.

이 방법론은 CPN의 일관성으로 아주 복잡한 시그니처도 쉽게 작성할 수 있지만 복잡한 시그니처를 감사자료와 비교하는 작업에서 상당이 많은 계산비용을 요구한다.

퍼듀대학교의 COAST(Computer Operations, Audit, and Security Technology) 프로젝트의 일환으로 개발된 IDIOT(Intrusion Detection In Our Time) 시스템은 페트리 넷 기반의 침입 패턴 매칭 엔진을 탑재하여 효과적인 오용 탐지 기능을 제공한다.

④상태전이분석(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) 등이 있다.

⑤신경망(Neural Network)

신경망은 타당한 방법으로 새로운 입력출력상황을 얻기 위하여 두 집합의 정보 간 관련성을 학습하고 일반화하는데 사용되는 알고리즘 기법이다.

신경망은 거의 사람 뇌의 동작에 가깝게 만든 프로그램이나 데이터구조 시스템을 말하는데 다수의 데이터의 관계들에 관한 많은 양의 데이터나 규칙이 공급되며 초기에 학습을 통해 기본적인 규칙을 획득한다.

침입탐지 시스템에 있어서의 신경망의 적용은 비정상적인(anomalous) 행위를 학습하여 일정한 규칙을 부여함으로써 시스템에 자동적으로 순응하는 기술을 사용한다.

신경망은 이론적으로 지식기반 침입탐지방식에서 공격을 학습하고 감사스트림에서 탐색하는데 사용될 수 있으나 입력과 출력간의 관계를 알 수 있는 신뢰할 만한 방법이 없기 때문에 공격을 추론하거나 설명할 수 없어 주로 비정상행위 탐지기법으로 많이 연구되었으나 최근에는 지식기반 프로파일을 구성하여 오용탐지기법으로도 사용된다.

⑥유전 알고리즘(genetic algorithm)

유전 알고리즘은 자연선택의 원리와 자연계의 생물유전학에 기본이론을 두며, 모든 생물은 주어진 다양한 환경 속에 적응함으로써 살아남는다는 다윈의 적자생존이론을 기본 개념으로 한다.

이 방법론은 다윈의 자연선택설을 포함하는 진화론 알고리즘의 한 부분으로써 ‘염색체’로 알려진 암호화된 형태의 객체와 새로운 개체를 형성하기 위한 방법으로 염색체의 결합과 돌연변이를 사용한다.

이에 착안하여 유전 알고리즘을 이용한 침입탐지시스템 개발 프로젝트로는 프랑스의 Suplec이 추진 중인 GSSATA는 패턴매칭에서 생기는 문제를 해결하기 위하여 공격 시나리오부터 시간에 대한 개념을 제거하고 여기에 존 홀랜더가 제안한 유전알고리즘을 사용하였다.