欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

心脏出血漏洞深度解析:OpenSSL 内存泄漏危机

1970/1/1计算机网络

心脏出血漏洞是 OpenSSL 库中的严重内存泄漏缺陷,允许攻击者读取服务器和客户端的内存,窃取加密密钥、用户凭据和通信内容。

概述

心脏出血(Heartbleed)是 OpenSSL 加密软件库中一个严重的安全漏洞。该漏洞使得在正常情况下由 SSL/TLS 加密保护的信息可以被窃取。SSL/TLS 协议为互联网上的 Web、电子邮件、即时通讯和部分 VPN 等应用提供通信安全和隐私保护。

这个漏洞允许互联网上的任何人读取运行了存在漏洞版本的 OpenSSL 软件的系统内存。这会危及用于标识服务提供商和加密流量的私密密钥、用户的用户名和密码以及实际通信内容。攻击者因此可以窃听通信、直接从服务和用户处窃取数据,并伪装成服务或用户。

实际泄露了什么?

漏洞发现者(Codenomicon 团队)从攻击者的角度对自己的一些服务进行了测试。他们在不留下任何痕迹的情况下从外部攻击了自己,在没有使用任何特权信息或凭据的情况下,成功窃取到了:

  • 用于 X.509 证书的私密密钥
  • 用户名和密码
  • 即时消息
  • 电子邮件
  • 业务关键文档和通信

如何阻止泄露?

只要存在漏洞的 OpenSSL 版本还在使用,它就可能被利用。目前修复版 OpenSSL 已经发布,需要被部署。操作系统厂商和发行版、设备厂商、独立软件厂商需要采用修复方案并通知其用户。服务提供商和用户需要在修复版本可用于其使用的操作系统、网络设备和软件时立即安装。

常见问题解答

CVE-2014-0160 是什么?

CVE-2014-0160 是这个漏洞的官方参考编号。CVE(通用漏洞与暴露)是由 MITRE 维护的信息安全漏洞命名标准。由于巧合的双重发现,另一个分配给发现者的重复 CVE 编号 CVE-2014-0346 不应被使用,因为其他人已独立使用 CVE-2014-0160 标识符公开了此漏洞。

为什么称为"心脏出血"?

漏洞存在于 OpenSSL 对 TLS/DTLS(传输层安全协议)心跳扩展(RFC 6520)的实现中。当被利用时,它会导致内存内容从服务器泄露到客户端,或从客户端泄露到服务器。

这个漏洞有什么独特之处?

单个软件或库中的漏洞来去匆匆,通常会被新版本修复。但这个漏洞使大量私密密钥和其他秘密暴露在互联网上。考虑到其长期暴露、易于利用且攻击不留痕迹的特点,这种暴露应当被严肃对待。

这是 SSL/TLS 协议规范的设计缺陷吗?

不是。这是一个实现问题,即流行的 OpenSSL 库中提供了 SSL/TLS 等加密服务的编程错误。

哪些内容被泄露了?

加密用于保护一旦泄露就可能损害隐私或安全的秘密。为了协调从此漏洞中恢复的工作,泄露的秘密被分为四类:

  1. 主要密钥材料
  2. 次要密钥材料
  3. 受保护内容
  4. 附带泄露内容(collateral)

主要密钥材料是什么,如何恢复?

这些是皇冠上的明珠——加密密钥本身。泄露的私密密钥允许攻击者解密过去和未来流向受保护服务的流量,并可随意冒充服务。加密和 X.509 证书签名提供的所有保护都可以被绕过。

从此类泄露中恢复需要:

  1. 修补漏洞
  2. 吊销受损害的密钥
  3. 重新签发和分发新密钥

即使完成所有这些步骤,攻击者过去截获的任何流量仍然可以被解密。所有这些都必须由服务所有者完成。

次要密钥材料是什么,如何恢复?

例如,在易受攻击的服务中使用的用户凭据(用户名和密码)。

恢复要求服务所有者首先按照上述步骤恢复对服务的信任。之后,用户可以根据受影响服务所有者的指示开始更改密码和可能的加密密钥。所有会话密钥和会话 cookie 都应作废并视为已受损害。

受保护内容是什么,如何恢复?

这是易受攻击服务处理的实际内容。可能是个人或财务详细信息、私人通信(如电子邮件或即时消息)、文档或任何认为值得加密保护的内容。

只有服务所有者能够估计泄露的可能性,并应相应地通知其用户。最重要的是按照上述方法恢复对主要和次要密钥材料的信任。只有这样,未来才能安全使用受影响的服务。

附带泄露内容是什么,如何恢复?

附带泄露内容是泄露内存中已暴露给攻击者的其他细节。这些可能包括技术细节,如内存地址和安全措施(如用于防止溢出攻击的 canaries)。这些只有暂时性价值,当 OpenSSL 升级到修复版本后,它们对攻击者的价值将消失。

恢复看起来很费力,有捷径吗?

Codenomicon 团队在通过"攻击"自己看到所见内容后,决定非常严肃地对待此事。他们费力地修补了自己的关键服务,并处理主要和次要密钥材料可能受损的问题。这一切都是因为他们不确定自己是否是第一个发现此漏洞的人——它可能已经在野外被利用了。

证书的吊销和重新签发在实践中如何运作?

如果你是服务提供商,你的证书已由证书颁发机构(CA)签名。你需要检查你的 CA 如何吊销受损害的密钥并为新密钥重新签发证书。有些 CA 免费提供此服务,有些则可能收费。

我是否受此漏洞影响?

你很可能直接或间接受影响。OpenSSL 是最受欢迎的开源加密库和 TLS 实现,用于加密互联网流量。你常用的社交网站、公司网站、商业网站、爱好网站、你安装软件的网站,甚至政府运营的网站都可能使用了易受攻击的 OpenSSL。

许多在线服务使用 TLS 既是为了向您标识自身,也是为了保护您的隐私和交易。你可能拥有使用这种有缺陷的 TLS 实现保护登录的网络设备。此外,你电脑上的客户端软件如果在连接到受影响的服务器时可能会暴露你计算机中的数据。

这个漏洞有多广泛?

使用 OpenSSL 的最著名软件是 Apache 和 nginx 等开源 Web 服务器。根据 Netcraft 2014 年 4 月的 Web 服务器调查,仅这两者在互联网活跃站点中的合并市场份额就超过 66%。

此外,OpenSSL 还用于保护电子邮件服务器(SMTP、POP 和 IMAP 协议)、聊天服务器(XMPP 协议)、虚拟专用网(SSL VPN)、网络设备和各种客户端软件。

幸运的是,许多大型消费者网站因其保守地选择 SSL/TLS 终止设备和软件而得救。具有讽刺意味的是,规模较小和更进步的服务,或那些已经升级到最新和最佳加密的服务将受到最大影响。

此外,OpenSSL 在客户端软件中非常流行,在网络设备中也有一定普及度,而网络设备在获取更新方面最为迟缓。

哪些 OpenSSL 版本受影响?

不同版本的状态如下:

  • 受影响版本:OpenSSL 1.0.1 至 1.0.1f(包括 1.0.1 系列的所有版本,包括测试版)
  • 不受影响版本:OpenSSL 1.0.1g、OpenSSL 1.0.0(包括 1.0.0 系列的所有版本)、OpenSSL 0.9.8(包括 0.9.8 系列的所有版本)

修复版本 OpenSSL 1.0.1g 已在 2014 年 4 月 7 日发布。

技术细节

Heartbleed 漏洞源于 OpenSSL 对 RFC 6520 中定义的 TLS 心跳扩展的实现。心跳机制允许 TLS 连接的一方发送一个包含负载和长度字段的心跳请求消息,以检查连接是否仍然活跃。

问题出在 OpenSSL 的实现没有正确验证心跳请求中声明的负载长度与实际负载是否匹配。攻击者可以发送一个声称负载长度很大但实际负载很小的请求。服务器会分配一个与声明长度匹配的缓冲区,并将实际负载复制进去,但剩余的空间会从内存中读取未初始化的数据——这些数据可能包含其他用户会话的敏感信息。

攻击者可以反复发送此类请求,每次请求都能读取服务器内存中的任意部分,从而逐步收集到私密密钥、密码、会话令牌等敏感数据。该漏洞的攻击几乎不可能被检测到,因为攻击不会留下任何日志或痕迹。

影响与应对

Heartbleed 漏洞是网络安全史上影响最广泛的漏洞之一。据估计,互联网上约 17% 的 SSL/TLS 服务器(约 50 万个)在漏洞公开时易受攻击。其影响持续了约两年之久,因为 OpenSSL 1.0.1 于 2012 年 3 月发布。

该漏洞的披露引发了互联网历史上最大规模的证书吊销和重新签发行动。许多大型网站和服务提供商被迫更换私密密钥、吊销旧证书并部署新证书。用户也被建议更改所有账户的密码,尽管后来有研究表明,对于未受影响的服务,更改密码可能并非必要。

Heartbleed 还促使了 OpenSSL 项目的重大改革。OpenSSL 基金会获得了更多资金和支持,成立了核心团队,并引入了审计制度。同时,它也催生了 LibreSSL(OpenBSD 项目对 OpenSSL 的分支)等替代实现,并推动了 Let's Encrypt 等更注重安全性的证书颁发机构的发展。

结语

Heartbleed 漏洞提醒我们,即使是最基础的加密基础设施也可能存在致命的实现错误。它的发现不仅仅是一个技术问题,也是一个生态系统的警示——单一开源库的缺陷可能影响整个互联网的安全性。通过了解这个漏洞的细节、影响和后续应对,我们可以更好地理解网络安全风险管理的重要性。

原文链接:http://heartbleed.com/

参考:CVE-2014-0160 — Wikipedia

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消