当前位置首页 > 百科> 正文

Heartbleed

2019-07-13 00:16:13 百科
Heartbleed

Heartbleed

心脏出血(英语:Heartbleed),也简称为心血漏洞,是一个出现在加密程式库OpenSSL的安全漏洞,该程式库广泛用于实现网际网路的传输层安全(TLS)协定。它于2012年被引入了软体中,2014年4月首次向公众披露。只要使用的是存在缺陷的OpenSSL实例,无论是伺服器还是客户端,都可能因此而受到攻击。此问题的原因是在实现TLS的心跳扩展时没有对输入进行适当验证(缺少边界检查),因此漏洞的名称来源于“心跳”(heartbeat)。该程式错误属于缓冲区过读,即可以读取的数据比应该允许读取的还多。

基本介绍

  • 中文名:心脏出血
  • 外文名:Heartbleed
  • 类型:OpenSSL安全漏洞
  • 来自:OpenSSL
  • 又名:heartbleed bug

漏洞描述

Heartbleed漏洞,这项严重缺陷(CVE-2014-0160)的产生是由于未能在memcpy()调用受害用户输入内容作为长度参数之前正确进行边界检查。攻击者可以追蹤OpenSSL所分配的64KB快取、将超出必要範围的位元组信息複製到快取当中再返回快取内容,这样一来受害者的记忆体内容就会以每次64KB的速度进行泄露。

发现历程

Heartbleed漏洞是由安全公司Codenomicon和谷歌安全工程师发现的,并提交给相关管理机构,随后官方很快发布了漏洞的修複方案。2014年4月7号,程式设计师Sean Cassidy则在自己的部落格上详细描述了这个漏洞的机制。

技术原理

获取密码

2014年4月9日,Heartbleed(意为“心脏出血”)的重大安全漏洞被曝光,一位安全行业人士在知乎上透露,他在某着名电商网站上用这个漏洞尝试读取数据,在读取200次后,获得了40多个用户名、7个密码,用这些密码,他成功地登录了该网站。

入侵技术

SSL(安全套接层)协定是使用最为普遍网站加密技术,而OpenSSL则是开源的 SSL 套件,为全球成千上万的web伺服器所使用。Web伺服器正是通过它来将密钥传送给访客然后在双方的连线之间对信息进行加密。使用 https协定的连线採用了SSL加密技术。线上购物、网银等活动均採用SSL技术来防止窃密及避免中间人攻击。
Heartbleed漏洞之所以得名,是因为用于安全传输层协定(TLS)及数据包传输层安全协定(DTLS)的 Heartbeat扩展存在漏洞。Heartbeat扩展为TLS/DTLS提供了一种新的简便的连线保持方式,但由于OpenSSL 1.0.2-beta与OpenSSL 1.0.1在处理TLS heartbeat扩展时的边界错误,攻击者可以利用漏洞披露连线的客户端或伺服器的存储器内容,导致攻击者不仅可以读取其中机密的加密数据,还能盗走用于加密的密钥。

检测工具

史上最严重的信息安全漏洞OpenSSL的Heartbleed漏洞,攻击全球三分之二的网站,如何自保。
所幸网路上出现多种Heartbleed漏洞检测服务,可以让民众检查正在此用的网路服务是否安全,若是不安全的网站,就避免使用任何与帐号、密码有关的交易功能。
网路服务提供者也应该利用这些工具,即刻检查自己维护的伺服器,避免因Heartbleed漏洞而受到攻击,导致用户资料被窃。
Heartbleed test
义大利信息安全专家Filippo Valsorda (@FiloSottile)率先开发出来的Heartbleed检测工具,以模拟OpenSSL Heartbleed漏洞的入侵方法,开发出来的检测工具。只要输入网站的网址,便可以测试网站是否受Heartbleed漏洞影响。例如输入妈妈经网站,就发现妈妈经失血了。
ossible.lv Heartbleed test
由信息安全公司Possible.lv开发的Heartbleed检测工具,只要输入网址就可以测试网站是否受Heartbleed漏洞影响。
LastPass Heartbleed Checker
由密码管理工具厂商LastPass开发的检测工具,只要输入网址便可以测试网站是否受Heartbleed漏洞影响。
Qualys SSL Labs Server Test
由Qualys SSL LABS提供的SSL测试,不仅可以测试伺服器是否受Heartbleed漏洞影响,还可以为伺服器的加密安全性评级等。
Chrombleed
Heartbleed来袭,但上网不用怕。Chromebleed是Google Chrome浏览器的扩展工具,安装之后,每一次浏览网页时,便会主动弹出网页是否受Heartbleed漏洞影响的通知。

影响危害

漏洞影响

通过读取网路伺服器记忆体,攻击者可以访问敏感数据,从而危及伺服器及用户的安全。敏感的安全数据,如伺服器的专用主密钥,可使攻击者在伺服器和客户端未使用完全正向保密时,通过被动中间人攻击解密当前的或已存储的传输数据,或在通信方使用完全正向保密的情况下,发动主动中间人攻击。攻击者无法控制伺服器返回的数据,因为伺服器会回响随机的记忆体块。
漏洞还可能暴露其他用户的敏感请求和回响,包括用户任何形式的POST请求数据,会话cookie和密码,这能使攻击者可以劫持其他用户的服务身份。在其披露时,约有17%或五十万通过认证机构认证的网际网路安全网路伺服器被认为容易受到攻击。电子前哨基金会,Ars Technica,和布鲁斯·施奈尔都认为心脏出血漏洞是“灾难性的”。
漏洞让特定版本的openSSL成为无需钥匙即可开启的“废锁”,入侵者每次可以翻检户主的64K信息,只要有足够的耐心和时间,就可以翻检足够多的数据,拼凑出户主的银行密码、私信等敏感数据。对此安全专家提醒,网友在网站完成修复升级后,仍需及时修改原来的密码。
在公告发布之日,Tor项目在其部落格发布公告,并表示任何在网际网路上寻求“强健的匿名或隐私”的人应该“在事情解决之前,接下来的几天里完全远离网际网路“。他们还建议,Tor中继运行者和隐蔽服务运行者在修补OpenSSL后,应撤销及生成新密钥,但也指出,Tor中继使用两套密钥和多跳设计最大限度地减少了窃取单一中继的影响。
加拿大税务局(CRA)因心脏出血安全漏洞,关闭了电子服务网站。
平台维护者,如维基媒体基金会,建议他们的用户更改密码。
GitHub上的一个统计数据分析了2014年4月8日前1000个访问量最大的网站,发现受影响的网站包括Yahoo、Imgur、Stack Overflow、Slate和DuckDuckGo。安全的网站包括Google、Facebook、Wikipedia、Twitter及Amazon。
受影响的OpenSSL版本:
最后更新于2014年4月9日,据Heartbleed和OpenSSL网站上的信息。
受影响:
  • OpenSSL 1.0.2-beta
  • OpenSSL 1.0.1 - OpenSSL 1.0.1f
除非针对CVE-2014-0160的作业系统补丁已经安装,而没有更改库版本,如Debian、Red Hat Enterprise Linux(及其派生版,如CentOS、Amazon Linux)或Ubuntu(及其派生版,如Linux Mint)。
不受影响:
  • OpenSSL 1.0.2-beta2(将来版本)
  • OpenSSL 1.0.1g
  • OpenSSL 1.0.0(及1.0.0的分支版本)
  • OpenSSL 0.9.8(及0.9.8的分支版本)
要解决此漏洞,建议伺服器管理员或使用1.0.1g版,或使用-DOPENSSL_NO_HEARTBEATS选项重新编译OpenSSL,从而禁用易受攻击的功能,直至可以更新伺服器软体。
Metasploit最新版本:
针对CVE-2014-0160的测试和攻击脚本(Python/Perl)已广泛传播。着名渗透测试框架Metasploit在最新版本中添加了对CVE-2014-0160的嗅探支持。

漏洞危害

Heartbleed能让攻击者从伺服器记忆体中读取包括用户名、密码和信用卡号等隐私信息在内的数据,已经波及大量网际网路公司。
受影响的伺服器数量可能多达几十万。其中已被确认受影响的网站包括 Imgur、OKCupid、Eventbrite 以及 FBI 网站等,不过 Google 未受影响。
Github2014年4月9日发布了一个受影响网站的列表,在这个列表上发现了诸多知名网际网路企业,例如雅虎、Stackoverflow.com、Outbrain.com、OKCupid.com、Steamcommunity.com、 Slate.com和 Entrepreneur.com等。其中很多网站都表示他们已经解决了这个问题。
OpenSSL“心脏出血”漏洞的严重性远比想像的严重,一些用户没有考虑到手机上大量套用也需要账号登入,其登入服务也有很多是OpenSSL搭建的,因此用户在这阶段用手机登入过网银或进行过网购,则需要在漏洞得到修补后,更改自己的密码。
更改密码:
下面的网站已经发布公告,因受漏洞影响,建议用户更改密码:
  • Akamai Technologies。
  • Amazon Web Services。
  • Ars Technica。
  • GitHub。
  • LastPass- LastPass自身并没有被影响,但建议用户修改所有储存在LastPass的受影响网站账户的密码,特别是有GitHub、OkCupid或雅虎帐户的“每个人”。 LastPass提供了一个页面,公众可以检查网站是否受影响。2014年4月9日,LastPass开始向用户报告已知受心脏出血影响的存储了密码的网站。
  • Mojang。
  • PeerJ。
  • SoundCloud。
  • SparkFun。
  • Stripe (公司)。
  • Tumblr。
  • Wikimedia。
  • Wunderlist。
受影响的软体
  • IPCop 2.1.4发布于2014年4月8日,修复了“每个人都在谈论的OpenSSL库”。
  • LibreOffice 4.2.3发布于2014年4月10日,修复了CVE-2014-0160
  • LogMeIn声称“更新了我们依赖于OpenSSL的许多产品及部分服务”。

涉及中国

ZoomEye系统的扫描:根据该系统扫描,中国全境有1601250台机器使用443连线埠,其中有33303个受本次OpenSSL漏洞影响。443连线埠仅仅是OpenSSL的一个常用连线埠,用以进行加密网页访问;其他还有邮件、即时通讯等服务所使用的连线埠,因时间关係,尚未来得及扫描。
ZoomEye是一套安全分析系统,其工作原理类似Google Spider,会持续抓取全球网际网路中的各种伺服器,并记录伺服器的硬体配置、软体环境等各类指标,生成指纹,定期对比,以此确定该伺服器是否存在漏洞或被入侵。在此次“心脏出血”漏洞检测中,给该系统后面加上一个“体检”系统,过滤出使用问题OpenSSL的伺服器,即可得出存在安全隐患的伺服器规模。
从该系统“体检”结果看,比三万台问题伺服器更令人惊心的,是这些伺服器的分布:它们有的在银行网银系统中,有的被部署在第三方支付里,有的在大型电商网站,还有的在信箱、即时通讯系统中。
自这个漏洞被爆出后,全球的黑客与安全专家们展开了竞赛。前者在不停地试探各类伺服器,试图从漏洞中抓取到儘量多的用户敏感数据;后者则在争分夺秒地升级系统、弥补漏洞,实在来不及实施的则暂时关闭某些服务。这是最危险的地方:黑客们已经纷纷出动,一些公司的负责人却还在睡觉。而如果黑客入侵了伺服器,受损的远不止公司一个个体,还包括存放于公司资料库的大量用户敏感资料。更为麻烦的是,这个漏洞实际上出现于2012年,谁也不知道是否已经有黑客利用漏洞获取了用户资料;而且由于该漏洞即使被入侵也不会在伺服器日誌中留下痕迹,所以还没有办法确认哪些伺服器被入侵,也就没法定位损失、确认泄漏信息,从而通知用户进行补救。

操作建议

1. 不要在受影响的网站上登录帐号——除非确信该公司已经修补了这一漏洞。如果该公司没有通告相关进展,可以询问他们的客服团队。
一些网站(包括雅虎和OKCupid)受了影响但表示他们已经解决了全部或部分问题,如果不放心,可以在Filippo网站上查看各个网站安全与否,如果被标为红色就暂时不要登录。
很多人的第一反应是赶快修改密码,但是网路安全专家的建议是等到网站确认修复再说。
2. 一收到网站的安全修补确认,就立即修改银行、电子邮件等敏感帐号的密码。即便你採用了两步认证(即在密码之外多一重验证信息),推荐修改密码。
3. 不要不好意思联繫掌握个人的数据的小企业以确保个人信息安全。雅虎和Imgur等知名公司当然知道这个问题,但是一些小企业可能还没发现它,所以个人要积极主动地维护个人信息安全。
4. 密切关注未来数日内的财务报告。因为攻击者可以获取伺服器记忆体中的信用卡信息,所以要关注银行报告中的陌生扣款。
但是,即便按照上述方法操作,网页浏览活动也依然存在一定风险。Heartbleed甚至能影响追蹤网站用户活动的浏览器Cookie,所以只访问不登录也有风险。
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net