近日网络安全界谈论的影响安全最大的问题就是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. 清理sql2000查询分析器登录名记录

    注册表 HKEY_CURRENT_USER/Software/Microsoft/Microsoft  SQL  Server/80/Tools/Client/PrefServers

  2. C#读取和写入配置文件

    使用.Net2.0中的ConfigurationManager可以方便的实现对配置app.config的读取和写入. ConfigurationManager默认没有自动载入项目,使用前必须手动添加, ...

  3. [转]SQLServer 2008以上误操作数据库恢复方法——日志尾部备份

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...

  4. IE8中JSON.stringify方法对自动转换unicode字符的解决方案

    IE8内置了JSON对象,用以处理JSON数据.与标准方法的不同,IE8的JSON.stringify会把utf-8字符转码: var str = "我是程序员" var json ...

  5. asp.net实现手机号码归属地查询

    protected void Button1_Click(object sender, EventArgs e)        {            if (Regex.IsMatch(TextB ...

  6. .net 面试问题 汇总

    用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答: 从下至上分别为:数据访问层.业务逻辑层(又或成为领域层).表示层 数据访问层:有时候也称为是持久层,其 ...

  7. 图片模糊度判断程序(C++、opencv)

    //#include<opencv2\opencv.hpp> //using namespace cv; #include <opencv2/core/core.hpp> #i ...

  8. iOS学习之UIView

    一.UI编程概述      1.UI的本意是用户界面,是英文User和Interface的缩写.      2.UI设计则是指对软件的人机交互.操作逻辑.界面美观的整体设计.      3.软件设计可 ...

  9. iOS学习之C语言内存管理

         一.存储区划分      按照地址从高到低的顺序:栈区,堆区,静态区,常量区,代码区    1.栈区:局部变量的存储区域     局部变量基本都在函数.循环.分支中定义     栈区的内存空 ...

  10. 不靠谱的Paypal及海外网站

    昨天因为报名参加某个比赛,需要用到Paypal付款,整整折腾了我一个小时.我先是使用自己的银行储蓄卡,到最后一步需要银行确认,提示我需要安装个插件才能输入密码.安装完插件后需要重启浏览器,整个流程又要 ...