May 20, 2025

サプライチェーン攻撃の実例11選

*本記事は DerSecur社の以下のブログ記事(2025年5月20日時点)の参考訳です。
 11 Examples of Supply Chain Attacks
*ブログの内容は更新されている可能性があります。

サプライチェーン攻撃の事例は今や探すまでもなく、サイバーセキュリティ界隈で最も急速に拡大している脅威のひとつと言えるでしょう。最近の調査では、サプライチェーン攻撃の発生件数の急増が確認されるだけでなく、難攻不落と思われていた非常にセキュアな環境までもが突破されるケースも多く報告されています。

昨今では、多くの企業や組織がサードパーティ製のソフトウェアやオープンソースライブラリ、外部委託によるハードウェア製造などに大きく依存していることを考えれば、この傾向はある意味で当然のことかもしれません。こういった相互依存関係や繋がりは開発スピードの加速につながる一方で、攻撃対象領域を広げる結果にもなっています。すべての依存関係が、攻撃者にとっての“侵入口”になり得るのです。

この点にいち早く目を付けた攻撃者たちは、標的の基幹インフラを直接狙うのではなく、相対的に防御の手薄なベンダーやサードパーティ製ツールの脆弱性を突いてくるようになりました。たとえば、オープンソースライブラリに悪意あるコードを紛れ込ませたり、CI/CDパイプラインに入り込んだり、製造段階でファームウェアを書き換えたりといった手を使ってきます。

この種の攻撃が特に厄介なのは、“本物”との見分けが難しい点にあります。攻撃者たちは開発チームが日常的に利用しているツールやパイプラインを悪用します。そのため、異変に気づいたときには、すでに被害が発生していることも少なくありません。

サプライチェーン攻撃とは?

サプライチェーン攻撃とは、信頼されたサードパーティのベンダー(ソフトウェアベンダーやハードウェアサプライヤー、マネージドサービスの提供元など)を経由して、攻撃者が標的組織に侵入するタイプの攻撃を指します。こうしたベンダーには、重要なシステムへアクセス権が渡されているケースが多くあります。

オープンソースを使ったサプライチェーン攻撃では、攻撃者は広く使われているパッケージ、たとえばユーティリティライブラリやプラグインといった一見無害に見えるものに、悪意あるコードを仕込んでおきます。そして、開発者がそのコードを自社プロダクトに知らずに組み込んでしまうと、マルウェアがシステム内や顧客環境で静かに拡散していくのです。MavenGateインシデントなどは、依存関係の小さな改ざんからサプライチェーン全体への大規模なサイバー攻撃へと発展した、典型的なケースと言えるでしょう。

3CXのデスクトップアプリをめぐるサプライチェーン攻撃も有名な事例です。世界中の企業が使用している信頼性の高いアプリケーションがサプライチェーン上流で不正に改変されたケースであり、その点でゼロデイ脆弱性を突いた攻撃とは異なります。信頼されていた仕組みと現代のソフトウェア開発パイプラインが抱える複雑さが狙われた事件でした。

問題となるのは、その影響の範囲です。ライブラリやサードパーティサービスがたったひとつ改ざんされただけで、サプライチェーンの下流にある数十、あるいは数百もの組織が影響を受ける可能性があります。しかも現在のように、継続的インテグレーションと高速なデリバリーが当たり前の開発環境においては、そのリスクはより一層大きなものとなっています。

では、どうすればよいのでしょうか。サプライチェーン攻撃への有効な対策の第一歩は“見える化”です。自社の環境で何が動いているのか、それがどこから来たのか、そして誰が管理しているのか――これらを把握しておく必要があります。同じくらい重要で欠かせないのが、アプリケーションのセキュリティテストです。これはリリースのタイミングで一度だけ実施すればよいものではなく、開発ライフサイクル全体を通じて継続的に行うべきものです。

サプライチェーン攻撃の種類

すべてのサプライチェーン攻撃が、同じような形で行われるわけではありません。それこそが、この攻撃手法の厄介な点でもあります。その標的となるのは、現代のソフトウェア開発の構造そのものであり、共有のコードベースやサードパーティのサービス、さらにはグローバルベンダーから調達されたハードウェアなどが悪用されるのです。

サプライチェーン攻撃にはどのような種類があり、実際にどのように仕掛けられるのかを見ていきましょう。

1. ソフトウェア依存関係の改ざん

これは最近のサイバーセキュリティ攻撃において、最も一般的な手法のひとつです。開発者は、ゼロからすべてを作る手間を省くために、外部のライブラリやフレームワークを活用することが少なくありません。しかし、信頼していた依存コンポーネントに悪意あるコードが攻撃者によって仕込まれた場合、それは組み立てラインに入り込んだ“トロイの木馬”のようなものになってしまいます。

この攻撃の例としてよく知られているのが、ビットコインのウォレット情報を抜き取る目的でnpmの人気パッケージが細工された、「event-stream」のセキュリティインシデントです。ネストされた依存コンポーネントの深い階層に問題となるコードが隠されていたために、多くの開発者がその存在にまったく気づきませんでした。

このような攻撃を防ぐには、依存関係のスキャンやバージョン管理の徹底、パッケージの使用許可に関する明確なポリシーの整備が必要です。アプリケーションのセキュリティテストを自動化できるツールを活用すれば、リリース前にリスクのあるコンポーネントを検出しやすくなります。

2. パッケージのハイジャック

パッケージハイジャックは、正規の開発者アカウントを攻撃者が乗っ取り、人気ライブラリの改ざんしたバージョンをnpmやPyPIのような公開リポジトリにアップロードするという、典型的なサプライチェーン攻撃手法のひとつです。

たとえば、バックドアが仕込まれたPythonの「ctx」パッケージが新しいバージョンとして密かに公開されていたことがありました。そして、そのパッケージを自動更新にしていた開発者は、自分たちのシステムに問題のあるパッケージをそのまま取り込んでしまうことになりました。

このような攻撃を防ぐには、技術的な対策と運用上の対策を組み合わせる必要があります。パッケージ提供者の二要素認証を義務づける、パッケージの作成者の信頼性を精査する、重要なパッケージについては内部ミラーを保持しておく、ハッシュ値による検証を行うといった対策が効果的です。

3. タイポスクワッティング

タイポスクワッティングは、ソフトウェア・サプライチェーン攻撃のなかでも、特に巧妙な手口のひとつであり、人気パッケージの名前のタイプ間違いなどのヒューマンエラーを悪用します。

たとえば、攻撃者は本物とそっくりな名前をまず登録して、そしてマルウェアを仕込んだソフトウェアを公開します。npmやPyPのようなパッケージマネージャは、登録目的を常に確認しているわけではないため、こうした悪意あるコードが自動的にダウンロード・デプロイされてしまうことがあります。

オープンソースを安心して利用するには、明確な安全対策を整えておくことが不可欠です。開発者は、検証済みの依存関係リストを参照し、パッケージ名をインポート前に慎重に確認する必要があります。また、DerScannerのようなセキュリティツールのソフトウェアコンポジション解析機能を用いて、リスクのあるコンポーネントを特定することで、情報漏洩などの重大な問題につながる前に対処することができます。

4. 悪意あるコードインジェクション

攻撃者が、パッケージ提供者のアカウントを乗っ取ったり、内部関係者のアクセス権を悪用して、正規のソフトウェア製品に悪意あるコードを仕込むという手法です。そのソフトウェアが公開されると、問題のコードがユーザー環境で密かに実行されてしまうことになります。

このような攻撃を防ぐには、厳格なビルド検証、コード提供者に関するセキュアな管理体制、そしてソフトウェア更新の度に行う、継続的なモニタリングが欠かせません。一度、QAをパスしたからといって、その製品が常に安全だと考えてはいけません。継続的な検証こそが重要なのです。

5. CI/CDパイプラインへの攻撃

サプライチェーン攻撃では、現代のソフトウェア開発を支えるシステムそのものが標的にされます。なかでもCI/CDパイプラインは、恰好の攻撃対象のひとつであり、攻撃者はそこから自動ビルドやデプロイに用いられるインフラへのアクセスを試みます。CircleCIのセキュリティ侵害のケースでは、トークンやシークレットを含む環境変数が盗まれ、機密データが漏洩するリスクが生じました。

この攻撃は特定のプラットフォームを狙ったもので、アセンブリ段階のコンポーネントに存在するJavaの脆弱性を突いたものでした。脆弱なJavaライブラリ(特に古いバージョンや設定ミスがあるもの)は、攻撃者にとって格好の侵入口となってしまいます。

こうしたリスクを抑えるには、CI/CDシステムへのアクセスの制限や認証情報の分離に加え、静的アプリケーションセキュリティテスト(SAST)やDASTツールを活用して、早い段階で脆弱性を検出することが重要です。

6. ハードウェア・サプライチェーン攻撃

多くのサプライチェーン攻撃はソフトウェアに関するものですが、ハードウェアに対するリスクも決して無視できません。ハードウェア・サプライチェーン攻撃では、攻撃者は運用環境に組み込まれるよりも前に、マイクロチップやファームウェアといった物理コンポーネントに対する改ざんを行います。

世界的な注目を集めたサプライチェーン攻撃の一例に、Supermicro製品へのスパイチップ埋め込み疑惑があります。最終的にその事実は確認されなかったものの、製造から納品に至るプロセスがどれほど脆弱になり得るかを浮き彫りにした事件でした。

7. 依存関係のかく乱

依存関係の混乱は、内部パッケージと同じ名前の悪意あるパッケージが、攻撃者によって公開リポジトリに登録されることで生じます。セキュリティ研究者であるAlex Birsan氏は、内部パッケージと同名のパッケージをnpmやPyPIにアップすることで、開発者がその偽物を使ってしまうリスクがあることを実証しました。このタイプのサプライチェーン攻撃では、プライベートリポジトリと公開リポジトリ間での、パッケージ名の競合を悪用して、社内システムへの侵入を試みます。

こうした攻撃を防ぐには、プライベートリポジトリと公開リポジトリを明確に分離し、パッケージの取得元を検証するための厳格なガイドラインを策定・運用する必要があります。

サードパーティベンダーへの侵害

この攻撃では、外部パートナーが攻撃の侵入経路として利用されます。ベンダー側で攻撃者の侵入を許してしまえば、そこから関係のある組織のシステムへの侵入も許してしまいかねません。

このタイプの攻撃の例として広く知られているのが、Codecovのインシデントです。ソースコードの欠陥が原因となり、同社の提供する継続的インテグレーションプラットフォームの利用者が機密性の高い認証情報を窃取されるという事態が発生しました。この事例は、サプライチェーン攻撃の起点が必ずしも自社のシステムとは限らないことを意味しています。

こうしたリスクを軽減するためには、ベンダーに対する詳細なリスク評価を実施するとともに、外部アクセスを本当に必要な範囲に厳密に限定することが重要になります。

9. 偽のソフトウェア更新

攻撃者は必ずしも“侵入”してくるわけではありません。虚偽の名で“招き入れられる”場合もあります。サプライチェーン攻撃のなかでも特に危険なのが、偽のソフトウェア更新を利用する手口です。信頼できるブランド名などで一見、正規のものに見せておいて、実際にはマルウェアをインストールさせるというものです。

この手口の代表例として知られるのが、Flameマルウェア事件です。攻撃者が盗んだデジタル証明書を使ってMicrosoftの更新を偽装。正規の更新に見えたために、基本的なチェックをすり抜け、多くのシステムが感染する事態に陥りました。

こうした攻撃を防ぐには、厳格な管理が不可欠です。その更新がデジタル署名されていること、セキュアなHTTPS接続経由で配布されていること、そして既知のハッシュ値と一致することを必ず確認する必要があります。

ハードウェアレベルでのサイバーセキュリティ・サプライチェーン攻撃は、より検出が難しく、一度侵入されるとほぼ修復不可能です。唯一の有効な防御策は予防であり、信頼できるサプライヤーからハードウェアを調達し、納品時にすべてを検査し、調達プロセス全体で厳格なセキュリティ基準を維持することが重要です。

10. 署名付きマルウェア攻撃

署名付きマルウェア攻撃では、攻撃者は盗んだ証明書を使い、自らのマルウェアに署名を付けて正規のソフトウェアに見せかけます。たとえば、Stuxnet攻撃で使われたマルウェアは、正規のRealtek社のデジタル署名が付いていたために、アンチマルウェアソフトに検知されることがありませんでした。

こうした攻撃を防ぐには、証明書の信頼性を検証する、盗まれた証明書を無効化する、Scala向けSASTのような強力なアプリケーションセキュリティテストを導入するなどの対策が求められます。

11. サプライチェーンにおける内部脅威

サプライチェーンにおける内部脅威とは、業務委託先や従業員がシステムに脆弱性や悪意あるコードを持ち込むことを指します。その典型例がUbiquiti社のハッキング事件で、内部関係者が盗み出した機密情報と引き換えに身代金を要求しました。

こうした内部関係者による攻撃を防ぐには、委託先の徹底した審査、リアルタイムなアクティビティ監視、厳格なアクセス制御などが求められます。アクセス権限を分離し、従業員や委託先のアクティビティを細かく監視することで、内部脅威を抑止することができます。

近年のサプライチェーン攻撃事例

近年のソフトウェア・サプライチェーン攻撃は、重要なシステムに潜むリスクが高まっていることを示しています。複数の重大なインシデントを通じて、ソフトウェアやサービスをサードパーティに依存することの危険性が浮き彫りになりました。ここからは、実際に発生したサプライチェーン攻撃の事例を詳しく見ていきましょう。

SolarWinds事件(2020年)

SolarWinds事件は、世界中に影響を及ぼした極めて重大なソフトウェア・サプライチェーン攻撃として知られています。政府機関などで広く使われているOrionの更新プラットフォームに攻撃者が侵入し、システム更新に悪意あるコードを紛れ込ませることで、数千に上る重要サーバーへの遠隔アクセスが可能となってしまいました。

Kaseyaソフトウェア・サプライチェーン攻撃(2021年)

この事件も、広く知られるサプライチェーン型サイバー攻撃のひとつです。攻撃者はKaseya社が提供するVSAソフトウェアを標的とし、ソフトウェア更新にREvilランサムウェアを仕込むことで数千のユーザーに影響を及ぼしました。信頼されたソフトウェアの配信経路を悪用する典型的な手口の一例です。

この攻撃による影響が甚大だったため、7,000万ドルもの身代金が要求されました。ランサムウェアがサプライチェーンに及ぼす影響の大きさを示す事例であり、こうしたリスクを抑えるためのサイバー攻撃防止策の必要性を強く訴えるものとなりました。 

Atlassianを狙ったサイバー攻撃(2021年)

2021年、Atlassianはサプライチェーン型のサイバー攻撃の標的となり、同社のSSO(シングルサインオン)システムに存在していた重要な脆弱性が露呈しました。攻撃者はSSOトークンを悪用し、複数の連携アプリケーションに不正アクセスすることに成功。この影響は、Atlassianのプラットフォームを利用している多くの企業、数千のユーザーに及びました。この件では、認証システムを強化し、セキュリティプロトコルを堅牢に保つことの重要性が明確になりました。

Apple、Microsoftなどへの攻撃(2021年)

依存関係を悪用する典型的なシナリオとして、セキュリティ研究者のAlex Birsan氏は、有名企業でも使われている一般的な依存パッケージに、攻撃者がどのようにして有害なコードを注入できるのかを実証しました。

偽の依存パッケージをエンドユーザーに配布することで、攻撃者がソフトウェア開発ライフサイクルのサプライチェーンに侵入できることを示したのです。この攻撃は、依存関係を利用して悪意あるコードを拡散させる、オープンソース・サプライチェーン攻撃の典型例とされています。

Mimecastに対する攻撃(2021年)

メールセキュリティサービスを提供するMimecast社は2021年に、MimecastとMicrosoft 365 Exchange Web Servicesとの接続認証に使われていた証明書を盗まれるというセキュリティ侵害を受けました。その結果、ハッカーが機密性の高い通信データを傍受・閲覧できるようになってしまいました。この影響はMimecastの顧客のおよそ1割に及びました。この攻撃は、インフラレベルの信頼そのものがサプライチェーン型サイバー攻撃の標的となり得ること、そして信頼関係を悪用された場合の攻撃の検知の難しさを浮き彫りにしました。

サプライチェーン攻撃をリアルタイムに防ぐには

サプライチェーン攻撃をリアルタイムに防ぐとは、発生後に対応するだけではなく、攻撃が起こったその時に検知して対処することを意味します。

最も効果的なアプローチのひとつは、本番環境でソフトウェアの挙動を監視するツールを活用することです。ランタイム保護のソリューションは、不審なアクティビティが行われた瞬間に検知するのに役立ちます。これにより、セキュリティチームは攻撃が拡大・拡散する前に行動を起こすことが可能になります。

これらのツールは、包括的なアプリケーションセキュリティテストのソリューションと組み合わせることで、改ざんされたソフトウェアに起因する問題を検知し、実運用中にいち早く警告を発してくれます。わずかな不備が深刻なデータ侵害や顧客情報の漏洩につながりかねない、Javaのセキュリティ脆弱性などを検知するには、こうした仕組みが特に不可欠です。

さらに、EDR(Endpoint Detection and Response)やXDR(Extended Detection and Response)のようなツールも重要な役割を担います。これらのシステムはネットワーク全体で端末を監視し、ラテラルムーブメント(横移動)やその他の侵入の兆候を検知しやすくします。もし、Javaの脆弱性や未知のバイナリが異常な挙動を示したら、迅速に対応して脅威を封じ込めることができるのです。

もうひとつ有効な手段は、SBOM(ソフトウェア部品表)の管理です。アプリケーションに何が含まれているかを正確に把握していれば、ソフトウェア更新によって新たなリスクが持ち込まれた際にも、より的確に対応することができるでしょう。

サプライチェーンセキュリティの未来

攻撃者はますます狡猾になっており、デジタルと物理の双方のサプライチェーンに存在する弱点を突き、システムに侵入する新たな手口を見つけ出しています。広く利用されているオープンソースコンポーネントに悪意あるコードを注入するなど、攻撃のアプローチは多様化し続けています。

こうしたソフトウェア・サプライチェーン攻撃に対抗するうえで、見落とされがちな脆弱性を特定し、修正するのに役立つ、Delphiのコードセキュリティソリューションのようなツールがますます重要になっています。重要なのは、攻撃を阻止することだけではありません。コードの品質を根本から改善し、攻撃者が付け入る余地を減らすことなのです。

セキュリティの枠組みとしては、NISTやISOもサイバー攻撃を防止するうえで重要な役割を担っており、リスクの管理方法、インシデント対応、そして拡大し続けるソフトウェア・サプライチェーン攻撃の脅威に対処するための明確な指針を提供してくれます。

加えて、ベンダーや開発者、そして政府の間でより良い連携を図ることも不可欠です。具体的には、脅威インテリジェンスの共有や、サードパーティプロバイダーの精査をより慎重に行うことが求められています。

まとめ

ソフトウェア・サプライチェーン攻撃は、コードを壊すだけでなく、信頼そのものを損なうものです。実際の事例が示すように、ひとつのソフトウェアへのセキュリティ侵害が、情報漏洩やサービス停止、さらには事業への長期的な打撃へとつながる可能性があります。

取るべき対策は、防御をより強固にすることです。コードの品質を向上させる、ベンダーリスクを管理する、問題が拡大する前に顕在化させるツールに投資するといった取り組みが必要になります。

脅威は増大していますが、それを防ぐ手段もまた進化しています。重要なのは、常に警戒を怠らず、攻撃を受けてから修正を始めるのではなく、あらかじめ備えておくことなのです。

サプライチェーンセキュリティの強化に役立つ「DerScanner」について詳しく知りたい方は、製品ページをご覧いただくか、以下までお気軽にお問合せください。

■ お問い合わせ先 ■

株式会社東陽テクニカ ソフトウェア・ソリューション部

phone 03-3245-1248(直通) mail ss_sales@toyo.co.jp