近年、ソフトウェア開発では、ビジネス環境変化への迅速な対応とともにソフトウェアにおけるサプライチェーンリスクへの対策が求められている。これらを背景に、開発スピードを維持しつつ、開発から運用までの全工程を通じて脆弱性修正にかかるコストを抑える手法として「セキュア開発」が注目されている。本稿では、各種セキュリティ機関の公表データを基に「セキュア開発」の必要性を考察し、用語の理解と実践に向けて組織が取り組むべきポイントについて論じる。
近年のソフトウェア開発では、生成AIの活用をはじめ、開発スピードを重視した手法の導入が進み、ビジネス環境や市場ニーズの変化に迅速に対応しようとしている。一方で、スピードを優先する体制においては、セキュリティ対応が後回しにされやすく、運用開始後に脆弱性が発覚しても修正が行われないケースが少なからず確認されている。
IPA(情報処理推進機構)が公開している統計によれば、ソフトウェア製品およびWebサイトに関する脆弱性のうち、修正完了が報告された割合は、過去10年間ほとんど60%台前半にとどまっている。このように、届出された脆弱性の一定数が未修正のまま残されている実態が明らかになっている(図1)。
さらに、ITR Review『システム内製化に伴うセキュリティリスク』(R-225073)で述べたように、昨今はソフトウェアサプライチェーンを標的とした攻撃が相次いでおり、開発段階から脆弱性への対応を組み込むことの重要性が高まっている。こうした背景から、開発スピードを維持しつつ、設計から運用に至る全ての工程でセキュリティを意識的に取り入れる「セキュア開発」の実践が不可欠となっている。
「セキュア開発」はコスト面からみても、ソフトウェア開発の生産性に寄与する。NIST(米国国立標準技術研究所)の試算では、要件定義や構造設計の段階で脆弱性に対応するコストを「1」とした場合、開発プロセスが進むほど修正コストは増大し、本番運用後に対応する場合は約30倍のコストがかかるとされている。このことからも、早期段階でセキュリティを考慮することが、経済的にも合理的であることが示されている(図2)。
なお、このデータは2002年に公表されたものであり、当時と比較して、現在のソフトウェアは構成の複雑性が増しているため、本番運用後に脆弱性を修正する際のコストは、さらに高騰していると考えられる。したがって、開発初期段階でセキュリティを組み込む「セキュア開発」によって得られるコスト削減効果は、より大きいと推察される。