ソフトウェアサプライチェーンとは、ソフトウェアが開発・提供・運用されるまでに関わるすべての人・組織・ツール・部品のつながりです。
近年のシステム開発では、オープンソースソフトウェア(OSS)の利用やクラウドサービスの普及により、開発スピードが加速する一方で外部の部品への依存関係が複雑化しています。もし、開発途中で組み込んだ外部の部品に欠陥や悪意のあるプログラムが潜んでいた場合、最終的な製品を利用する多くのユーザーや企業に被害が及ぶリスクがあります。そのため、完成した製品だけでなくプロセス全体の安全性を確保することが不可欠です。
本記事では、ソフトウェアサプライチェーンについて以下の内容を解説します。
- ソフトウェアサプライチェーンの概要
- リスクが高まっている理由と代表的な攻撃手法
- 過去に起きた重大な被害・影響事例
- ソフトウェアサプライチェーンを守るための対策
本記事を読むことで、ソフトウェアサプライチェーンにおけるリスクの実態や、自社のシステムを守るための具体的な方法がわかります。開発スピードとセキュリティ対策を両立するために、Webアプリケーションの脆弱性診断を効率化する自動化ツールも紹介するので、安全なシステム開発を目指す企業の方はぜひご一読ください。

ソフトウェアサプライチェーンとは
ソフトウェアサプライチェーンとは、ソフトウェアの開発・ビルド・配布・運用に関わるすべての要素のつながり全体を指す概念です。具体的には、プログラムの部品となるソースコードやオープンソースソフトウェア(OSS)だけでなく、開発に使うツール、OS、クラウドサービス、さらには携わる組織など、非常に多くの要素によって構成されています。近年は外部の製品やサービスを部品として組み込む機会が増え、その依存関係はより複雑化してきました。
製造業のサプライチェーンと同様に、上流の部品や工程が下流の製品に組み込まれていくため、どこか一箇所に問題があれば製品全体の安全性に影響します。たとえ自社で書いたコードに不備がなくとも、外部から取り入れた部品に脆弱性が潜んでいれば、そこが攻撃の入り口になりかねません。したがって、自社のシステムを守るためには、完成した製品そのものだけでなく、開発から提供に至るプロセス全体のセキュリティを確保することが求められます。
ソフトウェアサプライチェーンのリスクが高まっている理由
近年、ソフトウェアサプライチェーンを狙った攻撃が相次ぎ、そのリスクへの対応が重要になっています。その背景には、現代のソフトウェア開発を取り巻く環境の変化があります。開発のあり方が便利になるほど、その裏側では新たなリスクも生まれているのです。
ここでは、リスクが高まっている理由を3つの観点から見ていきます。
- オープンソースソフトウェア(OSS)利用の増加
- アプリケーション開発スピードの加速
- アタックサーフェスの拡大
オープンソースソフトウェア(OSS)利用の増加
現在のアプリケーションは、一からすべてを作るのではなく、オープンソースソフトウェア(OSS)や外部から提供されるプログラムの部品に依存して構築されています。OSSは開発効率を高めるうえで欠かせない存在ですが、広く使われるライブラリに脆弱性や改ざんがあった場合、それを利用する多くの製品やサービスへ影響しかねません。
さらに、あるライブラリがさらに別のライブラリに依存している関係性も、問題を複雑にしている要因の一つです。この依存関係が深くなるほど、自社のシステムで実際にどのようなソフトウェア部品を使っているのかを正確に把握することが困難になります。目の届かない層に潜む部品まで管理が行き届かず、知らないうちにリスクを抱え込んでしまうおそれもあるでしょう。
アプリケーション開発スピードの加速
近年のシステム開発では、アジャイル開発やDevOpsといった手法が広く普及しています。これらの手法により、ソフトウェアを短期間で完成させ、頻繁に改善して世に出すサイクルはかつてないほど短くなりました。新しい機能をいち早く提供できるメリットがある一方で、頻繁なリリースが求められる環境では、セキュリティ対策を開発プロセスへ適切に組み込めていないと、脆弱性の見落としにつながる可能性があります。
そのため、管理が不十分な場合には、安全性のチェックがおろそかになる危険性が潜んでいます。このような開発の速さと安全性の両立の難しさが、ソフトウェアサプライチェーンの弱点を生む大きな要因になっていると言えます。
アタックサーフェスの拡大
クラウドサービスや外部ツール、数多くの依存部品を組み合わせて構築する現在の開発環境では、攻撃者が侵入を試みることのできる入口が増え続けています。リモートワークやクラウドシフト、DXの推進などにより、サイバー攻撃の起点や経路となるアタックサーフェスは増加しています。利用する部品やサービスが多層的につながるほど、守るべき範囲は広がり、その一つひとつが弱点になり得るのです。
攻撃者は、ソフトウェアベンダーやサービス提供者など上流に位置する組織を狙い、それを利用する多くの製品や組織へ効率的に被害を広げようとします。上流組織の開発・ビルド・配布環境が侵害されると、正規の製品やサービスを通じて、利用組織の内部へ不正に侵入されるおそれがあります。
ソフトウェアサプライチェーンが狙われる代表的な攻撃手法
ソフトウェアサプライチェーンの弱点を突くサイバー攻撃は、非常に巧妙化しています。大切なシステムを守るためには、悪意のある第三者がどのような手口で侵入を試みるのかをあらかじめ知っておくことが大切です。
ここでは、特に注意すべき代表的な攻撃手法を4つ紹介します。
- OSSの既知脆弱性の悪用
- ビルドシステムやCI/CDパイプラインの侵害
- ソフトウェア更新プログラムの改ざん
- 認証情報の漏えい・内部不正
OSSの既知脆弱性の悪用
OSSの多くは、見つかった脆弱性の情報を誰でも確認できるように公開しています。しかし、この情報はシステムを守る側だけでなく、サイバー攻撃者にとってもシステムを攻撃するための格好の手がかりにもなります。脆弱性を修正するための更新プログラムが提供されていても、すぐには適用されず、古いバージョンのまま使われ続けているケースは非常に多いのが実情です。その結果、対策が遅れた隙を突かれて、システムへの侵入口として狙われる事態が発生します。
特に、世界中のさまざまなシステムで広く利用されているOSSの部品に弱点が見つかった場合、その影響範囲は計り知れません。情報公開後、短期間でその欠陥を悪用した攻撃が広く行われる可能性があります。一度狙われると多くの企業が被害を受けるため、日頃から利用しているソフトウェアの状況を把握し、適切に管理しなければなりません。
ビルドシステムやCI/CDパイプラインの侵害
ソフトウェア開発では、コードをまとめて実行可能な形に組み立てる「ビルド」や、それを自動的に配布する「CI/CDパイプライン」と呼ばれる仕組みが広く使われています。ここが攻撃の標的になると、たとえソースコード自体は正常であっても、組み立ての過程で成果物に不正なコードを混入させられてしまいます。
この手口が厄介なのは、被害の発覚が遅れやすい点です。不正なコードが仕込まれた成果物が、正規のビルド・署名・配布工程を経て利用者のもとへ届く場合があるため、受け取る側は疑うきっかけをつかめません。また、ビルドシステムには広範な権限が与えられていることが多く、攻撃者にとって侵入後の足がかりを広げやすい対象でもあります。開発の中核を担う環境であるからこそ、攻撃者にとっても価値の高い標的となるのです。
ソフトウェア更新プログラムの改ざん
ソフトウェアの機能追加やセキュリティ向上のために提供されるアップデート機能は、本来、利用者にとって安全で信頼できる配布経路です。しかし、攻撃者はこの信頼関係に目をつけ、更新プログラムそのものを改ざんすることで、正規のアップデートを装ってマルウェアを一斉に送り込もうとします。
この攻撃が広範囲に及びやすいのは、利用者が更新を安全なものと信じ、正規の更新として受け入れてしまうためです。そのため、巧妙に仕込まれた不正なプログラムであっても、警戒されることなくインストールされてしまうおそれがあります。結果として、ソフトウェアのアップデートを通じた攻撃は、短期間で被害が広範囲に及びやすいという非常に厄介な事態を引き起こしかねません。
認証情報の漏えい・内部不正
ソフトウェア開発の現場では、システムに接続するためのパスワードやAPIキー・アクセストークンなどが用いられています。これらの重要な認証情報が誤って公開されたり漏えいしたりすると、サイバー攻撃者に対して開発環境への侵入経路を直接与えてしまいます。また、外部からの攻撃だけでなく、正規のアクセス権限を持つ内部の関係者による意図的な不正行為も、サプライチェーン全体の安全を脅かすリスクの一つです。
このような事態は、誰にどのような操作を許可するかという権限管理や、機密情報の取り扱いが甘いことによって発生しやすくなります。開発のスピードや利便性を優先するあまり、ルールの徹底をおろそかにしてしまうと、そこが深刻な被害の起点となりかねません。そのため、システム内に重要な情報を残さないように注意を払い、必要最小限の権限付与やアクセス管理を徹底する管理体制を築くことが重要といえます。
ソフトウェアサプライチェーンの被害・影響事例
実際にソフトウェアサプライチェーンが狙われた結果、世界的な大問題に発展したケースは少なくありません。過去の重大な事件から、サイバー攻撃がどのように広がり、どのような影響を及ぼしたのかを学ぶことができます。社会に大きな衝撃を与えた2つの代表的な被害事例を確認してみましょう。
- 事例1|SolarWinds
- 事例2|Log4Shell
事例1|SolarWinds
2020年に発生したSolarWindsの事件は、サプライチェーン攻撃への注目を大きく高めた代表的な事例です。ITインフラを管理する同社のソフトウェアのビルド環境が攻撃者に乗っ取られ、気づかないうちに悪意のあるプログラムが仕込まれました。この不正なプログラムは、正規の電子署名が付与された公式のアップデートとして配信されたため、利用者は疑うことなく自身のシステムに適用してしまったのです。
この巧妙な攻撃によって、悪意あるアップデートは約1万8,000の顧客へ配布されました。そのうち一部の組織では後続の侵害が確認され、大手IT企業や米国の政府機関にも影響が及びました。ソフトウェアそのものだけでなく、開発・ビルド環境まで含めて保護する重要性を示した事例と言えます。
事例2|Log4Shell
2021年12月に発覚した「Log4Shell」は、OSSの依存関係に潜むリスクが世界中に大規模な混乱をもたらした有名な事例です。この事件は、Java用に広く使われているオープンソースのロギングライブラリ「Log4j」に、リモートからの不正なコード実行につながる深刻な脆弱性(CVE-2021-44228)が発見されたものでした。
Log4jは非常に便利なライブラリであり、世界中で広く使用されています。他のソフトウェアやサービスに組み込まれて利用されていたケースも少なくありませんでした。そのため、自社のシステムが危険にさらされているのかどうか、影響範囲の特定が困難でした。OSSの利用状況や依存関係を、日頃から把握しておくことの重要性を改めて浮き彫りにした事例です。
ソフトウェアサプライチェーンを守るための対策
ソフトウェアサプライチェーンのリスクは避けて通れないものですが、適切な対策を講じることで被害を抑えることは十分に可能です。大切なのは、開発から運用までの各段階で、継続的にセキュリティを意識する姿勢です。
ここでは、実践すべき代表的な4つの対策を紹介します。
- SBOMで使用しているソフトウェア部品を把握する
- DevSecOpsにより開発工程でセキュリティを組み込む
- 外部ツールやアカウントのアクセス権限を厳格に管理する
- アプリケーションの脆弱性診断を定期的に実施する
SBOMで使用しているソフトウェア部品を把握する
ソフトウェアサプライチェーンの安全を確保するには、自社のシステムでどのようなソフトウェア部品が使われているかを正確に把握する必要があります。そのための有効な手段として、「SBOM(ソフトウェア部品表)」の導入が推奨されています。SBOMとは、製品に含まれるOSSやライブラリなどのソフトウェア部品や、そのバージョン・依存関係などを一覧化したものです。
自社が何の部品を使っているかを可視化しておくと、新たな脆弱性が公表された際に、自社のシステムに危険が及んでいないか影響範囲を特定して素早く対応できるようになります。ただし、部品のリストを作成するだけでは万全とは言えません。把握した情報をもとに、OSSや外部ライブラリに関する脆弱性の情報を継続的に確認し、必要に応じてプログラムの更新や修正を速やかに行える体制を整えましょう。
DevSecOpsにより開発工程でセキュリティを組み込む
ソフトウェアサプライチェーンの安全性を高めるためには、「DevSecOps」というアプローチを取り入れるのが効果的です。これは、ソフトウェアの開発と運用を円滑に進めるための仕組みに対して、セキュリティの観点を最初から統合する考え方を指します。システムの完成直前になって安全性を確認するのではなく、企画や設計といった開発の早い段階から各工程でチェックを組み込むシフトレフトの考え方が重要です。
このような手法を取り入れることで、セキュリティ上の問題点を早期に発見し、修正にかかる手戻りの時間を削減できます。さらに、検査や確認の作業に自動化ツールを導入すれば、開発への負担を抑えながら、安全性を高めることが可能になります。常に変化するサイバー攻撃の脅威に対応しつつ、迅速にシステムを提供していくために、開発の全工程においてセキュリティを意識した体制づくりをしましょう。
▼関連記事
外部ツールやアカウントのアクセス権限を厳格に管理する
現代の開発現場において、CI/CDと呼ばれる自動化の仕組みや外部の便利なサービスと連携することは珍しくありません。そのため、システムに接続するためのアカウントや、APIキー・アクセストークンの権限管理が、セキュリティを守るうえで非常に重要な役割を果たします。そこで求められるのが、作業に必要な最小限の権限だけを与える「最小権限の原則」の徹底です。
同時に、重要な認証情報を安全な場所に保管し、定期的にローテーションする運用も欠かせません。さらに、一度連携を許可した外部ツールであっても、不要なアクセスが許可されたままになっていないか定期的に見直す必要があります。このような地道な権限の管理を続けることが、結果として第三者による不正侵入のリスクを大幅に下げることにつながります。
アプリケーションの脆弱性診断を定期的に実施する
自社で開発したアプリケーションに潜む脆弱性を見つけるためには、定期的な脆弱性診断が不可欠です。システムの完成時に一度だけ安全性を確認して終わるのではなく、新しい機能の追加やプログラムの更新を行うたびに、継続的にチェックしましょう。このような運用を徹底することで、アプリケーションの変更によって新たに生じた脆弱性についても、早期に発見して迅速に対処できます。
安全なソフトウェアサプライチェーンを維持するためには、開発のスピードを落とさずに脆弱性を検知できる仕組みづくりが求められます。自動診断できるツールを活用して、定期的な診断を日常の業務に組み込めば、予期せぬサイバー攻撃の被害を防ぎやすくなるはずです。
▼関連記事
開発スピードとセキュリティを両立するなら「AeyeScan」
ソフトウェアサプライチェーンの安全性を維持するには、継続的なセキュリティチェックが欠かせません。特に、部品を組み合わせて構築された最終的なWebアプリケーションに潜む脆弱性を、継続的に確認することは重要です。しかし、手作業での確認は時間と手間がかかり、システム開発の妨げになってしまうことがあります。そこでおすすめしたいのが、Webアプリケーションの脆弱性診断をクラウド上で自動化できるツール「AeyeScan」です。AeyeScanを使えば、専門的な知識を持っていなくても簡単に診断を実施でき、開発のスピードを落とすことなく安全性を確保できます。
脆弱性診断を外部委託だけに頼る方法では、コスト・スピード・工数の面で大きな課題がありました。内製による診断を併用することで、企業は事業成長のスピードとセキュリティの両立を図れるようになります。定期的な脆弱性診断をDevSecOpsの一部として仕組み化したい組織にとって、AeyeScanは心強い選択肢となるはずです。
まとめ|ソフトウェアサプライチェーンのリスクを把握し、安全なシステム開発を
ソフトウェアサプライチェーンとは、ソフトウェアの開発からビルド・配布・運用に至るまでのすべての要素のつながりを指す概念です。自社で開発したプログラムだけでなく、利用しているOSSや外部ツールなどの依存関係を正確に把握し、全体を適切に管理することが求められます。
近年は開発のスピードが加速し、便利な外部部品を利用する機会が増えたことで、ソフトウェアサプライチェーンの弱点を狙うサイバー攻撃のリスクが高まっています。ひとたび攻撃を受けると被害が広範囲に及ぶため、開発の各工程でセキュリティ対策を講じることが不可欠です。
しかし、手作業で複雑なソフトウェアの構成を調べたり、定期的に脆弱性診断を実施したりするには、多くの時間や専門的な知識が必要という課題もあります。SBOMやSCA、脆弱性診断ツールなど、目的に応じたツールを活用することで、こうした作業を効率化できるため、開発スピードと安全性を両立できるツールの導入を検討するとよいでしょう。
AeyeScanは、Webアプリケーションの脆弱性診断をクラウド上で自動化し、アプリケーションに潜むリスクの継続的な把握を支援します。専門知識がなくても扱いやすく、開発スピードを落とさずに継続的なセキュリティチェックが可能です。より安全なシステム開発の体制を構築したいと考えている企業の方は、ぜひ資料をダウンロードしてみてください。
著者:榊原敦子(シニアカスタマーマーケティングマネージャー)




