■ IDS 침입탐지시스템
IDS는 Intrusion Detection System 의 약자로 한글로 "침입탐지시스템"이라고 불립니다.
침입탐지를 하기 위해 관찰하고 있는 대상에 따라 H-IDS와 N-IDS의 두가지 분류로 나누고 있습니다.
Host(컴퓨터)에서 일어나고 있는 일련의 활동들을 감시하고 침입 발생에 대해
탐지를 하는 IDS를 H-IDS(Host-based IDS)라고 부르며,
Network 상에서 일어나는 활동들을 감시하고 침입 시도를 탐지하는
IDS를 N-IDS(Network-based IDS)라고 합니다.
H-IDS는 감시 대상이 되는 host(컴퓨터)에 탑재가 되며, N-IDS는 지나가는 트래픽들을 볼 수 있는
감시 대상이 되는 네트워크단에 설치가 됩니다.
■ 기능
- 일반적으로 시스템에 대한 원치 않는 조작을 탐지하여 준다.
? 침입 탐지 시스템은 전통적인 방화벽이 탐지할 수 없는 모든 종류의 악의적인
네트워크 트래픽 및 컴퓨터 사용을 탐지하기 위해 필요하다.
이것은 취약한 서비스에 대한 네트워크 공격과 에플리케이션에서의 데이터 처리 공격(data driven attack)
그리고 권한 상승(privilege escalation) 및 침입자 로그인 / 침입자에 의한 주요 파일 접근 /
멀웜(컴퓨터 바이러스, 트로이 목마, 웜)과 같은 호스트 기반 공격을 포함한다.
? IDS는 여러개의 컴포넌트들로 구성된다:
센서는 보안 이벤트를 발생시키며,
콘솔은 이벤트를 모니터하고 센서를 제어하거나 경계시키며(alert),
중앙 엔진은 센서에 의해 기록된 이벤트를 데이터베이스에 기록하거나, 시스템 규칙을 사용하여
수신된 보안 이벤트로부터 경고를 생성한다.
IDS를 분류하는 방법은 센서의 종류와 위치 그리고 엔진이 경고를 만드는데 사용하는 방법론에 따라 여러가지가 있다.
많은 간단한 IDS들은 위의 세개의 컴포넌트들을 하나의 장치 또는 설비로 구현하고 있다.
악용 탐지(Misuse Detection) 대 비정상 탐지(Anomaly Detection)
■ 악용탐지시스템(Misuse Detection System)
시그니쳐 기반 침입 탐지 시스템으로도 알려진 악용 탐지 시스템은 악의적인 것으로
추정되는 트래픽 또는 애플리케이션 데이터의 패턴을 감시하여 침입을 식별한다.
이러한 종류의 시스템은 오직 '알려진' 공격만 탐지할 수 있다고 여겨진다.
그러나 그들의 규칙 집합에 따라, 시그니쳐 기반 IDS들은 때때로 알려진 공격들과 서로 특징을 공유하는
(예를 들어 HTTP GET 요청을 통한 'cmd.exe' 접근과 같은) 새로운 공격들을 탐지할 수 있다.
IDS는 채집된 정보를 분석하여, 공격 시그니쳐를 저장하는 거대한 데이터베이스를 통해 그것을 비교한다.
IDS는 본질적으로 이미 문서화된(알려진) 특정 공격을 찾는 것이다.
바이러스 탐지 시스템에서처럼, 악용 탐지 소프트웨어는 단지 패킷을 비교하기 위해 사용되는
공격 시그니쳐 데이터베이스나 마찬가지이다.
■ 변칙기반침입탐지 시스템(Anomaly Based Intrusion Detection System)
변칙 기반 침입 탐지 시스템은 네트워크 또는 호스트의 일반적인 동작과 다른것으로 추정되는 트래픽 또는
애플리케이션 컨텐트를 시스템 운영자에게 알리는 것으로 침입을 식별한다.
변칙 기반 IDS는 일반적으로 이것을 스스로 학습하여 이룬다.
변칙 탐지에서, 시스템 관리자는 네트워크의 트래픽 로드, 고장(breakdown), 프로토콜,
그리고 일반적인 패킷 크기에 대한 기준선 또는 일반 상태를 정의한다.
변칙 탐지자(anomaly detector)는 네트워크 세그먼트를 모니터하여 정의된 기준과 그들의 상태를 비교하고 변칙을 찾는다.
네트워크 기반 시스템 대 호스트 기반 시스템
■ 네트워크기반 시스템
네트워크 기반 시스템(또는 N-IDS)에서 센서는 모니터할 네트워크 또는 종종 DMZ나
네트워크 경계의 초크 지점(choke point)에 위치한다.
센서는 악의적 트래픽 탐지를 위해 모든 네트워크 트래픽의 흐름을 캡쳐하여 각각의 패킷 내용을 분석한다.
호스트 기반 시스템에서 센서는 보통 그것이 설치된 호스트의 모든 활동을 감시하는 소프트웨어 에이전트로 구성된다.
이 두가지 형식이 혼합된 하이브리드 시스템 역시 존재한다.
- 네트워크 침입 탐지 시스템은 네트워크 트래픽을 검사하고 여러 호스트들을 모니터하여 침입을 식별하는 독립된 플랫폼이다.
네트워크 침임 탐지 시스템은 포트 미러링 또는 네트워크 탭(network tap)을 위해 설정된 허브, 네트워크 스위치에 연결하여
네트워크 트래픽에 접근한다.
- 호스트 기반 침입 탐지 시스템은 호스트에서 시스템 콜, 애플리케이션 로그, 파일 시스템의 수정사항(이진 파일, 패스워드 파일,
capability/acl 데이터베이스) 그리고 호스트의 동작과 상태등을 분석하여 침입을 식별하는 에이전트로 구성된다.
- 하이브리드 침입 탐지 시스템은 위의 두가지 방식을 결합한 것이다. 호스트 에이젼트 데이터는 네트워크의 종합적인 관점을 위해
네트워크 정보와 결합된다. 하이브리드 IDS 중 하나로 Prelude가 있다.
수동적 시스템 대 반응적 시스템
■ 수동적 시스템
수동적 시스템에서의 IDS 센서는 가능성 있는 보안 침해 사항을 탐지하여, 정보를 로그로 기록하고 콘솔을 통해 경고 신호를 보낸다.
■ 반응적 시스템
반응적 시스템에서의 IDS 센서는 의심스러운 동작에 대해 자율적으로 또는 시스템 운영자에 의해 사용자를 로그 오프 시키거나,
방화벽을 다시 프로그래밍하여 의심스러운 악의적 출처로부터 네트워크 트래픽을 차단하도록 응수한다.
비록 둘다 네트워크 보안과 관련되지만, IDS는 침입 발생 자체를 막기 위한 방화벽과는 다르다.
방화벽은 침입을 막기 위해 네트워크 사이의 접근을 제한하며, 네트워크 내에서 공격 신호를 보내지 않는다
(does not signal an attack from inside the network).
반면에 IDS는 일단 의심스러운 침입이 발생하면 그것을 평가하고 경보 신호를 보낸다.
IDS는 또한 현 시스템 내부에서 발생한 공격에 대해서도 감시한다.
이것은 전통적으로 네트워크 통신을 검사하고, 일반적인 컴퓨터 공격에 대한 휴리스틱과 (시그니쳐로도 알려진) 패턴을 식별하며,
시스템 운영자에게 경고하기 위한 동작을 취하는 것으로 성취된다.
네트워크 연결을 끝내는 시스템은 침입 차단 시스템이라 불리며, 이것은 애플리케이션 계층 방화벽의 또 다른 형태이다.
--------------------------------------------------------------------------------
요약정리
IDS 개요
1. 방화벽이 내부망 보안을 수행하는데 있어 그 적용의 한계가 드러나 이를 보완 해줄 시스템의 필요
2. 침입의 패턴 데이터베이스와 Expert System을 사용해 네트워크나 시스템의 사용을 실시간 모니터링 하고 침입을 탐지하는 역할
IDS 정의
1. IDS는 단순한 접근제어 기능을 넘어 침입의 패턴 데이터베이스와 Expert system을 사용해 네트워크나 시스템의 사용을
실시간 모니터링 하고 침입을 탐지하는 보안 시스템을 의미
2. IDS는 허가되지 않은 사용자로부터 접속, 정보의 조작, 오용, 남용 등 컴퓨터 시스템 또는 네트워크상에서 시도 됐거나
진행중인 불법적인 예방에 실패한 경우 취할 수 있는 방법으로 의심스러운 행위를 감시하여 가능한 침입자를 조기에 발견하고
실시간 처리를 목적으로 하는 시스템
IDS의 주요 목적
1. 시스템 자원의 보호
2. 공격 대응 및 복구
3. 통계적 분석 보고
4. 증거 수집 및 역추적
5. 정보 유출 방지
IDS 주요 기능
1. 저 수준 필터링, 고 수준 필터링을 이용한 감시자료 수집 기능
2. Misuse(오용) 침입 탐지 기능
3. Anomaly(비정상) 침입 탐지 기능
4. 서비스 거부 탐지 기능
5. 자동 침입 분류 기능
6. 침입 탐지 경보 및 대응
7. 시스템 취약점 점검 및 복구 기능
8. 편리한 사용자 인터페이스 기능
9. 침입자 역추적 기능
탑지영역에 따른 IDS 분류
1. H-IDS(Host based IDS)
- 개별 호스트의 O/S가 제공하는 보안감사 로그, 시스템 로그, 사용자 계정 등의 정보를 이용해서 호스트에 대한 공격을 탐지
- 각 호스트에 상주하는 Agent 와 이들을 관리하는 Agent Manager로 구성
- 중요한 시스템 파일이나 실행코드에 대한 무결성 검사 기능이나 시스템의 취약점들을 탐지해 주는 취약성 스캐너(Vulerability Scanner)
등과 결합되어 사용
- 특정 시스템과의 O/S와 밀접히 결합되어 각종 행위를 분석하므로 정교한 모니터링과 로깅이 가능
- IDS 문제 발생 시 해당 호스트에 영향을 미치며 IDS로 인해 시스템에 부하를 크게 함.
2. N-IDS(Network based IDS)
- 네트워크 기반의 공격을 탐지하여 네트워크 기반 구조를 보호하는 것을 목적으로 함
- 호스트 기반의 IDS처럼 호스트에 대한 공격을 탐지하거나 상세한 기록을 남길 수는 없으며, 네트워크가 분할되어 있는 경우
제 기능을 발휘하지 못하거나 적용 범위가 제한되어 실용성이 없는 경우도 있음
- NIC를 통해 패킷을 수집하여 수동적인 분석을 하기 때문에 기존 네트워크에 영향을 주지 않고 설치가 편리
침입 모델에 따른 분류
1. 비정상적인 침입탐지 기법
- 감시되는 정보 시스템의 일반적인 행위들에 대한 프로파일을 생성하고 이로부터 벗어나는 행위를 분석하는 기법
? 통계적인 자료 근거 : 통계적으로 처리된 과거의 경험 자료를 기준으로 특별한 행위 또는 유사한 사건으로 이탈을 탐지
? 특징 추출에 의존 : 경험적인 침입탐지 측정 도구와 침입의 예측 및 분류 가능한 침입도구의 집합으로 구성된 침입 탐지 방법
? 예측 가능한 패턴 생성 : 이벤트 간의 상호관계와 순서를 설명하고 각각의 이벤트에 시간을 부여하여 기존에 설정된
침입 시나리오와 하여 침입을 탐지하는 방법
2. 오용(misuse) 침입탐지 기법
- 과거의 침입 행위들로부터 얻어진 지식으로부터 이와 유사하거나 동일한 행위를 분석하는 기법
- 방법이 간단하고 효율적이어서 상용제품에 널리 이용되지만 조금만 변형된 공격에도 Signature가 달라 침입을
탐지하지 못하는 경우가 있음
? 조건부 확률 이용 : 특정 이벤트가 침입일 확률을 조건부 확률을 이용하여 계산하는 방법
? 전문가 시스템 : 축약 감사 사건과 일치하는 사건을 명시하며, 공격 패턴을 탐지하고 이미 설정된 규칙에 따라 처리하는 방법
? 상태전이 분석 : 공격패턴을 상태전이의 순서로 표현하며, 초기의 상태에서 최종 상태로의 전이 과정
즉 침입과정을 규칙 기반으로 탐지 하는 방법
? 키스트로크 관찰 방법 : 사용자의 키스트로크를 감시하여 공격패턴을 나타내는 특정 키 스트로크 순서를 패턴화 하여 침입을 방지
? 모델에 근거한 방법 : 공격 패턴을 DB화 하고 특정 공격패턴에 대해 DB를 참조하여 침입 여부를 탐지
IDS의 장점
1. 해킹 방법을 기반으로 해커의 침입을 감지 하므로 신기술의 적용이 빠름.
- 외부로부터의 공격뿐만 아니라 내부자에 의한 해킹도 차단할 수 있으며, 이에따라 기존 방화벽이 지원하지 못하는 ID도용을 통한
내부 공격자의 해킹도 차단
2. 접속하는 IP에 상관없이 침입을 차단할 수 있음
- 기존 방화벽은 인증된 IP로의 공격은 막지 못하므로 해커들이 인증된 IP로 공격이 성공하면 방화벽이 무용지물이 되었으나
IDS는 IP에 상관없이 모든 패킷에 대한 검사를 수행하므로 더욱 안전
3. 시스템 침입에 즉시 대응이 가능
- 해킹 사실이 발견 되었을 때 해킹에 관한 정보를 휴대전화, 무선호출기, 전자우편 등으로 즉시 전송,
네트워크 관리자가 부재시에도 시스템 보안을 유지할 수 있으며, 탐지에 그치지 않고 침투경로까지 추적해 해커를 적발하며,
데이터를 안전한 곳으로 전환시켜 놓는 등 방화벽의 수동 적인 대처와는 달리 적극적인 보안 기능을 갖출 수 있음.
H-IDS의 장점
1. 정확한 탐지가 가능.
- 실제로 일어난 이벤트를 포함하는 로그를 사용하므로 보다 정확하다.
2. 시스템 이벤트 감시
- 사용자와 파일의 접근활동, 파일의 허용의 변화, 새로운 실행 파일을 설치하려는 시도 그리고 특정한 서비스의 접근을 감시
- 공격자가 어떤 명령을 실행시켰는지, 어떤 파일을 open 시켰는지, 어떤 system call을 실행시켰는지, 어떤 위험한 명령어를 실행시켰는지
정확히 관리자에게 통보할 수 있다.
3. N-IDS이 놓치는 공격 탐지
- 중요한 서버의 터미널로부터의 공격
- 시스템 내부에서 공격
4. 암호화 / 스위치 환경에서 적합
- H-IDS는 중요한 호스트에 직접 탑재되므로 스위치된 환경의 Network와 무관
- N-IDS는 암호화 통신을 하는 구간에서는 많은 제한을 받을 수 있다.
5. 추가적인 하드웨어 불필요
- 별도의 시스템이나 네트워크 장비가 추가 요구되지 않음.
H-IDS의 단점
1. 특정 기기 또는 기관의 정확한 시스템 구성을 알아야 함
2. 툴의 기능 향상이나 다른 시스템에 적용이 어렵다.
3. 네트워크와 관련된 행위는 분석할 수 없다.
4. 감시자료의 보관 및 처리를 위해 디스크, 처리시간 등의 자원이 필요하다.
5. 운영체제가 취약할 경우 툴의 무결성 모장이 어렵다.
6. 특정 기기에 의존하므로 설치 비용이 많이 든다.
7. 다른 방법에 비하여 유지관리 비용이 많이 든다.
N-IDS의 장점
1. 저렴한 투자비용
- Network traffic을 감시할 수 있는 전략적인 위치에만 설치(효과적인 침입탐지 가능)
- 다양한 호스트를 관리하는 SW필요 없음
2. H-IDS이 놓치는 공격 탐지
- H-IDS는 모든 패킷의 헤더를 볼 수 없으므로 모든 종류의 공격을 탐지할 수 없다.(TearDrop, IP 기반의 DOS공격)
- Payload를 검사 함으로써 특별한 공격에 사용되는 Command 와 Syntax를 찾아냄
3. 공격 흔적 제거의 난이
- Network traffic을 이용하므로 공격자는 흔적을 제거할 수 없다.
- Capture 된 데이터는 공격의 방법 뿐 아니라 사후 조사에 사용될 많은 정보를 포함하고 있다.
4. 실시간 탐지와 대응
- TCP Dos 동격을 당하는 시스템이 감지되면 곧바로 TCP reset으로 공격을 중지
- H-IDS는 공격을 인식 못하기 때문에 공격 행위가 실행된 후에 조치를 취한다.
5. 실패한 공격의 탐지
- N-IDS를 방화벽 앞단에 설치하면 방화벽이 차단하는 공격도 탐지할 수 있다.
6. 운영체제 독립적
N-IDS 단점
1. 특정 기기 내에서 이루어지는 명령어에 대한 탐지는 불가
2. 통신 내용이 암호화된 경우 침입 탐지 불가
3. 랜 스위치 등으로 네트웍 전체의 내용을 감시하는 것이 어려움
4. 현재의 네트워크 기반 IDS는 초고속 네트워크 검사는 어려움
5. 특정 시스템에 대한 정보가 부족하므로 Host-based 도구보다 부정확한 결과를 얻을 수 있다.
6 네트워크 동작과 성능에 영향을 줄 수 있다.(DoS등의 점검시)
7. 침입을 위한 사전 공격 도구로 사용될 수도 잇따.