《黑客大曝光:移动应用安全揭秘及防护措施》一3.1 了解iPhone

简介:

本节书摘来自华章出版社《黑客大曝光:移动应用安全揭秘及防护措施》一书中的第3章,第3.1节,作者 (美)Neil Bergman ,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.1 了解iPhone

iOS有一段很有趣的历史,这有助于在学习入侵iOS平台时增进对iOS的了解。20世纪80年代中期,史蒂夫•乔布斯离开了苹果,创立了NeXT,在这里,他开发了iOS的雏形。NeXT开发了一系列旨在用于教育和其他非消费市场的高端工作站。NeXT选择开发自己的操作系统,并在最初命名为NeXTSTEP。NeXTSTEP的开发基本上是对一些开源软件进行内部开发优化,再组合在一起。NeXTSTEP最基础的系统主要是衍生于卡内基•梅隆大学Mach内核,并借鉴了一些BSD Unix内核。NeXT对于此平台的编程语言做了一个有趣的决定:选择采用Objective-C这一编程语言,并以此语言为他们的平台提供绝大多数接口。这是对传统的突破,因为当时在其他平台上的应用开发编程语言中,C语言占据着主导的地位。NeXTSTEP系统上的应用由Objective-C语言开发,结合了NeXT提供的扩展类库。
1996年,苹果公司收购了NeXT公司,以及其开发的NeXTSTEP系统(同时,将其重新命名为OPENSTEP系统)。NeXTSTEP系统被选择作为代替老式的经典Mac OS的下一代操作系统的基础。新平台的预先发行版本的代号为Rhapsody,这个平台中的接口被进行了修改以符合Mac OS 9的风格。这种风格样式最终被替换为Mac OS X(代号为Aqua)的界面风格。随着界面的改变,操作系统和附带应用的开发工作还在继续,到2001年5月24日,苹果公司公开向全世界发布了他们的下一代操作系统—Mac OS X。
6年后,在2007年,苹果公司带着iPhone大举进入移动手机市场。iPhone是一款令人兴奋的新型智能手机,拥有许多新颖的功能,包括手机本身先进的工业设计以及一个最初叫做iPhone OS新型的移动手机操作系统。iPhone OS之后被颇有争议地改为iOS(因为它与思科公司的互联网操作系统Internetwork Operating System即IOS很相似),它从NeXTSTEP和Mac OS X家族衍生,或多或少是Mac OS X的一个精简分支。iOS的内核仍然采用基于Mach和BSD的一个类似的编程模型,应用开发模型也仍然基于Objective-C语言,并高度依赖苹果公司提供的类库。
随着iPhone的发布,一些其他的基于iOS的设备也陆续由苹果公司发布,包括iPod Touch 1G(2007)、Apple TV(2007)、iPad(2010)以及iPad mini(2012)。iPod Touch 和iPad在软硬件方面都与iPhone非常相似。Apple TV与其他产品有一点不同,因为它主要是针对家庭用户的一个嵌入式设备,而不是一个移动设备。不管怎样,Apple TV始终还是基于iOS系统,实现的功能大体上也相同(最值得一提的不同点就是用户界面,以及缺乏官方对于应用的安装和运行的支持)。
从安全的角度来看,上面所述的是一些有关iOS设备攻击或安全保护重点的提示。那么注意力必然要转移到对操作系统架构的学习,包括怎么编写Mach内核,以及应用程序编程模型的指导,特别是怎样一起工作、分析、设计,以及修改主要基于Objective-C语言和苹果提供的框架的程序。
最后需要注意的有关iOS设备的一点是苹果公司所选择的硬件平台。迄今为止,所有基于iOS的设备的核心都是一个ARM处理器,这种处理器与x86或一些其他类型的处理器是对立的。ARM处理器结构与其他类型的处理器之间有很大不同,因此当在iOS平台上进行工作时必须对这些不同点了解清楚。最明显的就是在开发时,所有指令、寄存器、值等等都与其他平台上的不同。在某种程度上,ARM处理器的使用更为简便。例如,所有ARM指令的长度都是固定的(2比特或者4比特);指令集包含的指令数较其他平台而言更少;暂时不需要担心64位的扩展,因为现在的iPhone和其他类似的产品所使用的ARM处理器都只是32位。
 为了简便起见,在本章将使用iPhone来代表所有基于iOS的设备。同时,当需要区别的时候,我们也会分别使用iPhone和iOS来描述。
在讨论iOS安全之前,如果你有兴趣学习更多有关iOS内部结构或ARM结构的知识,这里有一些参考文献可供进一步的阅读:
Mac OS X Internal: A Systems Approach, Amit Singh (Addison-Wesley, 2006)
Mac OS X and iOS Internals: To the Apple抯 Core, Jonathan Levin (Wrox, 2012)
OS X and iOS Kernel Programming, Ole Henry Halvorsen (Apress, 2011)
iOS Hacker抯 Handbook, Charlie Miller et al. (Wiley, 2012)
The Mac Hacher抯 Handbook, Charlie Miller et al. (Wiley, 2009)
Programming under Mach, Joseph Boykin et al. (Addison-Wesley, 1993)
ARM System Developer抯 Guide: Designing and Optimizing System Software, Andrew Sloss et al. (Morgan Kaufmann, 2004)
ARM Reference Manuals, infocenter.arm.com/help/topic/com.arm.doc.subset. architecture. reference/index.html#reference
The base operating sytem source code for Mac OS X,opensource.apple.com(这些代码中的一部分是与iOS共享使用的,所以在试图确定iOS如何实现一些功能的时候很有帮助。)

相关文章
|
传感器 安全 小程序
小程序对IPhone全面屏手机底部黑线的安全区域处理
小程序对IPhone全面屏手机底部黑线的安全区域处理
308 0
小程序对IPhone全面屏手机底部黑线的安全区域处理
|
传感器 安全 物联网
磁场超安全阈值30倍!苹果警告iPhone12可逼停心脏除颤器,保持至少15cm距离
磁场超安全阈值30倍!苹果警告iPhone12可逼停心脏除颤器,保持至少15cm距离
193 0
|
Web App开发 安全 iOS开发
Pwn2Own黑客大赛战况:iPhone 20秒被黑
北京时间3月25日上午消息,据国外媒体报道,在网络安全大会CanSecWest周三举行的Pwn2Own黑客大赛中,两名欧洲黑客仅用20秒的时间便成功攻破iPhone,并拿走了1.5万美元奖金。 20秒黑掉iPhone 这两名黑客名为文森佐·埃奥佐(Vincenzo Iozzo)和拉尔夫·温曼(Ralf Weinmann)。
1205 0
|
安全 iOS开发
苹果禁止iPhone黑客访问App Store应用商店
据国外媒体报道,苹果近日对曾经入侵iPhone手机操作系统的黑客采取了较为严历的打击措施,即禁止已被苹果所确认iPhone黑客们访问该公司的App Store应用商店。 谢里夫·哈希姆(Sherif Hashim)就是被苹果“封杀”的外部开发人员之一。
960 0
|
安全 iOS开发
美国黑客发布iPhone 3G解锁免费软件yellowsn0w
北京时间1月3日消息,据国外媒体报道,美国一个黑客团队iPhone Dev Team在09年新年首日发布了一款iPhone 3G解锁免费软件yellowsn0w。解锁后的iPhone 3G将可在不同的运营商网络里使用。
858 0
|
Web App开发 安全 iOS开发
网民关注iPhone、Google、微软和安全
  据国外媒体报道,日前国外媒体InternetNEWS.com评选出了2008年度读者最关注的新闻事件,其中包括苹果推出iPhone 3G、Google推出G1手机以及美国副总统候选人萨拉·佩林(Sarah Palin)电子邮箱被黑客入侵等,以下为其原文:   毫无疑问,2008年是属于智能手机和iPhone的一年,读者对iPhone相关的新闻一直非常关注;而随着Google联手T-Mobile和HTC推出G1手机,Google则又成为人们关注的焦点。
846 0
|
JavaScript 安全 区块链
【阿里聚安全·安全周刊】科学家警告外星恶意代码|新方法任意解锁iPhone
阿里安全周刊第八十六期,分享本周移动安全热点和技术知识。
4252 0