여의도 KBS 본사의 방문 예약시스템 컴퓨터에 서버 다운을 알리는 안내문이 붙어 있다. <출처: 연합뉴스>
경제가 발전할수록 컴퓨터에 대한 의존도는 높아질 수밖에 없다. 이는 곧 사이버 보안에 문제가 생기면 국가적으로 엄청난 혼란이 초래된다는 의미이기도 하다. 앞으로 몇 차례에 걸쳐 그동안 대한민국을 뒤흔든 대표적인 사이버 테러와 정보 유출 사례들을 살펴보려 한다. 이를 통해 그간 우리가 사이버 보안 분야에서 놓치고 지나간 것들이 무엇인지 다시 한번 확인할 수 있을 것이다.
방송사와 은행을 패닉으로 몰고 간 3․20 사이버 테러
KBS 본사 보도국에서 전산 마비가 일어난 상황 <출처: 연합뉴스>
2013년 3월 20일 2시 10분경 KBS, MBC, YTN 3개 방송사와 신한은행, 농협, 제주은행 3개 은행의 전산망이 마비되었다. 피해 방송사들은 직원들 PC와 내부 전산망 접속이 안 되어 방송 제작 업무에 막대한 차질을 빚었다. 직원들이 종이를 들고 뛰고, 현장에 나간 기자들이 온라인 기사 송고를 못해 문자 메시지를 보내고, 팩스를 찾아 헤매는 등 대혼란이 벌어졌다.
비슷한 시간, 농협과 신한은행 서버에도 문제가 생기기 시작했다. 신한은행의 모든 전산이 마비되어 창구 거래, ATM 거래가 중단됐다. 신한은행의 계열사인 제주은행도 모든 거래가 중지됐다. 농협도 내부 전산망을 차단해 모든 거래를 중지시켰다. 은행 전산망이 복구되는 2~3시간 동안 이용자들의 불편이 극에 달했다.
이날 피해 대상이었던 KBS, MBC, YTN 방송사와 신한은행, 농협, 제주은행 이렇게 총 6개 회사가 보유한 약 3만 2천 대의 PC가 일시에 오작동을 일으켰다. 또한 1만 6천여 대의 CD/ATM 기기가 손상됐다. 웹 서버도 피해를 입어 PC에 저장된 방송 데이터와 은행 데이터가 지워졌다. 이 모든 시스템이 정상 복구되는 데는 무려 1개월이 걸렸다.
이미지 목록
1 |
2 |
1 신한은행 한 지점에 전산장애를 알리는 종이가 붙어 있다. <출처: 연합뉴스>
2 농협은행에서 모든 거래가 불가능하다는 안내문을 붙이고 있다. <출처: 연합뉴스> |
피해 비용은 얼마나 될까? 단순히 3만 2천 대 PC의 하드디스크 복구 비용만 따져봐도 수십억 원 규모다. 사고 이후 KAIST 정보보호대학원이 연구한 결과에 따르면, 시스템 복구비용과 매출이익 손실이 포함된 ‘직접적 피해액’이 약 1,361억 원에 달했으며, 생산효율 저하, 데이터 손실, 예방을 위한 투자비용 등이 포함된 ‘간접적 피해액'은 약 6,600만 원으로 추정되었다. 그리고 이미지 손상, 신뢰도 추락, 주가 하락, 법적 보상비 등으로 인한 '잠재적 피해액'은 약 7,310억 원으로 총 피해액은 약 8,672억 4900만 원에 이르렀다.
3․20 사이버 테러는 어떻게 진행됐나
이처럼 엄청난 피해를 초래한 3․20 사이버 테러 사건은 3월 20일에 세상에 드러났지만, 공격자들은 상당히 오래전부터 치밀한 준비를 해온 것으로 밝혀졌다. 정부 조사, 민간업체의 발표 등 알려진 결과를 종합해서 사건을 재구성해보면 상황은 다음과 같다.
3.20 사이버 테러 진행 과정 <출처: [3.20 사이버 테러 사고 분석 보고서] ver 1.7 Red Alert, IsssueMakersLab>
공격자들은 2012년 6월 이전부터 공격을 준비했다. 그들은 악성코드로부터 정보를 수집하고 공격 지령을 내리는 C&C 서버(Command & Control Server)를 확보하기 시작했다. 해커들은 직접 명령을 내리면 추적을 당하기 때문에 C&C 서버를 만들고 이를 경유해 공격하는 것이 보통이다. 따라서 C&C 서버가 공격 경유지가 된다. 공격자들은 이후 국내의 웹 서버를 해킹하여 악성코드를 유포했다. 피해 기관별로 진행 상황은 조금씩 다르나, 2012년 6월부터 2013년 1월까지 내부 PC 감염이 완료됐다.
악성코드에 감염된 기관 내 PC들이 공격자가 준비한 C&C 서버에 접속하여 내부 전산망의 정보를 보고하고, 추가 악성코드를 다운로드했다. 악성코드에 감염된 PC 중 중요 포인트의 PC들이 2차 C&C 서버에 접속했는데, 이를 통해 공격자가 기관의 망 분석을 끝낸 것으로 보인다. 각 기관들은 직원들 PC의 바이러스 백신을 기관의 업데이트 서버에서 중앙 관리하여 자동 설치하도록 하고 있었다. 이런 백신 업데이트 서버도 해커가 장악했다.
공격자들은 2013년 2월 이전 기관의 전산망 특성에 따라 맞춤형 악성코드를 개발한 것으로 보인다. 2013년 2월 1일, KBS.exe라는 추가 악성코드가 다운로드된 것이 발견됐다. 2월 1일부터 3월 15일까지의 기간 중 기관별로 추가적인 다운로드가 있었던 것으로 추정된다.
3.20 사이버 테러 관련 기간 악성코드 의심 파일과 관련된 악성링크의 차단 수치 <출처: 트라이큐브랩>
공격자는 3월 15일 홍콩에서 악성코드를 배포하는 도메인을 등록했다. 본격적인 공격을 개시한 시점으로 볼 수 있다. 3월 17일에 iMBC.exe, SBS.exe 등의 악성코드가 다운로드되는 상황이 발견되어 국내 보안업체 빛스캔(주)의 보안 경고가 나오기도 했다. 이 시점에서 각 기관의 바이러스 백신 업데이트 서버에는 악성코드가 들어가 있었다. 3월 17일부터 20일 사이, 각 기관의 백신 업데이트 서버는 조직 구성원들의 PC에 일제히 백신 업데이트를 실시했는데, 이때 악성코드가 전 기관의 PC에 감염됐다. 감염된 악성코드는 미리 설정된 공격시간을 기다렸다.
바이러스 백신 업데이트 서버 특정 영역에 악성코드(ApcRunCmd.exe 등)가 들어간 모습 <출처: EST소프트>
3월 20일 오후 2시. 많은 컴퓨터를 감염시킨 악성코드가 최종 단계의 공격을 일제히 시작했다. 침투한 컴퓨터의 하드디스크의 중요 정보를 파괴하고 컴퓨터를 꺼버린 것이다. PC의 경우 부팅에 필요한 정보를 담은 마스터부팅레코드(MBR)와 볼륨부팅레코드(VBR)의 정보를 지우고 무의미한 문자열로 바꿔버렸으며, 유닉스 계열 서버에는 DD, RM 등의 명령어를 전송하여 디스크를 삭제했다. 컴퓨터를 다시 부팅할 수 없는 먹통으로 만든 것이다. 방송국은 혼란에 빠지고 은행 거래는 중단됐다. 조사 결과 이처럼 본격적인 실제 공격은 단 5일에 걸쳐 모두 끝난 것으로 나타났다.
악성코드는 하드디스크의 중요 영역을 무의미한 문자열로 덮어씌웠다. <출처: 안랩>
공격이 진행되는 중 웃지 못할 여러 사연이 알려졌다. MBC는 전산망 마비로 인해 문자나 라디오 프로그램으로 사연을 받지 못해 사연을 팩스로 받아서 라디오 방송을 했다. KBS는 대본을 PC 스크린에 띄우지 못해 작가들이 DJ 옆에 붙어 앉아 대본을 써서 방송하기도 했다. 신한은행에 계좌가 연결된 나라사랑카드의 결제가 완전히 먹통이 되는 바람에 현금을 갖고 있지 않았던 국군 장병들이 불편을 겪기도 했다. 휴가 나왔는데 카드로 표를 못 사 발이 묶인 것이다. 이런 군인들에게 주변에 있던 사람들이 십시일반으로 돈을 모아 표를 사주었다는 미담도 전해졌다.
이미지 목록
1 |
2 |
1 방송국 전산망 복구에 열을 올리는 모습 <출처: 연합뉴스>
2 은행 ATM기 복구 작업을 하는 모습 <출처: 연합뉴스> |
사건 발생 이후의 대응
3․20 사이버 테러 사건 발생 후 하루가 지나 방송통신위원회에서는 백신 업데이트 서버를 통한 악성코드 유포를 원인으로 지목했다. 이로 인해 피해 기업의 백신 업데이트를 담당했던 하우리, 안랩의 업데이트 서버가 통로가 되었다는 보도가 이어졌다. 하지만 해당 업체들에서는 업데이트 서버 해킹이 아니라 해당 악성코드가 백신 프로그램의 구성모듈로 위장해서 들어간 것이라고 밝혔다. 정부의 합동조사단은 농협 시스템을 분석한 결과 내부에서 사용 중인 IP가 백신 소프트웨어 배포 관리 서버에 접속, 악성파일을 배포했음을 확인했다고 발표했다.
3.20 사이버 테러 다음날 피해 규모 파악과 원인 분석으로 분주한 한국인터넷진흥원(KISA) 인터넷침해 대응센터 상황실 <출처: 연합뉴스>
사건 발생 20일 후인 4월 10일 중간 조사결과 발표에서는 북한 정찰총국의 소행으로 추정된다는 결론이 내려졌다. 그 근거로 다음과 같은 세 가지 사실이 제시됐다.
첫째, 북한 내부에서 국내 C&C 서버에 수시 접속, 장기간 공격을 준비한 점이다. 2012년 6월 28일부터 북한 내부 PC 최소한 6대가 1,590회 접속하여 금융사에 악성코드를 유포하고 PC 저장자료를 절취 및 공격했다.
둘째, C&C 서버 49개 중 22개가 과거 사용했던 경유지와 동일한 점이다. 지금까지 파악된 국내외 C&C 서버 49개(국내 25, 해외 24) 중 22개(국내 18, 해외 4)가 2009년 이후 북한이 대남 해킹에 사용한 걸로 확인된 인터넷 주소와 일치했다.
셋째, 악성코드 76종 중 30종 이상을 재활용한 점이다. 북한 해커들만 고유하게 사용중인 감염PC의 식별번호(8자리 숫자) 및 감염신호 생성코드의 소스프로그램 중 과거와 동일하게 사용된 악성코드가 무려 18종에 달했다.
또한 사건 발생 8개월 후인 12월 5일, 금융감독원은 3.20 사이버 테러와 관련해 농협 및 신한은행 등의 문제점과 조치 결과를 발표했다. 농협(중앙회, 은행, 생명보험, 손해보험)은 방화벽 보안 정책 및 백신 업데이트 서버를 부적정하게 운영한 점 등이, 신한은행과 제주은행은 관리자 계정 관리 부적정 및 백신 업데이트 서버 관리 소홀이 지적됐다.
이미지 목록
1 |
2 |
1 증거를 찾기 위해 하드디스크를 복제하는 모습 <출처: 연합뉴스>
2 악성 코드를 분석하는 모습 <출처: 연합뉴스> |
3․20 사이버 테러가 우리에게 시사하는 것
백신에 의한 방어책은 공격자가 신종 악성코드 유포 후 탐지, 분석하고 업데이트하는 대응 시간이 길어진다는 구조적인 문제가 있다. 신종 악성코드가 유포되는 시간이 30-40분이라는 점을 생각하면 백신 업데이트 시간은 큰 문제다. 신종 악성코드가 사이버 테러의 주된 공격인 상황에서 백신에만 의존하는 국내 조직과 정부의 사이버 보안 대책은 심각한 맹점을 드러낸다. 웹을 통한 악성코드 유포를 빨리 탐지하는 기술을 추가로 활용하는 방안이 요구된다.
2013년 4월 10일, 한국인터넷진흥원 침해사고대응단장이 '3.20 사이버 테러' 중간 조사결과를 발표하는 모습 <출처: 연합뉴스>
이번 사건에서 빛스캔(주) 등은 2월 1일 kbs.exe, 3월 15일 imbc.exe, sbs.exe 파일의 출현을 보고 3․20 사이버 테러 발생 일주일 전부터 사전 조기 경보를 내린 바 있다. 그러나 당시 그 조기 경보에 진지하게 반응하지 않았던 것이 결국 엄청난 화를 초래했다. 사이버 테러와 관련된 조기 경보는 아무리 사소한 것이라도 무심히 넘겨선 안 된다는 것을 보여주는 생생한 사례인 셈이다.
또한 3․20 사이버 테러에선 백신 업데이트 서버가 탈취된 것이 가장 큰 문제였다. 보안업체의 업데이트 서버가 악성코드의 숙주가 되어버린 것이다. 이 과정에서 금용기관 등의 잘못이 있었지만, 백신업체의 관리상 잘못도 분명 있었다. 이는 그동안 백신업체의 일상적인 작업에 보다 치밀한 보안관리가 필요함을 뜻한다. 이 사건에서 백신업체들은 그들 자체가 해킹당하지는 않았다고 하나, 앞으로 더 보안을 강화해야 할 것이다. 백신업체의 보안에 구멍이 뚫린다는 건 곧 온 국민의 PC에 구멍이 뚫린다는 의미이기 때문이다.
마지막으로 보안의식의 문제다. 금융감독원 자료에 따르면 업무를 수행하는 금융업체 실무자들이 기본적인 보안원칙을 지키지 않았다는 점을 알 수 있다. 일례로 서버에 접속하는 관리자들이 PC에 서버 사용자계정과 비밀번호를 저장하고, 자동 로그인 기능을 썼다. 이러면 PC가 해커에게 넘어가는 순간 서버도 해커의 손에 떨어진다는 이야기다. 아무리 좋은 보안 제품을 사용하고, 아무리 근사한 보안 정책을 세워도 이렇게 안이한 보안의식이 바뀌지 않는다면 모든 예방책이 무용지물이다.