云社区 博客 博客详情
云社区 博客 博客详情

【Chrome web.dev Live 2020总结】第3天第9集:防止信息泄漏

华为云官网技术团队 发表于 2020-07-23 11:01:19 07-23 11:01
华为云官网技术团队 发表于 2020-07-23 11:01:19 2020/07/23
0
0

【摘要】 Web的可组合性可以使开发者从不同来源来添加资源从而增强网站的功能性。

1 简介

       COOP:Cross-Origin-Opener-Policy(跨域开放者策略)

       COEP:Cross-Origin-Embedder-Policy(跨域嵌入策略)

       COOP和COEP是HTTP请求头。可以使网页进入一种特殊状态————“跨域隔离”。在“跨域隔离”状态下,发出请求的站点被认为处于不太危险的状态,并且可以解锁一系列强大的功能,例如:

2 背景

        Web的可组合性可以使开发者从不同来源来添加资源从而增强网站的功能性。

       但是它的跨域性质同时也增加了网站用户信息泄露的风险,恶意方可以利用这种情况泄露用户的信息。同源策略解决了这类的风险问题,它可以限制不同来源的资源的文档和网页之间的交互。

       直到Spectre(幽灵)漏洞的出现,Spectre是CPU中发现的漏洞,该漏洞使恶意网站能够跨越源边界读取内存和内容。

这个漏洞可以通过一些特性来利用,这些特性可以充当高精度的计时器。这会使一个浏览上下文组中共享的跨域资源处于危险之中,即使他们收到同源策略的保护,幽灵攻击也可以绕开边界来进行攻击。

3 解决方案

      cross-origin isloated是通过将资源隔离到单独的浏览上下文组中,所有的跨域资源拥有资源的服务器明确审核。如果拥有资源的服务器未接受审查,则数据永远不会进入攻击者的浏览器上下文,因此他们也不会受到Specture攻击的影响,这个就被称为跨域隔离状态,也是COOP和COEP的核心。

      在跨域隔离的状态下,发出的请求的站点被认为不太危险,并且可以解锁强大的功能,例如SharedArrayBuffer、performance.measureMemory和JS Self-Profiling API。

4 如何启用跨域隔离

设置“Cross-Original-Opener-Policy”为same-origin

确保跨域资源的使用:跨域(无法控制的资源,但是支持跨域)或者跨域资源共享(获得子域资源)

设置“Cross-Origin-Embedder-Policy-Report-Only”(推荐)为require-corp

页面加载COOP和COEP后,此时处于“跨域隔离”状态。


登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消