In this article
機械学習におけるAI攻撃と敵対的AI
開発者が日々のワークフローでAIを活用するのは、今やごく一般的です。実際、開発者の92%が、すでに業務でAIコーディングツールを使っていると回答しています。こうしたツールには、特に作業のスピードを高めるメリットがある一方、新たな脅威や脆弱性を招く可能性もあります。悪意ある攻撃者が機械学習やAIを悪用する手法を絶えず進化させているのと同様に、組織もサイバーセキュリティを進化させる必要があります。
組織をAI攻撃や敵対的AIから守るには、機械学習における敵対的AIとは何か、攻撃がどのように行われるのか、システム内で検知する方法を理解することが重要です。
敵対的AIとは?
機械学習やAIの悪用という観点では、敵対的機械学習とも呼ばれる敵対的AIとは、悪意ある攻撃者がデータや入力を操作・欺くことで、機械学習システムやAIモデルを改変しようとすることです。敵対的AI攻撃は一般に、AIの論理や意思決定プロセスを悪用し、悪意のある出力を生成させます。
敵対的AIは巧妙で検知されにくいように設計されているため、モデルが悪用されたり侵害されたりしても、ユーザーが気づかないことがよくあります。
機械学習における敵対的AIが危険な理由
機械学習における敵対的AIが危険なのは、AIシステムの信頼性とセキュリティに影響を及ぼすためです。AIがより多くのワークフローに組み込まれるにつれて、悪用の範囲と影響も拡大します。たとえば、金融サービスのような重要分野が敵対的AI攻撃を受けると、組織やユーザーに影響を与える詐欺などの金融犯罪につながる可能性があります。
敵対的AI攻撃の仕組み
敵対的攻撃は、悪意のある入力や操作された入力を使って機械学習モデルを悪用します。入力を操作することで、攻撃者はシステムの意思決定を欺き、悪用して、出力に影響を与えることができます。
攻撃は通常、次の3つの段階で行われます。
攻撃者はシステムを分析して、AIシステムやモデルについて学習します。多くの場合、リバースエンジニアリングによって弱点や脆弱性、その他のセキュリティ上の欠陥を探り、システムのアルゴリズムや意思決定プロセスにアクセスします。
モデルを理解した攻撃者は、システムを欺いたり悪用したりするための入力、つまり敵対的サンプルを作り始めます。
入力を完成させた攻撃者は、敵対的サンプルの展開を開始します。
敵対的AIにはどのような種類がある?
敵対的AIを理解し、組織を保護するには、どのような種類があるのかを知ることが重要です。
回避攻撃:主に入力データの操作を狙う攻撃です。回避攻撃には、標的型と非標的型があります。標的型攻撃は、AIモデルに特定の誤った出力を生成させることを目的とします。非標的型攻撃には特定の目標や結果はなく、AIに何らかの誤った出力を生成させることを狙います。
ポイズニング攻撃:学習データが改ざんされたときに発生します。機械学習モデルは出力の生成や予測に学習データを使うため、ポイズニング攻撃はモデルの動作や意思決定に大きな影響を及ぼす可能性があります。
モデル転移:AIモデルや機械学習システムに対する敵対的サンプルのテストに成功した攻撃者は、ほかのモデルへの攻撃も試みることができます。すでに攻撃が成功しているため、モデル転移は通常、ほかの種類の敵対的AIよりも速く行われます。
モデル抽出:攻撃者はアクセス権を得た後、学習済みの機械学習システムやモデルの窃取、複製を狙います。モデルの仕組みを理解すれば、そのコピーを作成できます。
トロイの木馬型AI攻撃:モデルの学習段階で、攻撃者が悪意のあるトリガーを仕込む攻撃です。トリガーが作動して攻撃が実行されるまで、気づかれないことがよくあります。
ブラックボックス攻撃とホワイトボックス攻撃
敵対的AI攻撃におけるブラックボックスとホワイトボックスの違いは、攻撃者が機械学習システムについてどれだけ知っているかを指します。
ホワイトボックス攻撃では、攻撃者はAIモデルや機械学習システムについて、すべての知識や理解を持っています。これには、モデルのアーキテクチャ、パラメーター、学習データが含まれます。モデルの基盤を理解しているため、ホワイトボックス型の敵対的攻撃は、はるかに強力で効果的です。
ブラックボックス攻撃では、攻撃者が機械学習システムについて持つ知識は限られているか、まったくありません。モデルの基盤がわからないため、攻撃者は多くの場合、モデルの入力と出力を使って動作を推測することしかできません。成功すれば、モデルを抽出したり、別のシステムを攻撃したりする可能性があります。ホワイトボックス攻撃の実行にはモデルやシステムに関する内部知識が必要なため、こうした攻撃のほうが一般的です。
敵対的機械学習の手法
敵対的AIを展開する悪意ある攻撃者の手法は、目的とモデルの基盤によって異なります。代表的な敵対的攻撃の手法には、次のようなものがあります。
勾配ベースの手法:攻撃者は機械学習モデルの勾配を利用し、敵対的サンプルを作成するために必要な、小さく目立たない変更を算出します。その一例がFast Gradient Sign Method(FGSM)です。
最適化ベースの手法:攻撃者は数学的な手法を使って、最も効果的な敵対的サンプルを作るための変更を特定します。よく知られた例としてCarlini & Wanger(C&W)があります。
クエリベースの手法:ブラックボックス攻撃では、攻撃者がモデルにクエリを送信して、その動作を調べます。理解を深め、出力パターンを分析することで、境界や脆弱性を特定し、敵対的サンプルを作成できます。最近の研究では、クエリベースの手法によって、汎用的で転移可能な敵対的攻撃が可能になることが明らかになっています。

生成AIに対する敵対的攻撃の例
生成AIに対する敵対的攻撃は、ますます一般的になっています。多くの場合、画像やコードの生成ツールを含め、モデルの出力が操作されます。たとえば、次のようなものが生成されます。
誤った画像や不適切な画像
誤った情報、悪意のあるリンク、マルウェア
安全でない、または悪意のあるコード
誤解を招く音声
生成AIに対する敵対的攻撃では、変更を検知されないことが狙われます。開発者がコード生成にAIを利用している場合、特定のコマンドが使われたときに敵対的攻撃によってコードがわずかに改変される可能性があります。開発者が安全だと考えてリリース前に生成されたコードを確認しなければ、コードベース全体に影響が及ぶおそれがあります。
同様に、敵対的攻撃によってAIが生成した画像が改変される可能性もあります。画像の細部を少し変えるだけのこともあれば、より攻撃的または不適切な内容を生成させることもあります。
研究者たちは、将来AIが悪用される可能性のある手法もいくつか発見しています。その一例は、攻撃者が道路標識を操作したり、自動運転車に誤った認識をさせたりして、事故や危険な状況を引き起こすことです。また、攻撃者が顔認識ソフトウェアやシステムを操作して、他人になりすましたり、セキュリティ対策を回避したりする可能性もあります。
敵対的攻撃を検知する方法
敵対的攻撃から身を守るには、組織が先を見据えた多層防御を含む、堅牢なセキュリティ戦略を整備する必要があります。
継続的な監視
脅威を見逃さないために、組織は機械学習システムの継続的な監視を実施する必要があります。その方法の一つは、組織の資産やインフラを継続的に監視するセキュリティツールを導入することです。
AIへの入力と出力を継続的に監視することで、敵対的攻撃の兆候となる異常を検知しやすくなります。ほかにも、不審なアクティビティをログから分析するツール、入力の検証とサニタイズのプロトコル、モデルのパフォーマンスを定期的に評価する方法があります。AppSecチームがワークフローでAIを活用している場合、脆弱性を継続的に検知し、悪意のあるコードや安全でないコードを見つけられるセキュリティツールも不可欠です。
敵対的学習
敵対的サンプルを使ってモデルを学習させることで、モデルのセキュリティを高められます。敵対的サンプルを学習データに含めると、モデルが脅威を認識し、防御する方法を学習できます。
教育と意識向上
適切なツールを導入し、モデルを学習させるだけでなく、組織のユーザーやチームも敵対的攻撃の兆候、脅威がもたらす影響、不審なアクティビティの報告方法を把握しておく必要があります。敵対的攻撃は検知されないことを狙うため、教育と意識向上によって、組織やシステムに問題が起きる前に脅威を発見したり、変化を察知したりできます。
SnykでAI攻撃から防御
強固なセキュリティ態勢を整えることは、AI攻撃から組織を守る鍵となります。Snykのようなプラットフォームを活用すれば、SDLCをセキュアに保ちながら、すべての資産とアプリケーションを保護し、敵対的AIから組織を守れます。開発チームがワークフローにAIを取り入れている場合、Snyk Codeはコードの作成中にスキャンを行い、リアルタイムで修正を提案してコードを保護します。