图片来自 http://www.redmondpie.com安全
最近苹果发布了8.1.3系统更新。从更新日志看,没有多少变化(错误修复,提升稳定性和性能),可是苹果修复了一个“漏洞”,就是以前说的“假面”。服务器
系统给每一个应用一个安全区域(沙盒),一个应用没有权限获取其余应用的沙盒里的数据。每一个应用有一个BundleId
,一个假冒的应用只要具备相同的 BundleID 而且有合法权限(通常是经过合法的企业证书从新打包签名)能安装到手机上就能够直接替换掉原有的应用而且取得该应用的全部权限。架构
举个例子,手机上安装了微博的官方客户端,而且客户端曾经得到了你的批准访问手机的相册,通信录,地理位置等等。假若有人作了个假冒应用,经过一些途径,好比黑应用商店安装到你的手机上,就会直接替换掉官方的客户端,在你打开的一瞬间就能够读完你的通信录,应用里存的敏感信息等发送给做恶者的服务器,而你对此彻底没有感知。app
8.1.3的安全方面更新着重解决了这个问题,这里是详细说明 。工具
修复了下面这2个关键的 bug:性能
CVE-2014-4493
就是前面说到的假面漏洞。spa
CVE-2014-4494
经过非应用商店下载的应用,通常在打开前系统会提示,这个应用不可信,是否要信任它。这里提到的 bug 能够绕过这个系统提示。日志
其余几个 bug 也颇有意思,好比动态加载执行未经审核的代码,有兴趣的同窗能够自行研究Mach-O
。code
为何要从非官方的 AppStore 安装应用呢?缘由大概有:接口
仅在企业内部使用的应用不必放到应用商店。好比银行等比较敏感的企业的内部管理应用,出于安全考虑不能公开给全部人下载而且即使有人下载了没有内部帐号也没法使用。
如今的应用太多了,放到官方商店会被淹没。而官方商店又基本没有“关系后门”能够给点钱帮忙推广之类的办法,因此衍生出来各类积分墙,应用赚钱等产业靠广大人民群众的人海战术给应用刷榜,提升应用排行榜上的位置提升曝光率,达到推广的目的。若是商店控制在“本身人”手里,一切都解决了,要推荐有推荐要首发有首发。
官方商店的审核时间太长,并且是个不定数,好不容易排队半个月等到审核,2分钟结束,拒绝经过,而后再对应用或者是描述作修改再提交,再进行漫长的等待。
有些应用利用了 iOS 没公开的接口来作一下苹果目前不承认的高级功能,好比“来电防火墙”、访问 WiFi 等功能。
收费应用免费化,你懂得 :)
实现原理也2种:
FairPlay
(DRM,苹果的版权保护方案)。经过在电脑上利用 iTunes 的权限替换手机里的用户购买信息,让手机误觉得是正版用户购买的。如今市面上的各类“手机助手”基本都是用的这种方法。针对破解FairPlay
,苹果同时发布了iTunes 12.1
,改为了64位架构,使各类助手失效,媒体把这个更新称为“各路助手挺尸”、“封杀一切助手”等。
图片来自 http://www.redmondpie.com
针对企业证书重签名,正常状况(指在 Xcode 里直接用企业证书编译打包签名)的企业证书签名是不受影响的,只有用企业证书作了从新打包。只有由于企业证书自己存在是为了让大企业更方便,然后来被国人玩坏了(最近被苹果大规模撤销)。
这个只是目前大部分的从新打包的逻辑没有跟进,估计过一段时间应该会兼容回去。可是全部的已经打过包的应用除非从新来过,不然没法安装到8.1.3上。并且企业证书常常被滥用致使苹果撤销,再用新的证书打包时又会由于上面的逻辑,而使应用没法安装。
因此企业证书分发应用这种方式将会在不久后退出历史舞台。
提示: 若是出现了手机没法安装,没法下载等问题很难直接判断错误缘由,开发者能够经过 FIR.im 发布的小工具 Log Guru 来查看具体的错误以便分析。
注1: 证书(开发者帐号)有3种,我的、公司、企业, 企业证书是$299向苹果申请的仅能用于企业内部分发应用的证书,不能提交应用商店的那种,常常被误觉得是公司证书。