livers · 2014/06/06 16:31

0x00 概述


心脏出血(CVE-2014-0160)后,Openssl 拿出专项资金进行了代码审计,于6月5号晚发布了所发现的漏洞公告。

www.openssl.org/news/secadv…

总结如图:

两个高危漏洞 2014-0224中间人攻击(截获明文) 和2014-0195(DTLS 特定包代码执行) 3个拒绝服务 1个缓存区注入 1个特殊漏洞

0x01 详情


1. CVE-2014-0224 ChangeCipherSpec 注入

漏洞作者:KIKUCHI Masashi

漏洞原理

按照TLS的协议 在固定的时间顺序内服务端发送和接收ChangeCipherSpec(更改密钥规格)数据,但是实际上openssl的实现:

服务端在发送时是按照时间线的顺序发送,接收时却没有检查顺序,导致攻击者可以构造伪造的ChangeCipherSpec(比如使用空的主密钥),导致可以中间人攻击解密两端加密信息。

更多详情:ccsinjection.lepidum.co.jp/blog/2014-0…

Poc

gist.github.com/rcvalle/71f… gist.github.com/rcvalle/585…

影响版本:

客户端所有版本都存在。服务端已知的受影响版本OpenSSL 1.0.1 和1.0.2-beta1.

漏洞产生必须客户端和服务端都使用了受影响版本的openssl。

2. CVE-2014-0195 DTLS碎包代码执行

漏洞作者:Jüri Aedla(Pwn2Own的火狐溢出执行获胜者)

漏洞原理:

为了避免被IP分片,在DTLS存在一个数据包处理机制:

对所有大的UDP包进行分割,每个分割后的DTLS片段有三个标志字段:

总消息长度
帧偏移量
帧大小长度
复制代码

每个DTLS分包后的总消息长度是固定不变的。

OPENSSL把每个收到的DTLS包判断(帧大小长度<总的长度)就会把这段长度的数据复制到缓冲区。

Openssl出错的地方就是:他认为所有DTLS包的总消息长度都是固定不变的。并没有检查总消息长度是否一致

所有攻击者可构造第一个包:

总长度 10
分包长度 2
复制代码

第二个包

总长度 1000
分包长度900
复制代码

由于长度字段占用3个字节,理论上可以写入(2^8)^3数据,再利用上下文执行命令。

OPENSSL在后面做了一些长度的代码检查但是前面已经执行。

More: h30499.www3.hp.com/t5/HP-Secur…

受影响范围:

只有使用到DTLS的应用才会受影响。
包括但不限于:
VPN(openVPN)
VoIP
WebRTC  按照我之前对某些应用的研究很多app使用了这个。包括某 用户量最大的app 视频通信基于这个做的。
SSL的LDAP
SNMPv3
基于SSL的视频 音频
复制代码

(你们只用zmap扫端口是不是太局限了)

3. DOS

CVE-2014-0221&&CVE-2014-0198&&CVE-2010-5298

CVE-2014-0221

原理

发送无效的DTLS握手包到DTLS客户端,可令客户端进入死循环导致拒绝服务。
复制代码

影响

只对使用了DTLS的客户端有影响。
复制代码

CVE-2014-0198&&CVE-2010-5298

原理

ssl3_read_bytes功能在竞争条件下可以让攻击者在会话中注入数据或导致拒绝服务。
复制代码

影响

只有在SSL_MODE_RELEASE_BUFFERS打开的时候受影响(默认关闭)
但是有些服务商为了节省内存会打开此选项。(比如Nginx,apache2.4.1,openvpn)
对DTLS/SSL2无影响。
复制代码

CVE-2014-3470

匿名ECDH套件拒绝服务

OpenSSL TLS客户端启用了匿名ECDH密码套件会受到拒绝服务攻击。

0x02 修复


1. 升级到Openssl最新版

Openssl 0.9.8 za

https://www.openssl.org/source/openssl-0.9.8za.tar.gz

Openssl 1.0.0m

https://www.openssl.org/source/openssl-1.0.0m.tar.gz

Openssl 1.0.1h

https://www.openssl.org/source/openssl-1.0.1h.tar.gz

2. 升级完后 记得重启是配置生效。

受影响的客户端及时进行补丁更新。:)

Openssl多个安全补丁简易分析危害及修复方案相关推荐

  1. Android 热修复方案Tinker(五) SO补丁加载

    基于Tinker V1.7.5 Android 热修复方案Tinker(一) Application改造 Android 热修复方案Tinker(二) 补丁加载流程 Android 热修复方案Tink ...

  2. OpenSSL v0.9.8a随机数发生器分析(合集)

    OpenSSL随机数发生器 本文档对OpenSSL使用的随机数进行研究分析,主要涉及OpenSSL v0.9.8a的随机数发生器以及其在Windows系统下的熵源采集情况. 目录 1. 概况... 1 ...

  3. iis+php解析漏洞修复,服务器解析漏洞分析和漏洞修复方法

    摘要:服务器​解析漏洞主要是一些特殊文件被Apache.IIS.Nginx等服务器的Web容器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞.服务器解析漏洞算是历史比较悠久了,但如今依然广泛存在 ...

  4. 网络舆情怎么分析研判的方案

    面对互联网上易发高发的舆情突发事件,处理不及时,就会形成社会舆论热点.问题是网络信息又是7*24小时无休止的传播扩散,若无法做到及时监测,尽早分析研判舆情,就谈不上及时主动处理.因此,做好网上舆情监测 ...

  5. Android热更新五:四大热修复方案对比分析

    很早之前就想深入的研究和学习一下热修复,由于时间的原因一直拖着,现在才执笔弄起来. Android而更新系列: Android热更新一:JAVA的类加载机制 Android热更新二:理解Java反射 ...

  6. Web安全常见漏洞原理、危害及其修复建议

    web安全常见漏洞原理.危害及其修复建议 一. SQL注入漏洞 原理 危害 修复建议 二.XSS漏洞 原理 危害 修复建议 三. CSRF漏洞 原理 危害 修复建议 四. SSRF漏洞 原理 危害 预 ...

  7. 三端口dcdc变换器方案,原理图及题目分析。 有整体方案。有MATLAB仿真验证

    三端口dcdc变换器方案,原理图及题目分析. 有整体方案.有MATLAB仿真验证id=658994828429&

  8. 基于PaddleNLP完成 千言情感分析————0.8014分方案

    千言|情感分析----0.7839分方案 比赛介绍: 情感分析旨在自动识别和提取文本中的倾向.立场.评价.观点等主观信息.它包含各式各样的任务,比如句子级情感分类.评价对象级情感分类.观点抽取.情绪分 ...

  9. 服务器内部移动文件速度慢,网站打开速度慢的原因分析已经解决排查方案(实用大全)...

    72018/7 网站打开速度慢的原因分析已经解决排查方案(实用大全) 飞鸟哥上百个案例,3天整理,实证案例,全面,实用! 假如你是网站提供者,或者网站运营者看下文本给你专业全面的经验. 飞鸟哥,根据1 ...

  10. linux加密模块,Linux加解密支持模块代码详细分析之演示验证方案1实验代码及结果...

    原标题:Linux加解密支持模块代码详细分析之演示验证方案1实验代码及结果 3.1.5.实验代码 #include #include #include #include #include #inclu ...

最新文章

  1. Eclipse 创建 Java 项目概述
  2. Android NDK 简单介绍、工具安装、环境配置
  3. Winform中使用printDocument控件打印pictureBox中的二维码照片
  4. 条款25 :尽可能延后变量定义式的出现时间
  5. 微服务最佳实践 【已翻译100%】
  6. Python pip windows安装
  7. 【HDU5726】GCD(区间GCD查询+统计区间gcd为k的区间个数----线段树/st表+思维)
  8. python怎么开服务器,实战讲解:如何用Python搭建一个服务器
  9. 速率法和终点法的区别_终点法 速率法 二点法
  10. linux ftp命令大全,linux 操作 ftp 常用命令
  11. 姐养狗2号前来面基!祝大家新年快乐!
  12. 培根芦笋卷+蚝油家常豆腐+春笋甜椒拌饭
  13. 依赖注入与pimple
  14. vue weex 打电话
  15. 小程序支持HTML标签
  16. vivo Z1i的usb调试模式在哪里,打开vivo Z1iusb调试模式的流程
  17. Twincat 3 初识
  18. 一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米,第十次反弹多高
  19. java使用POI导出word数据以及生成word表格
  20. Hybrid APP混合模式应用开发的经验和总结

热门文章

  1. oracle 11g PL/SQL Programming学习三
  2. 基于拥挤距离与变异支配的多目标PSO算法
  3. 基于麻雀算法优化的核极限学习机(KELM)回归预测 -附代码
  4. OBS( Open Broadcaster Software )录制视频黑屏问题录制方法
  5. matlab经验正交分解函数EOF的实现—基于Climate Data Toolbox操作
  6. 聊一个不常见的面试题:为什么数据库连接池不采用 IO 多路复用
  7. 干货!一份超详细的Spring Boot知识清单
  8. 为什么我一直强调大家要两条腿走路?
  9. 如何提高python代码运行速度_一行代码让你的python运行速度提高100倍
  10. 广义平稳随机过程定义_广义平稳随机过程介绍.ppt