AI/ML からセキュリティ開発ライフサイクルのバグ バーへのピボット

著者: Andrew Marshall、Jugal Parikh、Emre Kiciman、Ram Shankar Siva Kumar

2019年 11月

このドキュメントは MicrosoftのAI ワーキング グループのための AETHER エンジニアリング プラクティスの成果物で、従来のセキュリティの脆弱性をトリアージするために使用される既存の SDL バグバーを補間します。 これは、AI/ML 関連のセキュリティの問題をトリアージするための参照用として使用することを意図しています。 脅威の分析と軽減に関する詳細については、「AI/ML システムと依存関係の脅威のモデル化」を参照してください。

このガイダンスは、「機械学習の障害モード」において、Ram Shankar Siva Kumar、David O’Brien、Kendra Albert、Salome Viljoen、および Jeffrey Snover が作成した "敵対的な機械学習の脅威の分類法"を中心に構成されており、それを何度も参照します。 このコンテンツがベースとしている研究は、ML 障害モードにおける意図的であったり悪意のある行動と偶発的な行動の両方に対処する一方で、このバグ バーによる補間は、セキュリティ インシデントや修正プログラムの配置につながる意図的であったり悪意のある行動に完全にフォーカスしています。

脅威 重要度 説明/ビジネス リスク/サンプル
データ ポイズニング "重要" から "クリティカル"

トレーニング データを破損する - 攻撃者の最終目標は、"トレーニング フェーズで" 生成されたマシン モデルを汚染し、テスト フェーズにおいて新しいデータに基づく予測を改変することです。

標的型ポイズニング攻撃では、攻撃者の目的は特定のサンプルの分類を誤らせ、特定のアクションを誘発したり、特定のアクションを怠らせたりします。

AV ソフトウェアをマルウェアとして送信して、誤分類を悪意のあるものとして強制し、クライアント システムで対象の AV ソフトウェアを使用できないようにします。

ある企業はモデルをトレーニングするために、信頼できる有名 Web サイトで先物データを収集しています。 そのデータ プロバイダーの Web サイトが、その後 SQL インジェクション攻撃によって侵害されます。 攻撃者はデータセットを自由に汚染することができ、トレーニングされるモデルにはデータが汚染されている兆候は見えません。

モデルの盗用 "重要" から "クリティカル"

正当なクエリを実行することで、基になるモデルを再作成します。 新しいモデルの機能は、基になるモデルの機能と同じになります。 モデルを再作成すると、逆に特徴情報を復旧したり、トレーニング データに対して推論を行ったりすることができるようになります。

式を解く - API 出力を使用してクラスの確率を返すモデルの場合、攻撃者はモデル内の不明な変数を特定するクエリを作成できます。

パスを見つける - APIの特殊性を悪用して、入力を分類する際にツリーによって取得された "決定"を抽出する攻撃。

転移可能性攻撃 - 敵対者は、標的のモデルに予測クエリを発行することで、ローカル モデルをトレーニングし、そのモデルを使用して標的のモデルに転送する敵対的サンプルを作成することができます。 モデルが抽出され、敵対的入力のタイプの攻撃に対して脆弱であることが判明した場合、モデルのコピーを抽出した攻撃者は、実稼働環境に配置されているモデルに対する新しい攻撃を完全にオフラインの状態で開発できます。

スパムの識別、マルウェアの分類、ネットワークの異常検出など、敵対的動作を検出するために ML モデルを役立たせる設定では、モデルの抽出によって回避攻撃が容易になります

モデル移転 "重要" から "クリティカル"

機械学習モデルで使用される非公開の特徴を復元することができます。 これには、攻撃者がアクセスできないプライベートなトレーニング データの再構築が含まれます。 これは、返される信頼度レベルを最大化する入力を見つけることで達成されますが、ターゲットに一致する分類によって左右されます。

例: 推測または既知の名前からの顔認識データの再構築と、モデルをクエリするための API アクセス。

物理ドメイン内の敵対的サンプル 重大 これらのサンプルは、物理ドメインで発生する可能性があります。たとえば、特定の色の信号灯 (敵対的入力) が一時停止の標識で点灯しており、画像認識システムが停止標識を停止標識として認識できなくなっているため、自己運転車が騙されて停止の標識を無視して走行する場合が考えられます。
ML サプライ チェーンに対する攻撃 重大

アルゴリズムのトレーニングには大規模なリソース (データ + 計算) が必要となるため、現在の慣行では、大企業によってトレーニングされたモデルを再利用し、当面のタスクに合わせてわずかに変更します (例: ResNet は Microsoftの人気のある画像認識モデルです)。

これらのモデルは、Model Zoo によって厳選されたものです (Caffe は人気の画像認識モデルをホストしています)。

この攻撃では、敵対者は Caffe でホストされているモデルを攻撃することで、だれもが利用する "井戸"を毒しています。

悪意のある ML プロバイダーからのバックドアが仕込まれたアルゴリズム 重大

基になるアルゴリズムを侵害する

悪意のあるサービスとしての ML プロバイダーがバックドア アルゴリズムを提供し、そこから非公開のトレーニング データが再生されます。 これにより、攻撃者はモデルだけあれば、顔やテキストなどの機密データを再構築することができます。

ニューラル ネットワークの再プログラミング "重要" から "クリティカル"

攻撃者によって特別に作成されたクエリを使用することで、ML システムを作成者の本来の意図から逸脱したタスクに再プログラミングできます

顔認識 APIのアクセス制御が脆弱な場合、サード パーティがユーザーに害を与えるように設計されたアプリ (ディープ フェイクジェネレーターなど) に組み込むことができます。

これは不正使用/アカウント削除のシナリオです

敵対的摂動 "重要" から "クリティカル"

摂動スタイルの攻撃では、攻撃者は、クエリを密かに変更して、運用環境に配置されているモデルから目的の応答を引き出します。 これはモデルの入力の整合性を侵害するため、ファジー スタイルの攻撃につながります。最終的な結果は必ずしもアクセス違反または EOP というわけではありませんが、代わりにモデルの分類のパフォーマンスを低下させます。

これは、AI が禁止するような方法で特定のターゲット単語を使用した荒し行為として現れることがあります。これにより、"禁止されている" 単語に一致する名前を持つ正当なユーザーが事実上サービスから拒否されてしまいます。

害のないメールを強制的にスパムとして分類したり、敵対的なサンプルが検出されないようにしたりします。 これらは、モデル回避攻撃やモデル擬態攻撃とも呼ばれます。

特に重要度の高いシナリオで、攻撃者が入力を巧妙に操作して、適切な分類の信頼度レベルを下げます。 また、これは、正当なアラートと区別できない不正なアラートによって管理者や監視システムを圧倒することを意図した、膨大な数の偽陽性という形を取ることもあります。

メンバーシップ推論 "中" から "クリティカル"

モデルのトレーニングに使用されるグループ内の個々のメンバーシップを推論します

例:年齢/性別/病院に基づく外科手術内容の予測