Tech Juny

DoS 계열 공격 - DoS 공격 기법 본문

보안 취약점 공격

DoS 계열 공격 - DoS 공격 기법

태크주니 2024. 5. 17. 00:21

DoS


01. Ping of Death

Ping of Death

  • 공격 개요
    • Ping 명령을 통해 크기가 매우 큰 비정상적인 ICMP 패킷을 전송 → MTU 사이즈에 의해 매우 많은 IP 단편화 발생
    • 수신 측에서 단편화 된 패킷을 재조합하는 과정에서 부하 발생하거나 재조합 버퍼 오버플로우 발생
  • 대응 방법
    • ICMP 패킷은 보통 분할되지 않으므로 분할된 ICMP 패킷은 공격으로 간주하여 탐지
    • 반복적으로 들어오는 일정 수 이상의 ICMP 패킷 무시 설정
    • 또는 방화벽에서 외부에서 들어오는 ICMP 패킷 자체를 무시
  • 패킷 캡처
    • 동일한 다량의 단편화 된 IP 패킷 발생

02. Teardrop

Teardrop

  • 공격 개요
    • IP 패킷의 재조합 과정에서 조작된 Offset 정보로 시스템 오류 발생
    • offset 값을 중첩되거나, 간격을 멀리 띄어 놓는 방식으로 재조합 과정을 꼬이게 만듬
  • 유사한 공격으로 Bonk, Boink 공격이 있음
    • Bonk : 처음부터 시퀀스 넘버를 일정하게 같은 번호로 전송
    • Boink : 정상적은 시퀀스 넘버로 보내다가 중간부터 일정한 시퀀스 넘버로 전송
  • 대응책
    • Fragment Offset 정보가 잘못 된 패킷은 무시

03. Land Attack

Land Attack

  • 공격 개요 : 출발지와 목적지 IP가 같은 패킷을 만들어 타겟에 전송 → 무한 루프 상태 유도하여 자원 소모 목적
  • 대응책 : 방화벽이나 라우터에 출발지 IP와 목적지 IP가 같으면 차단하도록 설정
  • 패킷 캡처
    • Source IP = Destination IP 동일 확인

04. UDP Flooding

UDP Flooding

  • 개요
    • 공격자는 다량의 UDP 패킷을 서버로 전송하여 서버의 네트워크 대역폭 소진 → 정상 Client 접속 방해
    • Time 항목을 보면 매우 짧은 시간동안 다량의 UDP 패킷 발생 (DNS는 UDP/53 포트 사용)
    • Source IP가 다양한 좀비 PC의 주소
    • Destination IP가 타겟 서버

05. ICMP Flooding

ICMP Flooding

  • 개요
    • 공격자는 다량의 ICMP 패킷을 서버로 전송하여 서버의 네트워크 대역폭 소진 → 정상 Client 접속 방해
    • Time 항목을 보면 매우 짧은 시간동안 다량의 ICMP Echo Requeset 패킷 발생
    • Source IP가 다양한 좀비 PC의 주소
    • Destination IP가 타겟 서버

06. TCP SYN Flooding

TCP SYN Flooding

  • 개요
    • TCP 3-Way-Handshake 과정에서 마지막 ACK를 송신 하지 않아 Backlog Queue를 소진시킴
    • Backlog Queue : TCP 연결 관리 세션들을 저장하는 큐
    • 출발지 IP를 존재하지 않는 IP로 위조하여 서버의 SYN+ACK 메시지에 대한 ACK 응답이 발생하지 않도록 만듬
    • SYN, SYN+ACK, RST 패킷만 존재 → ACK 패킷이 없음
    • 공격 대상 소켓 상태 조회 시 SYN_RECV 상태 다량 발생
  • 대응책
    • SYN Cookie 설정 → ACK를 받을 때까지 Backlog Queue에 연결 정보를 담지 않음
    • 방화벽 or DDos 대응 장비를 통해 SYN 요청의 임계치 설정
    • TCP 연결 요청을 무한히 기다리지 않도록 Timeout 설정
    • First SYN Drop 설정 → 실제 존재하는 서버일 경우 SYN을 재전송하므로 첫 SYN을 Drop하여 판별

※ 간혹 RST 패킷이 오는 이유 : 위조된 Source IP 중 실제 존재하는 IP일 수도 있음

Comments