Abstract
An application-layer attack can effectively achieve its objective with a small amount of traffic, and detection is difficult because the traffic type is very similar to that of legitimate users. We have discovered a unique characteristic that is produced by a difference in client intention: Both a legitimate user and DDoS attacker establish a session through a 3-way handshake over the TCP/IP layer. After a connection is established, they request at least one HTTP service by a Get request packet. The legitimate HTTP user waits for the server's response. However, an attacker tries to terminate the existing session right after the Get request. These different actions can be interpreted as a difference in client intention. In this paper, we propose a detection algorithm for application layer DDoS attacks based on this difference. The proposed algorithm was simulated using traffic dump files that were taken from normal user networks and Botnet-based attack tools. The test results showed that the algorithm can detect an HTTP-Get flooding attack with almost zero false alarms.
서버의 응용계층에 대한 DDoS 공격은 매우 적은 량의 패킷으로 효과적인 공격이 가능하며, 공격 트래픽이 정상 트래픽과 유사하여 탐지가 매우 어렵다. 하지만 HTTP 응용계층 공격 트래픽에는 사용자 의도에 의한 특성이 있음을 찾았다. 정상 사용자와 DDoS 공격자는 동일하게 TCP 계층에서 세션을 맺는다. 이후 최소 한번의 HTTP Get 요구 패킷을 발생한다. 정상적인 HTTP 요구는 서버의 응답을 기다리지만 공격자는 Get 요청 직후 세션을 종료한다. 이러한 행위는 사용자 의도에 의한 차이로 해석할 수 있다. 본 논문에서는 이러한 차이를 기반으로 응용계층 분산서비스 거부 공격 탐지 알고리즘을 제안하였다. 제안된 알고리즘은 정상 네트워크와 봇 기반 분산서비스거부 공격 툴에서 발생한 트래픽으로 실험되었으며, 거의 오탐 없이 HTTP-Get 공격을 탐지함을 보여 주였다.