(57)【要約】【課題】通信情報の異常を検知するモデルの精度を向上するとともに、システム運用者による運用負荷を低減できる。【解決手段】検知装置１０は、機器２０から通信情報を収集する収集部１３２と、機器２０ごとに収集した通信情報を用いて、機器２０による通信情報の特徴をモデルに学習させる学習部１３３と、モデルに検知対象の通信情報を入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するとともに、予め定められた評価期間中に通信情報の異常検知件数が第１の閾値を超えた場合に、学習部１３３にモデルの再学習を実施させるモデル適用部１３１と、を有する。【選択図】図１
2019153893.tif 000002
【特許請求の範囲】
【請求項１】
通信機器から通信情報を収集する収集部と、
前記通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させる学習部と、
前記モデルに検知対象の通信情報を入力し、前記モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するとともに、予め定められた評価期間中に通信情報の異常検知件数が第１の閾値を超えた場合に、前記学習部に前記モデルの再学習を実施させる検知部と、
を有することを特徴とする検知装置。
【請求項２】
前記学習部による学習後の前記モデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行う評価部と、
前記評価部によって、学習回数が所定回数未満であって前記異常検知件数が第２の閾値を超えると評価された通信機器に対応するモデルについて、該モデルが学習対象とする通信機器の通信情報に関するパラメータを設定する設定部と、
を有し、前記学習部は、前記設定部が設定したパラメータにしたがって再度モデルを学習させることを特徴とする請求項１に記載の検知装置。
【請求項３】
前記設定部は、前記評価部によって、前記学習回数が所定回数未満であって異常検知件数が前記第２の閾値を超えると評価された通信機器に対応するモデルについて、該通信機器に対する前記異常検知件数に応じて学習期間を設定することを特徴とする請求項２に記載の検知装置。
【請求項４】
前記評価部は、前記学習回数が所定回数に達しても異常検知件数が前記第２の閾値を超えると評価された通信機器を、学習対象外の通信機器として分類し、学習対象から除外することを特徴とする請求項２または３に記載の検知装置。
【請求項５】
前記学習部は、モデルの学習時に発生した通信パターン数と通信回数とに応じて算出した尤度に応じて前記第２の閾値を設定することを特徴とする請求項２〜４のいずれか一つに記載の検知装置。
【請求項６】
前記学習部は、算出した前記尤度が所定値よりも低い場合には前記第２の閾値を所定値よりも低く設定することを特徴とする請求項５に記載の検知装置。
【請求項７】
検知装置が検知する検知方法であって、
通信機器から通信情報を収集する工程と、
前記通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させる工程と、
前記モデルに検知対象の通信情報を入力し、前記モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知する工程と、
定められた評価期間中に通信情報の異常検知件数が第１の閾値を超えた場合に前記モデルの再学習を実施させる工程と、
を含んだことを特徴とする検知方法。
【請求項８】
通信機器から通信情報を収集するステップと、
前記通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させるステップと、
前記モデルに検知対象の通信情報を入力し、前記モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するステップと、
定められた評価期間中に通信情報の異常検知件数が第１の閾値を超えた場合に前記モデルの再学習を実施させるステップと、
をコンピュータに実行させるための検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置、検知方法及び検知プログラムに関する。
【背景技術】
【０００２】
ＩｏＴ（Internet  of  Things）時代の到来に伴い、ＩｏＴ機器によって取得されたデータが、ネットワークを介して、多様な使われ方をされるようになっている。そこで、従来、宛先ＩＰアドレスやポート番号等の通信情報をもとに正常な通信を学習し、正常通信については通信を許可し、異常通信が発生した際に該通信を遮断するシステムが提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】井手  剛（著）、「入門  機械学習による異常検知」、コロナ社  (2015/2/19)
【非特許文献２】近藤  毅、加島  伸悟、上野  正巳、“IoTデバイスにおける，認証とトラヒック制御の要件検討”、電子情報通信学会技術研究報告（IEICE  technical  report）、信学技報、  vol.  116、  no.  251、  pp.  15-18、  2016年10月
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のシステムでは、機器の通信情報をもとに正常通信の学習及びモデルを作成する際、学習対象とする通信量情報が少ない状態で学習を行うと、機器の通信パターンを網羅することができない場合があった。この結果、従来のシステムでは、正常通信を異常通信であると誤判定してしまう可能性が高まり、誤判定によってシステム運用者の運用負荷増大につながるという問題があった。
【０００５】
また、従来のシステムでは、作成した通信情報の異常検知用のモデルを用いて通信制御を行う際、学習段階で発生していない未知の通信が発生した場合、異常通信として検出される。しかしながら、従来のシステムでは、通信モデルの学習状態が不十分として再学習を行うのか、或いは、再学習を行わずに運用を継続するかを、システム側で判断できないという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、通信情報の異常を検知するモデルの精度を向上するとともに、システム運用者による運用負荷を低減できる検知装置、検知方法及び検知プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、通信機器から通信情報を収集する収集部と、通信機器ごとに収集した通信情報を用いて該通信機器による通信情報の特徴をモデルに学習させる学習部と、モデルに検知対象の通信情報を入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するとともに、予め定められた評価期間中に通信情報の異常検知件数が第１の閾値を超えた場合に、学習部にモデルの再学習を実施させる検知部と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、通信情報の異常を検知するモデルの精度を向上するとともに、システム運用者による運用負荷を低減できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態における検知システムの構成の一例を示す図である。
【図２】図２は、図１に示す検知装置の検知処理の処理手順を示すフローチャートである。
【図３】図３は、図２に示す通信情報収集処理の処理手順を示すフローチャートである。
【図４】図４は、図２に示す学習処理の処理手順を示すフローチャートである。
【図５】図５は、図２に示すモデル評価処理の処理手順を示すフローチャートである。
【図６】図６は、図２に示すパラメータ再設定処理の処理手順を示すフローチャートである。
【図７】図７は、図２に示すモデル登録処理の処理手順を示すフローチャートである。
【図８】図８は、図２に示すモデル適用・更新処理の処理手順を示すフローチャートである。
【図９】図９は、図２に示す運用後モデル評価処理の処理手順を示すフローチャートである。
【図１０】図１０は、プログラムが実行されることにより、検知装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［実施の形態］
本発明の実施の形態について説明する。図１は、実施の形態における検知システムの構成の一例を示す図である。
【００１２】
図１に示すように、実施の形態に係る検知システム１は、複数の機器２０−１〜２０−ｍと、機器２０−１〜２０−ｍと通信情報の異常の有無を検知する検知装置１０とを有する。検知装置１０は、ネットワーク３０等を介して、外部装置（不図示）と接続する。
【００１３】
機器２０−１〜２０−ｍは、ＩｏＴ機器である。機器２０−１〜２０−ｍは、例えば、時間情報や位置情報等と、対応する所定情報とを対応付けた通信情報を、無線通信等を介して、検知装置１０に送信する。複数の機器のそれぞれを区別することなく総称する場合に単に機器２０と記載する。また、機器２０の台数は、図１に示す台数に限るものではない。
【００１４】
検知装置１０は、機器２０によって送信された通信情報を受信し、受信した通信情報が異常通信であるか否かを検知する。検知装置１０は、正常通信については通信を許可し、異常通信が発生した際に該通信を遮断する。検知装置１０は、宛先ＩＰアドレスやポート番号等の通信情報をもとに正常な通信を学習させたモデルを用いて、通信情報の異常の有無を検知する。この場合、検知装置１０は、機器２０ごとにモデルを作成する。そして、検知装置１０は、学習後のモデルを評価し、評価結果に応じてモデルの再学習を実施することによって、通信情報の異常を検知するモデルの精度を向上させている。また、検知装置１０は、自装置において、運用状況に応じて再学習の実施の有無を判定することによって、システム運用者による運用負荷を低減している。
【００１５】
［検知装置の構成］
次に、図１を参照して検知装置の構成について説明する。図１に示すように、検知装置１０は、通信部１１、記憶部１２及び制御部１３を有する。なお、検知装置１０が、物理サーバである例を説明するが、検知装置１０は、物理サーバ上に展開された仮想サーバであってもよい。
【００１６】
通信部１１は、機器２０、及び、ネットワーク３０等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部１１は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他の装置と制御部１３（後述）との間の通信を行う。
【００１７】
記憶部１２は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１２は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１２は、検知装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１２は、プログラムの実行で用いられる各種情報を記憶する。記憶部１２は、通信情報記憶部１２１、モデル記憶部１２２、パラメータ情報記憶部１２３、閾値情報記憶部１２４及び機器情報記憶部１２５を有する。
【００１８】
通信情報記憶部１２１は、通信部１１を介して各機器２０から収集した通信情報を記憶する。モデル記憶部１２２は、検知対象の通信情報を入力されると、入力された通信情報が異常通信であるか否かを示す情報を出力するモデルを記憶するとともに、機器２０による正常な通信情報の特徴を学習したモデルの各種パラメータを記憶する。
【００１９】
パラメータ情報記憶部１２３は、モデルの再学習時に設定されたパラメータを含む情報を記憶する。このパラメータは、パラメータ設定部１３５（後述）によって設定されたものである。
【００２０】
閾値情報記憶部１２４は、モデル評価時に再学習の実施の可否を判断する際に用いられる第１の閾値及び第２の閾値を含む情報を記憶する。第１の閾値は、モデル運用中において再学習の評価のために用いられるものである。第２の閾値は、モデルの学習時に、学習部１３３（後述）によって、モデルごとに設定されたものである。
【００２１】
機器情報記憶部１２５は、学習対象外の機器２０の識別情報を記憶する。この学習対象外の機器２０は、モデル評価部１３４（後述）によって登録される。
【００２２】
制御部１３は、検知装置１０全体を制御する。制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１３は、各種のプログラムが動作することにより各種の処理部として機能する。制御部１３は、モデル適用部１３１（検知部）、収集部１３２、学習部１３３、モデル評価部１３４（評価部）及びパラメータ設定部１３５（設定部）を有する。
【００２３】
モデル適用部１３１は、機器２０ごとに設定された各モデルを適用し、検知対象の機器２０による通信情報を、該機器２０に対応するモデルに入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知する。モデル適用部１３１は、通信が異常通信である場合には該通信の遮断を行い、通信が正常通信である場合には通信の許可を行う。
【００２４】
また、モデル適用部１３１は、運用時に、予め定められた評価期間中に通信情報の異常検知件数が第１の閾値を超えた場合に、学習部１３３にこのモデルの再学習を実施させる。ここで、モデル適用部１３１が使用する第１の閾値は、学習部１３３が設定した第２の閾値であってもよいし、運用ルールにしたがって予め設定された閾値であってもよい。また、モデル適用部１３１は、通信部１１を介して、機器２０による通信情報を取得する。そして、モデル適用部１３１は、取得した通信情報を、パケットミラーリング等で収集部１３２に出力する。
【００２５】
収集部１３２は、システムの配下に接続された機器２０から通信情報を取得する。収集部１３２は、収集した通信情報を通信情報記憶部１２１に記憶する。
【００２６】
学習部１３３は、機器２０ごとに収集された通信情報を用いて、該機器２０による通信情報の特徴をモデルに学習させる。学習部１３３は、通信学習部１３３１及びモデル作成部１３３２を有する。
【００２７】
通信学習部１３３１は、機器２０ごとに収集した正常通信の通信情報を用いて、該機器２０による通信情報の特徴をモデルに学習させる。通信学習部１３３１は、機械学習を適用してモデルに学習を行わせる。
【００２８】
モデル作成部１３３２は、検知対象の通信情報が異常通信であるか否かを検知する際に用いるモデルを機器２０ごとに作成する。モデル作成部１３３２は、正常通信の通信情報の学習が実行されることによって、各モデルのパラメータの最適化を行う。
【００２９】
ここで、モデル作成部１３３２は、学習した通信パターン数と通信回数とに応じて尤度を付与した上で、異常通信の判定に用いるモデルについて、許容可能な異常検知件数の第２の閾値を、モデル作成時に付与した尤度を基に計算し、設定する。言い換えると、モデル作成部１３３２は、モデルの学習時に発生した通信パターン数と通信回数とに応じて尤度を算出し、該算出した尤度に応じて第２の閾値を設定する。
【００３０】
この際、モデル作成部１３３２は、所定のルールにしたがって、算出した尤度が所定値よりも低い場合には第２の閾値を所定値よりも低く設定する。これによって、尤度が低いものほど閾値が低くなり、再学習が行われやすくなる。或いは、モデル作成部１３３２は、これまでの学習状態をフィードバックして閾値を設定してもよい。
【００３１】
モデル評価部１３４は、学習部１３３による学習後のモデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行う。モデル評価部１３４は、学習回数が所定回数未満であるか否かを評価する。そして、モデル評価部１３４は、また、異常検知件数が第２の閾値を超える否かを評価する。モデル評価部１３４は、異常検知件数が第２の閾値を超えないと判断したモデルについては、モデルの登録・更新が可能であると評価し、モデルの保存を行う。ここで、モデル評価部１３４が使用する第２の閾値は、モデル作成部１３３２が尤度を基に設定した閾値である。
【００３２】
また、モデル評価部１３４は、異常検知件数が第２の閾値を超えるとともに、学習回数が所定回数未満であるモデルについては、再学習対象のモデルであると評価する。モデル評価部１３４は、学習回数が所定回数に達しても異常検知件数が第２の閾値を超えるモデルについては、該モデルに対応する機器２０を、学習対象外の機器２０として分類し、学習対象から除外すると評価する。モデル評価部１３４は、学習対象から除外すると評価した機器２０の識別情報を機器情報記憶部１２５に登録する。
【００３３】
パラメータ設定部１３５は、モデル評価部１３４によって、学習回数が所定回数未満であって異常検知件数が第２の閾値を超えると評価された機器２０に対応するモデルについて、該モデルが学習対象とする機器２０の通信情報に関するパラメータを設定する。学習部１３３は、パラメータ設定部１３５が設定したパラメータにしたがって再度モデルに学習させる。パラメータ設定部１３５は、異常検知件数を基に、通信情報の収集期間やプロトコルなどのパラメータを設定する。
【００３４】
例えば、パラメータ設定部１３５は、このモデルについて、該機器２０に対する異常検知件数に応じて学習期間を設定する。具体的には、パラメータ設定部１３５は、異常検知件数が多いほど、学習期間を長く設定する。
【００３５】
［検知処理の処理手順］
次に、検知装置１０の検知処理の処理手順について説明する。図２は、図１に示す検知装置１０の検知処理の処理手順を示すフローチャートである。
【００３６】
図２に示すように、機器２０が検知装置１０に接続すると（ステップＳ１）、収集部１３２が各機器２０の通信情報を収集する機器の通信情報収集処理を行う（ステップＳ２）。続いて、学習部１３３が、機器２０ごとに収集した正常通信の通信情報を用いて、該機器２０による通信情報の特徴をモデルに学習させてモデルを作成する学習処理を行う（ステップＳ３）。そして、モデル評価部１３４は、学習部１３３が作成したモデルを評価するモデル評価処理を行う（ステップＳ４）。
【００３７】
制御部１３は、モデル評価処理における評価結果が、学習対象外の機器である場合、モデル登録・更新可能である場合、または、再学習である場合のいずれかであるかを判定する（ステップＳ５）。
【００３８】
モデル評価部１３４は、モデル評価処理における評価結果が学習対象外の機器である場合（ステップＳ５：学習対象外の機器）、このモデルに対応する機器２０を、学習対象外の機器２０として学習対象から除外し、この機器２０が学習対象外の機器であることを機器情報記憶部１２５に登録する（ステップＳ７）。その後、検知装置１０は、ステップＳ３に進み、次のモデルに対する学習処理を行う。或いは、検知装置１０は、通信情報の収集処理（ステップＳ２）にまで戻ってもよい。
【００３９】
また、パラメータ設定部１３５は、モデル評価処理における評価結果が再学習である場合（ステップＳ５：再学習）、該モデルが学習対象とする機器２０の通信情報に関するパラメータを設定するパラメータ再設定処理を行う（ステップＳ６）。そして、検知装置１０は、ステップＳ３に戻り、学習部１３３は、パラメータ設定部１３５が設定したパラメータにしたがって、再度モデルに学習させる。
【００４０】
また、モデル適用部１３１は、モデル評価処理における評価結果がモデル登録・更新可能である場合（ステップＳ５：モデル登録・更新）、このモデルの登録処理を行い（ステップＳ８）、このモデルの適用・更新処理（ステップＳ９）を行う。
【００４１】
そして、モデル適用部１３１は、モデルを用いた異常通信の検知処理を行う（ステップＳ１０）。具体的には、モデル適用部１３１は、検知対象の機器２０による通信情報を、該機器２０に対応するモデルに入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知する。モデル適用部１３１は、通信が異常通信である場合には該通信の遮断を行い、通信が正常通信である場合には通信の許可を行う。
【００４２】
そして、モデル適用部１３１は、モデルの再学習を実施させるか否かを評価する運用後モデル評価処理を行う（ステップＳ１１）。そして、制御部１３は、モデル適用部１３１の評価結果が、再学習であるか否かを判定する（ステップＳ１２）。
【００４３】
モデル適用部１３１の評価結果が再学習であると制御部１３が判定した場合（ステップＳ１２：Ｙｅｓ）、学習部１３３は、ステップＳ３に戻り、このモデルに対する再学習を実施する。また、モデル適用部１３１の評価結果が再学習でないと制御部１３が判定した場合（ステップＳ１２：Ｎｏ）、ステップＳ１０に戻り、モデル適用部１３１による、該モデルを用いた検知処理を継続させる。
【００４４】
［通信情報収集処理の処理手順］
次に、通信情報収集処理（ステップＳ２）の処理手順について説明する。図３は、図２に示す通信情報収集処理の処理手順を示すフローチャートである。
【００４５】
図３に示すように、収集部１３２は、通信情報を収集し、該収集した通信情報の機器２０が、通信パターンを学習済みの機器２０であるか否かを判定する（ステップＳ２１）。収集部１３２は、収集した通信情報の機器２０が、通信パターンを学習済みの機器２０でないと判定した場合（ステップＳ２１：Ｎｏ）、この機器２０から収集した通信情報を取得し、通信情報記憶部１２１に記憶させて保存する（ステップＳ２２）。
【００４６】
収集部１３２は、収集した通信情報の機器２０が、通信パターンを学習済みの機器２０であると判定した場合（ステップＳ２１：Ｙｅｓ）、または、ステップＳ２２終了後、通信情報収集処理を終了する。
【００４７】
［学習処理の処理手順］
次に、学習処理（ステップＳ３）の処理手順について説明する。図４は、図２に示す学習処理の処理手順を示すフローチャートである。
【００４８】
図４に示すように、学習部１３３では、通信学習部１３３１が、収集部１３２が収集した通信情報に対応する機器２０について再学習か新規の学習かを判定する（ステップＳ３１）。通信学習部１３３１は、再学習であると判定した場合（ステップＳ３１：再学習）、この機器２０についての過去の学習状態を継承する（ステップＳ３２）。
【００４９】
そして、通信学習部１３３１は、新規の学習であると判定した場合（ステップＳ３１：新規）、または、ステップＳ３２終了後、学習対象の正常通信である通信情報を、モデルに学習させる通信学習処理を行い（ステップＳ３３）、モデル作成部１３３２が、モデルを該機器２０に対応するモデルを作成するとともに、該モデルのパラメータの最適化を行う。
【００５０】
そして、モデル作成部１３３２は、学習した通信パターン数と通信回数とに応じて尤度を算出する（ステップＳ３４）。モデル作成部１３３２は、（１）式を用いて、尤度を算出する。
【００５１】
尤度＝１−通信パターン数／通信回数      ・・・・（１）
【００５２】
続いて、モデル作成部１３３２は、作成したモデルについて、算出した尤度に応じて、異常検知件数に対する閾値（第２の閾値）を設定する（ステップＳ３５）。例えば、モデル作成部１３３２は、尤度が０〜０．６である場合には、第２の閾値を２５と設定する。また、モデル作成部１３３２は、尤度が０．６〜０．９である場合には、第２の閾値を４０と設定する。また、モデル作成部１３３２は、尤度が０．９を超える場合には、第２の閾値を５０と設定する。
【００５３】
そして、モデル作成部１３３２は、作成したモデル及び最適化したモデルのパラメータをモデル記憶部１２２に記憶させて、保存する（ステップＳ３６）。
【００５４】
［モデル評価処理の処理手順］
次に、モデル評価処理（ステップＳ４）の処理手順について説明する。図５は、図２に示すモデル評価処理の処理手順を示すフローチャートである。
【００５５】
図５に示すように、モデル評価部１３４は、学習部１３３が作成したモデルを評価する（ステップＳ４１）。この場合、モデル評価部１３４は、このモデルに設定された閾値（第２の閾値）を、異常検知件数が超えるか否かを判定する（ステップＳ４２）。ここで、検知装置１０は、正常通信を学習したモデルによって検知された異常検知件数が一定数内に収まるように、モデルの再学習を行っている。
【００５６】
このため、モデル評価部１３４は、異常検知件数が閾値（第２の閾値）を超えていないと判定した場合（ステップＳ４２：Ｎｏ）、このモデルの学習は十分であると判定し、このモデルの登録・更新が可能であると評価する（ステップＳ４３）。
【００５７】
これに対し、モデル評価部１３４は、異常検知件数が第２の閾値を超えると判定した場合（ステップＳ４２：Ｙｅｓ）、このモデルを、学習が不十分なモデルであると判定する。そして、モデル評価部１３４は、このモデルの学習の回数ｎがＮ回未満か否かを判定する（ステップＳ４４）。モデル評価部１３４は、学習回数ｎがＮ回未満であると判定した場合（ステップＳ４４：Ｙｅｓ）、学習回数ｎに１を加算し（学習回数＝ｎ＋１）（ステップＳ４５）、このモデルを、再学習対象のモデルであると評価する（ステップＳ４６）。
【００５８】
一方、モデル評価部１３４は、このモデルの学習の回数ｎがＮ回未満ではない、すなわち、学習の回数ｎがＮ回に達していると判定した場合（ステップＳ４４：Ｎｏ）、このモデルに対応する機器２０が、学習対象外の機器２０であると評価する（ステップＳ４７）。
【００５９】
［パラメータ再設定処理の処理手順］
次に、パラメータ再設定処理（ステップＳ６）の処理手順について説明する。図６は、図２に示すパラメータ再設定処理の処理手順を示すフローチャートである。
【００６０】
図６に示すように、パラメータ設定部１３５は、対象の機器２０の通信量が適量か、適量よりも多いかを判定する（ステップＳ５１）。パラメータ設定部１３５は、対象機器の通信量が多いとを判定した場合（ステップＳ５１：多い）、収集対象の情報を限定する（ステップＳ５２）。例えば、パラメータ設定部１３５は、ポート番号等で通信情報をフィルタリングすることによって、通信量の多い機器２０については、学習対象とする通信を絞り込む。
【００６１】
そして、パラメータ設定部１３５は、対象機器の通信量が適量出あると判定した場合（ステップＳ５１：適量）、または、ステップＳ５２の処理終了後、異常検知件数を判定する（ステップＳ５３）。例えば、パラメータ設定部１３５は、テスト時の異常検知件数に応じて学習期間の設定値を変更する。
【００６２】
具体的には、パラメータ設定部１３５は、異常検知件数が５〜１０件であると判定した場合（ステップＳ５３：５〜１０件）、学習期間を前回の２倍の期間に設定する（ステップＳ５４）。また、パラメータ設定部１３５は、異常検知件数が１１〜２０件であると判定した場合（ステップＳ５３：１１〜２０件）、学習期間を前回の４倍の期間に設定する（ステップＳ５５）。また、パラメータ設定部１３５は、異常検知件数が２０件を超えていると判定した場合（ステップＳ５３：２０件〜）、学習期間を前回の８倍の期間に設定する（ステップＳ５６）。なお、図６に示す異常検知件数と学習期間との関係は、一例であり、各モデルのテスト期間や機器２０の通信数等に応じて変更可能である。また、パラメータ設定部１３５は、異常検知件数に応じて学習期間以外のパラメータを変更してもよい。
【００６３】
［モデル登録処理の処理手順］
次に、モデル登録処理（ステップＳ８）の処理手順について説明する。図７は、図２に示すモデル登録処理の処理手順を示すフローチャートである。
【００６４】
図７に示すように、モデル適用部１３１は、モデル登録・更新が可能であると評価されたモデルについて、このモデルが登録済み機器のモデルであるか否かを判定する（ステップＳ６１）。
【００６５】
モデル適用部１３１は、このモデルが登録済み機器のモデルでないと判定した場合（ステップＳ６１：Ｎｏ）、新規の通信モデルとしてＤＢ等（例えば、モデル記憶部１２２）に登録する（ステップＳ６２）。
【００６６】
また、モデル適用部１３１は、このモデルが登録済み機器のモデルであると判定した場合（ステップＳ６１：Ｙｅｓ）、既存の通信モデルとしてＤＢ等（例えば、モデル記憶部１２２）のモデル情報を更新する（ステップＳ６３）。なお、モデルについては、モデル適用部１３１と同等の機能を有する他機器（例えば、ホームルータ等）への適用も可能であるため、検知装置１０は、通信部１１及びネットワーク３０を介して、登録・更新が可能であると評価されたモデルを他機器に適用してもよい。
【００６７】
［モデル適用・更新処理の処理手順］
次に、モデル適用・更新処理（ステップＳ９）の処理手順について説明する。図８は、図２に示すモデル適用・更新処理の処理手順を示すフローチャートである。
【００６８】
図８に示すように、モデル適用部１３１は、アップデート情報の定期確認を行い、新規登録・更新なし、または、新規登録・更新有りであるか否かを判定する（ステップＳ７１）。モデル適用部１３１は、新規登録・更新有りであると判定した場合（ステップＳ７１：新規登録・更新有り）、アップデート情報を適用する（ステップＳ７２）。モデル適用部１３１は、新規登録・更新なしであると判定した場合（ステップＳ７１：新規登録・更新なし）、または、ステップＳ７２の処理終了後、モデル適用・更新処理を終了する。
【００６９】
［運用後モデル評価処理の処理手順］
次に、運用後モデル評価処理（ステップＳ１１）の処理手順について説明する。図９は、図２に示す運用後モデル評価処理の処理手順を示すフローチャートである。
【００７０】
図９に示すように、モデル適用部１３１は、評価対象のモデルについて、通信評価期間の更新タイミングであるか否かを判定する（ステップＳ８１）。通信評価期間は、検知装置１０が、例えば１か月に設定する。モデル適用部１３１は、通信評価期間の更新タイミングであると判定した場合（ステップＳ８１：評価期間の更新）、異常検知件数のカウントを初期化する（ステップＳ８２）。言い換えると、モデル適用部１３１は、設定した通信評価期間を超過した場合には、異常検知件数のカウントを初期化する。
【００７１】
そして、モデル適用部１３１は、通信評価期間の更新タイミングでないと判定した場合（ステップＳ８１：評価期間の更新でない）、または、ステップＳ８２の処理終了後、通信が正常通信であるか異常通信であるかを判定する（ステップＳ８３）。
【００７２】
モデル適用部１３１は、通信が異常通信であると判定した場合（ステップＳ８３：異常通信）、異常検知件数のカウントに１を加算する（ステップＳ８４）。そして、モデル適用部１３１は、異常通信件数が閾値（第１の閾値）を超えるか否かを判定する（ステップＳ８５）。
【００７３】
モデル適用部１３１は、異常通信件数が第１の閾値を超えていないと判定した場合（ステップＳ８５：Ｎｏ）、または、通信が正常通信であると判定した場合（ステップＳ８３：正常通信）、このモデルの再学習は不要であると評価する（ステップＳ８６）。
【００７４】
モデル適用部１３１は、異常通信件数が第１の閾値を超えていると判定した場合（ステップＳ８５：Ｙｅｓ）、このモデルの再学習が必要であると評価する（ステップＳ８７）。このように、モデル適用部１３１は、モデルの運用時においても、モデルの評価を行い、このモデルを用いた検知処理において異常通信件数が第１の閾値を超えている場合には、このモデルの再学習を学習部１３３に実施させる。
【００７５】
［実施の形態の効果］
このように、本実施の形態に係る検知装置１０は、機器２０ごとに収集した通信情報を用いて該機器２０による通信情報の特徴をモデルに学習させる。そして、検知装置１０では、モデルに検知対象の通信情報を入力し、モデルの出力結果を基に検知対象の通信情報が異常通信であるか否かを検知するとともに、定めた評価期間中に通信情報の異常検知件数が所定の閾値を超えた場合にモデルの再学習を実施させる。
【００７６】
したがって、本実施の形態に係る検知装置１０によれば、モデルの運用時に、定期的にモデルを評価し、評価結果に応じてモデルの再学習を実施するため、通信情報の異常を検知するモデルの精度を向上することが可能になる。また、検知装置１０は、検知装置１０自体が、運用状況に応じて再学習の実施の有無を判定する。言い換えると、検知装置１０は、運用開始後の誤検知に対して再学習を実施するか、運用を継続するかを検知装置１０側で判定する。このため、検知装置１０によれば、システム運用者による判定が不要となり、システム運用者による運用負荷を低減することが可能になる。
【００７７】
また、検知装置１０は、学習後のモデルに対し、通信情報の異常検知件数及び学習回数を基に評価を行う。そして、検知装置１０は、学習回数が所定回数未満であって異常検知件数が所定の閾値を超えると評価された機器２０に対応するモデルについて、該モデルが学習対象とする機器２０の通信情報に関するパラメータを設定して、設定したパラメータにしたがって再度モデルを学習させる。
【００７８】
したがって、検知装置１０は、モデル作成後に、作成したモデルを評価し、異常検知件数が所定の閾値未満となるようにモデルの学習を繰り返し実施しながら、機器２０ごとのモデルを決定するため、通信情報の異常を検知するモデルの精度を向上することが可能になる。
【００７９】
また、検知装置１０では、学習回数が所定回数未満であって異常検知件数が一定数を超えると評価された機器２０に対応するモデルについて、該機器２０に対する異常検知件数に応じて学習期間を設定する。
【００８０】
したがって、検知装置１０によれば、学習対象とする通信情報の期間等のパラメータ調整を自装置で行いながら再学習を行うことができる。このため、検知装置１０では、通信パターンの学習期間を最適化することができる。例えば、検知装置１０は、正常通信を学習する際、初回学習時では短期間で学習を行い、再学習が必要となった際に各機器の異常検知件数に応じて学習期間を調整するなど、各学習時における学習時間を柔軟に設定することができる。
【００８１】
また、検知装置１０は、学習回数が所定回数に達しても異常検知件数が一定数を超えると評価された機器２０を、学習対象外の機器２０として分類し、学習対象から除外するため、過度の学習を回避することができる。
【００８２】
また、検知装置１０では、モデルの学習時に発生した通信パターン数と通信回数とに応じて算出した尤度に応じて所定の閾値を設定している。具体的には、検知装置１０では、算出した尤度が所定値よりも低い場合には所定の閾値を所定値よりも低く設定する。すなわち、検知装置１０では、尤度が低いものほど閾値を低くして、再学習を行われやすくすることによって、いずれのモデルについても、一定以上の精度を保持できるようにしている。
【００８３】
このように、実施の形態に係る検知装置１０によれば、通信情報の異常を検知するモデルの精度を向上するとともに、システム運用者による運用負荷を低減できる。
【００８４】
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８５】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８６】
［プログラム］
図１０は、プログラムが実行されることにより、検知装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００８７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００８８】
ハードディスクドライブ１０９０は、例えば、ＯＳ（Operating  System）１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、検知装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、検知装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００８９】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００９０】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００９１】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００９２】
１  検知システム
１０  検知装置
１１  通信部
１２  記憶部
１３  制御部
２０，２０−１〜２０−ｍ  機器
３０  ネットワーク
１２１  通信情報記憶部
１２２  モデル記憶部
１２３  パラメータ情報記憶部
１２４  閾値情報記憶部
１２５  機器情報記憶部
１３１  モデル適用部
１３２  収集部
１３３  学習部
１３４  モデル評価部
１３５  パラメータ設定部
１３３１  通信学習部
１３３２  モデル作成部
【図１】
2019153893.tif 000003
【図２】
2019153893.tif 000004
【図３】
2019153893.tif 000005
【図４】
2019153893.tif 000006
【図５】
2019153893.tif 000007
【図６】
2019153893.tif 000008
【図７】
2019153893.tif 000009
【図８】
2019153893.tif 000010
【図９】
2019153893.tif 000011
【図１０】
2019153893.tif 000012