我想大部分人接触IOS大都是通过自己手边的iPhone或者iPad。国人也大都把IOS越狱了,越狱虽然原因不同但是工具都是用的国外的。国内对于越狱的介绍也不是很多,大都只是说些皮毛。这里我就简单说些IOS越狱的一些原理和利弊,如果需要深入了解、讨论和一起研究的欢迎联络本人 Suofanker#gmail.com
一、 IOS简介
IOS 是由apple的OSX演变而来的,OSX又是一种类Unix系统,为什么只是说类Unix而不是Linux?是因为OSX内核达尔文(Darwin)是源自于纯种Unix的Freebsd开发的,他不具备Linux的标准和特点只是使用了兼容的shell命令。
OSX大体分为3大类型,一种是基于PC版本的 OSX 这种版本出现在apple的iMac MacPro MacBook MacBookPro Macmini等个人pc硬件系统上;一种是基于Server版本的OSX Server 出现在apple的 iServer MacminiServer 等Server硬件系统上,这2种版本都是for Intel CPU的X86版本内核是完全一样的。第二种是移动版的IOS 2、3、4、5这种版本出现在apple的iPhone iPad等移动硬件系统上,这个版本是for apple自己设计的A系列CPU的,内核是修改过的Darwin与上面两种是不同的,当然二进制代码也是不兼容的。但是驱动加载模式和文件系统结构是相同的。Darwin早期是开源的,因为OSX 86架构的通用性,造成在早期hacker们就用开源的Darwin轻松的绕过了OSX对类似TPM的验证了。因为apple的市场策略导致最终放弃了这个开源项目组,不过OSX的Ports树和更新url的网站还是保留的,这更能说明他和Freebsd的渊源。好了,到这了可能大家已经明白IOS到底是个什么系统了。如果还不是太明白,建议去了解下Freebsd或者更加情民一点儿的Linux。他是我们这片文章的基础。
二、 IOS工作机制
IOS工作机制大体上遵循了Freebsd的标准,只是在Darwin加载驱动和文件系统上面做修改和扩展。OSX加载驱动应用了一种被国内**大公司申请了专利的Linux和Unix通过XML加载和管理驱动的模式,这样可以让系统内核不用重新编译的前提下兼容更多的硬件和方便更换和升级apple设备的硬件。IOS的文件系统是HFS(Hybrid File System 混合文件系统)和HFS的升级版本HFS+。想具体了解这个文件系统的可以Google下很多资料,这里不在讨论范围。IOS的文件结构基本上保持了Unix的结构,/bin /dev /var之类的都被保留了下来可以通过OSX的shell来list看下,iphone和ipad用户可以通过安装openssh连接上list看下或安装MobileTerminal直接list看下。
三、 IOS权限分析
可以说IOS前期设计的时候对安全的考虑还是可以的,安装软件都是运行于mobile权限下,IOS3以后就不能sudo来执行程序了,而且所有被安装的软件都只能在安装目录下创建、删除、修改文件,而且moblile可以执行的命令也有限。具体权限可以用终端命令行运行ls –l具体查看每个文件夹和bin的权限这里就不多说了。这样的好处就是防止类似于山寨手机出现的后台隐藏发短信订阅服务等,也限制了软件越权设备里面的敏感信息或个人隐私。
IOS软件安装时通过iTunes或者移动设备自带的Appstore来安装的,iTunes是大部分越狱用户常用的,大都是用来安装crack过的软件。这里说下IOS软件安装过程,iTunes类似于一个update的客户端,把程序包传输给iphone或者ipad后,iphone或者ipad的Server端,把软件包解开,验证里面的一个plist文件是否是经过授权或者购过的软件。如果是就把文件解压到一个随机字串组成的文件夹里面。如果不是就提示授权错误或者软件没有购买。越狱的目的就是绕过了正规的Server验证,直接接受ipa打包过的软件包(类似于用rar压缩过的绿色软件包),直接解压到随机文件夹内。从而达到安装破解软件的目的,当然现在还可以通过修改plist授权appstore的账号来crack掉软件。但是这种方式从刚开始到现在一直被越狱IOS沿用着。怎样才能达到修改和控制这个验证呢?mobile用户显然没有这个权限,越狱就是提升权限来做这个过程。是不是很熟悉?Local提权,是的就是这样。
四、 IOS越狱原理
上面可以看到IOS的权限设置决定了,IOS上的软件应用范围,早期大家都是通过越狱来达到自己想要控制的权限。
越狱就是突破这个权限设置,让软件可以运行于更高的级别。甚至可以安装一些IOS没有自带的功能比如SSHServer FTPServer之类的功能。当然也包括修改和控制软件安转过和控制的iphone或ipad端。
越狱的第一步,首先是update一个提权exp上去,然后就是运行这个exp来达到更高的权限。我们来讲一个典型的案例,通过Safari内置浏览器来up一个exp上去,当然移动设备的safari是没有直接保存文件或下载文件的功能的,但是即便是写到内存和tmp文件夹里面也是有文章可以做的。接着就是通过内核引导时的类似rc引导他,来提升mobile权限,提升了mobile权限是临时的,只要重新启动设备权限就还原了。这个时候安装一个root权限的工具进去可以达到既不影响原来mobile用户设置,又可以方便以后用root安装或者设置系统。于是与老外们就选择了cydia这个很好用的工具来完成。但是我了解最流行的红学都是加启动项,每次提权。不知道以前或者以后版本会不会这样。
五、 越狱后IOS的弊端
越狱后,当然就是cydia就是一个root的最直接shell,他运行权限不是一般的高啊。哈哈 修改系统,安装软件根本不是问题,当然通过cydia来安装的软件也同样可以选择运行于root权限下。甚至通过appstore安装的软件也可以利用下cydia来做点儿文章。毕竟这个root shell是现成的。
看到这里问题就出来了,如果一个恶意的软件你通过cydia或者appstore安装在你的设备上了。以前apple公司的安全措施就完全失去作用了,他可以读取你的联系人、短信、mail、相册等等的一切一切,也可以后台发送短信订制服务。
越狱的好处是随便安装软件,但是带来的弊端就是你丢掉了安全。在不是非必要的情况下我建议大家还是不要去越狱,毕竟手机里面都是你个人的隐私啊。没有?虽然你不是陈冠希,但你家人的电话总在里面吧…
这次写的比较匆忙,主要是让大家粗略了解下。如果想深入研究可能你就要翻越大量的资料了。
[ 此帖被在2014-10-11 17:55重新编辑 ]