JP6971514B1 - Information processing equipment, information processing methods and programs - Google Patents

Information processing equipment, information processing methods and programs Download PDF

Info

Publication number
JP6971514B1
JP6971514B1 JP2021115877A JP2021115877A JP6971514B1 JP 6971514 B1 JP6971514 B1 JP 6971514B1 JP 2021115877 A JP2021115877 A JP 2021115877A JP 2021115877 A JP2021115877 A JP 2021115877A JP 6971514 B1 JP6971514 B1 JP 6971514B1
Authority
JP
Japan
Prior art keywords
data
attack
predetermined
defense
algorithm
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
Application number
JP2021115877A
Other languages
Japanese (ja)
Other versions
JP2023012311A (en
Inventor
望 窪田
Original Assignee
望 窪田
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 望 窪田 filed Critical 望 窪田
Priority to JP2021115877A priority Critical patent/JP6971514B1/en
Priority to JP2021174462A priority patent/JP2023012406A/en
Application granted granted Critical
Publication of JP6971514B1 publication Critical patent/JP6971514B1/en
Priority to CN202210360281.6A priority patent/CN115618343A/en
Priority to US17/862,152 priority patent/US20230016670A1/en
Priority to EP22184498.8A priority patent/EP4125004A1/en
Publication of JP2023012311A publication Critical patent/JP2023012311A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Virology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】学習又は推論に用いるデータへの任意の攻撃に対して適切に防御すること。【解決手段】情報処理装置は、所定のデータを取得する取得部と、各データと、各データを用いて所定の問題を解いた各結果データとを含む学習データを用いて学習された第1推論モデルに、所定のデータを入力して推論処理を行う推論部と、所定のデータに所定の攻撃が加えられた可能性を検出する検出部と、可能性が検出された場合、所定の攻撃が加えられた所定のデータに基づいて、所定の攻撃に対応して防御可能な第1防御アルゴリズムを複数の防御アルゴリズムの中から特定する特定部と、第1防御アルゴリズムを推論処理に適用する適用部と、を備える。【選択図】図3PROBLEM TO BE SOLVED: To appropriately defend against an arbitrary attack on data used for learning or inference. SOLUTION: An information processing apparatus is a first trained using learning data including an acquisition unit for acquiring predetermined data, each data, and each result data for solving a predetermined problem using each data. An inference unit that inputs predetermined data to the inference model and performs inference processing, a detection unit that detects the possibility that a predetermined attack has been applied to the predetermined data, and a predetermined attack when the possibility is detected. A specific part that identifies the first defense algorithm that can be defended in response to a predetermined attack from among multiple defense algorithms based on the predetermined data to which the It is equipped with a department. [Selection diagram] Fig. 3

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method and a program.

近年、機械学習において、敵対的攻撃に対する防御方法が研究されている。例えば、下記特許文献1には、入力シーケンスが、センサデータの複数のフレームの摂動されたバージョンであるという予測に基づいて、前入力シーケンスを分類するための敵対的ラベルを生成し、この入力シーケンスに基づいて、第1の機械学習システムによって生成された出力データシーケンスを識別し、出力データシーケンスに基づく制御データによりアクチュエータシステムが制御されることを防止するために、敵対的ラベルに基づいて第1の機械学習システムからの出力データシーケンスをフィルタリングする方法が開示されている。 In recent years, in machine learning, defense methods against hostile attacks have been studied. For example, in Patent Document 1 below, a hostile label for classifying a pre-input sequence is generated based on the prediction that the input sequence is a perturbed version of a plurality of frames of sensor data, and this input sequence is generated. Based on the hostile label to identify the output data sequence generated by the first machine learning system and prevent the actuator system from being controlled by the control data based on the output data sequence. A method of filtering the output data sequence from the machine learning system of is disclosed.

特開2021−96854号公報Japanese Unexamined Patent Publication No. 2021-96854

ここで、従来技術では、学習対象又は推論対象のデータに対し、摂動などの敵対的攻撃が加えられた場合、所定の方法で敵対的攻撃を受けたことを検知するが、どの敵対的攻撃を受けたかに関わらず、所定の防御方法が採用されている。しかしながら、敵対的攻撃は多様化してきており、従来技術においては、任意の敵対的攻撃に対して適切に防御することができていなかった。 Here, in the prior art, when a hostile attack such as a perturbation is applied to the data of the learning target or the inference target, it is detected that the hostile attack has been received by a predetermined method. Regardless of whether it is received or not, the prescribed defense method is adopted. However, hostile attacks have become diversified, and conventional techniques have not been able to adequately defend against arbitrary hostile attacks.

そこで、本発明の目的の1つは、学習又は推論に用いるデータへの任意の攻撃に対して適切に防御することが可能になる情報処理装置、情報処理方法及びプログラムを提供する。 Therefore, one of the objects of the present invention is to provide an information processing device, an information processing method, and a program capable of appropriately defending against an arbitrary attack on data used for learning or inference.

本発明の一態様に係る情報処理装置は、所定のデータを取得する取得部と、各データと、前記各データを用いて所定の問題を解いた各結果データとを含む学習データを用いて学習された第1推論モデルに、前記所定のデータを入力して推論処理を行う推論部と、前記所定のデータに所定の攻撃が加えられた可能性を検出する検出部と、前記可能性が検出された場合、前記所定の攻撃が加えられた所定のデータに基づいて、前記所定の攻撃に対応して防御可能な第1防御アルゴリズムを複数の防御アルゴリズムの中から特定する特定部と、前記第1防御アルゴリズムを前記推論処理に適用する適用部と、
を備える。
The information processing apparatus according to one aspect of the present invention learns using learning data including an acquisition unit for acquiring predetermined data, each data, and each result data for solving a predetermined problem using each of the data. An inference unit that inputs the predetermined data to the first inference model to perform inference processing, a detection unit that detects the possibility that a predetermined attack has been applied to the predetermined data, and a detection unit that detects the possibility. If so, a specific unit that specifies a first defense algorithm that can be defended in response to the predetermined attack from among a plurality of defense algorithms based on the predetermined data to which the predetermined attack is applied, and the first. 1 The application part that applies the defense algorithm to the reasoning process,
To prepare for.

本発明によれば、学習又は推論に用いるデータへの任意の攻撃に対して適切に防御することが可能になる情報処理装置、情報処理方法及びプログラムを提供することができる。 INDUSTRIAL APPLICABILITY According to the present invention, it is possible to provide an information processing device, an information processing method and a program capable of appropriately defending against an arbitrary attack on data used for learning or inference.

実施形態に係るシステム構成の一例を示す図である。It is a figure which shows an example of the system configuration which concerns on embodiment. 実施形態に係る情報処理装置の物理的構成の一例を示す図である。It is a figure which shows an example of the physical structure of the information processing apparatus which concerns on embodiment. 実施形態に係るサーバの処理ブロックの一例を示す図である。It is a figure which shows an example of the processing block of the server which concerns on embodiment. 実施形態にかかる処理の概念図を説明するための図である。It is a figure for demonstrating the conceptual diagram of the process which concerns on embodiment. 実施形態に係る対応データの一例を示す図である。It is a figure which shows an example of correspondence data which concerns on embodiment. 実施形態に係る対応データの一例を示す図である。It is a figure which shows an example of correspondence data which concerns on embodiment. 実施形態に係る対応データの一例を示す図である。It is a figure which shows an example of correspondence data which concerns on embodiment. 実施形態に係るシステムにおける処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process in the system which concerns on embodiment. 実施形態に係るサーバにおける防御制御処理の一例を示すフローチャートである。It is a flowchart which shows an example of the defense control processing in the server which concerns on embodiment.

添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。 An embodiment of the present invention will be described with reference to the accompanying drawings. In each figure, those with the same reference numerals have the same or similar configurations.

[実施形態]
<システム構成>
図1は、実施形態に係るシステム構成の一例を示す図である。図1に示す例では、サーバ10と、各エッジ端末(又はユーザ端末)20A、20B、20C、20Dとが、ネットワークを介してデータ送受信可能なように接続される。エッジ端末を個別に区別しない場合はエッジ端末20とも表記する。
[Embodiment]
<System configuration>
FIG. 1 is a diagram showing an example of a system configuration according to an embodiment. In the example shown in FIG. 1, the server 10 and each edge terminal (or user terminal) 20A, 20B, 20C, 20D are connected so as to be able to transmit and receive data via a network. When the edge terminals are not individually distinguished, they are also referred to as edge terminals 20.

サーバ10は、データを収集、分析可能な情報処理装置であり、1つ又は複数の情報処理装置から構成されてもよい。エッジ端末20は、スマートフォン、パーソナルコンピュータ、タブレット端末、サーバ、コネクティッドカーなど、データを取得可能な情報処理装置である。なお、エッジ端末20は、脳波をセンシングする侵襲型又は非侵襲型の電極に接続されており、脳波データを解析、送受信可能な装置でもよい。 The server 10 is an information processing device capable of collecting and analyzing data, and may be composed of one or a plurality of information processing devices. The edge terminal 20 is an information processing device capable of acquiring data such as a smartphone, a personal computer, a tablet terminal, a server, and a connected car. The edge terminal 20 may be a device that is connected to an invasive or non-invasive electrode that senses brain waves and can analyze and send / receive brain wave data.

図1に示すシステムでは、サーバ10は、各エッジ端末20から学習対象又は推論対象の所定のデータを取得し、所定の学習モデル又は所定の学習済みの推論モデルを用いて学習又は推論の結果データを出力する。各エッジ端末20は、出力された推論対象データに対応する結果データを取得する。 In the system shown in FIG. 1, the server 10 acquires predetermined data of a learning target or an inference target from each edge terminal 20, and learns or infers result data using a predetermined learning model or a predetermined learned inference model. Is output. Each edge terminal 20 acquires the result data corresponding to the output inference target data.

サーバ10は、各エッジ端末20から推論対象データを取得した場合、当該データに対して推論処理を実行する。推論処理には、分類問題、回帰分析問題、クラスタリング問題、及び最適化問題などを解く処理のうち少なくとも1つが含まれる。このとき、サーバ10は、推論対象データに対して所定の攻撃が加えられている可能性を検出する。所定の攻撃は、例えば、所定の敵対的攻撃のアルゴリズムによりデータに摂動を加える攻撃を含む。 When the server 10 acquires the inference target data from each edge terminal 20, the server 10 executes inference processing on the data. The inference process includes at least one of a process of solving a classification problem, a regression analysis problem, a clustering problem, an optimization problem, and the like. At this time, the server 10 detects the possibility that a predetermined attack has been applied to the inference target data. Predetermined attacks include, for example, attacks that perturb data by a predetermined hostile attack algorithm.

サーバ10は、所定の攻撃が加えられたことを検出すると、所定の攻撃に対応する所定の防御手法を推論処理に適用する。例えば、防御手法の一例として、刈り込み(Pruning)を実行することが知られている(Te Juin Lester Tan, Reza Shokri, "Bypassing Backdoor Detection Algorithms in Deep Learning," IEEE European Symposium on Security and Privacy 2020, p175-183, 6 Jun 2020 (last revised))。この論文手法においては、刈り込みは敵対的攻撃に対しての防御手法となり得るが、この刈り込みの防御手法に対して、さらに有効な攻撃手法が開示されている。したがって、様々な手法が存在する敵対的攻撃に対して、有効な防御手法を適用するための戦略が重要となってくる。 When the server 10 detects that a predetermined attack has been applied, the server 10 applies a predetermined defense method corresponding to the predetermined attack to the inference process. For example, pruning is known to be performed as an example of defense techniques (Te Juin Lester Tan, Reza Shokri, "Bypassing Backdoor Detection Algorithms in Deep Learning," IEEE European Symposium on Security and Privacy 2020, p175. -183, 6 Jun 2020 (last revised)). In this paper method, pruning can be a defense method against hostile attacks, but a more effective attack method is disclosed for this pruning defense method. Therefore, it is important to have a strategy for applying effective defense methods against hostile attacks where various methods exist.

そこで、本実施形態では、サーバ10は、所定の攻撃が検出された場合に、所定のデータ、所定のデータの特徴量、又は特定された所定の攻撃などに基づいて、適切な防御手法(例、防御アルゴリズム)を特定し、特定された防御手法を推論処理に適用する。これにより、検出された任意の攻撃に対して適切に防御することが可能になる。以下、本実施形態の各装置の構成について説明する。 Therefore, in the present embodiment, when a predetermined attack is detected, the server 10 has an appropriate defense method (eg, based on predetermined data, a predetermined feature amount of the predetermined data, a specified predetermined attack, or the like. , Defense algorithm) and apply the specified defense method to inference processing. This makes it possible to appropriately defend against any detected attack. Hereinafter, the configuration of each device of the present embodiment will be described.

<ハードウェア構成>
図2は、実施形態に係る情報処理装置10の物理的構成の一例を示す図である。情報処理装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。
<Hardware configuration>
FIG. 2 is a diagram showing an example of the physical configuration of the information processing apparatus 10 according to the embodiment. The information processing device 10 includes a CPU (Central Processing Unit) 10a corresponding to a calculation unit, a RAM (Random Access Memory) 10b corresponding to a storage unit, a ROM (Read only Memory) 10c corresponding to a storage unit, and a communication unit. It has a 10d, an input unit 10e, and a display unit 10f. Each of these configurations is connected to each other via a bus so that data can be transmitted and received.

本実施形態では、情報処理装置10が一台のコンピュータで構成される場合について説明するが、情報処理装置10は、複数のコンピュータ又は複数の演算部が組み合わされて実現されてもよい。また、図1で示す構成は一例であり、情報処理装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。 In the present embodiment, the case where the information processing apparatus 10 is composed of one computer will be described, but the information processing apparatus 10 may be realized by combining a plurality of computers or a plurality of arithmetic units. Further, the configuration shown in FIG. 1 is an example, and the information processing apparatus 10 may have configurations other than these, or may not have a part of these configurations.

CPU10aは、プロセッサの一例であり、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、例えば、パラメータの初期値を設定可能な学習モデルを用いて学習を行うプログラム(学習プログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。 The CPU 10a is an example of a processor, and is a control unit that controls execution of a program stored in the RAM 10b or ROM 10c, calculates data, and processes data. The CPU 10a is, for example, a calculation unit that executes a program (learning program) for learning using a learning model in which initial values of parameters can be set. The CPU 10a receives various data from the input unit 10e and the communication unit 10d, displays the calculation result of the data on the display unit 10f, and stores the data in the RAM 10b.

RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するプログラム、各学習モデル、学習済みの各推論モデル、推論対象データの特徴量に関するデータ、及び/又はこの特徴量と所定の防御アルゴリズムを特定する防御特定情報(防御ID)との対応関係を示すデータなどを記憶してもよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。 The RAM 10b is a storage unit capable of rewriting data, and may be composed of, for example, a semiconductor storage element. The RAM 10b is a program executed by the CPU 10a, each learning model, each learned inference model, data related to a feature amount of inference target data, and / or defense specific information (defense ID) that specifies this feature amount and a predetermined defense algorithm. Data indicating the correspondence with and may be stored. It should be noted that these are examples, and data other than these may be stored in the RAM 10b, or a part of these may not be stored.

ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば防御制御プログラムや、書き換えが行われないデータを記憶してよい。 The ROM 10c is a storage unit capable of reading data, and may be composed of, for example, a semiconductor storage element. The ROM 10c may store, for example, a defense control program or data that is not rewritten.

通信部10dは、情報処理装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークに接続されてよい。 The communication unit 10d is an interface for connecting the information processing device 10 to another device. The communication unit 10d may be connected to a communication network such as the Internet.

入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。 The input unit 10e receives data input from the user, and may include, for example, a keyboard and a touch panel.

表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fが演算結果を表示することは、XAI(eXplainable AI:説明可能なAI)に貢献し得る。表示部10fは、例えば、学習結果や、学習に関連するデータを表示してもよい。 The display unit 10f visually displays the calculation result by the CPU 10a, and may be configured by, for example, an LCD (Liquid Crystal Display). Displaying the calculation result by the display unit 10f may contribute to XAI (eXplainable AI). The display unit 10f may display, for example, a learning result or data related to learning.

学習プログラム又は防御制御プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な非一時的な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。情報処理装置10では、CPU10aが学習プログラム又は防御制御プログラムを実行することにより、後述する図3を用いて説明する様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、情報処理装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。また、情報処理装置10は、GPU(Graphical Processing Unit)やASIC(Application Specific Integrated Circuit)を備えていてもよい。 The learning program or defense control program may be stored and provided in a non-temporary storage medium readable by a computer such as RAM 10b or ROM 10c, or may be provided via a communication network connected by the communication unit 10d. May be good. In the information processing apparatus 10, the CPU 10a executes a learning program or a defense control program to realize various operations described with reference to FIG. 3, which will be described later. It should be noted that these physical configurations are examples and do not necessarily have to be independent configurations. For example, the information processing apparatus 10 may include an LSI (Large-Scale Integration) in which the CPU 10a is integrated with the RAM 10b and the ROM 10c. Further, the information processing apparatus 10 may include a GPU (Graphical Processing Unit) or an ASIC (Application Specific Integrated Circuit).

なお、情報処理装置20の構成は、図2に示す情報処理装置10の構成と同様であるため、その説明を省略する。また、情報処理装置10と情報処理装置20とは、データ処理を行う基本的な構成であるCPU10aやRAM10b等を有していればよく、入力部10eや表示部10fは設けられなくてもよい。また、入力部10eや表示部10fは、外部からインターフェースを用いて接続されてもよい。 Since the configuration of the information processing apparatus 20 is the same as the configuration of the information processing apparatus 10 shown in FIG. 2, the description thereof will be omitted. Further, the information processing device 10 and the information processing device 20 may have a CPU 10a, a RAM 10b, etc., which are basic configurations for performing data processing, and may not be provided with an input unit 10e or a display unit 10f. .. Further, the input unit 10e and the display unit 10f may be connected from the outside using an interface.

<処理構成>
図3は、実施形態に係る情報処理装置(サーバ)10の処理ブロックの一例を示す図である。情報処理装置10は、取得部101、推論部102、検出部103、算出部104、特定部105、適用部108、出力部109、学習部110、及び記憶部111を備える。情報処理装置10は、汎用のコンピュータで構成されてもよい。
<Processing configuration>
FIG. 3 is a diagram showing an example of a processing block of the information processing apparatus (server) 10 according to the embodiment. The information processing device 10 includes an acquisition unit 101, an inference unit 102, a detection unit 103, a calculation unit 104, a specific unit 105, an application unit 108, an output unit 109, a learning unit 110, and a storage unit 111. The information processing device 10 may be configured by a general-purpose computer.

取得部101は、エッジ端末20(「第1情報処理装置」ともいう。)から所定のデータを取得する。所定のデータは、例えば推論対象データである。また、所定のデータは、所定のデータセットでもよい。データセットは、例えば、画像データ、系列データ及びテキストデータの少なくともいずれかを含む。ここで、画像データは、静止画のデータと、動画のデータとを含む。系列データは、音声データや株価のデータなどを含む。 The acquisition unit 101 acquires predetermined data from the edge terminal 20 (also referred to as “first information processing apparatus”). The predetermined data is, for example, inference target data. Further, the predetermined data may be a predetermined data set. The dataset includes, for example, at least one of image data, series data and text data. Here, the image data includes still image data and moving image data. Series data includes voice data, stock price data, and the like.

推論部102は、取得部101により取得された所定のデータを推論モデル(第1推論モデル)102aに入力して推論処理を行う。例えば、推論モデル102aは、学習対象の各データと、各データを用いて所定の問題を解いた各結果データとを含む学習データを用いて学習された学習済みのモデルである。所定の問題とは、上述したとおり、分類問題、回帰分析問題、クラスタリング問題、及び最適化問題などのうち少なくとも1つが含まれるが、これらの例に限られない。 The inference unit 102 inputs predetermined data acquired by the acquisition unit 101 into the inference model (first inference model) 102a and performs inference processing. For example, the inference model 102a is a trained model trained using training data including each data to be trained and each result data obtained by solving a predetermined problem using each data. As described above, the predetermined problem includes, but is not limited to, at least one of a classification problem, a regression analysis problem, a clustering problem, an optimization problem, and the like.

推論モデル102aは、例えばニューラルネットワークを用いる所定の推論モデルであってもよい。所定の推論モデル102aは、例えば、画像認識モデル、系列データ解析モデル、ロボットの制御モデル、強化学習モデル、音声認識モデル、音声生成モデル、画像生成モデル、自然言語処理モデル等の少なくとも1つを含む。また、所定の推論モデル102aの具体例としては、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DNN(Deep Neural Network)、LSTM(Long Short-Term Memory)、双方向LSTM、DQN(Deep Q-Network)、VAE(Variational AutoEncoder)、GANs(Generative Adversarial Networks)、flow−based生成モデル等のいずれかでもよい。なお、推論部102は、推論対象データの特徴又は種類に基づき、対応する所定の推論モデルを選択してもよい。 The inference model 102a may be a predetermined inference model using, for example, a neural network. The predetermined inference model 102a includes at least one such as an image recognition model, a series data analysis model, a robot control model, a reinforcement learning model, a voice recognition model, a voice generation model, an image generation model, and a natural language processing model. .. Specific examples of the predetermined inference model 102a include CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), DNN (Deep Neural Network), LSTM (Long Short-Term Memory), bidirectional LSTM, and DQN (Deep). It may be any one of Q-Network), VAE (Variational AutoEncoder), GANs (Generative Adversarial Networks), flow-based generation model and the like. The inference unit 102 may select a corresponding predetermined inference model based on the characteristics or types of the inference target data.

検出部103は、公知の技術を用いて所定のデータに対して所定の攻撃が加えられた可能性を検出する。例えば、検出部103は、特許文献1に記載の検出技術を用いてもよいし、様々な敵対的攻撃を受けたデータと正解ラベルとを含む学習データを教師あり学習した学習モデルを用いて、所定の攻撃が加えられた可能性を検出してもよい。 The detection unit 103 detects the possibility that a predetermined attack has been applied to the predetermined data by using a known technique. For example, the detection unit 103 may use the detection technique described in Patent Document 1, or may use a learning model in which learning data including various hostile attacks and correct labels are supervised and learned. It may detect the possibility that a predetermined attack has been made.

検出部103により所定の攻撃が加えられた可能性が検出された場合、算出部104は、所定の攻撃が加えられた可能性がある所定のデータの特徴量を算出する。例えば、特徴量は、所定の攻撃に関する特徴量を含む。具体的には、所定の攻撃として摂動が加えられる場合、摂動の可能性が検出された所定のデータからこの摂動に関する特徴量が算出される。 When the detection unit 103 detects the possibility that a predetermined attack has been applied, the calculation unit 104 calculates the feature amount of the predetermined data that may have been subjected to the predetermined attack. For example, the feature amount includes a feature amount related to a predetermined attack. Specifically, when a perturbation is applied as a predetermined attack, the feature amount related to this perturbation is calculated from the predetermined data in which the possibility of the perturbation is detected.

例えば、特徴量として、Nr_attirbutes(属性数)、Nr_sym_attributes(名義属性数)、Nr_num_attributes(数値属性数)、Nr_examples(インスタンス数)、Nr_class(クラス数)、Default Accuracy(最多クラスの割合)、Missing Value_Total(欠損値数(合計))、Missing Value_Relative(欠損値数(割合))、Mean_Absolute_Skew(数値属性の平均尖度)、Mean Kurtosis(数値属性の平均歪度)、NumAttrsWithOulies(外れ値のある属性数)などのうち、攻撃が加えられた所定のデータの特徴を表すものとして使用可能なものは、算出部104により算出されてもよい。 For example, as feature quantities, Nr_attilbutes (number of attributes), Nr_sym_attributes (number of nominal attributes), Nr_num_attributes (number of numerical attributes), Nr_eximples (number of instances), Nr_class (number of classes), Defeat Kurtosis (number of classes), Defeat Kurtosis (number of classes) Number of missing values (total)), Missing Value_Relative (number of missing values (ratio)), Mean_Absolute_Skew (mean kurtosis of numerical attributes), Mean Kurtosis (mean distortion of numerical attributes), NumattrsWithOulies (number of outliers) Of these, those that can be used to represent the characteristics of the predetermined data to which the attack has been applied may be calculated by the calculation unit 104.

また、算出部104は、所定のデータの種類に応じて、算出する特徴量を変えてもよい。例えば、算出部104は、画像データに対して離散コサイン変換(DCT)変換後のDC成分を特徴量としてもよく、音声データに対して高速フーリエ変換(FFT)後の最大パワースペクトルを特徴量としてもよい。 Further, the calculation unit 104 may change the feature amount to be calculated according to the type of predetermined data. For example, the calculation unit 104 may use the DC component after the discrete cosine transform (DCT) conversion for the image data as the feature quantity, and the maximum power spectrum after the fast Fourier transform (FFT) for the audio data as the feature quantity. May be good.

特定部105は、検出部103により所定の攻撃が加えられた可能性が検出された場合、所定の攻撃が加えられた所定のデータに基づいて、所定の攻撃に対応して防御可能な第1防御アルゴリズムを複数の防御アルゴリズムの中から特定する。ここで、防御アルゴリズムの特定方法として、主に以下の6つに分類される。 When the detection unit 103 detects the possibility that a predetermined attack has been applied, the specific unit 105 can defend against the predetermined attack based on the predetermined data to which the predetermined attack has been applied. Identify the defense algorithm from multiple defense algorithms. Here, the methods for specifying the defense algorithm are mainly classified into the following six.

(1)攻撃を特定しない対応データと所定のデータの特徴量とに基づく方法1
方法1の場合、事前にシミュレーション等が行われ、攻撃を受けた所定のデータの特徴量と、この所定のデータに適用し、効果があった防御アルゴリズムの防御特定情報(防御ID)とを関連付けた対応データAが生成される(例えば図5A)。例えば、各画像データに所定の摂動を与える敵対的攻撃を与え、この攻撃を受けた各画像データに対して各防御アルゴリズムを適用し、適切に分類できる防御アルゴリズムが選定される。このとき、敵対的攻撃を受けた画像の摂動に関する特徴量と、対応する防御アルゴリズムの防御IDとが関連付けられる。
(1) Method 1 based on the response data that does not specify the attack and the feature amount of the predetermined data
In the case of the method 1, a simulation or the like is performed in advance, and the feature amount of the predetermined data that has been attacked is associated with the defense specific information (defense ID) of the defense algorithm that was applied to the predetermined data and was effective. Corresponding data A is generated (for example, FIG. 5A). For example, a hostile attack that gives a predetermined perturbation to each image data is given, each defense algorithm is applied to each image data that has been attacked, and a defense algorithm that can be appropriately classified is selected. At this time, the feature amount related to the perturbation of the image subjected to the hostile attack is associated with the defense ID of the corresponding defense algorithm.

特定部105に含まれる防御特定部106は、上述した対応データを用いて、攻撃の可能性が検出されたデータの特徴量から、この特徴量に対応する防御IDを特定する。これにより、特定部105は、攻撃の可能性が検出された場合、その攻撃手法に適切な防御手法を適用することが可能になる。 The defense specifying unit 106 included in the specifying unit 105 identifies the defense ID corresponding to this feature amount from the feature amount of the data in which the possibility of attack is detected by using the corresponding data described above. As a result, when the possibility of an attack is detected, the specific unit 105 can apply an appropriate defense method to the attack method.

(2)攻撃を特定する対応データと所定のデータの特徴量とに基づく方法2
方法2の場合、事前にシミュレーション等が行われ、攻撃を受けた所定のデータの特徴量を見出し、この特徴量と、この所定のデータに攻撃をした攻撃アルゴリズムの攻撃特定情報(攻撃ID)とを関連付けた対応データB1が生成される(例えば図5B)。例えば、各画像データに所定の摂動を与える敵対的攻撃を与え、敵対的攻撃を受けた画像の摂動に関する特徴量と、対応する防御アルゴリズムの防御IDとが関連付けられる。また、攻撃アルゴリズムそれぞれに対して有効な防御アルゴリズムが、シミュレーション等により特定されると、攻撃IDと、この攻撃IDに対して防御可能な防御IDとが関連付けられた対応データB2が生成される(例えば図5C)。
(2) Method 2 based on the response data for identifying the attack and the feature amount of the predetermined data
In the case of the method 2, a simulation or the like is performed in advance to find the feature amount of the predetermined data that has been attacked, and the feature amount and the attack specific information (attack ID) of the attack algorithm that attacked the predetermined data. Corresponding data B1 associated with is generated (for example, FIG. 5B). For example, each image data is given a hostile attack that gives a predetermined perturbation, and the feature amount related to the perturbation of the image that has been subjected to the hostile attack is associated with the defense ID of the corresponding defense algorithm. Further, when an effective defense algorithm for each attack algorithm is specified by simulation or the like, correspondence data B2 in which the attack ID and the defense ID capable of defending against this attack ID are associated with each other is generated ( For example, FIG. 5C).

特定部105に含まれる攻撃特定部107は、上述した対応データB2を用いて、攻撃の可能性が検出されたデータの特徴量から、攻撃IDを特定する。特定部105に含まれる防御特定部106は、上述した対応データB1を用いて、攻撃IDに対応する防御IDを特定する。これにより、特定部105は、攻撃の可能性が検出された場合、その攻撃手法を特定し、特定された攻撃手法に適切な防御手法を適用することが可能になる。 The attack specifying unit 107 included in the specifying unit 105 identifies the attack ID from the feature amount of the data in which the possibility of an attack is detected by using the corresponding data B2 described above. The defense specifying unit 106 included in the specifying unit 105 identifies the defense ID corresponding to the attack ID by using the above-mentioned correspondence data B1. As a result, when the possibility of an attack is detected, the specific unit 105 can specify the attack method and apply an appropriate defense method to the specified attack method.

(3)攻撃を特定しない推論モデルと所定のデータとに基づく方法3
方法3の場合、特定部105は、所定の攻撃が加えられた各データと、前述の各データに適用される各防御アルゴリズムとを含む学習データを用いて教師あり学習により生成された第2推論モデルに対し、所定のデータを入力して第1防御アルゴリズムを予測することを含んでもよい。例えば、防御特定部106が、第2推論モデルを有し、第1防御アルゴリズムを予測して特定してもよい。
(3) Method 3 based on an inference model that does not specify an attack and predetermined data
In the case of the method 3, the specific unit 105 uses the training data including each data to which a predetermined attack is applied and each defense algorithm applied to each of the above-mentioned data, and the second inference generated by supervised learning. It may include inputting predetermined data to the model to predict the first defense algorithm. For example, the defense identification unit 106 may have a second inference model and predict and specify the first defense algorithm.

例えば、防御特定部106は、防御アルゴリズムが適用された所定のデータに対して所定の攻撃が成功する(例えば誤分類される)確率を用いて損失関数を設定し、この損失関数が条件を満たす(例、最小となる)ときの防御アルゴリズムを特定してもよい。例えば、防御特定部106は、各防御アルゴリズムに対してソフトマックス関数を用いてロジット出力し、上位の所定数の防御アルゴリズムを第1防御アルゴリズムとして特定する。なお、所定数は1つ以上の数である。また、防御特定部106は、もともとの第2推論モデルの推論精度と、第2推論モデルへの所定の攻撃の成功確率とを重み付して損失関数を設定してもよい。 For example, the defense identification unit 106 sets a loss function using the probability that a predetermined attack succeeds (for example, is misclassified) against a predetermined data to which the defense algorithm is applied, and this loss function satisfies the condition. A defense algorithm may be specified (eg, to be minimal). For example, the defense specifying unit 106 outputs a logit to each defense algorithm using a softmax function, and specifies a predetermined number of higher-level defense algorithms as the first defense algorithm. The predetermined number is one or more. Further, the defense specifying unit 106 may set the loss function by weighting the inference accuracy of the original second inference model and the success probability of a predetermined attack on the second inference model.

これにより、攻撃されているであろう攻撃手法を特定しなくても、攻撃の可能性を検出したときに、攻撃を受けた所定のデータに基づいて適切な防御手法を予測して特定することが可能になる。 In this way, even if the attack method that may be attacked is not specified, when the possibility of attack is detected, the appropriate defense method is predicted and specified based on the predetermined data that was attacked. Will be possible.

(4)攻撃を特定する推論モデルと所定のデータとに基づく方法4
方法4の場合、特定部105に含まれる攻撃特定部107は、各攻撃アルゴリズムと、前述の各攻撃アルゴリズムに基づく各攻撃が加えられた各データとを含む学習データを用いて教師あり学習によって生成された第3推論モデルに対し、所定のデータを入力して第1攻撃アルゴリズムを予測することを含んでもよい。
(4) A method based on an inference model that identifies an attack and predetermined data 4
In the case of the method 4, the attack specific unit 107 included in the specific unit 105 is generated by supervised learning using learning data including each attack algorithm and each data to which each attack based on the above-mentioned attack algorithms is added. It may include inputting predetermined data to the third inference model and predicting the first attack algorithm.

例えば、攻撃特定部107は、所定の攻撃が加えられた所定のデータを用いて、所定の攻撃が各攻撃アルゴリズムうちの少なくとも1つである確率を用いて損失関数を設定し、この損失関数が条件を満たす(例、最小となる)ときの攻撃アルゴリズムを第1攻撃アルゴリズムと特定してもよい。例えば、攻撃特定部107は、各攻撃アルゴリズムに対してソフトマックス関数を用いてロジット出力し、上位の所定数の攻撃アルゴリズムを第1攻撃アルゴリズムとして特定する。なお、所定数は1つ以上の数である。 For example, the attack identification unit 107 sets a loss function using a predetermined data to which a predetermined attack is applied, and sets a loss function using the probability that the predetermined attack is at least one of the attack algorithms. The attack algorithm when the condition is satisfied (eg, the minimum) may be specified as the first attack algorithm. For example, the attack specifying unit 107 outputs a logit to each attack algorithm using a softmax function, and specifies a predetermined number of higher-order attack algorithms as the first attack algorithm. The predetermined number is one or more.

また、特定部105に含まれる防御特定部106は、各攻撃アルゴリズムと、各攻撃アルゴリズムにより攻撃が加えられた各データに各防御アルゴリズムが適用された各データとを含む学習データを用いて教師あり学習によって生成された第6推論モデルに対し、第1攻撃アルゴリズムを入力して第1防御アルゴリズムを予測することを含んでもよい。 Further, the defense specific unit 106 included in the specific unit 105 is supervised using learning data including each attack algorithm and each data to which each defense algorithm is applied to each data attacked by each attack algorithm. For the sixth inference model generated by training, the first attack algorithm may be input to predict the first defense algorithm.

例えば、防御特定部106は、所定の攻撃が加えられた所定のデータに対して各防御アルゴリズムを適用した場合の所定の攻撃の成功確率を用いて損失関数を設定し、この損失関数が条件を満たす(例、最小となる)ときの防御アルゴリズムを第1防御アルゴリズムと特定してもよい。 For example, the defense identification unit 106 sets a loss function using the success probability of a predetermined attack when each defense algorithm is applied to a predetermined data to which a predetermined attack is applied, and this loss function sets a condition. The defense algorithm when satisfied (eg, minimized) may be specified as the first defense algorithm.

これにより、攻撃されているであろう攻撃手法を予測し、予測された攻撃手法に基づいて適切な防御手法を予測して特定することが可能になる。 This makes it possible to predict the attack method that will be attacked and to predict and identify an appropriate defense method based on the predicted attack method.

(5)攻撃を特定しない推論モデルと所定のデータの特徴量とに基づく方法5
方法5の場合、特定部105は、各データの各特徴量と、各特徴量に対応する各防御アルゴリズムとを含む学習データを用いて教師あり学習により生成された第4推論モデルに対し、算出された特徴量を入力して第1防御アルゴリズムを予測することを含んでもよい。
(5) A method based on an inference model that does not specify an attack and a predetermined data feature amount 5
In the case of the method 5, the specific unit 105 calculates for the fourth inference model generated by supervised learning using the learning data including each feature amount of each data and each defense algorithm corresponding to each feature amount. It may include inputting the given features to predict the first defense algorithm.

例えば、防御特定部106は、方法3と同様の損失関数を設定し、この損失関数が条件を満たす(例、最小となる)ときの防御アルゴリズムを特定してもよい。また、防御特定部106は、もともとの第4推論モデルの推論精度と、第4推論モデルへの所定の攻撃の成功確率とを重み付して損失関数を設定してもよい。 For example, the defense specifying unit 106 may set a loss function similar to that of the method 3 and specify a defense algorithm when the loss function satisfies the condition (eg, the minimum). Further, the defense specifying unit 106 may set the loss function by weighting the inference accuracy of the original fourth inference model and the success probability of a predetermined attack on the fourth inference model.

これにより、攻撃されているであろう攻撃手法を特定しなくても、攻撃の可能性を検出したときに、攻撃を受けた所定のデータの特徴量に基づいて適切な防御手法を予測して特定することが可能になる。 In this way, even if the attack method that is likely to be attacked is not specified, when the possibility of attack is detected, the appropriate defense method is predicted based on the feature amount of the predetermined data that has been attacked. It will be possible to identify.

(6)攻撃を特定する推論モデルと所定のデータの特徴量とに基づく方法6
方法6の場合、特定部105に含まれる攻撃特定部107は、各データの各特徴量と、前述の各特徴量に対応する各攻撃アルゴリズムを含む学習データを用いて教師あり学習によって生成された第5推論モデルに対し、所定のデータを入力して第1攻撃アルゴリズムを予測することを含んでもよい。
(6) A method based on an inference model for identifying an attack and a predetermined amount of data features 6
In the case of the method 6, the attack specific unit 107 included in the specific unit 105 is generated by supervised learning using each feature amount of each data and learning data including each attack algorithm corresponding to each of the above-mentioned feature amounts. It may include inputting predetermined data to the fifth inference model to predict the first attack algorithm.

例えば、攻撃特定部107は、方法3と同様の損失関数を設定し、この損失関数が条件を満たす(例、最小となる)ときの攻撃アルゴリズムを第1攻撃アルゴリズムと特定してもよい。 For example, the attack specifying unit 107 may set the same loss function as in the method 3, and specify the attack algorithm when the loss function satisfies the condition (eg, the minimum) as the first attack algorithm.

また、特定部105に含まれる防御特定部106は、各攻撃アルゴリズムと、各攻撃アルゴリズムにより攻撃が加えられた各データに各防御アルゴリズムが適用された各データとを含む学習データを用いて教師あり学習によって生成された第6推論モデルに対し、第1攻撃アルゴリズムを入力して第1防御アルゴリズムを予測することを含んでもよい。 Further, the defense specific unit 106 included in the specific unit 105 is supervised using learning data including each attack algorithm and each data to which each defense algorithm is applied to each data attacked by each attack algorithm. For the sixth inference model generated by training, the first attack algorithm may be input to predict the first defense algorithm.

例えば、防御特定部106は、所定の攻撃が加えられた所定のデータに対して各防御アルゴリズムを適用した場合の所定の攻撃の成功確率を用いて損失関数を設定し、この損失関数が条件を満たす(例、最小となる)ときの防御アルゴリズムを第1防御アルゴリズムと特定してもよい。 For example, the defense identification unit 106 sets a loss function using the success probability of a predetermined attack when each defense algorithm is applied to a predetermined data to which a predetermined attack is applied, and this loss function sets a condition. The defense algorithm when satisfied (eg, minimized) may be specified as the first defense algorithm.

これにより、攻撃されているであろう攻撃手法を予測し、予測された攻撃手法に基づいて適切な防御手法を予測して特定することが可能になる。 This makes it possible to predict the attack method that will be attacked and to predict and identify an appropriate defense method based on the predicted attack method.

適用部108は、特定部105において上記(1)〜(6)のいずれかの方法により特定された第1防御アルゴリズムを、推論部102における推論処理に適用する。例えば、適用部108は、第1防御アルゴリズムの性質によって、推論の前処理として第1防御アルゴリズムを適用してもよいし、推論処理のパラメータ調整などに第1防御アルゴリズムを適用してもよいし、推論処理の後処理として第1防御アルゴリズムを適用してもよい。具体的には、適用部108は、特定された第1防御アルゴリズムが前処理、推論処理自体、後処理のいずれに適用するかを判定し、判定結果に基づいて、第1防御アルゴリズムを適切に適用するとよい。 The application unit 108 applies the first defense algorithm specified by any of the above methods (1) to (6) in the specific unit 105 to the inference processing in the inference unit 102. For example, depending on the nature of the first defense algorithm, the application unit 108 may apply the first defense algorithm as preprocessing for inference, or may apply the first defense algorithm for parameter adjustment of inference processing. , The first defense algorithm may be applied as post-processing of inference processing. Specifically, the application unit 108 determines whether the specified first defense algorithm is applied to preprocessing, inference processing itself, or post-processing, and appropriately uses the first defense algorithm based on the determination result. It should be applied.

以上の処理により、サーバ10は、推論処理を行う所定のデータに基づいて敵対的攻撃を受けた可能性を検出し、検出された任意の敵対的攻撃に対して適切に特定された防御手法を推論処理に適用することが可能になる。 Through the above processing, the server 10 detects the possibility of receiving a hostile attack based on predetermined data for inference processing, and obtains a defense method appropriately specified against any detected hostile attack. It can be applied to inference processing.

出力部109は、推論部102による推論結果の結果データを、所定のデータを送信したエッジ端末20に、通信部10dを介して出力する。例えば、出力部109は、推論処理による分類結果、回帰分析結果、クラスタリング結果、最適化の結果などの少なくとも1つを含む結果データを出力する。 The output unit 109 outputs the result data of the inference result by the inference unit 102 to the edge terminal 20 that has transmitted the predetermined data via the communication unit 10d. For example, the output unit 109 outputs result data including at least one such as a classification result by inference processing, a regression analysis result, a clustering result, and an optimization result.

学習部110は、上述した各推論モデルを生成するための学習モデルを設定し、各学習データに対して教師あり学習を行う。学習部110は、パラメータ調整された学習モデルを推論モデルとして推論部102や、特定部105に出力する。例えば、学習部110は、学習対象データと推論の正解ラベルとを含む学習データを用いて教師あり学習を行い、推論モデル(第1推論モデル)102aを生成してもよい。なお、学習部110は、別の装置に設けられてもよい。この場合、各推論モデルは、別の装置により生成され、サーバ10が各推論モデルを別の装置から取得する。 The learning unit 110 sets a learning model for generating each of the above-mentioned inference models, and performs supervised learning for each learning data. The learning unit 110 outputs the parameter-adjusted learning model as an inference model to the inference unit 102 and the specific unit 105. For example, the learning unit 110 may perform supervised learning using the learning data including the learning target data and the correct answer label of the inference, and generate the inference model (first inference model) 102a. The learning unit 110 may be provided in another device. In this case, each inference model is generated by another device, and the server 10 acquires each inference model from another device.

また、学習部110は、各攻撃アルゴリズムにより攻撃された所定のデータと、各防御アルゴリズムと、各防御アルゴリズムにより防御処理がされた場合の各推論結果データとを含む学習データを用いて、各防御処理に対する攻撃の成功確率(例えば誤分類の確率)を小さくするための損失関数を設定して、教師あり学習を行ってもよい。この学習により第2推論モデルが生成される。 Further, the learning unit 110 uses learning data including predetermined data attacked by each attack algorithm, each defense algorithm, and each inference result data when defense processing is performed by each defense algorithm, for each defense. Supervised learning may be performed by setting a loss function for reducing the success probability of an attack on a process (for example, the probability of misclassification). This learning produces a second inference model.

また、学習部110は、各攻撃アルゴリズムと、各攻撃アルゴリズムに基づく各攻撃が加えられた各データとを含む学習データを用いて、所定のデータに対する所定の攻撃アルゴリズムの一致確率を大きくするための損失関数を設定して、教師あり学習を行ってもよい。この学習により第3推論モデルが生成される。 Further, the learning unit 110 uses the learning data including each attack algorithm and each data to which each attack based on each attack algorithm is applied to increase the matching probability of the predetermined attack algorithm with respect to the predetermined data. Supervised learning may be performed by setting a loss function. This learning produces a third inference model.

また、学習部110は、各所定データの各特徴量と、各特徴量に対応する各防御アルゴリズムと、各防御アルゴリズムにより防御処理がされた場合の各推論結果データとを含む学習データを用いて、各防御処理に対する攻撃の成功確率を小さくするための損失関数を設定して、教師あり学習を行ってもよい。この学習により第4推論モデルが生成される。 Further, the learning unit 110 uses learning data including each feature amount of each predetermined data, each defense algorithm corresponding to each feature amount, and each inference result data when the defense process is performed by each defense algorithm. , Supervised learning may be performed by setting a loss function to reduce the success probability of an attack for each defense process. This learning produces a fourth inference model.

また、学習部110は、各所定データの各特徴量と、各特徴量に対応する各攻撃アルゴリズムと、各攻撃アルゴリズムに基づく各攻撃が加えられた各データとを含む学習データを用いて、所定のデータに対する所定の攻撃アルゴリズムの一致確率を大きくするための損失関数を設定して、教師あり学習を行ってもよい。この学習により第5推論モデルが生成される。 Further, the learning unit 110 uses learning data including each feature amount of each predetermined data, each attack algorithm corresponding to each feature amount, and each data to which each attack based on each attack algorithm is applied. Supervised learning may be performed by setting a loss function for increasing the matching probability of a predetermined attack algorithm for the data of. This learning produces a fifth inference model.

また、学習部110は、各攻撃アルゴリズムと、各攻撃アルゴリズムにより攻撃が加えられた各データに各防御アルゴリズムが適用された各データと、各防御アルゴリズムにより防御処理がされた場合の各推論結果データとを含む学習データを用いて、各防御処理に対する攻撃の成功確率を小さくするための損失関数を設定して、教師あり学習を行ってもよい。これにより第6推論モデルが生成される。 Further, the learning unit 110 includes each attack algorithm, each data to which each defense algorithm is applied to each data attacked by each attack algorithm, and each inference result data when defense processing is performed by each defense algorithm. Supervised learning may be performed by setting a loss function for reducing the success probability of an attack against each defense process using the training data including and. As a result, the sixth inference model is generated.

記憶部111は、推論部102、特定部105、学習部110などに関するデータを記憶する。例えば、所定の攻撃に対応する攻撃アルゴリズムを加えたデータに対して、適切な防御アルゴリズムが何であるかを事前に分析又は学習しておき、所定の攻撃が加えられた時のデータの特徴量と、防御アルゴリズムとを含む対応データ111aが記憶部111に記録される。 The storage unit 111 stores data related to the inference unit 102, the specific unit 105, the learning unit 110, and the like. For example, for data to which an attack algorithm corresponding to a predetermined attack is added, what is an appropriate defense algorithm is analyzed or learned in advance, and the feature amount of the data when the predetermined attack is applied is used. , Corresponding data 111a including the defense algorithm is recorded in the storage unit 111.

<概念図>
図4は、実施形態にかかる処理の概念図を説明するための図である。図4に示す例では、所定のデータとして画像を用い、推論モデルとしてCNNを用い、所定の攻撃として、1ピクセルアタックなどの摂動を与える敵対的攻撃を用いるとする。また、Attackはエッジ端末20側、Defenseはサーバ10側とする。
<Conceptual diagram>
FIG. 4 is a diagram for explaining a conceptual diagram of processing according to an embodiment. In the example shown in FIG. 4, it is assumed that an image is used as predetermined data, CNN is used as an inference model, and a hostile attack that gives a perturbation such as a 1-pixel attack is used as a predetermined attack. Further, Attack is on the edge terminal 20 side, and Defense is on the server 10 side.

エッジ端末20は、所定の画像データに摂動を与え、この摂動を含む画像データをサーバ10に送信する。エッジ端末20は、繰り返し画像データに摂動を与えることで、サーバ10側の学習モデルの予測精度を低下させたり、推論モデルを予測して構築したりすることが可能になる。 The edge terminal 20 gives a perturbation to predetermined image data, and transmits the image data including the perturbation to the server 10. The edge terminal 20 can reduce the prediction accuracy of the learning model on the server 10 side or predict and build the inference model by repeatedly perturbing the image data.

サーバ10は、エッジ端末20から取得した所定のデータに対して推論処理を実行する。図4に示す場合、サーバ10は、画像データの分類結果を予測結果(推論結果)として出力する。また、図4に示す例では、画像データ内に犬が含まれるため、摂動が加えられなければ、分類結果として犬が出力される。しかし、犬の画像データに摂動が加えられることにより、サーバ10は、何も防御処理をしなければ、適切に分類することができず、例えば、カエル、ヘビなどの異なる分類結果を返すことになる。 The server 10 executes inference processing on predetermined data acquired from the edge terminal 20. In the case shown in FIG. 4, the server 10 outputs the classification result of the image data as a prediction result (inference result). Further, in the example shown in FIG. 4, since the dog is included in the image data, if the perturbation is not applied, the dog is output as the classification result. However, due to the perturbation added to the dog image data, the server 10 cannot be properly classified without any protective processing, and returns different classification results such as frogs and snakes. Become.

そこで、サーバ10は、上述した敵対的攻撃に対して、公知の敵対的攻撃を検出する技術を用いて、敵対的攻撃を検出する。また、サーバ10は、様々な敵対的攻撃により生成された画像と分類結果を学習データとする教師あり学習により生成された推論モデル(分類予測モデル)を用いて、所定のデータを入力して敵対的攻撃が加えられた可能性を予測してもよい。 Therefore, the server 10 detects the hostile attack by using a known technique for detecting the hostile attack against the above-mentioned hostile attack. Further, the server 10 inputs predetermined data using an inference model (classification prediction model) generated by supervised learning using images generated by various hostile attacks and classification results as learning data, and is hostile. You may predict the possibility that a target attack has been made.

サーバ10は、敵対的攻撃の可能性があると検出された場合、摂動があると予測された画像データに基づいて、上述の(1)〜(6)の方法のいずれかを用いて、適切な防御アルゴリズムを特定する。これにより、適切な防御アルゴリズムが推論処理に適用されるため、誤分類されることを防ぎ、犬と正しく分類された結果を返す可能性を高くすることができる。 When the server 10 detects that there is a possibility of a hostile attack, it is appropriate to use any of the above methods (1) to (6) based on the image data predicted to have perturbation. Identify a defense algorithm. This allows the appropriate defense algorithm to be applied to the inference process, preventing misclassification and increasing the likelihood of returning a result that is correctly classified as a dog.

<データ例>
図5A乃至Cは、実施形態に係る対応データ111aの一例を示す図である。図5Aに示す例において、対応データAは、推論対象データを特定する情報(ID)に関連付けて、推論対象データの特徴量と、この特徴量から導き出される攻撃アルゴリズムに効果があると考えられる防御アルゴリズムを特定する防御特定情報(防御ID)とを含む。例えば、図5Aに示す対応データAは、上述した方法1で用いられる。
<Data example>
5A to 5C are diagrams showing an example of the corresponding data 111a according to the embodiment. In the example shown in FIG. 5A, the corresponding data A is associated with the information (ID) that identifies the inference target data, and is considered to be effective for the feature amount of the inference target data and the attack algorithm derived from this feature amount. Includes defense specific information (defense ID) that identifies the algorithm. For example, the corresponding data A shown in FIG. 5A is used in the method 1 described above.

図5Bに示す例において、対応データB1は、推論対象データを特定する情報(ID)に関連付けて、推論対象データの特徴量と、この特徴量から導き出される攻撃アルゴリズムを特定する攻撃特定情報(攻撃ID)とを含む。また、対応データB2は、攻撃IDに関連付けて、防御IDを含む。 In the example shown in FIG. 5B, the corresponding data B1 is associated with the information (ID) that identifies the inference target data, and is associated with the feature amount of the inference target data and the attack specific information (attack) that specifies the attack algorithm derived from this feature amount. ID) and is included. Further, the corresponding data B2 includes a defense ID in association with the attack ID.

ここで、特徴量は、推論対象データに含まれる所定の攻撃に関するデータであり、上述した特徴量の少なくとも1つが登録されればよい。また、図5A乃至Cに示す対応データは、例えば、深層学習に用いられる学習モデルで実用化されてもよい。 Here, the feature amount is data related to a predetermined attack included in the inference target data, and at least one of the above-mentioned feature amounts may be registered. Further, the corresponding data shown in FIGS. 5A to 5C may be put into practical use in, for example, a learning model used for deep learning.

<攻撃手法、防御手法、及び検出処理の具体例>
次に、本実施形態に適用可能な攻撃手法、防御手法、及び検出処理について、以下に例示列挙するが、これらの例に限られない。
<Specific examples of attack method, defense method, and detection process>
Next, the attack method, the defense method, and the detection process applicable to the present embodiment are listed below as examples, but are not limited to these examples.

<<攻撃手法の例>>
(回避攻撃(Evasion))
Auto-Attack (Croce and Hein, 2020)
(回避攻撃(White-Box型))
Auto Projected Gradient Descent (Auto-PGD) (Croce and Hein, 2020)、Shadow Attack (Ghiasi et al., 2020)、Wasserstein Attack (Wong et al., 2020)、Imperceptible, Robust, and Targeted Adversarial Examples for Automatic Speech Recognition (Qin et al., 2019)、Brendel & Bethge Attack (Brendel et al., 2019)、Targeted Universal Adversarial Perturbations (Hirano and Takemoto, 2019)、Audio Adversarial Examples: Targeted Attacks on Speech-to-Text (Carlini and Wagner, 2018)、High Confidence Low Uncertainty (HCLU) Attack (Grosse et al., 2018)、Iterative Frame Saliency (Inkawhich et al., 2018)、DPatch (Liu et al., 2018)、Robust DPatch (Liu et al., 2018, (Lee and Kolter, 2019))、ShapeShifter (Chen et al., 2018)、Projected Gradient Descent (PGD) (Madry et al., 2017)、NewtonFool (Jang et al., 2017)、Elastic Net (Chen et al., 2017)、Adversarial Patch (Brown et al., 2017)、Decision Tree Attack (Papernot et al., 2016)、Carlini & Wagner (C&W) L_2 and L_inf attack (Carlini and Wagner, 2016)、Basic Iterative Method (BIM) (Kurakin et al., 2016)、Jacobian Saliency Map (Papernot et al., 2016)、Universal Perturbation (Moosavi-Dezfooli et al., 2016)、Feature Adversaries (Sabour et al., 2016)、DeepFool (Moosavi-Dezfooli et al., 2015)、Virtual Adversarial Method (Miyato et al., 2015)、Fast Gradient Method (Goodfellow et al., 2014)
(回避攻撃(Black-Box型))
Square Attack (Andriushchenko et al., 2020)、HopSkipJump Attack (Chen et al., 2019)、Threshold Attack (Vargas et al., 2019)、Pixel Attack (Vargas et al., 2019, Su et al., 2019)、Simple Black-box Adversarial (SimBA) (Guo et al., 2019)、Spatial Transformation (Engstrom et al., 2017)、Query-efficient Black-box (Ilyas et al., 2017)、Zeroth Order Optimisation (ZOO) (Chen et al., 2017)、Decision-based/Boundary Attack (Brendel et al., 2018)
(汚染攻撃(Poisoning))
Adversarial Backdoor Embedding (Tan and Shokri, 2019)、Clean Label Feature Collision Attack (Shafahi, Huang et. al., 2018)、Backdoor Attack (Gu et. al., 2017)、Poisoning Attack on Support Vector Machines (SVM) (Biggio et al., 2013)、Bullseye Polytope (Aghakhani et al., 2020)
(抽出攻撃(Extraction))
Functionally Equivalent Extraction (Jagielski et al., 2019)、Copycat CNN (Correia-Silva et al., 2018)、KnockoffNets (Orekondy et al., 2018)
(属性推論攻撃(Attribute Inference))
Attribute Inference Black-Box、Attribute Inference White-Box Lifestyle Decision Tree (Fredrikson et al., 2015)、Attribute Inference White-Box Decision Tree (Fredrikson et al., 2015)
(メンバーシップ推論攻撃(Membership Inference))
Membership Inference Black-Box、Membership Inference Black-Box Rule-Based、Label-Only Boundary Distance Attack (Choquette-Choo et al., 2020)、Label-Only Gap Attack (Choquette-Choo et al., 2020)、
(移転攻撃(Model Inversion))
MIFace (Fredrikson et al., 2015)
(再構成攻撃(Reconstruction))
Database Reconstruction
<< Example of attack method >>
(Evasion)
Auto-Attack (Croce and Hein, 2020)
(Avoidance attack (White-Box type))
Auto Projected Gradient Descent (Auto-PGD) (Croce and Hein, 2020), Shadow Attack (Ghiasi et al., 2020), Wasserstein Attack (Wong et al., 2020), Imperceptible, Robust, and Targeted Adversarial Examples for Automatic Speech Recognition (Qin et al., 2019), Brendel & Bethge Attack (Brendel et al., 2019), Targeted Universal Adversarial Perturbations (Hirano and Takemoto, 2019), Audio Adversarial Examples: Targeted Attacks on Speech-to-Text (Carlini and) Wagner, 2018), High Confidence Low Uncertainty (HCLU) Attack (Grosse et al., 2018), Iterative Frame Saliency (Inkawhich et al., 2018), DPatch (Liu et al., 2018), Robust DPatch (Liu et al) ., 2018, (Lee and Kolter, 2019)), ShapeShifter (Chen et al., 2018), Projected Gradient Descent (PGD) (Madry et al., 2017), NewtonFool (Jang et al., 2017), Elastic Net (Chen et al., 2017), Adversarial Patch (Brown et al., 2017), Decision Tree Attack (Papernot et al., 2016), Carlini & Wagner (C & W) L_2 and L_inf attack (Carlini and Wagner, 2016), Basic Iterative Method (BIM) (Kura) kin et al., 2016), Jacobian Saliency Map (Papernot et al., 2016), Universal Perturbation (Moosavi-Dezfooli et al., 2016), Feature Adversaries (Sabour et al., 2016), DeepFool (Moosavi-Dezfooli et) al., 2015), Virtual Adversarial Method (Miyato et al., 2015), Fast Gradient Method (Goodfellow et al., 2014)
(Avoidance attack (Black-Box type))
Square Attack (Andriushchenko et al., 2020), HopSkipJump Attack (Chen et al., 2019), Threshold Attack (Vargas et al., 2019), Pixel Attack (Vargas et al., 2019, Su et al., 2019) , Simple Black-box Adversarial (SimBA) (Guo et al., 2019), Spatial Transformation (Engstrom et al., 2017), Query-efficient Black-box (Ilyas et al., 2017), Zeroth Order Optimisation (ZOO) (Chen et al., 2017), Decision-based / Boundary Attack (Brendel et al., 2018)
(Poisoning)
Adversarial Backdoor Embedding (Tan and Shokri, 2019), Clean Label Feature Collision Attack (Shafahi, Huang et. Al., 2018), Backdoor Attack (Gu et. Al., 2017), Poisoning Attack on Support Vector Machines (SVM) (SVM) Biggio et al., 2013), Bullseye Polytope (Aghakhani et al., 2020)
(Extraction)
Functionally Equivalent Extraction (Jagielski et al., 2019), Copycat CNN (Correia-Silva et al., 2018), KnockoffNets (Orekondy et al., 2018)
(Attribute Inference Attack)
Attribute Inference Black-Box, Attribute Inference White-Box Lifestyle Decision Tree (Fredrikson et al., 2015), Attribute Inference White-Box Decision Tree (Fredrikson et al., 2015)
(Membership Inference)
Membership Inference Black-Box, Membership Inference Black-Box Rule-Based, Label-Only Boundary Distance Attack (Choquette-Choo et al., 2020), Label-Only Gap Attack (Choquette-Choo et al., 2020),
(Relocation attack (Model Inversion))
MIFace (Fredrikson et al., 2015)
(Reconstruction)
Database Reconstruction

<<防御手法の例>>
(事前処理)
InverseGAN (An Lin et al. 2019)、DefenseGAN (Samangouei et al. 2018)、Video Compression、Resampling (Yang et al., 2019)、Thermometer Encoding (Buckman et al., 2018)、MP3 Compression (Carlini, N. & Wagner, D., 2018)、Total Variance Minimization (Guo et al., 2018)、PixelDefend (Song et al., 2017)、Gaussian Data Augmentation (Zantedeschi et al., 2017)、Feature Squeezing (Xu et al., 2017)、Spatial Smoothing (Xu et al., 2017)、Spatial Smoothing PyTorch、Spatial Smoothing TensorFlow v2、JPEG Compression (Dziugaite et al., 2016)、Label Smoothing (Warde-Farley and Goodfellow, 2016)、Virtual adversarial training (Miyato et al., 2015)
(事後処理)
Reverse Sigmoid (Lee et al., 2018)、Random Noise (Chandrasekaranet al., 2018)、Class Labels (Tramer et al., 2016, Chandrasekaranet al., 2018)、High Confidence (Tramer et al., 2016)、Rounding (Tramer et al., 2016)、General Adversarial Training (Szegedy et al., 2013)、Madry's Protocol (Madry et al., 2017)、Fast Is Better Than Free (Wong et al., 2020)
(回避防御(Evasion))
Defensive Distillation (Papernot et al., 2015)
(汚染防御(Poisoning))
Neural Cleanse (Wang et al., 2019)
<< Example of defense method >>
(Pre-processing)
InverseGAN (An Lin et al. 2019), DefenseGAN (Samangouei et al. 2018), Video Compression, Resampling (Yang et al., 2019), Thermometer Encoding (Buckman et al., 2018), MP3 Compression (Carlini, N. & Wagner, D., 2018), Total Variance Minimization (Guo et al., 2018), PixelDefend (Song et al., 2017), Gaussian Data Augmentation (Zantedeschi et al., 2017), Feature Squeezing (Xu et al. , 2017), Spatial Smoothing (Xu et al., 2017), Spatial Smoothing PyTorch, Spatial Smoothing TensorFlow v2, JPEG Compression (Dziugaite et al., 2016), Label Smoothing (Warde-Farley and Goodfellow, 2016), Virtual adversarial training (Miyato et al., 2015)
(post process)
Reverse Sigmoid (Lee et al., 2018), Random Noise (Chandrasekaranet al., 2018), Class Labels (Tramer et al., 2016, Chandrasekaranet al., 2018), High Confidence (Tramer et al., 2016), Rounding (Tramer et al., 2016), General Adversarial Training (Szegedy et al., 2013), Madry's Protocol (Madry et al., 2017), Fast Is Better Than Free (Wong et al., 2020)
(Evasion)
Defensive Distillation (Papernot et al., 2015)
(Poisoning)
Neural Cleanse (Wang et al., 2019)

<<検出処理>>
(回避検出(Evasion))
Basic detector based on inputs、Detector trained on the activations of a specific layer、Detector based on Fast Generalized Subset Scan (Speakman et al., 2018)
(汚染検出(Poisoning))
Detection based on activations analysis (Chen et al., 2018)、Detection based on data provenance (Baracaldo et al., 2018)、Detection based on spectral signatures (Tran et al., 2018)
学習部110は、上述した攻撃手法を含む各攻撃アルゴリズムにより学習対象データに攻撃を加えた各データ、攻撃が加えられた各データに対して上述した防御手法を含む各防御アルゴリズムを適用した推論処理による結果データなどを用いて、上述した各推論モデルを生成する。
<< Detection processing >>
(Avoidance detection (Evasion))
Basic detector based on inputs, Detector trained on the activations of a specific layer, Detector based on Fast Generalized Subset Scan (Speakman et al., 2018)
(Poisoning)
Detection based on activations analysis (Chen et al., 2018), Detection based on data provenance (Baracaldo et al., 2018), Detection based on spectral signatures (Tran et al., 2018)
The learning unit 110 applies inference processing to each data in which the learning target data is attacked by each attack algorithm including the above-mentioned attack method and each defense algorithm including the above-mentioned defense method to each data to which the attack is applied. Each of the above-mentioned inference models is generated by using the result data of the above.

検出部103は、所定の攻撃の可能性を検出する際に、どの検出処理により検出されたかによって、どのタイプの攻撃手法なのかを特定することが可能である。例えば、検出部103は、回避検出処理において所定の攻撃が検出された場合、所定の攻撃は回避攻撃であると特定することができ、また、汚染検出処理において所定の攻撃が検出された場合、所定の攻撃は汚染攻撃であると特定することができる。 When detecting the possibility of a predetermined attack, the detection unit 103 can specify which type of attack method is used depending on which detection process is used to detect the possibility. For example, when a predetermined attack is detected in the avoidance detection process, the detection unit 103 can identify the predetermined attack as an avoidance attack, and when a predetermined attack is detected in the contamination detection process, the detection unit 103 can identify the predetermined attack. A given attack can be identified as a pollution attack.

この場合、特定部105は、検出された攻撃の種類に基づいて、この攻撃の種類に対応する防御手法を特定してもよい。また、特定部105は、ある種類の防御手法が複数ある場合は、上述した推論モデルを用いてロジット出力が大きいものから順に、所定数の防御手法を選択して特定してもよい。 In this case, the specifying unit 105 may specify a defense method corresponding to the type of attack based on the type of attack detected. Further, when there are a plurality of defense methods of a certain type, the specific unit 105 may select and specify a predetermined number of defense methods in order from the one having the largest logit output by using the above-mentioned inference model.

<動作>
図6は、本実施形態に係るシステムにおける処理の一例を示すシーケンス図である。図6に示す処理は、サーバ10及び各エッジ端末20により実行される。図6に示す例では、エッジ端末20は1つしか表記しないが、複数のエッジ端末20があっても各エッジ端末20の処理内容は、図6に示す処理と同様である。なお、図6に示す例では、エッジ端末20をユーザ端末20とも表記する。
<Operation>
FIG. 6 is a sequence diagram showing an example of processing in the system according to the present embodiment. The process shown in FIG. 6 is executed by the server 10 and each edge terminal 20. In the example shown in FIG. 6, only one edge terminal 20 is shown, but even if there are a plurality of edge terminals 20, the processing content of each edge terminal 20 is the same as the processing shown in FIG. In the example shown in FIG. 6, the edge terminal 20 is also referred to as a user terminal 20.

ステップS102において、ユーザ端末20は、推論対象データをサーバ10に送信する。サーバ10の取得部101は、ユーザ端末20から推論対象データ取得する。 In step S102, the user terminal 20 transmits the inference target data to the server 10. The acquisition unit 101 of the server 10 acquires inference target data from the user terminal 20.

ステップS104において、サーバ10の推論部102は、所定の推論モデル102aに推論対象データを入力し、推論処理を実行する。 In step S104, the inference unit 102 of the server 10 inputs the inference target data to the predetermined inference model 102a and executes the inference process.

ステップS106において、サーバ10の検出部103は、推論対象データに対して、所定の攻撃が加えられている可能性を検出する。検出部103は、例えば可能性を数値で表し、所定値以上の数値であれば可能性ありとして検出する。 In step S106, the detection unit 103 of the server 10 detects the possibility that a predetermined attack has been applied to the inference target data. For example, the detection unit 103 expresses a possibility numerically, and detects that there is a possibility if the numerical value is equal to or higher than a predetermined value.

ステップS108において、サーバ10の特定部105は、所定の攻撃が加えられた可能性がある所定のデータに基づいて、所定の攻撃に対応して防御可能な第1防御アルゴリズムを複数の防御アルゴリズムの中から特定する。また、サーバ10の適用部108は、第1防御アルゴリズムを推論部102における推論処理に適用する。ここでは、防御アルゴリズムを特定し、推論処理に適用する処理は防御処理と称される。 In step S108, the specific unit 105 of the server 10 uses a plurality of defense algorithms to provide a first defense algorithm that can defend against a predetermined attack based on predetermined data on which a predetermined attack may have been applied. Identify from the inside. Further, the application unit 108 of the server 10 applies the first defense algorithm to the inference processing in the inference unit 102. Here, the process of specifying the defense algorithm and applying it to the inference process is called the defense process.

ステップS110において、サーバ10の出力部109は、防御処理が適用された場合は、同じ所定のデータに対して再度推論処理が行われ、その結果データをユーザ端末20に送信し、防御処理が適用されない場合は、ステップS104において推論された結果データをユーザ端末20に送信する。なお、ステップS106の処理を、ステップS104の処理の前に実行してもよい。この場合に、所定の攻撃が検出されると、防御処理が実行された後に推論処理を行うことができるため、再度推論処理を実行する必要がない。 In step S110, when the defense process is applied, the output unit 109 of the server 10 performs the inference process again for the same predetermined data, transmits the result data to the user terminal 20, and the defense process is applied. If not, the result data inferred in step S104 is transmitted to the user terminal 20. The process of step S106 may be executed before the process of step S104. In this case, if a predetermined attack is detected, the inference process can be performed after the defense process is executed, so that it is not necessary to execute the inference process again.

図7は、本実施形態に係るサーバ10における防御制御処理の一例を示すフローチャートである。図7に示す処理は、サーバ10の処理の一例を示すにすぎない。 FIG. 7 is a flowchart showing an example of defense control processing in the server 10 according to the present embodiment. The process shown in FIG. 7 is only an example of the process of the server 10.

ステップS202において、サーバ10の特定部105は、検出部103から取得した検出結果に基づいて、所定のデータに対して所定の攻撃が加えられた可能性があるか否かを判定する。所定の攻撃の可能性ありと判定されると(ステップS202−YES)、処理はステップS204に進み、所定の攻撃がないと判定されると(ステップS202−NO)、学習対象データをユーザ端末20から取得する。 In step S202, the specific unit 105 of the server 10 determines whether or not a predetermined attack may have been applied to the predetermined data based on the detection result acquired from the detection unit 103. When it is determined that there is a possibility of a predetermined attack (step S202-YES), the process proceeds to step S204, and when it is determined that there is no predetermined attack (step S202-NO), the learning target data is transferred to the user terminal 20. Get from.

ステップS204において、サーバ10の特定部105は、上述した(1)〜(6)のいずれかの手法により、所定の攻撃に対応して防御可能な防御アルゴリズムを特定する。 In step S204, the identification unit 105 of the server 10 identifies a defense algorithm that can be defended in response to a predetermined attack by any of the methods (1) to (6) described above.

ステップS206において、サーバ10の適用部108は、特定された防御アルゴリズムを推論処理に適用する。 In step S206, the application unit 108 of the server 10 applies the identified defense algorithm to the inference process.

ステップS208において、サーバ10の推論部102は、防御アルゴリズムが適用された推論処理を行う。 In step S208, the inference unit 102 of the server 10 performs an inference process to which the defense algorithm is applied.

これにより、検出された任意の攻撃に対して適切に防御することが可能になる。 This makes it possible to appropriately defend against any detected attack.

以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。 The embodiments described above are for facilitating the understanding of the present invention, and are not for limiting the interpretation of the present invention. Each element included in the embodiment and its arrangement, material, condition, shape, size, and the like are not limited to those exemplified, and can be appropriately changed.

また、各エッジ端末20又はサーバ10から出力されるデータは、ブロックチェーン技術を用いて管理されてもよい。ブロックチェーンは、改ざんがほぼ不可能であることから、各装置から出力されたデータが改ざんされることを防ぎ、システムの信頼性を向上させることができる。また、ブロックチェーンは、量子ブロックチェーンが用いられてもよい。 Further, the data output from each edge terminal 20 or the server 10 may be managed by using blockchain technology. Since the blockchain is almost impossible to tamper with, it is possible to prevent the data output from each device from being tampered with and improve the reliability of the system. Further, as the blockchain, a quantum blockchain may be used.

また、上述した実施形態におけるシステムは、連合学習に適用してもよい。例えば、連合学習において、サーバ10の推論部102の機能を各エッジ端末20に設け、各エッジ端末20が学習又は推論を行い、その結果データに基づいて改善点をサーバ10に送信する。 Further, the system in the above-described embodiment may be applied to associative learning. For example, in the associative learning, the function of the reasoning unit 102 of the server 10 is provided in each edge terminal 20, each edge terminal 20 performs learning or inference, and the improvement point is transmitted to the server 10 based on the result data.

このとき、あるエッジ端末20が敵対的攻撃を受ける又は加えると、この敵対的攻撃を受けたデータを学習又は推論した結果は、誤った結果になってしまう。そして、この誤った結果を改善点として、サーバ10が共有の学習モデルを修正すると、この学習モデルの精度が落ちてしまう。 At this time, if a certain edge terminal 20 is subjected to or added to a hostile attack, the result of learning or inferring the data subjected to the hostile attack will be an erroneous result. Then, if the server 10 modifies the shared learning model with this erroneous result as an improvement point, the accuracy of this learning model will drop.

そこで、サーバ10は、検出部103、算出部104及び特定部105の機能をエッジ端末20に設けさせ、エッジ端末20側で所定の攻撃の検出、防御を行わせてもよい。また、サーバ10は、改善点のデータの特徴に基づいて、所定の防御アルゴリズムを特定し、この防御アルゴリズムを共有の学習モデルに適用してもよい。 Therefore, the server 10 may provide the edge terminal 20 with the functions of the detection unit 103, the calculation unit 104, and the specific unit 105, and detect and prevent a predetermined attack on the edge terminal 20 side. Further, the server 10 may specify a predetermined defense algorithm based on the characteristics of the improvement point data, and apply this defense algorithm to the shared learning model.

また、サーバ10は、各エッジ端末20からデータを取得する場合、各エッジ端末20の端末IDを取得し、取得したデータとともに関連付けて記憶しておく。この場合、サーバ10は、所定の攻撃の可能性を検出したデータを送信したエッジ端末20の端末IDにフラグを立てるなどして識別できるようにする。サーバ10は、フラグなどにより識別された端末IDのエッジ端末20からデータが送信された場合、そのデータに対して処理を拒否したり、無視したりする。また、識別されたエッジ端末20にサーバ10が推論結果を返す場合には、異なる結果をランダムに選択して返すようにしてもよい。これにより、エッジ端末20側によるサーバ10の学習モデルの再現性等を希釈化することができる。 Further, when the server 10 acquires data from each edge terminal 20, the server 10 acquires the terminal ID of each edge terminal 20 and stores it in association with the acquired data. In this case, the server 10 sets a flag in the terminal ID of the edge terminal 20 that has transmitted the data for detecting the possibility of a predetermined attack so that the server 10 can identify the terminal ID. When data is transmitted from the edge terminal 20 of the terminal ID identified by a flag or the like, the server 10 rejects or ignores the processing of the data. Further, when the server 10 returns the inference result to the identified edge terminal 20, different results may be randomly selected and returned. This makes it possible to dilute the reproducibility of the learning model of the server 10 by the edge terminal 20 side.

10…情報処理装置、10a…CPU、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、101…取得部、102…推論部、102a…推論モデル、103…検出部、104…算出部、105…特定部、106…防御特定部、107…攻撃特定部、108…適用部、109…出力部、110…学習部、111…記憶部、111a…対応データ 10 ... Information processing device, 10a ... CPU, 10b ... RAM, 10c ... ROM, 10d ... Communication unit, 10e ... Input unit, 10f ... Display unit, 101 ... Acquisition unit, 102 ... Inference unit, 102a ... Inference model, 103 ... Detection unit, 104 ... Calculation unit, 105 ... Specific unit, 106 ... Defense specific unit, 107 ... Attack specific unit, 108 ... Applicable unit, 109 ... Output unit, 110 ... Learning unit, 111 ... Storage unit, 111a ... Corresponding data

Claims (10)

所定のデータを取得する取得部と、
各データと、前記各データを用いて所定の問題を解いた各結果データとを含む学習データを用いて学習された第1推論モデルに、前記所定のデータを入力して推論処理を行う推論部と、
前記所定のデータに所定の攻撃が加えられた可能性を検出する検出部と、
前記可能性が検出された場合、前記所定の攻撃が加えられた所定のデータに基づいて、前記所定の攻撃に対応して防御可能な第1防御アルゴリズムを複数の防御アルゴリズムの中から特定する特定部と、
前記第1防御アルゴリズムを前記推論処理に適用する適用部と、
を備える情報処理装置。
An acquisition unit that acquires predetermined data, and
An inference unit that inputs the predetermined data to the first inference model trained using the training data including each data and each result data obtained by solving a predetermined problem using the data, and performs inference processing. When,
A detector that detects the possibility that a predetermined attack has been applied to the predetermined data, and
When the possibility is detected, the first defense algorithm that can be defended in response to the predetermined attack is specified from among a plurality of defense algorithms based on the predetermined data to which the predetermined attack is applied. Department and
An application unit that applies the first defense algorithm to the inference process,
Information processing device equipped with.
前記特定部は、前記所定の攻撃が加えられた各データと当該各データに適用される各防御アルゴリズムとを含む学習データを用いて教師あり学習により生成された第2推論モデルに対し、前記所定のデータを入力して前記第1防御アルゴリズムを予測することを含む、請求項1に記載の情報処理装置。 The specific part is the predetermined with respect to the second inference model generated by supervised learning using the training data including each data to which the predetermined attack is applied and each defense algorithm applied to the data. The information processing apparatus according to claim 1, wherein the data of the above is input to predict the first defense algorithm. 前記特定部は、各攻撃アルゴリズムと前記各攻撃アルゴリズムに基づく各攻撃が加えられた各データとを含む学習データを用いて教師あり学習によって生成された第3推論モデルに対し、前記所定のデータを入力して第1攻撃アルゴリズムを予測することを含む、請求項1に記載の情報処理装置。 The specific unit applies the predetermined data to the third inference model generated by supervised learning using the training data including each attack algorithm and each data to which each attack based on the attack algorithm is applied. The information processing apparatus according to claim 1, comprising inputting and predicting a first attack algorithm. 前記可能性が検出された場合、前記所定の攻撃を含む所定のデータの特徴量を算出する算出部をさらに備え、
前記特定部は、前記特徴量に基づいて、前記第1防御アルゴリズムを特定することを含む、請求項1に記載の情報処理装置。
When the possibility is detected, a calculation unit for calculating a feature amount of a predetermined data including the predetermined attack is further provided.
The information processing apparatus according to claim 1, wherein the specific unit specifies the first defense algorithm based on the feature amount.
前記特定部は、各特徴量及び前記各特徴量に対応する各防御アルゴリズムを含む学習データを用いて教師あり学習により生成された第4推論モデルに対し、前記算出された特徴量を入力して前記第1防御アルゴリズムを予測することを含む、請求項4に記載の情報処理装置。 The specific unit inputs the calculated features to the fourth inference model generated by supervised learning using the learning data including each feature and each defense algorithm corresponding to each feature. The information processing apparatus according to claim 4, which comprises predicting the first defense algorithm. 前記特定部は、前記算出された特徴量に基づいて、複数の攻撃アルゴリズムの中から前記所定の攻撃に対応する第1攻撃アルゴリズムを特定することを含む、請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein the specific unit specifies a first attack algorithm corresponding to the predetermined attack from a plurality of attack algorithms based on the calculated feature amount. 前記特定部は、各特徴量及び前記各特徴量に対応する各攻撃アルゴリズムを含む学習データとする教師あり学習により生成された第5推論モデルに対し、前記算出された特徴量を入力して前記第1攻撃アルゴリズムを予測することを含む、請求項6に記載の情報処理装置。 The specific unit inputs the calculated feature amount to the fifth inference model generated by supervised learning as learning data including each feature amount and each attack algorithm corresponding to the feature amount. The information processing apparatus according to claim 6, which comprises predicting a first attack algorithm. 前記特定部は、各攻撃アルゴリズムと前記各攻撃アルゴリズムにより攻撃が加えられた各データに各防御アルゴリズムが適用された各データとを含む学習データを用いて教師あり学習によって生成された第6推論モデルに対し、前記第1攻撃アルゴリズムを入力して前記第1防御アルゴリズムを予測することを含む、請求項3又は7に記載の情報処理装置。 The specific part is a sixth inference model generated by supervised learning using training data including each attack algorithm and each data to which each defense algorithm is applied to each data attacked by each attack algorithm. The information processing apparatus according to claim 3 or 7, wherein the first attack algorithm is input to predict the first defense algorithm. 情報処理装置に備えられたプロセッサが、
所定のデータを取得することと、
各データと各結果データとを含む学習データを用いて学習された第1推論モデルに、前記所定のデータを入力して推論処理を行うことと、
前記所定のデータに所定の攻撃が加えられた可能性を検出することと、
前記可能性が検出された場合、前記所定の攻撃が加えられた所定のデータに基づいて、前記所定の攻撃に対応して防御可能な第1防御アルゴリズムを複数の防御アルゴリズムの中から特定することと、
前記第1防御アルゴリズムを前記推論処理に適用することと、
を実行する情報処理方法。
The processor installed in the information processing device
Acquiring the specified data and
Performing inference processing by inputting the predetermined data into the first inference model trained using the training data including each data and each result data.
To detect the possibility that a predetermined attack has been applied to the predetermined data, and
When the possibility is detected, the first defense algorithm that can defend against the predetermined attack is specified from among a plurality of defense algorithms based on the predetermined data to which the predetermined attack is applied. When,
Applying the first defense algorithm to the inference process,
Information processing method to execute.
情報処理装置に備えられたプロセッサに、
所定のデータを取得することと、
各データと各結果データとを含む学習データを用いて学習された第1推論モデルに、前記所定のデータを入力して推論処理を行うことと、
前記所定のデータに所定の攻撃が加えられた可能性を検出することと、
前記可能性が検出された場合、前記所定の攻撃が加えられた所定のデータに基づいて、前記所定の攻撃に対応して防御可能な第1防御アルゴリズムを複数の防御アルゴリズムの中から特定することと、
前記第1防御アルゴリズムを前記推論処理に適用することと、
を実行させるプログラム。
For the processor installed in the information processing device
Acquiring the specified data and
Performing inference processing by inputting the predetermined data into the first inference model trained using the training data including each data and each result data.
To detect the possibility that a predetermined attack has been applied to the predetermined data, and
When the possibility is detected, the first defense algorithm that can defend against the predetermined attack is specified from among a plurality of defense algorithms based on the predetermined data to which the predetermined attack is applied. When,
Applying the first defense algorithm to the inference process,
A program to execute.
JP2021115877A 2021-07-13 2021-07-13 Information processing equipment, information processing methods and programs Active JP6971514B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2021115877A JP6971514B1 (en) 2021-07-13 2021-07-13 Information processing equipment, information processing methods and programs
JP2021174462A JP2023012406A (en) 2021-07-13 2021-10-26 Information processing device, information processing method and program
CN202210360281.6A CN115618343A (en) 2021-07-13 2022-04-07 Information processing apparatus, information processing method, and storage medium
US17/862,152 US20230016670A1 (en) 2021-07-13 2022-07-11 Information processing apparatus, information processing method, and storage medium
EP22184498.8A EP4125004A1 (en) 2021-07-13 2022-07-12 Information processing apparatus, information processing method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021115877A JP6971514B1 (en) 2021-07-13 2021-07-13 Information processing equipment, information processing methods and programs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021174462A Division JP2023012406A (en) 2021-07-13 2021-10-26 Information processing device, information processing method and program

Publications (2)

Publication Number Publication Date
JP6971514B1 true JP6971514B1 (en) 2021-11-24
JP2023012311A JP2023012311A (en) 2023-01-25

Family

ID=78605604

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021115877A Active JP6971514B1 (en) 2021-07-13 2021-07-13 Information processing equipment, information processing methods and programs
JP2021174462A Pending JP2023012406A (en) 2021-07-13 2021-10-26 Information processing device, information processing method and program

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021174462A Pending JP2023012406A (en) 2021-07-13 2021-10-26 Information processing device, information processing method and program

Country Status (4)

Country Link
US (1) US20230016670A1 (en)
EP (1) EP4125004A1 (en)
JP (2) JP6971514B1 (en)
CN (1) CN115618343A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4202786A1 (en) * 2021-12-23 2023-06-28 INTEL Corporation Adversarial sample protection for machine learning

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230185912A1 (en) * 2021-12-13 2023-06-15 International Business Machines Corporation Defending deep generative models against adversarial attacks
CN116366649B (en) * 2023-06-01 2023-09-05 中电云脑(天津)科技有限公司 Side cloud cooperative electroencephalogram data task scheduling method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067078A (en) * 2004-08-25 2006-03-09 Nippon Telegr & Teleph Corp <Ntt> Network system and attack defense method
CN108549940A (en) * 2018-03-05 2018-09-18 浙江大学 Intelligence defence algorithm based on a variety of confrontation sample attacks recommends method and system
WO2019181099A1 (en) * 2018-03-20 2019-09-26 ソニー株式会社 Information processing device and information processing method
CN112232434A (en) * 2020-10-29 2021-01-15 浙江工业大学 Attack-resisting cooperative defense method and device based on correlation analysis
US10984272B1 (en) * 2018-01-19 2021-04-20 Apple Inc. Defense against adversarial attacks on neural networks
JP2021096854A (en) * 2019-12-16 2021-06-24 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh System and method for detecting adversarial attack

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036857B2 (en) * 2018-11-15 2021-06-15 International Business Machines Corporation Protecting a machine learning model
DE102019204318A1 (en) * 2019-03-28 2020-10-01 Conti Temic Microelectronic Gmbh Automatic detection and classification of adversarial attacks
CN111783083B (en) * 2020-06-19 2023-08-22 浙大城市学院 Recommendation method and device for defense algorithm

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067078A (en) * 2004-08-25 2006-03-09 Nippon Telegr & Teleph Corp <Ntt> Network system and attack defense method
US10984272B1 (en) * 2018-01-19 2021-04-20 Apple Inc. Defense against adversarial attacks on neural networks
CN108549940A (en) * 2018-03-05 2018-09-18 浙江大学 Intelligence defence algorithm based on a variety of confrontation sample attacks recommends method and system
WO2019181099A1 (en) * 2018-03-20 2019-09-26 ソニー株式会社 Information processing device and information processing method
JP2021096854A (en) * 2019-12-16 2021-06-24 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh System and method for detecting adversarial attack
CN112232434A (en) * 2020-10-29 2021-01-15 浙江工业大学 Attack-resisting cooperative defense method and device based on correlation analysis

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4202786A1 (en) * 2021-12-23 2023-06-28 INTEL Corporation Adversarial sample protection for machine learning

Also Published As

Publication number Publication date
JP2023012406A (en) 2023-01-25
CN115618343A (en) 2023-01-17
US20230016670A1 (en) 2023-01-19
JP2023012311A (en) 2023-01-25
EP4125004A1 (en) 2023-02-01

Similar Documents

Publication Publication Date Title
Xiao et al. Attentional factorization machines: Learning the weight of feature interactions via attention networks
JP6971514B1 (en) Information processing equipment, information processing methods and programs
US11403349B2 (en) Dark web content analysis and identification
Wu et al. Hierarchical temporal memory method for time-series-based anomaly detection
US9727821B2 (en) Sequential anomaly detection
US20190095301A1 (en) Method for detecting abnormal session
Khan et al. An unsupervised deep learning ensemble model for anomaly detection in static attributed social networks
US11790369B2 (en) Systems and method for enhanced active machine learning through processing of partitioned uncertainty
EP3916597B1 (en) Detecting malware with deep generative models
Hyvärinen Statistical models of natural images and cortical visual representation
Berahmand et al. Autoencoders and their applications in machine learning: a survey
He et al. MTAD‐TF: Multivariate Time Series Anomaly Detection Using the Combination of Temporal Pattern and Feature Pattern
US11977978B2 (en) Finite rank deep kernel learning with linear computational complexity
CN111190967B (en) User multidimensional data processing method and device and electronic equipment
Kaupp et al. Outlier detection in temporal spatial log data using autoencoder for industry 4.0
Muthukumaran et al. Deep learning enabled financial crisis prediction model for small-medium sized industries
CN117251813A (en) Network traffic anomaly detection method and system
Kaur et al. Network traffic classification using multiclass classifier
Shen et al. Long-term multivariate time series forecasting in data centers based on multi-factor separation evolutionary spatial–temporal graph neural networks
Zeng et al. Anomaly detection for high‐dimensional dynamic data stream using stacked habituation autoencoder and union kernel density estimator
CN117009883B (en) Object classification model construction method, object classification method, device and equipment
Cecotti Extreme Machine Learning Architectures Based on Correlation
Phaisangittisagul et al. Receptive field resolution analysis in convolutional feature extraction
Hain et al. Introduction to Predictive Modeling in Entrepreneurship and Innovation Studies: A Hands-On Application in the Prediction of Breakthrough Patents
Yang¹ et al. Check for updates An Intelligent Ranking Evaluation Method of Simulation Models Based on Graph Neural Network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210714

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210714

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: 20211006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211026

R150 Certificate of patent or registration of utility model

Ref document number: 6971514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150