📗
owasp-machine-learning-security-top-10-ja
  • OWASP Machine Learning Security Top Ten ja
  • OWASP 機械学習セキュリティ Top 10 日本語版
    • OWASP 機械学習セキュリティ Top 10
    • リーダー
    • ML01:2023 入力操作攻撃 (Input Manipulation Attack)
    • ML02:2023 データポイズニング攻撃 (Data Poisoning Attack)
    • ML03:2023 モデル反転攻撃 (Model Inversion Attack)
    • ML04:2023 メンバーシップ推論攻撃 (Membership Inference Attack)
    • ML05:2023 モデル盗用 (Model Theft)
    • ML06:2023 ML サプライチェーン攻撃 (ML Supply Chain Attacks)
    • ML07:2023 転移学習攻撃 (Transfer Learning Attack)
    • ML08:2023 モデル歪曲 (Model Skewing)
    • ML09:2023 出力完全性攻撃 (Output Integrity Attack)
    • ML10:2023 モデルポイズニング (Model Poisoning)
Powered by GitBook
On this page
  • 説明
  • 防止方法
  • リスク要因
  • 攻撃シナリオの例
  • 参考資料
  1. OWASP 機械学習セキュリティ Top 10 日本語版

ML06:2023 ML サプライチェーン攻撃 (ML Supply Chain Attacks)

PreviousML05:2023 モデル盗用 (Model Theft)NextML07:2023 転移学習攻撃 (Transfer Learning Attack)

Last updated 8 months ago

説明

ML サプライチェーン攻撃では、脅威アクターは ML モデルのサプライチェーンをターゲットにします。このカテゴリは広範かつ重要です。機械学習のソフトウェアサプライチェーンは従来のソフトウェアの場合よりもさらに多くの要素を含むためです。MLOps プラットフォーム、データ管理プラットフォーム、モデル管理ソフトウェア、モデルハブ、ML エンジニアがソフトウェアを効率的にテストおよびデプロイできるようにするその他の専門的なソフトウェアなどの特定の要素で構成します。

防止方法

パッケージの完全性を検証する: インフラストラクチャやアプリケーションの依存関係でパッケージを使用する前に、パッケージのデジタル署名をチェックしてパッケージの真正性を検証します。

パッケージのバージョンを最新に保つ: ソフトウェアサプライチェーン内のパッケージの最新バージョンを常に監視し、古いソフトウェアを使用している場合は依存関係を更新します。OWASP Dependency Check などのツールを使用します。詳細については を参照してください。

安全なソースからパッケージをインストールする: Anaconda や pip など、厳格なセキュリティ対策を実施し、パッケージの審査プロセスを持つ、安全なサードパーティソフトウェアリポジトリを使用します。

ML インフラストラクチャを安全にデプロイする: スタック内の MLOps プラットフォームに関するベンダーのデプロイメント推奨事項に従い、インターネットからのウェブ UI へのアクセスを制限し、インフラストラクチャ内のトラフィックを監視して異常や攻撃の可能性を探ります。インフラストラクチャがクラウドにデプロイされている場合、仮想プライベートクラウド (VPC)、セキュリティグループ、アイデンティティおよびアクセス管理 (IAM) ロールなどのクラウドプロバイダのセキュリティ機能を活用して、アクセスを制限および制御します。厳格なアクセス制御対策を導入します。認可された担当者のみが MLOps プラットフォームにアクセスできるようにします。

リスク要因

脅威エージェント/攻撃手法
セキュリティ上の弱点
影響

悪用難易度: 4 (容易) ML アプリケーション依存: 5 ML オペレーション依存: 3

検出難易度: 5 (容易)

技術的影響: 5 (普通)

脅威アクター: サイバー犯罪グループ、悪質なビジネス上の競合相手。 攻撃手法: 機械学習プロジェクトで使用するオープンソースパッケージを改変します。MLOps スタックの脆弱性を悪用します。

信頼できないまたは安全でないサードパーティコードやソフトウェアに依存しています。

機械学習インフラストラクチャの危殆化と組織への損害の可能性。

本チャートは に基づくサンプルに過ぎないことに注意することが重要です。 実際のリスク評価は各機械学習システムの具体的な状況によって異なります。

攻撃シナリオの例

シナリオ #1: 機械学習プロジェクトの依存関係への攻撃

機械学習プロジェクトを侵害しようとする攻撃者は、そのプロジェクトが複数のオープンソースパッケージやライブラリに依存していることを知っています。

この攻撃では、NumPy や Scikit-learn など、そのプロジェクトが依存するパッケージの一つのコードを改変します。それから、改変版のパッケージは PyPI などのパブリックリポジトリにアップロードされ、他の人がダウンロードして使用できるようになります。被害組織がそのパッケージをダウンロードしてインストールすると、悪意のあるコードもインストールされ、プロジェクトを侵害するために使用される可能性があります。

この種の攻撃は、被害者が使用しているパッケージが侵害されていることに気付かない可能性があるため、長期間見つからない可能性があり、特に危険です。攻撃者の悪意のあるコードは、機密情報を盗んだり、結果を改変したり、機械学習モデルに誤った予測を返すようにするために使われる可能性があります。

攻撃者は複数のオープンソースパッケージやライブラリに依存する機械学習プロジェクトをターゲットにします。

シナリオ #2: 組織で使用される MLOps への攻撃

組織は、デプロイメントをサポートするソフトウェアの複数のインスタンスを使用する MLOps パイプラインを構築します。アプリケーションの一つは推論プラットフォームであり、インターネットに公開されています。

攻撃者は認証なしで利用できるプラットフォームのウェブインタフェースを見つけ、公開されることを意図していないモデルへのアクセスを獲得します。

シナリオ #3: 組織で使用される ML モデルハブへの攻撃

組織はパブリックモデルハブからモデルを使用することを決定します。攻撃者はモデルハブで組織アカウントを偽装する方法を見つけ、モデルハブに悪意のあるモデルをデプロイします。その後、組織の従業員が悪意のあるモデルをダウンロードし、組織の環境で悪意のあるコードが実行されます。

参考資料

OWASP Top10 A06:2021 – Vulnerable and Outdated Components
Model Confusion - Weaponizing ML models for red teams and bounty hunters
OWASP Top10 A06:2021 – Vulnerable and Outdated Components
下記のシナリオ