编辑按:2020 年 2 月 17 日,百度移动开放平台发布《关于 91 和安卓市场渠道的下线通知》,表示将不再支持 91 和安卓市场渠道的渠道包上传和管理等功能。此前不久,手机管理工具 PP 助手也发布公告称,PP 助手 iOS 版 、 PP 助手 PC 版等产品将于近期下线。两条新闻再度引发了网友们对于第三方 App 安装器安全性的关注。在这篇文章中,作者沨沄极客就为你详细阐述了这些「助手」类产品背后到底有哪些安全隐患。
「我想在手机上玩 GBA 游戏,App Store 里咋一款模拟器都找不到呢?」「我想在 iOS 上双开微信,有没有安装包」「有没有 XX App 的免费破解版?」相信有许多 iPhone 用户都有过这样的疑惑,在 Android 下可以随意安装的应用在 App Store 中却找不到。
Android 往往只要一个 APK 包就能随意安装各类应用,如何在 iOS 下自由安装应用,这也是不少 Android 转 iOS 用户的疑惑。有人找到了所谓「简单方便」的第三方应用商店,甚至还能安装各种破解软件。它们都通过网站直接下载并安装企业级证书实现,然而实际上这类应用往往伴随着极高的风险。
今天就给大家详细讲讲,为什么不建议大家在 App Store 以外的第三方渠道安装应用,这些应用市场背后的故事,以及安装第三方应用的风险。
何为 iOS 第三方应用市场
许多人习惯性地认为,由于 iOS 权限的封闭,下载应用的唯一途径就是 App Store。但实际上也有一些 iOS 的第三方应用市场。
一款 App 想要上架 App Store,就必须需要经过 Apple 的审核。除了色情低俗等违法内容之外,盗版、破解版、模拟器、微信双开这些类型的应用都属于「违规应用」,统统不能上架。需要注意的是,违规的标准是由 Apple 制定的,违规 ≠ 违法,早些年的输入法应用就是一个很好的例子。
那么,如何才能绕开 Apple 的审核,让用户安装上自家应用,就成了摆在这些无法正常发布 App 的「违规应用开发商」面前的第一道难题。
在这种环境下,2013 年国内诞生了一款名为「快用苹果助手」的第三方工具,通过打擦边球的方法在 App Store 上架了一款伪装成浏览器的应用,用户能够通过这款应用绕过 App Store,实现免费安装收费 App 和盗版 App。同时推出了 PC 客户端,在未越狱的情况下通过连接电脑安装所谓的正版应用,实际上全部都是盗版。
与此同时,由于 iPhone 的市场需求大,Apple ID 的注册流程又比较长。二三线城市的手机销售实体店为了避免出现后续服务问题,往往不愿意帮助用户在 App Store 注册账号下载应用。便借助这些看似方便快捷,实则公然传播盗版的各种「应用助手」们代劳,完成应用的安装。所以这样的工具在今天仍然有着很大的市场。
除了第三方应用市场,也有一些应用推出了自己的官网,在官网上点击下载按钮后也能安装到本地。
但只要是非 App Store 途径安装应用,初次点开应用时都会弹出一个「未经信任的企业级应用」的弹窗。这些「助手们」往往会引导你到「设置 - 通用 - 描述文件与设备管理」中信任企业级证书,之后就能打开应用了。
无论是应用市场还是单个第三方应用,它们采用的方式大多是通过这种信任「企业级证书」的方式实现的。
那么这个企业级证书,究竟是个什么东西呢?
何为企业级证书
在没有越狱的情况下,无论是否通过 App Store 下载,一款应用必须通过「证书」签名的方式,才能在设备上运行。
这些「证书」需要向 Apple 公司申请。主要流程是由开发者向 Apple 提出申请,Apple 收取一定的费用后授予证书,开发者才能在 App Store 上架应用。如果没有证书,应用便无法打包分发,更不能上架 App Store,纯 IPA 文件也无法在设备上运行。
这样的证书一共分为四种——
免费证书:免费。但开发的应用不能上架 App Store。通常是提供给新手开发者的。
个人证书:收费,99美元 / 年。开发的应用允许以个人名义上架 App Store,允许升级到组织证书。独立开发者会选择使用这一档证书。
组织证书:收费,99美元 / 年。与个人证书最大的不同在于允许多人开发,但需要填写公司的 DUNS 编码,允许上架 App Store。
企业级证书:收费,299 美元 / 年。允许自行发布 App,但不允许上架 App Store,且没有设备数量限制。往往是用于公司内部使用的 App。此证书需要企业申请 Apple Developer Enterprise Program,且对企业申请资格有一定要求。
Apple 官网对这几种证书有详细的说明和对比,在这些计划之外,其实还有一种免费的教育开发者证书,这里关系不大,暂且不提。
我们可以发现这前 3 种证书面向的人群相当准确,从新手到个人开发再到多人开发,并且不允许在免费证书下直接发布应用,如果开发者想在 App Store 中发布应用就必须购买证书。
但企业级证书是独立于前 3 种情况之外的,在 Apple 的官网上也分为两个路线,前 3 种证书均属于 Apple Developer Program,只是需要提交的资料不同。而企业级证书则属于 Apple Developer Enterprise Program,有着独立的流程。费用较前者高很多。
企业级证书服务的对象是企业内部的员工,部分企业内部的应用出于某些考量是不适合上架到 App Store 的。比如企业为内部开发了一个打卡应用,这款应用上架到 App Store 对普通大众而言没有任何价值,而且需要经过较长的审核期。所以苹果为此独立出一种类型的证书,专门提供给企业使用。
这类证书也可以被用于 App 内部测试,一款应用在正式发布到 App Store 前,可以通过企业级证书对 App 进行签名,让公司内部的员工先行测试(团队证书最多只能由 100 台设备安装,企业证书则没有上限)。由于是半成品且通常是小范围应用,Apple 不会对这类应用进行审核。
一些公司会选择同时购买组织证书和企业级证书,前者用于将 App 上架到 App Store,后者用于在公司内部测试这款 App。这些都是属于企业级证书的正常用法。
但是,企业级证书和第三方应用有什么关系呢?不是只能由企业发布 App 吗?上面都是正常用法,接下来就该讲讲滥用的方法了。
滥用企业证书的风险
尽管 Apple 希望的情景很美好,但实际情况有所不同。由于这些应用无法通过 App Store 发布产品,于是只能通过滥用企业证书的方法来实现目的,这种方式往往伴随着较高的风险。
绕过 App Store 审核
由于企业级证书的特点非常鲜明:
打包便捷,在应用开发期间不需要证书参与,只有在完成开发后的分发环节需要使用到证书,对 App 签名。
无限数量,企业级证书支持无限数量的设备安装 App(个人和组织最多在 100 台设备上测试)。
无需审核,不需要经过 App Store 的审核,即可通过网页分发下载。
这样的特性不仅适合公司内部使用,甚至和 Android 应用接近,非常适合进行传播,这便给了第三方应用市场可乘之机。
一些公司钻了企业级证书的空子,把那些原本需要付费购买的应用用企业级证书打包后,在应用市场内分发给用户。这就属于企业级证书的滥用。
这种行为不仅是传播盗版这么简单,由于企业证书未经审核,全靠开发者自觉。所以这些应用完全可以窃取用户的信息和数据。即便是一款已经在 App Store 上架的应用,第三方商店仍然需要经过破解和二次封装才能进行分发,一些无良商店甚至会在破解版的应用内添加一些恶意代码,或是把一些内容悄悄传输到自己的服务器上。这些行为普通用户是无法察觉的,有可能个人信息泄露甚至是影响到财产安全。
修改破解版安全性堪忧
在 2016 年,就有一篇题为 《微信双开是定时炸弹?关于非越狱 iOS 上微信分身高危插件 ImgNaix 的分析》 的技术分析文章。其中分析了一款名为「倍推微信分身」的 App,可以实现在未越狱的 iOS 设备上实现微信双开。这样的应用是绝对无法通过 App Store 的审核的,所以它的安装方式就采用了企业级证书。
这款未经 App Store 审核的微信双开应用在微信的基础上做了大量修改,代码中甚至捆绑了支付宝的 SDK,用于调用支付宝的快捷支付功能。经过网络抓包分析后,这款应用还会推送一些服务收费的信息到手机上。尽管应用在测试过程中没有恶意攻击的倾向,但应用内预留了许多高危险的接口,一旦破解者有了别的心思,即便是微信的账号密码也能随意获取。
从这个角度讲,微信因为用户使用双开而进行短时间封号,还真的是为用户好。
私有 API 调用数据
滥用企业级证书最大的问题还不仅仅是修改破解,它还能让开发者使用一些私有的 API。从而获取用户的手机号、通话记录、联系人、账号信息,甚至是短信内容。
就在今年的 2 月 1 日,Apple 相继撤销了 Facebook 和 Google 的企业级开发证书,Facebook 诱导青少年安装一款 Facebook Research 的 App,这款应用可以调用一些私有 API,来大量采集用户的隐私信息,甚至包括在亚马逊上的订单截图。
这种级别的权限显然是超出 App Store 应用的,当这些私有 API 被不怀好意的人利用时,手机的信息安全令人担忧。
所以,一旦揭开那些滥用企业证书应用的伪装,就会发现其中潜藏的危机数不胜数,只是多数用户还被蒙在鼓里。毕竟这些应用市场不仅很难通过正常手段盈利,还要为随时可能被封的企业级证书付出高昂的成本。即便你认为一些完全没有密码泄露风险的应用,也有可能被添加了一些代码,让你在无意中变成了砧板上的鱼。
Apple 为何不管控?
如果企业级证书真的如前面说的那样容易被滥用,那么为什么 Apple 还纵容他们,不将他们的企业级证书封禁呢?
实际上,正是由于滥用企业证书有如此高的风险,Apple 通常是不允许滥用企业证书的,封杀力度也相当高。一旦发现就会封杀该企业证书。该证书名下的所有应用就会直接闪退,无法继续使用。这也是为什么在应用市场中安装的应用,每隔一段时间就会出现闪退的情况,必须重新安装才能解决。
但是许多做这类生意的公司都会打一枪换一个地方。通过大量购买企业证书,来规避被封杀的风险。往往是一个企业证书被封杀了,换一个证书又出现了。所以我们每次在设置中看到的企业证书都有所不同。
而且 App 的使用者往往不会主动举报企业级证书,只知道应用不能用了,删了重装就好了。所以这就造成了实际上的监管困难,使得应用市场得以在夹缝中生存。
如何避免风险
好在少数派的读者们普遍有着较高的正版意识和手机使用常识。所以为了尽量避免产生类似的风险,应当告诫身边的朋友和长辈,避免通过这些商店安装应用。如果能够通过 App Store 下载,就要尽可能避免安装需要信任证书的应用。
如果在不经意间已经安装了应用,也不必过度恐慌。得益于 iOS 的沙盒机制,只要不在设置中信任它的企业级证书它就无法运行,不会产生任何影响。
总结
总之,「iOS 的安全性高」是基于整个沙盒环境而言的,无法实现绝对安全。在 App Store 的审核机制下能够尽可能保证 App 本身的安全性。而通过企业级证书安装的 App 则完全无视了这一层保护伞,甚至能够获取更多的内容。作为用户,应当尽量避免下载使用这类应用。Apple 作为平台,在加大打击的力度的同时,也应当考虑一下开放 App Store 的部分功能。或是增设合理的监管手段,从源头上减少企业证书的滥用。