SSL POODLE漏洞修复

发布时间:2018-01-11 16:13:42

关于SSL POODLE漏洞

POODLE = Padding Oracle On Downgraded Legacy Encryption,是最新安全漏洞(CVE-2014-3566)的代号,俗称“贵兵犬”漏洞。 此漏洞是针对SSL3.0中CBC模式加密算法的一种padding oracle攻击,可以让攻击者获取SSL通信中的部分信息明文,如果将明文中的重要部分获取了,比如cookie,session,则信息的安全出现了隐患。

从本质上说,这是SSL设计上的缺陷,SSL先认证再加密是不安全的。

如何检测漏洞

应对措施:

禁用sslv3协议

不同的web server不尽相同。这边列举主流的服务器的禁用方式:Nginx

ssl_protocols TLSv1 TLSv1.1 TLSv1.2apache

SSLProtocol all -SSLv2 -SSLv3IIS

TomcatTomcat 5 and 6 (prior to 6.0.38)

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

clientAuth="false" sslProtocols = "TLSv1,TLSv1.1,TLSv1.2" />Tomcat 6 (6.0.38 and later) and 7

protocol="org.apache.coyote.http11.Http11Protocol"

maxThreads="150" SSLEnabled="true" scheme="https"

secure="true"

clientAuth="false" sslEnabledProtocols =

"TLSv1,TLSv1.1,TLSv1.2" />使用apr的tomcat

maxThreads="150"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" scheme="https" secure="true"

SSLEnabled="true"

SSLProtocol="TLSv1"

SSLCertificateFile="${catalina.base}/conf/localhost.crt"

SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />

其余不常见可以去对应的官方主页检索资料,对于这次的漏洞,有竞争力的组织一定会做出应对的更新。

SSL POODLE原理

0x01 细节

首先考虑这个明文HTTP请求,它分成了8字节的块,就像3DES加密,但是这个方法对16字节的AES块加密一样适用:

最后一个块里包含了7个字节的填充(padding),用·来表示,最后一个字节7是填充长度,我用了虚构的8字节MAC校验码。在传输前,这些数据都会被3DES或者AES加密。现在来回顾下CBC解密的过程,这张图来自wikipedia:

攻击者可以控制HTTP请求中的路径和主体,从而让请求的内容满足如下条件:

后面的padding填充部分填充了一整个block。

cookie的第一个字节正好在某个块的末尾的字节。

攻击者需要做的是把包含cookie第一个字节(出现在这个块的末尾,例如块中的内容是Cookie:a,a正好在8字节块的末尾)的那个块,替换padding的那个块发送给接收者(服务器)。

一般来说,服务器会拒绝这段密文,因为CBC校验失败了,攻击者需要重新发送,平均来说,每256个请求中有一个会被服务器接受,只要服务器接受了,根据CBC的解密过程,攻击者就知道了cookie的第一个字节(明文)的和上一个块最后一个字节的密文XOR后是7或者15(分别对应块长度8或16)。

作为中间人,我们可以看到任何一段密文,所以:

P XOR K = C

C XOR K = P

三个变量我们只要知道了两个就可以解密出另一个,所以Cookie第一字节XOR密文最后一个字节= 15。

我们只要把15 XOR密文最后一个字节就知道了cookie的第一个字节。

因为可以解密的窗口大小只有1字节(前面任意一个块的最后一个字节),所以需要通过js控制HTTP请求路径的长度,比如GET/, GET /A, GET /AA...把需要解密的cookie的位置逐渐顶到解密窗口中,每次解密一个字节平均需要256次请求,攻击者就可以用256*n次构造的请求来解密SSLv3中任意位置的明文。

这个漏洞的主要成因是因为SSLv3没有规定padding填充块字节的内容,只校验填充块最后一个字节,因为TLS会检查填充块的内容所以在TLS上同样的攻击方式成功率只有2^-64或者2^-128。

java+poodle漏洞修复_SSL POODLE漏洞修复相关推荐

  1. Spring Boot 多版本更新,紧急修复 RFD 安全漏洞

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | oschina.net/news/118693 ...

  2. 紧急:Spring框架被爆出存在0day级别远程命令执行漏洞。漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响。该漏洞目前无官方修复补丁

    Spring框架被爆出存在0day级别远程命令执行漏洞.漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响. 漏洞信息和漏洞影响排查方法如下: 漏洞名称 ...

  3. 常见漏洞知识库(原理/场景/修复)

    Jsonp漏洞 0x01 漏洞描述 1. 一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准. 2. 不过我 ...

  4. html 设置响应X-frame,X-Frame-Options(点击劫持)漏洞分析及web配置修复

    漏洞描述: 点击劫持(ClickJacking)是一种视觉上的欺骗手段.攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在网页上进行操作,此时用户将在不知情的情况下点击透明的ifram ...

  5. Word控件Spire.Doc更新至最新版v10.7,增强产品稳定性,修复老版本漏洞

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.致力于在于帮助开发人员轻松快捷高效地创建.编辑.转换和打印 Microsoft Word 文档,而无需安装 ...

  6. 漏洞介绍及修复建议(漏洞汇总,建议收藏后期会不断更新)

    目录 未分类 Host 头攻击(高危) 域名访问限制不严格(高危) URL 重定向(中危) 会话劫持漏洞(中危) 会话固定漏洞(中危) DNS 域传送漏洞(中危) 检测到网站被黑痕迹(高危) 传输层保 ...

  7. Log4j2远程执行代码漏洞如何攻击? 又如何修复

    Log4j2远程执行代码漏洞如何攻击? 又如何修复 12月9日晚,Apache Log4j2反序列化远程代码执行漏洞细节已被公开,Apache Log4j-2中存在JNDI注入漏洞,当程序将用户输入的 ...

  8. 全网连夜修复的Log4j漏洞,如何做到一行代码都不改?

    GitHub 21.5k Star 的Java工程师成神之路,不来了解一下吗! GitHub 21.5k Star 的Java工程师成神之路,真的不来了解一下吗! Apache Log4j2 远程代码 ...

  9. 修复iis解析漏洞_修复典型的iis 10漏洞并进行安全审核

    修复iis解析漏洞 You will generally be in good shape using IIS 10 to securely host websites, but there are ...

  10. 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复

    20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...

最新文章

  1. javascript基础语法——变量和标识符
  2. 没登录网页也能个性化推荐?一文详解浏览器指纹
  3. 怎么部署_2020怎么部署新零售商城?
  4. python中要使用导入全部的是什么符号-在python格式字符串中使用标点符号
  5. 怎么把竖列中的数相加python_关于python中pandas.DataFrame对行与列求和及添加新行与列示例代码...
  6. uni-app插入本地背景图片不能超过40kb解决方法
  7. Thread.sleep(0)的意义
  8. 独家:为了永不停机的计算服务 - 四月月刊 | 凌云时刻
  9. php如何安装pdflib,使用pdflib及PHP生成pdf文件(文件内容中有中文)的方法
  10. 关于visio安装时出现出现回滚更改以至于安装失败的解决办法
  11. 129 爬虫 requests request 爬图片
  12. 期末排名算不算计算机成绩,智学网怎么看年级排名 智学网如何查看期末考试成绩...
  13. 关于ideal统计代码量 statistic插件
  14. iOS手势-UIGestureRecognizer
  15. 微信小程序开发工具整理代码快捷键
  16. Java POI:如何读取Excel单元格值而不是计算公式
  17. 微信小程序云开发完整案例
  18. OpenMVS+Win10+VS2019+vcpkg编译及问题
  19. 果粉黑诞生记——兼谈文件夹隐喻
  20. Linux下QT平台Mysql数据库开发环境配置

热门文章

  1. HNOI 2015 亚瑟王 题解
  2. Java.math.BigDecimal.subtract()方法实例
  3. 微信开方平台微信管理员重置
  4. winform chart 网格线设置
  5. TestNG单元测试框架详解
  6. 计算机教学研修心得英语,网络研修培训心得体会(精选5篇)
  7. 笔记本电脑怎么用U盘装系统
  8. matlab rti dds,[译]*RTI_DDS测试
  9. 计算机搜不到连接打印机主机,电脑搜索不到打印机设备无法连接怎么办
  10. nginx日志格式和常用日志变量