欧盟电子身份识别系统(eIDAS)被披露有验证绕过(verification bypass)漏洞,使攻击者得以冒充欧盟用户身份。
去年9月29日欧盟实行电子身份识别法(eIDAS),本法允许欧盟各会员国公民电子身份证跨境识别。通过eIDAS和28个会员国电子身份系统的对接,使欧盟公民用他们母国的电子身份证(eID),如身份证、驾照在其他会员国报税、付款、申请大学课程、银行开户、访问电子病历和线上公共服务。
安全厂商SEC Consult今年6月发现eIDAS节点(Node)软件存在验证回避漏洞。各国电子身份系统互通,靠的是eIDAS和各国家创建的eIDAS节点发送消息;例如一个意大利公民要在德国Web app验证身份,该app会由德国的eIDAS节点向意大利的节点发出调用,由意大利节点进行eID验证,验证通过后,再将该公民身份信息回传给德国eIDAS-Connector,再丢到最初的Web app。eIDAS节点/Service和eIDAS-Connector之间乃借由SAML消息完成数据交换。
为完成跨境验证,欧盟各会员国的eIDAS节点内须安装eIDAS-Node Integration Package软件以实例集成。研究人员发现eIDAS-Node Integration Package的SAML语法分析(parsing)程序代码存在漏洞,让攻击者可绕过签章验证,使他得以发送任何变造过的SAML(secure Assertion markup language,安全声明标记语言)消息到有漏洞的eIDAS节点。这么一来,黑客就能借此把假的SAML消息及身份信息传给eIDAS-Connector,达到冒充身份的目的。
受影响的系统为2.1版eIDAS节点软件。经过研究人员7月通报欧盟eID负责团队,后者随后发布2.3.1版给各会员国,并在本周开放大众下载。安全公司也呼吁所有用户尽快升级。