编辑寄语

Bleeding Heart

Michael Desmond

Michael DesmondOpenSSL 实现中的 Heartbleed 漏洞已被谴责作为也许最大的代码安全的缺陷在互联网上见过。该缺陷一本打开的书可能向第三方作使用 OpenSSL 创建安全连接。像很多软件的灾难,这是简单的失言的结果。

在启用了客户端指定的心跳请求消息的响应中由服务器发送的数据包大小参数 2011 年实施了 OpenSSL 的心跳扩展功能。但该功能没有考虑到的实际大小的定义的负载。客户端可以请求比所需的有效载荷较大的请求消息。并由于 OpenSSL 分配内存的方式,返回的消息可包括有效载荷,再加上无论内容在时间当前分配的内存缓冲区中。

结果是一种反向缓冲区溢出,哪里不是应该要有的内存有传输 — — 未加密 — — 回客户端。而且,经常,那多余的内存空间为连接的 Web 站点包含的私有密钥。

这是荷马辛普森级失言,两年没人注意到洞留在 OpenSSL 的假想安全连接。亚历克斯 Papadimoulis,顾问 Inedo 的创始人和流行的软件博客每日 WTF (thedailywtf.com) 的创建者年记录了走了错了软件开发的悲伤、 沮丧和有时搞笑故事。他与全国连锁的忘记在晚上锁地窖的银行相比 Heartbleed......为一个月。

Papadimoulis"它需要全新的坏我了,但那到底是什么 Heartbleed 交付给一个惊喜,"告诉我在接受电子邮件采访。"这不是你典型的 WTF,因为它是由一个无能的编码创建的坏代码。它是更完美的插图的复利的后果,从简单的 bug"。

Heartbleed 缺陷作为紧急和谦卑的提醒软件开发的历史错漏百出笨蛋。我很想与设置在火星气候轨道器 (MCO) 的最高范围设置比例惊人可以避免软件缺陷。MCO 是半亿港元或-所以特派团把先进的卫星放在环绕火星的轨道。它失败。

$3 亿 2800 万工艺烧掉了火星大气中因为在科罗拉多州的美国国家航空航天局的航天器团队和特派团导航团队在加利福尼亚州使用不同的 (一个英语,其他度量) 来计算推力和力的度量单位。空间探索可能不是一个游戏的英寸,但它是一种游戏的牛顿-秒,和惊人地简单不匹配注定要失败的任务。

哪里的 MCO 规模可能 Heartbleed 属于?在某个地方周围 0.85 杂费付款代用券,我觉得。MCO 失败成本半亿美金和否认我们十年的无价、 科学探索,但 Heartbleed 的实际费用可能从来没有完全披露或意识到。虽然可能快速行动防止灾难性破坏,我们知道加拿大税务机构为一些 900 纳税人报告的关键数据失窃。我有一点怀疑,额外披露将酝酿中。

"此漏洞的规模是什么让它如此引人注目,但这种类型的错误是不可避免的"Papadimoulis 说。"我们能做的最好的事是使我们的应用程序和系统易于维护和部署,因此,像这样的 bug 被发现时他们可以修补没有问题"。

它是很好的建议。只要人类创建软件,软件将会有缺陷。所以最好是准备处理那些缺陷他们出现的时候。你去哪里史册的拙劣的软件开发 Heartbleed 坐?电子邮件通知我在mmeditor@microsoft.com

Michael Desmond 是 MSDN 杂志总编辑。