우선 이글을 썼다가 무슨일이 생길지 몰라 겁도 좀 나지만 이글은 정치적인 문제를 떠나 그냥 단지 리눅스 서버를 운영해온지 10년 넘은 사람으로써 순수히 엔지니어의 입장에서 써보는 글입니다. 이런 문제는 전문적인 이유를 설명해줘도 오해를 많이 살 법한 이야기인데 말도 안되는 이야기를 들고 나오면 더더욱 오해를 살수밖에 없을것 같습니다.
이 글을 쓰기에 앞서, 저는 보안 전문가가 아닙니다. 보안에 대하여 따로 공부하거나 학위를 가지고 있지도 않습니다. 단지 중학교때부터 리눅스를 사용해 왔고 고등학교때 부모님께 돈을 빌려 웹호스팅 사업을 해오면서 수많은 해킹의 피해를 입은 경험이 있는 사람일 뿐입니다.
[“농협 해킹은 北소행”] 검찰이 北지목한 이유-동아일보
동아일보의 오늘자 기사입니다. 검찰이 북한으로 지목한 이유가 3가지가 있습니다. 물론 저 역시도 북한일 수 있다는 가정을 처음부터 버리지는 않겠습니다. 북한 전체적인 해킹 실력이 비웃음을 살 지언정 해킹이라는것은 단 한명의 실력파만 있어도 충분히 일어나는 일이기 때문입니다. 사람수가 중요한건 아니라는거죠.
1. 北 3.4 디도스 공격때와 ’45자 암호키’ 똑같아
DDOS공격이란 Distributed of Denial Service의 약자로 서비스에 사용되는 서버가 혹은 네트워크가 버틸수 없을만큼의 서비스 요청등의 방법으로 서비스를 불가능하게 하는 해킹 기법입니다. 보통 웜/바이러스등을 이용하여 전세계의 불특정 다수의 사용자를 감염시켜 자신의 명령을 따르게 합니다.
이 바이러스에 감염이 되면 일명 좀비PC라는 애칭(?)을 가지게 되며 대부분의 경우가 공격자가 접속해 있는 IRC에 접속하여 그곳에서 명령을 받게 됩니다.
좋은 그림이 있는것 같아 첨부해 봅니다. 명령을 내리게 되는 Commander는 IRC서버를 통해 좀비PC들에게 명령을 내리게 되며 공격 대상이 되는 Victim은 엄청난 공격을 받게 됩니다. 제가 운영하는 서버도 몇번 DDOS공격을 받은적이 있습니다.
처음에 잘 모를 시절에는 공격 들어오는 IP를 분석하여 iptables로 단순 차단하는 식으로 하였습니다. 공격의 대부분이 중국 IP였기 때문에 중국발 DDOS구나라고 단순히 생각하였습니다. geoip-extension을 이용하여 중국 전체의 IP를 차단했음에도 서비스가 복구가 되지 않았습니다.
다시 확인을 해보니 중국뿐만 아니라, 브라질, 프랑스, 미국, 한국 아예 전세계에서 공격이 들어오더군요. IP에 특정한 패턴이란건 존재하지 않습니다. 그리고 위의 그림에서 알 수 있듯이 DDOS의 공격에서는 어떤 의미를 가지고 있는 IP라는것은 없습니다. 공격 들어오는 IP는 99.99999% 순수하게 그 스스로들도 피해자인 좀비PC 또는 좀비서버의 IP일 뿐입니다.
자, 그럼 검찰에서 좀비PC를 통채로 가져가서 소스를 분석하여 얻을 수 있는 정보를 생각해 봅시다. 저는 개인적으로 얻을수 있는게 거의 없다고 보지만 그래도 그냥 추상적으로 컴퓨터를 잘 몰라도 위의 그림만을 보고 생각했을 때 명령을 받기 위해 IRC서버에 접속하기 위해 IRC서버의 주소는 알 수 있을것 같네요. 그리고 어쩌면 공격 대상의 IP도 남아있을지도 모르겠습니다. 웜바이러스는 메모리에 상주하며 명령을 전달 받을것입니다. 이 과정에서 공격대상의 IP는 따로 하드디스크에 저장할 필요는 없어보입니다. 하지만 있다고 좋게 가정해 보겠습니다. 그리고 어쩌면 어떤식으로 공격하는지 패턴도 알 수 있겠네요.
여기까지 알아냈다고 치고 이제 검찰이 그리고 국민이 알고 싶어하는 정보는 누가 공격했냐는 것이죠. 공격대상 IP는 필요가 없고 공격패턴같은것도 우선 제처두고 알아낼수 있는것은 유일하게 어떤 IRC로 접속했을까 하는 것입니다. 또는 IRC가 아니라도 공격자의 명령을 받기 위해 어딘가에 접속해야 한다는 것입니다.
암살 영화를 보면 엄청난 스킬을 가진 암살자는 다양한 방법으로 명령을 전달 받습니다. 심지어 의뢰자의 얼굴이나 목소리조차 모르기도 하죠. DDOS도 똑같습니다. 결과적으로 좀비PC는 직접적으로 명령을 전달받긴 하겠지만 공격자는 IRC서버에조차 직접적으로 접속하지 않을 가능성이 높습니다.
프록시(Proxy, 대리인)라고 불리는 다른 서버를 공유하여 자신의 신분을 완전히 바꿔 접속할수도 있습니다. 그리고 IRC서버를 찾았다고 해도 대부분이 관리가 제대로 이루어지지 않는 곳일 확률이 높습니다. 결과적으로 공격자를 찾기 위해서는 최소한 다음의 과정이 필요합니다.
이게 추적할수 있는 완벽한 방법이 아니고 생각해 볼수 있는 가장 단순한 과정입니다. 접속한 서버의 로그를 볼수 있는 방법은 없다고 봐야 합니다 .서버가 한국에 있을리가 없기 떄문입니다. 공격자를 찾아내는건 불가능에 가깝습니다. 찾을 수 있다면 왜 DDOS 공격자 체포관련 뉴스가 안나올까요.
만약 찾아낼 수 있다면, 돈을 목적으로 DDOS공격을 하여 메일등으로 돈을 요구해올때 그걸 추적할수는 있을지 모르겠네요.
말이 너무 많이 돌았습니다. 45자 암호키가 똑같다고 하는데 이게 무슨 말인지 모르겠습니다. DDOS공격에 암호키라니…아무래도 어려운말 써봤자 국민들이 모를꺼라 생각하고 두리뭉실하게 쓴거 같습니다만 공격 코드의 일부분이 동일하다고 말하고 싶은게 아닐까 생각됩니다.
프로그램이라는것은 소스코드를 컴파일이라는 과정을 통해 만들어집니다. 이 컴파일이라는것은 개발자가 아무렇게나 개발해도 나름의 최적화(Optimize)를 통해 자기가 소스코드를 정리하여 실행파일로 만들어내게 됩니다. 결과적으로 프로그램의 코드만 봤을때 비슷한 부분은 얼마든지 많이 생길 수 있습니다. 설마 암호키/공개키를 이야기 하려는것은 아니었겠죠. 그럼 더욱 바보인증일테니.
농협 해킹 ‘소스코드’ 7.7 디도스와 상당부분 일치-동아일보
오히려 저런 웃기는 이야기도 있습니다. 소스코드가 상당부분 일치 한다니…분명히 저런 발표를 하는 사람들은 제가 범접하기도 힘든 초고수들일텐디 미칠꺼 같습니다.소스코드는 실행되지 않습니다. 말그대로 설계도 같은거죠. 사람들이 건축 평면도에 거주하지 않습니다. 그걸로 만들어진 건축물에 거주하겠죠. 물론 인터프리터언어같은 예외가 있습니다만 지금 상황에선 예외일꺼 같고요.
차라리 위의 정황에서 봤을떄는 한국 IBM의 직원 한모씨의 노트북이 바이러스 백신조차 안깔려있었다는 이야기를 볼때 작년 DDOS대란때에 좀비PC였었다고 보는게 맞다고 봅니다. DDOS는 단순한 공격자의 명령만을 수행하지 서버작업과 같은 상호작용(Interaction)을 하는 작업은 어려움이 있을 수 있습니다. 이것을 DDOS와 자꾸 엮을려고 하는건 억지라고 생각합니다. DDOS는 DDOS였고 이건 백도어든지 키로그던지 다른 해킹 사건이라는것이죠.
2. 삭제파일 목록, 중복기재 실수까지 판박이
이건 또 무슨 깜짝 놀랄 이야기인가요. 농협의 서버는 잘 알려져 있듯이 유닉스들로 구성되어있다고 합니다. hwp파일을 삭제하던 말던 전혀 다른 이야기를 들고 나왔다고 밖에 생각하기 힘듭니다. 차라리 위에서 언급했던 작년 DDOS대란 당시에 좀비PC였을것이라는 것이죠.
악성코드가 81개나 발견되었다니 IBM직원이 어떻게 저럴수 있을까 싶네요. IT업계 사람의 PC가 악성코드가 저렇게 많이 발견되었다는것은 말그대로 아예 관리를 안했다고 보는게 맞을것 같습니다. DDOS 좀비PC여도 전혀 이상하지 않습니다.
3. 北사용 ‘좀비PC 통신용 고유번호’가 노트북에
이것은 정말 저를 화나게 하는 이야기입니다. 여기서 통신용 고유번호라는 마치 그럴싸한 이야기를 했지만 기사의 내용을 보면 맥주소(Mac Address)를 말하는 것입니다. PC의 IP주소라는 것은 유동적인 주소입니다. 언제든지 바뀔 수 있는 주소이지만 맥주소는 변경되지 않는 자신의 주민등록번호와도 같은 주소값 입니다.
하지만 문제가 이 맥주소는 통신과정에서 변경됩니다. 이게 무슨말이냐면 다음의 그림을 보여드리겠습니다.
네트워크는 매우 복잡하게 얽혀있습니다. 여기서 통신을 제대로 하기 위해서는 통신 패킷이 어디로 흘러갈지를 중간중간에 있는 Router(동그란 케잌모양)라는 것이 방향을 알려주어 통신하게 됩니다.
그런데 이 과정에서 발송자의 맥주소는 라우터의 맥주소로 변경이 됩니다. 같은 회사 같은 사무실 같은 부서의 옆사람을 내 PC로 공격하는게 아닌이상 내 맥주소를 상대방이 알 수 있다는것은 불가능에 가깝습니다. 이건 네트워크에서도 어려운 이야기가 아닙니다. 시스코 자격증중에 가장 낮은 CCNA에서도 나오는 이야기입니다.
그냥 저런 말을 한 의도가 궁금합니다. DDOS공격에서 IP는 의미있는 데이터가 될수 없고(좀비PC census라면 모를까) 맥주소 이야기는 꺼내는것 자체가 웃기는 이야기입니다.
농협 해킹이 북한 소행이라는 검찰 발표에 전문가들은 갸웃-조선일보
차라리 이 기사가 좀 더 사실을 언급하고 있습니다. IP가 의미가 없다는 이야기와 맥주소가 변경된다는 것에 대한 언급이 있네요.
“농협 해킹 북한 소행이라면 디도스 때 지목된 IP 또 썼겠나”-경향신문
경향신문은 해당 IP를 또 썼겠냐는 이야기를 들고 있습니다. 물론 DDOS라는것은 감염할 좀비PC를 공격자가 컨트롤할수 있는게 아닙니다. 얼마든지 그PC가 그 PC이고 백신으로 치료했지만 또 감염될 수 있습니다. 자꾸 체신성 IP가 언급되는데 제 생각엔 체신성 IP가 나왔다면 더더욱 북한의 짓이 아니라는 결론이 나와버립니다.
처음에 보여드린 그림에서 알 수 있듯이 좀비PC들은 감염당한 피해자입니다. 공격을 당하는 입장에서는 죽어도 공격자의 IP를 알 방법이 없습니다. 마치 암살자집단에 암살 의뢰를 한후에 암살현장에 자신도 참여하여 같이 칼부림을 하는 꼴입니다.
물론 PC관리를 너무 못해서…공격하는 팀에서조차 자신의 PC가 감염되었을수도 있습니다. DDOS에 공격해 오는 IP들도 피해자입니다.
공격 명령 서버중 1개 북한서 사용…노트북에 악성코드 심어 좀비피시화-한겨레
여기 또 답답한 기사가 있습니다. 정확히는 답답한 검찰의 발표겠지만요. 7개월동안 집중적으로 정보를 캐내로 81개나 되는 공격용 프로그램을 설치했다…제대로 관리안하는 PC들에서는 몇천개의 바이러스에 감염되는것이 일도 아닙니다. IP이야기 역시도 북한의 IP가 나오는것이 북한이 공격자라는 근거가 될수가 없습니다.
서버 관리자로써 결론을 지어보자면.
리눅스를 사랑하는 사람으로써 복잡한 마무리를 지어보겠습니다. 보통의 서비스는 적어도 WEB – WAS – DB와 같이 복잡한 구조로 서비스가 구성됩니다. 더군다나 IT(Information Technology)에서는 말 그대로 정보를 가장 중요시 합니다. DB와 같은 정보를 보관하는 서버들을 동시다발적으로 날릴수 있는것은 한번 해보라고 해도 어려운 일입니다. 정말 내부 구조를 잘 이해하고 있는 사람의 소행이라는 추정이 맞다고 생각합니다.
도대체 어떤 명령(rm.dd?)이 시스템을 복구도 못할정도로 한방에 날리는지 정말 궁금합니다만, 더군다나 동시다발적으로 다수의 서버를 날리는걸 어떻게 한건지 저도 궁금하지만 검찰의 발표는 마치 우리나라에는 보안 전문가는 없는게 아닌게 생각하게 만드는 발표입니다.
검찰분들은 굉장히 똑똑하신 분들입니다. 저랑은 비교도 할 수 없죠. 그래서 굉장히 무섭습니다. 일부러 몇치 앞을 내다보고 저런 발표를 한것일테니깐요…의중을 읽을수조차 없네요.