編輯的話

令人心碎的事實

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 雜誌總編輯。