JP7315843B2 - Generating method, generating program, and information processing device - Google Patents
Generating method, generating program, and information processing device Download PDFInfo
- Publication number
- JP7315843B2 JP7315843B2 JP2019185420A JP2019185420A JP7315843B2 JP 7315843 B2 JP7315843 B2 JP 7315843B2 JP 2019185420 A JP2019185420 A JP 2019185420A JP 2019185420 A JP2019185420 A JP 2019185420A JP 7315843 B2 JP7315843 B2 JP 7315843B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- attack
- trained model
- access
- indicating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Description
本発明は、生成方法、生成プログラム、および情報処理装置に関する。 The present invention relates to a generation method, a generation program, and an information processing apparatus.
コンピュータシステムには、収集した情報に基づいて機械学習を行う機械学習システムがある。機械学習システムは、機械学習により、例えば情報を分析するための訓練済みモデルを生成する。そして機械学習システムは、生成した訓練済みモデルを用いて、情報分析などのサービスを提供することができる。 Computer systems have machine learning systems that perform machine learning based on collected information. Machine learning systems generate trained models for analyzing information, for example, through machine learning. Machine learning systems can then use the generated trained models to provide services such as information analysis.
なお、機械学習システムに対して悪意のある第三者から攻撃が仕掛けられることがある。機械学習システムへの攻撃は、機械学習の仕組みを利用して行われる。機械学習システムへの攻撃を目的として機械学習の仕組みを利用することを敵対的機械学習と呼ぶこともある。 Attacks may be launched by malicious third parties against machine learning systems. Attacks on machine learning systems are carried out using machine learning mechanisms. The use of machine learning mechanisms to attack machine learning systems is sometimes called adversarial machine learning.
機械学習に対する攻撃は、さまざまな目的で行われる。例えばクエリデータを操作して出力データを誤らせることを目的とした、敵対的サンプル(Adversarial Example)と呼ばれる攻撃がある。またクエリデータを操作して訓練データを導出することを目的とした、訓練データ推定(Model Inversion)と呼ばれる攻撃もある。さらに訓練データを操作して誤った出力データを出すモデルを訓練させることを目的とした、ポイズニングと呼ばれる攻撃もある。そこで、これらの攻撃から機械学習システムを適切に保護することが重要となる。 Attacks against machine learning serve a variety of purposes. For example, there is an attack called Adversarial Example that aims to manipulate query data to mislead output data. There is also an attack called model inversion, which aims to derive training data by manipulating query data. Another attack, called poisoning, aims to manipulate the training data to train a model that produces incorrect output data. Therefore, it is important to properly protect machine learning systems from these attacks.
機械学習を行うコンピュータの保護に関する技術としては、例えば所定のビジネスに関する情報処理を実行するシステムの脆弱性に関するリスクを評価する脆弱性リスク評価システムが提案されている。また、機械学習の結果を利用した処理を安全に実行することができる情報処理システムも提案されている。さらにクライアント装置とサーバ装置間の通信を深層学習が完了するまで保持する必要がなく、最新の学習結果をサーバ装置からクライアント装置にインターネットを通じてセキュアに提供する深層学習自動学習システムも提案されている。 As a technology related to the protection of computers that perform machine learning, for example, a vulnerability risk assessment system that evaluates the risk related to the vulnerability of a system that executes information processing related to a given business has been proposed. An information processing system has also been proposed that can safely execute processing using the results of machine learning. Furthermore, there is proposed a deep learning automatic learning system that securely provides the latest learning results from the server device to the client device through the Internet without maintaining the communication between the client device and the server device until the deep learning is completed.
攻撃から機械学習システムを適切に保護するには、その機械学習システムに対して、どのような攻撃が行われる可能性が高いのかを予め知っておくことが有効となる。例えば、可能性の高い攻撃手法が分かれば、その攻撃に対する対応策を優先的に実施することで、機械学習システムの安全性を高めることができる。しかし、機械学習システムへの攻撃の目的はさまざまであり、攻撃の目的ごとに攻撃の手法や攻撃に利用されるデータも異なる。そのため機械学習システムへの外部からの攻撃の可能性を正しく評価するのは容易ではない。 In order to properly protect a machine learning system from attacks, it is effective to know in advance what kinds of attacks are likely to be made against the machine learning system. For example, if a highly probable attack method is known, the security of the machine learning system can be enhanced by prioritizing countermeasures against that attack. However, the objectives of attacks on machine learning systems vary, and the methods of attack and the data used in attacks differ for each objective. Therefore, it is not easy to correctly assess the possibility of external attacks on machine learning systems.
1つの側面では、本件は、機械学習システムへの攻撃の可能性を示す情報を容易に生成できるようにすることを目的とする。 In one aspect, the present invention aims to facilitate the generation of information indicating possible attacks on machine learning systems.
1つの案では、コンピュータは、クエリに応じた出力データを規定する訓練済みモデルの入手可能性を示す情報、機械学習による訓練済みモデルの訓練に用いられる訓練データの入手可能性を示す情報、および訓練済みモデルが受け付けるクエリ数の制限値を示す情報のうち、少なくともいずれか1つを含む第1の情報、および訓練済みモデルが受け付けるクエリの操作可能性を示す情報、および訓練データの操作可能性を示す情報のうち、少なくともいずれか1つを含む第2の情報を受け付ける。コンピュータは、受け付けた第1の情報に基づき、1または複数のアクセス形態それぞれによる訓練済みモデルへのアクセスが、攻撃者によって行われる可能性を示す第3の情報を生成する。そしてコンピュータは、生成した第3の情報と受け付けた第2の情報とに基づき、所定の攻撃目的を達成するために1または複数のアクセス形態それぞれにより訓練済みモデルへの攻撃が行われる可能性を示す第4の情報を生成する。 In one version, the computer provides information indicating the availability of a trained model that defines output data in response to a query, information indicating the availability of training data used to train the trained model by machine learning, and First information including at least one of information indicating a limit value of the number of queries accepted by a trained model, information indicating operability of queries accepted by the trained model, and operability of training data second information including at least one of the information indicating Based on the received first information, the computer generates third information indicating the possibility that the trained model is accessed by an attacker through one or more access modes. Then, based on the generated third information and the received second information, the computer determines the possibility that the trained model will be attacked by one or more access modes to achieve a predetermined attack purpose. to generate the fourth information shown.
1態様によれば、機械学習システムへの攻撃の可能性を示す情報を容易に生成できる。 According to one aspect, it is possible to easily generate information indicating the possibility of an attack on a machine learning system.
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、機械学習システムへの攻撃の可能性を示す情報の生成方法を、情報処理装置によって実現するものである。
Hereinafter, this embodiment will be described with reference to the drawings. It should be noted that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First embodiment]
First, a first embodiment will be described. In the first embodiment, an information processing apparatus realizes a method of generating information indicating the possibility of an attack on a machine learning system.
図1は、機械学習システムへの攻撃の可能性を示す情報の生成方法の一例を示す図である。情報処理装置10は、例えば機械学習システムへの攻撃の可能性を示す情報の生成方法の処理手順が記述された生成プログラムを実行することにより、機械学習システムへの攻撃の可能性を示す情報を生成することができる。
FIG. 1 is a diagram showing an example of a method of generating information indicating the possibility of attack on a machine learning system. The
情報処理装置10は、例えば記憶部11と処理部12とを有するコンピュータである。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
The
処理部12は、分析者3による、機械学習システム1で使用するデータについての特徴を示す第1の情報4と第2の情報5との入力を受け付ける。処理部12は、例えば入力された第1の情報4と第2の情報5とを、記憶部11に格納する。
The
第1の情報4は、次の3つの情報のうちの少なくともいずれか1つを含む。第1の情報4に含まれることがある1つ目の情報は、クエリデータ(以下、単にクエリと呼ぶ)に応じた出力データを規定する訓練済みモデル1aの攻撃者2による入手可能性を示す情報である。第1の情報4に含まれることがある2つ目の情報は、機械学習による訓練済みモデル1aの訓練に用いられる訓練データの攻撃者2による入手可能性を示す情報である。第1の情報4に含まれることがある3つ目の情報は、訓練済みモデル1aが受け付けるクエリ数の制限値を示す情報である。クエリ数の制限値は、例えば単位期間内に機械学習システム1が入力を受け付けることができるクエリ数の上限値である。
The
第2の情報5は、次の2つの情報のうちの少なくともいずれか1つを含む。第2の情報5に含まれることがある1つ目の情報は、訓練済みモデル1aが受け付けるクエリの攻撃者2による操作可能性を示す情報である。第2の情報5に含まれることがある2つ目の情報は、訓練データの攻撃者2による操作可能性を示す情報である。
The
処理部12は、第1の情報4と第2の情報5の入力を受け付けると、受け付けた第1の情報4に基づき、1または複数のアクセス形態それぞれによる訓練済みモデル1aへのアクセスが、攻撃者2によって行われる可能性を示す第3の情報6を生成する。1または複数のアクセス形態は、例えば以下の第1~第3のアクセス形態のうちの少なくとも1つを含む。
When the
第1のアクセス形態は、訓練済みモデル1a内の情報に対するアクセスである。アクセス対象の訓練済みモデル1a内の情報は、例えばニューラルネットワークにおける重みパラメータの値などである。攻撃者2による第1のアクセス形態によるアクセスは、例えばホワイトボックス攻撃と呼ばれる。処理部12は、第1のアクセス形態によるアクセスが行われる可能性を、例えば訓練済みモデル1aの入手可能性を示す情報に基づいて算出する。
The first form of access is access to information within the trained model 1a. The information in the trained model 1a to be accessed is, for example, the values of weight parameters in the neural network. Access by the
第2のアクセス形態は、訓練済みモデル1aへのクエリの入力を行うアクセス形態である。第2のアクセス形態では訓練済みモデル1a内の情報へはアクセスされないため、攻撃者2による第2のアクセス形態によるアクセスは、ブラックボックス攻撃と呼ばれる。処理部12は、第2のアクセス形態によるアクセスが行われる可能性を、例えば訓練済みモデル1aの入手可能性を示す情報と訓練データの入手可能性を示す情報とに基づいて算出する。
The second access form is an access form for inputting a query to the trained model 1a. Access by the second form of access by the
第3のアクセス形態は、訓練済みモデル1aへのクエリの入力または訓練データの入手によって生成した代理モデル内の情報に対するアクセスである。代理モデルと訓練済みモデル1aとの類似性が高ければ、攻撃者2による代理モデル内の情報に対するアクセスは、訓練済みモデル1a内の情報に対してアクセスされるのと同様に、機械学習システム1における攻撃の危険性を有している。このような攻撃者2による代理モデル内の情報に対するアクセスは、例えば代理モデルを介した攻撃と呼ばれる。処理部12は、第3のアクセス形態によるアクセスが行われる可能性を、例えば訓練済みモデル1aの入手可能性を示す情報と訓練データの入手可能性を示す情報とクエリ数の制限値を示す情報とに基づいて算出する。
A third form of access is access to information in a surrogate model generated by entering a query or obtaining training data for a trained model 1a. If the similarity between the surrogate model and the trained model 1a is high, access to the information in the surrogate model by the
処理部12は、第3の情報6を生成すると、生成した第3の情報6と受け付けた第2の情報5とに基づき、第4の情報7a,7b,・・・を生成する。第4の情報7a,7b,・・・は、所定の攻撃目的を達成するために1または複数のアクセス形態それぞれにより訓練済みモデル1aへの攻撃が行われる可能性を示す情報である。例えば第4の情報7aの所定の攻撃目的は敵対的サンプルである。敵対的サンプルについては、第2の実施の形態において詳細に説明する(図7参照)。また第4の情報7bの所定の攻撃目的はポイズニングである。ポイズニングについては、第2の実施の形態において詳細に説明する(図9参照)。
After generating the
このようにして分析者3が機械学習システム1で使用するデータについての特徴を示す第1の情報4と第2の情報5とを情報処理装置10に入力すると、処理部12によって第4の情報7a,7b,・・・が自動で生成される。すなわち機械学習システム1への攻撃の可能性を示す情報を容易に生成できる。
In this way, when the
さらに分析者3は、第4の情報7a,7b,・・・に基づいて、機械学習システム1の攻撃に対する脆弱性を容易に評価できる。すなわち第4の情報7a,7b,・・・には、攻撃目的ごとに、攻撃者2が、どのようなアクセス手法により訓練済みモデル1aにアクセスし、目的の攻撃を実行する可能性があるのかが示されている。処理部12により、ある種の攻撃を受ける可能性があると判断されたということは、機械学習システム1がその攻撃に対する脆弱性を有していることを意味する。そのため分析者3は、第4の情報7a,7b,・・・を参照することで、機械学習システム1がどのような攻撃に対して脆弱性を有しているのかを認識できる。
Furthermore, the
機械学習システム1が有する脆弱性が具体的に分かれば、分析者3は、その脆弱性を低下させるように機械学習システム1を運用することで、機械学習システム1の安全性を向上させることができる。
If the vulnerability of the
なお、攻撃者2による訓練済みモデル1aへのアクセス形態は、攻撃者2がどのようなデータを入手可能なのか、または機械学習システム1がどの程度の量のクエリを受け付け可能なのかによって変わる。そこで処理部12は、アクセス形態ごとに、第1の情報4内の適切な情報を用いて、そのアクセス形態でアクセスされる可能性を算出する。これにより、アクセス形態ごとのアクセスの可能性を高精度に算出することができる。
The form of access by the
処理部12は、第4の情報7a,7b,・・・として、アクセス形態ごとの攻撃の可能性の高さを示す数値を算出することができる。例えば処理部12は、敵対的サンプルを目的とする攻撃の可能性の高さを算出することができる。この場合、処理部12は、訓練済みモデル1aの入手可能性の高さを示す数値、訓練データの入手可能性の高さを示す数値、および受け付けるクエリ数の制限値の高さを示す数値のうち、少なくともいずれか1つを第1の情報4として取得する。また処理部12は、訓練済みモデル1aが受け付けるクエリの操作可能性の高さを示す数値を、第2の情報5として取得する。次に処理部12は、第3の情報6として、1または複数のアクセス形態それぞれにより訓練済みモデル1aへのアクセスが行われる可能性の高さを示す数値を算出する。そして処理部12は、第2の情報5に示される数値と、第3の情報6に示される一アクセス形態の数値との小さい方の数値を、その一アクセス形態による攻撃の可能性を示す数値として第4の情報7aに含める。
The
このように、アクセス形態ごとのそのアクセス形態による攻撃の可能性が数値で示されることで、分析者3は、攻撃に対する対策の優先順を容易に判断することができる。すなわち、機械学習システム1の管理者が、攻撃の可能性を示す数値が高いアクセス形態に対する対応策を優先的に実施することで、攻撃による被害の発生を効率的に抑止することができる。
In this way, by numerically indicating the possibility of an attack for each access form, the
また処理部12は、生成した第3の情報6と、受け付けた第1の情報4および第2の情報5とに基づき第4の情報7a,7b,・・・を生成することもできる。第4の情報7a,7b,・・・の生成に第1の情報4も利用することで、第4の情報7a,7b,・・・の精度を向上させることができる。この場合にも、処理部12は、アクセス形態ごとの攻撃の可能性を数値で示すことができる。
The
例えば処理部12は、ポイズニングを目的とする攻撃についてのアクセス形態ごとの攻撃の可能性を数値で示すことができる。この場合、処理部12は、訓練済みモデル1aの入手可能性の高さを示す数値、訓練データの入手可能性の高さを示す数値、および受け付けるクエリ数の制限値の高さを示す数値のうち、少なくともいずれか1つを第1の情報4として取得する。また処理部12は、訓練データの操作可能性の高さを示す数値を第2の情報5として取得する。次に処理部12は、第3の情報6として、1または複数のアクセス形態それぞれにより訓練済みモデル1aへのアクセスが行われる可能性の高さを示す数値を算出する。そして処理部12は、第1の情報4に示される1または複数の数値のうちの最大値と第2の情報5に示される数値と第3の情報6に示される一アクセス形態の数値とのうちの最小値を、一アクセス形態による攻撃の可能性を示す数値として第4の情報7bに含める。
For example, the
攻撃者2によるポイズニングの攻撃には、訓練データを操作可能であることが重要であるが、訓練済みモデル1aや訓練済みモデル1aの生成に使用された訓練データなどを攻撃者2が入手できる可能性などの第1の情報4も重要である。そこでポイズニングを目的とする攻撃についてのアクセス形態ごとの攻撃の可能性を示す数値を、第1の情報4を利用して計算することで、精度の高い数値を算出することができる。
For a poisoning attack by
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、敵対的機械学習に特有の攻撃の尤度を自動算出すると共に、攻撃目的種別ごとの尤度に応じて、機械学習システムのリスクを数値化して評価するものである。なお第2の実施の形態における尤度は、第1の実施の形態に示した第4の情報7a,7b,・・・の一例である。
[Second embodiment]
Next, a second embodiment will be described. The second embodiment automatically calculates the likelihood of an attack peculiar to adversarial machine learning, and quantifies and evaluates the risk of the machine learning system according to the likelihood of each attack purpose type. . The likelihood in the second embodiment is an example of the
図2は、機械学習システムを含むコンピュータシステムの一例を示す図である。機械学習システム30は、例えばネットワーク20を介して複数の利用者端末31,32,・・・に接続されている。機械学習システム30は、例えば利用者端末31,32,・・・から送られたクエリについて学習済みのモデルを用いて解析し、解析結果を利用者端末31,32,・・・に送信する。利用者端末31,32,・・・は、機械学習によって生成されたモデルを用いたサービスの提供を受けるユーザが使用するコンピュータである。なお、機械学習システム30は、例えば一定時間あたりに同一ユーザから受け付け可能なクエリ数の上限を設けることができる。このクエリ数の上限が高いほど、攻撃者は、多くのクエリを攻撃に利用することができる。
FIG. 2 is a diagram illustrating an example of a computer system including a machine learning system. The
ネットワーク20には、さらに攻撃リスク評価用のコンピュータ100が接続されている。機械学習システム30を管理する分析者は、コンピュータ100を用いて機械学習システム30の敵対的機械学習に対する攻撃リスクを評価する。
A
図3は、攻撃リスク評価用のコンピュータのハードウェアの一構成例を示す図である。コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
FIG. 3 is a diagram showing a configuration example of hardware of a computer for attack risk evaluation. A
メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
Peripheral devices connected to the bus 109 include the
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
The
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
A
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 22 and a mouse 23 are connected to the
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
The
機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
The
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
コンピュータ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。機械学習システム30および利用者端末31,32,・・・も、図3に示したコンピュータ100と同様のハードウェアにより実現することができる。また、第1の実施の形態に示した情報処理装置10も、図3に示したコンピュータ100と同様のハードウェアにより実現することができる。
The
コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
The
機械学習システム30の分析者は、コンピュータ100を利用して、機械学習システム30に対する攻撃分析を行う。
図4は、攻撃分析の手順の一例を示す図である。分析者は、まずシステムのモデル化を行う(ステップS11)。次に分析者は、攻撃目的種別のリストアップを行う(ステップS12)。次に分析者は、攻撃者から攻撃を受けるリスク(攻撃リスク)を概算する(ステップS13)。攻撃リスクは、例えば攻撃の尤度と攻撃の影響度とを掛け合わせたものである。敵対的機械学習における容易の尤度は、攻撃の容易さを示す数値である。敵対的機械学習における攻撃の影響度は、その攻撃が現実に実行された場合に想定される被害の大きさである。最後に、分析者は、リスクに対する対策方針を決める(ステップS14)。
An analyst of the
FIG. 4 is a diagram illustrating an example of an attack analysis procedure. The analyst first models the system (step S11). Next, the analyst makes a list of attack purpose types (step S12). Next, the analyst approximates the risk of being attacked by an attacker (attack risk) (step S13). An attack risk is, for example, a product of the likelihood of an attack and the impact of the attack. The likelihood of ease in adversarial machine learning is a numerical value that indicates the ease of attack. The impact of an attack in adversarial machine learning is the amount of damage that would be expected if the attack were actually executed. Finally, the analyst determines countermeasures against risks (step S14).
このように攻撃分析は4つのステップで行われる。このうち、攻撃リスクを概算する処理について、コンピュータ100を用いて自動化することができる。そこで分析者は、機械学習システムの攻撃リスクの概算を行うため、機械学習システムのモデル化と、機械学システムに対する攻撃目的種別のリストアップとを行う。
Attack analysis is thus performed in four steps. Among these processes, the process of roughly estimating the attack risk can be automated using the
図5は、モデル化された機械学習システムの一例を示す図である。図5に示すように、機械学習システム30で行う機械学習は、訓練フェイズ40と推論フェイズ50とに分かれる。機械学習システム30は、訓練フェイズ40において、空のモデル41に訓練データ42を適用することによって、空のモデル41に対する訓練を行う。
FIG. 5 is a diagram illustrating an example of a modeled machine learning system. As shown in FIG. 5, machine learning performed by the
訓練データ42には、例えば入力データ42aと正解出力データ42bとの組からなる複数のデータセットが含まれる。入力データ42aと正解出力データ42bとは、いずれも数値列で表現される。例えば画像を用いた機械学習の場合、入力データ42aとして、該当画像の特徴を表す数値列が用いられる。
The
機械学習システム30は、訓練データ42内の入力データ42aを空のモデル41に適用して解析を行い、出力データを得る。機械学習システム30は、出力データと正解出力データ42bとを比較し、不一致であれば、空のモデル41を修正する。空のモデル41の修正とは、例えば空のモデル41を用いた解析に用いるパラメータ(ニューラルネットワークであればユニットへの入力データの重みパラメータ)を、出力データが正解に近づくように修正することである。
The
機械学習システム30は、大量の訓練データ42を用いて訓練を行うことで、入力データ42aに対して正解出力データ42bと同じ出力データが得られる訓練済みモデル43を生成することができる。訓練済みモデル43は、例えば空のモデル41と、訓練によって適切な値が設定されたモデルのパラメータ44で表される。
By performing training using a large amount of
このように生成される訓練済みモデルは、「y=f(x)」の形の関数と捉えることができる(x、yは、それぞれベクトル)。すなわち機械学習における訓練は、大量のxとyの組から、それに合った関数fを決める作業である。 A trained model generated in this way can be regarded as a function of the form “y=f(x)” (x and y are vectors). In other words, training in machine learning is a task of determining a function f suitable for a large number of pairs of x and y.
機械学習システム30は、訓練済みモデル43を生成後、その訓練済みモデル43を用いて推論フェイズ50を実施する。例えば機械学習システム30は、クエリ51の入力を受け付け、訓練済みモデル43を用いて、クエリ51に応じた出力データ52を得る。例えばクエリ51がメールの文章であるとき、機械学習システム30は、そのメールがスパムか否かの判定結果を出力データとして出力する。また入力データが画像のとき、機械学習システム30は、例えばその画像に写っている動物の種類を出力データとして出力する。
After generating trained
分析者は、システムのモデル化の作業において、例えば空のモデル41の構造や、機械学習の訓練のアルゴリズムなどを明確化する。分析者は、機械学習システム30のモデル化が完了すると、攻撃目的種別のリストアップを行う。機械学習システム30に対する攻撃目的種別としては、攻撃の目的ごとに「モデル抽出」、「敵対的サンプル」、「訓練データ推定」、「ポイズニング」がある。
In the system modeling work, the analyst clarifies, for example, the structure of the
図6は、モデル抽出の攻撃を説明する図である。攻撃者60は、攻撃対象モデル61を有する機械学習システム30に対してアクセスし、攻撃対象モデル61の複製を作成する。例えば攻撃者60は、利用者端末31を用いて、モデル抽出用の特別な操作を施したクエリを機械学習システム30に送信する。そして攻撃者60は、利用者端末31により操作したクエリと出力データとの組を解析し、攻撃対象モデル61と同じ複製モデル63を生成する。
FIG. 6 is a diagram explaining an attack on model extraction. The
攻撃者60は、モデル抽出により複製モデル63を作成することができれば、その複製モデル63を用いて、例えば機械学習システム30で提供されているサービスと同じサービスを、他のコンピュータを用いて無断で実施することが可能となる。また攻撃者60は、複製モデル63を用いて、機械学習システム30に対するさらなる攻撃の方法を研究することができる。
If the
図7は、敵対的サンプルの攻撃を説明する図である。例えばパンダが写った元画像64があるものとする。この元画像64を、攻撃対象モデル61を有する機械学習システム30へクエリとして入力すると、「パンダ」との出力データが得られる。
FIG. 7 is a diagram illustrating an attack of a hostile sample. For example, assume that there is an original image 64 in which a panda appears. When this original image 64 is input as a query to the
攻撃者60は、例えば利用者端末31を用いて、敵対的サンプルを行うための摂動画像65を生成する。摂動画像65は、その画像のみでは何の動物も表していない。そして攻撃者60は、利用者端末31により、元画像64に半透明の摂動画像65を合成する。その際、利用者端末31は、摂動画像65の透明度を高くする。これにより、合成により得られる敵対的サンプル画像66には、元画像64と同じパンダが表されている。
攻撃者60が、敵対的サンプル画像66を機械学習システム30へクエリとして入力すると、「パンダ」と判定することができず、他の動物(例えば「テナガザル」)を示す判定結果が得られる。
When an
敵対的サンプルが可能となれば、攻撃者60は、例えば機械学習システム30における推論を、意図的に誤らせることができる。例えば機械学習システム30が人物の顔認証を行っているとき、攻撃者60は、認証用の顔画像として、摂動画像を合成した画像を機械学習システム30に読み取らせることで、別人に成りすますことができてしまう。
If adversarial samples are enabled,
図8は、訓練データ推定の攻撃を説明する図である。例えば機械学習システム30が、訓練フェイズ40において、人物の画像を訓練データ67として用いて訓練済みモデル43を生成したものとする。攻撃者60は利用者端末31を用い、攻撃用に操作したクエリ51aを機械学習システム30に入力する。攻撃者60は利用者端末31を用い、入力したクエリ51a、推論によって得られた出力データ52aなどに基づいて、訓練フェイズ40で訓練に用いられた訓練データ67を推定する推定データ68を生成する。推定データ68としては、訓練データ67と同一ではないが、類似する画像データが得られる。
FIG. 8 is a diagram illustrating an attack on training data estimation. For example,
攻撃者60は、訓練データ67の推定を行うことで、例えば訓練データ67に含まれる個人情報を取得することができる。また、機械学習システム30が、例えば工場における製品の品質検査に用いられている場合、攻撃者60は、訓練に用いられた製品の特徴に関する情報を取得できる。
By estimating the
図9は、ポイズニングの攻撃を説明する図である。例えば機械学習システム30は、訓練フェイズ40において、訓練データ42を用いて、決定境界45によってデータを3つのグループに分類する訓練済みモデル43を生成したものとする。攻撃者60は、利用者端末31を用い、ポイズニング用に操作した訓練データ69を用いて、機械学習システム30に訓練を実施させる。ポイズニング用に操作した訓練データ69には、正しい訓練済みモデル43では、正しく判定されないようなポイズニング用サンプル69aが含まれる。ポイズニング用サンプル69aは、入力データに対して誤った正解出力データが設定されている。機械学習システム30は、ポイズニング用サンプル69aに応じて、決定境界45を変更する。
FIG. 9 is a diagram explaining a poisoning attack. For example,
変更された決定境界45aは、ポイズニング用サンプル69aに適応させるために、誤った方向への変更が行われている。その結果、ポイズニングの攻撃を受けた後の訓練済みモデル43aを推論フェイズ50で用いると、誤った出力データを出力する。
The modified decision boundary 45a is modified in the wrong direction to accommodate the
攻撃者60は、機械学習システム30に対してポイズニングの攻撃を行うことで、推論での判定精度を劣化させることができる。例えば機械学習システム30が訓練済みモデル43aを用いて、サーバに入力されるファイルのフィルタリングを行っている場合、判定精度が劣化することで、ウィルスなどの危険性を有するファイルの入力がフィルタリングされずに許可される可能性がある。
By attacking the
図6~図9に示したように、どのような効果を得ることを目的とした攻撃なのかによって、機械学習システム30に対する攻撃を分類できる。また訓練済みモデルに対するアクセス性の違いによって、攻撃者60が採り得る攻撃手法が変わる。
As shown in FIGS. 6 to 9, attacks against the
図10は、訓練済みモデルに対するアクセス性に応じた攻撃手法を説明する図である。訓練済みモデル43を入手可能な場合、ホワイトボックス(WB)攻撃が可能である。WB攻撃では、攻撃者60は、訓練済みモデル43からパラメータを抽出し、抽出したパラメータを確認しながら適確な攻撃方法を見つける。
FIG. 10 is a diagram illustrating an attack method according to accessibility to a trained model. White-box (WB) attacks are possible if a trained
WB攻撃は、攻撃者60に高度な知識と技術が要求される。その一方、高度な知識と技術を有する攻撃者60であれば、精密な攻撃を高確率で成功させることができる。
訓練済みモデル43を入手不可能な場合、機械学習システム30に対して多量のクエリを送信可能であれば、ブラックボックス(BB)攻撃が可能である。BB攻撃では、攻撃者60は、利用者端末31を用いて、機械学習システム30に対して多量のクエリを送信し、それらのクエリに対する出力データを得る。攻撃者60は、取得した出力データに基づいて適当な攻撃手法を判断し、攻撃を行う。
The WB attack requires the
If a trained
BB攻撃は、攻撃に高度な知識または技術は要求されない。そのため、専門知識のない人物であってもBB攻撃の攻撃者60になり得るが、粗雑な攻撃となり、攻撃成功率は低い。
The BB attack does not require advanced knowledge or skill to attack. Therefore, even a person without specialized knowledge can be the
訓練済みモデル43を入手不可能であるがより精密な攻撃を行う場合、多くのクエリ送信が可能であるか、あるいは訓練データの入手または模倣が可能であれば、代理モデルを介した攻撃が可能である。代理モデルを介した攻撃では、攻撃者60は、まず訓練データの入手が可能かを検討する。例えば機械学習システム30が、一般に公開されたデータを訓練データとして用いていることが分かっている場合、攻撃者60は、その訓練データを入手する。訓練データの入手が困難であれば、攻撃者60は、利用者端末31を用いて、機械学習システム30に対して多量のクエリを送信し、それらのクエリに対する出力データを取得する。攻撃者60は、クエリと出力データとを参照し、機械学習で使用された訓練データを推定する。
If a trained
攻撃者60は、取得した訓練データまたは推定した訓練データを用いて、代理モデル43bを生成する。例えば攻撃者60は、自身が管理する機械学習システム30に訓練データを入力して、その機械学習システム30に訓練を実施させ、訓練済みモデルを生成させる。このとき生成された訓練済みモデルが、攻撃対象の訓練済みモデル43に対する代理モデル43bである。攻撃者60は、生成した代理モデル43bからパラメータを抽出し、抽出したパラメータを確認しながら適確な攻撃方法を見つける。
The
代理モデルを介した攻撃では、攻撃者60に、WB攻撃なみの高度な知識と技術が要求される。代理モデルを介した攻撃の成功率は、代理モデル43bの質や転移性(transferability)の高さに依存する。転移性とは、代理モデル43bに対して成功する攻撃が、元の訓練済みモデル43に対しても成功しやすいという性質である。
Attacks through the proxy model require the
以上のような攻撃の目的に応じた分類と、訓練済みモデルへのアクセス性に応じた攻撃手法との関係は、攻撃ツリーで表すことができる。
図11は、機械学習システムに関する攻撃ツリーの一例を示す図である。攻撃ツリー70には攻撃が実行可能となるための条件を表すノード71a~71e,72a~72cと、攻撃目的種別を表すノード73a~73lとが含まれており、ノード間が矢印で接続されている。矢印の始点のノードは原因または条件を示し、矢印の終点のノードは結果を示す。
The relationship between the classification according to the purpose of the attack as described above and the attack method according to the accessibility to the trained model can be represented by an attack tree.
FIG. 11 is a diagram showing an example of an attack tree for a machine learning system. The attack tree 70 includes
ノード71a~71eには、攻撃に用いられるデータについて、攻撃に用いるための条件が設定されている。ノード71aに示される条件は、訓練済みモデルの入手または模倣が可能なことである。ノード71bに示される条件は、多くのクエリを機械学習システム30に送信可能なことである。ノード71cに示される条件は、訓練データの入手または模倣が可能なことである。ノード71dに示される条件は、クエリの任意の操作が可能なことである。ノード71eに示される条件は、訓練データの任意の操作が可能なことである。
In the
ノード72a~72cには、モデルアクセス性に応じた攻撃手法が示されている。ノード72aはWB攻撃を示し、ノード72bはBB攻撃を示し、ノード72cは代理モデルを介した攻撃を示す。
ノード73a~73lには、モデルアクセス性に応じた攻撃手法それぞれで実施される攻撃目的種別が示されている。ノード73aに示される攻撃目的種別は、WB攻撃による訓練済みモデルの漏洩である。ノード73bに示される攻撃目的種別は、BB攻撃による訓練済みモデルの漏洩である。ノード73cに示される攻撃目的種別は、代理モデルを介した攻撃による訓練済みモデルの漏洩である。
ノード73dに示される攻撃目的種別は、WB攻撃による訓練データ推定である。ノード73eに示される攻撃目的種別は、BB攻撃による訓練データ推定である。ノード73fに示される攻撃目的種別は、代理モデルを介した攻撃による訓練データ推定である。なお代理モデルを生成できている時点で訓練データは入手されており、攻撃者60にとって、代理モデルを介した攻撃により訓練データ推定をする意味は大きくない。そのため機械学習システム30のリスクの分析時には、コンピュータ100は、代理モデルを介した攻撃による訓練データ推定のリスクは、参考値として扱い、機械学習システム30のリスクを表す情報からは除外する。
The attack objective type shown in
ノード73gに示される攻撃目的種別は、WB攻撃による敵対的サンプルである。ノード73hに示される攻撃目的種別は、BB攻撃による敵対的サンプルである。ノード73iに示される攻撃目的種別は、代理モデルを介した攻撃による敵対的サンプルである。
The attack objective type shown in
ノード73jに示される攻撃目的種別は、WB攻撃によるポイズニングである。ノード73kに示される攻撃目的種別は、BB攻撃によるポイズニングである。ノード73lに示される攻撃目的種別は、代理モデルを介した攻撃によるポイズニングである。
The attack purpose type indicated by the
攻撃ツリー70内に示される正方形のノード74a~74eは、左側に隣接するノードの条件に関する中間条件を示している。ノード74a~74eは、左側に矢印で接続されたノードのいずれかの条件が満たされれば(論理和)、右側に矢印で接続されたノードに示される事象が発生し得ることを表している。例えばノード74aは、訓練済みモデルの入手または模倣が可能であるか、あるいは多くのクエリが送信可能であれば、BB攻撃が可能となることを示している。
The
またノード75a~75eは、ノード75aの左側に示される複数のノードのうちの上からn(nは1以上の整数)番目のノードからの矢印が、ノード75b~75eそれぞれの右側の上からn番目のノードへの矢印となることを示している。例えばノード72aを始点としてノード75aを終点とする矢印は、ノード72aを始点としてノード73aを終点とする矢印、ノード72aを始点としてノード73dを終点とする矢印、ノード72aを始点としてノード73gを終点とする矢印の束を表している。
In addition, the
なおノード73g~73lにおける矢印の合流点には「AND」と示されている。これは、各矢印の始点のノードに示される条件のすべてが満たされたとき(論理積)、該当ノードの事象が発生し得ることを示している。例えばノード73gであれば、2つの条件の論理積となる。すなわちWB攻撃が可能であり、かつクエリの操作が可能な場合に、WB攻撃による敵対的サンプルが生じ得ることが表されている。
Note that "AND" is indicated at the confluence of the arrows at the
コンピュータ100は、攻撃ツリー70に基づいて、攻撃リスクの概算を行うことができる。
図12は、攻撃リスクの概算機能を示すブロック図である。コンピュータ100は、記憶部110、データ特性受け付け部120、尤度算出部130、攻撃リスク算出部140、および攻撃リスク表示部150を有する。
The
FIG. 12 is a block diagram showing an attack risk estimation function. The
記憶部110は、データ特性管理テーブル111と尤度管理テーブル112とを記憶する。データ特性管理テーブル111は、分析者によって入力された、機械学習システム30で利用するデータについての特性(攻撃者60が入手可能かまたは任意の操作が可能か)を管理するデータテーブルである。尤度管理テーブル112は、攻撃目的種別ごとに算出された尤度を管理するデータテーブルである。記憶部110は、例えばメモリ102またはストレージ装置103の記憶領域の一部である。
データ特性受け付け部120は、分析者から、機械学習システム30で利用するデータについての特性を示す情報の入力を受け付ける。データ特性受け付け部120は、入力されたデータ特性の情報を、データ特性管理テーブル111に設定する。
The data
尤度算出部130は、データ特性管理テーブル111を参照し、攻撃ツリー70に従って攻撃目的種別ごとの尤度を算出する。尤度算出部130は、算出した尤度を尤度管理テーブル112に設定する。
The
攻撃リスク算出部140は、データ特性管理テーブル111と尤度管理テーブル112とを参照し、攻撃目的種別ごとの攻撃リスクを算出する。攻撃リスク算出部140は、算出した攻撃リスクを攻撃リスク表示部150に送信する。
The
攻撃リスク表示部150は、取得した攻撃リスクをモニタ21に表示させる。また攻撃リスク表示部150は、分析者から、攻撃リスクの詳細表示の入力があった場合、データ特性管理テーブル111と尤度管理テーブル112とに設定された情報に基づいて、攻撃リスクの算出根拠となったデータをモニタ21に表示させることもできる。
The attack
なお、図12に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図12に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータ100に実行させることで実現することができる。
It should be noted that the lines connecting the respective elements shown in FIG. 12 indicate part of the communication paths, and communication paths other than the illustrated communication paths can also be set. Also, the function of each element shown in FIG. 12 can be realized, for example, by causing the
次に図13と図14とを参照し、記憶部110に格納されているデータ特性管理テーブル111と尤度管理テーブル112とについて具体的に説明する。
図13は、データ特性管理テーブルの一例を示す図である。データ特性管理テーブル111には、データの種類、攻撃されやすさ、影響度(資産価値)の欄が設けられている。
Next, with reference to FIGS. 13 and 14, the data characteristic management table 111 and the likelihood management table 112 stored in the
FIG. 13 is a diagram showing an example of a data characteristic management table. The data characteristic management table 111 has columns of data type, vulnerability to attack, and degree of influence (asset value).
データの種類の欄には、機械学習システム30が使用するデータの種類が設定される。データの種類としては、訓練データ、訓練済みモデル、クエリ、および出力データがある。
The type of data used by the
攻撃されやすさの欄には、データの種類ごとに、その種類のデータを用いた攻撃のされやすさが、入手・模倣、操作、多量送信の欄に設定される。入手・模倣の欄には、対応するデータの入手または模倣が容易なほど高い値が設定される。操作の欄には、対応するデータの任意の操作(改変)が容易なほど高い値が設定される。多量送信の欄には、対応するデータを機械学習システム30へ多量に送信することが容易なほど高い値が設定される。例えばデータの種別「クエリ」の多量送信の欄には、単位時間あたりに送信可能なクエリの数が多いほど高い値が設定される。
In the column of susceptibility to attack, the susceptibility to attack using data of that type is set for each type of data in the columns of acquisition/imitation, manipulation, and mass transmission. In the Acquisition/Imitation column, a higher value is set as the corresponding data is easier to obtain or imitate. A higher value is set in the operation column so that arbitrary operation (modification) of the corresponding data is easier. A large amount of transmission column is set to a value that is so high that it is easy to transmit the corresponding data to the
影響度(資産価値)の欄には、対応するデータが攻撃を受けた場合の影響度が、漏洩と操作との欄に設定される。漏洩の欄には、対応するデータが漏洩した場合の影響度が設定される。操作の欄には、対応するデータが操作(改変)された場合の影響度が設定される。影響度は、例えば資産価値を基準とすることができる。例えば攻撃を受けることによる資産の損失が大きい程、影響度が高く設定される。 In the impact degree (asset value) column, the impact degree when the corresponding data is attacked is set in the leakage and manipulation columns. In the column of leakage, the degree of impact when the corresponding data is leaked is set. In the operation column, the degree of influence when the corresponding data is operated (altered) is set. The degree of influence can be based on asset value, for example. For example, the greater the loss of property due to an attack, the higher the degree of impact is set.
図14は、尤度管理テーブルの一例を示す図である。尤度管理テーブル112には、攻撃目的種別ごとに尤度が設定されている。攻撃目的種別は、攻撃手法とその攻撃の目的の組で表されている。 FIG. 14 is a diagram illustrating an example of a likelihood management table; A likelihood is set in the likelihood management table 112 for each attack purpose type. The attack purpose type is represented by a set of an attack method and the purpose of the attack.
以下、コンピュータ100による攻撃リスクの概算処理の手順について詳細に説明する。
図15は、攻撃リスク概算処理の手順の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
The procedure of attack risk estimation processing by the
FIG. 15 is a flowchart illustrating an example of an attack risk estimation process procedure. The processing shown in FIG. 15 will be described below along with the step numbers.
[ステップS101]データ特性受け付け部120は、機械学習システム30が使用するデータのデータ特性として、攻撃されやすさ、および攻撃されたときの影響度との入力を受け付ける。データ特定受け付け部120は、入力されたデータ特性を示す値を、データ特性管理テーブル111に設定する。
[Step S<b>101 ] The data
[ステップS102]尤度算出部130は、データ特性管理テーブル111を参照し、攻撃目的種別ごとの尤度を算出する。尤度算出部130は、算出した尤度を尤度管理テーブル112に設定する。なお、尤度算出処理の詳細は後述する(図16参照)。
[Step S102] The
[ステップS103]攻撃リスク算出部140は、攻撃目的種別ごとの攻撃リスクを算出する。攻撃リスクは、例えば攻撃目的種別の尤度に、その攻撃目的種別の影響度を乗算した値である。
[Step S103] The
[ステップS104]攻撃リスク表示部150は、攻撃目的種別ごとの攻撃リスクをモニタ21に表示する。
このような手順で、分析者がデータ特性を入力すれば、機械学習システム30に関する攻撃目的種別ごとの攻撃リスクがコンピュータ100により自動算出される。
[Step S<b>104 ] The attack
If the analyst inputs the data characteristics in such a procedure, the
次に尤度算出処理について詳細に説明する。
図16は、尤度算出処理の手順の一例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
Next, the likelihood calculation process will be described in detail.
FIG. 16 is a flowchart illustrating an example of the procedure of likelihood calculation processing. The processing shown in FIG. 16 will be described below along with the step numbers.
[ステップS111]尤度算出部130は、攻撃に用いるデータについての5つの条件ごとの攻撃されやすさを示す数値を、データ特性管理テーブル111から読み出す。例えば尤度算出部130は、図13に示したデータ特性管理テーブル111から、条件「訓練済みモデル入手/模倣可能」について、攻撃されやすさ「2」を読み出す。また尤度算出部130は、データ特性管理テーブル111から、条件「多くのクエリ送信可能」について、攻撃されやすさ「8」を読み出す。また尤度算出部130は、データ特性管理テーブル111から、条件「訓練データ入手/模倣可能」について、攻撃されやすさ「10」を読み出す。また尤度算出部130は、データ特性管理テーブル111から、条件「クエリ操作可能」について、攻撃されやすさ「6」を読み出す。また尤度算出部130は、データ特性管理テーブル111から、条件「訓練データ操作可能」について、攻撃されやすさ「4」を読み出す。
[Step S<b>111 ] The
[ステップS112]尤度算出部130は、条件「多くのクエリ送信可能」についての中間条件を計算する。この中間条件は、攻撃ツリー70におけるノード74a(図11参照)における条件である。例えば尤度算出部130は、条件「訓練済みモデル入手/模倣可能」の攻撃されやすさ「2」と、条件「多くのクエリ送信可能」の攻撃されやすさ「8」とのうちの、大きい方の値「8」を、ノード74aにおける中間条件の値とする。
[Step S112] The
[ステップS113]尤度算出部130は、条件「訓練データ入手/模倣可能」についての中間条件を計算する。この中間条件は、攻撃ツリー70におけるノード74b(図11参照)における条件である。例えば尤度算出部130は、ステップS112で計算した中間条件の値「8」と、条件「訓練データ入手/模倣可能」の攻撃されやすさ「10」とのうちの、大きい方の値「10」を、ノード74bにおける中間条件の値とする。
[Step S113] The
[ステップS114]尤度算出部130は、訓練済みモデル43へのアクセス性に応じた3つの攻撃手法それぞれの中間条件を計算する。例えば尤度算出部130は、条件「訓練済みモデル入手/模倣可能」の攻撃されやすさ「2」を、中間条件「WB攻撃」の値とする。また尤度算出部130は、ステップS112で計算した中間条件の値「8」を、中間条件「BB攻撃」の値とする。また尤度算出部130は、ステップS113で計算した中間条件の値「10」を、中間条件「代理モデルを介した攻撃」の値とする。
[Step S<b>114 ] The
[ステップS115]尤度算出部130は、攻撃の目的で分類される4つの攻撃目的種別ごとの尤度を計算する。例えば尤度算出部130は、訓練済みモデルへのアクセス性に応じた攻撃手法と、攻撃目的種別で示される攻撃による影響との組合せごとに、尤度を算出する。具体的には、尤度算出部130は以下の計算を行う。
[Step S115] The
尤度算出部130は、中間条件「WB攻撃」の値「2」を、「WB攻撃による訓練済みモデルの漏洩」についての尤度とする。尤度算出部130は、中間条件「BB攻撃」の値「8」を、「BB攻撃による訓練済みモデルの漏洩」についての尤度とする。尤度算出部130は、中間条件「代理モデルを介した攻撃」の値「10」を、「代理モデルを介した攻撃による訓練済みモデルの漏洩」についての尤度とする。
The
また尤度算出部130は、中間条件「WB攻撃」の値「2」を、「WB攻撃による訓練データ推定」についての尤度とする。尤度算出部130は、中間条件「BB攻撃」の値「8」を、「BB攻撃による訓練データ推定」についての尤度とする。尤度算出部130は、中間条件「代理モデルを介した攻撃」の値「10」を、「代理モデルを介した攻撃による訓練データ推定」についての尤度とする。
Further,
また尤度算出部130は、中間条件「WB攻撃」の値「2」と、条件「クエリを操作可能」の中間条件「6」とのうちの最小値「2」を、「WB攻撃による敵対的サンプル」の尤度とする。尤度算出部130は、中間条件「BB攻撃」の値「8」と、条件「クエリを操作可能」の中間条件「6」とのうちの最小値「6」を、「BB攻撃による敵対的サンプル」の尤度とする。尤度算出部130は、中間条件「代理モデルを介した攻撃」の値「10」と、条件「クエリを操作可能」の中間条件「6」とのうちの最小値「6」を、「代理モデルを介した攻撃による敵対的サンプル」の尤度とする。
Further, the
また尤度算出部130は、中間条件「WB攻撃」の値「2」と、条件「訓練データを入手/模倣可能」の中間条件の値「10」と、条件「訓練データを操作可能」の値「4」とのうちの最小値「2」を、「WB攻撃によるポイズニング」の尤度とする。尤度算出部130は、中間条件「BB攻撃」の値「8」と、条件「訓練データを入手/模倣可能」の中間条件の値「10」と、条件「訓練データを操作可能」の値「4」とのうちの最小値「4」を、「BB攻撃によるポイズニング」の尤度とする。尤度算出部130は、中間条件「代理モデルを介した攻撃」の値「10」と、条件「訓練データを入手/模倣可能」の中間条件の値「10」と、条件「訓練データを操作可能」の値「4」とのうちの最小値「4」を求める。そして尤度算出部130は、求めた最小値「4」を、「代理モデルを介した攻撃によるポイズニング」の尤度とする。
Further, the
[ステップS116]尤度算出部130は、攻撃目的種別ごとの尤度を出力する。例えば尤度算出部130は、攻撃目的種別ごとの尤度を尤度管理テーブル112に書き込む。
このようにして、攻撃ツリー70に従って、攻撃目的種別ごとの尤度を算出することができる。
[Step S116] The
In this way, the likelihood for each attack purpose type can be calculated according to the attack tree 70 .
図17は、攻撃ツリーを用いた尤度の算出過程を示す図である。図17では、各ノードの位置に、該当ノードに対応する条件または攻撃目的種別に関して算出された値が示されている。 FIG. 17 is a diagram illustrating a likelihood calculation process using an attack tree. In FIG. 17, the position of each node indicates the value calculated for the condition or attack purpose type corresponding to the node.
攻撃ツリー70の構造に沿った尤度の計算手順は、例えば尤度算出部130の処理手順を記述したプログラムモジュール内で記述することができる。
図18は、尤度計算処理で用いる変数群の一例を示す図である。例えば条件「訓練済みモデルを入手/模倣可能」の攻撃されやすさの値を設定する変数の変数名は、「L_can_get_model」である。条件「多くのクエリ送信可能」の攻撃されやすさの入力値の変数名は、「L_can_send_queries」である。条件「訓練データを入手/模倣可能」の攻撃されやすさの入力値の変数名は、「L_can_get_tdata」である。条件「クエリを操作可能」の攻撃されやすさの入力値の変数名は、「L_can_manipulate_query」である。条件「訓練データを操作可能」の攻撃されやすさの入力値の変数名は、「L_can_manipulate_tdata」である。
A procedure for calculating the likelihood along the structure of the attack tree 70 can be described, for example, in a program module describing the processing procedure of the
FIG. 18 is a diagram showing an example of a variable group used in likelihood calculation processing. For example, the variable name of the variable that sets the vulnerability value for the condition "can get/imitate a trained model" is "L_can_get_model". The variable name of the input value of the attack susceptibility of the condition “many queries can be sent” is “L_can_send_queries”. The variable name of the input value of vulnerability of the condition “Training data can be obtained/imitated” is “L_can_get_tdata”. The variable name of the input value of vulnerability of the condition "can manipulate query" is "L_can_manipulate_query". The variable name of the input value of vulnerability of the condition "can manipulate training data" is "L_can_manipulate_tdata".
攻撃に用いるデータについての5つの条件は、中間条件によって値が変更される。攻撃に用いるデータについての条件の値の遷移は、2次元配列で管理される。攻撃に用いるデータについての各条件には、攻撃ツリー70における上位から「0」から昇順の番号が付与される。そして攻撃に用いるデータについての条件に関する入力値は、それぞれ配列L[0][0]~L[0][4]に設定される。配列L[0][0]~L[0][4]のいずれかの値を用いて算出された中間条件の値は、配列L[1][0]~L[1][4]に設定される。配列L[1][0]~L[1][4]のいずれかの値を用いて算出された中間条件の値は、配列L[2][0]~L[2][4]に設定される。 Values of the five conditions for data used for attack are changed by intermediate conditions. A two-dimensional array manages the transition of the value of the condition for the data used for the attack. Each condition for data used for an attack is given a number in ascending order from "0" from the top in the attack tree 70. FIG. Input values relating to conditions for data used for attacks are set in arrays L[0][0] to L[0][4], respectively. The values of the intermediate conditions calculated using any of the values in the arrays L[0][0] to L[0][4] are stored in the arrays L[1][0] to L[1][4]. set. The values of the intermediate conditions calculated using the values in any of the arrays L[1][0] to L[1][4] are stored in the arrays L[2][0] to L[2][4]. set.
条件「WB攻撃」の値は、配列L_access[i](i=0~2)に、0番の要素「L_access[0]」として設定される。条件「BB攻撃」の値は、配列L_access[i](i=0~2)に、1番の要素「L_access[1]」として設定される。条件「代理モデルを介した攻撃」の値は、配列L_access[i](i=0~2)に、2番の要素「L_access[2]」として設定される。 The value of the condition "WB attack" is set as the 0th element "L_access[0]" in the array L_access[i] (i=0 to 2). The value of the condition "BB attack" is set as the first element "L_access[1]" in the array L_access[i] (i=0 to 2). The value of the condition “attack via proxy model” is set as the second element “L_access[2]” in the array L_access[i] (i=0 to 2).
攻撃目的種別「WB攻撃による訓練済みモデルの漏洩」の値(尤度)は、配列L_model_leak[i](i=0~2)に、0番の要素「L_model_leak[0]」として設定される。攻撃目的種別「BB攻撃による訓練済みモデルの漏洩」の値(尤度)は、配列L_model_leak[i](i=0~2)に、1番の要素「L_model_leak[1]」として設定される。攻撃目的種別「代理モデルを介した攻撃による訓練済みモデルの漏洩」の値(尤度)は、配列L_model_leak[i](i=0~2)に、2番の要素「L_model_leak[2]」として設定される。 The value (likelihood) of the attack purpose type “leakage of trained model by WB attack” is set as the 0th element “L_model_leak[0]” in the array L_model_leak[i] (i=0 to 2). The value (likelihood) of the attack purpose type “leakage of trained model by BB attack” is set as the first element “L_model_leak[1]” in the array L_model_leak[i] (i=0 to 2). The value (likelihood) of the attack purpose type “Leakage of trained model due to attack via proxy model” is stored in the array L_model_leak[i] (i=0 to 2) as the second element “L_model_leak[2]”. set.
攻撃目的種別「WB攻撃による訓練データ推定」の値(尤度)は、配列L_tdata_infer[i](i=0~2)に、0番の要素「L_tdata_infer[0]」として設定される。攻撃目的種別「BB攻撃による訓練データ推定」の値(尤度)は、配列L_tdata_infer[i](i=0~2)に、1番の要素「L_tdata_infer[1]」として設定される。攻撃目的種別「代理モデルを介した攻撃による訓練データ推定」の値(尤度)は、配列L_tdata_infer[i](i=0~2)に、2番の要素「L_tdata_infer[2]」として設定される。 The value (likelihood) of the attack purpose type “training data estimation by WB attack” is set as the 0th element “L_tdata_infer[0]” in the array L_tdata_infer[i] (i=0 to 2). The value (likelihood) of the attack purpose type “training data estimation by BB attack” is set as the first element “L_tdata_infer[1]” in the array L_tdata_infer[i] (i=0 to 2). The value (likelihood) of the attack purpose type “estimation of training data by attacking through a proxy model” is set as the second element “L_tdata_infer[2]” in the array L_tdata_infer[i] (i=0 to 2). be.
攻撃目的種別「WB攻撃による敵対的サンプル」の値(尤度)は、配列L_advex[i](i=0~2)に、0番の要素「L_advex[0]」として設定される。攻撃目的種別「BB攻撃による敵対的サンプル」の値(尤度)は、配列L_advex[i](i=0~2)に、1番の要素「L_advex[1]」として設定される。攻撃目的種別「代理モデルを介した攻撃による敵対的サンプル」の値(尤度)は、配列L_advex[i](i=0~2)に、2番の要素「L_advex[2]」として設定される。 The value (likelihood) of the attack purpose type “hostile sample by WB attack” is set as the 0th element “L_advex[0]” in the array L_advex[i] (i=0 to 2). The value (likelihood) of the attack purpose type “hostile sample by BB attack” is set as the first element “L_advex[1]” in the array L_advex[i] (i=0 to 2). The value (likelihood) of the attack purpose type “hostile sample by attack via proxy model” is set as the second element “L_advex[2]” in the array L_advex[i] (i=0 to 2). be.
攻撃目的種別「WB攻撃によるポイズニング」の値(尤度)は、配列L_poisoning[i](i=0~2)に、0番の要素「L_poisoning[0]」として設定される。攻撃目的種別「BB攻撃によるポイズニング」の値(尤度)は、配列L_poisoning[i](i=0~2)に、1番の要素「L_poisoning[1]」として設定される。攻撃目的種別「代理モデルを介した攻撃によるポイズニング」の値(尤度)は、配列L_poisoning[i](i=0~2)に、2番の要素「L_poisoning[2]」として設定される。 The value (likelihood) of the attack purpose type “poisoning by WB attack” is set as the 0th element “L_poisoning[0]” in the array L_poisoning[i] (i=0 to 2). The value (likelihood) of the attack purpose type “poisoning by BB attack” is set as the first element “L_poisoning[1]” in the array L_poisoning[i] (i=0 to 2). The value (likelihood) of the attack purpose type “poisoning by attack via a proxy model” is set as the second element “L_poisoning[2]” in the array L_poisoning[i] (i=0 to 2).
図18に示した変数および配列を用いて、攻撃ツリー70に沿った尤度計算処理の手順をプログラムで記述することができる。
図19は、尤度計算プログラムの擬似コードの一例を示す図である。尤度計算プログラム131の1行目から5行目は、攻撃に用いてデータについての条件に関する入力値を、配列L[0][0]~L[0][4]に設定する命令である。
Using the variables and arrays shown in FIG. 18, the procedure of likelihood calculation processing along the attack tree 70 can be described by a program.
FIG. 19 is a diagram showing an example of pseudocode of a likelihood calculation program. The 1st to 5th lines of the likelihood calculation program 131 are instructions for setting the input values related to the data conditions used in the attack to the arrays L[0][0] to L[0][4]. .
尤度計算プログラム131の6行目から7行目は、配列L[0][0]~L[0][4]の値を用いて、1段目の中間条件の値を配列L[1][0]~L[1][4]に設定する命令である。このうち7行目の「L[1][1]=max(L[0][0],L[0][1])」は、L[0][0]とL[0][1]とのうちの最大値を、L[1][1]に設定する命令である。 The sixth and seventh lines of the likelihood calculation program 131 use the values of the arrays L[0][0] to L[0][4] to store the values of the intermediate conditions in the first stage in the array L[1 ][0] to L[1][4]. Among them, "L[1][1]=max(L[0][0], L[0][1])" in the seventh line is L[0][0] and L[0][1 ] is set to L[1][1].
尤度計算プログラム131の8行目から9行目は、配列L[1][0]~L[1][4]の値を用いて、2段目の中間条件の値を配列L[2][0]~L[2][4]に設定する命令である。このうち9行目の「L[2][2]=max(L[1][1],L[1][2])」は、L[1][1]とL[1][2]とのうちの最大値を、L[2][2]に設定する命令である。 The eighth and ninth lines of the likelihood calculation program 131 use the values of the arrays L[1][0] to L[1][4] to store the values of the intermediate conditions in the second stage in the array L[2 ][0] to L[2][4]. Of these, "L[2][2]=max(L[1][1], L[1][2])" on the 9th line is L[1][1] and L[1][2] ] is set to L[2][2].
10行目から12行目は、訓練済みモデルへのアクセス性に応じた攻撃手法に関する条件の値を設定する命令である。
13行目から18行目は、攻撃による攻撃目的種別の尤度を設定する命令である。このうち16行目の「L_advex[i]=min(L_access[i],L[2][3])」は、L_access[i]とL[2][3]とのうちの最小値を、L_advex[i]に設定する命令である。17行目の「L_poisoning[i]=min(L_access[i],L[2][2],L[2][4])」は、L_access[i]とL[2][2]とL[2][4]とのうちの最小値を、L_poisoning[i]に設定する命令である。
The 10th to 12th lines are instructions for setting the value of the condition regarding the attack technique according to the accessibility to the trained model.
The 13th to 18th lines are instructions for setting the likelihood of the attack purpose type of the attack. Of these, the 16th line "L_advex[i]=min(L_access[i], L[2][3])" is the minimum value between L_access[i] and L[2][3], This is an instruction to set L_advex[i]. "L_poisoning[i]=min(L_access[i], L[2][2], L[2][4])" on the 17th line is L_access[i], L[2][2] and L This is an instruction to set the minimum value of [2] and [4] to L_poisoning[i].
19行目は、攻撃目的種別の尤度の出力命令である。
図19に示したような尤度計算プログラム131をコンピュータ100に実行させることによって、図16、図17に示した尤度算出部130による尤度計算処理を実現することができる。尤度の計算が完了すると、攻撃リスク算出部140により、攻撃目的種別ごとの攻撃リスクが算出される。
The 19th line is an instruction to output the likelihood of the attack purpose type.
By causing the
図20は、攻撃リスクの算出方法の一例を示す図である。攻撃リスク算出部140は、攻撃目的種別ごとに求められた攻撃の尤度に、その攻撃目的種別に関する攻撃の影響度を乗算した結果を、その攻撃目的種別の攻撃リスクとする。
FIG. 20 is a diagram illustrating an example of an attack risk calculation method. The attack
なお、ポイズニングの攻撃を受けた場合、直接的には、訓練済みモデル43が操作されるという影響が生じる。訓練済みモデル43が操作されると、その訓練済みモデル43を用いて推論を行った場合に、推論の結果の出力データも操作されるという影響がある。そのため攻撃リスク算出部140は、訓練済みモデル操作の影響度を用いて、ポイズニングによる訓練済みモデルの操作の攻撃リスクを算出すると共に、出力データ操作の影響度を用いて、ポイズニングによる出力データの操作の攻撃リスクとを算出する。
It should be noted that when a poisoning attack is received, the trained
攻撃リスク算出部140により計算された攻撃リスクは、攻撃リスク表示部150により、モニタ21に表示される。例えばデータ特性受け付け部120が攻撃リスク管理画面においてデータ特性を示す情報の入力を受け付けたとき、攻撃リスク表示部150は、その攻撃リスク管理画面内に攻撃リスクの計算結果を表示する。
The attack risk calculated by the
図21は、攻撃リスク管理画面の一例を示す図である。攻撃リスク管理画面80には、アセスメントの概要表示部81、システムの概要表示部82、データ特性入力部83、攻撃リスク表示部84、および攻撃リスク詳細ボタン85が含まれる。
FIG. 21 is a diagram showing an example of an attack risk management screen. The attack risk management screen 80 includes an assessment
アセスメントの概要表示部81には、攻撃リスクの計算を指示する分析者に関する情報が設定される。例えばアセスメントの概要表示部81には、分析者名、アセスメント日、分析作業時間が表示される。システムの概要表示部82には、システムの名称、分析対象部分、機械学習システム30で使用している機械学習アルゴリズム、および機械学習システム30で使用している機械学習パイプラインが表示される。
In the assessment
データ特性入力部83は、機械学習システム30が使用するデータの特性を示す情報の入力領域である。分析者は、データ特性入力部83に、データの種類ごとの攻撃されやすさ、および影響度を入力する。データ特性入力部83に入力された値が、データ特性管理テーブル111に設定される。
The data
攻撃リスク表示部84は、機械学習システム30への攻撃リスクの表示領域である。図21の例では、攻撃目的種別ごとに、その攻撃により攻撃を受けるリスクの高さを示す数値(攻撃リスク)が表示されている。例えば各攻撃目的種別について、訓練済みモデルへのアクセス性に応じた攻撃方法ごとに算出された攻撃リスクの最大値が、その攻撃目的種別に関する攻撃リスクとして表示される。
The attack
攻撃リスク詳細ボタン85は、攻撃リスクの詳細を示す攻撃リスク詳細画面を表示させるためのボタンである。分析者が攻撃リスク詳細ボタン85を押下すると、攻撃リスク表示部150は、モニタ21に攻撃リスク詳細画面を表示する。
The attack risk details
図22は、攻撃リスク詳細画面の一例を示す図である。攻撃リスク詳細画面90には、攻撃ツリー表示部91と計算詳細表示部92とが含まれる。攻撃ツリー表示部91には、図17に示したような、条件ごとに求めた値と、攻撃目的種別ごとの尤度とが示された攻撃ツリー70が表示される。計算詳細表示部92には、攻撃リスクの詳細な計算内容が表示される。
FIG. 22 is a diagram illustrating an example of an attack risk detail screen. The attack risk detail screen 90 includes an attack
図23は、計算詳細表示部の表示例を示す図である。計算詳細表示部92には、例えば攻撃手法・攻撃リスクの種類、尤度、影響度、および攻撃リスクの欄が設けられている。攻撃手法・攻撃リスクの種類の欄には、攻撃手法とその攻撃手法による攻撃リスクの種類が表示されている。尤度の欄には、攻撃手法と攻撃リスクの種類との組合せについて算出された尤度が表示されている。影響度の欄には、攻撃リスクの種類に対応する影響度が表示されている。攻撃リスクの欄には、攻撃手法と攻撃リスクの種類との組合せについて算出された攻撃リスクが表示されている。なお「代理モデルを介した攻撃による訓練データ推定」の攻撃リスクは参考値であり、機械学習システム30のリスクを示す値としては用いられない。
FIG. 23 is a diagram showing a display example of the calculation details display section. The calculation details
図23の例では、攻撃リスクの種類「訓練済みモデルの漏洩」については、代理モデルを介した攻撃による攻撃リスクが最も高い。攻撃リスクの種類「訓練データ推定」については、BB攻撃による攻撃リスクが最も高い。攻撃リスクの種類「敵対的サンプル」については、BB攻撃または代理モデルを介した攻撃による攻撃リスクが最も高い。攻撃リスクの種類「ポイズニング(モデル操作)」については、BB攻撃または代理モデルを介した攻撃による攻撃リスクが最も高い。攻撃リスクの種類「ポイズニング(出力データ操作)」については、BB攻撃または代理モデルを介した攻撃による攻撃リスクが最も高い。 In the example of FIG. 23, for the type of attack risk "leakage of trained model", the attack risk of attacks via proxy models is the highest. For the attack risk type “training data estimation,” the attack risk due to the BB attack is the highest. For the attack risk type 'adversarial sample', the attack risk from BB attacks or attacks via proxy models is the highest. For the attack risk type "poisoning (model manipulation)", the attack risk due to the BB attack or the attack via the proxy model is the highest. For the attack risk type "poisoning (output data manipulation)", the attack risk due to the BB attack or the attack via the proxy model is the highest.
このように攻撃リスクの計算詳細を表示することで、分析者は、機械学習システム30が、どのような手法の攻撃による、どのような目的での攻撃に脆弱なのかを容易に把握することができる。そして分析者は、機械学習システム30の運用方法の改善や、機械学習アルゴリズムの改善により、攻撃リスクが高い攻撃手法と攻撃リスクの種類のリスクを低減させる対策をとることができる。その結果、機械学習システム30の安全性を向上させることができる。
By displaying the calculation details of the attack risk in this way, the analyst can easily comprehend with what type of attack the
〔その他の実施の形態〕
第2の実施の形態では、図19に示したように、攻撃ツリー70の構造が尤度計算プログラム131内に組み込まれているが、攻撃ツリー70の構造を示す情報をデータベース形式でメモリ102またはストレージ装置103に保持しておくこともできる。
[Other embodiments]
In the second embodiment, as shown in FIG. 19, the structure of the attack tree 70 is incorporated in the likelihood calculation program 131, but information indicating the structure of the attack tree 70 is stored in database form in the
図24は、攻撃ツリーの構造定義情報の一例を示す図である。攻撃ツリーの構造定義情報132には、変数名、結合、および複数の引数の欄が設けられている。変数名の欄には、攻撃ツリー70のノードに対応する条件、中間条件、攻撃目的種別それぞれの値を設定する変数の変数名が設定される。結合の欄には、対応する変数の値が、複数の引数の論理演算で求められる場合の論理演算子が設定される。結合欄に論理演算子「OR」が設定されている場合、引数で示される値のうちの最大値が、対応する変数の値となる。結合欄に論理演算子「AND」が設定されている場合、引数で示される値のうちの最小値が、対応する変数の値となる。複数の引数の欄には、対応する変数に設定する値の決定に使用する値の取得元(「入力から取得」または変数名)が設定される。 FIG. 24 is a diagram illustrating an example of attack tree structure definition information. The attack tree structure definition information 132 has columns for variable name, connection, and multiple arguments. In the variable name column, the variable names of the variables for setting the values of the conditions corresponding to the nodes of the attack tree 70, the intermediate conditions, and the attack purpose types are set. A logical operator used when the value of the corresponding variable is obtained by a logical operation of a plurality of arguments is set in the connection column. When the logical operator "OR" is set in the combination field, the maximum value among the values indicated by the arguments becomes the value of the corresponding variable. When the logical operator "AND" is set in the combination field, the minimum value among the values indicated by the arguments becomes the value of the corresponding variable. In the multiple argument columns, a value acquisition source (“obtained from input” or variable name) used to determine the value to be set in the corresponding variable is set.
なお図24の変数名に付与されている「*」は、「_wb」、「_bb」、「_sm」をまとめて表したものである。例えば「L_model_leak*」は、「L_model_leak_wb」と「L_model_leak_bb」と「L_model_leak_sm」とを表している。 Note that "*" added to the variable names in FIG. 24 collectively represent "_wb", "_bb", and "_sm". For example, "L_model_leak*" represents "L_model_leak_wb", "L_model_leak_bb" and "L_model_leak_sm".
引数欄に設定された変数名に「*」が付与されている場合、「*」を「_wb」、「_bb」、「_sm」それぞれに置き換えて得られる変数(引数)の値が、最後の3文字が同じ変数の引数として用いられる。例えば「L_model_leak_wb」の引数は、「L_access_wb」である。 If "*" is added to the variable name set in the argument column, the value of the variable (argument) obtained by replacing "*" with "_wb", "_bb", and "_sm" is the last Three letters are used as arguments for the same variable. For example, the argument of "L_model_leak_wb" is "L_access_wb".
尤度算出部130は、攻撃ツリーの構造定義情報132の上位の変数から順に、値を確定していくことで、攻撃目的種別ごとの尤度を計算することができる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
The
Although the embodiment has been exemplified above, the configuration of each part shown in the embodiment can be replaced with another one having the same function. Also, any other components or steps may be added. Furthermore, any two or more configurations (features) of the above-described embodiments may be combined.
1 機械学習システム
1a 訓練済みモデル
2 攻撃者
3 分析者
4 第1の情報
5 第2の情報
6 第3の情報
7a,7b,・・・ 第4の情報
10 情報処理装置
11 記憶部
12 処理部
1 machine learning system 1a trained
Claims (7)
クエリに応じた出力データを規定する訓練済みモデルの入手可能性を示す情報、機械学習による前記訓練済みモデルの訓練に用いられる訓練データの入手可能性を示す情報、および前記訓練済みモデルが受け付けるクエリ数の制限値を示す情報のうち、少なくともいずれか1つを含む第1の情報、および前記訓練済みモデルが受け付けるクエリの操作可能性を示す情報、および前記訓練データの操作可能性を示す情報のうち、少なくともいずれか1つを含む第2の情報を受け付け、
受け付けた前記第1の情報に基づき、1または複数のアクセス形態それぞれによる前記訓練済みモデルへのアクセスが、攻撃者によって行われる可能性を示す第3の情報を生成し、
生成した前記第3の情報と受け付けた前記第2の情報とに基づき、所定の攻撃目的を達成するために前記1または複数のアクセス形態それぞれにより前記訓練済みモデルへの攻撃が行われる可能性を示す第4の情報を生成する、
生成方法。 the computer
Information indicating the availability of a trained model that defines output data in response to a query, information indicating the availability of training data used to train the trained model by machine learning, and queries accepted by the trained model. First information including at least one of information indicating a limit value of the number, information indicating the operability of queries received by the trained model, and information indicating the operability of the training data Receiving second information containing at least one of
generating third information indicating a possibility that an attacker accesses the trained model through one or more access forms, based on the received first information;
Based on the generated third information and the received second information, the possibility that the trained model will be attacked by each of the one or more access modes in order to achieve a predetermined attack purpose is determined. generating fourth information indicating
generation method.
前記訓練済みモデルの入手可能性を示す情報に基づいて前記第1のアクセス形態でのアクセスが行われる可能性を算出し、
前記訓練済みモデルの入手可能性を示す情報と前記訓練データの入手可能性を示す情報とに基づいて前記第2のアクセス形態でのアクセスが行われる可能性を算出し、
前記訓練済みモデルの入手可能性を示す情報と前記訓練データの入手可能性を示す情報とクエリ数の前記制限値を示す情報とに基づいて前記第3のアクセス形態でのアクセスが行われる可能性を算出する、
請求項1記載の生成方法。 The one or more forms of access include a first form of access to access information in the trained model, a second form of access to input queries to the trained model, and a query to the trained model. at least one of a third form of access for accessing information in a surrogate model generated by inputting of
calculating the possibility of access in the first access form based on information indicating the availability of the trained model;
calculating the possibility of access in the second access form based on the information indicating the availability of the trained model and the information indicating the availability of the training data;
Possibility of access in the third access form based on the information indicating availability of the trained model, the information indicating availability of the training data, and the information indicating the limit value of the number of queries to calculate
A method according to claim 1.
前記訓練済みモデルが受け付けるクエリの操作可能性の高さを示す数値を、前記第2の情報として取得し、
前記第3の情報として、前記1または複数のアクセス形態それぞれにより前記訓練済みモデルへのアクセスが行われる可能性の高さを示す数値を算出し、
一アクセス形態に対して前記第3の情報として算出された数値と、前記第2の情報に示される数値とのうちの小さい方の数値を、前記一アクセス形態についての前記第4の情報とする、
請求項1または2に記載の生成方法。 A numerical value indicating the availability of the trained model, a numerical value indicating the availability of the training data used to train the trained model by machine learning, and a number of queries received by the trained model. At least one of the numerical values indicating the height of the limit value of is obtained as the first information,
obtaining, as the second information, a numerical value indicating the degree of operability of queries received by the trained model;
calculating, as the third information, a numerical value indicating a high probability that the trained model will be accessed by each of the one or more access modes;
The smaller numerical value of the numerical value calculated as the third information for one access mode and the numerical value indicated in the second information is used as the fourth information for the one access mode. ,
3. The production method according to claim 1 or 2.
請求項1または2記載の生成方法。 generating the fourth information based on the generated third information and the received first and second information;
3. The production method according to claim 1 or 2.
前記訓練データの操作可能性の高さを示す数値を前記第2の情報として取得し、
前記第3の情報として、前記1または複数のアクセス形態それぞれにより前記訓練済みモデルへのアクセスが行われる可能性の高さを示す数値を算出し、
前記第1の情報に示される1または複数の数値のうちの最大値と、前記第2の情報に示される数値と、一アクセス形態に対して前記第3の情報として算出された数値とのうちの最小値を、前記一アクセス形態についての前記第4の情報とする、
請求項4記載の生成方法。 A numerical value indicating the availability of the trained model, a numerical value indicating the availability of the training data used to train the trained model by machine learning, and a number of queries received by the trained model. At least one of the numerical values indicating the height of the limit value of is obtained as the first information,
Acquiring a numerical value indicating the degree of operability of the training data as the second information,
calculating, as the third information, a numerical value indicating a high probability that the trained model will be accessed by each of the one or more access modes;
Among the maximum value of one or more numerical values indicated in the first information, the numerical value indicated in the second information, and the numerical value calculated as the third information for one access mode Let the fourth information about the one access form be the minimum value of
5. The generating method according to claim 4.
クエリに応じた出力データを規定する訓練済みモデルの入手可能性を示す情報、機械学習による前記訓練済みモデルの訓練に用いられる訓練データの入手可能性を示す情報、および前記訓練済みモデルが受け付けるクエリ数の制限値を示す情報のうち、少なくともいずれか1つを含む第1の情報、および前記訓練済みモデルが受け付けるクエリの操作可能性を示す情報、および前記訓練データの操作可能性を示す情報のうち、少なくともいずれか1つを含む第2の情報を受け付け、
受け付けた前記第1の情報に基づき、1または複数のアクセス形態それぞれによる前記訓練済みモデルへのアクセスが、攻撃者によって行われる可能性を示す第3の情報を生成し、
生成した前記第3の情報と受け付けた前記第2の情報とに基づき、所定の攻撃目的を達成するために前記1または複数のアクセス形態それぞれにより前記訓練済みモデルへの攻撃が行われる可能性を示す第4の情報を生成する、
処理を実行させる生成プログラム。 to the computer,
Information indicating the availability of a trained model that defines output data in response to a query, information indicating the availability of training data used to train the trained model by machine learning, and queries accepted by the trained model. First information including at least one of information indicating a limit value of the number, information indicating the operability of queries received by the trained model, and information indicating the operability of the training data Receiving second information containing at least one of
generating third information indicating a possibility that an attacker accesses the trained model through one or more access forms, based on the received first information;
Based on the generated third information and the received second information, the possibility that the trained model will be attacked by each of the one or more access modes in order to achieve a predetermined attack purpose is determined. generating fourth information indicating
Generated program to run the process.
を有する情報処理装置。 Information indicating the availability of a trained model that defines output data in response to a query, information indicating the availability of training data used to train the trained model by machine learning, and queries accepted by the trained model. First information including at least one of information indicating a limit value of the number, information indicating the operability of queries received by the trained model, and information indicating the operability of the training data Second information containing at least one of these is received, and based on the received first information, an attacker may access the trained model by one or more access modes. and based on the generated third information and the received second information, the trained by each of the one or more access modes to achieve a predetermined attack purpose a processing unit that generates fourth information indicating the likelihood of an attack on the model;
Information processing device having
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019185420A JP7315843B2 (en) | 2019-10-08 | 2019-10-08 | Generating method, generating program, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019185420A JP7315843B2 (en) | 2019-10-08 | 2019-10-08 | Generating method, generating program, and information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021060872A JP2021060872A (en) | 2021-04-15 |
JP7315843B2 true JP7315843B2 (en) | 2023-07-27 |
Family
ID=75380270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019185420A Active JP7315843B2 (en) | 2019-10-08 | 2019-10-08 | Generating method, generating program, and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7315843B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023132048A1 (en) | 2022-01-07 | 2023-07-13 | 富士通株式会社 | Generation method, generation program, and information processing device |
WO2023157094A1 (en) * | 2022-02-15 | 2023-08-24 | 富士通株式会社 | Model training program, model training method, and information processing device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016170568A (en) | 2015-03-12 | 2016-09-23 | 株式会社日立製作所 | Log management control system and log management control method |
JP2017224053A (en) | 2016-06-13 | 2017-12-21 | 株式会社日立製作所 | Vulnerability risk evaluation system and method |
-
2019
- 2019-10-08 JP JP2019185420A patent/JP7315843B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016170568A (en) | 2015-03-12 | 2016-09-23 | 株式会社日立製作所 | Log management control system and log management control method |
JP2017224053A (en) | 2016-06-13 | 2017-12-21 | 株式会社日立製作所 | Vulnerability risk evaluation system and method |
Non-Patent Citations (2)
Title |
---|
宇根正志,"機械学習システムのセキュリティに関する研究動向と課題",金融研究,株式会社国際文献社,2019年01月22日,第38巻,第1号,p.97-123 |
高橋翼,"敵対的サンプルの脅威と対策",電子情報通信学会2019年総合大会講演論文集 基礎・境界/NOLTA,一般社団法人電子情報通信学会,2019年03月,p.SS-62,SS-63,ISSN 1349-1369 |
Also Published As
Publication number | Publication date |
---|---|
JP2021060872A (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | Cyber threat intelligence mining for proactive cybersecurity defense: a survey and new perspectives | |
Wu et al. | Ethical principles and governance technology development of AI in China | |
Zeng et al. | Software vulnerability analysis and discovery using deep learning techniques: A survey | |
Liu et al. | Rethinking machine unlearning for large language models | |
JP2022527511A (en) | Guessing the time relationship for cybersecurity events | |
Scandariato et al. | Predicting vulnerable software components via text mining | |
US20150286819A1 (en) | Insider threat prediction | |
Naqvi et al. | Mitigation strategies against the phishing attacks: A systematic literature review | |
Tsukerman | Machine Learning for Cybersecurity Cookbook: Over 80 recipes on how to implement machine learning algorithms for building security systems using Python | |
Cui et al. | Risk taxonomy, mitigation, and assessment benchmarks of large language model systems | |
US10699197B2 (en) | Predictive analysis with large predictive models | |
US11106801B1 (en) | Utilizing orchestration and augmented vulnerability triage for software security testing | |
Layton et al. | Automating open source intelligence: algorithms for OSINT | |
CN114547415A (en) | Attack simulation method based on network threat information in industrial Internet of things | |
Jurn et al. | An automated vulnerability detection and remediation method for software security | |
JP7315843B2 (en) | Generating method, generating program, and information processing device | |
Chebbi | Mastering machine learning for penetration testing: develop an extensive skill set to break self-learning systems using Python | |
KR20220109418A (en) | neural flow proof | |
Lounici et al. | Optimizing Leak Detection in Open-source Platforms with Machine Learning Techniques. | |
Roy et al. | From Chatbots to PhishBots?--Preventing Phishing scams created using ChatGPT, Google Bard and Claude | |
Hughes et al. | Too much data? Opportunities and challenges of large datasets and cybercrime | |
Kirschner et al. | Automatic derivation of vulnerability models for software architectures | |
Zhen et al. | DA-GNN: A smart contract vulnerability detection method based on Dual Attention Graph Neural Network | |
Baškarada et al. | Facilitating organizational learning through agent-based modeling and simulation experimentation | |
Zhang et al. | Neural model stealing attack to smart mobile device on intelligent medical platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230519 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230626 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7315843 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |