HTTPS 的潜在攻击以及如何防御

一半的网站 使用 HTTPS,并且其数量正在稳步增加。 该协议降低了流量拦截的风险,但并没有消除此类攻击企图。 我们将讨论其中的一些 - 贵宾犬、野兽、溺水等 - 以及我们材料中的保护方法。

HTTPS 的潜在攻击以及如何防御
/flickr/ 斯文·格雷姆 / CC BY-SA

狮子狗

第一次关于袭击事件 狮子狗 2014年成名。 SSL 3.0 协议中的一个漏洞是由信息安全专家 Bodo Möller 和 Google 的同事发现的。

其本质是:黑客强制客户端通过SSL 3.0连接,模拟连接中断。 然后它在加密后搜索 加拿大广播公司- 流量模式特殊标签消息。 使用一系列伪造的请求,攻击者能够重建感兴趣的数据内容,例如 cookie。

SSL 3.0 是一个过时的协议。 但他的安全问题仍然重要。 客户端使用它来避免与服务器的兼容性问题。 据一些数据显示,7 万个最受欢迎的网站中近 100% 仍然支持SSL 3.0... 还 那里 针对更现代的 TLS 1.0 和 TLS 1.1 对 POODLE 进行的修改。 今年 出现 新的 Zombie POODLE 和 GOLDENDOODLE 攻击绕过 TLS 1.2 保护(它们仍然与 CBC 加密相关)。

如何保护自己。 对于原始 POODLE,您需要禁用 SSL 3.0 支持。 但是,在这种情况下存在兼容性问题的风险。 另一种解决方案可能是 TLS_FALLBACK_SCSV 机制 - 它确保通过 SSL 3.0 的数据交换只能在旧系统上进行。 攻击者将无法再发起协议降级。 防范 Zombie POODLE 和 GOLDENDOODLE 的一种方法是在基于 TLS 1.2 的应用程序中禁用 CBC 支持。 根本性的解决方案将是过渡到 TLS 1.3 - 新版本的协议不使用 CBC 加密。 相反,使用更耐用的 AES 和 ChaCha20。

1.0 年发现的首批针对 SSL 和 TLS 2011 的攻击之一。 像贵宾犬、野兽 使用 CBC加密的特点攻击者在客户端计算机上安装 JavaScript 代理或 Java 小程序,在通过 TLS 或 SSL 传输数据时替换消息。 由于攻击者知道“虚拟”数据包的内容,因此他们可以使用它们来解密初始化向量并向服务器读取其他消息,例如身份验证 cookie。

截至目前,BEAST 漏洞依然存在 许多网络工具都容易受到影响:用于保护本地 Internet 网关的代理服务器和应用程序。

如何保护自己。 攻击者需要定期发送请求来解密数据。 在VMware中 建议 将 SSLSessionCacheTimeout 的持续时间从 30 分钟(默认建议)减少到 2020 秒。 这种方法将使攻击者更难实施他们的计划,尽管它会对性能产生一些负面影响。 此外,您需要了解 BEAST 漏洞可能很快就会成为过去式 - 自 XNUMX 年以来,最大的浏览器 停止 支持 TLS 1.0 和 1.1。 无论如何,只有不到 1,5% 的浏览器用户使用这些协议。

这是一种跨协议攻击,利用 2 位 RSA 密钥实施 SSLv40 时的错误。 攻击者监听目标的数百个 TLS 连接,并使用相同的私钥将特殊数据包发送到 SSLv2 服务器。 使用 布莱辛巴赫攻击,黑客可以解密大约一千个客户端 TLS 会话中的一个。

DROWN 于 2016 年首次为人所知 - 后来事实证明 三分之一的服务器受到影响 在世界上。 今天,它并没有失去其相关性。 在 150 万个最受欢迎的网站中,2% 仍然是 支持 SSLv2 和易受攻击的加密机制。

如何保护自己。 有必要安装加密库开发人员提出的禁用 SSLv2 支持的补丁。 例如,针对 OpenSSL 提供了两个此类补丁(2016 年) 这些是更新 1.0.1 秒和 1.0.2 克)。 此外,禁用易受攻击协议的更新和说明已发布于 红帽, 阿帕奇, Debian.

“如果资源的密钥被具有 SSLv2 的第三方服务器(例如邮件服务器)使用,则该资源可能容易​​受到 DROWN 的影响,”开发部门负责人指出 IaaS 提供商 1cloud.ru 谢尔盖·贝尔金。 — 如果多个服务器使用通用 SSL 证书,则会出现这种情况。 在这种情况下,您需要在所有计算机上禁用 SSLv2 支持。”

您可以使用特殊的方法检查您的系统是否需要更新 公用事业 — 它是由发现 DROWN 的信息安全专家开发的。 您可以在以下位置阅读有关防范此类攻击的更多建议: 在 OpenSSL 网站上发布.

心脏出血漏洞

软件中最大的漏洞之一是 心脏出血漏洞。 它于 2014 年在 OpenSSL 库中被发现。 在错误公告时,易受攻击的网站数量 估计有五十万 - 这大约占网络上受保护资源的 17%。

该攻击是通过小型 Heartbeat TLS 扩展模块实现的。 TLS 协议要求数据连续传输。 如果长时间停机,就会发生中断,必须重新建立连接。 为了解决这个问题,服务器和客户端人为地“干扰”通道(RFC 6520,第 5 页),传输随机长度的数据包。 如果它大于整个数据包,则 OpenSSL 的易受攻击版本会读取超出分配缓冲区的内存。 该区域可以包含任何数据,包括私有加密密钥和有关其他连接的信息。

该漏洞存在于 1.0.1 和 1.0.1f 之间的所有版本的库中,以及许多操作系统中 - Ubuntu 12.04.4 之前的版本、CentOS 6.5 之前的版本、OpenBSD 5.3 等。 有一个完整的清单 在专门针对 Heartbleed 的网站上。 尽管针对此漏洞的补丁几乎在发现后立即发布,但该问题至今仍然存在。 回到2017年 近 200 万个网站运行,容易受到心脏出血的影响。

如何保护自己。 必要 更新 OpenSSL 最高版本 1.0.1g 或更高版本。 您还可以使用 DOPENSSL_NO_HEARTBEATS 选项手动禁用 Heartbeat 请求。 更新后,信息安全专家 建议 重新颁发 SSL 证书。 如果加密密钥上的数据最终落入黑客手中,则需要进行更换。

证书替代

在用户和服务器之间安装具有合法SSL证书的受管节点,主动拦截流量。 该节点通过提供有效证书来冒充合法服务器,并且可以执行 MITM 攻击。

根据 研究 来自 Mozilla、Google 和多所大学的团队发现,网络上大约 11% 的安全连接被窃听。 这是在用户计算机上安装可疑根证书的结果。

如何保护自己。 使用可靠的服务 SSL 提供商。 您可以使用该服务检查证书的“质量” 证书透明度 (CT)。 云提供商还可以帮助检测窃听;一些大公司已经提供了用于监控 TLS 连接的专用工具。

另一种保护方法将是一种新的 标准 ACME,自动接收 SSL 证书。 同时,它将添加额外的机制来验证网站的所有者。 更多相关信息 我们在之前的一份材料中写道.

HTTPS 的潜在攻击以及如何防御
/flickr/ 尤里·萨莫洛夫(Yuri Samoilov) /抄送

HTTPS 的前景

尽管存在许多漏洞,IT巨头和信息安全专家对该协议的未来充满信心。 用于主动实施 HTTPS 行为 WWW 创始人蒂姆·伯纳斯·李。 他表示,随着时间的推移,TLS 将变得更加安全,这将显着提高连接的安全性。 伯纳斯-李甚至建议 将来会出现 用于身份认证的客户端证书。 它们将有助于改善服务器免受攻击者的攻击。

还计划利用机器学习开发 SSL/TLS 技术——智能算法将负责过滤恶意流量。 通过 HTTPS 连接,管理员无法找出加密消息的内容,包括检测来自恶意软件的请求。 如今,神经网络已经能够以 90% 的准确率过滤潜在危险的数据包。 (演示幻灯片 23).

发现

大多数针对 HTTPS 的攻击与协议本身的问题无关,而是与支持过时的加密机制有关。 IT行业开始逐渐放弃上一代协议并提供新的漏洞搜索工具。 未来,这些工具将变得越来越智能化。

有关该主题的其他链接:

来源: habr.com

添加评论