WO2019245006A1 - 検知装置及び検知方法 - Google Patents

検知装置及び検知方法 Download PDF

Info

Publication number
WO2019245006A1
WO2019245006A1 PCT/JP2019/024606 JP2019024606W WO2019245006A1 WO 2019245006 A1 WO2019245006 A1 WO 2019245006A1 JP 2019024606 W JP2019024606 W JP 2019024606W WO 2019245006 A1 WO2019245006 A1 WO 2019245006A1
Authority
WO
WIPO (PCT)
Prior art keywords
detection
output data
communication
unit
data
Prior art date
Application number
PCT/JP2019/024606
Other languages
English (en)
French (fr)
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 US16/973,039 priority Critical patent/US11847210B2/en
Publication of WO2019245006A1 publication Critical patent/WO2019245006A1/ja

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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to a detection device and a detection method.
  • IMS Intrusion Detection System
  • Some such anomaly detection systems use a probability density estimator based on unsupervised learning, such as VAE (Variational Auto Encoder).
  • VAE Variational Auto Encoder
  • the abnormality detection based on the probability density estimation learns the occurrence probability of a normal communication pattern based on normal traffic, and detects communication having a low occurrence probability as an abnormality.
  • abnormality detection can be performed without knowing all the malignant states. This characteristic matches well with the detection of a cyber attack on an IoT device that is still in a transition period and cannot know all threat information.
  • the conventional VAE has a problem that the accuracy of abnormality detection of IoT devices may be reduced. Specifically, when the conventional VAE is used, the accuracy of probability density estimation is reduced due to the problem of so-called "too strong regularization", and as a result, the accuracy of abnormality detection may be reduced.
  • the conventional VAE aims to encode the input data once into a low-dimensional Gaussian distribution, and use only less information after encoding to decode the input data again so as to approach the input data. By doing so, it is possible to obtain an encoder that extracts only information necessary for correctly reconstructing input data.
  • FIG. 1 is a diagram illustrating an example of a configuration of the detection system according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a configuration of the detection device according to the first embodiment.
  • FIG. 3 is a diagram for describing the generation model according to the first embodiment.
  • FIG. 4 is a flowchart illustrating a processing flow of the detection device according to the first embodiment.
  • FIG. 5 is a flowchart illustrating a flow of a process of the detection device according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of a computer that executes a detection program.
  • FIG. 1 is a diagram illustrating an example of a configuration of the detection system according to the first embodiment.
  • the detection system 1 includes a detection device 10 and an IoT device 20.
  • the detection device 10 acquires information on communication between the IoT device 20 and the external network 30.
  • the detection device 10 can acquire information from a gateway provided between the IoT device 20 and the external network 30.
  • the detection device 10 can acquire traffic session information.
  • the detection device 10 detects an abnormality of the IoT device 20 by using a generation model learned using the acquired information.
  • the IoT device 20 is a device such as a monitoring camera or a wearable device provided with a communication function.
  • FIG. 2 is a diagram illustrating an example of a configuration of the detection device according to the first embodiment.
  • the detection device 10 includes an input / output unit 11, a communication unit 12, a storage unit 13, and a control unit 14.
  • FIG. 3 is a diagram for describing the generation model according to the first embodiment.
  • the generated model of the present embodiment is a model using an auto-encoder, similarly to the conventional VAE.
  • the generation model has an input layer, an encoder, a decoder, and an output layer.
  • the generation model encodes data input to the input layer, generates a latent variable that is a random variable based on the encoded data, decodes a value determined stochastically from the latent variable, and decodes the decoded data. Is output to the output layer as output data.
  • Latent variables in conventional VAE are represented by a unimodal Gaussian distribution.
  • the latent variables in the generative model of the present embodiment are represented by a multimodal Gaussian distribution, that is, a Gaussian mixture distribution.
  • the objective function for optimizing the generative model of the present embodiment is as follows: if the encoder is q (z
  • x) is a Gaussian mixture distribution, and is expressed by equation (2).
  • ⁇ i is a weight set for a Gaussian distribution N ( ⁇ i , ⁇ i ) having an average ⁇ i and a variance ⁇ i .
  • ⁇ i , ⁇ i , and ⁇ i are parameters updated by learning the generation model. Further, the sum of ⁇ i may always be a constant value. For example, when q (z
  • x) is a mixed Gaussian distribution including three Gaussian distributions, a constraint condition of ⁇ 1 + ⁇ 2 + ⁇ 3 1 may be set.
  • the detecting apparatus 10 calculates the culvert divergence (Equation (3)) of the objective function of Equation (1) by using Reference 1 ("Lower”). and Upper Bounds for Approximation of the Kullback-Leibler Divergence Between Gaussian Mixture Models "by Durrien, Thiran, and Kelly (2012)) or Ref. ) Can be used.
  • the detection device 10 decomposes the Kullbackler divergence as shown in Expression (4), and calculates the lower or upper limit using the Jensen's inequality for each of the first and second terms of Expression (4). . Then, the detection device 10 approximately calculates the Kullbackler divergence of the expression (2) by combining the calculated lower limit or upper limit.
  • the detection device 10 calculates the output data using the latent variables according to the Gaussian mixture distribution, the latent variable can have more information than the case using a single Gaussian distribution. .
  • the degree of regularization can be reduced as compared with the conventional VAE, and a decrease in detection accuracy can be suppressed.
  • the input / output unit 11 accepts data input from the user.
  • the input / output unit 11 includes, for example, input devices such as a mouse and a keyboard, and display devices such as a display and a touch panel.
  • the communication unit 12 performs data communication with another device via a network.
  • the communication unit 12 is a NIC (Network Interface Card).
  • the communication unit 12 performs data communication with the IoT device 20 and a gateway or the like provided between the IoT device 20 and the external network 30.
  • the storage unit 13 is a storage device such as a hard disk drive (HDD), a solid state drive (SSD), and an optical disk.
  • the storage unit 13 may be a rewritable semiconductor memory such as a RAM (Random Access Memory), a flash memory, and a NVRAM (Non Volatile Static Random Access Memory).
  • the storage unit 13 stores an operating system (OS) executed by the detection device 10 and various programs. Further, the storage unit 13 stores various information used in executing the program.
  • the storage unit 13 has a model DB 131.
  • the model DB 131 stores, for example, parameters of the learned generation model.
  • the control unit 14 controls the entire detection device 10.
  • the control unit 14 includes, for example, electronic circuits such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a TPU (Tensor Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), and an FPGA (FPGA). Field ⁇ Programmable ⁇ Gate ⁇ Array).
  • the control unit 14 has an internal memory for storing programs and control data defining various processing procedures, and executes each process using the internal memory.
  • the control unit 14 also functions as various processing units when various programs operate.
  • the control unit 14 includes an acquisition unit 141, an extraction unit 142, a calculation unit 143, an update unit 144, and a detection unit 145.
  • the acquisition unit 141 acquires information related to communication between devices. For example, the acquisition unit 141 acquires traffic session information from a log related to communication of the IoT device. For example, the acquisition unit 141 acquires, as traffic session information, the data amount in the IoT device 20, the number and size of transmitted and received packets, and the like. Further, for example, the acquisition unit 141 acquires the MAC address, the IP address, the port number, the communication protocol, and the like of the IoT device 20 and the communication destination.
  • the extraction unit 142 extracts a predetermined feature amount from the information on communication acquired by the acquisition unit 141.
  • the extraction unit 142 may use a value obtained by normalizing quantitative information such as the data amount and the number of packets included in the information acquired by the acquisition unit 141, or qualitative information such as various addresses and protocols included in the information.
  • a feature vector including a numerical value or the like as an element is generated.
  • the calculation unit 143 inputs data indicating characteristics of information regarding communication to a generation model that generates output data based on latent variables that are random variables according to a Gaussian mixture distribution and input data, and calculates output data.
  • the calculation unit 143 inputs the data extracted by the extraction unit 142 to the input layer of the generation model as shown in FIG. 3 and executes a calculation for generating output data.
  • the updating unit 144 updates the parameters of the generated model so that the difference between the output data and the feature amount input to the generated model is reduced. Specifically, the updating unit 144 updates the parameters so that the objective function of Expression (1) is optimized. At this time, the updating unit 144 updates the mean, variance, and weight of the Gaussian distributions included in the Gaussian mixture distribution and weighted respectively. Thereby, the updating unit 144 causes the generation model to learn the characteristics of the communication in the normal state.
  • the detection unit 145 detects an abnormality of the device using the anomaly score calculated based on the output data.
  • the detection unit 145 calculates the anomaly score such that the larger the difference between the feature amount input to the generation model by the calculation unit 143 and the output data output from the generation model, the larger the difference and the smaller the difference, the smaller the anomaly score.
  • the anomaly score is a score indicating the degree of separation of the state of the communication to be detected from the characteristics of the communication in the normal state.
  • the detection unit 145 detects that an abnormality has occurred.
  • FIGS. FIG. 4 and FIG. 5 are flowcharts illustrating the processing flow of the detection device according to the first embodiment.
  • the detection device 10 acquires information regarding communication of the IoT device 20 (Step S11).
  • the detection device 10 extracts a feature amount from the acquired information (step S12). Further, the detection device 10 inputs the extracted feature amounts to the generation model and calculates output data (Step S13). The process of calculating the output data will be described later with reference to FIG.
  • the detection device 10 performs the processing from step S11 to step S13 both when learning the generation model and when detecting an abnormality.
  • the detection device 10 learns the generated model (step S14, learning)
  • the generated model is updated based on the calculated output data (step S15).
  • the detection device 10 detects an abnormality (step S14, detection)
  • the anomaly score is calculated based on the calculated output data, and the abnormality is detected (step S16).
  • the detection device 10 encodes the feature amount input to the input layer (Step S131). Then, the detecting device 10 generates a random variable based on the Gaussian mixture distribution from the encoded data (Step S132). Further, the detection device 10 outputs data obtained by decoding a value stochastically determined from the random variable from the output layer as output data (step S133).
  • the detection device 10 acquires information related to communication between devices.
  • the detection device 10 inputs data indicating characteristics of information related to communication to a generation model that generates output data based on latent variables that are random variables according to a Gaussian mixture distribution and input data, and calculates output data. I do.
  • the detection device 10 detects an abnormality of the device using the anomaly score calculated based on the output data.
  • the distribution according to the latent variables is a Gaussian mixture distribution.
  • more information can be given to the latent variable than when the latent variable follows a single Gaussian distribution, and the accuracy of the probability density estimation can be prevented from lowering. it can.
  • it is possible to suppress a decrease in the accuracy of the abnormality detection of the IoT device.
  • the average AUC value of the method using the conventional VAE was 0.942 ⁇ 0.0198.
  • the average of the AUC values of the method of the present embodiment was 0.97976 ⁇ 0.0103. From this, it can be said that the method of the present embodiment has significantly improved abnormality detection accuracy compared to the conventional method using VAE.
  • the updating unit 144 updates the parameters of the generated model so that the difference between the output data and the feature amount input to the generated model is reduced.
  • the input data is regarded as indicating the characteristics of the communication in the normal state, and the generation model can be learned.
  • the updating unit 144 updates the mean, variance, and weight of the Gaussian distribution included in the Gaussian mixture distribution and weighted for each. As described above, according to the first embodiment, by updating the weight of the mixed Gaussian distribution, it is possible to select which one of the peaks of the distribution included in the mixed Gaussian distribution is to be crushed, and optimize the distribution shape. Will be possible.
  • the detection device 10 can be implemented by installing a detection program that executes the above detection as package software or online software on a desired computer.
  • the information processing device can function as the detection device 10.
  • the information processing device referred to here includes a desktop or notebook personal computer.
  • the information processing apparatus includes mobile communication terminals such as a smartphone, a mobile phone, and a PHS (Personal Handyphone System), and a slate terminal such as a PDA (Personal Digital Assistant).
  • the detection device 10 may be implemented as a detection server device that provides a terminal device used by a user as a client and provides the client with the above-described detection service.
  • the detection server device is implemented as a server device that provides a detection service that receives information related to communication of IoT devices and outputs a detection result.
  • the detection server device may be implemented as a Web server, or may be implemented as a cloud that provides services related to the above detection by outsourcing.
  • FIG. 6 is a diagram illustrating an example of a computer that executes a detection program.
  • the computer 1000 has, for example, a memory 1010 and a CPU 1020. Further, the computer 1000 has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.
  • the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
  • the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
  • BIOS Basic Input Output System
  • the hard disk drive interface 1030 is connected to the hard disk drive 1090.
  • the disk drive interface 1040 is connected to the disk drive 1100.
  • a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
  • the serial port interface 1050 is connected to, for example, a mouse 1110 and a keyboard 1120.
  • the video adapter 1060 is connected to the display 1130, for example.
  • the hard disk drive 1090 stores, for example, the OS 1091, the application program 1092, the program module 1093, and the program data 1094. That is, a program that defines each process of the detection device 10 is implemented as a program module 1093 in which codes executable by a computer are described.
  • the program module 1093 is stored in, for example, the hard disk drive 1090.
  • a program module 1093 for executing the same processing as the functional configuration of the detection device 10 is stored in the hard disk drive 1090.
  • the hard disk drive 1090 may be replaced by an SSD.
  • the setting data used in the processing of the above-described embodiment is stored as the program data 1094 in the memory 1010 or the hard disk drive 1090, for example. Then, the CPU 1020 reads out the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 as needed, and executes them.
  • the program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (Local Area Network (LAN), Wide Area Network (WAN), or the like). Then, the program module 1093 and the program data 1094 may be read from another computer by the CPU 1020 via the network interface 1070.
  • LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

検知装置(10)は、IoT機器の通信に関する情報を取得する。また、検知装置(10)は、混合ガウス分布に従う確率変数である潜在変数及び入力されたデータを基に出力データを生成する生成モデルに、通信に関する情報の特徴を示すデータを入力し、出力データを計算する。検知装置(10)は、出力データを基にアノマリスコアを計算し、当該アノマリスコアが閾値を超えている場合、IoT機器の異常を検知する。

Description

検知装置及び検知方法
 本発明は、検知装置及び検知方法に関する。
 IoT時代の到来に伴い、多種のデバイスが多様な使われ方の下でインターネットに接続され、そのセキュリティ対策のためにIoT機器向けのトラフィックセッション異常検知システムや侵入検知システム(IDS:Intrusion Detection System)が盛んに研究されている。
 このような異常検知システムの中には、VAE(Variational Auto Encoder)等の教師なし学習による確率密度推定器を用いるものがある。確率密度推定による異常検知は、正常なトラフィックを基に正常な通信パターンの発生確率を学習し、発生確率の低い通信を異常として検知する。
 このため、VAE等によれば、すべての悪性状態を知らずとも異常検知が可能である。そして、この特性は、未だ過渡期にありすべての脅威情報を知り尽くせないIoT機器に対するサイバー攻撃検知と良くマッチする。
Diederik P Kingma, Max Welling, "Auto-Encoding Variational Bayes" [online]、[平成30年6月11日検索]、インターネット(https://arxiv.org/pdf/1312.6114.pdf)
 しかしながら、従来のVAEには、IoT機器の異常検知の精度が低下する場合があるという問題がある。具体的には、従来のVAEを用いる場合、いわゆる「強すぎる正則化」の問題により確率密度推定の精度が低下し、その結果異常検知の精度が低下することがある。
 ここで、従来のVAEについて説明する。従来のVAEは入力データを一度低次元のガウス分布にエンコードし、エンコード後のより少ない情報のみを用いて再度入力データと近づくようにデコードすることを目指す。このようにすることで、入力データを正しく再構成できるのに必要な情報のみを抽出するエンコーダを得ることができる。
 その際、従来のVAEにおいては、「低次元のガウス分布にエンコード」の制約が強すぎて、再構成に必要な情報までも削減してしまっている可能性があるという問題がある。これが「強すぎる正則化」の問題である。
 本発明によれば、IoT機器の異常検知の精度の低下を抑止することができる。
図1は、第1の実施形態に係る検知システムの構成の一例を示す図である。 図2は、第1の実施形態に係る検知装置の構成の一例を示す図である。 図3は、第1の実施形態に係る生成モデルについて説明するための図である。 図4は、第1の実施形態に係る検知装置の処理の流れを示すフローチャートである。 図5は、第1の実施形態に係る検知装置の処理の流れを示すフローチャートである。 図6は、検知プログラムを実行するコンピュータの一例を示す図である。
 以下に、本願に係る検知装置及び検知方法の実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
[第1の実施形態の構成]
 まず、図1を用いて、第1の実施形態に係る検知システムの構成について説明する。図1は、第1の実施形態に係る検知システムの構成の一例を示す図である。図1に示すように、検知システム1は、検知装置10及びIoT機器20を有する。
 検知装置10は、IoT機器20と外部ネットワーク30との通信に関する情報を取得する。例えば、検知装置10は、IoT機器20と外部ネットワーク30との間に備えられたゲートウェイから情報を取得することができる。また、例えば、検知装置10は、トラフィックセッション情報を取得することができる。また、検知装置10は、取得した情報を使って学習した生成モデルを用いて、IoT機器20の異常の検知を行う。また、IoT機器20は、監視カメラやウェアラブルデバイス等の機器に通信機能を備えたものである。
 次に、図2を用いて、検知装置10の構成について説明する。図2は、第1の実施形態に係る検知装置の構成の一例を示す図である。図2に示すように、検知装置10は、入出力部11、通信部12、記憶部13及び制御部14を有する。
 ここで、検知装置10は、VAEを基にした生成モデルを用いて検知及び学習を行う。図3を用いて、本実施形態で用いられる生成モデルについて説明する。図3は、第1の実施形態に係る生成モデルについて説明するための図である。
 図3に示すように、本実施形態の生成モデルは、従来のVAEと同様に、オートエンコーダを利用したモデルである。生成モデルは、入力層、エンコーダ、デコーダ及び出力層を有する。生成モデルは、入力層に入力されたデータをエンコードし、エンコードしたデータを基に、確率変数である潜在変数を生成し、当該潜在変数から確率的に決定された値をデコードし、デコードしたデータを出力データとして出力層に出力する。
 従来のVAEにおける潜在変数は、単峰のガウス分布で表される。これに対し、本実施形態の生成モデルにおける潜在変数は、多峰のガウス分布、すなわち混合ガウス分布で表される。
 ここで、本実施形態の生成モデルの最適化を行うための目的関数は、エンコーダをq(z|x)、潜在変数をp(z)、デコーダをp(x|z)とすると、(1)式のように表される。
Figure JPOXMLDOC01-appb-M000001
 このとき、q(z|x)は、混合ガウス分布であり、(2)式のように表される。
Figure JPOXMLDOC01-appb-M000002
 πは、平均がμ、分散がσであるガウス分布N(μ,σ)に設定された重みである。π、μ、σは、生成モデルの学習によって更新されるパラメータである。また、πの合計は常に一定の値になるようにしてもよい。例えば、q(z|x)が3つのガウス分布からなる混合ガウス分布である場合、π+π+π=1という制約条件が設定されていてもよい。
 さらに、q(z|x)が混合ガウス分布である場合、検知装置10は、(1)式の目的関数のカルバックラーダイバージェンス((3)式)を計算するために、参考文献1("Lower and Upper Bounds for Approximation of the Kullback-Leibler Divergence Between Gaussian Mixture Models" by Durrien, Thiran, and Kelly (2012))又は参考文献2("Approximating the Kullback Leibler divergence between Gaussian Mixture Models" by Hershey and Olsen (2007))に記載の手法を用いることができる。
Figure JPOXMLDOC01-appb-M000003
 一例として、検知装置10は、カルバックラーダイバージェンスを(4)式のように分解し、(4)式の第1項及び第2項のそれぞれについて、Jensenの不等式を用いて下限又は上限を計算する。そして、検知装置10は、計算した下限又は上限を組み合わせることで、(2)式のカルバックラーダイバージェンスを近似的に計算する。
Figure JPOXMLDOC01-appb-M000004
 このように、検知装置10は、混合ガウス分布に従う潜在変数を使って出力データを計算するため、単一のガウス分布を使う場合と比較して、潜在変数に多くの情報を持たせることができる。このため、本実施形態によれば、従来のVAEに比べて正則化の度合いを弱めることができ、検知精度の低下を抑止することが可能になる。
 図2に戻り、入出力部11は、ユーザからのデータの入力を受け付ける。入出力部11は、例えば、マウスやキーボード等の入力装置、及びディスプレイやタッチパネル等の表示装置を含む。通信部12は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部12はNIC(Network Interface Card)である。例えば、通信部12は、IoT機器20、及びIoT機器20と外部ネットワーク30との間に備えられたゲートウェイ等との間でデータ通信を行う。
 記憶部13は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部13は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部13は、検知装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部13は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部13は、モデルDB131を有する。モデルDB131は、学習済みの生成モデルのパラメータ等を記憶する。
 制御部14は、検知装置10全体を制御する。制御部14は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部14は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部14は、取得部141、抽出部142、計算部143、更新部144及び検知部145を有する。
 取得部141は、機器の通信に関する情報を取得する。例えば、取得部141は、IoT機器の通信に関するログからトラフィックセッション情報を取得する。例えば、取得部141は、トラフィックセッション情報として、IoT機器20におけるデータ量、送受信されたパケットの数及びサイズ等を取得する。また、例えば、取得部141は、IoT機器20及び通信先のMACアドレス、IPアドレス、ポート番号、通信プロトコル等を取得する。
 抽出部142は、取得部141によって取得された通信に関する情報から所定の特徴量を抽出する。例えば、抽出部142は、取得部141によって取得された情報に含まれるデータ量やパケット数等の量的情報を正規化した値、又は当該情報に含まれる各種アドレスやプロトコル等の質的情報を数値化した値等を要素として含む特徴ベクトルを生成する。
 計算部143は、混合ガウス分布に従う確率変数である潜在変数及び入力されたデータを基に出力データを生成する生成モデルに、通信に関する情報の特徴を示すデータを入力し、出力データを計算する。計算部143は、抽出部142によって抽出されたデータを、図3に示すような生成モデルの入力層に入力し、出力データを生成するための計算を実行する。
 更新部144は、出力データと生成モデルに入力した特徴量との差分が小さくなるように、生成モデルのパラメータを更新する。具体的には、更新部144は、(1)式の目的関数が最適化されるようにパラメータを更新する。このとき、更新部144は、混合ガウス分布に含まれ、それぞれに重みが設定されたガウス分布の、平均、分散及び重みを更新する。これにより、更新部144は、正常状態にある通信の特徴を生成モデルに学習させる。
 検知部145は、出力データを基に計算したアノマリスコアを用いて、機器の異常の検知を行う。検知部145は、計算部143によって生成モデルに入力された特徴量と、生成モデルから出力された出力データとの差分が大きいほど大きくなり、当該差分が小さいほど小さくなるようにアノマリスコアを計算する。つまり、アノマリスコアは、検知対象の通信の状態の、通常状態にある通信の特徴からのかい離度合いを示すスコアである。検知部145は、アノマリスコアが閾値を超えている場合、異常が発生していることを検知する。
[第1の実施形態の処理]
 図4及び図5を用いて検知装置10の処理について説明する。図4及び図5は、第1の実施形態に係る検知装置の処理の流れを示すフローチャートである。図4に示すように、まず、検知装置10は、IoT機器20の通信に関する情報を取得する(ステップS11)。
 次に、検知装置10は、取得した情報から特徴量を抽出する(ステップS12)。また、検知装置10は、抽出した特徴量を生成モデルに入力し、出力データを計算する(ステップS13)。出力データを計算する処理については、後に図5を用いて説明する。
 検知装置10は、生成モデルの学習を行う場合及び異常の検知を行う場合の両方で、ステップS11からステップS13までの処理を行う。ここで、検知装置10が生成モデルの学習を行う場合(ステップS14、学習)、計算した出力データを基に生成モデルを更新する(ステップS15)。一方で、検知装置10が異常の検知を行う場合(ステップS14、検知)、計算した出力データを基にアノマリスコアを計算し、異常を検知する(ステップS16)。
 図5を用いて、出力データを計算する処理について説明する。図5に示すように、検知装置10は、入力層に入力された特徴量をエンコードする(ステップS131)。そして、検知装置10は、エンコードされたデータから混合ガウス分布に基づく確率変数を生成する(ステップS132)。さらに、検知装置10は、確率変数から確率的に決定された値をデコードしたデータを、出力層から出力データとして出力する(ステップS133)。
[第1の実施形態の効果]
 第1の実施形態において、検知装置10は、機器の通信に関する情報を取得する。また、検知装置10は、混合ガウス分布に従う確率変数である潜在変数及び入力されたデータを基に出力データを生成する生成モデルに、通信に関する情報の特徴を示すデータを入力し、出力データを計算する。検知装置10は、出力データを基に計算したアノマリスコアを用いて、機器の異常の検知を行う。
 このように、第1の実施形態では、潜在変数が従う分布を混合ガウス分布としている。これにより、第1の実施形態では、潜在変数が単一のガウス分布に従うとした場合に比べ、潜在変数により多くの情報を持たせることができ、確率密度推定の精度が低下を抑止することができる。このため、第1の実施形態によれば、IoT機器の異常検知の精度の低下を抑止することができる。
 ここで、従来のVAEを用いた手法と本実施形態の手法との異常検知精度を比較した実験について説明する。まず、本実験では、異常検知対象のデータセットとして、Letter(参考URL:http://odds.cs.stonybrook.edu/letter-recognition-dataset/)を用いた。また、学習におけるエポック数を1000回とした。また、実施形態の生成モデルにおける混合ガウス分布の要素分布の混合数を3とした。そして、それぞれの手法で学習及び検知を10回ずつ行い、AUC(Area Under the Curve)値の平均により評価を行った。
 実験の結果、従来のVAEを用いた手法のAUC値の平均は0.942±0.0198であった。これに対し、本実施形態の手法のAUC値の平均は0.97976±0.0103であった。これより、本実施形態の手法は、従来のVAEを用いた手法と比べ、異常検知精度が有意に向上しているといえる。
 また、更新部144は、出力データと生成モデルに入力した特徴量との差分が小さくなるように、生成モデルのパラメータを更新する。このように、第1の実施形態によれば、入力されたデータを正常状態にある通信の特徴を示すものとみなし、生成モデルの学習を行うことが可能になる。
 また、更新部144は、混合ガウス分布に含まれ、それぞれに重みが設定されたガウス分布の、平均、分散及び重みを更新する。このように、第1の実施形態によれば、混合ガウス分布の重みを更新することで、混合ガウス分布に含まれる分布の峰のうちどの分布の峰を潰すかを選択し、分布形状を最適化することが可能になる。
[プログラム]
 一実施形態として、検知装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
 また、検知装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の検知に関するサービスを提供する検知サーバ装置として実装することもできる。例えば、検知サーバ装置は、IoT機器の通信に関する情報を入力とし、検知結果を出力とする検知サービスを提供するサーバ装置として実装される。この場合、検知サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の検知に関するサービスを提供するクラウドとして実装することとしてもかまわない。
 図6は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、検知装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、検知装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 10 検知装置
 11 入出力部
 12 通信部
 13 記憶部
 14 制御部
 20 IoT機器
 30 外部ネットワーク
 141 取得部
 142 抽出部
 143 計算部
 144 更新部
 145 検知部

Claims (4)

  1.  機器の通信に関する情報を取得する取得部と、
     混合ガウス分布に従う確率変数である潜在変数及び入力されたデータを基に出力データを生成する生成モデルに、前記通信に関する情報の特徴を示すデータを入力し、前記出力データを計算する計算部と、
     前記出力データを基に計算したアノマリスコアを用いて、前記機器の異常の検知を行う検知部と、
     を有することを特徴とする検知装置。
  2.  前記出力データと前記生成モデルに入力した特徴量との差分が小さくなるように、前記生成モデルのパラメータを更新する更新部をさらに有することを特徴とする請求項1に記載の検知装置。
  3.  前記更新部は、前記混合ガウス分布に含まれ、それぞれに重みが設定されたガウス分布の、平均、分散及び前記重みを更新することを特徴とする請求項2に記載の検知装置。
  4.  コンピュータによって実行される検知方法であって、
     機器の通信に関する情報を取得する取得工程と、
     混合ガウス分布に従う確率変数である潜在変数を基に出力データを生成する生成モデルに、前記通信に関する情報の特徴を示す入力データを入力し、前記出力データを計算する計算工程と、
     前記出力データを基に計算したアノマリスコアを用いて、前記機器の異常の検知を行う検知工程と、
     を含むことを特徴とする検知方法。
PCT/JP2019/024606 2018-06-21 2019-06-20 検知装置及び検知方法 WO2019245006A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/973,039 US11847210B2 (en) 2018-06-21 2019-06-20 Detecting device and detecting method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018118143A JP7091872B2 (ja) 2018-06-21 2018-06-21 検知装置及び検知方法
JP2018-118143 2018-06-21

Publications (1)

Publication Number Publication Date
WO2019245006A1 true WO2019245006A1 (ja) 2019-12-26

Family

ID=68982995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/024606 WO2019245006A1 (ja) 2018-06-21 2019-06-20 検知装置及び検知方法

Country Status (3)

Country Link
US (1) US11847210B2 (ja)
JP (1) JP7091872B2 (ja)
WO (1) WO2019245006A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022059209A1 (ja) * 2020-09-18 2022-03-24 日本電信電話株式会社 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928208B2 (en) * 2018-10-02 2024-03-12 Nippon Telegraph And Telephone Corporation Calculation device, calculation method, and calculation program
JP7497163B2 (ja) 2020-02-13 2024-06-10 株式会社デンソーテン 異常検出装置および異常検出方法
AU2020428327B2 (en) * 2020-02-14 2023-11-16 Nippon Telegraph And Telephone Corporation Learning device, learning method, and learning program
CN111444471B (zh) * 2020-02-25 2023-01-31 国网河南省电力公司电力科学研究院 一种基于多元高斯分布的电缆生产质量异常检测方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214171A (ja) * 2012-03-31 2013-10-17 Nec Corp 性能監視装置、性能監視方法、及びそのプログラム
JP2018073258A (ja) * 2016-11-02 2018-05-10 日本電信電話株式会社 検知装置、検知方法および検知プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054505A1 (en) * 2001-12-12 2004-03-18 Lee Susan C. Hierarchial neural network intrusion detector
CN104200113A (zh) * 2014-09-10 2014-12-10 山东农业大学 基于高斯过程的物联网数据不确定性度量、预测与野值剔除方法
US11327475B2 (en) * 2016-05-09 2022-05-10 Strong Force Iot Portfolio 2016, Llc Methods and systems for intelligent collection and analysis of vehicle data
US10181032B1 (en) * 2017-07-17 2019-01-15 Sift Science, Inc. System and methods for digital account threat detection
US11934520B2 (en) * 2018-03-28 2024-03-19 Nvidia Corporation Detecting data anomalies on a data interface using machine learning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214171A (ja) * 2012-03-31 2013-10-17 Nec Corp 性能監視装置、性能監視方法、及びそのプログラム
JP2018073258A (ja) * 2016-11-02 2018-05-10 日本電信電話株式会社 検知装置、検知方法および検知プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KOIZUMI, DAICHI ET AL.: "Image Contents Retrieval based on Linguistic Meta-Data", PROCEEDINGS OF THE 11TH ANNUAL MEETING OF THE ASSOCIATION FOR NATURAL LANGUAGE PROCESSING, 15 March 2005 (2005-03-15), pages 737 - 740 *
TOMCZAK, JAKUB M. ET AL.: "VAE with a VampPrior", PROCEEDINGS OF MACHINE LEARNING RESEARCH, 26 February 2018 (2018-02-26), pages 1214 - 1223, XP055664381, Retrieved from the Internet <URL:https://arxiv.org/pdf/1705.07120v5.pdf> [retrieved on 20190815] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022059209A1 (ja) * 2020-09-18 2022-03-24 日本電信電話株式会社 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム

Also Published As

Publication number Publication date
US20210271755A1 (en) 2021-09-02
JP7091872B2 (ja) 2022-06-28
US11847210B2 (en) 2023-12-19
JP2019220892A (ja) 2019-12-26

Similar Documents

Publication Publication Date Title
WO2019245006A1 (ja) 検知装置及び検知方法
US20230119658A1 (en) Adversarial attack prevention and malware detection system
JP6606050B2 (ja) 検知装置、検知方法および検知プログラム
JP6870508B2 (ja) 学習プログラム、学習方法及び学習装置
CN112508200B (zh) 处理机器学习模型文件的方法、装置、设备、介质和程序
CN112231592A (zh) 基于图的网络社团发现方法、装置、设备以及存储介质
US20230027149A1 (en) Network Anomaly Control
US11563654B2 (en) Detection device and detection method
CN113742723A (zh) 利用深度生成模型检测恶意软件
JP6767312B2 (ja) 検知システム、検知方法及び検知プログラム
CN115496970A (zh) 图像任务模型的训练方法、图像识别方法以及相关装置
CN113627536A (zh) 模型训练、视频分类方法,装置,设备以及存储介质
JP2019040423A (ja) 検知装置、検知方法および検知プログラム
CN115170919B (zh) 图像处理模型训练及图像处理方法、装置、设备和存储介质
WO2023050670A1 (zh) 虚假信息检测方法、系统、计算机设备及可读存储介质
JP7331938B2 (ja) 学習装置、推定装置、学習方法及び学習プログラム
CN114758130A (zh) 图像处理及模型训练方法、装置、设备和存储介质
CN113989152A (zh) 图像增强方法、装置、设备以及存储介质
EP4105802A1 (en) Method, computer-readable medium and system to detect malicious software in hierarchically structured files
EP4202800A1 (en) Learning device, learning method, and learning program
JP7444270B2 (ja) 判定装置、判定方法及び判定プログラム
US20230267216A1 (en) Machine learning models with multi-budget differential privacy
US20240220781A1 (en) Differentially-private Neural Networks Using Architecture Search
CN113408297A (zh) 生成节点表示的方法、装置、电子设备和可读存储介质
CN115913616A (zh) 基于异构图异常链路发现的横向移动攻击检测方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19823586

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19823586

Country of ref document: EP

Kind code of ref document: A1