참여연대가 주관한 10.26 재보선 중앙선관위 사이트 장애 토론회가 있었다. 이 토론회에는 송봉섭 중앙선관위 의정 지원 과장과 박혁진 중앙선관위 정보화 담당관 등이 참석해서 선관위의 입장에 대한 설명과 사실 관계에 대한 해명이 있었다. 이 과정에서 기존에 내가 잘못 알았거나, 보고서에 드러나지 않았던 내용이 추가로 발견되었고, 이와 함께 이 보고서 내용 안에서도 동의하기 어려운 부분들이 발견됐다. 뿐만 아니라 기존의 보고서와, 위키프레스에 공개된 다른 보고서 등에서 추가적인 의문점들이 발견되었다. 이에 따라 나는 추가 분석 글을 작성하게 되었다.
이 글을 작성하며 나는 다시 한 번 최대한 신중하고 객관적 입장을 견지하고자 노력했다. 지난 번 글이 나는 꼼수다 봉주 6회가 방송되기 전에 작성된 것이기 때문에 방송 내용을 사전에 들어보지도 고려하지 않았었다. 그래서, 방송 내용에는 그 글에 거론되지 않은 부분도 있었고, 혹은 약간 다르게 거론된 부분도 있다.(필자의 블로그 http://barryspost.net에 있는 이전 글을 말한다. : 편집부 주) 하지만 나꼼수 봉주 6회와 상관 없이, 나의 이전 글에 언급된 내용을 기준으로 글을 작성해 보려고 했다. 하지만 무언가 중요한 점을 놓치고 있는 것은 아닌가 하는 생각이 들었다. 그것은 과연 내가 전제 조건으로 삼은 선관위 보고서 한 점도 거짓이 없느냐, 혹은 100% 신뢰할 수 있느냐는 것이었다. 그래서 전적으로 선관위 자료가 옳을 것이라는 믿음을 갖지 않고 재점검을 한다는 생각으로 임했다.
이 글은 매우 기술적인 분석 내용이 꽤 많고, 그래서 분량도 많다. 일반인이 읽기에는 무리가 있다. 이에 따라 각 단원의 마지막에 한줄 요약을 넣었다. 이렇게 간편하게 이 요약 부분을 보면 해당 부분의 내용을 어느 정도 짐작할 수 있게 해 놓았다. 이와 함께 마지막에 8. 정리 챕터에서 중요한 내용을 정리함으로써 그것만 보아도 이 글의 내용을 어느 정도 알 수 있게 해 놓았다. 따라서 머리가 아픈 사람은 이 8. 정리 부분만 보아도 어느 정도 이해할 수 있을 것으로 생각된다. 그리고, 마지막 소설 부분은 양념 삼아 읽어도 되지 않을까 생각한다.
목차
1. 웹 서버 재시작 의혹은 해소됐는가?
2. KT 회선 차단은 대응 지침에 따른 선택이 맞을까?
3. 트래픽 우회 조치는 적절한 조치인가?
4. 왜 트래픽이 감소하는데 차단을 했느냐는 질문에 대한 해명에 대해
5. 2시간 42분이 소요된 사이버 대피소 이용
6. 회선 용량에 대한 의문점
7. LG U+망 디도스 장비 로그는 어디에 있는가?
8. 정리
9. 내 마음대로 써 보는 소설
1. 웹 서버 재시작 의혹은 해소됐는가?
웹 서버의 메모리 사용량이 100%였던 점에 대해서도 선관위가 해명을 했다. 발표된 내용에 따르면 선관위의 웹 서버는 TMax의 WebtoB와 JEUS로 구성된다. WebtoB는 아파치나 IIS와 같은 웹 서버 프로그램이고, JEUS는 WAS(Web Application Server), 즉 멀티 티어 환경에서 어플리케이션 레이어의 역할을 수행하는 프로그램이다. 그런데 이 WebtoB에 버그가 있었고, 그 버그는 특정 상황에서 사용했던 메모리를 반환하지 않는 것이었다는 것이 선관위의 해명이다. 선관위 웹 서버 담당자는 이를 10.26 이전에 인지했지만, 이것을 패치했다가 예기치 못한 추가 문제가 발생할 것이 우려되기도 하고, 이 문제 자체가 심각한 영향을 주지 않는다는 이유로 선거 후에 패치하기로 협의했으며, 이 버그 때문에 중간에 서버 데몬만 restart 했다는 것이다.
또한, 6:52와 6:54에 restart한 서버는 선거 정보 서버가 아니라 홈페이지 서버인데, 평상시에 이 홈페이지 서버에는 공지사항 등 DB서버로 연결을 해야 하는 내용이 표시되지만, 선거 당일에는 선거 정보 서버의 info.nec.go.kr 페이지로 연결해 주는 HTML 페이지(DB연결이 없는 정적 웹 페이지)만 뜨게 했다고 한다. 따라서 메모리 문제가 발생할 여지가 없는 데다 대량의 메모리를 사용할 가능성도 낮으므로 딱히 메모리 확보를 위해 재시작할 이유가 없었지만, 디도스 공격이 있자 만의 하나의 경우에 대비하기 위해 재시작을 했다는 것이 선관위의 설명이다.
이 설명은 대체로 수긍이 간다. 아파치나 IIS와 같이 많이 검증된 웹서버가 아니라 국산 제품을 사용했다면 충분히 그런 버그가 있었을 수 있고, 그 패치를 섣불리 했다가 다른 더 큰 문제가 발생하는 경우도 우려할만 하다. 이 부분은 반박하기 어려운 부분이다.
그러나, 해당 그래프를 보면 이미 0:00 부터 메모리가 100%로 가득차 있었다가 5시경에 갑자기 메모리 사용량이 줄어들었다가 늘어나는 부분이 보인다. 선관위의 주장대로라면 이런 부분이 나타나서는 안 된다. 왜냐하면 위의 그림의 7시 이후의 그래프에서 보이는 것과 같이 선관위가 설명하는 형태의 버그는 메모리 사용량이 조금씩 점차로 늘어나는 형태이지 5시 경의 모습처럼 갑자기 줄어들었다가 다시 갑자기 늘어났다가 하는 형태는 아니기 때문이다. 따라서, 선관위는 왜 이런 형태의 그래프가 나왔는지도 함께 설명하여야 이 부분에 대해 더 이상의 의혹이 발생하지 않을 것으로 생각된다.
또한, 웹 서버 restart나 rebooting 이 서버 설정 변경 시에도 발생하므로 의혹을 자초했다는 나의 지적에 대해 선관위는 이것이 서버 하드웨어의 재시작(rebooting)이 아니라 단순히 웹 데몬(프로그램)의 재시작(restart)이므로 그렇지 않다는 반박을 했다. 필자는 TMax의 WebtoB 제품을 사용해 본 적이 없으므로 이에 대해 명확히 말할 수는 없다. 하지만 유닉스 및 리눅스 기반 웹서버의 경우 설정 변경을 위해 서버 전체를 리부팅하는 것이 아니라 웹 서버 데몬만 restart해주는 경우가 많으므로, 이 부분 역시 선관위의 설명이 맞다고 하기는 어렵다.
요약
1-1. 메모리 100% 문제에 대해 선관위가 해명한 내용 자체는 대체로 수긍할 만 하다.
1-2. 그래프의 이상한 부분에 대한 설명이 필요하다.
2. KT 회선 차단은 대응 지침에 따른 선택이 맞을까?
어째서 KT 회선을 차단했느냐는 의문 제기에 대해 선관위는 그렇게 하도록 매뉴얼에 되어 있어서 그랬다는 입장을 다시 밝혔다. 최초 이 문제가 제기됐을 때 선관위 담당자는 오픈웹 김기창 교수에게 매뉴얼에 의해 그렇게 했다고 했다가, 다시 워낙 경황이 없다 보니 그렇게 했다고 말한 바 있다. 이제 다시 한 번 입장을 바꾼 것으로 보인다. 그리고 이번에는 근거 자료까지 제시했다. 보고서의 해당 내용은 다음과 같다.
즉, 초동 조치로 IP주소 차단과 장비 임계치 조정 등의 기본 조치를 하고, 내용 상에 표시되지 않은 4단계를 한 후, 그래도 안 되면 네트워크 케이블의 일시 단절 및 서버 재부팅 등 강력한 대응조치를 할 수 있다는 것이다. 그리고, 선관위가 제출한 서울중앙지방 검찰청 보도자료에 따르면, 6:25에 공격 IP 차단 조치를 했고 6:58에 트래픽 우회조치를 했다고 설명하고 있다. 여기서 트래픽 우회 조치를 했다고 하는 것이 바로 KT 회선 차단 조치를 말하는 것으로 보인다.
그런데, 이것을 논하기에 앞서, 검찰청에서 발표한 트래픽 우회조치가 과연 이 대응 지침에 나와있는지 살펴보자. “네트워크 케이블의 일시 단절” 이라는 표현이 있지만, 엄밀히 말해 케이블 단절 = 트래픽 우회 조치인 것은 아니다. 선관위에서 공개한 로그나 상식적 조치 방법으로 판단할 때, 실제로 네트워크 케이블을 끊기보다는 아마도 라우터에서 네트웍이 끊어졌음을 알리는 방법을 사용했을 것으로 보이며, 이것은 결국 백업용 네트워크인 LG U+망으로 우회하라는 트래픽 우회조치이지 네트워크 케이블 단절 조치는 아니라는 것이다. 다시 말해 검찰에서 발표한, 선관위가 취한 조치인 트래픽 우회조치는, 선관위가 공개한 대응 방침에는 나와 있지 않다.
보통, 해당 대응 지침에 설명된 네트워크 케이블 일시 단절 및 서버 재부팅과 같은 조치는 디도스 공격이나 스팸 메일 공격 등 트래픽 폭주로 인해 라우터나 서버 등의 장비가 명령도 받지 못할 정도로 장애가 일어나고 있을 때 주로 실시한다. 이는, 아예 물리적으로 연결을 차단해 버림으로써 더 이상의 트래픽 유입을 막아버리고, 이를 통해 서버나 장비가 밀려들어 쌓여있는 트래픽을 해소할 시간을 벌어주는 방법이다. 그리고 이런 차단은 보통 몇 초에서 몇 분, 아무리 길어도 몇십 분 이상은 실시하지 않는다. 왜냐하면 이 차단 자체가 밀려들어오는 트래픽을 해결하는 방법이 아니라, 그 트래픽으로 인해 장애를 일으킨 장비를 단기적으로 정상화 하는 방법에 불과하기 때문이다. 따라서, 트래픽이 계속 들어오고 있으면 이런 조치 후 회선을 연결해도 곧바로 장애 상황이 다시 시작되므로 문제의 해결책이 될 수 없다. 뿐만 아니라, 보고서에 나온 상황에서는 디도스 공격을 받는 상황에서도 웹서버는 거의 영향을 받고 있지 않았다. 디도스 방어 장비와 IPS장비가 대부분의 비정상 트래픽을 걸러내고 있었기 때문이다. 따라서, 이 상황에서의 네트워크 케이블 단절은 내부 네트워크를 보호하는 데에는 어떤 역할도 하지 못한다.
또한, 선관위에서는 내부 라우터나 장비가 문제가 아니라 KT측의 라우터가 디도스 공격으로 작동에 어려움을 겪고 있었다는 이야기도 했다. 그런데 이 라우터는 KT 망을 거쳐 선관위로 들어오기 전에 있는 장비다. 그렇다면 이 장비의 문제를 해결하기 위해 해야 할 일은 장비의 교체나 KT측의 여러 조치가 있어야 할 일이지, 그 장비 거치고 난 다음에 있는 회선을 차단하는 것은 해결책이 되기 어렵다. 이는 마치 위의 그림에서 공격 당하는 제 1초소를 방어하기 위해 제 1초소 뒤에 있는 도로를 끊었다고 말하는 것과 같다. 물론, 라우터라는 장비가 과도한 부하가 걸릴 경우 오동작을 하기도 하므로 이를 해결하기 위해 뒷단에 있는 라우터에서 우회하라는 신호를 뿌려줄 수도 있기는 하지만, 그보다는 차라리 해당 라우터(위의 그림에서 KT측 라우터)에 조치를 해달라고 망사업자인 KT에 요구하는 것이 올바른 조치로 보인다.
요약
2-1. 선관위가 제시한 대응 지침에는 회선 차단이라는 항목이 없으며, 검찰의 발표에 있는 트래픽 우회조치도 대응 지침에 없다.
2-2. 비슷한 내용인 네트워크 케이블 일시 단절은 이에 해당되는 내용도 아닐 뿐더러, KT망 차단은 네트워크 케이블을 단절한 것이 아닌 걸로 보인다.
3. 트래픽 우회 조치는 적절한 조치인가?
처음부터 선관위는 대응 지침이나 매뉴얼이라는 말을 할 것이 아니라, KT 회선 차단은 트래픽 우회 조치라고 했어야 했다. 그런데 이 말, 즉 KT회선을 차단하는 것이 트래픽 우회 조치가 되기 위해서는 한 가지 전제 조건이 성립해야 한다. 그것은 KT망을 통해 선관위 웹사이트에 접속하려던 사람이, KT망이 차단되면 LG U+망으로 우회해서 접속 가능해야 한다는 점이다. 하지만, 이 말은 숨겨진 문제점을 가지고 있다. 그것은 KT망을 통해 선관위 웹사이트를 공격하던 DDoS 트래픽도, KT망이 차단되면 LG U+망으로 우회해서 공격하게 된다는 것이다.
다시 말해, KT망을 차단하면 LG U+망으로 트래픽 우회가 이루어진다면, 그 트래픽 우회는 정상 트래픽만 해당되는 게 아니라 비정상 트래픽, 즉 DDoS 공격 트래픽 역시 똑같은 경로로 우회가 된다는 뜻이다. 원래 LG U+망에 사이버 대피소 서비스가 없었다면, KT 망을 차단함으로써 트래픽을 LG U+망으로 우회시킨들, 그 안에 포함된 정상 트래픽과 비정상 트래픽은 결국 LG U+망을 통해 쏟아져 들어오게 되어 있다. 다시 말해, 이 조치는 하나마나한 조치였고, 오히려 3개의 회선으로 들어오던 트래픽을 1개의 회선으로 집중시키는 것 말고는 아무런 효과도 없는 조치였다고 봐야 한다.
그런데 또 한 가지 이상한 점이 있다. 그것은 KT망 차단 이후 LG U+망으로 10Mbps 정도의 트래픽만이 유입됐다는 점이다. 이에 대해 선관위는 LG U+망에 연결된 장비가 오동작을 일으켜 (BGP Up/Down) 그렇게 된 것이지, 실제로 LG U+망으로도 200Mbps의 트래픽이 유입되기는 했다고 해명하고 있다. 즉, LG U+측에서 선관위 네트워크로 넘겨준 트래픽은 200Mbps인데, 선관위에서 받은 트래픽은 10Mbps밖에 안된다는 이야기다. 그렇다면, 어짜피 전체의 1/20 밖에 전달이 안됐다는 소리가 아닌가? 게다가 KT 망이 차단된 시점의 LG 망 유입 그래프를 보면, 기껏해야 160Mbps만 유입되고 있다. 두 개의 KT 회선을 다운시킬 정도라면 적어도 300Mbps 보다는 훨씬 많아야 하는데, LG망에는 왜 160Mbps 정도만 유입되고 있을까?
다시 선관위 주장에 나온 상황을 정리해 보자. 최단 경로인 KT 회선으로 대량의 트래픽이 들어왔는데 여기에는 정상과 비정상 트래픽이 뒤섞여 있다. 선관위는 이에 대한 조치로 KT 망을 차단했다. 그러자 이 정상과 비정상 트래픽은 모두 우회 경로인 LG U+망으로 전달됐다. 그런데160Mbps정도로 폭주(?)한 (이 회선의 속도는 155Mbps) 이 트래픽은 폭주로 인한 장비 오동작으로 결국 10Mbps만 전달됐다. 다시 말해, 비정상 트래픽은 비정상 트래픽대로 LG U+망으로 함께 우회하게 됐고, 정상 트래픽도 제대로 웹서버로 전달되지 못했다.
그런데 여기서 더 이상한 부분이 있다. 위의 표에 있는 테이블을 보자. 이것이 표에 KT망이냐 LG U+망이냐라는 내용이 없으니 두 회선의 디도스 장비를 통과한 합계라고 가정하자. 6시 ~ 7시까지의 유입 트래픽 221M중 차단은 211M다. 95% 정도가 디도스 트래픽이었다. 그런데 7시~8시 사이의 유입 트래픽 27M중 차단은 14M로 51% 불과하다. 선관위 보고서 어디에도 LG U+에 IP 차단 조치를 요청했거나 사이버 대피소 서비스를 이용했다고 나와있지 않은데, 갑자기 비정상 트래픽의 비율이 뚝 떨어졌다.
그 이유는, 위의 그래프에서 찾을 수 있다. LG U+를 통해 잠깐 정상화 됐다고 선관위가 주장한 7:10~7:35 에, 디도스 트래픽 자체가 급격히 감소한 것을 볼 수 있다. 즉, 잠시 디도스 공격이 멈춤으로써 선관위 홈페이지가 정상화 된 것으로 보이게 된 것뿐이다. 다시 말해, KT 망을 차단하고 LG U+망으로 트래픽 우회를 한 것이 디도스를 해결한 게 아니라, 디도스 공격이 잠시 멈춰서 그렇게 보인 것뿐이라는 이야기다. 그리고 이 상황 직후에 HTTP Flooding Attack이 다시 대량으로 시작됐다.
이는 결국 두 가지 가능성을 추측할 수 있게 한다. 디도스 공격이 멈춘 줄도 모르고 자신들의 KT 회선 차단 조치로 문제가 해결된 줄 착각했거나, 혹은 KT 회선을 차단한 직후 디도스 공격이 멈추면서 사이트 접근이 가능해지자 다시 디도스 공격이 시작된 것이다. 전자는 그야말로 우연에 우연이 겹쳤을 가능성이고, 후자는 내부에서 KT망을 차단한다는 사실을 알고 있는 이가 이를 알려서 디도스 공격이 멈추었는데 사이트 접속이 되자 급히 공격을 재개했을 가능성이다. 물론, 후자가 가능하려면 LG U+망이 백업망으로 작동할 수 없도록 설정을 꼬아놓았는데, 예상과 달리 백업망으로 작동하기 시작하자 당황했다는 가설이 필요하다. 이런 복잡한 상황에서는 나는 어느 쪽 편을 들기는 어렵다. 우연에 우연이 겹치는 것도 어렵고, 어느 신문 기자의 말대로 선관위 내부자가 17명이나 되는 주변 직원 모르게, 또 어느 네티즌의 주장대로 검찰에 끌려가 모진 고초를 겪을 가능성에도 불구하고 이런 짓을 저지르기는 어려울 수도 있기 때문이다. 그래서 어느 쪽인지 결론은 내리지 않는다.
요약
3-1. KT망 차단을 트래픽 우회 조치로 했어도 비정상 트래픽 역시 우회되기 때문에, 이 조치가 디도스 트래픽을 해결해 주지는 않는다.
3-2. 트래픽 우회 조치 후 1차 정상화 됐다가 다시 장애가 생긴 것은 우연이거나, 혹은 어떤 다른 이유일 수도 있다.
4. 왜 트래픽이 감소하는데 차단을 했느냐는 질문에 대한 해명에 대해
KT 망을 차단했던 7시 바로 직전에 트래픽이 감소하고 있었다는 지적에 대해, 선관위는 그 트래픽이 실제로 디도스 공격이 줄어든 게 아니라, KT회선 두 개중 하나를 6:46에 차단함으로써 그 회선 뒤에 있는 네트워크에 들어오는 트래픽이 절반으로 줄어든 것 뿐이라고 설명하고 있다.
하지만 LG엔시스의 보고서를 보면 해당 부분에 대한 설명이 “07시부터 08시 32분까지 KT망 서비스를 단절함” 이라고 되어 있다. 물론 KT ATM#1의 그래프를 보면 7시 직전의 그래프에 ATM#0과 약간 다르게 경사가 보이기는 하지만, 그렇다고 6:46부터 된 것처럼 보이지는 않는다. 그리고 무엇보다도 설명에 그런 내용이 없다. 어느쪽이 맞고 어느쪽이 틀린 것인지는 나로서는 잘 모르겠지만, 아무튼 두 보고서의 내용이 서로 상이한 것만은 사실로 보인다.
물론, 이 부분에 대해 선관위와 LG엔시스가 15분 단위는 과감히 무시하는 부적절한 보고서를 작성했던가, 혹은 시간을 착각했다던가 하는 등의 이유가 등장할 수도 있다. 하지만 그렇게 서로 잘 안 맞는 보고서들을 무조건 믿으라는 것 역시 무리가 있다. 적어도 각 보고서간의 숫자는 맞아야 하지 않겠는가?
요약
4-1. 선관위는 트래픽이 감소한 게 아니라 두 회선 중 하나가 6:46에 차단되어 절반으로 줄어든 것으로 보인 것뿐이라고 하지만, 선관위의 다른 자료에서는 7시에 차단된 것이라고 나온다.
4-2. 같은 시간대 다른 그래프들도 미묘하게 다르게 보이는 부분들이 존재한다.
5. 2시간 42분이 소요된 사이버 대피소 이용
사이버 대피소란 디도스 공격이 발생하면 이용할 수 있는 일종의 검문소 같은 서비스다. 그런데 이 검문소가 내부에 있는 게 아니라, 망 제공 사업자의 대용량 회선 단계에서 걸러낸다. 말하자면 신종 플루가 발생했을 때 국내에서 검역을 강화하기 보다 한국에 오는 비행기 탑승 전이나 비행기 안에서 미리 체온을 재는 것과 같은 방식이다. 따라서, 디도스 공격에 대한 가장 좋은 해결책이자 궁극적인 해결책이라고 할 수 있다. 물론, 이 사이버 대피소는 여러 이유로 상시 연결해 놓을 수는 없으며, 디도스 공격이 발생하면 연결한다.
하지만 선관위는 이 사이버 대피소 준비를 사전에 전혀 해 놓지 않고 있었으며, 디도스 발생 후에도 2시간 42분이 지난 후에야 적용이 이루어졌다. 먼저 다음의 자료를 보자. 이 내용은 선관위 자료 여기저기에 나누어져 있는 내용을 모은 것이다. 즉, 선관위가 말하는 조치 내용만 모아 놓은 것이다.
5:50 지체 현상 발생
6:15 DDoS 공격 추정 후 장비 상태 점검
6:30 KT에 홈페이지 접속 및 트래픽 확인 요청 (공격 IP 차단 요청)
6:46 KT 회선 ATM#1 차단
6:52 홈페이지 웹서버 #1 데몬 restart
6:54 홈페이지 웹서버 #2 데몬 restart
6:58 KT 회선 ATM#0 차단
7:10 홈페이지 접속 1차 정상화
7:35 홈페이지 접속 2차 지체 현상 확인
8:20 KT 국가망 운용실에 (임시) 사이버 대피소 우회 요청
8:32 홈페이지 접속 2차 정상화
자료를 보면, 8:20 에 KT 국가망 운용실에 임시 사이버 대피소 우회 요청을 했고, 불과 12분 만에 정상화가 이루어졌다. 그런데 선관위의 보고서 다른 부분에서는 선관위는 PUBNET(초고속 국가망)을 사용하는데 PUBNET에는 사이버 대피소 서비스가 없어서 그런 서비스를 받을 수 없었고, 이것을 급하게 KT에 협조를 받아서 했다고 말하고 있다. 그리고 이 과정에서 시간이 소요됐다는 언급도 등장한다. 즉, 한 부분에서는 사이버 대피소를 받기 위해 시간이 소요됐다고 말하고 있고, 다른 부분에서는 12분 만에 서비스를 받았다고 말하고 있다. 물론, 이 요청은 디도스 공격이 발생하자 KT측에 해놓고 이것 저것 해보다가 안되서 8:20 에 요청했다고 말할 수도 있겠지만, 어쨌든 이 내용만으로는 요청한 것은 8:20, 정상화된 것은 8:32이다.
그런데, 지난 12월 6일에 나온 이 기사를 보면 다음과 같은 부분이 나온다.
사이버대피소인 KT클린존으로 이동이 늦어진 데에 대해서는 “처음 겪어 발생한 일이다. 죄송스럽게 생각한다”고 말했다. 오프라인에서는 가까운 대피소로 피하면 되지만 사이버대피소의 이용기관은 미리 정해져 있다. 행정기관은 대전종합전산센터를 이용하고 국가기관은 국정원을 이용하는 식이다. 중앙선거위는 헌법기관이다. 정해진 대피소가 없었던 것으로 보인다. KT클린존은 기업들이 이용하는 사이버대피소이다.
다시 말해, 선관위의 보고서에는 PUBNET에 그런 서비스가 없다고 나와 있는데, 위의 기사에 나온 박혁진 중앙 선관위 인터넷 담당자는 선관위가 헌법기관이라서 담당 사이버 대피소가 없었다고 말하고 있다. 또다시 앞뒤가 맞지 않는다. 물론 규정이 그렇게 나누어져 있을 수는 있겠지만, 이런 애매하고 불합리한 규정이 있어서 사이버 대피소 서비스를 받을 수 없었다면, 최소한 그걸 고치려는 노력을 했어야 하지 않을까? 사이버 대피소야말로 디도스 공격을 막는 최선이자 가장 비용이 적게 드는 방법이 아닌가?
요약
5-1. 선관위는 가장 궁극적인 디도스 대응책인 사이버 대피소를 사전에 전혀 준비해 놓지 않고 있었다.
5-2. 선관위의 사이버 대피소 이용 부분을 보면 어디서는 12분 걸렸다고 나오고 어디서는 한참 걸렸다고 나오며, 또 어디서는 PUBNET이라서 안 됐다고 나오고 다른 곳에는 헌법기관이라서 안 됐다고 나온다. 어느 말이 진짜인지 알 수가 없다.
6. 회선 용량에 대한 의문점
디도스 공격에 대한 가장 효과적인 대응 방법은 회선 용량 증설과 망사업자 단계에서의 사전 차단이다. 디도스는 일정한 차선의 고속도로에 갑자기 차량이 몰린 상황과 같다. 예를 들어 산업용 차량이 다니던 고속도로에 갑자기 명절 쇠러 가는 차량이 몰렸다고 생각해 보자. 당연히 전체적인 교통 체증에 시달리게 된다. 여기서 산업용 차량은 정상적인 트래픽, 명절 차량은 디도스 공격용 비정상 트래픽이라고 가정하자. 그렇다면, 이런 상황을 해결하는 가장 좋은 방법은 무엇일까? 바로 차선을 늘리던가 아니면 고속도로에 진입하려는 차량을 검문해서 부적절한 트래픽을 유발하는 명절 차량은 진입을 못하게 하는 방법일 것이다. 이렇게 진입을 못하게 하는 게 바로 앞에서 설명한 사이버 대피소 이용이다.
이번에는 차선을 늘리는 방법을 생각해 보자. 차선을 늘리는 방법은 기존 도로에 임시 차선을 개설하던가 혹은 별도의 고속도로를 긴급하게 놓는 방법이 있을 것이다. 이것을 인터넷 회선으로 놓고 보면, 임시 차선으로 기존 도로를 넓히는 방법은 “회선 용량 증설”이고, 별도의 고속도로를 놓는 것은 “병행 회선 연결” 이다. 이번 상황에서 KT망 2회선, LG U+망 1회선이 있었다고 했는데, 이것은 바로 고속도로가 3개인 상황을 말한다. 그리고 이 회선이 각각 155Mbps, 합이 약 465Mbps 정도였다. 차선을 늘린다는 것은 이 155Mbps 라인을 1Gbps 라인으로 교체 혹은 증속하는 것을 의미한다.
그렇다면 선관위는 왜 이렇게 차선을 늘리는 방법을 사용하지 않았을까? 물론 선관위는 차선을 늘리는 방법인 회선 용량 증설을 했다. 다만 그것을 오후 1시 30분 경에 했을 뿐이다. 보고서에 “KT Giga망으로 변경” 이라고 나와있는 부분이 바로 그것이다. 그렇다면 왜 이것을 아침 시간 다 지나고 오후 1시가 넘어서 했을까? 그것은 이런 회선 설치가 일반적으로는 1시간 이내에 뚝딱 이루어지기 어렵기 때문이다. 최초에 우리가 내놓은 분석에는 원하면 바로 늘릴 수 있다고 했는데 그것은 선관위 서버가 IDC(인터넷 데이터 센터)에 입주해 있을 것을 가정했을 경우였다. 하지만 선관위 서버는 선관위 전산실에 있었고, 따라서 긴급히 회선 용량 증설을 하려고 해도 어느 정도 시간이 필요했다는 것이다.
그런데 이 부분에 네 가지 의문점이 있다. 하나는 자체 전산실을 운영하기보다 IDC로 입주하는게 대세인 요즈음, 어째서 선관위는 별도의 전산실을 운영했느냐는 점이다. 그리고 다른 하나는 설령 그렇다고 해도 왜 비상시 회선 용량 증설 준비를 미리 해놓지 않았느냐는 점이다. 세 번째는, 정말 그렇게 오래 걸릴 일이었느냐는 것이다. 그리고 마지막으로, 465Mbps 회선이 어쩔 수 없는 선택이었느냐는 것이다.
첫 번째, 어째서 선관위는 별도의 전산실을 운영했을까? 별도의 전산실 운영 부분은 정부 기관이 정부 규정이나 지침이나 보안 문제에 따라 가급적 IDC에 입주하지 않도록 되어 있었을 수도 있고, IDC 입주보다는 전산실을 따로 두는 게 관리가 용이했기 때문이었을 수도 있다. 어쩌면, 이것이 내부 인력을 유지하는 데에 도움이 되었기 때문이었을 수도 있다. 아무튼 이런 상황은 정부 기관에서는 어렵지 않게 볼 수 있는 상황이라는 것은 인정할 수 있다. 하지만 그럼에도 불구하고, 이것이 매우 비효율적인 상황이라는 것 역시 매우 분명하다. 특히 선관위 홈페이지처럼 선거일에 엄청난 트래픽이 몰리는 상황이라면 당연히 데이터 센터를 이용하는 게 올바른 결정이다. 아래 그림은 선관위 보고서에 있는 회선 연결 상황이다. 평상시에는 30Mbps만 연결했다가 특정 선거일에 이렇게 회선을 늘려서 사용했다고 한다. 이처럼 선관위는 회선을 지속적으로 늘렸다 줄였다 해야 하는 곳이다.
인터넷도 우리가 사용하는 도로와 비슷하다. 집 앞 골목길도 있고, 2차선 도로도 있으며, 국도도 있고, 지방도로도 있다. 마찬가지로 2차선 고속도로도 있고, 경부고속도로처럼 넓은 차선의 고속도로도 있다. 인터넷 회선에도 DSL 망도 있고 광케이블 망도 있다. 그리고 마찬가지로 백본(척추)망이라고 해서 우리가 가정이나 일반 기업에서 쓰는 것보다 훨씬 큰 용량의 대형 회선도 있다. 데이터센터에는 이런 백본망이 직접 연결되어 있다. 따라서 필요에 따라 작은 용량부터 큰 용량까지 어렵지 않게 바로 백본망이나 그에 가까운 회선에 연결이 가능하다. 따로 케이블을 매설하거나 전신주에서 회선을 따올 필요가 없이, 급한 경우 넓은 방 한쪽 구석에 있는 대용량의 회선에서 직접 선을 끌어와 특정 네트웍으로 연결해 주는 것도 불가능한 건 아니다.
그러므로, 선관위가 제대로 디도스 대응을 하고 싶었다면 이런저런 장비를 도입하는 것보다 먼저 서버 네트웍을 데이터센터로 옮겼어야 하는 게 맞다. 정부 규정이 미비하다면 그걸 조속히 고쳤어야 했다. 선관위가 의지가 있었다면 이것이 불가능했었을 것으로 보이지는 않는다.
두 번째, 회선 용량 증설 준비 문제다. 물론 예산이 부족했다 하니 애초부터 회선 용량을 충분히 잡아놓지 못했을 수도 있다고 치자. 하지만 비상시 회선 증설을 즉시 할 수 있는 준비 정도도 할 수 없었을까? 위에 있는 표2-1을 보면 2010 지방선거에서 1.15G의 회선을 이미 연결한 바 있다. 그 말은 선관위의 라우터가 어렵지 않게 1G 망을 연결할 수 있다는 이야기일 가능성이 높다. 그렇다면 지난 10.26 재보궐 선거에서도 망 사업자인 KT든 PUBNET이든 미리 협의를 해서 유사시 1G(기가) 회선을 바로 연결할 수 있게 해 놓았다면 장비나 설정 등의 문제 없이 빠른 시간 안에 회선 용량 증설이 가능했을 수도 있다.
이렇게 미리 대비만 해 두는 것에 그렇게 큰 예산이 소요될까? 실제 예산은 그런 회선을 연결해서 사용했을 때 크게 지출되는 것이지, 미리 협의를 하고 준비를 해놓는 것에는 큰 예산이 소요되지 않는다. 특히나 PUBNET은 국가 초고속망이고, 선관위는 헌법기관이며, 선거는 국가의 매우 중대한 사안이다. 이런 협의가 불가능할 것으로는 보이지 않는다.
세 번째, 회선 증설이 정말 그렇게 오래 걸릴 문제였을까? 회선 설치와 관련한 절차를 살펴보면 다음과 같다.
1. 대역폭을 증속하기 위한 광전송로 확보
2. 광전송로 확보 후 ISP사업자의 라우터 장비에 연결하기 위한 작업
3. 선관위측 라우터장비에 광단자 연결 작업
4. 양측에 회선시험
5. IP셋팅 및 라우팅 작업
이 모든 절차를 다 마치려면 2~3시간은 소요된다. 그런데 만약 4단계까지 이미 되어 있다면? 그렇다면 5번 단계만 하는 데에는 2~30분 정도면 가능하다. 그런데 위에 있는 표를 보자. 2010년에 1G 1회선을 이미 사용한 바 있다. 이것은 1Gbps 이더넷 회선일 가능성이 높다. 그 이야기는, 이미 선관위 전산실로 1Gbps 이더넷 회선이 물리적으로 설치되어 있을 가능성이 높다는 이야기다. 그리고, 이런 긴급한 상황에서는 그 회선을 긴급히 재활용하는 게 불가능한 것도 아니다. 사전에 협의가 안 되어 있었더라도 오후 1시가 되어서야 가능한 수준은 아닌 것이다.
네 번째, 465Mbps 회선이 불가피한 선택이었을까? 선관위는 예산 때문에 어쩔 수 없었다고 말하고 있다. 그런데 이 링크에 있는 가격표를 보면, 155Mbps ATM 회선의 가격은 4,706,000원이다. KT 회선이 두 개이니 당연히 9,412,000원이다. 하지만 같은 링크에 있는 이더넷 1Gbps 회선의 가격표를 보자. 7,131,000원이다. 155Mbps 회선보다 오히려 저렴하다. 이 링크에 있는 LG U+ PUBNET 가격표도 비슷하다. 선관위는 예산 때문에 어쩔 수 없이 155Mbps 망을 선택한 것이 아니라, 1Gbps 회선을 사용하면서도 예산을 절감할 수 있는 방법을 선택하지 않았다.
혹시 선관위는 ATM 회선을 사용할 수 있는 장비만 가지고 있었을까? 하지만, 선관위는 이미 2010년에 1G 회선을 사용한 바 있다. 그리고 이더넷 회선의 경우 별도의 모듈이 필요없이 라우터에 선을 연결하기만 하면 된다. 그러니 이것도 핑계가 될 수 없다.
결론적으로, 선관위는 알 수 없는 이유로, 더 비싼 비용을 들여가며, 더 낮은 대역폭의 회선을 사용했다. 게다가 선관위는 1G 회선을 이미 사용한 바 있다. 선관위가 과연 1G 이더넷 1회선이 155M ATM 2회선보다 저렴하다는 것을 몰랐을까? 몰랐다면 더 이상한 일이 아닐까?
요약
6-1. 선관위는 운신의 폭이 넓고 요즈음 추세에 맞는 데이터 센터를 사용하지 않고 전산실을 고수했다.
6-2. 사전에 긴급 회선 및 용량 증설 준비를 해두지 않았다.
6-3. 비상시 기존에 사용했던 회선을 활용하면 빠르게 회선 증설이 가능할 수 있었을 가능성이 높다.
6-4. 선관위는 더 많은 비용을 들여 훨씬 낮은 대역폭의 회선을 도입함으로써 스스로 디도스 공격에 취약한 네트웍 구조를 만들었다.
7. LG U+망 디도스 장비 로그는 어디에 있는가?
먼저 다음의 자료를 보자. 이것은 위키프레스에 공개된 LG 엔시스의 보고서다. 링크를 클릭하면 해당 기사를 볼 수 있다.
내용을 자세히 보면 ① 06:00 – 07:00 경 KT 회선 트래픽 추이 현황(BPS / PPS) 이라고 되어 있다. 다시 잘 보자. KT 라고 되어 있다. 이제 다음 그림을 보자.
선관위가 참여 연대에 전달한 LG 엔시스 보고서다. 얼핏 보기에는 그래프 모양이 달라 보이지만 시간과 배율을 잘 비교해 보면 동일한 그래프라는 것을 알 수 있다. 그런데 이 보고서에는 KT라는 말이 보이지 않는다. 그런데 여기서 잠깐. 우리는 앞서 선관위의 주장대로 7:10~7:35의 트래픽이 KT망의 차단으로 인해 LG 망을 통해 정상적으로 이루어진 것을 가정해 트래픽을 계산했다. 그런데 저 위의 위키프레스 보고서를 보면 KT 망 디도스 장비 트래픽으로 잡혀 있다. 그리고 선관위의 보고서에 따르면, 이 시점에는 KT 망은 차단되어 트래픽이 없었어야 한다.
선관위의 구조도에 나온 디도스 방어장비는 한 대가 아니다. 위에 보이는 선관위 네트웍 구조도를 보면 디도스 방어 장비는 두 대가 있다. 그리고 위키프레스가 공개한 LG 엔시스 보고서에는 해당 그래프가 “KT 회선 트래픽”이라고 되어 있다. 그렇다면 어딘가에 LG 회선 디도스 방어 장비 트래픽도 있어야 한다는 소리다. 그런데 선관위가 참여연대에 공개한 보고서에는 그냥 하나로 뭉뚱그려져 있다. 실종된 LG U+망 디도스 장비 로그는 어디에 있는가?
요약
7-1. 위키프레스가 공개한 LG 엔시스 보고서에 따르면 선관위가 차단했다는 KT망을 통해 디도스 트래픽이 유입되는 이상한 상황이 발생했다.
7-2. 같은 그래프를 놓고 두 보고서에서 하나는 그냥 디도스 장비 트래픽, 다른 하나에는 KT망 트래픽으로 표시되어 있다.
8. 정리
여기까지 넘겨짚기나 소설 쓰기는 최대한 배제하고, 가급적 객관적이고 논리적인 분석만 기술하려고 노력해 보았다. 이 글에는 선관위 공개 보고서와, 위키 프레스가 공개한 LG엔시스 보고서에서 나온 내용만을 토대로 작성하려고 했기 때문이다. 이 내용 중에도 물론 잘못된 분석이 있을 수 있다. 하지만 최소한 고의로 사실관계를 왜곡한 것은 없었다고 생각하며, 큰 이견이 존재할만한 내용 역시 정리 단계에서 모두 뺐다.
그러면 본문에 나온 의문점 중 중요한 사항을 간단하게 정리해 보겠다.
1. 메모리 100% 문제에 대해 선관위가 해명한 내용 자체는 대체로 수긍할 만 하지만, 그래프의 이상한 부분에 대한 설명이 필요하며, 선관위의 해명이 서버 restart가 설정 변경을 위한 게 아니냐는 의문은 해소되지 않았다.
2. 선관위가 제시한 대응 지침에는 회선 차단이라는 항목이 없으며, 검찰의 발표에 있는 트래픽 우회조치도 대응 지침에 없다. 또한, 지침상의 비슷한 내용인 네트워크 케이블 일시 단절은 이에 해당되는 내용도 아닐 뿐더러, KT망 차단은 네트워크 케이블을 단절한 것이 아닌 걸로 보인다.
3. KT망 차단이 트래픽 우회 조치로써 한 것이라고 해도, 이 경우 비정상 트래픽 역시 우회되기 때문에 이 조치가 디도스 트래픽을 해결해 주지는 않는다. 그리고, 트래픽 우회 조치 직후 1차 정상화 됐다가 다시 장애가 생긴 것은 우연일 수도 있지만, 우연이라기엔 시점이 공교롭다.
4. 선관위는 트래픽이 감소한 게 아니라 두 회선 중 하나가 6:46에 차단되어 절반으로 줄어든 것으로 보인 것뿐이라고 하지만, 선관위의 다른 자료에서는 7시에 차단된 것이라고 나온다. 또한, 같은 시간대 다른 그래프들도 미묘하게 다르게 보이는 부분들이 존재한다.
5. 선관위는 가장 궁극적인 디도스 대응책인 사이버 대피소를 사전에 전혀 준비해 놓지 않고 있었다. 이에 대한 해명도, 선관위의 사이버 대피소 이용 부분을 보면 어디서는 12분 걸렸다고 나오고 어디서는 한참 걸렸다고 나오며, 또 어디서는 PUBNET이라서 안 됐다고 나오고 다른 곳에는 헌법기관이라서 안 됐다고 나온다. 즉, 말이 서로 맞지 않는다.
6. 선관위는 운신의 폭이 넓고 요즈음 추세에 맞는 데이터 센터를 사용하지 않고 전산실을 고수했으며, 사전에 긴급 회선 및 용량 증설 준비를 해두지 않았다. 그런데, 비상시 기존에 사용했던 회선을 활용하면 빠르게 회선 증설이 가능할 수 있었을 가능성이 높다. 심지어 선관위는 더 많은 비용을 들여 훨씬 낮은 대역폭의 회선을 도입함으로써 스스로 디도스 공격에 취약한 네트웍 구조를 만들었다.
7. 위키프레스가 공개한 LG 엔시스 보고서에 따르면 선관위가 차단했다는 KT망을 통해 디도스 트래픽이 유입되는 이상한 상황이 발생했다. 그런데, 이 그래프를 놓고 선관위가 공개한 보고서에서는 전체 디도스 장비 트래픽인 것으로 나와있고, 위키프레스가 공개한 보고서에서는 KT망 디도스 장비의 트래픽으로 표시되어 있다.
9. 내 맘대로 써보는 소설
이번에도 소설을 써보겠다. 이전 글에서와 마찬가지로 두 가지 시나리오다. 첫 번째 시나리오는, 세상은 안타까운 실수로만 가득 차 있다는 제목이다. 왜냐하면 세상 사람은 모두 선하며, 공무원은 자신의 직위를 잃을지 모를 잘못은 절대로 하지 않고, 17명의 직원은 서로를 잘 감시하며, 나중에 검찰에 끌려가 고초를 겪을 일은 절대로 하지 않기 때문이다. 두 번째 시나리오는, 세상은 시나리오로 돌아간다는 제목이다. 왜냐하면 세상은 겉에서 보이는 모습과는 달리 이면에서 돈과 권력과 힘으로 세상을 움직이려는 자들에 의해 돌아가기 때문이다.
어느 쪽이 맞는지, 둘 다 틀린지는 나도 모른다. 나는 그냥 시나리오를 써 볼 뿐이다. 내 시나리오대로 세상이 움직인다면 얼마나 좋겠는가? 하지만 그러기는 어려울 것이다. 왜냐하면 나는 술 마시다가 우발적으로 쓸 수 있는 1억이 없기 때문이다. (제기랄, 나에겐 우발적으로 쓸 100만원도 없다 ㅠ.ㅠ)
첫 번째 시나리오, 세상은 안타까운 실수로만 가득 차 있다.
10.26 재보선을 맞이하게 된 선관위는 국가 초고속 통신망 서비스인 PUBNET의 155Mbps ATM 통신망 3회선을 신청했다. 지난 서울시 주민투표 때 155Mbps 2회선과 45Mbps 1회선을 연결했는데 최대 사용량이 절반 정도에 불과했으니, 이 정도만 가지고도 충분할 거라고 판단했기 때문이다. 우연히도 155Mbps ATM 회선 요금과 이더넷 요금을 비교해 본다거나, 더 나은 회선 속도를 제공해야 한다는 생각은 하지 않았다.
디도스 공격에 대한 대응 체계와 관련해서 이번에는 딱히 언론 보도 자료는 준비하지 않았다. 지난 지방 선거 때 준비한 디도스 방어장비나 방화벽 등의 장비가 있으니 크게 걱정할 필요는 없을 것이라고 생각했다. 공교롭게도 웹 서버 프로그램에 사용 메모리가 자꾸 늘어나 사용량이 100%가 되는 문제가 있지만, 공급사에 문의하니 작동에 심각한 영향을 주지 않는다고 했다. 괜히 건드렸다가 다른 문제가 생겨서 선거 전에 야근하는 일이 생기면 곤란하니 그냥 두는 게 낫다고 생각했다… 무슨 일 생기면 그냥 프로그램 재시작(Restart) 한 번 해주면 되니까.
아침 5시 30분에 출근했다. 공교롭게도 밤새 무슨 일이 있었는지는 점검하지 않는다. 또한, 공교롭게도 KT나 LG U+로부터 새벽 1시 경에 디도스 공격이 발생했다는 전화 같은 건 오지도 않았다. 6시에 선거가 시작됐다. 선관위 직원들이 졸린 눈을 비비고 있는데 갑자기 웹 사이트 접속이 안 되고 있다는 보고가 들어왔다. 확인해 보니 웹사이트가 안 뜬다. 우왕좌왕 하다 보니 6시 10분 정도가 됐다.
선관위 직원이 문의해 보니 KT와 LG U+에서 디도스 공격 같다고 답을 했다. 황급히 디도스 대응 지침을 확인하니 공격 IP를 차단하라고 되어 있었다. KT에 전화해서 공격이 들어오는 IP를 차단해 달라고 했지만 별 효과가 없었다. 다시 대응 지침을 확인해보니 장비 임계치를 재설정하라고 되어 있었다. 그런데 어쩌나. 공교롭게도 임계치 재설정을 해서 뭘 어떻게 할 방법을 준비해 둔 게 없다. 공교롭게도 비상 회선이나 비상 용량 대응 대책을 마련해 두지 않았기 때문이다. 공교롭게도 그 밑을 살펴보니 네트워크 케이블을 임시로 단절해 보라고 되어 있다. 또한 공교롭게도 서버 재부팅도 나와 있다. 아, 맞아, 웹 서버!!! 앗, 이제 보니 메모리가 100%네?
6시 45분이 되도록 변화가 없다. 공교롭게도 매뉴얼에 케이블 뽑으라고 되어 있다. 그렇다고 무턱대고 뽑기도 그러니 라우터에 들어가 ATM #1 회선이 단절됐다는 신호를 주라는 설정값을 입력한다. 당연하지만 라우터에 들어오는 트래픽이 절반으로 줄어든다. 서버도 재시작하라고 했으니 메모리 100% 였던 웹서버의 데몬(프로그램)도 재시작(Restart)한다. 그래, 어짜피 KT망 차단해도 LG U+망이 백업 회선이 될 테니까 운 좋으면 해결될 것이다. 한 번 차단해 보자. 어떻게든 되겠지. 원래 디도스 공격 들어오면 웹 서버 보호하기 -위해 망을 끊기도 하니까.
7시에 KT망이 완전히 차단됐다. 해결 안 되면 어쩌나 고민하고 있는데 7시 10분쯤 되자 공교롭게도 갑자기 접속이 된다. 만세, 성공이다! KT망을 끊으니 LG망으로 접속이 되는구나? 이제 다 해결됐다. 한숨 돌리자.
7시 35분, 갑자기 다시 접속이 안 된다. 혹시 KT 망으로는 될까? 45분쯤에 ATM #0를 열어본다. 디도스 트래픽이 들어온다. 여전히 공격받고 있다. 황급히 도로 내린다.
8시가 다 되간다. KT에 IP 차단을 계속 요청하던 중 공교롭게도 사이버 대피소를 써봐야한다는 이야기가 나왔다. 그런데 우리는 행정기관도, 국가기관도 아닌 헌법 기관이라서 담당 사이버 대피소가 없다. 8시 20분에 KT에 사이버 대피소 관련 협조라도 받기 위해 연락을 한다. 공교롭게도 KT에서 도와주겠다고 한다.
8시 35분, 드디어 디도스 공격이 차단됐다. 사이버 대피소를 통해 정상적인 트래픽이 들어온다. 다행이다. 그런데 공교롭게도 작년에 1G 이더넷 회선을 설치했던 게 기억났다. 디도스 공격이 또 어떻게 될 지 모르니 그 회선을 바로 연결할 수 있게 준비하자. KT에서는 최대한 도와주겠다고 한다. 다행이다.
13시 35분, 공교롭게도 더 많은 용량의 공격이 들어온다. 준비했던 1G 이더넷 회선으로 돌린다. 다행이다. 진작에 이럴걸. 하지만 쉿, 미리 해둘 수 있었다는 건 비밀이다.
참으로 공교로운 세상이다.
두 번째 시나리오, 세상은 시나리오로 돌아간다.
10월 25일 밤, 디도스 공격팀이 모든 준비를 마쳤고, 새벽 1시에 도상 훈련을 진행했다. 이번에는 155Mbps ATM 회선 3개를 준비하기로 했다. 효율이 떨어지는 ATM회선을 이용하기로 했으니 실제로는 120Mbps 정도의 속도가 나올 것이다. 합이 약 360Mbps다. 그 중에서 LG망은 미리 라우터 설정에 살짝 손을 봐서 쉽게 장애가 발생하게 해 놓았다. 그러니 잘 해봐야 300Mbps도 못 받아낼 것이다. KT와 LG에서 이 공격을 감지하고 디도스 공격이 있었는지 네트웍이 다운됐다는 연락을 할까 걱정했지만, 다행히 아무 연락도 없었다고 한다. 5시 경에 서버 메모리 100% 채워놓는 것을 확인하다가 실수로 메모리 사용량이 줄어들어서 그걸 다시 100%로 돌려놓느라 진땀을 뺐지만, 다행히 그냥 넘어갔다.
5시 50분, 드디어 디도스 공격을 개시한다. 6시 10분쯤 되자 선관위 내부에서 디도스 공격 사실을 파악했다고 한다. 약속한 대로 반응이 늦다. 잠시 후면 IP 차단 절차에 들어갈 것이다. 그러나 KT에서 이 작업을 시작하는 시점을 최대한 늦추어야 하니 6시 20분쯤 되어서야 요청이 들어갈 것이다.
6시 45분쯤 되자 예정했던 대로 KT 회선 1회선을 차단했다고 한다. 슬슬 IP 차단이 되어가는 시점이다. 준비한 좀비 PC가 아직 여유가 있지만 공격 전환 시점 전에 KT 회선이 모두 차단되어야 한다. 내부에서 이제 메모리 100% 찼던 웹 서버 데몬을 재시작 했다고 한다. 이제 몇 분 안에 KT 회선은 모두 차단될 것이고, 미리 조치해 놓은 LG 회선은 아까부터 버벅거리고 있으니 걱정할 게 없다.
7시 10분, 7시를 기해 KT 회선이 모두 차단된 것을 확인했으니 잠시 공격을 멈춘다. 여태까지 ICMP와 UDP Flooding Attack을 했으니, 이제 다음 차례로 HTTP Flooding Attack을 해야 할 차례다. 그러면 내부에서 사이버 대피소를 준비한다고 시간을 더 끌 수 있기 때문이다.
7시 35분, 드디어 HTTP Flooding Attack을 시작했다. 예상대로 허우적대던 LG 망은 사망해 버렸다. 선관위 내부에서 KT망이 공격받는지 확인하는 증거를 만들기 위해 잠시 회선을 열었다가 닫았다. 시간은 잘도 흐른다.
8시 20분, 드디어 선관위 내부에서 KT에 사이버 대피소를 요청했다고 한다. 이것도 곧 끝나겠구나. 상관 없다. 이제 다들 출근해야 할 시간이다. 목적은 달성됐다. 이 정도의 트래픽을 오전 내내 유지한다.
13시 35분, 선관위에서 1G 이더넷 회선을 비상 대기했다고 한다. 이제 한번 쇼를 해 줄 시간이다. 공격량을 높인다. 선관위 내부에서 회선을 1G로 교체한다. 이제 뭘 해도 상관 없다. 어짜피 목적은 달성했으니까.
스스로의 소설에 대한 독후감
소설에는 현실이 반영되지만, 그것이 현실인지는 알 수 없다. 소설은 현실을 토대로 지은이의 상상에서 나온 이야기다. 그래서 독자는 소설을 읽는다. 그 안에는 독자가 보고 싶어하는 내용이 있을 수도 있고, 원하지 않는 내용이 담겨있을 수도 있다. 하지만 현실성이 떨어지는 소설은 아무래도 재미가 없다. 그래서 우연이 반복되는 소설은 소설이라도 재미가 없다. 믿음이 가지 않는다. 그것은 현실에서도 그렇다. 하지만 요즈음은 소설을 소설가가 아니라 소설가가 아닌 사람들이 써서 그런지 우연에 우연을 받아들이라고 요구한다. 이젠 소설도 수준을 좀 더 높여줬으면 좋겠다.
참고로 이 두 시나리오에서는 DB 조회 방해라던가 하는 부분은 포함시키지 않았다. 나는 어디까지나 여태까지 나온 보고서나 자료만 가지고 이 글을 쓰고 있기 때문이다. 만약 다른 증거가 나온다면 또 다른 시나리오가 나오겠지만, 지금은 여기까지다. 또한, 나는 이 시나리오를 쓰면서, 선관위 보고서에 나온 자료가 조작된 것이 아니라는 가정을 했다. 하지만 위에도 몇 차례 언급됐듯이, 보고서 간에 앞뒤가 맞지 않는 부분들이 존재한다. 뿐만 아니라 이 글에 언급하지 않았지만, 그 부분은 각자 머리 속에 넣어두었다가 다른 소설을 써 보는 것도 좋을 것이다. 소설에서 우연을 제거하면, 생각보다 더 재미있는 소설이 나올 수 있을 것이다.
Barry Lee(http://barryspost.net)