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

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

Info

Publication number
JP6749957B2
JP6749957B2 JP2018036984A JP2018036984A JP6749957B2 JP 6749957 B2 JP6749957 B2 JP 6749957B2 JP 2018036984 A JP2018036984 A JP 2018036984A JP 2018036984 A JP2018036984 A JP 2018036984A JP 6749957 B2 JP6749957 B2 JP 6749957B2
Authority
JP
Japan
Prior art keywords
model
learning
communication
unit
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018036984A
Other languages
English (en)
Other versions
JP2019153893A (ja
Inventor
拓也 佐伯
拓也 佐伯
一凡 張
一凡 張
永渕 幸雄
幸雄 永渕
谷川 真樹
真樹 谷川
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 JP2018036984A priority Critical patent/JP6749957B2/ja
Priority to PCT/JP2019/007095 priority patent/WO2019167891A1/ja
Priority to US16/975,410 priority patent/US12050524B2/en
Publication of JP2019153893A publication Critical patent/JP2019153893A/ja
Application granted granted Critical
Publication of JP6749957B2 publication Critical patent/JP6749957B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

本発明は、検知装置、検知方法及び検知プログラムに関する。
IoT(Internet of Things)時代の到来に伴い、IoT機器によって取得されたデータが、ネットワークを介して、多様な使われ方をされるようになっている。そこで、従来、宛先IPアドレスやポート番号等の通信情報をもとに正常な通信を学習し、正常通信については通信を許可し、異常通信が発生した際に該通信を遮断するシステムが提案されている。
井手 剛(著)、「入門 機械学習による異常検知」、コロナ社 (2015/2/19) 近藤 毅、加島 伸悟、上野 正巳、"IoTデバイスにおける,認証とトラヒック制御の要件検討"、電子情報通信学会技術研究報告(IEICE technical report)、信学技報、 vol. 116、 no. 251、 pp. 15-18、 2016年10月
従来のシステムでは、機器の通信情報をもとに正常通信の学習及びモデルを作成する際、学習対象とする通信量情報が少ない状態で学習を行うと、機器の通信パターンを網羅することができない場合があった。この結果、従来のシステムでは、正常通信を異常通信であると誤判定してしまう可能性が高まり、誤判定によってシステム運用者の運用負荷増大につながるという問題があった。
また、従来のシステムでは、作成した通信情報の異常検知用のモデルを用いて通信制御を行う際、学習段階で発生していない未知の通信が発生した場合、異常通信として検出される。しかしながら、従来のシステムでは、通信モデルの学習状態が不十分として再学習を行うのか、或いは、再学習を行わずに運用を継続するかを、システム側で判断できないという問題があった。
本発明は、上記に鑑みてなされたものであって、通信情報の異常を検知するモデルの精度を向上するとともに、システム運用者による運用負荷を低減できる検知装置、検知方法及び検知プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、通信機器から通信情報を収集する収集部と、通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させる学習部と、モデルに検知対象の通信情報を入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するとともに、予め定められた評価期間中に通信情報の異常検知件数が第1の閾値を超えた場合に、学習部にモデルの再学習を実施させる検知部と、を有することを特徴とする。
本発明によれば、通信情報の異常を検知するモデルの精度を向上するとともに、システム運用者による運用負荷を低減できる。
図1は、実施の形態における検知システムの構成の一例を示す図である。 図2は、図1に示す検知装置の検知処理の処理手順を示すフローチャートである。 図3は、図2に示す通信情報収集処理の処理手順を示すフローチャートである。 図4は、図2に示す学習処理の処理手順を示すフローチャートである。 図5は、図2に示すモデル評価処理の処理手順を示すフローチャートである。 図6は、図2に示すパラメータ再設定処理の処理手順を示すフローチャートである。 図7は、図2に示すモデル登録処理の処理手順を示すフローチャートである。 図8は、図2に示すモデル適用・更新処理の処理手順を示すフローチャートである。 図9は、図2に示す運用後モデル評価処理の処理手順を示すフローチャートである。 図10は、プログラムが実行されることにより、検知装置が実現されるコンピュータの一例を示す図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態]
本発明の実施の形態について説明する。図1は、実施の形態における検知システムの構成の一例を示す図である。
図1に示すように、実施の形態に係る検知システム1は、複数の機器20−1〜20−mと、機器20−1〜20−mと通信情報の異常の有無を検知する検知装置10とを有する。検知装置10は、ネットワーク30等を介して、外部装置(不図示)と接続する。
機器20−1〜20−mは、IoT機器である。機器20−1〜20−mは、例えば、時間情報や位置情報等と、対応する所定情報とを対応付けた通信情報を、無線通信等を介して、検知装置10に送信する。複数の機器のそれぞれを区別することなく総称する場合に単に機器20と記載する。また、機器20の台数は、図1に示す台数に限るものではない。
検知装置10は、機器20によって送信された通信情報を受信し、受信した通信情報が異常通信であるか否かを検知する。検知装置10は、正常通信については通信を許可し、異常通信が発生した際に該通信を遮断する。検知装置10は、宛先IPアドレスやポート番号等の通信情報をもとに正常な通信を学習させたモデルを用いて、通信情報の異常の有無を検知する。この場合、検知装置10は、機器20ごとにモデルを作成する。そして、検知装置10は、学習後のモデルを評価し、評価結果に応じてモデルの再学習を実施することによって、通信情報の異常を検知するモデルの精度を向上させている。また、検知装置10は、自装置において、運用状況に応じて再学習の実施の有無を判定することによって、システム運用者による運用負荷を低減している。
[検知装置の構成]
次に、図1を参照して検知装置の構成について説明する。図1に示すように、検知装置10は、通信部11、記憶部12及び制御部13を有する。なお、検知装置10が、物理サーバである例を説明するが、検知装置10は、物理サーバ上に展開された仮想サーバであってもよい。
通信部11は、機器20、及び、ネットワーク30等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部13(後述)との間の通信を行う。
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部12は、検知装置10で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部12は、プログラムの実行で用いられる各種情報を記憶する。記憶部12は、通信情報記憶部121、モデル記憶部122、パラメータ情報記憶部123、閾値情報記憶部124及び機器情報記憶部125を有する。
通信情報記憶部121は、通信部11を介して各機器20から収集した通信情報を記憶する。モデル記憶部122は、検知対象の通信情報を入力されると、入力された通信情報が異常通信であるか否かを示す情報を出力するモデルを記憶するとともに、機器20による正常な通信情報の特徴を学習したモデルの各種パラメータを記憶する。
パラメータ情報記憶部123は、モデルの再学習時に設定されたパラメータを含む情報を記憶する。このパラメータは、パラメータ設定部135(後述)によって設定されたものである。
閾値情報記憶部124は、モデル評価時に再学習の実施の可否を判断する際に用いられる第1の閾値及び第2の閾値を含む情報を記憶する。第1の閾値は、モデル運用中において再学習の評価のために用いられるものである。第2の閾値は、モデルの学習時に、学習部133(後述)によって、モデルごとに設定されたものである。
機器情報記憶部125は、学習対象外の機器20の識別情報を記憶する。この学習対象外の機器20は、モデル評価部134(後述)によって登録される。
制御部13は、検知装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。制御部13は、モデル適用部131(検知部)、収集部132、学習部133、モデル評価部134(評価部)及びパラメータ設定部135(設定部)を有する。
モデル適用部131は、機器20ごとに設定された各モデルを適用し、検知対象の機器20による通信情報を、該機器20に対応するモデルに入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知する。モデル適用部131は、通信が異常通信である場合には該通信の遮断を行い、通信が正常通信である場合には通信の許可を行う。
また、モデル適用部131は、運用時に、予め定められた評価期間中に通信情報の異常検知件数が第1の閾値を超えた場合に、学習部133にこのモデルの再学習を実施させる。ここで、モデル適用部131が使用する第1の閾値は、学習部133が設定した第2の閾値であってもよいし、運用ルールにしたがって予め設定された閾値であってもよい。また、モデル適用部131は、通信部11を介して、機器20による通信情報を取得する。そして、モデル適用部131は、取得した通信情報を、パケットミラーリング等で収集部132に出力する。
収集部132は、システムの配下に接続された機器20から通信情報を取得する。収集部132は、収集した通信情報を通信情報記憶部121に記憶する。
学習部133は、機器20ごとに収集された通信情報を用いて、該機器20による通信情報の特徴をモデルに学習させる。学習部133は、通信学習部1331及びモデル作成部1332を有する。
通信学習部1331は、機器20ごとに収集した正常通信の通信情報を用いて、該機器20による通信情報の特徴をモデルに学習させる。通信学習部1331は、機械学習を適用してモデルに学習を行わせる。
モデル作成部1332は、検知対象の通信情報が異常通信であるか否かを検知する際に用いるモデルを機器20ごとに作成する。モデル作成部1332は、正常通信の通信情報の学習が実行されることによって、各モデルのパラメータの最適化を行う。
ここで、モデル作成部1332は、学習した通信パターン数と通信回数とに応じて尤度を付与した上で、異常通信の判定に用いるモデルについて、許容可能な異常検知件数の第2の閾値を、モデル作成時に付与した尤度を基に計算し、設定する。言い換えると、モデル作成部1332は、モデルの学習時に発生した通信パターン数と通信回数とに応じて尤度を算出し、該算出した尤度に応じて第2の閾値を設定する。
この際、モデル作成部1332は、所定のルールにしたがって、算出した尤度が所定値よりも低い場合には第2の閾値を所定値よりも低く設定する。これによって、尤度が低いものほど閾値が低くなり、再学習が行われやすくなる。或いは、モデル作成部1332は、これまでの学習状態をフィードバックして閾値を設定してもよい。
モデル評価部134は、学習部133による学習後のモデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行う。モデル評価部134は、学習回数が所定回数未満であるか否かを評価する。そして、モデル評価部134は、また、異常検知件数が第2の閾値を超える否かを評価する。モデル評価部134は、異常検知件数が第2の閾値を超えないと判断したモデルについては、モデルの登録・更新が可能であると評価し、モデルの保存を行う。ここで、モデル評価部134が使用する第2の閾値は、モデル作成部1332が尤度を基に設定した閾値である。
また、モデル評価部134は、異常検知件数が第2の閾値を超えるとともに、学習回数が所定回数未満であるモデルについては、再学習対象のモデルであると評価する。モデル評価部134は、学習回数が所定回数に達しても異常検知件数が第2の閾値を超えるモデルについては、該モデルに対応する機器20を、学習対象外の機器20として分類し、学習対象から除外すると評価する。モデル評価部134は、学習対象から除外すると評価した機器20の識別情報を機器情報記憶部125に登録する。
パラメータ設定部135は、モデル評価部134によって、学習回数が所定回数未満であって異常検知件数が第2の閾値を超えると評価された機器20に対応するモデルについて、該モデルが学習対象とする機器20の通信情報に関するパラメータを設定する。学習部133は、パラメータ設定部135が設定したパラメータにしたがって再度モデルに学習させる。パラメータ設定部135は、異常検知件数を基に、通信情報の収集期間やプロトコルなどのパラメータを設定する。
例えば、パラメータ設定部135は、このモデルについて、該機器20に対する異常検知件数に応じて学習期間を設定する。具体的には、パラメータ設定部135は、異常検知件数が多いほど、学習期間を長く設定する。
[検知処理の処理手順]
次に、検知装置10の検知処理の処理手順について説明する。図2は、図1に示す検知装置10の検知処理の処理手順を示すフローチャートである。
図2に示すように、機器20が検知装置10に接続すると(ステップS1)、収集部132が各機器20の通信情報を収集する機器の通信情報収集処理を行う(ステップS2)。続いて、学習部133が、機器20ごとに収集した正常通信の通信情報を用いて、該機器20による通信情報の特徴をモデルに学習させてモデルを作成する学習処理を行う(ステップS3)。そして、モデル評価部134は、学習部133が作成したモデルを評価するモデル評価処理を行う(ステップS4)。
制御部13は、モデル評価処理における評価結果が、学習対象外の機器である場合、モデル登録・更新可能である場合、または、再学習である場合のいずれかであるかを判定する(ステップS5)。
モデル評価部134は、モデル評価処理における評価結果が学習対象外の機器である場合(ステップS5:学習対象外の機器)、このモデルに対応する機器20を、学習対象外の機器20として学習対象から除外し、この機器20が学習対象外の機器であることを機器情報記憶部125に登録する(ステップS7)。その後、検知装置10は、ステップS3に進み、次のモデルに対する学習処理を行う。或いは、検知装置10は、通信情報の収集処理(ステップS2)にまで戻ってもよい。
また、パラメータ設定部135は、モデル評価処理における評価結果が再学習である場合(ステップS5:再学習)、該モデルが学習対象とする機器20の通信情報に関するパラメータを設定するパラメータ再設定処理を行う(ステップS6)。そして、検知装置10は、ステップS3に戻り、学習部133は、パラメータ設定部135が設定したパラメータにしたがって、再度モデルに学習させる。
また、モデル適用部131は、モデル評価処理における評価結果がモデル登録・更新可能である場合(ステップS5:モデル登録・更新)、このモデルの登録処理を行い(ステップS8)、このモデルの適用・更新処理(ステップS9)を行う。
そして、モデル適用部131は、モデルを用いた異常通信の検知処理を行う(ステップS10)。具体的には、モデル適用部131は、検知対象の機器20による通信情報を、該機器20に対応するモデルに入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知する。モデル適用部131は、通信が異常通信である場合には該通信の遮断を行い、通信が正常通信である場合には通信の許可を行う。
そして、モデル適用部131は、モデルの再学習を実施させるか否かを評価する運用後モデル評価処理を行う(ステップS11)。そして、制御部13は、モデル適用部131の評価結果が、再学習であるか否かを判定する(ステップS12)。
モデル適用部131の評価結果が再学習であると制御部13が判定した場合(ステップS12:Yes)、学習部133は、ステップS3に戻り、このモデルに対する再学習を実施する。また、モデル適用部131の評価結果が再学習でないと制御部13が判定した場合(ステップS12:No)、ステップS10に戻り、モデル適用部131による、該モデルを用いた検知処理を継続させる。
[通信情報収集処理の処理手順]
次に、通信情報収集処理(ステップS2)の処理手順について説明する。図3は、図2に示す通信情報収集処理の処理手順を示すフローチャートである。
図3に示すように、収集部132は、通信情報を収集し、該収集した通信情報の機器20が、通信パターンを学習済みの機器20であるか否かを判定する(ステップS21)。収集部132は、収集した通信情報の機器20が、通信パターンを学習済みの機器20でないと判定した場合(ステップS21:No)、この機器20から収集した通信情報を取得し、通信情報記憶部121に記憶させて保存する(ステップS22)。
収集部132は、収集した通信情報の機器20が、通信パターンを学習済みの機器20であると判定した場合(ステップS21:Yes)、または、ステップS22終了後、通信情報収集処理を終了する。
[学習処理の処理手順]
次に、学習処理(ステップS3)の処理手順について説明する。図4は、図2に示す学習処理の処理手順を示すフローチャートである。
図4に示すように、学習部133では、通信学習部1331が、収集部132が収集した通信情報に対応する機器20について再学習か新規の学習かを判定する(ステップS31)。通信学習部1331は、再学習であると判定した場合(ステップS31:再学習)、この機器20についての過去の学習状態を継承する(ステップS32)。
そして、通信学習部1331は、新規の学習であると判定した場合(ステップS31:新規)、または、ステップS32終了後、学習対象の正常通信である通信情報を、モデルに学習させる通信学習処理を行い(ステップS33)、モデル作成部1332が、モデルを該機器20に対応するモデルを作成するとともに、該モデルのパラメータの最適化を行う。
そして、モデル作成部1332は、学習した通信パターン数と通信回数とに応じて尤度を算出する(ステップS34)。モデル作成部1332は、(1)式を用いて、尤度を算出する。
尤度=1−通信パターン数/通信回数 ・・・・(1)
続いて、モデル作成部1332は、作成したモデルについて、算出した尤度に応じて、異常検知件数に対する閾値(第2の閾値)を設定する(ステップS35)。例えば、モデル作成部1332は、尤度が0〜0.6である場合には、第2の閾値を25と設定する。また、モデル作成部1332は、尤度が0.6〜0.9である場合には、第2の閾値を40と設定する。また、モデル作成部1332は、尤度が0.9を超える場合には、第2の閾値を50と設定する。
そして、モデル作成部1332は、作成したモデル及び最適化したモデルのパラメータをモデル記憶部122に記憶させて、保存する(ステップS36)。
[モデル評価処理の処理手順]
次に、モデル評価処理(ステップS4)の処理手順について説明する。図5は、図2に示すモデル評価処理の処理手順を示すフローチャートである。
図5に示すように、モデル評価部134は、学習部133が作成したモデルを評価する(ステップS41)。この場合、モデル評価部134は、このモデルに設定された閾値(第2の閾値)を、異常検知件数が超えるか否かを判定する(ステップS42)。ここで、検知装置10は、正常通信を学習したモデルによって検知された異常検知件数が一定数内に収まるように、モデルの再学習を行っている。
このため、モデル評価部134は、異常検知件数が閾値(第2の閾値)を超えていないと判定した場合(ステップS42:No)、このモデルの学習は十分であると判定し、このモデルの登録・更新が可能であると評価する(ステップS43)。
これに対し、モデル評価部134は、異常検知件数が第2の閾値を超えると判定した場合(ステップS42:Yes)、このモデルを、学習が不十分なモデルであると判定する。そして、モデル評価部134は、このモデルの学習の回数nがN回未満か否かを判定する(ステップS44)。モデル評価部134は、学習回数nがN回未満であると判定した場合(ステップS44:Yes)、学習回数nに1を加算し(学習回数=n+1)(ステップS45)、このモデルを、再学習対象のモデルであると評価する(ステップS46)。
一方、モデル評価部134は、このモデルの学習の回数nがN回未満ではない、すなわち、学習の回数nがN回に達していると判定した場合(ステップS44:No)、このモデルに対応する機器20が、学習対象外の機器20であると評価する(ステップS47)。
[パラメータ再設定処理の処理手順]
次に、パラメータ再設定処理(ステップS6)の処理手順について説明する。図6は、図2に示すパラメータ再設定処理の処理手順を示すフローチャートである。
図6に示すように、パラメータ設定部135は、対象の機器20の通信量が適量か、適量よりも多いかを判定する(ステップS51)。パラメータ設定部135は、対象機器の通信量が多いとを判定した場合(ステップS51:多い)、収集対象の情報を限定する(ステップS52)。例えば、パラメータ設定部135は、ポート番号等で通信情報をフィルタリングすることによって、通信量の多い機器20については、学習対象とする通信を絞り込む。
そして、パラメータ設定部135は、対象機器の通信量が適量出あると判定した場合(ステップS51:適量)、または、ステップS52の処理終了後、異常検知件数を判定する(ステップS53)。例えば、パラメータ設定部135は、テスト時の異常検知件数に応じて学習期間の設定値を変更する。
具体的には、パラメータ設定部135は、異常検知件数が5〜10件であると判定した場合(ステップS53:5〜10件)、学習期間を前回の2倍の期間に設定する(ステップS54)。また、パラメータ設定部135は、異常検知件数が11〜20件であると判定した場合(ステップS53:11〜20件)、学習期間を前回の4倍の期間に設定する(ステップS55)。また、パラメータ設定部135は、異常検知件数が20件を超えていると判定した場合(ステップS53:20件〜)、学習期間を前回の8倍の期間に設定する(ステップS56)。なお、図6に示す異常検知件数と学習期間との関係は、一例であり、各モデルのテスト期間や機器20の通信数等に応じて変更可能である。また、パラメータ設定部135は、異常検知件数に応じて学習期間以外のパラメータを変更してもよい。
[モデル登録処理の処理手順]
次に、モデル登録処理(ステップS8)の処理手順について説明する。図7は、図2に示すモデル登録処理の処理手順を示すフローチャートである。
図7に示すように、モデル適用部131は、モデル登録・更新が可能であると評価されたモデルについて、このモデルが登録済み機器のモデルであるか否かを判定する(ステップS61)。
モデル適用部131は、このモデルが登録済み機器のモデルでないと判定した場合(ステップS61:No)、新規の通信モデルとしてDB等(例えば、モデル記憶部122)に登録する(ステップS62)。
また、モデル適用部131は、このモデルが登録済み機器のモデルであると判定した場合(ステップS61:Yes)、既存の通信モデルとしてDB等(例えば、モデル記憶部122)のモデル情報を更新する(ステップS63)。なお、モデルについては、モデル適用部131と同等の機能を有する他機器(例えば、ホームルータ等)への適用も可能であるため、検知装置10は、通信部11及びネットワーク30を介して、登録・更新が可能であると評価されたモデルを他機器に適用してもよい。
[モデル適用・更新処理の処理手順]
次に、モデル適用・更新処理(ステップS9)の処理手順について説明する。図8は、図2に示すモデル適用・更新処理の処理手順を示すフローチャートである。
図8に示すように、モデル適用部131は、アップデート情報の定期確認を行い、新規登録・更新なし、または、新規登録・更新有りであるか否かを判定する(ステップS71)。モデル適用部131は、新規登録・更新有りであると判定した場合(ステップS71:新規登録・更新有り)、アップデート情報を適用する(ステップS72)。モデル適用部131は、新規登録・更新なしであると判定した場合(ステップS71:新規登録・更新なし)、または、ステップS72の処理終了後、モデル適用・更新処理を終了する。
[運用後モデル評価処理の処理手順]
次に、運用後モデル評価処理(ステップS11)の処理手順について説明する。図9は、図2に示す運用後モデル評価処理の処理手順を示すフローチャートである。
図9に示すように、モデル適用部131は、評価対象のモデルについて、通信評価期間の更新タイミングであるか否かを判定する(ステップS81)。通信評価期間は、検知装置10が、例えば1か月に設定する。モデル適用部131は、通信評価期間の更新タイミングであると判定した場合(ステップS81:評価期間の更新)、異常検知件数のカウントを初期化する(ステップS82)。言い換えると、モデル適用部131は、設定した通信評価期間を超過した場合には、異常検知件数のカウントを初期化する。
そして、モデル適用部131は、通信評価期間の更新タイミングでないと判定した場合(ステップS81:評価期間の更新でない)、または、ステップS82の処理終了後、通信が正常通信であるか異常通信であるかを判定する(ステップS83)。
モデル適用部131は、通信が異常通信であると判定した場合(ステップS83:異常通信)、異常検知件数のカウントに1を加算する(ステップS84)。そして、モデル適用部131は、異常通信件数が閾値(第1の閾値)を超えるか否かを判定する(ステップS85)。
モデル適用部131は、異常通信件数が第1の閾値を超えていないと判定した場合(ステップS85:No)、または、通信が正常通信であると判定した場合(ステップS83:正常通信)、このモデルの再学習は不要であると評価する(ステップS86)。
モデル適用部131は、異常通信件数が第1の閾値を超えていると判定した場合(ステップS85:Yes)、このモデルの再学習が必要であると評価する(ステップS87)。このように、モデル適用部131は、モデルの運用時においても、モデルの評価を行い、このモデルを用いた検知処理において異常通信件数が第1の閾値を超えている場合には、このモデルの再学習を学習部133に実施させる。
[実施の形態の効果]
このように、本実施の形態に係る検知装置10は、機器20ごとに収集した通信情報を用いて該機器20による通信情報の特徴をモデルに学習させる。そして、検知装置10では、モデルに検知対象の通信情報を入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するとともに、定めた評価期間中に通信情報の異常検知件数が所定の閾値を超えた場合にモデルの再学習を実施させる。
したがって、本実施の形態に係る検知装置10によれば、モデルの運用時に、定期的にモデルを評価し、評価結果に応じてモデルの再学習を実施するため、通信情報の異常を検知するモデルの精度を向上することが可能になる。また、検知装置10は、検知装置10自体が、運用状況に応じて再学習の実施の有無を判定する。言い換えると、検知装置10は、運用開始後の誤検知に対して再学習を実施するか、運用を継続するかを検知装置10側で判定する。このため、検知装置10によれば、システム運用者による判定が不要となり、システム運用者による運用負荷を低減することが可能になる。
また、検知装置10は、学習後のモデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行う。そして、検知装置10は、学習回数が所定回数未満であって異常検知件数が所定の閾値を超えると評価された機器20に対応するモデルについて、該モデルが学習対象とする機器20の通信情報に関するパラメータを設定して、設定したパラメータにしたがって再度モデルを学習させる。
したがって、検知装置10は、モデル作成後に、作成したモデルを評価し、異常検知件数が所定の閾値未満となるようにモデルの学習を繰り返し実施しながら、機器20ごとのモデルを決定するため、通信情報の異常を検知するモデルの精度を向上することが可能になる。
また、検知装置10では、学習回数が所定回数未満であって異常検知件数が一定数を超えると評価された機器20に対応するモデルについて、該機器20に対する異常検知件数に応じて学習期間を設定する。
したがって、検知装置10によれば、学習対象とする通信情報の期間等のパラメータ調整を自装置で行いながら再学習を行うことができる。このため、検知装置10では、通信パターンの学習期間を最適化することができる。例えば、検知装置10は、正常通信を学習する際、初回学習時では短期間で学習を行い、再学習が必要となった際に各機器の異常検知件数に応じて学習期間を調整するなど、各学習時における学習時間を柔軟に設定することができる。
また、検知装置10は、学習回数が所定回数に達しても異常検知件数が一定数を超えると評価された機器20を、学習対象外の機器20として分類し、学習対象から除外するため、過度の学習を回避することができる。
また、検知装置10では、モデルの学習時に発生した通信パターン数と通信回数とに応じて算出した尤度に応じて所定の閾値を設定している。具体的には、検知装置10では、算出した尤度が所定値よりも低い場合には所定の閾値を所定値よりも低く設定する。すなわち、検知装置10では、尤度が低いものほど閾値を低くして、再学習を行われやすくすることによって、いずれのモデルについても、一定以上の精度を保持できるようにしている。
このように、実施の形態に係る検知装置10によれば、通信情報の異常を検知するモデルの精度を向上するとともに、システム運用者による運用負荷を低減できる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図10は、プログラムが実行されることにより、検知装置10が実現されるコンピュータの一例を示す図である。コンピュータ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は、例えば、OS(Operating System)1091、アプリケーションプログラム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、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
1 検知システム
10 検知装置
11 通信部
12 記憶部
13 制御部
20,20−1〜20−m 機器
30 ネットワーク
121 通信情報記憶部
122 モデル記憶部
123 パラメータ情報記憶部
124 閾値情報記憶部
125 機器情報記憶部
131 モデル適用部
132 収集部
133 学習部
134 モデル評価部
135 パラメータ設定部
1331 通信学習部
1332 モデル作成部

Claims (7)

  1. 通信機器から通信情報を収集する収集部と、
    前記通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させる学習部と、
    前記モデルに検知対象の通信情報を入力し、前記モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するとともに、予め定められた評価期間中に通信情報の異常検知件数が第1の閾値を超えた場合に、前記学習部に前記モデルの再学習を実施させる検知部と、
    前記学習部による学習後の前記モデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行う評価部と、
    前記評価部によって、学習回数が所定回数未満であって前記異常検知件数が第2の閾値を超えると評価された通信機器に対応するモデルについて、該モデルが学習対象とする通信機器の通信情報に関するパラメータを設定する設定部と、
    を有し、
    前記学習部は、前記設定部が設定したパラメータにしたがって再度モデルを学習させることを特徴とする検知装置。
  2. 前記設定部は、前記評価部によって、前記学習回数が所定回数未満であって異常検知件数が前記第2の閾値を超えると評価された通信機器に対応するモデルについて、該通信機器に対する前記異常検知件数に応じて学習期間を設定することを特徴とする請求項に記載の検知装置。
  3. 前記評価部は、前記学習回数が所定回数に達しても異常検知件数が前記第2の閾値を超えると評価された通信機器を、学習対象外の通信機器として分類し、学習対象から除外することを特徴とする請求項1または2に記載の検知装置。
  4. 前記学習部は、モデルの学習時に発生した通信パターン数と通信回数とに応じて算出した尤度に応じて前記第2の閾値を設定することを特徴とする請求項のいずれか一つに記載の検知装置。
  5. 前記学習部は、算出した前記尤度が所定値よりも低い場合には前記第2の閾値を所定値よりも低く設定することを特徴とする請求項に記載の検知装置。
  6. 検知装置が検知する検知方法であって、
    通信機器から通信情報を収集する工程と、
    前記通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させる工程と、
    前記モデルに検知対象の通信情報を入力し、前記モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知する工程と、
    定められた評価期間中に通信情報の異常検知件数が第1の閾値を超えた場合に前記モデルの再学習を実施させる工程と、
    前記学習させる工程における学習後の前記モデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行う工程と、
    前記評価を行う工程において、学習回数が所定回数未満であって前記異常検知件数が第2の閾値を超えると評価された通信機器に対応するモデルについて、該モデルが学習対象とする通信機器の通信情報に関するパラメータを設定する工程と、
    を含み、
    前記学習させる工程は、前記設定する工程において設定されたパラメータにしたがって再度モデルを学習させることを特徴とする検知方法。
  7. 通信機器から通信情報を収集するステップと、
    前記通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させるステップと、
    前記モデルに検知対象の通信情報を入力し、前記モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するステップと、
    定められた評価期間中に通信情報の異常検知件数が第1の閾値を超えた場合に前記モデルの再学習を実施させるステップと、
    前記学習させるステップにおける学習後の前記モデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行うステップと、
    前記評価を行うステップにおいて、学習回数が所定回数未満であって前記異常検知件数が第2の閾値を超えると評価された通信機器に対応するモデルについて、該モデルが学習対象とする通信機器の通信情報に関するパラメータを設定するステップ、
    をコンピュータに実行させ
    前記学習させるステップは、前記設定するステップにおいて設定されたパラメータにしたがって再度モデルを学習させるための検知プログラム。
JP2018036984A 2018-03-01 2018-03-01 検知装置、検知方法及び検知プログラム Active JP6749957B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018036984A JP6749957B2 (ja) 2018-03-01 2018-03-01 検知装置、検知方法及び検知プログラム
PCT/JP2019/007095 WO2019167891A1 (ja) 2018-03-01 2019-02-25 検知装置、検知方法及び検知プログラム
US16/975,410 US12050524B2 (en) 2018-03-01 2019-02-25 Sensing device, sensing method, and sensing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018036984A JP6749957B2 (ja) 2018-03-01 2018-03-01 検知装置、検知方法及び検知プログラム

Publications (2)

Publication Number Publication Date
JP2019153893A JP2019153893A (ja) 2019-09-12
JP6749957B2 true JP6749957B2 (ja) 2020-09-02

Family

ID=67804992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018036984A Active JP6749957B2 (ja) 2018-03-01 2018-03-01 検知装置、検知方法及び検知プログラム

Country Status (3)

Country Link
US (1) US12050524B2 (ja)
JP (1) JP6749957B2 (ja)
WO (1) WO2019167891A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116324826A (zh) * 2020-09-18 2023-06-23 日本电信电话株式会社 判定装置、判定方法以及判定程序
US20230334361A1 (en) * 2020-09-18 2023-10-19 Nippon Telegraph And Telephone Corporation Training device, training method, and training program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5219783B2 (ja) * 2008-12-24 2013-06-26 三菱電機株式会社 不正アクセス検知装置及び不正アクセス検知プログラム及び記録媒体及び不正アクセス検知方法

Also Published As

Publication number Publication date
JP2019153893A (ja) 2019-09-12
WO2019167891A1 (ja) 2019-09-06
US12050524B2 (en) 2024-07-30
US20200401497A1 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
JP7103274B2 (ja) 検知装置及び検知プログラム
US11815987B2 (en) Log analysis in vector space
US20180285691A1 (en) Automated and customized post-production release review of a model
US20230039855A1 (en) Classification and Relationship Correlation Learning Engine for the Automated Management of Complex and Distributed Networks
US20220086071A1 (en) A network device classification apparatus and process
US20230362182A1 (en) Abnormality sensing device and abnormality sensing method
US20190286546A1 (en) Deriving the shortest steps to reproduce a device failure condition
JP2018045403A (ja) 異常検知システム及び異常検知方法
CN114579380B (zh) 一种计算机系统故障的人工智能检测系统及方法
JP6749957B2 (ja) 検知装置、検知方法及び検知プログラム
CN109063486B (zh) 一种基于plc设备指纹识别的安全渗透测试方法与系统
JPWO2018159362A1 (ja) ログ分析装置、ログ分析方法およびログ分析プログラム
CN112565187A (zh) 基于逻辑回归的电网攻击检测方法、系统、设备及介质
US11444824B2 (en) Knowledge base and mining for effective root-cause analysis
AU2019298538A1 (en) Generation device, generation method, and generation program
CN108965318B (zh) 检测工业控制网络中未授权接入设备ip的方法及装置
US20240028922A1 (en) Computing cluster configuration standardization
US20210357500A1 (en) Calculation device, calculation method, and calculation program
US20230195962A1 (en) Model construction apparatus, estimation apparatus, model construction method, estimation method and program
CN115730205A (zh) 一种配置决策装置的方法、装置及相关设备
CN112583825A (zh) 一种工业系统的异常检测方法和装置
US12056000B1 (en) Anomaly detection by analyzing logs using machine learning
AU2020468530B2 (en) Assessment device, assessment method, and assessment program
US20240305655A1 (en) Systems and methods for detection and correction of anomalous network system behavior
Oser et al. arXiv: Evaluating the Future Device Security Risk Indicator for Hundreds of IoT Devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200812

R150 Certificate of patent or registration of utility model

Ref document number: 6749957

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150