《黑客大曝光:移动应用安全揭秘及防护措施》一3.2 iOS到底有多安全

简介:

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

3.2 iOS到底有多安全

到现在为止,iOS已经伴随大家6年了。在这段时间内,iOS平台有了巨大的发展,特别是在操作系统及应用安全模式方面。当iPhone首次发布时,苹果公司就公布不允许第三方应用在该设备上运行。同样的,开发者和用户如果需要访问Web,则只能通过iOS内置的Web浏览器。一段时间内,这意味着只有苹果公司的软件才能在iOS设备上运行,因此一定程度上减少了对安全的需求。然而,缺乏第三方市场的应用也使得用户无法完全利用他们设备的优点。很快黑客们寻找到了通过刷机或越狱设备来安装第三方软件的方法。苹果为了应对“越狱”以及用户对软件多样化的需求,2008年,苹果公司发布了一个新的iOS版本,这个版本包括了一项新的服务,那就是应用商店。应用商店给用户提供了购买和安装应用的机会。自从有了应用商店之后,已经有超过80万应用发布并可供购买,应用下载总量也已经超过了400亿(参见apple.com/pr/library/2013/01/28Apple-Updates-iOS-to-6-1.html)。苹果也开始添加额外的安全措施和开发新的iOS版本。
早期的iOS版本在安全防护方面做的很少。所有的进程都拥有超级用户的特权。进程在系统资源的使用方面没有限制。代码签名不是用来证实应用的来源(和控制上述应用的执行的)。也没有为iOS的内核、其他系统组件、库或者应用提供地址空间布局随机化(ASLR)和位置无关的可执行程序(PIE)的支持。而且,也几乎没有使用硬件控制来阻止对设备的攻击。
随着时间的推移,苹果公司开始引进更高级的安全功能。第三方市场的应用暂时是以一个名为mobile的低特权用户账号运行。另外还提供了对沙箱的支持,以限制应用对系统资源的使用。还添加了对代码签名认证的支持。有了这个之后,设备上安装的应用必须被苹果公司进行签名之后才能运行。另外,代码签名认证在加载时(负责启动一个可执行代码)和运行时(防止新代码的添加和执行)实现。最后,内核的地址空间布局随机化、其他操作系统组件、库以及被称为PIE的Xcode中的编译时间选项,都被添加到iOS中来。PIE与iOS的近期版本结合之后,便要求应用每次执行时在不同的基准地址进行加载,这就使得开发特定的应用程序的漏洞更加困难。
所有这些改变和优化处理使得有了今天的iOS。iOS也因为它的安全模式有了巨大的收获。事实上,App商店中应用的总体分配过程以及当前iOS系统所实现的安全措施集合,使得iOS成为最安全的消费级操作系统之一。拥有这些安全措施的操作系统,甚至是以前的较低安全版本的操作系统,都在很大程度上被该平台上相对其他平台、数量很少的已知的恶意攻击所验证。
然而,虽然iOS获得了巨大的进步,但是认为iOS平台无法被入侵是一种幼稚的想法。不管怎样,事实这并非如此。尽管我们现在还没有见到许多针对iOS平台的恶意代码,但是我们通过一些例子证明:iOS实际上存在可能被入侵的薄弱环节,因此,这也值得从终端用户或组织的安全角度去仔细考虑。
 iOS安全研究者Dino Dai Zovi的一篇有关iOS 4.x安全的文章研究了iOS中的ASLR、代码签名、沙箱等等,对于那些iOS入侵的爱好者来说,这篇文章是值得阅读的。参见trailofbits.files.wordpress.com/2011/08/apple-ios-4-security-evaluation-whitepaper.pdf

相关文章
|
1月前
|
移动开发 安全 数据安全/隐私保护
iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤
iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤
38 1
|
1月前
|
存储 运维 安全
iOS加固原理与常见措施:保护移动应用程序安全的利器
iOS加固原理与常见措施:保护移动应用程序安全的利器
39 0
|
1月前
|
安全 前端开发 iOS开发
钉钉里微应用ios 底部安全区域的颜色怎么修改?
钉钉里微应用ios 底部安全区域的颜色怎么修改?
89 5
|
1月前
|
存储 运维 安全
iOS加固原理与常见措施:保护移动应用程序安全的利器
iOS加固原理与常见措施:保护移动应用程序安全的利器
48 0
|
1月前
|
缓存 Android开发 iOS开发
打造高效移动应用:Android与iOS性能优化策略
【4月更文挑战第29天】 在移动设备日益成为用户日常互动的主要平台的今天,应用程序的性能已成为决定其成功的关键因素之一。本文将探讨针对Android和iOS平台的性能优化技巧,涵盖内存管理、多线程处理、网络请求优化以及用户界面的流畅性提升等方面。通过分析不同操作系统的架构特点,我们旨在提供一套综合性的策略,帮助开发者构建快速、响应迅捷且用户体验良好的应用。
|
1月前
|
iOS开发 开发者
iOS移动应用程序的备案与SHA-1值查看
iOS移动应用程序的备案与SHA-1值查看
63 2
|
1月前
|
iOS开发 开发者
iOS移动应用程序的备案与SHA-1值查看
iOS移动应用程序的备案与SHA-1值查看
50 0
|
6月前
|
iOS开发 开发者
📝iOS移动应用程序的备案与SHA-1值查看
在开发和发布移动应用程序时,进行App备案是非常重要的一步,它是确保您的应用在合规性方面符合相关法规的过程。同时,对于一些需要与第三方服务进行集成的情况,查看应用的SHA-1值也是必要的。本篇博客将向您展示如何进行iOS移动应用程序的备案,并查看SHA-1值。
|
7月前
|
移动开发 安全 数据安全/隐私保护
iOS移动应用安全加固:保护您的App免受恶意攻击的重要步骤
本文介绍了移动应用程序(App)加固的概念和流程,以及市场上几家知名的APP加固公司。同时提供了对iOS ipa文件进行混淆保护的方案,以增强App的安全性和防范反编译和破解行为。