最近有iOS用户发现,微信正在灰度测试“用本机号码登录”,系统直接通过运营商提供的手机号进行认证服务,会自动识别当前SIM卡绑定的手机号,无需接收短信验证码即可实现一键登录。

其实不只有微信,短信验证码也成为了微软的“眼中钉”。几乎是在同一时间,微软在最新发布的支持文档中确认,个人用户Microsoft账户的短信验证码也将被逐步淘汰,未来用户登录以及找回账户时将进行多因素验证,必须使用通行密钥和生物识别来实现。
统计数据显示,在通行密钥被设置为新账户的默认选项后,微软的无密码身份验证成功率达到了95%,登录速度较传统方式提高了14倍。在微软的内部环境中,已有99.6%的用户和设备切换到了抗钓鱼的身份验证方式,此前的短信和语音验证已基本从核心流程中去除。
关于决定淘汰短信验证一事,微软技术社区高级项目经理Jonathan Edwards给出了解释。他表示,“通过短信发送的一次性验证码容易受到拦截、SIM卡交换和路由缺陷的攻击,这些攻击路径在实际场景中依然频繁得逞”。

事实上,作为曾经两步验证机制的通用解决方案,短信验证码在被各路黑灰产研究了十余年后已经不再安全。自移动互联网普及,手机成为新一代的通用计算终端以来,短信验证码就成为了全球各行各业广泛采用的动态验证机制,也是目前许多企业为用户提供数字化服务的基石。
相比于传统的账号密码体系,手机号+动态短信验证码这一模式省去了用户记忆复杂的密码,在安全性上也有所提升。
不仅如此,短信验证码作为一个“逆图灵测试”的效果也过于优秀,它与手机号的强关联可以有效防止机器冒充人类。短信验证码本身作为一次性口令(one time password)的安全性其实是有保障的,可“GSM劫持+短信嗅探”实现了让本应发给用户的验证码被截获。
作为一项已商用近30年的老技术,2G早已落后于时代,特别是密码学的日新月异更是让2G网络的缺陷被暴露出来。比如,最知名的2G网络“GSM”,开发于1988年的它采用了名为A5/1的64位对称加密技术,在当时确实难以被“穷举法”暴力攻破。

可是随着计算机硬件和密码学的迭代,原本需要几年才能暴力破解的64位对称加密,如今的消费级GPU也只需要几天就能实现。到了2012年,提供构建GSM基站和网络设备的开源软件解决方案OsmocomBB开源,更是让黑灰产如获至宝,旋即就实现了对GSM的破解。
利用OsmocomBB开源项目的成果,实现对接入2G网络的手机进行非接触式监听,再借助2G网络单向鉴权的局限性,通过伪基站劫持(中间人攻击)获取特定范围内活跃设备的手机号码,并使用频段屏蔽设备强制将手机信号降级至2G网络后,目标手机接收的验证码就曝光在了黑灰产团伙的视线里。
有了手机号,还能实施截获验证码,就让用户的社交媒体、金融资产相当于不设防,这也是为什么公安机关过去数年一直在严厉打击伪基站以及各类嗅探的原因。毕竟从来只有千日做贼,没有千日防贼的道理。可遗憾的是,在市场经济这只看不见的大手影响下,过时的2G网络早已不再进行更新。

虽然电信运营商已经开始将短信的发送和接收通道从2G升级为VoLTE,但以目前VoLTE在全球范围内的普及率,短信验证码的安全性依然岌岌可危。如果说GSM嗅探还可以防范,一旦发现手机网络无缘无故被降级就该打起十二分精神,那么SIM卡交换攻击(SIM Swap Attack)则称得上是防不胜防。
SIM卡交换攻击作为社会工程学范畴的黑客行为,攻击者会通过数据泄露事件、社交媒体个人资料以及其他公开来源收集个人信息,以便令人信服地冒充受害者。在联系移动运营商客服时,他们往往会编造紧急或窘迫的场景,迫使客服对标准验证协议破例,从而将号码重新分配给攻击者控制的SIM卡,以劫持受害者的数字身份。

不久前,一位在新西兰生活的华人网友在社交平台分享了他的经历,短短14分钟就被黑客转走了近2万纽币。官方给出的调查报告显示,这位网友遭遇的正是SIM卡交换攻击,黑客欺骗了其手机号归属的运营商Kogan Mobile,以“SIM卡丢了”为由走了常规补卡流程,再利用短信验证码重置了受害者的网上银行密码。
简而言之,在微软的视角下,短信验证码就像一座已经被蚁穴蚀空的大堤。为此他们拿出了Passkeys(通行密钥),这是一种基于FIDO2标准的无密码身份验证方法,私钥保留在用户设备的TPM安全芯片中,公钥则注册在微软的服务器端。即便攻击者搭建了伪造的登录页面,也无法绕过通行密钥基于特定域名的加密验证机制。

与短信验证码相比,黑灰产攻破通行密钥的难度由此也就有了数量级的提升,毕竟破解TPM安全芯片或是侵入微软的服务器,以现有技术条件几乎是不可能完成的任务。当然了,在“为你好”的旗号背后,微软其实也有自己的小算盘。
由于通行密钥的使用会让用户在不知不觉间绑定微软的生态,但它是微软、而非电信运营商提供的服务。
【本文图片来自网络】
