google chrome extension 安全机制小记
来源:互联网 发布:php采集源码 编辑:程序博客网 时间:2024/06/05 00:39
转载请注明出处:http://blog.csdn.net/awebkit
最近看了《Protecting Browsers from Extension Vulnerabilities》,里面讲解了google chrome extension所采用的安全机制,记录如下。
文章主要讨论针对那些没有恶意但是有缺陷,而缺陷会被利用的扩展,浏览器应该提供什么样的保护措施。
首先给出了Firefox扩展存在的一些问题:扩展具有和浏览器同等的权限。扩展有完全的权限访问浏览器内部和用户的操作系统。扩展可以改变浏览器的功能,修改网页的行为,执行任意代码,访问文件系统。
Firefox扩展具有这样两个危险的性质:高权限和不可信网页内容的丰富的操作。这导致可能会有如下的攻击:
1. cross-site scripting (跨页面脚本)。比如扩展在执行eval或者document.write的时候没有检查输入,而输入可能是一段恶意脚本。Firefox现在的做法是提供了沙漏技术的API:evalInSandbox。这时执行的脚本就不会获取扩展的权限。这有用,但并非总是有用。
2. Replacing Native APIs(替换原始API)。大意是说网页可以定义DOM API,然后引导扩展来使用这些API。
3. JavaScript Capability Leaks(JavaScript能力泄漏)。大意是说JavaScript泄漏了一个对象,会被攻击者利用,控制扩展。
4. 综合内容。如扩展需要调用HTTP返回的响应,攻击者就可以通过伪造HTTP响应,控制扩展。
然后文章对25个最流行的扩展进行了测试,发现大部分的扩展都存在权限被给的过高了,很多是用不上的。
最后就推出google chrome的extension机制。
1. 最低权限。
google chrome extension需要在manifest里面声明权限。如下
{"name": "Google Mail Checker","description": "Displays the number of unreadmessages...","version": "1.2","background_page": "background.html","permissions": ["tabs","http://*.google.com/","https://*.google.com/"],"browser_action": {"default_title": ""},"icons": {"128": "icon_128.png"}声明的权限有:
A. 需要执行的任意代码。
B. 需要访问的网页。
C. 需要用到的扩展API。
但是开发人员更喜欢最大化权限,所以需要在用户体验上进行一些鼓励。当extension需要最大化的权限的话,需要和google签约,否则这些扩展不能出现在google控制的gallary里面。mozilla使用人工检查扩展。最小权限的扩展会缩短检查时间。
从任意网站下载的扩展的安装同执行本地可执行程序是一样的机制。
2. 权限分离。
这里主要就是把一个扩展分成了好几层:content scripts, extension core, native binary
3. 分离机制。
这里的分离我看主要是多进程模型,扩展运行在自己的进程空间,和浏览器分离。
从文章来看,google chrome extension安全机制确实做的比Firefox等牛啊!
- google chrome extension 安全机制小记
- emove the unwanted extension from Google Chrome
- Chrome Extension 中的 CSP(Content Security Policy) 开发小记
- CentOS 之 google-chrome 安装小记
- Chrome Extension
- 关于Chrome的安全机制
- JavaScript用武之Google Chrome Extension & User Script
- google extension 并非来自 Chrome 网上应用店 解决办法
- Google Chrome扩展原理与机制&HTML5
- Install chrome extension
- chrome extension 开发
- chrome extension develope(1)
- chrome extension(2)
- Chrome Extension for Securityoverride
- chrome 常用 extension
- chrome extension 调试方式
- Chrome 浏览器 extension 指南
- chrome extension develope(1)
- TFS的sharepoint应用程序成员浏览Report Service报表时遇到(rsInvalidReportParameter)的解決方法
- fedora15换主题
- Windows 平台下的同步机制 (1)– 临界区(CriticalSection)
- HTTPAnalyzerStdV3汉化注册版.rar
- u-boot 2010.03 移植
- google chrome extension 安全机制小记
- SQL Server2005数据库查询中使用CTE
- HDOJ 1015 Safecracker
- 备忘录:web.xml 中的listener、 filter、servlet 加载顺序及其详解
- Windows 平台下的同步机制 (2)– 互斥体(Mutex)
- Java:计算出生到现在多少天代码
- Windows 平台下的同步机制 (3)– 事件(Event)
- 关于中国“魔方”计算机
- Phone 播放 midi文件