국가의 해킹에 맞선 국민의 백신

누구나 개발에 발 들일 수 있는 개방형 참여 모델 적용해 정부 대신 RCS 공격 경로 파악과 재발 방지 나서는 ‘국민백신 프로젝트’

남희섭 오픈넷 이사. 2015.8.3.

회사 이름을 이렇게 빨리 홍보하는 방법이 또 있을까? 이탈리아 민간기업인 ‘해킹팀’은 불과 한 달 만에 인지도 1위에 꼽힐 정도가 되었다. 그 이유는 아이러니하게도 해킹팀이 해킹을 당했기 때문이다. 그동안 해킹 프로그램을 각국 정부에 팔아온 자들이 거꾸로 해킹을 당했다는 사실만으로도 뉴스거리지만, 유례없이 방대한 규모로 내부 자료가 유출되면서 우리나라 국가정보원이 해킹 프로그램의 주요 고객이었다는 사실이 드러나 충격을 주고 있다.

더구나 연구용이나 대북 정보용이 아니라 내국민을 상대로 해킹을 시도했을 것으로 보이는 구체적 정황들이 내부 자료에 들어 있다. 아직은 의혹에 그치고 있지만, 이 정황들이 사실로 밝혀진다면 국정원의 해체는 피할 수 없을 것이다. 하지만 진상을 규명하는 일은 쉽지 않다. 의혹을 제기하는 쪽과 해명하는 쪽 간의 심각한 정보비대칭 때문이다. 국가안보라는 방어막 뒤에 숨어서 아무런 자료도 내놓지 않고 버티면, 의혹은 사실로 바뀌기 어렵다.

‘국민백신 프로젝트’에 함께하고 있는 최예준 P2P재단코리아준비위원회 개발자가 7월30일 서울 여의도 국회의원회관에서 열린 국가정보원 해킹 사태 해결을 위한 토론 및 백신 프로그램 발표회에서 ‘오픈백신’ 베타버전을 공개했다. 한겨레 김경호 선임기자

‘국민백신 프로젝트’에 함께하고 있는 최예준 P2P재단코리아준비위원회 개발자가 7월30일 서울 여의도 국회의원회관에서 열린 국가정보원 해킹 사태 해결을 위한 토론 및 백신 프로그램 발표회에서 ‘오픈백신’ 베타버전을 공개했다. 한겨레 김경호 선임기자

어떤 변종이 있을지 모르는 스파이웨어

내국민을 상대로 한 사찰 여부만큼이나 해킹팀의 스파이웨어가 얼마나 유포되었는지를 파악하는 것도 중요하다. 국정원이 구매한 RCS(Remote Control System)는 다양한 방법으로 유포되었다. 여기에는 국정원의 감시 대상이 아닌 자들도 감염시킬 수 있는 방법이 포함되어 있다. 가령 모바일 앱 ‘영화천국’ ‘오늘의 TV’에 스파이웨어를 심어놓거나, 특정 와이파이망에 접속하기만 하면 RCS에 감염되도록 하는 방식이 동원되었다. 그리고 국정원은 누구나 접속할 수 있는 개인 블로그를 목표(destination) URL로 감염시켜달라고 해킹팀에 요청하기도 했다. 이런 피싱 URL 중 테스트용이 아니라 실전용(real target)으로 요청된 것만 195개나 된다고 한다.

해킹팀이 국정원에 주문·제작해준 스파이웨어는 어떤 변종으로 진화했는지 알 수 없다. RCS의 소스코드가 낱낱이 공개되어 악의적 해커 누구나 변종을 만들 수 있기 때문이다. 이게 국내에 얼마나 유포되었는지, 그로 인해 일반 국민들의 침해사고 위험은 어떤지 파악하고 예방책과 확산 방지 대책을 세울 필요가 있다.

사실 이런 일은 정부(미래창조과학부와 한국인터넷진흥원)가 하도록 법에 정해져 있다. 침해사고 대응을 위해 한국인터넷진흥원은 인터넷침해대응센터를 별도로 운영하기도 한다. 피싱·해킹 신고를 받거나 사이버 위협 요소를 매일 공지하며 취약점에 대한 대책도 내놓는다. 지난해에는 랜섬웨어(한컴오피스와 같은 상용 소프트웨어의 취약점을 이용해 웹사이트 방문만으로 감염되도록 악성코드를 배포하는 일)에 대해 주요 백신사들과 ‘SW 원클릭 안심 서비스’를 시행한다고 발표하기도 했다. 전자우편 악성코드 유포 탐지 시스템 구축도 보도자료를 통해 알렸다. 백신업체들도 언론에 많이 소개된 악성코드나 피싱 사례에 대해 재빨리 전용 백신을 내놓거나 업데이트 안내를 해왔다.

하지만 RCS에 대해서는 다르다. 너무 조용하다. (‘국민백신 프로젝트’가 발표된 이후 태도가 돌변하기는 했다.) 한국인터넷진흥원 사이트에서 ‘해킹팀’ ‘RCS’로 검색하면 아무런 결과도 나오지 않는다. 안철수 의원이 나서서 RCS 전용 백신을 개발해달라고 요청할 정도였다. 침해사고에 관한 정보의 수집과 전파, 예보와 경보, 대응 조치는 미래부와 인터넷진흥원의 고유 업무다(정보통신망법 제48조의 2). 그리고 국내 백신업체들은 침해사고의 유형별 통계와 접속경로별 이용 통계를 인터넷진흥원에 제공할 법적 의무가 있다. 하지만 RCS로 인한 침해사고에 대해서는 아무런 정보도 국민에게 제공되지 않았다.

정보인권, 우리 손으로 지키자

국정원의 주문으로 제작되어 유포된 RCS, 누군지도 모르는 해커에 의해 진화되고 있을 변종 RCS에 대한 대응을 위해 국민이 직접 나서는 것은 그래서 의미가 있다. 이에 3개 시민단체(오픈넷, 진보네트워크센터, P2P재단코리아준비위원회)가 국민백신 프로젝트를 통해 가칭 ‘오픈백신’ 프로그램 개발에 착수했다. 오픈백신은 백신업체 내부 개발자에 의한 폐쇄형 개발 방식과는 달리 재능을 가진 사람 누구나 참여할 수 있는 개방형, 오픈소스 모델로 개발하려고 한다. 그리고 이 프로젝트를 여러 시민단체, 더 나아가 모든 국민들로 확대하고, 백신 프로그램의 보급과 운영, 유지·보수를 위한 비용은 소셜펀딩 방식으로 충당하려고 한다.

사실 백신 프로그램의 개발은 쉬운 일이 아니다. 백신 엔진 자체는 어렵지 않게 만들 수 있다. RCS의 소스코드가 이미 공개되어 있고, 관련 바이러스 패턴도 상당수 알려져 있기 때문이다. 하지만 각종 변종 바이러스에 대처하고 유지·보수를 하는 데에는 많은 인력과 비용이 필요하다. 그리고 백신 프로그램 자체나 배포 경로가 해커들의 공격 대상이 될 수 있어서 이에 대한 대응도 해야 한다.

그럼에도 국민백신 프로젝트를 추진하는 이유는 우리의 정보인권을 우리 손으로 지키는 운동이 필요하다고 보기 때문이다. 이 과정에서 집단지성의 힘이 발휘되면 예상하지 못했던 성과를 낼 수 있다. 소프트웨어를 회사의 내부 개발자들이 만들고 이를 상품화해 시장에 내다팔아 그 이윤으로 개발에 재투자하는 시장 방식보다, 익명의 재능기부자들의 개방형 참여 모델이 더 우수하다는 점은 자유·오픈소스 소프트웨어 개발 과정에서 이미 입증되기도 했다. 자유·오픈소스 개발자는 이윤이 아닌 다른 동기로 개발에 참여한다. 가령 공동체에 기여했다는 자부심, 자신의 재능에 대한 인정, 명성, 재미 등 시장 방식에서는 상상할 수 없는 동기로 협력한다.

유포자와 감염자 확인도 중요 목표

RCS 스파이웨어를 찾아내는 일, 감염된 기기를 확보하는 것도 국민백신 프로젝트의 중요한 목표다. 메르스 사태에서 보듯 생물학적 바이러스를 퇴치하려면 감염 경로를 파악하는 것이 중요하다. 슈퍼전파자를 알아야 방역이 가능한 것처럼, RCS 스파이웨어를 누가 유포했는지 어떤 경로로 누가 감염되었는지 확인해야 앞으로 이런 일이 재발하지 않도록 막을 수 있다. 더구나 RCS 스파이웨어는 국민의 안전을 위해 국민의 위임에 따라 설립되고 운영되는 기관이 거꾸로 국민을 해킹했다는 강력한 의혹이 제기된 사건이 아닌가. 국민백신 프로젝트의 백신 프로그램은 다음주(8월3~9일) 중 안드로이드 애플리케이션 장터 ‘플레이 스토어’를 통해 배포될 예정이다.