분석 · 관제기초 · 12분 읽기

IDS·IPS·NSM과 탐지의 한계

탐지·차단·관찰은 목적과 배치 방식이 다르다. 센서가 볼 수 있는 트래픽과 탐지 결과의 의미를 먼저 정의한다.

개념부터 찾아보기

정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.

이 노트에서 설명할 수 있게 되는 것

  1. 센서의 관찰 범위와 실제 보호 범위를 구분한다.
  2. 수집·해석·규칙·출력 실패를 각각 검증한다.
  3. 오탐·미탐·차단 효과를 정상 대조군과 비교한다.
먼저 알면 좋은 개념Wireshark로 패킷과 흐름 읽기

01개념과 구성 요소

  • 관찰한 데이터에서 탐지 조건에 맞는 활동을 찾아 경보를 만든다.
  • 통과 경로에서 정책에 따라 트래픽을 차단할 수 있으며 실제 배치가 필요하다.
  • 경보뿐 아니라 패킷·흐름·응용 메타데이터를 조사 가능한 증거로 보존하는 관점이다.

02네트워크 데이터가 탐지 결과가 되는 순서

  1. ·TAP· 위치에서 필요한 방향의 패킷을 받는다. 암호화·미러링 범위·손실이 입력을 제한한다.
  2. 헤더·IP 단편· 스트림·응용 프로토콜을 해석하여 검사할 문맥을 만든다.
  3. ·행위·이상 조건을 적용한다. 규칙 일치는 그 조건의 관찰이며 악성 의도의 자동 증명은 아니다.
  4. passive는 경보를 기록하며 은 정책과 실패 처리에 따라 차단할 수 있다.
  5. 원본·방향·시간·자산 정보를 연결하고 TP·FP·FN 등 분모가 있는 지표로 결과를 평가한다.

03IDS·IPS·NSM의 목적

  • 는 패킷이나 호스트 사건을 분석해 경보를 내고 는 전달 경로에서 정책에 따라 차단할 수 있다. 은 alert뿐 아니라 ·프로토콜 메타데이터· 등을 확보해 사건을 조사할 수 있게 하는 운영 관점이다.
  • 제품 하나가 여러 역할을 수행할 수 있지만 설정과 배치에 따라 실제 능력이 달라진다.
  • ·는 네트워크 센서이며 은 센서 경보와 서버·방화벽 로그를 중앙에서 연결한다. 센서가 네트워크 문자열을 보았다는 사실과 서버에서 실제 코드가 실행되었다는 사실은 다른 관찰 계층이다.

04패킷이 보이는 위치가 탐지 범위를 정한다

  • /TAP에서 복사된 트래픽을 받는 passive 센서는 복사본을 분석한다. 원래 전달 경로에 없으므로 규칙 이름만 넣는다고 통신이 차단되지 않는다.
  • 장치는 실제 흐름이 통과하므로 장애·오탐이 서비스 가용성에 직접 영향을 줄 수 있다.
  • 암호화 전후, 전후, 동서 트래픽과 경계 트래픽은 서로 보이는 내용이 다르다. 암호문을 보는 지점에서는 평문 URI 규칙이 같은 방식으로 동작하지 않는다.
  • 관리 인터페이스가 통신된다는 사실과 모니터 인터페이스에 대상 패킷이 들어온다는 사실도 구분한다.
LEARN THROUGH PRACTICE

인라인 후보 인터페이스에서 수신과 전달을 따로 검증하기

센서 인터페이스에 패킷이 들어오는 것과 다른 인터페이스로 전달되는 것을 구분한다.

실습 구성과 전제

  • 격리 의 관리 인터페이스와 시험용 데이터 인터페이스를 분리한다.
  • 주소가 없는 인터페이스에서도 L2 프레임은 캡처될 수 있지만 전달 기능은 별도로 구성해야 한다.
  1. 관리 경로와 데이터 경로를 구분한다

    • ip a에서 인터페이스 이름·링크 상태·주소를 확인한다. 두 시험 포트가 UP이라고 해서 브리지나 전달 경로가 자동으로 구성되는 것은 아니다.
    • 관리 접속을 유지할 별도 경로가 있어야 데이터 경로 시험 실패 시 장비를 복구할 수 있다.
    shell
    ip -br link
    ip -br address

    인터페이스 상태와 주소를 변경하지 않는 조회 명령이다.

    인라인 패킷 전달·탐지 구성 · IPS다시원본 크기로 보기 ↗
    • ens160에는 IPv4 주소가 보이고 ens224·ens256은 별도 인터페이스로 표시된다.
    • 데이터 후보 포트의 UP·LOWER_UP과 주소 설정은 다른 필드다. 링크 상태만으로 패킷 전달을 증명할 수 없다.
    확인 기준

    시험 포트를 케이블·가상 스위치 연결도와 맞춘다.

  2. 수신 패킷을 확인한다

    • 입력 측에서 등 정상 시험 트래픽이 보이는지 확인한다. 출력 측에서도 같은 사건의 프레임이 보이는지 별도 캡처해야 전달을 증명할 수 있다.
    • 반복 요청만 보이면 응답 부재·경로 단절·주소 오류가 후보가 된다. 규칙이 막았다고 단정하지 않는다.
    shell
    tcpdump -ni ens224 -c 10 'arp or icmp'
    tcpdump -ni ens256 -c 10 'arp or icmp'

    실습 데이터 인터페이스에서 같은 정상 트래픽을 별도로 관찰한다.

    인라인 패킷 전달·탐지 구성 · IPS다시원본 크기로 보기 ↗
    • tcpdump -i ens224가 실행되고 Ethernet 링크 타입과 반복 ARP Request가 보인다.
    • 캡처는 한 인터페이스의 수신 증거다. ens256으로 전달됐다는 정보는 이 화면에 없다.
    확인 기준

    수신·전달·응답을 세 지점에서 분리해 판정한다.

  3. 탐지 모드와 차단 모드를 검증한다

    • 미러 포트의 는 복제본을 보기 때문에 원래 패킷을 직접 멈추지 않는다. 는 실제 경로에 위치하고 지원하는 캡처·전달 방식으로 동작해야 한다.
    • 정상 표본이 통과하는 기준선을 먼저 만든 뒤 허가된 시험 표본의 탐지·차단·복구를 비교한다.
    확인 기준

    경보 발생, 패킷 드롭, 클라이언트 결과가 서로 대응해야 차단 성공이라고 쓴다.

실습에서 확인한 동작 원리

  • 패킷 수신과 전달은 서로 다른 검증 항목이다.
  • 인터페이스 상태나 경보만으로 차단 효과를 확정할 수 없다.

설정·출력 추가로 확인하기 11장

아래 화면을 펼쳐 위 실습의 설정값, 명령과 확인 기준을 비교해 보세요. 각 묶음은 별도 실습 기록입니다.

실습 화면 묶음 01 1장
PortSentry 포트 탐지·차단원본 크기로 보기 ↗
  • 학습 원본 · PortSentry 포트 탐지·차단의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 02 1장
PortSentry 포트 탐지·차단원본 크기로 보기 ↗
  • 학습 원본 · PortSentry 포트 탐지·차단의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 03 1장
PortSentry 포트 탐지·차단원본 크기로 보기 ↗
  • 학습 원본 · PortSentry 포트 탐지·차단의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 04 1장
PortSentry 포트 탐지·차단원본 크기로 보기 ↗
  • 학습 원본 · PortSentry 포트 탐지·차단의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 05 1장
PortSentry 포트 탐지·차단원본 크기로 보기 ↗
  • 학습 원본 · PortSentry 포트 탐지·차단의 해당 절에 수록된 화면·도식이다.
실습 화면 묶음 06 1장
인라인 패킷 전달·탐지 구성 · IPS다시원본 크기로 보기 ↗
  • 학습 원본 · 인라인 패킷 전달·탐지 구성의 IPS다시에 수록된 화면·도식이다.
실습 화면 묶음 07 1장
인라인 패킷 전달·탐지 구성 · IPS다시원본 크기로 보기 ↗
  • 학습 원본 · 인라인 패킷 전달·탐지 구성의 IPS다시에 수록된 화면·도식이다.
실습 화면 묶음 08 1장
인라인 패킷 전달·탐지 구성 · IPS다시원본 크기로 보기 ↗
  • 학습 원본 · 인라인 패킷 전달·탐지 구성의 IPS다시에 수록된 화면·도식이다.
실습 화면 묶음 09 1장
인라인 패킷 전달·탐지 구성 · kali-ubuntu 통신 가능하게 하기원본 크기로 보기 ↗
  • 학습 원본 · 인라인 패킷 전달·탐지 구성의 kali-ubuntu 통신 가능하게 하기에 수록된 화면·도식이다.
실습 화면 묶음 10 1장
인라인 패킷 전달·탐지 구성 · 코드1 : ens224에서 패킷 오면 ens256에 전달원본 크기로 보기 ↗
  • 학습 원본 · 인라인 패킷 전달·탐지 구성의 코드1 : ens224에서 패킷 오면 ens256에 전달에 수록된 화면·도식이다.
실습 화면 묶음 11 1장
인라인 패킷 전달·탐지 구성 · 코드1 : ens224에서 패킷 오면 ens256에 전달원본 크기로 보기 ↗
  • 학습 원본 · 인라인 패킷 전달·탐지 구성의 코드1 : ens224에서 패킷 오면 ens256에 전달에 수록된 화면·도식이다.
동작·명령 참고 문서

05재조립과 응용 해석이 필요한 이유

  • 공격 관련 문자열도 세그먼트 여러 개에 나뉠 수 있다. IP fragment 재조립과 stream 재조립을 거친 뒤 HTTP 파서가 URI·헤더·본문을 구분해야 버퍼별 규칙을 평가할 수 있다.
  • 단일 패킷에서 문자열 하나를 찾는 방식만으로는 이 문맥이 부족하다.
  • 캡처 손실·비대칭 경로·중간부터의 입력·겹친 데이터·대상 OS 해석 차이는 센서와 실제 서버가 서로 다른 바이트를 이해하게 만들 수 있다. memcap·depth·timeout은 이런 상태를 유지할 자원과 범위를 제한한다.
  • 설정이 효율을 높이는 동시에 관찰 한계를 만들 수 있다.

06시그니처·행위·이상의 구분

  • 는 알려진 바이트·프로토콜 조건을 찾고 빈도 규칙은 일정 시간의 반복을 세며 이상 기반 방법은 기준 상태와 차이를 찾는다. 정상 WebDAV 요청이나 SSH 배너도 특정 규칙에 일치할 수 있으므로 일치 사실 자체가 악성을 확정하지 않는다.
  • 반대로 알려진 문자열이 없다는 사실도 안전을 보증하지 않는다. 탐지 규칙은 특정 가설의 관찰 장치이며 파서··입력 범위·조건에 의존한다.
  • 정상 기준선과 탐지하려는 위협 모델이 있어야 규칙에 의미가 생긴다.

07TP·FP·FN·TN과 경보 수

  • True positive는 탐지하려던 사건을 맞게 잡은 것, 는 정상 사건을 잘못 경보한 것, 는 잡아야 할 사건을 놓친 것이다. 경보가 줄어든 상황이 FP 감소인지 FN 증가인지 결과 수만으로 구분할 수 없다.
  • 대표 양성·정상 과 명확한 예상 결과가 필요하다.
  • 한 사건이 여러 규칙에 맞을 수 있고 threshold·suppression 때문에 여러 패킷이 한 경보로 집계될 수 있다. 따라서 경보 수·패킷 수·공격 시도 수는 각각 다른 수량이다.
  • 분모가 정의되지 않은 “탐지율 100%”는 의미가 없으며 시험 범위와 변형을 함께 기록해야 한다.
원리 심화

08탐지 품질의 분모와 기저 발생률

  • TP/(TP+FN)은 실제 탐지 대상 중 찾아낸 비율이다. 놓친 사건의 정답 집합을 알아야 계산할 수 있다.
  • TP/(TP+FP)은 발생한 경보 중 실제 대상의 비율이다. 분석자가 검토하는 경보의 유효성과 연결된다.
  • FP/(FP+TN)은 정상 표본 중 잘못 경보한 비율이다. FP/(TP+FP)와 분모가 다르므로 같은 이름으로 쓰지 않는다.
  • 정상 이벤트가 매우 많으면 작은 오탐률도 많은 경보를 만든다. 탐지율만 높다는 이유로 조사 비용이 낮다고 볼 수 없다.
  • 패킷·연결·이벤트·사건 중 어느 단위를 세는지 고정한다. 한 사건이 100개 경보를 냈다고 TP 사건을 100개로 늘리지 않는다.
예제로 추적

09가상 10만 표본의 혼동행렬 계산

  1. 전체 100,000개 중 실제 탐지 대상 100개, 정상 99,900개라고 가정한다. 독립적으로 정답이 정해진 교육용 표본이다.
  2. 대상 중 TP=90·FN=10이고 정상 중 FP=999·TN=98,901이다. 네 칸 합계는 100,000이다.
  3. Recall은 90/100=90%, 오탐률은 999/99,900=1%다. 두 값은 서로 다른 집합을 분모로 사용한다.
  4. 전체 경보는 90+999=1,089개이고 Precision은 90/1,089≈8.26%다. 높은 Recall과 낮은 경보 유효성이 함께 나타난다.
  5. 임계값·예외·상관분석을 조정하되 FN 증가와 업무 비용도 함께 비교한다. 이 가상 수치를 실제 센서 성능이라고 주장하지 않는다.
실제 정답경보 있음경보 없음합계
탐지 대상TP 90FN 10100
정상FP 999TN 98,90199,900
합계1,08998,911100,000
검증·예외

10경보 수 감소가 개선인지 판단하는 자료

  • 수집 패킷·처리 드롭·암호화 비중이 바뀌었는지 확인한다. 센서가 덜 보아 경보가 줄었을 수 있다.
  • 정답을 같은 규칙의 출력으로 만들면 순환 평가가 된다. 독립 표본과 사건 단위 중복 기준을 유지한다.
  • 시험 데이터와 운영 데이터의 서비스·정상 빈도·시간대가 다른지 본다. 한 표본의 Precision을 다른 기저율에 그대로 적용하지 않는다.
  • 오탐 처리시간·미탐 영향·차단으로 인한 정상 업무 손실을 함께 비교한다. 경보 개수 하나만 최적화하면 중요한 사건을 놓칠 수 있다.

11수신 손실과 처리 병목

  • NIC RX ring·커널·DAQ·엔진 상태·출력 큐·저장 장치 어느 곳에서도 병목이 생길 수 있다. CPU 전체 평균이 낮아도 특정 큐나 worker 한 코어에 트래픽이 몰리면 이 날 수 있다.
  • RSS·멀티큐·thread 배치는 같은 의 상태 일관성을 유지하면서 부하를 나누기 위한 구조다.
  • 버퍼 확대는 순간 폭주를 흡수할 뿐 지속 유입이 처리량을 넘는 문제를 해결하지 못한다. 모든 메타데이터·을 켜면 조사 근거는 늘지만 디스크와 출력 비용도 커진다.
  • 어떤 유형을 얼마나 보존하는지와 ·지연 측정을 함께 설계한다.

12차단의 Fail-open·Fail-close

  • 경로가 고장 났을 때 통과시키는 과 막는 는 가용성과 보호 범위의 선택이다. 어느 하나가 모든 환경에서 정답은 아니다.
  • Bypass·이중화·세션 상태·비대칭 ·를 함께 고려해야 정상 서비스가 차단 과정에서 끊기지 않는다.
  • 규칙이 일치한 동작과 실제 최종 전달 결과가 다른 경우가 있어 logger의 action 의미를 제품·모드에 맞게 읽어야 한다. alert-only 단계에서 정확도를 관찰하고 제한적으로 적용한 뒤 정상 기능도 비교하는 이유는 오탐의 영향이 passive 관찰과 다르기 때문이다.

13센서에서 조사로 이어지는 자료

  • Alert에는 규칙 ID·revision·메시지·시각·와 출처가 필요하고, 조사에는 관련 ·패킷·서버 결과가 더 필요하다. 같은 flow_id의 HTTP·alert를 연결하면 요청과 응답의 문맥을 얻지만 여러 센서의 ID를 전역으로 동일하게 취급하면 안 된다.
  • 문법 검사→양성·음성 →실제 →경보··지연→대응 결과를 단계별로 분리하면 실패 지점이 보인다. 입력 패킷·해석 상태·규칙 일치·기록 결과를 연결해야 센서의 실제 동작을 설명할 수 있다.

설명과 함께 보는 보조 도식

처리 과정

모식도 · 센서 내부의 관찰 경로

수동 관찰 또는 인라인 배치 뒤의 처리 경로를 단순화했다.

전체 단계를 한 번에 읽기
  1. 01

    가시성 확인

    필요한 양방향 트래픽이 도착하는지 본다.

  2. 02

    문맥 생성

    패킷을 프로토콜과 흐름 관점에서 해석한다.

  3. 03

    조건 평가

    규칙의 실제 검사 대상을 확인한다.

  4. 04

    출력과 결과 연결

    경보와 실제 서비스 처리를 연결해 판단한다.

    경보 없음
    정상 또는 미탐·수집 실패
구성요소와 데이터 이동을 단순화한 학습용 모식도입니다. 실제 제품의 모든 내부 모듈을 나타내지는 않습니다.
READ · OBSERVE · CONNECT

함께 보는 학습 자료

아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.

공식 가이드

Zeek: conn.log 필드와 연결 상태 해설

공식 연결 로그 두 건에서 방향·바이트·상태·를 차례로 읽어 연결 메타데이터가 답할 수 있는 질문을 구체화한다.

읽으면서 확인할 것
  • id.orig와 id.resp의 방향
  • orig_bytes와 orig_ip_bytes의 단위 범위
  • ··를 함께 읽는 이유
학습 확인

이해했는지 확인하기

  • 센서 배치가 수동 관찰인지 인라인 차단인지 확인한다.
  • 양방향 트래픽과 암호화·드롭으로 인한 사각지대를 확인한다.
  • 정상·이상 표본으로 오탐·미탐과 실제 차단을 구분한다.

함께 확인할 공식 자료