今天小编分享的互联网经验:Chrome扩展可从网站窃取明文密码,欢迎阅读。
研究人员发现谷歌、Cloudflare 等知名网站的网页 HTML 源码中都以明文形式保存密码,恶意扩展可从中提取明文密码。威斯康星大学麦迪逊分校研究人员在 Chrome 应用商店上传了恶意扩展 PoC,成功从网站源码中窃取明文密码。
问题产生的根源
由于 Chrome 扩展和网站元素之间缺乏安全边界,浏览器扩展对网站源码中的数据具有无限制的访问权限,因此有机会从中提取任意内容。此外,Chrome 浏览器扩展可能滥用 DOM API 直接提取用户输入的值,绕过网站使用的混淆技术来保护用户敏感输入。
谷歌 Chrome 引入的 Manifest V3 協定被许多浏览器采用,限制了 API 滥用,防止浏览器扩展提取远程保存的代码,防止使用 eval 来实现任意代码执行。研究人员分析发现 Manifest V3 并未在扩展和 web 页面之间引入安全边界。
图 扩展和网站之间的安全边界
上传 PoC 到 Chrome 扩展商店
为测试谷歌的 Chrome 扩展商店审查过程,研究人员创建了一个可以发起密码窃取攻击的 Chrome 扩展,并将该扩展上传到平台。该扩展的功能是一个基于 GPT 的助手,可以:
· 获取用户登录页面的 HTML 源码;
· 滥用 CSS 选择器来选择目标输入資料欄,使用 .value 函数提取用户输入;
· 通过元素替换使用不安全的密码資料欄来替换基于 JS 的混淆資料欄;
图 提取資料欄内的代码(左)和执行元素替换(右)
该扩展并不包含明显的恶意代码,因此可以绕过静态检测,并且不会从外部源提取代码,所以是支持 Manifest V3 的。因此,该扩展通过了审查,并被应用商店上架。
漏洞利用
随后的实验数据发现,前 1 万个网站中有 1100 个在 HTML DOM 中明文保存了用户密码。其他 7300 个网站也易受到 DOM API 访问和用户数据直接提取攻击。
图 受影响的网站
一些知名网站缺乏安全保护的网站包括:
· gmail.com – HTML 源码中明文保存密码
· cloudflare.com – HTML 源码中明文保存密码
· facebook.com – 通过 DOM API 提取用户输入
· citibank.com –通过 DOM API 提取用户输入
· irs.gov – 网页源码中明文保存 SSNs
· capitalone.com –网页源码中明文保存 SSNs
· usenix.org –网页源码中明文保存 SSNs
· amazon.com – 页面源码明文保存信用卡信息和邮政编码
图 Gmail 和 Facebook 也受到用户输入提取攻击影响
研究发现有 190 个扩展可以直接访问密码資料欄,并保存了資料欄的内容,表明有开发者可能已经利用了该安全漏洞。
厂商回应
Amazon 称,客户安全非常重要,将采取措施对用户输入进行保护,输入亚马逊网站的用户信息是安全的。此外,鼓励浏览器和扩展开发者使用亚马逊提供的服务采用安全最佳实践来保护用户数据。谷歌发言人称将开始调查这一问题。但 Chrome 扩展的安全问答并不认为访问密码資料欄是安全问题。
论文下载地址:https://arxiv.org/abs/2308.16321