本サイトは、快適にご利用いただくためにクッキー(Cookie)を使用しております。
Cookieの使用に同意いただける場合は「同意する」ボタンを押してください。
なお本サイトのCookie使用については、「個人情報保護方針」をご覧ください。

最新情報

2021.04.26

AIのための脆弱性スキャナー -Black Hat ASIA 2021 Arsenal 登壇予告-

著者:R&D部

2021年5月にオンラインで開催されるアジア最大級のハッカーカンファレンス「Black Hat ASIA 2021 Arsenal」に、弊社がOSSとして開発を進めているAI*1のための脆弱性スキャナー「Adversarial Threat Detector(以下、ATD)」が採択されました。ATDは「AI開発をセキュアにする」をコンセプトに、AI開発・運用をセキュアに回すための仕組みを構築し、AIの安全確保に貢献することを目的としています。本ブログでは、ATDの紹介とBlack Hatの登壇をお知らせいたします。

*1: 本ブログにおける「AI」の定義
本ブログでは、画像分類や音声認識など、通常は人間の知能を必要とする作業を行うことができるコンピュータシステム、とりわけディープラーニングを使用して作成されるシステム全般を「AI」と呼称します。

ATDの概要

背景

なぜ弊社が「ATD」の開発に着手したのか、その背景を説明します。

近年、ディープラーニング技術の発展により、顔認証や防犯カメラ、そして自動運転技術など、ディープラーニングを使用したシステムが普及しています。その一方で、システムへの入力データを偽装することで、他人になりすまして顔認証を突破する攻撃(回避攻撃/敵対的サンプル攻撃)や、AIの学習データを汚染することでAIにバックドアを設置する攻撃(学習データ汚染)、また、AIの挙動を観察することでAIの学習データを窃取する攻撃(抽出攻撃)など、AI開発の各工程を狙った攻撃が盛んに研究されています。AI開発者がこれらの攻撃を理解せずにAIを開発した場合、重大なインシデントに繋がる可能性があります。

  • AI開発工程で想定される脅威

Gartnerのレポート「A Gartner Special Report: Top 10 Strategic Technology Trends for 2020」によると、「2022年までにAIに対する攻撃のうち、30%が学習データ汚染・抽出攻撃・回避攻撃/敵対的サンプル攻撃になるだろう」とも言われています。AIの社会実装が加速していること、AIをより簡単に実装・利用できる「AIの民主化」が加速していること、前述の攻撃に関する研究が活発であること、また、AIへの攻撃に転用可能なテストツールが出始めていることなどを鑑みると、Gertnerの予測どおり、近い将来AIに対する攻撃が横行する時代が到来する可能性があります。

弊社は、AIへの攻撃が横行する時代が到来する前に、AI開発・運用をセキュアにする仕組みを構築し、AI開発者が攻撃者の後手に回らないように準備しておくことが重要であると考えています。そのため、AIの安全確保を支援するためのツール「ATD」をOSSで開発することにしました。

AIに対する攻撃手法と防御手法の詳細は以下のソースから参照いただけます。
ご興味のある方は是非ご一読ください。

ATDとは?

ATDは、AI開発者自身がAI開発のテスト工程で使用することを想定しています。
学習済みのモデルに対して以下の4サイクルを回すことで、AIのリリース前に脆弱性を検出・修正することを目的としています。

  1. 脆弱性の検出(Scanning & Detection)
  2. 開発者の脆弱性の理解(Understanding)
  3. 脆弱性の修正(Fix)
  4. 修正確認(Re-Scanning)
  • ATDのセキュア・サイクルATDコンセプト

それでは、各サイクルを一つずつ説明しながらATDの動きを見ていきましょう。

1. 脆弱性の検出(Scanning & Detection)

AIの脆弱性を検出するために、ATDは様々な攻撃を自動的に実行します。
ATDのコマンド引数に検証対象のAI(学習済みのモデル)とデータセット、そして攻撃手法を指定することで、検証対象のAIの脆弱性を検出します。なお、ATDは検証対象のAIが操作者の手元にあることを前提(ホワイトボックス設定)としているため、悪意のある者がATDを悪用し、外部の製品やサービスに対して攻撃を行うことはできません。あくまでも、AI開発者のための脆弱性スキャナーとなっています。

  • ATDのコマンド脆弱性スキャン

なお、ブログ執筆時点(2021年4月)のATDはアルファ版であり、以下のように画像分類器に対する一部の攻撃にのみ対応しています。
その他の分類器・攻撃については、今後順次対応していく予定です。

攻撃種別 画像分類器 文書分類器 その他の分類器
データ汚染攻撃(Data Poisoning) 6月頃サポート予定 N/A N/A
モデル汚染攻撃(Model Poisoning) N/A N/A N/A
回避攻撃(Evasion) サポート済み N/A N/A
抽出攻撃(Exfiltration) 5月頃サポート予定 N/A N/A

ここで、現時点のATDがサポートしている「回避攻撃(Evasion)」について簡単に説明します。
回避攻撃とは、AIへの入力データを偽装することで、これを攻撃者が意図したクラスに誤分類させる攻撃です。偽装された入力データのことをAdversarial Examplesと呼び、AIの誤分類を誘発するように微小のノイズが加えられています。このノイズによりデータの特徴量が変化し、AIの誤分類が誘発されます。なお、Adversarial Examplesに加えられたノイズは微小であり、通常は人間の目で異常を捉えることはできません。それゆえ、入力データがAdversarial Examplesか否かを見破ることは非常に困難です。

  • 回避攻撃の一例回避攻撃

上の図は、船(Ship)の画像にノイズを加え、特徴量を蛙(Frog)に変化させた様子を表しています。
この画像をAIに入力すると、(本来は船クラスに分類すべきところ)蛙クラスに誤分類してしまいます。攻撃者は、ノイズの散布方法を変えることで、理論上、あらゆるクラスに誤分類されるAdversarial Examplesを作成することができます。弊社の知る限り、AIへの攻撃手法の中で回避攻撃の研究が最も盛んであり、実際の製品やサービスに対する「顔認識の回避」や(道路標識認識などの)「物体検知の誤分類」などの検証事例も多く存在します。このため、回避攻撃はAIに対する現実的な脅威になり得ると考えています。

ATDは、回避攻撃で使用されるAdversarial Examplesを自動的に作成することができます。
以下はBenign Examplesと、ATDが作成したAdversarial Examplesを表しています。

  • Benign Examplesbenign examples
  • Adversarial Examplesadversarial examples

その違いが分かりますでしょうか?
Benign ExamplesとAdversarial Examplesを比較すると、Adversarial Examplesにはノイズが乗っていますが、おそらく皆様の目には「船」に見えると思います。しかし、Benign Examplesを「船」クラスに正しく分類するAIにAdversarial Examplesを入力すると「蛙」として誤分類されます。

このように、ATDはAdversarial Examplesを複数作成し、これらに対するAIの分類精度を計測することで、このAIが回避攻撃に対して脆弱か否かを判定します。

なお、ATDでは、Adversarial Examplesを「Fast Gradient Signed Method (FGSM)」「Carlini and Wagner Attack (C&W)」「Jacobian Saliency Map Attack (JSMA)」という3つの手法を使用して作成することができ、これらのAdversarial Examplesに対してAIが安全か否かを迅速にチェックすることができます。ATDのGitHubリポジトリに、これらの攻撃のチュートリアルがありますので、詳細を知りたい方はチュートリアルをご参照いただければと思います。

2. 開発者の脆弱性の理解(Understanding)

ATDは脆弱性を検出すると、レポート(HTML)脆弱性の再現環境(ipynb)を生成します。
AI開発者は、レポートと脆弱性の再現環境を参照することで、脆弱性および対策方法に関する理解を深めることができます。

  • レポートHTMLレポート

レポートには、エグゼクティブ・サマリーや検証対象のAIに関する基本情報、攻撃手法の概要、脆弱性の内容、そして、対策が記載されています。AI開発者はレポートを読むことで、AIの安全性や脆弱性の内容、対策の理解を深めることができます。
レポートのサンプルはこちらをご覧ください。

  • 脆弱性の再現環境脆弱性の再現

また、ATDは検出した脆弱性の再現環境を自動生成します。
再現環境は「ipynb」形式になっており、Jupyter Notebookで開くことで、検証対象のAIに対する攻撃手順を実行しながら一つずつ確認することができます。
再現環境のサンプルはこちらをご覧ください。

このように、ATDを使用することで、単にレポートを読むだけでなく、実際に脆弱性の再現環境を使用して攻撃のメカニズムや脆弱性について理解することができるため、AI開発者のセキュリティ意識の向上にも寄与できると考えています。

3. 脆弱性の修正(Fix)

ATDには、脆弱性の対策を支援する機能が備えられています。
現在のATDは、回避攻撃の対策の一つである「敵対的学習(Adversarial Training)」に対応しています。

ここで、「敵対的学習」について簡単に説明します。
敵対的学習とはAIの安全性能を高める防御手法であり、AIの学習時にAdversarial Examplesの特徴をも学習することで、Adversarial Examplesによる誤分類を抑制します。下の図は、AIの学習時において、学習データ(Normal Train Data)とAdversarial Examplesに対する分類誤差(Loss)をそれぞれ計算し、これを足し合わせた値を基にAIの学習(重みを更新)を行うことで、Adversarial Examplesの特徴を学習している様子を表しています。

  • 敵対的学習敵対的学習

このように、Adversarial Examplesの特徴を学習したAIは、Adversarial Examplesを正しい(本来の)クラスに分類することができるようになり、回避攻撃への耐性が高くなります。

ATDでは、コマンドライン引数でオプション指定することで、検証対象のAIに敵対的学習を行わせることができます。ATDのGitHubリポジトリに敵対的学習のチュートリアルがありますので、詳細を知りたい方はチュートリアルをご参照いただければと思います。

4. 修正確認(Re-Scanning)

ATDは脆弱性対応済みのAIに対し、修正確認のための再スキャンを実行することができます。
コマンドライン引数で再スキャン対象のAIを指定することで、迅速に脆弱性の修正有無を確認することができます。

このように、ATDを使用して4つのサイクルを回すことで、AIの安全性を向上させることができます。
現在のATDはアルファ版ですが、月に1回のペースで機能拡張していく予定です。ATDのGitHubリポジトリでリリース情報をお知らせしますので、フォローいただき、定期的にご確認いただけると幸いです。

ATDのためのGUI「GyoiBoard」

ところで、コマンドライン操作が苦手な方は多いかもしれません。
また、AIやその脆弱性の「管理」を行いたいと思われる方もいらっしゃるかもしれません。

そこで弊社は、「GyoiBoard(ギョイボード)」と呼ぶ、ATDのためのWebインタフェースをOSSで開発することにしました。
下の図に示すように、GyoiBoardは複数のページから構成されており、AIの管理や脆弱性検出状況の可視化、スキャンの実行やレポートの参照といった操作をWebブラウザ上から行うことができます。

  • ダッシュボードGyoiBoard Dashboard
  • 脆弱性スキャン・リストGyoiBoard Scan List

GyoiBoardはATDと組み合わせて使用することを想定しています。
GyoiBoardのGitHubリポジトリに、インストール方法や操作方法などを記載していますので、ご使用になられたい方はリポジトリをご参照ください。

なお、現在のGyoiBoardはアルファ版です。
今後月に1回のペースで機能拡張していき、最終的には安全なAIを開発者/開発会社・AIの利用企業間で交換できるプラットフォームを目指す予定です。GyoiBoardのGitHubリポジトリでリリース情報をお知らせしますので、フォローいただき、定期的にご確認いただけると幸いです。

Black Hat ASIA 2021 Arsenalの登壇予告

これまで説明してきたATDとGyoiBoardを「Black Hat ASIA 2021 Arsenal」にて発表いたします。

Black Hat Arsenalとは、研究発表(Briefings)と並行して開催される「先進的なセキュリティに関するツールの展示会」であり、厳しい事前審査をクリアしたツールのみが出展可能です。Arsenalは、プレゼンターに割り当てられた専用の展示ブースにてツールのプレゼンテーションとデモを行い、来場者とディスカッションを行うことができる熱気に満ちた場になっています。Arsenalの様子は、以下の公式ビデオにてご覧ください(音が出ますのでご注意を)。

なお、弊社のArsenal出展は、2016年から通算で6回目となります(過去の登壇の様子は、以下のブログをご参照ください)。

例年、Black Hat ASIA Arsenalはシンガポールで開催されていましたが、昨今の新型コロナウィルスの猛威により、昨年からオンライン開催となっています。弊社は以下の日時に発表を行いますので、ご興味のある方は(オンライン上で)弊社のブースに足を運んでいただけると幸いです。

なお、Arsenalにアクセスするには、無料のビジネスパスを取得する必要があります。ビジネスパスはArsenalに加え、基調講演やスポンサーセッションなどにもアクセスできますので、ぜひこちらから登録いただければと思います。

AIセキュリティのトレーニング

弊社は株式会社ChillStackと共同で、AIの開発・提供・利用を安全に行うためのトレーニングを提供しています。
本トレーニングでは、AIに対する様々な攻撃手法(学習データ汚染攻撃・抽出攻撃・回避攻撃など)とその対策を、ハンズオントレーニングとeラーニングを通じて理解することができます。

本トレーニングの詳細やお問い合わせにつきましては、弊社窓口、または、AIディフェンス研究所をご覧ください。

本ブログは以上となります。
最後までご覧いただき、誠にありがとうございました。