ML06:2023 ML サプライチェーン攻撃 (ML Supply Chain Attacks)
Last updated
Last updated
ML サプライチェーン攻撃では、脅威アクターは ML モデルのサプライチェーンをターゲットにします。このカテゴリは広範かつ重要です。機械学習のソフトウェアサプライチェーンは従来のソフトウェアの場合よりもさらに多くの要素を含むためです。MLOps プラットフォーム、データ管理プラットフォーム、モデル管理ソフトウェア、モデルハブ、ML エンジニアがソフトウェアを効率的にテストおよびデプロイできるようにするその他の専門的なソフトウェアなどの特定の要素で構成します。
パッケージの完全性を検証する: インフラストラクチャやアプリケーションの依存関係でパッケージを使用する前に、パッケージのデジタル署名をチェックしてパッケージの真正性を検証します。
パッケージのバージョンを最新に保つ: ソフトウェアサプライチェーン内のパッケージの最新バージョンを常に監視し、古いソフトウェアを使用している場合は依存関係を更新します。OWASP Dependency Check などのツールを使用します。詳細については OWASP Top10 A06:2021 – Vulnerable and Outdated Components を参照してください。
安全なソースからパッケージをインストールする: Anaconda や pip など、厳格なセキュリティ対策を実施し、パッケージの審査プロセスを持つ、安全なサードパーティソフトウェアリポジトリを使用します。
ML インフラストラクチャを安全にデプロイする: スタック内の MLOps プラットフォームに関するベンダーのデプロイメント推奨事項に従い、インターネットからのウェブ UI へのアクセスを制限し、インフラストラクチャ内のトラフィックを監視して異常や攻撃の可能性を探ります。インフラストラクチャがクラウドにデプロイされている場合、仮想プライベートクラウド (VPC)、セキュリティグループ、アイデンティティおよびアクセス管理 (IAM) ロールなどのクラウドプロバイダのセキュリティ機能を活用して、アクセスを制限および制御します。厳格なアクセス制御対策を導入します。認可された担当者のみが MLOps プラットフォームにアクセスできるようにします。
脅威エージェント/攻撃手法 | セキュリティ上の弱点 | 影響 |
---|---|---|
本チャートは 下記のシナリオ に基づくサンプルに過ぎないことに注意することが重要です。 実際のリスク評価は各機械学習システムの具体的な状況によって異なります。
機械学習プロジェクトを侵害しようとする攻撃者は、そのプロジェクトが複数のオープンソースパッケージやライブラリに依存していることを知っています。
この攻撃では、NumPy や Scikit-learn など、そのプロジェクトが依存するパッケージの一つのコードを改変します。それから、改変版のパッケージは PyPI などのパブリックリポジトリにアップロードされ、他の人がダウンロードして使用できるようになります。被害組織がそのパッケージをダウンロードしてインストールすると、悪意のあるコードもインストールされ、プロジェクトを侵害するために使用される可能性があります。
この種の攻撃は、被害者が使用しているパッケージが侵害されていることに気付かない可能性があるため、長期間見つからない可能性があり、特に危険です。攻撃者の悪意のあるコードは、機密情報を盗んだり、結果を改変したり、機械学習モデルに誤った予測を返すようにするために使われる可能性があります。
攻撃者は複数のオープンソースパッケージやライブラリに依存する機械学習プロジェクトをターゲットにします。
組織は、デプロイメントをサポートするソフトウェアの複数のインスタンスを使用する MLOps パイプラインを構築します。アプリケーションの一つは推論プラットフォームであり、インターネットに公開されています。
攻撃者は認証なしで利用できるプラットフォームのウェブインタフェースを見つけ、公開されることを意図していないモデルへのアクセスを獲得します。
組織はパブリックモデルハブからモデルを使用することを決定します。攻撃者はモデルハブで組織アカウントを偽装する方法を見つけ、モデルハブに悪意のあるモデルをデプロイします。その後、組織の従業員が悪意のあるモデルをダウンロードし、組織の環境で悪意のあるコードが実行されます。
OWASP Top10 A06:2021 – Vulnerable and Outdated Components Model Confusion - Weaponizing ML models for red teams and bounty hunters
悪用難易度: 4 (容易) ML アプリケーション依存: 5 ML オペレーション依存: 3
検出難易度: 5 (容易)
技術的影響: 5 (普通)
脅威アクター: サイバー犯罪グループ、悪質なビジネス上の競合相手。 攻撃手法: 機械学習プロジェクトで使用するオープンソースパッケージを改変します。MLOps スタックの脆弱性を悪用します。
信頼できないまたは安全でないサードパーティコードやソフトウェアに依存しています。
機械学習インフラストラクチャの危殆化と組織への損害の可能性。