분산서비스거부공격(DDoS) – 오해와 진실

 지금 DDoS(Distributed Denial of Service)에 관한 이야기로 후끈 달아오르고 있는데요. 그 와중에 잘못된 정보가 부풀려저 전달되는 경우를 많이 찾아볼 수 있습니다. 이 망할 손가락이 가만히 있질 못해서 DDoS에 관한 오해와 진실이라는 다소 거창한 이름으로 DDoS에 대해 설명해 볼까 합니다.(CCNA공부해야 하는데 ㅠㅠ)

 먼저 ‘디도스’는 잘못된 표현입니다. DDoS는 발전된 DoS(Denial of Service)의 형태인데요. 서비스 거부 공격인 DoS와 운영체제인 DOS의 혼동의 우려가 있습니다. 따라서 영문 표기에서도 o는 소문자로 사용합니다. 또한 ‘도스’가 아닌 ‘디오에스’라고 발음합니다. 따라서 DDoS는 ‘디도스’가 아닌 ‘디디오에스’가 되어야 합니다.
 이것은 발음의 문제고 ‘서비스 거부 공격’, ‘분산 서비스 거부 공격’이라는 한글로 되어있는 용어가 존재합니다. 따라서 ‘디도스’라는 표현보다는 ‘분산서비스거부공격’ 혹은 원어 그대로 DDoS(소문자에 주의)라고 표현하는게 올바른 표현입니다.
 이전 글에서도 밝혔지만 ‘발음(원어)’형식의 병기는 도대체 왜 하는지 모르겠습니다. 지금 발음 공부하는것도 아니고, 그럴거면 차라리 발음기호로 표기하지…

 DDoS가 무엇인지 알기 위해선 먼저 DoS의 개념을 알 필요가 있습니다. DoS는 ‘서비스 거부 공격’으로 한명의 공격자가 대량의 트레픽, 혹은 TCP 세션의 조작으로 피해자의 대역폭 고갈이나, 시스템 자원을 고갈시켜 정상적인 서비스를 하지 못하게 하는 것을 말합니다. 따라서 서버쪽에서 봤을때 능동적인 의미인 ‘서비스 거부 공격’이라는 용어보다 수동적인 의미인 ‘서비스 불가 공격’등의 용어로 사용해야 한다고 주장하기도 합니다.
 DoS의 방법은 한가지만 있는게 아닙니다. DoS공격의 궁극적인 목적이 ‘정상적인 서비스를 하지 못하도록 하는 것’이기 때문에 이러한 공격 기법들을 통칭 DoS라고 부릅니다. 이러한 DoS는 상대적으로 막기가 쉽습니다. 한곳에서만 접속이 이루어지기 때문에 해당하는 공격자 IP를 필터링 해버리면 문제가 해결됩니다. IDS등의 룰 설정으로 막는 방법도 존재합니다.

 이렇게 DoS의 위험은 사라진것 처럼 보였습니다. DoS를 당하더라도 금방 해결이 되기 때문이죠. 이렇게 넋을 놓고 있는데 갑자기 수많은 서버 관리자의 눈물을 쥐어 짜낸 DDoS가 등장합니다. 공격툴의 이름도 참 아름답습니다. 이름하여 ‘눈물뚝뚝(tear drop)’ DDoS의 개념이 등장한 것이죠. DoS의 단점은 소스가 하나라는 겁니다. 하지만 DDoS는 이름에서 알 수 있듯 소스가 여러개로 분산됩니다. 이러한 DDoS의 최대 이점은 가공할 공격력을 보여준다는 점 외에도 방어를 어렵게 한다는 것이 있습니다. DoS는 하나의 소스만 막으면 끝이 났지만, DDoS는 막아야 할 소스의 갯수를 파악하지도 못할 뿐더러, 어떤게 정상적인 소스이고, 어떤게 DDoS를 위한 소스인지 구분이 불가능 합니다.
 대역폭을 소비해버리는 공격(국내 누리꾼 여러분들은 익숙하실겁니다. 일본 웹사이트 들어가서 F5 연타하기…)의 경우에는 방화벽등에서 룰설정 만으로 필터링 하기가 힘들며, 설사 방화벽단에서 필터링한다 하더라도 이미 서버로 접근하는 대역폭이 모두 소비되었기 때문에 외부에서 서버로 접속할 방법이 없어지게 됩니다. ‘서비스 거부’의 목적을 달성한 샘이죠

 쉽게 예를 들어 보자면 귀성길 생각하시면 됩니다. 큰 고속도로에 차량들이 너무 많으니 교통 흐름이 정지되죠. 이게 바로 DDoS입니다. 다른 예를 하나 더 들어보자면 전국 각지에서 경부고속도로로 경차 2만대가 진입합니다. 서로 다른 지역에서 정상적인 경로로요… 그러한 상황에서 모든 경차들이 시속 20으로 달려버린다. 어떤 상황인지 이해가 되시나요?

 아직도 많은 서버 관리자나 보안 관계자들은 DDoS란 말을 무서워 합니다. 완벽한 방어 기법이 존재하지 않고 말 그대로 ‘눈 뜨고 당하는’상황이 발생하기 때문입니다. DDoS의 유일한 해결책은 모든 누리꾼 여러분의 확고한 보안의식 뿐입니다. DDoS가 성공하려면 하인(Slave)과 좀비(Zombi)의 존재가 필수적입니다. 슬레이브는 공격자가 좀비에게 명령을 내리는 중간 경유 서버라고 보시면 됩니다. 경우에 따라서는 악성코드 자체에 공격시간과 목표를 설정해 두는 방법도 존재할 수 있긴 하지만 이 경우에는 능동적인 대응이 불가능하며, 노력에 비해서 얻는 이점이 적습니다. 때문에 DDoS 공격의 경우에는 대게 슬레이브와 좀비가 존재하게 됩니다.

 좀비 PC의 댓수와 분산 정도가 DDoS의 공격력을 결정합니다. 좀비 PC 댓수가 적고, 특정 지역에 몰려 있다면 일시적으로나마 쉽게 해결이 가능하기 때문입니다. 누리꾼 여러분의 PC가 이러한 좀비 PC가 되지 않기 위해서는 스스로의 노력이 필요합니다. 주기적인 보안 업데이트와 악성 코드 검사, 그리고 의심스러운 경로에서의 파일 다운로드, 야동좀 그만 보세요!!! 등 보안에 위협이 될만한 것들을 제거해주셔야 합니다.

 국내에서는 ActiveX관련하여 약간의 이슈가 있긴 한데 그 부분은 본 글의 취지를 벗어나므로 생략하도록 하겠습니다.(오픈웹을 지지합니다.)

여기까지가 DDoS의 기본 개념입니다. 그럼 도대체 뭐가 오해고 뭐가 진실일까요?

1. DDoS공격은 쉽게 방어가 가능하다(오해)
위에서 한참 설명했지만 DDoS는 방어가 어렵습니다. 가장 무식한 공격 방법이죠. 다굴에는 장사가 없습니다.

2. 좀 똑똑한 중고딩이 마음만 먹으면 쉽게 DDoS툴 제작이 가능하다.(진실)
 DDoS의 가장 중요한 점은 앞에서 말씀드렸다시피 ‘얼마나 많은 좀비 PC가 있으며 얼마나 넓게 분산되어 있나’ 입니다. 사실 DDoS의 개념은 쉽고, 공개된 소스도 존재합니다. 툴 제작은 쉽게 가능하고, 배포하는것이 어렵습니다.(한국에서의 배포는 쉽습니다. 야사 하나에 XSS 심어놓고……… 이게 아니잖아…)

3. DDoS 피해는 서버관리자가 멍청해서 그렇다.(오해)
이제는 슬슬 입이 아파오기 시작합니다. 설명 안할랍니다.

4. 배후(?)는 쉽게 추적이 가능하다? (오해)
 DDoS의 공격자가 가지는 이점 중 하나가 본인을 거의 완벽하게 은폐할 수 있다는 점입니다. 슬레이브를 두는 이유와도 관계가 있습니다. 일반적인 악성코드의 제작자를 추적하여 처벌했다는 이야기 몇번이나 들어보셨나요? 아마 거의 없으실겁니다. DDoS의 좀비 PC를 만드는 악성코드의 경우 일반적으로 공개된 장소에서 익명으로 불특정 다수를 대상으로 퍼지기 때문에 공격자를 추적하기가 힘듭니다.

5. 인터넷 실명제로 DDoS를 막자 (??????)
도대체 인터넷 실명제와 DDoS가 무슨 관련이 있는지 모르겠습니다. 우매한 저를 깨우쳐 주세요!!!

6. 백신 의무 사용 제도 도입하자 (일부 찬성)
이게 솔직히 얼마나 효용성이 있을지 모르겠습니다. 백신을 설치해도 실시간 감시 사용중지 해버리면 끝입니다. 또한 백신의 탐지율, 백신의 시스템 자원 소비율에 따라 많은 차이가 발생할겁니다.(어떤 백신은 악성코드를 전혀 감지를 못하는 경우도 생길수 있고, 어떤 백신은 오진때문에 문제가 생길수도 있고, 어떤 백신은 다 좋긴 한데 컴퓨터가 너무 느려져서 문제… ㄷㄷㄷ)

가장 중요한것은 일반 사용자의 보안의식입니다. 그리고 아무 생각 없이 ‘확인’버튼좀 누르지 맙시다. 강도가 칼을 들고 현관문 앞에서 ‘저 선량한 사람인데요 문좀 열어주세요’하는데 아무 생각 없이 ‘어서오세요’하고 현관문을 열어주는거랑 똑같은 꼴입니다.

지금까지 날로 먹은 DDoS설명입니다. 잘못된 정보의 수정 요청은 감사히 받겠습니다.

본 포스팅은 아고라 인터넷방(http://bbs1.agora.media.daum.net/gaia/do/debate/read?bbsId=D116&articleId=136584), 아고라 자유토론방(http://bbs1.agora.media.daum.net/gaia/do/debate/read?bbsId=D003&articleId=2854153)에도 올렸습니다.

P.S. 아고라 흘러가는 모양을 보아하니 서로 탓만 하고 있고, 정치적인 이슈가 많이 부각되고 있는듯해서 씁쓸합니다. 정작 중요한것은 누리꾼 개개인의 노력인데요… 정말 중요한 것을 망각하고 있는것 같습니다.

One thought to “분산서비스거부공격(DDoS) – 오해와 진실”

댓글 남기기