모바일 포렌식: 이미징
위 사진을 보면 디지털 증거 분석율은 매년 증가추세를 보이고 있다. 그 중 모바일기기의 증가율을 가장 높고 매체별로 보았을 때도 70%넘는 분석 비율을 보이고있다. 갈수록 고도화되는 안티포렌식과 암호기술로 인해 모바일 포렌식이 난항을 겪고있다.
1. 모바일 데이터 추출
1) H/W Imaging
- Chip-off
- 모바일 기기의 메인보드에 부착된 플래시 메모리를 물리적으로 분리하여 메모리 리더기를 통해 덤프한다.
- Chip-off 방법의 경우 메인보드에서 분리된 플래시 메모리를 다시 복원하는 것은 어려우므로 물리적으로 모바일 기기가 파손되어 사용할 수 없는 경우에 주로 사용한다.
- 원본 데이터 획득에 있어 가장 확실한 방법이지만 난이도가 가장 높고 칩 손상으로 인한데이터 영구 손실 가능성 등의 제약사항이 존재한다.
- JTAG
- PCB의 JTAG 포트와 JTAG 에뮬레이터를 연결하여 전력을 공급한 뒤 부팅과정에서 정상 부팅 모드가 아닌 디버깅 모드에 진입하여 플래시 메모리의 모든 이미징한다.
- 삼성의 경우 갤럭시 S3 이후부터는 JTAG 포트가 없으므로 사용이 제한적이라는 것과 덤프 생성 중에 시스템 크래시의 가능성이 존재 그리고 고가의 장비라는 것이 단점이다.
구분 | 내용 |
nTRST | Test Reset(리셋) |
TMS | Test Mode Select(모드) |
TDI | Test Data In(데이터 입력) |
TDO | Test Data Out(데이터 출력) |
TCK | Test Clock(클럭) |
RTCK | Return Test Clock |
nSRST | Chip Reset |
VTref | Target의 기준전압을 입력받는 데 사용 |
EDBGRQ, DBGACK | 외부 Trigger Signal을 사용 |
[JTAG 핀 종류]
2) Software Imaging
- FASTBOOT 방식
- 위 사진과 같이 FASTBOOT Mode에서 펌웨어를 폰에 올리지 않고 기기 자체에서 바로 실행하는 방식으로 PANTECH, XIAOMI, HUAWEI 등의 일부 모델에서 해당 방식을 사용한다.
- 개발자가 커널을 불러들여 원하는 결과를 빠른 시간 내에 확인하는 목적으로 사용이 된다.
- FASTBOOT Mode는 RAM에 Kernel을 불러들여 데이터를 획득 할 수 있게 하는 동작을 의미한다.
- DFU(Device Firmware Upgrade) 방식 = 탈옥
- DFU 모드에서 부팅 전 커널 패치를 통한 루트 권한을 획득하는 방법으로 iDevice가 어떠한 상태에 있더라도 firmware를 복원할 수 있는 방식이다.
- DFU 모드를 이용하여 아이폰 4S 이하의 데이터의 전체 영역을 획득 할 수 있다. 이 방식은 iDevice의 암호와 상관없이 데이터를 획득 할 수 있다.
- Bootloader 방식
- 스마트폰이 부팅을 할 때 사용되는 BootLoader에 데이터 획득에 필요한 프로그램을 삽입하여 데이터를 획득하는 방식이다.
- 이 방식은 삼성 갤럭시 S4이하 및 LG 스마트폰에 주로 사용된다.
- LG 스마트폰의 경우 폰 자체적으로 다운로드 모드에 획득 기능이 내장되어 있어 Firmware Update 모드에서 프로토콜을 이용하여 데이터를 획득할 수 있다.
- 삼성 스마트폰의 경우 BootLoader의 취약점을 이용하여 위 그림과 같이 Download 모드를 통하여 수정된 부트 로더를 메모리에 올려 이미지를 획득한다.
- 이 방식은 USB 케이블과 획득 도구의 연결을 통해 진행이 되고, 관리자 권한이 필요 없으며 비할당 영역의 데이터도 수집이 가능하다는 것이 장점이다.
- 단점으로 모바일 기기가 정상적으로 동작하는 상태에서만 전체 영역에 대한 획득이 가능하고 기기별, 제조사 별로 획득방식의 차이가 있으며, 최근에 출시된 스마트폰 중 사용자가 직접 디바이스에 암호화를 설정해놓거나 출시될 때부터 디바이스 자체가 암호화 되어 있는 경우, 획득을 하더라도 분석이 불가능하므로 전원을 켜서 파티션의 암호화가 해제된 상태에서 획득하여야 한다. 또한, 스마트폰에 비밀번호 잠금 장치가 설정된 경우 그에 대한 해제 또한 필수적으로 요청된다.
- USB Download 방식
- 삼성 피처폰 일부 모델에서 지원하는 Emergency USB Download 모드를 활용하여 획득하는 방식으로 지원모델에 한하여 적용가능하다.
- USB 케이블 연결만으로도 최고 속도의 플래시 메모리를 획득할 수 있으며 삭제 데이터에 대한 전반적인 추출 및 복원이 가능하다.
- 내장 획득 프로토콜을 사용해서 획득하고, 조작자의 실수로 인한 전원 부팅이 없다면 연속적으로 획득하여도 전체 해시 값은 변경되지 않는다.
- Custon Firmware (커널 체인지)
- 수정된 부트 이미지나 리커버리 이미지를 폰에 올려서 adb로 접속하여 dd 명령어 방식으로 데이터를 획득한다.
- 현재 국내 수사기관은 모 회사에서 제공하는 도구에 탑재된 커스텀 리커버리 이미지를 다운로드 모드로 전환하여 부트 이미지 영역에 올리는 방식과 리커버리 모드로 전환하여 리커버리 이미지 영역에 올리는 방식을 사용하고 있다.
- 부트 영역에 이미지를 올리는 방식은 획득 이후 폰이 정상적으로 켜지지 않는 위험성이 있지만 부트 영역에 원본 펌웨어를 복원함으로써 다시 정상적으로 기기 상태로 돌아갈 수 있다.
- 주로 삼성 갤럭시 노트5 이상의 모델에서 사용하고 획득방식이 다른 방식에 비해 비교적 간단하고 빠르다.
- 그러나 삼성 Knox 및 상성 Pay 기능을 갖고 있는 폰을 획득 하였을 경우, 해당 영역들을 영구히 사용할 수 없고, 해당 방식은 모바일 기기가 정상적으로 동작하는 상태에서만 획득 가능하다는 단점이 있다.
- 일부 모델의 경우 FRP Lock, Reactivation Lock, CROM Lock 등의 보안 솔루션이 설정되어 있는데 이 경우 폰을 켜 해당 보안솔루션의 해제를 한 후 다시 전원을 끄고 획득을 진행하여야 한다. 보안 해제를 할 수 없는 경우, 이 방식으로 획득 불가하며 폰을 켜 활성 상태에서 ADB Backup 방식, 제조사 Backup Protocol 방식 등 기타 가능한 방식을 확인하여 진행하여야 한다.
- OS 5.0 까지는 획득 시 해시값의 변경이 없었지만 OS 6.0 이상의 일부기기 중 획득 시 Userdata 영역을 건드려 연속적으로 획득하게 되면 부분 해시 값은 변경이 없으나 전체 해시 값이 변경 될 수 있다.
- Bootloader Downgrade 방식
- 삼성 일부 모델에서 Knox, Pay 기능을 유실하지 않고 전체 영역을 획득하기 위한 방식으로 획득 진행 전 Bootloader을 Downgrade 후 획득을 진행하고 다시 복원하는 방식이다.
- 업그레이드 프로토콜 방식을 사용하여 데이터 획득이 가능한 버전의 펌웨어(KK 4.4 이하) 버전을 스마트폰 부트로더 영역에 플래싱하여 펌웨어 업데이트 모드로 재부팅하여 데이터를 획득하며 획득 이후 상위버전의 펌웨어를 플래싱해서 원복해야 하는 단점이 있다.
- 대표적인 모델로 삼성 갤럭시 S3, S4, Note2, Note3이 있다. 여러번 연속적으로 획득하더라도 해시 값의 변경이 없다.
- ADB PRO 방식
- 한컴 GMD 사에서 사용하는 방식으로 Android Debug Bridge를 이용하여 전체 영역을 획득한다. 이 방식은 안드로이드 OS를 사용하고, 보안 패치레벨이 2016. 10. 이전인 경우에 활용할 수 있으며 삼성 Knox, Pay 기능이 유실되지 않는 장점이 있다. 이 방식은 전원을 켠 상태에서 획득하며 비하당 영역까지 획득이 가능하다는 장점이 있으나, 기기의 전원을 켜서 획득하므로 연속적으로 획득할 경우 부분 해시 값은 변경이 없으나 전체 해시 값이 변경될 수 있다.
- Rooting 방식
- 안드로이드폰의 운영체제를 해킹해 root 권한을 얻어 시스템에 대한 정보나 펌웨어 등 중요한 파일이 있는 system 파티션에 접근할 수가 있다.
- 연속적으로 획득할 경우 부분 해시 값은 변경이 없으나 전체 해시 값이 변경될 수 있다.
Backup 방식
- 운영체제별, 제조사별로 사용하는 백업 방식이 각각 다르다.
- 구글은 ADB Backup 방식을 지원해 관리자 권한 없이 전화번호부, 문자메시지, 다양한 어플리케이션 등을 그대로 옮길 수 있으나 삭제된 것에 대해서는 복구 할 수 없다. 단, 삼성 스마트폰의 경우 제조사에서 제공하는 Backup Protocol 방식을 적용하여 ADB Backup에서 지원하지 않는 앱 데이터에 대하여 추가로 획득이 가능하고 삭제된 문자메시지도 복구가 되므로 가능하면 제조사에서 제공하는 Backup Protocol 방식을 사용해서 획득하는 것이 훨씬 효율적이다.
- 애플의 IOS Backup 획득 방식은 Itunes Backup 방식을 통하여 데이터를 추출하는 방법과 AFC(Apple File Connection) 프로토콜을 사용해서 탐색기에 보이는 파일들을 획득하는 방법이 있다. 그러나 Itunes Backup 방법은 백업 암호가 걸리고 접근 암호를 모르는 경우 중요 사용자 영역에 대한 획득이 불가능하고, AFC Protocol을 이용하여 탐색기에서 인식되는 사진파일, 멀티미디어 파일 등의 자료만 획득 가능하다는 단점이 있다.
- 위와 같은 Backup 방식은 전원을 켜서 획득하게 되므로 메시지 통화수신 등으로 기기에 정보가 계속적으로 기록되면서 상태정보가 변하므로 연속적으로 획득할 경우 부분 해시 값은 변경이 없으나 전체 해시 값이 변경 될 수 있다.
- DM 방식
- 2004년 이후의 Qualcomm 칩을 사용하는 피처폰 들에 대하여 국내 6대 제조사 모두 적용 가능한 방법으로 모바일 폰에 저장된 활성 파일을 다운로드하는 방식이다. 이 방식은 기종에 따라 활성 파일 내에서도 삭제된 레코드가 있는 경우가 있어 부분적으로 삭제된 데이터도 복구가 가능하다.
- 이 방식은 USB 시리얼 포트를 통하여 퀄컴 명령어를 전송하여 파일시스템에 접근하며 기기의 전원을 켜서 획득하므로 연속적으로 획득할 경우 부분 해시 값은 변경이 없으나 전체 해시 값이 변경될 수 있다.
- File Copy 방식
- File Copy 방식은 획득하고자 하는 원본 파일 또는 디렉터리를 단순히 사본 저장매체에 복사하는 방식이다. 보통 마우스로 드래그 앤 드롭을 하거나 cp 명령어를 이용한다.
- 이방식은 논리적인 데이터만 복사되기 때문에 삭제된 데이터를 복구할 수 없고 복사 과정에서 원본 파일의 시간정보가 변경 될 가능성이 있어 파일 속성정보를 신뢰할 수 없어 파일의 무결성을 보장할 수 없다.
- 해당 방법은 거의 사용되지 않으나 마지막 방법으로 어떠한 방법으로도 포렌식 이미지를 획득할 수 없을 경우, 최선의 방법이 될 수 있다.
종류 | 파티션 | 파일시스템 종류 | 설명 |
내장 | cache | YAFFS2 or EXT4 | App 설치파일 등의 임시파일이 저장된다. |
내장 | system | YAFFS2 or EXT4 | 기본 App이 저장된다. |
내장 | data | YAFFS2 or EXT4 | 사용자 연락처, 사진, SMS 기록, 웹 브라우저 기록, 음악, App 데이터 등이 저장된다. |
외장 | sdcard | FAT32 | 외장메모리 영역. data 영역의 데이터를 저장할 수 있다. |
[안드로이드 파티션 구성]
[참고문헌]
- 동국대학교 국제정보보호대학원 정보보호학과 임윤미, "모바일 기기별 포렌식 이미지 획득 방법 개선에 관한 연구"
- 이별 등 7명, "문제로 배우는 디지털 포렌식"
'정보보안 > 디지털 포렌식' 카테고리의 다른 글
Volatility 플러그인 (0) | 2019.09.26 |
---|---|
쓰기방지, 이미징 (0) | 2019.09.24 |
증거법 (0) | 2019.09.04 |
디지털 증거 보장 위한 제도적 장치 (0) | 2018.11.15 |
NTFS(New Technology File System) (0) | 2018.10.11 |
댓글
이 글 공유하기
다른 글
-
Volatility 플러그인
Volatility 플러그인
2019.09.26 -
쓰기방지, 이미징
쓰기방지, 이미징
2019.09.24 -
증거법
증거법
2019.09.04 -
디지털 증거 보장 위한 제도적 장치
디지털 증거 보장 위한 제도적 장치
2018.11.15