日本企業が直面する構造的問題、新たなセキュリティリスクとは
今回、日本語訳を手がけたNRIセキュアテクノロジーズでDevSecOps事業に携わる福澤達洋氏は「クラウドの普及が、1つの転換点と言えるでしょう。開発環境の構築が容易になり、ライブラリの利用も手軽になったものの、それが新たなリスクとなっています」と指摘。欧米と日本の違いについても言及しつつ、開発現場の文化的背景も大きく影響を与えていると説明する。
米国などでは、社内に開発組織があることは一般的であり、意思決定・情報連携が迅速で、アジャイル開発などの先進的な開発手法も広く浸透している。一方、日本では外部ベンダーに依存する多重下請け構造が根強く、そのステークホルダーは多岐にわたるため、“組織間の連携”が複雑化する傾向がある。
NRIセキュアテクノロジーズが現場で聞くのは「委託先の統制が十分に取れていない」という声だ。委託先の数が増えるにつれ、管理の手間が膨大になり、結果としてサプライチェーン全体の管理が行き届かない事態が生じる。福澤氏は「こうした背景が、セキュリティ対応の遅れやリスクの増大につながっています」と警鐘を鳴らす。
日本のソフトウェア開発事情は、先述したとおりステークホルダーが多層的に関与する構造を背景として、外部ベンダーによって開発されたソフトウェアの詳細を把握することが困難であることが課題となっている。開発が外部ベンダー内で完結せず、その子会社や他の外部ベンダー、さらには下請け企業に委託されることが多く、場合によっては派遣社員やビジネスパートナーにも依頼が及ぶ。この多重構造がセキュリティリスクの特定や対応を難しくしている。
たとえば2021年には、広く利用されているJavaのログ出力ライブラリであるLog4jの深刻な脆弱性(Log4Shell)が発覚した際、多くの企業で“自社のソフトウェアがLog4jを利用しているかどうか”を把握するだけでも手間と時間を要した。そうした課題を解決する手段として期待されているのが「SBOM(ソフトウェア部品表)」だ。SBOMはソフトウェアが利用するライブラリの一覧表であり、ソフトウェアとあわせてSBOMを提供することで、確実なセキュリティリスクへの特定や対応が可能になることが期待されている。
米国大統領令14028では、米国政府に納入するソフトウェアのSBOMを提供することが義務付けられた。NRIセキュアテクノロジーズでデジタルアイデンティティに携わる古川英明氏は「米国では国防総省が中心となり、ソフトウェア・サプライチェーンセキュリティの取り組みが進んでいます。しかし、日本では前述の課題があるため米国ほど取り組みが進んでいない状況ですが、注目は高まっており、医療機器や自動車をはじめとした業界ごとに(ソフトウェア・サプライチェーンセキュリティ推進のための)議論が交わされています」と述べる。
さらに、「生成AI」の流行が新たなリスクをもたらしているという。ソフトウェアの開発において、生成された内容の正確性を担保しきれないことや、著作権侵害の可能性も指摘されている。加えて、攻撃者が生成AIを活用するソフトウェア開発現場を狙うとすれば、生成AIの学習データに不正なコードを注入する可能性も考えられるだろう。
福澤氏は「生成AIリスクの問題も、委託先の管理に通じます」と述べ、委託先が機密情報を漏洩したり、著作権を侵害したりするリスクが高まっている点を強調する。だからこそ、委託元は納品物を十分に検証しなければ、自社が責任を負う事態を招きかねない。生成AIの活用が従来の委託先管理の課題をさらに複雑化させており、より厳格な管理体制が求められている。
特にソフトウェア・サプライチェーンセキュリティの観点では、開発からユーザーに届けるまでに発生するセキュリティリスクへの対応が重要視されている。従来のソフトウェア開発では、開発ライフサイクル内で適切にセキュリティ対策を講じることがベストプラクティスとされてきた。たとえば、コードレビューやセキュリティテストの実施、開発環境の整備などだ。しかし近年では、開発後からユーザーに届けるまでのプロセスにも新たなリスクが加わっている。
「悪意のあるコードが組み込まれるサプライチェーン攻撃、開発環境自体が侵害されて機密情報が漏洩するケースなどが問題視されています。従来のセキュリティ対策だけでは、こうしたリスクに対応しきれない状況にあり、開発環境や供給プロセス全体を包括的に管理する『新しいアプローチ』が必要です」(櫻井氏)
その新たなアプローチの1つこそが、書籍でも紹介している「SLSA:Supply-chain Levels for Software Artifacts」フレームワークである。同氏は「SLSAは、サプライチェーン全体を俯瞰し、開発から配布に至るまでのリスクを包括的に管理することを可能にします。たとえば、開発環境のセキュリティ確保や、不正なコード混入を防ぐ仕組みを導入することで、サプライチェーン全体のセキュリティを担保することができます」と説明した。