QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

五年了,Heartbleed 漏洞仍未修复

  • 2019-12-13
  • 本文字数:3036 字

    阅读完需:约 10 分钟

五年了,Heartbleed漏洞仍未修复


五年了,Heartbleed 安全漏洞补丁仍未全面普及。


Heartbleed 安全漏洞在 2012 年被正式引入 OpenSSL 加密库,但直到 2014 年才被发现并得到修复。但直到五年之后的今天,仍有众多系统未能有效安装修复补丁。


本文希望为 IT 团队提供必要的信息,帮助大家判断是否要使用 Heartbleed 漏洞的修复补丁。但这里要提醒一句:即使安装补丁,您的用户数据仍有可能受到其他攻击的影响。

Heartbleed 安全漏洞是怎么回事?

Heartbleed 是 OpenSSL 加密库中的一项代码缺陷,具体如下:


memcpy(bp, pl, payload);


2014 年,研究人员在流行密码库 OpenSSL 当中发现一项安全漏洞。顺带一提,OpenSSL 负责为开发人员提供用于实现安全套接字层(SSL)与传统层安全性(TLS)协议的工具与资源。


目前,各类网站、电子邮件、即时消息(IM)应用程序以及虚拟专用网络(VPN)都依赖 SSL 与 TLS 协议,用以保障互联网上通信内容的安全性与私密性。因此,只要使用 OpenSSL 组件,您的应用程序就会受到 Heartbleed 漏洞的影响。在漏洞曝光之时,已经有高达 17%的 SSL 服务器被划入影响范围。


在漏洞被发现之后,很快得到 CVE-2014-0160 这一官方漏洞编号。不过在民间,大家普遍将其称为 Heartbleed。实际上,这个朗朗上口的名号来自 Codenomicon 的一位工程师,同时也是此项漏洞的发现者之一。


Heartbleed 这个名称,表达的是该安全漏洞的源头——RFC 6520 Heartbleed 扩展的一项错误实现。该扩展当中封装有 OpenSSL 的 SSL 与 TLS 协议。

Heartbleed 安全漏洞的表现

Heartbleed 安全漏洞会削弱 SSL 与 TSL 两大常见互联网通信协议的安全性。受到 Heartbleed 影响的网站,允许潜在的攻击者读取用户的访问历史。换言之,精心谋划的网络罪犯可以借此找出用户的加密密钥。


一旦加密密钥外泄,恶意攻击者将能够获取入侵系统所必需的凭证(包括用户名与密码)。在系统内部,入侵者还能利用失窃凭证所对应的授权级别发动更多后续攻击、窃听通信内容、顶替用户并夺取数据。

Heartbleed 的工作原理

Heartbleed 漏洞会削弱 Heartbleed 扩展的安全水平,进而损害 SSL 与 TLS 服务器同客户端之间的通信安全。


在理想情况下,Heartbleed 扩展本应负责验证服务器请求,进而保护 SSL 与 TLS 协议。具体来讲,它允许通信端计算机发送 Heartbleed 请求消息。


每条消息中都包含有效载荷(一条包含已传输信息的文本字符串),外加一个代表有效载荷存储长度的数字(通常为 16 位整数)。在提供这些请求信息之前,Heartbleed 扩展首先需要进行边界检查,验证输入请求并返回所请求的有效载荷长度。


OpenSSL Heartbleed 扩展中的缺陷,导致验证流程中出现了一个漏洞。事实上,Heartbleed 扩展程序并没有进行边界检查,而是分配了一个没有经过验证的内存缓冲区。恶意攻击者可以借此发送请求,并接收最多 64 KB 的内存缓冲区内可用信息。


内存缓冲区是临时的内存存储位置,其存在的目标在于存储传输中的数据。缓冲区内可能包含多种不同数据类型,代表着不同的信息存储形式。在本质上,内存缓冲区会在信息被发送至指定位置之前,一直保留这部分信息内容。


内存缓冲区不会进行数据整理,而是对数据进行分批存储。因此,内存缓冲区内可能包含敏感与财务信息,外加凭证、Cookie、网站页面与图像、数字资产以及任何传输中的数据。当恶意攻击者利用 Heartbleed 漏洞时,他们会通过欺诈手段通过 Heartbleed 扩展获取内存缓冲区中的所有可用信息。

Heartbleed 的修复情况

谷歌公司的 Bodo Moeller 与 Adam Langley 为 Heartbleed 创建了修复程序。他们编写了代码,提醒 Heartbleed 扩展应忽略一切除有效载荷必要数据之外的 Heartbleed 请求信息。


下面来看 Heartbleed 修复代码示例:


if (1 + 2 + payload + 16 > s->s3->rrec.length) return 0; /* silently discard per RFC 6520 sec. 4 */

Heartbleed 漏洞给 OpenSSL 带来的影响

Heartbleed 安全漏洞的曝光在世界范围内引起了恐慌。在安装这一修复补丁之后,关注者们开始积极寻求事件的缘由。在对 OpenSSL 项目进行一番严格审查之后,人们意识到这套广受欢迎的加密库仅由两人负责维护,且相关预算少得可怜。


这一发现,给我们带来了两项积极的举措,甚至在一定程度上改变了开源的格局:


  • 组织意识到支持开源项目的重要性。因为 OpenSSL 的两名成员只能用自己的积蓄支持这项事业。另一方面,使用开源成果的组织完全可以提供保障项目安全所需要的资源。

  • 为了资助重要的开源项目,Linux 启动了核心基础设施设计(CII)。CII 选定那些最关键的开源项目,特别是对互联网以及其他信息系统具有重要影响的项目。CII 收取大型组织的捐款,并以规划及赔款的形式将其交付至各开源软件项目手中。


与以往引发变革的无数危机一样,Heartbleed 漏洞当然也带来了负面影响:漏洞品牌开始兴起。Heartbleed 漏洞就是由谷歌与 Codenomicon 两个实体同时发现的。


谷歌方面选择不公开披露这项漏洞,而仅与 OpenSSL 贡献者进行信息共享。但在另一方面,Condemonicon 则选择将消息发布给公众。他们命名了这一漏洞,甚至创建了徽标与网站,并开始以营销活动的思路投入大规模宣传。


在接下来的几年中,很多公开曝光的漏洞都得到了如同知名产品般的对待——公关公司为其树立品牌,营销机构部署品牌名称、徽标甚至是专门的网站。虽然这些作法在一定程度上提高了公众对于零日漏洞的关注度,但同时也引发了巨大的潜在混乱。


如今,安全专家与软件开发人员正忙着处理数以千计的漏洞。为了给系统提供适当保护,他们需要首先确定漏洞的优先级。以此为基础,他们才能断言哪些漏洞需要立即修复,哪些可能稍后再行处理。有时候,那些被标榜为高危的“知名”安全漏洞,其实并没有那么重要。


毕竟在面对安全漏洞时,相关各方不一定总有充裕的时间、技能以及资源来判断其确切危险程度。因此,专业人士们应该集中精力为那些有利于公众的方式开发修复补丁,而非将安全漏洞变成一种营销噱头。

Heartbleed 的现状

如今,距离 Heartbleed 漏洞的最初披露已经过去了五年,但它仍然广泛存在于众多服务器及系统当中。当然,OpenSSL 的最新版本已经做好了修复,但尚未(或者无法)升级至修复版本的 OpenSSL 系统仍会受到这项漏洞的影响,且极易受到攻击。


对于恶意攻击者而言,只要能找到 Heartbleed 漏洞,接下来就一切好办:他们可以自动进行检索,然后轻松完成入侵。在找到这类易受攻击的系统之后,利用过程相当简单,由此获得的信息及/或凭证也能帮助他们快速推进其他后续攻击。

装补丁,还是不装补丁,这是个问题

Heartbleed 漏洞属于因人为错误而出现的 OpenSSL 安全缺陷。由于 OpenSSL 的广泛普及,不少应用程序都受到直接影响,致使恶意攻击者能够轻松获取大量数据。


在发现漏洞之后,谷歌员工找到了解决方案,并向 OpenSSL 贡献者提供了相关代码。在此之后,贡献者又进一步引导 OpenSSL 用户进行版本升级。听起来一切都很美好。


但截至目前,即使是完成了 OpenSSL 版本升级,由于代码库本身未经编辑,我们仍然能够从众多应用程序、系统以及设备当中找到 Heartbleed 漏洞。如果大家担心自己可能受到影响,可以点击此处测试您的系统。万一结果显示您的设备无法支持修复补丁,大家应当尽快采取其他措施以缓解或者消除风险。


服务器或者云平台的修复工作一般比较简单,但物联网设备就麻烦一些,可能需要单独为其安装补丁,甚至配合更高级的风险处理技术。在这方面,建议大家尽快与系统管理员联系,确定如何消除 Heartbleed 这个老漏洞可能带来的新问题。


原文链接


Five years later, Heartbleed vulnerability still unpatched


2019-12-13 18:233366

评论

发布
暂无评论
发现更多内容

一文告诉你如何选择低代码供应商?

YonBuilder低代码开发平台

企业想要智慧化办公,首选华为云桌面Workspace!

科技怪授

适合前端程序员培训的人群有哪些

小谷哥

皇室用酒贾斯特里尼&布鲁克斯,用匠心成就经典

联营汇聚

启科QuSaaS真随机数解决方案与Amazon Braket结合实践

启科量子开发者官方号

人工智能 量子计算 随机数

YonBuilder应用构建教程之移动端基础配置

YonBuilder低代码开发平台

AI 2022:浪潮奔涌,百舸争流

Baihai IDP

人工智能 AI 年终总结 AI 2022

如何使用YonBuilder进行报表分析?

YonBuilder低代码开发平台

疫情放开,户外全彩LED屏发展趋势

Dylan

LED display LED显示屏 户外LED显示屏

大数据参加培训学习靠谱吗?

小谷哥

如何进行晶体负载电容的调试

元器件秋姐

电路设计 电子电路 元器件知识 元器件科普 负载电容

华为云桌面,如何让云上办公变得高效、安全?

i生活i科技

YonBuilder移动开发平台 AVM框架 封装身份证号码虚拟输入键盘组件

YonBuilder低代码开发平台

华为儿童手表5X系列“腕上学习天地”全新升级,首月0元畅享华为教育中心精品内容

最新动态

内存多维数据分析引擎

元年技术洞察

大数据 数据中台 数字化转型 多维数据库

超详细图文保姆级教程:App开发新手入门(三)

YonBuilder低代码开发平台

希捷发布2023年数据市场趋势预测,指引企业数据决策

极客天地

运维自动化之Kubernetes 云原生CICD部署管理系统

大V

golang DevOps CI/CD kubernetes 运维 webssh

云原生媒体基础设施为华为云桌面护航

科技怪授

跑付活动:跑付南宁(联营)健身服务中心盛大开业

极客天地

为什么NoSQL数据库这么受欢迎?

腾讯云数据库

数据库 nosql 腾讯云数据库

培训大数据技术后的职业规划介绍

小谷哥

优化器核心技术—Join Reorder

KaiwuDB

一文读懂什么是低代码开发?

YonBuilder低代码开发平台

YonBuilder移动开发 AVM框架 封装虚拟数字键盘组件

YonBuilder低代码开发平台

统信软件高级工程师:关于云原生技术在容器方面的应用介绍 | 龙蜥技术

OpenAnolis小助手

云原生 容器技术 龙蜥大讲堂 统信软件 开源领域

手把手教你玩转 Excel 数据透视表

葡萄城技术团队

数据分析 Excel 数据可视化 数据透视表 可视化数据

一键导出Gerber文件教学实操,我设计的PCB再也没出过问题!

华秋PCB

工具 PCB PCB设计

超详细图文保姆级教程:App开发新手入门(四)

YonBuilder低代码开发平台

华为云桌面,助你畅享高清视觉体验!

科技怪授

无代码优缺点及发展前景

间隔

五年了,Heartbleed漏洞仍未修复_软件工程_Gilad Maayan_InfoQ精选文章