블로그 이미지
그레고리잠자
디지털 허리케인(Digital hurricane)을 방문해 주셔서 감사합니다. 강진규 기자의 블로그입니다. 디지털 허리케인은 북한 IT 뉴스를 제공합니다. 2007년 11월~2015년 9월 디지털타임스 기자, 2016년 6월~현재 머니투데이방송 테크M 기자, 인하대 컴퓨터공학부 졸업, 동국대 북한학과 석사과정 재학 중

calendar

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Notice

2016.03.02 01:10 북한 기사/북한IT

 

(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

 

 

posted by 강진규 그레고리잠자
2014.10.08 08:54 북한 기사/북한IT

 

(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국 우회반입 오락가락

 

 

posted by 강진규 그레고리잠자
prev 1 next

티스토리 툴바