1. ICMP Flooding

 

  스머프 공격(Smurf attack)이라고도 부르는 이 공격은 공공 인터넷 상에서의 Flood DoS 공격의 한 변종이다. 네트워크 장치 설정이 잘못되었을 경우, 어떤 특정 전산망의 방송 주소로 전달된 패킷이 망 상의 어떤 특정 컴퓨터가 아니라 망의 모든 컴퓨터에 전달될 수 있다는 점을 이용한다. 전산망은 이 경우 스머프 증폭기의 역할을 한다. 이러한 공격에서 가해자는 대량의 IP 패킷을 보내면서 그 발신 주소를 표적 주소로 한다. 전산망의 대역폭이 신속히 소진되어 정상 패킷이 목적지에 도달하지 못하게 된다. 인터넷 상의 DoS 공격에 대항하기 위해 스머프 증폭기 등록처와 같은 서비스에서 이용될 소지가 있는 잘못 설정된 전산망을 기록, 대응할 수 있도록 하고 있다. ICMP Flooding 공격 방법에는 Ping FloodingSYN Flooding 등이 있다.

 

1) Ping Flooding

 

  대상 시스템에 막대한 양의 ICMP 에코 요청 패킷(ping 패킷)을 보내는 방법이다. 유닉스 계열의 시스템에서는 ping 명령을 이용하며, ping 응답을 기다리지 않고 되도록 빨리 ICMP 패킷을 보내는 ping 옵션을 활용하는 것이 가장 효율적인 방법이다.

  대상 시스템에 부하를 일으키기 위해서는 ping을 보내는 쪽의 네트워크 대역폭이 대상 시스템이 확보한 네트워크 대역폭보다 더 크면 된다.

 

2) SYN Flooding

 

  막대한 양의 TCP SYN 패킷을 대상 시스템으로 보내서 시스템을 마비시키는 공격 방법이다.

  TCP는 연결을 맺을 때 3-way handshake를 시도한다. SYN 패킷에는 발신자의 IP 주소가 포함되어 있는데, 공격자는 SYN 패킷의 발신자 IP 주소를 잘못된 주소로 변조하여 대상 시스템에 보낸다. 대상 시스템은 수신한 SYN 패킷을 처리하기 위한 프로세스를 생성하고 SYN-ACK 패킷을 발신자에게 보낸다. 그런 후 생성된 프로세스는 발신자가 잘 수신했는지 ACK 패킷 응답을 기다린다. 하지만 SYN 패킷에 있는 발신자의 IP 주소는 잘못된 주소이므로 ACK 응답이 오지 않는다. 공격자가 IP 주소가 변조된 SYN 패킷을 계속 보내면 대상 시스템은 또 다른 프로세스를 생성하고 SYN-ACK을 보낸 후 ACK 패킷 응답을 기다리는 것을 반복한다. 



2. Ping of Death

 

  Ping of Death ICMP 패킷을 정상적인 크기(TCP/IP 명세가 허용하는 최대 크기)65535 바이트 보다 크게 만들어 전송하는 DoS 공격의 일종이다. (Windows 에서 전송할 수 있는 최대 크기는 65500, Lunux 에서는 65507 이다.)

 

  정상적인 ping 패킷은 56바이트이며, IP 헤더로 사용되는 경우에는 84바이트 크기이다. 그런데 일부 시스템은 정상 크기보다 큰 ping 패킷을 수신했을 때 제대로 처리할 수 없게 설계된 것도 있다. 이런 시스템에 정상 범위보다 큰 ping 패킷을 전송하게 되면 시스템 내에서 비정상적인 ping 패킷으로 조합되고 이로 인해 버퍼 오버플로우가 발생하여 시스템이 비정상적이 될 수 있으며, 이 때 공격자들은 악성코드를 주입시킬 수 있는 기회를 포착한다.

 

  Ping of Death TCP/IP 명세보다 큰 크기로 반복해서 ping을 보내어 대상 시스템을 그로기 상태에 빠뜨리기 때문에 Ping of Death 라고 불린다.



출처

 

https://ko.wikipedia.org/wiki/%EC%84%9C%EB%B9%84%EC%8A%A4_%EA%B1%B0%EB%B6%80

_%EA%B3%B5%EA%B2%A9

 

http://blog.naver.com/PostView.nhn?blogId=infopub&logNo=220774512335&parentCategoryNo=43&categoryNo=

&viewDate=&isShowPopularPosts=false&from=postView

 

http://blog.daum.net/tlos6733/39

블로그 이미지

NCookie

,

  ICMP는 인터넷 제어 메시지 프로토콜Internet Control Message Protocol의 약자이다. ICMP는 인터넷 프로토콜 모음Internet Protocol Suite 중 하나로, IP 동작에서 네트워크 진단이나 제어 목적으로 사용된다. 또한 네트워크 상에서 오류가 발생했을 때 이에 대한 응답으로 만들어져 오류가 발생한 패킷을 보낸 IP 주소로 전송한다. 다음은 ICMP echo-request/reply 에 대한 취약점들이다.

 

 

1. ICMP Redirect (Sniffing)

 

  보통의 네트워크는 라우터나 게이트웨이가 하나이지만, 여러 개의 라우터를 사용할 수 밖에 없는 경우 로브 밸런싱(Load balancing)을 해야 한다.

 

  호스트가 특정한 목적지로 가야 하는데, 해당 목적지가 없거나 최단거리가 아닌 경우 ICMP 리다이렉트 패킷은 라우터를 통해서 호스트에게 최선의 경로를 알려주는데 사용된다. ICMP 리다이렉트 패킷을 공격자가 위조할 수 있다면 공격자는 호스트의 라우팅 테이블을 변경하여 특정한 트래픽이 의도하지 않은 경로를 경유하도록 만들 수 있게 된다.

 

  즉, 피해자가 DNS 서버로 접속을 하려고 할 때 라우터를 통하여 접속을 한다. 이 때 공격자는 피해자에게 자신의 경로를 경우하는 것이 최선의 경로라고 ICMP 리다이렉트 패킷을 보낸다. 이 패킷을 받은 피해자의 컴퓨터는 DNS 서버로 보내는 패킷을 공격자의 IP주소로 보내도록 라우팅 테이블이 변경된다. (공격자를 경우하는 것이 최선의 경로라고 알려주는 것이다.) 공격자는 이를 통하여 피해자의 패킷을 Sniffing 할 수 있게 된다. 이때 공격자는 받은 패킷을 포워딩 해주지 않으면 피해자쪽에서는 인터넷이 끊어지는 현상이 나타나기 때문에 Fragrouter를 해줘야 한다. (단순이 일방향으로 Fragmenting 하는 것)

 

2. ICMP Directed broadcast

 

  만약 라우터에 directed-broadcast 설정이 되어 있다면 외부에서 브로드캐스트 주소로 ping 과 같은 특정한 패킷을 발송할 경우 해당 패킷이 브로드캐스트 주소를 통해 내부의 모든 주소로 그대로 전달되게 된다. 이를테면 만약 내부에서 C Class를 사용하고 있다면 123.123.123.255 주소로 ping을 보냈다면 123.123.123.1 부터 123.123.123.254 까지 255개의 시스템에 그대로 전달된다는 것이다. 이는 일면 편리하게 사용될 수도 있는 기능이지만 DoS DDoS 공격으로 악용될 가능성이 매우 높기 때문에 반드시 사용하지 않도록 하여야 한다.

 

  정리하자면, 출발지 IP 주소를 공격대상자 IP주소로 소스 주소를 변경한 후 ICMP Echo를 보내면 공격대상자 주소로 icmp reply가 많이 날라가게 되어 공격대상자 서버가 다운되는 공격이 가능하다는 것이다. 이러한 공격을 스머프 공격(Smurf attack)이라고도 부르는 ICMP Flood 라고 한다.

 


출처

 

http://blog.daum.net/tlos6733/39

http://agz.es/Network/cdft.pdf

http://c8korea.blogspot.kr/2013/05/cisco.html

 


블로그 이미지

NCookie

,