【问题标题】:Simple Explanation of Poodle Vulnerability?贵宾犬漏洞的简单解释?
【发布时间】:2016-12-20 20:25:33
【问题描述】:

由于我的工作,我在 POODLE 漏洞公布后的几分钟内就发现了它。我们当然在所有相关的地方都禁用了 SSL 3.0。但是,我仍然不太了解该漏洞是如何工作的。

我在这里阅读了谷歌研究人员发表的文章:https://www.openssl.org/~bodo/ssl-poodle.pdf,但并不真正理解所说的“填充”。我相信会有其他人有类似的问题。谁能提供一个简单明了的解释,说明攻击者如何利用 POODLE 漏洞,以及如何破解加密?

【问题讨论】:

  • 这个问题似乎离题了,因为它与编程无关。 security.stackexchange.com 是一个更好的提问地点。
  • 请原谅我的菜鸟,你是对的。有没有办法将这个问题迁移到那里?
  • 我投票决定将此问题作为离题结束,因为它与编程无关。这将是Information Security 的主题,并且在那里提出了一个更广泛的问题:SSL3 “POODLE” Vulnerability(以及many other questions on POODLE
  • @Gilles,如果有帮助,我很乐意将其删除。我最初没有这样做,因为有人发布了答案。我对任何最能改善 SO 的行动方案感到满意。 :)

标签: security ssl


【解决方案1】:

请原谅我的英语。 根据我的理解如下:

在降级的传统加密上填充 Oracle

含义 - 计算加密请求的 HttpRequestHeaders。最令人感兴趣的是秘密 cookie 或基本身份验证。

必要 - 中间人攻击(有机会假装为客户端的服务器,而客户端 - 为服务器)。

易受攻击 - 超级机密网站试图通过使用 https 隐藏真实性和用户偏好来应对中间人攻击,但允许在 CBC 模式下使用 SSLv3.0。

机制-

1) 攻击者在通常的页面中注入 Javascript,向服务器(通过攻击者)发送秘密请求并通过响应获取命令。

2) 在第一次请求时,攻击者等待浏览器降级到 CBC 模式下的 SSLv3.0。

3) 加长路径和正文请求,攻击者试图获取头部字节来攻击是最后一个要加密的块,并且没有填充的请求长度除以加密块的长度(L ) 均匀。 (在这种情况下,最后要加密的文本块将包含碎片和这个集合长度的最后一个字节,即L-1)

4) 将加密内容的最后一个块替换为加密请求块,该块有字节可攻击,并向服务器发送请求。

5)如果对服务器的请求被接受,攻击者可以计算被攻击字节的值,否则他必须重试,从客户端的请求开始(获取临时加密密钥被更改并重新加密)继续。)

数学-

P 和 C - 明文和密文,分别作为块数组,每个块都是字节数组,Dk - 解密函数。 i - 包含被攻击字节的块的编号,n - 最后一个块的编号。

P [i] [L-1] === Dk (C [i]) [L-1] ^ C [i-1] [L-1]

L-1 === P [n] [L-1] === Dk (C [n] === C [i]) [L-1] ^ C [n-1] [L- 1]

结合,我们得到

P [i] [L-1] = C [i-1] [L-1] ^ C [n-1] [L-1] ^ L-1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2014-12-24
    • 2014-12-27
    • 2014-12-28
    • 1970-01-01
    • 2014-12-10
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多