Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

ISSN : 1976-5304

https://kdfs.jams.or.kr

LG 갤러리 애플리케이션 잠금 파일 복호화 연구

김 기 윤, 장 성 우, 김 종 성*
국민대학교 정보보안암호수학과, 국민대학교 금융정보보안학과*

Study on Decrypting Files Encrypted by the LG Gallery Application


Giyoon Kim, Sungwoo Jang, Jongsung Kim*
Dept. of Information Security, Cryptology and Mathematics, Kookmin University
Dept. Financial Information Security, Kookmin University*

요 약

모바일 기기에는 통화기록, 문자 메시지, 메모, 스케줄 등 사용자의 다양한 사용 흔적이 남아있으며, 그중 사생활 침해, 기업 정보
유출 등 여러 사건을 해결하기 위해 증거로 사용될 수 있는 사진 및 동영상 등의 미디어 데이터 획득은 매우 중요하다. 그러나 LG
갤러리 애플리케이션은 잠금 기능을 이용하여 데이터를 암호화 할 수 있으며, 잠금 기능 사용 시 설정한 PIN과 사용자의 구글 계정
없이는 암호화 이전의 파일을 확보하기 어렵다. 따라서 원활한 데이터 수집을 위해서는 암호화된 잠금 파일을 복호화 하여 원본 사
진을 획득할 수 있는 기술이 필요하다. 본 논문에서는 LG 갤러리 애플리케이션의 잠금 기능 및 암호화 과정을 분석하고, PIN과 구
글 계정 없이도 암호화된 잠금 파일을 복호화 할 수 있는 방안을 제시한다. 이는 LG 갤러리 애플리케이션 잠금 파일 복호화에 대한
첫 연구결과이다.

주제어 : 디지털 포렌식, 모바일 포렌식, 갤러리 애플리케이션, 멀티미디어 파일 복호화

ABSTRACT

Mobile devices have various signs of use such as call logs, text messages, memos, 0and schedules. Among them, media
data such as photos and videos that can be used as evidence to solve various cases such as invasion of privacy, leakage
of corporate information is very important. However, using the lock function provided by the LG Gallery application, the
picture or video is encrypted and it can not be obtained without the PIN and the registered Google account. Therefore, in
order to collect data, it is necessary to acquire original pictures or videos by decrypting the encrypted file. In this paper,
we analyze the look function and encryption process of the LG Gallery application, and propose a method for decrypting
their encrypted data without PIN and Google account. To the best of our knowledge, this is the first result until today.

Key Words : Digital Forensics, Mobile Forensics, Gallery Application, Multimedia File Decryption

Ⅰ. 서 론

디지털 기술이 발달함에 따라 사람들의 생활은 디지털 기기와 밀접하게 연관되어 있다. 모든 디지털 기기에는 사용기록이
남아 있으며 이를 분석하여 범죄자의 범행증거를 찾을 수 있다. 따라서 디지털 포렌식은 없어서는 안 될 수사 기법이 되었
으며 실제로 기존의 수사 방법으로는 해결할 수 없었던 많은 사건을 디지털 포렌식 수사 기법을 통해 해결한다.
최근 잠금 및 암호화 기능을 제공하는 디지털 기기 및 애플리케이션이 증가하고 있다. 대표적으로, 인스턴트 메신저
(Instant messenger) 애플리케이션인 카카오톡, 위챗, 왓츠앱은 주고받은 대화 내용 또는 데이터베이스 자체를 암호화하
며, 이를 복구하기 위한 연구가 진행되고 있다[1,2]. Cellebrite, Oxygen Forensics, MSAB에서 개발한 모바일 포렌
식 솔루션은 이러한 메신저 애플리케이션의 대화 내용 복구 기능을 지원한다. 또한, 스마트폰에 저장된 사진 및 동영상을
숨기거나 암호화하는 서드파티(third-party) 애플리케이션의 상당수가 대상 파일의 경로를 변경하거나, 사용자가 입력한
비밀 값을 기반으로 암호화하여 저장한다[3]. LG 스마트폰의 기본 갤러리 애플리케이션에서도 이러한 ‘잠금’ 기능을 지원하

※ 이 논문은 2017년도 정부(과학기술정보통신부)의 재원으로 정보통신기술진흥센터의 지원을 받아 작성되었습니다.(No.2017-0-00344, 최


신 모바일 기기에 대한 암호해독 및 포렌식 분석)
▪ [투고일] 2018.09.18 [심사일] 2018.09.19 [게재확정일] 2018.09.28
▪ 제1저자(First Author) : Giyoon Kim (Email : gi0412@kookmin.ac.kr)
▪ 교신저자(Corresponding Author) : Jongsung Kim (Email : jskim@kookmin.ac.kr)

Journal of Digital Forensics 2018 Sep.: 12(2) 1


LG 갤러리 어플리케이션 잠금 파일 복호화 연구

며, 현재까지 관련 연구결과는 존재하지 않는다. 그러나 대부분의 스마트폰 사용자는 제조사에서 기본적으로 제공하는 갤러
리 애플리케이션을 이용할 확률이 높다. 해당 기능은 개인의 프라이버시 보호를 위해 만들어졌으나, 자신의 행적을 감추려
는 범죄자에 의해 악용될 수 있으므로 암호화된 파일 복호화 연구는 필수적이다.
본 논문에서는 국내 점유율이 2위로 높은 LG 스마트폰에서 기본적으로 제공하는 갤러리 애플리케이션의 잠금 기능을 분
석한다[4]. 먼저, 정 ·동적의 역공학 분석을 통한 LG 갤러리 애플리케이션의 잠금 기능 구조 및 암호화 과정을 밝혀낸다.
암호화 과정에서 사용된 소스코드에 고정된 값을 추출하고 이를 이용하여 잠금 기능 사용 시 설정한 PIN과 사용자의 구글
계정 없이 LG 갤러리의 암호화된 잠금 파일을 복호화하는 방법을 제시한다. 논문의 구성은 다음과 같다. 2장에서는 분석
환경과 LG 갤러리 애플리케이션 잠금 기능의 프로세스와 데이터 암호화 프로세스를 제시하고 3장에서는 암호화된 파일의
헤더에 은닉된 정보를 이용하여 데이터 복호화 방법을 설명한다. 마지막 4장에서는 본 논문에 대한 결론으로 마무리 한다.

Ⅱ. LG 갤러리 애플리케이션 잠금 기능 분석

역공학 툴을 사용하여 컴파일 되어있는 애플리케이션을 분석한다는 것은 바이트코드화 되어있는 저수준의 추


상 프로그램을 고수준의 추상 프로그램으로 변형한다는 것이다. 일반적으로 이러한 역공학 툴을 이용한 변형은
원본 소스코드와 결과는 같지만 원본 소스코드의 알고리즘을 완벽하게 재구성하기가 어렵다. 따라서 본 장에 들
어가기에 앞서 본 논문에서 사용되는 비트열 연산을 두 가지 정의한다. 두 연산은 XOR-n과 연접XOR이며 각
각에 대한 연산과정은 다음과 같다.

가. XOR-n (n= 2,3 or 4)


1) 160비트의 비트열  을 32비트의  으로 나눈다.
       
2)  와     를 XOR한 후  로 대체한다.
        
    m od ⊕ 
3)  를 연접하여 비트열  으로 만든다.
       

나. 연접XOR
1) 128비트의 비트열  을 두 번 나열하여 256비트의 비트열을 생성한다.
    
2) 256비트의 비트열 뒤에 128비트 비트열(고정 값)을 덧붙인다.
       
3) 비트열  을 32비트의   으로 나눈다.
           
4)    ⊕  ,     ⊕  ,    ⊕  ,    ⊕ 
5)    ⊕  ,     ⊕  ,     ⊕  ,     ⊕ 
6)       를 비트열  ,       을 비트열  로 반환한다.

1. 분석 환경

LG 갤러리 애플리케이션의 잠금 및 암호화 과정을 분석하기 위해 역공학 기법을 사용하였다. LG 갤러리 애플리케이션
“LGGallery3d.apk”의 바이트코드를 JEB Decompiler로 디컴파일하여 소스코드를 정적 분석하였고 IDA pro에서 제공
하는 android_server를 스마트폰에 삽입하여 원격디버깅으로 동적 분석하였다[5,6]. 본 연구의 적용 범위는 LG 스마트
폰의 LGDRM 라이브러리에 기반하며, 라이브러리가 변경되지 않는 한 모든 LG 스마트폰에 적용 될 수 있다. 본 연구의
실험환경은 [표 1]과 같다.

2 디지털포렌식연구 제12권 제2호 2018년 09월


Study on Decrypting Files Encrypted by the LG Gallery Application

표 1. 분석 환경
Table 1. Analysis environment

Devices and Software Name and Version

PC Windows 10
LG G4 (LG-F500) / Android 5.1
Smart Phone
LG V20 (LG-F800) / Android 7.0
Decompiler JEB Decompiler 2.0.6

Debugger IDA Pro 7.0

2. LG 갤러리 애플리케이션 잠금 기능 및 암호화된 파일의 헤더

LG 갤러리 애플리케이션은 사진, 동영상 등 미디어 파일의 잠금 기능을 제공한다. 잠금 된 미디어 파일은 사전에 설정한
PIN(Personal Information Number) 또는 패턴을 입력해야 접근할 수 있다. PIN 또는 패턴 등록은 최초 잠금 기능
사용 시 나타나는 설정 화면을 통해 설정이 가능하며 이때 사용자 구글 계정등록역시 필요로 한다. 잠금 된 파일은 기존 파
일명에 .dm 확장자를 덧붙여져 저장된다. 예를 들어 “test.bmp” 파일을 잠금 설정하면 “test.bmp.dm”으로 파일명이 변
경되어 저장된다. 다음은 잠금 설정된 파일의 저장 경로이다.

o 잠금 설정된 파일 저장 경로: \원본파일경로\원본파일명.dm

암호화된 파일의 구조는 [표 2]와 같은 일정한 구조를 이루고 있다. [표 2]에서 음영처리 되어있는 부분은 파일 헤더를
나타낸다. 이러한 파일 헤더 정보를 통해 AES-128-CBC로 데이터를 암호화하며 패딩은 RFC 2630을 따르고 있음을 알
수 있다. 고정된 구글 계정등록 상태에서 동일한 사진 데이터를 잠금 설정한 후 해제하는 실험을 반복한 결과 헤더 요소 중
flock과 LGEVAL은 매번 달라지는 것을 확인하였다. 반면 동일한 구글 계정상태에서 서로 다른 사진을 암호화하였음에도
LGEID와 LGEID2는 변하지 않았다. 따라서 flock와 LGEVAL는 데이터 암호화의 과정 중 랜덤한 값에 쓰이고
LGEID와 LGEID2는 구글 계정과 관련이 있음을 알 수 있다.

표 2. 암호화된 파일 구조
Table 2. Structure of encrypted file

Encryption-Method:
lge flock
AES128CBC

padding=RFC2630 plaintextlen FL

LGEID LGEATT LGEVAL

Content-Extension Content-MediaType LGEID2

IV

Encrypted Data

3. LG 갤러리 잠금 프로세스

LG 갤러리의 잠금 프로세스는 최초 잠금 프로세스 실행 시 데이터베이스에 등록해둔 구글 계정을 불러오는 것으로부터


시작된다. 구글 계정은 애플리케이션에서 DrmFileLockClient객체를 생성 후 fileLock 함수를 수행하며 파일 암호화를
한다. 데이터를 암호화하기 위한 키인 DEK(Data Encryption Key)는 liblgdrm 라이브러리와 구글 계정으로부터 생성
되며 IV 역시 liblgdrm 라이브러리를 통해 생성된다. liblgdrm 라이브러리와 구글 계정으로부터 만들어진 DEK는 128
비트의 고정된 비트열에 의하여 난독화 되어 공용 메모리로 이동하게 되며 파일 잠금 프로세스가 끝난 후 삭제된다.
liblgdrm_client 라이브러리에선 liblgdrm에서 사용된 고정된 비트열을 동일하게 생성, 난독화를 해제 하여 DEK를 얻
고 DEK와 IV 그리고 AES-128-CBC 모드를 이용하여 암호화한다. 이때 고정된 비트열은 암/복호화 과정에 따라 값이
다르다. 암호화 과정이 끝나면 파일에 .dm 확장자를 붙여 파일을 저장하며 원본 파일을 삭제 후 fileLock 함수를 종료한

Journal of Digital Forensics 2018 Sep.: 12(2) 3


LG 갤러리 어플리케이션 잠금 파일 복호화 연구

다. 이러한 LG 갤러리 애플리케이션의 잠금 프로세스를 도식화하면 [그림 1]과 같다.

그림 1. LG 갤러리 애플리케이션의 잠금 프로세스


Fig. 1. LG Gallery Application Locking Process

Ⅲ. LG 갤러리 잠금 파일에 대한 복호화

잠금 프로세스에 의하면 liblgdrm 라이브러리와 구글 계정으로부터 생성되는 DEK의 생성 과정과 IV를 획득할 수 있다
면 LG 갤러리 잠금 프로세스에 의해 암호화된 파일을 복호화 할 수 있다. 암호화된 파일의 헤더에는 은닉된 사용자 구글
계정 정보, DEK 생성 시에 사용되는 랜덤 값에 대한 정보, 유저정보 검증값 및 IV등 다양한 정보들이 존재한다. 따라서
헤더 정보를 적절히 추출하여 가공하면 사용자 구글 계정 및 DEK의 복구가 가능하고 이를 통해 파일 복호화가 가능하다.
본 장에서는 헤더의 주요 정보 생성 알고리즘을 서술하며 이를 이용한 파일 복호화 과정을 서술한다.

1. LGEID2를 이용한 구글 계정 복구

파일(.dm) 헤더에 저장된 LGEID2를 이용하여 [그림 2]와 같이 사용자의 구글 계정을 복구할 수 있다. [그림 2]에 관한
상세 내용은 다음과 같다. 비트열  는 liblgdrm에 존재하는 고정 값이며 연접XOR 연산 이후 생성되는 비트열  ,
비트열  를 이용하여 사용자 구글 계정 암호화에 사용할 비트열을 생성해 나간다. 생성된 비트열C를 AES 암호
알고리즘의 암호키로 사용하여 비트열  를 암호화한 값을 비트열  ′ 으로 하며 이 값에 1을 더하여 비트열  로
다시 암호화한 결과를 비트열  ″ 라고 한다. 이 과정을 반복하여 구글 계정의 비트 길이 이상의 비트열을 만들어
낸다면 구글 계정의 비트 길이 만큼 XOR 하여 LGEID2를 생성한다. 즉, [그림 2]의 계산된 ‘Bit String  ′ ||
Bit String  ″ || Bit String  ″′ ...‘ 와 헤더에 존재하는 LGEID2의 값과 XOR 하면 구글 계정 정보를 알 수 있다.

그림 2. LGEID2 생성 과정
Fig. 2. Overview of Generating LGEID2

4 디지털포렌식연구 제12권 제2호 2018년 09월


Study on Decrypting Files Encrypted by the LG Gallery Application

2. 구글 계정을 이용한 DEK, LGEID 생성

그림 3. 구글 계정을 이용한 LGEID, DEK 생성 과정


Fig. 3. Overview of the LGEID and DEK Generate using Google Account

[그림 3]은 구글 계정을 이용하여 DEK와 LGEID 값을 생성하는 과정이다. LGEID는 파일 잠금을 해제하기 전에, 정당
한 사용자의 구글 계정 인지를 확인하기 위한 검증자 역할을 한다. 스마트폰 변경 혹은 로그인 되어있는 구글 계정을 변경 후
사용자가 잠금 해제를 시도했을 때 위와 같은 연산을 거쳐 검증자를 계산해 LGEID와 비교하는데 이때 값이 다르면 잠금 해제
를 거부한다. 상세한 DEK와 LGEID 값의 생성 과정은 다음과 같다.

가. DEK
1) 구글 계정을 SHA-1 해쉬함수를 이용해 변환한다.
2) 1)의 결과를 XOR-2 연산을 한다.
3) 2)의 결과를 SHA-1 해쉬함수를 이용해 변환한다.
4) 3)의 결과를 XOR-4 연산을 한다.
5) 4)의 결과의 상위 128비트와 시간과 날짜를 시드(seed)로 /dev/urandom 함수에 의해 생성된 랜덤한 flock과 연접
한다.
6) 5)의 결과를 SHA-1 해쉬함수를 이용해 변환 후, 상위 128비트를 DEK로 사용한다.

나. LGEID
1) 1)~ 4) 과정은 DEK와 동일하다.
5) 4)의 전체 결과를 SHA-1 해쉬함수를 이용해 변환한다.
6) 5)의 결과를 XOR-3연산을 한다.
7) 6)의 결과를 Base64 인코딩하여 검증자로 사용한다.

3. 파일 헤더를 이용한 복호화

앞의 두 소절 에 의하면 파일 헤더 요소 중 flock, LGEID2, IV만 있으면 파일을 복호화 할 수 있으며, LGEID를 이용해
검증도 할 수 있다. 전체적인 파일 복호화 과정은 [그림 4]와 같다.

1) LGEID2를 통해 은닉된 구글 계정을 복구한다.


2) 구글 계정을 토대로 LGEID를 생성하며 헤더의 LGEID값과 일치한 경우 DEK를 생성한다.
3) 파일 헤더에 존재하는 IV와 DEK를 이용하여 데이터를 AES-128-CBC로 복호화 한다.

Journal of Digital Forensics 2018 Sep.: 12(2) 5


LG 갤러리 어플리케이션 잠금 파일 복호화 연구

그림 4. 파일 헤더를 이용한 복호화


Fig. 4. Decryption using file header

다음 [그림 5]는 앞 절의 구글계정 복호화 및 DEK 생성 과정을 C#으로 구현하여 암호화된 파일을 복호화 시도한 결과이
다. 복호화에 사용된 사진들은 LG 스마트폰에서 촬영한 사진을 LG 갤러리 애플리케이션의 잠금 기능으로 직접 암호화를 한
파일들 이며 정상적인 파일로 복호화 되었음을 확인 할 수 있었다.

그림 5. 복호화 툴 구현 및 검증 결과
Fig. 5. Decryption tool and its use case

Ⅳ. 결 론

사진 및 동영상 파일은 디지털 포렌식 수사에 있어 중요한 부분이며 핵심적인 증거 역할을 한다. 그러나 개인 정보 보호
에 대한 인식이 높아지면서 데이터 저장 시 파일 은닉 및 암호화 기술을 적용할 수 있도록 제공하고 있다. 이러한 기술들은
디지털 포렌식 관점에서는 안티 포렌식에 해당하므로, 은닉 및 암호화된 파일들에 대한 원본 데이터 획득에 관한 연구는 중
요하다.
본 논문에서는 LG 갤러리의 잠금 기능을 분석하여 암호화된 사진 및 동영상 파일을 복호화할 수 있는 방안을 제시하였
다. APK 파일을 분석하여 암호화에 사용하는 알고리즘, IV와 키 생성 방법을 알아냈으며, 해당 정보를 기반으로 암호화된
사진 파일 복호화에 성공하였다. 암호화된 파일의 헤더 정보만으로 복호화를 진행할 수 있으므로, 암호화된 스마트폰 사진
및 동영상 파일만 획득한 경우 에도 PC에서 해당 파일을 복호화하여 증거로 활용 가능하다.

6 디지털포렌식연구 제12권 제2호 2018년 09월


Study on Decrypting Files Encrypted by the LG Gallery Application

참 고 문 헌 (References)

[1] Songyang Wu, Yong Zhang, Xupeng Wang, Xiong Xiong, and Lin Du, Forensic analysis of
WeChat on Android smartphones, Digital Investigation, Vol. 21, pp. 3-10, 2017.
[2] Zhongmin DAI, SUFATRIO, Tong-Wei CHUA, Dinesh Kumar BALAKRISHNAN, and Vrizlynn L.
L. THING, Chat-App Decryption Key Extraction Through Information Flow Analysis, Cryptology
and Information Security Series, Vol. 15, pp. 3-18, 2017.
[3] Xiaolu Zhang, Ibrahim Baggili, Frank Breitinger, “Breaking into the vault: Privacy, security and
forensic analysis of Android vault applications”, Computers & Security, Vol.70, pp.516-531, 2017.
[4] ATLAS Survey, http://www.arg.co.kr/atlas/client/html/index.html
[5] PNF Software, JEB, https://www.pnfsoftware.com/jeb/
[6] Hex-Rays, IDA, https://www.hex-rays.com/products/ida/support/idadoc/1463.shtml

Journal of Digital Forensics 2018 Sep.: 12(2) 7


LG 갤러리 어플리케이션 잠금 파일 복호화 연구

저자소 개

김 기 윤 (Giyoon Kim)
학생회원
2013년 3월 ~ 현재 : 국민대학교 정보보안암호수학과 재학
관심분야 : 디지털 포렌식, 정보보호 등

장 성 우 (Sungwoo Jang)
학생회원
2012년 3월 ~ 현재 : 국민대학교 정보보안암호수학과 재학
관심분야 : 디지털 포렌식, 정보보호 등

김 종 성 (Jongsung Kim)
정회원
2000년 8월/2002년 8월 : 고려대학교 수학 학사/이학석사
사 진 2006년 11월 : K.U.Leuven ESAT/SCD-COSIC 정보보호 공학박사
2007년 2월 : 고려대학교 정보보호대학원 공학박사
2007년 3월 ~ 2009년 8월 : 고려대학교 정보보호기술연구센터 연구교수
2009년 9월 ~ 2013년 2월 : 경남대학교 e-비즈니스학과 조교수
2013년 3월~2017년 2월 : 국민대학교 수학과 부교수
2014년 3월~현재 : 국민대학교 일반대학원 금융정보보안학과 부교수
2017년 3월~현재 : 국민대학교 정보보안암호수학과 부교수
관심분야 : 디지털 포렌식, 암호 알고리즘, 정보보호 등

8 디지털포렌식연구 제12권 제2호 2018년 09월

You might also like