블래스터 공격 추적 기법
초록
본 논문은 블래스터 웜(2003) 공격을 피해자, 공격자 및 IDS 로그에서 도출되는 특성을 기반으로 OSI 7계층 전반에 걸친 로그를 연계하여 추적하는 방법을 제안한다. 로그의 시계열 정렬, 포트·프로세스 패턴 매칭, 그리고 공격 흐름 재구성을 통해 초기 탐지와 사후 포렌식에 활용 가능한 프레임워크를 제시한다.
상세 분석
본 연구는 블래스터 웜이 2003년 대규모 확산 이후에도 여전히 네트워크 환경에 잠재적 위협으로 존재한다는 전제 하에, 해당 악성코드의 공격 흐름을 정밀히 재현하고 추적할 수 있는 로그 기반 기법을 설계하였다. 먼저 OSI 7계층을 기준으로 로그 소스를 분류한다. 물리·데이터링크 계층에서는 스위치/라우터의 NetFlow와 포트 미러링 데이터를 활용해 비정상적인 트래픽 폭증을 탐지한다. 네트워크 계층에서는 IP 헤더와 TTL 변동을 분석해 공격자의 위치 추정에 활용한다. 전송계층에서는 TCP 135(DCOM RPC)와 4444(TCP 백도어) 포트에 대한 SYN/ACK 패턴을 식별한다. 세션 계층에서는 SMB와 RPC 세션 생성 로그를 통해 원격 코드 실행 시도를 포착한다. 표현계층에서는 Windows 이벤트 로그(시스템, 보안, 응용 프로그램)와 IDS(예: Snort) 알림을 연계한다. 특히, 이벤트 ID 7031(서비스 비정상 종료)와 1074(시스템 재부팅) 그리고 RPC 오류 코드 0x6F0(원격 프로시저 호출 실패) 등을 블래스터 특유의 ‘시스템 크래시 → 재부팅 → RPC 서비스 재시작’ 순환 패턴으로 정의하였다.
로그 연계는 시간 동기화(NTP 기반 타임스탬프 정규화)와 고유 식별자(예: 공격 세션 ID, 프로세스 GUID)를 매개로 삼아, 동일 공격 흐름에 속하는 로그들을 하나의 그래프 구조로 결합한다. 이 과정에서 ‘Fingerprint’를 구성하는 핵심 요소는 다음과 같다. ① 포트 135에 대한 RPC 요청 후 2초 이내 포트 4444에 대한 역방향 연결 시도, ② 실행 파일 ‘msblast.exe’ 혹은 변조된 ‘svchost.exe’가 생성된 흔적, ③ IDS에서 “MS RPC DCOM Exploit” 시그니처와 일치하는 알림, ④ 시스템 로그에 나타나는 비정상적인 서비스 종료와 재시작 주기.
실험에서는 가상 환경에 Windows XP SP2/3을 대상으로 블래스터 변종을 실행하고, 위에서 정의한 로그 수집 체계를 적용하였다. 결과적으로 모든 공격 단계가 로그 상에서 정확히 재현되었으며, 특히 IDS 알림과 시스템 이벤트 간의 1~3초 차이로 공격 흐름을 시각화할 수 있었다. 또한, 공격자 IP가 NAT 뒤에 있더라도 외부와 내부 트래픽의 매칭을 통해 추적이 가능함을 확인하였다.
이 기법의 주요 기여는 (1) OSI 계층별 로그를 통합하는 체계적 프레임워크, (2) 블래스터 특유의 ‘시스템 크래시 → 재부팅 → RPC 서비스 재시작’ 패턴을 정량화한 Fingerprint, (3) 실시간 탐지와 사후 포렌식 모두에 적용 가능한 자동화된 연계 알고리즘이다. 한계점으로는 로그 손실 시 전체 흐름 복원이 어려울 수 있다는 점과, 동일 포트·프로세스 패턴을 보이는 다른 악성코드와의 구분이 추가적인 시그니처 분석을 필요로 한다는 점을 들 수 있다. 향후 연구에서는 머신러닝 기반 이상 탐지와 블래스터 외 다른 DCOM 기반 웜에 대한 일반화 모델을 구축하고자 한다.
댓글 및 학술 토론
Loading comments...
의견 남기기