📚 네트워크 · 패킷 분석 › 05. 네트워크 스캔 징후 분석 — 224편
이전 글: 223. Sequential Scan · 다음 글: 225. Slow Scan

1. 개념

Random Scan(무작위 순서 스캔) 은 확인할 포트나 IP의 순서를 섞어서 진행하는 스캔입니다. 대상 집합은 순차 스캔과 같아도, 로그를 시간순으로 보면 번호가 들쭉날쭉해 계단 모양이 보이지 않습니다.

순서 무작위화는 특별한 것이 아닙니다. 많은 스캔 도구가 기본 동작으로 포트나 대상 순서를 섞는 것으로 알려져 있어, 실제 로그에서는 오히려 223. Sequential Scan보다 흔할 수 있습니다. 따라서 관제자는 순서에 의존하지 않는 탐지 기준을 기본으로 삼아야 합니다.

비교순차 스캔무작위 순서 스캔
시간순 로그 모양번호가 1씩 증가번호가 불규칙하게 변화
순차 증가 비율높음낮음
서로 다른 대상 수많음많음(동일)
사람 눈 판별쉬움몇 줄만으로는 어려움

2. 동작 원리

무작위화는 순서만 바꿀 뿐 확인하는 대상의 수와 범위는 그대로입니다. 그래서 탐지는 "어떤 순서로 왔는가"가 아니라 "일정 시간 동안 몇 개의 서로 다른 대상을 건드렸는가"로 합니다.

한 출발지의 이벤트 수집 (시간 창 설정: 예 10분, 1시간, 24시간)
      ↓
순서를 버리고 집합으로 변환
  ├─ 서로 다른 목적지 포트 수 (수직 지표)
  ├─ 서로 다른 목적지 IP 수 (수평 지표)
  └─ 대역 커버리지 = 건드린 IP 수 ÷ 대역 전체 IP 수
      ↓
기준선과 비교 (평소 이 출발지·이 대상의 값)
      ↓
기준 초과 → 스캔 판단 → 정렬해 보면 범위가 드러남(무작위여도 집합은 연속 범위일 수 있음)
집합 지표계산해석
distinct DPT한 출발지·한 대상의 서로 다른 목적지 포트 수수직 스캔 규모
distinct DST한 출발지의 서로 다른 목적지 IP 수수평 스캔 규모
커버리지distinct DST ÷ 대역 크기대역 전체 훑기 여부
실패 비율차단·RST·무응답 ÷ 전체대상 대부분이 닫힘·필터링

3. 주요 특징

  • 정렬하면 드러나는 범위: 시간순으로는 무작위여도 목적지 포트를 정렬하면 1~1024처럼 빈틈없는 범위가 나오는 경우가 많습니다. 범위 복원은 210. Port Range Scan 방법을 그대로 씁니다.
  • 인터넷 규모 스캔의 분산: 인터넷 전체 주소를 무작위 순서로 훑는 스캐너는 한 조직의 대역에 짧은 시간 동안 몇 건만 도착합니다. 대상 단위로는 잡음 수준이므로 조직 전체 대역을 합쳐 출발지별로 집계해야 규모가 보입니다.
  • 간격 규칙성은 남음: 순서가 섞여도 자동화된 스캔의 요청 간격은 일정한 경우가 많아, 시간 간격 분포가 보조 지표가 됩니다.

4. 예시

실습 예시 — 본인 소유 실습망의 방화벽(iptables LOG) 로그에서 순서와 무관하게 출발지별 서로 다른 목적지 IP 수와 대역 커버리지를 계산하는 방어 측 명령입니다. Rocky는 /var/log/messages, Ubuntu는 /var/log/kern.log이며, 값은 환경마다 다릅니다.

# 192.168.10.0/24 대상, 출발지별 서로 다른 목적지 IP 수와 커버리지(254개 기준)
sudo grep -o 'SRC=[0-9.]* DST=192\.168\.10\.[0-9]*' /var/log/kern.log | sort -u \
  | awk '{c[$1]++} END {for (s in c) printf "%d %.0f%% %s\n", c[s], c[s]/254*100, s}' \
  | sort -rn | head

시간순 로그 형식 예시(값은 환경마다 다름, 일부 필드 생략):

11:10:02 kernel: DROP SRC=198.51.100.7 DST=192.168.10.187 PROTO=TCP DPT=445 SYN
11:10:02 kernel: DROP SRC=198.51.100.7 DST=192.168.10.23 PROTO=TCP DPT=445 SYN
11:10:03 kernel: DROP SRC=198.51.100.7 DST=192.168.10.241 PROTO=TCP DPT=445 SYN
11:10:03 kernel: DROP SRC=198.51.100.7 DST=192.168.10.5 PROTO=TCP DPT=445 SYN

집계 결과 형식 예시: 251 99% SRC=198.51.100.7

관찰해석
DST 마지막 옥텟이 불규칙IP 순서 무작위화 → 순차 비율로는 탐지 안 됨
커버리지 99%순서와 관계없이 대역 전체를 훑음
목적지 포트 445 고정특정 서비스 대상 수평 스캔(214. 특정 Port Scan)

5. 보안 관점

  • 순서 무작위화는 흔한 기본 동작이므로, 순차 패턴에 의존하는 탐지 규칙만 있으면 상당수를 놓칩니다. 탐지 규칙은 서로 다른 대상 수 기준으로 설계합니다.
  • 인터넷 규모 무작위 스캔은 대부분 배경 소음이지만, 그 결과 목록에 우리 자산의 열린 포트가 포함될 수 있습니다. 노출 자산 관리가 근본 대책입니다(229. 외부망 정찰).
  • 내부 출발지의 무작위 IP 탐색도 웜·측면 이동 준비일 수 있으므로 커버리지와 대상 포트로 우선순위를 판단합니다.

6. SOC 관점

흔적 위치확인 내용
방화벽출발지별 distinct DST·DPT, 커버리지
IDS임계치 기반 스캔 Alert(순서 무관 집계 여부 확인)
SIEM조직 전체 대역 합산 집계, 기준선 비교
NetFlow출발지별 목적지 수·실패 비율

관제자가 확인할 질문

  • 순서와 관계없이 이 출발지가 건드린 서로 다른 IP·포트 수는 얼마인가?
  • 정렬하면 어떤 범위가 나오며, 그 안에서 응답한 대상은 무엇인가?
  • 사용 중인 탐지 규칙이 순서에 의존하지 않고 집합 기준으로 동작하는가?

오탐 주의: P2P, CDN·클라우드 서비스를 쓰는 클라이언트, DNS 리졸버는 다수의 목적지와 불규칙하게 통신합니다. 이들은 연결이 성립하고 데이터가 오가며 실패 비율이 낮다는 점으로 구분합니다.


7. 핵심 정리

  • Random Scan은 대상 순서를 섞을 뿐 확인하는 대상의 수와 범위는 순차 스캔과 같습니다.
  • 많은 도구가 기본적으로 순서를 섞으므로 탐지는 순서가 아닌 집합 기준으로 설계합니다.
  • 서로 다른 목적지 포트·IP 수, 대역 커버리지, 실패 비율이 핵심 지표입니다.
  • 인터넷 규모 무작위 스캔은 조직 전체 대역을 합쳐 집계해야 규모가 보입니다.
  • 정렬하면 드러나는 범위와 응답한 대상으로 상대가 얻은 정보를 평가합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글