Learning iOS Forensics - Sample Chapter
Learning iOS Forensics - Sample Chapter
ee
Sa
pl
Acknowledgments
My first thank you goes to Pasquale Stirparo. We met in 2009 during a course on digital
investigations at the University of Milan. Since then, we became great friends, both with
a common passion for digital forensics and the mobile world. This book is the outcome of
our continuous discussions on the subject and the exchange of knowledge and opinions.
Thank you, Pas! It's always nice working with you!
We, the authors, would like to thank Marco Carlo Spada and Paolo Dal Checco, for their
valuable help in revising the entire book and their useful suggestions to improve the
final result.
I also want to thank Marco Scarito and Francesco Picasso, my colleagues and friends.
Without their daily efforts and our continuous exchange of knowledge, this book would
not have been written. I also want to thank my parents, Roberta and Mario, and their (and
also mine!) dogs, Nina and Sissi, for supporting me every day!
Then, I would like to thank all the mentors I've had over the years: Giovanni Ziccardi,
Gerardo Costabile, Rob Lee, Raul Siles, Jess Garcia, Alessandro Borra, and Alberto
Diaspro. Also, a big thank you to my friends and colleagues: Giuseppe Vaciago, Litiano
Piccin, Davide Gabrini, Davide D'Agostino, Stefano Fratepietro, Paolo Dal Checco,
Andrea Ghirardini, Francesca Bosco, Daniela Quetti, Valerio Vertua, Andrey Belenko,
and Vladimir Katalov. Without learning from these teachers and exchanging information
with my colleagues, there is not a chance I would be doing what I do today. It is because
of them and others who I may not have listed here that I feel proud to pass my knowledge
on to those willing to learn.
Pasquale Stirparo (@pstirparo) is currently working as a Senior Information
Security and Incident Response Engineer at a Fortune 500 company. Prior to this, he
founded SefirTech, an Italian company focusing on mobile security, digital forensics,
and incident response. Pasquale has also worked at the Joint Research Centre (JRC) of
European Commission as a digital forensics and mobile security researcher, focusing
mainly on security and privacy issues related to mobile devices communication protocols,
mobile applications, mobile malware, and cybercrime. He was also involved in the
standardization of digital forensics as a contributor (the first from Italy) to the
development of the standard ISO/IEC 27037: Guidelines for identification, collection
and/or acquisition and preservation of digital evidence, for which he led the WG
ISO27037 for the Italian National Body in 2010.
The author of many scientific publications, Pasquale has also been a speaker at several
national and international conferences and seminars on digital forensics and a lecturer on
the same subject for Polytechnic of Milano and United Nations (UNICRI). Pasquale is a
Ph.D candidate at Royal Institute of Technology (KTH), Stockholm. He holds an MSc in
computer engineering from Polytechnic of Torino, and he has GCFA, GREM, OPST,
OWSE, and ECCE certifications and is a member of DFA, Tech and Law Center, and
ONIF. You can find his details on LinkedIn at
https://www.linkedin.com/in/pasqualestirparo.
Acknowledgments
This book would have hardly been possible without my great friend Mattia Epifani, who
agreed to join me in this incredible journey. Our teamwork and brainstorming sessions,
along with his knowledge and advice, have been invaluable. Thank you!
We, the authors, would like to thank Marco Carlo Spada and Paolo Dal Checco, for their
valuable help in revising the entire book and their useful suggestions to improve the
final result.
I would like to thank my girlfriend, Silvia, for her patience during my many sleepless
nights spent on writing and researching. Her continuous encouragement and love have
been a source of strength and motivation for me. I am also very grateful to my friends and
colleagues, Marco Scarito and Francesco Picasso, for all the years we have spent growing
together in this amazing field and for the continual exchange of thoughts and ideas.
Finally, a big thank you to my parents, Francesco and Silvia, my sisters, Stella and
Carmen, and my brother, Rocco, for their endless support throughout my life.
I also owe a thank you to Maurizio Agazzini, Marco Ivaldi, and Andrea Ghirardini, the
very first people who taught me everything when I was just a "kid out of university."
They made me fall in love with this field of work. Another thank you goes to Francesca
Bosco and Giuseppe Vaciago for putting their trust in me since the very beginning and
for their guidance throughout these years. Thanks to my friends and colleagues Paolo Dal
Checco, Stefano Fratepietro, Daniela Quetti, and Valerio Vertua as well. Last but not
least, a huge thank you goes to Heather Mahalik, Lenny Zeltser, and Raul Siles for being
great instructors and sources of inspiration and the whole SANS family and the DFIR
community, where the knowledge and passion of great-minded and extraordinary people
come together. Thank you!
Chapter 3, Evidence Acquisition from iDevices, explains how to acquire data from
iOS devices with respect to their model and iOS version, which was introduced in the
previous chapter. Physical, logical, and advanced logical acquisitions are discussed, along
with the most useful techniques on how to crack or bypass the passcode set by the user.
This chapter presents examples of acquisitions realized with various tools, and provides a
useful flow chart before dealing with the acquisition stage.
Chapter 4, Analyzing iOS Devices, provides a complete set of information on how to
analyze data stored in the acquired device. Both preinstalled (such as address book,
call history, SMS, MMS, and Safari) and third-party applications (such as chat, social
network, and cloud storage) are explained, with particular attention to the core artifacts
and how to search and recover them.
Chapter 5, Evidence Acquisition and Analysis from iTunes Backup, gives an overview on
how to deal with the analysis of an iTunes backup taken from a PC or a Mac, focusing on
how to read its content and how to try to attack a protected password set by the user. This
chapter also explains how to recover passwords stored in the device when the backup is
not protected by a password of its own or when the analyst is able to crack it.
Chapter 6, Evidence Acquisition and Analysis from iCloud, deals with the case in which
the owner is using iCloud to store the device backup. You will learn how to recover the
credentials or the authorization token useful to retrieve the information stored in
Apple servers.
Chapter 7, Applications and Malware Analysis, is an introduction to the core concepts
and tools used to perform an application assessment from a security point of view.
You will also learn how to deal with mobile malware that may be present on
jailbroken devices.
Appendix A, References, is a complete set of references that will help you understand
some core concepts explained in the book so that you can go deeper into specific topics.
Appendix B, Tools for iOS Forensics, is a comprehensive collection of open source,
freeware, and commercial tools used to acquire and analyze the content of iOS devices.
Appendix C, Self-test Answers, contains the answers to the questions asked in the chapters
of the book.
Appendix D, iOS 8 What It Changes for Forensic Investigators, is an add-on covering
the recent news and challenges introduced by the latest version of iOS available at the
time of writing this book. This is not present in the book but is available as an online
chapter at https://www.packtpub.com/sites/default/files/
downloads/3815OS_Appendix.pdf.
iOS devices
According to the commonly used definition, an iOS device is a device that uses the
iOS operating system. Currently, we have four types of devices: iPhone, iPad, iPad
mini, and iPod touch.
iPhone
The most famous iDevice is certainly the iPhone, which has caused a complete
revolution in the concept of cellphones, being based on a multi-touch screen,
a virtual keyboard, and few physical buttons (the Home, Volume, Power
on/off, and Ringer/Vibration buttons).
iPhone 3G
The second model produced by Apple, known as iPhone 3G, since it added support
for the 3G cellular network, is equipped with a S5L8900 ARM processor and 128 MB
of RAM. In addition to support for the 3G network (UMTS/HSDPA up to 3.6 Mbit/s
at 850, 1900, and 2100 MHz), the main innovation in the hardware was the presence
of a GPS chip, which is used for geolocation services. The phone is identified by the
model number A1241 (or A1324 for devices sold in China) and the string iPhone1,2.
With regards to the software, it originally used iPhone OS 2.0. The latest supported
version is iOS 4.2.1.
iPhone 3GS
The third model produced by Apple, known as iPhone 3GS, is equipped with a
S5L8920 833 MHz ARM processor (underclocked to 600 MHz) and 256 MB of RAM.
From the point of view of the forensic analysis, it is interesting to highlight that
starting from this model, it is possible to geotag images, making it possible for an
investigator to identify the place where a picture was taken. The phone is identified
by the model number A1303 (or A1325 for devices sold in China) and the string
iPhone2,1. With regards to the software, it originally used iPhone OS 3.0. The latest
supported version is iOS 6.1.6. The production of these devices was discontinued in
September 2012.
[ 24 ]
Chapter 2
iPhone 4
The fourth model produced by Apple is known as iPhone 4. It is a completely
renewed device compared to the previous iPhone models, both in appearance and
functionality. The device is more squared in its aesthetic form and presents several
hardware improvements: an Apple A4 S5L8930 1 GHz processor (underclocked to
800 MHz), 512 MB of RAM, a 5 MP camera with ability to shoot videos in HD (720p),
and a 3-axis gyroscope. The phone is identified by three model numbers: A1332
(GSM model) and A1349 (CDMA model) and by three strings iPhone3,1; iPhone3,2;
and iPhone3,3. With regards to the software, it originally used iOS 4.0, which is the
first version with the new name. The latest supported version is iOS 7.1.2.
iPhone 4s
The fifth model produced by Apple, known as iPhone 4s, is aesthetically very similar
to iPhone 4, except for the presence of two cuts on the upper part of both sides. The
new hardware consists of an Apple A5 S5L8940 1 GHz processor (underclocked
to 800 MHz), 512 MB of RAM, support for HSPA+ up to 14.4 Mbit/s, and an 8 MP
rear camera with ability to shoot videos in HD (1080p). The phone is identified by
the model number A1387 (or A1431 for devices distributed in China) and the string
iPhone4,1. With regards to the software, it originally used iOS 5.0. Currently, iPhone
4s is supported by the latest available version (iOS 8.1).
iPhone 5
The sixth model produced by Apple, known as iPhone 5, uses an Apple A6 S5L8950
processor 1.3 GHz, 1 GB of RAM, and it supports HSPA+ and LTE cellular networks.
It is also equipped with a 1.2 MP front camera for pictures and video up to 720p HD
quality. It is the first device in the series with a 4" screen. The phone is identified
by three model numbers: A1428 (GSM model), A1429 (GSM and CDMA model),
and A1442 (CDMA model for China) and by two strings: iPhone5,1 (USA version
with LTE support) and iPhone5,2 (other countries). With regards to the software,
it originally used iOS 6.0. Currently, iPhone 5 is supported by the latest available
version (iOS 8.1).
[ 25 ]
iPhone 5c
The seventh model produced by Apple, known as iPhone 5c, uses the same
processor and the same amount of RAM as the iPhone 5 model, from which it differs
in an LTE network support extended to the whole world and a more powerful
battery. The phone is identified by five model numbers: A1526 (China), A1532 (North
American model), A1456 (the U.S. and Japanese model), A1507 (Europe), and A1529
(Asia and Oceania) and by two strings: iPhone5,3 and iPhone5,4. With regards to the
software, it originally used iOS 7.0. Currently, iPhone 5c is supported by the latest
available version (iOS 8.1).
iPhone 5s
The eighth model produced by Apple, known as iPhone 5s, uses an Apple A7
S5L8960 processor 1.3 GHz, 1 GB of RAM, and the biometric authentication system
based on fingerprints, called Touch-ID. It also has a motion coprocessor Apple
M7. The phone is identified by five model numbers: A1528 (China), A1533 (North
American model), A1453 (the U.S. and Japanese model), A1457 (Europe), and A1530
(Asia and Oceania) and by two strings: iPhone6,1 and iPhone6,2. With regards to the
software, it originally used iOS 7.0. Currently, iPhone 5s is supported by the latest
available version (iOS 8.1).
iPhone 6
The ninth model produced by Apple, known as iPhone 6, uses an Apple A8 APL1011
processor 1.38 GHz with 1 GB of RAM. It has also a motion coprocessor Apple M8.
The phone is identified by two model numbers: A1549 (North America) and A1586
(global) and by the string iPhone7,2. With regards to the software, it originally used
iOS 8.0. Currently, iPhone 6 is supported by the latest available version (iOS 8.1).
iPhone 6 Plus
The tenth model produced by Apple, known as iPhone 6 Plus, uses an Apple A8
APL1011 processor 1.38 GHz with 1 GB of RAM. It has also a motion coprocessor
Apple M8. The phone is identified by two model numbers: A1522 (North America)
and A1524 (global) and by the string iPhone7,1. With regards to the software, it
originally used iOS 8.0. Currently, iPhone 6 Plus is supported by the latest available
version (iOS 8.1).
[ 26 ]
Chapter 2
iPad
After the success of the iPhone, Apple carried out the project of designing and
producing a larger version, which for the first time gave substance to Steve Jobs'
idea in 1983:
"Apple's strategy is really simple. What we want to do is we want to put an
incredibly great computer in a book that you can carry around with you."
After the launch of the first iPad, Jobs said that Apple had begun to develop the iPad
tablet before iPhone, but that had subsequently decided to concentrate its efforts in
the development of iPhone.
iPad 2
The second model of iPad, known as iPad 2, is equipped with a 1 GHz S5L8940 ARM
processor (known as Apple A5) and 512 MB of RAM. Compared to the previous
version, Apple introduced a front and a rear camera of 0.75 MP. It was produced in
three models: Wi-Fi only (model number A1395), Wi-Fi and GSM (model number
A1396), and Wi-Fi and CDMA (model number A1397). There are four hardware
strings: iPad2,1 (Wi-Fi only); iPad2,2 (Wi-Fi and GSM); iPad2,3 (CDMA and Wi-Fi);
and iPad2,4 (Wi-Fi only with S5L8942 processor, known as A5 Rev A). With regards
to the software, it originally used iOS 4.3. Currently, it is still supported by the latest
version available (iOS 8.1).
[ 27 ]
iPad Air
The fifth model of iPad, known as iPad Air, is equipped with a 1.4 GHz S5L8965
ARM processor (known as Apple A7) and 1 GB of RAM memory. It was produced
in two models: Wi-Fi only (model number A1474) and cellular and Wi-Fi (model
number A1475). There are two hardware strings of identification: iPad4,1 (Wi-Fi
only) and iPad4,2 (Wi-Fi and cellular). With regards to the software, it originally
used iOS 7.0.3. Currently, it is still supported by the latest version available (iOS 8.1).
iPad mini
The first model of iPad mini, a smaller version of the iPad, is known simply as iPad
mini. It is equipped with a 1 GHz S5L8942 ARM processor (known as the Apple A5
Rev A) and 512 MB of RAM. It was produced in three models: Wi-Fi only (model
number A1432); Wi-Fi and GSM (model number A1454); and Wi-Fi, GSM and
CDMA (model number A1455). There are three hardware strings of identification:
iPad2,5 (Wi-Fi only); iPad2,6 (Wi-Fi and GSM); and iPad2,7 (Wi-Fi, GSM, and
CDMA). With regards to the software, it originally used iOS 6.0.1. It is currently still
supported by the latest version available at the time of writing the book (iOS 8.1).
[ 28 ]
Chapter 2
iPod touch
The iPod touch device is a media player that looks like the iPhone and uses the iOS
operating system. It can play media and video games. It includes a Wi-Fi connection
so that it can access the Internet with the mobile version of Safari, purchase songs
online from the iTunes Store, and download apps from the App Store.
[ 29 ]
[ 30 ]
Chapter 2
Core OS: This level consists of file system, memory management, security,
power management, TCP/IP, sockets, and encryption
Media: This level consists of OpenAL, audio, image, video, and OpenGL
[ 31 ]
The top bar that displays the telephone signal, any 3G/Wi-Fi/Bluetooth
active connections, and the battery status
The central part containing the icons of the applications in your device
The home screen appears whenever the user unlocks the device or presses the Home
button while in another app.
The complete list of all the operating system versions produced by Apple is published
and frequently updated at http://theiphonewiki.com/wiki/Firmware. At
http://www.ipswdownloader.com/, it is possible to download all firmware for
all models.
iDevice identification
It is very useful for a forensic investigator to be able to recognize the specific
model of an iOS device while conducting a search and seizure or prior to an
acquisition activity.
The recognition phase can be performed in four ways:
The first method can be used by practicing the identification of the unique
characteristics of each model. In some cases, it may be a complex assessment
and it is therefore advisable to confirm the first evaluation with one of the other
three methods.
[ 32 ]
Chapter 2
The second method requires you to identify, on the back of the device, the model
number. As reported in the previous tables from the model number, it is easy to
identify the type of device. In the example shown in the following screenshot, it is
possible to identify the model as an A1303 or an iPhone 3GS with 16 GB memory:
The third method is to retrieve the information directly, interacting with the device
connected to a computer. As we will explore later on, once you turn on an iDevice,
it can be password-protected and present a view to insert the lock code. Regardless
of the knowledge of the code or the ability to overcome it or violate it, the device can
communicate some information when connected to a computer.
Very useful in this context is the collection of tools and libraries available at http://
www.libimobiledevice.org/ and preinstalled in the Linux distributions Santoku
(https://santoku-linux.com/) and DEFT 8.1 (http://www.deftlinux.net).
Using the ideviceinfo command, it is possible to extract some information from the
device, with no need to unlock it.
The information that can be extracted is as follows:
Device name
Device class
Hardware model
iOS version
Telephony capability
Unique device ID
[ 33 ]
In the example shown in the following screenshot, it is possible to identify that the
connected device is a Wi-Fi only iPad mini 1 (hardware model P105AP) with OS 6.1.2
(build 10B146) called "iPad di Mattia":
[ 34 ]
Chapter 2
Volume Header File: This file defines the basic structure of the volume, as
Allocation File: This file includes a bitmap with the used and unused
Catalog File: This file defines the structure of the directories in the file
Extents Overflow File: This file contains pointers to additional extents for
Startup File: This file contains the information required at system boot
the size of each allocation block, the number of used and free blocks, and the
size and position of the other special files
[ 35 ]
Allocation File
Catalog File
Attributes File
Startup File
Both the special and user file are stored in forks or in a set of allocation blocks. The
space is usually allocated in clumps, where the size of a clump is a multiple of the
size of a block. The contiguous allocation blocks for a given file are grouped into
extents. Each extent is characterized by a starting allocation block and by the number
of blocks, which indicates how many blocks contain data from that specific file.
In the boot blocks and startup files, the first 1024 bytes of a volume are reserved as
boot blocks and may contain information requested during the startup of the system.
Alternatively, boot information can be found within the startup file, which allows
you to store a greater amount of information.
A volume header file, a 512 byte data structure, contains the volume information,
including the location of other data structures. It is always located at the beginning
of the block 2 or 1024 bytes after the beginning of the volume. A copy of the volume
header file, called the alternate volume header, is 1024 bytes before the end of the
volume. The first 1024 bytes and the last 512 bytes of the volume are reserved.
[ 36 ]
Chapter 2
Size
Description
signature
2 bytes
version
2 bytes
attributes
4 bytes
lastMountedVersion
4 bytes
journalInfoBlock
4 bytes
createDate
4 bytes
modifyDate
4 bytes
backupDate
4 bytes
checkedDate
4 bytes
fileCount
4 bytes
folderCount
4 bytes
blockSize
4 bytes
totalBlocks
4 bytes
freeBlocks
4 bytes
nextAllocation
4 bytes
rsrcClumpSize
4 bytes
dataClumpSize
4 bytes
Field name
Size
Description
nextCatalogID
4 bytes
writeCount
4 bytes
encondingsBitmap
8 bytes
finderInfo
32 bytes
allocationFile
80 bytes
extentsFile
80 bytes
catalogFile
80 bytes
attributesFile
80 bytes
startupFile
80 bytes
The allocation (bitmap) file is used to keep track of which allocation blocks on
a volume are currently allocated to a structure (file or folder). It is a bitmap that
contains one bit for each allocation block in the volume. If a bit is 1, the corresponding
allocation block is in use. If the bit is 0, the corresponding allocation block is not
currently in use and is therefore available to be assigned to a file or folder.
The catalog file is used to keep the information on the hierarchy of files and folders
on HFS+. A catalog file is organized as a binary tree (type B-Tree) and therefore
consists of head node, index nodes, and leaf nodes. The position of the first block of
the catalog file (and thus the head node of the file) is stored in the volume header
file. The catalog file contains the metadata of all the files and folders on a volume,
including creation, modification and access date, permissions, file identifier, and
information about the user that created the file.
[ 38 ]
Chapter 2
The data structure for each file in the catalog file is as follows:
struct HFSPlusCatalogFile {
SInt16
recordType;
UInt16
flags;
UInt32
reserved1;
HFSCatalogNodeID
fileID;
UInt32
createDate;
UInt32
contentModDate;
UInt32
attributeModDate;
UInt32
accessDate;
UInt32
backupDate;
HFSPlusBSDInfo
permissions;
FileInfo
userInfo;
ExtendedFileInfo
finderInfo;
UInt32
textEncoding;
UInt32
reserved2;
HFSPlusForkData
dataFork;
HFSPlusForkData
resourceFork;
};
The two areas of most interest to identify the location of the files are dataFork and
resourceFork (both of the type HFSPlusForkData).
The dataFork field contains information about the location and size of a file or the
current contents of the file, while the resourceFork field contains the application
metadata of the file.
The HFSPlusForkData data structure is defined by four fields as follows:
struct HFSPlusForkData {
UInt64
UInt32
UInt32
HFSPlusExtentRecord
};
logicalSize;
clumpSize;
totalBlocks;
extents;
[ 39 ]
The logicalSize field defines the size in bytes of the data, the totalBlocks field
defines the number of blocks allocated, the extents field stores the first eight extents
of a file descriptor (an extent is a contiguous segment of a file). If a file requires a
greater number of descriptor extents, these are stored in the extents overflow file.
Each extent that composes a file is described in the HFSPlusExtentDescriptor data
structure and is defined by the two fields as follows:
struct HFSPlusExtentDescriptor {
UInt32
startBlock;
UInt32
blockCount;
};
The startBlock field identifies the first allocation block in an extent while the
blockCount field identifies the length in number of allocation blocks of an extent.
The start offset of a file can then be determined by finding the first extent and
multiplying the corresponding startBlock field to the size of the allocation
block, which is defined in the volume header file. Since the files cannot always be
completely stored in contiguous blocks on the disk and may be fragmented, HFS+
dataFork defines a structure that holds up to eight extents. When a file requires
more than eight extents, it uses the extents overflow file, which combines the file
with additional extents.
For the extents overflow file, if a file in an HFS+ volume is composed by more
than eight extents (or is fragmented over more than eight contiguous positions of
the volume), the extents in excess will be stored in the extents overflow file. The
file structure is similar to the content file (binary tree, B-Tree); however, it's greatly
simplified by the presence of a single data structure (HFSPlusExtentKey).
The attributes file enables the direct management through the file system of
additional attributes for a file. The attributes are defined as key/value pairs.
An interesting concept associated with HFS+ is the file system journaling used
for a recovery process after a volume was not safely unmounted. This file stores
file transactions (create, delete, modify, and so on) and might contain the same
metadata stored in the attributes or in the catalog file. It is activated by default
on the iOS devices and can be used to recover deleted content.
Device partitions
iDevices use a NAND type memory divided into two partitions: the system or
firmware partition, and the data partition.
[ 40 ]
Chapter 2
The system partition contains the iOS operating system and all the preinstalled
applications and it is identified as /dev/disk0s1 or /dev/disk0s1s1. This partition
is not generally accessible to the user in the write mode and may only be modified
by an update of the operating system. Since it cannot contain user-installed
applications and data, it is small (1-2 GB depending on the specific model).
The data partition occupies most of the space in the NAND memory and is
identified as /dev/disk0s2 or /dev/disk0s2s2. The partition contains user data
and user-installed applications and is mounted at run time by the operating system
inside /private/var.
System partition
If the device is in a normal condition, all information relevant to an investigation
is within the partition containing user data. The system partition is therefore
not usually of interest. A complete description of the folder content is available
at http://theiphonewiki.com/wiki/ and the partition will look like the
following screenshot:
[ 41 ]
For all iDevices, the default password for the mobile and root users is alpine.
This password cannot be modified by the user, unless they are performing the
jailbreaking operations, as shown in the following screenshot:
Data partition
The structure of the data partition has changed over the different evolutions of the
operating system. The following screenshot shows an example of the folder structure
extracted from a jailbroken iPad mini 1G running iOS 7.0.4:
[ 42 ]
Chapter 2
The useful elements for the analysis of an iDevice will be discussed in Chapter 4,
Analyzing iOS Devices. It is considered useful to point out that the iDevice devices
use the Property List and SQLite databases as data and configuration containers.
[ 43 ]
In the Mac environment, it is possible to install the freeware tool Property List
Editor developed by Apple. It can be downloaded from the website of the XCode
development platform (https://developer.apple.com/xcode/).
In a Windows environment, we can use plist Editor for Windows (http://www.
icopybot.com/plist-editor.htm).
[ 44 ]
Chapter 2
SQLite database
The iOS devices use SQLite databases to store information and user data. The
analysis of these files requires a minimum knowledge of the SQL commands for the
selection of data; however, there are several free software options that can interpret
and easily display the data in a database. An example of cross-platform software
is SQLite Database Browser (http://sqlitebrowser.org/), which allows us to
visualize the structure of the database and to navigate within the data, as shown in
the following screenshot:
[ 45 ]
Summary
This chapter illustrated the features of interest for iOS devices during mobile
forensic activities. In particular, it introduced the different models with guidance
on recognition techniques based on the model number or hardware model number.
It also contained an introduction to the iOS operating system with particular
reference to the file system (HFSX), the partitions (system and data), and the main
data structures (property list files and SQLite database). These topics are the
basics for forensic activity on an iDevice and will be used in the next chapters when
dealing with acquisition and analysis.
Self-test questions
1. What is the latest supported version of iOS for iPhone 4?
1. iOS 5.1.1
2. iOS 6.1.2
3. iOS 7.1.2
4. iOS 8.1.2
2. Which are the model numbers associated with iPhone 6?
1. A1522 and A1524
2. A1549 and A1586
3. A1528 and A1530
4. A1428 and A1429
3. What file system does iOS use?
1. NTFS
2. EXT3
3. HFS+
4. HFSX
4. What metafile is used to keep information on files and folders in
iOS file system?
1. Volume Header
2. Allocation
3. Catalog
4. Extent
[ 46 ]
Chapter 2
[ 47 ]
www.PacktPub.com
Stay Connected: