2024-06-14 03:10 (금)
3.4와 7.7 DDoS 공격, 어떤 차이 있었나
상태바
3.4와 7.7 DDoS 공격, 어떤 차이 있었나
  • 김혁준
  • 승인 2011.07.11 11:59
이 기사를 공유합니다

3.4DDoS와 7.7DDoS 상호간 유사점 보다는 차이점이 더 많다
2010년 3월 4일 발생한 DDoS 공격은악성코드제작, 봇넷구성 및 공격전개 방식에서 지난 2009년 발생한 7.7 DDoS 공격과 많은 유사점이 있었다.  그러나 공격자의 공격전략과 공격수행방법 측면에서 좀더 자세히 분석해보면 상호간의 유사점보다는 차이점이 더 많다는 것을 알수 있다. 7.7 DDoS 공격의 경우 공격자는 공격전개를 위해 좀더 많은시간을 투자하였으며 당시 DDoS 방어수준에 대한 정확한 이해를 바탕으로 매우 효과적인 공격을 수행하였다.  그러나 3.4 DDoS  공격의 경우 공격자는 공격망 구성을 위해 많은 노력을 기울이지 않았으며 비록 악성코드 전개에 있어 진일보한 모습을 보였으나 2009년 이후 진화하고있는 국내 DDoS 방어수준에 대한 이해가 부족한 것으로 나타났다. 여기서는 악성코드 전개 및 운용 등에 대한 부분보다는 2011년 3월 4일 발생한 DDoS 공격을 네트워크 수준에서 분석하여 그 차이점을 나타낸다.     
 
 

Figure 1 공격프로토콜 분포
 
DDoS 공격의 효과
DDoS 공격은 일반 해킹(Cracking) 공격과 비교해 볼 때 그 시작부터 공격이 방어자에게 노출되며 전술적으로 방어자는 네트워크 경계지점(Network Perimeter )에서 공격자와 정면 대결을 피할 수 없다는 특성이 있다. 따라서 뛰어난 공격자는 가능한 방어가 어려운 방법을 택하며 뛰어난 방어자는 가용한 모든 정보를 사용하여 공격트래픽과 정상트래픽을 분리하여 정상사용자의 가용성을 침해하지 않으며 공격트래픽을 선택적으로 차단한다.  7.7DDoS공격이 효과적이었던 이유는 당시 대부분의 공격방어체계가 대량패킷전송(Flooding Attack) 중심으로 운용되었을 때 어플리케이션 수준의 공격을 수행하여 큰 피해를 주었으며 이와 동시에 공격패킷과 정상패킷을 분리할 수 없도록 많은 노력을 기울였기 때문이다. 따라서 3차례에 걸친 공격 중 처음 공격을 제외한 나머지 공격이 발생한다는 것을 인지하고 있었으나 2차 3차 공격 시에도 많은 방어지점에서 효과적인 방어가 이루어지지 않았다. 이러한 사실은 DDoS  공격의 효과가 차단 가능한 공격 시그니처가 존재하는가에 종속적임을 나타낸다.
 
공격의 유사점
양 공격은 공격망 구성방식에 있어 악성코드 전개/운용 및 좀비구성 측면에서 많은 유사점이 보이며 또한 DDoS 공격 측면에서도  다수의 서버를 목표로 한 것, TCP, UDP, ICMP의 다수의 공격 프로토콜을 선택한 것, 또한 HTTP Cache-Control Directive를 사용한 것 등 두 공격 사이에 외형적으로 많은 유사점을 찾아 볼 수 있다.  그림 1은 양 공격 당시 사용된 프로토콜 분포를 나타내는데 ICMP 및 UDP 패킷 비율이 각 7%에서 약 4%로 줄어든 것을 제외하면 연결성 공격인TCP 공격이 주종을 이루며 비연결성 공격인 UDP 및 ICMP 패킷이 사용되었다는 점에서 매우 유사한 형태를 이루고 있다는 것을 알 수 있다.
 

Figure 2 HTTP USER_AGENT 분포    

 
또한 그림 2에서 보이는 것과 같이 HTTP USER_AGENT 선택에 있서 오류가 존재하지 않는 다수의 유저에이전트 스트링을 일정한 비율로 사용한다는 점에서도 상호 일맥상통 한다는 것을 알수 있다.  그러나 이러한 사실은 다수의 분석보고서 또는 매체를 통해 일반에 널리 알려진 사실로 이러한 사실을 바탕으로 양 공격을 수행한 공격자가 매우 유사하거나 혹은 동일 공격자라는 결론을 도출하는 것은 적절하지 않다.
 
공격의 차이점
앞서의 유사점에도 불구하고 양 공격을 좀더 심도있게 비교해 보면 공격전략 수립 측면에서 많은 차이가 발생한다는 것을 알수 있다. 
 

 
Figure 3 Cache-Control Directive사용

그림 3은 양 공격에서 사용된 Cache-Control Directive 사용비율을 나타낸 것으로 왼쪽 청색 그래프는 3.4 DDoS 공격에서 사용된 비율로 총 HTTP Request의 약 24%를 차지하고 있으며 오른쪽은 지난 7.7 공격에 사용된 것으로 약 50% 정도의 사용비율을 보이고 있다. HTTP 헤더에  Cache-Control 구문을 사용하여 소위 CC-ATTACK로 명명된 본 공격은 이후 정상적인 HTTP 헤더구성에는 사용될 수 없다는 것이 입증되어 대표적인 공격차단 시그니처로 사용되어 왔다. 이러한 전제하에 동 내용이 포함된 연결을 차단하는 방식을 사용할 경우에도 7.7 공격의 경우 나머지 50%의 공격이 특별한 차단 시그니처 없이 사용되었으며 3.4 공격의 경우 전체 HTTP 요청의 약 60%가 사용되었다.
그림 4,5는 비연결성 플러딩 공격에 사용된 UDP, ICMP  패킷크기의 분포를 나타내는데 그림 오른쪽에  표시된 7.7 공격의 경우 차단을 어렵게 하기위해 의도적으로 다양한 크기의 패킷이 생성되었으나 3.4 공격의 경우 전 공격에서 단일 크기의 패킷이 생성된 것을 알수 있다.
 



Figure 4 UDP 패킷크기 비교





Figure 5 ICMP 패킷크기 비교
 

또한 이러한 차이점은 7.7. 공격의 속성 중 일반인에게 거의 알려지지 않은 복제패킷 전송부분에서 뚜렸한 차이를 보인다. 7.7 공격 당시 공격자는 소위 다단계공격전략(Attack-in-Depth)을 구사하였는데 ACK 패킷 복제는 이 중 대표적인 것으로 종단서버의  TCP스택에 도달하기 전에는 기술적으로 차단이 불가능한 기연결 ACK패킷을 복제하여 IPS  등 시그니처기반 접근제어 장치에 부하를 유발하였다. 그러나 3.4 공격의 경우 정상적 TCP Retransmission을 제외한 패킷전송은 전혀 이루어 지지 않았다.
    



Figure 6 Duplicated  ACK 비율
 

특히 3.4 공격에 사용된 HTTP GET Flooding 헤더에는 Proxy-Connection 헤더필드가 존재한다.  이는 다수의 HTTP요청을 소수의 TCP 연결을 통해 전송하는 방법으로 DDoS 공격시 발생하는 서버의 부하를 감소시키는 효과를 가져온다는 점에서 공격자의 의도가 명확하지 않고 또한 HTTP 1.1 표준에 벗어나는 사용법으로 3.4 공격의 주요 차단 시그니처로 동작하였다.

또한 공격자의 공격패킷 분산방법 역시 상이한 모습을 보였다. DDoS 공격 중 GET Flooding과 같은 연결성 공격의 경우 최대 공격량은 피해서버의 웹 가용성(HTTP CPAPCITY)에 제한적이며 따라서 공격자는 좀비에서 생성되는TCP SYN패킷 생성비율을 조절 할 수는 있으나 서버와 클아이언트 사이의 실 TCP 연결수를 제어할 수는 없다. 따라서 공격자는 충분한 공격에이전트를 확보한 경우 별도의 흐름제어 메커니즘을 구현하지 않아도 TCP Congestion Control과 피해사이트의 가용성에 따라 가변적인 트래픽을 전송하게 되며 이는 그림 7에 나타난 것과 같이 7.7 공격시 사이트 별 전송된 패킷 수 분표를 통해 알 수 있다.



  Figure 7 사이트 별 전송 패킷량 분포(2009.07.08)
 
그러나 3.4 DDoS 공격의 경우 공격자는 공격대상 사이트 중 높은 가용성을 가지고 있는 대형포탈 3사에 좀더 많은 량의 패킷이 전송되도록 구성하였다. 그림 8의 오른쪽은 7.7 공격 당시 공격에이전트에서 생성된 공격대상 사이트 별 연결시도 건수를 나타내며 왼쪽은 3.4 공격시의 연결시도를 나타낸다. 


Figure 8  사이트 별 연결요청 수 분포 비교
 
유효공격량
유효공격량이란 피해사이트에 설치된 DDoS 방어장치에서 대응이 불가능한 공격트래픽을 나타낸다. 양 공격의 비교를 위해7.7 공격 당시의 유효 공격량을 100으로 보았을때 3.4 공격의 유효 공격량은 아래와 같이 구해질 수 있다.[1]  표 1은 3.4 공격 차단에 사용된 2개의 HTTP헤더에서 추출한 시그니처 값인 “Cache-Control’ 스트링과 Proxy-Connection 스트링의 분표를 나타낸다.
 
분 류 HTTP REQUEST수 비 율
전체요청(HTTP REQUEST) 수 317717 100%
Cache-Control 포함 191025 60.12%
Proxy-Connection 포함 317727 100%
양 시그니처 모두 포함 191025 60.12%
Table 1 HTTP 헤더의 차단시그니처 분포
앞에서 나타난 내용과 3.4 공격직후 발표된 안철수연구소의 공격비교표에 나타난 좀비 및 공격사이트 수를 참조하여 아래와 같은 3.4 DDoS공격의 초당유효공격량을 구할 수 있다.
 
유효공격 = 좀비수/사이트 × 평균 요청수 × 차단불가 트래픽 비율[2]
 
? 사이트별 평균 좀비수 = 좀비수/공격사이트수
? 차단불가 트래픽 비율 = 시그니처미포함트래픽/전체트래픽
 
공격분류 좀비수 사이트수 평균요청수 차단불가율 유효공격(초)
7.7 20만 23 11.4 0.5 5,437
3.4 5만 40 8.7 0.0   0
 
?  공격분류 : 2009년 7월 7일 공격 vs. 2011년 3월 4일 공격 분류
?  좀비수 : 각 공격시 사용된 것으로 보고된 좀비수
?  사이트수 : 공격대상 사이트 수
?  평균좀비수 : 사이트별 초당 평균공격 좀비 IP수[3]
?  차단불가율 : 차단불가 트래픽 비율
?  평균요청 : 초당 평균 요청(TCP SYN REQUEST) 수
 
방어현황
그림 9는 각 각 사이트 별 유효공격량을 분석한 것으로 공격 당시 적용된 DDoS 공격 시그니처의 종류 및 적용 시점에 따라 차별적인 값을 보인다.   3.4 DDoS 공격에이전트에 감염된 PC에서 발생된 공격패킷 분석을 통해 얻어진 정보이다. 3.4 공격 발생 시 공격대상 사이트는 모두 가용성을 유지하고 있었기에 공격당시 공격 클라이언트와 피해서버 간의 TCP연결 (삼중연결 완성기준)수와 HTTP GET 요청의 전달 수 비교을 통해 각 사이트의 방어 수준을 그림과 같이 추론할 수 있다. 이를 통해 인터넷진흥원, 한국수력원자력 등 90%이상의 방어가 이루어진 경우 동 공격에 대해 가장 빠르고 정확한 대응이 이루어 진 것으로 볼수 있으며 적용된 시그니처의 수와 적용시점에 따라 80%에서 1%의 방어가 이루어진 것으로 나타났다.[4]    



Figure 9 사이트별 방어현황

결론
이러한 분석으로 지난 7.7 공격과 3.4 공격이 동일한 공격자에 의해 수행된 것인지 혹은 단순 COPYCAT을 통해 수행된 것인지 밝혀내는 것은 사실상 불가능할 것이다. 3.4 공격은 7.7 공격과 비교 시 악성코드 운용에서는 보다 향상된 공격기법을 선 보였으나 DDoS 공격 시 공격구별이 가능한 문자열의 삽입, 단순화된 패킷생성 등 DDoS 공격차원에서는 2009년 공격보다 퇴화된 모습을 보였다. 7.7 공격자는 당시 국내 사이트의 DDoS 공격 방어수준 및 DDoS 공격기법에 대해 폭넓은 이해를 갖추고 이를 통해 국내 사이트를 무력화 하기위한 자발적인 공격을 수행하였고 3.4 공격자는 DDoS 공격 및 현 방어수준에 대한 충분한 이해를 갖추지 못하였으며 공격 통제에 보다 많은 노력을 할애한 타의에 의한 공격자 양상을 가지는 것으로 보여진다. 2011년 현재 앞선DDoS 공격자는 이미 시그니처가 존재하지 않는 브라우저 수준의 동작봇넷을 구성하여 운영하고 있으며 이러한 공격기법을 이용한 공격은 현재의 방어수준으로는 쉽게 방어 할 수 없다는 것이 현재 DDoS 방어체계의 현실이다.


[1]  어플리케이션 수준의 공격 특성상 각 사이트 별 정확한 유효공격량을 예측 할 수는 없으나 사용된 좀비의 수 공격대상 사이트의 수 및 차단가능한 공격의 수를 이용하여 전체적인 수준에서의 유효공격량을 구할 수 있다.
[2] 양 공격의 비교를 위해7.7 공격의 차단율을 0%로 산정하였으며 각 공격일시 별 대상사이트의 수 등 많은 부분의 데이터는 안철수연구소의 3.4 공격분석보고서값으로 단순화되어 계산하였으며 양 공격당시 알려진 시그니처가 모두 적용된 경우를 나타낸다.
[3] 3.4  공격은 공격사이트에서 측정 된 실측값을 7.7 공격은 3.4 공격을 모델로 한 추정값을 사용함
[4] 해당정보는 하나의 공격에이전트에서 생성된 패킷을 분석한 것으로 다른 공격에이전트에서는 이와 상이한 값을 생성할 수 있다.
[나루시큐리티 김혁준 대표 hyukjoon.kim@gmail.com]
■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★