본문 바로가기

정보보호/정보보호론(박승철)

정보보호론-(6) Dos, DDoS, Amplified DoS

정보보호론-(6) Dos, DDoS, Amplified DoS

서비스 거부 공격(DoS, Denial of Service Attack)
- 시스템 자원을 고갈시켜 목표 시스템이 정상적인 서비스를 제공할 수 없게 만드는 행위
- Error Triggering DoS Attack
- Flood-based DoS Attack

오류 유발 DoS 공격(Error Triggering DoS Attack)
- 시스템의 오류를 유발하는 행위를 의도적으로 수행하여 목표 시스템이 정상적인 서비스를 제공할 수 없게 만드는 행위
- Ping of Death Attack : 65535바이트를 넘는 큰 ICMP 패킷을 전송하여 이를 처리할 수 없는 시스템을 다운 시킴
- Teardrop Attack : 중복된 IP 단편(IP Fragment)를 전송하여 이를 처리할 수 없는 시스템을 다운 시킴
- Land Attack : TCP SYN 패킷의 출발지 IP 주소, 목적지 IP 주소를 공격 시스템 IP주소로 스푸핑하여 공격하는 방법

# 대응책
- 시스템 취약점을 보완한 패치를 적용

홍수 기반 DoS 공격(Flood-based DoS Attack)
- 목표 시스템이 처리할 수 있는 용량을 초과하는 트래픽을 전송하여 자원을 고갈시킴으로서 정상적인 서비스를 제공할 수 없게 만드는 행위
- TCP SYN Flooding Attack
- 대용량 비디오 다운로드 과다 요청
- DH 알고리즘 기반 세션키 생성 과다 요청

TCP SYN Flooding Attack
- TCP 연결 테이블(TCP Connection Table) 자원을 고갈시키기 위해 단시간안에 목표 시스템에 IP 출발지 주소를 존재하지 않는 IP 주소로 스푸핑하여 다량의 TCP SYN 세그멘트를 전송하는 행위
- 공격받은 시스템은 TCP Connection Table 자원이 소진되어 정상적인 서비스 요청에 응답할 수 없게 됨

<그림 1: TCP 3-way handshaking 절차>
<그림 2: TCP Segment 구조>

- SYN 세그먼트, SYN+ACK 세그먼트, ACK 세그먼트, RST 세그먼트는 플래그 비트(flag bit)값을 설정하는 것으로 결정된다.

<그림 3: TCP SYN Flooding 공격 절차>

(2) 공격 대상은 스푸핑(=위조)된 IP에 해당하는 TCP Connection Table을 생성하므로 TCP Connection Table 자원이 고갈되어 향후 정상적인 서비스 요청에도 응답할 수 없는 상태가 되는 것.

# TCP SYN Flooding Attack 대응책
- SYN 쿠키(SYN Cookie) 기법

SYN 쿠키(SYN Cookie) 기법
- TCP SYN Flooding Attack이 가능했던 이유는 서버가 클라이언트로 부터 TCP SYN 요청을 받은 상태에서 TCP Connection Table을 생성했기 떄문이다. 이러한 경우 스푸핑된 IP 주소로 TCP SYN 세그멘트를 수신했을 때에 TCP Connection Table 자원 고갈을 피할 수 없다.
- 따라서, TCP Connection Table을 생성하는 시점을 클라이언트로부터 TCP ACK 세그먼트를 수신했을 때로 변경하여 정상적인 서비스 요청에 따른 TCP Connection Table만을 생성하는 것.
- 공격자가 TCP ACK 세그멘트를 위조할 수 있으므로 위조가 불가능하도록 해시값(hash-value)을 사용한 ISN(Initial Sequence Number)를 사용함.
- refernece : https://eunice513.tistory.com/161

<그림 1: TCP 3-way handshaking 절차>

SYN Cookie를 적용하면 <그림 1>에서 (3) SYN+ACK(seq = hash_value, ack = X+1)로 응답, (4) ACK(ack= hash_value + 1)로 변경되는 것.
공격자는 hash_value + 1에 해당하는 값을 위조할 수 없어 SYN Cookie 기법을 적용하면 TCP SYN Flooding Attack에 안전함

분산 DoS 공격(DDoS Attack)
- 목표 시스템을 공격하기 위해 분산된 다수의 컴퓨터 자원을 동원하는 공격 방식
- 좀비(zombie, bot) 컴퓨터 : 공격자가 DDoS공격에 동원하기 위해 DDoS 악성 소프트웨어를 설치시키거나 XSS 공격에 의해 감염된 호스트
- 봇넷 = 좀비컴퓨터의 집합

<그림 4: DDoS 공격 절차>

증폭 DoS 공격(Amplification DoS Attack)
- 공격자에 의해 송신된 데이터 패킷이 정상적인 네트워크 서비스에 의해 많은 수의 데이터 패킷으로 증폭된 다음 공격자가 지정한 목표 시스템으로 전달되어 목표 시스템을 공격하게 하는 행위
- Smurf DoS Attack
- Fraggle DoS Attack

스머프 DoS 공격(Smurf DoS Attack)
- 공격자가 출발지 IP 주소를 목표 시스템으로 스푸핑(=위조)하고 목적지 주소를 불특정 다수로 설정한 ping 메시지를 다수 송신한다.
- ping 메시지를 수신한 네트워크 내 시스템들은 ping 응답 메시지를 목표 시스템에 전송함으로써 목표 시스템의 자원을 고갈시키는 DoS 공격 방식

<그림 5: Smurf DoS Attack>

프래글 DoS 공격(Fraggle DoS Attack)
- ICMP Ping 트래픽 대신 UDP 브로드캐스트 트래픽을 이용함.

Reference
1. 

제6강_DoS_DDoS공격.pdf
0.60MB

2. https://www.youtube.com/watch?v=E1BgW17HgzQ