(57)【要約】【課題】マルウェアに感染したクライアント装置を制御する悪性サーバの検知精度を向上させる。【解決手段】検知装置１０は、悪性サーバの候補と各クライアントとの通信情報から、悪性サーバの候補に対する、各クライアントとの通信時間の特徴量、各クライアントの設置される物理空間の特徴量、および、各クライアントの属するネットワーク空間の特徴量の少なくともいずれかを含む通信特徴量を生成する。そして、検知装置１０は、悪性サーバに対する各クライアントとの通信の特徴および非悪性サーバに対する各クライアントとの通信の特徴を示したモデル１４と、生成された悪性サーバの候補に対する通信特徴量とを用いて、悪性サーバの候補が悪性サーバか否かを判定する。【選択図】図３
2019047335.tif 000002
【特許請求の範囲】
【請求項１】
マルウェアに感染したクライアント装置を制御する悪性サーバを検知する検知装置であって、
悪性サーバおよび非悪性サーバそれぞれに対する各クライアント装置との通信の特徴を示したモデルを記憶する記憶部と、
悪性サーバの候補と各クライアント装置との通信情報の入力を受け付ける入力部と、
前記悪性サーバの候補と各クライアント装置との通信情報から、前記悪性サーバの候補に対する、各クライアント装置との通信時間の特徴量、前記各クライアント装置の設置される物理空間の特徴量、および、前記各クライアント装置の属するネットワーク空間の特徴量の少なくともいずれかを含む通信特徴量を生成する特徴量生成部と、
前記生成された前記悪性サーバの候補に対する前記通信特徴量と、前記モデルとを用いて、前記悪性サーバの候補が悪性サーバか否かを判定する判定部と、
を備えることを特徴とする検知装置。
【請求項２】
前記特徴量生成部は、さらに、
悪性サーバと各クライアント装置との通信情報および非悪性サーバと各クライアント装置との通信情報を用いて、前記悪性サーバおよび前記非悪性サーバそれぞれに対する前記通信特徴量を生成し、
前記検知装置は、さらに、
前記生成された前記悪性サーバおよび前記非悪性サーバに対する前記通信特徴量を用いた機械学習により、前記モデルを生成する学習部を備えることを特徴とする請求項１に記載の検知装置。
【請求項３】
前記特徴量生成部は、
前記悪性サーバの候補に対する各クライアント装置との通信時間の特徴量を求める際、前記悪性サーバの候補へアクセスする各クライアント装置におけるローカルタイムでのアクセス数の統計値であるアクセス時間特徴ベクトルを用いることを特徴とする請求項１に記載の検知装置。
【請求項４】
前記特徴量生成部は、
前記悪性サーバの候補に対する各クライアント装置の設置される物理空間の特徴量を求める際、地理的な区分ごとに、当該地理的な区分に属し、前記悪性サーバの候補へアクセスするクライアント装置の数を用いることを特徴とする請求項１に記載の検知装置。
【請求項５】
前記特徴量生成部は、
前記悪性サーバの候補に対する各クライアント装置の設置される物理空間の特徴量を求める際、前記悪性サーバの候補と当該悪性サーバの候補へアクセスするクライアント装置との距離を用いることを特徴とする請求項１に記載の検知装置。
【請求項６】
前記特徴量生成部は、
前記悪性サーバの候補に対する各クライアント装置の属するネットワーク空間の特徴量を求める際、ネットワーク空間ごと、当該ネットワーク空間に属し、前記悪性サーバの候補へアクセスするクライアント装置の数を用いることを特徴とする請求項１に記載の検知装置。
【請求項７】
マルウェアに感染したクライアント装置を制御する悪性サーバを検知する検知装置が、
悪性サーバの候補と各クライアント装置との通信情報の入力を受け付けるステップと、
前記悪性サーバの候補と各クライアント装置との通信情報から、前記悪性サーバの候補に対する、各クライアント装置との通信時間の特徴量、前記各クライアント装置の設置される物理空間の特徴量、および、前記各クライアント装置の属するネットワーク空間の特徴量の少なくともいずれかを含む通信特徴量を生成するステップと、
悪性サーバおよび非悪性サーバそれぞれに対する各クライアント装置との通信の特徴を示したモデルと、前記生成された前記悪性サーバの候補に対する前記通信特徴量とを用いて、前記悪性サーバの候補が悪性サーバか否かを判定するステップと、
を含んだことを特徴とする検知方法。
【請求項８】
マルウェアに感染したクライアント装置を制御する悪性サーバを検知するための検知プログラムであって、
悪性サーバの候補と各クライアント装置との通信情報の入力を受け付けるステップと、
前記悪性サーバの候補と各クライアント装置との通信情報から、前記悪性サーバの候補に対する、各クライアント装置との通信時間の特徴量、前記各クライアント装置の設置される物理空間の特徴量、および、前記各クライアント装置の属するネットワーク空間の特徴量の少なくともいずれかを含む通信特徴量を生成するステップと、
悪性サーバおよび非悪性サーバそれぞれに対する各クライアント装置との通信の特徴を示したモデルと、前記生成された前記悪性サーバの候補に対する前記通信特徴量とを用いて、前記悪性サーバの候補が悪性サーバか否かを判定するステップと、
をコンピュータが実行することを特徴とする検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置、検知方法、および、検知プログラムに関する。
【背景技術】
【０００２】
従来、ネットワークフロー情報に教師あり学習を適用し、マルウェアに感染したクライアント装置を制御する司令塔サーバ（悪性サーバ）の分類と検知を行う技術がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】DISCLOSURE:  Detecting  Botnet  Command  and  Control  Servers  Through  Large-Scale  NetFlow  Analysis、［平成29年8月21日検索］、インターネット＜URL：http://www.syssec-project.eu/m/page-media/3/bilge-acsac12.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の技術において、各サーバにアクセスするクライアントがマルウェア感染ボットか、正規な情報収集用クローラーかを区別できず、悪性サーバの検知精度が低いという問題があった。そこで、本発明は、前記した問題を解決し、マルウェアに感染したクライアント装置を制御する悪性サーバの検知精度を向上させることを課題とする。
【課題を解決するための手段】
【０００５】
前記した課題を解決するため、本発明は、マルウェアに感染したクライアント装置を制御する悪性サーバを検知する検知装置であって、悪性サーバおよび非悪性サーバそれぞれに対する各クライアント装置との通信の特徴を示したモデルを記憶する記憶部と、悪性サーバの候補と各クライアント装置との通信情報の入力を受け付ける入力部と、前記悪性サーバの候補と各クライアント装置との通信情報から、前記悪性サーバの候補に対する、各クライアント装置との通信時間の特徴量、前記各クライアント装置の設置される物理空間の特徴量、および、前記各クライアント装置の属するネットワーク空間の特徴量の少なくともいずれかを含む通信特徴量を生成する特徴量生成部と、前記生成された前記悪性サーバの候補に対する前記通信特徴量と、前記モデルとを用いて、前記悪性サーバの候補が悪性サーバか否かを判定する判定部と、を備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、マルウェアに感染したクライアント装置を制御する悪性サーバの検知精度を向上させることできる。
【図面の簡単な説明】
【０００７】
【図１】図１は、システムの構成例を示す図である。
【図２】図２は、検知装置の生成する特徴量を説明するための図である。
【図３】図３は、検知装置の構成例を示す図である。
【図４】図４は、検知装置の生成する各クライアントの通信時間の特徴量を説明するための図である。
【図５】図５は、検知装置の生成する各クライアントのネットワーク空間の特徴量を説明するための図である。
【図６】図６は、検知装置におけるモデル生成処理を示すフローチャートである。
【図７】図７は、検知装置における悪性サーバの検知処理を示すフローチャートである。
【図８】図８は、検知プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。本発明は、本実施形態に限定されない。まず、図１および図２を用いて、本実施形態の検知装置１０（図３参照）の概要を説明する。なお、以下の説明において、悪性サーバとは、マルウェアに感染したクライアント群を制御するサーバ（司令塔サーバ）であるものとする。
【０００９】
［概要］
検知装置１０は、サーバ１（例えば、悪性サーバ候補）と、クライアント（クライアント装置）２との通信情報を取得する。この通信情報は、例えば、フロー情報であり、フローの宛先の通信装置（例えば、サーバ１）のＩＰアドレス（DstIP）、フローの送信元の通信装置（例えば、クライアント２）のＩＰアドレス（SrcIP）、タイムスタンプ（世界標準時刻）の値等を含む。なお、検知装置１０は、悪性サーバ候補のサーバ１が複数あれば、それぞれのサーバ１について通信情報を取得する。
【００１０】
例えば、検知装置１０が、悪性サーバ候補のサーバ１（DstIP「B.B.B.Y」）に対し、図２の左に示す通信情報を得た場合を考える。
【００１１】
この場合、検知装置１０は、上記の通信情報に基づき、悪性サーバ候補のサーバ１（DstIP「B.B.B.Y」）に対する各クライアント２の通信特徴量として、（１）悪性サーバ候補のサーバ１（DstIP「B.B.B.Y」）との通信を行う各クライアント２の設置される物理空間（地理的分布）の特徴量を用いる。（２）各クライアント２の通信時間（通信時間の分布）の特徴量、（３）各クライアント２の属するネットワーク空間（ネットワーク空間の分布）の特徴量を求める。また、上記の各特徴量は、例えば、各値の平均、標準偏差、最大、最少等、各種統計を用いる。
【００１２】
なお、検知装置１０は、（１）各クライアント２の設置される物理空間（地理的分布）の特徴量を求める際、各クライアント２の設置場所は、例えば、各クライアント２のSrcIPに対し、Geolocation  lookupにより特定可能である。
【００１３】
また、検知装置１０は、（２）各クライアント２の通信時間（通信時間の分布）の特徴量を求める際、各クライアント２の通信時刻として、例えば、各クライアント２におけるローカルタイムでの通信時刻を用いる。これにより、検知装置１０は、悪性サーバからの制御を受けたクライアント２が、当該クライアント２におけるローカルタイムで何時ごろに当該悪性サーバとの通信を実行しているかを通信時間の特徴量として用いることができる。
【００１４】
さらに、検知装置１０は、（３）各クライアント２の属するネットワーク空間の特徴量を求める際、各クライアント２の属するネットワーク空間として、例えば、各クライアント２に割り当てられたＩＰアドレスのネットワークアドレスを用いる。この場合、検知装置１０は、例えば、ネットワークアドレスブロックごとに、当該ネットワークアドレスブロックに属し、悪性サーバ候補のサーバ１（DstIP「B.B.B.Y」）との通信を行うクライアント２の数（＃of  SrcIP）を算出する。これにより、検知装置１０は、悪性サーバからの制御を受けた各クライアント２のネットワークアドレスブロックごとの数の分布を特徴量として用いることができる。
【００１５】
検知装置１０は、上記の特徴量からなる、悪性サーバ候補のサーバ１に対する各クライアント２の通信特徴量と、事前に機械学習により作成したモデル１４（詳細は後記）とを用いて、当該サーバ１が悪性サーバか否かを判定する。検知装置１０が、このような判定処理を悪性サーバ候補のサーバ１それぞれに対し実行することにより、悪性サーバの検知を行うことができる。
【００１６】
上記のとおり、検知装置１０は、悪性サーバ候補のサーバ１について、当該サーバ１との通信を行う（１）各クライアント２の設置される物理空間（地理的分布）の特徴量、（２）各クライアント２の通信時間（通信時間の分布）の特徴量、（３）各クライアント２のネットワーク空間（ネットワーク空間の分布）の特徴量を用いて、当該サーバ１が悪性サーバか否かを判定する。これにより、検知装置１０は、当該サーバ１がマルウェアに感染したクライアント群を制御する悪性サーバか否かを精度よく判定することができる。
【００１７】
なお、検知装置１０は、サーバ１に対する各クライアント２の通信特徴量を求める際、上記の（１）〜（３）の特徴量すべてを用いてもよいし、（１）〜（３）の特徴量のうちいずれかを用いてもよい。上記の（１）〜（３）の特徴量の詳細については後記する。
【００１８】
［構成］
次に、図３を用いて、検知装置１０の構成を説明する。検知装置１０は、入力部１１と、特徴量生成部１２と、学習部１３と、モデル１４と、判定部１５と、出力部１６とを備える。
【００１９】
入力部１１は、ネットワークにおけるサーバ１と各クライアント２との通信情報の入力を受け付ける。
【００２０】
特徴量生成部１２は、サーバ１と各クライアント２との通信情報から、サーバ１の通信特徴量を生成する。この通信特徴量は、当該サーバ１に対する、各クライアント２との通信時間の特徴量、各クライアント２の物理空間の特徴量、および、各クライアント２のネットワーク空間の特徴量の少なくともいずれかを含む。
【００２１】
例えば、特徴量生成部１２は、悪性サーバと各クライアント２との通信情報から悪性サーバの通信特徴量を生成し、非悪性サーバと各クライアント２との通信情報から非悪性サーバのサーバ１の通信特徴量を生成する。そして、特徴量生成部１２は、上記の通信特徴量に、当該通信特徴量が悪性サーバに関するものか非悪性サーバに関するものかを示すラベル値を付与して学習部１３へ出力する。
【００２２】
学習部１３は、特徴量生成部１２から出力された、悪性サーバの通信特徴量と非悪性サーバの通信特徴量とを用いて機械学習を行う。そして、学習部１３は、上記の機械学習の結果を用いて、悪性サーバおよび非悪性サーバそれぞれに対する通信特徴量を示したモデル１４を生成する。生成されたモデル１４は、検知装置１０の記憶部（図示省略）の所定領域に記憶される。
【００２３】
また、特徴量生成部１２は、悪性サーバ候補のサーバ１についても、当該サーバ１と各クライアント２との通信情報から、当該サーバ１の通信特徴量を生成し、判定部１５に出力する。
【００２４】
判定部１５は、モデル１４と、特徴量生成部１２から出力された悪性サーバ候補のサーバ１の通信特徴量とを参照して、当該サーバ１が悪性サーバか否かを判定する。
【００２５】
出力部１６は、判定部１５により悪性サーバと判定されたサーバ１の識別情報（例えば、ＩＰアドレス）を出力する。
【００２６】
［物理空間の特徴量］
ここで、図２に戻って、特徴量生成部１２における、サーバ１に対する、各クライアント２の設置される物理空間の特徴量について詳細に説明する。
【００２７】
例えば、特徴量生成部１２は、通信情報を参照して、サーバ１（DstIP「B.B.B.Y」）に対する各クライアント２のSrcIPに対し、Geolocation  lookupを実行することにより、各クライアント２の設置場所を求める。そして、特徴量生成部１２は、各クライアント２の設置場所から、各クライアント２の地理的な分布を求める。
【００２８】
例えば、特徴量生成部１２は、図２の右上に示すように、サーバ１（DstIP「B.B.B.Y」）に対し、通信を行ったクライアント２を地図上にマッピングする。例えば、特徴量生成部１２は、例えば、地図をいくつかの領域に区切り、領域ごとに、サーバ１（DstIP「B.B.B.Y」）に対し通信を行ったクライアント２の数をプロットする。ここでのプロット結果は、例えば、行列により表される。そして、特徴量生成部１２は、当該行列を、サーバ１（DstIP「B.B.B.Y」）に対する、各クライアント２の物理空間の特徴量とする。
【００２９】
このようにすることで、特徴量生成部１２は、サーバ１に対する、各クライアント２の地理的な分布を特徴量として得ることができる。
【００３０】
［通信時間の特徴量］
次に、図４を用いて、特徴量生成部１２における、サーバ１に対する、各クライアント２との通信時間の特徴量について詳細に説明する。ここでは、特徴量生成部１２が、通信情報（符号４０１）に示すように、サーバ１（DstIP「B.B.B.Y」）に対するクライアント２（SrcIP「A.A.A.X」、SrcIP「C.C.C.Z」）の通信時刻が、世界標準時刻である場合を例に説明する。
【００３１】
この場合、特徴量生成部１２は、通信情報（符号４０１）に示される各クライアント２のSrcIP（SrcIP「A.A.A.X」、SrcIP「C.C.C.Z」）に対するGeolocation  lookupにより、各クライアント２の設置場所を特定する。そして、特定した各クライアント２の設置場所に基づき、各クライアント２の通信時刻を世界標準時刻からローカルタイムに変換する。
【００３２】
つまり、特徴量生成部１２は、符号４０２に示すように、SrcIP「A.A.A.X」のクライアント２の世界標準時刻での通信時刻「11：00：00」を、当該クライアント２のローカルタイムでの通信時刻「2：00：00」に変換し、SrcIP「C.C.C.Z」のクライアント２の世界標準時刻での通信時刻「15：00：00」を、当該クライアント２のローカルタイムでの通信時刻「22：00：00」に変換する。
【００３３】
そして、特徴量生成部１２は、サーバ１（「B.B.B.Y」）に対する各クライアント２のローカルタイムでの通信時刻から、当該サーバ１（「B.B.B.Y」）の通信時間の特徴量を得る。
【００３４】
例えば、特徴量生成部１２は、サーバ１（「B.B.B.Y」）に対するSrcIP「A.A.A.X」のクライアント２からのローカルタイムでの時刻ごとのアクセス数（符号４０３）と、SrcIP「C.C.C.Z」のクライアント２からのローカルタイムでの時刻ごとのアクセス数（符号４０４）とを合わせた情報（符号４０５）を、サーバ１に対する、各クライアント２との通信時間の特徴量とする。特徴量生成部１２は、例えば、以下のようにして通信時間の特徴量を生成する。すなわち、特徴量生成部１２は、所定の時間間隔、例えば、三時間単位で、ローカルタイムの時間ブロックを生成し、クライアント２ごとの該当時間ブロックにアクセスした数を集計し、時間ブロック行列を生成する。例えば、あるクライアント２は「00：00：00」-「02：59：59」の間のみにアクセスが１回あった場合、[1,0,0,0,0,0]として時間ブロック行列を生成する。そして、特徴量生成部１２は、同一サーバにアクセスした複数のクライアント２の時間ブロック行列に対して、カラムごとの平均値を求めて、通信時間の特徴量とする。
【００３５】
このようにすることで、特徴量生成部１２は、サーバ１に対する、各クライアント２のローカルタイムでの通信時間の分布を特徴量として得ることができる。
【００３６】
［ネットワーク空間の特徴量］
次に、図５を用いて、特徴量生成部１２における、サーバ１に対する、各クライアント２のネットワーク空間の特徴量を詳細に説明する。例えば、特徴量生成部１２は、通信情報（符号５０１）を参照して、サーバ１（DstIP「B.B.B.Y」）に対するクライアント２のSrcIPの属するネットワーク空間ごと、当該ネットワーク空間に属するクライアント２の数を示す行列を求める。
【００３７】
例えば、特徴量生成部１２は、通信情報（符号５０１）に示すように、サーバ１（DstIP「B.B.B.Y」）との通信を行うクライアント２のSrcIPが、「A.A.A.X」と「C.C.C.Z」であった場合、ネットワークアドレスブロック「A.A.A.」に属するクライアント２の数（＃of  SrcIP）は「１」であり、ネットワークアドレスブロック「C.C.C.」に属するクライアント２の数（＃of  SrcIP）は「１」である。したがって、特徴量生成部１２は、これらの情報を示した情報（符号５０２）を、サーバ１に対する、各クライアント２の属するネットワーク空間の特徴量とする。例えば、特徴量生成部１２は、それぞれのネットワークアドレスブロックに属するクライアント２の数からなる、行列[1,1]の平均、標準偏差、最大、最小、中央値等の統計値を計算し、ネットワーク空間の特徴量とする。
【００３８】
このようにすることで、特徴量生成部１２は、サーバ１に対する、各クライアント２の属するネットワーク空間上での分布を特徴量として得ることができる。
【００３９】
なお、上記の例では、各クライアント２のSrcIPをネットワークアドレスブロックで区切った場合を例に説明したが、各クライアント２の属するＡＳ（Autonomous  System）のＡＳ番号で区切ってもよい。
【００４０】
［処理手順］
次に、図６および図７を用いて、検知装置１０の処理手順を説明する。まず、図６を用いて、検知装置１０がモデル１４を生成（訓練）する手順について説明する。例えば、検知装置１０の入力部１１は、モデル１４の学習用の通信情報を受信する（Ｓ１）。この学習用の通信情報は、悪性サーバと各クライアント２との通信情報と、非悪性サーバと各クライアント２との通信情報とを含む。また、各通信情報には、例えば、当該通信情報が、悪性サーバの通信情報か非悪性サーバの通信情報かを示すラベル値が付与されているものとする。
【００４１】
Ｓ１の後、入力部１１は、Ｓ１で受信した学習用の通信情報を特徴量生成部１２へ出力し、特徴量生成部１２は、学習用の通信情報から、悪性サーバの通信特徴量および非悪性サーバの通信特徴量を生成する（Ｓ２）。
【００４２】
Ｓ２の後、学習部１３は、Ｓ２で生成された悪性サーバの通信特徴量および非悪性サーバの通信特徴量を用いた機械学習により、悪性サーバの通信特徴量および非悪性サーバの通信特徴量を示したモデル１４を生成する（Ｓ３）。
【００４３】
次に、図７を用いて、検知装置１０が悪性サーバを検知する手順について説明する。入力部１１は、悪性サーバ候補のサーバ１の通信情報を受信すると（Ｓ１１）、入力部１１は、Ｓ１１で受信した悪性サーバ候補のサーバ１の通信情報を特徴量生成部１２へ出力し、特徴量生成部１２は、当該通信情報から、悪性サーバ候補のサーバ１の通信特徴量を生成する（Ｓ１２）。
【００４４】
Ｓ１２の後、判定部１５は、モデル１４と、特徴量生成部１２から出力された悪性サーバ候補のサーバ１の通信特徴量とを参照して、当該サーバ１が悪性サーバか否かを判定する（Ｓ１３）。その後、出力部１６は、判定部１５により悪性サーバと判定されたサーバ１のＩＰアドレスを出力する（Ｓ１４）。
【００４５】
このようにすることで、検知装置１０は、当該サーバ１がマルウェアに感染したクライアント群を制御する悪性サーバか否かを精度よく判定することができる。
【００４６】
なお、検知装置１０は、図６に示したモデル１４の生成（訓練）処理を実行してから、図７に示した悪性サーバの検知処理を実行してもよいし、これらの処理をそれぞれ独立に実行してもよい。
【００４７】
［その他の実施形態］
なお、特徴量生成部１２が、サーバ１に対する、各クライアント２の設置される物理空間の特徴量を生成する際、サーバ１と各クライアント２と距離を用いてもよい。この場合、特徴量生成部１２は、各クライアント２のSrcIPに対するGeolocation  lookupにより、各クライアント２の設置場所を求め、各クライアント２の設置場所から、サーバ１との距離を求めればよい。このようにすることで、特徴量生成部１２は、サーバ１に対する、各クライアント２の距離の分布を物理空間の特徴量として得ることができる。
【００４８】
また、モデル１４は、機械学習により生成されたものである場合を例に説明したが、これに限定されない。例えば、モデル１４は、いわゆるルールベースで作成された、悪性サーバに対する各クライアント２との通信特徴量と、非悪性サーバに対する各クライアント２との通信特徴量とを示したものであってもよい。また、検知装置１０は、学習部１３を装備せず、外部装置により作成されたモデル１４を用いて悪性サーバの検知を行ってもよい。
【００４９】
［プログラム］
また、上記の実施形態で述べた検知装置１０の機能を実現するプログラムを所望の情報処理装置（コンピュータ）にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を検知装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等がその範疇に含まれる。また、検知装置１０を、クラウドサーバに実装してもよい。
【００５０】
図８を用いて、上記のプログラム（検知プログラム）を実行するコンピュータの一例を説明する。図８に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００５１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００５２】
ここで、図８に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記の実施形態で説明した各種データや情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００５３】
そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００５４】
なお、上記の検知プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００５５】
１０  検知装置
１１  入力部
１２  特徴量生成部
１３  学習部
１４  モデル
１５  判定部
１６  出力部
【図１】
2019047335.tif 000003
【図２】
2019047335.tif 000004
【図３】
2019047335.tif 000005
【図４】
2019047335.tif 000006
【図５】
2019047335.tif 000007
【図６】
2019047335.tif 000008
【図７】
2019047335.tif 000009
【図８】
2019047335.tif 000010