- DDoS, Distributed Denial of Service; 분산된 다수의 좀비 PC를 이용하여 공격 대상 시스템의 서비스를 마비시키는 공격 형태.
DoS와의 차이
DoS 공격이 시스템의 취약점을 이용해 부하를 유발시키는 것이라면 DDoS 공격은 다수의 선량한 PC를 동원하여 서비스에 접근하기 때문에 뚜렷한 해결책이 있는 것이 아니다.
구성
- 공격자(Attacker)
- 해커의 시스템
- 좀비 PC를 만들고, C&C에 명령을 전달한다.
- 명령 제어(C&C:Command and Control)
- 공격자로부터 공격 명령을 전달 받는 시스템
- 전달 받은 내용을 좀비 PC에게 전달하는 역할을 한다.
- 마스터(Master)라고 부르기도 한다.
- 좀비(Zombie) PC
- C&C의 명령을 받고 실제 공격을 수행하는 다수의 선량한 PC
- 악성코드에 감염되어 공격에 동원된다.
- 봇(Bot), 슬레이브(Slave), 에이전트(Agent)라고 부르기도 한다.
- 공격 대상(Target)
- 좀비 PC의 공격을 받는 대상 시스템
종류
대역폭 소진 공격
- OSI 3~4계층에서 이루어진다.
- IP, ICMP, IGMP, UDP, TCP 등의 프로토콜을 대상으로 한다.
- 전체 네트워크의 가용성에 영향을 끼친다.
UDP Flooding
ICMP Flooding
DNS Query Flooding
TCP SYN Flooding
TCP Flag Flooding
TCP Session Flooding
서비스 마비 공격
- OSI 7계층에서 이루어진다.
- HTTP, DNS, FTP, SMTP 등의 프로토콜을 대상으로 한다.
- 공격 대상 시스템만 마비시키며 전체 네트워크에 대한 영향은 작다.
HTTP Continuation Data Flooding
서버로 전달하는 패킷에 HTTP Header 없이 Data 만 채워 웹서버가 지속적으로 데이터 수신을 위해 TCP 자원을 사용하도록 하는 공격이다. 패킷 크기를 최대한 크게 하여 보내기 때문에 네트워크 자원도 같이 고갈될 수 있는 공격 형태이다.
HTTP GET Flooding
- 동일한 HTTP GET 요청을 다량으로 발생시켜 서버가 요청을 처리하도록 하는 공격
- 서버 자원을 과도하게 사용하도록 하여 정상적인 요청을 처리하지 못하도록 함
CC Attack
- HTTP GET Flooding with Cache Control
RUDY
- RU-Dead-Yet
- Slow HTTP POST DoS
Slowloris
- Slow HTTP Header DoS
Hash DoS
- 다량의 POST 파라미터를 보내서 Hash Table의 충돌을 유도하여 부하를 증가시킨다.
Hulk DoS
- http get 요청을 다량으로 하면서 접속대상주소를 지속적으로 변경하면서 공격
- 파라미터를 계속 변경하면서 보냄