AI/ML システムと依存関係の脅威のモデル化

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

Raul Rojas と AETHER セキュリティ エンジニアリング ワークストリームに感謝します

2019 年 11 月

このドキュメントでは、AI と機械学習の領域に固有の脅威の一覧と軽減策に関する新しいガイダンスを提供することにより、AI 作業グループ向け AETHER エンジニアリング プラクティスを紹介し、既存の SDL 脅威モデル化手法を補完します。 これは、次のようなもののセキュリティ設計レビュー時に、リファレンスとして使用することを目的としています。

  1. AI/ML ベースのサービスとやり取りまたは依存関係を取得する製品/サービス

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

従来のセキュリティ脅威の軽減策は、かつてないほど重要になっています。 セキュリティ開発ライフサイクルによって確立された要件は、本ガイダンスの基になる製品セキュリティ基盤を確立するうえで不可欠です。 従来のセキュリティ脅威に対処できない場合、ソフトウェアおよび物理ドメインの両方で、本ドキュメントに記載している AI/ML 固有の攻撃が可能になるだけでなく、単純な侵害がソフトウェア スタックの下位にまで及んでしまいます。 この領域の最も新しいセキュリティ上の脅威の概要については、Microsoft における AI および ML の未来の保護に関するページを参照してください。

通常、セキュリティ エンジニアとデータ サイエンティストのスキルセットは重複しません。 このガイダンスでは、セキュリティ エンジニアとデータ サイエンティストがそれぞれが持つ知識の範囲内で、これらの最新の脅威や軽減策について、構造化された対話を共有できるようにする方法を提供します。

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

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

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

脅威のモデル化における重要な新しい考慮事項: 信頼の境界を示す方法を変更する

トレーニングに使用するデータだけでなく、データ プロバイダーにおけるセキュリティ侵害やポイズニングを想定します。 異常かつ悪意のあるデータ エントリを検出し、それらを識別して回復できるようにする方法について説明します

まとめ

トレーニング データ ストアとそれらをホストするシステムは、脅威のモデル化のスコープに含まれます。 現時点での機械学習の最大のセキュリティ脅威はデータ ポイズニングです。トレーニング データのソースを、信頼または選別されていないパブリック データセットに依存していることと併せて、この分野では標準的な検出策と軽減策が欠如しているためです。 データの信頼性を確保し、"ゴミを入れるとゴミが出てくる" トレーニング サイクルを回避するには、データの来歴と系列を追跡することが不可欠です。

セキュリティ レビューで問うべき質問

  • データが侵害または改ざんされている場合は、どうすればわかりますか?

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

  • ユーザー提供の入力でトレーニングを行っていますか?

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

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

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

    -フィードのコンシューマーに侵害を報告する方法はありますか?

    \- その手段を実行できますか?

  • トレーニング データの機密性はどの程度ですか?

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

  • モデルが機密データを出力することはありますか?

    \- このデータは、アクセス許可を使用してソースから取得されていますか?

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

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

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

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

  • モデルの整形式の入力を定義していますか? 入力がこの形式を満たしていることを確認するために何をしていますか? また、満たしていない場合はどうしていますか?

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

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

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

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

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

  • 選別されていない公開コンテンツに対して強化学習を使用していますか?

  • データの系列について考えてください - 問題が見つかった場合、そのデータがデータセットに取り込まれた時点まで追跡できますか? できない場合、それは問題となりますか?

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

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

    \- トレーニングに使用するデータ セットにデータを提供しているのはだれですか?

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

  • 敵対的摂動 (すべてのバリエーション)

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

攻撃の例

  • 無害な電子メールをスパムとして分類するか、悪意のある例を検出されない原因にする

  • 攻撃者が作成した入力。特に結果が大きいシナリオでは、正しい分類の信頼度レベルを下げる

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

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

使用しているモデルまたは製品やサービスによって実行され、オンラインまたは物理ドメインの顧客に害が及ぶ可能性がある行為を識別する

まとめ

軽減せずに放置した場合、AI/ML システムに対する攻撃によって、物理的な領域にまで被害が及ぶ可能性があります。 ユーザーに心理的または物理的な被害を与えるために歪められる可能性のあるシナリオはどれも、製品やサービスにとって重大なリスクとなります。 これは、トレーニングに使用される顧客の機密データやこれらのプライベート データ ポイントを漏えいする可能性のある設計上の選択にまで及びます。

セキュリティ レビューで問うべき質問

  • 敵対的なサンプルを使用してトレーニングを行いますか? それは物理ドメインでのモデル出力にどのように影響しますか?

  • 製品やサービスに対する荒しの外観はどのようなものですか? どのようにすればそれを検出して対応できますか?

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

  • モデルがコピーまたは盗用されると、どのような影響がありますか?

  • モデルを使用して、特定のグループ内の個人のメンバーシップを推測したり、単にトレーニング データに含めたりすることはできますか?

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

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

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

  • メンバーシップの推論

  • モデルの反転

  • モデルの盗難

攻撃の例

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

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

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

  • 停止の標識や交通信号を無視するように自己運転車を騙す

  • 温和なユーザーに対して荒し行為をするように会話ボットを操作する

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

まとめ

AI と機械学習における多くの攻撃は、モデルへのクエリ アクセスを提供するために公開されている API への正当なアクセスから始まります。 豊富なデータ ソースと豊富なユーザー エクスペリエンスはこの点と関連するため、認証されてはいるが "不適切な" (ここにグレー ゾーンが存在します) サード パーティによるモデルへのアクセスはリスクとなります。これは、彼らが Microsoft の提供するサービスより上のプレゼンテーション層として活動することができるからです。

セキュリティ レビューで問うべき質問

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

    \- 彼らはサービス上でプレゼンテーション層として活動することができますか?

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

    -サービスまたは依存関係の悪意のある使用が発生した場合の復旧戦略は何ですか?

  • サード パーティは、モデルを再利用して Microsoft またはその顧客に損害を与えるために、モデルの周囲にファサードを構築できますか?

  • 顧客はあなたに直接トレーニング データを提供しますか?

    \- どのようにそのデータをセキュリティで保護しますか?

    \- そのデータに悪意があり、サービスがターゲットである場合はどうなりますか?

  • この場合の偽陽性とはどのようなものですか? 偽陰性の影響はどのようなものですか?

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

  • 顧客に対するモデル出力の信頼性を証明するには、どのようなテレメトリが必要ですか?

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

    -なぜそれらを使用し、どのように信頼度を確認しますか?

  • サードパーティ製の事前構築済みモデルを使用しているか、サードパーティの MLaaS プロバイダーにトレーニング データを送信していますか?

  • 類似の製品やサービスに対する攻撃に関するニュース記事の一覧表を作成します。 多くの AI/ML の脅威はモデルの種類間で転移することを理解したうえで、これらの攻撃がご自身の製品に与える影響はどのようなものですか?

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

  • 物理ドメインにおける敵対的な例

  • 悪意ある ML プロバイダーによるトレーニング データの復旧

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

  • モデルに対するバックドア攻撃

  • ML 固有の依存関係の侵害

攻撃の例

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

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

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

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

#1: 敵対的摂動

説明

摂動スタイルの攻撃では、攻撃者は、密かにクエリを変更して、運用環境に展開されているモデルから目的の応答を引き出します [1]。 これはモデルの入力の整合性を侵害するため、ファジー スタイルの攻撃につながります。最終的な結果は必ずしもアクセス違反または EOP というわけではありませんが、代わりにモデルの分類のパフォーマンスを低下させます。 また、これは、AI が禁止するような方法で特定のターゲット単語を使用した荒し行為として現れることもあります。これにより、"禁止されている" 単語に一致する名前を持つ正当なユーザーが事実上サービスから拒否されてしまいます。

Diagram that shows increasing attack difficulty when complexity is increasing and capability is decreasing.[24]

バリアント #1a: ターゲットの誤分類

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

A diagram showing that a photo of targeted noise is incorrectly classified by an image classifier resulting in a photo of a bus.[6]

軽減策

  • 対敵トレーニングによって誘導されるモデルの信頼度を使用した対敵堅牢性の補強 [19]: 筆者たちは、高信頼性ニアネイバー (HCNN) というフレームワークを提案しています。これは、信用情報とニアレストネイバー検索を組み合わせて、基本モデルの対敵堅牢性を高めます。 これは、基になるトレーニング分布からサンプリングされたポイントの近隣部分で、適切なモデル予測と間違ったモデル予測を識別するのに役立ちます。

  • 属性駆動型の原因分析 [20]: 筆者たちは、敵対的摂動に対する回復力と、機械学習モデルによって生成される個々の決定の属性ベースの説明との間のつながりを調べています。 彼らは、敵対的入力が属性空間では堅牢ではないことを報告しています。つまり、いくつかの特徴を高い属性でマスキングすると、敵対的サンプルに対する機械学習モデルの優柔不断さが変化します。 対照的に、自然な入力は属性空間において堅牢です。

    An illustration showing two approaches to determining how input values 9,9 becomes misclassified as 9,4.[20]

これらのアプローチでは、悪意のある攻撃に対する機械学習モデルの回復力を強化できます。これは、この 2 層の認識システムを欺くには、元のモデルを攻撃するだけでなく、敵対的なサンプルに対して生成される属性と元のサンプルの類似性を確保する必要もあるからです。 悪意のある攻撃を成功させるには、両方のシステムを同時に侵害する必要があります。

同時に行われることが多い攻撃

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

重大度

Critical

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

これは、特定の入力に対して目的のラベルを返すようにモデルを操作しようとする攻撃者の試みとして特徴付けられます。 通常、これによってモデルからは擬陽性または偽陰性が返されます。 最終的にモデルの分類精度がわずかに乗っ取られるため、攻撃者は自由に特定のバイパスを誘導することができます。

この攻撃は分類の精度に大きな悪影響を与えますが、攻撃者は正しくラベル付けされないようにソース データを操作するだけではなく、目的とする不正なラベルで明確にラベル付けする必要もあるため、実行には非常に時間がかかります。 多くの場合、これらの攻撃では複数の手順や試行を使用して、誤分類を強制します [3]。 モデルが標的型誤分類を強制する転移学習攻撃を受けやすい場合、攻撃の調査はオフラインでしか実行できないため、攻撃者の識別可能なトラフィックの痕跡が見つからない可能性があります。

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

軽減策

事後対応型または防御型検出アクション

  • 分類の結果を提供する API への呼び出し間に最小時間しきい値を実装します。 これにより、成功摂動を見つけるために必要な全体的な時間を増やすことで、複数の手順から成る攻撃テストの速度を鈍化させます。

事前対応型または保護アクション

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

  • 対敵トレーニングと正則化: 既知の敵対的サンプルでトレーニングして、悪意のある入力に対して回復力と堅牢性を強化します。 これは正則化の一形式と考えることもできます。正則化では、入力勾配のノルムの大きさにペナルティーを科し、分類子の予測機能をより滑らかにします (入力限界を増やします)。 これには、低信頼度を使用した正しい分類が含まれます。

A graph showing the change in the slope of the prediction function with adversarial training.

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

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

    An illustration showing the result of feature squeezing.

    A diagram showing the flow of input through a feature-squeezing framework.[18]

  • 敵対的サンプルに対する認定された防御 [22]: 筆者たちは、特定のネットワークとテスト入力について、いかなる攻撃もエラーが一定の値を超えることを強制できないという証明書を出力する、半限定的な応力緩和に基づく方法を提案しています。 次に、この証明書は弁別可能であるため、筆者たちは合同でネットワーク パラメーターを使用して最適化を行い、すべての攻撃に対する堅牢性を促進するアダプティブな正則化を提供しています。

対応アクション

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

同時に行われることが多い攻撃

リモートからの特権の昇格

重大度

Critical

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

これは、攻撃者が正当なソース分類以外のあらゆる分類をターゲットにできる特殊なバリエーションです。 一般的に、攻撃者は分類済みソース データにランダムにノイズを挿入することで、今後適切な分類が使用される可能性を低下させます [3]。

Two photos of a cat. One photo is classified as a tabby cat. After adversarial perturbation, the other photo is classified as guacamole.

軽減策

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

同時に行われることが多い攻撃

非永続的なサービス拒否

重大度

重要

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

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

Two photos of a stop sign. The photo on the left shows a confidence level of 96 percent. After adversarial perturbation, the photo on the right shows a confidence level of 13 percent.

軽減策
  • バリアント #1aで説明されているアクションに加えて、イベント調整を使用して、1 つのソースからのアラートの量を減らすことができます。
同時に行われることが多い攻撃

非永続的なサービス拒否

重大度

重要

ターゲット データポイズニングの#2a

説明

攻撃者の目的は、 トレーニング フェーズで生成されたマシン モデルを汚染し、テスト フェーズで新しいデータの予測が変更されるようにすることです[1]。 標的型ポイズニング攻撃では、攻撃者の目的は特定のサンプルの分類を誤らせ、特定のアクションを誘発したり、特定のアクションを怠らせたりします。

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

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

    -トレーニング データのバリエーションを毎日測定し、傾斜/ドリフトのテレメトリを測定する

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

  • ポイズニングによって、範囲外のトレーニング サンプルが挿入されます。 この脅威に反撃するには、主に次の 2 つの戦略があります。

    -Data Sanitization/validation: トレーニング データから中毒サンプルを削除する -中毒攻撃との闘いのためのバギング [14]

    \- 否定的影響に対する拒否 (RONI) による防御 [15]

    -堅牢なラーニング: 中毒サンプルが存在する場合に堅牢な学習アルゴリズムを選択します。

    \- このようなアプローチについては [21] で説明されています。筆者たちは、次の 2 つの手順でデータ ポイズニングの問題に対処しています。1) 斬新で堅牢な行列の因数分解方法を導入して、真のサブ空間を回復し、2) 手順 (1) で回復されたベースに基づいて、斬新で堅牢な主成分分析回帰によって敵対的インスタンスを取り除きます。 彼らは、真のサブ空間を正常に復旧するために必要十分な条件を特徴付け、グラウンド トゥルースと比較した場合に予期される予測損失の境界を示しています。

同時に行われることが多い攻撃

トロイの木馬を忍ばせることで、攻撃者が長期間ネットワーク上に存在します。 トレーニング データまたは構成データが侵害され、モデルを作成する際に取り込まれたり、信頼されたりします。

重大度

Critical

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

説明

目標は、攻撃対象のデータ セットの品質または整合性を損なうことです。 多くのデータセットは公開されており、信頼されておらず、選別もされていないため、この攻撃によって、まずこのようなデータ整合性違反を特定する能力に関する懸念が増大します。 気付かないうちに侵害されたデータを使用してトレーニングを行うことは、"ゴミを入れるとゴミが出てくる" 状況となります。 検出された場合、トリアージによって、侵害されてるデータの範囲を確定し、検疫および再トレーニングする必要があります。

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

軽減策

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

同時に行われることが多い攻撃

高価値資産に対する認証済みのサービス拒否攻撃

重大度

重要

#3 モデルの反転攻撃

説明

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

Two images of a person. One image is blurry and the other image is clear.[4]

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

  • モデルで許可されるクエリ数を制限します

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

同時に行われることが多い攻撃

標的型攻撃、隠れた情報漏えい

重大度

標準の SDL バグ バーに従えば既定で "重要" ですが、機密データや個人を特定できるデータが抽出される場合は、"クリティカル" になります。

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

説明

攻撃者は、特定のデータ レコードがそのモデルのトレーニング データセットに含まれていたかどうかを判別できます [1]。 研究者は、患者の主要な治療内容 (例: 患者が受けてきた外科手術) について、属性 (例: 年齢、性別、病院) に基づいて予測することができました [1]。

An illustration showing the complexity of a membership inference attack. Arrows show the flow and relationship between training data prediction data.[12]

軽減策

この攻撃の実行可能性を論証する研究論文では、差分プライバシー [4、9] が効果的な軽減策であることが示されています。 これは Microsoft にとって新たな分野であるため、AETHER セキュリティ エンジニアリングではこの領域の研究に投資を行い専門知識を高めることを推奨しています。 この研究では、差分プライバシーの機能を列挙し、その軽減策としての実際的な有効性を評価した後、(Visual Studio でコードをコンパイルすると、開発者とユーザーには透過的にセキュリティが既定で有効になるのと同じように)、これらの防御がオンライン サービス プラットフォームで透過的に継承されるように設計する必要があります。

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

同時に行われることが多い攻撃

データのプライバシー。 トレーニング セットにデータ ポイントが含まれるかどうかについての推論は行われますが、トレーニング データ自体が漏えいすることはありません

重大度

これはプライバシーの問題であり、セキュリティ上の問題ではありません。 この問題については脅威のモデル化のガイダンスで取り上げられています。領域は重なっていますが、ガイダンスではセキュリティではなくプライバシーの観点から回答が行われています。

#5 モデルの盗難

説明

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

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

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

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

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

軽減策

事前対応型または保護アクション

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

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

  • 丸められた信頼度値を返します。 大部分の正当な呼び出し元には、小数第 2 位以上の精度は不要です。

同時に行われることが多い攻撃

価値の高い情報の漏えいを目的とした、システム データに対する認証されていない読み取り専用の改ざん。

重大度

セキュリティが重視されるモデルでは "重要"、それ以外の場合は "中程度"

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

説明

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

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

軽減策
  • モデル インターフェイスに対する強力なクライアント<とサーバーの>相互認証とアクセス制御

  • 問題のあるアカウントを停止します。

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

同時に行われることが多い攻撃

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

重大度

"重要" から "クリティカル"

#7 物理ドメインの敵対的な例 (ビット原子>)

説明

敵対的サンプルとは、機械学習システムをミスリードするという唯一の目的で、悪意のあるエンティティから送信された入力やクエリのことです [1]

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

同時に行われることが多い攻撃

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

軽減策

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

重大度

Critical

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

説明

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

同時に行われることが多い攻撃

標的型情報漏えい

軽減策

この攻撃の実行可能性を論証する研究論文では、準同型暗号化が効果的な軽減策であることが示されています。 これは現在 Microsoft ではほとんど投資が行われていない分野であるため、AETHER セキュリティ エンジニアリングではこの領域の研究に投資を行い専門知識を高めることを推奨しています。 この研究では、準同型暗号化の原則を列挙し、悪意のある "サービスとしての ML" プロバイダーに対する軽減策として、それらが実際にどの程度有効であるかを評価する必要があります。

重大度

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

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

説明

アルゴリズムのトレーニングに大規模なリソース (データ + 計算) が必要であるため、現時点では大企業がトレーニングしたモデルを再利用して、当面のタスクに合わせてわずかに変更する方法が一般的です (例: ResNet は Microsoft が提供する、広く使われている画像認識モデルです)。 これらのモデルは、Model Zoo によって厳選されたものです (Caffe は人気の画像認識モデルをホストしています)。 この攻撃では、敵対者は Caffe でホストされているモデルを攻撃することで、だれもが利用する "井戸" を毒します。  [1]

同時に行われることが多い攻撃
  • サード パーティが提供する、セキュリティ関連以外の依存関係が侵害される

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

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

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

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

重大度

Critical

#10 バックドア Machine Learning

説明

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

An example showing how mis-classifications can adversely affect training data. One photo is a correctly classified stop sign. After poisoning, the second photo is labeled as a speed limit sign.[12]

同時に行われることが多い攻撃
  • サード パーティが提供する、セキュリティ関連の依存関係が侵害される

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

  • 証明機関の侵害

軽減策
事後対応型または防御型検出アクション
  • この脅威が検出されると、被害は既に行われているため、悪意のあるプロバイダーによって提供されるモデルとトレーニング データは信頼できません。
事前対応型または保護アクション
  • 機密性の高いモデルはすべて社内でトレーニングする

  • トレーニング データをカタログ化するか、強力なセキュリティ プラクティスを使用して信頼できるサード パーティから提供されるようにする

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

対応アクション
  • 外部依存関係の侵害の場合と同じ
重大度

Critical

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

説明

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

同時に行われることが多い攻撃
  • オープンソース ソフトウェアの依存関係の侵害

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

軽減策

セキュリティ チームと協力して、セキュリティ開発ライフサイクルや運用セキュリティ アシュアランスで適用可能なベスト プラクティスに従います。

重大度

従来のソフトウェアの脆弱性の種類によってさまざまに異なります。

参考文献

[1] 「Failure Modes in Machine Learning (機械学習の障害モード)」、Ram Shankar Siva Kumar、David O'Brien、Kendra Albert、Salome Viljoen、Jeffrey Snover、https://docs.microsoft.com/security/failure-modes-in-machine-learning

[2] AETHER セキュリティ エンジニアリング ワークストリーム、「Data Provenance/Lineage (データの来歴と系列)」、v チーム

[3] 「Adversarial Examples in Deep Learning:Characterization and Divergence (ディープ ラーニングにおける敵対的サンプル: 特性と分岐)」、Wei 他、https://arxiv.org/pdf/1807.00051.pdf

[4] 「ML-Leaks: Model and Data Independent Membership Inference Attacks and Defenses on Machine Learning Models (ML の漏えい: 機械学習モデルにおけるモデルおよびデータに依存しないメンバーシップ推論攻撃と防御)」、Salem 他、https://arxiv.org/pdf/1806.01246v2.pdf

[5] M. Fredrikson、S. Jha、T. Ristenpart、「Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures (信用情報を悪用したモデル反転攻撃と基本的対抗手段)」。コンピューターと通信のセキュリティ (CCS) に関する 2015 年の ACM SIGSAC カンファレンスの議事録より。

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

[7] 「Stealing Machine Learning Models via Prediction APIs (予測 API を介した機械学習モデルの盗用)」、Florian Tramèr (スイス連邦工科大学ローザンヌ校 (EPFL))、Fan Zhang (コーネル大学)、Ari Juels (コーネル テック)、Michael K. Reiter (ノースカロライナ大学チャペルヒル校)、Thomas Ristenpart (コーネル テック)

[8] 「The Space of Transferable Adversarial Examples (転送可能な敵対的サンプルの領域)」、Florian Tramèr、Nicolas Papernot、Ian Goodfellow、Dan Boneh、Patrick McDaniel

[9] 「Understanding Membership Inferences on Well-Generalized Learning Models (適切に生成された学習モデルでのメンバーシップの推論について)」、Yunhui Long 1、Vincent Bindschaedler 1、Lei Wang 2、Diyue Bu 2、Xiaofeng Wang 2、Haixu Tang 2、Carl A. Gunter 1、Kai Chen 3、4

[10] Simon-Gabriel 他、「Adversarial vulnerability of neural networks increases with input dimension (ニューラルネット ワークの敵対的脆弱性は入力ディメンションが増えると共に増える)」、ArXiv 2018

[11] Lyu 他、「A unified gradient regularization family for adversarial examples (敵対的サンプルの統一された勾配正則化ファミリ)」、ICDM 2015

[12] 「Wild Patterns: Ten Years After the Rise of Adversarial Machine Learning (ワイルドなパターン: 敵対的機械学習の出現からの 10 年)」、NeCS 2019 Battista Biggioa、Fabio Roli

[13] 「Adversarially Robust Malware Detection Using Monotonic Classification (単調な分類を使用した、対敵堅牢性を備えたマルウェア検出機能)」、Inigo Incer 他。

[14] Battista Biggio、Igino Corona、Giorgio Fumera、Giorgio Giacinto、Fabio Roli。 「Bagging Classifiers for Fighting Poisoning Attacks in Adversarial Classification Tasks (分類子のバギングによる、敵対的分類タスクでのポイズニング攻撃への反撃)」

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

[16] Adler、 「Vulnerabilities in biometric encryption systems (生体暗号化システムの脆弱性)」。 第 5 回国際会議。 AVBPA、2005

[17] Galbally、McCool、Fierrez、Marcel、Ortega-Garcia、 「On the vulnerability of face verification systems to hill-climbing attacks (ヒルクライム攻撃に対する顔検証システムの脆弱性)」。 Patt. Rec、2010

[18] Weilin Xu、David Evans、Yanjun Qi。 「Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks (特徴の絞り出し: ディープ ニューラル ネットワークにおける敵対的サンプルの検出)」。 2018 年開催のネットワークおよび分散システムのセキュリティに関するシンポジウム。 2 月 18 日から 21 日。

[19] 「Reinforcing Adversarial Robustness using Model Confidence Induced by Adversarial Training (対敵トレーニングによって誘導されるモデルの信頼度を使用した対敵堅牢性の補強)」、Xi Wu、Uyeong Jang、Jiefeng Chen、Lingjiao Chen、Somesh Jha

[20] 「Attribution-driven Causal Analysis for Detection of Adversarial Examples (敵対的サンプルを検出するための属性駆動型の原因分析)」、Susmit Jha、Sunny Raj、Steven Fernandes、Sumit Kumar Jha、Somesh Jha、Gunjan Verma、Brian Jalaian、Ananthram Swami

[21] 「Robust Linear Regression Against Training Data Poisoning (トレーニング データのポイズニングに対する堅牢な線形回帰)」、Chang Liu 他。

[22] 「Feature Denoising for Improving Adversarial Robustness (特徴のノイズ除去による対敵堅牢性の向上)」、Cihang Xie、Yuxin Wu、Laurens van der Maaten、Alan Yuille、Kaiming He

[23] 「Certified Defenses against Adversarial Examples (敵対的サンプルに対する認定された防御)」、Aditi Raghunathan、Jacob Steinhardt、Percy Liang