このテーマを取り上げる理由
機械学習モデルファイルの多くは、読み込むだけで任意のコードを実行できる形式(Pickle等)で配布されています。公開モデルハブから入手したモデルを検証せずに本番環境へ投入する運用は、すでに現実の侵入経路になっています。MLOpsパイプライン(機械学習モデルの開発・学習・デプロイ・監視を自動化する基盤)は多くの組織に普及しましたが、従来のWebアプリやネットワーク境界セキュリティの枠組みでは、この種のリスクを捉えきれません。MLSecOps(Machine Learning Security Operations)は、MLパイプライン固有のリスクをDevSecOpsと同様に開発プロセス全体へ組み込む考え方です。本記事は、機械学習基盤を整備し始めたセキュリティエンジニア・情シスのインフラ担当に向けて、攻撃の構造とツール選定の評価観点を整理します。
一枚要約
MLOpsパイプラインはデータ・モデル・推論の3層に分散した独自の攻撃面を持ち、従来のWebアプリセキュリティの手法だけでは対応できません。Pickleファイルのシリアライズ攻撃・モデルレジストリ改ざん・推論APIを悪用したモデル抽出攻撃1が代表的な脅威です。セキュリティエンジニアはMITRE ATLAS2を参照しながら、モデルスキャン・アクセス制御・推論エンドポイント監視の3点をパイプラインへ統合する設計を進めます。なお、EU域内で与信判断などを行うAIは、EU AI ActやGDPRの規制対象にもなり、技術対策と並行した法務確認が必要です。
基本:何を解決する技術か
MLパイプラインの攻撃面は大きく3層に分かれます。
- データ層: 学習データへの不正アクセス、データポイズニング3(意図的な汚染データを混入してモデルにバックドアを埋め込む、または精度を全体的に劣化させる手法)。学習データに個人情報が含まれる場合は、取得・利用にあたって個人情報保護法上の利用目的の特定と通知・公表も必要になります。
- モデル層: 事前学習済みモデルファイルの改ざん、モデルレジストリへの不正書き込み、サプライチェーン経由の悪意あるウェイト混入。
- 推論層: 敵対的入力(Adversarial Examples)によるモデル誤動作、モデル抽出攻撃(繰り返しAPIクエリで内部パラメータを推定する手法)、プロンプトインジェクション(LLM推論エンドポイント限定)。
MLSecOpsは、これら3層のリスクをCI/CDパイプラインに組み込んだセキュリティチェック・監視・インシデント対応として体系化したものです。SIEMやEDRは従来のソフトウェア境界を前提としているため、モデルポイズニングや推論エンドポイントへの低速な抽出攻撃は検知できません。MLパイプライン固有の可視化と統制が必要です。
主な機能要素/構成要素
MLSecOps基盤に含まれる主な要素を整理します。
- モデルファイルスキャン: Pickle形式(
.pkl)やPyTorchウェイトに埋め込まれたシリアライズ攻撃コードを検出する。代表例はmodelscan4(Protect AIが開発したOSSスキャナー)。 - 敵対的堅牢性テスト: 学習済みモデルにAdversarial Examplesを生成し、誤分類・バイパスが可能かを評価する。代表例はART(Adversarial Robustness Toolbox、IBM主導のOSS)、Counterfit(Microsoftが公開したAIセキュリティ評価ツール)。
- モデルレジストリのアクセス制御: MLflow(実験管理・モデルバージョン管理基盤)やSageMaker Model Registryなどのレジストリに、書き込み権限の最小化と署名検証を設ける。
- データリネージ追跡(Data Lineage): 学習データの出所・加工履歴を記録し、ポイズニングの事後追跡を可能にする。
- 推論エンドポイント監視: 異常なクエリ頻度・入力分布のドリフトを検出し、モデル抽出攻撃や敵対的入力を早期に察知する。
- LLM脆弱性スキャン: LLM推論エンドポイントに対してプロンプトインジェクション・越境テストを自動化する。代表例はGarak(LLM脆弱性スキャナー)。
導入を検討する際の評価観点
ツール選定や設計判断の際に確認すべき観点を、3つの軸で整理します。
パイプライン統合
- 組み込み容易性: 既存のKubeflow・SageMaker Pipelines・Vertex AI Pipelinesと統合できるか。WebhookやプラグインでCI/CDに挿入できる設計か。
- モデルファイル形式の対応範囲: Pickle、PyTorch(
pt/pth)、TensorFlow SavedModel、ONNX、SafeTensors5の各形式をカバーしているか。
スキャン品質・ライセンス
- スキャン精度とFP(誤検知)率: 検出ルールが過剰で正常なモデルファイルを大量に誤ブロックすると運用負荷になる。ベンチマーク結果や公開レポートで確認します。
- LLMエンドポイント固有のリスク対応: プロンプトインジェクションテストと出力フィルタリングに対応しているか。権限分離・人間レビューゲートの有無も確認します。
- ライセンスと商用利用条件: ARTはMITライセンスで商用利用しやすい一方、LLM向けガードレールOSSは商用制限がある場合があります。例えばLlama GuardはMeta Llama Community Licenseに従い、月次アクティブユーザー7億以上の組織は別途許諾が必要です。MAU算定がグループ合算か単体か、製品名への「Llama」商標使用制限はライセンス原文を直接参照してください。
プロンプトインジェクションは、入力サニタイズ単体では防げません。LLMは命令とデータを構造的に区別しないため、フィルタを回避する変種が次々に生まれます。エージェントの権限分離、操作の人間レビューゲート、出力の検証を組み合わせた多層防御が前提になります。
ガバナンス連携
- SBOMとの連携: 学習済みモデルを含むソフトウェア部品表(SBOM)に組み込み、脆弱性管理サイクルに統合できるか。SBOM標準はSPDXやCycloneDXであり、
pip freezeやnpm lsが出力する依存リストはSBOMそのものではありません。 - 監査ログの出力形式: SOCのSIEMに取り込める構造化ログを出力するか。
よくある落とし穴
PyTorchや一部のScikit-learnモデルは.pkl形式で配布されることが多く、pickle.loads()はRCE(リモートコード実行、つまり遠隔から任意のコードを動かせる深刻な欠陥)につながるコードを実行できます。「社内共有ドライブや公開ハブから拾ったモデルを本番に直接読み込む」運用は特に危険です。SafeTensors形式への移行、またはmodelscanによるスキャンを必ず挟んでください。
- 「学習環境は開発環境だから低リスク」の思い込み: 大規模GPUクラスタは攻撃者にとって暗号資産マイニングやボットネット構築の格好のリソースです。IAMロールや学習ジョブの実行権限を最小化しないと、クラウドコスト爆発と情報漏えいが同時に発生します。
- 学習用Notebook環境の保護欠如: 認証なしで公開されたJupyter Notebook/JupyterHubサーバーは、MITRE ATLASでもAI開発環境への初期アクセス経路として整理されています。Notebookサーバーへのアクセス制御とネットワーク分離を徹底します。
- 推論エンドポイントの監視欠如: モデル抽出攻撃は低速かつ合法的なAPIコールに見えるため、通常のWAFでは検知できません。クエリ頻度・入力分布・出力信頼スコアの3軸でベースラインを引いてからアラートを設定します。
- レジストリ基盤自体の脆弱性放置: MLflowのようなレジストリ基盤にも過去に複数の脆弱性が報告されています。基盤ソフトウェアの定期的なバージョンアップとパッチ適用を前提に運用します。
参考になる動向
MITRE ATLAS(Adversarial Threat Landscape for AI Systems)は、AI/MLシステムへの実際の攻撃テクニックをATT&CK形式でカタログ化したフレームワークです。LLMへの攻撃テクニックを継続的に拡充しており、MLSecOpsの設計基準として参照されています。また、OWASP Machine Learning Security Top 10はMLモデルと学習パイプライン固有のリスクを10項目に整理しており、データポイズニング、AIサプライチェーン攻撃、モデル逆転攻撃などが含まれます(各項目の正式名称と番号はOWASP原典を参照してください)。
これらMITRE ATLAS・OWASP Machine Learning Security Top 10・後述のNIST AI RMFは、いずれも法的拘束力のない任意の参照フレームワークです。ただし業種や管轄によっては、規制ガイドラインがこれらの参照を実質的に求めるケースがあります。
業種別影響
- 製造業(予知保全・品質検査AI): 最も深刻なのはデータポイズニングによる検査AIのバックドア化で、特定パターンの欠陥品を意図的に通過させられるリスクがあります。製造ラインの中断や出荷後のリコールに直結するため、データリネージ追跡とオフライン検証環境の分離が重要です。
- 金融(信用スコアリング・不正検知AI): 技術面ではモデル抽出攻撃が深刻で、スコアリングロジックが露見すると詐欺師が回避パターンを最適化できます。推論エンドポイントのレート制限と出力粒度の制御が基本対策です。加えて規制面の確認が欠かせません。信用スコアリングAIはEU AI Actの高リスクAI(Annex III)に分類され、発効(2024年8月1日)から24ヶ月後の2026年8月2日以降、適合性評価・EUデータベース登録・人間による監督(EU AI Act第14条)などが義務化されます。EU域外の日本企業が高リスクAIをEU市場へ提供する場合は、EU域内に公認代理人を書面で任命する義務(EU AI Act第22条)があり、これが対応の出発点です。さらに、与信のような完全自動の意思決定にはGDPR第22条が適用され、データ主体は自動処理のみに基づく決定に服しない権利を持ちます。人間が関与するレビューゲートと、決定への再審査申立てを受け付けるプロセスの設計が求められます。GDPRの重大な違反には、全世界年間売上高の4%または2,000万ユーロのいずれか高い額の制裁金が科されえます。
- IT/SaaS(LLM組み込みサービス): 最も警戒すべきはモデルサプライチェーン経由の悪意あるウェイト混入で、プロンプトインジェクションと並ぶ攻撃面です。HuggingFace Hub等から取得した事前学習モデルは、本番投入前にmodelscanでスキャンし、SafeTensors形式へ統一することを優先します。
今日着手できる3アクション
- MITRE ATLASで自社パイプラインの脅威マッピング: MITRE ATLASにアクセスし、「Case Studies」で実際の攻撃事例を確認します。自社のMLパイプライン構成(データ取り込み・学習・推論)の各ステップに対応するATLASテクニックを書き出し、リスク優先度を設定します。
- modelscanで既存モデルファイルをスキャン:
pip install modelscanでインストール後、modelscan scan -p /path/to/models/を実行します。既存の学習済みモデルファイルを一括スキャンし、シリアライズ攻撃コードの有無を確認します(GitHubリポジトリで対応形式と検出ルールを確認)。 - モデルレジストリの権限棚卸し: AWSであればIAM Access Analyzerの「未使用アクセス(Unused Access)」分析を有効化し、SageMaker Model Registryへの書き込み権限を持つロール・ユーザーのうち長期間未使用のものを特定します。コンソール操作で完結し、不要な書き込み権限の削除と最小権限化を進められます。
AI×セキュリティの観点
MLOpsパイプライン自体がAIシステムの製造ラインであり、そこへの攻撃は「AIシステム固有のサプライチェーン攻撃」として位置づけられます。攻撃者はデータポイズニングや敵対的入力を用いることで、SIEMやEDRでは検知できない形で不正検知AIやマルウェアスキャンAIを無効化できます。一方、防御側はMITRE ATLASを基準に攻撃シナリオを事前テストするレッドチーム演習を自動化することで、モデルリリース前に堅牢性を定量評価できます。NIST AI RMF(任意ガイダンス)のMEASURE機能は、こうしたモデル評価プロセスの体系化に活用できます。
編集後記
MLSecOpsは「新しいツールを買う話」に見えて、本質は「モデルファイルとパイプラインを”信頼できる成果物”として扱えているか」という運用設計の話だと感じています。社内で出回るモデルファイルの出所を誰も説明できない状態は、出所不明の実行ファイルを本番に置くのと同じです。まずはMITRE ATLASでの脅威マッピングとmodelscanでの棚卸しという、今日着手できる2点から始めるのが現実的です。
用語ミニ解説
- モデル抽出攻撃 — 推論APIに大量のクエリを送り、入出力ペアからモデルの内部パラメータや判断ロジックを推定する攻撃。知的財産の窃取や、攻撃回避パターンの最適化に悪用される。 ↩
- MITRE ATLAS — AIシステムへの実際の攻撃テクニックをATT&CK形式でカタログ化したフレームワーク。非営利組織MITREが主導して維持し、ML固有の攻撃タクティクスとテクニックを管理する。 ↩
- データポイズニング — 学習データに意図的に汚染サンプルを混入し、完成したモデルの判断を操作する攻撃手法。不正検知AIを意図的に誤動作させる「バックドア型」と、精度を全体的に劣化させる「劣化型」がある。 ↩
- modelscan — Protect AIが開発したOSSのモデルファイルスキャナー。Pickle・PyTorch・TensorFlow・ONNX等の形式に対してシリアライズ攻撃コードを検出する。 ↩
- SafeTensors — Hugging Faceが開発したモデルウェイトの安全なシリアライズ形式。Pickleと異なり、任意コード実行を設計上許可しない。MLパイプラインにおけるモデルファイルの標準形式として普及が進んでいる。 ↩




コメント