2015년 4월 15일 수요일

DoS(Denial of Service) 공격

ㅇ ㅂㅇ

* DoS(Denial of Service, 서비스 거부) <- :="" br="">   - 시스템 자원 고갈 공격 : CPU, 메모리, 디스크의 사용에 과다한 부하 가증
  - 네트워크 자원 고갈 공격 : 쓰레기 데이터로 네트워크의 대역폭 고갈

 * DDoS(Distributed Denial of Service) <- 17="" 1999="" 8="" br="" cnn="" ddos="" nbc="" yahoo="">
 * Ping of Death
 > ping을 이용하여 ICMP 패킷을 정상 크기보다 아주 크게 만드는 것
 > 크게 만들어진 패킷은 네트워크를 통해 라우팅(Routing)되어 공격 네트워크에 도달하는 동안 아주 작은 조각(fragment)으로 쪼개지고 공격 대상은 조각화된 패킷을 모두 처리해야 하므로 정상적인 ping보다 부하가 훨씬 많이 걸림 => 패킷이 쪼개지면 헤더가 추가되기 때문에 처리하는 쪽은 부하가 생긴다.
 ( fping/hping으로 공격 가능 )

 * 라우팅과 패킷의 분할
 > 라우팅은 출발지 주소와 목적지 주소를 확인하고 최적의 거리를 찾아 패킷을 전달 해 주는 것
 > 전달 과정에서 패킷은 항상 특성이 똑같은 네트워크를 지나지는 않음. 프레임 릴레이 ATM, 토큰 링, 이더넷 등 다양한 네트워크를 지나 목적지에 도달
 > 네트워크마다 최대 전송 가능 패킷 길이가 달라 최대 전송 가능 패킷 길이가 더 작은 네트워크를 지날 때 데이터는 작게 분할됨
 > 한 번 분할된 패킷은 더 긴 패킷 길이를 허용하는 네트워크를 지나도 다시 커지지 않음

 -- ping of death

* hping3을 이용한 Ping of Death 공격
 > rpmforge에서 제공
* yum을 이용한 hping 설치



* Ping of Death 실행
 # hping --icmp --rand-source IP -d [패킷크기] --flood
  --icmp : 전송 패킷의 종류
  IP : 공격 대상
  -d [숫자] : 전송 패킷의 길이 (최대 65,535)
  --flood : 최대 속도로 패킷 생성
  --rand-source : 소스 IP를 랜덤하게 결정한다.
  -c : 패킷 갯수
 ex)
  # hping --icmp -c 1 192.168.10.125 -d 1200
  # hping --icmp -c 1 192.168.10.125 -d 65000

 > 패킷의 크기에 따라 분할된 패킷의 개수와 identification을 살펴본다.
 > 가능한 소스 IP를 랜덤으로 수행하지 않는다.
 > --flood는 패킷을 캡처 할 때는 하지 않는 것이 좋다.






댓글 없음:

댓글 쓰기