[DDoS 기획] ‘7.7 DDoS 대란 1년 후’_보안 전문가의 소회(所懷)
‘DDoS 대란으로 아찔했던 2009년 7월의 여름’
‘오후 6시가 되면 팽팽한 긴장감이 감돌았다. 1초가 1분 아니 1시간처럼 길게만 느껴지고, 긴장감으로 인해 숨쉬기조차 힘든 분위기다. 모니터링 화면에 그래프가 올라가는 순간, 세상을 삼켜버릴 것만 같았던 정적은 깨지고 치열한 현실만이 남았다.’
7•7 DDoS 대란이 발생한 지 약 1년여가 지난 지금, 그때 당시를 생각하면 몇 가지 단어가 떠오른다. 동시다발적, 대량의, 다양한, 난감한, 방어, 체력전, 유기적 협력 등등. 아마도 관련 직종의 대부분의 사람들이 비슷하게 떠올릴 단어일 것이다. 그만큼 7•7 DDoS 대란은 지금까지 경험하지 못한 엄청난 사건이었다.
2009년 7월 7일 오후 6시부터 늦은 오후부터 대규모의 DDoS 공격이 무차별적으로 감행되었다. 정체가 밝혀지지 않은 공격자 또는 공격자 집단에 의한 대규모 공격은 기업, 공공기관의의 서비스망에 큰 영향을 끼쳤다. 대다수의 공격자가 좀비화된 일반 PC들이라는 점은 공격방어를 더욱 어렵게 만들었다. 그 시간 안철수연구소의 모든 직원들은 전시 상황과 같은 분석/대응 작업을 숨가쁘게 진행했다. 필자가 소속된 CERT(Computer Emergency Response Team)는 400여 고객사에 DDoS 공격 발생 여부에 촉각을 곤두세웠다. 공격을 받은 고객사에는 DDoS 공격 조기 방어를 위하여 전담 SE(System Engineer)를 투입됐다.
고객사에서의 공격 방어는 그야말로 피를 말리는 모든 DDoS 방어 장비/방어 기술의 각축장이었다. 고객사에서는 각각 다른 기술력으로 무장한 공격 방어 장비들을 교대로 투입하거나 동시에 투입하여 서비스를 유지하기 위해 안간힘을 쏟았다. 이로 인해 공격을 방어할 수 있는 DDoS 전용장비는 수요대비 공급이 모자라 장비 선점과 공급에 웃지 못할 해프닝도 벌어졌다.
7•7 DDoS 대란에는 다양한 공격 유형이 이용되었으며, 무엇보다 엄청난 수의 공격자들은 공격방어를 어렵게 한 가장 큰 원인으로 지목할 수 있다. 공격기법을 한가지로 정리할 수 있는 상황은 아니었으나, HTTP_Get_Flooding, HTTP_Flooding, UDP_Flooding, ICMP_Flooding 등이 복합적으로 이용되었다. 공격방어에 있어 가장 기술적인 어려움이 있었던 부분은 TCP, HTTP 공격방식 중 소량의 공격으로 서버의 부하를 유발하는 공격이었다. CC attack이라 불리는 공격방식은 리퀘스트(Request)에 특정한 문자열로 대표될 수 있는 공격기법이나, 시그니처 방식의 차단에 대해서는 정상적인 패턴으로 과다한 요청을 보내는 방식으로 방어를 우회하였다.
이러한 공격을 막을 방어 기법에 대한 담당자들간의 설전도 오고 갔다. Syn packet 임계치 관련 방어는 설정하는 임계치에 따라 정상 사용자의 접근을 통제할 위험성을 내포하고 있어 명확한 대안으로는 부적합 하다는 의견도 많았으며, 추가로 강구된 방법 중 안티 좀비(anti-zombie) 메커니즘 방식을 이용한 URL Redirection 적용이 대안으로 제시되기도 했다(URL 하드코딩 공격방어).
또한 공격방어 당시에 특히 어려웠던 부분 중 하나는, 한정된 IP 자원의 사용의 효율화를 위한 PAT 구조의 네트워크 구성을 가진 기관이 다수 존재하였다는 것에 있다. 다수의 사설 IP와 소수의 공인 IP가 매칭되어 통신을 가능하게 하는 구성은 내부 다수의 사설 IP들이 특정한 대표 공인 IP를 가지고 통신을 하기 때문에 대표 IP 차단 시 내부 모든 사설 IP가 통신이 불가한 이슈가 존재할 수 있었기 때문이다. 적은 수의 감염 PC를 방어하려다가 대표 IP에 대한 접근이 차단될 수 있었으므로 공격방어에는 어려움과 위험성이 존재하였다.
특정 DDoS 방어 솔루션의 경우, 내부 로직에 의한 공격 검증/방어 수행 시 내부 프록시(Proxy) IP를 사용하게 되는데 벤더 사 권고 수의 프록시 IP 설정으로는 모든 공격을 방어할 수 없었다. 장비 가용성도 급격하게 저해되는 상황이 지속되어 프록시 IP를 추가하여 방어하고 그래도 방어할 수 없는 부분은 장비를 급박하게 증설한 경우도 발생했다.
7•7 DDoS 대란은 DDoS 방어 솔루션으로만 공격을 막아내기에는 역부족이었다. 대부분의 고객사들은 공격에 따른 서버 부하 증가 및 서비스 불가 상황에 대응하려고 갖은 방법이 동원했다. 일부 고객사는 DNS 로드밸런싱과 URL Redirection을 이용하고 서버 대수를 2~3배 추가 투입, 서버가 받는 공격부하를 분산한 경우도 있었다.
공격자들은 공격 대상과 방법을 바꾸어가며 교묘하게 공격을 지속하였고, 이때부터는 공격방어가 체력전의 양상으로 전개되었다. 그야말로 두뇌싸움에서 정신력과 체력의 싸움으로 기억될 만큼 어려운 상황이었다. 설상가상으로 공격자들은 악성코드를 분석하여 백신을 제공하는 안철수연구소로까지 공격대상을 확대하는 지능적인 모습을 보였다.
이 시점엔 안철수연구소 모든 팀이 그러했듯이 CERT도 이중 삼중고에 시달렸다. 고객사와 자사의 DDoS 공격 유입을 방어해야 했고, 공격을 유발하는 악성코드에 대한 제거를 위하여 모든 고객사에 조치 권고를 수 차례 진행해야만 했다. 또, 평시 수행하던 업무도 빈틈없이 처리해야만 했다. 그러나 모든 사람들이 고생했던 만큼 상황은 수습되었고, 무사히 이 난관을 극복할 수 있었다.
모든 것이 고객사와 정부기관, 안철수연구소와 같은 보안업체들의 유기적인 협력이 있었기에 가능했다.
7•7 DDoS 대란이 발생한 지 1년이 되었다. 돌이켜보면 정말 아찔하고 힘들었던 기억이 가득하다. 그런데 더 중요한 것은 지금 이 순간에도 DDoS 공격은 끊임없이 계속되고 있다는 것이다. DDoS 공격은 과거형이 아니라 현재 진행형이다. 7•7 DDoS 대란과 같은 혼란을 겪지 않기 위해서 다시 한번 보안의식을 확고히 해야 할 시점이다.@
- 안철수연구소안철수연구소 보안서비스본부 CERT팀 연구원 최충