イントロダクション
組織が機械学習、AI、および大規模言語モデル(LLM)を導入する能力は、「モデル動物園」の普及のおかげで近年加速しています。これは、画像認識、自然言語処理、社内チャットボット、アシスタントなどに関する最先端の能力を備えた事前トレーニング済みのモデル/LLM が含まれるHugging FaceやTensorFlow Hubなどのパブリックリポ ジトリを指します。
サードパーティモデルのサイバーセキュリティリスク
モデル動物園は便利ですが、悪意のある行為者が悪意のある利益のためにパブリックリポジトリのオープンな性質を悪用する可能性があります。 例えば、私たちのパートナーであるHiddenLayer社による最近の研究では、公開されている機械学習モデルがランサムウェアによって武器化される可能性や、攻撃者がHuggingFaceのサービスを乗っ取り、プラットフォームに提出されたモデルをハイジャックする可能性を特定しました。 これらのシナリオは、トロイの木馬によるモデルと、モデルのサプライチェーン攻撃という2つの新たなリスクを生み出します。
このような脆弱性に対する業界の認識は高まっていますが1、DatabricksはDatabricks AIセキュリティフレームワーク(DASF)を最近発表しました。このフレームワークでは、モデル7.1:バックドア機械学習 /トロイの木馬モデルやモデル7.3:MLサプライチェーンの脆弱性など、企業のMLおよびAIプログラムに関連するリスクと、Databricksの顧客がMLおよびAIプログラムの安全性を確保するために活用できる緩和策を文書化しています。 Databricksは、ホストされているすべての基盤モデル、および社内のAIシステムで利用されているモデルに対してAIレッドチーミングを行っています。 また、pickleインポートのチェックやClamAVスキャンなど、モデル/ウェイトファイルのマルウェアスキャンも行います。 AIの開発と使用における責任あるプラクティスに従うことで、インテリジェントなアプリケーションの信頼を構築する方法についての詳細は、Databricksの責任あるAIへのアプローチをご覧ください。
このブログでは、サードパーティのモデルに対する上記の攻撃から組織を保護するためにDatabricksデータインテリジェンスプラットフォームで利用可能な包括的なリスク軽減コントロールと、モデルスキャンにHiddenLayerを使用することでそれらをさらに拡張する方法について説明します。
緩和策
Databricksデータインテリジェンスプラットフォームは、AIおよびMLシステムのセキュリティリスクを軽減する包括的な戦略を採用しています。 サードパーティのモデルをDatabricksに取り込む際に推奨する、ハイレベルな緩和コントロールをご紹介します:
これらのコントロールがどのように導入され、組織がサードパーティモデルを実行する際の安全性をどのように高めるかを見てみましょう。
DASF 1: IdPとMFAによるSSO
ユーザーを強力に認証し、モデルのデプロイ権限を制限することで、データとAIプラットフォームへのアクセスを保護し、機械学習システムへの不正アクセスを防止し、認証されたユーザーのみがサードパーティのモデルをダウンロードできるようにします。 そのために、Databricksは次のことを推奨します:
- シングルサインオン(SSO)と多要素認証(MFA)の採用(AWS、Azure、GCP)。
- SCIMを介して、ユーザとグループをSAML 2.0 IDプロバイダーと同期します。
- IPアクセスリスト(AWS、Azure、GCP)を使用して、検証済みのIPアドレスからの認証を制御します。
- ユーザー間の通信にはクラウドプライベート接続(AWS、Azure、GCP)サービスを使用し、Databricksのコントロールプレーンはパブリックインターネットを横断しません。
DASF 43: アクセス制御リストの使用
DatabricksのUnity Catalogを活用して、最小特権の原則に従ってワークスペースオブジェクトにアクセス制御リスト(ACL)を実装します。 ACLは、フォルダやノートブック、モデル、クラスター、ジョブなど、さまざまなワークスペースオブジェクトの権限を管理するために不可欠です。 Unity Catalogは一元化されたガバナンスツールであり、企業はMLOpsのライフサイクル全体にわたって一貫した標準を維持し、各チームがワークスペースをコントロールできるようにします。 ML環境におけるACL設定の複雑さに対処するため、チーム間で必要な複数のツールにまたがる権限設定の複雑さを解消します。 これらのアクセス制御リスト(ACL)を使用して、組織内でサードパーティモデルの持ち込み、展開、および実行できるユーザーを制限するためのアクセス許可を構成します。
Databricksを初めて使用する方で、ワ ークスペースレベルの権限と一般的なユーザーロールを整合させるためのガイダンスをお探しの方は、Databricks グループと権限入門の提案を参照してください。
DASF 42:MLOpsとLLMOpsの採用(モデルスキャン)
モデル動物園では、リポジトリコンテンツに対するセキュリティ対策が限られているため、脅威アクターが攻撃を配信するための潜在的な媒体となっています。 サードパーティのモデルを導入するには、これらの脆弱性に対処するための徹底的な検証とセキュリティスキャンが必要です。 ModelscanやFicklingライブラリのようなツールは、機械学習モデルの整合性を評価するためのオープンソースのソリューションとして機能しますが、実稼働に耐えうるサービスはありません。 より堅牢なオプションは、マルウェアや脆弱性など、機械学習モデル内に隠れた脅威を発見するために設計されたサイバーセキュリティツール、HiddenLayerモデルスキャナです。 この高度なスキャナはDatabricksと統合されており、レジストリ内のモデルやML開発ライフサイクル中のモデルをシームレスにスキャンできます。
HiddenLayerのモデルスキャナは、機械学習オペレーションライフサイクルの複数の段階で使用することができ、セキュリティを確保します:
- ダウンロード時にサードパーティ製モデルをスキャンし、マルウェアやバックドアの脅威を防止します。
- Databricks レジストリ内のすべてのモデルに対してスキャンを実施し、潜在的なセキュリティリスクを特定します。
- 新バージョンのモデルを定期的にスキャンし、開発の初期段階で脆弱性を検出して緩和します。
- プロダクションに移行する前にモデルのスキャンを実施し、安全性を確認します。
HiddenLayerモデルスキャナを使用してHuggingFaceモデルをダウンロードしてスキャンします。
HiddenLayerは、Databricks環境(DBR 11.3 LTS ML以上)で動作するAISecプラットフォーム用のDatabricksノートブックを提供します。 サードパーティのモデルをDatabricksデータインテリジェンスプラットフォームにダウンロードする前に、ノートブックを手動で実行することも、MLOpsルーチンのCI/CDプロセスに統合することもできます。HiddenLayerはモデルが安全か安全でないかを判断し、重大度やハッシュ、AML.T0010.003 - MLサプライチェーン侵害モデル のようなMITRE ATLASの戦術と手法へのマップのような検出の詳細とコンテキストを提供します。 モデルに固有のサイバーセキュリティリスクや悪意のあるコードが含まれていることが分かれば、モデルパイプラインでさらに検討するためにモデルを拒否できます。 すべての検出結果は、HiddenLayer AISec Platform コンソールで確認できます。 概要は各検出のリストを提供し、ダッシュボードには検出が集約されたビューが表示されます。 特定のモデルの検出を表示するには、モデルカードに移動して「検出」を選択します。
DASF 23: モデルの登録、バージョンアップ、承認、プロモーション、デプロイ
MLflowモデルレジストリのホスト型バージョンであるModels in Unity Catalogを使うことで、Databricksワークスペース間でアセットを共有し、データとモデルの両方のリネージをトレースしながら、MLモデルの全ライフサイクルを管理できます。データサイエンティストは、Unity CatalogのMLFlowモデルレジストリにサードパーティモデルを登録できます。 Unity Catalogに登録されたモデルへのアクセス制御に関する情報については、Unity Catalogの権限と保護可能オブジェクトを参照してください。
チームメンバーがモデルを承認すると、デプロイワークフローをトリガーして、承認されたモデルをデプロイすることができます。 これは、すべての機密データをロックしながら、組織内のサードパーティモデルの発見性、承認、監査、およびセキュリティを提供し、Unity Catalogの権限モデルにより、データ流出のリスクを低減します。
HiddenLayerモデルスキャナはDatabricksと統合し、MLflowモデルレジストリ全体をスキャンします
HiddenLayerは、MLflowモデルレジストリ内のすべてのモデルをロードしてスキャンし、トレーニングと開発を安全に継続できることを確認するノートブックも提供します。このノートブックをDatabricksワークフローのジョブとしてセットアップし、モデルレジストリのモデルを継続的に監視することもできます。
新しいモードが登録された時にモデルをスキャンします
継続的インテグレーション、継続的デプロイメント(CI/CD)プロセスのバックボーンは、コードの自動ビルド、テスト、デプロイです。 モデルレジストリのWebhookにより、テストやデプロイパイプラインを実行し、任意のプラットフォームから通知を送信するプッシュメカニズムの提供が可能になり、CI/CDプロセスを円滑に実行できます。モデルレジストリのWebhookは、新たなモデルバージ ョンの作成、新規コメントの追加、モデルバージョンのステージの変更などによって起動します。Webhookやトリガーは、何らかのイベントに基づいてコードを実行させます。 機械学習ジョブの場合、モデルレジストリに新しいモデルが登録されたときにモデルをスキャンするために使用できます。 "events": ["REGISTERED_MODEL_CREATED"] をWebhookとして使用し、新しく登録されたモデルが作成されたときにイベントをトリガーします。
MLflowモデルレジストリのWebhookの2つのタイプ:
- ジョブトリガーを使用したWebhook:Databricks ワークスペースでジョブをトリガーする
- このパラダイムは、MLFlowのモデルレジストリに登録されたばかりのモデルや、モデルのバージョンが次のステージに昇格したときにスキャンするために使うことができます。
- HTTPエンドポイントによるWebhook:任意のHTTPエンドポイントにトリガーを送信
- このパラダイムを使って、ループ内の人間にモデルスキャンの状態を通知することができます。
ステージ変更時のモデルスキャン
上記のプロセスと同様に、モデルのステージを変更する際にモデルをスキャンすることもできます。"events": ["MODEL_VERSION_CREATED, MODEL_VERSION_TRANSITIONED_STAGE,MODEL_VERSION_TRANSITIONED_TO_PRODUCTION"] を用いて、関連するモデルに対して新しいモデルバージョンが作成されたとき、またはモデルバージョンのステージが変更されたとき、またはモデルバー ジョンがプロダクションに移行したときに、モデルをスキャンするためにこのイベントをトリガーするWebhookとして使用します。
Webhookイベントのドキュメントを参照して、要件に適した特定のイベントを確認してください。 注:Unity Catalogでモデルを使用している場合、Webhookは利用できません。 別の方法については、ステージ遷移リクエストやイベントでのWebhookのトリガーを使用できますか?を参照してください。
DASF 34: モデルを複数のレイヤーに分離して実行
モデルサービングには、モデル反転(Model Inversion)など、実践者が考慮しなければならない伝統的なリスクとモデル特有のリスクがあります。 Databricksモデルサービングは、ビルトインのセキュリティと、リアルタイムのMLモデルをAPIとしてデプロイするための本番運用に対応したサーバーレスフレームワークを提供します。 このソリューションは、運用コストと複雑さを最小限に抑えながら、アプリケーションやウェブサイトとの統合をシンプル化します。
モデルの改ざんや盗用など、敵対的なML攻撃からさらに保護するために、Machine Learning Detection & Response (MLDR)のようなリアルタイムの監視システムを導入することが重要です。これは、機械学習アルゴリズムの入力と出力に異常な動きがないか精査します。
HiddenLayer MLDRでDatabricksモデルサービングを使用することで、従来のマルウェアや敵対的なML技術による侵害が発生した場合でも、影響を受けるモデルの影響を限定することができます:
- 専用のコンピュートリソースに隔離され、使用後は安全に消去されます
- 許可されたリソースのみにアクセスを制限するためのネットワークセグメンテーション
- 最小特権の原則によって管理され、隔離された環境内に潜在的な脅威を効果的に封じ込めます
DASF 5: データやその他のオブジェクトへのアクセス制御
ほとんどのプロダクションモデルは孤立したシステムとして動作しているわけではなく、効果的に動作させるためには特徴量ストアやデータセットへのアクセスが必要です。 隔離された環境であっても、モデルによる意図しないデータアクセスを防ぐために、データとリソース権限を綿密に管理することが不可欠です。 LLMを企業のデータベースやドキュメントと安全に統合するには、Unity Catalogの権限と保護可能なオブジェクトを活用することが不可欠です。 これは、LLMを特定のドメインやユースケース(データベースから行を要約したり、PDF文書からテキストを要約したりなど)に合わせて調整する、検索支援生成(RAG)シナリオを作成する場合に特に関連します。
このような統合は、機密性の高い企業データへの新たな攻撃対象として導入されるため、適切なセキュリティ が確保されていなかったり、過剰な特権が与えられていたりすると危険にさらされ、不正なデータがモデルに入力される可能性があります。 このリスクは、推論に特徴量ストアテーブルを利用する表形式のデータモデルにも及びます。 このようなリスクを軽減するには、Unity Catalogを使用して、データと企業資産が正しく許可され、保護されていることを確認します。 さらに、悪意のあるモデルが企業の機密情報を流出させる可能性を防ぐために、モデルとデータソース間のネットワーク分離を維持することが必要です。
まとめ
私たちはまず、第三者モデルがもたらすリスクと、モデル動物園を通じた敵対的悪用の可能性から始めました。そして、MFAやACL、モデルスキャン、セキュアなDatabricksモデルサービングインフラストラクチャを使用したSSOの採用により、Databricksデータインテリジェンスプラットフォームでこれらのリスクを軽減する方法について詳しく説明しました。Databricks AIセキュリティフレームワーク(DASF)のホワイトペーパーで、AIのセキュリティを管理するための実用的なフレームワークをご覧ください。
私たちは正確さと最新情報の提供に努めていますが、この進化するトピックに関するご意見をお待ちしています。 AIセキュリティワークショップにご興味のあ る方は、[email protected]までご連絡ください。 Databricksのセキュリティ対策については、セキュリティ & トラストセンターをご覧ください。
このブログで紹介されているノートブックのダウンロードや、HiddenLayer AISecPlatform、モデルスキャナー、MLDR についての詳細は、https://hiddenlayer.com/book-a-demo/をご覧ください。
1 LLM アプリケーションの OWASP トップ 10:LLM05: サプライチェーンの脆弱性と MITRE ATLAS™ ML サプライチェーンの侵害: モデル