The Hacking Team - 'SKA' emails

The Hacking Team - 'SKA' emails

2015, Jul 21    

'The Hacking Team' Crisis in South Korea

이탈리아 해킹팀 The Hacking Team이 해킹을 당하면서 풀린 수많은 고객 리스트. 그 중에 국정원이 속해 있어 많은 파장을 불러일으키고 있습니다. 언론매체 [시사인][시사인]에서 [위키리크스][위키리크스]에 올라온 The Hacking Team의 이메일 유출 자료를 소개했는데요, 직접 들어가서 SKA(South Korea Army), ‘5163’, ‘nanatech’가 포함된 2,197개의 이메일 자료를 내려받아 pythond3.js 사용하여 간단히 분석을 해보았습니다.

본 이슈가 내포하고 있는 정치적, 사회적 파장을 고려하여 어떤 명확한 분석 결과를 내기보다는 메일 발송량, 메일 회신 및 회람 수, 메일 송수신자 등 위키리크스에서 공개된 사실만을 기반으로 인터랙티브 차트를 만들어보았습니다.


자료 수집 및 분석 방법

  • 수집 대상 자료: 위키리크스 The Hacking Team 유출 자료 중 SKA, 5163, nanatech 포함 이메일 (중복 제거)
  • 크롤링, DB화 및 네트워크: python (beautifulsoup, pandas, networkx)
  • 시각화: d3.js

유출된 메일 중 해킹팀 소속의 이메일은 ‘hackingteam.com’으로 통일하였으며, ‘naga@hackingteam.com’처럼 가명이나 익명으로 된 주소는 메일 본문 및 외신기사를 참조하여 해당 인물에 매칭시켰습니다.


언제 메일 커뮤니케이션이 이루어졌나

메일 상의 SKA는 최근 공개되는 정황 상 국정원이 거의 확실해 보입니다. 안타깝게도 어제 해킹 소프트웨어와 관련된 국정원 진원이 목숨을 끊으면서 이제 핵심은 국정원이 이 해킹 소프트웨어를 어디에 무슨 용도로 사용했나로 집중되고 있습니다. 5163부대에 관한 이메일의 발송 시점을 보면 아래의 차트와 같습니다. 해당 시점의 바(bar)위에 마우스를 올려보세요.

공개된 메일 중 검색 키워드가 포함된, 즉 5163부대와 관련된 메일은 2010년 8월부터 나오기 시작합니다. 해당 시점의 바에 마우스를 올려보면 해당월에 가장 많이 대화가 진행되었던 (Re:, Fwd: 등이 가장 많은) 이메일을 찾아볼 수 있는데, nanatech가 제목과 수신인에 등장합니다. 메일 본문을 추적해보면 2010년 8월부터 프로그램 도입에 대한 논의가 오간 모양입니다. 실제로 2010년 8월에 표시된 440959번 메일을 보면 아래와 같은 답변 메일이 달려있습니다.

email-440959

내용 말미에 보면 스카이프와 같은 암호화된 컨텐츠에 대한 접근을 위해 다른 이탈리안 회사를 소개해주는데 그게 바로 The Hacking Team입니다. 그리고 이 메일이 해킹팀에도 전해져 5163부대로 Remote Control System 관련 문서를 전송하는 등 향후 계약을 위한 논의가 준비되는 것으로 보입니다.

최초 메일 교환 이후로 여러번의 피크가 있었는데 메일의 제목과 본문으로 간략히 추론해본 이슈는 다음과 같습니다.

  • 2011-2012 연말연초: 한국측 파트너(나나테크 추정)와 엔드 유저(5163부대 추정)의 해킹팀 밀라노 사무실 방문. 계약 논의, 계약금 지급
  • 2012 중순: 추가계약 논의, 필드 어플리케이션 엔지니어와 어카운트 매니저의 한국 방문
  • 2013 연초: 유지보수, 트레이닝, 나나테크 커미션 논의
  • 2014 연초: 해킹팀 소프트웨어에 대한 언론 노출 [691508]
  • 2014 연말: 유지보수
  • 2015 중순: 유지보수 및 트레이닝

국내 주요 정치 이슈를 살펴보면 계약이 이루어진 후인 2012년 말에 제 18대 대통령 선거가 있었으며, 2014년 6월에는 제 6회 지방선거가 있었습니다. 모든 메일을 읽어보지는 못했지만 구체적인 타겟에 대한 논의보다는 기술 유지보수에 대한 내용이 주로 발견되었으며, 엔드 유저가 원하는 키워드 중 하나는 bomb(폭탄)이라는 내용도 있었습니다.

이외에도 흥미로운 대화와 문의가 많이 있습니다. 제가 미처 발견하지 못한 내용은 범례에 [longest email conversation - ] 옆에 있는 메일 id를 위키리크스에서 찾아보세요.


어떤 대화가 중요한 대화였나?

메일 회신 및 회람 수의 분포는 어떻게 될까요?

공개된 메일 중 약 90%가 0~3번 회신되었으나, 10번(0.05%), 9번(0,43%)으로 굉장히 많은 대화가 오갔던 내용들도 있었습니다. 회신과 회람이 다수 발생한 메일일수록 중요 내용을 담고 있다고 가정하고, 아래와 같이 월별로 가장 많은 회신 및 회람 수를 기록한 메일 리스트를 뽑았습니다. (위 바차트의 범례에 등장하는 메일과 동일합니다.)


date_x id from to subject
2010-08 440959 m.bettini@hackingteam.it ['emanuele.marcozzi@area.it', 'paolo.mandelli@area.it', 'nazareno.saguato@area.it', 'm.luppi@hackingteam.it'] R: RE: Nanatech
2010-09 440767 m.luppi@hackingteam.it ['nanatechp@paran.com'] R: Nanatech
2010-10 440886 m.luppi@hackingteam.it ['nanatechp@paran.com', 'rsales@hackingteam.it'] R: Nanatech
2010-11 440940 nanatechp@paran.com ['m.luppi@hackingteam.it'] Re: R: Nanatech
2010-12 441020 nanatechp@paran.com ['m.luppi@hackingteam.it', 'nanatech@paran.com', 'nanatechhan@paran.com'] Re: R: Meeting in Seoul
2011-01 441112 m.luppi@hackingteam.it ['nanatechp@paran.com'] R: BULK Nanatech
2011-02 441159 m.luppi@hackingteam.it ['nanatechp@paran.com'] R: Nanatech
2011-03 441372 nanatech@paran.com ['m.luppi@hackingteam.it', 'nanatechhan@paran.com', 'nanatechp@paran.com'] Re: R: BULK Re: Fwd: R: Nanatech
2011-05 441390 nanatech@paran.com ['m.luppi@hackingteam.it', 'nanatechco@paran.com'] Re: R: Nanatech
2011-06 440946 nanatechco@paran.com ['m.luppi@hackingteam.it'] Re: R: R: Hello, it' from Nanatech
2011-07 440860 nanatechco@paran.com ['m.luppi@hackingteam.it'] Re: R: R: R: R: Hello, it' from Nanatech
2011-08 440897 m.bettini@hackingteam.it ['m.luppi@hackingteam.it'] R: Re: R: R: it's from Nanatech
2011-09 440970 nanatechco@paran.com ['m.luppi@hackingteam.it'] Re: R: Reply about visit
2011-10 441077 m.luppi@hackingteam.it ['m.valleri@hackingteam.it', 'naga@hackingteam.it', 'rsales@hackingteam.it'] R: R: R: Hello, it's from Nanatech.
2011-11 440636 m.luppi@hackingteam.it ['nanatechco@paran.com', 'rsales@hackingteam.it'] R: BULK Re: R: BULK Hello, It's NANATECH
2011-12 441035 m.luppi@hackingteam.it ['nanatech@paran.com'] R: R: R: R: R: BULK Re: Re: BULK Re: Re: contract
2012-01 588949 f.busatto@hackingteam.it ['alberto@hackingteam.it', 'g.russo@hackingteam.it', 'delivery@hackingteam.it', 'm.luppi@hackingteam.it'] R: Re: R: Re: R: Re: R: Re: R: Certificato Symbian per SKA
2012-02 440870 g.russo@hackingteam.it ['nanatech@paran.com', 'm.luppi@hackingteam.it', 'm.bettini@hackingteam.it'] Re: Fwd: Re: R: 2nd payment
2012-03 441407 nanatech@paran.com ['m.luppi@hackingteam.it'] Re: R: R: R: quote maintenance
2012-04 960672 nanatech@paran.com ['f.busatto@hackingteam.it'] Re: Re: Very Urgent
2012-05 440954 nanatech@paran.com ['m.luppi@hackingteam.it'] Re: R: Re: Information
2012-06 761917 a.scarafile@hackingteam.it ['nanatech@paran.com'] Re: R: Seoul 9-11 July
2012-07 441311 m.luppi@hackingteam.it ['nanatech@paran.com', 'm.bettini@hackingteam.it'] R: Re: R: New
2012-08 440944 bruno@hackingteam.it ['m.luppi@hackingteam.it', 'delivery@hackingteam.it'] Re: I: Re: Re: Contract (Urgent)
2012-09 829116 nanatechheo@daum.net ['a.scarafile@hackingteam.com'] RE: Re: R: Re: Additional Order
2012-11 440953 bruno@hackingteam.it ['zeno@hackingteam.it', 'a.pelliccione@hackingteam.it', 'rcs-support@hackingteam.com'] Richiesta di SKA - Dispositivi Android che supportano la registrazione della chiamata
2012-12 440734 g.russo@hackingteam.it ['m.luppi@hackingteam.it', 'm.bettini@hackingteam.it'] Re: I: R: R: New Order (URGENT)
2013-01 727025 s.woon@hackingteam.com ['daniel'] Re: Fw: RE: RE: Maintenance Contract(URGENT)
2013-02 441401 nanatechheo@daum.net ['d.maglietta@hackingteam.com', 'm.luppi@hackingteam.it'] RE: RE: RE: RE: Re: Re: Connector
2013-03 606424 d.maglietta@hackingteam.com ['nanatechheo@daum.net', 'rsales@hackingteam.com'] RE: RE: RE: RE: Training
2013-04 449488 g.russo@hackingteam.it ['d.maglietta@hackingteam.com', 'a.capaldo@hackingteam.it', 'm.bettini@hackingteam.com', 'amministrazione@hackingteam.it', 'rsales@hackingteam.it'] Commissions to our agent/broker was Re: Ordine x commissioni Nanatech
2013-05 440791 nanatechheo@daum.net ['d.maglietta@hackingteam.com', 'm.luppi@hackingteam.it'] RE: RE: Re: Training (Urgent)
2013-07 729366 s.woon@hackingteam.com ['nanatech', 'daniel'] Re: Help
2013-08 346024 daniel@hackingteam.com ['fulvio@hackingteam.it', 'd.maglietta@hackingteam.com', 'russo@hackingteam.it', 'm.catino@hackingteam.com', 'f.degiovanni@hackingteam.com', 'marco.bettini@hackingteam.it', 'rsales@hackingteam.com'] Re: 2nd Payment
2013-09 18783 d.maglietta@hackingteam.com ['nanatechheo@daum.net', 'rsales@hackingteam.com'] Re: RE: RE: RE: Further items
2013-10 18895 d.maglietta@hackingteam.com ['nanatechheo@daum.net', 'rsales@hackingteam.com'] Re: RE: Further items
2013-11 392626 g.russo@hackingteam.com ['s.gallucci@hackingteam.com'] Re: R: Fwd: FW: RE: Re: Invoice
2013-12 441339 nanatechheo@daum.net ['d.maglietta@hackingteam.com', 'm.luppi@hackingteam.it'] RE: RE: RE: RE: RE: RE: RE: RE: RE: Re: Offer
2014-01 440825 nanatechheo@daum.net ['d.maglietta@hackingteam.com', 'm.luppi@hackingteam.it'] RE: Re: RE: RE: RE: RE: RE: RE: Maintenance
2014-02 18934 d.maglietta@hackingteam.com ['nanatechheo@daum.net', 'rsales@hackingteam.com'] RE: RE: Re: RE: RE: RE: RE: RE: RE: Maintenance
2014-03 691508 d.maglietta@hackingteam.it ['serge@hackingteam.com'] FW: RE: RE: RE: Top Urgent
2014-04 692654 nanatechheo@daum.net ['d.maglietta@hackingteam.it', 's.woon@hackingteam.it'] RE: Re: RE: RE: Tactical\xa0Network\xa0Injector
2014-05 710963 f.cornelli@hackingteam.it ['s.woon@hackingteam.it', 'bug@hackingteam.com'] Re: Samsung Knox and local root
2014-06 470961 m.valleri@hackingteam.it ['a.mazzeo@hackingteam.it', 'd.milan@hackingteam.it', 'a.ornaghi@hackingteam.it', 'naga@hackingteam.it', 'cod@hackingteam.it'] R: Re: sample su VT
2014-07 959731 b.muschitiello@hackingteam.com ['marco', 'daniel'] Fwd: Re: Fwd: TNI
2014-08 203540 d.maglietta@hackingteam.com ['amministrazione@hackingteam.it', 'rsales@hackingteam.com'] Fw: Invoice
2014-09 1001854 f.busatto@hackingteam.com ['daniel', 'serge', 'marco'] Re: SKA opportunity
2014-10 46211 g.russo@hackingteam.com ['anita', 'david'] Fwd: Re: Next meeting alternative dates
2014-11 145064 d.maglietta@hackingteam.com ['nanatechheo@daum.net', 'rsales@hackingteam.com'] RE: RE:\xa0\xa0RE:\xa0RE:\xa0Re:\xa0Re:\xa0Answer
2014-12 987044 a.dipasquale@hackingteam.com ['f.busatto@hackingteam.com'] R: Re: R: Re: R: LVM
2015-01 18854 d.maglietta@hackingteam.com ['nanatechheo@daum.net', 'rsales@hackingteam.com'] RE: RE: RE: RE: RE: RE: Maintenance
2015-02 18931 d.maglietta@hackingteam.com ['nanatechheo@daum.net', 'simonetta@hackingteam.com', 'rsales@hackingteam.com'] RE: RE: RE: RE: Question
2015-03 26529 s.gallucci@hackingteam.com ['d.maglietta@hackingteam.com', 'g.russo@hackingteam.com'] R: RE: FW: RE: RE: RE: RE: RE: RE: Question
2015-04 22576 m.bettini@hackingteam.com ['f.busatto@hackingteam.com', 'g.russo@hackingteam.com', 'm.bettini@hackingteam.it'] R: Re: R: Fwd: !SIX-648-45157: Support portal available time
2015-05 642183 l.guerra@hackingteam.com ['c.vardaro@hackingteam.com', 'b.muschitiello@hackingteam.com', 'f.busatto@hackingteam.com'] Re: SKA: Servers change for Proxy System
2015-06 1052404 nanatechheo@daum.net ['d.maglietta@hackingteam.com'] RE: RE: Re: RE: Maintenance
2015-07 1135900 nanatechheo@daum.net ['d.maglietta@hackingteam.com'] RE: RE: RE: Re: RE: Maintenance

누가 가장 많이 보내고 누가 가장 많이 받았나

5163부대의 계약과 관련된 메일의 최다 송신 및 수신자는 누구일까요?

가장 많은 메일을 발송한 사람은 David Maglietta로, 이 사람은 해킹팀의 싱가포르 지점 대표입니다. 메일 내용으로 보아 주로 밀라노 본사와 나나테크 사이를 중개한 것으로 추정됩니다. 이어 동아시아 담당 Key Account Manager인 Massimiliano Luppi, Senior Security Consultant라는 S.Woon이 상당한 양의 메일을 발송했습니다. S.Woon의 풀네임은 Serge Woon으로, 성(last name)으로 미루어보아 동아시아인일 가능성이 있어 보입니다.


다음은 최다 수신자 차트입니다.

최다 수신자 상위 20인에서는 싱가포르 지점대표는 없어졌지만, Key Account Manager인 Massimiliano Luppi와 Sales Manager인 Marco Bettini가 눈에 니다. 발신자와 수신자 리스트에서 CEO, CIO 등 C-level 고위 임원들이 빠지지 않는 것으로 보아, 5163 부대와의 계약에 해킹팀이 상당한 신경을 쓰고 있었을거라 추측됩니다. 단순한 발신/수신량보다 누가 누구와 대화를 많이 나누었는지가 더 중요할 것으로 보입니다. 이는 다음 파트에서 네트워크를 시각화하여 살펴보겠습니다.


누가 누구와 메일을 주고 받았나

아래의 네트워크 차트는 메일 발신자(source) -> 메일 수신자(target)의 관계를 시각화한 것으로, 10회 이상의 관계만 필터링하여 시각화 한 것입니다. 각 노드의 색깔은 직책별로 분류하였으며, 노드의 크기는 네트워크 상의 매개중심성(betweeness centrality)을 의미합니다. 즉 네트워크의 중앙에 위치할수록 노드의 크기가 큽니다. 노드간 링크의 굵기가 굵을수록 메일이 많이 오고갔습니다.

  • 마우스 오버: 해당 인물 직책 툴팁 활성
  • 노드 더블클릭: 직접적으로 연결된 포인트 하이라이트
  • 마우스 휠: 줌 인 & 줌 아웃

위 차트에서 다음과 같은 사실을 발견할 수 있습니다.

  • 최중심에 위치한 Key Account Manager: 전체 네트워크에서 가장 중심적인 역할(브로커)을 수행한 자는 Massimiliano Luppi로, 5163부대 계약과 관련하여 nanatech 측과 Hacking Team 사이를 연결한 것으로 보입니다. 주요 연결선을 보면 nanatech@paran.com으로부터 받은 내용을 COO인 g.russo, Sales Manager인 m.bettini, 그리고 필드 엔지니어인 a.scarafile과 공유한 것으로 보입니다.

  • nanatech 이메일: nanatech로 검색된 이메일은 총 4개입니다. 이 중 nanatechp@paran.com과 ‘nanatechco@paran.com’은 주요 연결선이 m.luppi에만 닿아있는데 반해 허순구 대표의 이메일인 nanatechheo@daum.net이나 nanatech@paran.com은 COO인 g.russo와 연결되는 것으로 보아 더 중요한 메시지가 오간 것으로 추측됩니다.

  • The Hacking Team의 조직구조: 이메일 연결 및 본문을 통해 살펴본 결과, The Hacking Team의 조직은 CEO, COO, CIO, CTO의 C-level, Software Developer, Senior Security Engineer의 Dev Team, Sales Manager, Key Account Manager, Field Application Engineer 등 고객의 접점에서 활동하는 Field Team으로 크게 분류할 수 있습니다. 또한 The Hacking Team의 조직구조는 매우 유연해보였습니다. Client와의 주요한 이메일 내용은 회람을 통해 C-Level 의사결정자에게 바로 전해지거나 sharepoint@hackingteam.com과 같은 공유 메일계정을 통해 CIO 등 유관 담당자에게도 정보가 적극적으로 공유되는 것으로 보입니다.


마치며

5163부대가 누구를 타겟으로 RCS 프로그램을 사용했는지는 아직 아무도 모릅니다. 다만 분석 결과, 2011년 말~2012년 초의 어느 시점부터 5163부대에서 RCS 프로그램을 운용해왔고, 지속적인 추가계약, 유지보수, 트레이닝을 받아왔으며, 이 과정에서 양측이 한국과 밀라노에서 지속적으로 접선해왔다는 것이 드러났습니다. 5163부대는 어떤 목적으로 RCS 프로그램을 사용했던 걸까요? 현 국정원의 주장처럼 내국인 사찰은 없었던 것일까요? 최근에 안타깝게 자살을 선택한 국정원 직원은 The Hacking Team이나 Nanatech와 어떤 관계가 있었을까요? 우리나라의 사이버 보안을 해치지 않으면서도 국정원의 잘못된 점이 있었다면 확실히 개선하여 국민들이 가진 의구심을 해소할 수 있도록 현 국정원 사태가 공명정대한 결말로 이어졌으면 좋겠습니다.

[시사인]
[위키리크스]