✔ 서비스 거부공격(DoS) 종류

SeungMin_Sa·2020년 5월 25일
0

정보 보안

목록 보기
5/9
post-custom-banner

🌈 DoS(Denial of Service) 공격의 정의

  • 정당한 사용자가 정보 시스템의 데이터나 자원을 적절한 대기 시간 내에 사용하는 것을 방해하는 행위로 시스템에 과도한 부하를 일으켜 정보 시스템의 사용을 방해하는 공격 방식이다.
  • DoS 공격은 크게 소프트웨어의 취약점을 이용한 공격과 flooding 유형의 공격으로 구분할 수 있다.

📌 TCP SYN Flooding Attack

🔶 개요

  • TCP 연결 설정 과정 중에 3-way Handshaking 과정에서 Half-Open 연결 시도가 가능하다는 취약점을 이용한 공격
  • 공격자가 다수의 syn 신호를 공격대상자에게 전송하면 공격대상자는 syn/ack 신호를 공격자에게 전달하게 되는데 이때 공격자가 ack 신호를 반송하지 않으면 공격대상자의 시스템은 일정 시간동안 신호를 기다리게 된다.

🔶 보안대책

  • 방화벽 또는 DDoS 대응장비를 이용하여 동일 Client(IP)의 연결(SYN) 요청에 대한 임계치(ThresHold) 설정을 통해 과도한 연결 요청이 발생하는 것을 차단한다.
  • Syn_Cookie는 서버에서 클라이언트로 보내는 SYN+ACK 패킷에 임의로 생성되는 시퀀스 넘버 대신 서버에서 암호화 기술을 이용해 인증 정보가 담긴 시퀀스 넘버를 생성하여 클라이언트에 보낸다.
  • 즉, 클라이언트로부터 SYN 패킷을 받더라도 Syn_Cookie만 보내놓고 세션을 닫아버려 세션을 열로 기달릴 필요가 없으므로 SYN Flooding 공격은 통하지 않는다.
  • TCP 연결 테이블 엔트리 선택적 삭제 기법은 연결 테이블이 오버플로우가 될 때 일부 엔트리를 삭제함으로써 새로운 SYN 패킷을 처리할 수 있게 만든다.
  • 연결 테이블 확장은 TCP는 SYN 플러딩 공격에 보다 오래 버틸수 있게 한다. 그러나 이런 기법들은 각각 정상적인 연결을 삭제할 수 있다는 점과 지속적인 DoS 공격에 대한 솔루션이 될 수 없다.

📌 SMURF Attack

🔶 개요

  • 광범위한 효과로 DoS 공격 중에서 가장 피해가 크며 가장 인기 있는 공격 형태중 하나로서 IP 위장과 ICMP의 특징을 이용한 공격이다.
  • 공격자가 출발지 IP 주소를 목표 시스템으로 스푸핑하고 목적지 주소를 직접 브로드캐스트 주소(Directed Broadcast Address)로 설정한 Ping 메시지를 송신하고, Ping 메시지를 수신한 네트워크 내의 모든 시스템이 Ping 응답 메시지를 출발지 주소인 공격 목표 시스템으로 동시에 전송함으로써 공격 목표를 마비시킨다.

🔶 공격 방법

  1. 공격자는 IP를 공격대상 서버의 IP 주소로 위장하여, ICMP를 브로드캐스트로 다수의 시스템에 전송한다
  2. 이때 ICMP 브로드캐스트를 수신한 다수의 시스템은 ICMP Echo 패킷을 공격자가 아닌, 공격대상 서버로 전송하게 된다.
  3. 공격대상 서버는 다수의 ICMP Echo를 수신하게 되어 시스템 성능에 문제를 일으키게 된다.
  4. 이때 다수의 시스템은 브로드캐스트에 대한 응답으로 다수의 ICMP Echo 패킷을 발생시키기 때문에 증폭 네트워크라고 불리게 된다.

🔶 보안대책

  • 중간매개치로 쓰이는 것을 막기 위해 라우터에서 다른 네트워크로부터 자신의 네트워크로 들어오는 IP directed broadcast 패킷을 막도록 설정한다.
라우터 명령어 : (config-if) #no ip directed-broadcast)
  • 호스트는 IP broadcast address로 전송된 ICMP 패킷에 대해 응답하지 않도록 시스템을 설정한다.
  • 스머프 공격은 공격이 시작되면 단시간에 다수의 ICMP Echo Reply 패킷을 희생자에게 전송한다. 따라서 동일한 ICMP Echo Reply 패킷이 다량으로 발생하면 해당 패킷을 침입차단시스템을 통해 차단(Drop)한다.

📌 Flooding Attack

🔶 개요

  • Flooding 공격은 사용되는 프로토콜에 따라 여러 가지 형태를 띄고 있다.
  • 어떤 경우든 공격의 목적은 목표시스템에 연결된 네트워크 링크에 과부화를 거는 것이다.

🔶 ICMP Flood

  • ICMP echo request를 사용하는 ping flood 공격은 전통적인 ICMP flooding(SMURF) 공격이다.

🔶 UDP Flood

  • UDP의 비연결성 및 비신뢰성 때문에 공격이 용이한 방법이다.
  • echochargen 서비스를 이용한다.
  • echo는 UDP 7번 포트를 사용하는데 a를 보내면 a를 응답한느 서비스이다.
  • chargen는 19번 포트를 사용하고 UDP 패킷에 대하여 0부터 512까지 무작위로 선택된 문자를 가진 패킷으로 되돌려주는 서비스를 제공한다.
  • 두 서비스는 네트워크 진단을 위한 목적으로 사용된다. 그러나 방대한 양의 패킷이 되어 서비스를 제공하는 시트메에 과부화를 발생시킨다.

📌 Land Attack

🔶 개요

  • Land 공격은 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소값을 똑같이 만들어서 공격 대상에 보내는 것이다.
  • 이때 조작된 IP 주소값은 공격 대상의 IP 주소이다.

🔶 보안대책

  • 라우터나 패킷 필터링 도구를 이용하여 자신의 시스템 주소와 동일한 소스 주소를 가진 외부 패킷을 필터링한다.
  • 침입차단시스템에서 소스 IP/PORT와 목적지 IP/PORT가 동일하면 차단하도록 설정한다.

📌 Ping of Death

🔶 개요

  • Ping of Death는 ping을 이용하여 ICMP 패킷을 정상크기(65,535 bytes)보다 아주 크게 만드는 것이다.
  • 크게 만들어진 패킷은 네트워크를 통해 라우팅되어 공격 네트워크에 도달하는 동안 아주 작은(fragment)으로 쪼개진다.
  • 공격 대상은 조각화된 패킷을 모두 처리해야 하므로 정상적인 ping 처리보다 부하가 많이 걸리게 된다.

🔶 보안대책

  • 운영체제별 패치를 하는 것이 가장 일반적인 방법이다.
  • 보통의 ICMP 패킷은 불할하지 않으므로 패킷 중 분할이 일어난 패킷을 공격으로 의심하여 탐지하는 방식을 사용한다.

📌 Teardrop Attack

🔶 개요

  • 네트워크상에서 IP가 정상적으로 패킷을 전송할 때 IP 단편화(fragmentation)가 발생하게 되고 수신자는 재조립을 통해 단편화된 데이터를 복구한다.
  • 이때 재조립 시 정확한 조립을 위해 오프셋이라는 값을 더하게 되는데 이 오프셋 값을 단편화 간에 중복되도록 고의적으로 수정하거나 더 큰 값을 더해 그 범위를 넘어서는 오버플로우를 일으켜 시슽메의 기능을 마비시켜 버리는 방법이다.
  • 공격당한 시스템은 Blue Screen이나 네트워크 연결이 끊어진다.

🔶 보안대책

  • Teardrop은 침임탐지시스템, 방화벽을 우회할 수 있고 Boink 등과 같은 다양한 변종을 가지는 공격방법으로 완전한 차단에는 힘들다.
  • 운영체제가 취약점을 갖지 않도록 패치하는 것이 가장 좋은 방법이다.

📌 Inconsistent Fragmentation 공격

🔶 Bonk

  • 패킷을 플래그먼트하여 전송할 떄 패킷을 조작하여 공격대상자의 시스템에 부하를 주는 공격이다.
  • 처음 패킷을 1번으로 보낸후 다음 패킷을 보낼 떄 순서번호를 모두 1번으로 조작하여 전송하는 DoS 공격이다.

🔶 Boink

  • Bonk를 수정한 DoS 공격도구로, 처음 패킷을 1번으로 보낸 후 다음 패킷을 100번, 다음 패킷을 200번 등 정상적으로 보내다가 20번째 패킷을 2002, 21번째 패킷을 100, 22번째 패킷을 2002등으로 중간에 패킷 시퀀스 번호를 비정상적인 상태로 보내는 공격기술이다.

🔶 보안대책

  • 이 공격들은 최근에 나온 시스템을 파괴할 수 있는 경우는 거의 없고 이러한 공격에 대한 대응책은 SYN Flooding이나 Ping of Death 공격에 대한 대응책과 같다.
post-custom-banner

0개의 댓글