DoS / DDoS

유서정·2024년 4월 18일
0

네트워크 보안

목록 보기
15/16
post-thumbnail

DoS / DDoS

서비스 거부 공격 가용성(Availability)을 침해하는 공격

DoS vs. DDoS

DDoS : 분산 서비스 거부 공격
여러 PC들은 원격 조종해 동시에 서비스 거부 공격(DoS)를 하는 방법

[공격 유형 사진]

  1. Ping of Death 공격 : IP 패킷의 fragmentation 기능을 이용한 공격
  2. Smurf 공격 : ICMP 패킷의 broadcast 기능을 이용한 공격
  3. Teardrop 공격
  4. SYN Flooding 공격 : TCP의 패킷의 변조를 이용한 공격
  5. UDP Flooding 공격 : UDP 패킷을 이용한 공격
  6. Land 공격 : IP 패킷의 주소 변조를 이용한 공격
  7. BONK 공격 : TCP 패킷의 Sequence 패킷을 이용한 공격

Ping of Death 공격

ICMP 패킷을 정상 크기보다 아주 크게 만들어 전달하는 것
⇉ router가 MTU(최대 데이터 패킷 크기)에 맞춰 패킷을 작은 조각으로 쪼갬 (Fragment)
⇉ 공격 대상은 단편화된 패킷을 처리 및 재조합 하는 과정에서 부하 발생

취약점

보안대책

🔐 보통의 ICMP 패킷은 분할하지 않으므로 ICMP 패킷 중 분할이 일어난 패킷을 탐지/차단
🔐 ICMP 패킷 필터링(차단) 일정 시간 내 일정 개수 이상의 ICMP 패킷이 들어올 경우 출발지 주소 차단

실습

hping3 명령어

Usage : hping3 [공격대상IP]

BackTrack 에서 Hping를 이용한 Ping of Death 공격 수행

hping3 10.0.0.50 --icmp --rand-source -d 65000 --flood
icmp 프로토콜을 사용해서

XP에서 wireshark 이용하여 유입되는 패킷의 형태 확인

XP에서 CPU 부하 및 트래픽량 확인

Smurf 공격

출발지 IP: 공격대상 IP
목적지 IP: broadcast IP

ICMP 패킷을 위와 같이 설정하여 전송
⇉ broadcast 대역의 모든 PC들이 패킷을 받고 응답
⇉ 공격대상은 broadcast 대역의 PC들로부터 패킷 응답받음

시스템 리소스 공격 → 메모리, CPU 부하

취약점

❗ICMP 패킷에 대한 송신자 IP를 확인하지 않음

보안대책

🔐 목적지IP가 broadcast IP인 패킷을 차단
🔐 라우터에서 direct broadcast를 disable 시킨다

▸공격

hping3 -a <공격대상 IP> <Direct Broadcast 주소> --icmp --flood
hping3 -a 172.16.10.20 172.16.10.255 --icmp --flood

Teardrop 공격

단편화된 패킷들의 offset을 변조하여 재조립 시 과부화를 일으킴

공격자는 IP fragment offset 값을 중첩되도록 조작 후 전송
⇉ 수신한 시스템이 재조합하는 과정에서 오류가 발생
⇉ 시스템 기능을 마비

SYN Flooding 공격

엄청난 양의 SYN 패킷을 전달
TCP 패킷의 출발지IP를 Random하게 변조 ( 방화벽 등 보안 장비 우회 목적 )
봇넷을 활용한 DDoS 형태

참고 https://blog.naver.com/techtrip/222561492285

취약점

❗TCP의 연결지향성을 이용 (3-way-handshake)

보안대책

🔐 Backlog-queue의 크기 늘리기 (임시적인 조치)
Backlog Queue : TCP 서비스에서 클라이언트의 연결 상태정보를 기억하기 위한 공간(IP로 구분)
🔐 syncookie 기능 활성화
활성화하게되면, 클라이언트에서 ack을 받기 전까지 연결요청정보 backlog queue에 저장안함
=> 완전히 3 Way handshaking 이 이루어지지 않으면 Backlog Queue가 소비되지 않도록 한다.

클라이언트의 SYN 패킷에 대한 SYN/ACK 패킷을 전송할 때 인증 정보가 담긴 시퀀스 넘버를 Cookie 값에 넣어 전송

SYN을 쿠키화해서 가지고 있는 것

방화벽에 내장되어있는 기능

사용자의 서비스 요청인 응답을 대신 보낸 후 ACK 패킷이 Cookie+1이 되는 값이 들어오는지 체크하는 간단한 원리

🔐 First SYN Drop 설정
대부분의 공격 패킷이 SYN 요청을 생성할 뿐 패킷 Drop시 재전송을 수행하지 않는다는 점을 이용

🔐 SYN+ACK에 대한 대기시간을 줄인다.
대기시간을 너무 줄이면 정상요청에 문제가 생길 수 있음

실습

windows xp에 구동되어 있는 웹서버

BackTrack에서 Hping3를 이용한 SYN Flooding 공격 수행

hping3 --rand-source 10.0.0.50 -p 80 -S -flood
80번 포트에 SYN 패킷을 계속 보내겠다.
source 주소를 랜덤으로 생성

Windows XP에서 SYN Flooding 공격에 대한 Wireshark 분석

wireshark가 다운된 관계로 파일 첨부 못함....⭐

UDP Flooding 공격

  • Bandwidth
  • Resource

UDP의 비연결 특성(TCP의 3 handshake 과정 없음)을 이용한 공격
UDP 프로토콜을 이용하여 클라이언트가 서버에 가상의 데이터를 연속적으로 보내어 서버의 부하 및 Network 트래픽 부하를 발생시켜 정상적인 서비스를 하지 못하도록 한다

취약점

보안대책

실습

BackTrack에서 UDP Flooding 공격 실행

hping3 10.0.0.50 --udp --destport 161 --rand-source --flood -d 10000
SNMP

XP에서 작업 관리자 실행 후 네트워크 트래픽 량 확인

XP에서 UDP Flooding 공격에 대한 Wireshark 분석

wireshark가 자꾸 다운되는 관계로 파일 첨부 못함....⭐

Land 공격

출발지 IP == 목적지 IP
IP 패킷의 출발지 주소 변조를 이용한 공격

⇉ 공격 대상이 자기 자신에게 응답
⇉ 시스템에 따라 무한루프를 하기도 함

시스템 리소스 공격 → 메모리, CPU 부하

😒 요즘은 거의 먹히지 않는 공격 기법

취약점

보안대책

🔐 패킷의 출발지 IP주소와 목적지 IP주소가 같을 경우 방화벽/라우터 장비에서 필터링하여 차단

실습

BackTrack에서 LAND ATTACK 실행

hping3 10.0.0.50 -a 10.0.0.50 -S -p 80 --flood

XP에서 LAND ATTACK에 대한 Wireshark 분석

Bonk 공격

TCP 패킷의 Sequence 패킷을 이용한 공격
※ tcp를 통해 데이터를 전송할 경우 각 데이터 패킷은 시퀀스 넘버를 가짐

처음 패킷을 1번으로 보낸 후
⇉ 두번째 세번째 패킷 모두 시퀀스 넘버를 1번으로 조작하여 전송

시스템 자원을 고갈 (CPU 부하)

실습

BackTrack에서 Bonk 공격 실행

hping3 10.0.0.50 -a 102.168.10.10 -M 1 -p 80

XP에서 Bonk 공격에 대한 Wireshark 분석

profile
information security

0개의 댓글

관련 채용 정보