本連載は「AI*セキュリティ超入門」と題し、AIセキュリティに関する話題を幅広く・分かり易く取り上げていきます。本連載を読むことで、AIセキュリティの全体像が俯瞰できるようになるでしょう。

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

連載一覧

「AIセキュリティ超入門」は全8回のコラムで構成されています。

第1回:イントロダクション – AIをとりまく環境とセキュリティ –
第2回:AIを騙す攻撃 – 敵対的サンプル –
第3回:AIを乗っ取る攻撃 – 学習データ汚染 –
第4回:AIのプライバシー侵害 – メンバーシップ推論 –
第5回:AIの推論ロジックを改ざんする攻撃 – ノード注入 –
第6回:AIシステムへの侵入 – 機械学習フレームワークの悪用 –
第7回:AIの身辺調査 – AIに対するOSINT –
第8回:セキュアなAIを開発するには? – 国内外のガイドライン –

第1回〜第6回は公開済みです。
ご興味がございましたら読んでいただけると幸いです。

本コラムの概要

本コラムは第7回「AIの身辺調査 – AIに対するOSINT –」です。

本コラムでは、攻撃者が攻撃対象のAI(以下、標的AI)を効率的に攻撃するために、合法的に入手可能な情報を基に、標的AIに関する内部情報(データセットやアーキテクチャなど)を調査する手法を取り上げます。

なお、合法的に入手可能な情報を基に対象を調べ上げる手法は一般的にOSINTと呼ばれ、他国の諜報活動や犯罪捜査(サイバー犯罪含む)などでも広く用いられています。本コラムではOSINTの対象をAIに絞り、これを「AIに対するOSINT」と定義し、主に攻撃者の視点で標的AIの内部情報を調査することに主眼を置くことにします。

なぜOSINTが必要なのか?

ところで、なぜ攻撃者は標的AIをOSINTする必要があるのでしょうか?

そのモチベーションは、標的AIを効率的に攻撃することにあります。

本コラムの第2回「AIを騙す攻撃 – 敵対的サンプル –」で取り上げた、AIへの入力データを細工してAIの判断を誤らせる手法を例に取り、攻撃者が、オンライン公開されている画像認識APIを”騙す”シナリオを考えてみましょう。

このシナリオでは、攻撃者は標的AIへの入力データと、応答される分類結果しか知ることができません。つまり、攻撃者にとって標的AIはブラックボックス化しており、攻撃のハードルは高くなります。しかし、「第2回:AIを騙す攻撃 – 敵対的サンプル –」の「より現実的な攻撃シナリオ -Black Box Attacks-」で解説したとおり、ブラックボックスの状態でも攻撃を行うことは可能です。

ブラックボックスでAIを騙す様子

この図は、ブラックボックス設定で標的AIを騙すイメージを表しています。
先ず、攻撃者は標的AIを模倣した代替AIを手元に作成します。そして、代替AIを騙すことができる敵対的サンプルを作成します(手元にある代替AIを利用して敵対的サンプルを作成します)。最後に、この敵対的サンプルを標的AIに入力し、標的AIに誤分類を引き起こさせます。

標的AIと代替AIは、学習したデータセットやアーキテクチャなどが異なっていますが、敵対的サンプルには転移性があるため、代替AIに効果的な敵対的サンプルは、標的AIにも効果がある場合があります

当然ながら、代替AIと標的AIのデータセットやアーキテクチャなどが近似すればするほど、二つのAIが持つ決定境界も近似します。この場合、代替AIを騙すことができる敵対的サンプルは、高確率で標的AIをも騙すことができます

このように、標的AIの内部情報(データセットやアーキテクチャなど)を知ることは、攻撃の成功率を高めることに繋がるため、攻撃者は標的AIをOSINTするのです。

AIに対するOSINT

ここからは、AIに対するOSINTの具体的な手法を見ていきます。

筆者の知る限り、AIに対するOSINTについて最もよく纏められているのが、Adversarial ML Threat Matrixと呼ばれるプロジェクトです。このプロジェクトは、機械学習を用いたシステムへの攻撃をATT&CK*1フレームワークに配置することで、セキュリティ専門家が機械学習のセキュリティ(AIセキュリティ)に向き合うことを目的としています。

以降、Adversarial ML Threat Matrixに沿ってAIに対するOSINTを紹介していきます。

*1 ATT&CKフレームワーク
ATT&CKAdversarial Tactics, Techniques, and Common Knowledgeの略称で、実際のサイバー攻撃の観測に基づいた、攻撃者の戦術や技術を体系化したナレッジです。
(出典:Adversarial Threat Matrix

このフレームワークは、AIに対する脅威をReconnaissance(偵察)、Initial Access(初期アクセス)、Execution(攻撃の実行)、Exfiltration(データの持ち出し)Impact(攻撃の影響)などにカテゴライズしており、カテゴリ毎に具体的な手法/技術を網羅しています。

このカテゴリの中で、AIに対するOSINTに相当するのが「Reconnaissance」です。ここでは、「Reconnaissance」の中から「Acquire OSINT information」と「Gathering datasets」に焦点を当てて解説していきます。

Acquire OSINT information

この手法は、公開されている情報を合法的に収集することで、標的AIの内部情報を特定することを試みます。Adversarial ML Threat Matrixでは、一例として以下のソースから情報を収集するとしています。

  • arXiv
  • Public blogs
  • Press Releases
  • Conference
  • GitHub Repository
  • Tweets

arXivのような論文アーカイブには、AIのアーキテクチャなどに関する情報が大量に収められています。また、AI製品の開発者や営業担当者などが、製品に関する情報を技術ブログやプレスリリース、カンファレンス発表などで公開しているケースもあります。

また、オープンソースの顔認証エンジンや物体検知エンジンがGitHub Repository上で公開されているケースもあり、この場合はソースコードレベルでAIの内部情報を把握することができます。

攻撃者は、このような情報元を調査することで、合法的に標的AIの内部情報を得ることができます。

ここで、Adversarial Threat Matrixには記載されていませんが、特許情報からAIの内部情報をある程度知ることもできます。例えば、Google社の特許文献検索サービスである「Google Patents」を使用することで、AI製品に関する情報を得ることができます。試しに、「”AI製品の名前” architecture」などと検索してみてください。おそらく、AI製品の詳細な内部情報が見つかるはずです。

Gathering datasets

この手法は、標的AIの学習データを特定、または、推定することを目的とします。

標的AIのデータセットに直接アクセスできない場合は、ブラックボックスな状態で標的AIの学習データを推定する必要があります。この場合は、「第4回:AIのプライバシー侵害 – メンバーシップ推論 –」でも取り上げたメンバーシップ推論が有効です。

メンバーシップ推論の概要

標的AIに対してメンバーシップ推論を行うことで、攻撃者はブラックボックスな状態で標的AIの学習データを推定することができます。

メンバーシップ推論の詳細を知りたい方は、「第4回:AIのプライバシー侵害 – メンバーシップ推論 –」をご参照ください。

AI製品に対するOSINT例

ここまで読んできて、「AIに対するOSINTは机上の空論であり、現実的に行うことはできないのでは?」と思われた読者の方は多いかもしれません。

しかし、AIに対するOSINTを活用し、実際のAI製品に対して攻撃を行った例は存在します。ここからは、AI製品に対するOSINTの実例を2つ見ていきます。

  • マルウェア検知の回避
  • スパムメールフィルタの回避

マルウェア検知の回避

SkyLight社の研究者らは、AIベースのマルウェア検知ソフトウェア「Cylance」のマルウェア検知を回避する検証を行っています。

この検証では、Cylanceのマルウェア検知の閾値を特定し、これを下回るような「特殊な文字列」をマルウェアに追加することで、マルウェア検知の回避に成功しています。

Cylanceに対するOSINT(出典:Cylance, I Kill You!

この図は、Cylanceに対するOSINTの例を表しています。

研究者らは、特許情報・ホワイトペーパー・カンファレンスの発表内容などを基にCylanceの内部情報を調査し、マルウェア検知モデルをリバースエンジニアリングしました。そして、マルウェア検知の閾値を下回るような特殊な文字列を特定し、これを(本来検知すべき)マルウェアに追加することで、マルウェア検知を回避しています。

なお、この問題は既に修正されているとのことです。

スパムメールフィルタの回避

Silent Break Security社の研究者らは、AIベースのスパムメールフィルタ「Proofpoint Email Protection」のスパム検知を回避する検証を行っています。

この検証では、Proofpointのスパムメール検知の閾値を推定し、閾値を下回るスパムメール文章の生成に成功しています。

Proofpoint Email Protectionに対するOSINT(出典:Proof Pudding

この図は、Proofpointに対するOSINTの例を表しています。

研究者らは、Emailヘッダに含まれているProofpointが出力した信頼スコア(メールがスパムである確度情報)を収集し、Proofpointを模倣した代替モデルを作成しました。そして、代替モデルを基にスパムメール検知の閾値を調査し、閾値を下回るスパムメール文章を生成することで、Proofpointのスパムメール検知を回避しています。

なお、この問題は脆弱性「CVE-2019-20634」として報告されており、詳細はNVDで見ることができます。

このように、AIに対するOSINTは現実的な脅威であり、対策を施さない場合、攻撃に繋げられてしまうことになります。

まとめ

本コラムでは、AIを効果的に攻撃するための「身辺調査」として、AIに対するOSINTを紹介しました。

特許情報や技術ブログ、AIが出力する信頼スコアなどを収集・分析することで、十分にAIの内部情報を知ることができ、攻撃に繋げられることが分かりました。

AIに対するOSINTを防ぐためには、AIに関する情報を外部に出さないことが最も効果的ですが、特許情報や営業資料、(宣伝目的の)カンファレンス登壇、ホワイトペーパーの発行など、外部に出さざるを得ない場合もあります。

よって、AIに対するOSINTの脅威を正確に認識し、外部に公開する情報は必要最低限にするなど、情報公開の戦略を練ることが重要であると言えます

以上で、第7回「AIの身辺調査 – AIに対するOSINT –」は終了です。
次回は、第8回「セキュアなAIを開発するには? – 国内外のガイドライン -」について投稿いたします。


最後に、株式会社ChillStackと三井物産セキュアディレクション株式会社は、AIの開発・提供・利用を安全に行うためのトレーニングを提供しています。

本トレーニングでは、本コラムで解説した攻撃手法の他、AIに対する様々な攻撃手法と対策を、座学とハンズオンを通じて理解することができます。

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