서비스 거부 공격 가용성(Availability)을 침해하는 공격
DoS vs. DDoS
DDoS : 분산 서비스 거부 공격
여러 PC들은 원격 조종해 동시에 서비스 거부 공격(DoS)를 하는 방법
[공격 유형 사진]
ICMP 패킷을 정상 크기보다 아주 크게 만들어 전달하는 것
⇉ router가 MTU(최대 데이터 패킷 크기)에 맞춰 패킷을 작은 조각으로 쪼갬 (Fragment)
⇉ 공격 대상은 단편화된 패킷을 처리 및 재조합 하는 과정에서 부하 발생
❗
🔐 보통의 ICMP 패킷은 분할하지 않으므로 ICMP 패킷 중 분할이 일어난 패킷을 탐지/차단
🔐 ICMP 패킷 필터링(차단) 일정 시간 내 일정 개수 이상의 ICMP 패킷이 들어올 경우 출발지 주소 차단
hping3 명령어
Usage : hping3 [공격대상IP]
hping3 10.0.0.50 --icmp --rand-source -d 65000 --flood
icmp 프로토콜을 사용해서
출발지 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
단편화된 패킷들의 offset을 변조하여 재조립 시 과부화를 일으킴
공격자는 IP fragment offset 값을 중첩되도록 조작 후 전송
⇉ 수신한 시스템이 재조합하는 과정에서 오류가 발생
⇉ 시스템 기능을 마비
엄청난 양의 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 Cookie🍪 (사전검증)
클라이언트의 SYN 패킷에 대한 SYN/ACK 패킷을 전송할 때 인증 정보가 담긴 시퀀스 넘버를 Cookie 값에 넣어 전송
SYN을 쿠키화해서 가지고 있는 것
방화벽에 내장되어있는 기능
사용자의 서비스 요청인 응답을 대신 보낸 후 ACK 패킷이 Cookie+1이 되는 값이 들어오는지 체크하는 간단한 원리
🔐 First SYN Drop 설정
대부분의 공격 패킷이 SYN 요청을 생성할 뿐 패킷 Drop시 재전송을 수행하지 않는다는 점을 이용
🔐 SYN+ACK에 대한 대기시간을 줄인다.
대기시간을 너무 줄이면 정상요청에 문제가 생길 수 있음
windows xp에 구동되어 있는 웹서버
hping3 --rand-source 10.0.0.50 -p 80 -S -flood
80번 포트에 SYN 패킷을 계속 보내겠다.
source 주소를 랜덤으로 생성
wireshark가 다운된 관계로 파일 첨부 못함....⭐
UDP의 비연결 특성(TCP의 3 handshake 과정 없음)을 이용한 공격
UDP 프로토콜을 이용하여 클라이언트가 서버에 가상의 데이터를 연속적으로 보내어 서버의 부하 및 Network 트래픽 부하를 발생시켜 정상적인 서비스를 하지 못하도록 한다
hping3 10.0.0.50 --udp --destport 161 --rand-source --flood -d 10000
SNMP
wireshark가 자꾸 다운되는 관계로 파일 첨부 못함....⭐
출발지 IP == 목적지 IP
IP 패킷의 출발지 주소 변조를 이용한 공격
⇉ 공격 대상이 자기 자신에게 응답
⇉ 시스템에 따라 무한루프를 하기도 함
시스템 리소스 공격 → 메모리, CPU 부하
😒 요즘은 거의 먹히지 않는 공격 기법
🔐 패킷의 출발지 IP주소와 목적지 IP주소가 같을 경우 방화벽/라우터 장비에서 필터링하여 차단
hping3 10.0.0.50 -a 10.0.0.50 -S -p 80 --flood
TCP 패킷의 Sequence 패킷을 이용한 공격
※ tcp를 통해 데이터를 전송할 경우 각 데이터 패킷은 시퀀스 넘버를 가짐
처음 패킷을 1번으로 보낸 후
⇉ 두번째 세번째 패킷 모두 시퀀스 넘버를 1번으로 조작하여 전송
시스템 자원을 고갈 (CPU 부하)
hping3 10.0.0.50 -a 102.168.10.10 -M 1 -p 80