Professional Documents
Culture Documents
Decrypt and Encript LG Gallery DM Files
Decrypt and Encript LG Gallery DM Files
https://kdfs.jams.or.kr
김 기 윤, 장 성 우, 김 종 성*
국민대학교 정보보안암호수학과, 국민대학교 금융정보보안학과*
요 약
모바일 기기에는 통화기록, 문자 메시지, 메모, 스케줄 등 사용자의 다양한 사용 흔적이 남아있으며, 그중 사생활 침해, 기업 정보
유출 등 여러 사건을 해결하기 위해 증거로 사용될 수 있는 사진 및 동영상 등의 미디어 데이터 획득은 매우 중요하다. 그러나 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 스마트폰의 기본 갤러리 애플리케이션에서도 이러한 ‘잠금’ 기능을 지원하
며, 현재까지 관련 연구결과는 존재하지 않는다. 그러나 대부분의 스마트폰 사용자는 제조사에서 기본적으로 제공하는 갤러
리 애플리케이션을 이용할 확률이 높다. 해당 기능은 개인의 프라이버시 보호를 위해 만들어졌으나, 자신의 행적을 감추려
는 범죄자에 의해 악용될 수 있으므로 암호화된 파일 복호화 연구는 필수적이다.
본 논문에서는 국내 점유율이 2위로 높은 LG 스마트폰에서 기본적으로 제공하는 갤러리 애플리케이션의 잠금 기능을 분
석한다[4]. 먼저, 정 ·동적의 역공학 분석을 통한 LG 갤러리 애플리케이션의 잠금 기능 구조 및 암호화 과정을 밝혀낸다.
암호화 과정에서 사용된 소스코드에 고정된 값을 추출하고 이를 이용하여 잠금 기능 사용 시 설정한 PIN과 사용자의 구글
계정 없이 LG 갤러리의 암호화된 잠금 파일을 복호화하는 방법을 제시한다. 논문의 구성은 다음과 같다. 2장에서는 분석
환경과 LG 갤러리 애플리케이션 잠금 기능의 프로세스와 데이터 암호화 프로세스를 제시하고 3장에서는 암호화된 파일의
헤더에 은닉된 정보를 이용하여 데이터 복호화 방법을 설명한다. 마지막 4장에서는 본 논문에 대한 결론으로 마무리 한다.
Ⅱ. LG 갤러리 애플리케이션 잠금 기능 분석
나. 연접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]과 같다.
표 1. 분석 환경
Table 1. Analysis environment
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
LG 갤러리 애플리케이션은 사진, 동영상 등 미디어 파일의 잠금 기능을 제공한다. 잠금 된 미디어 파일은 사전에 설정한
PIN(Personal Information Number) 또는 패턴을 입력해야 접근할 수 있다. PIN 또는 패턴 등록은 최초 잠금 기능
사용 시 나타나는 설정 화면을 통해 설정이 가능하며 이때 사용자 구글 계정등록역시 필요로 한다. 잠금 된 파일은 기존 파
일명에 .dm 확장자를 덧붙여져 저장된다. 예를 들어 “test.bmp” 파일을 잠금 설정하면 “test.bmp.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
IV
Encrypted Data
3. 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
[그림 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 인코딩하여 검증자로 사용한다.
앞의 두 소절 에 의하면 파일 헤더 요소 중 flock, LGEID2, IV만 있으면 파일을 복호화 할 수 있으며, LGEID를 이용해
검증도 할 수 있다. 전체적인 파일 복호화 과정은 [그림 4]와 같다.
다음 [그림 5]는 앞 절의 구글계정 복호화 및 DEK 생성 과정을 C#으로 구현하여 암호화된 파일을 복호화 시도한 결과이
다. 복호화에 사용된 사진들은 LG 스마트폰에서 촬영한 사진을 LG 갤러리 애플리케이션의 잠금 기능으로 직접 암호화를 한
파일들 이며 정상적인 파일로 복호화 되었음을 확인 할 수 있었다.
그림 5. 복호화 툴 구현 및 검증 결과
Fig. 5. Decryption tool and its use case
Ⅳ. 결 론
사진 및 동영상 파일은 디지털 포렌식 수사에 있어 중요한 부분이며 핵심적인 증거 역할을 한다. 그러나 개인 정보 보호
에 대한 인식이 높아지면서 데이터 저장 시 파일 은닉 및 암호화 기술을 적용할 수 있도록 제공하고 있다. 이러한 기술들은
디지털 포렌식 관점에서는 안티 포렌식에 해당하므로, 은닉 및 암호화된 파일들에 대한 원본 데이터 획득에 관한 연구는 중
요하다.
본 논문에서는 LG 갤러리의 잠금 기능을 분석하여 암호화된 사진 및 동영상 파일을 복호화할 수 있는 방안을 제시하였
다. APK 파일을 분석하여 암호화에 사용하는 알고리즘, IV와 키 생성 방법을 알아냈으며, 해당 정보를 기반으로 암호화된
사진 파일 복호화에 성공하였다. 암호화된 파일의 헤더 정보만으로 복호화를 진행할 수 있으므로, 암호화된 스마트폰 사진
및 동영상 파일만 획득한 경우 에도 PC에서 해당 파일을 복호화하여 증거로 활용 가능하다.
참 고 문 헌 (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
저자소 개
김 기 윤 (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월~현재 : 국민대학교 정보보안암호수학과 부교수
관심분야 : 디지털 포렌식, 암호 알고리즘, 정보보호 등