(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】アセスメント装置、代替モデル作成装置、アセスメント方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240903BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022531194
(86)(22)【出願日】2020-06-18
(86)【国際出願番号】 JP2020023930
(87)【国際公開番号】W WO2021255888
(87)【国際公開日】2021-12-23
【審査請求日】2022-12-16
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100080816
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】土田 光
【審査官】渡辺 順哉
(56)【参考文献】
【文献】国際公開第2018/216379(WO,A1)
【文献】特開2020-046883(JP,A)
【文献】SHOKRI, Reza ほか,Membership Inference Attacks against Machine Learning Models,arXiv[online],2017年03月31日,Retrieved from the Internet: <URL: https://arxiv.org/pdf/1610.05820v2.pdf>
【文献】PARK, Yeachan ほか,Membership Inference Attacks Against Object Detection Models,arXiv[online],arXiv,2020年01月28日,[retrieved on 2020.09.09], Retrieved from the Internet: <URL: https://arxiv.org/pdf/2001.04011v2.pdf>
【文献】NASR, Milad ほか,Machine Learning with Membership Privacy using Adversarial Regularization,arXiv[online],arXiv,2018年07月16日,pp.1-14,[retrieved on 2020.09.09], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1807.05852v1.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
評価対象装置が有する評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成するクエリ作成部と、
前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力として
、前記評価対象のモデルの訓練に使われた仮想訓練データを推定するMIA実行部と、
前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する代替モデル作成部と、
を備えた代替モデル作成装置にアクセス可能であり、
前記代替モデルと、
前記評価対象のモデルとにそれぞれ第2のクエリを
入力するために前記代替モデル作成装置と前記評価対象装置に送信し、その結果を用いて、前記評価対象のモデルの安全性を評価する安全性評価部
と、
前記代替モデルを用いて、前記評価対象のモデルに誤った推論結果を出力させるためのAdversarial Examplesを作成し、前記評価対象のモデルに対して攻撃を行ない、前記攻撃の成否に基づいて、前記評価対象のモデルを評価する対象モデル攻撃部を備えたアセスメント装置。
【請求項2】
前記クエリ作成部は、代替モデル作成部が前記代替モデルの作成に用いる仮想訓練データの数Mよりも大きいN個のクエリを作成し、
前記MIA実行部は、前記N個の推論結果を入力としてスコアの高い上位M個の仮想訓練データを選択する
前記代替モデル作成装置にアクセス可能な請求項1のアセスメント装置。
【請求項3】
前記安全性評価部は、
前記代替モデルと、
前記評価対象のモデルとにそれぞれ第2のクエリを
入力するために前記代替モデル作成装置と前記評価対象装置に送信した結果の類似度を計算し、評価値として出力する類似度計算部を含む請求項1又は2のアセスメント装置。
【請求項4】
前記安全性評価部は、さらに、
前記類似度計算部が所定の評価値を得るために用いられた、少なくとも、データ数d、クエリの数qを用いてコストを計算し、評価値として出力するコスト計算部を含む請求項3のアセスメント装置。
【請求項5】
さらに、
前記対象モデル攻撃部が所定の成功結果を得るために用いられた、少なくとも、データ数d、クエリの数qを用いてコストを計算し、評価値として出力する攻撃コスト計算部を含む請求項
1のアセスメント装置。
【請求項6】
評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成するクエリ作成部と、
前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力として
、前記評価対象のモデルの訓練に使われた仮想訓練データを
推定するMIA実行部と、
前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する代替モデル作成部と、
を備えた代替モデル作成装置。
【請求項7】
評価対象装置が有する評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成するクエリ作成部と、
前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力として
、前記評価対象のモデルの訓練に使われた仮想訓練データを推定するMIA実行部と、
前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する代替モデル作成部と、を備えた代替モデル作成装置にアクセス可能なコンピュータが、
前記代替モデルと、
前記評価対象のモデルとにそれぞれ第2のクエリを
入力するために前記代替モデル作成装置と前記評価対象装置に送信し、
前記第2のクエリに対する、前記代替モデルと、前記評価対象のモデルとのそれぞれの推論結果を用いて、前記評価対象のモデルの安全性を評価
し、
前記代替モデルを用いて、前記評価対象のモデルに誤った推論結果を出力させるためのAdversarial Examplesを作成し、前記評価対象のモデルに対して攻撃を行ない、前記攻撃の成否に基づいて、前記評価対象のモデルを評価する、
評価対象のモデルの安全性アセスメント方法。
【請求項8】
評価対象装置が有する評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成するクエリ作成部と、
前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力として
、前記評価対象のモデルの訓練に使われた仮想訓練データを推定するMIA実行部と、
前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する代替モデル作成部と、を備えた代替モデル作成装置にアクセス可能なコンピュータに、
前記代替モデルと、
前記評価対象のモデルとにそれぞれ第2のクエリを
入力するために前記代替モデル作成装置と前記評価対象装置に送信する処理と、
前記第2のクエリに対する、前記代替モデルと、前記評価対象のモデルとのそれぞれの推論結果を用いて、前記評価対象のモデルの安全性を評価する処理と
、
前記代替モデルを用いて、前記評価対象のモデルに誤った推論結果を出力させるためのAdversarial Examplesを作成し、前記評価対象のモデルに対して攻撃を行ない、前記攻撃の成否に基づいて、前記評価対象のモデルを評価する処理とを、
前記コンピュータに実行させるプログラムを記録したコンピュータ記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アセスメント装置、代替モデル作成装置、アセスメント方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1に、AI(Artificial Intelligence)を用いて未知のマルウェアを検出する分類装置が開示されている。具体的には、同文献には、正常な通信を行う端末が発する通信ログであることを示す良性な通信ログと、マルウェアに感染した端末が発する通信ログとを用いて学習を行って、分類器を作成し、この分類器を用いて、未知の通信ログを検査することが記載されている。
【0003】
特許文献2には、推論対象を特定する要件に対する訓練データの寄与を評価することができるという訓練データ評価装置が開示されている。具体的には、同文献には、訓練データを複数のバッチデータに分け、複数のバッチデータを順次用いてモデルの訓練を行うことが記載されている。そして、この訓練データ評価装置は、前記バッチデータを順次適用した訓練によって変化していく過程のモデルと、それぞれのモデルを生成したバッチデータの情報とを訓練経過記憶部に記憶する。最終的に、訓練データ評価装置は、この訓練経過記憶部に記憶させた複数のモデルにテストデータを適用して各モデルを評価し、各モデルの評価結果に基づいてバッチデータを選定する。
【0004】
特許文献1に記載されているAIを用いた分類装置に対する攻撃方法として、Adversarial Examples (AEs)という方法が知られている(非特許文献1)。このAEsとは、攻撃対象となるモデルに入力した際に、想定されている出力とは異なるような出力が得られるデータを作成し、誤分類させるものである。とりわけ、特許文献1のようなマルウェアの検出において、何らかのノイズを乗せることで、誤分類させることができてしまうと、セキュリティ上大きな問題となるので、有効な対策の立案が要請されている。
【0005】
また、非特許文献2には、GAN(Generative Adversarial Network)と呼ばれる疑似データの作成技術を用いて上記したAEsを作成する方法が提案されている。
【0006】
上記したAEsに対してロバスト性(頑健性)のあるモデルを作成するアルゴリズムも研究されている。一方で、非特許文献3には、AEsに対してロバスト性(頑健性)のあるモデルは、訓練に使われたデータを推定するMembership Inference攻撃(MI攻撃;MIAともいう)が成功しやすいという報告がなされている。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2019-57016号公報
【文献】特開2020-21301号公報
【非特許文献】
【0008】
【文献】Grosse, Kathrin, et al. 、 “Adversarial examples for malware detection”、European Symposium on Research in Computer Security. 、Springer, Cham、 2017、[online]、[令和2年5月21日検索]、インターネット〈URL:https://link.springer.com/chapter/10.1007/978-3-319-66399-9_4〉
【文献】Weiwei Hu, Ying TAN、“Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN”、[online]、[令和2年5月21日検索]、インターネット〈URL:https://arxiv.org/abs/1702.05983〉
【文献】Liwei Song, Reza Shokri, Prateek Mittal、“Privacy Risks of Securing Machine Learning Models against Adversarial Examples”、CCS'19: Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security、November 2019、Pages 241-257、[online]、[令和2年5月21日検索]、インターネット〈URL:https://dl.acm.org/doi/10.1145/3319535.3354211〉
【発明の概要】
【発明が解決しようとする課題】
【0009】
以下の分析は、本発明者によって与えられたものである。背景技術に記載されているとおり、AIを用いたシステムの中核をなす学習モデル(以下、単に「モデル」という)の安全性を評価したいというニーズがある。その評価項目の1つとして、AEsに対する耐性を取り上げることができるが、非特許文献3の指摘が正しいのであれば、MI攻撃に対する耐性も評価する必要がある。
【0010】
本発明は、上記したAEsに対する耐性とMI攻撃に対する耐性との双方の観点で評価対象のモデルの安全性を評価できるアセスメント装置、代替モデル作成装置、アセスメント方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
第1の視点によれば、評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成するクエリ作成部と、前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力としてMembership Inference攻撃を行って、前記評価対象のモデルの訓練に使われた仮想訓練データを推定するMIA実行部と、前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する代替モデル作成部と、を備えた代替モデル作成装置にアクセス可能であり、前記代替モデルと、評価対象のモデルとにそれぞれ第2のクエリを送信し、その結果を用いて、前記評価対象のモデルの安全性を評価する安全性評価部を備えたアセスメント装置が提供される。
【0012】
第2の視点によれば、評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成するクエリ作成部と、前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力としてMembership Inference攻撃を行って、前記評価対象のモデルの訓練に使われた仮想訓練データを作成するMIA実行部と、前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する代替えモデル作成部と、を備えた代替モデル作成装置が提供される。
【0013】
第3の視点によれば、評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成するクエリ作成部と、前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力としてMembership Inference攻撃を行って、前記評価対象のモデルの訓練に使われた仮想訓練データを推定するMIA実行部と、前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する代替モデル作成部と、を備えた代替モデル作成装置にアクセス可能なコンピュータが、前記代替モデルと、評価対象のモデルとにそれぞれ第2のクエリを送信し、前記第2のクエリに対する、前記代替モデルと、前記評価対象のモデルとのそれぞれの推論結果を用いて、前記評価対象のモデルの安全性を評価する、評価対象のモデルの安全性アセスメント方法が提供される。上記した方法は、代替モデルと、評価対象のモデルとにそれぞれ第2のクエリを送信し、その推論結果を受信可能なコンピュータという、特定の機械に結びつけられている。
【0014】
第4の視点によれば、上記したコンピュータの機能を実現するためのコンピュータプログラムが提供される。このプログラムは、コンピュータ装置に入力装置又は外部から通信インターフェースを介して入力され、記憶装置に記憶されて、プロセッサを所定のステップないし処理に従って駆動させ、必要に応じ中間状態を含めその処理結果を段階毎に表示装置を介して表示することができ、あるいは通信インターフェースを介して、外部と交信することができる。そのためのコンピュータ装置は、一例として、典型的には互いにバスによってアクセス可能なプロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このプログラムは、コンピュータが読み取り可能な(非トランジトリーな)記憶媒体に記録することができる。
【発明の効果】
【0015】
本発明によれば、上記したAEsに対する耐性とMI攻撃に対する耐性との双方の観点で評価対象のモデルの安全性を評価することが可能となる。
【図面の簡単な説明】
【0016】
【
図1】本発明の一実施形態の構成を表したブロック図である。
【
図2】本発明の一実施形態の動作を説明するための図である。
【
図3】本発明の一実施形態の動作を説明するための図である。
【
図4】本発明の第1の実施形態の構成を表したブロック図である。
【
図5】本発明の第1の実施形態の動作を説明するためのシーケンス図である。
【
図6】本発明の第2の実施形態の構成を表したブロック図である。
【
図7】本発明の第2の実施形態の動作を説明するためのシーケンス図である。
【
図8】本発明の第3の実施形態の構成を表したブロック図である。
【
図9】本発明の第4の実施形態の構成を表したブロック図である。
【
図10】本発明の第4の実施形態の動作を説明するためのシーケンス図である。
【
図11】本発明の第5の実施形態の構成を表したブロック図である。
【
図12】本発明の第5の実施形態の動作を説明するためのシーケンス図である。
【
図13】本発明の代替モデル作成装置又はアセスメント装置を構成するコンピュータの構成を示す図である。
【発明を実施するための形態】
【0017】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インターフェース、及び必要に応じ表示装置を備える。また、このコンピュータ装置は、通信インターフェースを介して装置内又は外部の機器(コンピュータを含む)と、有線、無線を問わず、通信可能に構成される。また、図中の各ブロックの入出力の接続点には、ポート乃至インターフェースがあるが図示を省略する。また、以下の説明において、「A及び/又はB」は、A又はB、若しくは、A及びBという意味で用いる。
【0018】
本発明は、その一実施形態において、
図1に示すように、評価対象モデルを保持する評価対象装置100にそれぞれアクセス可能な代替モデル作成装置200と、アセスメント装置300とを含む構成にて実現できる。
【0019】
代替モデル作成装置200は、クエリ作成部201と、MIA実行部202と、代替モデル作成部203と、を備える。クエリ作成部201は、評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成する。MIA実行部202は、前記第1のクエリを前記評価対象のモデルに入力して得られた推論結果を入力としてMembership Inference攻撃を行って、前記評価対象のモデルの訓練に使われた仮想訓練データを推定する。そして、代替モデル作成部203は、前記仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する。
【0020】
アセスメント装置300は、代替モデル作成装置200と、評価対象モデルを保持する評価対象装置100にそれぞれアクセス可能となっている。そして、アセスメント装置300は、前記代替モデルと、評価対象のモデルとにそれぞれ第2のクエリを送信し、その結果を用いて、前記評価対象のモデルの安全性を評価する安全性評価部301を備える。
【0021】
上記した代替モデル作成装置200及びアセスメント装置300は、それぞれ次のように動作する。始めに、代替モデル作成装置200による代替モデルの作成処理について
図2を用いて説明する。以下の説明では、評価対象のモデルを評価対象モデルfと表す、クエリxを入力して得られた推論結果をf(x)と表す。
【0022】
まず、代替モデル作成装置200は、評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリx0を作成する。
【0023】
代替モデル作成装置200は、評価対象装置100に対し、第1のクエリx0を送信し、評価対象装置100から推論結果f(x0)を得る。次に、代替モデル作成装置200は、推論結果f(x0)を入力としてMembership Inference攻撃を行って、前記評価対象のモデルfの訓練に使われた仮想訓練データを推定する。例えば、代替モデル作成装置200は、第1のクエリx0が前記評価対象のモデルfの訓練に用いられたデータであるか否かを判別する。前記第1のクエリの作成と、推論結果に対するMembership Inference攻撃を繰り返すことで、代替モデル作成装置200は、仮想的な訓練データの集合(仮想訓練データ)を得ることができる。
【0024】
代替モデル作成装置200は、上記のようにして得られた仮想訓練データを用いて、前記評価対象のモデルのふるまいをエミュレートする代替モデルを作成する。以下の説明では、評価対象のモデルfのふるまいをエミュレートする代替モデルをモデルgと表し、クエリxを入力して得られた推論結果をg(x)と表す。
【0025】
続いて、アセスメント装置300による評価対象モデルfの評価について
図3を用いて説明する。アセスメント装置300は、前記代替モデルgと、評価対象のモデルfとにそれぞれ第2のクエリx
1を送信し、その結果を用いて、前記評価対象のモデルの安全性を評価する。評価対象のモデルの安全性の評価手法としては種々の方法を採ることができる。例えば、推論結果g(x)と、推論結果f(x)とが一致する度合を評価対象のモデルfの安全性の評価値として用いることができる。この度合が高い場合、少なくとも、評価対象のモデルfは、MIAにより訓練に用いられたデータを特定された可能性が高く、モデル抽出攻撃(代替モデル作成攻撃)に弱いということができる。
【0026】
また、推論結果g(x)と、推論結果f(x)とが一致する度合が一定以上となるまでに、必要な第1のクエリの数を、評価対象のモデルfの安全性の評価値として用いることができる。必要な第1のクエリが少ない場合、より低いコストで一定の精度を持つ代替モデルを作成できたことになり、評価対象のモデルfは、モデル抽出攻撃(代替モデル作成攻撃)に弱いということができる。
【0027】
以上説明したように、本実施形態によれば、評価対象のモデルfのふるまいをエミュレートする代替モデルgを作成し、それぞれに第2のクエリを入力して得られた結果を用いて、評価対象のモデルfの安全性を評価することが可能となる。
【0028】
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。
図4は、本発明の第1の実施形態の構成を表したブロック図である。
図4を参照すると、評価対象装置100と、代替モデル作成装置200と、アセスメント装置300aとが相互に接続された構成が示されている。
【0029】
評価対象装置100は、モデルfを保持して、サービスを提供する装置である。本実施形態では、モデルfを安全性評価の対象とする。評価対象装置100が企業や店舗に設置されている場合、評価対象装置100と代替モデル作成装置200、評価対象装置100とアセスメント装置300a間の接続はインターネットであってもよい。
【0030】
代替モデル作成装置200は、クエリ作成部201、MIA実行部202及び代替モデル作成部203とを備えて、評価対象のモデルのふるまいをエミュレートする代替モデルを作成する。
【0031】
クエリ作成部201は、評価対象のモデルに推論を行わせて推論結果を得るための第1のクエリを作成する。この第1のクエリの作成に、非特許文献2においてAEsを作成するために用いられているGANを用いてもよい。また、クエリ作成部201は、代替モデル作成部203が前記代替モデルの作成に必要な仮想訓練データの数Mよりも大きいN個のクエリを作成することが好ましい。
【0032】
MIA実行部202は、前記第1のクエリを前記評価対象のモデルfに入力して得られた推論結果f(x)を入力としてMIAを行う。具体的には、MIA実行部202は、xが、推論結果f(x)を用いて、モデルfの訓練に用いられたデータであるか否かを識別する識別器を保持し、その出力を用いて、xがモデルfの訓練に用いられたデータであるか否かを示すスコアを計算する。そのスコアが所定の値以上であるデータxとそのラベルyや、スコアが上位所定順位以上であるデータxとそのラベルyを集めることで、評価対象のモデルfの訓練に使われたと仮定するデータセットを得ることができる。以下、このデータセットを仮想訓練データという。前述のように、クエリ作成部201においてN個のクエリが作成される場合、MIA実行部202は、N個の推論結果を入力としてスコアの高い上位M個の仮想訓練データを選択することになる。
【0033】
代替モデル作成部203は、このようにして得られた仮想訓練データを用いて、評価対象のモデルfのふるまいをエミュレートする代替モデルgを作成する。代替モデルgの作成方法としては、訓練データからモデルを作成する各種の機械学習アルゴリズムを用いることができる。もちろん、モデルfの作成に用いられた機械学習アルゴリズムが推測できる場合には、同一の機械学習アルゴリズムを用いることが好ましい。
【0034】
アセスメント装置300aは、類似度計算部3011を備えた安全性評価部301を備えている。類似度計算部3011は、代替モデルgと、評価対象のモデルfとにそれぞれ第2のクエリを入力し、それぞれの推論結果g(x)、f(x)の類似度を計算する。類似度計算部3011は、所定数の第2のクエリを作成し、それぞれの第2のクエリによって得られた推論結果が一致した割合を類似度として計算する。このような類似度は、評価対象のモデルfの安全性を示す評価値として用いることができる。なお、評価対象のモデルfの推論結果が、スコアである場合、この類似度の計算には、g(x)とf(x)間の距離を用いることができる。
【0035】
続いて、本実施形態の動作について、図面を参照して詳細に説明する。
図5は、本発明の第1の実施形態の動作を説明するためのシーケンス図である。
図5を参照すると、まず、代替モデル作成装置200は、第1のクエリx
0を作成し、評価対象装置100に対して、第1のクエリx
0を送信する(ステップS001)。評価対象装置100は、代替モデル作成装置200に対し、モデルfに第1のクエリx
0を入力して得られた推論結果f(x
0)を返す。
【0036】
代替モデル作成装置200は、推論結果f(x0)を用いて、MIAを実行し、仮想訓練データを抽出する処理を実行する(ステップS002)。代替モデル作成装置200は、代替モデルgの学習に必要な個数(バッチサイズをM個とする)の仮想訓練データが得られるまで上記の処理を繰り返す。具体的には、代替モデル作成装置200は、推論結果f(x0)から、x0がモデルfの訓練データであるか否かの度合を示すスコアを計算し、そのスコアが上位M個の第1のクエリとそのラベルを仮想訓練データとして抽出する。
【0037】
代替モデル作成装置200は、バッチサイズM個の仮想訓練データを用いて、代替モデルgを作成する(ステップS003)。以上により、代替モデル作成装置200による代替モデルgの作成が完了する。
【0038】
次に、アセスメント装置300aが評価対象のモデルfの評価を開始する。まず、アセスメント装置300は、第2のクエリx1を作成し、評価対象装置100と、代替モデル作成装置200に対し、第2のクエリx1を送信する(ステップS004)。
【0039】
評価対象装置100は、アセスメント装置300aに対し、モデルfに第2のクエリx1を入力して得られた推論結果f(x1)を返す。同様に、代替モデル作成装置200は、アセスメント装置300aに対し、代替モデルgに第2のクエリx1を入力して得られた推論結果g(x1)を返す。
【0040】
アセスメント装置300aは、類似度計算に必要な回数だけ上記ステップS004を繰り返す。最後に、アセスメント装置300aは、評価対象装置100から受信した推論結果f(x1)と、代替モデル作成装置200から受信した推論結果g(x1)の類似度pを計算する(ステップS005)。
【0041】
このようにして計算される類似度pは、その値が大きいほど、対象モデルfのふるまいを精巧に再現していることを示しているため、評価対象のモデルfの安全性を示す指標値として用いることができる。
【0042】
[第2の実施形態]
続いて、評価対象のモデルfの安全性を示す指標値として、一定精度の代替モデルgを作成するためのコストを計算する本発明の第2の実施形態について図面を参照して詳細に説明する。
図6は、本発明の第2の実施形態の構成を表したブロック図である。
図4に示した第1の実施形態との相違点は、アセスメント装置300bの安全性評価部301に、類似度計算部3011に代えて、コスト計算部3012が設けられている点である。その他の構成は第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
【0043】
コスト計算部3012は、代替モデルgと、評価対象のモデルfとにそれぞれ第2のクエリを入力し、それぞれの推論結果g(x)、f(x)の類似度を計算する。さらに、コスト計算部3012は、前記類似度が所定の値になっていない場合、代替モデル作成装置200に対し、代替モデルgの更新を指示する。そして、一定の類似度が得られた段階で、コスト計算部3012は、代替モデルgの作成コストを計算する。代替モデルgの作成コストは、例えば、第2のクエリの送信回数のほか、代替モデル作成装置200から第1のクエリの送信回数や、仮想訓練データの個数等を入手して計算することができる。
【0044】
続いて、本実施形態の動作について、図面を参照して詳細に説明する。
図7は、本発明の第2の実施形態の動作を説明するためのシーケンス図である。
図7のステップS101、S102、S103の処理は、第1の実施形態のステップS001、S002及びS003と同様であるため説明を省略する。なお、代替モデルはゼロから作るのではなく、例えば、第1の実施形態と同様に、事前にM個の仮想訓練データを用いて作成しておいてもよい。
【0045】
次に、アセスメント装置300bが評価対象のモデルfの評価を開始する。まず、アセスメント装置300は、第2のクエリx1を作成し、評価対象装置100と、代替モデル作成装置200に対し、第2のクエリx1を送信する(ステップS104)。
【0046】
評価対象装置100は、アセスメント装置300bに対し、モデルfに第2のクエリx1を入力して得られた推論結果f(x1)を返す。同様に、代替モデル作成装置200は、アセスメント装置300bに対し、代替モデルgに第2のクエリx1を入力して得られた推論結果g(x1)を返す。
【0047】
アセスメント装置300bは、評価対象装置100から受信した推論結果f(x1)と、代替モデル作成装置200から受信した推論結果g(x1)の類似度pを計算する(ステップS105)。アセスメント装置300bは、この類似度pが所定の閾値以上となっていない場合、代替モデル作成装置200に対して、ステップS101以降の処理の実行を要求する。
【0048】
類似度pが所定の閾値以上となった段階で、アセスメント装置300bは、所定の類似度を持つ代替モデルgの作成コストを計算する(ステップS106)。代替モデルgの作成コストは、例えば、第1、第2のクエリの送信回数や、仮想訓練データの個数を用いて計算することができる。
【0049】
このようにして計算される代替モデルgの作成コストは、その値が小さいほど、対象モデルfのふるまいをエミュレートする代替モデルを作成しやすいことを示しているため、評価対象のモデルfの安全性を示す指標値として用いることができる。
【0050】
[第3の実施形態]
上記した第1の実施形態のアセスメント装置300aと、第2の実施形態のアセスメント装置300bは、同一の装置として実現することもできる。
図8は、本発明の第3の実施形態の構成を表したブロック図である。
図4、
図6に示した第1、第2の実施形態との相違点は、アセスメント装置300cの安全性評価部301cに、類似度計算部3011とコスト計算部3012とが設けられている点である。基本的な構成及び動作は、第1、第2の実施形態と同様であるので説明を省略する。
【0051】
本実施形態では、例えば、評価対象のモデルfの安全性を示す評価値aを次式により計算することができる。
a=w*(p/q+d)・・・(1)
ここで、dは攻撃に使用したデータ数、qは攻撃に使用したクエリ回数、wは重みを表す。
【0052】
式(1)からも明らかなとおり、q+dが大きいほど、aは小さくなる。「q+dが大きい」とは、攻撃に必要なデータ数やクエリ回数が大きいことを意味する。従って、式(1)のaは、小さくなるほど、攻撃が難しいことを表す指標値として用いることができる。
【0053】
また、類似度pは、その値が小さいほど、式(1)のaは小さくなる。類似度が小さい場合、代替モデルgの精度が低いということであり、この点でも、式(1)のaは、小さくなるほど、攻撃が難しいことを表す指標値として用いることができる。
【0054】
重みwは、その値が大きいほど、式(1)のaは大きくなる。重みを調整することで、攻撃者にとって有利な状況であるかどうかを調整することができる。例えば、評価対象のモデルfに対し、出力ラベルだけでも攻撃できる、ラベルとスコアの両方がないと攻撃できないなどの攻撃上の想定はいくつか考えられる。これらを重みで表した上記式(1)を用いて評価を行うことで、異なるモデルについても、同一の評価値aで比較を行うことが可能となる。
【0055】
また上記式(1)のaは、その値が小さいほど,攻撃者にとって攻撃し辛いことを表しているといえる。換言すると、aが高いモデルへの攻撃は高コストであるということもできる。評価値aに代えて、1/aを、モデルfへの攻撃コストを表す指標値として用いることもできる。
【0056】
[第4の実施形態]
上記した第1~第3の実施形態の代替モデル作成装置200にて得られた代替モデルgを用いて、Adversarial Examples (AEs)を作成することができる(非特許文献1参照)。続いて、代替モデルgを用いて、AEsを作成し、評価対象のモデルfに攻撃を試み、その結果を評価値として出力する第4の実施形態について説明する。
【0057】
図9は、本発明の第4の実施形態の構成を表したブロック図である。
図4、
図6、
図8に示した第1~第3の実施形態との相違点は、アセスメント装置300dに、安全性評価部301に加えて、対象モデル攻撃部302が追加されている点である。その他、基本的な構成及び動作は、第1~第3の実施形態と同様であるので、以下その相違点を中心に説明する。
【0058】
対象モデル攻撃部302は、代替モデル作成装置200にて作成された代替モデルgを用いて、Adversarial Examples (AEs)を作成する。そして、対象モデル攻撃部302は、評価対象装置100に対し、AEsを送信し、評価対象のモデルfが誤動作をしたか否かの統計値を計算する。対象モデル攻撃部302が、AEsを作成するにあたり、評価対象のモデルfと代替モデルgとの類似度が所定の閾値以上であることを条件としてもよい。
【0059】
続いて、本実施形態の動作について、図面を参照して詳細に説明する。
図10は、本発明の第4の実施形態の動作を説明するためのシーケンス図である。以下の説明では、第1~第3の実施形態と同様に、代替モデルの作成が完了しているものとして説明する。
【0060】
まず、アセスメント装置300dは、代替モデルgを用いて、AEs(
図10においてx’で表す)を作成し、評価対象装置100に対して送信する(ステップS201)。評価対象装置100は、アセスメント装置300d対し、モデルfにAEs x’を入力して得られた推論結果f(x’)を返す。
【0061】
アセスメント装置300dは、上記のようなAEsの作成と送信を繰り返した後、評価対象装置100が、誤った推論結果を返した割合を計算し、攻撃成功率として出力する(ステップS202)。
【0062】
以上のような第4の実施形態によれば、代替モデルgの類似度や作成コストという観点に加えて、AEsに対する耐性という観点で、評価対象のモデルfを評価することができる。一般に、AEsによる攻撃が成功しやすいということは、代替モデルgが、評価対象のモデルfに近いふるまいをしていると考えられる。従って、第1~の第3の実施形態の類似度pに代わる指標値として、この攻撃成功率を用いることができる。
【0063】
さらに、評価対象のモデルfの管理者としては、この攻撃成功率を下げるべく、評価対象のモデルfをよりAEsに対して頑健なものへと更新することが行われている。一方で、非特許文献3によると、AEsに対してロバスト性(頑健性)のあるモデルは、MI攻撃が成功しやすいとされている。このことは、代替モデル作成装置200のMIA実行部202が、良質な仮想訓練データを抽出しやすくなることを意味している。これにより、代替モデルgも、評価対象のモデルfに近づくことになり、さらに攻撃成功率の高いAEsが作成可能となる。この特性を利用することで、本実施形態では、評価対象のモデルfの管理者に対し、AEsに対するより有効な対策の立案を要請することが可能となる。仮に、AEsに対してロバスト性(頑健性)でありながら、本実施形態のアセスメント装置300dによる攻撃成功率が下がっているならば、更新後の評価対象のモデルf’は、AEsに対して耐性を向上させているものと評価することができる。
【0064】
[第5の実施形態]
上記した第4の実施形態の構成に、AEsの作成に要したコストを計算する第2のコスト計算機能を追加することもできる。続いて、AEsの作成に要したコストを計算する第2のコスト計算機能を追加した第5の実施形態について説明する。
図11は、本発明の第5の実施形態の構成を表したブロック図である。
図9に示した第4の実施形態との相違点は、アセスメント装置300eに、攻撃コスト計算部303が追加されている点である。その他の構成は第4の実施形態と同様であるので、以下、その相違点を中心に説明する。
【0065】
攻撃コスト計算部303は、AEsを作成し、評価対象装置100に送信する都度、攻撃成功率を計算する。さらに、攻撃コスト計算部303は、前記攻撃成功率が所定の値になっていない場合、代替モデル作成装置200に対し、代替モデルgの更新を指示する。そして、攻撃成功率が所定値以上となった段階で、攻撃コスト計算部303は、AEsを用いた攻撃のコストを計算する。この攻撃のコストは、第2の実施形態の代替モデルgの作成コストと同様に、例えば、クエリの送信回数のほか、代替モデル作成装置200から第1のクエリの送信回数や、仮想訓練データの個数等を入手して計算することができる。
【0066】
続いて、本実施形態の動作について、図面を参照して詳細に説明する。
図12は、本発明の第5の実施形態の動作を説明するためのシーケンス図である。
図12のステップS300は、第2の実施形態と同様に、代替モデル作成装置200における代替モデルの更新処理(
図7のステップS101~S103)に相当する。
【0067】
次に、アセスメント装置300eは、代替モデルgを用いて、AEs(
図12においてx’で表す)を作成し、評価対象装置100に対して送信する(ステップS301)。評価対象装置100は、アセスメント装置300e対し、モデルfにAEs x’を入力して得られた推論結果f(x’)を返す。
【0068】
アセスメント装置300eは、評価対象装置100から受信した推論結果f(x’)に基づいて、評価対象装置100が、誤った推論結果を返した割合(攻撃成功率)を計算する(ステップS302)。アセスメント装置300eは、この攻撃成功率が所定の閾値以上となっていない場合、代替モデル作成装置200に対して、ステップS300の処理を実行し、代替モデルの更新を要求する。
【0069】
攻撃成功率が所定の閾値以上となった段階で、アセスメント装置300eは、これまでのAEsを用いた攻撃に要したコストを計算する(ステップS303)。
【0070】
このようにして計算されるAEsを用いて所定の成功結果を得るために要したコストは、その値が小さいほど、AEsを用いた攻撃が容易であることを示している。逆に、その値が大きいほど、AEsを用いた攻撃が難しいことを示している。従って、本実施形態のアセスメント装置300eにより計算されるAEsを用いた攻撃に要したコストは、評価対象のモデルfの安全性を示す指標値として用いることができる。
【0071】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したシステム構成、各要素の構成、データ等の表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【0072】
例えば、上記した実施形態では、評価対象のモデルfが、評価対象装置100に保持されているものとして説明したが、評価対象のモデルfは、別の装置に保持されていてもよい。例えば、代替モデル作成装置200側に、評価対象のモデルfが、評価用にコピーされて保持されていてもよい。
【0073】
また、本発明の適用分野は限定されないが、クエリ作成の容易性の観点からは、本発明は、評価対象のモデルfが二値分類のモデルであるケースに好適に適用できると考えられる。このような二値分類のモデルの1つとしては、背景技術に記載したマルウェア検出用のモデルを挙げることができる。
【0074】
上記した実施形態に示した手順は、クライアントとして機能するコンピュータ(
図13の9000)に、これらの装置としての機能を実現させるプログラムにより実現可能である。このようなコンピュータは、
図13のCPU(Central Processing Unit)9010、通信インターフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。すなわち、
図13のCPU9010にて、クエリ作成プログラムや代替モデル作成プログラムを実行し、その補助記憶装置9040等に保持された各計算パラメータの更新処理を実施させればよい。
【0075】
なお、上記の特許文献および非特許文献の各開示は、本書に引用をもって繰り込み記載されているものとし、必要に応じて本発明の基礎ないし一部として用いることが出来るものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
【符号の説明】
【0076】
100 評価対象装置
200 代替モデル作成装置
201 クエリ作成部
202 MIA実行部
203 代替モデル作成部
300、300a~300e アセスメント装置
301、301c 安全性評価部
302 対象モデル攻撃部
303 攻撃コスト計算部
3011 類似度計算部
3012 コスト計算部
9000 コンピュータ
9010 CPU
9020 通信インターフェース
9030 メモリ
9040 補助記憶装置