7 月 16 日消息,安全研究机构 ERNW 今日披露,Windows Hello for Business(Windows Hello 企业版)存在“面部交换攻击”缺陷,黑客可利用该缺陷替换生物识别模板,以类似“换脸”方式伪装登录。
ERNW 的研究人员发现,Windows Hello 利用 OS 内的“解锁系统”存储的解密密钥进行验证,并不会直接使用用户的生物识别数据进行身份验证。
这种架构存在一些问题。首先,生物识别身份验证与真正的登录认证之间耦合较松。其次,系统内部未引入外部熵来生成加密密钥。
换言之,尽管 Windows 会加密面部识别模板,但解密所需的一些信息都储存在本地计算机中。研究人员声称:“如果攻击者获取了管理员权限就可以解密这些面部信息。访问所有生物识别模板内容,甚至直接修改它们。”
Windows 将生物识别数据保存在数据库中,数据库由以下三部分组成:
- 使用 CryptProtectData 加密的面部信息( 注:包含面部识别模板的密钥)
- 一个未经加密的面部信息
- 加密的生物识别模板本体
虽然 CryptProtectData 使用用户密码来生成加密密钥,但 Windows 的生物识别服务是以系统本地账户 NT AUTHORITY\SYSTEM 运行的。这意味着密钥派生所需的数据都储存在系统本地。一旦黑客掌握了管理员权限,就可以解密并篡改整个数据库的内容。
随后,ERNW 进行了概念验证,他们注册了两个用户,均开启了 Windows Hello for Business。这两个用户中前者为域用户,后者为管理员。
ERNW 在概念验证中相互替换了两个用户中 WINBIO_IDENTITY 结构内的安全标识符。替换后,本地管理员的面部可解锁域用户的账户,反之亦然。
ERNW 表示,他们已经将该缺陷报告给微软,但他们不指望微软会修复这一问题。因为“微软还有类似的问题还未解决”,且修复这个问题需要重构很多地方。