火狐浏览器扩展危险行为的实证研究
立即解锁
发布时间: 2025-08-21 00:16:08 阅读量: 1 订阅数: 5 


信息安全与密码学进展
### 火狐浏览器扩展危险行为的实证研究
#### 1. 引言
浏览器扩展为浏览器提供了额外的功能和定制性。为支持这些功能,扩展通过一组不同权限级别的 API 与浏览器进行交互。然而,以往研究表明,浏览器扩展常常被授予超出必要的权限。这些扩展既能直接威胁主机系统和 Web 应用程序,也能通过向网页注入内容对 Web 会话造成间接威胁。
我们进行了一项实证研究,旨在分析扩展行为,特别是那些影响 Web 会话的行为。开发了一种动态技术来跟踪注入脚本的行为,并分析这些脚本的影响。对 2465 个扩展的行为进行了分析,探讨了它们的安全影响,并提出了减轻对 Web 会话间接威胁的解决方案。
本文的主要贡献如下:
1. 通过监控火狐扩展的运行时行为,对其进行实证研究,重点关注间接威胁。基于分析结果,提出改进当前解决方案的建议,以减轻扩展对 Web 会话的间接威胁。
2. 设计并实现了一个自动测试系统,用于监控浏览器扩展的行为。
#### 2. 扩展带来的威胁
##### 2.1 浏览器扩展
浏览器扩展是增强浏览器功能的工具。为获得高度可定制的特性,扩展被赋予了很高的权限,几乎可以访问浏览器中的所有组件。扩展的权限总结如下:
- 监控和修改网页内容:扩展可以查看网页上显示的所有内容,包括用户输入,并能通过修改 DOM 来修改页面。
- 访问浏览器组件:扩展可以访问浏览器的密码管理器、cookie 文件等。
- 访问网络:扩展可以完全访问网络和套接字,轻松发起 HTTP 请求。
- 访问本地文件系统:扩展可以使用浏览器进程的权限访问本地文件系统。
- 启动进程:扩展可以通过某些浏览器 API 启动进程。
##### 2.2 直接威胁
直接威胁是指浏览器扩展通过直接访问浏览器或主机系统的关键资源而带来的威胁,具体如下:
| 威胁类型 | 描述 |
| ---- | ---- |
| 直接 DOM 访问 | 扩展可以访问任何页面中的所有 DOM 结构,包括用户浏览的内容、填写和提交的表单内容,以及按键和鼠标点击事件。还能读取和修改 DOM 以创建新的页面内容。 |
| 浏览器组件访问 | 扩展能够访问所有 Firefox 组件,如密码管理器和浏览历史记录,从而轻松收集账户信息。 |
| 任意文件访问 | 扩展可以无限制地访问本地文件系统。恶意扩展安装后,攻击者可以使用浏览器用户的权限控制整个系统。 |
| 网络访问 | 扩展有多种方式访问网络,如直接发送 XMLHttpRequest,或从任意服务器请求资源。恶意扩展可以通过在请求中附加信息来发送收集到的信息。 |
| 启动进程 | 启动本地进程非常危险,因为攻击者可以通过运行恶意代码完全控制受害者的计算机,并将其纳入僵尸网络。 |
| 动态代码执行 | JavaScript 语言的动态代码执行功能允许程序将动态生成的字符串作为 JavaScript 代码执行。这些字符串可能来自攻击者,从而使他们能够执行恶意代码。 |
| 监听键盘事件 | 扩展中监听键盘事件很常见,但攻击者可以利用此功能窃取用户输入。 |
直接威胁的根本原因是浏览器赋予扩展的高权限。不同的浏览器厂商提出了不同的缓解机制,例如 Firefox 采用沙盒审查系统,要求所有提交的扩展在公开发布前进行手动审查;Google Chrome 采用了基于“最小权限”原则的新扩展系统。
##### 2.3 对 Web 会话的间接威胁
扩展通过两个步骤引入间接行为。首先,将内容(脚本代码或 HTML 元素)注入 Web 会话;然后,注入的内容导致后续行为,可能对 Web 会话发起攻击。扩展有多种方式向网页注入内容,如调用 DOM 对象的 write 或 writeln 方法,以及 HTMLElement 对象的 appendChild
0
0
复制全文
相关推荐




