IDS and IPS

IDS(Intrusion Detection System)와 IPS(Intrusion Prevention System)는 네트워크 보안을 위한 중요한 도구이다.

IPS와 IDS는 다계층 분석을 통해 네트워크 전반의 보안을 강화하며, 각 계층의 특성에 맞는 보안 기능을 제공한다.

IPS와 IDS는 OSI 7계층에서 주로 다음 계층들에서 동작한다:

  1. 네트워크 계층(3계층):

    • 패킷 레벨에서의 분석과 필터링을 수행한다
    • IP 주소, 프로토콜 정보를 기반으로 한 검사가 이루어진다.
    • 예를 들어, IP 스푸핑이나 DDoS 공격과 같은 네트워크 계층의 공격을 탐지하고 차단한다.
  2. 전송 계층(4계층):

    • TCP/UDP 포트 정보를 분석하여 비정상적인 연결 시도를 탐지한다.
    • 포트 스캔이나 TCP SYN 플러딩과 같은 공격을 모니터링한다.
    • 세션 하이재킹 시도를 감지할 수 있다.
  3. 응용 계층(7계층):

    • HTTP, FTP, SMTP 등 응용 프로토콜 레벨의 공격을 탐지한다.
    • SQL 인젝션, XSS(Cross-Site Scripting)와 같은 응용 계층 공격을 감지한다.
    • 애플리케이션 수준의 트래픽을 분석하여 비정상적인 패턴을 찾아낸다.

다음은 각 계층별 동작을 보여주는 예시 코드:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class LayeredSecuritySystem:
    def __init__(self):
        self.network_layer = NetworkLayerSecurity()
        self.transport_layer = TransportLayerSecurity()
        self.application_layer = ApplicationLayerSecurity()

    def analyze_traffic(self, packet):
        """각 계층별 보안 분석 수행"""
        
        # 3계층 (네트워크 계층) 분석
        network_threats = self.network_layer.analyze(packet)
        if network_threats:
            self.handle_network_threat(network_threats)
            
        # 4계층 (전송 계층) 분석
        transport_threats = self.transport_layer.analyze(packet)
        if transport_threats:
            self.handle_transport_threat(transport_threats)
            
        # 7계층 (응용 계층) 분석
        application_threats = self.application_layer.analyze(packet)
        if application_threats:
            self.handle_application_threat(application_threats)

class NetworkLayerSecurity:
    def analyze(self, packet):
        """네트워크 계층 보안 분석"""
        # IP 주소 검증
        if self.is_spoofed_ip(packet.source_ip):
            return "IP Spoofing Detected"
            
        # 비정상적인 패킷 구조 확인
        if self.is_malformed_packet(packet):
            return "Malformed Packet Detected"
            
        return None

class TransportLayerSecurity:
    def analyze(self, packet):
        """전송 계층 보안 분석"""
        # 포트 스캔 탐지
        if self.detect_port_scan(packet):
            return "Port Scan Detected"
            
        # TCP SYN 플러딩 탐지
        if self.detect_syn_flood(packet):
            return "SYN Flood Detected"
            
        return None

class ApplicationLayerSecurity:
    def analyze(self, packet):
        """응용 계층 보안 분석"""
        # SQL 인젝션 탐지
        if self.detect_sql_injection(packet.payload):
            return "SQL Injection Attempt Detected"
            
        # XSS 공격 탐지
        if self.detect_xss(packet.payload):
            return "XSS Attack Detected"
            
        return None

IDS (Intrusion Detection System)

1. 정의:

  • IDS는 네트워크 트래픽 및 시스템 활동을 모니터링하여 악의적인 활동이나 보안 정책 위반을 탐지하고 관리자에게 알리는 시스템이다.

2. 주요 기능:

  • 실시간 모니터링: 네트워크 트래픽 및 시스템 로그를 실시간으로 분석.
  • 위협 탐지: 알려진 공격 패턴(시그니처 기반) 또는 비정상적인 동작(행위 기반)을 탐지.
  • 알림 및 보고: 잠재적 위협을 관리자에게 경고하거나 로그로 기록.
  • 보안 감사: 침입 시도와 관련된 데이터를 기록하여 추후 분석 가능.

3. 장점:

  • 네트워크와 시스템의 가시성을 높임.
  • 보안 사고를 조기에 탐지하여 대응 시간을 단축.
  • 규정 준수 및 감사 목적으로 데이터 기록.

4. 한계:

  • 자동으로 위협을 차단하지는 않음(탐지에만 초점).
  • 관리자의 수동 대응 필요.
  • 오탐(False Positive) 발생 가능성.

5. 사용 사례:

  • 네트워크 경계에서 트래픽 모니터링.
  • 내부 시스템에서 비정상적인 사용자 활동 탐지.

IPS (Intrusion Prevention System)

1. 정의:

  • IPS는 IDS의 기능을 포함하면서도, 탐지된 위협에 대해 자동으로 대응 조치를 취하는 시스템이다.

2. 주요 기능:

  • 실시간 침입 탐지: 네트워크 트래픽을 분석하여 악성 활동 탐지.
  • 자동화된 대응: 악성 트래픽 차단, 연결 종료, 악성 콘텐츠 제거 등 즉각적인 조치 수행.
  • 위협 예방: 알려진 취약점을 악용하는 공격 차단 및 방화벽 규칙 업데이트.
  • 행위 기반 탐지: 정상적인 동작과 비교하여 이상 행동 감지.

3. 장점:

  • 위협을 자동으로 차단하여 보안 팀의 부담 감소.
  • 실시간으로 네트워크를 보호하고 데이터 유출 방지.
  • DoS/DDoS 공격 등 다양한 위협에 효과적.

4. 한계:

  • 잘못된 차단(오탐)으로 인해 정상 트래픽이 차단될 가능성 있음.
  • 네트워크 성능에 영향을 줄 수 있음(인라인 배치로 인한 지연).

5. 사용 사례:

  • 방화벽 뒤에서 네트워크 트래픽 필터링 및 보호.
  • 기업 내부 네트워크에서 악성 활동 차단.

IDS와 IPS의 주요 차이점

항목IDS (Intrusion Detection System)IPS (Intrusion Prevention System)
기능침입 탐지 및 알림침입 탐지 + 자동 차단
위치네트워크 외부(오프라인)네트워크 내부(인라인)
대응 방식관리자에게 경고, 수동 대응자동으로 위협 차단
초점위협 탐지 및 분석위협 예방 및 실시간 보호
장점낮은 성능 영향, 세부적인 로그 제공실시간 보호, 자동화된 대응
한계수동 대응 필요, 즉각적 차단 불가오탐으로 인한 정상 트래픽 차단 가능

IDS는 주로 위협을 탐지하고 관리자에게 알리는 데 초점을 맞추며, IPS는 이를 확장해 실시간으로 위협을 차단하는 역할까지 수행한다.
두 시스템은 상호 보완적으로 사용될 수 있으며, 현대 보안 솔루션에서는 IDS와 IPS 기능이 통합된 형태(IDPS)를 많이 사용한다.
조직의 보안 요구사항에 따라 IDS와 IPS를 적절히 선택하거나 함께 배포하여 최적의 보안 환경을 구축할 수 있다.


참고 및 출처