AI/ML からセキュリティ開発ライフサイクルのバグ バーへのピボットAI/ML Pivots to the Security Development Lifecycle Bug Bar

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

2019 年 11 月November 2019

このドキュメントは Microsoft のAI ワーキング グループのための AETHER エンジニアリング プラクティスの成果物で、従来のセキュリティの脆弱性をトリアージするために使用される既存の SDL バグバーを補間します。This document is a deliverable of the Microsoft AETHER Engineering Practices for AI Working Group and functions as a supplement to the existing SDL bug bar used to triage traditional security vulnerabilities. これは、AI/ML 関連のセキュリティの問題をトリアージするための参照用として使用することを意図しています。It is intended to be used as a reference for the triage of AI/ML-related security issues. 脅威の分析と軽減に関する詳細については、「AI/ML システムと依存関係の脅威のモデル化」を参照してください。For more detailed threat analysis and mitigation information, refer to Threat Modeling AI/ML Systems and Dependencies.

このガイダンスは、「機械学習の障害モード」において、Ram Shankar Siva Kumar、David O’Brien、Kendra Albert、Salome Viljoen、および Jeffrey Snover が作成した "敵対的な機械学習の脅威の分類法" を中心に構成されており、それを何度も参照します。This guidance is organized around and extensively references the Adversarial Machine Learning Threat Taxonomy created by Ram Shankar Siva Kumar, David O’Brien, Kendra Albert, Salome Viljoen, and Jeffrey Snover entitled Failure Modes in Machine Learning. このコンテンツがベースとしている研究は、ML 障害モードにおける意図的であったり悪意のある行動と偶発的な行動の両方に対処する一方で、このバグ バーによる補間は、セキュリティ インシデントや修正プログラムのデプロイにつながる意図的であったり悪意のある行動に完全にフォーカスしています。Note that while the research this content is based on addresses both intentional/malicious and accidental behaviors in ML failure modes, this bug bar supplement focuses entirely on intentional/malicious behaviors that would result in a security incident and/or deployment of a fix.

ThreatThreat 重大度Severity 説明/ビジネス リスク/サンプルDescription/Business Risks/Examples
データ ポイズニングData Poisoning "重要" から "クリティカル"Important to Critical

トレーニング データを破損する - 攻撃者の最終目標は、"トレーニング フェーズで" 生成されたマシン モデルを汚染し、テスト フェーズにおいて新しいデータに基づく予測を改変することです。Corrupting the training data - The end goal of the attacker is to contaminate the machine model generated in the training phase, so that predictions on new data will be modified in the testing phase.

標的型ポイズニング攻撃では、攻撃者の目的は特定のサンプルの分類を誤らせ、特定のアクションを誘発したり、特定のアクションを怠らせたりします。In targeted poisoning attacks, the attacker wants to misclassify specific examples to cause specific actions to be taken or omitted.

AV ソフトウェアをマルウェアとして送信して、誤分類を悪意のあるものとして強制し、クライアント システムで対象の AV ソフトウェアを使用できないようにします。 Submitting AV software as malware to force its misclassification as malicious and eliminate the use of targeted AV software on client systems. 

ある企業はモデルをトレーニングするために、信頼できる有名 Web サイトで先物データを収集しています。A company scrapes a well-known and trusted website for futures data to train their models. そのデータ プロバイダーの Web サイトが、その後 SQL インジェクション攻撃によって侵害されます。The data provider’s website is subsequently compromised via SQL Injection attack. 攻撃者はデータセットを自由に汚染することができ、トレーニングされるモデルにはデータが汚染されている兆候は見えません。The attacker can poison the dataset at will and the model being trained has no notion that the data is tainted.

モデルの盗難Model Stealing "重要" から "クリティカル"Important to Critical

正当なクエリを実行することで、基になるモデルを再作成します。Recreation of the underlying model by legitimately querying it. 新しいモデルの機能は、基になるモデルの機能と同じになります。The functionality of the new model is same as that of the underlying model. モデルを再作成すると、逆に特徴情報を復旧したり、トレーニング データに対して推論を行ったりすることができるようになります。 Once the model is recreated, it can be inverted to recover feature information or make inferences on training data. 

式を解く - API 出力を使用してクラスの確率を返すモデルの場合、攻撃者はモデル内の不明な変数を特定するクエリを作成できます。Equation solving – For a model that returns class probabilities via API output, an attacker can craft queries to determine unknown variables in a model.

パスを見つける - API の特殊性を悪用して、入力を分類する際にツリーによって取得された "決定" を抽出する攻撃。Path Finding – an attack that exploits API particularities to extract the ‘decisions’ taken by a tree when classifying an input.

転移可能性攻撃 - 敵対者は、標的のモデルに予測クエリを発行することで、ローカル モデルをトレーニングし、そのモデルを使用して標的のモデルに転送する敵対的サンプルを作成することができます。Transferability attack - An adversary can train a local model—possibly by issuing prediction queries to the targeted model - and use it to craft adversarial examples that transfer to the target model. モデルが抽出され、敵対的入力のタイプの攻撃に対して脆弱であることが判明した場合、モデルのコピーを抽出した攻撃者は、実稼働環境にデプロイされているモデルに対する新しい攻撃を完全にオフラインの状態で開発できます。If your model is extracted and discovered vulnerable to a type of adversarial input, new attacks against your production-deployed model can be developed entirely offline by the attacker who extracted a copy of your model.

スパムの識別、マルウェアの分類、ネットワークの異常検出など、敵対的動作を検出するために ML モデルを役立たせる設定では、モデルの抽出によって回避攻撃が容易になりますIn settings where an ML model serves to detect adversarial behavior, such as identification of spam, malware classification, and network anomaly detection, model extraction can facilitate evasion attacks

モデル移転Model Inversion "重要" から "クリティカル"Important to Critical

機械学習モデルで使用される非公開の特徴を復元することができます。The private features used in machine learning models can be recovered. これには、攻撃者がアクセスできない非公開のトレーニング データの再構築が含まれます。This includes reconstructing private training data that the attacker does not have access to. これは、返される信頼度レベルを最大化する入力を見つけることで達成されますが、ターゲットに一致する分類によって左右されます。This is accomplished by finding the input which maximizes the confidence level returned, subject to the classification matching the target.

例:推測された名前または既知の名前と、モデルに対してクエリを実行する API アクセスから、顔認識データを再構築します。Example: Reconstruction of facial recognition data from guessed or known names and API access to query the model.

物理ドメイン内の敵対的サンプルAdversarial Example in Physical Domain CriticalCritical これらのサンプルは、物理ドメインで発生する可能性があります。たとえば、特定の色の信号灯 (敵対的入力) が一時停止の標識で点灯しており、画像認識システムが停止標識を停止標識として認識できなくなっているため、自己運転車が騙されて停止の標識を無視して走行する場合が考えられます。  These examples can manifest in the physical domain, like a self-driving car being tricked into running a stop sign because of a certain color of light (the adversarial input) being shone on the stop sign, forcing the image recognition system to no longer see the stop sign as a stop sign.  
ML サプライ チェーンに対する攻撃Attack ML Supply Chain CriticalCritical

アルゴリズムのトレーニングに大規模なリソース (データ + 計算) が必要であるため、現時点では大企業がトレーニングしたモデルを再利用して、当面のタスクに合わせてわずかに変更する方法が一般的です (例: ResNet は Microsoft が提供する、広く使われている画像認識モデルです)。Owing to large resources (data + computation) required to train algorithms, the current practice is to reuse models trained by large corporations and modify them slightly for task at hand (e.g: ResNet is a popular image recognition model from Microsoft).

これらのモデルは、Model Zoo によって厳選されたものです (Caffe は人気の画像認識モデルをホストしています)。These models are curated in a Model Zoo (Caffe hosts popular image recognition models).

この攻撃では、敵対者は Caffe でホストされているモデルを攻撃することで、だれもが利用する "井戸" を毒しています。In this attack, the adversary attacks the models hosted in Caffe, thereby poisoning the well for anyone else.

悪意のある ML プロバイダーからのバックドアが仕込まれたアルゴリズムBackdoored Algorithm from Malicious ML Provider CriticalCritical

基になるアルゴリズムを侵害するCompromising the underlying algorithm

悪意のあるサービスとしての ML プロバイダーがバックドア アルゴリズムを提供し、そこから非公開のトレーニング データが再生されます。A malicious ML-as-a-Service provider presents a backdoored algorithm, wherein the private training data is recovered. これにより、攻撃者はモデルだけあれば、顔やテキストなどの機密データを再構築することができます。 This provides the attacker with the ability to reconstruct sensitive data such as faces and texts, given only the model.

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

攻撃者によって特別に作成されたクエリを使用することで、ML システムを作成者の本来の意図から逸脱したタスクに再プログラミングできますBy means of a specially crafted query from an attacker, ML systems can be reprogrammed to a task that deviates from the creator’s original intent

顔認識 API のアクセス制御が脆弱な場合、サード パーティがユーザーに害を与えるように設計されたアプリ (ディープ フェイクジェネレーターなど) に組み込むことができます。Weak access controls on a facial recognition API enabling 3rd parties to incorporate into apps designed to harm users, such as a deep fakes generator.

これは不正使用/アカウント削除のシナリオですThis is an abuse/account takedown scenario

敵対的摂動Adversarial Perturbation "重要" から "クリティカル"Important to Critical

摂動スタイルの攻撃では、攻撃者は、クエリを密かに変更して、運用環境にデプロイされているモデルから目的の応答を引き出します。In perturbation-style attacks, the attacker stealthily modifies the query to get a desired response from a production-deployed model. これはモデルの入力の整合性を侵害するため、ファジー スタイルの攻撃につながります。最終的な結果は必ずしもアクセス違反または EOP というわけではありませんが、代わりにモデルの分類のパフォーマンスを低下させます。This is a breach of model input integrity which leads to fuzzing-style attacks where the end result isn’t necessarily an access violation or EOP, but instead compromises the model’s classification performance.

これは、AI が禁止するような方法で特定のターゲット単語を使用した荒し行為として現れることがあります。これにより、"禁止されている" 単語に一致する名前を持つ正当なユーザーが事実上サービスから拒否されてしまいます。This can be manifested by trolls using certain target words in a way that the AI will ban them, effectively denying service to legitimate users with a name matching a “banned” word.

害のないメールを強制的にスパムとして分類したり、敵対的なサンプルが検出されないようにしたりします。Forcing benign emails to be classified as spam or causing a malicious example to go undetected. これらは、モデル回避攻撃やモデル擬態攻撃とも呼ばれます。These are also known as model evasion or mimicry attacks.

特に重要度の高いシナリオで、攻撃者が入力を巧妙に操作して、適切な分類の信頼度レベルを下げます。Attacker can craft inputs to reduce the confidence level of correct classification, especially in high-consequence scenarios. また、これは、正当なアラートと区別できない不正なアラートによって管理者や監視システムを圧倒することを意図した、膨大な数の偽陽性という形を取ることもあります。This can also take the form of a large number of false positives meant to overwhelm administrators or monitoring systems with fraudulent alerts indistinguishable from legitimate alerts.

メンバーシップ推論Membership Inference "中" から "クリティカル"Moderate to Critical

モデルのトレーニングに使用されるグループ内の個々のメンバーシップを推論しますInfer individual membership in a group used to train a model

例: 年齢/性別/病院に基づく外科手術内容の予測Ex: prediction of surgical procedures based on age/gender/hospital