우선 ‘아이클라우드에 백업’은 원격지(remote)에 있는 애플 서버에 사용자의 백업 파일을 전송하는 것이다. 하지만 아이클라우드는 기본 5기가만 지원하기 때문에 전제 파일을 백업하는데 무리가 있다. 기본 설정으로 ‘아이클라우드에 백업’이 설정되어 있으며, 사용자 편의에 따라 ‘이 컴퓨터에 백업’으로 변경이 가능하다.
‘이 컴퓨터에 백업’은 아이폰이 연결된 컴퓨터에 폴더를 생성하여 백업 파일을 만든다는 의미다. ‘이 컴퓨터에 백업’을 선택하면 패스워드를 설정할 수 있다. ‘로컬 백업 암호화’ 기능을 ‘끔(OFF)’으로 선택할 경우, 패스워드를 설정하지 않고도 백업 파일을 생성할 수 있다.
[그림 2] 아이튠즈를 이용한 아이폰 백업 파일 생성
백업 파일 폴더 구조
아이튠즈를 이용한 백업이 완료되면 [표 1]의 백업 경로에 백업 파일이 생성된다.
운영체제 | 백업 경로 |
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으로 해시하여 저장
백업 파일 해석 도구
아이폰 백업 파일 경로로 이동하여 파일을 확인해도 어느 파일이 어떤 기능을 하는지 파악하기는 쉽지 않다. 다행히 백업 파일을 식별 가능하게 해주는 도구들이 있다. 이러한 도구는 아래 URL에서 다운로드 할 수 있다.
백업 파일 식별 도구 • iPhone Backup Extractor : http://www.iphonebackupextractor.com/ • iBackupBot : http://www.icopybot.com/itunes-backup-manager.htm |
이러한 도구들은 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 애플리케이션 도메인은 AppDomain-App_Name과 같은 형태로 표현된다(ex : AppDomain-com.apple.iBooks). |
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 파일 내 정보
[그림 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 파일 내 정보
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부에서는 스마트폰 사용자들이 주로 이용하는 앱 유형에 따른 포렌식 분석 방법 등을 살펴본다.@
출처 : http://blog.naver.com/youseok0?Redirect=Log&logNo=10153805349
댓글 없음:
댓글 쓰기