농협 해킹사태가 북한 탓이라고? 한마디 안할수가 없다.

우선 이글을 썼다가 무슨일이 생길지 몰라 겁도 좀 나지만 이글은 정치적인 문제를 떠나 그냥 단지 리눅스 서버를 운영해온지 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서버를 찾았다고 해도 대부분이 관리가 제대로 이루어지지 않는 곳일 확률이 높습니다. 결과적으로 공격자를 찾기 위해서는 최소한 다음의 과정이 필요합니다.

좀비PC수거 → 명령을 전달받기 위해 어디로 접속하는지 분석 → 접속한 서버의 접속 로그 분석 → 공격자로 판단되는 사람의 IP추적

이게 추적할수 있는 완벽한 방법이 아니고 생각해 볼수 있는 가장 단순한 과정입니다. 접속한 서버의 로그를 볼수 있는 방법은 없다고 봐야 합니다 .서버가 한국에 있을리가 없기 떄문입니다. 공격자를 찾아내는건 불가능에 가깝습니다. 찾을 수 있다면 왜 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?)이 시스템을 복구도 못할정도로 한방에 날리는지 정말 궁금합니다만, 더군다나 동시다발적으로 다수의 서버를 날리는걸 어떻게 한건지 저도 궁금하지만 검찰의 발표는 마치 우리나라에는 보안 전문가는 없는게 아닌게 생각하게 만드는 발표입니다.

검찰분들은 굉장히 똑똑하신 분들입니다. 저랑은 비교도 할 수 없죠. 그래서 굉장히 무섭습니다. 일부러 몇치 앞을 내다보고 저런 발표를 한것일테니깐요…의중을 읽을수조차 없네요.

  • Pingback: anydragon's day()

  • 유빛

    솔직히, 저도 뭘 믿고 ‘북한 소행’이라고 말할 수 있는지 모르겠는데 말씀하신 부분 중에서 오해가 있는 것 같아 첨언합니다.

    1. 암호키

    암호키 운운하는 것은 백신에게 걸리지 않거나 외부에서 분석당하지 않기 위해 실행 코드가 스스로를 암호화한 키 값을 말하는 것 같습니다. (뉴스에서 그렇게 본 적도 있구요). 만약 이것이 정말 동일하다면, 지난 DDOS 공격자와 이번 공격자는 동일 인물이라고 봐도 무방할 겁니다. 바이러스가 스스로를 암호화하는 것은 희귀한 일이 아니지만, 우연히 키 값이 같은 확률은 거의 없으니까요.

    2. 소스코드

    복호화 과정을 통해서 바이너리 코드를 얻어낸 다음에, 그것을 리버스 엔지니어링 해서 소스코드를 ‘추정’할 수 있습니다. 최적화를 통해서 바이너리 코드를 변형시킨다고 해도 어차피 알고리즘은 동일하고, 패턴이 흡사하면 동일한 사람이(혹은 단체가) 제작했다고 말할 수 있겠지요. 물론 그 추정이 얼마나 정확하냐-는 단언하기 어렵지만요.

    3. 삭제 파일 목록

    이것은 바이러스(혹은 악성코드)가 시스템에 침투하면서, 혹은 임무를 수행하고 난 다음에 시스템을 자신과 파괴하는 과정에서 삭제할 파일 목록을 의미하는 것 같습니다. 바이러스들을 보면 보통 중요한 시스템 파일을 삭제/변형해서 시스템을 다운시킵니다.

    … 뭐, 어느모로 봐도 DDOS 공격자를 파악하는 것도 어려울 뿐더러, 직접 해킹을 제외한 이런 형태의 공격은 사실상 공격자 파악 자체가 거의 불가능한데… 무슨 자신감인지 모르겠습니다. 가능성이 없는 것은 아니지만 입증할 수 없을텐데요.

    • 실행코드를 암호화했다면 스스로가 암호화할때 사용했던 키를 내포하고 있나요? 제 생각엔 아무리 생각해도 이건 내부자 소행같은데…물론 북한의 스파이가 직원으로 둔갑해서 저지른일일지도 모르겠습니다만. 적어도 원격지에서 7개월에 걸쳐서 해킹했다고 말하기엔 논리가 좀 부족하지 않나 싶네요.

      좋은 조언 감사드립니다.

  • 일단 기사에서 언급되는 정보가 워낙 단편적이고 내용을 제대로 모르고 과장하는 기자들 때문에 이해하기 힘들죠 ㅎㅎ. 느낌상 암호키라는게 실행압축인 패커를 말하는게 아닐지.. 소스코드는 언패킹한 디스어셈블 바이트코드가 동일하다는 의미가 아닐런지.. 하여간 ddos부터 보안하는 사람들을 이해 못시키는 발표들 뿐이라 답답하죠…쉘스크립트와 크론탭을 최신해킹기법이라고 발표하는 사람들이니 그렇겠죠

    • 차라리 어딘가에서 본 앙심을 품을 개발자가 몇개월전에 퇴사하면서 cron/at 등으로 스크립트 동작 시간을 정해놨다는 말이 신빙성 있어 보이더군요. 항상 적은 내부에 있죠.

  • 단순히 아무것도 모르는 국민들에게 반북감정만 조장하고 농협측의 책임회피성 발표라는 생각이 드네요.
    농협내부자의 소행이라 발표한다면 그 파장은 상상을 초월 할테니까요. ㅎㅎ

    • 정말 북한이 했을지도 모르겠지만 참 나도 답답하구먼…

  • 수밀이

    좋은글 잘 봤습니다.
    일반인들도 잘 이해 할 수 있게 정리 잘 해주셨네요
    기자들의 억지 주장과 기술적 불명확 한 부분도 잘지적해주셨고요
    좋은글 입니다.
    다음 아고라나 기타 커뮤니티에 글을 기재 해보시는 건 어떨지요?
    글이 아까워 남겼습니다.

    • 좋게 봐주시니 감사합니다. 하지만 별로 정치적인 글이 되고 싶진 않아서요^^; 사람들이 많이 안보더라도 그냥 여기에 남겨두겠습니다.

  • 농협 해킹을 북한으로 몰고가는 이유의 종착점은..
    이거였던것 같네요.

    원본기사 링크 : http://www.hani.co.kr/arti/economy/it/477752.html

    기사 내용 중 일부
    원세훈 국정원장은 11일 14개 부처 차관들을 소집해 ‘국가 사이버안전 전략회의’를 열고, 농협 전산시스템 파괴와 같은 사태의 재발을 막기 위해 ‘사이버안보 마스터플랜’을 7월까지 마련해 대통령에게 보고하기로 했다.

    국정원장은 사이버공격 사고 조사 결과가 미흡하거나 국가안보 및 이익에 중대한 영향을 미친다고 판단되는 경우 직접 사고 조사를 할 수 있게(제10조2항) 하고 있다. 국정원이 사이버공격에 대응한다는 명분으로 금융기관과 포털 같은 민간 분야 전산시스템과 데이터베이스에도 접근할 수 있는 길을 열어주는 것이다.

    • 역시 똑똑하네. 예상을 뛰어넘는군. 똑똑한 사람들은 달라.

  • 지나가다가

    북한소행이 아니라고 할만한 근거도 없고.
    설령 북한 소행이더라도 크게 문제될건 없기도 하고요.
    확실하지 않은것은 특히 본인이 판단할 전문적인 능력이 없으면.
    편협하게 한쪽으로 치우쳐서 일방적으로 우기기 보다는.
    중립을 지키는게 좋겠지요.

    북한이 했던 중국이했던 일본이했던 큰피해가 없었으면 다행이지요.
    궂이 북한이 했다는 주장 한마디에 그렇게까지 흥분할 필요는 없어 보입니다.
    어차피 큰틀에서 보면 결국 남의 일이니까요.

    • 큰틀에서 보면 결국 남의 일이라는 말은 참 듣기 웃기네요.
      살해를 당했는데 큰틀에서 남의 일이니깐 아무나 편한데로 지목해도 되는걸까요? 평소 사람들이 미워하는 사람을 지목하면 일이 쉬워지는건가요? 이번일은 전문가들은 다 같은 반응을 보였어요. 정치적인 목적을 띄는 사람들이나 딴소리 하는거죠.

      그리고 제가 하고 싶은 말은 북한소행이 아니라고 주장하고 싶은게 아니라 북한소행이라고 주장하는 근거들이 죄다 추측성에 억지밖에 없는것을 한탄하는것입니다.

      전문적인 능력이 없는것은 제가 아니라 님이죠.