如何检测 HTTPS 检查?

信息安全 tls 中间人
2021-08-21 19:06:17

在我的公司,我确实在午餐时间使用我的电脑处理私人事务,例如网上银行和个人电子邮件。

我一直认为,当 Firefox 向我显示绿色锁符号时,表示已建立有效的 HTTPS 连接并且没有人可以窃听。我现在听说 HTTPS 检查可以解决这个问题。

其实我有两个问题:

  1. 我的理解是否正确,对于 HTTPS 检查,我的公司将部署带有“伪造”安全证书的 Firefox,以便它可以伪装成我真正想要访问的站点并进行中间人攻击?
  2. 如何检测我的连接是否被窥探?

我的公司使用 Forefront TMG,我可以通过 Windows 10 中的托盘图标看出这一点。

提前非常感谢!

4个回答

如果您的公司拥有并管理您的计算机,他们有以下选项来检查您的 HTTPS 连接:

  1. 将他们的证书颁发机构添加到操作系统/浏览器受信任的证书存储中。这将允许他们在代理上为您连接的任何网站生成有效证书。此外,他们甚至可以关闭浏览器中的证书预加载列表,从而允许用伪造的证书替换“已知良好”的证书。
  2. 他们可能会在您的 PC 上安装软件来监控所有文件系统和网络活动,包括 HTTPS 连接。有许多提供此类功能的数据丢失防护 (DLP) 软件供应商。它可以在静音模式下运行,用户完全不可见。该软件在企业中出奇地普遍。

代理服务器上的连接侦听相对容易检测。代理提供给您的网站证书将不同于您在家中打开网站甚至使用移动设备时获得的网站证书。如果上述证书的公钥和证书指纹不匹配,那么几乎肯定会发生连接窥探(这种不匹配有时是有正当理由的,因此在这种情况下,最好以相同的方式检查整个证书链)。

如果公司使用端点软件来监视员工的活动,那么检测这一点变得更加困难,尤其是在您没有管理员权限的情况下。如果它不是在静默模式下运行,您可以查看正在运行的进程列表、系统托盘或已安装程序列表,看看是否列出了一些奇怪/未知的程序(然后在线搜索它们的名称)。在静默操作模式的情况下,检测它可能需要内核调试/rootkit 检测技能(或询问系统管理员)。

有几个有趣的事情要看。首先,只需查看证书 - 它不会来自知名的证书颁发机构。单击绿色挂锁后,单击右侧的箭头即可看到(firefox、Windows)。例如。Facebook 说“Digicert”。

一旦您看到 TMG 生成的一两个证书,您就会轻松识别它们。

第二点要注意的是,由于“证书固定”,某些网站很难被 MiTM 攻击。这取决于浏览器是否预加载了证书,它不会接受“假”。对互联网上的每个网站都不是很明智——但谷歌、推特和其他一些网站都这样做了。Chrome 不支持本地 CA,以允许“企业”MITM,但防止 CA 受损。Firefox 有一个设置来确定允许的内容。

老实说 - 这些浏览器防御对于企业 MiTM 并不是很有用,因为如果您的浏览器拒绝获取伪造的证书,您无论如何都会被该站点阻止。

大多数“好”的网络过滤器(和一些坏的)允许管理员从 MiTM 中排除一些网站。例如,Smoothwall 带有默认设置,出于隐私原因排除网上银行。其他网站可能会被排除在外,因为它们不能很好地与 MiTM 配合使用。

我的建议是与您的管理员交谈。如果他们不想将 MiTM 用于银行业务,我认为这是非常不合理的(在我看来,作为网络过滤公司的前雇员)。要么他们想让你做你的银行业务,要么他们不想。它不是恶意软件可能泄漏或用户可能滥用的东西。另一方面,Facebook 和个人电子邮件是灰色地带。

最后要提的一点:为了在 HTTPS 站点上获得“阻止页面”(即使是被域阻止的页面),MiTM 是必要的,因此您可能会看到一些 MiTM,您想知道如果他们要阻止,为什么会发生这种情况无论如何页面 - 这是因为替代方案将是一个信息量较少的浏览器错误。

为了回答您的问题,

  1. 是的——这正是公司设法获得“绿色锁”的方式。

    但是,对于其他浏览器,这可能会有所不同。有些,如 Firefox,使用他们自己的信任库,而有些,如 chrome,使用其中一个操作系统。因此,证书的确切安装位置可能就是您所犯的错误。

    一般来说,是的,它就是这样工作的。

  2. 使用像ssl labs这样的网站,它可以为您提供他们收到的主机证书。

    然后检查这是否是实际相同的证书。如果是,则没有 MITM 正在进行。

    简单提示:大多数时候,证书不仅有另一个指纹,而且还有不同的其他属性,所以它可能是一个容易的地方。但也有可能,它们只是指纹不同。

这些都是很好的答案,所以我不会继续说“是的,这是可能的,并且正在全球许多组织中完成”。我想说的是,HTTPS 检查(通常)不是为了监视你,而是为了确保通过其网络的流量是合法且安全的。他们希望确保是您在午餐时间进行银行业务,而不是恶意软件泄露公司机密。

此外,您应该知道 HTTPS 检查是 CPU 密集型的,一般做法是只解密一小部分初始流量。一旦流量被认为是合法的,就不会进行进一步的解密。现在...请记住我说的是“一般做法”...因为他们绝对有可能解密您的整个会话。但是,他们也可以在您的计算机上安装键盘记录器/屏幕捕获软件,并且该选项可能更容易且便宜得多。