📚 네트워크 · 패킷 분석 › 05. 네트워크 스캔 징후 분석 — 225편
이전 글: 224. Random Scan · 다음 글: 226. 단일 IP에 대한 다중 Port 접근

1. 개념

Slow Scan(저속 스캔) 은 요청 사이 간격을 길게 두어 몇 시간~며칠에 걸쳐 진행되는 스캔입니다. 한 번에 보면 몇 건의 차단 로그뿐이라 잡음처럼 보이지만, 긴 기간을 합치면 수백 개 포트나 대역 전체를 확인한 흔적이 드러납니다.

관제자에게 Slow Scan은 탐지 설계의 시간 창 문제입니다. 대부분의 스캔 탐지는 "짧은 시간에 많은 대상"을 기준으로 하므로, 같은 규모라도 오랜 시간에 흩어지면 기준에 걸리지 않습니다. 이 글은 이런 패턴이 로그에서 어떻게 보이고 어떤 분석으로 찾는지만 다룹니다.

비교일반 스캔Slow Scan
지속 시간수 초~수 분수 시간~수 일
시간 창당 이벤트많음적음(잡음 수준)
짧은 시간 창 임계치 탐지잘 걸림잘 걸리지 않음
긴 시간 창 집계걸림걸림

2. 동작 원리

스캔 탐지 규칙은 보통 "시간 창 T 안에 서로 다른 포트(또는 IP)가 N개 이상"의 형태입니다. 같은 전체 규모라도 시간 창이 짧으면 창 하나에 들어오는 수가 N보다 작아집니다.

같은 출발지, 같은 대상, 전체 500개 포트 확인
      ↓
[짧은 창: 1분]   창마다 0~1개 포트 → 임계치 미달 → Alert 없음
[중간 창: 1시간] 창마다 수 개~수십 개 → 경계선
[긴 창: 24시간]  500개 → 스캔으로 판단 가능
      ↓
방어 측 대응 방향
  ├─ 긴 시간 창 집계 규칙 추가 (SIEM 예약 검색)
  ├─ 출발지별 누적 지표(서로 다른 대상 수, 활동 일수) 추적
  ├─ 평소 기준선과 비교
  └─ 긴 기간 로그 보존 (창보다 짧게 보존하면 분석 불가)
탐지 접근방법한계
긴 시간 창 집계24시간·7일 단위 출발지별 distinct 포트·IP계산량 증가, 실시간성 낮음
누적 추적출발지별 처음 본 시각, 활동 일수, 누적 대상 수출발지가 바뀌면 분산됨
기준선 비교이 대상이 평소 받는 출발지·포트 분포와 비교기준선 학습 기간 필요
대상 중심 집계한 대상 기준 여러 출발지 합산인터넷 배경 소음과 섞임

3. 주요 특징

  • 이벤트 간격이 길고 대체로 일정: 자동화된 저속 스캔은 간격이 길어도 일정한 편이라, 시간 간격 분포가 한 값 근처에 몰리는 경우가 많습니다.
  • 여러 날에 걸친 같은 출발지: 하루 단위 보고서에는 매일 소수 건으로 나타나지만, 출발지 기준으로 모으면 며칠 연속 활동이 보입니다.
  • 범위가 조금씩 채워짐: 누적 목적지 포트 집합이 날마다 커지고, 겹치지 않는 경우가 많습니다.
  • 로그 보존 기간이 분석 한계: 방화벽 차단 로그를 짧게 보존하거나 샘플링하면 긴 창 분석 자체가 불가능합니다.

4. 예시

실습 예시 — 본인 소유 실습망에서 여러 날의 방화벽 로그를 합쳐 출발지별 활동 일수와 누적 목적지 포트 수를 계산하는 방어 측 명령입니다(Ubuntu 기준 경로, Rocky는 /var/log/messages*, 압축 로그는 zgrep, 값은 환경마다 다름).

# 여러 날 로그에서 (날짜, 출발지, 목적지 포트) 추출 → 출발지별 활동 일수·누적 포트 수
sudo zgrep -h 'DPT=' /var/log/kern.log* \
  | awk '{d=$1" "$2; match($0,/SRC=[0-9.]+/); s=substr($0,RSTART,RLENGTH);
          match($0,/DPT=[0-9]+/); p=substr($0,RSTART,RLENGTH);
          days[s" "d]=1; ports[s" "p]=1}
         END {for (k in days) {split(k,a," "); nd[a[1]]++}
              for (k in ports) {split(k,a," "); np[a[1]]++}
              for (s in np) print np[s], nd[s], s}' \
  | sort -rn | head

결과 형식 예시(누적 포트 수, 활동 일수, 출발지 / 값은 환경마다 다름):

512 6 SRC=203.0.113.88
 40 1 SRC=198.51.100.7
  3 7 SRC=192.168.10.15
관찰해석
203.0.113.88: 6일간 512개 포트하루 약 80~90개씩 누적 → 저속 스캔 형태
198.51.100.7: 하루 40개짧은 기간 소규모 → 일반 임계치로 판단
192.168.10.15: 7일간 3개 포트매일 같은 소수 포트 → 정상 업무 가능성, 기준선 확인

같은 출발지의 시간 간격 분포는 이벤트 시각을 정렬해 인접 차이를 구하면 확인할 수 있습니다.


5. 보안 관점

  • 저속 스캔은 탐지를 의식한 행위자일 가능성을 보여줍니다. 인터넷 배경 소음보다 표적성이 높을 수 있어, 발견 시 대상 자산의 노출 포트와 후속 접근을 우선 확인합니다.
  • 탐지 체계가 짧은 시간 창만 보고 있다면 구조적으로 놓칩니다. 실시간 임계치 탐지와 별도로 일·주 단위 예약 분석을 운영하는 것이 방어 측 기본 설계입니다.
  • 긴 창 분석은 로그 보존과 저장 비용에 직결되므로, 최소한 방화벽 차단 로그의 요약(출발지·목적지·포트·날짜)은 장기 보존합니다.

6. SOC 관점

흔적 위치확인 내용
방화벽(장기 보존)출발지별 누적 대상 수, 활동 일수
SIEM 예약 검색24시간·7일 창 distinct 집계 결과
IDS짧은 창 Alert 부재 자체(탐지 공백 확인)
위협 인텔리전스출발지 평판, 다른 조직 관찰 정보

관제자가 확인할 질문

  • 이 출발지는 며칠 동안 활동했고, 누적으로 몇 개의 포트·IP를 건드렸는가?
  • 이벤트 간격이 일정한가? 누적 대상이 겹치지 않고 채워지는가?
  • 누적 범위 안에서 응답한 포트가 있고, 그 포트로 후속 접속이 있었는가?

오탐 주의: 모니터링 시스템의 주기 점검, 소프트웨어 업데이트 확인, 장시간 유지되는 정상 서비스 연결의 재시도는 "긴 기간·일정 간격" 모양을 만듭니다. 이들은 매번 같은 소수 포트를 반복한다는 점이 누적 대상이 늘어나는 저속 스캔과 다릅니다.


7. 핵심 정리

  • Slow Scan은 긴 간격으로 오랜 기간에 걸쳐 진행되어 짧은 시간 창 임계치 탐지에 잘 걸리지 않습니다.
  • 핵심 흔적은 여러 날에 걸친 같은 출발지와 날마다 늘어나는 누적 대상 집합입니다.
  • 긴 시간 창 집계, 출발지별 누적 추적, 기준선 비교로 탐지합니다.
  • 방화벽 로그 보존 기간이 짧으면 분석 자체가 불가능하므로 요약 로그라도 장기 보존합니다.
  • 같은 소수 포트를 반복하는 정상 주기 트래픽과는 누적 대상 증가 여부로 구분합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글