Google Chrome 和 Microsoft Edge 网络浏览器中的扩展拼写检查功能分别将表单数据(包括个人身份信息 (PII) 和某些情况下的密码)传输给 Google 和 Microsoft。
虽然这可能是这些网络浏览器的已知和预期功能,但它确实引起了人们对传输后数据会发生什么以及这种做法可能有多安全的担忧,特别是在涉及密码字段时。
Chrome 和 Edge 都启用了基本的拼写检查器。但是,当用户手动启用 Chrome 的增强拼写检查或 Microsoft 编辑器等功能时,就会出现这种潜在的隐私风险。
使用 Chrome 和 Edge 等主要网络浏览器时,如果启用增强的拼写检查功能,您的表单数据将分别传输到 Google 和 Microsoft。
根据您访问的网站,表格数据本身可能包括 PII — 包括但不限于社会安全号码 (SSN)/社会保险号码 (SIN)、姓名、地址、电子邮件、出生日期 (DOB)、联系信息、银行和支付信息等。
JavaScript 安全公司 otto-js 的联合创始人兼首席技术官 Josh Summitt 在测试其公司的脚本行为检测时发现了这个问题。
在启用 Chrome 增强拼写检查或 Edge 的 Microsoft 编辑器(拼写检查器)的情况下,在这些浏览器的表单字段中输入的“基本上任何内容”都会传输到 Google 和 Microsoft。
“此外,如果你点击‘显示密码’,增强的拼写检查甚至会发送你的密码,本质上是拼写你的数据,”otto-js 在一篇博文中解释道。
“当用户登录或填写表格时,世界上一些最大的网站可能会向谷歌和微软发送敏感的用户 PII,包括用户名、电子邮件和密码。对于公司来说,更重要的问题是这带来的风险到公司的企业凭证到数据库和云基础设施等内部资产。”
例如,用户可能经常在不允许复制粘贴密码的网站上使用“显示密码”选项,或者当他们怀疑自己输入错误时。
为了演示,otto-js 分享了一个用户在阿里云平台上用 Chrome 浏览器输入凭证的例子——尽管任何网站都可以用于这个演示。
启用增强的拼写检查,并假设用户点击了“显示密码”功能,包括用户名和密码在内的表单字段将传输到 googleapis.com上的 Google 。
BleepingComputer 还观察到,在我们使用 Chrome 访问主要网站的测试中,凭据被传输到谷歌:
尽管表单字段的传输是通过 HTTPS 安全地进行的,但用户数据一旦到达第三方(在本例中为 Google 的服务器)会发生什么情况可能还不是很清楚。
“增强的拼写检查功能需要用户选择加入,”谷歌发言人向 BleepingComputer 证实。请注意,这与默认情况下在 Chrome 中启用且不会将数据传输到 Google 的基本拼写检查器形成对比。
要查看您的 Chrome 浏览器中是否启用了增强拼写检查,请将以下链接复制粘贴到您的地址栏中。然后,您可以选择打开或关闭它:
chrome://settings/?search=Enhanced+Spell+Check
从屏幕截图中可以明显看出,该功能的描述明确指出,启用增强拼写检查后,“您在浏览器中键入的文本将发送给 Google。”
“用户输入的文本可能是敏感的个人信息,谷歌不会将其附加到任何用户身份上,只是在服务器上临时处理它。为了进一步确保用户隐私,我们将努力从拼写检查中主动排除密码,”谷歌在与我们分享的声明中继续说道。
“我们感谢与安全社区的合作,我们一直在寻找更好地保护用户隐私和敏感信息的方法。”
至于 Edge,Microsoft Editor Spelling & Grammar Checker 是一个浏览器插件,需要显式安装才能发生这种行为。
BleepingComputer 在发布之前就提前联系了微软。我们被告知此事正在调查中,但我们尚未收到回复。
otto-js 将攻击向量称为“Spell-jacking”,并对 Office 365、阿里云、Google Cloud – Secret Manager、Amazon AWS – Secrets Manager 和 LastPass 等云服务的用户表示担忧。
针对 otto-js 的报告,AWS 和 LastPass 都缓解了这个问题。在 LastPass 的案例中,补救措施是通过在密码字段中添加一个简单的 HTML 属性spellcheck=”false”来实现的:
当从表单文本输入字段中省略时,’spellcheck’ HTML 属性通常被 Web 浏览器默认为 true。’spellcheck’ 明确设置为false的输入字段将不会通过 Web 浏览器的拼写检查器进行处理。
“公司可以通过在所有输入字段中添加 ‘spellcheck=false’ 来降低共享客户 PII 的风险,尽管这可能会给用户带来问题,”otto-js 指的是这样一个事实,用户现在将不再能够通过拼写检查器运行他们输入的文本。
“或者,您可以将其添加到包含敏感数据的表单字段中。公司还可以删除“显示密码”的功能。这不会阻止拼写劫持,但会阻止发送用户密码。”
具有讽刺意味的是,我们观察到 Twitter 的登录表单带有“显示密码”选项,密码字段的“拼写检查”HTML 属性显式设置为 true:
作为一项额外的保障措施,Chrome 和 Edge 用户可以关闭增强拼写检查(按照上述步骤)或从 Edge 中删除 Microsoft Editor 插件,直到两家公司都修改了扩展拼写检查程序以排除对敏感字段(如密码)的处理。