【读书笔记】iOS-iOS安全基础知识
一,iOS硬件/设备的类型。
iPad的问世,就是在这一方向上迈出的第一步。第一代iPad使用了ARM Cortex-A8架构的CUP,它的速度大约是第一代iPhone所使用CPU速度的两倍。
iPad2和iPhone4S则是另一个巨大的跨越。它们都使用了ARM Cortex-A9架构的双核处理器,就CPU运算的速度而言,要比A8架构的处理器快20%.更惊人的是,A9的GPU要比A8的快9倍。
另一方面,iPad2使用子双核处理器,它让iOS的分配程序可以全力运行。这样就对漏洞攻击的构造带来了巨大影响,因为漏洞攻击在多处理器环境下的可靠性要弱很多。
二,苹果公司如何保护App Store.
来源于App Store的应用会以较低级别的权限运行在沙盒中,这种方式可以降低它们的破坏性。大家秀快就能看到更多与此相关的内容。
三,理解安全威胁。
总体来说,很多桌面电脑所遭受的攻击同样会发生在iOS设备上。这些攻击可分为两种类型:恶意软件和漏洞攻击。
保护设备不受恶意软件危害的常规方式是使用杀毒软件。杀毒软件的工作就是确定哪些软件是安全的,哪些是不安全的。
四,理解iOS的安全架构。
1,更小的受攻击面
不管用户喜不喜欢,iOS都是不支持Java和Flash的。这两种应用的安全问题由来已久。所以不含它们就使得攻击者更难找到可利用的漏洞。
此外,苹果公司自有的.mov格式也只被iOS部分支持,因此很多可以在Mac OS X上播放的.mov文件在iOS上无法播放。
最后要说的是,虽然,iOS原生支持.pdf文件,但是只解析改文件特性的部分功能。再来看看与之有关的一些数据,有人曾用一些模糊的文件来测试Preview(Max OS X系统自带的PDF阅读器),结果引起了100多个错误。而他在用iOS测试相同的文件时,只有约7%的文件在iOS中引发了问题。这意味着减少iOS能够处理的PDF特性,苹果公司减少了这种情况下90%的潜在安全漏洞。瑕疵越少,攻击者发动漏洞攻击的机会就越小。
2,精简过的iOS
3,权限公离。
iOS使用用户,组和其他传统UNIX文件权限分离机制分离了各进程。
4,代码签名。
iOS中最重要的安全机制是代码签名。所有的二进制文件和类库在被内核允许执行之前都必须经过受信任机构(比如苹果公司)的签名。
5,数据执行保存(DEP)。
DEP不允许数据的执行,只允许代码的执行。
6,地址空间布局随机化。(ASLR)。
在iOS中,二进制文件,库文件,动态链接文件,栈和堆内存地址的位置全部是随机的。
当系统同时具有DEP和ASLR机制时,针对该系统编写漏洞攻击代码的一般方法就完全无效了。在实际应用中,这通常意味着攻击者需要两个漏洞,一个用来获取代码执行权,另一个用来获取内存地睛执行ROP,不然攻击者就需要一个极其特殊的漏洞来做到这两点。
7,沙盒。
五,iOS攻击简史。
1,Libtiff
2,短信攻击。
3,lkee蠕虫。
参考资料:《黑客攻防技术宝典-iOS实战篇》