근래 언론에 DDoS공격에 관한 기사가 가끔씩 보이지만 이에 대해 자세히 설명한 글은 그다지 자주 보지 못한 거 같다.
DDoS공격은 DoS공격의 발전판이다. DoS란 MS-DOS가 아니라 denial of service의 약자로, 흔히 서비스 거부 공격이라고 한다. 일반적인 해킹의 목적은 공격 타겟의 최고권한(주로 root)을 획득하는 것을 목적으로 한다. 그러나 DoS공격의 목적은 상대가 더 이상 어떤 일을 하지 못하게 과도한 부하를 일으키는 것이다.
어떤 서버(Server : 서비스 제공)가 있을 때, 이 서버는 클라이언트(Client : 서버의 반대개념으로 서비스를 받음)들로부터 요청을 받고 이를 수행한다. 이를테면 여러분이 네이버나 다음 등의 포털에 접속하면 여러분은 클라이언트가 되고 네이버나 다음이 곧 서버가 되는 것이다.
그런데 만약 어떤 사유로 이 서버에 과도한 요청이 들어와 서버가 처리 가능한 한도를 넘는다면 어떨까? 이로부터 나온 발상이 곧 DoS공격이다. 가장 초보적으로는 핑(ping)을 수만번씩 보내는 방법도 일종의 DoS공격이라 할 수 있다. DoS공격은 서버에 과도한 요청을 하고 리소스(자원)를 점유하여 서버가 다른 일을 할 만한 자원을 남기지 않게 한다. 그 결과 서버는 결국 다운되고, 더 이상 어떠한 서비스도 할 수 없는 상태가 되는 것이다.
그러나 오늘날에는 여러분이 뭘 해도 대형 서버를 무너뜨리기 쉽지 않다. F5를 아무리 연발해도 대형 사이트들은 충분한 리소스를 확보하고 있으며, 그러한 요청에 대응할 만한 막대한 자원을 가지고 있다. 그리고 다량의 트래픽을 유발하는 유저를 그냥 차단해버리는 일도 그다지 어려운 일이 아니다. 때문에 2ch를 공격하는 유저 등은 지휘소를 만들어 수천대 이상의 유저들이 동시에 서버에 접속, 과도한 요청을 가하여 서버를 무너뜨리는 방식을 사용한다(이건 해킹 기법이라기보단 그냥 노가다 내지는 정치적 선전에 가깝지만)
하지만 해커들은 이미 이 대규모 공격의 가능성에 주목했다. 만약 혼자서 다량의 컴퓨터를 조종하여 공격을 가할 수 있다면, 켜져 있는 곳곳의 컴퓨터들의 자원을 끌어다 쓸 수 있다면, 거대한 포털이라도 방어하기 어려운 공격을 시도할 수 있지 않을까? 만약 혼자서 공격을 가하면 차단당하기도 쉽고 공격의 한계도 분명하다. 그러나 다수의 공격이라면 어느 것이 정상적 트래픽이고 어느 것이 그렇지 않은 요청인지 찾아내기란 쉬운 일이 아니다. 이런 발상 하에 탄생한 것이 바로 DDoS(Distribute Denial of Service : 분산 서비스 거부)공격이다.
이 DDoS공격은 DoS공격과 달리 지휘 컴퓨터와 공격 컴퓨터가 분리되어있다. 지휘는 다단계에 걸쳐 이루어지는데, 2003년경 야후를 공격하는데 사용되었었던 트리누(Trinoo)는 다음과 같은 구조로 이루어져 있다.
☆ 해커 컴퓨터 : 이 곳에서 최초의 명령이 내려진다
┌────┼────┐
◇ ◇ ◇ 지휘 컴퓨터 : 명령을 받은 지휘 컴퓨터들은 좀비 컴퓨터들에게 공격 명령을 내린다
┌─┼─┐┌─┼─┐┌─┼─┐
□ □ □ □ □ □ □ □ 좀비 컴퓨터 : 이 컴퓨터들이 일선 공격을 담당한다.
좀비들은 서버에 트래픽을 유발시켜, 서버를 느리게 만들거나 다운까지 시키곤 한다.
좀비 컴퓨터들과 지휘 컴퓨터들은 이미 이전에 어떠한 경로로 해커에 의해 감염이 되어있어야 한다. 서버와 달리 개인 컴퓨터들의 보안이 열약한 현실이기 때문에 이러한 좀비 컴퓨터의 다량 확보가 가능하다. 게시판 등에 올라와있는 프로그램들을 함부로 받아 실행하거나 하는 과정에서 감염자들은 늘어가며, 이 외에도 OS등의 버그를 노리고 들어오는 웜이나 바이러스에 DDoS코드가 탑재된 경우도 있다. 이 감염자들은 평소에는 정상 컴퓨터와 다를 바 없이 행동하다가, 해커에 의해 공격 명령이 떨어졌을 때, 서버에 트래픽을 유발하는 역할을 한다(물론 켜져있는 컴퓨터만).
이러한 DDoS공격은 서버로서 손쓸 방법이 사실상 전무하다고 볼 수 있다. 특히 혼자서 서버를 공격할때는 트래픽을 폭주시키는 것이 확실히 보이기 때문에 쉽게 구분할 수 있지만 좀비 컴퓨터들은 정상적인 트래픽을 가장하여 서버의 리소스를 계속하여 잠식하기 때문에 이를 구별해내는 것이 사실상 불가능에 가깝다.
서버 관리자가 취할 수 있는 몇 안되는 조치는 주로 외국의 컴퓨터들로부터 접속을 차단하는 일이다. IP를 통해 국가 구별이 가능하므로 외국으로부터 이루어지는 접속을 차단하는 경우 (현지 교민들에겐 미안하지만) 리소스 부담을 일부나마 감소시킬 수 있다. 그러나 국내에서 이루어지는 공격에는 (네이버나 다음, 혹은 관공서들이 국내 IP를 싸그리 차단하면 어떻게 되겠는가? 해커의 의도대로 서버가 서비스를 하지 못하게 되는 것이다) 그조차 통하지 않는다.
분산서비스거부공격에 대한 대책은 사실 개인 차원이나 기업 차원이 아니라 국가 차원에서 이루어져야 한다. 좀비 컴퓨터들은 바로 개인 컴퓨터들이고, 이들 개인의 의식 향상 내지 보안 확보는 교육을 통해서만 가능하기 때문이다. 유저들이 웬만한 안티바이러스 제품만 구비하고 있어도 좀비 컴퓨터들은 쉽게 구해지지 않기 마련이다.
뭐 근데 한국은...
..당분간은 DDoS공격에 대해 취약한 나라가 될 수 밖에 없을 듯 하다
< >
> 그 <
,.へ <. 런 >
‐────┬┐ \ _,,.. - ''''"" ̄`"'''7:::∠__ > 건 <
___,,,...-‐''"| | \ ,. '" !ヘ/::/<. 가 >
 ̄7 | |  ̄ / ハ, __i i:::::>! > 아 <
i | |  ̄ / /'! ハ /!二_ハ i´ | < | >
.| .| | | | / ,.ィ‐-V レ゛´!´.ハ`ヽイ / ノ !!!! ヽ.
| | | | i i イ「ハ !__,リ ノ | /| ⌒Y⌒Y⌒
| | | |. !/.| | ! !ソ  ̄ 〃 レ' | |
: | |. レソ〃 ,-=ニニ'ヽ. 7 ,' |
: | |. |7! i ! u / /! |
:::::::: | | / .'ゝ、_ヽ、 _ノ / / / i ,'
:::::::::: | | レヘ/,./^i,.-,r イ´レヘ/ヽ、ハノ
:::::::::::::::|______|__| r| ! ! レ^i/  ̄'7ー-、______ハ.
 ̄ ̄ ̄__/___ ハ /ヘ__/// ヽ,:::::::::| |
ニ二二i -二ニ---、. ,. '⌒ヽ,r‐''"´ ̄ト、::::::/ !::::::::| |
________________ンー|.|""""`ユ ヽノ「´  ̄ `ヽ:::! ,〈:::::::::| |
 ̄ ̄ ̄ ̄ ̄ ̄  ̄二=-┐ `ヽ /:::::::::| |
첫댓글 솔찍히, 백신안쓰는 사람도 많고. 디도스 라는 공격방식자체가 한번막히면 다시 변조에 의해서 재공격이 이루어지는데 이 변조패턴을 백신에게 인식시키는것도 힘들고... 지금으로써는 최강의 방어책은 없어보임. 그런데 디도스도 결국 아이피 차단이 아니라 어떠한 포트로 들어오는 정보만 막아주면 되는거 아닌가요?
포트를 막아버리면 그 포트로 하는 서비스를 아무도 못 받죠;;
일부 사이트에 경우 수신포트와 송신포트를 따로 쓰는경우가 있지않던가요?
또 디도스가 특정 포트를 공격하는경우 그 특정포트만 막으면,
서비스에 사용되는 포트는 이상이 없을것 같은데요...
뭐 디도스 공격자체가 그 서비스에 사용되는 포트가 타겟이기 때문이겠지만.
아이피 차단전에 포트 차단이 먼저되지않는가가 제 질문이 요지입니다.
그러니까 그 서비스 요청을 과도하게 하여 서버 리소스를 고갈시키는게 서비스 거부 공격의 원리입니다. 서비스는 주고 공격을 막는 식의 접근이 가능하지 않은게, 서비스를 제공하는 것 자체를 통해 리소스를 고갈시키는 만큼 공격은 막고 서비스를 계속하는건 불가능합니다. 굳이 방법이 있다면 정상적 요청자와 비정상적 요청자를 구별하는건데, 문제는 그게 불가능하단거죠.
삭제된 댓글 입니다.
ㅇㅇ맨날 액티브X 정리하는거 지쳐서 이젠 때려치움
또쓰!
윈도 유저들을 위한 DDoS툴인 프레이크88이라도 첨부해둘까 하다가.. 아무래도 거기까진 좀 위험해질 거 같아서 포기 ㄱ-
컴퓨터와 항상 같이 발전하는 해킹 기법과 보안 기법....
ㄷㄷㄷㄷㄷㄷ