问题 248
安全管理员 Samuel 正在评估一台网络服务器的配置。他注意到,该服务器允许 SSlv2 连接,而相同的私钥证书被用在另一个允许 SSLv2 连接的服务器上。由于 SSLv2 服务器可能泄露密钥信息,因此这个漏洞使网络服务器容易受到攻击。
利用上述漏洞可以实施以下哪种攻击?
DROWN 是一个影响 HTTPS 和其他服务的严重漏洞,这些服务被视为 SSL 和 TLS,是网络安全的一些基本加密协议。这些协议允许网络上的每个人浏览网络、使用电子邮件、在线查看和发送即时消息,而第三方却无法浏览通信内容。
DROWN 允许攻击者破解加密并读取或窃取敏感通信以及密码、信用卡号、商业机密或财务数据。在 2016 年 3 月公开披露时,我们的测量结果表明,有三分之一的 HTTPS 服务器易受攻击。幸运的是,该漏洞目前的流行程度要低得多。截至 2019 年,SSL Labs 估计有 1.2% 的 HTTPS 服务器存在漏洞。
攻击者会得到什么?
用户与服务器之间的任何通信。这通常包括(但不限于)用户名和密码、信用卡号、电子邮件、即时信息和敏感文档。在某些常见情况下,攻击者还可以假冒安全网站,拦截或更改用户看到的内容。
谁是弱势群体?
网站、邮件服务器和其他依赖 TLS 的服务面临 DROWN 攻击的危险。在公开披露时,许多热门网站都受到了影响。我们使用全网扫描来实时了解有多少网站存在漏洞:
易受攻击服务器的操作员必须采取行动。浏览器或终端用户无法自行采取任何切实可行的措施来防范这种攻击。
我的网站易受攻击吗?
现代服务器和购物者使用 TLS 加密协议。然而,由于配置错误,一些服务器还仍然支持 SSLv2,这是 20 世纪 90 年代的 TLS 前身。这种支持在实践中并不重要,因为没有最新的客户端真正使用 SSLv2。因此,尽管 SSLv2 被认为非常不安全,但直到现在,只要支持 SSLv2 就不会有安全问题,因为客户从未使用过它。
DROWN 表明,仅仅支持 SSLv2 可能会对最新的服务器和客户端造成威胁。通过向支持 SSLv2 并使用相同私钥的服务器发送探测器,现代准攻击者可以在最新的客户端和服务器之间建立现代的 TLS 连接。
在下列情况下,服务器容易受到 DROWN 的攻击
它允许 SSLv2 连接。由于配置错误和默认设置不当,这种情况非常普遍。
其私钥可用于任何其他允许 SSLv2 连接的服务器,甚至用于其他协议。例如,许多公司在网络和电子邮件服务器上重复使用相同的证书和密钥。在这种情况下,如果电子邮件服务器支持 SSLv2 而网络服务器不支持,攻击者就可以利用电子邮件服务器来破坏与网络服务器的 TLS 连接。
如何保护我的服务器?
为防止 DROWN,服务器操作员需要确保其私钥软件在任何地方使用,并在服务器计算机代码中启用 SSLv2 连接。这包括网络服务器、SMTP 服务器、IMAP 和 POP 服务器以及其他支持 SSL/TLS 的软件。
禁用 SSLv2 非常困难,而且取决于特定的服务器软件:
OpenSSL:OpenSSL 可能是若干服务器商品中使用的科学库。对于 OpenSSL 用户来说,最简单也是最推荐的解决方案是升级到最新的 OpenSSL 版本。OpenSSL 1.0.2 用户应升级到 1.0.2g。OpenSSL 1.0.1 用户应升级到 1.0.1s。旧版本的 OpenSSL 用户应升级到上述任一版本。(世界协调时 3 月 13 日 16:00 更新)Microsoft IIS(Windows 服务器):服务器方面对 SSLv2 的支持仅在与 IIS 7.0 和 IIS 7.5 相对应的操作系统版本中默认启用,特别是 Windows 场景、Windows Server 2008、Windows 7 和 Windows Server 2008R2。如 KB245030 所述,该支持在 "服务器 "的相应 SSLv2 子键中被禁用。尽管用户尚未采取措施禁用 SSLv2,但默认情况下似乎并不支持构建 DROWN 的出口级和 56 位密码。
网络安全服务(NSS):NSS 可能是一个通用的科学库,设计用于多个服务器产品中。NSS 3.13(2012 年发布)及以上版本默认情况下应禁用 SSLv2。(少数用户可能手动启用了 SSLv2,因此需要采取措施将其禁用)。旧版本的用户应该升级到更先进的版本。我们仍然建议检查您的非公开秘密是否暴露在其他受影响的软件和操作系统中:
说明和数据适用于Apache、Postfix、Nginx、Debian、Red Hat
浏览器和其他消费者:实际上,网络浏览器或其他客户端计算机代码无法阻止 DROWN。