DoS 공격의유형분석및탐지방법 (Monitoring and Investigation of DoS Attack) 영산대학교 사이버경찰학과 이성진
목차 1. 증상 2. DoS 기술의방법과대응 - Ping of death - SYN Flooding - LAND Attack - SMURF Attack 3. DDoS 공격의예방과대응 서비스거부공격 (DoS, Denial of Service attack) 서비스거부공격또는디오에스 / 도스 (DoS) 는시스템을악의적으로공격해해당시스템의자원을부족하게하여원래의도된용도로사용하지못하게하는공격이다. 특정서버에게수많은접속시도를만들어다른이용자가정상적으로서비스이용을하지못하게하거나, 서버의 TCP 연결을바닥내는등의공격이이범위에포함된다. 수단, 동기, 표적은다양할수있지만, 보통인터넷사이트또는서비스의기능을일시적또는무기한으로방해또는중단을초래한다. 통상적으로 DoS는유명한사이트, 즉은행, 신용카드지불게이트웨이, 심지어루트네임서버를상대로이루어진다. 2002년 10월 22일과 2007년 2월 6일의 DNS루트서버에대한 DNS 백본 DDoS 공격은인터넷 URL주소체계를무력화시켜인터넷전체에대한공격이었다. 분산서비스거부공격 (DDoS, Distributed Denial Of Service) DDoS는여러대의공격자를분산적으로배치해동시에서비스거부공격을하는방법이다. 이는 IAB의정당한인터넷사용정책에반하는것으로여겨지며거의모든인터넷서비스공급자의허용할수있는사용정책도위반한다. 또한개별국가의법률에도저촉된다. DDoS 공격다이어그램
DoS Denial of Service attack 서비스거부공격은라우터, 웹, 전자우편, DNS 서버등모든네트워크장비를대상으로이루어질수있다. DoS 공격은몇가지방법으로침투할수있는데, 다섯가지기본공격유형은다음과같다. 1. 전산자원을소진시킨다. 2. 구성정보를교란한다. 3. 상태정보를교란한다. 4. 물리적전산망요소를교란한다. 5. 원래사용자와희생물사이의통신매체를차단한다. DoS 공격에는다음과같은악성코드사용이포함될수있다. 1. 프로세서를바쁘게하여아무일도못하게한다. 2. 마이크로코드에오류를발생시킨다. 3. 순차적명령어실행에오류를발생시켜컴퓨터가불안정한상태에빠지게하거나멈추게한다. 4. 운영체제의오료를이용하여전산자원을소진시키거나투입된더많은자원의효과를감소시킨다. 5. 운영체제자체를깨뜨린다. Ping of Death 1. 요약 1) 공격원리 : ping을이용하여 ICMP패킷의데이터사이즈를 MTU 사이즈로잘게나눠서한꺼번에전송시키는기술, 데이터사이즈를지정해주지않을경우에는단시간에 Ping을이용하여 ICMP패킷을많이보내는기술이라할수있다. Ping of Death 공격개념도 *MTU란? Mximum Transfer Unit의줄임말로, http://www.hanb.co.kr/network/view.html?bi_id=902 네트워크를통해전송할수있는최대데이터양을말한다. 한번에전송할수있는최대전송망 (Byte) 인 MTU값은매체에따라달라지며, Ethernet환경에서는보통 default값이 1500인데, 이런 MTU값은불변사항이아니므로변경할수있다. 2) 공격취약성 - 시스템이나애플리케이션버그를이용하여공격하는공격방식 - 패킷의 Fragmentaion 취약성을이용한공격방식 3) 공격결과 : 서비스거부공격 [DoS] - 서버는이러한패킷들에대해반응시 [ 버퍼오버플로우 ] 가발생하여시스템이다운되거나재부팅
2. 시연환경 Tools : hping3,wireshark Attaker : 192.168.126.128 (backtrack5 R3) Victim : 192.168.1.6 (windows 7) 3. 기술시연 - 명령어 : hping3 --icmp 192.168.1.4 -d 65536 --flood hping3 --icmp [Victim's IP Address] -d [Data size] --icmp 또는 -1 : 전송할패킷의유형 (icmp) --rand-source : 공격자의 IP 주소를랜덤하게생성 (Victim IP 입력전에입력 ) -d 65536 : 전송할패킷의크기 --flood : 패킷전송속도 ( 빠르게 ) 4. 공격결과 ping of death 의결과 - 서버는자신에게들어오는패킷들을큰패킷으로재조립해야하는부담과, 계속해서들어오는 ICMP request 에대한 Reply 로인해결국 down! - 실제테스트서버는엄청난양의패킷을처리하느라정신이없었다. 5. 대응방법 - 브로드캐스트나멀티캐스트주소로들어오는 ICMP Echo Request에대해서응답하지않도록설정예 ) conf t interface serial 0 ( 또는 interface ethernet 0) no ip directed-broadcast ndd /dev/ ip ip_respond_to_echo_broadcast 0 // broadcast에대한 echo reply를하지않음. - ICMP Echo Reply 패킷을차단하거나 rate-limit를이용하여 QoS 설정한다. - 방화벽이나라우터 egress 필터링을이용하여증폭기역할을하지않도록한다. - CAR 기능을이용하여반복적으로들어오는일정수이상의 ICMP 패킷을무시하도록설정
SYN_Flooding 1. 요약 1) 공격원리공격자의 IP를속여 (spoof) 일정한시간간격 (time interval) 으로계속해서 SYN 패킷을보낸후공격대상이 SYN+ACK로응답했을때 ACK 를응답해주지않는다. 그러면공격대상은계속해서 ACK를기다리게되는데, 이상태를 SYN Recieved상태라한다. 2) 공격취약성 TCP protocol 의신뢰성을역이용한공격기법 3) 공격결과 : 서비스거부공격 [DoS] 공격대상의 Backlog queue 를꽉차게함으로써더이상의 TCP 접속을받지못하게만드는공격기술 2. 시연환경 Tools : hping3,wireshark Attaker : 192.168.126.128 (backtrack5 R3) Victim : 192.168.1.6 (windows 7) 3. 기술시연 - 명령어 : hping3 192.168.1.6 -a 10.10.10.10 -p 80 -S -i u100 hping3 [Target IP Address] -a [Spoofing IP Address] -p [port number] -S -i [Time inteval] 공격대상에게공격자의 IP 를스푸핑하여 80 번포트로 u100 초마다 SYN 을보내게된다. SYN 패킷이므로 0data byte 이고, 공격자의 IP 를스푸핑했으므로 SYN+ACK 가스푸핑한 IP 로가기때문에공격자의컴퓨터상에는패킷이손실되었다고뜨게된다.
4. 공격결과 SYN Flooding 의결과 공격자의스푸핑 IP인 10.10.10.10으로부터공격대상에게단시간내에 80번포트 (http) 로많은양의 SYN패킷이전송됨을확인할수있었다. 5. 대응방법 - 서버의대역폭을늘린다. - Rate-Limit 특정서비스또는패턴을가진패킷이단위시간동안일정량이상초과할경우그이상의패킷을통과시키지않도록하는기술을 Rate-Limit기술이라한다. 이것은 Ratefiltering 이라고도하며, CISCO에서는 CAR(Commit Access Rate) 로구현하고있다. 이기술은 SN Flooding공격시 SYN 패킷의 Bandwidth 제한등에유용하게사용될수있다. 하지만, 비정상적인패킷뿐만아니라정상적인패킷도차단될수있으며, 해당기능을수행하는전용모듈이없을경우라우터에과부하를유발시킬수있는단점이있다. LAND ATTACK 1. 요약 1) 공격원리 : 목적지 IP와출발지 IP를같게해, 공격대상이스스로에게계속해서 SYN 패킷을보내게하는공격이다. 간단히말하면공격대상이자기혼자대답을주고받는상태가되는데, 이러한상태를루핑 (looping) 상태에빠졌다고말한다. 2. 시연환경 Tools : hping3,wireshark Attaker : 192.168.126.128 (backtrack5 R3) Victim : 192.168.1.6 (windows 7)
3. 기술시연명령어 : hping3 192.168.1.6 -a 192.168.1.6 -s 80 -S -c 10000 hping3 [Target IP Address] -a [Target IP Address] -s [Source port Number] -p [Destination port Number] -S -c [Packet Count] 공격자의 IP 주소를공격대상의 IP 주소로스푸핑하여공격자가지정한패킷카운트수만큼 SYN 패킷을보내게 된다. SYN 에대한 ACK 가공격대상에게가게되기때문에공격자에게는패킷이돌아오지않는다. 4. 공격결과 Soure IP와 Destination IP가동일함을확인할수있다. 5. 대응방법현재 OS에서는자동으로 Soure IP가 Destination IP와같은경우의패킷은무시해버리기 (DROP) 때문에과거에만존재했고지금은통하지않는공격기술이다. SMURF ATTACK 1. 요약 1) 공격원리 : 공격자가공격대상의 IP로스푸핑하여브로드캐스트방식으로정해진대역 icmp request나 SYN 패킷을대량으로보내고, 브로드캐스트에서의응답을공격대상이받아과부하에걸리게하는공격방법이다.
2. 시연환경 Tools : hping3,wireshark Attaker : 192.168.126.128 (backtrack5 R3) Victim : 192.168.1.6 (windows 7) 3. 기술시연명령어 : hping3 192.168.1.255 -a 192.168.1.6 --icmp --flood 1 hping3 [Broadcast] -a [Target IP Address] --icmp --flood 2 hping3 [Broadcast] -a [Target IP Address] --syn --flood 공격대상의네트워크대역에브로드캐스트방식으로 icmp request( 또는 syn) 패킷을보내고, 공격대상이패킷을보내는것처럼 IP 를스푸핑했다. 공격자에게돌아오는패킷은없으므로 packet loss 가뜨게된다. 4. 공격결과 공격대상이 192.168.1.255( 브로드캐스트 ) 에게 icmp request 를보내게되고, 같은네트워크의사용자들은공격대상이보낸 icmp request 에 icmp reply 를보내주게될것이다. 5. 대응방법 direct-broadcast 와 redirect 를막는다. 목적지주소가 x.x.x.255 인경우
DDOS Distributed Denial Of Service (1)DDOS 란? 분산서비스거부공격으로, 이공격을위해서는우선감염된좀비호스트들로이루어진좀비네트워크가필요하다. 공격자는이좀비네트워크를이용하여동시에모든좀비호스트들이정상적인서비스중인사이트를접속하도록함으로써 DDOS 공격을수행한다. 현재까지뚜렷한방어대책이없는공격법으로, 우리나라에서도 09년 7월 5~8일대대적인 DDOS 공격이가해졌지만뚜렷한방어대책없이무방비였다. 서버측에서는정상적인사용자들의접속이므로일방적으로서비스를차단할수없으며, 법적제재도가할수없기때문이다. 수많은하드웨어, 소프트웨어 DDOS대비솔루션이출시되었지만아직까지완전한차단방법은없다고볼수있으며어느정도공격을완화시켜주는역할만할뿐이다. (2) 공격방법및과정 1. Agent 유포방식 - P2P : 정상 S/W에악성코드 (DDOS Agent) 삽입 - 웜 / 바이러스 : 웜 / 바이러스에악성코드 (DDOS Agent) 삽입 - 사회공학 : 이메일등을통한악성코드 (DDOS Agent) 전파 - 홈페이지 : 취약한사이트해킹을통한악성코드 (DDOS Agent) 유포 2. DDOS 공격의진화 - 계측기공격 : 스마트비트 : 초당 148만 PPS이상발생 - Slow TCP Connection Flooding 공격 : 다수의 PC에서초당 10Connection 이하공격 - http를이용한공격 : 공격대상사이트분석을통한 URL, 파라미터변조 - 기본 DDOS공격기술의응용 : 잘알려진 IP(Well Known IP) 로소스 IP변조 3. IP Sppfed SYN Flooding 공격 - IP변조후다량의 SYN패킷을공격대상서버로전송 - 공격받은서버는다수의 SYN Recieved 세션상태가발생 - 서버의 CPU 및 Connection 자원의고갈을유발
4. TCP Connection Flooding 공격 (3 way handshaking 정상완료 ) - IP를변조하지않고, 다량의 SYN패킷을공격대상서버로전송 - 공격받은서버는다수의 Established 세션상태가발생 - 서버의 CPU 및 Connection자원의고갈을유발 5. TCP Out-of-State Packet Flooding 공격 (SYN/ACK + FIN/ACK 등 ) - 다량의 SYN/ACK + FIN/RST/ACK 등의패킷을공격대상서버로전송 - 방화벽이나 L4 등과같이세션을관리하는장비에서차단 - 일부네트워크장비및서버의 CPU 사용량이올라가는등오작동발생가능 6. 동일 URL 반복접속시도 ( 웹서버부하발생 ) - IP를변조하지않고, 정상적인 3way handshake 후동일한 URL 반복요청 (get/index.jsp 등 ) - 일부웹서버의 CPU 및 Connection 자원의고갈을유발 7. 조회 ( 로그인 ) 반복시도 ( 웹서버및 DB서버부하발생 ) - 정상적인 3way handshake 후로그인및상품조회와같은요청반복전송 - 웹서버및 DB서버의 CPU 및 Connection 자원의고갈을유발 8. UDP/ICMP Flooding - 1000~1500 byte 정도의큰패킷을공격대상서버 ( 네트워크 ) 로전송 - 네트워크회선대역폭고갈 -공격대상서버와같은네트워크에서운영중인모든서버의접속장애유발
참고사이트 http://nologout.blog.me/17581068?redirect=log&from=postview http://ko.wikipedia.org/wiki/dos_%ea%b3%b5%ea%b2%a9 http://blog.naver.com/siye1100