JP2019101982A - 学習装置、検知システム、学習方法及び学習プログラム - Google Patents

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

Info

Publication number
JP2019101982A
JP2019101982A JP2017235370A JP2017235370A JP2019101982A JP 2019101982 A JP2019101982 A JP 2019101982A JP 2017235370 A JP2017235370 A JP 2017235370A JP 2017235370 A JP2017235370 A JP 2017235370A JP 2019101982 A JP2019101982 A JP 2019101982A
Authority
JP
Japan
Prior art keywords
probability density
communication data
learning
cluster
unit
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.)
Granted
Application number
JP2017235370A
Other languages
English (en)
Other versions
JP6691094B2 (ja
Inventor
友貴 山中
Tomoki Yamanaka
友貴 山中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017235370A priority Critical patent/JP6691094B2/ja
Publication of JP2019101982A publication Critical patent/JP2019101982A/ja
Application granted granted Critical
Publication of JP6691094B2 publication Critical patent/JP6691094B2/ja
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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

【課題】学習用の通信データ間でデータ数に偏りがある場合であっても、通信データの確率密度を精度よく学習できる。【解決手段】学習装置10は、学習対象である正常な通信データを複数収集する収集部11と、正常な通信データの確率密度を推定する第1の推定部121と、第1の推定部121によって推定された確率密度に応じて正常な通信データをクラスタリングするクラスタリング部122と、クラスタリング部122によってクラスタリングされたクラスタごとに学習を行い、クラスタごとの正常な通信データの確率密度を推定してクラスタごとの正常な通信データの確率密度の特徴を表すモデルのパラメータを更新する第2の推定部123と、推定されたクラスタごとの確率密度を統合する統合部124と、有する。【選択図】図2

Description

本発明は、学習装置、検知システム、学習方法及び学習プログラムに関する。
IoT(Internet of Things)時代の到来に伴い、多種のデバイス(IoT機器)がインターネットに接続され、多様な使われ方をされるようになっている。これにともない、IoT機器向けのトラフィックセッション異常検知システムや侵入検知システム(IDS:Intrusion Detection System)等のIoT機器のセキュリティ対策が期待されている。
このような技術として、例えば、VAE(Variational Auto Encoder)等の教師なし学習による確率密度推定器を用いるものがある。この技術では、正常な通信データの確率密度を学習後、確率密度の低い通信を異常として検知する。このため、この技術では、正常な通信データのみが分かればよく、全ての悪性データを学習せずとも異常検知が可能である。したがって、この技術は、未だ過渡期にあり全ての脅威情報を知り尽くされていないIoT機器に対する脅威の検知に有効である。
Diederik P Kingma, Max Welling,"Auto-Encoding Variational Bayes",[平成29年11月17日検索],インターネット<URL:https://arxiv.org/abs/1312.6114>
しかしながら、VAE等の確率密度推定器は、学習対象の正常な通信データ間でデータ数に偏りがある場合に、精度よく学習できないことがある。
通信データでは、データ数に偏りがある状況がよく発生する。例えば、HTTP(Hypertext Transfer Protocol)通信等は、よく使用されるため、短時間で大量のデータが集まる。これに対し、稀にしか通信を行わないNTP(Network Time Protocol)通信等は、データ数があまり集まらない。このような状況で、VAEによる学習を行うと、データ数が少ないNTP通信の学習がうまくいかず、発生確率を低く見積もってしまい、正常な通信データに対する誤検知の原因になる場合がある。
本発明は、上記に鑑みてなされたものであって、学習対象の通信データ間でデータ数に偏りがある場合であっても、通信データの確率密度を精度よく学習できる学習装置、検知システム、学習方法及び学習プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る学習装置は、学習対象である正常な通信データを複数収集する収集部と、正常な通信データの確率密度を推定する第1の推定部と、第1の推定部によって推定された確率密度に応じて正常な通信データをクラスタリングするクラスタリング部と、クラスタリング部によってクラスタリングされたクラスタごとに学習を行い、クラスタごとの正常な通信データの確率密度を推定してクラスタごとの正常な通信データの確率密度の特徴を表すモデルのパラメータを更新する第2の推定部と、推定されたクラスタごとの確率密度を統合する統合部と、を有することを特徴とする。
また、本発明に係る検知システムは、通信データの確率密度の特徴を表すモデルを基に通信データの異常を検知する検知装置と、モデルのパラメータを更新する学習装置と、を有する検知システムであって、学習装置は、学習対象である正常な通信データを複数収集する収集部と、正常な通信データの確率密度を推定する第1の推定部と、第1の推定部によって推定された確率密度に応じて正常な通信データをクラスタリングするクラスタリング部と、クラスタリング部によってクラスタリングされたクラスタごとに学習を行い、クラスタごとの正常な通信データの確率密度を推定してクラスタごとのモデルのパラメータを更新する第2の推定部と、推定されたクラスタごとの確率密度を統合する統合部と、を有し、検知装置は、第2の推定部によって更新されたモデルのパラメータを適用して、検知対象の通信データの確率密度を推定する第3の推定部と、第3の推定部によって推定された確率密度を基に検知対象の通信データの異常の有無を検知する検知部と、を有することを特徴とする。
本発明によれば、学習対象の通信データ間でデータ数に偏りがある場合であっても、通信データの確率密度を精度よく学習できる。
図1は、実施の形態に係る検知システムの構成の一例を示す図である。 図2は、図1に示す学習装置の構成の一例を示す図である。 図3は、VAEについて説明する図である。 図4は、VAEについて説明する図である。 図5は、図1に示す検知装置の構成の一例を示す図である。 図6は、図2に示す学習装置が実行する学習処理の流れを説明する図である。 図7は、図5に示す検知装置が実行する検知処理の流れを説明する図である。 図8は、図2に示す学習装置による学習処理の処理手順を示すフローチャートである。 図9は、図5に示す検知装置による検知処理の処理手順を示すフローチャートである。 図10は、実施の形態に係る検知システムの適用例を説明する図である。 図11は、従来手法による学習結果の一例を示す図である。 図12は、図11に示す学習状態におけるROC(Receiver Operatorating Characteristic)曲線を示す図である。 図13は、図2に示す第1の推定部による学習結果の一例を示す図である。 図14は、図11で使用された学習対象データに対し、図2に示す学習装置が出力したアノマリスコアのデータ数依存を示すヒストグラムである。 図15は、図14に示す学習状態におけるROC曲線を示す図である。 図16は、プログラムが実行されることにより、学習装置及び検知装置が実現されるコンピュータの一例を示す図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
本発明の実施の形態について説明する。図1は、実施の形態に係る検知システムの構成の一例を示す図である。
図1に示すように、実施の形態に係る検知システム1は、学習装置10及び検知装置20を有する。学習装置10及び検知装置20は、例えば、ネットワーク等を介して接続する。また、学習装置10及び検知装置20は、例えば、ネットワーク等を介して、外部装置と接続する。
学習装置10は、複数の正常な通信データを学習して、正常な通信データの確率密度の特徴を表すモデルのパラメータを更新する。学習装置10は、学習対象の通信データに対し、2段階に分けて、確率密度を推定する。
まず、学習装置10は、1段階目では、入力された通信データの確率密度を粗く推定する。続いて、学習装置10は、この推定結果に基づき、正常な通信データを、確率密度に応じてクラスタリングする。そして、2段階目では、学習装置10は、クラスタごとに、各クラスタの通信データの確率密度を推定する。続いて、推定されたクラスタごとの確率密度を統合することによって、学習対象の通信データ間でデータ数に偏りがある場合であっても、精度よく異常検知を行えるモデルを得る。
検知装置20は、学習装置10によって更新されたモデルのパラメータを適用して、検知対象の通信データの確率密度を推定する。続いて、検知装置20は、推定した確率密度が所定値よりも低い場合に、検知対象の通信データが異常であることを検知し、外部の対処装置等に通信データの異常発生を通知する。
[学習装置の構成]
次に、学習装置10の構成について説明する。図2は、図1に示す学習装置10の構成の一例を示す図である。学習装置10は、図2に示すように、収集部11及び学習部12を有する。
なお、学習装置10は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、学習装置10は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、学習装置10は、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行う。
収集部11は、学習対象である正常な通信データ(学習対象データ)を複数収集する。例えば、収集部11は、ネットワークを介して、学習対象である正常なトラフィックセッションの収集を行う。
この場合、収集部11が収集する通信データのデータ間でデータ数に偏りが生じる場合がある。具体的には、通信がHTTP通信については、しばしば使用されるため、収集部11は、正常なHTTP通信データを収集できる。これに対し、管理用FTP通信については、使用頻度が少ないため、収集部11は、正常なFTP通信データを少量しか得ることができない場合がある。このように、収集部11が収集する学習対象データのデータ間では、データ数の偏りがある場合がある。学習装置10では、データ数の偏りがある場合であっても、2段階に分けて学習を行うことによって、精度よく異常検知を行えるモデルを得る。
次に、学習部12について説明する。学習部12は、第1の推定部121、クラスタリング部122、第2の推定部123及び統合部124を有する。
第1の推定部121は、収集部11が収集した学習対象データの確率密度を推定する。この際、第1の推定部121は、確率密度推定器として、VAE1211を用いて、学習対象データの確率密度を推定する。
ここで、VAEについて説明する。図3及び図4は、VAEについて説明する図である。図3に示すように、VAEは、あるデータ点xの入力を受け付けると、そのデータに対応したアノマリスコア(score)(異常度)を出力する。確率密度をp(x)とすると、アノマリスコアは、−logp(x)の近似値となる。
同様に、図4に示すように、VAEに、あるクラスタCに属するデータ点xを入力した場合、アノマリスコア(score)は、−logp(x|C)の近似値になっている。このように、VAEが出力するアノマリスコアは、値が高いほど、この通信データの異常度が高いことを示す。
第1の推定部121は、このような演算を行うVAE1211を有し、入力された複数の学習対象データを学習し、各学習対象データのアノマリスコアを出力する。この際、第1の推定部121は、学習結果に応じてVAE1211のモデルパラメータを更新する。
クラスタリング部122は、第1の推定部121によって推定された確率密度に応じて、学習対象データをクラスタリングする。言い換えると、クラスタリング部122は、学習対象データに直接クラスタリングのアルゴリズムを適用するのではなく、第1の推定部121によって粗く推定されたアノマリスコアに基づいて、クラスタリングを行う。したがって、クラスタリング部122は、学習対象データの性質、すなわち、学習対象データの密度(データ数)に着目したクラスタリングを実施する。クラスタリング部122は、Bayesian GMM(Gaussian Mixture Models)アルゴリズム、VB(Variational Bayesian)GMMアルゴリズム等を用いて、クラスタリングを実施する。
第2の推定部123は、クラスタリング部122によってクラスタリングされたクラスタごとに学習を行い、クラスタごとの学習対象データの確率密度を推定してクラスタごとの学習対象データの確率密度の特徴を表すモデルのパラメータを更新する。
例えば、クラスタリング部122によって学習対象データが3つのクラスタにクラスタリングされる場合、第2の推定部123は、3つのクラスタにそれぞれ対応する第1VAE1231、第2VAE1232及び第3VAE1233を有する。第1VAE1231、第2VAE1232及び第3VAE1233は、対応するクラスタごとに学習を行い、それぞれが有するモデルのパラメータを更新する。そして、第1VAE1231、第2VAE1232及び第3VAE1233は、対応するクラスタの各アノマリスコアを推定する。
統合部124は、第2の推定部123の各確率密度推定器がそれぞれ推定したクラスタごとの確率密度を統合する。図2の例では、統合部124は、第1VAE1231、第2VAE1232及び第3VAE1233がそれぞれ推定したよるクラスタごとのアノマリスコアを統合する。
そして、学習装置10は、第2の推定部123の各VAEによって更新された、それぞれが有する各モデルのパラメータを検知装置20に出力する。また、学習装置10は、統合部124が採用した各クラスタの事前分布(後述)を検知装置20に出力する。
[検知装置の構成]
次に、検知装置20の構成について説明する。図5は、図1に示す検知装置20の構成の一例を示す図である。検知装置20は、図5に示すように、推定部21及び検知部22を有する。検知装置20は、異常の有無の検知対象の通信データ(検知対象データ)が入力される。また、検知装置20は、学習装置10が出力した各VAEの更新パラメータ及び各クラスタの事前分布が入力される。
なお、検知装置20は、例えば、ROM、RAM、CPU等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、検知装置20は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。例えば、検知装置20は、NIC等を有し、LANやインターネットなどの電気通信回線を介した他の装置との間の通信を行う。
推定部21は、検知用推定部211(第3の推定部)及び統合部212を有する。検知用推定部211は、第2の推定部123によって更新されたモデルのパラメータを適用して、検知対象データの確率密度を推定する。検知用推定部211は、第2の推定部123が有する確率密度推定器と同数の確率密度推定器を有する。
図5の例では、検知用推定部211は、第2の推定部123が有するVAEと同数の第1VAE2111、第2VAE2112及び第3VAE2113を有する。第1VAE2111、第2VAE2112及び第3VAE2113は、対応するクラスタの各アノマリスコアを推定する。なお、第1VAE2111、第2VAE2112及び第3VAE2113がそれぞれ有するモデルのパラメータは、第2の推定部123によって更新された各パラメータに設定されている。
統合部212は、検知用推定部211の各確率密度推定器が検知対象データに対しそれぞれ推定した確率密度を統合し、統合後の確率密度を検知対象データの確率密度として検知部22に出力する。図5の例では、統合部124は、第1VAE2111、第2VAE2112及び第3VAE2113がそれぞれ推定したクラスタごとのアノマリスコアを統合する。
検知部22は、検知用推定部211によって推定された確率密度を基に検知対象データの異常の有無を検知する。検知部22は、検知対象データの確率密度が所定値よりも低い場合に、検知対象データが異常であることを検知する。具体的には、検知部22は、検知用推定部211によって推定されたアノマリスコアが所定値よりも高い場合に、検知対象データが異常であることを検知する。
[学習装置の処理の流れ]
次に、学習装置10の処理の流れについて説明する。図6は、図2に示す学習装置10が実行する学習処理の流れを説明する図である。
学習装置10では、図6に示すように、収集部11が学習対象データを収集し(図6の(1)参照)、この学習対象データを、第1の推定部121のVAE1211が学習して確率密度を推定し、VAE1211が有するモデルのパラメータを更新する(図6の(2)参照)。この場合、VAE1211は、学習対象データを学習し、各学習対象データのアノマリスコアを出力する。例えば、VAE1211は、ヒストグラムH1(図6参照)を出力する。ヒストグラムH1は、横軸がアノマリスコアであり、縦軸がデータ数である。アノマリスコアは、−logp(x)の近似値であるため、データ点の密度が低ければ低いほど高い値となり、異常度が高いと判定される。
ここで、VAE1211が確率密度推定を行った通信データは、全てが正常データであるにも関わらず、ヒストグラムH1では、データ数の密度が低い通信データでアノマリスコアが高く出ている。言い換えると、データ数の密度が低い通信データに対し、適切に学習できないと考えられる。
そこで、学習装置10は、データ数に係らず、学習対象データを適切に学習するために、データ数が多いデータ、データ数が少ないデータを別々に学習する。このため、学習装置10では、クラスタリング部122が、学習対象データに対し、データ数に応じたクラスタリング、すなわち、確率密度に応じたクラスリングを実施する(図6の(3)参照)。なお、クラスタリング部122は、GMM、VBGMM等のアルゴリズムを用いてクラスタリングを実施する。
この結果、学習対象データは、アノマリスコアのヒストグラムH1に基づき、ヒストグラムH1´のようにクラスタC1,C2,C3の3つのクラスタにクラスタリングされる(図6の(4)参照)。
これに応じて、第2の推定部123は、各クラスタC1,C2,C3の通信データを専門に学習するVAEのインスタンスを作る。そして、第2の推定部123では、第1VAE1231がクラスタC1の通信データを学習し、第2VAE1232がクラスタC2の通信データを学習し、第3VAE1233の通信データをそれぞれ学習し、それぞれが有するモデルのパラメータを更新する(図6の(5)参照)。この際、第1VAE1231、第2VAE1232及び第3VAE1233は、各クラスタのアノマリスコアを統合部124に出力する。なお、更新された各モデルのパラメータは、検知装置20に出力される。
続いて、統合部124は、第1VAE1231、第2VAE1232及び第3VAE1233のアノマリスコアを統合し(図6の(6)参照)、学習対象データ全体のアノマリスコアである最終スコア(−logp(x)の近似値)を求めて、学習処理を終了する。
[統合部の処理]
次に、統合部124が行う統合処理について説明する。統合部124は、第2の推定部123における個々のVAEが推定した各クラスタの確率密度を統合し、学習対象データ全体の確率密度を求める演算を行う。統合部124は、第2の推定部123における個々のVAEが推定した各クラスタの確率密度を基に、各クラスタCがしたがう確率分布p(x|C)とクラスタCに対応するクラスタの事前分布p(C)との積の合計を、各クラスタの確率密度の統合値として演算する。この演算を数式で表すと、以下の(1)式で表すことができる。
Figure 2019101982
図2の例では、第1VAE1231、第2VAE1232及び第3VAE1233は、クラスタC1,C2,C3ごとのデータがしたがう確率分布p(x|C)の学習を行う。この学習によって、第1VAE1231は、−logp(x|C)の近似値となるscore1を出力する。第2VAE1232は、−logp(x|C)の近似値となるscore2を出力する。第3VAE1233は、−logp(x|C)の近似値となるscore3を出力する。
ここで、所望の最終スコアは、−logp(x)の近似値である。したがって、統合部124は、(1)式に基づき、最終スコア(score)を、以下の(2)式のように計算する。
Figure 2019101982
ここで、各クラスタの事前分布p(C)のとり方には自由度がある。一例として、本実施の形態では、正則化項のαを導入し、事前分布p(C)を、以下の(3)式として計算する。
Figure 2019101982
(3)式において、|C|は、クラスタCに属するデータ数を表す。さらに、本実施の形態では、統合部124は、αを無限大の極限とみなして、事前分布p(C)を、以下の(4)式を用いて計算を行ってもよい。
Figure 2019101982
ただし、(4)式において、Kは、クラスタの個数である。この場合、以下の(5)式が成り立つ。
Figure 2019101982
このため、統合部124は、最終スコアとして、単純にアノマリスコアの最小値をとるとしてもよい。したがって、上記した最終スコアの近似式として、以下の(6)式の関係も成り立つ。
Figure 2019101982
統合部124は、処理速度が求められる場合には、(6)式を用いて最終スコアを算出することも可能である。なお、統合部124は、(3)式または(4)式を用いて計算した各クラスタの事前分布p(C)を、検知装置20に出力する。
[検知装置の処理の流れ]
次に、検知装置の処理の流れについて説明する。図7は、図5に示す検知装置20が実行する検知処理の流れを説明する図である。
検知装置20では、図7に示すように、検知用推定部211は、第1VAE2111、第2VAE2112及び第3VAE2113のそれぞれが、学習対象データの各クラスタC1,C2,C3のデータのみを学習済みである(図7の(1)参照)。言い換えると、第1VAE2111、第2VAE2112及び第3VAE2113のそれぞれには、学習装置10の第2の推定部123によって更新された各クラスタに対応するモデルのパラメータが適用されている。
このため、検知装置20は、検知対象データの入力を受け付けると、第1VAE2111、第2VAE2112及び第3VAE2113は、それぞれアノマリスコア(score1,score2,score3)を出力する(図7の(2)参照)。
統合部212は、統合部124と同様の処理を行うことによって、第1VAE2111、第2VAE2112及び第3VAE2113がそれぞれ推定したアノマリスコアを統合する(図7の(3)参照)。これによって、統合部212は、検知対象データの最終スコアとして、−logp(x)の近似値を、検知部22に出力する。検知部22は、検知用推定部211によって推定された最終スコアが所定値よりも高い場合に、検知対象データが異常であることを検知する。
[学習処理の処理手順]
次に、学習処理の処理手順について説明する。図8は、図2に示す学習装置10による学習処理の処理手順を示すフローチャートである。
まず、図8に示すように、収集部11は、学習対象データを収集し(ステップS11)、収集した学習対象データを第1の推定部121に出力する。第1の推定部121は、VAE1211を用いて、収集部11が収集した学習対象データの確率密度を、推定する第1の推定処理を行う(ステップS12)。
クラスタリング部122は、第1の推定部121によって推定された確率密度に応じて、学習対象データをクラスタリングするクラスタリング処理を行う(ステップS13)。そして、第2の推定部123は、第1VAE1231、第2VAE1232及び第3VAE1233を用いて、クラスタリング部122によってクラスタリングされたクラスタごとに学習を行い、クラスタごとの学習対象データの確率密度を推定してクラスタごとの学習対象データの確率密度の特徴を表すモデルのパラメータを更新する第2の推定処理を行う(ステップS14)。
続いて、統合部124は、第2の推定部123の各VAEがそれぞれ推定したよるクラスタごとの確率密度を統合する統合処理を行う(ステップS15)。学習装置10は、第2の推定部123の各VAEによって更新された、それぞれが有する各モデルのパラメータ、及び、統合部124が採用した各クラスタの事前分布を出力する出力処理を行い(ステップS16)、学習処理を終了する。
[検知処理の処理手順]
次に、検知処理の処理手順について説明する。図9は、図5に示す検知装置20による検知処理の処理手順を示すフローチャートである。
まず、図9に示すように、検知装置20は、検知対象データの入力を受け付ける(ステップS21)。そして、検知用推定部211では、第1VAE2111、第2VAE2112及び第3VAE2113が、第2の推定部123によって更新されたモデルのパラメータを適用して、検知対象データの確率密度を推定する検知用推定処理を行う(ステップS22)。
続いて、統合部212は、検知用推定部211の各VAEが検知対象データに対しそれぞれ推定した確率密度を統合し、統合後の確率密度を検知対象データの確率密度として検知部22に出力する統合処理を行う(ステップS23)。
そして、検知部22は、検知用推定部211によって推定された検知対象データの確率密度を基に検知対象データの異常の有無を検知する検知処理を行う(ステップS24)。具体的には、検知部22は、検知用推定部211によって推定された検知対象データの確率密度が所定値よりも低い場合に、検知対象データが異常であることを検知する。そして、検知部22は、外部の対処装置等に検知結果を出力し(ステップS25)、検知処理を終了する。
[実施例]
例えば、本実施の形態に係る検知システム1は、IoT機器の異常検知に適用することができる。図10は、実施の形態に係る検知システム1の適用例を説明する図である。図10に示すように、複数のIoT機器2が接続されたネットワーク3上に、検知システム1を設ける。この場合、検知システム1は、IoT機器2が送受信するトラフィックセッション情報を収集し、正常トラフィックセッションの確率密度の学習、及び、異常トラフィックセッションの検知を行う。正常トラフィックセッションの確率密度の学習には、上記学習処理を適用し、トラフィックセッションデータ間にデータ数の偏りがある場合にも精度よく学習を行う。また、異常トラフィックセッションの検知には、上記検知処理を適用し、学習処理において学習されたモデルパラメータを適用した確率密度推定を行い、高精度の異常検知を行う。
[評価実験]
次に、実際のIoT機器間のトラフィックセッションデータに対し、従来手法と、本実施の形態に係る手法とで評価を行った結果を示す。
まず、従来手法を用いて評価を行った結果について説明する。従来手法は、1個のVAEを用いて確率密度を推定する手法である。図11は、従来手法による学習結果の一例を示す図である。図11は、複数種類のトラフィックセッションデータが混ざった学習対象データに対し、従来手法を用いて推定されたアノマリスコアのデータ数依存を示すヒストグラムである。
例えば、学習対象データには、図11に示すように、20951データとデータ数が多い1883ポートのMQTT(Message Queueing Telemetry Transport)通信(図11の(1)参照)、204データとデータ数が少ない1935ポートのカメラ通信(図11の(3)参照)、データ数が中程度の53ポートのDNS(Domain Name System)通信等(図11の(2)参照)が含まれる。
このようなデータ間でデータ数の偏りがある通信データを、VAEを用いて学習すると、いずれも正常な通信データにもかかわらず、データ数の分布によってアノマリスコアが変動する。具体的には、データ数が多いMQTT通信は、アノマリスコアが低く出るものに対し(図11の(1)参照)、データ数が少ないカメラ通信は、アノマリスコアが高く出てしまい、正常な通信データに対する誤検知の原因となる(図11の(3)参照)。実際に、図11に示す学習状態に対する評価結果を示す。
図12は、図11に示す学習状態におけるROC曲線を示す図である。図12は、従来手法によって得られたモデルに対して、学習対象に含まれる通常画質のカメラストリーミング通信(正常)と、画質を落としたカメラストリーミング通信(異常)とを見分けられるかを評価した結果である。この結果を基に、検知率として、AUC(Area Under Curve)値を求める。このAUC値は、0.5が最低値であり、1.0が最大値である。AUC値が1.0に近い場合には、この検知器は、検知率が高く誤検知率が低いと評価でき、AUC値が0.5に近い場合には、完全にランダムに答えを返す検知器であると評価できる。
従来手法に対応する図12のROC曲線から求めたAUC値は、0.590782であった。このため、従来手法では、画質の低下をほぼ検知できていない。これは、学習時に、データ数が少ないカメラ通信の特徴を十分にとらえきれていないため、画質の低下を検知できなかったことが原因と考えられる。
これに対し、本実施の形態の手法を適用した場合について説明する。図13は、図2に示す第1の推定部121による学習結果の一例を示す図である。本実施の形態では、第1の推定部121が、図12に示すアノマリスコアのデータ依存を計算すると、クラスタリング部122が、アノマリスコアに応じてクラスタリングを行う。図13の例では、クラスタリング部122は、学習対象のトラフィックセッションデータを、データ数が多いMQTT通信に対応するクラスタC1´、データ数が中程度のDNS通信等を含むクラスタC2´、データ数が少ないカメラ通信に対応するクラスタC3´に分割する。
そして、本実施の形態では、クラスタC1´を第1VAE1231が学習し(図13の(1)参照)、クラスタC2´を第2VAE1232が学習し(図13の(2)参照)、クラスタC3´を第3VAE1233が学習する(図13の(3)参照)。すなわち、本実施の形態では、数が多いトラフィックセッションデータと、数が少ないトラフィックセッションデータとを別々に学習させている。そして、本実施の形態では、第1VAE1231、第2VAE1232及び第3VAE1233のそれぞれが学習結果に応じてモデルのパラメータを更新するとともに、統合部124が、それぞれの学習結果を統合し、アノマリスコアを出力する。
図14は、図11で使用された学習対象データに対し、図2に示す学習装置10が出力したアノマリスコアのデータ数依存を示すヒストグラムである。図14に示すように、学習装置10によれば、数が少ない通信データ、例えば、1935ポートのカメラ通信についても、低いアノマリスコアを実現することができている(図14の(a)参照)。次に、実際に、図14に示す学習状態に対する評価結果を示す。
図15は、図14に示す学習状態におけるROC曲線を示す図である。図15は、学習装置10によって得られたモデルに対して、学習対象に含まれる通常画質のカメラストリーミング通信(正常)と、画質を落としたカメラストリーミング通信(異常)とを見分けられるかを評価した結果である。
この図15のROC曲線から求めたAUC値は、0.998928である。したがって、学習装置10の学習精度の向上によって、検知装置20では、画質の低下をほぼ検知できるように改善されている。すなわち、学習装置10の学習処理によって、検知装置20では、高い精度で、正常データと異常データとを識別することができ、誤検知の大幅な低減が可能となった。
[実施の形態の効果]
このように、本実施の形態に係る学習装置10は、学習対象データの確率密度を推定した後に、この確率密度に応じて学習対象データをクラスタリングし、クラスタごとに改めて学習を行う。すなわち、学習装置10は、クラスタごとの学習対象データの確率密度を推定して、クラスタごとの学習対象データの確率密度の特徴を表すモデルのパラメータを更新する。そして、学習装置10は、クラスタごとの確率密度を統合する。
したがって、学習装置10は、まず、1段階目の学習において、確率密度推定とクラスタリングとを行うことによって、データの密度に応じたクラスタリングの実施を可能にする。そして、学習装置10は、2段階目の学習において、クラスタごとにVAEを用意し、クラスタごとに個別にVAEに学習対象データを学習させ、クラスタごとの確率密度を統合する。この結果、学習装置10は、データ数の少ない学習対象データに対しても精度よく学習を行うことができる。言い換えると、学習装置10によれば、学習対象データ間でデータ数に偏りがある場合であっても、学習対象データの確率密度を精度よく学習でき、高精度で異常検知を行えるようなモデルを得ることができる。
そして、検知装置20では、学習装置10のVAEと同数のVAEを設け、得られたモデルを適用し、検知対象データに対する各VAEの確率密度を統合した結果を確率密度推定結果とする。これによって、検知装置20では、高精度で確率密度推定を実施することができ、これにともない、誤検知の低減が実現でき、検知率の向上を図ることができる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図16は、プログラムが実行されることにより、学習装置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 検知システム
2 IoT機器
3 ネットワーク
10 学習装置
11 収集部
12 学習部
121 第1の推定部
122 クラスタリング部
123 第2の推定部
124 統合部
1211 VAE
1231,2111 第1VAE
1232,2112 第2VAE
1233,2113 第3VAE
20 検知装置
21 推定部
22 検知部
211 検知用推定部
212 統合部

Claims (6)

  1. 学習対象である正常な通信データを複数収集する収集部と、
    前記正常な通信データの確率密度を推定する第1の推定部と、
    前記第1の推定部によって推定された前記確率密度に応じて前記正常な通信データをクラスタリングするクラスタリング部と、
    前記クラスタリング部によってクラスタリングされたクラスタごとに学習を行い、前記クラスタごとの前記正常な通信データの確率密度を推定して前記クラスタごとの前記正常な通信データの確率密度の特徴を表すモデルのパラメータを更新する第2の推定部と、
    推定された前記クラスタごとの確率密度を統合する統合部と、
    を有することを特徴とする学習装置。
  2. 前記第2の推定部は、前記クラスタごとに確率密度推定器を有し、各確率密度推定器は、前記クラスタごとに学習を行い、それぞれが有するモデルのパラメータを更新することを特徴とする請求項1に記載の学習装置。
  3. 通信データの確率密度の特徴を表すモデルを基に通信データの異常を検知する検知装置と、前記モデルのパラメータを更新する学習装置と、を有する検知システムであって、
    前記学習装置は、
    学習対象である正常な通信データを複数収集する収集部と、
    前記正常な通信データの確率密度を推定する第1の推定部と、
    前記第1の推定部によって推定された前記確率密度に応じて前記正常な通信データをクラスタリングするクラスタリング部と、
    前記クラスタリング部によってクラスタリングされたクラスタごとに学習を行い、前記クラスタごとの前記正常な通信データの確率密度を推定して前記クラスタごとの前記モデルのパラメータを更新する第2の推定部と、
    推定された前記クラスタごとの確率密度を統合する統合部と、
    を有し、
    前記検知装置は、
    前記第2の推定部によって更新された前記モデルのパラメータを適用して、検知対象の通信データの確率密度を推定する第3の推定部と、
    前記第3の推定部によって推定された確率密度を基に前記検知対象の通信データの異常の有無を検知する検知部と、
    を有することを特徴とする検知システム。
  4. 前記第2の推定部は、前記クラスタごとに確率密度推定器を有し、各確率密度推定器は、前記クラスタごとに学習を行い、それぞれが有するモデルのパラメータを更新し、
    前記統合部は、前記第2の推定部の各確率密度推定器がそれぞれ推定した確率密度を統合し、
    前記第3の推定部は、前記第2の推定部が有する確率密度推定器と同数の確率密度推定器であって、それぞれが有するモデルのパラメータが前記第2の推定部によって更新された各パラメータに設定されている確率密度推定器を有し、各確率密度推定器が前記検知対象の通信データに対しそれぞれ推定した確率密度を統合し、統合後の確率密度を前記検知対象の通信データの確率密度として前記検知部に出力することを特徴とする請求項3に記載の検知システム。
  5. 学習装置によって実行される学習方法であって、
    学習対象である正常な通信データを複数収集する収集工程と、
    前記正常な通信データの確率密度を推定する第1の推定工程と、
    前記第1の推定工程において推定された前記確率密度に応じて前記正常な通信データをクラスタリングするクラスタリング工程と、
    前記クラスタリング工程においてクラスタリングされたクラスタごとに学習を行い、前記クラスタごとの前記正常な通信データの確率密度を推定して前記クラスタごとの前記正常な通信データの確率密度の特徴を表すモデルのパラメータを更新する第2の推定工程と、
    推定された前記クラスタごとの確率密度を統合する統合工程と、
    を含んだことを特徴とする学習方法。
  6. 学習対象である正常な通信データを複数収集する収集ステップと、
    前記正常な通信データの確率密度を推定する第1の推定ステップと、
    前記第1の推定ステップにおいて推定された前記確率密度に応じて前記正常な通信データをクラスタリングするクラスタリングステップと、
    前記クラスタリングステップにおいてクラスタリングされたクラスタごとに学習を行い、前記クラスタごとの前記正常な通信データの確率密度を推定して前記クラスタごとの前記正常な通信データの確率密度の特徴を表すモデルのパラメータを更新する第2の推定ステップと、
    推定された前記クラスタごとの確率密度を統合する統合ステップと、
    をコンピュータに実行させるための学習プログラム。
JP2017235370A 2017-12-07 2017-12-07 学習装置、検知システム、学習方法及び学習プログラム Active JP6691094B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017235370A JP6691094B2 (ja) 2017-12-07 2017-12-07 学習装置、検知システム、学習方法及び学習プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017235370A JP6691094B2 (ja) 2017-12-07 2017-12-07 学習装置、検知システム、学習方法及び学習プログラム

Publications (2)

Publication Number Publication Date
JP2019101982A true JP2019101982A (ja) 2019-06-24
JP6691094B2 JP6691094B2 (ja) 2020-04-28

Family

ID=66977039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017235370A Active JP6691094B2 (ja) 2017-12-07 2017-12-07 学習装置、検知システム、学習方法及び学習プログラム

Country Status (1)

Country Link
JP (1) JP6691094B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160743A (ja) * 2019-03-26 2020-10-01 日本電信電話株式会社 評価装置、評価方法、および、評価プログラム
JPWO2021009921A1 (ja) * 2019-07-18 2021-01-21
JPWO2021111630A1 (ja) * 2019-12-06 2021-06-10
WO2022059208A1 (ja) 2020-09-18 2022-03-24 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
KR20220073307A (ko) * 2020-11-26 2022-06-03 (주)심플랫폼 데이터 경계 도출 시스템 및 방법
WO2022215270A1 (ja) * 2021-04-09 2022-10-13 日本電気株式会社 予測モデル生成装置、予測モデル生成方法及び非一時的なコンピュータ可読媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101154A (ja) * 1999-09-29 2001-04-13 Nec Corp 外れ値度計算装置及びそれに用いる確率密度推定装置並びに忘却型ヒストグラム計算装置
JP2004312064A (ja) * 2003-02-21 2004-11-04 Intelligent Cosmos Research Institute ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101154A (ja) * 1999-09-29 2001-04-13 Nec Corp 外れ値度計算装置及びそれに用いる確率密度推定装置並びに忘却型ヒストグラム計算装置
JP2004312064A (ja) * 2003-02-21 2004-11-04 Intelligent Cosmos Research Institute ネットワーク異常検出装置、ネットワーク異常検出方法およびネットワーク異常検出プログラム

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7183904B2 (ja) 2019-03-26 2022-12-06 日本電信電話株式会社 評価装置、評価方法、および、評価プログラム
JP2020160743A (ja) * 2019-03-26 2020-10-01 日本電信電話株式会社 評価装置、評価方法、および、評価プログラム
JPWO2021009921A1 (ja) * 2019-07-18 2021-01-21
WO2021009921A1 (ja) * 2019-07-18 2021-01-21 日本電信電話株式会社 学習装置、検知システム、学習方法及び学習プログラム
JP7302660B2 (ja) 2019-07-18 2023-07-04 日本電信電話株式会社 学習装置、検知システム、学習方法及び学習プログラム
AU2019457225B2 (en) * 2019-07-18 2023-06-01 Nippon Telegraph And Telephone Corporation Learning device, detection system, learning method, and learning program
CN114127698A (zh) * 2019-07-18 2022-03-01 日本电信电话株式会社 学习装置、检测系统、学习方法以及学习程序
EP3979085A4 (en) * 2019-07-18 2023-01-18 Nippon Telegraph And Telephone Corporation LEARNING DEVICE, DETECTION SYSTEM, LEARNING METHOD AND LEARNING PROGRAM
JP7283578B2 (ja) 2019-12-06 2023-05-30 富士通株式会社 データ生成プログラム及び方法
WO2021111630A1 (ja) * 2019-12-06 2021-06-10 富士通株式会社 データ生成プログラム及び方法
JPWO2021111630A1 (ja) * 2019-12-06 2021-06-10
WO2022059208A1 (ja) 2020-09-18 2022-03-24 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
EP4202800A4 (en) * 2020-09-18 2024-05-01 Nippon Telegraph And Telephone Corporation LEARNING DEVICE, LEARNING METHOD AND LEARNING PROGRAM
KR102433598B1 (ko) 2020-11-26 2022-08-18 (주)심플랫폼 데이터 경계 도출 시스템 및 방법
KR20220073307A (ko) * 2020-11-26 2022-06-03 (주)심플랫폼 데이터 경계 도출 시스템 및 방법
WO2022215270A1 (ja) * 2021-04-09 2022-10-13 日本電気株式会社 予測モデル生成装置、予測モデル生成方法及び非一時的なコンピュータ可読媒体

Also Published As

Publication number Publication date
JP6691094B2 (ja) 2020-04-28

Similar Documents

Publication Publication Date Title
JP6691094B2 (ja) 学習装置、検知システム、学習方法及び学習プログラム
CN110115015B (zh) 通过监测其行为检测未知IoT设备的系统和方法
JP2019067387A (ja) 異常検出のためのシステム、方法、およびコンピュータプログラム製品
Zhao et al. Adaptive concentration inequalities for sequential decision problems
US20230018908A1 (en) Feedback-based control system for software defined networks
US11706236B2 (en) Autonomous application of security measures to IoT devices
US11288101B2 (en) Method and system for auto-setting of image acquisition and processing modules and of sharing resources in large scale video systems
JP2018147172A (ja) 異常検知装置、異常検知方法及びプログラム
WO2018142703A1 (ja) 異常要因推定装置、異常要因推定方法及びプログラム
US11599561B2 (en) Data stream analytics
JP6845125B2 (ja) 学習装置、学習方法及び学習プログラム
WO2019244902A1 (ja) 評価装置及び評価方法
Mu et al. Efficient distributed sensing using adaptive censoring-based inference
CN110289992B (zh) 一种报文处理方法及装置
JP6935850B2 (ja) 情報処理装置、方法、およびプログラム
CN116776155B (zh) 一种基于联邦学习的模型训练方法、装置、设备和介质
CN115118334B (zh) 卫星通信帧头捕获方法、装置、通信设备和存储介质
Arakawa et al. Automated estimation of mouse social behaviors based on a hidden Markov model
JP7331938B2 (ja) 学習装置、推定装置、学習方法及び学習プログラム
JP7302660B2 (ja) 学習装置、検知システム、学習方法及び学習プログラム
CN107251519B (zh) 用于检测通信网络上的假信息的攻击的系统、方法和介质
JP7205628B2 (ja) 情報処理装置、制御方法、およびプログラム
CN113486968B (zh) 摄像机生命周期的监控方法、装置、设备和介质
US20230334361A1 (en) Training device, training method, and training program
WO2023082792A1 (zh) 参数寻优方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200318

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200409

R150 Certificate of patent or registration of utility model

Ref document number: 6691094

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150