加强 Chrome 中网站之间的隔离

谷歌 宣布了 关于Chrome中的强化模式 跨站点隔离,这确保来自不同站点的页面在单独的隔离进程中进行处理。 站点级别的隔离模式允许您保护用户免受通过站点上使用的第三方块(例如 iframe 插入)进行的攻击,或通过嵌入合法块(例如,使用向恶意站点上的银行服务发出请求,其中可能包含用户已通过身份验证)。

通过按域分离处理程序,每个进程仅包含来自一个站点的数据,这使得难以进行跨站点数据捕获攻击。 在桌面版 Chrome 上 分离 处理程序绑定到域而不是选项卡,从 铬67的。 在 铬77的 Android 平台也激活了类似的模式。

加强 Chrome 中网站之间的隔离

为了减少开销,Android 中的站点隔离模式仅在页面使用密码登录时启用。 Chrome 会记住密码已被使用的事实,并为所有进一步访问该网站打开保护。 保护还会立即应用于移动设备用户中流行的预定义网站的选定列表。 选择性激活方法和添加的优化使我们能够将由于运行进程数量增加而导致的内存消耗增加保持在平均 3-5% 的水平,而不是在为所有站点激活隔离时观察到的 10-13%。

新的隔离模式已在 RAM 至少为 99 GB 的 Android 设备上为 77% 的 Chrome 2 用户启用(对于 1% 的用户,该模式仍处于禁用状态以进行性能监控)。 您可以使用“chrome://flags/#enable-site-per-process”设置手动启用或禁用站点隔离模式。

在桌面版 Chrome 中,上述站点隔离模式现已得到加强,以应对旨在完全破坏内容处理进程的攻击。 改进的隔离模式将保护站点数据免受另外两种类型的威胁:由于第三方攻击(例如 Spectre)导致的数据泄漏,以及成功利用允许您控制数据中心的漏洞时处理程序进程完全受损后的泄漏。进程,但不足以绕过沙箱隔离。 类似的保护将在稍后添加到 Android 版 Chrome 中。

该方法的本质是控制进程记住工作进程可以访问哪个站点并禁止访问其他站点,即使攻击者获得了进程的控制权并试图访问另一个站点的资源。 限制涵盖与身份验证相关的资源(保存的密码和 Cookie)、直接通过网络下载的数据(过滤并链接到当前站点 HTML、XML、JSON、PDF 和其他文件类型)、内部存储中的数据(localStorage)、权限(发布的站点允许访问麦克风等)以及通过 postMessage 和 BroadcastChannel API 传输的消息。 所有此类资源都与源站点的标签相关联,并在管理进程一侧进行检查,以确保它们可以根据工作进程的请求进行传输。

其他与 Chrome 相关的事件包括: 开始 批准在 Chrome 中启用功能支持 滚动到文本,这使得可以形成到单个单词或短语的链接,而无需使用“a name”标签或“id”属性在文档中显式指定标签。 此类链接的语法计划被批准为网络标准,但仍处于阶段 草稿。 转换掩码(本质上是滚动搜索)通过“:~:”属性与常规锚点分开。 例如,当您打开链接“https://opennet.ru/51702/#:~:text=Chrome”时,页面将移动到第一次提到“Chrome”一词的位置,并且该词将突出显示。 添加到线程的功能 金丝雀,但要启用它需要使用“--enable-blink-features=TextFragmentIdentifiers”标志运行。

Chrome 即将发生的另一个有趣的变化 这是 冻结非活动选项卡的功能,允许您自动从内存中卸载在后台运行超过 5 分钟且不执行重大操作的选项卡。 关于特定标签是否适合冷冻的决定是基于启发法做出的。 该更改已添加到 Canary 分支,Chrome 79 版本将在此基础上形成,并通过“chrome://flags/#proactive-tab-freeze”标志启用。

来源: opennet.ru

添加评论