自 2008 年 Apple 在 iPhone OS 2.0.1 中推出 App Store 以来,关于 App Store 过于封闭的声讨就从未停歇。不同于可以自由安装第三方软件的 macOS,iPhone 用户想运行非 App Store 应用的方式极为有限:要么自己签名部署、要么使用专门的企业工具进行 App 分发。
对于这种近乎「垄断」的 App 分发策略,不同用户有不同的看法,有的人认为这是 Apple 限制用户选择的手段,也有人认为这是维护 iOS 生态秩序的代价——不开放 App Store 意味着每一款 App 都必须经过 Apple 的审查,这也是某些热爱搜集用户数据的流氓互联网巨头在 iOS 上表现异常「温顺」原因。
图片来源:Apple但如果 Apple「严格」地审核下有漏网之鱼呢?比如上个月就有网友在 V2EX 上分享家人被 App Store 中的恶意应用盗号,导致财产损失的案例。
(资料图)
图片来源:V2EX根据原帖分享,当事人在 App Store 上下载了名为「菜谱大全」的 App,并会选择使用 Apple ID 登录。随后 App 发起了一个伪装成 Apple 验证的弹窗,要求当事人输入 Apple ID 密码。第二天凌晨,当事人发现 iPhone 被抹掉资料,并在重新配置手机的过程中收到了银行的支付通知短信,这才发现 Apple ID 被不法分子盗用、盗刷。
经过后续分析,该 App 钓鱼攻击链路被大致探明:
除了常见的手机号、微信登录外,这款「菜谱大全」还提供了「Apple ID 登录」的选项,这一功能在 iOS 13 中首次出现,允许用户在 Face ID 或 Touch ID 验证后直接通过 Apple ID 创建新用户,不再需要另外输入邮箱、设置密码、接收验证码。使用这一功能是,Apple 会询问用户用哪个邮箱进行注册:
用户可以用 Apple ID 绑定的正式邮箱地址,或由 Apple 生成的一次性转发地址进行登录。前者会向 App 开发者提交 Apple ID 的真实邮箱地址,后者则提交随机生成的虚拟地址,并通过 Apple 的服务器进行邮件转发,从而向 App 开发者隐藏真实邮箱,从而保护用户数据。
这里当事人选择了使用 Apple ID 登录,因此不法分子获得了用户的真实邮箱。随后,不法分子向用户发起了一个名为「AppLeID」的弹窗,诱导用户输入 Apple ID 密码。理论上这种直接要求用户输入密码的行为应该唤醒用户的警觉,但由于 Apple「谜一样」的安全策略,在下载 App 时要求输入 Apple ID 密码的现象非常常见,甚至有些时候连更新 App 都需要输入 Apple ID 密码,所以当事人并未察觉到异常,直接一明文将密码发给了不法分子。
此时用户已经将账户邮箱和密码一起发给了不法分子,挡在不法分子面前的就只剩下 Apple 的二步验证,也就是大家平时常见的一次性验证码验证了。但在这里,不法分子使用了一个小手段:为了不频繁打断用户操作,二步验证一般只在第一次使用陌生设备时用到。
而当事人的手机自然不属于陌生设备,当用户在 App 中使用 Apple 登录后,App 就可以在后台访问 iCloud,并利用刚刚骗来的 Apple ID 密码将不法分子的手机号添加到当事人 Apple ID 的安全手机号当中。完成后,即使不法分子需要使用输入二步验证的验证码,也可以直接用自己的手机号请求验证,无须攻破 iOS 的沙盒读取用户短信。
图片来源:雷科技到这里,不法分子已经获取了用户账户邮箱、密码和二步验证的验证码了,之后只需要在 iCloud 中将自己的小号添加为家庭组并开通家庭组支付,就可以开始盗刷当事人所绑定的微信免密支付了。盗刷完成后,不法分子只需要通过 iCloud 抹掉当事人的手机,就可以消除当事人手机中的所有短信记录,悄无声息地完成盗刷了。
幸运的是,用户在第一时间就发现了手机被远程抹掉,银行的扣款短信并未远程删除,这才为当事人留下了反应的时间。如果短信被成功抹掉,当事人很可能根本不知道自己的 Apple ID 被远程盗刷。
可能有人会觉得此次事件中当事人在陌生弹窗中输入 Apple ID 密码的行为很「笨」,甚至会笑话当事人连「AppLeID」这么明显的钓鱼弹窗都深信不疑,但实际上被钓鱼窗口欺骗只不过是整个盗刷过程中最微不足道的错误。
没错,「AppLeID」确实属于「艺高人胆大」的诈骗标题,但如果不法分子打的是「AppIe ID」「App1e ID」甚至是用西里尔字母拼写出来的「Арр l е ID」呢?大家又能分得出「Арр l е ID」和「Apple ID」之间的区别吗?
在我看来,除了用钓鱼手段盗取用户资料的不法分子外,Apple 也需要对此负责。不同于开放的 Android 应用生态,iOS 作为 Apple 生态中的最重要的组成部分,有着极为严格的 App 分发限制。甚至在 Apple 的平台安全保护页面就写道:
与其他移动平台不同,iOS 和 iPadOS 不允许用户安装来自网站的潜在恶意未签名 App 或者运行不受信任的 App。运行时,所有可执行内存页会在载入时进行代码签名检查,以帮助确保 App 自安装或上次更新之后未被修改过。
换句话说,iOS 用户之所以愿意只从 App Store 中下载软件,是因为 iOS 用户以 App 安全作为代价,让渡了一部分选择的权利。而作为应用审核的一部份,Apple 也理应发现这种打着「AppLe」名号的钓鱼行为,别忘了 Apple 对 App 热更新可是有严格管控的。如果 Apple 的审核无法有效过滤恶意钓鱼应用,那还不如直接开放应用侧载,让用户自己为自己的信息安全负责。
早在 2022 年,我们就讨论过 Apple 是否会开放侧载功能,彼时的意见主要分为两派,一派认为 Apple 会在外部的压力下,开放侧载支持,另一派则认为 Apple 会顶住压力,继续维持自己的封闭生态。
支持侧载的一方认为,在最高 20% 的全球营收罚款和欧洲市场的威慑下,Apple 肯定会妥协的。而封闭方则认为,Apple AppleCEO 库克公开表示过 Apple 不会支持侧载,侧载会对 Apple 生态的安全造成严重影响。
记者 Mark Gurman 声称自己得到了内部消息,Apple 将会在 iOS 17 中首次允许 iPhone 用户下载 App Store 以外的应用程序并安装。
当然,目前并不清楚是允许用户任意下载,还是需要通过 Apple 认证的第三方渠道下载,但是从实际的结果来看,Apple 开放侧载功能应该已经是板上钉钉的事情,至少在欧洲市场 Apple 肯定会开放该功能。
在这条新闻下面,不少网友都疑惑 Apple 为何会屈服,难道 Apple 真的愿意将经营多年的封闭式生态亲手毁掉?同时还有不少网友直言:「支持侧载的 iOS 和安卓有什么区别,以后看看谁还买 Apple」。
在我看来,Apple 的多数用户其实都可以归类为「传统用户」的行列,他们不会折腾系统的各种配置、不会费尽心思对比手机的各项参数,他们对于手机的唯一要求就是「流畅」与「好用」。对于多数用户而言,App Store 依然是他们最好的选择,不需要担心 App 被植入恶意代码,不需要担心 App 被捆绑一些不知名软件。即使在一向以开放著称的安卓手机中,也有不少用户选择只从应用商店下载 App,只有在应用商店实在找不到时,才会转而前往 App 的官网下载。
从用户角度来说,iOS 支持侧载功能,也是将选择权交还给用户的一种体现,让用户做选择而不是代替用户做选择,Apple 或许逐渐转向另一条道路。在我看来,这条道路的未来并不固定,对于 Apple 生态的发展是好是坏,一切都要看 Apple 将会如何处理侧载与 App Store 之间的关系。
当然,对于 Apple 来说,侧载功能必定会影响他们的营收,毕竟看不惯 Apple 的 30% 应用税且拥有一批忠实粉丝的 App 并不少。
站在 Apple 角度,自然也不是没有任何反制措施,退出 App Store 体系选择侧载,意味着 App 将彻底失去在 App Store 被推广的权利,而 App Store 在可预见的未来都依然会是 iPhone 用户最大的下载平台,承载着 iOS 生态的大多数流量,失去了 App Store 的推广,大多数 App 都可能面临下载量下降、用户数下降等问题。但对作为用户的我们来说,这些问题其实都无关紧要,无论严格限制还是开放侧载入,谁能保证用户的信息安全,用户自然会用脚投票。