[Focus In-Depth] DDoS 공격 기법의 진화
|
1부 : DDoS 공격 기법의 진화 |
2009년 7∙7 DDoS, 2011년 3∙4 DDoS. 역사상 유례가 없는 두 차례의 대규모 DDoS 공격은 기억하고 싶지 않은 과거다. 하지만 과거의 오류를 개선해 미래 발전의 자양분으로 사용한다면, 의미없는 과거란 없는 것이다. 이 DDoS 공격 사례들은 정부기관과 기업들은 물론, 개인에게도 시사하는 바가 크다. 두 사례를 반면교사로 삼아 점점 교묘해지는 보안 위협에 철저히 대비하기 위해, 3∙4 DDoS 발생 1주년을 맞아 두 사건을 재조명해본다.
DoS(Denial of Service)가 DDoS(Distributed Denial of Service)로 진화하면서 그 공격 기법과 공격 대상도 다변화하고 있다.
과거 DDoS 공격자들은 자신의 해킹 기술을 과시하거나 인터넷 쇼핑몰•성인물 웹 사이트 등을 대상으로 금전적인 대가를 요구하는 경우가 많았다. 그러나 점차 정치적인 목적을 달성하기 위한 핵티비즘(Hacktivism), 경쟁사 웹 사이트를 공격해 장시간 사용이 불가능하도록 하는 영업 방해 등으로 그 목적이 다양해졌다.

[그림 1] DDoS 공격의 변화
공격 기법도, 과거에는 간단한 CommandLine 형태였으며 공격을 위해서는 수작업으로 공격 대상 시스템의 IP 주소 등을 직접 입력했다. 그리고 분산된 DoS 공격을 위해서는 Batch 작업을 할 수 있도록 별도의 스크립트를 작성해야 했기 때문에 단시간에 대규모의 공격을 수행하기가 어려웠다.

[그림 2] 중국에서 제작된 CommandLine DDoS 공격 툴
하지만 시대가 바뀌고 컴퓨터 기술이 발전함에 따라 CommandLine 형태에서 벗어나 윈도우 시스템에서 간편하게 실행이 가능한 GUI 형태로 변했으며, 단순한 SYN 플러딩(Flooding) 방식 이외에도 UDP 플러딩과 ICMP 플러딩 방식이 이용됐다.

[그림 3] 윈도우 GUI 기반 DoS 공격 툴
이러한 특정 공격 툴들에 의존한 공격은 IT 기술의 발전과 더불어 더욱 강고해졌다. 특히 우리나라는 IT 기술과 환경이 매우 빠르게 발전하여 가정에서도 기가비트급의 네트워크 대역폭을 사용할 수 있어 단시간에 분산된 대용량의 네트워크 트래픽을 유발하기 좋은 환경이다.

[그림 4] 중국에서 제작된 DDoS 공격 기능이 포함된 악성코드 생성기
악성코드에 감염되면 공격자에 의해 완벽하게 제어가 가능한 좀비 PC가 된다. 좀비 PC는 단순한 원격 제어와 키로깅(Keylogging) 기능 외에도 C&C(Command and Control) 서버의 조종에 의해 언제 어디서나 대규모의 DDoS 공격을 재빠르게 감행할 수 있다.
DDoS 공격에 의해 발생하는 네트워크 트래픽 역시 SYN과 UDP 패킷 또는 ICMP와 TCP 패킷이 복합적으로 결합된 형태의 패킷을 발생시켜 DDoS 장비에서 탐지하고 대응하기가 더욱 어려워졌다.
지리적•문화적 특성을 이용한 악성코드 유포
대규모의 DDoS 공격을 위한 악성코드 유포 방법에도 변화가 있었다. 과거에는 대량의 이메일로 전파하는 매스 메일러 웜(Mass-Mailer Worm)과 같이 전 세계를 대상으로 유포되었다면, 최근에는 특정 국가의 IT와 사회•문화적인 지역 특성을 이용하는 사례가 늘고 있다.
이것은 악성코드 유포 시에 컴퓨터 사용자들이 관습적 혹은 습관적으로 악성코드에 감염되도록 유도하는 사회공학 기법을 적용한 것으로, 특히 국내에서는 다른 나라에서 찾아보기 어려운 악성코드 유포 기법들이 발견되고 있다.
일례로, 경찰청으로 위장해 경찰 수사에 대한 참고인 출석 요구서를 이메일로 발송한 사례가 있었다. 이 이메일은 악성코드를 다운로드하는 웹 사이트 링크를 클릭하도록 유도하는 내용을 포함하고 있었다.

[그림 5] 경찰청으로 위장한 악성코드 유포 메일
또한 포털 사이트에 기반한 사이버 카페들의 활용과 방문 빈도가 높다는 점을 악용, 유용한 유틸리티 프로그램이나 온라인 게임들의 패치 프로그램으로 위장한 악성코드를 다운로드하도록 유도하는 사례도 발견됐다.

[그림 6] 사이버 카페에서 배포되는 온라인 게임 패치 파일
동영상이나 MP3 파일과 같은 대용량의 파일들을 공유하기 위해 개발된 P2P(Peer to Peer) 프로그램들도 악성코드 유포에 많이 사용되고 있다.

[그림 7] 국내 P2P 프로그램
P2P 프로그램들은 대부분 보안 설정이 취약한 웹 사이트들을 통해 배포되고 있다. 게다가 P2P 프로그램들은 자체적으로 자동 업데이트 기능을 포함하고 있어 모듈이 변경돼도 해당 P2P 프로그램을 재설치하지 않도록 구성됐다. 이러한 특징이 DDoS 기능을 가진 악성코드들의 유포 기법으로 악용되었다. 이는 두 차례의 대규모 DDoS 공격에서 모두 나타났다.

[표 1] 7.7 DDoS 공격과 3.4 DDoS 공격 개요
P2P 프로그램 악용한 악성코드 배포와 업데이트
3∙4 DDoS 공격은 2011년 3월 4일 오전 10시와 오후 6시 30분에 발생했다. 2009년에 발생한 7∙7 DDoS 공격 때와 마찬가지로 C&C 서버와의 통신, DDoS 공격, MBR(Master Boot Record) 및 파일을 손상시키는 기능이 있었다.
일반적인 DDoS 공격은 단일 악성코드에 의해 감염된 좀비 PC를 이용하며 C&C 서버로부터 명령을 받아 단일 사이트를 공격한다. 이에 비해 3∙4 DDoS는 10여 개의 악성코드가 기능별로 분리되어 유기적으로 동작하면서 수십 개의 사이트를 동시에 공격했다는 점이 특징이다. 공격 대상은 정부기관, 군기관, 금융기관, 보안 업체, 포털 사이트 등이 포함된 다양한 사이트들이었는데 1차 공격 시에는 29개, 2차 공격 대상은 40개였다.

[그림 8] 3∙4 DDoS 악성코드 전체 개요도
3∙4 DDoS 공격에 사용된 악성코드는 P2P 프로그램인 셰어박스(sharebox.co.kr)에서 개발한 프로그램의 자동 업데이트 시 참조하는 구성 파일을 변조한 SBUpdate.exe이었다. SBUpdate.exe가 실행되면 미국, 호주, 베네수엘라, 대만, 포르투갈 등에 위치한 C&C 서버에 접속하여 ntcm63.dll, ntds50.dll과 같은 파일명의 악성코드를 다운로드한다. 이 악성코드를 서비스로 등록해 실행시키고, 감염된 시스템의 실행 파일 경로, 컴퓨터 이름, 사용자 계정 같은 정보를 C&C 서버로 전송한다.
nt(랜덤 문자열).dll 파일은 C&C 서버와의 통신, DDoS 공격, MBR(Master Boot Record) 및 파일을 손상시키는 m(랜덤 문자열)svc.dll, w(랜덤 문자열)svc.dll, s(랜덤 문자열)svc.dll 파일을 생성한 후 서비스로 등록하여 실행시킨다. 또한 C&C 서버 리스트, 공격 시간, 공격 사이트 URL, 감염 시각, MBR 손상 시각 등이 암호화되어 있는 4개의 .dat 파일(faultrep.dat, tlntwye.dat, tljoqgv.dat, noise03.dat)을 생성한다.
m(랜덤 문자열)svc.dll : faultrep.dat 파일을 참조해 C&C 서버로부터 명령을 받고 악성코드 변형 다운로드
w(랜덤 문자열)svc.dll : tlntwye.dat 파일(공격 시각), tljoqgv.dat 파일(공격 사이트 URL)을 참조해 DDoS 공격을 수행
s(랜덤 문자열)svc.dll : noise03.dat 파일(감염 시각, MBR 손상 시각)을 참조해 MBR 및 파일 손상

[그림 9] 시간에 따른 3∙4 DDoS 악성코드 전체 개요도
[그림 9]에서 보는 바와 같이, 처음 DDoS 공격이 시작된 이후 공격자는 유사한 방법으로 다수의 P2P 웹 사이트를 통해 DDoS 악성코드의 변형을 배포하여 공격의 다양성과 지속성을 유지하는 치밀함을 보여주었다. 7∙7 DDoS 공격에서는 같은 형태의 파일로 여러 차례 공격을 시도한 것과는 달리, 3∙4 DDoS 공격 때는 매번 파일의 구성을 달리해 배포함으로써 안티바이러스 업체의 분석과 대응을 방해했다. 이러한 시도는 기존 공격 전략으로부터 진화된 것이라 할 수 있다.
공격의 마지막 단계인 2011년 3월 5일 오후 5시경부터 배포된 악성코드는 DDoS 공격 모듈은 제거된 상태였으며 MBR 손상 시각과의 비교 없이 무조건 MBR 및 파일을 손상시키는 모듈과 C&C 서버와의 통신 모듈로 구성돼 있었다.
네트워크 공격 변화의 의미
3∙4 DDoS 공격은 여타 다른 DDoS 공격과 기본 형태는 같았다. 다만, C&C 서버를 이용해 공격할 대상과 방법을 전달받는 IRC Bot처럼 지능적인 면을 보였다. 또한 일반적으로 한 가지 공격으로 트래픽을 크게 일으키는 것과는 달리 3가지 유형의 플러딩을 발생시켰다.

[표 2] 네트워크 공격 유형에 따른 분류
공격에 흔히 이용되는 것이 HTTP 프로토콜을 대상으로 한 플러딩이다. 3.4 DDoS 공격 시에는 3가지 유형의 공격이 모두 이용됐지만, HTTP 플러딩이 80%고, ICMP와 UDP 플러딩은 각각 10% 정도로 활용됐다. 왜냐하면 코드상에 HTTP가 가장 많이 발생하도록 제작되었는데, 7번의 Loop 중 HTTP가 5번, UDP가 1번, ICMP가 1번의 주기로 Loop가 반복되기 때문이다.
그럼, 이렇게 생성되는 공격이 만들어내는 트래픽은 얼마나 될까?
해당 악성코드들은 DDoS 공격이라는 이름에 걸맞지 않게 큰 트래픽을 생성하지는 않는다. 공격 대상 사이트 중 1곳에 공격하는 트래픽은 평균적으로 초당 25개였으며, 평균 패킷 사이즈는 174바이트, 그리고 초당 전송되는 트래픽 양은 4.2K 정도였다. 물론, 1대의 PC가 아니라 수만 대의 PC에서 공격했다면 수기가바이트 이상의 트래픽이 됐을 것이다.
충분히 많은 트래픽을 생성할 수 있음에도 불구하고 왜 이렇게 적은 트래픽만을 발생시켰을까?
2003년 1월 25일에 발생한 SQL 슬래머 웜은 더 많은 트래픽을 생성하기 위해 TCP보다는 UDP 프로토콜을 선택하였고, 감염된 시스템 리소스를 최대한 활용하여 초당 1만~5만 개의 패킷을 대량으로 생성했다. 3∙4 DDoS 공격에서도 충분히 그럴 수 있었음에도 생성하지 않고, 3가지 형태의 플러딩을 발생시킨 이유는 무엇일까?
이에 대해 몇 가지 이유를 추측해 볼 수 있다. 우선, 3∙4 DDoS 공격이 2009년 7월 7일에 이어 발생된 두 번째 공격이며 HTTP, UDP, ICMP의 3가지 유형의 플러딩을 이용하는 것도 동일하나 약간의 헤더 정보 및 Payload만 달라졌다. 이는 대처 능력을 사전에 판단하기 위한 것일 수 있다. 실제로 2009년에 비해 DDoS 공격에 대한 대응이 신속하게 이뤄져서 피해를 최소화할 수 있었다.
또한, 사용자가 인지할 만큼의 PC 자원을 사용하지 않아 공격을 더욱 오래도록 지속하기 위한 이유도 있을 것이다. 마지막으로, 이런 공격을 통해 향후 사이버 무기로 사용할 만큼의 효과적인 공격 기법을 검증하기 위한 것으로 추정할 수 있다. 3∙4 DDoS가 7∙7 DDoS와 구별되는 큰 차이점은 Libpcap 라이브러리를 사용하지 않았다는 것이다. 이로 인해 윈도우에서는 Raw Socket 사용 제한이라는 제약 때문에 7∙7 DDoS와 달리 IP 스푸핑(Spoofing)을 하지 않았다. DDoS 공격에서 IP 스푸핑을 사용하는 것이 대응 입장에서 더욱 대처가 힘들기 때문에, 더 효과적인 방법임이 분명함에도 불구하고 사용하지 않은 것은 각 공격의 효과적인 방법을 검증하려는 의도로 볼 수 있다.
하드디스크와 파일 손상 기능의 발전 과정
하드디스크와 파일 손상(Damage) 기능은 7∙7 DDoS와 3∙4 DDoS 공격에서 모두 발생했으며, 손상 기능이 DDoS 공격의 마지막 단계에서 이루어졌다는 점도 동일하다. 손상 기능의 목적은 자신의 흔적을 지우거나 사용자 시스템에 큰 피해를 입히기 위한 것으로 추정된다.
손상 기능은 3∙4 DDoS 공격 시에 좀더 정교해지고 과감해졌다. 7∙7 DDoS 공격이 끝날 무렵 이루어진 하드디스크 및 파일 손상 기능은 많은 시스템에 피해를 줄 것으로 예상되었으나, 예상과 달리 피해를 입은 시스템이 많지 않았다. 그 이유는 손상 기능을 유발하는 악성코드가 Visual Studio C, C++ 2008 이상의 버전에서 제작되어, 닷넷 프레임워크(.Net Framework)가 설치되지 않은 시스템에서는 정상적으로 동작하지 않았기 때문이다. 또한, 손상 기능이 동작하는 시간 정보가 데이터 파일에 명시되어 있어 사전에 신속한 파악과 대응이 가능했다. 이것을 보면 7∙7 DDoS 공격자는 악성코드 제작 경험이 많지 않으며, 손상 기능에 대한 정교한 사전 테스트를 하지 않았던 것으로 판단된다.

[표 3] 하드디스크와 파일 손상 발전 과정
3∙4 DDoS 공격은 이러한 문제를 해결하여 좀더 정교하게 진행되었다.
첫째, 파괴 기능이 동작하는 시점을 데이터 파일에 명시하지 않고, 공격자의 명령에 따라 원하는 시간에 이루어질 수 있도록 하였다. 둘째, 안티바이러스와 같은 보안 제품에서 DDoS 공격 관련 데이터 파일을 삭제하거나 7∙7 DDoS와 같이 사용자가 시스템 시간을 과거로 변경한 경우에는 파괴 기능이 즉시 동작하도록 설계했다. 셋째, 파괴 대상 파일들을 찾기 위한 검색 속도를 빠르게 하기 위해 %window% 폴더와 %Program Files% 폴더를 제외하였다. 넷째, 디스크 파괴 시 7∙7 DDoS에서는 고정된 크기(39KB)만큼 이루어진 반면, 3∙4 DDoS에서는 운영체제 버전에 따라 다른 크기(최대 400GB)로 이루어지는 정교함을 보였다.
이외에도, 7∙7 DDoS는 안전모드로 부팅 시 악성코드가 구동하지 않아 파괴 동작에 대한 수동 조치가 가능했으나, 3∙4 DDoS는 안전모드에서도 서비스로 구동되도록 제작하여 수동 조치가 이루어질 수 없도록 하였다. 하지만, 손상 대상 파일의 확장자 리스트 중 일부가 중복된 후 수정 배포된 점, 디스크 손상 시 의도한 크기만큼 손상되지 않고 시스템이 비정상 종료되는 점 등을 보면 7∙7 DDoS와 마찬가지로 철저한 테스트 및 검증 없이 제작된 것을 알 수 있다.
두 차례의 DDoS의 손상 기능 모두 긴급하게 제작된 부분이 있긴 하지만 점점 더 정교화, 지능화되고 있음을 부인할 수 없다. 따라서 이후에 발생할 손상 기능이 어떨 것인지 예측할 수는 없지만, 지금까지의 대응 경험을 바탕으로 철저히 대비하는 것이 필요하다. 또한, 과거의 대응 방법이 오히려 공격자로 하여금 하드디스크와 파일 손상에 대한 아이디어를 제공하지는 않는지 신중하게 검토해야 한다.
진보하는 안티포렌식
1) Detour Windows Executable File
윈도우 시스템은 리눅스 시스템과는 다르게 파일의 확장자를 기반으로 파일의 속성을 구분한다. 악성코드 제작자들은 이러한 사실을 악용하여 파일의 확장자를 변경함으로써 침해 사고 포렌식 분석 과정에서 확장자 검색만으로는 윈도우 실행 파일을 찾아낼 수 없게 만든다. 이렇게 은폐된 파일을 찾아내기 위해 윈도우 실행 파일 구조인 PE(Portable Executable)의 첫 부분에 있는 ‘MZ’ 시그니처를 확인하는 방법을 사용하기도 한다. 그런데 이번 3∙4 DDoS에 사용된 악성코드 중 flash.gif 파일은 확장자가 GIF로, 마치 이미지 파일인 것처럼 보이지만 뒷부분에 PE 파일이 붙어있다.

[그림 10] Fake Portable Executable File
[그림 10]과 같은 파일의 내용을 살펴보면, JPG 이미지 파일인 것처럼 보이도록 만든 데이터 부분과 윈도우 실행 파일을 하나의 파일로 만들어 일반적인 윈도우 실행 파일, 즉 PE 형식의 파일을 찾을 수 없게 하였다. 이것은 안티바이러스뿐만 아니라 디지털 포렌식 분석가들에 의해 적발되는 것을 피하고자 하는 의도인 것이다. 실제로 디지털 포렌식 분석가들이 사용하는 EnCase 도구를 통해 flash.gif 파일을 분석했을 때 [그림 11]과 같이 ‘Bad Signature’라고 표기되지만 윈도우 실행 파일인 EXE 파일은 찾을 수 없는 경우가 있다.

[그림 11] EnCase로 flash.gif 파일을 분석한 화면
악성코드는 flash.gif 파일에 들어있는 윈도우 실행 파일을 실행하기 위해 서두의 이미지 부분은 버리고 실행 파일 부분을 별도의 파일로 만든다. 이렇게 실행된 파일이 3∙4 DDoS 공격 시 하드디스크 및 파일들의 손상을 유발했던 Wversion.exe라는 악성코드이다.
2) Trace Removal
디지털 포렌식 분석 시 악성 행위의 증거를 찾기 위해 다양한 윈도우 구조물(Artifacts)을 분석한다. 일반적인 로그 이외의 흔적을 찾는 작업이기에 시스템에 대한 더 많은 지식이 필요하다.
‘접촉한 두 물체 사이에는 반드시 교환이 일어난다’는 로카르드의 교환법칙(Locard’s exchange Principle)에 따르면 악성코드가 동작함으로써 교환이 일어난 흔적을 반드시 찾을 수 있다. 하지만 악성코드들은 이러한 분석 작업을 방해할 목적으로 다양한 방법을 동원한다.
예를 들어, 3∙4 DDoS 때 사용된 악성코드 중 일부는 인터넷 브라우저 캐시(Cache) 파일에 저장된 흔적을 제거하기 위해 DeleteUrlCacheEntryA() API를 이용하였다. 뿐만 아니라 자신이 실행된 후 사라지기 위한 방법으로 윈도우 Batch 파일을 이용하기도 하였다. Batch 파일을 이용하면 특정 파일과 자신의 파일인 Batch 파일을 손쉽게 삭제할 수 있기 때문에 악성코드들이 자주 사용한다.
3) Anti FileCarving
대부분의 PC 사용자들은 파일을 휴지통에 버린 후 휴지통 비우기를 하면 파일이 삭제되는 것으로 알고 있다. 하지만 파일 시스템의 구조를 알고 있다면, 휴지통에서 파일이 사라졌다고 해도 실제 데이터는 하드디스크 어디엔가 남아 있다는 것을 알고 있을 것이다.
이렇게 파일뿐만 아니라 파일의 조각난 데이터들을 복구하는 것을 디지털 포렌식에서는 ‘파일카빙(FileCarving)’이라고 한다. 이러한 디지털 포렌식 기법을 악성코드 제작자들도 모를 리 없다. 7∙7 DDoS 공격 관련 파일 중 원본 파일이 복구되지 못하도록 원본 데이터 위에 NULL(0x00) 데이터로 덮어쓴 다음 파일을 삭제하는 악성코드가 있었다. 미 국방성 표준 문서인 U.S. Department of Defense DoD 5220.22-M에 따르면 최소 3회 이상 덮어쓰기를 해야 한다고 하지만 7∙7 DDoS 악성코드와 같이 한 번만 의미 없는 데이터로 덮어쓸 경우에도 원본 데이터를 복구하기가 현실적으로 불가능하다.
4) Disk Wiping
3∙4 DDoS 때 사용된 악성코드 중에는 시스템에 존재하는 모든 하드디스크의 첫 부분부터 차례로 지워가는 코드가 있었다.

[그림 12] 하드디스크 구조
[그림 12]와 같이 디스크의 앞부분에는 하드디스크를 어떻게 구분하여 사용하고 있는지에 대한 정보가 담겨있는 MBR(Master Boot Record) 영역과 파일 시스템이 파일과 폴더들을 어떻게 구성하고 있는지 또는 그에 대한 메타데이터가 존재하는 VBR(Volume Boot Record) 등의 중요한 데이터가 들어있다. 이러한 데이터들이 없어진다면 시스템이 정상적으로 구동할 수 없을 뿐 아니라 데이터들을 복구하기도 어려워진다. 악성코드들은 자신의 흔적을 없애는데 그치지 않고 시스템을 손상시킴으로써 디지털 포렌식 분석 자체를 하지 못하도록 만들려고 한 것이다.
침해 사고 디지털 포렌식 분석 시 악성코드의 실행 단서가 되는 ‘Digital Smoking Gun’을 찾기 위해 다양한 기법들이 연구되는 한편, 이러한 증거를 지우려는 안티포렌식(Anti-Forensics) 기법도 기승을 부리고 있다. 하지만 이러한 안티포렌식 기법이 사용된 흔적을 찾는 것 또한 의심스러운 행위의 증거 자료로 활용 가치가 있을 것이다.
7∙7 DDoS VS 3∙4 DDoS
첫째, 대형 서비스 인프라를 이용한 악성코드 유포와 DDoS 공격.
기존 악성코드를 이용한 DDoS 공격에서는 악성코드 유포를 위해 이메일이나 포털의 사이버 카페 등에서 정상적인 프로그램이나 호기심을 유발할 만한 프로그램으로 위장하는 사회공학 기법을 사용하였다. 그러나 두 차례의 DDoS 공격에서는 이러한 기존 악성코드 유포 방식을 사용하지 않았다.
이들은 소프트웨어의 보안 패치나 모듈 업데이트를 위해 동작하는 소프트웨어 업데이트 기능을 악용해 해당 소프트웨어를 사용하는 모든 사용자들에게 동시에 DDoS 공격을 수행할 수 있는 악성코드를 유포하였다. 특히 국내의 경우, 많이 이용되는 P2P 프로그램이라는 대형 서비스 인프라를 악용함으로써 다른 악성코드들과 비교할 수 없을 정도로 단시간에 더욱 많은 좀비 PC를 확보할 수 있었다.
둘째, 국가•공공•금융기관 및 보안 업체 등 공격 대상을 명확하게 선정.
대부분의 DDoS 공격은 금전적인 대가를 확보하거나 공격을 의뢰한 경쟁 업체로부터 금전적인 이윤을 받는 경우다.
그러나 두 차례의 DDoS 공격은 공격이 발생한 직후, 공격을 수행한 조직이나 인물이 자신들의 목적이 무엇인지 밝히는 행동 특성이 전혀 발견되지 않았다. 그리고 DDoS 공격의 대상 목표물들은 금전적인 대가나 이윤을 받을 수 있는 기업체들이 아니라 사회적 안정을 책임지는 국가기관과 함께 그 기능이 마비될 경우 사회적인 큰 혼란이 유발될 수 있는 공공 및 금융기관들이 포함되어 있었다.
셋째, 악성코드들의 구조적 설계로 역할 분담.
악성코드를 이용한 DDoS 공격에서는 일반적으로 하나 혹은 두 개의 파일들을 이용해 분산된 대용량의 트래픽을 유발한다. 그러나 두 차례의 DDoS 공격에서는 다수의 파일들로 구성하여 각각의 파일들은 공격 시각, 공격 대상들, 트래픽 유발과 하드디스크 및 파일 손상 등이 가능하도록 기능 중심으로 역할이 분담되어 있었다. 이러한 구조적 설계로 인해 보안 업체들의 입장에서는 한두 개의 파일들만으로는 실질적인 공격과 대상들을 파악하기 어려웠다.
넷째, 다른 DDoS 공격 악성코드와 다르게 하드디스크 손상 유발.
현재까지 발견된 대부분의 악성코드들은 감염된 PC에 최대한 오랜 시간을 잠복하며 악성코드 제작자가 목표한 바를 이루도록 제작되었다. 그러나 두 차례의 DDoS 공격에 사용되었던 악성코드들은 본연의 목적인 DDoS 공격을 수행한 이후에는 지정된 시각 또는 공격자의 명령에 따라 감염된 PC의 하드디스크와 파일들을 손상하도록 제작되었다. 이것은 감염 PC들을 대상으로 한 디지털 포렌식의 분석을 회피해 공격자를 추적하지 못하도록 한 조치로 볼 수 있다.
다섯째, 방어자에 대한 대응 능력 평가와 그에 따른 학습 효과 반영으로 공격 전략의 고도화.
2009년 7∙7 DDoS 공격을 통해서 공격자는 정부기관과 보안 업체들이 어떠한 방식으로 의사소통을 하며, 대규모의 사이버 공격에 대한 대응을 진행하는지 파악할 수 있었다. 2011년 발생한 3∙4 DDoS 공격에서는 공격자의 학습 효과를 확실하게 확인할 수 있었다.
덕분에 공격자는 7∙7 DDoS 공격에서는 악성코드 변형들의 유포 없이 일괄 진행하였으나 3∙4 DDoS 공격에서는 보안 업체의 대응에 따라 새로운 변형들을 즉시 제작하여 유포하였다. 하드디스크와 파일 손상 시점 역시 보안 업체들의 대응 진행 과정에 따라 즉각적으로 변경하고 7∙7 DDoS 공격 당시의 수동 복구 방안을 고려한 악성코드를 제작했다. 또한 공격 목표도 해당 공격 목표의 대응 능력에 따라 유동적으로 트래픽을 분산하거나 변경했다.@
- AhnLab분석팀 장영준 선임