본문 바로가기

인터넷보안

DoS 공격

▶ Denial of Servicce (서비스 거부) 공격 

  • 시스템 or 네트워크의 구조적인 취약점을 노려
    정상적인 서비스를 지연 또는 마비시키는 공격

 

※ DoS 공격의 구분

1. 취약점 공격형

  • 특정 형태의 오류가 존재하는 네트워크 패킷을 전송
  • 공격 대상이 패킷 처리 과정에서 오류 발생
    • Boink / Bonk / Teardrop / Land 공격

 

2. 자원 고갈 공격형

  • 네트워크 대역폭 / 시스템의 CPU / 세션 등...
    자원을 소모시켜 정상적인 작동이 불가능하게 만드는 공격
    • Land, Ping of Death, SYN Flooding, Smurf... 등

 

▶ SYN Flooding 

  • 동시 사용자 수 제한을 이용
  • 존재하지 않는 허구의 클라이언트가 한정된 접속 가능 공간을 차지
    다른 사용자가 서비스를 제공받지 못하도록 한다.
  • TCP의  3-way 핸드셰이킹의 문제점을 악용

SYN Flooding

  1. 공격자는 다수의 SYN 패킷을 공격 대상 서버에 전송 (접속 요청)
  2. 서버는 받은 SYN 패킷에 응답 SYN/ACK 패킷을 각 클라이언트에게 전송
    클라이언트에 응답을 기다리는 TCP SYN Received 상태가 되어 기다린다.
  3. 일반적인 3-way 핸드셰이킹에서는 클라이언트가 다시 ACK 패킷을 전송하여 연결 완료
    하지만, SYN Flooding 공격에서는 ACK 패킷을 전송하지 않는다.
  4. 서버는 클라이언트의 ACK 패킷을 계속 기다리고, 서비스 이용 공간을 차지한다.

※ SYN Flooding 방어 대책

  • backlog 큐의 크기를 증가, timeout 시간을 짧게 설정
    즉, 사용 가능한 공간을 늘리고, 연결 대기 시간을 줄이는 것
  • 침입 탐지, 차단 시스템과 보안 시스템을 설치하는 것
  • Syn_Cookie
    - 서버 → 클라이언트의 SYN+ACK 패킷에 랜덤 생성 시퀀스 넘버 대신,
      서버에서 암호화 기술을 이용 인증 정보가 추가된 시퀀스 넘버를 생성해 클라이언트에 전송

SYN Cookie

  • Syn_Cookie를 사용하면서 SYN/ACK 패킷에 추가
  • 이후 클라이언트의 ACK 패킷을 무한정 기다리는 것이 아닌,
    세션을 닫는다.
  • 이후 클라이언트가 Syn_Cookie 값을 포함한 ACK를 전송하면, 이후 세션을 다시 열어 통신한다.

 


 

▶ Boink, Bonk, Teardrop 

Bonk

  • 첫 패킷의 시퀀스 넘버를 1번으로 전송
  • 이후 2, 3번째의 패킷도 시퀀스 넘버를 1번으로 조작하여 사용

 

 Boink

  • 초기 패킷은 정상적으로 전송
  • 이후 중간에 일정한 "동일한 시퀀스 넘버"를 가지는 패킷을 전송

 

Teardrop

  • IP 패킷 offset 중첩을 이용한 공격
  • 패킷을 겹치게 혹은 일정한 간격의 데이터 손실을 유발하여 전송
    패킷을 재조합하는 과정에서 오류가 발생하도록 하는 방식

 


 

▶ Land 

  • 패킷 전송 시 출발지 IP 주소, 목적지 IP 주소 값을 똑같이 생성
    IP 주소는 공격 대상의 IP
  • 동시 사용자 수를 점유, CPU 부하를 통해 시스템의 자원을 소모시키는 것

  • 패킷을 수신한 서버는 다시 송신자에게 응답 패킷을 전송한다.
    그런데?
    송신자가 자기 자신의 IP 주소이니 다시 자기에게 패킷을 전송...
    계속 자기에게 패킷을 보내는 무한 굴레가 생성된다.

 


 

▶ Smurf 

  • ICMP 패킷 이용
  • ICMP 패킷과 네트워크에 존재하는 임의의 시스템을 이용
    패킷을 확장하여 DoS 공격 수행
  • 네트워크 공격 시 주로 수행

※ 다이렉트 브로드캐스트

  • Router를 넘어 브로드캐스트 해야 하는 특수한 경우,
    네트워크 주소 부분에는 정상적인 IP (예: 172.16.0.)를 적고
    클라이언트 IP 주소 부분에 브로드캐스트 주소인 255 을 가득 채워 네트워크에 브로드캐스트가 가능

다이렉트 브로드캐스트

 

  • ICMP Request를 받은 172.16.0.0 네트워크는 패킷에서 위조된 시작 IP 주소로
    ICMP Reply를 전송 (위조된 주소는 공격 대상의 IP 주소)

따라서, Smurf 공격은 공격자가 Router를 넘어 브로드캐스트가 가능한 특수한 경우에,

네트워크에 ICMP Request를 브로드캐스트하고, 이를 통해 네트워크 전역의 시스템에 전송된다.

이 때 시작 IP 주소를 공격 대상의 IP 주소로 설정하면,
브로드캐스트된 패킷에 대한 ICMP Reply 응답이 공격 대상에게 다량 전송되어 DoS 공격을 수행할 수 있다.

 

 

 

 

'인터넷보안' 카테고리의 다른 글

스푸핑 (Spoofing)  (0) 2025.04.11
스니핑 (Sniffing)  (0) 2025.04.10
SNMP  (0) 2025.04.08
OS / 방화벽 탐지  (0) 2025.04.08
스캔 (Scan)  (0) 2025.04.07