AIを使った業務が急速に普及しつつある昨今ですが、「セキュリティ対策が追い付いていない」、「セキュリティ対策ができているのか不安がある」といったお声も良くお聞きします。
幅広い業界のお客様にセキュリティコンサルティングを実施してきたProactive Defenseのコンサルタントに、具体的なリスクや対策について聞いてみました。
AIシステムとはどのようなものでしょうか

いまいちAI技術を用いたシステムのイメージがどのようなものなのか分かりません。具体例とともにどういうものか教えてもらえませんか?



実際どういうものがあるのか、イメージが難しいですよね。具体例をあげて解説します!
具体例として、とある工場におけるAIシステムの使用例をあげて説明します。
工場内のAIシステムを構築する際には、まず日頃工場に蓄積されているデータの中から、利用可能な学習データを採取して、クラウド上にあるAIサービスに情報を集約します。クラウド上のAIサービスにて蓄積されたデータは、加工・最適化され、工場内のAIシステムにて活用される学習モデルの原型を作成します。
運用時には、AIサービスで作成した学習モデルを使用し、入力データをAIで評価します。その評価結果を基に、システムの改善を行います。最新の入力データを使って学習モデルを最適化する際には、入力データをAIサービスの学習データとして使用し、学習モデルを再生成します。そして、再生成したモデルを工場のAIシステムにフィードバックします。
こうした一連の流れを繰り返すことで、より正確なデータが溜まっていきます。学習データを活用することにより、不良品の発生率を低下させる、よい商品を作るノウハウを蓄積する、などが実現できます。学習データ、すなわち知見を貯めることで、工場の作業をよりスピーディーにしたり、品質向上に役立てたりすることが可能になります。


あくまで一例に過ぎませんが、この工場をモデルに解説を進めていきますね。ちなみに工場によっては、クラウド上ではなく、工場内のサーバーにAIシステムを組み込む場合もあります。今回は、一般的によくあるクラウド上のAIシステムを用いたケースをモデルに、発生しうるリスクについて解説をしていきます。
AIシステムにおける攻撃ポイントと攻撃手法とはどのようなものでしょうか



では次にAIシステムについてどのような攻撃手法があるのか教えてください。



詳しくは、国立研究開発法人産業技術総合研究所「機械学習品質マネジメントガイドライン」が公開されていますので、そちらを参照していただくのが良いかと思いますが、いくつかピックアップして解説していきますね。
下記は「機械学習品質マネジメントガイドライン」で紹介されている攻撃手法をまとめた一覧です。
攻撃手法、開発から運用におけるどのフェーズで発生しうる攻撃なのか、攻撃内容、実際のリスク、についてまとめています。詳細についてはガイドラインをご参考ください。
出展:国立研究開発法人産業技術総合研究所「機械学習品質マネジメントガイドライン」
https://www.digiarc.aist.go.jp/publication/aiqm/AIQuality-requirements-rev4.2.0.0113-signed.pdf
脅威 | フェーズ | 内容 | リスク |
データポイズニング攻撃 | 開発時 | 学習データの採取元または学習データセットを改変する攻撃 | (i)意図に反する訓練済みモデルの動作や (ii)訓練済みモデルによる計算資源の浪費、(iii)訓練済みモデルからのセンシティブ情報の漏洩 |
モデルポイズニング攻撃 | 開発時/運用時 | 事前学習モデルまたは学習機構、訓練済みモデルを改変する攻撃 | (i)意図に反する訓練済みモデルの動作や (ii)訓練済みモデルによる計算資源の浪費、(iii)訓練済みモデルからのセンシティブ情報の漏洩 |
汚染モデルの悪用 | 運用時 | モデルの汚染に付け込む悪意あるデータを運用時に入力する攻撃 | (a)意図に反する訓練済みモデルの動作や (b)訓練済みモデルによる計算資源の浪費、(c)訓練済みモデルからのセンシティブ情報の漏洩 |
モデル抽出攻撃 | 運用時 | 運用時の訓練済みモデルに対して悪意あるデータを入力する攻撃 | 訓練済みモデルの属性や機能についての情報を漏洩させる |
回避攻撃 | 運用時 | 訓練済みモデルや運用時のシステムに対して「敵対的データ(adversarial example)と呼ばれる悪意あるデータを入力する攻撃 | 訓練済みモデルを誤動作させる |
スポンジ攻撃 | 運用時 | 運用時に訓練済みモデルに対して「スポンジデータ」(sponge example)と呼ばれる悪意あるデータを入力する攻撃 | 訓練済みモデルに計算資源を浪費させる |
訓練用データに関する情報漏洩攻撃 | 運用時 | 運用時に訓練済みモデルに対して悪意あるデータを入力する攻撃 | モデルの学習に用いられた訓練用データについてのセンシティブ情報を運用時に漏洩 させる |
今回は、モデルポイズニング攻撃、訓練用データに関する情報漏洩攻撃の2つをピックアップして解説していきます。
モデルポイズニング攻撃について
先ほどの工場の例でお話します。
工場で生成されるデータ、例えば犬の画像に関するデータを集めているとします。集まったデータをクラウド上のAIサービスにて、学習モデルとして蓄積していきます。工場からクラウドへの通信経路において攻撃を受け、犬であるべき画像情報が花の画像に変換されてしまう、こんな攻撃です。
これにより本来犬の画像の学習モデルが蓄積されるところが、花の画像の学習モデルが蓄積されてしまいます。このデータが工場に戻されてしまう、こうなると思っていた結果が得られません。このような攻撃がモデルポイズニング攻撃です。


訓練用データに関する情報漏洩攻撃について
こちらはAIに限定したものではなく、一般的な情報漏えいと同じ攻撃手法です。
工場内で生成されるデータに秘密情報が含まれているとします。この秘密情報が工場、工場からクラウド上のAIサービスへの通信経路、あるいはAIサービスで漏えいするリスクが考えられます。


AIシステム構築時のセキュリティ対策にはどのようなものがあるでしょうか



攻撃手法について解説ありがとうございます。続けて、それらの攻撃に対するセキュリティ対策にはどのようなものがあるか教えてください。



さきほど紹介したモデルポイズニング攻撃と、訓練用データに関する情報漏えいついて、それぞれ対策方法を解説しますね。今回も国立研究開発法人産業技術総合研究所「機械学習品質マネジメントガイドライン」をもとにお話ししますので詳細はガイドラインを参照ください。
脅威 | フェーズ | 内容 | 対策 |
データポイズニング攻撃 | 開発時 | 学習データの採取元または学習データセットを改変する攻撃 | ① データセットの収集・加工プロセスの信頼性の確認② データセットにおけるデータポイズニングの検知技術の利用③ データポイズニングに対するデータセットの耐性を向上させる技術の利用④ データポイズニングに対して頑健な学習方法による訓練⑤ 訓練済みモデルからのポイズニングの除去・軽減⑥ 開発用ソフトウェア・開発環境の脆弱性に対する従来型のセキュリティ対策 |
モデルポイズニング攻撃 | 開発時/運用時 | 事前学習モデルまたは学習機構、訓練済みモデルを改変する攻撃 | ① モデルの学習・提供プロセスの信頼性の確認② モデルポイズニングの検知技術の利用③ 事前学習モデルや訓練済みモデルからのポイズニングの除去・軽減④ ポイズニングを除去・軽減する学習機構の利用⑤ 開発用ソフトウェア・開発環境の脆弱性に対する従来型のセキュリティ対策⑥ 運用時システム・計算機環境・運用組織の脆弱性に対する従来型のセキュリティ対策 |
汚染モデルの悪用 | 運用時 | モデルの汚染に付け込む悪意あるデータを運用時に入力する攻撃 | ① 悪意ある運用時入力を検知・加工・制限する技術の利用② モデルのポイズニングを防止・軽減する技術の利用 |
モデル抽出攻撃 | 運用時 | 運用時の訓練済みモデルに対して悪意あるデータを入力する攻撃 | ① モデル抽出攻撃を行う運用時入力を検知・加工・制限する技術の利用② モデルの出力情報等の加工③ アンサンブル学習④ モデル抽出のリスクの評価技術の利用 |
回避攻撃 | 運用時 | 訓練済みモデルや運用時のシステムに対して「敵対的データ(adversarial example)と呼ばれる悪意あるデータを入力する攻撃 | ① 敵対的データに対する訓練済みモデルの頑健性の向上・評価技術の利用② 訓練済みモデルへの入力の制限(アクセス権の制限やアクセス回数・頻度の制限)③ 敵対的データの検知技術の利用④ 複数の異なるモデルやシステムの併用⑤ 前述のモデル抽出攻撃を防止・軽減する管理策 |
スポンジ攻撃 | 運用時 | 運用時に訓練済みモデルに対して「スポンジデータ」(sponge example)と呼ばれる悪意あるデータを入力する攻撃 | エネルギーやその他の資源の最大消費量を監視・制限することが挙げられる。スポンジ攻撃とその管理策はまだ研究の途上 |
訓練用データに関する情報漏洩攻撃 | 運用時 | 運用時に訓練済みモデルに対して悪意あるデータを入力する攻撃 | ステップ1:データ主体は、パーソナルデータを提供する。これを原データとする。データ 提供を受けるに際して、適切な同意の取り決めにしたがう。 ステップ2:学習データ加工者は、収集した原データの集まりから学習データセットを構築 する。原データを参照するので、学習データ加工者が脅威となり得る。また、利用目的が同 意の範囲であっても、学習データセットについて、データの最小化をあらかじめ確定的に決 めることが難しいことから、同意内容との関係に注意すべきである。 ステップ3:機械学習要素開発者は、学習データセットを入力情報として訓練学習の処理を施し、訓練済み学習モデルを導出する。学習データセットが適切に保護加工されていない場 合、学習データセットから原データを参照することが可能になり、機械学習要素開発者が脅威となり得る。 |
モデルポイズニング攻撃への対策について
基本的に攻撃者が侵入した後に、どういった攻撃を加えるのかによって攻撃手法の違いがでてきます。攻撃方法が同じ場合、対策方法も同一の対策になります。まずはモデルポイズニング攻撃への対策について紹介します。
対策方法
- 工場内における学習データへの対策方法
こちらに関しては、一般的な機器のセキュリティ対策と同じと考えてください。具体的にはマルウェア対策であったり、アプリを最新化しておく、通信ポートやアプリの制限といった対策方法が考えられます。
- 工場からAIサービスへの通信経路に関する対策方法
こちらに関しては、一般的な通信のセキュリティ対策と同様になります。具体的には認証や暗号化まわりの対策が考えられます。
- AI側のセキュリティ対策
こちらに関しては、学習に適さないデータの排除や学習に適さないデータの排除が考えられます。AIサービス側に届いた画像が塗りつぶされてしまっている、というような場合、その画像データは取り込まないようにする、ということです。所定のフォーマット、たとえば画像の場合であれば、データ形式がjpg、pngなどの形式ではない場合に除外する、という設定をしておくことが対策となります。
あるいはAIを使って段階的に判定するという方法もあります。まず第一段階でAIを使って判定を行い、そこを通過したデータのみをさらに判定する。届いた画像が動物であるかどうかをAIで判定した後で学習モデルとして蓄積する、というやり方もあるでしょう。精度の高い判定が可能なのであれば、四足歩行ではない場合排除する、犬ではないものを除外する、などの指定をします。
このようにして不要な学習モデルの作成を排除することが可能となります。


通常のセキュリティ対策と同じように、どこでどのような攻撃がありうるのか紐解いていくことで、対策方法を検討することができます。
訓練用データに関する情報漏洩攻撃への対策について
こちらは一般的なセキュリティ対策と同様です。
対策方法
- 工場内における学習データへの対策方法
こちらに関しては、一般的な機器のセキュリティ対策と同じと考えてください。具体的にはマルウェア対策であったり、アプリを最新化しておく、通信ポートやアプリの制限といった対策方法が考えられます。
- 工場からAIサービスへの通信経路に関する対策方法
こちらに関しては、一般的な通信のセキュリティ対策と同様になります。具体的には認証や暗号化まわりの対策が考えられます。
- AI側のセキュリティ対策
こちらは工場内における学習データへの対策方法と同様です。





自社内でAIシステムを構築したい場合は、ここまでご紹介したあたりが気にかけていただくべきポイントです。参考にしていただければと思います。
まとめ
今回のブログでは、AIシステムを構築する際に、どのようなセキュリティリスクを考慮する必要があるのかと、その対策について解説しました。一般的なセキュリティ対策同様に、攻撃の中身を紐解いていくことでAIシステム導入時の対策も検討することができます。
次回は利用者編として、AIシステムを利用する際にはどのような点に注意すべきか、そのポイントを解説します。
なお Proactive Defense では、セキュリティ対策に関するコンサルティングサービスをご提供しております。簡易的なアドバイスから、定期コンサルティングまでご要望に応じてご支援可能です。お問い合わせは下記のフォームよりお気軽にご連絡ください。