IDS/IPS 원리와 활용 방법
침입 탐지 및 방지 시스템
IDS(침입 탐지 시스템)란
시스템의 정상적인 네트워크 운영과 비정상적이고 잠재적으로 유해한 활동을 구분하며 네트워크에 연결된 잠재적 위협과 취약점을 식별합니다.
네트워크 트래픽을 검사하여 데이터 전송에 개입하지 않고도 관리자에게 의심스러운 활동을 경고하는 역할을 합니다.
유형
1. 시그니처 기반 IDS
미리 정의된 공격 패턴(Signature)과 현재 트래픽을 비교하여 공격 여부를 판단하는 방식입니다. 백신 프로그램이 악성코드 패턴을 비교하여 탐지하는 방식과 유사합니다.
특징
- 알려진 공격 탐지에 매우 효과적
- 탐지 속도가 빠름
- 오탐(False Positive)이 비교적 적음
단점
- 새로운 공격(Zero-Day Attack) 탐지가 어려움
- 지속적인 패턴 업데이트 필요
탐지 예시
- SQL Injection 패턴
- 특정 악성코드 시그니처
- 알려진 취약점 공격 코드
2. 이상 징후 기반 IDS
정상적인 네트워크 동작 패턴을 학습한 뒤, 평소와 다른 비정상 행위를 탐지하는 방식입니다.
특징
- 알려지지 않은 공격 탐지 가능
- 내부자 공격 탐지에 유리
- AI/머신러닝 기반 분석에도 활용
단점
- 정상 행위를 잘못 공격으로 판단하는 오탐 가능성 존재
- 초기 학습 과정 필요
- 환경 변화에 민감함
탐지 예시
- 갑작스러운 대량 트래픽 발생
- 새벽 시간대의 비정상 접속
-
특정 사용자의 평소와 다른 행동 패턴
- NIDS(네트워크 침입 탐지 시스템): 네트워크 트래픽을 감시하여 DoS 공격, 포트 스캔, 컴퓨터를 크랙하려는 시도 등과 같은 악의적인 동작들을 탐지하는 시스템
- HIDS(호스트 기반 침입 탐지 시스템): 개별 호스트의 운영체제 내부에 설치되어 시스템 파일 변경, 로그, 프로세스 활동 등을 실시간으로 모니터링하여 침입 및 내부 공격을 감지하는 보안 소프트웨어
- PIDS(프로토콜 기반 침입 탐지 시스템): 네트워크나 시스템에서 사용되는 특정 통신 프로토콜을 모니터링하고 분석하여 위협을 식별하는 보안 솔루션
동작 원리
1. 데이터 수집(Data Collection)
IDS는 먼저 네트워크와 시스템에서 다양한 데이터를 수집합니다.
-
NIDS의 데이터 수집 NIDS는 네트워크 구간을 지나가는 패킷(Packet)을 수집합니다. 일반적으로 다음과 같은 방식으로 패킷을 가져옵니다.
- 스위치의 SPAN(Mirroring) 포트
- 네트워크 TAP 장비
- 허브 기반 네트워크
- 라우터 미러링 기능
수집 대상:
- IP 패킷
- TCP/UDP 헤더
- HTTP 요청
- DNS 질의
- 이메일 트래픽
-
FTP 통신 예를 들어 공격자가 특정 서버에 대량의 SYN 패킷을 보내면, IDS는 이를 수집하여 분석 대상으로 저장합니다.
- HIDS의 데이터 수집 HIDS는 개별 시스템 내부 정보를 수집합니다.
수집 대상:
- 시스템 로그
- 사용자 로그인 기록
- 프로세스 실행 정보
- 파일 무결성 변경
- 레지스트리 변경
- 권한 상승 시도
- 서비스 실행 상태
ex) /etc/passwd 파일 변경 관리자 권한 획득 시도 비정상 프로세스 실행 등을 실시간으로 감시합니다.
2. 전처리 및 정규화(Preprocessing & Normalization)
수집된 데이터는 분석하기 쉽도록 정리됩니다.
이 과정에서는
불필요한 데이터 제거
패킷 재조립(Fragment Reassembly)
세션 추적(Session Tracking)
프로토콜 해석(Protocol Decoding)
등이 수행됩니다.
예를 들어 HTTP 요청이 여러 패킷으로 나뉘어 전송되었다면, IDS는 이를 다시 조립하여 하나의 요청으로 분석합니다.
3. 패킷 및 이벤트 분석(Analysis Engine)
IDS의 핵심 단계입니다. 분석 엔진은 수집된 데이터를 기반으로 공격 여부를 판단합니다. 분석 방식은 크게 두 가지로 나뉩니다.
(1) 시그니처 기반 분석(Signature-based Detection)
이미 알려진 공격 패턴(Signature)과 비교하여 탐지하는 방식입니다.
동작 과정:
- 패킷 수집
- 패턴 데이터베이스와 비교
- 일치 여부 확인
- 공격 판단
예를 들어 다음과 같은 SQL Injection 패턴이 있다고 가정합니다.
' OR 1=1 --IDS는 HTTP 요청 안에 해당 문자열이 포함되어 있는지 검사합니다.
특징:
- 빠르고 정확함
- 알려진 공격 탐지에 강함
- 오탐률이 낮음
단점:
- 새로운 공격 탐지 어려움
- 패턴 업데이트 필요
(2) 이상 징후 기반 분석(Anomaly-based Detection)
정상적인 시스템 동작 패턴을 기준으로 비정상 행위를 탐지하는 방식입니다.
동작 과정:
- 정상 트래픽 학습
- 기준(Baseline) 생성
- 현재 상태와 비교
- 이상 여부 판단
예를 들어 평소 초당 100개의 패킷이 발생하던 서버에서 갑자기 초당 10만 개의 패킷이 발생하면 이를 비정상 행위로 판단합니다.
머신러닝 활용
최근 IDS는 AI/머신러닝 기술을 이용하여
사용자 행동 분석(UBA)
트래픽 패턴 분석
비정상 행위 예측
등도 수행합니다.
특징:
- 알려지지 않은 공격 탐지 가능
- 내부자 공격 탐지 가능
단점
- 오탐률이 높을 수 있음
- 초기 학습 필요
4. 탐지 및 정책 판단(Detection & Policy Decision)
분석 결과 공격으로 판단되면 IDS는 정책에 따라 행동합니다. IDS는 일반적으로 다음 요소를 기준으로 판단합니다.
- 공격 위험도
- 공격 빈도
- 출발지 IP
- 대상 시스템 중요도
- 프로토콜 종류
동일 IP에서 짧은 시간 동안 수천 번 로그인 시도, 비인가 포트 접근, 비정상 DNS 요청, 등을 침입 시도로 판단할 수 있습니다.
5. 경고(Alert) 생성
침입이 탐지되면 관리자에게 경고를 전달합니다.
경고 방식:
- 이메일
- SMS
- 대시보드
- SIEM 연동
- 로그 파일 기록
경고 정보에는 일반적으로 다음 내용이 포함됩니다.
- 공격 시간
- 공격 유형
- 출발지/목적지 IP
- 사용된 프로토콜
- 위험 수준(Severity)
예시:
[ALERT]
Potential Port Scan Detected
Source IP: 192.168.1.15
Destination IP: 10.0.0.5
Severity: High
6. 로그 저장 및 포렌식(Logging & Forensics)
탐지 결과는 로그 형태로 저장됩니다.
이 로그는
사고 분석
디지털 포렌식
공격 경로 추적
보안 정책 개선
등에 활용됩니다.
특히 기업 환경에서는 IDS 로그를 SIEM(Security Information and Event Management) 시스템과 연동하여 중앙에서 통합 관리합니다.
대표적인 SIEM 솔루션:
- Splunk
- Elastic Stack
장점
- 항시 모니터링: 서비스 중단이나 지연 없이 안전하게 네트워크를 모니터링합니다.
- 다양한 위협 탐지: 정상적이지 않은 트래픽 패턴부터 알려진 위협까지 다양한 공격을 탐지할 수 있습니다.
- 유연성: 다양한 환경에 적용이 가능하며 위치에 따른 제약이 적습니.
단점
- 반응의 부재: 공격을 단순히 탐지하고 알릴 뿐 자동으로 차단하지 않습다.
- 미탐 가능성: 패턴에 없는 새로운 공격은 탐지가 불가능합니다.
- 우회 가능성: 공격자가 IDS의 탐지 메커니즘을 알 경우, 우회하는 방법으로 공격을 시도할 수 있습니다.
IPS(침입 방지 시스템)란
위협이 네트워크 방어에 침투하기 전에
선제적으로 작동하여 위협을 완화하는 등
악성 트래픽을 실시간으 차단하고 분석하는 동적 보안 솔루션입니다.
유형
- 데이터 수집 방식
- NIPS: 네트워크 내 주요 지점에 Inline으로 설치되어 실시간 트래픽을 감시하고, 해킹·웜·바이러스 등 악성 트래픽을 선제적으로 탐지하여 차단하는 능동형 보안 시스템
- HIPS: 개별 호스트에 설치되어 맬웨어, 해킹 시도 등 시스템에 부정적인 영향을 주는 행위를 실시간으로 모니터링하고 차단하는 보안 솔루션
- 탐지 방식
- Misuse(오용 탐지): 이미 알려진 공격 패턴과 비교하여 탐지하는 방식
- Anomaly(이상 탐지): 정상 행위 기준에서 벗어난 트래픽을 탐지하는 방식
동작 원리
1. Inline 방식으로 트래픽 수신
IPS는 네트워크 중간에 Inline 형태로 설치됩니다. 즉, 모든 트래픽이 IPS를 반드시 통과해야 합니다.
구조 예시:
인터넷 → 방화벽 → IPS → 내부 네트워크
따라서 IPS는 패킷을 직접 검사하고 제어할 수 있습니다.
2. 패킷 검사(Packet Inspection)
IPS는 들어오는 패킷을 실시간으로 검사합니다.
검사 항목:
- 패킷 헤더
- 페이로드 데이터
- 세션 상태
- 프로토콜 규칙
- 공격 시그니처
3. 위협 분석 및 탐지
IDS와 동일하게 시그니처 기반 탐지 이상 탐지 기반 분석을 수행합니다.
추가적으로 IPS는
DPI(Deep Packet Inspection)
애플리케이션 계층 분석(L7)
SSL/TLS 복호화 검사
등 고급 분석 기술도 활용합니다.
4. 차단 및 대응(Response)
공격으로 판단되면 IPS는 즉시 대응합니다.
대응 방식:
- 패킷 드롭(Drop)
- 세션 종료(TCP Reset)
- IP 차단
- 포트 차단
- 속도 제한(Rate Limiting)
예를 들어 DDoS 공격이 탐지되면 공격 IP를 차단하고, 비정상 세션을 종료하며 관리자에게 경고를 보냅니다.
- 이벤트 기록 및 정책 업데이트 모든 차단 이벤트는 로그로 저장됩니다. 또한 최신 공격 패턴에 대응하기 위해 시그니처 업데이트, 정책 업데이트, 위협 인텔리전스 연동 등이 지속적으로 수행됩니다.
장점
- 능동적인 방어: 실시간으로 위협에 대응하며, 자동으로 공격을 차단합니다.
- 다양한 차단 기능: IP 주소, 프로토콜, 특정 서명 등 다양한 방법으로 위협을 차단합니다.
- 동적 업데이트: 새로운 위협 패턴에 빠르게 대응할 수 있습다.
단점
- 오탐 가능성: 공격 패턴 학습자체가 잘못되는 경우에는 침입이 아닌데, 침입이라고 판단 할 수가 있습니다.
- 성능 부하: 높은 성능의 장비가 필요할 수 있습니다.
- 네트워크 속도 저하 가능성: 패킷을 일일히 분석하고 대응하기 때문에, 장비 성능에 따라 네트워크 속도가 저하될 수 있습니다.
IDS와 IPS의 차이점
| 구분 | IDS | IPS |
|---|---|---|
| 목적 | 모니터링하여 악의적인 행위나 정책 위반을 감시 | 트래픽을 분석하여 식별된 위협을 실시간으로 검사하고 방지 |
| 운영 | 트래픽을 관찰하고 공격 패턴이나 이상 징후를 찾아 경고 | 트래픽에 대한 실시간 공격을 검사하고 탐지 시 이를 차단하기 위해 개입 |
| 기능 | 탐지 / 분석 / 보고 | 차단 / 탐지 / 분석 / 보고 |
| 트래픽 경로 | 방화벽을 통과한 후 트래픽을 분석 | 필터링된 트래픽을 검사하기 위해 방화벽 뒤에 배치 |
| 무단 트래픽에 대한 대응 | 의심스러운 활동을 감지하면 경고 | 탐지된 위협의 진행을 적극적으로 방지 |
활용 방법
방화벽으로 초기 트래픽을 필터링한 뒤,
IDS와 IPS는 필터링된 트래픽을 분석하여 잠재적인 위협을 확인하는 식으로 활용합니다.
계층화된 접근 방식은 위협이 방화벽을 우회하더라도
IDS가 관리자에게 의심스러운 활동을 경고하고
IPS가 위협으로 인한 피해를 방지하기 위해 조치를 취할 수 있도록 합니다.