启用防病毒时 SSL 握手失败

信息安全 tls 杀毒软件
2021-08-28 19:34:27

当防病毒 (Kaspersky) 介于两者之间时,这是与 SSL 握手失败相关的问题。

从 WireShark,我可以注意到 SSL 握手成功(即向最终客户端发送“客户端密钥交换,更改密码规范,加密握手消息”和服务器响应“更改密码规范,加密握手消息”。在此之后客户端发起 FIN 并关闭连接。

但是当我的杀毒软件关闭或者我禁用卡巴斯基的“扫描加密连接”设置时,我可以看到客户端 SSL 连接都成功并且客户端能够发送数据。

如果有人能解释这种行为以及如何在不更改客户的防病毒设置的情况下绕过它,我将不胜感激。

2个回答

检查“扫描加密连接”选项

卡巴斯基似乎做了 SSL 拦截(中间人)。

如果有人能解释这种行为,我将不胜感激

一些客户端可能会使用证书固定。并且那些不能通过使用不同的证书轻易地成为中间人。尝试关闭 SSL 拦截。

(请告诉我这些是什么客户!我很好奇。)

证书固定

检测和阻止多种 MITM 攻击的一种方法是“证书锁定”,有时称为“SSL 锁定”,但更准确地说称为“公钥锁定”。 [229] 执行密钥固定的客户端在正常的 X.509 证书验证之外增加了一个额外的步骤:在以标准方式获得服务器的证书后,客户端检查服务器证书链中的公钥与一组 (hash of ) 服务器名称的公钥。通常,公钥哈希与应用程序捆绑在一起。

澄清一下,这不是攻击。Kasperky 执行的中间人用于扫描 HTTP 流量以查找恶意 Web 数据。这就是他们所说的Scan Encrypted Connections

如何在不更改客户的防病毒设置的情况下绕过此问题

我不知道这是否可能。取决于客户端软件。例如,谷歌浏览器不会对本地添加的 CA 强制执行 pin。在此处存档。)这明确意味着允许 SSL/TLS 拦截。其他一些客户端软件可能就不那么宽松了。

进一步阅读

这是大多数防病毒供应商“安全浏览”保护的效果,它拦截所有 HTTPS 流量(从技术上讲,它应该是 TLS 拦截)。它们充当“受信任的”提供者(在 HTTPS 的情况下)并充当代理拦截所有浏览器请求 - HTTP 和 HTTPS,检查访问的网站是否提供任何恶意内容。

我会质疑这种行为的安全优点,并且过去曾禁用“安全浏览”类型的防病毒屏蔽组件或模块。

这是一篇有趣(且内容丰富)的文章,介绍了这种 HTTPS 拦截行为如何危及您的安全性。

其它你可能感兴趣的问题