Monthly Archives: 7월 2009

[정주영 칼럼] DDOS 공격, 어떻게 대처할 것인가

DDOS 공격, 어떻게 대처할 것인가

정주영(과실연 인터넷팀장, 이아커뮤니케이션 대표)

온 나라가 DDOS 사이트 공격에 들썩이고 있습니다.

IT에 종사하는 사람이라도 생소하게 들릴 수 있는 이 해킹 공격용어가 흔하게 들릴 수 있는 것은, 그만큼 인터넷이 우리 생활과 많이 가까워졌음을 나타내 준다고 생각할 수 있는 것 같습니다.
DDOS 공격은 이번에 갑자기 나타난 공격패턴이 아니라, 그 동안 꾸준히 있어왔고, 이 공격이 대형화 되었을 때는 인터넷 대란이 일어날 거라는 예상을 충분히 할 수 있는 일이었습니다. 하지만 이런 일이 진짜로 발생할거라고는 생각하기 어려웠습니다. 대형 포털 업체의 경우 서버가 대부분 전국적으로 분산이 되어 있기 때문에, 그 많은 서버를 공격한다는 것은, 상당한 노력과 정성을 들이지 않으면 불가능 하기 때문입니다. 그렇다고 이것이 꼭 어떤 조직에서 저질러진 일이라고 단정할 수 만은 없습니다. 자동화된 공격 툴을 잘 활용 한다면, 혼자서도 충분히 저지를 수 있는 일입니다. 

그래서 지난 몇 년 동안, 이 분야에 관심이 없으신 분들이나 전문 지식이 없던 분들은 모르고 지나쳤겠지만 가끔 신문에 기사화가 된 적이 있습니다. 사람들이 접속을 많이 하는 게임사이트, 그리고 성인정보사이트에 해커가 무작정 전화를 걸어와 특정금액을 자기들이 개설한 대포통장에 입금하지 않으면 사이트에 DDOS 공격을 하겠다고 협박해왔다는 것입니다. 

사이트 운영자는 처음에 이런 전화를 받으면, 대부분 공격이 어떠한 결과를 가져 올지 몰라서 무시하는데, 한번 그 공격을 받게 되면 사이트 매출에 치명적인 결과를 가져오게 되니, 업체들은 그들의 공격에 무릎을 꿇고 그들에게 돈을 지급했다는 소문은 IT 쪽에서는 흔하게 들을 수 있는 이야기였습니다. 게다가 그들이 요구한 돈이 사이트의 매출에 비하면 그다지 크지도 않은 500만원에서 1000만원 수준이어서, 그들과 맞붙어 싸울 바에는 그냥 돈으로 때우는 식으로 해결하는 게 낫다고 생각이 들 겁니다.

사이트 운영진들이 그들과의 ‘전쟁’을 포기 하는 가장 큰 이유는 공격의 근원지를 찾기는 정말 쉽지 않기 때문입니다. 왜냐면 대부분의 해커들은 직접 접속을 통해 IP가 파악되어 꼬리가 잡히도록 활동하지 않으며, 이 나라 저 나라를 넘나들며 우회접속을 통해 자신을 숨기고, 자신이 해킹한 서버에 흔적(로그기록)을 남기지 않는 프로그램을 사용해서 추적을 막습니다. 그래서 이런 식의 공격을 받고 나서, 사이버 수사대에 신고해도 거의 대부분, 용의자 근처에도 가보지 못하고 사건을 포기하게 됩니다.

현실적으로, DDOS 공격을 근원적으로 막아낼 방법은 현재 없습니다.

어느 정도의 공격 형 트래픽을 막아낼 수 있는 기술은 나와있지만, 공격용으로 사용되는 악성코드 감염 PC가 늘어나면, 무용지물이 됩니다. 이번 사건에 피해를 입은 대부분의 포털 사이트들은, 기본적으로 어느 정도의 DDOS 공격을 방어할 장비들이 있었을 것입니다. 그럼에도 불구하고 이렇게 속수무책으로 당한 것은, 그 장비로 감당할 수 없을 만큼의 공격이 들어왔기 때문입니다.

이 공격은 정상적인 사이트 방문자로 위장을 하고 접속하기 때문에, 서비스를 하는 서버로서는 이 방문자가 정상적인 방문자인지, 아니면 공격자인지를 구분을 해내기가 쉽지 않고, 그렇다고 모든 방문자를 차단 할 수도 없는 노릇이니, 사이트를 운영하는 회사는 그냥 푼돈 넘겨주고 해커들과 합의를 보려고 할 것입니다.

현실적으로 DDOS 공격을 막아낼 수 없다면, 감염 PC 숫자를 줄이는 방법 밖에 없는데, 수많은 PC들을 관리 한다는 것이 쉽지 않게 느껴집니다. 개인 PC에 대한 관리가 어렵다면, 거꾸로 PC가 감염되는 것을 줄여서 적어도 오늘날과 같은 대형사고는 방지할 수 있을 것입니다.

이것은 다시 쉽게 설명 하자면, 얼마 전 있었던 멕시코 바이러스(일명 돼지독감, 신종플루)에 빗대어 말씀 드릴 수 있는데, 바이러스 백신을 개개인에게 일일이 접종하고 그것을 확인하는 것이 현실적으로 불가능하고 그 효율성이 떨어진다면, 감염 가능성이 높은 지역에 방문하는 것을 막거나, 혹은 그 지역에서 오는 몇몇 사람들을 관리함으로써, 전체 피해를 줄일 수 있을 것입니다.

마찬가지로, 다른 PC에게 악성코드를 심는 숙주 컴퓨터의 숫자를 줄일 수 있다면, 피해를 줄이는데 도움이 될 것입니다. 그렇다면, 그 수 많은 PC들을 한꺼번에 감염시키는 숙주 컴퓨터는 어디 있을까요? 저는 보안의 개념이 없이 구축된 중소기업이나 관공서, 기관의 홈페이지나 서버가 주범이라고 생각 합니다.

흔히들, 비싸고 좋은 방화벽을 사용하면 모든 보안 문제가 해결 된다는 생각을 하는데, 실제적으로는 전혀 그렇지가 않습니다. 방화벽은 우리가 사는 집으로 따지자면, 집 주변에 담을 쌓는 것과 같습니다. 하지만, 담은 엄청 높이 쌓아서, 그 어떤 침입자도 들어 오지 못하게 되었지만, 정작 대문에 자물쇠가 허술하다면, 높이 쌓은 담이 무슨 소용이 있겠습니까? 마찬가지로, 아무리 좋은 방화벽을 설치해 놓은들, 실제 서비스 되는 프로그램이 보안에 취약하다면, 자물쇠가 허술한 것과 모습과 똑같습니다.

해킹과 보안은 열쇠와 자물쇠로 비교 될 수 있습니다.

아무리 최첨단 자물쇠로 걸어 놓아도, 그보다 더 뛰어난 신기술의 열쇠가 나온다면
그 열쇠에 적용된 신기술을 막기 위해 자물쇠의 기능을 보강해야 할 것입니다.

그것이 ‘패치(patch)’ 작업입니다.

세계에서 가장 큰 소프트웨어 기업에서 개발한 윈도우 OS도 주기적으로 패치프로그램이 개발되는 마당에, 일개 개인이 만든 프로그램은 어떨까요? 저희 회사가 신입 개발자를 뽑기 위해 면접을 볼 때, 보안에 관련된 질문을 하게 되면, 상당히 많은 개발자가 아주 기본적인 보안 관련 정보도 모른 채 프로그램을 개발하고 있다는 사실을 알게 됩니다

자물쇠가 허술한 것을 보강 하기 위해,

한국 정보보호 진흥원(http://www.kisa.or.kr)에서는 홈페이지 및 서버 보안 가이드라는 것을 제공합니다만, 사이트 관리자나 개발자가 이런 내용을 전혀 모르고 사이트를 개발하거나 관리 한다면, 그 사이트 서비스에 아무리 좋은 방화벽을 구축 한들, 무용지물이라는 말입니다.

실제로, 많은 현장에서는 그저 가격이 싸다는 이유로 보안교육을 별도로 받지 않은 개발자가 홈페이지를 만들어, 홈페이지와 서버가 해킹 당하고, 해커가 서버를 장악한지도 모른 채 운영하고 있는 경우가 흔합니다. 이 서버가 바로 많은 PC 를 악성코드에 감염시키는 주범이 되는 것입니다.

방화벽과 비슷한 오류를 범하는 것이 ‘바이러스 방지 프로그램’ 에 대한 오해입니다. 어떤 서버 프로그램은, 정상적인 시스템 파일로 위장된 채 가동이 되고, 정상적인 서비스인양 서버에 들어 있기 때문에, 바이러스 프로그램을 설치 한다고 해서 그 서버에 바이러스가 없다고 생각해서는 안됩니다.

많은 해커들은, 사람들이 많이 방문하는 홈페이지를 이용해서, 그 홈페이지를 악성코드에 감염시킵니다. 개인 PC를 일일이 해킹 해서 악성코드를 심는 것 보다, 사람들이 많이 방문하는, 취약한 서버 하나만 확보 해 놓으면, 그 효과는 이루 말할 수 없이 커지기 때문입니다.

결론적으로, 개인 PC의 보안을 챙기는 것 보다, 홈페이지의 보안을 챙기는 것이 그 숫자에 있어서나 관리의 용이성을 볼 때 훨씬 효과적이라는 것입니다.

지금은 학원이나 여러 가지 교육기관에서 조금만 배우면 누구나 홈페이지를 만들 수 있는 그런 구조로 사이트나 서버가 관리되고 있는데, 이 과정에 어떤 인증 과정을 제공하지 않는다면, 오늘날과 같은 사고가 계속 되는 것을 막을 수가 없을 것입니다.

그리고, 번거롭고 어렵더라도 굳이 개인 PC에 대한 보안 수준을 높이려는 정책을 펼치려면, PC를 제작하는 업체, 그리고 동네에서 흔히 볼 수 있는 PC 관리 업체와 함께 그 캠페인을 펼쳐나가야 할 것입니다.

대부분의 사용자들은 컴퓨터의 지식이 많지 않습니다. 그냥 처음에 설치 된 대로만 사용하고 갑자기 어떤 악성 코드나 프로그램이 자기 PC에 설치 된다고 해도 그 사실을 전혀 모른 채로 자기가 쓰는 것만 사용하게 됩니다.

이러한 상황이니, 컴퓨터를 납품하는 회사가, 요새 흔히들 제공되는 개인용 무료 백신 프로그램을 반드시 설치해서 납품하거나, 컴퓨터 수리를 담당하는 회사가 PC 수리 이후 백신 프로그램의 설치를 반드시 확인하는 어떠한 룰이 있다면, 개인 PC 감염으로 인한 피해를 줄이는데 일조를 할 것이라고 생각 됩니다.

더 나아가, 무료 바이러스 프로그램을 배포 하는데, 국가 차원에서 어느 정도 지원을 해 주는 것이, 사회적인 손실을 막기 위한 방법이라고 생각이 됩니다.

이제, 가정에 컴퓨터가 없는 집은 거의 없습니다. 이것이 행복을 위한 도구가 될지, 아니면, 남을 해치는 무기가 될지, 국가 차원에서 관리 하지 않으면 안 되는 시대가 된 것입니다.

제가 한가지 바란다면, 홈페이지 및 서버 개발자들의 실시간 네트워크가 잘 구축 되어 있으면, 보안 정책 업그레이드에 많은 도움이 될 것 같습니다.

대부분의 개발자들은, 자기들이 주로 방문하는 사이트에서 자기들이 원하는 정보만 얻다 보니, 개발자라면 반드시 알아야 할 정보를 전달한다는 것이 현실적으로 어렵습니다.

학교나 학원에서 일정 교육을 받고 나서, 홈페이지나 웹 관련 프로그램을 개발 할 수 있는 능력이 있는 사람들을, 아주 간단한 절차를 통해 그들의 연락처나 이 메일이 통합적으로 관리 한다면, 새로운 보안 지침이나 관련 정보가 나왔을 때 빠른 시간 내에 전파하여 사고를 미연에 방지 할 수 있을 텐데.

현재 우리나라에는 그렇게 통합적으로 관리 할 수 있는 시스템이 없으며, 그나마 존재 하는 것이 ‘한국 정보보호 진흥원’에서 운영하는  ‘인터넷 침해사고 대응 센터’ 인데, 이곳을 일부러 방문하지 않으면 정보를 얻기가 어려운 상태입니다.

요새 사이트 방문자가 일정수준 이상 되는 사이트는, 사이트 아이디와 패스워드 스니핑(해커가 사용자들의 정보를 중간에서 빼내어 유용하는 해킹 기술)을 막는 SSL(패킷 암호화 기술)기술을 의무화 하고 있고, SSL 솔루션의 도입을 종용하는 공문을 받는 업체가 많이 있는데, 이 정도의 관리가 가능하다면, 사이트 개발자 관리, 서버 관리자 관리도 충분히 가능하지 않을까 싶습니다.

다시 말해, 컴퓨터 프로그램 개발자라면 누구나 의무적으로 보안 정보 사이트에 최소한의 정보로 가입하고, 관련된 정보 메일을 주기적으로 받도록 한다면, 홈페이지나 서버를 통한 대량 감염을 어느 정도 막을 수 있고, 그렇다면 현재와 같은 DDOS 공격을 최소화 하는데 도움이 될 거라 생각이 됩니다.

바른 과학기술사회 실현을 위한 국민 연합 (과실연 http://feelsci.org) 에서는 꾸준히 ‘과학 컨트롤타워’ 구축을 정부에 요구하고 있습니다.

컨트롤 타워에서 해야 할 일들이 바로 이런 일이 아닐까 싶습니다.

IT 강국의 길을 너무 빨리만 달려오다 보니, 그것을 잘 유지 관리 해야 하는 일들을 간과하고 지내온 부분이 많습니다.
이제 하나하나 제자리를 찾을 수 있도록 돌아보고, 새로운 시스템을 구축할 때라고 생각 됩니다.