2008/03/28

해킹사례 - Http 연결 대량 유입으로 인한 서비스 거부

DDoS 공격은 그 의미 그대로, 분산 서비스 거부 공격인데요. DDoS 에 관련된 자료는 인터넷에 꽤나 많이 공개되어 있으므로 패쓰...

공격 패턴중에 하나인 Distributed Denial of Http Connection 에 관련된 사항입니다. 물론 공격자가 어떤 공격 솔루션을 이용해는 지는 잘 모르겠고..,

- 많기도 많거니와,. 그 방법도 다양하므로... -

일단,. 웹서비스에 대해서 대량 접속을 시도하게 되면 웹서버에서는 허용된 처리량을 초과하게 됩니다. 보통 웹서버에서 처리가능한 큐갯수를 훨씬 상회하거나 특정 페이지 호출로 인해서 그 페이지 처리로 인한 CPU 로드 증가 입니다.


다음 사례는, 오전 8시 30분 경부터 공격을 시작해서 몇일간 지속된 사례 입니다. 공격시점 으로 부터 시간이 계속 지날수록 공격 호스트는 점점 줄어들게 됩니다.


<Http Connection>

분산되어 있는 여러 호스트들에 의해서 접속이 시작되면 위처럼 Http 연결수가 순간 급격 하게 증가하게 됩니다. 또한 웹요청 Queue 도 급격하게 증가하여 웹서버의 제한값을 초과하게 되며, 그와 동시에 그 처리 비용으로 CPU 로드도 함께 상승하는데요.



<패킷통계>



<CPU Usage>

위의 경우는, 타켓 장비는 제온 2.0G 듀얼, 2G RAM 입니다. 특정 페이지 호출로 인해서 임시 조치로 해당 페이지를 삭제 조치하였습니다. 그럼에도 거의 100% 를 지속적으로 유지함을 볼수가 있습니다.




또한, 공격자가 요청하는 내용은 특정 웹사이트의 특정 페이지를 계속해서 요청하는 것으로, 초기 공격시점에 요청페이지를 삭제하였으나, 예기치 않게 그로 인해서 트래픽 또한 평소의 몇배를 초과하는 최대 625Mbps 가 유발 되었습니다.


<Traffic, 녹색-out>

이유는, 웹서버측에서는 클라이언트측의 없는 페이지를 대상으로 지속적인 요청에 따라 404 메시지를 리턴해 주기 때문에 오히려 웹사이트 호스트 프로세스와 inetinfo.exe 에서 유발됩니다.

그러면 왜 삭제후에 더 높게 나왔냐? 하면 공격자가 요청한 페이지는 프레임이 들어가 단순 페이지이며 실제 요청만 하고 웹서버측에서 리턴해 주는 메시지를 받지 않도록 공격하기 때문 입니다.




실제 404 로 리턴되는, C:\WINNT\help\iisHelp\common\404b.htm 페이지 사이즈는 매우 작은 편입니다. 그러나 그 요청수가 매우 많기 때문에 600Mbps 가까이 나온 것입니다.



<html><body><h1> HTTP/1.1 404 Object Not Found</h1></body></html>


위 리턴 되는 패킷의 크기라고 해봐야 몇십 byte 수준입니다. 그것이 합해져 600Mbps 나온다면 그 요청수가 얼마나 많은지 가늠할수 있을것 입니다.


이와 같은 공격의 대응방법은, 역시 IPS 장비를 앞단에 설치후 Http 요청의 패턴을 파악후 그 패턴에 의한 요청 패킷을 Drop 처리해 주면 됩니다.

다만, 이러한 특정 서비스 거부 공격의 효과가 없다고 공격자가 판단하는 경우에는 몇 Gbps 를 상회하는 트래픽 공격을 하게 되어, 그때에는 특정 장비 수준이 아닌 해당 네트워크 전체가 마비되는  더 큰 피해를 입히는 공격 패턴을 시도하게 됩니다.


참고문서:

최근 분산서비스공격(Distributed DOS attack)의 트랜드 : 네트워크 공격
http://www.serverinfo.pe.kr/TipnTech.aspx?Seq=302

DDoS 공격사례, 기법 및 이를 위한 Arp Spoofing 등 기술문서
http://www.serverinfo.pe.kr/TipnTech.aspx?Seq=388


27-svrhitnum-day.gif
27-ddos_http_protocol.gif
27-nt-cpu-day.gif
27-ddos_http_taskmanager.gif
27-traffic.gif
27-ddos_http_404.gif
27-ddos_http_packet.gif

댓글 없음:

댓글 쓰기

가장 많이 본 글