即将在秋季正式推送的 iOS 12,其中一项新特性是可以识别短信中的验证码并自动填写,这个功能大大方便了用户,但是近日安全专家安德烈亚斯·古特曼(Andreas Gutmann)指出:这样的自动填充功能可能存在安全隐患,并提醒银行方面以及程序开发者们注意加强防范。
今年 6 月的全球开发者大会(WWDC 2018)上,苹果宣布了 iOS 12 的新特性:Auto Fill(验证码自动填充),其旨在通过自动读取短信中的验证码,节省在 Safari 等应用中手动输入表单的麻烦,从而为用户带来无缝的注册流程体验。
在当前绝大部分在线交易和在线访问都采用双重身份验证(2FA)的情况下,验证码自动填充无疑方便了用户。并且,如果你的 Mac 也安装了最新的 Mojave 测试版系统,短信验证码还会通过「接力功能」(Handoff)传输到 Mac 上。
双重身份验证通常称为两步验证,是许多安全系统的基本要素。在大多数情况下,2FA 通过检查用户是否可以访问移动设备来提供扩展的安全性。例如,在基于 SMS 的 2FA 中,用户要向某个服务系统发送自己的手机号,此服务再向注册的电话号码发送一次性密码(OTP),也就是验证码来检验用户合法性,用户接收此代码并能够在登录过程中输入该代码,而模仿者无法访问该代码。
iOS 12 新功能只需要用户在接收到验证码短信的时候点击一下,便会自动输入验证码,这将加快登录过程并减少错误。安全专家肯定苹果这一做法是对 2FA 可用性的重大改进,它还可以提高 iPhone 用户对 2FA 的采用率。但专家同时警告称:iOS 12 验证码自动填充功能可能会催生随之而来的欺诈、钓鱼攻击等风险。
动态验证码本身是防御复杂攻击的重要工具,其中的关键在于必须由用户接收到并在有效时间内主动+手动输入验证码。自动填充直接移除了其中的手动部分,对于用户来说很方便,但它也抵消了交易签名和交易验证号码(TAN)的安全优势。
iOS 12 的自动填充功能基于触发式的消息检测,比如检测出类似于“验证码”或者“密码”这样的单词(字段),便会提取相应字段进行填充。
恶意网站或恶意软件也有可能通过这样的手段提取到验证码,进行网银欺诈。在 MacBook 上通过 Safari 浏览器访问网银的用户,可能会受到中间人攻击。
安全专家提议银行应该对新的验证码自动填充功能保持警惕:
- 教育客户仔细阅读验证短信和详情的重要性,特别是那些在 iPhone 上接收验证短信的人(不少人都是随便看一眼,只留意验证码而不留心看短信内容)。
- 银行可以尽量避免因(可被追踪到的)特定字段而激活自动填充功能。
- 采用更高级的身份验证技术,例如生物识别技术(指纹、面部识别等)以及针对高风险交易的推送通知。
- 程序开发者们基于安全考虑,可以通过自动填充屏蔽和 App 自我保护(RASP)技术免受攻击。