玩过Android机器的都知道,Android有个很重要的概念叫Root。有Linux相关知识的都知道,这个Root权限实际上说的就是Linux系统的Root账户。大家都知道Mac系统与Linux系统有着千丝万缕的关系,而iOS系统又是在Max系统的基础上定制而成的,那么我们是否可以认为iOS系统同样有着一个类似的Root概念呢?没错,这个概念就是我们今天要说的越狱。
iOS机器越狱实质上就是通过一定的手段获取设备的Root账户权限。Android系统的用户权限比较高,有读与写的能力,而iOS系统的用户权限比较低,仅仅只有读的能力。同时苹果为了自身的利益,强制用户只能使用AppStore获取符合苹果生态圈规则的应用。这样做的结果就是终端设备的安全性、稳定性比较高,当然也就限制了开发者的行为,阻碍了部分消费者的个性化需求。
那么越狱能带来什么样的变化呢?最首要的变化是,越狱通过修改操作系统中证书签名验证机制,使签名机制半永久性失效,从而允许第三方代码运行在设备上。这样就能安装一个类似AppStore这样的软件安装应用程序(这里一般指的是Cydia)。通过这个安装程序,越狱设备能够进而安装各种各样的工具与应用,这些应用通常情况下都是不符合苹果审核政策而被拒之与AppStore门外的。因此这类应用的安全性当然也值得担忧。
对于开发者来说,越狱后能够解锁更多的开发工具,用于调度应用、渗透测试以及模拟一系列的开发环境。简单列举一下:ps/tcpdump/ifconfig/otool/route/netstat/sysctl/nm/gdb/cycript等。
实现越狱的原理是什么呢?漏洞!iOS设备有一种模式叫DFU模式,就是所谓的设备故障恢复工具或者叫设备固件升级工具。在这个模式下可以利用设备引导ROM中的漏洞来部署代码,进而绕过设备中的安全检查机制,从而允许非苹果代码从设备的内存中引导起来。这种方式进一步导致了两种越狱模式的出现:完美越狱与不完美越狱。
完美越狱指的是设备重启后依然能够保持越狱状态,此时设备中安装的其它末授权代码依然能够运行。
不完美越狱指的是设备重启后需要通过连接到计算机辅助引导设备到越狱状态。一旦设备正常重启,设备上所有安装的越狱应用都不能正常运行。
上面啰嗦了这么多,主要是让大家对越狱有个理性的认识。越狱不是什么神秘的东西,只是IOS系统的一个破解方式,只要你不怕手机变砖,请随便折腾你的手机吧。接下来就进入了本系列的具体部分,敬请期待。