IOS
데이터 획득[편집]
플래시 메모리 이미지 획득[편집]
플래시 메모리 이미지 획득 방법은 iOS 기기의 내부 데이터 파티션에 대해 이미징을 수행하여 데이터를 획득하는 방법이다. 이는 iOS 기기에 대해 관리자 권한을 획득하여야 수행할 수 있으며 이를 위해 탈옥(Jailbreak)이 필요하다. 관리자 권한을 획득하기 위해서는 DFU(Device Firmware Upgrade)[1] 모드에서 사용자가 제작한 커스텀 펌웨어로 부팅하는 방법을 사용하며 관리자 권한을 획득한 이후에는 iOS 운영체제 레벨에서 dd 명령어를 이용하여 섹터 단위로 데이터 파티션에 대한 이미지를 획득하게 된다. 아래 표는 iOS 사용 기기와 운영체제 버전에 따른 탈옥 가능 여부 및 가능 탈옥 프로그램을 기술한 내용이다.
기종/버전 | iOS 3 | iOS 4 | iOS 5 | iOS 6 | iOS 7 |
---|---|---|---|---|---|
iPhone 3G |
Sn0wbreeze(3.1.3) Redsn0w(3.0/3.0.1/3.1.2/3.1.3) PwnageTool(3.0/3.1/3.1.2/3.1.3) BlackRa1n(3.1/3.1.2) Spirit(3.1.3) |
Sn0wbreeze(4.3.3/4.2.1/4.1 /4.0.2/4.0.1/4.0) Redsn0w(4.2.1/4.1/4.0.2/4.0.1/4.0) PwnageTool(4.0/4.1/4.2.1) JailbreakMe(4.0/4.0.1) GreenPois0n(4.2.1) |
X |
X |
X
|
iPhone 3GS |
Sn0wbreeze(3.1.3) Redsn0w(3.0/3.0.1/3.1.2/3.1.3) PurpleRa1n(3.0) PwnageTool(3.1/3.1.2/3.1.3) BlackRa1n(3.1/3.1.2) Spirit(3.1.3) |
Sn0wbreeze(4.3.3/4.3.2/4.3.1/4.3/4.2.1/4.1/4.0.2/4.0.1/4.0) Redsn0w(4.3.5/4.3.4/4.3.3/4.3.2/4.3.1/4.3/4.2.6/4.2.1/4.1/4.0.2/4.0.1/4.0) PwnageTool(4.0/4.1/4.2.1/4.3.1/4.3.2/4.3.3) JailbreakMe(4.0/4.0.1/4.3.1/4.3.2/4.3.3) LimeRa1n(4.0.2/4.1) GreenPois0n(4.1/4.2.1) |
Sn0wbreeze(5.1.1/5.1/5.0.1/5.0) Redsn0w(5.1.1/5.1/5.0.1/5.0) PwnageTool(5.0.1) Absinthe(5.1.1) |
Sn0wbreeze(6.0.1/6.0) Redsn0w(6.0.1/6.0/6.1.3(세미탈옥)) Evasi0n(6.0/6.0.1/6.1/6.1.2) |
X
|
iPhone 4 |
Sn0wbreeze(3.1.3) RedSn0w(3.1.3) |
Sn0wbreeze(4.4.4/4.4.3/4.3.3/4.3.2/4.3.1/4.3/4.2.8/4.2.6/4.2.1/4.1/4.0.2/4.0.1/4.0) Redsn0w(4.3.5/4.3.4/4.3.3/4.3.2/4.3.1/4.3/4.2.6/4.2.1/4.1/4.0.2/4.0.1/4.0) JailbreakMe(4.0/4.0.1/4.2.8/4.3.1/4.3.2/4.3.3) LimeRa1n(4.0.2/4.1) GreenPois0n(4.1/4.2.1) PwnageTool(4.1/4.2.1/4.3.1/4.3.2/4.3.3) |
Sn0wbreeze(5.1.1/5.1/5.0.1/5.0) Redsn0w(5.1.1/5.1/5.0.1/5.0) PwnageTool(5.0.1) Absinthe(5.1.1) |
Sn0wbreeze(6.0.1/6.0) Redsn0w(6.0.1/6.0/6.1.3(세미탈옥)) Evasi0n(6.0/6.0.1/6.1/6.1.2) |
Evasi0n(7.0/7.0.1/7.0.2/7.0.3/7.0.4) |
iPhone 4S |
X |
X |
Redsn0w(5.1.1/5.0.1/5.0) Absinthe(5.0/5.0.1/5.1.1) CLI(5.0/5.0.1) |
Evasi0n(6.0/6.0.1/6.1/6.1.1/6.1.2) | Evasi0n(7.0/7.0.1/7.0.2/7.0.3/7.0.4) |
iPhone 5 |
X |
X |
X |
Evasi0n(6.0/6.0.1/6.1/6.1.2) | Evasi0n(7.0/7.0.1/7.0.2/7.0.3/7.0.4) |
iPhone 5S |
X |
X |
X |
X |
Evasi0n(7.0/7.0.1/7.0.2/7.0.3/7.0.4) |
Logical 획득[편집]
Logical 획득을 위해서는 공통적으로 USBMuxd라는 과정이 반복되어야 한다. USBMuxd 과정과 통신 개요, 신뢰성 검증 등을 위의 문서 링크를 참조하여 살펴본다.
데이터 추출[편집]
iOS 버전 및 기기별 차이점(iOS 6와 iOS7)[편집]
1. DB 테이블 구성도 변경
- (가) Library/CallHistory/call_history.db
- call_history.db의 테이블 구성도를 보면 data 테이블이 제외되었다.
- 좌 : iOS 6의 call_history.db
- 우 : iOS 7의 call_history.db
2. DB 스키마 변경
- (가) Library/AddressBook/AddressBook.sqlitedb
- AddressBook.sqlitedb 안의 ABPerson 테이블의 스키마 구조를 보면 guid와 PhonemeData가 추가되었다.
- 좌 : iOS 6의 ABPerson
- 우 : iOS 7에서의 ABPerson
- (나) Library/Calendar/Calendar.sqlitedb
- Calendar.sqlitedb 안의 Calendar 테이블의 스키마 구조를 보면 color_is_display, notes, bulk_request, subcal_account_id, push_key가 제외되었다.
- 상 : iOS 6의 Calendar
- 하 : iOS 7의 Calendar
- (다) Library/com.apple.itunesstored/itunesstored2.sqlitedb
- itunesstored2.sqlitedb 안의 ZMICROPAYMENTCLIEN 테이블의 스키마 구조를 보면 ZLASTQUEUECHECKDATE가 추가되었다.
- 좌 : iOS 6의 ZLASTQUEUECHECKDATE
- 우 : iOS 7의 ZLASTQUEUECHECKDATE
- (라) Library/Safari/Bookmarks.db
- Bookmarks.db 안의 bookmarks 테이블의 스키마 구조를 보면 syncable과 web_filter_status가 추가되었다.
- 좌 : iOS 6의 bookmarks
- 우 : iOS 7의 bookmarks
- (마) Library/Notes/notes.sqlite
- notes.sqlite 안의 ZNOTE 테이블의 스키마 구조를 보면 ZEXTERNALSEQUENCENUMBER가 추가되었다.
- 좌 : iOS 6의 ZNOTE
- 우 : iOS 7의 ZNOTE
- (바) Library/SMS/sms.db
- sms.db 안의 attachment 테이블의 스키마 구조를 보면 user_info, transfer_name, total_bytes가 추가되었다.
- 좌 : iOS 6의 attachment
- 우 : iOS 7의 attachment
3. 저장 파일 변경
- (가) 지도 데이터
- “Library/Maps” 경로에 저장되는 기본 지도 애플리케이션 관련 데이터에 FailedSearches.mapsdata와 지도 검색 결과를 저장하는 SearchResults.dat 파일이 추가되었다.
- 상 : iOS 6의 지도 데이터
- 하 : iOS 7의 지도 데이터
- (나) Safari 데이터
- Safari 관련 데이터에 최근 검색어를 저장하는 RecentSearches.plist와 SyncedTabsMetadata.plist 파일이 추가되었다.
- 상 : iOS 6의 Safari 데이터
- 하 : iOS 7의 Safari 데이터
4. 저장 경로 변경
- (가) Library/Safari
- iOS 7부터 “var/mobile/Applications/com.apple.mobilesafari/Library/Safari” 경로가 새로 생성되었고 Library/Safari 경로에 저장되었던 Safari 관련 데이터 중 Bookmarks.db를 제외한 History.plist와 SuspendState.plist는 “/var/mobile/Applications/com.apple.mobilesafari/Library/Safari” 경로에 저장되었다.
- 상 : iOS 6의 Library/Safari
- 하 : iOS 7의 Library/Safari와 com.apple.mobilesafari/Library/Safari
저장 데이터 형식 별 분석 방법[편집]
iOS 기기는 시스템 정보 및 애플리케이션 사용 정보를 저장하기 위해 SQLite Database 파일 포맷과 Plist 파일 포맷을 사용한다. 이러한 데이터는 주된 사용 정보를 저장하고 있으므로 파일의 포맷을 파악하고 저장된 내용을 분석할 수 있어야한다.
1. SQLite DB 파일
애플 iOS 기기는 캘린더, 문자, 메모 등 기본 애플리케이션 정보를 저장할 때 주로 데이터베이스 포맷을 사용하고 있다. 여기에 사용하는 데이터베이스는 오픈 소스의 공개 데이터베이스 패키지인 SQLite 데이터베이스 소프트웨어로, 모바일 기기와 오픈소스 애플리케이션에 사용되는 대표적인 관계형 데이터베이스이다. SQLite 데이터베이스의 파일 확장자는 주로 .sqlitedb지만 .db나 그 밖의 확장자가 사용되기도 한다.
SQLite 데이터베이스를 열어서 분석하기 위해서는 SQLite Browser (http://sourceforge.net/projects/sqlitebrowser/) 나 RazorSQL (http://razorsql.com), SQLiteExpert (http://www.sqliteexpert.com/) 와 같은 SQLite 뷰어 프로그램이 필요하다. 파이어폭스에는 무료 SQLite Manager 플러그인이 포함되어 있다. 아래 그림은 대표적인 SQLite 뷰어 프로그램인 SQLiteExpert로 SQLite 데이터베이스를 열람한 모습이다.
SQLite 데이터베이스를 실행하고 나면 다양한 내장 SQLite 명령어를 사용해서 정보를 확인하거나 수정할 수 있다. 아래 표는 SQLite에서 사용 가능한 SQL 명령어 종류를 나타낸다.
종류 | 명령문 | 설명 |
---|---|---|
새로운 구조·정의 작성 |
CREATE TABLE | 새로운 테이블 작성 |
CREATE VIEW | 새로운 뷰 작성 | |
CREATE TRIGGER | 새로운 트리거 작성 | |
CREATE INDEX | 새로운 인덱스 작성 | |
기존의 구조·정의 삭제 |
DROP TABLE | 기존 테이블 삭제 |
DROP VIEW | 기존의 뷰 삭제 | |
DROP TRIGGER | 기존의 트리거 삭제 | |
DROP INDEX | 기존의 인덱스 삭제 | |
테이블·정보 조작 |
INSERT | 테이블에 새로운 행 삽입 |
UPDATE | 테이블의 행 또는 항목의 값 갱신 | |
DELETE | 테이블에서 행 삭제 | |
SELECT | 테이블 또는 뷰에서 행 선택 | |
트랜젝션 조작 |
BEGIN | 트랜젝션 시작 |
END | 트랜젝션 종료 | |
COMMIT | 트랜젝션 인증 | |
ROLLBACK | 트랜젝션 내의 쿼리 중지 | |
그 외의 조작 |
COPY | 파일 또는 테이블간의 데이터 복사 |
ATTACH DATABASE | 현재 데이터베이스 접속에 기존의 데이터베이스 추가 | |
DETACH DATABASE | 추가 데이터베이스 연결을 끊음 |
가장 보편적인 명령어는 데이터베이스에서 데이터를 검색하는 Select 명령어이다. SQLite Select문 선택(Selection), 프로젝션(projection), 조인(Joining)의 세 가지 기능을 가지고 있다. SQLite의 선택 기능을 사용하면 테이블에서 질의 결과로 반환될 행(row)을 선택할 수 있으며 다양한 조건을 사용하여 표시될 행을 제한할 수 있다. 또한 프로젝션 기능을 사용하면 테이블에서 질의 결과로 반환될 열(column)을 사용자가 필요한 만큼 선택할 수 있으며, 조인 기능을 사용하면 서로 다른 테이블 간에 링크를 생성하여 각 테이블에 저장된 데이터를 함께 가져올 수 있다. 아래 그림은 SELECT문을 사용하여 SQLite 데이터베이스를 분석하는 예제이다.
2. Plist 파일
Plist 파일 포맷은 Apple 기반의 시스템에서 사용되는 속성 정보 저장 포맷으로 Propery List를 의미하는 파일이다. Plist 파일은 텍스트 형태의 파일과 바이너리 형태의 파일이 있다. 텍스트 형태의 Plist 파일은 텍스트 편집기로 열람 및 수정이 가능하다. 바이너리 형태의 Plist 파일은 별도의 해석 도구가 필요하다. 바이너리 Plist 파일은 12개의 오브젝트로 구성되어 있으며 오브젝트의 구성을 조합하여 하나의 파일 형태를 구성한다.
바이너리 Plist 파일의 오브젝트는 1바이트로 표현되며 상위의 4비트를 구분자로 사용하고 하위 4비트를 길이 정보로 사용한다. 오브젝트의 유형과 포맷은 아래 표와 같다.
Object | Format | Size & Ref | 설명 | |
---|---|---|---|---|
null | 0000 0000 | |||
bool | false | 0000 1000 | false | |
true | 0000 1001 | true | ||
fill | 0000 1111 | fill byte | ||
int | 0001 nnnn | value | Big Endian | |
real | 0010 nnnn | value | Big Endian | |
date | 0011 0011 | value | Big Endian | |
data | 0100 nnnn | [int] value | nnnn은 Byte의 크기 | |
string | Ascii | 0101 nnnn | [int] value | Ascii String |
Unicode | 0110 nnnn | [int] value | Unicode String | |
uid | 1000 nnnn | value | nnnn + 1 | |
array | 1010 nnnn | [int] objref | nnnn count | |
set | 1100 nnnn | [int] objref | nnnn count | |
dict | 1101 nnnn | [int] keyref [int] objref |
nnn count |
예를 들어 “URL”이라는 Ascii 문자열은 3바이트의 길이를 가진다. 이는 “53 55(U) 52(R) 4C(L)”과 같이 오브젝트 구분자를 붙이게 된다. 0x10은 길이 값이 1바이트라는 것을 나타내고 2바이트인 경우 0x11, 4바이트는 0x12로 나타내게 된다. 각 오브젝트를 아래 그과 같이 구성하는 것은 Dict와 Array 오브젝트가 수행한다. Dict는 Dictionary의 줄임말로 자료 항목을 하나의 집합으로 구성해주는 역할을 한다. Array는 지정된 오브젝트를 나열하는 역할을 한다. Dict와 Array 오브젝트가 각 오브젝트를 구성하기 위해 오브젝트의 번호를 이용하며 이용되는 오브젝트 번호는 파일에 기록되어있는 순서대로 부여된다.
위 그림은 plist 포맷의 오브젝트의 구성을 나타내며, 빨간 네모박스 부분이 오브젝트 구분자이로 가장 처음 기록된 “5F 10 15"를 0번부터 부여하고 파란 네모박스 부분의 "D6"을 15번으로 부여한다. 이 오브젝트 번호는 순차적으로 부여되지만 별도로 저장되지는 않는다. 그리고 이 오브젝트 번호를 이용해 Dictionary를 구성하고 Array를 갖게 된다. 파란 박스의 "D6" 이 Dict의 구분자이며 Dictionary로 구성할 오브젝트가 6쌍이 있음을 나타낸다. 위 그림에서와 같이 "D6" 이후 6바이트인 “03 04 05 06 07 08”이 Key가 되며, 다음 6바이트인 “09 0A 0B 0C 0E 10"이 Value가 된다. Plist 파일은 Key와 Value의 한 쌍으로 값을 표현하며 Key가 되는 오브젝트와 Value가 되는 오브젝트를 Dict가 매핑 해준다.
시스템 정보[편집]
기기 정보
1. /var/mobile/Library/ConfigurationProfiles/PayloadManifest.plist
PayloadManifest.plist 파일에서는 기기가 속해 있는 통신사업자 이름이 기록되어있다.
2. /var/preferences/SystemConfiguration/com.apple.network.identification.plist
com.apple.network.identification.plist 파일에서는 기기 명과 호스트 명이 기록되어있다.
3. /var/wireless/Library/Preferences/com.apple.commcenter.plist
com.apple.commcenter.plist 파일에서는 기기 번호와 기기에 번호가 등록된 날짜 및 시간이 기록되어있다.
4. Info.plist
iTunes를 사용하여 데이터를 백업하게 되면 백업 폴더 내에 Info.plist 파일이 생성된다. 이 파일에는 기기 이름, GUID, 전화번호, 제품 종류, 제품 버전 등이 저장된다.
사용자 행위 정보[편집]
주소록 정보[편집]
사용자는 자신이 사용하는 연락처 정보를 스마트폰에 저장하여 사용한다. 연락처 정보에는 이름, 전화번호, 이메일 주소, 직장 등이 저장된다. 이외에 부가적인 직책, 부서, 메신저 아이디 등의 정보도 입력하여 저장할 수 있다.
연락처 정보는 기본 전화번호부의 경로인 “Library/AddressBook/AddressBook.sqlitedb” 와 카카오톡 “Library/PrivateDocuments/Talk.sqlite”, 바이버 “Documents/Contacts.data”, 마이피플 “Documents/Air21-0.1.2.sqlite” 등에 저장된다.
통화기록 정보[편집]
사용자가 스마트폰으로 일반 전화나 영상 통화를 하면 그에 대한 기록이 남는다. 통화기록에는 상대방 전화번호, 발신/수신 여부, 발신/수신 시각, 통화 시간 등이 저장된다.
통화기록 정보는 기본 통화기록 경로인 “Library/CallHistory/call_history.db” 와 Skype “Library/Application Support/Skype/[계정]/main.db” 등에 저장된다.
메시지 정보[편집]
사용자는 스마트폰으로 여러 사람들과 메시지를 주고받는다. 이 경우 상대방 전화번호, 발신/수신 여부, 발신/수신 시각, 메시지 내용 등이 저장된다.
메시지 정보는 기본 메시지 기록 경로인 “Library/SMS/sms.db” 와 카카오톡 “Library/PrivateDocuments/Talk.sqlite” 등에 저장된다.
일정 정보[편집]
사용자는 스마트폰에 중요한 일정이나 생일과 같은 기념일을 기록한다. 이 경우 일정 내용, 일정 등록 시간, 일정 수정 시간, 일정 장소 등이 저장된다.
일정 정보는 기본 캘린더 경로인 “Library/Calendar/Calendar.sqlitedb”, 2Do “Documents/2do.db“ 등에 저장된다.
메모 정보[편집]
사용자는 필요한 정보를 스마트폰의 메모장에 기록한다. 이 경우 메모한 시간, 메모 제목, 메모 내용 등이 저장된다.
일정 정보는 기본 메모 경로인 “Library/Notes/notes.sqlite” 에 저장된다. 메모 데이터는 SQLite 형식으로 저장되어 있다. 아래 그림은 추출된 메모 데이터의 테이블 구성도이다.
일정 데이터의 분석을 위하여 ZNOTE 테이블을 사용한다. ZNOTE 테이블에는 메모를 작성한 날짜, 수정한 날짜, 내용 등이 저장된다.
웹 브라우저 정보[편집]
1. 북마크 정보
사용자는 스마트폰의 웹 브라우저로 인터넷 서핑을 할 때 관심 있는 사이트를 즐겨찾기에 추가한다. 이 때 즐겨찾기에 등록한 사이트 주소, 사이트 이름 등이 저장된다. iOS의 기본 웹 브라우저는 Safari 이며 “Library/Safari/Bookmarks.db” 경로에 Safari에서 북마크한 사이트 정보가 저장된다. 북마크 데이터는 SQLite 형식으로 저장되어 있다. [그림 7-59]는 추출된 북마크 데이터의 테이블 구성도이다.
북마크 데이터의 분석을 위하여 bookmarks 테이블을 사용한다. bookmarks 테이블에는 북마크한 사이트 이름, url 등이 저장된다.
2. 히스토리 정보
사용자는 스마트폰의 웹 브라우저로 인터넷 서핑을 할 때 여러 사이트를 방문한다. 이 때 방문한 사이트 이름, 사이트 주소, 방문 시간 등이 히스토리 정보로 저장된다. iOS의 기본 웹 브라우저는 Safari 이며 “Library/Safari/History.plist” 경로에 Safari에서 남긴 히스토리 정보가 저장된다. Safari 히스토리 데이터는 방문한 사이트 이름, url, 방문 횟수 등이 plist 형식으로 저장되어 있다. [그림 7-61]은 추출된 Safari 히스토리 데이터이다.
지도 정보[편집]
사용자는 잘 모르는 장소에 가야할 때나 주변의 교통정보, 식당 정보가 궁금할 때 스마트폰의 지도 애플리케이션으로 검색해서 정보를 얻는다. 또한 검색한 내용을 북마크해서 다음에 쉽게 찾아볼 수 있다.
지도 정보는 네이버맵 “Documents/NMap/cache/History.db”, “Documents/NMap/data/NMap.db” 과 다음맵 “Documents/map/data/history.db”, “Documents/map/data/[계정]/favorite.db” 에 저장된다.
WIFI 정보[편집]
사용자는 무료로 Wi-fi가 제공되는 장소에 가면 유료인 3G나 4G대신 Wi-fi에 접속한다. Wi-fi에 접속하기 위해서는 보통 ID와 패스워드가 필요하다. 따라서 사용자가 Wi-fi에 접속하면 접속한 시간과 접속한 와이파이명, ID와 패스워드, 와이파이 종류 (WPA) 등이 저장된다.
Wi-fi 정보는 “SystemConfiguration/com.apple.wifi.plist” 경로에 plist 형식으로 저장되어 있다. 아래 그림은 추출된 Wi-fi 데이터이다.
애플리케이션 정보[편집]
iOS 사용자는 AppStore를 통해 필요한 애플리케이션을 다운받아 설치한다.
애플리케이션 정보는 “Library/com.apple.itunesstored/itunesstored2.sqlitedb” 경로와 Info.plist 파일에 저장된다.
SNS 사용 정보[편집]
사용자는 스마트폰의 SNS를 통해 온라인상에서 자신의 지인 뿐 만 아니라 불특정 타인과 관계를 맺고 게시물을 올려 좋아하는 사진이나 글귀를 공유하며 자신의 근황을 전달한다. 또한 한 사람을 특정하여 메시지를 주고받기도 한다. SNS 사용 정보에는 마지막으로 로그인한 계정, 발신/수신한 메시지 내용, 게시한 내용 등이 저장된다.
SNS 사용 정보는 트위터 “Library/Preferences/com.atebits.Tweetie2.plist” 와 페이스북 “Library/Preferences/com.facebook.Facebook.plist” 경로에 저장된다.
1. 트위터
트위터 정보는 계정, 마지막으로 업데이트한 날짜 등이 plist 형태로 저장된다. 아래 그림은 추출된 트위터 데이터이다.
2. 페이스북
페이스북 정보는 마지막으로 로그인한 계정, 마지막으로 업데이트한 날짜, 기기 정보 등이 plist 형태로 저장된다. 아래 그림은 추출된 페이스북 데이터이다.
문서 뷰어 사용 정보[편집]
사용자는 스마트폰의 웹 브라우저에서 문서 파일을 다운로드 하거나 직접 스마트폰에 문서 파일을 넣어서 문서 뷰어 애플리케이션을 통해 해당 문서 파일을 열람한다. 문서 뷰어 사용 정보에는 열어본 문서 제목, 문서 경로, 웹 다운로드 URL 등의 정보가 저장된다.
문서 뷰어 사용 정보는 어도비리더 “Library/Preferences/com.adobe.Adobe-Reader.plist”, 굿리더 “Library/Preferences/com.goodiware.GoodReaderIPad.plist”, “Library/SaveState.sqlitedb” 경로에 저장된다.
클라우드 사용 정보[편집]
사용자는 클라우드에 파일을 업로드 하여 필요할 때 다시 다운받거나 다른 사용자와 공유를 하기도 한다. 클라우드 사용 정보에는 업로드, 다운로드한 파일 이름과 자동동기화 했을 경우 자동동기화 계정 정보가 저장된다.
클라우드 사용 정보는 드랍박스 “Library/Preferences/com.getdropbox.Dropbox.plist” 또는 유클라우드 “Library/Preferences/kr.co.show.ucloud.plist”, “Library/Preferences/kr.co.show.ucloudipad.plist” 경로에 저장된다.
1. 드랍박스
드랍박스 정보는 plist 형식으로 저장되어 있다. 아래 그림은 추출된 드랍박스 데이터이다. 드랍박스 데이터에는 사용자 계정이 저장된다.
2. 유클라우드
유클라우드는 PC의 개인 데이터를 자동으로 보관(동기화)해주고, 아이폰 또는 아이패드에서 저장된 데이터를 직접 이용할 수 있는 클라우드 애플리케이션이다.
유클라우드 정보는 plist 형식으로 저장되어 있다. 아래 그림은 추출된 유클라우드 데이터이다. 유클라우드 데이터에는 등록된 사용자의 메일주소, 계정, 비밀번호, 이름 등이 저장된다.
백업 정보[편집]
사용자는 iOS 기기에 저장된 데이터를 실수로 삭제하거나 기기를 변경할 때를 대비하여 백업을 한다. iTunes를 이용하여 백업할 경우 Info.plist에 마지막 백업 날짜가 저장된다. Info.plist 파일은 iTunes를 사용하여 데이터를 백업하게 되면 백업 폴더 내에 생성된다. 아래 그림은 추출된 Info.plist 데이터 중 마지막 백업 날짜이다.
포렌식 분석 도구[편집]
IOS 포렌식 분석 도구로 Micro Systemation XRY, UFED Touch Ultimate, GMD, Backup Browser, iTools 등의 도구가 있다. 세부 내용은 위의 문서 링크를 참조한다.
IOS 기기 구성[편집]
아이폰 4S[편집]
제조사 | 부품 |
---|---|
Samsung | A5 Chip |
Samsung / Toshiba | Nand Flash |
Samsung | DRAM |
Broadcom | WLAN, Bluetooth, GPS |
LG | Camera |
Corning / TPK Holdings / Wintek | Touch Screen |
LG | Display |
아이패드 4[편집]
제조사 | 부품 |
---|---|
Apple | A6X Chip |
Hynix | Nand Flash |
Elpida | DRAM |
Broadcom | WLAN, Bluetooth, GPS |
Corning / TPK Holdings / Wintek | Touch Screen |
LG | Display |
용어 정리[편집]
- ↑ DFU: 모든 자료를 지우며 공장 초기화 상태로 만드는 것