IPhone越狱原理总结
2013-08-13 17:18
225 查看
IPhone作为目前为止最优秀的移动互联网终端,在国内外收到热烈的追捧。其成功之处不仅在于抓住了消费电子的命门,超炫的设计,简单的操作,良好的用户体验,还在于其构建了一套软件服务体系(AppStore)整合了全部的软硬件资源,更好的为用户服务。但是其系统封闭性,再加上一些技术约束,使得消费者并不具有IPhone终端的完全控制权。消费者甚至不能自由的选择电信运营商,被IPhone绑定到特定的一家运营商,比如目前国内就和联通绑定销售;消费者仅仅只能通过AppStore下载受Apple认证的软件,而不允许安装其他第三方应用软件;用户在日常使用中仅仅只能访问文件系统很小的一部分子集;而且用户只能通过沙盒(iTune)才能够增加和删除音乐或文件。这些技术约束实际上限制了消费者的自由,因此在这种背景下IPhone的越狱应运而生。
越狱(JailBreaking)的最终目的就是获取IPhone的root访问权限,使之能够安装第三方软件。仅仅越狱还不能解决了自由选择运营商的问题,越狱进一步就是解锁(Unlocking),也即是破解IPhone手机服务,使之不受特定电信运营商绑定。JailBreaking实质上是Unlocking的第一步。越狱的原理比较简单,就是发现IPhone系统的漏洞(如Buffer Overflow等),在运行IPhone系统程序时,利用这些漏洞执行精心设计的代码从而获得IOS的root权限,这就实现了IPhone的越狱。下面以旧版IOS系统中的TIFF的buffer
overflow漏洞讨论总结IPhone越狱的过程(如图所示)。
旧版IOS系统使用的libtiff库(查看TIFF文件的运行库)存在buffer overflow的弱点,这个弱点在CVE和NVD都能够查到。攻击者就可以利用这个漏洞,精心构建一个恶意的TIFF文件,使用Apple的Safari浏览器打开这个文件,从而触发这个buffer overflow修改stack的返回地址,跳转到注入的恶意code中,从而获得IPhone的root权限。这样就能有root权限安装Cydia,进而能够自由的安装第三方软件。
越狱(JailBreaking)的最终目的就是获取IPhone的root访问权限,使之能够安装第三方软件。仅仅越狱还不能解决了自由选择运营商的问题,越狱进一步就是解锁(Unlocking),也即是破解IPhone手机服务,使之不受特定电信运营商绑定。JailBreaking实质上是Unlocking的第一步。越狱的原理比较简单,就是发现IPhone系统的漏洞(如Buffer Overflow等),在运行IPhone系统程序时,利用这些漏洞执行精心设计的代码从而获得IOS的root权限,这就实现了IPhone的越狱。下面以旧版IOS系统中的TIFF的buffer
overflow漏洞讨论总结IPhone越狱的过程(如图所示)。
旧版IOS系统使用的libtiff库(查看TIFF文件的运行库)存在buffer overflow的弱点,这个弱点在CVE和NVD都能够查到。攻击者就可以利用这个漏洞,精心构建一个恶意的TIFF文件,使用Apple的Safari浏览器打开这个文件,从而触发这个buffer overflow修改stack的返回地址,跳转到注入的恶意code中,从而获得IPhone的root权限。这样就能有root权限安装Cydia,进而能够自由的安装第三方软件。
相关文章推荐
- 【原创】越狱以后的iPhone从4.3.3升级到5.0.1时遇到的一些问题的解决办法总结
- iPhone/Mac Objective-C内存管理教程和原理剖析
- session原理总结
- FirstApp,iphone开发学习总结13,方向感应和通告
- HashSet原理及实现学习总结
- web中解决提交乱码的方法原理解析(查资料总结)
- Mysql学习总结(9)——MySql视图原理讲解与使用大全
- 机器学习算法原理总结系列---算法基础之(3)随机森林(Random Forest)
- 【总结】数据库索引的实现原理
- 适配iphonex和ios11的相关问题总结
- Unity3D ECS框架 Entitas入门学习4 ReactiveSystem原理总结
- Atitit 边缘检测原理attilax总结
- iPhone的Push(推送通知)功能原理浅析
- XSS的一些总结(原理+检测+防御)
- iPhone的Push(推送通知)功能原理浅析
- 《软件工程-原理、方法、工具》观后总结之一
- PCA原理总结
- Android 之ListView原理学习与优化总结
- 对称加密算法DES、3DES和AES 原理总结(转载)
- Hibernate(2)——Hibernate的实现原理总结和对其模仿的demo