1. 대역폭 공격
UDP Flooding | |
요약 | - 공격자는 다량의 UDP 패킷을 서버로 전송하여 정상적인 서비스가 불가능하도록 하는 공격 |
설명 | - UDP 프로토콜의 비연결형 (connectionless) 특성을 악용 - 대상서버에서 UDP Port를 사용하지 않아도 공격할 수 있으며, 공격을 수행하는 감염된 기기가 많을수록 위험도 증가 |
ICMP Flooding | |
요약 | - 공격자는 다량의 ICMP Request 패킷을 서버로 전송하여 정상적인 서비스가 불가능하도록 하는 공격 |
설명 | - 장치간 연결을 진단하는 ping 명령에 대표적으로 쓰이는 프로토콜로서 주로 ICMP Request와 Reply를 사용 - 증폭이 발생하지 않기 때문에 공격기기의 대역폭에 따라 공격 규모가 결정 |
2. 자원 소진 공격
SYN Flooding | |
요약 | - 공격자는 다량의 SYN 패킷을 서버로 전송하여 서버의 대기큐를 가득채워 새로운 클라이언트의 연결요청을 무시하도록 하여 장애를 유발 시키는 공격 |
설명 | - TCP Protocol의 3-way-handshake를 악용 - SYN Flag만 지속적으로 전달하고 돌아오는 SYN/ACK 패킷에 대한 응답을 주지 않음 - 피해서버에서 가용할 수 있는 Backlog Queue를 전부 소모하여 정상 사용자 연결을 차단하게 됨 |
DNS Query Flooding | |
요약 | - DNS서버에 대량의 DNS 질의를 보내서 정상 서비스를 할 수 없게 만드는 공격 |
설명 | - DNS 서버는 UDP 프로토콜 53번을 통해 도메인 정보에 대한 IP주소를 요청을 받으면 해당하는 IP값을 응답하는 역할 - 단시간에 대량의 DNS 질의를 보내면 DNS서버는 요청한 DNS 질의에 대한 응답을 보내기 위해 자원을 소모하기 때문에 결과적으로 정상 서비스가 불가해짐 |
VSE Query Flooding | |
요약 | - GRE 프로토콜을 이용해 특정사이즈의 패킷을 지속적으로 발생시켜 서버자원의 고갈을 유도 |
설명 | - UDP (증폭) 공격으로 게임 서버에만 적용됨 - TSource 엔진 쿼리 요청을 게임 서버에 보내 서버가 모든 요청을 처리 할 수 없도록 하여 서비스 거부를 유발 |
GRE Flooding | |
요약 | - 게임 서버를 대상으로 다량의 TSource Engine Query를 전송하여 서비스 거부를 유발 시키는 공격 |
설명 | - GRE (Generic Routing Encapsulation): IP 네트워크에서 가상 점대 점 링크 내에 다양한 네트워크 계층 프로토콜을 캡슐화 할 수있는 터널링 프로토콜 - GRE 프로토콜은 공격 시 encapsulation을 통해 대량의 payload를 전송 가능하고 , 타겟서버는 IP defragmentation 과정에서 자원 고갈이 발생 가능 |
Tsunami Syn Flooding | |
요약 | - 패킷 당 1000bytes의 트래픽을 유발하여 서비스 거부를 유발 시키는 공격 |
설명 | - 기존 SYN flood Attack은 패킷당 40~60bytes의 트래픽을 유발하는데 반해 Tsunami SYN-Flood Attack은 패킷당 1000bytes의 트래픽을 유발 - 일반적인 SYN 패킷에 25배(최대 1000bytes)의 크기로 패킷 데이터양을 추가하는 방식으로 공격을 수행 |
3. 웹/DB 부하 공격
GET Flooding | |
요약 | - 서버와 세션을 맺은 후, HTTP GET 메소드 요청을 통해 웹서버 자원 소진 및 DB서버 자원을 소진 시키는 공격 |
설명 | - 웹과 DB 부하 공격의 가장 대표적인 공격방식 - 서버와 세션을 맺은 후, HTTP GET 메소드 요청을 통해 웹서버의 자원을 소진함과 동시에 DB서버까지 자원을 소진 시켜서 정상적인 사용자의 웹서비스 이용을 차단 |
Slowloris Attack | |
요약 | - HTTP 패킷의 헤더를 조작하여 오랜 시간 동안 지속적으로 공격으로 서버의 자원을 잠식하는 공격 |
설명 | - 정상적인 HTTP 패킷의 헤더는 Carriage Return & Line Feed(이하 개행 문자)가 두 번 나타남 - 16진수로 0d0a0d0a - 첫 번째 개행 문자는 헤더의 종료이며 두 번째 개행 문자는 전체 헤더의 종료를 의미 - 헤더의 마지막에 개행 문자를 하나만 전송할 경우 웹서버는 헤더가 모두 도착하지 않은 것으로 간주하고 연결을 유지하며 대기상태를 유지 |
RUDY Attack | |
요약 | - Content-Length 헤더기를 매우 크게 설정한 후 서버로 전달할 데이터를 장시간에 걸쳐 조금씩 분할하여 전달해 서버의 자원을 잠식하는 공격 |
설명 | - POST Method를 이용하는 대표적인 Slow 공격 유형 - POST 요청은 전달할 데이터의 크기를 Content-Length 헤더에 삽입하여 전송 - Content-Length 헤더기를 매우 크게 설정하고 데이터를 조금씩 전송하여 서버가 모든 데이터를 수신하기까지 대기하고, 결과적으로 정상 사용자들의 요청을 서비스 할 수 없게 됨 |
Slow read Attack | |
요약 | - TCP 통신에서 사용되는 windows size를 악용한 공격기법 |
설명 | - Client마다 한번에 처리할 수 있는 패킷의 크기가 다르기 때문에 해당 크기를 windows size 필드를 통해 전달 - windows size를 기준으로 패킷을 주고받음 - windows size를 낮게 설정하여 서버로 전달하고, 해당 size를 기준으로 통신하면서 데이터 전송이 완료될 때 까지 Connection을 유지하게 만들어 서버의 Connection 자원을 고갈시키는 공격 |
'취약점 > Denial of Service' 카테고리의 다른 글
Apache Commons Fileupload 서비스 거부 취약점 (CVE-2023-24998) (0) | 2023.02.27 |
---|---|
DDoS 공격 유형 #2 (0) | 2023.02.02 |
OpenSSL 무한 루프로 인한 서비스 거부 공격 (CVE-2022-0778) (1) | 2023.01.30 |
OpenSSL 3.0 X509 스택 버퍼 오버플로 (CVE-2022-3602, CVE-2022-3786) (0) | 2023.01.13 |
Tomcat Integer Overflow Vulnerability (CVE-2014-0099) (0) | 2023.01.04 |