《iOS取证实战:调查、分析与移动安全》一第1章 概 述1.1 介绍

简介: 本节书摘来自华章出版社《iOS取证实战:调查、分析与移动安全》一书中的第1章,第1.1节,作者(美)Andrew Hoog Katie Strzempka,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第1章 概  述

1.1 介绍

移动设备在过去的几年里有了很大的发展。曾经,手机只是简单地被用于打电话。随着技术的不断成熟,手机也具备了收发短信、创建日常事务提醒和保存联系人的功能。发展至今,移动设备因功能丰富而广泛应用于人们的生活中。2010年年初,全球约有46亿人拥有手机(CBS,2010)。按照这种增长速度,手机的普及将给移动设备取证带来大量的需求。
自iPhone在2007年6月第一次发布以来,它受欢迎的程度与日俱增,这在一定程度上得益于它先进的功能设计和实用性。用户可以通过iPhone实现收取邮件、拍照、浏览网页等众多功能。这些功能使得iPhone代替了PC和数码相机。除上述功能之外,iPhone还有许多有关金融、管理或娱乐的应用供用户下载安装。
在20世纪80年代后期,Apple公司专注于研发Newton平台,即个人数字助理(PDA),这个项目在1998年以失败告终。1997年,史蒂夫乔布斯担任了该公司的CEO。在iPhone的构想诞生前,乔布斯决定将Apple公司的业务重心由PDA和平板电脑转移到触摸屏技术的开发上来。基于对移动电话将日趋普及的判断,Apple公司开始研发支持图片展示、视频播放并能从iTunes中同步数据的移动设备。2006年10月,Apple 公司的iPhone被授予专利;2007年1月,乔布斯在MacWorld大会上宣布推出iPhone(Wired,2008)。

1.1.1 策略

在过去的几年中,Apple公司的市场策略从传统电脑领域转移出来。其提出的一些创新思想颠覆了现有的商业模式。他们开发出了几种用于支持音乐和视频播放的应用和设备,包括Apple TV、iTunes和各种iPod设备。在移动通信设备领域,他们开发了iPhone ,而在应用交付领域中开发了支持同步及下载的iTunes以及App Store。最终,在以上技术的基础上,Apple公司在平板电脑领域推出了iPad产品(之前推出过Newton设备)。
这些新产品大多数都运行iOS系统,但Macintosh工作站例外,它运行在OS X系统。对于是否应该将Mac OS X迁移到iOS系统或类iOS系统这个问题,曾经存在过一些争议。Mac OS X Lion(Mac OS 10.7版)于2011年夏天对外发布,该操作系统拥有除了触摸屏之外的类似iOS设备的功能。2011年1月,Mac App Store发布,使用Mac的用户也可以通过自己的电脑直接购买软件,方式与通过iTunes App Store(2010年,Apple公司发布)购买类似。
到2009年,iPhone以4.4%的市场份额一跃成为全球第三大智能手机生产商(McGlaun,2010)。仅在2010年第一季度,它的销售量就达到了875万台,这个数值比2009年同期增长了50%以上。iPhone 4发布之前,Apple公司就卖出了超过5000万台iPhone,2010年第四季度的统计显示,Apple公司掌控了25%的美国智能手机市场份额(Slashdot,2011)。随着iPhone的极度流行以及其销量的不断攀升,iPhone设备已经成为了许多取证研究分析的焦点。

1.1.2 开发者社区

除了在销售方面的成绩,iPhone还有一个活跃的黑客社区,这个社区已经推出了一些支持取证的研究结果和工具。其中一些工具和技术在最初的时候被用来协助映像取证,而如今它们也用来对设备进行一些测试,使得大家能够更好地理解设备的内部机制。Cydia就是用于这些目的的一款流行应用程序。它允许用户在已经“越狱”的iPhone或iPad上运行非App Store下载的程序。值得一提的是,通过这种渠道获取的应用程序可以让审查者更好地理解iPhone文件系统和数据内容,例如Mobile Terminal。当然,不建议去“越狱”或者修改Apple设备,因为这毕竟不是合法的手段。然而,不可否认,对于审查者来说能够远程连接测试设备用于研究将是一次非常珍贵的学习经历。
另外一个在iPhone上普遍应用的技术是“解锁”。从2007年到2011年年初,AT&T是在美国唯一为iPhone提供服务的运营商。AT&T将SIM卡与iPhone绑定,用户的iPhone只能使用AT&T网络,如果使用其他运营商的SIM卡,iPhone就会被锁住。2011年2月,另一个运营商Verizon也开始为iPhone 4提供网络服务。iPhone的使用被强制在这两个运营商之间,这使得许多iPhone用户更希望有其他的选择。解锁iPhone就是其中的一个方法,它让设备可以接入其他的运营商网络,有很多的Apple教学网站(例如iClarified)提供了详细的解锁步骤。典型的步骤包括安装一个应用程序并运行,然后将AT&T的SIM卡更换成其他运营商的。这里要说明的是,Verizon采用的是CDMA网络(码分多址)而不是GSM(全球移动通信系统),为Verizon定制的iPhone版本不能够通过简单更换SIM卡的方式解锁。正是因为这样,用现有的方法是无法解锁Verizon定制的iPhone设备的。话虽如此,毋庸置疑的是,Apple用户社区肯定会在不久的将来找到新的解锁方法。
Apple开发者网站是另一个让开发者、审查者或对iOS /OS X系统感兴趣的人受益的资源。只要注册为Apple开发者,就可以下载Xcode和iOS软件开发包(SDK)来协助应用程序开发。在这个开发套件中包含了Xcode 集成开发环境(IDE)、iOS模拟器,以及一些iPhone/iPad/iPod touch应用程序开发需要的额外工具。
要使用这些工具,必须先下载并安装Xcode和iOS SDK。安装好后,就能够在路径/Developer/Platforms/iPhoneSimulator.platform中看到工具和文件,如图1-1所示。

image

在这个开发包中最有用的工具之一是iOS 模拟器,如图1-2所示。开发人员可以通过这个程序模拟任何Apple设备和版本,然后在此特定型号上进行程序调试。在图1-2的例子中,这台iPhone运行在固件版本4.2上,还可在固件3.2版本(应用于iPad)和固件4.0.2/4.1版本(应用于iPhone)上模拟运行。这个软件比较消耗内存资源,所以在测试的过程中会表现得稍微慢一些。从模拟器启动的话只有一些常规的应用程序,包括图片库、设置、游戏中心、联系人和Safari浏览器。用户能够打开这些应用,就好像在真实的设备中一样,甚至还可以执行一些其他的功能,包括:在通话时的屏幕上端显示“通话中”状态图标、模拟内存告警、模拟物理键盘、锁定设备。但是,模拟器也有一定的局限性,它缺乏一些常用程序,例如SMS(短信)、日历、照相机、备忘录,以及可以下载其他应用程序的App Store。

image

模拟器的主要作用是供程序开发者用来联调Xcode。用Xcode开发的iPhone或iPad应用程序,能够在模拟器虚拟的不同固件版本中进行调试和运行,以确保这个应用程序能够按照预期的方式正常工作。

相关文章
|
23天前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
18 1
|
25天前
|
存储 运维 安全
iOS加固原理与常见措施:保护移动应用程序安全的利器
iOS加固原理与常见措施:保护移动应用程序安全的利器
28 0
|
2月前
|
Android开发 数据安全/隐私保护 iOS开发
安卓与iOS系统的发展趋势与比较分析
【2月更文挑战第6天】 在移动互联网时代,安卓和iOS系统作为两大主流移动操作系统,各自呈现出不同的发展趋势。本文将从技术角度出发,对安卓和iOS系统的发展方向、特点及未来趋势进行比较分析,以期为读者提供更深入的了解和思考。
33 4
|
3月前
|
安全 前端开发 iOS开发
钉钉里微应用ios 底部安全区域的颜色怎么修改?
钉钉里微应用ios 底部安全区域的颜色怎么修改?
55 5
|
3月前
|
存储 运维 安全
iOS加固原理与常见措施:保护移动应用程序安全的利器
iOS加固原理与常见措施:保护移动应用程序安全的利器
38 0
|
2月前
|
安全 搜索推荐 Android开发
Android 与 iOS 的比较分析
【2月更文挑战第5天】 Android 和 iOS 是目前市场上两种最流行的移动操作系统,它们都拥有自己的特点和优势。本文将会分别从操作系统设计、应用生态、安全性等方面对这两种操作系统进行比较和分析,希望能够帮助读者更好地选择适合自己的移动设备。
|
5月前
|
运维 安全 数据安全/隐私保护
iOS加固原理与常见措施:保护移动应用程序安全的利器
随着移动应用的普及和用户对数据安全的关注度提高,iOS加固成为了很多开发者和企业的必备工具。那么,iOS加固是如何保护应用程序的安全性的呢? iOS加固是指对OS应用程序进行一系列的安全措施,以提高其抗逆向工程、反编译和破解的能力。下面将介绍iOS加固的原理和常见的加固措施。
iOS加固原理与常见措施:保护移动应用程序安全的利器
|
5月前
|
iOS开发
实战编程·使用SwiftUI从0到1完成一款iOS笔记App(五)(3)
实战编程·使用SwiftUI从0到1完成一款iOS笔记App(五)
57 0
|
5月前
|
前端开发 数据处理 iOS开发
实战编程·使用SwiftUI从0到1完成一款iOS笔记App(五)(2)
实战编程·使用SwiftUI从0到1完成一款iOS笔记App(五)
46 0