본문 바로가기
  • AI (Artificial Intelligence)
Security

침입 탐지 시스템( Intrusion Detection System )

by 로샤스 2014. 4. 9.


   목차

1. 침입탐지시스템의 정의

 

네트워크을 통해 네트워크 시스템 자원을 오용하거나 비정상적인 행위로 데이터를 훼손하거나 서비스 불능상태로 만드는 보안 위협들을 탐지하여 그에 대응할 수 있는 시스템을 말한다.

현재의 외부 인터넷으로부터 보안 위협에 대해 Firewall 시스템으로 보안을 구축하고 있으나 내부자에 의한 침입에 대해서는 방어할 수 없는 상태이며 보안 사고에 대한 즉각적인 보고, 이벤트의 연동, 법적 증거분석을 위한 보안 감사, 그리고 자동화된 대응체계가 미비한 상태이다. 침입 탐지 시스템은 네트워크 트래픽 또는 서버에 대해 의심스러운 행위를 감시 추적하며 감지된 행동에 따라 경고를 발생하거나 위협적인 행위를 차단할 수 있다.

2. 침입탐지시스템의 종류

 

침입탐지 시스템은 침입 탐지를 하는 데이터 소스에 따라 호스트 기반 침입탐지시스템과 multi 호스트 기반 침입탐지시스템 그리고 네트워크 기반 침입탐지시스템으로 구분된다. 침입 탐지의 모델에 따라서 오용(Misuse) 탐지시스템과 변칙(anomaly) 탐지시스템으로 구분된다.

3. 침입탐지시스템 모델에 의한 구분

 

오용 탐지

오용탐지 모델은 다른 말로 Signature-based 탐지 모델이라고도 한다. 이는 알려진 시스템의 취약점을 이용하는 침입방법의 패턴이나 특정 수단에 대한 signature를 정의하고 그에 따른 트래픽을 비교함으로써 침입을 탐지하는 방식이다.

 

변칙 탐지

변칙 탐지 모델은 다르게 Profile-based 탐지 모델이라고도 한다. 이는 네트워크 상의 사용자의 행동을 수집하고 분석하여 통계적 분석에 의해 변칙적 행위를 감지하게 된다.

 

오용탐지와 변칙탐지의 비교

두 모델의 장단점을 비교하면 다음과 같다.

 

 

Misuse

 Anomaly

장점

시스템 자원의 비중이 적다. 탐지 확률이 높다.

보편적인 통계적 처리 방법을 이용가능Misuse방식과 비교하여 보안 인적 자원 비중이 적다.

단점

신규 해킹 출현 시 마다 새로운 signature 반영이 필요Signature 관리를 위한 보안 전문인력이 필요함.

시스템 자원의 비중이 요구됨 통계적 기준을 정함으로 탐지 결과의 확실성이 떨어진다.

4. 데이터 소스에 따른 침입탐지시스템 구분

 

호스트 기반 침입탐지시스템

이 시스템은 단일 호스트에 설치되어 해당 시스템의 감사 데이타를 사용해 침입을 탐지하는 시스템이다. 이방식은 대부분 해당 시스템의 파일들에 대한 무결성을 점검한다. 즉, 그 호스트의 중요한 파일이나 보안 관련 파일들이 수정되었는지 또는 임의의 사용자가 사용자 자신의 보안 수준을 넘는 파일들로 접근하려 시도했는지를 감지한다. 호스트 기반의 침입탐지 시스템은 해당 호스트에 설치되므로 시스템 별로 호환성의 문제를 갖고 있으며 시스템 자원에 부하를 줄 수 있는 단점이 있다. 대신 네트워크 환경에 구애 받지 않는 장점을 가지고 있다.

 

 네트워크 기반 침입탐지시스템

네트워크 기반의 침입탐지 시스템들은 통상 전 네트워크 세그먼트를 감시하는 전용의 시스템들이다. 대부분의 경우 Firewall 외부 네트워크 세그먼트나 내부의 주요 네트워크 세그먼트에 설치한다. 네트워크 기반의 IDS는 네트워크 상에 흘러다니는 모든 패킷들을 검사하여 알려진 공격들이나 의심스러운 행동에 대하여 분석하게 된다. 호스트 기반 IDS와 달리 네트워크 세그먼트를 감시하므로 효과적인 침입탐지 환경을 갖출 수 있고 보호하는 네트워크 서버들의 호환성과 상관없이 기존 서비스의 중단 및 영향없이 시스템을 구축할 수 있게 한다. 다만 네트워크 상의 흘러다니는 모든 트래픽을 검사하므로 네트워크 트래픽 용량에 영향을 많이 받는 단점이 있다.

 

 호스트와 네트워크 기반 침입탐지시스템 비교

 

 

호스트 기반

 네트워크 기반

장점

콘솔 작업자의 공격을 차단

저렴한 비용으로 효과적인 보안 처리가 가능
대규모 네트워크 지원
호스트 공격 전에 탐지 가능

단점

관리와 유지보수가 어려움
대규모 네트워크 지원이 곤란
호스트 성능에 영향을 미침

콘솔 작업자의 공격은 탐지 못함

5. 침입탐지시스템의 기능

 

일반적인 침입탐지시스템들은 다음의 기능을 제공한다.

 

 경보기능

해커에 의한 네트워크나 시스템의 탐지 그리고 직접적인 공격에 대하여 경보, 이 메일 발송, 또는 SNMP trap발송, 기타 다른 방법들을 이용하여 관리자에게 통보한다. 이러한 사전 통보를 통하여 네트워크 관리자 및 시스템 관리자는 능동적으로 전산 자원의 손실을 사전에 방어할 수 있게 된다.

 

 세션 차단기능

침입탐지시스템은 의심스러운 행위를 감지하면 해당 세션을 차단하는 기능을 제공한다. 이는 다른 서비스에 영향을 주지 않고 효과적으로 해당 공격 시도를 선별적으로 막아주는 기능이다. 이 기능은 공격 대상 호스트로 접근 중인 네트워크 세션을 감지한 후 침입탐지 시스템이 그 공격대상 시스템을 가장하여 공격자에게 네트워크 세션을 종료하게끔 한다. 일반적으로 Telnet, FTP와 같은 TCP 세션에 대해서는 TCP FIN 또는 RST(reset) 패킷을 공격자에게 전달하여 세션이 끊어지게 하며 SNMP 또는 Name service와 같은 UDP 세션(UDP에서 세션은 모순되는 말이지만)은 ICMP의 "port unreachable" 메시지를 전달하여 더 이상의 진행을 차단하게 된다.

 

 셔닝(shunning) 기능

이 기능은 침입탐지시스템 자체로 의심스러운 탐지나 공격을 차단하는 것이 아니라 라우터나 Firewall에게 공격자나 의심스러운 자의 근원지 IP 주소와 서비스 포트에 대해 해당 패킷을 막도록 지시하는 기능이다. 그렇게 함으로써 그 다음부터 오는 동일 패킷들은 폐기된다. 이러한 연동 기능은 일반적으로 발생할 수 있는 프로토콜의 오류에 대해서도 민감하게 동작하기 때문에 그 효용성에 대해 조심스럽게 검토하여야 하며 충분하게 네트워크 트래픽에 대한 검토 후 적용되어야 한다. 또한 라우터에 ACL(Access Control List)를 적용하게 되는 경우 라우터의 성능을 저하시켜 높은 트래픽을 가지고 있는 환경에서는 서비스에 지장을 초래할 수도 있다.

 

 사용자 프로그램의 실행

일부 침입탐지시스템의 경우 지정된 이벤트에 따라 특정한 사용자 프로그램을 실행할 수 있도록 한다. 공격자로부터 탐지나 공격에 대하여 적절한 대응 방안에 대해 사용자 환경에 맞게 적용할 수 있으므로 유용한 기능이며 필요하다면 해킹 발생에 대하여 시스템의 순서적인 정지를 가능하게 할 수 있다.

6. 침입탐지시스템의 장점 및 단점

 

 장점

침입탐지시스템은 기존 네트워크의 보안 레벨을 한 층 높여줄 수 있는 시스템이며 외부 또는 내부의 보안 위협에 대해 수동적인 대응에서 보다 적극적이고 능동적인 대응 방안을 마련하도록 한다.

일반적인 네트워크 공격은 오랜 시간의 탐지행동을 거친 후 보안 홀을 찾아 공격으로 전이하게 된다. 따라서 침입탐지시스템의 도입은 이러한 공격 전 단계의 행위를 감지함으로써 실질적인 네트워크 공격을 무산시킬 수 있는 강력한 무기를 제공하게 된다.

 

 단점

일반적으로 침입탐지시스템들의 민감성이 매우 중요하다. 특정 탐지나 공격의 패턴을 민감하게 감지할 수 있어야 고도의 네트워크 해킹 기법들에 대응할 수 있다. 그렇지만 이러한 민감성은 일반적으로 발생할 수 있는 트래픽들, 예를 들어 일부 NAT(Network Address Translation) 장비에서 발생하는 port 0 와 같은 이벤트나 한 기업에서 프록시 캐시를 사용하는 경우는 "port scan" 이라는 특정의 이벤트들로 감지할 수도 있다. 이를 False Positive라고 한다. 말 그대로 하면 "잘못된 양성반응" 이라고 할 수 있다. 이러한 False positive는 모든 침입탐지시스템에서 일반적인 현상이므로 충분한 customize가 필요하게 된다. 따라서 세션 차단 기능 또는 라우터나 Firewall 연동 시에 주의 깊게 정의를 하여야 하며 만약 이런 False positive에 대해 정의하지 않는 경우 일반적인 서비스에 큰 장애를 유발하게 된다.

 

 

 

출처 : http://www.enclue.com/library/system_ids.html

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글