为什么不推荐使用的 SSL 2.0 协议被认为是不安全的,如何利用它?

信息安全 tls 中间人 openssl 协议 ssls带
2021-09-03 11:33:27

我正在向全班介绍“不推荐使用 SSL 2.0 协议”,但我真的不知道如何使用此漏洞或攻击者如何使用此 vul。我了解此漏洞的影响,但我需要完整解释它的工作原理以及攻击者将采取的步骤来进行中间人攻击或解密受影响的服务和客户端之间的通信。如果可能,请在具体的解释中解释攻击者可以使用的过程。

1个回答

SSL 2.0 不是漏洞;这是一个碰巧包含结构漏洞的协议,因此不应被允许。

有一个RFC就是这么说的,并列出了 SSL 2.0 中的主要已知缺陷:

SSL version 2.0 [SSL2] deficiencies include the following:

o  Message authentication uses MD5 [MD5].  Most security-aware users
   have already moved away from any use of MD5 [RFC6151].
o  Handshake messages are not protected.  This permits a man-in-the-
   middle to trick the client into picking a weaker cipher suite than
   it would normally choose.
o  Message integrity and message encryption use the same key, which
   is a problem if the client and server negotiate a weak encryption
   algorithm.
o  Sessions can be easily terminated.  A man-in-the-middle can easily
   insert a TCP FIN to close the session, and the peer is unable to
   determine whether or not it was a legitimate end of the session.

在这四个中,只有最后一个确实是协议的结构性严重问题。的确:

  • 尽管 MD5 在冲突方面被破坏了,但它对于其他用途仍然非常强大,包括它如何在 SSL 2.0 中用于保护完整性。

  • 当攻击者欺骗客户端和服务器使用弱密码套件时,真正的问题不在于攻击者可以欺骗客户端和服务器;这是客户端和服务器实际上同意使用弱密码套件。

  • 同样,仅当客户端和服务器同意使用弱加密时,使用相同密钥进行加密和完整性的观点才有意义。由于遵守美国出口法规,这可能在过去发生,但自 2000 年以来这一切都消失了。

  • 当 SSL 用于传送消息不是自终止的协议时,缺少验证终止是一个问题。一个典型的例子是HTTP 0.9:客户端知道它已经获得了完整的文件,因为服务器关闭了连接。使用 SSL 2.0,主动攻击者可以强制提前关闭连接,而客户端无法知道这是真正的文件结尾还是恶意截断。

    有人可能会争辩说,对于现代 HTTP,这个问题不再适用。

因此,事实上,如果客户端和服务器现在(2014 年 5 月)使用 SSL 2.0,那么这很可能不是一个实际问题(或者,至少不是最大的安全问题)。SSL 2.0 被禁止的真正原因是它已经被弃用了很长时间(自 1996 年和 SSL 3.0 的发明以来),所以任何使用 SSL 2.0 都表明一些涉及的软件至少在那段时间内没有更新长 -是一个问题。SSL 2.0 是美化的金丝雀

或者,换一种说法,使用甚至允许 SSL 2.0 表明您是一个草率、过时、不时髦的系统管理员。