对 Chrome 94 中包含空闲检测 API 的批评。在 Chrome 中试验 Rust

Chrome 94 中默认包含的空闲检测 API 引发了一波批评,火狐和 WebKit/Safari 开发人员表示反对。

空闲检测 API 允许站点检测用户不活动的时间,即不与键盘/鼠标交互或在另一台显示器上执行工作。 该 API 还允许您查明系统上是否正在运行屏幕保护程序。 有关不活动的信息是通过在达到指定的不活动阈值后发送通知来执行的,该阈值的最小值设置为 1 分钟。

需要注意的是,使用空闲检测 API 需要显式授予用户权限,即如果应用程序第一次尝试检测不活动状态,则会向用户显示一个窗口,询问是否授予权限或阻止操作。 要完全禁用空闲检测 API,“隐私和安全”设置部分中提供了一个特殊选项(“chrome://settings/content/idleDetection”)。

应用领域包括聊天、社交网络和通信应用程序,这些应用程序可以根据用户在计算机前的状态来更改用户的状态,或者延迟新消息的通知,直到用户到达。 该 API 还可用于信息亭应用程序,以便在一段时间不活动后返回到原始屏幕,或者在用户不在计算机旁时禁用资源密集型交互操作,例如重绘复杂的、不断更新的图表。

反对启用空闲检测 API 的立场是,有关用户是否在计算机旁的信息可以被视为机密。 除了有用的应用程序之外,此 API 还可以用于不良目的,例如,尝试在用户离开时利用漏洞或隐藏明显的恶意活动(例如挖矿)。 使用相关 API,还可以收集有关用户行为模式及其日常工作节奏的信息。 例如,您可以了解用户通常什么时候去吃午饭或离开工作场所。 在强制要求提供授权证明的情况下,谷歌认为这些担忧是微不足道的。

此外,您还可以注意到 Chrome 开发人员关于推广新技术以确保内存安全操作的说明。 据 Google 称,Chrome 中 70% 的安全问题是由内存错误引起的,例如在释放与其关联的内存后使用缓冲区(释放后使用)。 确定了处理此类错误的三种主要策略:在编译阶段加强检查、在运行时阻止错误以及使用内存安全语言。

据悉,实验已经开始将用 Rust 语言开发组件的能力添加到 Chromium 代码库中。 Rust 代码尚未包含在交付给用户的版本中,主要目的是测试用 Rust 开发浏览器各个部分的可能性以及它们与用 C++ 编写的其他部分集成的可能性。 与此同时,对于C++代码,一个项目继续开发以使用MiraclePtr类型而不是原始指针来阻止由于访问已释放的内存块而导致利用漏洞的可能性,并且还提出了在编译阶段检测错误的新方法。

此外,谷歌正在开始一项实验,以测试浏览器达到由三位数字而不是两位数字组成的版本后可能出现的网站中断情况。 特别是,在 Chrome 96 的测试版本中,当在 User-Agent 标头中指定版本 100 (Chrome/100) 时,会出现“chrome://flags#force-major-version-to-100.0.4650.4”设置开始显示。 XNUMX 月份,在 Firefox 中进行了类似的实验,该实验揭示了某些网站上处理三位数版本的问题。

来源: opennet.ru

添加评论