|  |
| --- |
| 시리즈 일부 |
| 정보 보안 |
|  |
| 
관련 보안 분류 |
| * 인터넷 보안
* 자동차 보안
* 사이버 전쟁
* 컴퓨터 보안
* 모바일 보안
* 네트워크 보안
 |
| 
위협 |
| * 지능형 지속 공격
* 사이버 범죄
* 취약점
* 도청
* 악성 소프트웨어
* 스파이웨어
* 랜섬웨어
* 트로이 목마
* 바이러스
* 웜
* 루트킷
* 부트킷
* 키로깅
* 스크린 스크레이퍼
* 취약점 공격
* 백도어
* 논리 폭탄
* 페이로드
* 서비스 거부 공격
* 웹 셸
* 피싱
 |
| 
방어 |
| * 컴퓨터 접근 제어
* 애플리케이션 보안
	+ 바이러스 검사 소프트웨어
	+ 소프트웨어 개발 보안
	+ 기본상 보안
	+ 설계상 보안
	+ 보안 운영 체제
* 인증
	+ 다요소 인증
* 허가
* 데이터 중심 보안
* 암호화
* 방화벽
* 침입 탐지 시스템
* 모바일 보안 게이트웨이
* 런타임 응용 프로그램 자체 보호 (RASP)
 |
| * v
* t
* e
 |

**침입 탐지 시스템**(Intrusion Detection System, IDS)은 일반적으로 시스템에 대한 원치 않는 조작을 탐지하여 준다. IDS는 매우 많은 종류들이 존재하며, 여기서는 그들 중 일부를 설명한다. 시스템에 대한 원치 않는 조작은 악의를 가진 숙련된 해커 또는 자동화된 툴을 사용하는 스크립트 키디에 의한 공격의 형태로 행해질 수 있다.

침입 탐지 시스템은 전통적인 방화벽이 탐지할 수 없는 모든 종류의 악의적인 네트워크 트래픽 및 컴퓨터 사용을 탐지하기 위해 필요하다. 이것은 취약한 서비스에 대한 네트워크 공격과 애플리케이션에서의 데이터 처리 공격(data driven attack), 그리고 권한 확대(privilege escalation) 및 침입자 로그인 / 침입자에 의한 주요 파일 접근 / 악성 소프트웨어(컴퓨터 바이러스, 트로이 목마, 웜)와 같은 호스트 기반 공격을 포함한다.

IDS는 여러 개의 구성 요소로 이루어져 있다: **센서**는 보안 이벤트를 발생시키며, **콘솔**은 이벤트를 모니터하고 센서를 제어하거나 경계시키며(alert), 중앙 **엔진**은 센서에 의해 기록된 이벤트를 데이터베이스에 기록하거나, 시스템 규칙을 사용하여 수신된 보안 이벤트로부터 경고를 생성한다. IDS를 분류하는 방법은 센서의 종류와 위치 그리고 엔진이 경고를 만드는 데 사용하는 방법론 등에 따라 여러가지가 있다. 많은 간단한 IDS들은 위의 세 가지 요소들을 하나의 장치 또는 설비로 구현하고 있다.

악용 탐지 대 비정상 탐지
--------------

시그니처 기반 침입 탐지 시스템으로도 알려진 악용 탐지 시스템(misuse detection system)은 악의적인 것으로 추정되는 트래픽 또는 애플리케이션 데이터의 패턴을 감시하여 침입을 식별한다. 이러한 종류의 시스템은 오직 '알려진' 공격만 탐지할 수 있다고 여겨진다. 그러나 그들의 규칙 집합에 따라, 시그니처 기반 IDS들은 때때로 알려진 공격들과 서로 특징을 공유하는 (예를 들어 HTTP GET 요청을 통한 'cmd.exe' 접근과 같은) 새로운 공격들을 탐지할 수 있다.

IDS는 채집된 정보를 분석하여, 공격 시그니처를 저장하는 거대한 데이터베이스를 통해 그것을 비교한다. IDS는 본질적으로 이미 문서화된(알려진) 특정 공격을 찾는 것이다. 바이러스 탐지 시스템에서처럼, 악용 탐지 소프트웨어는 단지 패킷을 비교하기 위해 사용되는 공격 시그니처 데이터베이스나 마찬가지이다.

변칙 기반 침입 탐지 시스템(anomaly based intrusion detection system)은 네트워크 또는 호스트의 일반적인 동작과 다른것으로 추정되는 트래픽 또는 애플리케이션 컨텐트를 시스템 운영자에게 알리는 것으로 침입을 식별한다. 변칙 기반 IDS는 일반적으로 이것을 스스로 학습하여 이룬다.

변칙 탐지에서, 시스템 관리자는 네트워크의 트래픽 로드, 고장(breakdown), 프로토콜, 그리고 일반적인 패킷 크기에 대한 기준선 또는 일반 상태를 정의한다. 변칙 탐지자(anomaly detector)는 네트워크 세그먼트를 모니터하여 정의된 기준과 그들의 상태를 비교하고 변칙을 찾는다.

네트워크 기반 시스템 대 호스트 기반 시스템
------------------------

네트워크 기반 시스템(또는 NIDS)에서 센서는 모니터할 네트워크 또는 종종 DMZ나 네트워크 경계의 초크 지점(choke point)에 위치한다. 센서는 악의적 트래픽 탐지를 위해 모든 네트워크 트래픽의 흐름을 캡처하여 각각의 패킷 내용을 분석한다. 호스트 기반 시스템에서 센서는 보통 그것이 설치된 호스트의 모든 활동을 감시하는 소프트웨어 에이전트로 구성된다. 이 두가지 형식이 혼합된 하이브리드 시스템 역시 존재한다.

* 네트워크 침입 탐지 시스템은 네트워크 트래픽을 검사하고 여러 호스트들을 모니터하여 침입을 식별하는 독립된 플랫폼이다. 네트워크 침임 탐지 시스템은 포트 미러링 또는 네트워크 탭(network tap)을 위해 설정된 허브, 네트워크 스위치에 연결하여 네트워크 트래픽에 접근한다.

* 호스트 기반 침입 탐지 시스템은 호스트에서 시스템 콜, 애플리케이션 로그, 파일 시스템의 수정사항(이진 파일, 패스워드 파일, capability/acl 데이터베이스) 그리고 호스트의 동작과 상태등을 분석하여 침입을 식별하는 에이전트로 구성된다.

* 하이브리드 침입 탐지 시스템은 위의 두가지 방식을 결합한 것이다. 호스트 에이젼트 데이터는 네트워크의 종합적인 관점을 위해 네트워크 정보와 결합된다. 하이브리드 IDS 중 하나로 Prelude가 있다.

수동적 시스템 대 반응적 시스템
-----------------

수동적 시스템에서의 IDS 센서는 가능성 있는 보안 침해 사항을 탐지하여, 정보를 로그로 기록하고 콘솔을 통해 경고 신호를 보낸다. 반응적 시스템에서의 IDS 센서는 의심스러운 동작에 대해 자율적으로 또는 시스템 운영자에 의해 사용자를 로그 오프 시키거나, 방화벽을 다시 프로그래밍하여 의심스러운 악의적 출처로부터 네트워크 트래픽을 차단하도록 응수한다.

비록 둘다 네트워크 보안과 관련되지만, IDS는 침입 발생 자체를 막기 위한 방화벽과는 다르다. 방화벽은 침입을 막기 위해 네트워크 사이의 접근을 제한하며, 네트워크 내에서의 공격에 대한 신호를 보내지 않는다(does not signal an attack from inside the network). 반면에 IDS는 일단 의심스러운 침입이 발생하면 그것을 평가하고 경보 신호를 보낸다. IDS는 또한 현 시스템 내부에서 발생한 공격에 대해서도 감시한다.

이것은 전통적으로 네트워크 통신을 검사하고, 일반적인 컴퓨터 공격에 대한 휴리스틱과 (시그니처로도 알려진) 패턴을 식별하며, 시스템 운영자에게 경고하기 위한 동작을 취하는 것으로 성취된다. 네트워크 연결을 끝내는 시스템은 침입 차단 시스템이라 불리며, 이것은 애플리케이션 계층 방화벽의 또 다른 형태이다.