为什么 Google Chrome 无法提供校验和

为什么 Google Chrome 无法提供校验和

好吧,我可能对这个问题有点无知,但我真的很好奇为什么谷歌没有在下载的 Google Chrome 中提供校验和和 gpg 签名。事实上,我从未在 Google.com 的任何地方看到过校验和。

我知道下载是通过 HTTPS 连接进行的,但如果我错了,请纠正我,仍然有可能注入恶意下载,对吗?我在某处读到发现 VPN 的出口节点已注入可执行文件

就在最近,Linux Mint 的网站因为 Wordpress 配置错误而被黑客入侵,而 Linux MintISO 被替换为包含某些 DDOS 群后门的 ISO

Windows 更新、苹果更新、Ubuntu 的 apt-get 都有包的签名签署和验证。

但是谷歌等所有公司在其下载页面上甚至没有校验和。

这是为什么?最终用户下载 Chrome 真的有风险吗?

谢谢 =)

答案1

Windows 安装程序使用 Authenticode (X.509) 签名,该代码由 Windows 本身进行验证。自动更新(使用 Omaha 提供)也使用 X.509 签名。

Linux 存储库使用 GPG 签名 – 当您第一次google-chrome-current.deb通过 HTTPS 下载时,它会自动将更新存储库添加到 sources.list 并将其签名密钥安装到您的 apt 配置中(参见/opt/google/chrome/cron/)。

(我不会说这很糟糕。考虑一下:如果你认为攻击者可以注入虚假的下载...为什么他们不能注入虚假的“校验和”?如果你不能相信你.debhttps://google.com,那么同样你不能相信你从https://google.com任何一个。)

我知道下载是通过 HTTPS 连接进行的,但如果我错了请纠正我,仍然有可能注入恶意下载,对吗?

一般不会。这……正是 HTTPS 所要阻止的。

但有两种可能性:

  • 如果您开始http://www.google.com/chrome并期望自动重定向到 HTTPS,攻击者可以剥离此重定向并强迫您停留在 HTTP 版本。

    为了避免这种情况,请确保仅有的通过 HTTPS 访问下载页面;可能有一些 Tor 配置可用于完全阻止 HTTP(tcp/80)。(我知道 Tor 有一个针对出口节点的端口白名单,但为客户端也有一个肯定很有用...)

  • 如果您打开 HTTPS 网站但攻击者拦截了您的连接(MITM),浏览器将警告您证书错误(因为攻击者无法获取“真正的”证书google.com),但许多人只会盲目地“点击”这些警告甚至不看一眼。

    为了避免这种情况,请不要绕过那些浏览器安全警告。

最大的浏览器(我想甚至是 IE?)现在都带有google.com“HSTS 预加载”列表,这迫使浏览器始终使用 HTTPS防止用户绕过证书错误。因此应该防范此类错误。

答案2

校验和将提供基准验证,以确认给定目标(版本、操作系统、架构等)是否有效,这通常是一件好事,并且被普遍接受为最佳实践;仅仅因为给定的最佳实践“可能”受到损害,并不意味着我们不应该遵循它。即使 cksum 值是伪造的,将其视为非临时的也是不现实的,并且验证签名仍然会失败;当然,也许攻击者设法从 google.com/pubkey 之类的网站上交换出 gpg 密钥,这会影响在此时间点之后下载它们的任何人,但这不能解释广泛共享的公钥副本,根据设计(参见公钥基础设施)

对于 Google 来说,公开提供校验和的问题在于,这将使引导用户使用所需版本变得更加困难。举例来说,那些明显不正当的托管网站提供旧版工具,而这些工具不再由特定发布者(故意)提供;他们无法证明被病毒感染的下载内容是有效的,而且看起来是有效的。正如我最近发现的那样,您很难找到有效的、过去发布的 chrome 版本,因为从这些网站下载的每一个文件都以某种方式被破解了。我们怎么知道的?因为广告收入需要可量化的参与度,而下载网站无法提供;他们赚的那点钱还不足以支付存储、带宽和开发人员的开销。

相关内容