2015년 7월6일 이탈리아 보안업체 ‘해킹팀’의 내부자료가 유출돼 인터넷에 공개된 후 우리나라의 국가정보원도 이 업체로부터 감청프로그램을 구입해 사용했다는 사실이 확인되면서 파장이 확산되고 있습니다. 기술적으로 복잡한 내용도 많고 확인되지 않은 채 유통되는 정보도 많습니다. 이해를 돕기 위해 몇가지 사항에 대해 문답식으로 풀어봤습니다. 앞으로 궁금한 점에 대해 질문을 주시면 취재를 통해 함께 답을 찾아나가도록 하겠습니다. |
Q.국정원이 구입, 운용한 해킹팀의 RCS에서 ‘타깃 20개’란 어떤 의미인가? 국정원장은 20명 분의 해킹프로그램이라고 주장한다.
국정원이 이탈리아 해킹팀으로부터 도입해서 운용한 RCS 프로그램의 타깃(target)은 20개다. 이는 동시에 최대한 20개까지 감시가 가능하다는 의미다(해당항목으로 이동).
국정원장의 해명은 해킹을 20명만 할 수 있다는 것처럼 들리지만 실제는 동시에 감시가 가능한 것이 20명이다. 실제 연 감시 대상은 훨씬 많을 수 있다는 것이다.
이탈리아 해킹팀이 나나테크에 보낸 제안서에서 설명하는 타깃에 대한 개념도 그렇다.
예를 들어 모니터링하고 있는 타깃 20개 가운데 더 이상 감시할 필요가 없는 타깃 5개를 삭제하면 새로운 타깃 5개에 추가로 스파이웨어를 설치해 다시 20개까지 모니터링 할 수 있다는 뜻이다. 이렇게 될 경우 국정원이 해킹한 타깃은 모두 25개가 되지만 동시 모니터링 하고 있는 타깃은 20개가 된다.
Q. 동시 감시 대상이 20개라는 것은 예를 들어 국정원이 감시가 필요한 대상 100개를 미리 감염시켜 놓은 뒤에 필요에 따라 감시 대상 20개 안에 넣었다 뺐다 할 수 있다는 것인가?
그렇다고 보기는 힘들다. 국정원 관리자와 해킹팀이 2014년 7월7일 주고받은 메일을 보자. 에이전트는 휴대폰이나 PC 등의 목표물에 설치해 해당 기기에서 정보를 빼내오는 해킹용 스파이웨어를 말한다.
국정원: |
질의 응답은 다음날인 7월8일 이메일로 이어진다.
국정원: |
(※RCS에는 여러 모듈(기능의 작동단위)이 있는데 기능에 따라 CALL 모듈, CHAT 모듈, PHOTO 모듈 등이 있다. CALL 모듈을 작동시키면 CALL을 감시할 수 있고 CHAT 모듈을 작동시키면 CHAT을 가로챌 수 있다.)
간단히 정리하면 예를 들어 타깃 100개를 한꺼번에 해킹해 놓고서 필요한 것들을 골라서 그 때 그 때 20개 안에 넣었다 뺐다 바꿔가면서 감시하는 것은 불가능하다는 말이다.
Q.그렇다면 이미 20개를 가득 채워서 동시에 모니터링을 하고 있는 상태에서 다른 1개의 타깃에 추가로 스파이웨어가 설치된다면 어떤 일이 벌어질까?
실제로 다른 나라의 고객이 해킹딤에 질문했다. 30개 타깃에 대한 라이선스를 갖고 있고 현재 30개를 동시에 감시하고 있는데 만약 3개월 전에 감염파일을 담아 보낸 이메일을 감시 대상이 이제서야 열어서 감염될 경우 어떻게 되냐는 것이다.
이럴 경우 31번째 타깃은 대기열(queue)에 위치하게 된다고 해킹팀은 답한다. 살아만 있을 뿐 자료를 빼오는데는 써먹을 수는 없는 상태라는 것이다. 따라서 라이선스 1개를 추가로 구입하거나 아니면 기존에 감시중인 타깃 하나를 제거해야 31번째 타깃의 에이전트가 활성된다는게 해킹팀의 설명이다.(▷관련 메일)
국정원도 비슷한 상황에 처한 적이 있다. 2013년 7월29일에 오간 이메일들(TICKET ID:!SMZ-100-78952)을 보면 “최근 타깃 3개가 감염된 것을 알게 돼서 기존 타깃 3개를 삭제했다. 그런데도 (감염된 타깃이) 대기열에서 시스템으로 들어오지 않고 대시보드에 추가할 수도 없다”면서 “3개의 공간이 있는데도 감염된 에이전트 2개가 20시간째 대기열에 머물러 있다”고 질문한다.
당시 국정원이 문제를 설명하면서 보낸 RCS 콘솔의 스크린샷이다.
스크린샷 제일 상단에 있는 RCS:DB 항목에서 상태가 ‘2connections’ 라고 돼 있는 부분이 대기열에 있는 타깃 2개를 말하는 것으로 보인다. 에이전트가 17/20로 3개의 여유분이 있으니 바로 시스템과 동기화돼서 감시 가능 상태에 들어와야 하는데 여전히 대기열에 머물러 있는 상황이다.
이 문제는 결국 국정원이 해킹팀의 조언대로 콜렉터를 다시 부팅하면서 해결이 된다.(▷관련 이메일)
Q.그렇다면 국정원이 천 명, 만 명의 타깃을 감염시켜 대기열에 위치시켜 놓은 뒤에, 20개씩 차례대로 동시 감시 대상으로 올리면 이론적으로는 감염시켜놓은 모든 타깃을 숫자 제한없이 감시할 수 있다는 말 아닌가?
이론적으로는 가능하다. 하지만 실제 해킹팀 RCS 운영 상황으로 볼 때 현실적으는 어렵다. 먼저 앞에서 국정원이 언급했던 대시보드가 무엇인지 보자.
타깃을 대시보드에 추가한다는 것은 기능별로 타깃을 살펴보겠다는 의미다. 사진 왼쪽에 감염된 기기들이 나오고 각각 제공되는 기능이 일목요연하게 표시된다. 휴대폰의 경우 일정,통화,채팅,메모리,이메일,마이크,위치 등에 대한 기능이 제공됨을 알 수 있다.
대시보드에 감염대상을 추가하고 나면 각종 작업을 수행할 수 있다. 다음은 작업 명령을 내리는 화면이다.
감시 중인 스마트폰의 스크린샷을 찍어 전송받을 수도 있고 마이크를 작동시켜 녹음을 할 수 도 있다.
RCS는 이렇게 필요한 타깃의 기기 특성과 운영체제, 사용프로그램에 맞춰 취약점을 공격하고 일단 스파이웨어를 설치한 뒤에는 타깃의 활동 하나 하나를 면밀히 모니터링하는 시스템이다. 목표물의 음성 통화나 채팅, 사진 등을 감시하다가 필요한 때 자료를 빼오는 시스템이다.
또 목표물을 해킹하기 위해서는 취약점 공격에 필요한 URL이나 감염파일이 필요한데, 국정원이 직접 만드는 게 아니라 해킹팀에 요청해서 받아야 한다. 뉴스타파가 분석한 결과 지난 2013년 5월부터 2년 동안 국정원이 해킹팀으로 받은 URL이나 감염파일은 모두 320여 개였다. 이것이 모두 성공했다 하더라도 목표물은 2년 동안 320여 개가 되지만 이 가운데는 한 번 실패했다 다시 요청받은 것도 있어 실제 목표물은 320개 보다 적을 것으로 보인다.
또 국정원은 주로 해킹을 위해 문자나 이메일로 스파이웨어가 심어져 있는 URL을 보내는 방식을 사용했는데 이 경우 URL은 한 개의 목표물만 감염시킬 수 있기 때문에 다수의 목표물에 문자나 이메일을 발송해 다수를 한꺼번에 감염시키는 것이 불가능하다.
이런 여러가지 이유로 동시 감시대상이 20개라 하더라도 사실상 무제한으로 감시할 수 있다는 것은 이론적으로는 가능하지만 RCS의 운영특성으로 볼 때 현실적으로는 설득력이 없어 보인다. 물론 이것은 해킹팀 RCS에 한정된 얘기고, 국정원이 다른 해킹 프로그램들을 운용해 더 많은 목표물을 감시하고 있는지 여부는 현재로선 확인된 바가 없다.