次の方法で共有


脅威モデリング AI/ML システムと依存関係

Andrew Marshall、Jugal Parikh、Emre Kiciman、Ram Shankar Siva Kumar

ラウル・ロハスとAETHERセキュリティエンジニアリングワークストリームへの特別な感謝

2019 年 11 月

このドキュメントは、AETHER Engineering Practices for AI Working Group の成果物であり、AI および Machine Learning 空間に固有の脅威の列挙と軽減に関する新しいガイダンスを提供することで、既存の SDL 脅威モデリング プラクティスを補完します。 これは、次のセキュリティ設計レビュー中に参照として使用することを目的としています。

  1. AI/ML ベースのサービスと対話する、または依存する製品/サービス

  2. AI/ML を中心に構築されている製品/サービス

従来のセキュリティ脅威の軽減は、これまで以上に重要です。 セキュリティ開発ライフサイクルによって確立される要件は、このガイダンスの基盤となる製品セキュリティ基盤を確立するために不可欠です。 従来のセキュリティ上の脅威に対処しないことは、ソフトウェアドメインと物理ドメインの両方でこのドキュメントで説明されているAI/ML固有の攻撃を可能にするとともに、ソフトウェアスタックの深い部分での侵害を容易にします。 この領域における新しいセキュリティ上の脅威の概要については、 Microsoft での AI と ML の将来のセキュリティ保護に関するページを参照してください。

通常、セキュリティ エンジニアとデータ サイエンティストのスキルセットは重複しません。 このガイダンスは、セキュリティ エンジニアがデータ サイエンティストになる必要がなく、これらの新しい脅威/軽減策に関して、両方の規範が構造化された会話を行う方法を提供します。

このドキュメントは、次の 2 つのセクションに分かれています。

  1. 「脅威モデリングにおける重要な新しい考慮事項」では、AI/ML システムを脅威モデリングするときに尋ねる新しい考え方と新しい質問に焦点を当てています。 データ サイエンティストとセキュリティ エンジニアはどちらも、脅威モデリングの議論と軽減の優先順位付けのプレイブックであるため、これを確認する必要があります。
  2. "AI/ML 固有の脅威とその軽減策" では、特定の攻撃に関する詳細と、これらの脅威から Microsoft 製品とサービスを保護するために現在使用されている特定の軽減手順が提供されます。 このセクションは主に、脅威モデリング/セキュリティ レビュー プロセスの出力として特定の脅威軽減策を実装する必要があるデータ サイエンティストを対象としています。

このガイダンスは、Ram Shankar Siva Kumar、David O'Brien、Kendra Albert、Salome Viljoen、Jeffrey Snover が 「機械学習の失敗モード」と題して作成した敵対的な機械学習脅威分類に関して編成されています。 このドキュメントで詳しく説明されているセキュリティ脅威のトリアージに関するインシデント管理ガイダンスについては、 AI/ML 脅威の SDL バグ バー を参照してください。これらはすべて、脅威の状況に合わせて時間の経過と共に進化する生きたドキュメントです。

脅威モデリングにおける主な新しい考慮事項: 信頼境界の表示方法の変更

トレーニングに利用するデータやデータ提供者が不正やデータ改ざんされていることを想定してください。 異常なデータ エントリと悪意のあるデータ エントリを検出し、それらを区別して回復できるようにする方法について説明します

概要

トレーニング データ ストアと、それらをホストするシステムは、脅威モデリング スコープの一部です。 今日の機械学習における最大のセキュリティ上の脅威は、この領域での標準的な検出と軽減策の欠如によるデータ中毒であり、トレーニング データのソースとしての信頼されていないパブリック データセットへの依存と組み合わされています。 データの実績と系列を追跡することは、その信頼性を確保し、"ガベージ イン、ガベージ アウト" トレーニング サイクルを回避するために不可欠です。

セキュリティ レビューで質問する質問

  • データが有害または改ざんされた場合、あなたはどのように知っていますか?

    -トレーニング データの品質のずれを検出するには、どのようなテレメトリが必要ですか?

  • ユーザーが指定した入力からトレーニングしていますか?

    -そのコンテンツに対してどのような種類の入力検証/サニタイズを行っていますか?

    -このデータの構造は 、データセットのデータシートに似ていますか?

  • オンライン データ ストアに対してトレーニングを行う場合、モデルとデータの間の接続のセキュリティを確保するには、どのような手順を実行しますか?

    -フィードの消費者にセキュリティ侵害を報告する方法はあるのでしょうか?

    -それは可能ですか?

  • トレーニングするデータの機密性はどのくらいですか?

    -カタログ化するか、データ エントリの追加/更新/削除を制御しますか?

  • モデルは機密データを出力できますか?

    -このデータはソースからのアクセス許可で取得されましたか?

  • モデルは、その目標を達成するために必要な結果のみを出力しますか?

  • モデルは生の信頼度スコアや、記録および複製できるその他の直接出力を返しますか?

  • モデルを攻撃または反転することによって、トレーニング データが復旧される影響は何ですか?

  • モデル出力の信頼度レベルが突然低下した場合は、その原因となったデータだけでなく、その方法/理由も確認できますか?

  • モデルに対して適切な入力を定義しましたか? 入力がこの形式を満たしていることを確認するために何を行っていますか。

  • 出力が間違っていてもエラーが報告されない場合は、どうすればわかりますか?

  • トレーニング アルゴリズムが数学的レベルで敵対的な入力に対する回復力があるかどうかを知っていますか?

  • トレーニング データの敵対的な汚染からどのように回復しますか?

    -敵対的なコンテンツを分離/検疫し、影響を受けたモデルを再トレーニングすることはできますか?

    -再トレーニングのために、以前のバージョンのモデルにロールバックまたは復旧できますか?

  • 評価されていないパブリック コンテンツで強化学習を使用していますか?

  • データの系譜について考え始めてください。問題を見つけた場合、それをデータセットへの導入にまで遡ることができますか? そうでない場合、それは問題ですか?

  • トレーニング データのソースを把握し、統計規範を特定して、異常の外観を理解する

    -トレーニング データのどのような要素が外部の影響に対して脆弱ですか?

    -データセットのトレーニングに誰が貢献できますか?

    -競合他社 損害を与えるために、トレーニング データのソースをどのように攻撃しますか?

  • 敵対的摂動 (すべての変種)

  • データポイズニング (すべてのバリエーション)

攻撃の例

  • 善意の電子メールをスパムとして分類したり、悪意のある例が検出されないようにする

  • 攻撃者が作成した入力により、正しい分類の信頼レベルが低下します(特に結果が高いシナリオの場合)

  • 攻撃者は、分類されるソース データにノイズをランダムに挿入して、将来正しい分類が使用される可能性を減らし、モデルを効果的に停止させます

  • トレーニング データの汚染により、選択したデータ ポイントの誤分類が強制され、システムによって特定のアクションが実行または省略される

オンラインまたは物理ドメインで顧客の損害を引き起こす可能性のあるモデルまたは製品/サービスが実行する可能性のあるアクションを特定する

概要

AI/ML システムに対する攻撃は、未対策のままでは、物理的な世界に進入する可能性があります。 ユーザーに精神的または物理的に損害を与える可能性があるシナリオは、製品/サービスにとって致命的なリスクです。 これは、トレーニングと設計の選択に使用される顧客に関する機密データにまで及び、これらのプライベート データ ポイントが漏えいする可能性があります。

セキュリティ レビューで質問する質問

  • 敵対的な例でトレーニングしますか? 物理ドメインのモデル出力にどのような影響がありますか?

  • トローリングが製品/サービスにどのような影響を与えるか? どのように検出し、それに応答できますか?

  • 正当なユーザーへのアクセスを拒否するようにサービスを仕掛ける結果をモデルに返すには、何が必要ですか?

  • あなたのモデルがコピーまたは盗まれることで生じる影響とは何でしょうか?

  • モデルを使用して、特定のグループ内の個々のユーザーのメンバーシップを推測するか、単にトレーニング データで推論できますか?

  • 攻撃者は、特定のアクションを強制的に実行することによって、製品に評判の損害や PR のバックラッシュを引き起こす可能性がありますか?

  • トロールなどによる適切に書式設定されているが過度に偏ったデータを、どのように処理しますか?

  • モデルを操作またはクエリする各方法が公開されている場合、そのメソッドを問い合わせてトレーニング データまたはモデルの機能を開示することはできますか?

  • メンバーシップ推論

  • モデルの反転

  • モデルの盗難

攻撃の例

  • モデルに対してクエリを繰り返し実行して、トレーニング データの再構築と抽出を行い、信頼度を最大限に高める結果を得る

  • 完全なクエリ/応答照合によるモデル自体の重複

  • プライベート データの特定の要素がトレーニング セットに含まれていることを明らかにする方法でモデルのクエリを実行する

  • 自動運転車が停止標識/信号を無視するようにだまされている

  • 良性のユーザーをトロールするために操作された会話ボット

AI/ML 依存関係のすべてのソースと、データ/モデルサプライ チェーン内のフロントエンド プレゼンテーション レイヤーを特定する

概要

AI と Machine Learning の多くの攻撃は、モデルへのクエリ アクセスを提供するために公開される API への正当なアクセスから始まります。 豊富なデータ ソースと豊富なユーザー エクスペリエンスが関係しているため、認証済みではあるが「不適切」(曖昧な部分があります)のサードパーティによるモデルへのアクセスは、Microsoft が提供するサービスの上でプレゼンテーション レイヤーとして機能する可能性があるため、リスクとなります。

セキュリティ レビューで質問する質問

  • モデルまたはサービス API にアクセスするために認証される顧客/パートナーはどれですか?

    -サービスの上にプレゼンテーション レイヤーとして機能できますか?

    -侵害が発生した場合、すぐにアクセスを取り消すことができますか?

    -サービスまたは依存関係が悪意を持って使用された場合の復旧戦略は何ですか?

  • 第三者があなたのモデルの周りにファサードを構築して転用し、Microsoftやその顧客に損害を与えることは可能ですか?

  • 顧客がトレーニング データを直接提供していますか?

    -そのデータをセキュリティで保護する方法

    -悪意があり、サービスがターゲットの場合はどうしますか?

  • 誤検知はどのように見えますか? 偽陰性の影響は何ですか?

  • 複数のモデルで真陽性率と偽陽性率の偏差を追跡して測定できますか?

  • 顧客に対するモデル出力の信頼性を証明するために必要なテレメトリの種類は何ですか?

  • オープン ソース ソフトウェアだけでなく、データ プロバイダーも含め、ML/トレーニング データサプライ チェーン内のすべての3rd パーティの依存関係を特定する

    -それらを使用している理由と、その信頼性を確認する方法

  • 第三者の既製モデルを使用していますか、または第三者のMLaaSプロバイダーにトレーニングデータを送信していますか?

  • 類似の製品/サービスに対する攻撃に関するニュース記事のインベントリ。 多くの AI/ML の脅威がモデルの種類間で転送されることを理解している場合、これらの攻撃は独自の製品にどのような影響を与えるでしょうか。

  • ニューラル ネットの再プログラミング

  • 物理ドメインの敵対的な例

  • トレーニング データを回復する悪意のある ML プロバイダー

  • ML サプライ チェーンへの攻撃

  • バックドアモデル

  • 侵害された ML 固有の依存関係

攻撃の例

  • 悪意のある MLaaS プロバイダーが特定のバイパスを使用してモデルにトロイの木馬を仕込んでいる

  • 敵対者の顧客は、使用する一般的な OSS 依存関係の脆弱性を検出し、サービスを侵害するために作成されたトレーニング データ ペイロードをアップロードします

  • 悪意のあるパートナーは、顔認識 API を使用し、サービス上にプレゼンテーション レイヤーを作成してディープ フェイクを生成します。

AI/ML 固有の脅威とその軽減策

#1: 敵対的ノイズ

説明

摂動スタイルの攻撃では、攻撃者はクエリを密かに変更して、運用環境でデプロイされたモデルから望ましい応答を取得します[1]。 これはモデル入力整合性の侵害であり、最終的な結果が必ずしもアクセス違反または EOP ではなく、モデルの分類のパフォーマンスを損なうファジー スタイルの攻撃につながります。 これは、AI が禁止する方法で特定のターゲット 単語を使用するトロールによっても明らかにされ、"禁止" 語と一致する名前を持つ正当なユーザーへのサービスを効果的に拒否します。

複雑さが増加し、機能が低下している場合の攻撃の難易度の増加を示す図。 [24]

バリアント #1a: 対象の誤分類

この場合、攻撃者はターゲット分類子の入力クラスに含まれていないサンプルを生成しますが、その特定の入力クラスとしてモデルによって分類されます。 敵対的なサンプルは、人間の目にはランダムなノイズのように見えますが、攻撃者はターゲット機械学習システムに関する知識を持ち、ランダムではないがターゲット モデルのいくつかの特定の側面を悪用しているホワイト ノイズを生成します。 敵対者は、正当なサンプルではない入力サンプルを提供しますが、ターゲット システムはそれを正当なクラスとして分類します。

例示

ターゲット ノイズの写真が画像分類子によって誤って分類され、バスの写真が生成されることを示す図。 [6]

緩和 策

  • 敵対者トレーニングによって誘発されるモデルの信頼度を使用した敵対的堅牢性の強化 [19]: 著者らは、基本モデルの敵対的堅牢性を強化するために、信頼度情報と最近隣探索を組み合わせたフレームワークである高信頼近隣 (HCNN) を提案しています。 これは、基になるトレーニング分布からサンプリングされたポイントの近傍で、正しいモデル予測と間違ったモデル予測を区別するのに役立ちます。

  • 属性主導の因果分析 [20]: 著者らは、敵対的な摂動に対する回復性と、機械学習モデルによって生成された個々の決定の属性ベースの説明との間の関係を研究している。 彼らは、逆行入力が属性空間で堅牢ではないこと、つまり、高い属性を持ついくつかの特徴をマスクすると、敵対的な例に関する機械学習モデルの決定不定性が変わると報告しています。 これに対し、自然な入力は属性空間で堅牢です。

    入力値 9,9 が 9,4 と誤って分類される方法を決定する 2 つの方法を示す図。 [20]

この 2 層認知システムを利用するには、元のモデルを攻撃するだけでなく、敵対的な例に対して生成される属性が元の例と似ている必要があるため、これらのアプローチにより、機械学習モデルは敵対的な攻撃に対する回復力を高めることができます。 敵対攻撃を成功させるには、両方のシステムが同時に侵害される必要があります。

従来の並列

攻撃者がモデルを制御できるようになったため、特権のリモート昇格

深刻さ

危うい

バリアント #1b: ソース/ターゲットの誤分類

これは、攻撃者が特定の入力に対して目的のラベルを返すモデルを取得しようとする試みとして特徴付けられます。 これは通常、モデルが誤検知または偽陰性を返すように強制します。 最終的な結果は、モデルの分類精度を微妙に制御することで、攻撃者が意図的に特定のバイパスを誘発できるようになることです。

この攻撃は分類の精度に重大な悪影響を及ぼしますが、敵対者がソース データを操作して正しくラベル付けされないようにするだけでなく、目的の不正なラベルで具体的にラベル付けする必要があるため、実行する時間が長くなる可能性もあります。 多くの場合、これらの攻撃には、誤分類を強制する複数の手順/試行が含まれます [3]。 モデルが、誤分類を標的にした転移学習攻撃の影響を受けやすい場合は、プローブ攻撃をオフラインで実行できるため、識別可能な攻撃者のトラフィックフットプリントがない可能性があります。

例示

無害なメールを強制的にスパムとして分類したり、悪意のある例が検出されなかったりします。 これらはモデル回避または模倣攻撃とも呼ばれます。

緩和 策

リアクティブ/防御検出アクション

  • 分類結果を提供する API の呼び出し間の最小時間しきい値を実装します。 これにより、成功の摂動を見つけるために必要な全体的な時間が長くなり、マルチステップ攻撃テストが遅くなります。

プロアクティブ/保護アクション

  • 敵対的堅牢性の向上のための特徴ノイズ除去 [22]: 特徴のノイズ除去を実行することで敵対的堅牢性を向上させる新しいネットワーク アーキテクチャを開発しました。 具体的には、ネットワークには、非ローカル手段またはその他のフィルターを使用して特徴を脱ノライズするブロックが含まれています。ネットワーク全体がエンドツーエンドでトレーニングされます。 敵対的トレーニングと組み合わせると、ネットワークのノイズを除去する機能により、ホワイトボックス攻撃とブラックボックス攻撃の両方の設定における敵対的堅牢性の最先端性が大幅に向上します。

  • 敵対的トレーニングと正則化: 悪意のある入力に対する回復性と堅牢性を構築するために、既知の敵対的サンプルをトレーニングします。 これは正則化の一種と見なすこともできます。これは、入力勾配のノルムを罰し、分類子の予測関数をよりスムーズにします (入力余白を増やします)。 これには、信頼度が低い正しい分類が含まれます。

敵対的トレーニングを使用した予測関数の傾きの変化を示すグラフ。

モノトニック特徴の選択による単調分類の開発に投資します。 これにより、敵対者は、負のクラス [13] の特徴を埋め込むだけで分類子を回避できなくなります。

  • 特徴絞り [18] は、敵対的な例を検出することによって DNN モデルを強化するために使用できます。 元の空間内の多くの異なる特徴ベクトルに対応するサンプルを 1 つのサンプルに結合することで、敵対者が使用できる検索領域を削減します。 元の入力の DNN モデルの予測と絞られた入力の予測を比較することで、特徴絞りは敵対的な例を検出するのに役立ちます。 元の例と絞り込まれた例がモデルから実質的に異なる出力を生成する場合、入力は敵対的である可能性があります。 予測間の不一致を測定し、しきい値を選択することで、システムは正当な例の正しい予測を出力し、敵対的な入力を拒否できます。

    特徴絞りの結果を示す図。

    特徴絞りフレームワークを介した入力のフローを示す図。 [18]

  • 敵対的な例に対する認定防御 [22]: 著者らは、特定のネットワークとテスト入力に対してエラーが特定の値を超える攻撃を強制できないという証明書を出力する半明確な緩和に基づく方法を提案しています。 2 つ目は、この証明書が異なる可能性があるため、作成者はネットワーク パラメーターと共同で最適化し、すべての攻撃に対する堅牢性を促進するアダプティブ 正則化機能を提供します。

応答アクション

  • 分類子間の差異が大きい分類結果に関するアラートを発行します (特に、1 人のユーザーまたは少数のユーザーグループからの場合)。

従来の並列

リモートによる権限昇格

深刻さ

危うい

バリアント #1c: ランダムな誤分類

これは、攻撃者のターゲット分類が正当なソース分類以外の場合がある特別なバリエーションです。 通常、この攻撃では、将来正しい分類が使用される可能性を減らすために、分類されるソース データにノイズをランダムに挿入する必要があります [3]。

例示

猫の2枚の写真。1枚の写真はタブビー猫に分類されます。敵対的な摂動の後、他の写真はグアカモレとして分類されます。

緩和 策

バリアント 1a と同じです。

従来の並列

非永続的なサービス拒否

深刻さ

Von Bedeutung

バリアント #1d: 信頼度の低下

攻撃者は、入力を作成して、正しい分類の信頼レベルを下げることが可能です。特に、結果が大きいシナリオの場合です。 これは、正当なアラートと区別できない不正なアラートで管理者や監視システムを圧倒することを目的とした多数の誤検知の形式を取ることもできます [3]。

例示

停止記号の 2 枚の写真。左側の写真は、96% の信頼度レベルを示しています。敵対的な摂動の後、右側の写真は13%の信頼レベルを示しています。

緩和 策
  • Variant #1a で説明されているアクションに加えて、イベント調整を使用して、1 つのソースからのアラートの量を減らすことができます。
従来の並列

非永続的なサービス拒否

深刻さ

Von Bedeutung

ターゲットデータの毒性 #2a

説明

攻撃者の目的は、 トレーニング フェーズで生成されたマシン モデルを汚染し、テスト フェーズで新しいデータの予測が変更されるようにすることです[1]。 標的型ポイズニング攻撃では、攻撃者は特定の例を誤って分類して、特定のアクションを実行または省略したいと考えています。

例示

AV ソフトウェアをマルウェアとして提出し、誤分類を悪意のあるものとして強制し、クライアント システムでの対象の AV ソフトウェアの使用を排除します。

緩和 策
  • 異常センサーを定義して、日単位でデータ分布を確認し、バリエーションに関するアラートを表示する

    -トレーニング データのバリエーションを日単位で測定し、偏り/ドリフトに関するテレメトリを監視する

  • 入力検証、サニタイズと整合性チェックの両方

  • データ汚染は、外れ値のトレーニングサンプルを注入する。 この脅威に対抗するための 2 つの主な戦略:

    -データのサニタイズ/検証: 中毒攻撃と戦うためのトレーニング データ -Bagging から中毒サンプルを削除する [14]

    -Reject-on-Negative-Impact (RONI) 防御 [15]

    -Robust Learning: 有害なサンプルが存在する場合に堅牢な学習アルゴリズムを選択します。

    -そのようなアプローチの1つは、[21]で説明されています。著者は、2つのステップでデータ中毒の問題に対処します:1)真のサブスペースを回復するための新しい堅牢なマトリックス因子分解方法を導入し、2)ステップ(1)で回復した基礎に基づいて敵対的インスタンスを排除するための新しい堅牢な原理成分回帰。 彼らは、真の部分空間を正常に回復するために必要かつ十分な条件を特徴付け、地上の真理と比較して予想される予測損失に関する境界を提示します。

従来の並列

攻撃者がネットワークにおいて潜伏するために使用するトロイの木馬化されたホスト。 トレーニングデータまたは構成データが侵害され、モデルの作成のために取り込まれたり信頼されたりします。

深刻さ

危うい

#2b 無差別データポイズニング

説明

目標は、攻撃されるデータ セットの品質/整合性を損ないます。 多くのデータセットはパブリック/信頼されていない/評価されていないため、最初にこのようなデータ整合性違反を見つける能力に関する追加の懸念が生まれます。 知らないうちに侵害されたデータに関するトレーニングは、ガベージイン/ガベージアウトの状況です。 検出された場合、トリアージは侵害されたデータの範囲を特定し、隔離し、再訓練する必要があります。

例示

ある会社は、モデルをトレーニングするために、石油先物データを収集するために、よく知られた信頼できるウェブサイトからデータを取得しています。 その後、データ プロバイダーの Web サイトが SQL インジェクション攻撃によって侵害されます。 攻撃者はデータセットを自由に毒することができ、トレーニング中のモデルはデータが汚染されたことを認識していません。

緩和 策

バリアント 2a と同じです。

従来の並列

価値の高い資産に対する認証されたサービス拒否

深刻さ

Von Bedeutung

#3 モデル反転攻撃

説明

機械学習モデルで使用されるプライベート機能は復旧できます [1]。 これには、攻撃者がアクセスできないプライベート トレーニング データの再構築が含まれます。 生体認証コミュニティでのヒルクライミング攻撃とも呼ばれる [16, 17] これは、返される信頼度を最大化する入力を見つけることによって実現されます。これは、ターゲット [4] に一致する分類に従います。

例示

人の 2 つの画像。一方の画像はぼやけていて、もう一方の画像は明確です。 [4]

緩和 策
  • 機密データからトレーニングされたモデルへのインターフェイスには、強力なアクセス制御が必要です。

  • モデルで許可されるレート制限クエリ

  • 提案されたすべてのクエリに対して入力検証を実行し、モデルの入力正確性の定義を満たしていないものを拒否し、役に立つ必要がある最小限の情報のみを返すことで、ユーザー/呼び出し元と実際のモデルの間にゲートを実装します。

従来の並列

対象を特定し、秘匿された情報の開示

深刻さ

これは標準の SDL バグ バーでは既定で「重要」とされますが、機密データや個人を特定するデータが抽出されると、「重大」に引き上げられます。

#4 メンバーシップ推論攻撃

説明

攻撃者は、特定のデータ レコードがモデルのトレーニング データセットの一部であったかどうかを判断できます[1]。 研究者は、属性 (例: 年齢、性別、病院) に基づいて、患者の主な手順 (例: 患者が通過した手術) を予測することができました [1]。

メンバーシップ推論攻撃の複雑さを示す図。矢印は、トレーニング データ予測データ間のフローとリレーションシップを示します。 [12]

緩和 策

この攻撃の実行可能性を示す研究論文は、差分プライバシー [4, 9] が効果的な軽減策であることを示しています。 これはまだ Microsoft の新しい分野であり、AETHER Security Engineering では、この分野への研究投資に関する専門知識を構築することが推奨されています。 この調査では、差分プライバシー機能を列挙し、その実用的な有効性を軽減策として評価し、Visual Studio でコードをコンパイルして開発者とユーザーに透過的な on-by既定のセキュリティ保護を提供する方法と同様に、これらの防御をオンライン サービス プラットフォームで透過的に継承する方法を設計する必要があります。

ニューロンドロップアウトとモデルスタッキングの使用は、ある程度効果的な軽減策となる可能性があります。 ニューロンドロップアウトを使用すると、この攻撃に対するニューラル ネットの回復性が向上するだけでなく、モデルのパフォーマンスも向上します [4]。

従来の並列

データのプライバシー。 データ ポイントがトレーニング セットに含まれていることに関する推論が行われていますが、トレーニング データ自体は開示されていません

深刻さ

これはプライバシーの問題であり、セキュリティの問題ではありません。 ドメインが重複するため、脅威モデリング ガイダンスで対処されていますが、ここでの対応はセキュリティではなくプライバシーによって決まるからです。

#5 モデルの盗み

説明

攻撃者は、モデルに対して正当なクエリを実行することで、基になるモデルを再作成します。 新しいモデルの機能は、基になるモデルの機能と同じです[1]。 モデルが再作成されたら、モデルを反転して特徴情報を回復したり、トレーニング データに対して推論を行ったりすることができます。

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

  • パス検索 – 入力を分類するときにツリーによって行われた "決定" を抽出するために API の特定を悪用する攻撃 [7]。

  • 転送可能性攻撃 - 敵対者は、ターゲット モデルに予測クエリを発行することによってローカル モデルをトレーニングし、それを使用してターゲット モデルに転送する敵対的な例を作成できます [8]。 モデルが抽出され、敵対的な入力の種類に対して脆弱であることが検出された場合、モデルのコピーを抽出した攻撃者によって、運用デプロイされたモデルに対する新しい攻撃を完全にオフラインで開発できます。

例示

ML モデルがスパムの識別、マルウェアの分類、ネットワークの異常検出などの敵対的な動作を検出する機能を果たす設定では、モデルの抽出によって回避攻撃を容易にすることができます [7]。

緩和 策

プロアクティブ/保護アクション

  • 予測 API で返される詳細を最小化または難読化しながら、"正直な" アプリケーションに対する有用性を維持します [7]。

  • モデル入力の整形式クエリを定義し、その形式に一致する完成した整形式入力に応答して結果のみを返します。

  • 丸められた信頼度の値を返します。 ほとんどの正当な呼び出し元は、小数点以下の桁数を複数必要としません。

従来の並列

認証を受けていない状態での、読み取り専用のシステムデータへの干渉、高価値情報の漏洩を狙っているのですか?

深刻さ

セキュリティに依存するモデルで重要、それ以外の場合はモデレート

#6 ニューラル ネットの再プログラミング

説明

敵対者から特別に作成されたクエリを使用して、機械学習システムを作成者の本来の意図から逸脱したタスクに再プログラミングすることができます [1]。

例示

顔認識 API に対するアクセス制御が弱く、3rd パーティは、ディープ フェイク ジェネレーターなど、Microsoft のお客様に損害を与えるために設計されたアプリに組み込むことができます。

緩和 策
  • 強力なクライアント<->サーバー相互認証とモデル インターフェイスへのアクセス制御

  • 問題のあるアカウントの削除。

  • API のサービス レベル アグリーメントを特定して適用します。 報告された問題に対して許容される修正までの時間を決定し、SLA の有効期限が切れると問題が再現されなくなったことを確認します。

従来の並列

これは不正使用のシナリオです。 単に違反者のアカウントを無効にするよりも、これに関するセキュリティ インシデントを開く可能性は低くなります。

深刻さ

重要からクリティカル

#7 物理ドメインの敵対的な例 (bits->atoms)

説明

敵対的な例は、機械学習システムを誤解させるという唯一の目的で送信された悪意のあるエンティティからの入力/クエリです [1]

例示

これらの例は、特定の色の光 (敵対的な入力) が停止標識に照らされているために、自動運転車が停止標識を実行するように誘導されるなど、物理的な領域に現れ、画像認識システムに停止記号が停止記号として表示されなくなります。

従来の並列

特権の昇格、リモート コード実行

緩和 策

これらの攻撃は、機械学習レイヤー (AI 主導の意思決定の下のデータとアルゴリズム レイヤー) の問題が軽減されなかったために現れます。 他のソフトウェア *または* 物理システムと同様に、ターゲットの下のレイヤーは常に従来のベクターを介して攻撃できます。 このため、従来のセキュリティ プラクティスは、特に AI と従来のソフトウェアの間で使用されている未承認の脆弱性 (データ/アルゴ 層) の層で、これまで以上に重要です。

深刻さ

危うい

#8 トレーニング データを回復できる悪意のある ML プロバイダー

説明

悪意のあるプロバイダーがバックドアされたアルゴリズムを提示します。このアルゴリズムでは、プライベート トレーニング データが復旧されます。 モデルだけを考えると、彼らは顔とテキストを再構築することができました。

従来の並列

対象となる情報の開示

緩和 策

この攻撃の実行可能性を示す研究論文は、同型暗号化が効果的な軽減策であることを示しています。 これは、Microsoft と AETHER Security Engineering への投資が少ない領域であり、この分野への研究投資に関する専門知識を構築することをお勧めします。 この研究では、サービスとしての悪意のある ML プロバイダーに直面した場合に、同型暗号化のテネトを列挙し、その実用的な有効性を軽減策として評価する必要があります。

深刻さ

データが PII の場合は重要、それ以外の場合は中程度

#9 ML サプライ チェーンの攻撃

説明

アルゴリズムのトレーニングに必要な大量のリソース (データ + 計算) により、現在のプラクティスでは、大企業によってトレーニングされたモデルを再利用し、手元のタスク用に少し変更します (たとえば、ResNet は Microsoft の人気のある画像認識モデルです)。 これらのモデルは、モデル動物園でキュレーションされます (Caffe は一般的な画像認識モデルをホストします)。 この攻撃では、敵対者は Caffe でホストされているモデルを攻撃し、他の誰かのためにウェルを毒殺します。 [1]

従来の並列
  • サードパーティのセキュリティ以外の依存関係の侵害

  • 知らないうちにマルウェアをホストしている App Store

緩和 策
  • 可能な限り、モデルとデータのサード パーティの依存関係を最小限に抑えます。

  • これらの依存関係を脅威モデリング プロセスに組み込みます。

  • 1st/3rd-party システム間で強力な認証、アクセス制御、暗号化を活用します。

深刻さ

危うい

#10 裏口機械学習

説明

トレーニング プロセスは、トレーニング データを改ざんし、特定のウイルスを悪意のないウイルスとして分類するなど、誤った分類を強制するトロイの木馬モデルを提供した悪意のあるサード パーティに委託されます[1]。 これは、サービスとしての ML モデル生成シナリオのリスクです。

誤分類がトレーニング データに悪影響を与える可能性を示す例。1 枚の写真は、正しく分類された停止記号です。中毒の後、2番目の写真は速度制限記号としてラベル付けされます。 [12]

従来の並列
  • サード パーティのセキュリティ依存関係の侵害

  • 侵害されたソフトウェア更新メカニズム

  • 証明機関の不正侵入

緩和 策
リアクティブ/防御検出アクション
  • この脅威が検出されると、既に損害が発生しているため、悪意のあるプロバイダーによって提供されるモデルとトレーニング データは信頼できません。
プロアクティブ/保護アクション
  • 社内ですべての機密モデルをトレーニングする

  • トレーニング データをカタログ化するか、強力なセキュリティ プラクティスを持つ信頼できるサード パーティから提供されることを確認する

  • 脅威モデルは、MLaaS プロバイダーと独自のシステム間の相互作用をモデル化します。

応答アクション
  • 外部依存関係の侵害と同じ
深刻さ

危うい

#11 ML システムのソフトウェア依存関係の悪用

説明

この攻撃では、攻撃者はアルゴリズムを操作しません。 代わりに、バッファー オーバーフローやクロスサイト スクリプティングなどのソフトウェアの脆弱性が悪用されます[1]。 学習層を直接攻撃するよりも、AI/ML の下のソフトウェア レイヤーを侵害する方が簡単なので、セキュリティ開発ライフサイクルで詳しく説明されている従来のセキュリティ脅威軽減プラクティスが不可欠です。

従来の並列
  • 侵害されたオープン ソース ソフトウェアの依存関係

  • Web サーバーの脆弱性 (XSS、CSRF、API 入力検証エラー)

緩和 策

セキュリティ チームと協力して、該当するセキュリティ開発ライフサイクル/運用セキュリティ アシュアランスのベスト プラクティスに従ってください。

深刻さ

従来のソフトウェアの脆弱性の種類によって、変数の重要度が最大でクリティカルになることがあります。

参考文献

[1] 機械学習の失敗モード、Ram Shankar Siva Kumar、David O'Brien、Kendra Albert、Salome Viljoen、Jeffrey Snover、 https://learn.microsoft.com/security/failure-modes-in-machine-learning

[2] AETHER Security Engineering Workstream、Data Provenance/Lineage v-team

[3] ディープ ラーニングにおける敵対的な例:特性評価と相違、Wei、他 https://arxiv.org/pdf/1807.00051.pdf

[4] ML-Leaks: Machine Learning モデルに対するモデルとデータに依存しないメンバーシップ推論攻撃と防御、Salem など https://arxiv.org/pdf/1806.01246v2.pdf

[5] M. Fredrikson, S. Jha, T. Ristenpart, "信頼性情報と基本的な対策を悪用するモデル反転攻撃", 第2015回ACM SIGSACコンピュータおよび通信のセキュリティに関する会議(CCS)論文集にて。

[6] ニコラ・ペーパーノト & パトリック・マクダニエル- 機械学習 AIWTB 2017 の敵対的な例

[7] 予測 API を介した機械学習モデルの盗み、フロリアン・トラメール、エコール・ポリテクニーク・フェデラル・デ・コマース (EPFL);コーネル大学ファン・チャンアリ・ジュエルズ、コーネル技術;マイケル・K・ライター,ノース・カロライナ大学チャペルヒル校;Thomas Ristenpart(コーネル工科大学)

[8] 転送可能な敵対的な例の空間、フロリアン・トラミール、ニコラ・ペーパーノト、イアン・グッドフェロー、ダン・ボーン、およびパトリック・マクダニエル

[9] Well-Generalized 学習モデルに関するメンバーシップ推論の理解 雲水 Long1 , ビンセント・バインドシャエドラー1 , レイ・ワン2 , Diyue Bu2 , 小風王2 , Haixu Tang2 , Carl A. Gunter1 , Kai Chen3,4

[10] Simon-Gabriel ら、入力ディメンションによってニューラル ネットワークの敵対的脆弱性が増加する、ArXiv 2018;

[11] Lyu ら、敵対的な例のための統一勾配正則化ファミリ、ICDM 2015

[12] 野生のパターン: 敵対的機械学習の台頭から 10 年後 - NeCS 2019 バッティスタ ビジョア、Fabio Roli

[13] 敵対的に堅牢なマルウェア検出 UsingMonotonic Classification Inigo Incer et al.

バッティスタ・ビッジョ、イジーノ・コロナ、ジョルジョ・フメッラ、ジョルジョ・ジャシント、ファビオ・ロリ。 敵対的分類タスクにおける中毒攻撃と戦うためのバギング分類器

[15] 負の影響防衛に対する改善された拒否洪江李とパトリック・P.K.チャン

[16] Adler。 生体認証暗号化システムの脆弱性。 5th Int'l Conf. AVBPA、2005

[17] Galbally、McCool、Fierrez、Marcel、Ortega-Garcia。 丘を登る攻撃に対する顔検証システムの脆弱性について。 Patt. Rec., 2010

[18] Weilin Xu、David Evans、Yanjun Qi。 特徴絞り: ディープ ニューラル ネットワークでの敵対的な例の検出。 2018年ネットワーク・分散システムセキュリティシンポジウム. 2 月 18 日から 21 日。

[19] 敵対者トレーニングによって引き起こされるモデル信頼度を使用した敵対的堅牢性の強化 - Xi Wu、Uyeong Jang、Jiefeng Chen、Lingjiao Chen、Somesh Jha

[20] 敵対的な例の検出のための属性主導の因果分析、Susmit Jha、Sunny Raj、StevenFerandes、Sumit Kumar Jha、Somesh Jha、Gunjan Verma、Brian Jalaian、Ananthram Swami

[21] 訓練データのポイズニングに対する堅牢な線形回帰 – Chang Liu ほか

[22] 敵対的堅牢性を向上させるための特徴量のノイズ除去、Cihang Xie、Yuxin Wu、Laurens van der Maaten、Alan Yuille、Kaiming He

敵対例に対する認証済みの防御策 - Aditi Raghunathan、Jacob Steinhardt、Percy Liang