HTTPS 但未加密?

信息安全 加密 tls 证书 证书颁发机构
2021-08-27 23:42:07

我正在中国境内访问 Bing ( https://www.bing.com )。我得到以下信息:

在此处输入图像描述

这怎么可能发生?HTTPS但未加密,并带有SSL证书?

这是使用 wireshark 进行的数据包捕获Bing 的 IP 是 202.89.233.101 。

一个新的捕获。

4个回答

编辑 pcap:我的理论不成立;其他点仍然有效。

我将保留我原来的推测性答案,但 TL;DR:如果资源是通过 http 加载的,则有必要发出这样的警告。

正如评论所说,这似乎是对网站上使用的非 https 资源的警告。这可能会触发此类警告,并且有充分的理由:

如果以这种方式加载脚本,中间的人可以注入破坏与此类网站的每次交互的脚本(甚至更多,以防攻击者可用于您的浏览器)。此外,即使是其他资源也可能导致执行不打算在该上下文中运行的代码。

现在我的原始答案是:这可能是微软允许的降级攻击。

首先:TLS 有两个不同的目的:

  1. 通过公钥基础设施对服务器(以及可选的客户端)进行身份验证。
  2. 评估服务器和客户端共享哪些加密功能,并通过不安全的连接选择其中一个。

虽然服务器已经过身份验证,但似乎服务器和您已经建立了纯文本“加密”。

其次:如果客户端(或服务器)的计算能力非常有限,这可能很有用。作为允许访问(可用性)而不是保密的一种手段,这可能很有用。

第三,我的猜测:在这种情况下,bing 可能只允许在中国运行,只要防火墙可以查看流量​​内部。因此,微软可能选择了可用性而不是保密性,利用纯文本选项允许 GFC 进行深度数据包检查。

它不仅在 Edge 中,而且在 IE 和 Chrome 中。原因现在很清楚:MS确实通过不安全的连接提供内容,至少在中国是这样。正如Mixed content下面屏幕截图右下角的警告所示,该页面通过 HTTP 请求图像,使其不安全:

在此处输入图像描述

这怎么可能发生?HTTPS但未加密,并带有SSL证书?

我能想到这可能发生的三种方式。

  1. 服务器特意配置了一个null 协议,这在 HTTPS 下技术上是允许的,尽管非常不鼓励

  2. 服务器配置了适当的加密协议,但有一个弱点,允许黑客发起降级攻击在一两年前,OpenSSL(参见本文)中发现了这样一个弱点,这是一个非常流行的代码库,许多 Web 服务器都基于该代码库。还有其他攻击

  3. 您处于一个网络环境(可能是整个中国)中,其中与 Bing 的连接被拦截,并且为您提供的内容具有非原始证书的证书。这种设置在公司环境中很常见(有关详细信息,请参阅此问题)。这将要求您的笔记本电脑包含一个由执行拦截的一方控制的根证书,例如中国 CA,然后它可以颁发一个看起来与 Bing 拥有的完全一样的证书。

“安全”HTTPS 是指浏览器和 Web 服务器之间的加密连接。而已。这只能确保在您的浏览器和 Web 服务器之间传输的数据是安全的。它并未涵盖所有安全范围。

该站点实际上是在加载混合内容,某些内容(例如图像和 CSS)将通过不安全的通道加载,而主站点内容则通过 HTTPS 提供安全保护。例如,如果任何内容使用“form action="http”而不是“form action="https”,这会导致网站被入侵。在您的具体情况下,还有 adobe flash。只要你有 Flash 内容,那么实际上安全性就已经死了。Adobe Flash 与 Web 浏览器在同一进程和内存中运行,其中频繁出现的错误为黑客提供了许多轻松访问内存的机会。然后他们可以跳转到特定的内存地址并从那里做任何事情。

至于 SSL,当您请求与网站的 HTTPS 连接时,该网站最初会将其 SSL 证书发送到您的浏览器。此证书包含启动安全会话所需的公钥。基于此初始交换,您的浏览器和网站随后会启动“SSL 握手”。SSL 握手涉及共享机密的生成,以在您和网站之间建立独特的安全连接。这里很多事情都可能出错,并且不再发生安全连接。很多时候,这可能是由于浏览器受损,但也可能是由于站点中的问题。