《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应用程序,能够在模拟器虚拟的不同固件版本中进行调试和运行,以确保这个应用程序能够按照预期的方式正常工作。

相关文章
|
2月前
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
221 4
|
2月前
|
安全 Android开发 数据安全/隐私保护
深入探讨iOS与Android系统安全性对比分析
在移动操作系统领域,iOS和Android无疑是两大巨头。本文从技术角度出发,对这两个系统的架构、安全机制以及用户隐私保护等方面进行了详细的比较分析。通过深入探讨,我们旨在揭示两个系统在安全性方面的差异,并为用户提供一些实用的安全建议。
|
4月前
|
开发工具 Android开发 Swift
安卓与iOS开发环境对比分析
在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统无疑是主角。它们各自拥有独特的特点和优势,为开发者提供了不同的开发环境和工具。本文将深入浅出地探讨安卓和iOS开发环境的主要差异,包括开发工具、编程语言、用户界面设计、性能优化以及市场覆盖等方面,旨在帮助初学者更好地理解两大平台的开发特点,并为他们选择合适的开发路径提供参考。通过比较分析,我们将揭示不同环境下的开发实践,以及如何根据项目需求和目标受众来选择最合适的开发平台。
57 2
|
1月前
|
Java 开发工具 Android开发
安卓与iOS开发环境对比分析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文深入探讨了这两个平台的开发环境,从编程语言、开发工具到用户界面设计等多个角度进行比较。通过实际案例分析和代码示例,我们旨在为开发者提供一个清晰的指南,帮助他们根据项目需求和个人偏好做出明智的选择。无论你是初涉移动开发领域的新手,还是寻求跨平台解决方案的资深开发者,这篇文章都将为你提供宝贵的信息和启示。
33 8
|
2月前
|
安全 Android开发 数据安全/隐私保护
深入探索Android与iOS系统安全性的对比分析
在当今数字化时代,移动操作系统的安全已成为用户和开发者共同关注的重点。本文旨在通过比较Android与iOS两大主流操作系统在安全性方面的差异,揭示两者在设计理念、权限管理、应用审核机制等方面的不同之处。我们将探讨这些差异如何影响用户的安全体验以及可能带来的风险。
50 1
|
2月前
|
监控 算法 iOS开发
深入探索iOS函数调用栈:符号化与性能调优实战
在iOS开发中,理解函数调用栈对于性能调优和问题排查至关重要。函数调用栈记录了程序执行过程中的函数调用顺序,通过分析调用栈,我们可以识别性能瓶颈和潜在的代码问题。本文将分享iOS函数调用栈的基本概念、符号化过程以及如何利用调用栈进行性能调优。
45 2
|
4月前
|
安全 Android开发 数据安全/隐私保护
探索安卓与iOS的安全性差异:技术深度分析与实践建议
本文旨在深入探讨并比较Android和iOS两大移动操作系统在安全性方面的不同之处。通过详细的技术分析,揭示两者在架构设计、权限管理、应用生态及更新机制等方面的安全特性。同时,针对这些差异提出针对性的实践建议,旨在为开发者和用户提供增强移动设备安全性的参考。
165 3
|
3月前
|
开发工具 Android开发 Swift
安卓与iOS开发环境的差异性分析
【10月更文挑战第8天】 本文旨在探讨Android和iOS两大移动操作系统在开发环境上的不同,包括开发语言、工具、平台特性等方面。通过对这些差异性的分析,帮助开发者更好地理解两大平台,以便在项目开发中做出更合适的技术选择。
|
4月前
|
安全 Linux Android开发
探索安卓与iOS的安全性差异:技术深度分析
本文深入探讨了安卓(Android)和iOS两个主流操作系统平台在安全性方面的不同之处。通过比较它们在架构设计、系统更新机制、应用程序生态和隐私保护策略等方面的差异,揭示了每个平台独特的安全优势及潜在风险。此外,文章还讨论了用户在使用这些设备时可以采取的一些最佳实践,以增强个人数据的安全。
|
5月前
|
Java 开发工具 Android开发
安卓与iOS开发环境对比分析
【8月更文挑战第20天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据着重要的位置。本文将深入探讨这两种操作系统的开发环境,从编程语言到开发工具,从用户界面设计到性能优化,以及市场趋势对开发者选择的影响。我们旨在为读者提供一个全面的比较视角,帮助理解不同平台的优势与挑战,并为那些站在选择十字路口的开发者提供有价值的参考信息。
113 17