Chrome中5大安全增强

2010 年 2 月 08 日

为了让浏览更安全,Google 最近为 Chrome 增加了 5 项安全增强:跨文档消息递送、Strict-Transport-Security、Origin、X-Frame-Options 以及反射XSS 过滤器。其中某些特性在其他浏览器中已经实现或即将实现。

消息递送

出于安全和隐私的原因,浏览器禁止隶属于不同域的文档之间的交互。HTML5 引入了一个新方法,称为 postMessage() ,该方法允许独立的 iFrame 中的文档之间的交互。该方法签名如下:

复制代码
window.postMessage(message, [ports,] targetOrigin)

这样,浏览器就即能获得 iFrames 提供的安全又能实现跨文档的交互。

Strict-Transport-Security

HTTPS 是用于连接网站并传输需要被保护的敏感信息的一种安全的方式。但是浏览器并非总是强制使用 HTTPS,比如,如果某网站提供的安全证书有问题,那么浏览器会发出一个警告,而用户可以继续在半安全的连接上浏览该网站。PayPal 已经成功地建议向 HTML5 的规范中引入 Strict-Transport-Security (STS)这个 HTTP 头。当服务端返回了包含 STS 的 HTTP 头时,实现了该特性的浏览器应该:

  1. 当任何安全传输错误或警告产生时(包括由网站使用自签名的证书而引起的), UA [User Agent] 结束所有的安全连接。
  2. 在解引用之前, UA [User Agent] 将指向 STS 服务器的不安全 URI 引转换成 安全的 URI 引用。

在 Web 服务器或用户代理认为安全必要时,该特征强制使用 HTTPS。在网络繁忙的场所使用无线连接之上的不安全的 HTTP 连接为窃听打开了大门,而结果就可能会导致个人访问网站的私有信息被窃取。STS 可以保护其不被窃取。

目前,Paypal 实现了该特征。Chrome 4 也实现了 STS,此外还有 Firefox 的安全插件 NoScript ,它也拥有相同的功能。 FireFox 自身的 STS 实现正在进行当中。

Origin

跨站请求伪造(Cross-site request forgery 或CSRF) 攻击的方式是通过在不知不觉中欺骗一个网站让其向 另一个网站提供私密信息。 Origin 是 HTML 5 中包含的一个 HTTP 头,就可以通过让用户代理去指定请求源的方式来解决这个问题。当一个恶意网站将请求重定向到另一个网站时,浏览器将会在该请求中包含“Origin”头,目标网站将会根据该“Origin”是否可信来决定是否执行相应的操作。

Google 和 Mozilla 都在他们各自的浏览器中实现该特征。W3C 的 规范提供了更多的细节信息。

X-Frame-Options

另一个 HTTP 头字段 X-Frame-Options 可被用于防范 ClickJacking 攻击。这类攻击是通过在网页的输入控件上覆盖一个不可见的框(frame)的手段完成的,当用户点击该控件时,他实际上是在其之上的不可见的框(frame)中输入。网站可以通过指定 “X-Frame-Option: deny” 的方式防范 ClickJacking 攻击,支持该特性的浏览器会决绝呈现框(fram)中的内容从而阻止了 ClickJacking 攻击。

IE 8 是第一个实现该特性的浏览器,Chrome 和 Safari 继之。

反射 XSS 过滤器

跨站脚本攻击(Cross-site scripting 或XSS)是又一利用安全弱点进行攻击的手段,也是最难对付的攻击之一。 IE 8 和 Firefox 的 NoScript 控件中有反射 XSS 过滤器,该特性是被 Google 添加到 WebKit 并用在 Chrome 4 中。该过滤器校验将要运行的网页中的脚本是否也存在于请求该页的请求信息中,如果是,则极可能意味着该网站正在受到该脚本的攻击。


查看英文原文: 5 Security Enhancements in Chrome

2010 年 2 月 08 日 21:501571
用户头像

发布了 184 篇内容, 共 64.7 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

【摘】Git-从零单排 04期

卡尔

POJO类中布尔类型为啥不让用isXxx命名

Java课代表

【面向对象】—依赖倒置、接口隔离

不二架构

极客大学架构师训练营 依赖倒置 接口隔离原则

图解 Vue1.0 响应式系统

前端黑板报

源码分析 Vue Reactive

奈学教育《百万架构师》课程大纲(1)

古月木易

极客大学架构师训练营

XSKY发布S3 Console,助力企业轻松玩转非结构化数据可视化管理

XSKY融合存储

记录一下,我的记录之道

非著名程序员

学习 程序员 提升认知 工作效率

如何看待年仅 28 岁的程序员实现财务自由,宣布从字节跳动退休?

非著名程序员

程序员 自由职业 程序人生 财富

游戏夜读 | 中国的游戏制作人

game1night

二叉查找树的解读和实现

ytao

Java 数据结构

高承实:区块链将对哪些场景赋能,如何赋能?

CECBC区块链专委会

区块链技术 产业 赋能

Flink on Zeppelin (4) - 机器学习篇

章剑锋_Jeff

大数据 flink 学习 流计算 Zeppelin

Flink 在快手实时多维分析场景的应用

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

软件设计原则作业

行下一首歌

极客大学架构师训练营

使用wavm运行wasi wasm程序

Foliage

细说几种内聚

落英亭郎

高内聚 面向对象设计 面向对象思想

奈学教育《大数据架构师》课程大纲(1)

奈学教育

大数据

TiDB原理解析

Chank

数仓大法好!跨境电商 Shopee 的实时数仓之路

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

【玩转写作平台】如何让专业编辑青睐你的文章?被推荐置顶?

InfoQ写作平台

写作平台 InfoQ 玩转写作平台

依赖倒置总结

石印掌纹

《实现领域驱动设计》拆书稿 DDD入门 & 领域、子域和限界上下文

三界

架构 领域驱动设计 DDD

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

donghui2020

jenkins wordcloud

奈学教育《大数据架构师》课程大纲(1)

古月木易

大数据

架构师训练营第二周课程感想1

tuuezzy

Java 架构师

奈学教育《百万架构师》课程大纲(1)

奈学教育

架构师

Spring源码-MVC启动

云淡风轻

spring

实时即未来?一个小微企业心中的流计算

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

第二周作业

Diven

架构师-第二周

师哥

Cache类接口隔离设计

石印掌纹

Chrome中5大安全增强-InfoQ