본문 바로가기
악성코드 정보

DDoS 악성코드들의 연관 관계 상세 분석

by 알 수 없는 사용자 2011. 10. 21.
2009년 7월 7일 대한민국에서는 분산 서비스 거부 공격(DDoS)으로 인해 다수의 정부와 민간 업체들의 홈페이지가 접속 불능이 되는 사고가 발생하였다.

이번 사고에 대해 ASEC에서는 2009년 7월 6일 저녁 무렵부터 신속하게 분산 서비스 거부 공격이 발생한 원인을 파악하기 시작하여 2009년 7월 7일 새벽 이번 공격은 다수의 악성코드에 의해서 발생한 것으로 파악하였다.


이 번에 발생한 분산 서비스 거부 공격은 하나의 악성코드에 의해서 동시 다발적으로 발생한 것이 아니라 다수의 악성코드가 서로 연결되어 공격하도록 정교한 메카니즘으로 설계 된 것으로 분석하였다.


정교한 메카니즘으로 동작하게 되어 있는 이번 악성코드들에 대한 분석 결과를 바탕으로 각각의 악성코드들의 상관 관계를 도식화 하면 아래 이미지와 같이 그려지게 된다.

이미지를 클릭하면 조금 더 큰 화면으로 볼 수가 있다.


위 이미지와 같이 조금 복잡한 메카니즘으로 동작하게 되어 있는 악성코드들을 조금 상세하게 설명을 하면 다음과 같이 동작하게 되어 있다.

1. 악성 코드들의 감염 및 실행

최초 문제가 되었던 msiexec1.exe(Win-Trojan/Downloader.374651)가 실행이 되면 임시 폴더인 Temp 폴더에 _S3.tmp 파일부터 _S9.tmp 파일까지 생성하게 된다. 생성된 파일들은 모두 zlib 이라는 압축 파일 형태로 되어 있으며 해당 악성코드는 이 파일들의 압축을 푼 후 모두 윈도우 시스템 폴더(c:\windows\system32)에 다음의 파일명으로 복사 된다.

_S3.tmp -> wmiconf.dll (Win-Trojan/Agent.67072.DL 진단)
_S4.tmp -> wpcap.dll (네트워크 관련 정상 파일)
_S5.tmp -> packet.dll (네트워크 관련 정상 파일)
_S6.tmp -> WanPacket.dll (네트워크 관련 정상 파일)
_S7.tmp -> npf.sys (네트워크 관련 정상 파일)
_S8.tmp -> npptools.dll (네트워크 관련 정상 파일)
_S9.tmp -> wmcfg.exe (Win-Trojan/Agent.65536.VE 진단)

그리고 현재까지 5개가 발견된 분산 서비스 거부 공격의 대상 리스트가 보관되어 있는 uregvs.nls 파일을 생성하게 된다. uregvs.nls 파일에 기록된 공격 대상이 되는 시스템은 이미 국내 언론 등을 통해서 공개된 바와 같이 주요 정부 및 민간 업체 홈페이지 주소이며 이와 동시에 분산 서비스 거부 공격의 시작 일자와 시간들 역시 같이 기록 되어 있다.

그리고 해외에 위치한 3대의 시스템에 몇 차례 접속을 시도한 후 해당 악성코드는 종료하게 된다.

2. 악성코드에 의한 분산 서비스 거부 공격

msiexec1.exe에 의해 생성된 wmiconf.dll (Win-Trojan/Agent.67072.DL 진단)"WMI Performance Configuration" 라는 명칭으로 윈도우 서비스로 등록하게 된다. 등록이 완료된 이후에는 3분간의 대기시간을 가지게 된다.

3분간의 대기 시간이 종료하게 되면 msiexec1.exe 파일에 의해 생성된 분산 서비스 거부 공격의 대상이 되는 웹 사이트 주소가 기록된  uregvs.nls 파일을 읽어들여서 순서대로 분산 서비스 거부 공격이 실행 되게 된다.


A
SEC에서 확보한 공격 대상이 되는 웹 사이트 주소가 기록된 uregvs.nls 파일은 총 5가지의 종류가 존재하며 최초 공격 시작 시간은 2009년 7월 5일 02시부터 14시까지였으며 총 5개의 미국 정부 기관 웹 사이트들만이 대상이 되었다.

그러나 그 이후 발견된 파일에는 2009년 7월 5일 22시부터 7월 6일 07시까지 총 21개의 미국 정부 기관 및 민간 업체 웹 사이트들이 공격대상으로 포함되었다. 한국의 경우에는 4번째 공격 진행 시각인 2009년 7월 7일 18시부터 7월 8일 18시까지 총 24시간 동안 포함되어 있었다.

3. 분산 서비스 거부 공격의 패킷 형태

이번 분산 서비스 거부 공격의 형태에 대해서 ASEC에서는 크게 2가지 형태의 네트워크 패킷(Packet)을 분석하였다.

1) TCP 프로토콜의 80번 포트를 통해 다수의 HTTP GET Request 형태의 패킷을 전송

2) TCP 프로토콜의 80번 포트, UDP프로토콜의 80번 포트 및 ICMP 프로토콜을 이용해 50 바이트 이내의 임의 페이로드(payload) 전송을 하는 형태이며 이 경우 감염된 컴퓨터 시스템의 IP가 위조 된다.

해당 악성코드가 실행하게 되면 감염된 1대의 시스템에서 초당 1050 패킷으로 100KB 정도 발생 된다. 그리고 공격 대상이 되는 웹 사이트를 기준으로 하면 감염된 1대의 시스템에서 초당 100 패킷으로 7KB 정도의 네트워크 트래픽이 발생하게 된다.


4. 감염된 시스템의 하드 디스크 손상


위 이미지에서 최초 msiexec1.exe 파일에 의해 생성된 S9.tmp(wmcfg.exe, Win-Trojan/Agent.65536.VE 진단) 파일은 다시 mstimer.dll(Win32/Mydoom.worm.45056.D 진단) 파일을 생성한다. 생성된 mstimer.dll은 다수의 시스템들에서 flash.gif 파일을 다운로드 해오게된다.

다운로드 한 flash.gif 파일은 wversion.exe(2nd)(Win-Trojan/Destroyer.37264 진단)을 생성하며 생성된 해당 파일은 감염된 시스템의 날짜가 2009년 7월 10일 0시를 기해 A ~ Z 드라이브의 물리적인 처음 시작 위치 부터 ‘Memory of the Independence Day’ 문자열 데이터를 삽입하여 MBR(Master Boot Record) 및 파티션 정보가 삭제되는 증상을 유발한다.

이 문제로 인해 감염된 시스템의 정상적인 부팅이 되지 않는 문제를 유발하게 되는 것이다.


그리고 감염된 시스템에 존재하는 ".doc", ".docx"과 ".docm" 등의 문서 관련 파일들을 검색해 ".zip", ".zoo" 및 ".arc" 등의 압축 파일로 위 이미지에서와 같이 알파벳과 숫자로 구성된 임의로 선택된 8자리 문자로 암호를 설정하여 압축하게 된다.

이러한 정교한 메카니즘으로 감염된 시스템들을 이용한 분산 서비스 거부 공격 그리고 시스템의 하드 디스크 손상으로 이어지는 이번 악성코드 감염 사고는 다시 한번 자신이 사용하는 컴퓨터 시스템에 대한 보안 설정 및 관리 등의 평소 컴퓨터 사용 습관이 얼마나 중요한지 일깨워 준 좋은 사례라고 볼 수 있다.

댓글