業界標準を再定義した13の重大なソフトウェア障害
エンジニアがどれだけ骨の折れるテストを行っても、開発者が夜明けまでコーディングにどれだけ眠れない夜を費やしても、1 つのバグが完全なシステム障害を引き起こす可能性があります。数十億ドルの費用がかかるソフトウェアの不具合から、致命的な事故につながる重大なバグに至るまで、不十分なソフトウェア開発の結果は壊滅的なものになる可能性があります。
ソフトウェア品質の低下により、米国企業は年間約 2 兆ドルの損失を被っており、運用ソフトウェアの障害がこれらの損失の主な原因であることをご存知ですか?
ソフトウェア障害の背後にある最も一般的な理由には次のようなものがあります。
- アーキテクチャの定義が不十分であり、下位レベルの設計が不十分である
- 十分なデータや分析を行わずに非現実的なスケジュールやマイルストーンの期限を設定する
- 進化する要件を予測して対応できない
- スケジュールを圧縮するために、プロジェクトに過剰な人員を投入して過負荷にする
- 直感に基づいた、または感情に基づいたステークホルダーとの交渉
- コミュニケーションの誤り、エゴの対立、チームの否定的な力関係
以下は、当惑と巨額の経済的損失をもたらした主なソフトウェア障害です。 極端な場合には、Therac-25 の放射線過剰摂取事件のように、ソフトウェア エラーによって命が奪われることさえあります。
13. MOVEit データ侵害
2023 年 5 月、Progress Software が開発したマネージド ファイル転送ソフトウェアである MOVEit に関連した重大なデータ侵害が発生しました。この欠陥により機密データへの不正アクセスが可能になり、世界中の何千もの企業に影響を与える一連のサイバー攻撃につながりました。
失敗の理由:SQL インジェクションの脆弱性
この侵害は主に、公開サーバーに対する SQL インジェクション攻撃によって実行され、攻撃者が検出されることなくデータを抜き出すことが可能になりました。具体的には、この欠陥により、攻撃者は「LemurLoot」と呼ばれる Web シェルを展開できるようになり、MOVEit データベースに保存されている機密データへの不正アクセスや盗難が容易になりました。
侵害の総コスト:158 億ドル
この侵害は世界中の 2,700 以上の組織に影響を及ぼし、約 9,580 万人の個人データが危険にさらされました。 IBM のデータ侵害コスト分析によると、侵害されたレコードあたりの平均コストは 165 ドルです。
12.英国パスポート制度 (1999)
1999 年、英国パスポート庁はパスポート申請を合理化するために新しいコンピューター処理システムを導入しました。シーメンスによって開発されたこのシステムは、プロセスを最新化し、効率を向上させることを目的としていました。しかし、ソフトウェアの不具合やシステム障害により、展開は大幅に遅れ、数千人の英国国民が旅行に間に合うようにパスポートを取得できなくなった。
失敗の理由:不十分なテスト
このシステムは実際の状況下で適切にテストされておらず、導入時にボトルネックが発生しました。さらに、英国政府は同時期に子供向けの新しいパスポート要件を導入し、申請量が大幅に増加しました。これにはシステムが対応する準備ができていませんでした。
エラーの総コスト:2,000 万ドル
この失敗により、英国政府は職員の追加雇用、残業、影響を受けた国民への補償を余儀なくされ、その結果推定2,000万ドルの経済的損失が発生した。さらに、何千人もの人々が休暇や出張を欠席し、国民の怒りをさらに増大させた。
11.マリナー 1
アトラス アジェナとマリナー 1 |画像クレジット:ウィキメディア
1962 年 7 月に打ち上げられたマリナー 1 号は、金星付近を飛行して科学データを地球に送信することを目的とした NASA の最初の惑星間ミッションでした。残念ながら、誘導システムの故障により打ち上げから 293 秒後に宇宙船が破壊され、ミッションは途中で終了しました。
失敗の理由:オーバーバーの欠落
打ち上げ直後、ロケットはコースを外れ始めた。この逸脱は、ガイダンス ソフトウェアの欠陥によって引き起こされました。具体的には、手書きの誘導方程式にオーバーバー(平均値を示す記号)が欠けていたため、誤った誘導コマンドがロケットに送信されてしまいました。その結果、ロケットはコースを逸れ、射撃場安全担当官は潜在的な危険を防ぐために破壊を命令しました。
エラーの総コスト:1,850 万ドル
マリナー 1 号の損失により、1962 年には推定 1,850 万ドルの経済的損失が発生しました。これは今日の約 1 億 9,400 万ドルに相当します。
10.マイドゥーム
2004 年 1 月 26 日に初めて検出された Mydoom は、これまでに作成されたコンピュータ ワームの中で最も悪名高く、被害を与えるものの 1 つです。電子メールの添付ファイルやピアツーピア ネットワークを介して拡散し、世界中の何百万台ものコンピュータに感染しました。ピーク時には、Mydoom は世界中に送信されたすべてのメールの 8.3% 近くを占め、史上最も急速に拡散したメール ワームとなりました。
攻撃の背後にある理由:不明
Mydoom の正確な起源は不明のままですが、一部の理論では、当時 Linux ソフトウェアをめぐる法的紛争に関与していた SCO グループを攻撃するために雇われたグループによって作成されたと示唆しています。他の多くのワームとは異なり、Mydoom には金銭的な動機があるようには見えませんでした。
総コスト:380 億ドルから 500 億ドルの間
この流行により、セキュリティコスト、生産性の低下、緩和策などを含め、数十億ドルの損害が発生しました。推定によると、財務上の影響総額は全世界で 380 億ドルから 500 億ドルの間でした。
9.ハートフォード コロシアム崩壊
画像ソース:ウィキスペース
1978 年 1 月 18 日、コネチカット州ハートフォードにあるハートフォード シビック センター コロシアムの屋根が構造上の破損により崩壊しました。 4,700人以上の観客が集まったバスケットボールの試合が開催されてからわずか6時間後に、1万トンの屋根がアリーナの座席エリアに落下した。幸いなことに、その時中には誰もいなかった。
失敗の理由:CAD 計算の欠陥と構造設計のエラー
調査の結果、この崩壊は工学的な計算ミスと、構造設計プロセスで使用されたコンピューター ソフトウェアのエラーが重なって発生したことが明らかになりました。エンジニアは初期のコンピューター ソフトウェアを使用して応力分布をモデル化していましたが、そのソフトウェアは特定の荷重条件を考慮できず、主要な関節の応力レベルが過小評価されてしまいました。
トラス システムの斜めブレースが不十分で、過剰な曲げ応力が発生していました。 (冬の嵐によって)蓄積された雪と氷の重みにより、構造物は限界を超えました。
総費用:7,000 万ドル
この崩壊はコンピュータ支援エンジニアリングに対する社会の信頼を傷つけ、建築基準法規制の厳格化につながった。さらに、設計会社、保険会社、請負業者に対して大規模な訴訟が起こされました。
8.火星気候探査機
マーズ クライメート オービターは、火星の大気、気候、地表の変化を研究するために 1998 年に NASA によって打ち上げられたロボット宇宙探査機です。打ち上げから 286 日後、探査機は計画通りに軌道に乗ることなく、火星の大気圏で燃え尽きました。
失敗の理由:単位変換エラー
この失敗は、NASA の 2 つのチーム間の単純だが致命的な単位変換エラーが原因で発生しました。ロッキード・マーチン (宇宙船の建設請負業者) は力の計算に帝国単位を使用し、NASA のジェット推進研究所はメートル単位を期待してミッションを制御していました。
これらのユニットが適切に変換されなかったため、オービターのナビゲーション システムは軌道を誤って計算し、予定されていた 140 マイルではなく 35 マイルで火星の大気圏に突入しました。高度が低いため、空気力学的な力が探査機を破壊しました。
総費用:3 億 2,700 万ドル
ミッションの総費用は約 3 億 2,760 万ドルで、これには宇宙船の開発、打ち上げ費用、ミッションの運用が含まれます。
7. IRS:不正行為検出システムの欠如
1994 年、内国歳入庁 (IRS) は、不正な納税申告書を検出および防止するために、電子不正検出システム (EFDS) を導入しました。時間が経つにつれて、EFDS は時代遅れになり、進化する詐欺戦術に追いつくのに苦労しました。これらの欠点を認識し、IRS は 2009 年に不正検出機能を向上させ、EFDS に代わることを目的として返品審査プログラム (RRP) に取り組み始めました。
失敗の理由:実装の遅れ
RRP は遅延に直面し、意図したとおりに完全には機能しませんでした。その結果、2006 年の申告シーズン中、IRS は包括的な事前の不正検出システムなしで運営され、税制が悪用されやすい状態になりました。
総コスト:40 億ドル以上
2012 年には、個人情報の盗難に関連した税金詐欺により、約 40 億ドルの不正還付が発生しました。 2013 年までに、納税者情報の盗難は 77 万人の納税者に影響を及ぼしました。
6.クラスター宇宙船
クラスターミッションは、地球の磁気圏を研究するために開発された4機の同一の宇宙船で構成される欧州宇宙機関のプロジェクトでした。これらの衛星は、1996 年 6 月 4 日にアリアン 5 ロケットの最初の飛行で打ち上げられる予定でした。しかし、打ち上げからわずか 37 秒後にロケットは空中で爆発し、4 つの衛星すべてが破壊されました。
失敗の理由:整数オーバーフローの問題
アリアン 5 ロケットでは、もともとアリアン 4 用に設計されたソフトウェアが使用されていましたが、その高速加速はコードに考慮されていませんでした。その結果、ソフトウェアは 64 ビット浮動小数点数を 16 ビット整数に変換しようとしました。アリアン 5 の高速化により、値がストレージ制限を超え、システム クラッシュが発生しました。
エラーの総コスト:3 億 7,000 万ドル
クラスター宇宙船の破壊により、3 億 7,000 万ドルを超える経済的損失が発生しました。この数字には、4 機すべての宇宙船の開発と打ち上げが含まれています。金銭的な影響を超えて、この失敗により、地球の磁気圏に関する重要な科学研究が遅れました。
5. Pentium の Long 部門
1994 年、Intel の Pentium マイクロプロセッサに重大な欠陥が発見され、浮動小数点の除算計算でエラーが発生しました。後に Pentium FDIV バグとして知られるこのバグは、特定の除算演算で誤った 10 進数の結果をもたらしました。このため、正確な計算に依存する研究者や企業の間で懸念が広がりました。
流通している欠陥のあるチップは約 500 万個あり、最終的にインテルは苦情を申し立てたすべてのチップを交換することを決定しました。その後、Intel は欠陥のあるプロセッサの一部をキーチェーンに変えました。
失敗の理由:浮動小数点ユニットの除算アルゴリズムに欠陥がある
このバグは、チップのハードウェアベースの除算アルゴリズムにルックアップ テーブルのエントリが欠落していることが原因でした。特定の浮動小数点除算では、小数点第 8 位を超える誤った結果が返されました。
ただし、このエラーはまれで、約 90 億のランダムな浮動小数点除算に 1 回しか発生しませんでした。たとえば、4,195,835.0 を 3,145,727.0 で割ると、正しい 1.333820449136241002 ではなく 1.333739068902037589 が得られます。これは 0.006% の誤差です。
推定損失:4 億 7,500 万ドル
Intelは欠陥チップのリコールと交換により4億7500万ドルの損失を被った。さらに、この事件は同社の評判を大きく傷つけ、インテルは将来のプロセッサ設計においてより高い透明性を採用することになりました。
4.ウォール街大暴落 1987
1987 年 10 月 19 日 (ブラック マンデーとも呼ばれます)、ダウ ジョーンズ工業平均 (DJIA) は 508 ポイント下落し、総額の 22.61% を失い、S&P 500 は 20.4% 下落しました。これはウォール街がこれまでに経験した一日で最大の損失でした。
暴落の背後にある理由:自動取引アルゴリズム
大手機関投資家は市場下落時にプログラム取引システムを利用して株式を売却し、暴落が加速した。これらのシステムはパニックによる市場状況を考慮しておらず、自己強化的な売りのフィードバック ループを引き起こしました。
いくつかの企業は、損失を回避するために先物契約を販売するアルゴリズム戦略であるポートフォリオ保険を使用していました。
市場が下落するにつれて、これらのアルゴリズムはさらなる売りを引き起こし、下向きのスパイラルを悪化させました。
世界全体の損失は 1 兆 7,100 億ドルと推定
当面の経済への影響は当初懸念されていたほど深刻ではなかったものの、暴落は市場のボラティリティの増大につながり、将来の事態を防ぐための規制変更を促した。
3. Y2K
ミレニアム バグとしても知られる Y2K バグは、古いシステムでの日付の保存方法が原因で発生しました。従来のコンピューター プログラムの多くは、年を 4 桁 (「1999」) ではなく 2 桁 (たとえば、1999 年の場合は「99」) を使用して表していました。
2000 年が近づくにつれ、コンピュータが「00」を 2000 年ではなく 1900 年と解釈し、誤った計算が発生し、銀行、医療、航空などの業界全体で経済的混乱が生じる可能性があるという懸念が高まりました。
フローの背後にある理由:初期のコンピューティングではメモリが限られていた
古いコンピューターは最小限のメモリとストレージを備えて設計されていたため、プログラマーはスペースを節約するために 2 桁の年を使用していました。この近視眼的な設計選択は、数十年後に大きな問題になりました。
修正にかかる総費用:3,000 億ドル
推定によると、この問題を解決するには世界中で 3,000 億ドル以上の費用がかかるといわれています。米国だけでも、2000 年問題への備えに約 1,000 億ドルを費やしました。これらの投資には、ソフトウェアのアップデート、システムの交換、テスト、緊急時対応計画が含まれていました。
2.がん治療と致死性の放射線治療
Therac-25 は、がんを治療するためにカナダ アトミック エナジー オブ カナダ リミテッド (AECL) によって開発されたコンピューター制御の放射線治療装置です。 1985 年から 1987 年にかけて、この装置は少なくとも 6 人の患者に大量の放射線の過剰線量を照射しました。 これらの患者は、意図されたレベルの 100 倍の放射線量を受け、致命的な放射線火傷や重度の組織損傷にさらされました。
原因:ソフトウェアの競合状態
Therac-25 は安全性を完全にソフトウェアに依存していましたが、コードのバグにより危険な状態が発生する可能性がありました。この装置には、低出力 X 線モードと高出力電子ビーム モードの 2 つのモードがありました。機器が治療を開始する前に技術者がすぐにモードを変更すると、ソフトウェアの競合状態により減衰器が所定の位置から外れ、致命的な電子ビームが患者に直接当たる可能性があります。
総コスト:3 ライフ
少なくとも3人の患者が放射線の過剰摂取で死亡し、他の患者は重度の火傷、切断、臓器損傷など生涯にわたる負傷を負った。 AECL に対して複数の訴訟が起こされ、金銭的な和解が成立しました。
1.パトリオット ミサイルの失敗
1991年2月(第一次湾岸戦争中)、サウジアラビアのダーランにあるアメリカのパトリオット・ミサイル・システムは、飛来するイラクのスカッド・ミサイルの迎撃と追跡に失敗した。スカッドはアメリカ軍の兵舎に衝突しました。
失敗の理由:浮動小数点精度による累積されたタイミング エラー
パトリオット ミサイル システムは、時間を追跡するために 24 ビット浮動小数点レジスタに依存していました。しかし、100 時間以上連続動作させた後、丸め誤差が蓄積し、内部時計が 0.34 秒ずれてしまいました。スカッド ミサイルは毎秒約 1,676 メートルで移動するため、この小さなタイミング エラーにより、レーダーはミサイルの位置を約 600 メートル誤って計算し、迎撃の失敗につながりました。
影響:兵士 28 名が死亡、100 名が負傷
この衝撃により28人のアメリカ兵が死亡、約100人が負傷し、戦争中アメリカ軍に対する最も致命的な攻撃の一つとなった。
その他の重要なソフトウェア障害
著作権侵害で告発された Microsoft 顧客: Windows チームの誰かが、誤ってバグだらけの試作ソフトウェアをすべての Windows サーバーにインストールしてしまいました。その後 19 時間にわたり、すべての正規 XP ユーザーは海賊版ソフトウェアを実行していると告げられました。
仮釈放中の犯罪者: 2011 年、コンピュータ プログラム コードの小さなミスにより、約 450 人の暴力犯罪者がカリフォルニア郡刑務所から釈放されました。
第三次世界大戦 (危うく起こるところだった):ソ連の早期核警報システムは、1983年9月26日にアメリカのミサイルの発射を報告した。ソ連のシステムは雲の上からの太陽光の反射を誤って捉え、それをミサイルの発射だと解釈した。
その後、ミサイル攻撃の警告はソ連防空軍の士官によって誤報であることが判明した。この決定により、核戦争と何百万もの人々の潜在的な死が回避されました。
停電: 闇は米国の 8 つの州に広がり、2003 年には 5,000 万人が影響を受けました。問題は、コードの同じ要素を使用する 1 つの操作の 2 つの別々のスレッドによって引き起こされる競合状態でした。
Apple Map が失敗する: iOS 6 のリリースに伴い、Apple は優れた Google マップ プラットフォームを放棄することを決定しました。残念ながら、これはモバイル コンピューティング業界の最も壮大な失敗の 1 つであることが判明しました。 2012 年 9 月、TPMIdeaLab は、ソフトウェアに町全体、間違って配置された場所、雲に隠れた衛星画像などのエントリが欠落していることに気づきました。
LAX 便の運航停止: 2007 年、大量の誤ったデータが米国国境と税関管理ネットワークに送信されました。これにより、ロサンゼルス国際空港は空港全体を 8 時間閉鎖し、問題が解決するまで 17,000 機以上の飛行機が運航を停止した。原因は、単一の欠陥のある組み込みソフトウェアでした。
続きを読む:
- 14 種類のコンピュータ ウイルス
- 13 種類のマルウェア [例付き]
産業技術