铬86的

Chrome 86 的下一个版本和 Chromium 的稳定版本已经发布。

Chrome 86 的主要变化:

  • 防止在通过 HTTPS 加载但通过 HTTP 发送数据的页面上不安全地提交输入表单。
  • 阻止不安全下载可执行文件 (http) 已通过阻止不安全下载档案(zip、iso 等)和在不安全加载文档(docx、pdf 等)时显示警告来补充。 下一个版本预计将阻止文档并对图像、文本和媒体文件发出警告。 实施阻止是因为下载未加密的文件可用于通过在 MITM 攻击期间替换内容来执行恶意操作。
  • 默认上下文菜单显示选项“始终显示完整的 URL”,以前需要更改 about:flags 页面上的设置。 也可以通过双击地址栏来查看完整的 URL。 回想一下,从 Chrome 76 开始,默认情况下,地址开始显示时没有协议和 www 子域。 在 Chrome 79 中,用于恢复旧行为的设置被移除,但在用户不满之后,Chrome 83 中添加了一个新的实验性标志,在上下文菜单中添加了一项以禁用在所有情况下隐藏和显示完整 URL。
    针对一小部分用户,开展了一项实验,默认在地址栏中只显示域名,不显示路径元素和查询参数。 例如,而不是“https://example.com/secure-google-sign-in/" 将显示“example.com”。 预计在下一个版本中将建议的模式带给所有用户。 要禁用此行为,您可以使用“始终显示完整 URL”选项,要查看整个 URL,您可以单击地址栏。 更改的动机是希望保护用户免受操纵 URL 中参数的网络钓鱼 - 攻击者利用用户的注意力不集中来创建打开另一个站点的外观并实施欺诈行为(如果这种替换对于技术上有能力的用户来说是惊人的,然后没有经验的外行操作)。
  • 取消 FTP 支持的倡议已经恢复。 在 Chrome 86 中,大约 1% 的用户默认禁用 FTP,而在 Chrome 87 中,禁用的覆盖范围将增加到 50%,但可以使用标志“--enable-ftp”或“ --enable-features=FtpProtocol”。 在 Chrome 88 中,FTP 支持将被完全禁用。
  • 在 Android 版本中,与桌面系统版本类似,密码管理器根据受损帐户数据库检查保存的登录名和密码,并在出现问题或尝试使用普通密码时发出警告。 检查是针对一个数据库执行的,该数据库涵盖了在用户数据库泄漏中出现的超过 4 亿个受损帐户。 为了保护隐私,哈希前缀在用户端进行验证,密码本身及其完整哈希值不会传输到外部。
  • Android 版本还包括安全检查按钮和增强型安全浏览。 “安全检查”按钮显示潜在安全问题的摘要,例如泄露的密码、安全浏览状态、未安装的更新和恶意加载项的检测。 高级保护模式会激活额外的检查以防止网络钓鱼、恶意活动和其他网络威胁,还包括对您的 Google 帐户和 Google 服务(Gmail、Drive 等)的额外保护。 在正常的安全浏览模式下,会根据定期下载到客户端系统的数据库在本地执行检查,而在增强型安全浏览模式下,有关页面和下载的实时信息会发送给 Google 进行验证,这样您就可以在威胁发生后立即做出快速响应它们被检测到,而无需等待本地黑名单更新。
  • 添加了对“.well-known/change-password”指示器文件的支持,网站所有者可以使用该文件指定 Web 表单的地址以更改密码。 如果用户的凭据遭到泄露,Chrome 现在将根据此文件中的信息提示用户使用密码更改表单。
  • 实施了一个新的“安全提示”警告,当打开域与另一个站点非常相似的站点并且启发式显示存在欺骗的可能性很高时(例如,打开 goog0le.com 而不是 google.com)。

    * 实现了对转换缓存(后退缓存)的支持,它在使用“后退”和“前进”按钮或浏览当前站点的先前查看页面时提供即时转换。 使用 chrome://flags/#back-forward-cache 设置启用缓存。

  • 优化范围外窗口的 CPU 资源消耗。 Chrome 检查浏览器窗口是否与其他窗口重叠,并避免在重叠区域绘制像素。 此优化在 Chrome 84 和 85 中为一小部分用户启用,现在已在全球范围内启用。 与之前的版本相比,我们还修复了导致显示空白页面的与虚拟化系统不兼容的问题。
  • 改进了背景选项卡的资源截断。 此类选项卡不会再消耗超过 1% 的 CPU 资源,并且每分钟最多只能激活一次。 在后台运行五分钟后,选项卡将被冻结,但正在播放多媒体内容或录制的选项卡除外。
  • 已恢复 User-Agent HTTP 标头的统一工作。 在新版本中,为所有用户激活了作为 User-Agent 替代品开发的 User-Agent Client Hints 机制的支持。 新机制意味着只有在服务器发出请求后才会有选择地返回有关特定浏览器和系统参数(版本、平台等)的数据,并让用户有机会有选择地向网站所有者提供此类信息。 使用 User-Agent Client Hints 时,如果没有显式请求,默认情况下不会传递标识符,这使得被动识别成为不可能(默认情况下仅指定浏览器名称)。
    更改了存在更新的指示以及需要重新启动浏览器才能安装它。 现在,帐户头像字段中不再显示彩色箭头,而是出现“更新”字样。
  • 已经完成翻译浏览器以使用包容性术语的工作。 在政策名称中,“白名单”和“黑名单”一词已被替换为“允许名单”和“阻止名单”(已添加的政策将继续有效,但会为其显示弃用警告)。 在代码和文件名中,对“黑名单”的引用被替换为“黑名单”。 用户可见的“黑名单”和“白名单”参考已于 2019 年初被替换。
    添加了编辑已保存密码的实验性功能,使用“chrome://flags/#edit-passwords-in-settings”标志激活。
  • 移至稳定和公共的本机文件系统 API 类别,它允许您创建与本地文件系统中的文件交互的 Web 应用程序。 例如,基于浏览器的 IDE、文本编辑器、图像编辑器和视频编辑器可能需要新的 API。 为了能够直接写入和读取文件或使用对话框打开和保存文件,以及浏览目录内容,应用程序要求用户进行特殊确认。
  • 添加了“:focus-visible”CSS 选择器,它使用浏览器在决定是否显示焦点更改指示器时使用的相同启发式方法(使用键盘快捷键将焦点移动到按钮会使指示器出现,但在用鼠标单击时不会出现) ). 以前可用的“:focus” CSS 选择器始终突出显示焦点。 此外,“Quick Focus Highlight”选项已添加到设置中,启用后,活动元素旁边将显示一个额外的焦点指示器,即使通过CSS。
  • 几个新的 API 已添加到 Origin Trials 模式(需要单独激活的实验性功能)。 Origin 试用意味着能够使用从本地主机或 127.0.0.1 下载的应用程序中的指定 API,或者在注册并接收对特定站点在有限时间内有效的特殊令牌之后。
  • WebHID API 用于低级别访问 HID 设备(人机接口设备、键盘、鼠标、游戏板、触摸板),它允许您在 JavaScript 中实现使用 HID 设备的逻辑,以便在不存在的情况下组织使用稀有 HID 设备的工作系统中的特定驱动程序。 首先,新的 API 旨在为游戏手柄提供支持。
  • Screen Information API 扩展了 Window Placement API 以支持多屏幕配置。 与 window.screen 不同,新的 API 允许您在多显示器系统的共享屏幕空间中操作窗口的放置,而不受当前屏幕的限制。
  • 节电元标记,网站可以通过该标记通知浏览器需要激活模式以降低功耗并优化 CPU 负载。
  • COOP 报告 API 报告潜在的违反跨源嵌入策略 (COEP) 和跨源开启策略 (COOP) 锁定的行为,而无需实际应用限制。
  • Credential Management API 提供了一种新的 PaymentCredential 凭证类型,可以对正在进行的支付交易提供额外的确认。 诸如银行之类的依赖方能够生成 PublicKeyCredential,商家可以请求该 PublicKeyCredential 以进行额外的安全支付确认。
  • 用于确定手写笔倾斜度的 PointerEvents API * 添加了对高度角(手写笔与屏幕之间的角度)和方位角(X 轴与手写笔在屏幕上的投影之间的角度)的支持,而不是TiltX 和 TiltY 角度(触控笔的平面与其中一个轴与 Y 轴和 Z 轴的平面之间的角度)。 还增加了高度/方位角和 TiltX/TiltY 之间的转换功能。
  • 在协议处理程序中评估时更改了 URL 中的空格编码 - navigator.registerProtocolHandler() 方法现在将空格替换为“%20”而不是“+”,这统一了与其他浏览器(如 Firefox)的行为。
  • 向 CSS 添加“::marker”伪元素以自定义块中列表的颜色、大小、形状和数字和点的类型和.
  • 添加了对 Document-Policy HTTP 标头的支持,它允许您设置类似于 iframe 沙箱隔离机制的文档访问规则,但更通用。 例如,通过 Document-Policy,您可以限制低质量图像的使用,禁用慢速 JavaScript API,配置加载 iframe、图像和脚本的规则,限制文档和流量的总大小,禁止导致页面重绘,并禁用滚动到文本功能。
  • 到元素添加了对通过“display”CSS 属性设置的“inline-grid”、“grid”、“inline-flex”和“flex”参数的支持。
  • 添加了 ParentNode.replaceChildren() 方法以将父节点的所有子节点替换为另一个 DOM 节点。 以前,您可以结合使用 node.removeChild() 和 node.append() 或 node.innerHTML 和 node.append() 来替换节点。
  • 扩展了允许使用 registerProtocolHandler() 覆盖的 URL 方案的范围。 方案列表包括 cabal、dat、did、dweb、ethereum、hyper、ipfs、ipns 和 ssb 去中心化协议,这些协议允许您定义指向元素的链接,而不管提供资源访问的站点或网关如何。
  • 异步剪贴板 API 添加了对文本/html 格式的支持,用于通过剪贴板复制和粘贴 HTML(写入和读取剪贴板会清除危险的 HTML 结构)。 例如,这一变化允许网络编辑组织插入和复制带有图像和链接的格式化文本。
  • WebRTC 添加了连接自己的数据处理程序的能力,这些处理程序在编码或解码 WebRTC MediaStreamTrack 的阶段调用。 例如,此功能可用于添加对通过中间服务器传输的数据进行端到端加密的支持。
    Number.prototype.toString 的实现在 V8 JavaScript 引擎中快了 75%。 .name 属性已添加到具有空值的异步类。 删除了 Atomics.wake 方法,该方法曾经重命名为 Atomics.notify 以符合 ECMA-262 规范。 JS-Fuzzer 模糊测试工具的代码已经发布。
  • 最新版本中包含的 WebAssembly 的 Liftoff 基线编译器包括使用 SIMD 向量指令来加速计算的能力。 从测试来看,优化使某些测试的通过速度提高了 2.8 倍。 另一项优化可以显着加快从 WebAssembly 调用导入的 JavaScript 函数的速度。
  • 为Web开发者扩展的工具:媒体面板中增加了用于在页面上播放视频的播放器的信息,包括事件数据、日志、属性值和帧解码参数(例如,您可以确定帧的原因来自 JavaScript 的掉落和交互问题)。
  • 在元素面板的上下文菜单中,添加了为所选元素创建屏幕截图的功能(例如,您可以创建目录或表格的屏幕截图)。
  • 在 Web 控制台中,问题警告面板已替换为常规消息,第三方 cookie 的问题默认隐藏在“问题”选项卡中,并通过特殊复选框启用。
  • “禁用本地字体”按钮已添加到渲染选项卡,它允许您模拟没有本地字体,并且传感器选项卡能够模拟用户不活动(对于使用空闲检测 API 的应用程序)。
  • “应用程序”面板提供有关每个 iframe、打开的窗口和弹出窗口的详细信息,包括使用 COEP 和 COOP 进行跨域隔离的数据。

已经开始用 IETF 规范中开发的版本替换 QUIC 协议的实现,而不是谷歌版本的 QUIC。
除了创新和错误修复外,新版本还修复了 35 个漏洞。 许多漏洞是通过自动测试工具 AddressSanitizer、MemorySanitizer、Control Flow Integrity、LibFuzzer 和 AFL 识别出来的。 一个漏洞(CVE-2020-15967,在与 Google Payments 交互的代码中释放内存访问)被标记为严重,即允许您绕过所有级别的浏览器保护并在沙盒环境之外的系统上执行代码。 作为当前版本漏洞赏金计划的一部分,谷歌已经支付了 27 个价值 71500 美元的奖励(一个 15000 美元奖励、三个 7500 美元奖励、五个 5000 美元奖励、两个 3000 美元奖励、一个 200 美元奖励和两个 500 美元奖励)。 13奖励的数额尚未确定。

取自 opennet.ru

来源: linux.org.ru

添加评论