북한, 스마트폰 앱 분석막는 코드혼란기술 개발

 


(2016-03-02) 북한, 스마트폰 앱 분석막는 코드혼란기술 개발


 


 


북한이 안드로이드 기반 스마트폰 앱의 소스 분석을 막는 기술을 개발한 것으로 확인됐습니다. 북한이 왜 이런 기술을 개발했는지 의문입니다.


 


대북 소식통에 따르면 북한 김일성종합대학의 IT개발자들이 지난해 앱의 소스코드를 분석하는 도구를 무력화하는 기술을 개발했다고 합니다.


 


 



<사진1>


 


사진1은 북한 김일성종합대학이 지난해 발표한 학보 10호에 수록된 ‘허위코드삽입에 의한 DEX화일보안의 한가지 방법’이라는 논문 중 일부 내용입니다.


 


DEX 파일은 안드로이드 응용프로그램의 실행 파일을 뜻합니다. 


 


북한 개발자들은 논문에서 DEX(Dalvik Executable)가 최근 지능형손전화기(스마트폰)와 판형콤퓨터(태블릿PC)에서 널리 이용되는 안드로이드 응용 프로그램의 실행화일이라고 소개하고 있습니다. 이들은 안드로이드 응용 프로그램이 주로 자바(Java)로 작성되며 바이트코드로 구성되므로 Apktool과 같은 역공학 도구들을 이용해 그 원천코드를 쉽게 얻어낼 수 있다고 지적했습니다.


 


북한 개발자들은 코드혼란기술을 이용해 DEX화일에 대한 자동해석을 방지하고 앱 보안을 실현하는 방법을 고안했다고 주장했습니다.


 


 



<사진2>


 


사진2에서 북한 개발자들은 역공학 도구에 대해서 설명하고 있습니다. 역공학 프로그램은 앱 등을 자동으로 분석해 소스코드를 볼 수 있도록 해주는 기능을 합니다. 이런 도구는 앱을 분석하는데 쓰입니다.


 


북한 개발자들은 대표적인 안드로이드 앱 역공학 도구로는 Baksmali, Apktool, Dex2jar, IDA Pro, Virtuous Ten Studio 등을 소개하고 있습니다. 이는 북한 개발자들 자신도 이들 도구를 사용하고 있다는 뜻이기도 합니다.


 


북한 개발자들은 역공학 도구들의 동작과정이 프로그램적인 해석과정이므로 코드혼란기술을 이용해 원천코드해석을 방지할 수 있으며 코드혼란기술에는 구조적혼란, 조종흐름혼란, 자료혼란방법들이 있다고 설명했습니다.


 


  



<사진3>


 


사진3에서 북한은 구체적인 방법을 제시했습니다. 북한은 허위코드를 앱 소스에 삽입하는 방식으로 분석을 방해할 수 있다고 지적했습니다.


 


첫 번째로 허위분기삽입방법으로 거짓된 조건식을 소스에 넣어 실제 내용을 분석하지 못하도록 한다는 것입니다. 또 두 번째 속이행문삽입방법은 이행명령을 교묘하게 이용해 분석을 막는다는 것입니다.


 



<사진4>


 


북한 개발자들은 자신들이 개발한 방법을 실험한 결과 역공학 도구인 Dex2jar, Baksmali, IDA Pro를 이용했을 때 분석이 실패했다고 주장했습니다.


 


북한 개발자들은 이번에 개발한 방식이 자동해석을 방지할 수 있으며 다른 코드혼란기술과 결합할 경우 보안강도를 높일 수 있다고 지적했습니다.


 


이번 논문을 종합적으로 해석해보면 북한 개발자들이 안드로이드 앱 소스코드를 분석해주는 프로그램을 무력화하는 기술을 개발했다는 것을 알 수 있습니다.


 


북한이 이런 기술을 개발한 것은 북한에서 안드로이드 앱 개발에 대한 관심이 많으며 실제로 많은 앱 개발이 이뤄지고 있다는 뜻으로 해석할 수 있습니다. 앱 개발이 활발하기 때문에 이런 부수적인 기술도 개발됐을 것입니다.


 


그렇다면 왜 대체 북한이 소스코드 분석을 막는 기술을 개발했는지 여부입니다.


 


우선 북한 개발자들은 자신들이 개발한 앱의 소스코드가 다른 회사, 개발자 등에게 넘어가 쓰이는 것을 막으려는 것으로 보입니다.


 


문제는 북한의 또 다른 의도입니다. 앱 소스코드 분석을 막겠다는 것은 앱이 어떤 기능을 하는지를 알 수 없도록 하겠다는 뜻입니다. 앱을 분석하지 못하면 앱이 스마트폰의 어떤 정보를 가져자고 데이터를 주고받고 어떤 기능을 하는지 알 수 없습니다.


 


만약 정보를 빼내거나 사이버공격을 하거나 스마트폰을 망가트리는 등의 악성코드 기능이 감춰져 있다고 해도 소스코드를 분석하지 못하면 그런 기능이 발현돼 문제가 발생하기 전까지는 알기 어려울 수도 있습니다.


 


어쩌면 북한의 위장 기술 때문에 앱을 분석하고도 감춰진 악성기능에 대한 소스를 알지 못하고 안전한 앱으로 잘못 판단할 수도 있습니다.


 


전문가들은 북한이 앱을 이용해 해킹과 정보유출 등을 할 수 있다고 우려해왔습니다. 그러나 대북 전문가들의 증언과 저의 취재에 따르면 북한은 해외 개발자를 위장해 스마트폰 앱을 개발해 판매하거나 또는 다른 나라 기업들의 주문을 받아 앱을 개발해주고 있어 판별이 어렵습니다.


 


이제는 북한 개발자들이 앱 소스코드 분석을 막는 기술까지 개발해 북한 앱에 대한 분석이 더욱 어려워질 것으로 우려됩니다.


 


스마트폰 앱에 대한 보안을 더욱 철저히 하고 북한의 앱 개발 기술과 분석방지 기술 그리고 앱 개발 실태를 면밀히 파악해야 합니다.


 


 


이전기사


2014/10/08 – 북한이 개발한 게임 앱 소스코드 입수 분석해 보니


 


2014/01/11 – 북한 우리민족끼리 안드로이드 앱 코너 개설


 


2013/08/22 – 북한 IT 수준은?… 북한 아이폰앱 교육자료 공개


 


2013/01/15 – 내 스마트폰 앱이 북한산?…북한 개발 앱 11종 공개


 


2013/01/07 – 스마트폰 앱 개발 사업하는 북한 조평통


 


2012/12/06 – 북한 개발자들, 애플 앱 개발 가이드 제작 배포



 


강진규 wingofwolf@gmail.com


 


 


PS: (2016-02-11) <공지사항> 기사 베끼기 경고합니다


http://www.dihur.co.kr/1129


 


 

북한이 개발한 게임 앱 소스코드 입수 분석해 보니

 


(2014-10-08) 북한이 개발한 게임 앱 소스코드 입수 분석해 보니


 


– 자바 이클립스, 아이폰 SDK 3.0으로 앱 개발하는 북한


 


 


북한 개발자들이 해외에서 앱을 개발해 주거나 구글 플레이, 애플 앱스토어에서 판매하고 있다는 내용이 수차례 소개됐습니다. 북한이 앱 개발에 어떤 도구를 사용하고 어느 정도 기술력을 가졌는지는 베일에 가려져 있습니다.


 


본 기자는 북한 게임 앱 소스를 입수해 분석해 봤습니다. 분셕 결과 북한은 자바 이클립스, 모바일 게임 엔진 Cocos2D, 아이폰 소프트웨어 개발자도구인 아이폰 SDK 3.0 등을 사용하는 것으로 확인됐습니다.


 


본 기자는 북한 앱을 추적하다가 지난해 11월 앱 장터에 올라온 ‘Nice pigs’라는 게임을 발견했습니다.


 


 



<사진1>


 



<사진2>


 


사진1, 2를 보면 평범한 게임으로 보입니다. 그런데 바로 이 게임은 북한 개발자가 만들어 올린 것입니다.


사진1, 2를 보면 S로 시작하는 아이디의 개발자가 만든 앱이라는 점만 알 수 있습니다.


 


 



 


<사진3>


 


사진3을 보면 같은 게임에 ILYONG KIM 이라는 이름이 적혀있습니다.


 


지난해 본 기자가 취재해 올렸던 조선콤퓨터중심(KCC) 해외 개발자 커뮤니티 주소 이름이 www.kimilyong.com 이었습니다.


 


해당 기사


2013/08/20 – 북한 개발자들 온라인 커뮤니티 결성해 정보공유


 


KIM ILYONG은 해외 KCC 지사에서 근무하는 북한 개발자입니다. 그가 사용하는 다른 아이디는 구글에 ‘Nice pigs’을 등록한 S로 시작하는 아이디와 일치했습니다.


여기서 공개할 수는 없지만 또 다른 경로로 추가 확인한 결과 북한 KCC 개발자가 ‘Nice pigs’를 개발한 것이 거의 확실합니다. 


 


이에 본 기자는 ‘Nice pigs’를 분석하기로 마음먹었고 안드로이드용, 아이폰용 ‘Nice pigs’ 전체 소스를 입수하게 됐습니다.


 


 



 


<사진4>


 


사진4는 안드로이드용 Nice pigs 소스에 첨부된 내용입니다. 구글의 모바일 광고 플랫폼 애드몹(AdMob)이 포함돼 있다는 내용이 나옵니다. 또 안드로이드 2.1 버전 이상에서 구동된다고 나와있습니다. 모바일 게임 엔진 Cocos2D도 이용됐다고 나옵니다.


 


 



<사진5>


 


사진5는 안드로이드용 Nice pigs 소스 중 일부입니다. 자바 개발 오픈소스 프로그램 이클립스 단어가 보입니다. 또 통합개발환경을 뜻하는 ide에 관한 내용도 있습니다. 북한 개발자들이 이클립스를 이용해 자바 언어로 안드로이드 게임 앱을 개발한 것입니다.


 


 



<사진6>


 


 


 



<사진7>


 


사진6, 7에서 소스를 보면 Cocos2D를 사용하는 모습이 보입니다.


 


그럼 이제는 아이폰용 Nice pigs 앱 소스코드를 보겠습니다.


 


 



<사진8>


 


사진8을 보며 아이폰용 게임 앱이 아이폰 SDK 3.0 기반으로 개발된 것을 알 수 있습니다.


 


 



<사진9>


 


사진9에서는 북한 개발자들이 아이폰앱 개발에도 Cocos2D를 사용한 것을 알 수 있습니다.


 


전반적으로 북한 개발자들은 널리 알려진 개발도구를 활용해 스마트폰 앱을 개발하고 있는 것으로 해석됩니다. 또 상당히 깔끔하고 체계적으로 앱을 개발한 것으로 보입니다. 


 


북한 개발자들이 계속 새로운 기술을 적용해 앱 개발에 나설 것으로 예상됩니다.


 


강진규 기자 wingofwolf@gmail.com


 


 


* PS: 앱 소스코드를 구한 것에 대해 문제가 없는지 의문을 제기할 수도 있을 것입니다. 지난해 제가 북한 태블릿 PC를 반입하려고 통일부에 문의를 했다가 거부당했습니다. 그런데 지난 6월 일부 언론에서 북한 휴대폰, 태블릿PC를 국내로 반입했습니다.


이에 통일부에 어떻게 된 것인지 문제를 제기했더니 다른 언론사가 태블릿PC를 반입한 경로는 법적으로 문제가 안 된다고 주장했습니다. 그때 통일부가 설명한 그대로 현행 법에 저촉되지 않는다는 방식으로 소스코드를 입수했음을 알려드립니다.


 


해당기사


2014/06/26 – 통일부, 북한 물품 3국 우회반입 오락가락


 


 

북한 개발자들 당창건 66주년 스마트폰 앱 개발 결의

 


(2014-02-03) 북한 개발자들 당창건 66주년 스마트폰 앱 개발 결의


 


 


북한이 스마트폰 앱을 개발하고 있다는 사실은 이미 여러 경로를 통해 알려져 있습니다. 그런데 북한이 전략적으로 앱 개발을 추진하고 있다는 사실이 확인됐습니다.


 


본 기자는 지난해 북한 조선콤퓨터중심(KCC) 해외 개발자들이 커뮤니티를 결성한 사실을 보도한 바 있습니다.


 


참고 기사


(2013-08-20) 북한 개발자들 온라인 커뮤니티 결성해 정보공유


http://wingofwolf.tistory.com/434


 


 


후속 취재를 진행하던 중 여러 가지 새로운 사실을 확인하게 됐습니다. 북한은 김정일의 특별 지시로 IT를 배우기 위해 지난 수년 간 인도에 유학생을 파견했다고 합니다. 이들이 지난 2011년 조선로동당 창건을 기념해 총화를 통해 스마트폰 앱 개발을 하기로 결정한 것으로 확인됐습니다.


 


제가 새로 취재한 커뮤니티의 모습입니다.


 



<사진1>


 


사진1을 보면 조선콤퓨터중신을 나타내는 KCC와 우리민족끼리 이야기가 나옵니다. 해당 영상을 확인한 결과 북한에서 제작된 선전영상이었습니다.


 


 


 



<사진2>


 


사진2를 보면 북한 사람들이 만든 블로그라는 것이 더 확실해 집니다. 김정은에게 충성을 다짐하고 김정일 조선이라고 지칭하는 내용이 있습니다.


 


바로 이 사이트에 당창건 기념 연구발표회 내용이 있습니다. 북한 조선로동당은 1945년 10월 10일 창건됐다고 합니다. 


 



<사진3>


 


사진3을 보며 당창건을 기념해 사업에 대한 아이디어를 공모하고 있습니다. 공지 내용에는 수집된 아이디어에 대해 토론하고 총화를 거쳐 순위를 정한다고 설명하고 있습니다.


 



<사진4>


 


착상대회 경과는 사진4와 같습니다. 1등이 스마트폰용 앱 개발에 대한 내용입니다. 2등은 인터넷광고수익을 올리는 내용이며 3등은 개발, 프로젝트 공유 커뮤니티에 관한 사안입니다.


 


 


 




<사진5>


 


사진5에서 보면 1등을 수상한 내용은 스마트폰 시장에서 판매할 수 있는 앱을 개발하는 것을 목적으로 한다고 합니다. 북한 해외 개발자들은 전 개발자들 차원에서 내용을 구체화하고 실행한다고 설명하고 있습니다. KCC 인도지부 차원의 당결의라고 볼 수 있습니다.


 


실제로 3등을 차지한 커뮤니티는 지난해 기사에서 볼 수 있듯이 구체화됐습니다. 이 내용이 2011년 하반기에 나온 만큼 이미 스마트폰 앱 판매도 시행됐을 것으로 보입니다.


 


 


 



<사진6>


 


사진6에서 처럼 북한 개발자들은 아이폰, 안드로이드폰, 윈도폰 등 어느 방향으로 개발을 해야하는지 토론하고 있습니다. 또 앵그리버드 성공을 분석한 내용을 공유하고 모바일 게임 성공전략도 나름대로 분석하고 있습니다.


 


그동안 북한이 앱 개발을 하고 있다는 것을 알려져 있었지만 중국 등에서 외화벌이를 위해 주문을 받아서 하는 정도로 생각했습니다. 그런데 우리가 생각하는 것보다 북한은 앱 개발에 관심이 많으며 조직적으로 움직이고 있습니다. 아마도 수년 동안 북한 개발자들이 개발한 앱들이 상당히 많을 것으로 보입니다.


 


 


강진규 기자 wingofwolf@gmail.com


 

북한 IT 수준은?… 북한 아이폰앱 교육자료 공개

 


(2013-08-22) 북한 IT 수준은?… 북한 아이폰앱 교육자료 공개


 


 


북한 IT 개발자들의 역량이 어느 정도 수준인지 베일에 쌓여있습니다. 일각에서는 특정 분야에만 강점이 있다고 보고 있습니다. 또 일각에서는 수준이 낮다고, 다른 한쪽에서는 세계 최고 수준이라고 엇갈리게 보고 있습니다.


 


북한 개발자들이 2011년 7월부터 운영한 소프트몬스터(SoftMonster)를 보면 북한 기술자들의 수준을 확인할 수 있습니다.


 


관련 기사 http://wingofwolf.tistory.com/434


 


 


 



<사진1>


 


사진1은 북한 개발자들이 개발해줄 수 있는 내용을 소개한 것입니다.


북한 개발자들은 이 글에서 e커머스 웹 디자인, 오픈 소스 콘텐츠 관리 프레임워크 Drupal 웹 개발, CakePHP 개발, X-Cart 개발 등이 가능하다고 설명합니다.


 


닷넷 프로그래밍, 자바 프로그래밍, 닷넷 모바일 솔루션, AJAX 프로그래밍, ASP.NET 개발 등이 가능하다고 주장합니다.  마이그레이션 기술도 소개하고 있습니다.  SQL에서 오라클로, PHP에서ASP.NET으로 VB에서 VB.NET으로 마이그레이션이 가능하다고 합니다. 이밖에도 아이폰앱 개발, 이러닝 애플리케이션 개발, 그래픽 디자인, 검색엔진 최적화, 뉴스레터 마케팅 등도 제공해준다고 합니다.


 


 


북한 개발자 교육자료를 보면 기술 수준을 가늠해 볼 수 있습니다. 


본 기자는 소프트몬스터 사이트에서 아이폰 개발 자료, 프로젝트 관리, 줌라(Joomla) 개발 자료 등을 빼냈습니다.


 


 


 



<사진2>


북한은 사진2의 자료를 번역해 ‘iOS 응용프로그람작성지도서’를 만들었습니다. 이 자료는 128쪽에 달합니다.


 



<사진3>


사진3은 iOS 응용프로그람작성지도서의 모습입니다.


 


cfile23.uf.2302D836521221EF1D5F06.docx


 


 


 



 


<사진4>


 


북한은 사진4의 자료를 번역해 184쪽에 달하는 ‘iOS를 위한 보기조종자작성방법’도 제작해서 공유하고 있습니다.


 


 


cfile29.uf.26515E335212223E17210A.docx


 


 


 



 


<사진5>


 


사진5는 헤럴드 커즈너(Harold kerzner) 박사의 유명한 프로젝트 관리 서적입니다. 대학에서는 물론 한국 IT 기업 개발자들도 이 책을 보고 있습니다. 그런데 북한 개발자들은 이 책을 번역해 공부하고 있습니다.


 


 


cfile5.uf.27272F35521223331F15F7.docx


 


‘프로젝트 관리’ 자료는 631쪽에 달하는 방대한 분량입니다.



 


 



<사진6>


 


북한은 사진6 줌라 개발 책자도 번역해 공유하고 있습니다. 줌라(Joomla!)는 PHP로 작성된 오픈 소스 콘텐츠 관리 시스템(Contents Management System)으로 MySQL 데이터베이스를 이용해 웹상에서 다양한 컨텐츠를 관리, 보관, 출판할 수 있는 기능을 갖고 있습니다. 전문가용 Joomla 자료는 586쪽에 달합니다.


 


줌라자료는 파일 용량이 너무 커서 올릴 수가 없습니다.


 


 



<사진7>


 



<사진8>


 


사진7, 8일이 북한이 만들 줌라 개발 교육자료입니다. 이들 자료들은 모두 북한 조선콤퓨터중심(KCC) 개발자들이 번역한 것으로 추정됩니다.


 


위에서 알 수 있듯이 북한 개발자들의 수준은 상당히 높은 것으로 보입니다. 국내외 최신 IT 기술을 익히고 있고 이를 활용해 사업도 하고 있습니다. 애플 iOS 앱 개발 교육자료까지 만들어서 공유하는 것은 그만큼 많은 앱을 개발하고 있고 또 개발하려는 것으로 보입니다. 


 


북한 IT 수준에 대한 인식을 재정립하는 것이 필요할 듯합니다.


 


 


강진규 기자 wingofwolf@gmail.com