一、概要:浏览器安全可以分为三大块 — Web页面安全、浏览器网络安全、浏览器系统安全
二、从安全的角度看待,为什么浏览器要从单进程发展 ?
-
对于单进程应用,即整个浏览器只有一个进程。当浏览器出现一些重要的漏洞时,黑客可以直接攻击操作系统,获取操作系统中的用户信息。这毫无疑问是 “核弹” 级别的漏洞。
-
对于多进程架构的浏览器。即使出现漏洞,那么黑客也只能攻击到渲染进程。而浏览器内核还是安全的。
三、 浏览器安全沙箱:目标 将渲染进程和操作系统隔离。
关键思想是 将安全的操作在浏览器内核进行,不安全的操作统统丢到渲染进程里面进行。
渲染进程负责:1. HTML解析 2. CSS解析 3.图片 解码 4.JavaScript执行 5.布局 6.绘制 7. XML解析
浏览器内核:1. Cookie存储 2.Cache存储 3.网络请求 4.文件读取 5.下载管理 6.SSL/TSL 7.浏览器窗口管理
我们都知道,下载文件是安全的,而执行文件是危险的、有可能遭到攻击的。所以执行文件的操作交给了渲染进程。而下载东西时,渲染进程只是提交请求,而下载东西依靠的是网络进程。
四、安全沙箱如何影响到各个模块功能:
- 持久化存储。操作系统的文件管理是在浏览器内核完成的,再通过 IPC 与浏览器进程进行通信。
- 网络访问。
- 用户交互。事件是由浏览器进程监听的,浏览器通过判断将事件交给 渲染进程 或 浏览器内核 处理。
- 渲染进程需要渲染出位图,为了显示位图,渲染进程需要将生成好的位图发送到浏览器内核,然后浏览器内核将位图复制到屏幕上。