Password managers provide significant security benefits to users. However, malicious client-side scripts and browser extensions can steal passwords after the manager has autofilled them into the web page. In this paper, we extend prior work by Stock and Johns, showing how password autofill can be hardened to prevent these local attacks. We implement our design in the Firefox browser and conduct experiments demonstrating that our defense successfully protects passwords from XSS attacks and malicious extensions. We also show that our implementation is compatible with 97% of the Alexa top 1000 websites. Next, we generalize our design, creating a second defense that prevents recently discovered local attacks against the FIDO2 protocols. We implement this second defense into Firefox, demonstrating that it protects the FIDO2 protocol against XSS attacks and malicious extensions. This defense is compatible with all websites, though it does require a small change (2-3 lines) to web servers implementing FIDO2.
翻译:密码管理器为用户提供了显著的安全优势。然而,恶意客户端脚本和浏览器扩展能够在密码管理器将密码自动填充至网页后窃取这些密码。本文扩展了Stock与Johns的先前工作,展示了如何强化密码自动填充功能以防范此类本地攻击。我们在Firefox浏览器中实现了设计方案,并通过实验证明该防御机制能有效保护密码免受XSS攻击和恶意扩展的侵害。实验还表明,我们的实现与Alexa排名前1000网站中的97%保持兼容。进一步地,我们将设计进行泛化,构建了第二种防御机制以防范近期发现的针对FIDO2协议的本地攻击。我们将这第二套防御机制集成至Firefox,证明其能保护FIDO2协议免受XSS攻击和恶意扩展的威胁。该防御机制与所有网站兼容,但需要实施FIDO2的Web服务器进行少量代码修改(约2-3行)。