ソフトウェア開発で続くセキュリティ軽視–業界に求められる迅速な変化
今回は「ソフトウェア開発で続くセキュリティ軽視–業界に求められる迅速な変化」についてご紹介します。
関連ワード (ソフトウェア開発の新たなトレンド、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
世界中の組織やインフラストラクチャーがソフトウェアの脆弱性に対してどれほど無防備かを示す出来事が1つあるとすれば、それは「Log4j」だった。
「Java」のロギングライブラリー「Apache Log4j」の深刻なゼロデイ脆弱性により、攻撃者がリモートからコードを実行してデバイスやネットワークにアクセスすることが可能になってしまった。このオープンソースソフトウェアは、膨大な数のアプリケーション、サービス、エンタープライズソフトウェアツールに組み込まれているため、広範囲で長期にわたって混乱が発生するおそれがあった。
米サイバーセキュリティ・インフラセキュリティ庁(CISA)長官のJen Easterly氏が、この脆弱性を「私がこれまでのキャリアで見た中で、最も深刻とまでは言わないが、最も深刻なものの1つ」と評したのは、当然のことだ。
セキュリティパッチがすぐに開発され、組織は速やかにパッチ適用を進めたが、Log4jはオープンソースのコードであり、広範に使用されているため、アップデートを受け取らないソフトウェアやアプリケーションは今後も存在し続けるだろう。Log4jが開発プロセスの一部だったことに誰も気づいていない場合は、パッチ適用の可能性がさらに低下する。
Log4jは、長年使用されてきたソフトウェアで見つかった深刻なセキュリティ脆弱性の一例にすぎない。この脆弱性が発覚する20年前に発表されたのが、当時Microsoftの最高経営責任者(CEO)だったBill Gates氏の「Trustworthy Computing」(信頼できるコンピューティング)メモだ。このメモは、MicrosoftのOSと製品でさまざまなバグやセキュリティホールが発見されたことを受けて、同社の開発者に対し、もっと安全なソフトウェアを作るよう促すものだった。
「最終的には、根本的に安全なソフトウェアを作り、顧客がセキュリティについて一切心配せずにすむようにするべきだ」とGates氏は記している。
それから20年が過ぎた現在、「Microsoft Windows」は、適切に使用してセキュリティ更新プログラムが適用されている場合は、一般に非常に安全なOSとみなされているが、Microsoftでさえコードの深刻な脆弱性からは逃れられない。さらに広い範囲に目を向ければ、依然としてあまりにも多くの無防備なソフトウェアが存在する。
出荷されるソフトウェアには必ずバグが含まれているが、ソフトウェアとサービスは日常生活における重要度が以前にも増して高まっており、セキュリティ脆弱性の影響によって生じる被害はさらに大きくなる可能性がある。
ソフトウェア開発は多くの点で、この新たな現実に対応できるように進化していない。脆弱性(重大な脆弱性の場合もある)が発見されるのは依然として、製品が展開されたずっと後だ。Log4jのようなあまり知られていないコンポーネントが関わっている場合、自社に影響があるかどうかさえよく分からないかもしれない。
「現在のソフトウェア開発の方法は本質的に、バグや不具合が発生しやすい」。ソフトウェアセキュリティ企業Code42の最高技術責任者(CTO)兼ソフトウェア開発チーム責任者であるRob Junker氏はこのように語る。
「ペースが速くなった現在の開発プロセスは、大半のセキュリティチームのベストプラクティスと相容れないものだ」
サイバーセキュリティ担当者は、ソフトウェアを安全なものにしたいと思っている。そのプロセスには、投資、人員、時間が必要だ。これは多くの場合、ソフトウェアを構築する企業の要件と衝突する。こうした企業はコードが問題なく機能することを確認し、できるだけ早く公開したいと考えている。新しい製品や機能がそのコードに依存している場合はなおさらだ。
業界におけるセキュリティの現状は企業によって大きく異なり、一部のトップベンダーのセキュリティはかなり良好だが、大多数のベンダーは(資金が潤沢な企業でも)基本的なセキュリティ投資が不足している、とLuta SecurityのCEOであるKatie Moussouris氏は語る。