广泛部署的技术
用户的第一道防线以及 Web 应用的隔离单元是同源策略,它大致限制了 Web 应用可以访问同一来源的内容和数据,这里的来源是指协议、域名和端口的组合。
由于这个策略提出较早,它在 Web 平台的某些部分并不严格,因此会通过跨站脚本或跨站请求伪造,将用户暴露给更大的攻击面。为了使 Web 应用编写者能够减少攻击面从而超出以往要求的效果,内容安全策略(Content Security Policy,CSP)提供了一些钩子,它们可以严重限制攻击者希望实现的损害。一个通过启用了 CSP 的通过安全隧道传输的应用可以确保用户能够接收的数据是其期望得到的数据。
为了进一步加强应用的完整性,Web 开发着可以利用的子资源完整性子资源完整性的机制,从而阻止中间人攻击或被攻击的第三方供应商。
混合内容规范有助于将 Web 默认迁移到安全状态,方法是设置明确的规则,以确定那些 HTTPs 不提供的内容在何时可以或不可以从 HTTPs 页面上加载。
在聚合来自多个(可能不受信任的)源的内容的应用中,HTML5 iframe
的 sandbox
属性可以限制第三方嵌入内容可以使用的交互类型。
通过WebCrypto密钥发现API访问预先配置的密钥,Web密码学API提供必要的工具来加密数据,以便在Web应用中进行存储和传输。
对于希望表明其偏好不被跨 Web 应用和站点追踪的用户,跟踪偏好表达式(Tracking Preference Expression,也被称为Do No Track)使浏览器能够明确地向内容提供者传达用户的愿望,并确定给定的内容提供者是否声明满足该愿望。尽管如此,并不是所有的内容提供者都会尊重用户表达的偏好。
开发中的技术
许多敏感的 API,比如移动设备传感器的 API,需要通过用户许可才能使用;当这些请求给予用户控制权时,由于关于授予或拒绝哪个权限并不可见,他们有时难以集成到整体的用户体验中。权限API旨在解决这个问题。
为了方便用户对在线服务的认证,Web应用安全工作组提出了凭证管理API,使开发人员能够与用户代理管理的凭证更加无缝地交互。
基于 FIDO 联盟的免密和多因素认证工作,Web认证的目标是使 Web 的强认证技术标准化,使用“你拥有的东西”(如身份验证器)、“你知道的东西”(如PIN码)和“你是谁”(如指纹)的任意组合,让黑客即使窃取密码数据库也不足以劫持用户帐户。
安全上下文建议 Web 平台的强大特性(包括访问敏感数据或私有数据的应用程序代码)只能在安全上下文中通过经过身份验证和加密的渠道传输,以此保证数据的完整性。草案指出:“安全地交付代码不能确保应用程序总是能够满足用户的安全和隐私要求,但这是一个必要的先决条件。”
已经具有大量内容的网站在将这些内容从 HTTP 迁移到 HTTPs 是一个很艰巨的任务。升级不安全请求规范指示浏览器通过 HTTPs 加载这些资源来帮助迁移。
Referrer Policy 可帮助 Web 开发者控制 Referer
HTTP header 中包含的信息,或者是否发送该 header。
用户界面安全性和可见性 API 文档建议通过确保图形渲染级别的元素可见性来消除点击劫持。例如,一个开发者部署它可以确保用户点击他们的网站的“支付”按钮不被欺骗,而不会把他们的银行余额转移给冒名顶替者。
探索性工作
随着更强大的特性不断地暴露在应用中,站点作者需要更加细化地控制应用中启用/禁用的特性,以及应用可以嵌入(在 iframe 中)的自己或第三方的内容,以增强安全性。特性策略定义了一种选择性地启用和禁用各种浏览器特性和API的机制(Feature-Policy
HTTP头和 iframe
元素的 allow
属性)。开发者还可以使用该策略对客户端或嵌入者的某些特性和 API 的使用(或缺乏)作出承诺。
基于硬件的安全服务旨在通过向 Web 提供硬件安全服务来提高用户和应用程序提供商能够保护其在线帐户和通信的保证水平。
特性 | 规范 / 小组 | 实现意向选择浏览器… |
---|---|---|
特性策略 | 特性策略 (Feature Policy) Web 平台孵化社区组 (Web Platform Incubator Community Group) | |
权限 | 请求权限 (Requesting Permissions) Web 平台孵化社区组 (Web Platform Incubator Community Group) | |
放弃权限 (Relinquishing Permissions) Web 平台孵化社区组 (Web Platform Incubator Community Group) | ||
认证 | 基于硬件的安全服务 (Hardware Based Secure Services features) 基于硬件的安全服务社区组 (Hardware Based Secure Services Community Group) |
不再进行的工作
- HTTP请求过滤
- 入口监管规范提供了另一个加强安全的层面。它定义了一种机制来过滤可以从外部站点发起的 HTTP 请求的类型,降低了跨站点脚本和跨站点请求伪造的风险。这个规范的工作暂时停止了。