iOS安全性和越狱


提到越狱,很多人第一反应大概是免费的游戏和app。

作为软件从业人员,深知中国的大环境的特殊性。内有用户想吃免费午餐的不良付费习惯,外有行业内大头诸如某讯对创新的绞杀。大家对越狱是为了免费、盗版软件的认识,也就不奇怪了。

还有另一派人。越狱对他们来说,意味着开放。个人认为这也是Hack精神的精髓之一。事实上,iOS越狱也有自己的生态圈:Cydia就是越狱设备上App Store。

越狱的合法性

数字千年版权法对iphone的越狱进行了特赦,直到2015年,对iPhone、iPod touch的越狱依然有效。但注意,iPad就没这么幸运了。

详情参见博文《Unlocking A New iPhone Is Now Illegal, But Jailbreaking Is Still Safe — What It All Means For You》

iOS安全性

由于iOS没有开源,学术界和工业界对它的安全机制的论述资料很少。我在网上找到了上交一位学长对ios安全机制的分析文章,是他的硕士学位论文。作为参考,我整理了一些关键知识点。

基于信任链的启动

iOS的信任机制从系统启动那一刻起已经开始。 系统可信启动trustedboot:启动每一步都会检测签名,构成整个信任链。

还有另一种启动方式,是设备固件升级方式(DFU,Device Firmware Update),也是由签名构建信任链。

程序签名

iOS应用的ipa压缩包中包含可执行文件和数据文件。可执行文件只有在已签名的前提下才能运行。确保应用经过苹果认证。

越狱提升运行权限到root,修改引用加载策略,接受任意签名的应用。 “通过软件保证软件安全是不可能的”,iOS使用了硬件来做保护,但硬件部分也遭到了越狱的破解。

沙盒技术

iOS用沙盒技术实现访问控制 trustedBSD :http://www.trustedbsd.org/ http://www.freebsd.org/doc/zh_CN/books/arch-handbook/mac-synopsis.html

ASLR和PIE

使用地址空间布局随机化(ASLR, address space layout randomization)和位置无关可执行代码(PIE,position independent executable)编译用来防止经典的缓冲区溢出攻击。

数据保护机制:
  • 硬件加密:AES协处理器,存储着UID,GID
  • 软件加密:系统中每个文件、数据都用一个唯一的秘钥来加密。秘钥是有UID、GID一起产生的,存在keybag中,keybag通过用户的4位密码来保护。

越狱

越狱主要就是在信任链的根bootrom阶段攻击。由于系统不断升级,攻击的方式也在不断演进,这个链接介绍了其中的一种情况。

越狱后注意

总的来说,越狱打破了iOS封闭的生态环境,也打破了它特有的保护壳。手机获得了root权限,恶意代码有了可趁之机。不要轻易的使用来源不明的应用和插件。

  • 非越狱手机:仅允许用户访问照片、视频数据;通过备份,可在pc端获取所有数据
  • 越狱手机:拥有root权限。可以通过许多渠道如ssh,ftp获取系统数据。

更多细节参见

SHSH

iPhone 3GS出来时候,苹果为加强对iPhone OS的控制对恢复(Restore)固件(Firmware)采用了验证过程,每次iTunes要恢复固件的时候都要连接苹果的服务器验证。手机的ECID和所刷系统版本号一起签名出一个SHSH文件,发送给服务器,服务器检测SHSH是否为新版本的系统所产生,如果是,则允许继续进行刷机,否则传回组织继续的信号。

SHSH是存储在苹果公司的服务器上的,用户需要通过备份原来的SHSH,并伪装一台苹果服务器来协助验证。  

网络上SHSH备份方法的介绍很多,不了解的朋友自行Google吧。

附录

对于想开发iOS应用而又没有开发者账号的朋友,可以参考这篇文章《Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略》,Xcode4.6 iOS6.0 亲测有效。


PS:欢迎关注我的博客新家  http://biaobiaoqi.me/blog/2013/05/17/jail-break-your-ios/ 这里有更好的排版 ;)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值