4장 네트워크 보안 DoS - (2)
UDP/ICMP traffic flooding
- 공격자가 다량의 UDP / ICMP 패킷을 서버로 전송, 서버가 보유한 network bandwidth를 가득 채워 다른 client 접속을 원할하지 못하도록한다.
- UDP/ICMP가 connectionless임을 이용하고 src IP 를 변조한다. (by IP spoofing)
DNS QUERY FLOODING
DNS란 ? : domain name과 IP주소를 상호 변환해주는 서비스
- 공격자가 DNS query를 다량으로 서버에 전송, DNS의 정상적인 서비스를 방해한다.
TCP traffic flooding
- SYN flooding
- TCP flag flooding
SYN flooding
- 공격자가 다량의 SYN pkt을 서버로 전송, 서버의 대기큐를 채운다.
- connection oriented 특성을 이용한거겠지? ( ACK 패킷이 올때까지 기다리니까 대기큐가 채워지는 것)
TCP flag flooding
- TCP의 flag값을 임의로 조작해서 서버가 해당 패킷 검증시에 자원을 소진하게끔 유도하는 공격이다.
IP flooding
- LAND ( 네트워크 보안 (1) 의 본문에서 확인할 수 있었다. 출발지와 도착지 IP를 같게 설정해서 무한루프 걸어버리기)
- Teardrop (역시 네트워크 보안(1)에서 확인할 수 있다. IP datagram의 순서를 조작하거나 중복 혹은 누락을 만들어서 장애 유발)
HTTP traffic flooding
1. HTTP GET flooding
- 특정 웹페이지를 동시에 여러 에이전트가 요청 > 서비스 거부 발생
- 특정 서비스만을 중단시키는게 목적이다.
- 대처가 어렵다. 대처방안으로는 임계치를 설정한 후에 특정 IP에서 임계치 값을 넘어서 HTTP GET 요청을 한다면 그것을 무시하는 방식으로 이루어진다.
2. HTTP flooding with CC (cache-control)
- Cache : data나 값을 미리 복사해놓는 임시 장소. 캐시 이용시 자원과 시간의 절약이 가능
- HTTP 헤더의 Cache Control 옵션값을 사용해서 캐시 기능을 사용하지 않게 만들면 더 많은 부하를 발생시킬 수 있다. (웹 서버가 캐시를 사용하지 않고 응답해야하므로)
대처 방안 : 역시 임계치 기반으로 방어한다.
3. Dynamic HTTP request flooding
- 요청되는 웹페이지의 주소가 동적으로 바뀌는 공격
- 매번 요청되는 웹페이지의 URL 주소를 변경, 계속 바꾸면 당연히 DDoS인지 아닌지 gingamingayo
> 단 출발지 IP가 동일하므로 이를 통해 해결책을 낸다. (역시 임계치 기반의 해결책.. 특정 IP가 많은 요청을 하면 차단하는 식)
구분 | 특이점 |
HTTP CC 공격 | 캐시 컨트롤 옵션 변경을 통해 더 많은 부하를 유발한다. |
동적 HTTP 요청 공격 | 지속적으로 요청하는 웹 페이지 주소를 변경하여 차단 우회를 시도한다. |
HTTP header / option spoofing flooding
1. Slow HTTP header 공격
- HTTP header의 정보를 비정상적으로 조작함으로써 웹 서버가 헤더 정보를 수신하지 못한 것으로 판단, 장시간 연결을 유지하도록 유도함.
2. Slow HTTP Post 공격
- 공격자가 서버로 전달할 데이터를 의도적으로 느린 속도로 전송해서 웹 서버와 연결을 장시간 유지.
1번과 2번 둘다 "장시간 연결을 유지"함으로써 서버의 자원 고갈을 유도한다.
DRDoS (Distributed Reflection Denial of Service)
- 봇넷이 필요없는 공격기법, 출발지 IP를 변조해 정상적인 프로토콜 요청을 통해 공격한다.
- DDoS보다 위협적이다.
- 패킷전송 경로 매우 다양하고, Reflector를 통해 단계적 확장을 하며 역추적이 어렵다.