서비스 거부공격 (DOS attack)란?

=>컴퓨터나 네트워크 자원(network bandwitdh, file system space, open processes, incoming connection등)을 고갈시켜 해당 컴퓨터와 네트워크가 정상적인 서비스를 제공할수 없게만드는 모든 공격 방법들을 지칭하며 주로 소프트웨어/프로토콜 구현상의 버그(소프트웨어/프로토콜취약점)나 시스템의 설정오류등의 허점을 이용한다

=>주로 tcp/ip stack의버그(ip option, half-open tcp connection, floods of packet, large packets, fragmented packet)를 이용하는 공격으로 distributed Dos(DDos0 공격에서기본적으로 이용하는것들이다. DNS Dos, IRC dos, IIS long URL DoS, Rwho daemon buffer overflow, MS RAS PPTP Dos등)는 대부분 os 또는 구현상의 문제인것들이다

 

DoS attack 종류

1. TCP SYN 공격

-> tcp/ip 프로토콜은 connection 을 위해 three way handshake( 클라이언트서버:SYN, 서버클라이언트 : SYN-ACK, 클라이언트서버 : SYN-ACk)를 수행한다. SYN Flood  공격은 클라이언트가 연속적으로 SYN패킷을 보내면서 SYN-ACK에는 응답하지 않음으로써 time out 때까지 묶어두는 공격으로 SYN 패킷을 전송하는 속도가 서버의 time out rate 보다 빠르다면 서버는 다른일을 하지못하게된다

2. Teardrop 공격

->tcp/ip 의 ip패킷 조각들의 재집합과정의 구현상의 허점을 이용하는것으로 tcp/ip의 구현에따라 ip조각들이 offset 필드를 overlapping 시켜 만든 malformed 패킷을 재집합과정에서적절히 처리하지 못한다는 점을 이용한공격이다. 변형으로는 New Tear, nestea, Bonk, Boink등이 있다

3. Land 공격

-> ip spoofing을 이용하여 source IP address/port를 target_host의 destination IP address/port 와 동일하게 설정한 SYN 패킷을 보냄으로써 target_host 에서 SYN 패킷이 loop를 돌게하는 SYN flood 공격이다. 라우터나 방화벽에서 쉽게 차단할수 있다

4. UDP Flood: Chargen - Echo DoS 공격

-> IP spoofing을 이용하여 한 호스트의 chargen UDP service를 다른 호스트의 echo UDP service에 연결시켜(echo-echo, chargen-chargen 등도가능) UDP패킷 storm을 일으킨다. diagnostic prot는 같은 LAN 내부에서 주로 쓰이므로 필요하지 않다면 라우터나 방화벽에서 차단시키는것이 좋다.

5. WinNuke Out-of-Band (OOB)공격

-> 윈도우즈 95/NT에 적용되는 공격으로 Out-of-Band data(Tcp 헤더의 URG flag set)를 가진 패킷을 target_host 의 port 139(netBIOS port)로 보내면 윈도우즈가 Out-of-Band data를 처리하지 못하여 블루스크린이 발생한다.

6. ICMP Unreachable

-> spoodfed source IP 주소로 Target_host에 ICMP Unreachable 패킷을 보내는 것. 이를 받은 target_host 는 spoodfed source IP 주소 를 갖는 호스트와의 모든 연결을 끊게 된다

7. ping of death

-> IP 패킷은 network media 에 다라 MTU 단위 이하로 잘게 나누어져 전송되고 수신측에서 다시 모으게 된다. tcp/ip의 구현에 따라 ip 패킷의 비정상적인 조각들은 수신측의 재집합과정에서 오동작을 유발할수있다. 최대 크기 65535 octet을 넘는 ICMP 패킷을 보내게 되면(마지막 조각은 정상적은 offset를 갖지만 더큰 패킷크기를 가지게 한다.) target_host는 잘게나누어진 패킷들을 받아 이들을 재집합하는 과정에서 최대허용치보다 큰 패킷 사이즈로 인해 버퍼오버플로우가 발생하고 target_host는 reboot 또는  hang 되는 예측불가의 반응을 보인다.

8. Smurf / Fraggle-directed broadcast ICMP/UDP Flooding 공격

-> IP source-address spoofing이 가능한 경우에만 효과가 있는공격으로 기존의 DoS 공격중 가장강력하고 심각한 공격방법이다. 기존의 ICMP/UDP flooding은 공격자가 공격목표물보다 더큰 대역폭이 있어야 효과가 있지만 Smurf/Fraggle 은 IP Spoofing 과 directed broadcasting 을 이용하여 공격자가 보내는 패킷당 수백 수천배의 패킷 증폭을 일으킬수있다.

Smurf는 forged ICMP echo request 패킷(source IP=target_host IP)을 한 네트워크의 브로드캐스트 주소(destination IP address = x. x. 255.255) 로 보냄으로써 해당 네트워크의 모든 호스트 들이 ICMP echo reply 패킷으로 target_host 에게 응답하게 된다. 따라서 브로드캐스트 네트워크내의 호스트수에 비례하는 패킷 증폭이 발생한다. 이공격의 피해자는 직접 packet storm을 당하는 victim뿐만 아니라 중간의 브로드캐스트 네트워크로이용당하는 사이트 역시 대역폭을 빼앗기게 된다. 차단 방법은 network boundary의 라우터나 방화벽에서 in/out bound ICMP 브로드캐스트 패킷을 default로 차단시킨다

UDP echo 패킷을 이용하는 Fraggle attack라 불리는 유사 공격방법의 경우 UDP echo 가 브로드캐스트 네트워크의 모든 호스트들로부터 bounce되어 target_host로 되돌아오게되므로 Smurf와 같은 패킷증폭이 발생한다.

 

분산 서비스 거부 공격 (distributed denial of service attack)

정의

-> 기존의 서비스 거부공격(DoS공격)에 분산처리 개념이 도입된것으로 모든공격이 자동화 되어 널리 유포되는 DDOS 공격툴을 이용하면웬만한 해킹기술을 가진 공격자라도 쉽게 적용할수있다. 즉 공격자는 먼저 스니퍼나 네트워크스캐너등의 툴을 이용하여 인터넷상의 취약점이 있는 호스트를 탐색하여 이들을 공격한 다음(root 권한 획득) 이렇게 공격한 대량시스템의 호스트에 온라인으로 공격툴(master/daemon programs, rootkit등)을 설치한다. 이런과정은 자동화가되어있어 단시간에 완료된다. 다음으로 공격자의 컴퓨터에서 단 한줄의 명령어만 보내면 대량의시스템 호스트가 공격대상인 컴퓨터(웹서버나 메일서버등)에 일정시간 동안 지속적으로 무의미하고 불필요한 packet stream(packet flooding)을 보냄으로써 해당서버를 다운시키거나 네트워크의 대역폭을 소멸시켜 일반 사용자가 해당서버에 접근하지 못하게 하는방법이다.

특징

->대부분의 공격이 자동화툴을 이용하기때문에 짧은 시간에 쉽게 수행될수있다는 점과 높은 대역폭을 갖는 중계사이트들을 공격자원으로활용하여 분산네트워크 공격을 구성하는 점이다

->현재 알려진 DDOS 공격툴은 trinoo, TFN, TFN2K, Stacheldraht등이며 크게 네개의 공격노드를 가진 공격네트워크로 구성된다

.intruder (attacker) = 모든 공격을 주도하는 공격자의컴퓨터로 master node로 control message를 내려보낸다

.master(handler) nodes = 공격자는 하나 혹은 몇개의 중계호스트를  master node로 이용하며 각 master node는 수 개 혹은 수십개의 daemon (agent)들을 관리한다. 대부분의 경우 master나 daemon은 패스워드로 보호되며 TFN2K나 stacheldraht 와 같은 보다 지능화된 DDoS 공격 툴에서는 Attacker-master-daemon 사이의 일부 혹은 모둔 control message들이 암호화되며, master나 daemon에 IP Spoofing 능력을 부여하여 공격을 탐지하거나 공격자의 추격을 어렵게 만든다.

.Daemon(Agent) nodes = 실제 공격을 주도하는  호스트들로 master node로 부터 전달받은 target_host 로 지정된 시간동안 지속적으로 불필요한 패킷을 전송한다. 공격툴에 따라 ICMP, TCP SYN, UDP flood, Smurf등의 일부 혹은 전부를 이용하여 target_host를 공격한다. Daemon이 소스를 스스로 지워 흔적을 남기지 않게 하거나 새로운 소스로 업데이트 시킬수있게 프로그램된경우도 있다.

.Victim (Target_host) = 공격의 최종적인 피해자로 네트워크 용량이나 처리능력을 초과하는  packet storm 에 의해 서비스를 제대로 못하게하거나 다운되게한다

 

DDoS 공격의 종류

1. Trinoo UDP Flooding

=> Trinoo(원래는 Trin00)는 UDP 패킷을 이용하여 네트워크/서버를 flooding 시키는 툴로 TFN2K나 stacheldraht 만큼 정교하지는 않다. 공격자는 master와 daemon을 system admin이나 다른해커들로부터 보호하기위해 패스워드를 설정하였으나 이들사이의 control message들은 평문으로 통신된다.

2. Tribe Flood Network (TFN) ICMP/TCP/UDP Flooding

=> TFN은 UDP flood 공격분만아니라 TCP SYN flood, ICMP echo request flood, ICMP directed broadcast (smurf) doS 공격등도 가능하며, master - daemon 사이의 통신은 ICMP echo reply packet을 이용하므로 대부분의 방화벽에서 detect 하거나 차단하기어렵다.

3. Tribe FloodNet 2K (TFN2K) ICMP/TCP/UDP Flooding, Smurf

=> TFN2K는 TFN의 보다 발전된 형태로 모든 control message들은 일방향통신이다. 즉 Attacker master daemon의 일방향 통신만을 이용한다. master - daemon 사이의 command packet들은 cast-256 암호화후 base-64 encoding되며 임의의 decoy packet들과 뒤썩어전송한다. master - daemon 사이의 통신이나 daemon victim 공격시 randomized TCP, UDP, ICMP packet들을 이용한다.

4.stacheldraht - ICMP, TCP, UDP Flooding

=> stacheldraht는 Trinoo와 original TFN의 결합된 형태에 추가적인 암호화및 agent(daemon)의 자동 업데이트 기능을 추가하였다..

이 러한 툴들은 공격자가 소스를 조금만 변경하여도 그특징들이 변할수 있다 . 따라서 대부분의방화벽이나 IDS에서 이툴들에 대한 시그니처(해당툴의 특징적인 패턴이나 스트링)를 DB에 추가하여 공격을 감지하지만 소스를 변경하면 방화벽과 IDS도 무용지물이 되기도한다.

 

(분산)서비스거부공격에 대해대응방안

=> DDoS(DoS)공격은 컴퓨터 바이러스와 속성이 유사하여 근본적으로 막을방법은 없다. 다만 방화벽이나 라우터에서 적절한 필터링을 통해 IP서비스를 악용하는것을 가능한 막아주고, IDS나 호스트/네트워크 인증 툴 등을 이용하여 지속적인 모니터링을 통해 공격이 탐지되면 가능한 빨리  공격툴이 설치된 master/daemon(agent) 노드들을 찾아내어 툴을제거하여 피해를 줄이고, 도한 공격자를 추적하여 사후 처벌을 강화하는 등의 조직적인 대응방안을 수립해야한다..

 

방화벽이나 라우터에서 권고되는 필터링 룰..

* Ingress/Egress Filtering(RFC 2267)

-> 라우터나 방화벽에서 로컬 네트워크의 outbound traffic에 대해 로컬 네트워크의 유효한 source address를 가진 패킷만 통과시키게한다. 또한 로컬 네트워크의 inbound traffic에 대해서는 source address가 로컬 네트워크의 유효한 address range에 있는 패킷은 차단 시켜야한다. 다이얼 업 사용자에 대해서도 RAS에서 그 사용자에게 할당된 source address를 가진 패킷만 통과시키게한다. 인터넷의 모든 라우터/RAS에서 이러한 필터링을 해준다면 ip spoofing은 대부분 막을수 있을것이다. 유효한 prefix rang에 있는 address로 spoofing을 한경우는 막을수없으나 추적이가능하므로 공격자를찾아내는것이 쉬워진다.

* Disable directed broadcast externally(RFC 2664)

-> 라우터나 방화벽에서 들어오는 트래픽의 destination address 가 network-prefix-directed broadcast로 설정된 drop시킨다

* Disable UDP/TCP diagnostc prots externally

-> chargen이나 echo 등의 진단들이 공격에이용되는데 이러한 포트들은 외부에서 사용하는 경우가 거의 없으므로 호스트나 방화벽등에서 차단시키는 것이 좋다

* Disable unnecessary ICMP,TCP/UDP traffic

-> 방화벽에서 explictly permitted된 특정 포트 리스트를 제외한 모든 TCP/UDP 서비스는 가능한 차단시킨다. ICMP의경우 type 3(destination unreachble) 패킷을 제외한 모든 패킷들은 drop시키는것이 바람직하며 이것이 불가능할경우 최소한 unsolicited ICMP echo reply packet들은 drop시킨다.

* Traffic shaping (rate limit of certain traffic)

-> 사용되는 대부분의 라우터들은 특정타입의 트래픽이 차지할수 있는 대역폭을 제한할수 있는 기능이 들어있다. 이를 이용하여 DoS공격에 자주 사용되는 특정 패킷에대해 access룰을 적용할수있다(ex ; ICMP packet, TCP SYN packet)그러나 이방법은 정상적인 과부하와 DoS공격에 의한 과부하를 구분할수없으므로 한계가있다

.가능한 어플리케이션 프록시를 이용하는 방화벽을 이용한다. 이경우는 ip 스푸핑이 기본적으로 불가능하므로 많은 DDoS공격들을 막을수 있다.

.DDoS 에이전트 설치여부를 판단하는 프로그램등을 이용하여 DDoS클라이언트로 사용되는것을 방지한다.

.DDoS를 감지하는 툴 중 온라인으로 하는 툴의 경우 오용탐지율이 높으며 사용되는 기본포트만 변경되어도 탐지하지못하므로 local check용 툴을 이용하는편이 유리하다.

Buzz this
Follow me!
Trackbacks 3 | Comments 8
이 글의 트랙백 주소 :: http://ok-dj.com/trackback/22 관련글 쓰기
닷네임, DDOS공격으로 몸살 - 순디자인연구소
2009/07/06 11:30 삭제
닷네임이 또다시 DDOS공격을 받은 모양이다. 닷네임을 통해 두개의 도메인을 등록해 사용하고 있는데 걱정이다. 이번 것도 중국놈들 소행이겠지? 저러면서 나중에 돈을 요구하기도 한다는데, 이건 뭐 인터넷 깡패와 다름없잖아..
인터넷 재난 DDoS 해킹 - 매일매일 즐겁게
2009/07/08 09:32 삭제
DDoS란 수백만 대의 PC를 이용해 발생시킨 대량의 의미 없는 데이터로 서버에 과부하를 걸어 사이트를 마비 상태에 이르도록 만드는 해킹 수법이다. 매우 단순한 수법이지만 데이터 부하가 일정 수준을 넘어설 경우 현존하는 보안장비로는 막는 것이 거의 불가능하다. 데이터 탈취가 목적이 아닌 사이트 마비가 주 목적이며 실제로 7일 공격당한 사이트들에서 개인정보 등의 데이터 탈취는 일어나지 않았다. DDoS공격은 분산서비스 거부 공격은 특정 시스템에 막대한...
컴퓨터의 DDOS 바이러스 무료로 치료해요. - 달리의 컴퓨터와 놀기
2009/07/09 16:40 삭제
요즘 DDOS 방식으로 관공소나 기업체가 공격을 당하고 있습니다. DDOS는 나의 컴퓨터, 또는 여러분의 컴퓨터에 공격용 바이러스가 심어져서 실행되는 것입니다. 그러므로, 자기 컴퓨터를 잘 관리하면 DDOS 공격은 막을 수가 있는 것이죠. 공격이 성행하니까 안철수바이러스에서 백신 프로그램을 무료로 공개했네요. 바이러스 치료를 위한 백신 프로그램을 성격 상 컴퓨터를 리부팅시킬 수 있으므로 다른 프로그램은 모두 닫고, 백신 프로그램이 실행되는 동안에는...
permalink BlogIcon Cantata
2009/07/04 20:45 댓글에 댓글수정/삭제
개념없는 초딩들까지도,,, 요즘 ATTACk 툴을 사용하여 공격을 일삼는다는 소리도 있더군요,,,
permalink BlogIcon 위스핏
2009/07/05 12:17 댓글에 댓글수정/삭제
어렸을때에, 어택툴좀 가지고 노는걸 해커인줄 알고 있었답니다. ㅠ_ㅠ 이젠 머리아파서 그런짓들 안하지만, 쑥쓰러워지네요..
BlogIcon Cantata
2009/07/05 12:25 수정/삭제
ㅎㅎ 어택툴 갖고 노는것 재밌죠 ^ ㅎ
단지 남에게 피해만 안준다면야,,, ^
심각하더라고요 요즘 DDOS라고 ㅎ 공격하면 걸릴게 뻔한데말이죠 ㅎ
나잡아가주세요 ! 하고 IP 정보를 보내주는 격이죠 뭐 ㅎ
permalink BlogIcon TheSoas
2009/07/06 00:43 댓글에 댓글수정/삭제
요즘은 어태커가 바로 조정하는 게 아니라..
윈도우VPS를 마련해서 핸들러를 거치는 경우도 많기때문에...
잘 잡기가 힘들죠..
BlogIcon Cantata
2009/07/06 00:49 수정/삭제
ㅎ 공격자들이 하도 능력자들이 많아서
그것 뿐만아니라 ㅎ
직접 공격하기보다는 일명 서버 파일 배포로서 긁어모은 좀비 PC를 원격하여 공격하기에 ^ 추적도 힘들다고,,,
개인이 ddos 공격맞으면 ^^ 인터넷 자체를 할 수 없는 불능상태에 빠지죠 ㅎㅎ
일명 ddos 공격툴인 봇 어택툴들이 현재도 계속 새로운 버전이 나오고 있더라고요,,,ㅎ
쭝꾹인들 대~~단합니다 ㅋ
permalink BlogIcon isecure
2009/07/08 21:22 댓글에 댓글수정/삭제
인구가 많은 만큼 중국에는 엘리트 해커도 많은 모양이에요..
가끔 해킹 툴이나 동영상 구해서 보면 엄청난 툴도 있고...

이번 사건도 스크립트 키디의 소행이 아니라면 아무래도 공격 근원지는 알 수 없을 듯...

더 많이 공부해야 할 때임을 느낍니다.^^
BlogIcon Cantata
2009/07/08 21:26 수정/삭제
중국 해커들이 정말 대단하죠 ㅎ
매번 버전이 업데이트 되면서 새로운 어택툴이 나오고 있느니 말이죠,, ㅎ
특히 Netbot의 경우가 말이죠 ㅋ
ㅎㅎ 공격 이번에 제대로 먹은듯 하네요 ㅎ ㅎ
ㅋㅋㅋ
permalink joon
2010/08/08 11:45 댓글에 댓글수정/삭제
님 그런데 패킹은 무엇인가요???

공격방식과 무슨윈리인지 궁금합니다 ~




Cantata's Blog is powered by Daum & tistory