近日网络安全界谈论的影响安全最大的问题就是Heartbleed漏洞,该漏洞是4月7号国外黑客曝光的。据Vox网站介绍,来自Codenomicon和谷歌安全部门的研究人员,发现OpenSSL的源代码中存在一个漏洞,可以让攻击者获得服务器上64K内存中的数据内容。该漏洞在国内被译为” OpenSSL心脏出血漏洞”,因其破坏性之大和影响的范围之广,堪称网络安全里程碑事件。

OpenSSL心脏出血漏洞的大概原理是OpenSSL在2年前引入了心跳(heartbeat)机制来维持TLS链接的长期存在,心跳机制是作为TLS的扩展实现,但在代码中包括TLS(TCP)和DTLS(UDP)都没有做边界的检测,所以导致攻击者可以利用这个漏洞来获得TLS链接对端(可以是服务器,也可以是客户端)内存中的一些数据,至少可以获得16KB每次,理论上讲最大可以获取64KB。

OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议.多数SSL加密网站是用名为OpenSSL的开源软件包,由于这也是互联网应用最广泛的安全传输方法,被网银在线支付电商网站、门户网站电子邮件等重要网站广泛使用,所以漏洞影响范围广大。

密歇根大学的一个安全研究团队利用开源网络扫描工具ZMap搜索存在Heartbleed漏洞的网站。研究人员完整扫描了地址空间,截至4月10日2:00 PM,Alexa排名前百万的网站中有32%支持SSL,在支持HTTPS的网站中,9%存在漏洞,31.9%安全的支持OpenSSL TLS Heartbeat Extension, 59%不支持HeartbeatExtension(也就是安全的)也就是在漏洞爆发的时候全球前一百万的网站中,有40.9%的网站中招。全球第一个被攻击通告的案例加拿大税务局确认heartbleed导致了900个纳税人的社会保障号被盗,这900个纳税人的社保号被攻击者在系统中完全删除了。

这个漏洞对中国有多大影响?漏洞爆发当日国内一线电商几乎都存在此漏洞,淘宝修复最快,大概到4月8日下午5点左右修复漏洞,但这期间可能有不少数据被抓走。还有一些大型网站,例如雅虎的登录存在信息泄露,网易到8日晚上8点还没修复,还有一些在线交易网站泄露用户ID导致可以伪造交易信息。直到4月10晚上爱奇艺还没有修复,但目前大部分主流网站已经修复。所以OpenSSL心脏出血漏洞也堪称中国网络安全的一个灾难事件。

这个漏洞会泄露我们哪些信息?我们的网站登录名和密码、期间修改过的个人隐私信息、期间修改过的密码保护问题答案,还有信用卡信息和邮件服务器的上的邮箱地址和密码hash。很多网站都建议用户事后修改密码,其实还有一些跟密码同样重要的信息,比如你在这个过程中修改过的密保信息也会被读取,更保险的措施是我们也修改掉一些重要的密保信息和隐私信息,因为很多网站相信TLS加密信道。如果是有信用卡绑定的网站就比较麻烦,因为国内不是所有的网站都通过了PCI-DSS安全标准,PCI-DSS里有规定信用卡必须密文保存,而且不能保存CVV信息,如果是通过了PCI-DSS的网站,建议至少修改密码和个人信息。

该漏洞还有哪些后继影响?

1.新的攻击方式已出现,攻击者能利用该漏洞窃走受影响网站的用户密码和私钥,使用存在漏洞的OpenSSL版本的网站应该废除所有旧私钥和证书。
2.服务器的问题是第一波,第三方软件使用有缺陷的OpenSSL才是接下来需要考虑的问题,攻击者会利用这个漏洞获取用户原本想要保密的信息。存在客户端和服务端的软件也可能存在这个漏洞,甚至恶意利用者可能使用让客户端连接服务器端,服务器端发起针对客户端的攻击窃取客户端数据。
3.暴露在外网的服务器虽已得到及时修补,但一些公司内网的服务器却被忽略,很容易被内部恶意读取或是黑客内网渗透读取。
4.一些安全组织甚至在研究利用此漏洞做虚拟机逃逸,在虚拟机中让真实机远程执行代码,且利用思路很诡异。

我们如何有效的修补该漏洞?最简单有效的修补方案是升级到OpenSSL 1.0.1g。目前SNORT也已经出了相关规则,可以用于IDS/IPS拦截,也有很多第三方CDN流量规则拦截。但最新的利用程序是基于TLS加密信道发送的恶意请求,很轻松的绕过基于网络层的IDS和CDN流量层的规则拦截。目前安慧网盾基于软件端采用了加规则拦截并自动修复该漏洞,有效保护服务器安全。

其实在去年还有一个类似的严重安全漏洞lucky-13(CVE-2013-0169),影响了过去10年的所有TLS实现,OpenSSL的很多版本都可以完整的还原成明文,所幸该漏洞利用难度较高,利用程序也未大规模流传,openssl 也专门发布1.0.1e修复了这个漏洞。但是大部分服务器升级了,很多网关设备依然使用存在这个漏洞的版本。

OpenSSL心脏出血漏洞也引起国内安全界的很多讨论:

1.这个漏洞是OpenSSL在2年前引入了心跳(heartbeat)机制来维持TLS链接的长期存在产生。
2. 这个洞的地方其实是经过了OpenSSL社区包括Qualys在内的厂商的代码审计和fuzzing测试,但都没测出问题,当然fuzzing后不会崩溃,是不能测出。
3.有人猜测这个洞的样本很可能是来自SOC的NETFLOW审计。而谁的"SOC"是最厉害的?貌似除了BIG BROTHER没其他人了,当然这个消息NSA已经否认。

OpenSSL心脏出血漏洞全回顾的更多相关文章

  1. 对OpenSSL心脏出血漏洞的试验

    1.安装OpenSSL环境 sudo apt-get install openssl sudo pip install pyopenssl(中间会提示ffi.h 没有那个文件或目录,sudo apt- ...

  2. Heartbleed心脏出血漏洞原理分析

    Heartbleed心脏出血漏洞原理分析 2017年01月14日 18:14:25 阅读数:2718 1. 概述    OpenSSL在实现TLS和DTLS的心跳处理逻辑时,存在编码缺陷.OpenSS ...

  3. OpenSSL “心脏滴血”漏洞

    OpenSSL "心脏滴血"漏洞 漏洞描述 : OpenSSL软件存在"心脏出血"漏洞,该漏洞使攻击者能够从内存中读取多达64 KB的数据,造成信息泄露. 漏洞 ...

  4. 关于“心脏出血”漏洞(heartbleed)的理解

    前阵子“心脏出血”刚发生的时候读了下源代码,给出了自己觉得比较清楚的理解.   -------------------------穿越时空的分割线--------------------------- ...

  5. 记一次Metasploit心脏出血漏洞攻击测试

    打开msf框架 msfconsole

  6. 威胁远胜“心脏出血”?国外新爆Bash高危安全漏洞

    这几天Linux用户们可能不能愉快地玩耍了,红帽(Redhat)安全团队昨天爆出一个危险的Bash Shell漏洞.其带来的威胁可能比早前披露的“心脏出血”漏洞更大更强! [OpenSSL心脏出血漏洞 ...

  7. 升级OpenSSL修复高危漏洞Heartbleed

    升级OpenSSL修复高危漏洞Heartbleed 背景:          OpenSSL全称为Secure Socket Layer.是Netscape所研发.利用数据加密(Encryption) ...

  8. YTU 2559: “心脏出血”

    2559: "心脏出血" 时间限制: 1 Sec  内存限制: 128 MB 提交: 5  解决: 2 题目描述 2014年4月,一个开源加密库OpenSSL的严重漏洞" ...

  9. 心脏滴血漏洞复现(CVE-2014-0160)

    心脏滴血漏洞简述 2014年4月7日,OpenSSL发布安全公告,在OpenSSL1.0.1版本至OpenSSL1.0.1f Beta1版本中存在漏洞,该漏洞中文名称为心脏滴血,英文名称为HeartB ...

随机推荐

  1. delphi TFileStream.create

    Value  Meaning  fmCreate Create a file with the given name. If a file with the given name exists, op ...

  2. Keil(MDK-ARM)使用教程(三)_在线调试

    Ⅰ.概述 该文章总结Keil(MDK-ARM)在线调试相关的内容,详情请往下看. 该文章是基于新建好软件工程来讲述,关于Keil的下载.安装和新建工程我已将在前面做了详细的总结,不懂的可以参看我博客里 ...

  3. Python学习教程(learning Python)--2.2.2 Python全局和局部变量

    Python的变量也有全局和局部变量之分. 1. 局部变量 用在子函数里的变量称之为局部变量,其生命周期为该函数执行周期,即函数执行完后变量即不存在.由于局部变量和某个函数直接相关,故不同子函数里可以 ...

  4. 窗体皮肤实现 - 实现简单Toolbar(六)

    自定义皮肤很方便,基础开发的工作也是很大的.不过还好一般产品真正需要开发的并不是很多.现在比较漂亮的界面产品都会有个大大的工具条. Toolbar工具条实现皮肤的方法还是可以使用Form的处理方案.每 ...

  5. 别跟我来这套 Hot Swap 热插拔

    如果你觉得我们演的不好,可以随时打断,如果你觉得怎么演好可以随时来改,你都可以直接来演.

  6. Entity Framework 学习第二天 续

    今天来写一点不一样的删除,修改,查询 下面只写了几个方法 /// <summary> /// 根据删除条件进行删除 /// </summary> /// <param n ...

  7. 如何安装altium designer 10

    http://jingyan.baidu.com/article/4dc4084881e2bdc8d946f1f3.html

  8. skill-如何禁止浏览器的默认行为

    在默认情况下,点击链接,浏览器会向href所指的地址发送请求, 点击表单提交,浏览器会将表单中的数据进行发送 如果要禁止,可以使用如下语句:

  9. Linux C 文件与目录3 文件读写

    文件读写 文件读写是指从文件中读出信息或将信息写入到文件中.Linux文件读取可使用read函数来实现的,文件写入可使用write函数来实现.在进行文件写入的操作时,只是在文件的缓冲区中操作,可能没有 ...

  10. C++ STL find

    find 函数,复杂度O(n) 涉及一些 泛型编程 #include <iostream> #include <string.h> #include <string> ...