德国从2010年开始就颁发镶有射频识别(RFID)芯片的数字身份证,并于芯片上存放德国人们的身份数据,包括姓名、生日、照片,或是指纹等,人们只要配备读卡机及芯片身份证的客户端软件(eID client)就能利用线上认证功能,访问各式网络做事。
网络做事要进行认证时,会先发送一个要求至eID client,以启动之后的认证程序,它会哀求用户输入PIN码以与认证做事器及网络运用程序互换,再由RFID芯片发送已由认证做事器签署的用户数据至网络运用程序。
SEC Consult研究职员Wolfgang Ettlinger却找到了当中的一个漏洞,可绕过认证做事器的保护,发送修正过后的身份数据给网络运用程序。
该漏洞藏匿在Governikus Autent SDK,这是个许可企业将身份证认证功能集成到网络做事的软件组件,也卖力检讨eID client所通报数据的合法性,先是检讨这些数据是否具备认证做事器的数字签章,再验证数据本身的内容,然而,该漏洞却许可黑客在这两个验证程序中供应不同的数据,由于当Governikus Autent SDK确认数据通过第一个步骤的审核之后,就会天经地义地把第二步骤的内容视为合法。
在Ettlinger的示范攻击中,他成功地变更了身份证上的名字及地址。
只管干系攻击仍有少许限定,例如它只影响采取Governikus Autent SDK 3.8.1或之前版本的网络运用程序,只波及利用HttpServletRequest.getParameter的网络做事,但Ettlinger估计仍有大量网络运用程序正陷身于风险中。
Governikus已在今年8月发布Autent SDK 3.8.1.2以修补该漏洞,Ettlinger则说,若在网络运用程序的防火墙配置中谢绝同一名字的多重参数也能有效戒备攻击。