編集長より

Heartbleed の教訓 (機械翻訳)

Michael Desmond

Michael DesmondOpenSSL 実装の Heartbleed 脆弱性はインターネットが今まで見た最大のコード セキュリティ欠陥おそらくとして非難されています。 欠陥潜在的に OpenSSL を使用して作成されたセキュリティで保護された接続開いた本第三者。 非常に多くのソフトウェア災害のような単純な失言の結果だった。

OpenSSL のハートビートの拡張機能が追加されました 2011 クライアントのハートビート要求メッセージへの応答でサーバーによって送信されるパケットのサイズを指定する有効なパラメーターを持つ。 しかし、機能は定義されたペイロードの実際のサイズを考慮して失敗しました。 クライアントは必要なペイロードより大きい要求メッセージを要求可能性があります。 OpenSSL のメモリ割り当て方法のため返されるメッセージのペイロード、プラス時に、メモリ バッファーにどんな内容が現在割り当てられているには含めることができます。

結果はだった一種の逆バッファー オーバーラン、メモリが存在するはずではなかった得た送信 — 暗号化されていない — をクライアントに。 そして、多くの場合、その余分なメモリ スペース含まれている秘密キーに接続された Web サイト。

これはホーマー ・ シンプソン レベル失言と 2 年間誰もおそらく安全 OpenSSL 接続で左ぽっかりと穴に気づいた。 アレックス Papadimoulis、コンサルティング会社 Inedo の創始者とクリエーターの人気のあるソフトウェアのブログ、毎日博 (thedailywtf.com) 年の間違っているソフトウェア開発の悲しい、イライラして時々 陽気な物語を記録しています。 彼は夜間金庫をロックするを忘れ銀行の全国チェーンに Heartbleed を比較した. 1 ヶ月。

「もう、私がまさにどのような Heartbleed が配信さことを驚きを悪いの全く新しいレベルかかる「Papadimoulis 電子メールのインタビューで私に言った。 "それではなかったあなたの典型的な WTF、それは無知のコーダーによって作成された不適切なコード。 それはだった単純なバグから配合の影響のより完璧なイラスト"

Heartbleed の脆弱性はソフトウェア開発の歴史はボーンヘッド間違いだらけです、緊急と屈辱的なアラームとして機能します。 火星気候オービター (MCO) でセット最範囲で驚くほど避けソフトウェア欠陥のためのスケールを設定する誘惑しています。 MCO は半分の 10億ドル-またはそうミッション火星周回軌道に、高度な衛星を配置します。 それに失敗しました。

NASA 宇宙船チーム コロラド州とカリフォルニア州のミッションのナビゲーション チーム (1 つ、英語、他の指標) 推圧を計算して強制的に異なる単位を使用するので、$3 億 2800 万クラフト火星の大気で燃えた。 宇宙探査は、インチのゲームをできない場合がありますが、ニュートン秒のゲームであり、驚くほど単純な不一致、ミッション失敗する運命に。

どこ MCO スケール Heartbleed 落ちるかもしれないですか? どこか 0.85 Mco の周りと思います。 MCO 失敗コスト 50億ドルと私たちの貴重な科学的な調査の十年を否定しましたが、Heartbleed の実際のコストが決して完全に開示または実現します。 迅速な行動の可能性が壊滅的な被害を防止しながら我々 がカナダ歳入庁いくつか 900 の納税者のための重要なデータの盗難を報告すること知っていますか。 私は追加的な開示される沖で小さな疑問を持っています。

「この脆弱性のスケールはそれもの, あまり顕著ながこの種のバグは避け、」Papadimoulis は言います。 「我々 のアプリケーションやシステムと簡単に維持展開、問題なしにパッチが適用することができますこのようなバグが発見されるように我々 にできる最善のことです.」

それは良いアドバイスです。 人間がソフトウエアを作成する限り、ソフトウェアは欠陥を持っています。 彼らが現れるときそれらの欠陥最高のアドレスを準備します。 Heartbleed に座っているやり損われたソフトウェア開発の年代記ではどう思う? 私にメール mmeditor@microsoft.com

Michael DesmondMSDN マガジンの編集長です