图片来自 http://www.redmondpie.com

最近苹果发布了8.1.3系统更新。从更新日志看,没有多少变化(错误修复,提高稳定性和性能),但是苹果修复了一个“漏洞”,就是之前说的“假面”。

科普一:假面漏洞

系统给每个应用一个安全区域(沙盒),一个应用没有权限获取其他应用的沙盒里的数据。每个应用有一个BundleId,一个假冒的应用只要具有相同的 BundleID 并且有合法权限(一般是通过合法的企业证书重新打包签名)能安装到手机上就可以直接替换掉原有的应用并且取得该应用的所有权限。

举个例子,手机上安装了微博的官方客户端,并且客户端曾经获得了你的批准访问手机的相册,通讯录,地理位置等等。假如有人做了个假冒应用,通过一些途径,比如黑应用商店安装到你的手机上,就会直接替换掉官方的客户端,在你打开的一瞬间就可以读完你的通讯录,应用里存的敏感信息等发送给作恶者的服务器,而你对此完全没有感知。

8.1.3的安全方面更新着重解决了这个问题,这里是详细说明

修复了下面这2个关键的 bug:

  1. CVE-2014-4493

    就是前面说到的假面漏洞。

  2. CVE-2014-4494

    通过非应用商店下载的应用,一般在打开前系统会提示,这个应用不可信,是否要信任它。这里提到的 bug 可以绕过这个系统提示。

其他几个 bug 也很有意思,比如动态加载执行未经审核的代码,有兴趣的同学可以自行研究Mach-O

科普二 非官方应用商店 安装应用的实现原理

为什么要从非官方的 AppStore 安装应用呢?原因大概有:

  1. 仅在企业内部使用的应用没必要放到应用商店。比如银行等比较敏感的企业的内部管理应用,出于安全考虑不能公开给所有人下载并且即便有人下载了没有内部账号也无法使用。

  2. 现在的应用太多了,放到官方商店会被淹没。而官方商店又基本没有“关系后门”可以给点钱帮忙推广之类的办法,所以衍生出来各种积分墙,应用赚钱等产业靠广大人民群众的人海战术给应用刷榜,提高应用排行榜上的位置提高曝光率,达到推广的目的。如果商店控制在“自己人”手里,一切都解决了,要推荐有推荐要首发有首发。

  3. 官方商店的审核时间太长,而且是个不定数,好不容易排队半个月等到审核,2分钟结束,拒绝通过,然后再对应用或者是描述做修改再提交,再进行漫长的等待。

  4. 有些应用利用了 iOS 没公开的接口来做一下苹果目前不认可的高级功能,比如“来电防火墙”、访问 WiFi 等功能。

  5. 收费应用免费化,你懂得 :)

实现原理也2种:

  1. 用合法的企业证书,重新对应用打包签名。让系统以为这个应用是个大企业内部使用的应用。

  2. 破解FairPlay(DRM,苹果的版权保护方案)。通过在电脑上利用 iTunes 的权限替换手机里的用户购买信息,让手机误以为是正版用户购买的。现在市面上的各种“手机助手”基本都是用的这种方法。

带来的影响

针对破解FairPlay,苹果同时发布了iTunes 12.1,改成了64位架构,使各种助手失效,媒体把这个更新称为“各路助手挺尸”、“封杀一切助手”等。

图片来自 http://www.redmondpie.com

针对企业证书重签名,正常情况(指在 Xcode 里直接用企业证书编译打包签名)的企业证书签名是不受影响的,只有用企业证书做了重新打包。只有因为企业证书本身存在是为了让大企业更方便,而后来被国人玩坏了(最近被苹果大规模撤销)。

这个只是目前大部分的重新打包的逻辑没有跟进,估计过一段时间应该会兼容回去。但是所有的已经打过包的应用除非重新来过,否则无法安装到8.1.3上。而且企业证书经常被滥用导致苹果撤销,再用新的证书打包时又会因为上面的逻辑,而使应用无法安装。

所以企业证书分发应用这种方式将会在不久后退出历史舞台。

提示: 如果出现了手机无法安装,无法下载等问题很难直接判断错误原因,开发者可以通过 FIR.im 发布的小工具 Log Guru 来查看具体的错误以便分析。


**

注1: 证书(开发者账号)有3种,个人、公司、企业, 企业证书是$299向苹果申请的仅能用于企业内部分发应用的证书,不能提交应用商店的那种,经常被误以为是公司证书。# #

iOS 8.1.3 “各路助手挺尸”、“封杀一切助手的更多相关文章

  1. Lrc歌词批量下载助手 MP3歌词批量下载助手

    Lrc歌词批量下载助手  MP3歌词批量下载助手   易歌词的服务器已经挂掉,各个主流播放器已不提供明确的下载Lrc服务,当上G的MP3文件遇上苦逼的播放器,二缺就诞生了!本软件就是在这种背景下诞生的 ...

  2. iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码

    iOS精选源码 如丝般顺滑的微信朋友圈(点赞,评论,图文混排表情,... 动态菜单第三版本:动态项,自适应方向 仿appstore首页滚动效果 iOS 透明导航栏方案 TransparentNavig ...

  3. 【京东助手】滑稽东试用助手 V1.6.0

    很久没写博客了,发个最近在做的一个软件! 滑稽东试用助手现有功能1.自动申请试用2.自动领取京豆3.自动签到领取京豆说明:该软件使用C#开发,若要运行此应用程序,您必须首先安装 .NET4.01.双击 ...

  4. iOS 10 开发适配系列 之 权限Crash问题

    升级 iOS 10 之后目测坑还是挺多的,记录一下吧,看看到时候会不会成为一个系列. 直入正题吧 今天用一个项目小小练下手,发现调用相机,崩了.试试看调用相册,又特么崩了.然后看到控制台输出了以下信息 ...

  5. iOS常用第三方开源框架和优秀开发者博客等

    博客收藏iOS开发过程好的开源框架.开源项目.Xcode工具插件.Mac软件.文章等,会不断更新维护,希望对你们有帮助.如果有推荐或者建议,请到此处提交推荐或者联系我. 该文档已提交GitHub,点击 ...

  6. iOS程序逆向Mac下常用工具——Reveal、HopperDisassemble、IDA

    原文在此 一.Reveal 1 一般使用     Reveal是ITTY BITTY发布的UI分析工具,可以很直观的查看App的UI布局.如下图所示:     Reveal是需要付费的,需要89美元, ...

  7. 移动应用开发过程中需要哪些IOS APP工具

    虽说如今要开发一款IOS app应用软件已经不是什么难事,app开发技术已经发展成熟,所以要制作一款适用于苹果IOS智能操作系统的app软件也挺容易的了.不过对于开发者来说,可以通过一些app工具来更 ...

  8. iOS 10 开发 相机相关的适配

    升级 iOS 10 之后目测坑还是挺多的,记录一下吧,看看到时候会不会成为一个系列. 直入正题吧 今天在写 Swift 3 相关的一个项目小小练下手,发现调用相机,崩了.试试看调用相册,又特么崩了.然 ...

  9. 使用 Fastlane 实现 IOS 持续集成

    简介 持续集成是个“一次配置长期受益”的工作.但很多小公司都没有.以前在做Windows开发配置感觉简单一些,这次配置iOS的,感觉步骤还挺多.整理出来,分享给大家,不正确的地方请及时指正. 本文主要 ...

随机推荐

  1. 简单的css js控制table隔行变色

    (1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...

  2. C#实现HttpPost提交文件

    先建立一个WebApplication Web.config <?xml version="1.0" encoding="utf-8"?> < ...

  3. Codeforces #380 div2 D(729D) Sea Battle

    D. Sea Battle time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  4. String.Format格式说明——复制于DotNet笔记

    String.Format格式说明   C#格式化数值结果表 字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 st ...

  5. gridview汇出EXCEL (ExportGridViewToExcel(dt, HttpContext.Current.Response);)

    调用 ExportGridViewToExcel(dt, HttpContext.Current.Response); private void ExportGridViewToExcel(DataT ...

  6. 关于“windows无法自动将ip协议栈绑定到网络适配器”问题导致不能连上网的解决办法

    问题出现的原因:这个问题的直接表象并不是显示给用户这个问题,而是提示无线网络驱动可能有问题或者以太网驱动可能有问题,但只要用户查看”详细信息“,就会得到标题这个问题,而出现这个问题的本质并不是驱动问题 ...

  7. 在已有 Xcode 项目中 加入Cordova框架

    转自:http://www.jianshu.com/p/656838ae92bc 我们知道,在UIKit中的UIWebView虽然已经提供了很多功能了,比如JavaScript和Objc之间的通信.但 ...

  8. 查看当前正在运行的activity

    找到sdk的安装路径,比如我的是 D:\prostu\Android\android-sdk\tools该路径下的: hierarchyviewer.bat 双击,可以用此工具查看设备跑的是当前的哪个 ...

  9. WIN8 隐私声明

    隐私权声明 本应用连接网络仅为控制硬件设备,不会收集你的个人信息,也不共享你个个人信息. 应用名称 CrossMedia可视化控制系统(服务器版) 关于本应用 本应仅为控制设备应用,不关注任何配置相关 ...

  10. ubuntu 14.04 下svn + apache2 配置

    1.svn的配置 sudo apt-get install subversion // 安装svn mkdir /home/svn // 创建仓库 svnadmin create /home/svn/ ...