浏览器基础原理-安全: 渲染进程-安全沙盒

简介: 浏览器基础原理-安全: 渲染进程-安全沙盒

由于渲染进程需要执行 DOM 解析、CSS 解析、网络图片解码等操作,如果渲染进程中存在系统级别的漏洞,那么以上操作就有可能让恶意的站点获取到渲染进程的控制权限,进而又获取操作系统的控制权限,这对于用户来说是非常危险的。所以我们需要引入安全沙盒。


安全沙盒

概念:


浏览器中的安全沙箱是利用操作系统提供的安全技术,指让渲染进程在执行过程中无法访问或者修改操作系统中的数据, 而是通过浏览器内核来实现对数据的访问,然后将访问的结果通过 IPC 转发给渲染进程。PS: 安全沙箱最小的保护单位是进程


将渲染进程和操作系统隔离的这道墙就是我们要聊的安全沙箱


安全沙箱影响各个模块功能的方式:


1-持久存储


安全沙箱需要负责确保进程无法直接访问用户的文件系统, 所以文件的读写全在浏览器内核中实现, 并通过 IPC 将操作结果转发给渲染进程


2-网络访问


安全沙箱限制渲染进程访问网络的方式, 若要访问, 需要通过浏览器内核.


3-用户交互


让所有的键盘鼠标事件都由浏览器内核来接收, 再通过 IPC 将这些事件发送给渲染进程, 而非直接让渲染进程监控用户输入事件等操作.


渲染进程不能直接访问窗口句柄, 所以渲染进程需要渲染出位图并发送给浏览器内核, 让它将位图复制到屏幕上. 操作系统没有将用户输入事件直接传递给渲染进程, 而是将这些事件传递给浏览器内核, 然后浏览器内核再根据当前浏览器界面的状态来判断如何调度这些事件.


站点隔离:


概念:


指 Chrome 将同一站点(包含了相同根域名和相同协议的地址)中相互关联的页面放到同一个渲染进程中执行。


由于最初都是按照标签页来划分渲染进程的,所以如果一个标签页里面有多个不同源的 iframe,那么这些 iframe 也会被分配到同一个渲染进程中,这样就很容易让黑客通过 iframe 来攻击当前渲染进程。而站点隔离会将不同源的 iframe 分配到不同的渲染进程中,这样即使黑客攻击恶意 iframe 的渲染进程,也不会影响到其他渲染进程的.


参考: 极客时间-浏览器工作原理与实践


相关文章
|
存储 前端开发 开发者
|
数据采集 消息中间件 JavaScript
浏览器渲染揭秘:从加载到显示的全过程;浏览器工作原理与详细流程
了解浏览器工作原理与流程,能有效帮助前端开发与性能优化。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Java Linux 调度
硬核揭秘:线程与进程的底层原理,面试高分必备!
嘿,大家好!我是小米,29岁的技术爱好者。今天来聊聊线程和进程的区别。进程是操作系统中运行的程序实例,有独立内存空间;线程是进程内的最小执行单元,共享内存。创建进程开销大但更安全,线程轻量高效但易引发数据竞争。面试时可强调:进程是资源分配单位,线程是CPU调度单位。根据不同场景选择合适的并发模型,如高并发用线程池。希望这篇文章能帮你更好地理解并回答面试中的相关问题,祝你早日拿下心仪的offer!
429 6
浏览器安全
采用匿名方式浏览,你在登录网站时会产生一种叫cookie(即临时文件,可以保存你浏览网页的痕迹)的信息存储器,许多网站会利用cookie跟踪你在互联网上的活动。 你可以在使用浏览器的时候在参数选项中选择关闭计算机接收cookie的选项。(打开E浏览器,点击“工具”—“Internet选项”,在打开的选项中,选择“隐私”,保持“Cookies”该复选框为未选中状态,点击按钮"确定")
|
JavaScript 前端开发 API
浏览器渲染过程中如何处理异步任务
在浏览器渲染过程中,异步任务通过事件循环机制处理。JS执行时,同步任务在主线程上执行,形成一个执行栈。异步任务则被推入任务队列中,待主线程空闲时按顺序调用,确保页面流畅渲染与响应。
|
前端开发 JavaScript
宏任务和微任务在浏览器渲染过程中的执行顺序
宏任务和微任务是浏览器事件循环中的两种任务类型。宏任务包括整体代码块、setTimeout等,微任务有Promise.then、MutationObserver等。每个宏任务执行完毕后,会先执行完所有微任务,再进行下一轮渲染或执行下一个宏任务。
|
算法 调度 UED
操作系统中的进程管理:原理与实践
在数字世界的心脏跳动着无数进程,它们如同细胞一般构成了操作系统的生命体。本文将深入探讨进程管理的奥秘,从进程的诞生到成长,再到最终的消亡,揭示操作系统如何协调这些看似杂乱无章却又井然有序的活动。通过浅显易懂的语言和直观的比喻,我们将一起探索进程调度的策略、同步机制的重要性以及死锁问题的解决之道。准备好跟随我们的脚步,一起走进操作系统的微观世界,解锁进程管理的秘密吧!
299 33
|
缓存 自然语言处理 前端开发
浏览器渲染
【10月更文挑战第28天】浏览器渲染涉及将HTML、CSS和JavaScript代码转换为可视网页,主要步骤包括:解析HTML构建DOM树、解析CSS构建CSSOM树、合并DOM与CSSOM生成渲染树、布局确定元素位置和尺寸、绘制元素到屏幕、合成图层形成最终图像。此过程不断优化以提升性能。
267 2
|
前端开发 JavaScript 异构计算
简述浏览器的渲染原理
浏览器渲染原理主要包括以下步骤:1)解析HTML文档生成DOM树;2)解析CSS生成CSSOM树;3)结合DOM与CSSOM生成渲染树;4)布局计算(回流)确定元素大小和位置;5)绘制(Paint)将节点转为图形内容;6)合成(Composite)多层图像。整个过程从文档解析到最终输出完整网页,并通过优化技术提升性能。
|
Web App开发 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【9月更文挑战第1天】当 Edge 浏览器提示“此网站被举报为不安全”时,可尝试:关闭 Microsoft Defender SmartScreen;检查网站安全性;清除缓存和 Cookie;更新 Edge 至最新版;或使用其他浏览器。若问题依旧,联系网站管理员和技术支持。同时,避免在不可信网站输入敏感信息,保护网络安全与隐私。
4380 7

热门文章

最新文章

下一篇
开通oss服务