Chrome84带来SameSite Cookie更改、Web OTP API和Web动画

2020-07-16 23:28:44

最后一次机会:7月15日至17日在线举办的VB年度人工智能活动“注册转型”(Region For Transform)。

谷歌今天发布了适用于Windows、Mac、Linux、Android和iOS的Chrome84。Chrome 84恢复SameSite cookie更改,包括Web OTP API和Web Animations API,并删除较旧的传输层安全(TLS)版本。你现在可以使用Chrome的内置更新程序更新到最新版本,也可以直接从google.com/chrome下载。

Chrome拥有超过10亿用户,既是浏览器,也是网络开发者必须考虑的主要平台。事实上,对于Chrome的定期添加和更改,开发人员必须掌握所有可用的东西--以及已经弃用或移除的东西。

Chrome81在4月份首次弃用,TLS1.0和TLS1.1现在已经从Chrome84中完全移除。这对于任何管理网站的人来说都是值得注意的,即使他们不在家里或工作中使用Chrome。TLS是一种加密协议,旨在通过计算机网络提供通信安全-网站使用它来保护其服务器和浏览器之间的所有通信。TLS还继承了安全套接字层(SSL),从而处理每个HTTPS连接的加密。

Chrome84要迟到了。当冠状病毒危机占据上风时,谷歌推迟了Chrome81,完全跳过了Chrome82,并将Chrome83提前了几周。微软效仿了Edge的发布时间表,与谷歌的开源Chromium项目保持一致,Chrome和Edge都是基于这一项目的。与此同时,Mozilla承诺不会改变Firefox的发布时间表,每隔四周就会有一个新版本。

2016年5月,Chrome 51引入了SameSite属性,允许站点声明是否应该将cookie限制在同一站点(第一方)上下文。人们希望这将减少跨站点请求伪造(CSRF)。

Chrome80开始实施新的默认安全cookie分类系统,将没有声明SameSite值的cookie视为SameSite=lax cookies。只有设置为SameSite=None;Secure的Cookie在第三方上下文中可用,前提是它们是从安全连接访问的。然而,由于冠状病毒危机,谷歌暂停了SameSite cookie的更改,计划在夏天的某个时候恢复执行。SameSite cookie的强制执行现在已经恢复,在接下来的几周里,Chrome80和更新版本将逐步推出。

不允许将SameSite属性缺省为“None”:SameSite属性现在缺省为Lax,这意味着您的cookie只能从顶级导航提供给其他站点。正如最初在Chrome中实现的那样,SameSite属性缺省为None,这本质上是Web的现状。Cookie具有有效的跨站点用例,但如果站点所有者以前不想允许跨站点使用Cookie,则无法声明或强制执行这种意图。

在不安全的上下文中不再允许值‘None’:Chrome现在要求当SameSite属性设置为None时,安全属性也必须存在。安全属性要求附加的cookie只能通过安全协议(如HTTPS)传输。

Chrome84引入了Web OTP API(以前称为SMS接收器API)。此接口可帮助用户在向Android手机发送巧尽心思构建的短信时,在网页上输入一次性密码(OTP)。在验证电话号码的所有权时,开发人员通常通过SMS发送必须由用户手动输入(或复制和粘贴)的动态口令。用户必须切换到他们的本地SMS应用程序,然后再切换回他们的Web应用程序才能输入代码。Web OTP API允许开发人员帮助用户一键输入代码。

Chrome84还采用了Web Animations API,使开发人员可以更好地控制Web动画。这些可以用来帮助用户浏览数字空间,记住您的应用程序或站点,并提供有关如何使用您的产品的隐含提示。API的一些部分已经存在一段时间了,但是这个实现带来了更好的规范遵从性,并支持合成操作,这些操作控制如何组合效果,并提供许多新的钩子来启用可替换事件。API还支持Promises,它允许动画排序,并提供对动画如何与其他应用程序功能交互的更好控制。

Android版的Chrome84正在Google Play上缓慢推出。ChangeLog还不可用-它只声明“此版本包括稳定性和性能改进”。

同时,iOS版Chrome84在苹果的App Store上也发布了,它具有通常的“稳定性和性能改进”。以下是完整的更改日志:

现在,使用我们新的安全浏览功能,您可以在浏览时更好地防范恶意软件和网络钓鱼。

现在,您可以通过创建和共享二维码来共享网页。若要开始,请点击右上角的“共享”图标。

您可以在Chrome菜单的Downloads文件夹或设备的Files应用程序中找到您的下载内容。

您可以为设备上Chrome中保存的支付卡添加昵称。保存新卡时添加昵称,或转至设置&>付款方式&>编辑。

[$tbd][1103195]Critical CVE-2020-6510.后台获取时堆缓冲区溢出。360 Alpha Lab的Leecraso和Guang Gong在2020-07-08与360 BugCloud合作的报道。

[1074317][$5,000]高CVE-2020-6511:内容安全策略中的侧通道信息泄露。米哈伊尔·奥布尔日钦(Mikhail Oblozkhin)于2020/04/24报道。

[1084820][$5,000]高CVE-2020-6512:V8中的类型混淆。微信开放平台安全团队nocma、leogan、cheneyxu于2020年05月20日报道。

[1091404][$2,000]高CVE-2020-6513:PDFium中的堆缓冲区溢出。思科Talos的亚历山大·尼科利奇于2020-06-04报道。

[$待定][1076703]高CVE-2020-6514.。Google Project Zero的娜塔莉·西尔万诺维奇(Natalie Silvanovich)于2020-04-30报道。

[$待定][1092449]高CVE-2020-6516:CORS中的策略绕过。腾讯玄武实验室(xlab.tencent.com)王永科于2020-06-08报道。

[$tbd][1095560]高CVE-2020-6517.历史记录中的堆缓冲区溢出。腾讯安全玄武实验室吴泽凯(@hellowuzekai)于2020-06-16报道

[$3,000]中型CVE-2020-6518:在开发工具中免费使用。David Erceg于2019/07/20报道。

[1064676][$3,000]中型CVE-2020-6519CSP中的政策绕过。PerimeterX的Gal Weizman(@weizmanGal)于2020-03-25报道。

[$1,000]Medium CVE-2020-6520:Skia中的堆缓冲区溢出。NsFocus安全团队周震2020-06-08报道。

[1075734]中型CVE-2020-6521型:自动填充中的侧通道信息泄漏。由徐麟(伊利诺伊大学芝加哥分校),Panagiotis Ilia(伊利诺伊大学芝加哥分校),Jason Polakis(伊利诺伊大学芝加哥分校)于2020年4月27日报道。

[$tbd][1052093]中型CVE-2020-6522:外部协议处理程序中的不正确实现。微软埃里克·劳伦斯(Eric Lawrence)于2020-02-13报道。

[$N/A][1080481]中型CVE-2020-6523:Skia越界写入。腾讯安全玄武实验室刘薇吴泽凯2020年05月08日报道。

[$N/A][1081722]Medium CVE-2020-6524:网络音频中的堆缓冲区溢出。亚利桑那州立大学SEFCOM实验室的Sung Ta(@mipu94)于2020-05-12报道。

[$N/A][1091670]Medium CVE-2020-6525:Skia中的堆缓冲区溢出。NsFocus安全团队周震2020-06-05报道

[992698]低CVE-2020-6527:CSP政策执行不足。And Security.cn钟兆晨2019-08-10报道。

[1063690]低CVE-2020-6528:基本身份验证中的安全UI不正确。Rayyan Bijoora于2020/03/22报道。

[$N/A][1016278]低CVE-2020-6530:开发人员工具中的内存访问越界。myvYang于2019/10/21报道。

[$tbd][1042986]低CVE-2020-6531.滚动到文本时出现侧通道信息泄漏。Microsoft浏览器漏洞研究,2020-01-17,Jun Kokatsu报道。

[$N/A][1069964]低CVE-2020-6533:V8中的类型混淆。由Avihay Cohen@SeraphicAlgorithms于2020-04-11报道。

[$待定][1073409]低CVE-2020-6535:WebUI中的数据验证不足。Microsoft浏览器漏洞研究2020-04-22,Jun Kokatsu报道。

[$待定][1080934]低CVE-2020-6536:PWAS中的安全UI不正确。腾讯安全平台部曾志阳2020-05-09报道。

因此,谷歌为此次发布花费了至少21,500美元的漏洞赏金(‬)。一如既往,仅安全修复就足以激励您升级。

Chrome提供Origin Trials,可以让你尝试新功能,并向网络标准社区提供可用性、实用性和有效性方面的反馈。Chrome84有四个新的Origin Trial:Cookie Store API、空闲检测、Origin Isolation和WebAssembly SIMD。此外,两个Origin试用已经毕业,现在默认开启:基于Promises的内容索引API和Wake Lock API。

一如既往,Chrome84包含最新的V8 JavaScript引擎。V8V8.4带来了WebAssembly的改进:更短的启动时间、更好的调试和SIMD Origin试用。还有一些新的JavaScript特性:弱引用和终结器,以及私有方法和访问器。有关更多信息,请查看完整的ChangeLog。

应用快捷键:为了提高用户的工作效率,并促进关键任务的重新参与,Chrome现在支持Android中的应用快捷键。它们允许Web开发人员快速访问用户经常需要的几个常见操作。对于已经是渐进式Web应用程序的网站,创建快捷方式只需要向Web应用程序清单中添加项目。

自动升级图像混合内容:“混合内容”是指HTTPS页面通过不安全的HTTP加载脚本或图像等内容。之前,允许加载混合的图像,但锁图标被移除,从Chrome80开始,取而代之的是不安全的芯片。这令人困惑,并没有充分阻止开发人员加载威胁用户数据机密性和完整性的不安全内容。从Chrome 84开始,混合图片内容将升级为https,如果升级后无法加载图片将被屏蔽。音频和视频混合内容的自动升级预计将在未来的版本中发布。

阻止来自安全(HTTPS)上下文的不安全下载:Chrome打算阻止从安全上下文发起的不安全交付的下载(“混合内容下载”)。一旦下载,恶意文件就可以绕过Chrome设置的任何保护措施。此外,Chrome不会也不能通过降低启动不安全下载的安全页面上的安全指标来警告用户,因为在发出请求之前,它不能可靠地知道某个操作是否会启动不安全下载。用户可见的警告将在桌面上的Chrome84中开始,并计划在Chrome88中完全阻止不安全的下载。在Chrome85之前,Android中不会出现警告。

Worker上的ReportingViewer:Chrome69中添加的ReportingViewer API提供了一个JavaScript回调函数,以响应反对和浏览器干预。报告可以保存、发送到服务器或使用任意JavaScript处理。此功能旨在让开发人员更深入地了解他们的站点在真实设备上的操作。从Chrome84开始,此API向工作人员公开。

调整观察器大小:调整观察器API已更新,以符合最新规范。ResizeObserverEntry有三个新属性:contentBoxSize、borderBoxSize和devicePixelContentBoxSize,以提供有关正在观察的DOM特性的更详细信息。此信息在ResizeObserverSize对象数组中返回,这些对象也是新的。

REVERT关键字:REVERT关键字将元素的样式重置为浏览器默认值。

无前缀外观CSS属性:CSS中现在提供了一个无前缀版本的-webkit-外观作为外观。

无前缀ruby-position CSS属性:Chrome现在支持ruby-position属性。这是-webkit-ruby-position的无前缀版本,用于控制ruby注释的位置。此属性有三个可能的值:上方、下方和字符间,但Chrome只实现了前两个。这一改变创造了与Firefox同等的功能。

Web Authenticator API:跨域iframe支持:如果功能策略启用,则添加对来自跨域iframe的web身份验证调用的支持。这使得Chrome符合Web身份验证级别2规范。

要全面了解新功能,请查看Chrome84里程碑热点列表。

谷歌现在应该重新开始每六周左右发布一次新版本的浏览器。Chrome85将于8月中旬上市。