WO2022059209A1 - 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム - Google Patents

検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム Download PDF

Info

Publication number
WO2022059209A1
WO2022059209A1 PCT/JP2020/035631 JP2020035631W WO2022059209A1 WO 2022059209 A1 WO2022059209 A1 WO 2022059209A1 JP 2020035631 W JP2020035631 W JP 2020035631W WO 2022059209 A1 WO2022059209 A1 WO 2022059209A1
Authority
WO
WIPO (PCT)
Prior art keywords
detection
packet
fixed
learning
length vector
Prior art date
Application number
PCT/JP2020/035631
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 AU2020468291A priority Critical patent/AU2020468291A1/en
Priority to CN202080105301.4A priority patent/CN116194932A/zh
Priority to EP20954194.5A priority patent/EP4198841A4/en
Priority to PCT/JP2020/035631 priority patent/WO2022059209A1/ja
Priority to JP2022550325A priority patent/JP7533596B2/ja
Priority to US18/025,916 priority patent/US20230334262A1/en
Publication of WO2022059209A1 publication Critical patent/WO2022059209A1/ja
Priority to AU2024216361A priority patent/AU2024216361A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder 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/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative 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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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

Definitions

  • the present invention it is possible to detect an abnormality occurring in the contents of a packet without depending on a communication protocol.
  • the encoding unit 152 converts each packet into a fixed-length vector that reflects the characteristics of each packet by using the pre-training model of the natural language processing system ((3) in FIG. 3).
  • the speed of the belt conveyor is monitored by PLC and circulates at a constant speed (normal system).
  • abnormal system When the speed of the belt conveyor exceeds a certain speed (abnormal system), the PLC issues an emergency stop command to the entire system.
  • the setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 and executes them as needed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Image Analysis (AREA)
  • Fire Alarms (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

検知装置(20)は、1つの検知対象のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換するエンコード部(252)と、検知モデルを用いて、エンコード部(252)によって変換された固定長ベクトルを基に、検知対象のパケットの異常の有無を検知する検知部(253)と、を有する。

Description

検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム
 本発明は、検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラムに関する。
 産業系及びビル系のネットワーク制御システムで用いられる通信に対する、異常検知システムや侵入検知システム(OT-IDS:Operational Technology-Intrusion Detection System)に注目が集まっている。
 制御系の通信は、例えば温度の設定値が一桁変わってしまうだけでも重大な事故に繋がる恐れがあるため、通信内容(ペイロード)の1byteの不正な書き換えも見逃さずに検知する必要がある。したがって、産業系及びビル系ネットワーク制御システムを対象とした異常検知システムでは、ペイロードの内容の精緻な分析が必要不可欠である。
Wireshark, [令和2年8月3日検索],インターネット<URL:https://www.wireshark.org/download.html> zeek, [令和2年8月3日検索],インターネット<URL:http://www.3gpp.org/ftp//Specs/archive/29_series/29.165/29165-f60.zip>
 しかしながら、産業系及びビル系のネットワークでは、様々な通信プロトコルが用いられており、中には仕様非公開の独自プロトコルが用いられていることがある。したがって、従来技術の通信パケットのフレームフォーマットやパーサ等の事前知識を用いた分析では、分析がうまくいかない場合が多々ある。
 本発明は、上記に鑑みてなされたものであって、通信プロトコルに依存することなく、パケットの内容に発生する異常を検知することができる検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、1つの検知対象のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第1の変換部と、検知モデルを用いて、第1の変換部によって変換された固定長ベクトルを基に、検知対象のパケットの異常の有無を検知する第1の検知部と、を有することを特徴とする。
 また、本発明に係る学習装置は、1つの正常な状態のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第2の変換部と、検知モデルを用いて、第2の変換部によって変換された固定長ベクトルを基に、正常な状態のパケットの異常の有無を検知する第2の検知部と、検知モデルに、正常な状態のパケットに対応する固定長ベクトルのパターンを学習させる学習制御部と、を有することを特徴とする。
 本発明によれば、通信プロトコルに依存することなく、パケットの内容に発生する異常を検知することができる。
図1は、実施の形態に係る検知システムの構成の一例を示す図である。 図2は、図1に示す学習装置の構成の一例を示す図である。 図3は、図2に示す学習装置が実行する学習処理の流れを説明する図である。 図4は、文書の学習の一例を説明する図である。 図5は、図1に示す検知装置の構成の一例を示す図である。 図6は、図5に示す検知装置が実行する検知処理の流れを説明する図である。 図7は、実施の形態に係る学習方法の処理手順を示すフローチャートである。 図8は、実施の形態に係る検知方法の処理手順を示すフローチャートである。 図9は、評価実験を行った制御システムの概要を示す図である。 図10は、評価実験の結果を示す図である。 図11は、プログラムが実行されることにより、学習装置及び検知装置が実現されるコンピュータの一例を示す図である。
 以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
 本発明の実施の形態について説明する。本実施の形態では、各々のプロトコルを相異なる言語とみなし、自然言語処理の技術を応用することで、1つのパケットを1つの固定長ベクトルにエンコードする。そして、本実施の形態では、エンコードしたベクトルの正常パターンを抽出し、それとは異なるベクトルを検知することで、異常検知を行う。これにより、本実施の形態では、通信プロトコルに依存することなく、パケットの内容に発生する異常を検知することができる。
[検知システム]
 図1は、実施の形態に係る検知システムの構成の一例を示す図である。図1に示すように、実施の形態に係る検知システム1は、学習装置10及び検知装置20を有する。学習装置10及び検知装置20は、例えば、ネットワーク等を介して接続する。また、学習装置10及び検知装置20は、例えば、ネットワーク等を介して、外部装置と接続する。
 学習装置10は、学習対象データである正常な状態の1つのパケットを、自然言語処理技術を用いて変換した1つの固定長ベクトルを基に、正常な状態のパケットに対応する固定長ベクトルのパターンを検知モデルに学習させる。
 そして、検知装置20は、検知対象のパケットを、自然言語処理技術を用いて、固定長ベクトルに変換し、学習装置10において学習された検知モデルを用いて、変換された固定長ベクトルを基に、検知対象のパケットの異常の有無を検知する。
[学習装置の構成]
 次に、学習装置10の構成について説明する。図2は、図1に示す学習装置10の構成の一例を示す図である。図2に示すように、学習装置10は、入力部11、出力部12、通信部13、記憶部14及び制御部15を有する。また、図3は、図2に示す学習装置10が実行する学習処理の流れを説明する図である。
 入力部11は、学習装置10の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部11は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
 出力部12は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現される。
 通信部13は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15(後述)との間の通信を行う。例えば、通信部13は、ネットワークを介して、学習対象データである正常な状態のパケットを受信し、制御部15に出力する。また、通信部13は、学習済みの検知モデルや、固定長ベクトルへの変換規則を学習したエンコーダのパラメータを、ネットワークを介して、検知装置20へ出力する。
 記憶部14は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部14は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部14は、学習装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部14は、プログラムの実行で用いられる各種情報を記憶する。
 制御部15は、学習装置10全体を制御する。制御部15は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部15は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。制御部15は、処理部150及び学習制御部154を有する。
 処理部150は、学習対象データである正常な状態のパケットをエンコードし、エンコード後に、検知モデルを用いて、該パケットの異常の有無を検知する処理を行う。処理部150は、収集部151、エンコード部152(第2の変換部)及び検知部153(第2の検知部)を有する。
 学習制御部154は、検知モデルに、正常な状態のパケットに対応する固定長ベクトルのパターンを学習させる。学習制御部154は、エンコード部152に、正常な状態のパケットを用いて、パケットの変換規則を学習させる。
 収集部151は、学習対象のパケットを収集する。収集部151は、学習対象のパケットとして、正常な状態のパケット(可変長)を複数取得する(図3の(1))。
 エンコード部152は、1つの正常な状態のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する。学習制御部154は、エンコード部152に、正常な状態のパケットを用いて、1つのパケットを1つの固定長ベクトルに変換する規則を学習させる。すなわち、エンコード部152は、学習制御部154の制御にしたがい、正常な状態のパケットを用いて、1つのパケットを1つの固定長ベクトルに変換する規則を学習する。学習制御部154は、エンコード部152に、正常な状態のパケットにおける内部のバイト列の並びの頻出パターンを学習させる(図3の(2))。言い換えると、エンコード部152は、学習制御部154の制御にしたがい、正常な状態のパケットにおける内部のバイト列の並びの頻出パターンを学習する。
 エンコード部152は、Word2Vec(参考文献1参照)、Doc2Vec(参考文献2参照)、ELMo(参考文献3参照)等の自然言語処理系のPre-training Modelを用いて、1つのパケットを1つの文章とみなし、1つの固定長ベクトルへ変換する規則を学習する。なお、エンコード部152に採用するアルゴリズムによって、学習方法は異なる。
参考文献1:Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean,“Efficient Estimation of Word Representations in Vector Space”, [令和2年9月8日検索],インターネット<URL:https://arxiv.org/abs/1301.3781>
参考文献2:Quoc V. Le, and Tomas Mikolov,“Distributed Representations of Sentences and Documents”, [令和2年9月8日検索],インターネット<URL:https://arxiv.org/abs/1405.4053>
参考文献3:Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, , and Luke Zettlemoyer,“Deep contextualized word representations”, [令和2年9月8日検索],インターネット<URL:https://arxiv.org/abs/1802.05365>
 例えば、Word2Vecでは、Skip-GramやCBOW等の補助タスクの学習を通じて、単語の分散表現を学習する。Skip-Gramは、ある単語からその周辺語を予測するタスクである。また、CBOWは、周辺語から中心にある単語を予測するタスクである。文章は単語が集まったものであるため、文書中のすべての単語の平均を文書のベクトルとみなすことで、間接的に文章の分散表現を獲得できる。
 図4は、文書の学習の一例を説明する図である。Word2Vec(Skip-Gram)では、「着目単語から、周辺の単語を予測する」というタスクを解かせることによって、良い中間表現を得ることを目的とする。例えば、「I like an apple.」という文書の学習する場合、手順1において、「I」に着目し、「like」を予測する。手順2において、「like」に着目→「I」「an」を予測する。手順3において、「an」に着目し、「like」「apple」を予測する。そして、手順4において、「apple」に着目し、「an」を予測する。
 Doc2Vec、ELMo等のモデルでは、それぞれのモデルに応じた補助タスクの学習を通じて文書の分散表現を直接獲得することができる。この際、Pre-training Modelの学習のために必要となる分かち書き等の前処理では、パケットを16進数で表し、1byteごとに分割し、用いるPre-training Modelに応じて位置情報(パケットの何番目のバイトか等)を付与する。
 そして、エンコード部152は、自然言語処理系のPre-training Modelを用いて、各パケットを、各パケットの特徴を反映した固定長ベクトルに変換する(図3の(3))。
 検知部153は、検知モデルを用いて、エンコード部152によって変換された固定長ベクトルを基に、正常な状態のパケットの異常の有無を検知する。学習制御部154は、検知モデルに、正常な状態のパケットに対応する固定長ベクトルのパターンを学習させる。
 検知部153では、例えば、VAE(Variational Auto Encoder)、AE(Auto Encoder)、LoF(Local Outlier Factor)等の教師なし学習による異常検知モデルを検知モデルとして用いる。例えば、VAEでは、正常な通信パケットの確率密度を学習後、確率密度の低い通信を異常として検知するため、正常な通信パケットのみが分かればよく、全ての悪性データを学習せずとも異常検知が可能である。
 検知部153は、検知モデルを用いて、エンコード部152によって変換された固定長ベクトルに対する異常度(異常パケットの発生頻度)を取得することで、正常な状態のパケットに対応する固定長ベクトルに基に、異常度の学習を行う(図3の(4))。検知部153は、検知モデルを用いて、例えば、異常度としてアノマリスコアを取得する(図3の(5))。学習制御部154は、検知部153が取得する異常度が最小化されるように、検知モデルのパラメータを調整する。
 学習装置10は、学習制御部154の制御にしたがって学習された、エンコード部152における1つのパケットを1つの固定長ベクトルに変換する規則、学習制御部154によって調整されたVAE等の検知モデルとそのパラメータを検知装置20に出力する。
[検知装置の構成]
 次に、検知装置20の構成について説明する。図5は、図1に示す検知装置20の構成の一例を示す図である。図5に示すように、検知装置20は、入力部21、出力部22、通信部23、記憶部24及び制御部25を有する。また、図6は、図5に示す検知装置20が実行する検知処理の流れを説明する図である。
 入力部21は、検知装置20の操作者からの各種操作を受け付ける入力インタフェースであり、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。
 出力部22は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現される。
 通信部23は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースであり、NICやインターネットなどの電気通信回線を介した他の装置と制御部25(後述)との間の通信を行う。例えば、通信部23は、ネットワークを介して、検知対象のパケットを受信し、制御部25に出力する。また、通信部23は、検知対象のパケットに対する異常の有無を、ネットワークを介して、検知装置20へ出力する。
 記憶部24は、HDD、SSD、光ディスク等の記憶装置である。なお、記憶部24は、RAM、フラッシュメモリ、NVSRAM等のデータを書き換え可能な半導体メモリであってもよい。記憶部24は、検知装置20で実行されるOSや各種プログラムを記憶する。さらに、記憶部24は、プログラムの実行で用いられる各種情報を記憶する。
 制御部25は、検知装置20全体を制御する。制御部25は、例えば、CPU、MPU等の電子回路や、ASIC、FPGA等の集積回路である。また、制御部25は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部25は、各種のプログラムが動作することにより各種の処理部として機能する。制御部25は、収集部251、エンコード部252(第1の変換部)及び検知部253(第1の検知部)を有する。
 収集部251は、検知対象のパケットを収集する。収集部251は、検知対象のパケットとして、可変長のパケットを複数取得する(図6の(1))。
 エンコード部252は、1つの検知対象のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する。エンコード部152は、Word2Vec、Doc2Vec、ELMo等の自然言語処理系のPre-training Modelを用いて、1つのパケットを1つの文章とみなし、1つの固定長ベクトルへ変換する。エンコード部252は、学習装置10から出力された、1つのパケットを1つの固定長ベクトルに変換する規則を用いて、1つの検知対象のパケットを、1つの固定長ベクトルに変換する。このように、エンコード部152は、自然言語処理系のPre-training Modelを用いて、可変長の各パケットを、各パケットの特徴を反映した固定長ベクトルに変換する(図6の(2))。
 検知部253は、検知モデルを用いて、エンコード部252によって変換された固定長ベクトルを基に、検知対象のパケットの異常の有無を検知する。検知部253は、エンコード部252によって変換された固定長ベクトルのパターンと、正常な状態のパケットに対応する固定長ベクトルのパターンとが異なる場合に、検知対象のパケットの異常を検知する。
 検知部253は、VAE、AE、LoF等の教師なし学習による異常検知モデルであって、学習装置10における学習処理によって、パラメータが調整済みである検知モデルを用いる。検知部253は、検知モデルを用いることで、エンコード部252によって変換された固定長ベクトルに対する異常度(例えば、アノマリスコア)を取得する(図6の(3))。そして、検知部253は、アノマリスコアが所定の閾値を超えている場合に、検知対象のパケットの異常を検知し、アラートを発生する(図6の(4))。閾値は、例えば、要求されている検知精度や、検知装置20のリソース等に応じて、設定される。
[学習処理]
 次に、実施の形態に係る学習処理について説明する。図7は、実施の形態に係る学習方法の処理手順を示すフローチャートである。
 図7に示すように、学習装置10では、収集部151は、学習対象のパケット(可変長)を収集する(ステップS1)。続いて、エンコード部152は、学習制御部154の制御にしたがい、正常な状態のパケットを用いて、1つのパケットを1つの固定長ベクトルに変換する規則を学習する(ステップS2)。
 エンコード部152は、学習対象のパケットを、自然言語処理技術を用いて、固定長ベクトルにそれぞれ変換する(ステップS3)。そして、検知部153は、学習制御部154の制御の基、検知モデルに、正常な状態のパケットに対応する固定長ベクトルのパターンを学習させる(ステップS4)。そして、学習装置10は、1つのパケットを1つの固定長ベクトルに変換する規則、学習制御部154によって調整されたVAE等の検知モデルとそのパラメータを検知装置20に出力して、学習処理を終了する。
[検知処理]
 次に、実施の形態に係る検知処理について説明する。図8は、実施の形態に係る検知方法の処理手順を示すフローチャートである。
 図8に示すように、検知装置20では、検知対象のパケット(可変長)を収集する(ステップS11)。エンコード部252は、1つの検知対象のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する(ステップS12)。
 そして、検知部253は、検知モデルを用いて、エンコード部252によって変換された固定長ベクトルに対するアノマリスコアを取得する(ステップS13)。検知部253は、取得したアノマリスコアは所定の閾値を超えているか否かを判定する(ステップS14)。
 アノマリスコアが所定の閾値を超えている場合(ステップS14:Yes)、検知部253は、検知対象のパケットの異常を検知し、アラートを発生する(ステップS15)。また、アノマリスコア所定の閾値以下である場合(ステップS14:No)、検知装置20は、この検知対象のパケットに対する検知処理を終了する。
[評価実験]
 本実施の形態の検知処理を適用し、検知性能を評価する評価実験を行った。評価実験では、仮想環境を用いて、正方形に設置したベルトコンベア等を、PLC(Programmable Logic Controller)を用いて制御する簡易的な制御システムを構築した。仮想環境として、Factory.io及びCodesysを用いた。図9は、評価実験を行った制御システムの概要を示す図である。
 PLCは、ベルトコンベアCの四隅に設置された対物センサからの情報に基づき、ベルトコンベアCの速度や四隅に設置されたプッシャーのON/OFFの制御を、Modbus/TCPプロトコルを用いて行う。また、ベルトコンベアCの速度は、仮想環境内のベルトコンベアの制御盤からも手動で変更することができる。
 ベルトコンベアの速度は、PLCによってモニタリングされており、一定速度で周回させる(正常系)。ベルトコンベアの速度が一定速度を超過する(異常系)と、PLCよりシステム全体に向けて緊急停止命令が発せられる。このようなシステムにおいて、正常系のパケットと、手動で速度を異常値に設定した場合における異常系のパケットとを収集し、異常系の際に発生したパケットを検知できるか確かめる実験を行った。
 図10は、評価実験の結果を示す図である。評価実験の結果として、2つのROC(Receiver Operating Characteristic)曲線を示す。図10の(1)は、PLCから送信されたパケットに対する結果であり、図10の(2)は、PLCが受信したパケットに対する結果である。送受信のいずれにおいても、ROC曲線の下部面積であるAUC(Area Under the Curve)が、0.95を超えている。このため、本実施の形態に係る検知方法は、異常の発生をよく検知することができており、良好な結果を示した。
[実施の形態の効果]
 このように、実施の形態では、自然言語処理の技術をパケットのベクトルかに応用し、任意のパケットに適用可能な教師なし学習による異常検知を提案した。
 本実施の形態では、各々のプロトコルを未知の言語とみなし、自然言語処理の技術を応用することで、1つのパケット(可変長)を1つの固定長ベクトルにエンコードする。この固定長のベクトルは、そのパケットの特徴を反映したベクトルとなっていることが期待できる。その後、エンコードしたベクトルの正常パターンを抽出し、それとは異なるベクトルを検知することで、異常検知を行う。制御系プロトコルのパケットは、通常、制御コマンドと複数のパラメータとから構成される。本実施の形態では、正常時のコマンド、パラメータ等のパターンを自然言語処理系の技術を用いることで、パケット中のバイナリから抽出し、抽象化した正常状態を学習することができる。
 この結果、本実施の形態によれば、任意のプロトコルのパケットに対して、パケットの内容を考慮した高精度の異常検知が可能となる。すなわち、本実施の形態によれば、Word2VecやELMo等の自然言語処理技術と、VAEやLOF等の教師なし異常検知技術とを組み合わせて用いることで、通信プロトコルに依存せず、パケットの内容に発生する異常を検知する異常検知システムを実現する。
 本実施の形態に係る検知方法は、IoT機器の異常検知システムに適用することができる。
 IoTネットワークに、ネットワークセンサを配置し、パケットのキャプチャを行う。キャプチャしたパケットを用いて、学習装置10では、エンコード部152及び検知部153の学習を行う。
 学習完了後、ネットワークセンサにより取得したパケットを、検知装置20に入力する。検知装置20では、エンコード部252が、パケットを固定長ベクトルにエンコード後、検知部253が、各パケットごとにアノマリスコアの算出を行う。検知部253は、このアノマリスコアを用いることで、評価対象のパケットが、学習時に取得したパケットと類似するか否か(つまり、正常なパケットであるか否か)の判定を行う。
[システム構成等]
 図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
 図11は、プログラムが実行されることにより、学習装置10及び検知装置20が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
 メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
 ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10及び検知装置20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10及び検知装置20における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
 また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
 なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
 以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
 1 検知システム
 10 学習装置
 11,21 入力部
 12,22 出力部
 13,23 通信部
 14,24 記憶部
 15,25 制御部
 20 検知装置
 150 処理部
 151,251 収集部
 152,252 エンコード部
 153,253 検知部
 154 学習制御部

Claims (11)

  1.  1つの検知対象のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第1の変換部と、
     検知モデルを用いて、前記第1の変換部によって変換された固定長ベクトルを基に、前記検知対象のパケットの異常の有無を検知する第1の検知部と、
     を有することを特徴とする検知装置。
  2.  前記第1の検知部は、前記第1の変換部によって変換された固定長ベクトルのパターンと、正常な状態のパケットに対応する固定長ベクトルのパターンとが異なる場合に、前記検知対象のパケットの異常を検知することを特徴とする請求項1に記載の検知装置。
  3.  前記第1の検知部は、前記第1の変換部によって変換された前記固定長ベクトルに対する異常度を取得し、前記異常度が所定の閾値を超えている場合に、前記検知対象のパケットの異常を検知することを特徴とする請求項1または2に記載の検知装置。
  4.  1つの正常な状態のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第2の変換部と、
     検知モデルを用いて、前記第2の変換部によって変換された固定長ベクトルを基に、前記正常な状態のパケットの異常の有無を検知する第2の検知部と、
     前記検知モデルに、前記正常な状態のパケットに対応する固定長ベクトルのパターンを学習させる学習制御部と、
     を有することを特徴とする学習装置。
  5.  前記第2の検知部は、前記第2の変換部によって変換された固定長ベクトルに対する異常度を取得し、
     前記学習制御部は、前記第2の検知部が取得する異常度が最小化されるように、前記検知モデルのパラメータを調整することを特徴とする請求項4に記載の学習装置。
  6.  前記学習制御部は、前記第2の変換部に、前記正常な状態のパケットを用いて、1つのパケットを1つの固定長ベクトルに変換する規則を学習させることを特徴とする請求項4または5に記載の学習装置。
  7.  前記学習制御部は、前記第2の変換部に、前記正常な状態のパケットにおける内部のバイト列の並びの頻出パターンを学習させることを特徴とする請求項6に記載の学習装置。
  8.  検知装置が実行する検知方法であって、
     1つの検知対象のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第1の変換工程と、
     検知モデルを用いて、前記第1の変換工程において変換された固定長ベクトルを基に、前記検知対象のパケットの異常の有無を検知する第1の検知工程と、
     を含んだことを特徴とする検知方法。
  9.  学習装置が実行する学習方法であって、
     1つの正常な状態のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第2の変換工程と、
     検知モデルを用いて、前記第2の変換工程において変換された固定長ベクトルを基に、前記正常な状態のパケットの異常の有無を検知する第2の検知工程と、
     前記検知モデルに、前記正常な状態のパケットに対応する固定長ベクトルのパターンを学習させる学習工程と、
     を含んだことを特徴とする学習方法。
  10.  1つの検知対象のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第1の変換ステップと、
     検知モデルを用いて、前記第1の変換ステップにおいて変換された固定長ベクトルを基に、前記検知対象のパケットの異常の有無を検知する第1の検知ステップと、
     をコンピュータに実行させるための検知プログラム。
  11.  1つの正常な状態のパケットを、自然言語処理技術を用いて、1つの固定長ベクトルに変換する第2の変換ステップと、
     検知モデルを用いて、前記第2の変換ステップにおいて変換された固定長ベクトルを基に、前記正常な状態のパケットの異常の有無を検知する第2の検知ステップと、
     前記検知モデルに、前記正常な状態のパケットに対応する固定長ベクトルのパターンを学習させる学習ステップと、
     をコンピュータに実行させるための学習プログラム。
PCT/JP2020/035631 2020-09-18 2020-09-18 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム WO2022059209A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
AU2020468291A AU2020468291A1 (en) 2020-09-18 2020-09-18 Detection device, learning device, detection method, learning method, detection program, and learning program
CN202080105301.4A CN116194932A (zh) 2020-09-18 2020-09-18 检测装置、学习装置、检测方法、学习方法、检测程序以及学习程序
EP20954194.5A EP4198841A4 (en) 2020-09-18 2020-09-18 DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, LEARNING METHOD, DETECTION PROGRAM AND LEARNING PROGRAM
PCT/JP2020/035631 WO2022059209A1 (ja) 2020-09-18 2020-09-18 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム
JP2022550325A JP7533596B2 (ja) 2020-09-18 2020-09-18 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム
US18/025,916 US20230334262A1 (en) 2020-09-18 2020-09-18 Detecting apparatus, training apparatus, detecting method, training method, detecting program, and training program
AU2024216361A AU2024216361A1 (en) 2020-09-18 2024-08-26 Detection device, learning device, detection method, learning method, detection program, and learning program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/035631 WO2022059209A1 (ja) 2020-09-18 2020-09-18 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム

Publications (1)

Publication Number Publication Date
WO2022059209A1 true WO2022059209A1 (ja) 2022-03-24

Family

ID=80776768

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/035631 WO2022059209A1 (ja) 2020-09-18 2020-09-18 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム

Country Status (6)

Country Link
US (1) US20230334262A1 (ja)
EP (1) EP4198841A4 (ja)
JP (1) JP7533596B2 (ja)
CN (1) CN116194932A (ja)
AU (2) AU2020468291A1 (ja)
WO (1) WO2022059209A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245006A1 (ja) * 2018-06-21 2019-12-26 日本電信電話株式会社 検知装置及び検知方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7082533B2 (ja) 2017-12-15 2022-06-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知方法および異常検知装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245006A1 (ja) * 2018-06-21 2019-12-26 日本電信電話株式会社 検知装置及び検知方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FURUTA, YUTO; TSUDA, YU; UCHARA, TETSUTARO: "Proposal of System to Select Targets to Preserve Using machine Learning", 2018 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY; JANUARY 23-26, 2018, 23 January 2018 (2018-01-23) - 26 January 2018 (2018-01-26), JP, pages 1 - 6, XP009543591 *
GREG CORRADOJEFFREY DEAN, EFFICIENT ESTIMATION OF WORD REPRESENTATIONS IN VECTOR SPACE, 8 September 2020 (2020-09-08)
MATTHEW E. PETERSMARK NEUMANNMOHIT IYYERMATT GARDNERCHRISTOPHER CLARKKENTON LEELUKE ZETTLEMOYER, DEEP CONTEXTUALIZED WORD REPRESENTATIONS, 8 September 2020 (2020-09-08)
QUOC V. LETOMAS MIKOLOV, DISTRIBUTED REPRESENTATIONS OF SENTENCES AND DOCUMENTS, 8 September 2020 (2020-09-08)
See also references of EP4198841A4

Also Published As

Publication number Publication date
JP7533596B2 (ja) 2024-08-14
EP4198841A4 (en) 2024-05-01
US20230334262A1 (en) 2023-10-19
AU2024216361A1 (en) 2024-09-12
AU2020468291A1 (en) 2023-04-13
CN116194932A (zh) 2023-05-30
JPWO2022059209A1 (ja) 2022-03-24
EP4198841A1 (en) 2023-06-21

Similar Documents

Publication Publication Date Title
US11637859B1 (en) System and method for analyzing binary code for malware classification using artificial neural network techniques
CN113364752B (zh) 一种流量异常检测方法、检测设备及计算机可读存储介质
US9628497B2 (en) Method and system for classifying a protocol message in a data communication network
KR102001813B1 (ko) Dnn 알고리즘을 이용한 비표준 프로토콜 페이로드 이상행위 탐지 장치 및 방법
US10540612B2 (en) Technique for validating a prognostic-surveillance mechanism in an enterprise computer system
KR20210087403A (ko) 컨테이너들을 관리하기 위한 포렌식들을 제공하는 시스템, 장치 및 방법
US20200257969A1 (en) Deep learning system for accelerated diagnostics on unstructured text data
Mantere et al. A module for anomaly detection in ICS networks
EP4004780A1 (en) Model structure extraction for analyzing unstructured text data
US20170048263A1 (en) Anomaly prediction method and system for heterogeneous network architecture
US20210306350A1 (en) Learning of malicious behavior vocabulary and threat detection through behavior matching
Mubarak et al. Anomaly Detection in ICS Datasets with Machine Learning Algorithms.
WO2019240038A1 (ja) 検知装置及び検知方法
CN112134737A (zh) 一种工业物联网逆向分析系统
CN110839042B (zh) 一种基于流量的自反馈恶意软件监测系统和方法
WO2022059209A1 (ja) 検知装置、学習装置、検知方法、学習方法、検知プログラム及び学習プログラム
Wan et al. DevTag: A benchmark for fingerprinting IoT devices
US10635992B2 (en) Reducing bandwidth requirements for telemetry data using a cross-imputability analysis technique
CN116776331A (zh) 基于用户行为建模的内部威胁检测方法及装置
US20230141747A1 (en) Communication monitoring method and communication monitoring system
US20190349390A1 (en) Packet format inference apparatus and computer readable medium
KR20220099749A (ko) 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법
WO2022259330A1 (ja) 推定装置、推定方法および推定プログラム
EP4432619A1 (en) Abnormality detecting device, abnormality detecting method, and abnormality detecting program
EP4333391A1 (en) Detection device, detection method, and detection program

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022550325

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020954194

Country of ref document: EP

Effective date: 20230315

ENP Entry into the national phase

Ref document number: 2020468291

Country of ref document: AU

Date of ref document: 20200918

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE