정보센터

보안동향

게시물 상세
7.7 DDoS 분석
작성자 : a3security  작성일 : 2009.08.03   조회수 : 29750

I. 개요

 

DDoS(Distributed Denial of Service) 공격이란 인터넷 상에 수많은 PC들에 악의적인 공격용 프로그램을 분산 설치하고, 특정한 날짜, 주기 또는 해커의 신호를 통해 이들이 공격대상 시스템을 향해 다량의 패킷을 전송하여 대상 시스템 또는 경로상의 네트워크 장비가 이상 동작을 일으키도록 하거나 대역폭을 고갈시켜 서비스 장애를 일으키는 공격방식으로 정의되고 있다.

 

DDoS 공격은 TCP/IP 프로토콜 자체가 보안을 고려하지 않고 설계되었다는 것에서 그 근본 원인을 찾을 수 있으며, 인터넷의 발달로 수많은 PC를 공격자가 악용할 수 있는 환경도 DDoS 원인으로 볼 수 있다. 또한 인터넷 비즈니스가 활성화 됨에 따라 금전적인 목적을 가진 공격자가 늘어나게 되었으며, 고난이도의 기술없이 툴을 가지고 쉽게 공격을 할 수 있다는 것도 DDoS가 주된 이슈로 떠오르게 된 이유이다.

 

7.7 DDoS 공격은 2009년 7월 4일 미국 주요사이트들을 대상으로 공격이 시작되었으며, 국내 최초공격은 7월 7일 PM 6~7시경 민간 및 공공 서비스를 대상으로 시작되었다. 이후, 정부, 공공, 민간기업 등을 주요대상으로 하여 7월 10일 00시까지 공격이 계속되었으며, "인터넷 대란 시즌2", "7.7 DDoS 공격"으로 불리고 있다.7월14일 DDoS 공격, 하드디스크 파괴, 대량메일 발송 등의 공격 매커니즘은 분석 되었으나, 아직 공격 클라이언트의 전파 경로 및 원인에 대한 분석은 이루어지지 않고 있다.

 

II. 공격 분석

 

7.7 DDoS 공격은 악성코드가 삽입된 Msiexec.exe(Windows Installer)를 인터넷을 통해 유포하고 이 프로그램이 다시 공격에 필요한 악성 프로그램을 다운받아 설치하는 구조로 이루어진다. 다운받은 악성코드들은 스스로 대상 및 공격코드를 생성하여 다양한 공격을 수행하고 있었다.

 

다음은 공격에 사용된 주요 파일과 기능 이다.

 

[표 1] 악성코드 파일 기능

파 일 명

주요 기능

Msiexec.exe

최초 악성코드 전파 파일

msiexec1.exe

wmiconf.dll, uregvs.nls, vms.bat 생성 및 WmiConfig 서비스 등록

msiexec2.exe

uregvs.nls, vme.bat 생성

msiexec3.exe

uregvs.nls, vme.bat 생성

wmiconf.dll

DDoS - GET Flooding 수행

mstimer.dll

mail 전송, 특정 조건에 의해 wversion.exe 실행

flash.gif

두 개의 실행파일(wversion.exe 포함)을 가지고 있다.

uregvs.nls

DDoS 공격대상 및 공격 시간 정보 포함

wmcfg.exe

wversion.exe 생성 및 Windows Timer Service(mstimer.dll) 서비스 등록

wversion.exe

특정 확장자를 가진 파일 및 하드디스크 파괴 수행

 

다음은 7.7 DDoS 공격의 도식이다.

 

 

[그림 1] 7.7 DDOS 공격 도식

 

위 도식에서 보는 바와 같이 DDoS공격에 이용된 PC는 최초감염 이후 DDoS 공격, 스팸메일 전송, 하드디스크 파괴 등 치명적인 손실을 끼칠 수 있도록 제작되었다. 악성코드에 감염된 PC의 상세한 영향은 다음과 같다.

 

1. 최초 감염

 

최초Msiexec.exe(Windows Installer)를 감염시켜 해당 프로그램을 통해 msiexec1.exe, msiexec2.exe 등의 악성파일을 다운로드 받아 실행시키게 된다.

- Msiexec.exe(Windows Installer) bot agent와 유사한 기능을 하게 된다.

 

2. DDoS 공격 실행

 

Msiexec.exe를 통해 다운받아 실행되는 msiexec1.exe을 실행하면 공격대상이 들어있는 파일(uregv.nls), 다운받아 실행한 msiexec1.exe를 삭제하는 스크립트 파일(vme.bat), 그리고 마지막으로 wmiconf.dll을 생성하여 윈도우 서비스에 등록시켜 uregv.nls에서 공격대상을 읽어 DDoS 공격을 수행하게 된다.

 

일부 msiexec2.exe등에는 wmiconf.dll 을 생성하는 코드가 포함되지 않고 미리 생성된 서비스를 이용하여 단순히 공격 대상 파일(uregv.nls)만 변경하는 역할만 하고 있었다.

 

3. 스팸메일 전송

 

변종이라 발견된 msiexec*.exe 중에는 wmcfg.exe를 생성 실행하고 있었으며, wmcfg.exe를 실행하게 되면, mstimer.dll을 생성하여 Windows Timer Service로 등록하여 스팸메일 전송 등의 공격을 수행하게 된다. 이외에 wversion.exe파일을 생성하게 된다.

 

4. 하드 디스크 파괴

 

wmcfg.exe에 의해 생성된 wversion.exe 파일은 mstimer.dll에 의해 다운된 flash.gif의 일부와 합쳐져 하드디스크 파괴를 수행하게 된다. wversion.exe는 mstimer.dll에 의해 특정 조건(2009. 7. 10)이 만족할 경우 수행하게 되며, 로컬 하드디스크의 A~Z까지 읽어 MBR 등을 파괴하게 된다. 파괴 전, doc, xml, ppt … 등 대부분의 중요한 확장자를 검사하여 파일을 암호화함으로 하드 디스크의 복구는 힘들게 된다.

 

III. 대응방안

 

DDoS의 특성상 기본적으로 PC의 보안이 강화되어야 하고, 악성패킷에 대한 필터링이 강화되어야 하며, DDoS 공격 발생시 피해를 최소화할 수 있는 협력 대응체계 구축이 필요한다.

 

1. PC 보안강화

 

도박, 불건전사이트 등 안전하지 않은 사이트의 접속은 피하고, 윈도우 최신 보안패치를 설치하며 바이러스 백신을 설치/운용하여야 한다.

 

금번 DDoS 악성코드에 감염된 PC는 안전모드로 부팅(F8)하여 시스템 시간을 2009. 7. 10 이전으로 설정하고 재 부팅하여 최신 업데이트 된 백신을 이용하여 치료할 수 있다.

 

2. 악성패킷 필터링

 

네트워크 앞단에 방화벽, IPS, Anti-DDoS 장비 등의 악성패킷을 필터링 할 수 있는 보안장비를 구축하여 악성패킷으로부터 네트워크를 보호할 수 있어야 한다. 단, TCP/UDP/ICMP/HTTP 등 다양한 DDoS 공격 패킷을 효과적으로 필터링 하기 위해서는 각 보안장비의 특성에 맞는 적절한 구성이 필요한다.

 

3. DDoS 대응체계 구축

 

DDoS에 대한 효과적 대응을 위해서 [그림 2]에서 보는 바와 같이 공격탐지에서부터 사고 대응에 이르기까지 대응 체계 및 절차를 사전에 마련하고, 사고 발생 시 관련 기관간 공조를 통한 신속한 대응이 필요한다.

 

 

[그림 2] DDoS 대응체계

 

[별첨] 주요 악성코드 분석

 

1. DDOS 공격(msiexec*.exe)

 

msiexec1.exe에는 wmiconf.dll을 생성하고 서비스를 등록하는 코드가 포함 되어 있었지만, msiexec2.exe와 msiexec3.exe은 단지 대상과 자신을 삭제하는vme.bat 파일을 만들어 실행하는 코드만 포함되어 있었다.

 

 

[그림 3] msiexec1.exe

 

 

[그림 4] WMI Performance Configuration Service

 

msiexec1, msiexec2에서 생성되는 대상은 각자 달랐으며, msiexec1에 의해 생성된 대상에 우리나라가 포함되어 있지 않았다.

 

아래 목록은 2차 공격에 사용된 것으로 파악되는 공격 리스트(msiexec2.exe에서 생성)이다.

 

 

[그림 5] msiexec2 – uregvs.nls 생성

 

 

[그림 6] uregvs.nls – 공격대상

 

마지막으로 msiexec*.exe에서 생성된 vme.bat 파일은 다운받은 파일이 삭제가 될 때까지 계속 삭제되도록 만들어져 있으며, 삭제가 되면 자신도 삭제하게 된다.

 

:L1

del "C:\Documents and Settings\...\msiexec\msiexec2.exe"

if exist "C:\Documents and Settings\...\msiexec\msiexec2.exe" goto L1

del "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vme.bat"

[그림 7] vme.bat – 생성파일 삭제

 

2. DDoS 공격(wmiconf.dll)

 

wmiconf.dll은 msiexec1.exe를 통해 생성되었으며, WmiConfig라는 서비스로 등록되어 있으며, 해당 서비스에는 DDoS 공격에 사용한GET Flooding 루틴이 포함되어 있다.

 

공격대상 파일(uregvs.nls)를 읽어 해당 대상으로 공격을 시도하게 된다.

 

다음은 공격대상 파일(uregvs.nls)를 읽어 들여 공격에 사용할 HTTP GET packet을 만들어 내는 코드 이다. 효과적인 공격효과를 위해 response를 캐시에 저장하지 못하도록 Cache-Control: no-store, must-revalidate를 헤더에 추가하는 코드가 포함되어 있다.

 

 

[그림 8] wmiconf.dll – get flooding

 

3. 로컬 디스크 파괴(wmcfg.exe)

 

wmcfg.exe는 악성 메일을 전파하는 Windows Timer Service(mstimer.dll)를 생성하고, 악성코드에 의해 생성된 파일 등을 삭제하는 루틴이 포함되어 있다.

 

아래는 Service를 등록하는 코드와 윈도우 실제 실행되어 등록된 화면이다.

 

 

[그림 9] wmiconf.dll – get flooding

 

 

[그림 10] Windows Timer Service. 로컬 디스크 파괴(mstimer.dll)

 

Wmcfg.exe에 의해 생성된 mstimer.dll은 20byte의 첨부파일이 담긴 메일을 전송하는 기능을 가지고 있으며, 인터넷을 통해 다운받은 flash.gif에는 실행파일이 두 개의 실행파일이 들어있으며, 그 중 하나가 wversion.exe이며 특정 조건을 만족하게 되면 wversion.exe을 실행시키게 된다.

 

 

[그림11] flash.gif파일 안의 wversion.exe

 

flash.gif를 다운받으며, 이를 통해 wversion.exe을 실행시키게 된다. 또한, mstimer.dll이 보낸 메일은 다음과 같다. Memory.rar라는 이름을 가진 파일은 20byte로 네트워크에 부하를 주기 위한 것으로 보여지고 있다.

 

 

[그림12] mstimer.dll – mail

 

5. 로컬 디스크 파괴(wversion.exe)

 

wversion.exe에는 실제 하드디스크의 MBR 등을 “Memory of the Independence Day”로 Overwrite(로컬 하드디스크를 파괴하는 기능)하게 된다.

 

 

[그림 13] C 드라이브 MBR 파괴

 

※ 본 기고글은 지난 2009년 8월 에이쓰리시큐리티 뉴스레터를 통해 공개된 내용으로 진행 중인 테스트 및 분석 중에 쓰여져 미흡한 부분이 있을 수 있음. 또한 본 문서는 당시의 보안취약점으로 인한 피해를 최소화하는데 도움이 되고자 작성된 만큼, 포함된 대응방안의 유효성이나 기타 예상치 못한 시스템의 오작동 발생에 대해서는 책임을 질 수 없음.

이전글 산업보안 관리체계 그리고 인증
다음글 IT보안의 제도 및 의식적 개선 방향
TOPTOP