微软
专门从事安全工程与进攻性安全研究的Blackwing Intelligence接受了微软的委托,负责评估3台笔电上用来支援Windows Hello指纹身分验证的3款指纹感应器,研究人员透过软体与硬体的反向工程,在3个月内攻陷了相关装置,成功绕过Windows Hello的指纹身分验证机制。
Windows Hello为微软所开发的身分验证机制,应用于Windows 10与Windows 11作业系统,允许使用者透过人脸辨识、指纹辨识或PIN码来取代密码输入。而被用来测试的3台笔电及指纹感应器品牌,分别是采用Goodix感应器的Dell Inspiron 15、使用Synaptics感应器的Lenovo ThinkPad T14s,以及采用ELAN感应器的Microsoft Surface Pro X。
Windows Hello使用了两项关键的安全技术,一是Match on Chip(MoC),将指纹资讯存放于感应器晶片上,并直接于晶片上进行比对,可防范骇客直接将有效指纹传送至主机比对的攻击,二是微软特别针对指纹感应器所开发的安全装置连线协定(Secure Device Connection Protocol,SDCP),以避免骇客利用伪造的感应器来与主机通讯。
然而,研究人员发现,装置制造商似乎误解了SDCP的某些目的,再加上SDCP仅覆盖装置日常操作之非常狭隘的范围,而大多数装置都曝露了大范围的攻击面,并未受到SDCP的保护。此外,除了Goodix针对SDCP提供了良好支援之外,Synaptics仅具备部分的SDCP支援,而微软自家Surface Pro X所采用的ELAN并未支援SDCP。
在Dell(Goodix)与联想(Synaptics)笔电上,研究人员借由枚举有效ID,再利用合法Windows用户的ID来注册攻击者的指纹,成功绕过身分验证机制。
而Surface Pro X的指纹辨识则有赖Microsoft Surface Pro Type Cover,这是一个内建指纹感应器的外接键盘,研究人员原本以为这是最难攻陷的装置,因为它是由微软设计与开发的产品,却发现它所采用的ELAN指纹感应器并不支援SDCP,与装置之间是透过明文的USB通讯,而且不必验证身分,这代表任何USB设备都可以宣称自己是ELAN感应器,并假装自己是授权用户以登入电脑。
有趣的是,主机唯一检查的是感应器所知道的指纹数量是否与主机上所纪录的一致,以用来判断使用者是否插入了错误的Type Cover,但骇客只要查询原来的感应器就可绕过此一限制。
Blackwing Intelligence最终的结论是,生物辨识身分验证非常好用,但建议那些生产相关解决方案的业者应确保已启用SDCP,同时聘请第三方专家来审核相关部署。