아이폰 백업 파일의 흔적을 찾아라
1부_아이폰 백업 파일의 흔적을 찾아라(이번 호) 최근 전 세계 스마트폰 이용자 수가 10억 명을 돌파한 것으로 알려졌다. 10억 명의 스마트폰 사용자들은 다양한 앱을 이용하고 수많은 정보를 스마트폰에 기록한다. 그리고 배터리 충전이나 사진 등의 데이터를 저장하기 위해 스마트폰을 컴퓨터에 연결한다. 이 과정에서 스마트폰에 기록된 데이터는 컴퓨터에 백업 파일로 남게 된다. 그러다 보니 최근 포렌식 중에 스마트폰의 백업 파일이 자주 등장하고 있다. 스마트폰의 백업 파일은 사건 용의자의 인간 관계는 물론, 행위 분석이나 이동 경로 파악 등에 이용된다. 이 글에서는 스마트폰 백업 파일이 어떤 경로에 존재하고, 어떠한 정보를 갖고 있으며, 특히 포렌식 측면에서 가치 있는 데이터는 무엇인지 알아본다. 수많은 스마트폰 기종을 모두 다룰 수 없는 관계로, 아이폰 백업 파일 포렌식에 대해 월간 안 2012년 11월호부터 2회에 걸쳐 살펴볼 예정이다. |
드라마 ‘유령’을 집필한 김은희 작가는 경찰청 사이버수사대에서 ‘휴대전화와 컴퓨터를 보면 그 사람의 머릿속을 들여다보는 것과 같다’는 말을 듣고 사이버범죄를 드라마 소재로 선택하게 됐다고 한다. 그렇다면 휴대전화 기능과 컴퓨터의 기능이 합쳐진 스마트폰을 들여다보면 과연 무엇이 보일까?
사용자들은 스마트폰을 다양한 용도로 활용한다. 스마트폰 주소록에 지인들의 정보를 담기도 하고, 캘린더나 일기장을 통해 하루 일과를 정리하기도 한다. 야외 활동을 많이 하는 사용자라면 지도 등 GPS 기반의 다양한 앱을 이용할 수도 있다. 이렇게 다양하게 이용되는 스마트폰은 배터리 충전이나 데이터 저장을 위해 컴퓨터에 연결되기 마련이다. 이 과정에서 스마트폰의 데이터는 컴퓨터로 전송되고, 또 저장된다. 백업 파일 생성 및 저장부터 아이폰 백업 파일 포렌식 과정을 단계별로 짚어가면서 백업 파일에 얼마나 중요한 정보가 저장되어 있는지 파헤쳐보자.
[그림 1] 모바일 등을 기반으로 한 용의자 행위 추적 프로그램 GeoTime
(출처 : http://www.itproportal.com/2011/05/11/uk-police-buy-social-network-tracking-software/)
아이폰 백업 파일 생성
우선 ‘아이클라우드에 백업’은 원격지(remote)에 있는 애플 서버에 사용자의 백업 파일을 전송하는 것이다. 하지만 아이클라우드는 기본 5기가만 지원하기 때문에 전제 파일을 백업하는데 무리가 있다. 기본 설정으로 ‘아이클라우드에 백업’이 설정되어 있으며, 사용자 편의에 따라 ‘이 컴퓨터에 백업’으로 변경이 가능하다.
‘이 컴퓨터에 백업’은 아이폰이 연결된 컴퓨터에 폴더를 생성하여 백업 파일을 만든다는 의미다. ‘이 컴퓨터에 백업’을 선택하면 패스워드를 설정할 수 있다. ‘로컬 백업 암호화’ 기능을 ‘끔(OFF)’으로 선택할 경우, 패스워드를 설정하지 않고도 백업 파일을 생성할 수 있다.
[그림 2] 아이튠즈를 이용한 아이폰 백업 파일 생성
백업 파일 폴더 구조
운영체제 | 백업 경로 |
Windows XP | C:\Documents and Settings\[user name]\Application Data\Apple Computer\MobileSync\Backup\ |
MAC OS X | ~/Library/Application Support/MobileSync/Backup/ |
Windows 7 | C:\Users\[user name]\AppData\Roaming\AppleComputer\MobileSync\Backup\ |
[표 1] 운영체제 별 아이폰 백업 파일 생성 경로
해당 폴더로 이동하면 [그림 3]과 같이 식별 가능한 파일명과 SHA1으로 해시(hash)된 파일명들이 존재한다는 것을 알 수 있다. 식별이 가능한 파일들과 그렇지 않은 파일들의 기능을 알아보자.
[그림 3] 백업 파일이 생성된 폴더
• Manifest.mbdb: 백업 폴더 안에 저장되어 있는 파일명을 기록
• Info.plist: Build Version, Device Name, GuID, ICCID, Last Backup Date 등을 기록
• Manifest.plist: Applications, Date, Encrypt 유무, System Domain Version 등을 기록
• Status.plist: BackupState, UUID, Version 등을 기록
• App Files: 파일명을 SHA1으로 해시하여 저장
백업 파일 해석 도구
백업 파일 식별 도구 • iPhone Backup Extractor : http://www.iphonebackupextractor.com/ |
이러한 도구들은 Manifest.mbdb, Info.plist, Manifest.plist, Status.plist, App files를 파싱하여 보여준다. 파싱이 완료되면 [그림 4]와 같이 백업 파일들의 폴더 구조를 볼 수 있어 손쉽게 파일에 접근 및 확인이 가능하다.
[그림 4] 백업 파일의 폴더 구조
Manifest.mbdb 파일의 구조와 정보
Manifest.mbdb 파일은 백업파일들에 대한 도메인과 파일 경로(PATH)를 저장하고 있다. 도메인은 11개의 시스템 도메인(System Domain)과 1개의 애플리케이션 도메인(Application Domain)이 있다.
• System Domain RootDomain, MediaDomain, SystemPreferencesDomain, TonesDomain, CameraRollDomain, BooksDomain, MobileDeviceDomain, HomeDomain, KeychainDomain, WirelessDomain, ManagedPreferencesDomain
• Application Domain |
Manifest.mbdb의 파일 구조는 [표 2]와 같다.
Offset | 데이터 | 설명 |
4byte | Mbdb0x05 | Signature |
String | AppDomain-net.daum.maps | Domain Name |
String | Library/Preferences/net.daum.maps.plist | File Path |
4byte | 0x000001F5 | User ID |
4byte | 0x000001F5 | Group ID |
4byte | 0x500E6FBA | Last Modified Time |
4byte | 0x500E6FBA | Last Accessed Time |
4byte | 0x500E6FBA | Created Time |
8byte | 0x000000000001D25 | 파일의 길이(0x0은 심볼릭 링크나 디렉터리를 의미함) |
[표 2] Manifest.mbdb 파일 구조
[그림 5] Manifest.mbdb 파일
Last Modified Time, Last Accessed Time, Created Time은 Unix Numeric Time으로 Big Endian 형식을 띄고 있다. 해당 시간을 [그림 6]의 DCode를 이용해 확인해보면 ‘2012-07-24 09:49:46’이라는 것을 알 수 있다. 또한 UTC+9으로 계산하면 ‘2012-07-24 18:49:46’이 된다는 것을 알 수 있다. 이처럼 Manifest.mbdb 파일을 확인하면 앱이 아이폰에 언제 설치되었고, 언제 수정되었는지에 대한 내역을 모두 확인할 수 있다.
[그림 6] 디지털 시간 디코더 DCode
파일명은 [그림 7] 및 [그림 8]과 같이 Domain-PATH를 SAH1으로 해시한 값으로 저장된다.
[그림 7] Domain-PATH를 SAH1으로 해시한 값
[그림 8] 해시한 값으로 저장된 파일명
백업 파일을 남기는 중요 흔적
[표 3]은 주요 백업 파일의 기능과 도메인-경로를 정리한 내용이다.
이름 | 도메인 - 경로 | 기능 |
Contacts | HomeDomain - Library/AddressBook/AddressBook.sqlitedb SHA1 : cd6702cea29fe89cf280a76794405adb17f9a0ee | 연락처 및 생성 시간 |
Calendar | HomeDomain - Library/Calendar/Calendar.sqlitedb SHA1 : 2041457d5fe04d39d0ab481178355df6781e6858 | 이벤트 및 생성 시간, 이벤트 발생 시작 시간 및 종료 시간 |
SMS | HomeDomain - Library/SMS/sms.db SHA1 : 3d0d7e5fb2ce288813306e4d4636395e047a3d28 | SMS 메시지 내용 및 보낸 시간 |
Call History | WirelessDomain - Library/CallHistory/call_history.db SHA1 : 2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca | 통화 시도 시간 |
Voice Mail | HomeDomain - Library/Voicemail/voicemail.db SHA1 : 992df473bbb9e132f4b3b6e4d33f72171e97bc7a | 보이스 메일 및 보낸 시간 |
Note | HomeDomain - Library/Notes/notes.sqlite SHA1 : ca3bc056d4da0bbf88b5fb3be254f3b7147e639c | 노트 내역 및 생성 시간 |
Safari | HomeDomain - Library/Safari/History.plist SHA1 : 1d6740792a2b845f4c1e6220c43906d7f0afe8ab | 마지막 방문 시간 |
[표 3] 주요 백업 파일의 기능 및 도메인-경로
1. Contacts
Contacts 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/AddressBook/ AddressBook.sqlitedb’이다. 해당 파일은 주소록으로 사용되며, 사용자가 입력한 대화 상대의 주소, 이름, 전화번호, 이메일 등을 기록한다. 또한 생성 시간을 기록있어, 대화 상대의 정보가 언제 입력되었는지 알 수 있다.
[그림 9] Contacts 파일 내 정보
2. Calendar
Calendar 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/Calendar/Calendar. Sqlitedb’이다. Calendar 파일은 사용자가 기록해 놓은 일정을 포함하고 있다. 일정 안에는 일정이 시작되는 시점과 종료되는 시점이 기록되어 있으며, 일정에 대한 메모도 포함되어 있기 때문에 포렌식 측면에서 상당히 의미 있는 데이터라 할 수 있다.
[그림 10] Calendar 파일 내 정보
3. SMS(Short Message Service)
SMS 파일은 HomeDomain에 위치해 있으며 경로는 ‘Library/SMS/sms.db'이다. SMS 파일은 사용자와 대화 상대의 SMS 기록을 전부 기록하고 있다. 파일 안에는 SMS를 발송한 시간(Mac Absolute Time), 상대방이 SMS를 발송한 시간, 사용자가 상대방이 보낸 SMS를 확인한 시간 등이 기록되어 있다. 또한 SMS의 첨부 파일이 무엇인지, 언제 첨부되었는지에 대한 기록까지 담고 있다. SMS파일은 다양한 시간 정보를 담고 있기 때문에 타임라인(Timeline) 분석 시 매우 유용한 정보를 얻을 수 있다.
[그림 11] SMS 파일 내 정보
4. Call History
Call History 파일은 WirelessDomain에 위치해 있으며 경로는 ‘Library/CallHistory/call_ history.db’이다. Call History 파일은 사용자와 대화 상대의 전화 이력(history)을 기록한 파일이다. 언제 전화가 걸려왔는지, 통화는 얼마나 오래 지속되었는지, 취소되거나 받지 못 한 통화 등의 정보를 저장하고 있다.
[그림 12] Call History 파일 내 정보
5. Notes
Notes 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/Notes/notes.sqlite’이다. Notes 파일에는 사용자가 기록한 내용이 저장되어 있다. 저장된 내용 외에도 데이터를 기록한 시간이 저장되어 있어 타임라인 분석에 유용하다.
[그림 13] Notes 파일 내 정보
6. Safari
Safari 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/Safari/History.plist’이다. Safari History 파일은 사용자가 웹에서 검색한 내용이나 웹 페이지 방문 기록 등이 저장되어 있다. 이 중 검색한 시간(Mac Absolute Time)과 방문 시간 정보도 포함되어 있어 마찬가지로 타임라인 분석에 용이하다.
[그림 14] Safari 파일 내 정보
지금까지 아이폰 백업 파일 생성 과정부터 주요 백업 파일과 각 파일이 저장하고 있는 정보에 대해 살펴봤다. 2부에서는 스마트폰 사용자들이 주로 이용하는 앱 유형에 따른 포렌식 분석 방법 등을 살펴본다.@
이 정보에 대한 저작권은 AhnLab에 있으며 무단 사용 및 도용을 금합니다.
단, 개인이 비상업적인 목적으로 일부 내용을 사용하는 것은 허용하고 있으나, 이 경우 반드시 출처가 AhnLab임을 밝혀야 합니다.
기업이 이 정보를 사용할 때에는 반드시 AhnLab 의 허가를 받아야 하며, 허가 없이 정보를 이용할 경우 저작권 침해로 간주되어 법적인 제재를 받을 수 있습니다. 자세한 내용은 컨텐츠 이용약관을 참고하시기 바랍니다.
정보 이용 문의 : contents@ahnlab.com