[정보보안] 서비스 거부 공격(SMURF & PING OF DEATH & SYN Flooding & Teardrop)

[정보보안] 서비스 거부 공격(SMURF & PING OF DEATH & SYN Flooding & Teardrop)


SMURF 공격과 PING OF DEATH공격의 공통점은
이 두 공격 모두 ICMP 프로토콜을 이용한 공격입니다.


1. SMURF 공격이란?

스머프 공격(smurf attack)은 희생자의 스푸핑된 원본 IP를 가진 수 많은 인터넷 제어 메시지 프로토콜(ICMP)패킷들이 IP 브로드캐스트 주소를 사용하여 컴퓨터 네트워크로 브로드캐스트하는 분산 서비스 거부 공격이다.
즉, 여러 호스트가 공격 대상에게 많은 양의 ICMP Echo Request를 보내게 하여 공격 대상이 마비됩니다.

SMURF 대응 방안

  • 다른 네트워크로부터 자신의 네트워크로 들어오는 IP broadcast 패킷을 막으면 됩니다.
    • 그렇다면, 누가 막을 수 있을까요??
정답은 바로 라우터! 네트워크의 경계를 담당하는 라우터에 IP broadcast 패킷에 대한 설정을 해주면 됩니다.
  • 호스트들은 IP broadcast 주소로 전송된 ICMP 패킷에 대하여 응답하지 않도록 설정!



2. PING OF DEATH란?

정의 : 죽음의 핑(Ping of Death)은 해킹 기법의 하나이다. 규정 크기 이상의 ICMP패킷으로 시스템을 마비시키는 공격을 말한다.

ping을 이용하여 ICMP 패킷을 정상 크기보다 훨~씬 크게 만들어 공격 대상에게 보내는 공격입니다.
크기가 큰 패킷은 네트워크 상에서 분할되어 목적지로 전송이 됩니다.
분할되어진 수많은 패킷을 받은 공격 대상은 부하가 발생해 장렬히 전사합니다.


PING OF DEATH의 대응방안

가장 간단하면 손 쉬운 방법으로는 ICMP 패킷을 막는 것 입니다.
서버 앞단 혹은 서버에서 ICMP 패킷을 블로킹해주는 설정을 통해 '죽음의 핑'을 피할 수 있습니다.



3. SYN Flooding

Handshake(핸드세이크)

공격자는 TCP 처음 연결 시 서버에 접속을 요청하는 SYN메시지를 보낸다
호스트 서버는 공격자에게 응답인 SYN + ACK 패킷을 보낸 뒤 ACK 패킷이 올 떄까지 SYN Received 상태로 대기한다.
  • 즉, 공격자가 대답(ACK)을 하지 않고 서버가 계속 기다리게 만드는 것
존재하지 않는 클라이언트가 서버별로 한정되어 있는 접속 가능한 공간에 접속한 것처럼 속여, 다른 사용자가 서버의 서비스를 제공받지 못하게 하는 것


4. Teardrop


Fragmentation의 취약점을 이용한 공격 방법입니다.
정상적으로 패킷을 전송할 대 IP Fragmentation이 발생하면 패킷을 재조립할 때 오프셋(offset)값을 더하게 됩니다. 하지만 공격자가 오프셋 값을 변형시켜 보내면 재조립할 때 시스템이 오류를 일으켜 붕괴되거나 리부팅이 발생하게 됩니다.
따라서 저장되지 않은 데이터는 손실되게 됩니다.

  • Teardrop공격은 시스템에 손상(damage)를 주는 공격이 아니고 데이터를 손실시키기 위한 공격입니다.
but) Teardrop을 비롯하여 IP Fragmentation을 이용한 공격 유형은 대부분의 시스템이 패치되어 최근에는 실효성이 없는 공격입니다.


5. LAND 공격

Land Attack(Local Area Network Denial Attack)은 IP 스푸핑을 이용한 SYN 공격입니다.

공격자는 공격대상 시스템의 IP주소로 출발지주소를 변경한(spoofed) TCP SYN 패킷을 보냅니다. 패킷을 받은 시스템은 TCP SYN-ACK을 자신에게 보내게 되고 유휴시간제한(Idle timeout)까지 빈 연결을 만들게 됩니다. 이 과정을 반복하게 되면 시스템에는 빈 연결이 계속해서 쌓여 시스템 버퍼가 범람하게 되고, 결과적으로 서비스거부(Dos) 상태가 됩니다.


출처

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유