JP6174537B2 - 操作検出装置、操作検出装置の動作方法およびコンピュータプログラム - Google Patents

操作検出装置、操作検出装置の動作方法およびコンピュータプログラム Download PDF

Info

Publication number
JP6174537B2
JP6174537B2 JP2014179976A JP2014179976A JP6174537B2 JP 6174537 B2 JP6174537 B2 JP 6174537B2 JP 2014179976 A JP2014179976 A JP 2014179976A JP 2014179976 A JP2014179976 A JP 2014179976A JP 6174537 B2 JP6174537 B2 JP 6174537B2
Authority
JP
Japan
Prior art keywords
vector
feature vector
feature
time
similarity
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
JP2014179976A
Other languages
English (en)
Other versions
JP2016054435A (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 JP2014179976A priority Critical patent/JP6174537B2/ja
Publication of JP2016054435A publication Critical patent/JP2016054435A/ja
Application granted granted Critical
Publication of JP6174537B2 publication Critical patent/JP6174537B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

本発明は、機器にアプリケーションをインストールせずに機器に対する操作を検出する技術に関する。
PC及びプリンタなどの機器をネットワークに接続するに際して障害が発生した場合、ネットワークの専門知識を有する者が対応にあたることが多いが、その際、利用者がどのような操作を行ったかを知ることができれば対応が容易となる。
しかし、利用者が操作を記憶していない場合や、複数人で機器を使用している場合や、電源断などやアプリケーションに起因する障害の場合は、どのような操作が行われたかを知ることが困難であり、原因の探求に時間がかかる。
この問題に対し、非特許文献1及び特許文献1では、例えば、PCにアプリケーションをインストールし、アプリケーションにより操作情報を収集する技術を開示している。
しかし、アプリケーションのインストールは面倒であり、利用者の負担となる。また、アプリケーションがオペレーティングシステムに依存する場合、設定の手間が生じる。また、アプリケーションを常時動作させる必要があり、機器への負荷がかかる。
一方、特許文献2では、ネットワーク上を流れるトラヒックを分析することで、利用しているアプリケーション種別を検出する技術を開示している。この技術を使用すれば、アプリケーションのインストールは不要となる。
特許第5350410号公報 特開2012−034262号公報
田中明通他,"PC操作履歴収集システム「メモリ・リトリーバ」",NTT技術ジャーナル,Vol.22,No.7,2010.
しかし、この技術では、通信を行うアプリケーション種別しか検出できない。つまり、操作は検出できない。例えば、PCの再起動やネットワーク設定の変更のような操作、オペレーティングシステムのアップデートのような操作が行われたことがわかれば有用だが、特許文献2の技術では不可能である。
さらに、ウェブブラウザを経由して新たなソフトウェアをダウンロードし、インストールした場合、特許文献2の技術では、ウェブブラウザを使用したことは検出できるが、ソフトウェアをダウンロードする操作が行われたことは検出できない。
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、機器にアプリケーションをインストールせずに機器に対する操作を検出できる操作検出装置を提供することにある。
上記の課題を解決するために、第1の本発明は、機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置であって、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースと、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段と、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段と、当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割する特徴ベクトル分割手段と、複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成するノイズクラスタ生成手段と、前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させる第1の中心ベクトル生成手段と、前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第1の類似度算出手段と、当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成する第1の差分特徴ベクトル生成手段と、当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数の操作クラスタを生成する操作クラスタ生成手段と、前記各操作クラスタにつき、当該操作クラスタ内の特徴ベクトルの中心ベクトルを生成し、前記操作名データベースから、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける第2の中心ベクトル生成手段と、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段と、当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段と、当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第2の類似度算出手段と、当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成する第2の差分特徴ベクトル生成手段と、前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出する第3の類似度算出手段と、当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段とを備えることを特徴とする。
第2の本発明は、機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置であって、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースと、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段と、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段と、当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割する特徴ベクトル分割手段と、複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成するノイズクラスタ生成手段と、前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させる第1の中心ベクトル生成手段と、前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第1の類似度算出手段と、当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成する第1の差分特徴ベクトル生成手段と、当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルのそれぞれにつき、前記操作名データベースにおける当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなる操作クラスタを生成する操作クラスタ生成手段と、当該各操作クラスタにつき、当該操作クラスタの中心ベクトルを生成し、前記操作名データベースから、当該操作クラスタに対応するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける第2の中心ベクトル生成手段と、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段と、当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段と、当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第2の類似度算出手段と、当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成する第2の差分特徴ベクトル生成手段と、前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出する第3の類似度算出手段と、当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段とを備えることを特徴とする。
第3の本発明は、機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置の動作方法であって、前記操作検出装置は、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースとを備え、前記動作方法は、前記操作検出装置の第1の特徴量算出手段が、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、前記操作検出装置の第1の特徴ベクトル生成手段が、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成し、前記操作検出装置の特徴ベクトル分割手段が、当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割し、前記操作検出装置のノイズクラスタ生成手段が、複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成し、前記操作検出装置の第1の中心ベクトル生成手段が、前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させ、前記操作検出装置の第1の類似度算出手段が、前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、前記操作検出装置の第1の差分特徴ベクトル生成手段が、当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成し、前記操作検出装置の操作クラスタ生成手段が、当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数の操作クラスタを生成し、前記操作検出装置の第2の中心ベクトル生成手段が、前記各操作クラスタにつき、当該操作クラスタ内の特徴ベクトルの中心ベクトルを生成し、前記操作名データベースから、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づけ、前記操作検出装置の第2の特徴量算出手段が、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、前記操作検出装置の第2の特徴ベクトル生成手段が、当該特徴量からなる特徴ベクトルを生成し、前記操作検出装置の第2の類似度算出手段が、当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、前記操作検出装置の第2の差分特徴ベクトル生成手段が、当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成し、前記操作検出装置の第3の類似度算出手段が、前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出し、前記操作検出装置の操作名読出手段が、当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出すことを特徴とする。
第4の本発明は、機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置の動作方法であって、前記操作検出装置は、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースとを備え、前記動作方法は、前記操作検出装置の第1の特徴量算出手段が、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、前記操作検出装置の第1の特徴ベクトル生成手段が、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成し、前記操作検出装置の特徴ベクトル分割手段が、当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割し、前記操作検出装置のノイズクラスタ生成手段が、複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成し、前記操作検出装置の第1の中心ベクトル生成手段が、前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させ、前記操作検出装置の第1の類似度算出手段が、前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、前記操作検出装置の第1の差分特徴ベクトル生成手段が、当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成し、前記操作検出装置の操作クラスタ生成手段が、当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルのそれぞれにつき、前記操作名データベースにおける当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなる操作クラスタを生成し、前記操作検出装置の第2の中心ベクトル生成手段が、当該各操作クラスタにつき、当該操作クラスタの中心ベクトルを生成し、前記操作名データベースから、当該操作クラスタに対応するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づけ、前記操作検出装置の第2の特徴量算出手段が、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、前記操作検出装置の第2の特徴ベクトル生成手段が、当該特徴量からなる特徴ベクトルを生成し、前記操作検出装置の第2の類似度算出手段が、当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、前記操作検出装置の第2の差分特徴ベクトル生成手段が、当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成し、前記操作検出装置の第3の類似度算出手段が、前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出し、前記操作検出装置の操作名読出手段が、当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出すことを特徴とする。
第5の本発明は、第1の本発明または第2の本発明の操作検出装置としてコンピュータを機能させるためのコンピュータプログラムであることを特徴とする。
本発明によれば、機器にアプリケーションをインストールせずに機器に対する操作を検出でき、さらに、操作が行われていないときにも発生するパケットデータの影響をなくすことができる。
第1の実施の形態に係る操作検出装置を利用する通信環境を例示する図である。 操作検出装置1の概略構成を示すブロック図である。 ポート番号記憶部15の構成を示す図である。 操作名データベース16の構成を示す図である。 操作を検出する前の準備期間における処理の流れを示すフローチャートである。 図5におけるステップS2の詳細なフローチャートである。 中心ベクトルと中央値を例示する図である。 操作を検出する際の処理の流れを示すフローチャートである。 操作検出装置1Aの概略構成を示すブロック図である。 ノイズデータベース17の構成を示す図である。 第6の実施の形態において操作を検出する前の準備期間における処理の流れを示すフローチャートである。 第6の実施の形態において操作を検出する際の処理の流れを示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る操作検出装置を利用する通信環境を例示する図である。
操作検出装置1は、機器2(例えば、PC(パーソナルコンピュータ))が通信を行うのに使用されるパケットを基に機器2に対してどのような操作が行われたかを検出する装置である。ここでいう操作とは、利用者による操作(いわゆる手動操作)のみならず、機器2にインストールされたアプリケーションによる操作(すなわち見かけ上では自動処理)、外部要因による操作(例えば、停電時などの電源断)なども含む。なお、検出対象の機器はPCに限らない。
機器2は、例えば、スイッチ3とゲートウェイ装置4を介して、インターネット5に接続される。操作検出装置1は、例えば、スイッチ3のミラーリングポートに接続される。スイッチ3には、例えば周辺機器6が接続される。
スイッチ3は、スイッチ3に流れるパケットをミラーリングし、ミラーリングポートから操作検出装置1に送信するようになっている。スイッチ3は、機器2から送信または機器2で受信されるパケット以外に、周辺機器6から送信または周辺機器6で受信されるパケットを操作検出装置1に送信する。
操作検出装置1の入力部11は、例えば、予めゲートウェイ装置4のルーティングテーブルやARPテーブルを参照し、機器2のIPアドレスおよびMACアドレスを取得しておき、これらに該当する送信元IPアドレスや送信元MACアドレスや宛先IPアドレスや宛先MACアドレスを含むパケットのみを受信するようになっている。
図2は、操作検出装置1の概略構成を示すブロック図である。
操作検出装置1は、パケットを受信する入力部11、操作を検出する前の期間においてパケットにおける特徴量からなる特徴ベクトルを生成し、予め定められたルールに適合する特徴ベクトルをクラスタリングし、各クラスタ内の特徴ベクトルの中心ベクトルを操作パターンとして生成する操作パターン抽出部12、操作を検出する期間において特徴ベクトルを生成し、中心ベクトルとの類似度を算出し、類似度に基づいて操作を検出する操作検出部13、検出された操作名を出力する出力部14、予めポート番号が記憶されるポート番号記憶部15、予めルールと操作名を含むレコードが記憶される操作名データベース16を備える。
図3は、ポート番号記憶部15の構成を示す図である。
ポート番号記憶部15は、例えば、Well-Knownポートと称される0番から1023番までのポート番号と当該ポート番号に対応するプロトコル名を記憶している。
図4は、操作名データベース16の構成を示す図である。
操作名データベース16には、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールとを含むレコードが記憶される。ルールは、例えば、式などで表現される。操作名に対しては、後に、操作パターン抽出部12が生成した中心ベクトルと閾値thが対応づけて記憶される。
図5は、操作を検出する前の準備期間における処理の流れを示すフローチャートである。図5の処理は、操作を検出する前に、つまり事前に行われるものである。
S1:入力部11は、予め取得した機器2のIPアドレスおよびMACアドレスに該当する送信元IPアドレスや送信元MACアドレスや宛先IPアドレスや宛先MACアドレスを含むパケットのみを一定期間に渡って受信し、図示しない記憶領域へ受信時刻に対応づけて記憶させる。この期間は、機器2に一通りの操作が実行される期間であり、例えば、1ヶ月である。
S2:次に、操作パターン抽出部12は、予め定められた単位時間ごとに、複数のプロトコルのそれぞれにつき、当該単位時間における当該プロトコルに該当するパケットのデータ量である特徴量を算出する。単位時間は、最も短い時間で行われる操作の時間とするのが好ましく、ここでは1秒とする。
図6は、図5におけるステップS2の詳細なフローチャートである。
S21:操作パターン抽出部12は、1ヶ月間に受信された全パケットを、パケットの受信開始から1秒後までの単位時間に受信されたパケットからなるパケット群、その後の1秒間(単位時間)に受信されたパケットからなるパケット群、その後の1秒間(単位時間)に受信されたパケットからなるパケット群、…というように分類する。
次に操作パターン抽出部12は、1つのパケット群内のパケットごとにS22〜S26を行う。また、操作パターン抽出部12は、他の各パケット群についても同じ処理を行う。
S22:操作パターン抽出部12は、対象のパケットのヘッダを参照し、パケットのプロトコルがTCPまたはUDPであるか否かを判定する。
S23:操作パターン抽出部12は、プロトコルがTCPまたはUDPであるなら(S22:YES)、パケットのヘッダから宛先ポート番号を取得し、同じポート番号がポート番号記憶部15に記憶されているか否かを判定する。
S24:操作パターン抽出部12は、プロトコルがTCPでなくかつUDPでないなら(S22:NO)、または、ポート番号がポート番号記憶部15に記憶されていないなら(S23:NO)、パケットの最上位のプロトコル名を取得する。ポート番号がポート番号記憶部15に記憶されていない場合は(S23:NO)、TCPまたはUDPが取得される(S24)。
S25:操作パターン抽出部12は、ポート番号がポート番号記憶部15に記憶されているなら(S23:YES)、ポート番号に対応するプロトコル名を取得する。ここでは、HTTPなどが取得される。
S26:操作パターン抽出部12は、プロトコル名を取得したなら(S24、S25)、該当のパケット群における当該プロトコル名の全パケットの合計データ量(予め0で初期化される)に対し、対象のパケットのデータ量を加算し、処理を終了する。
以下、合計のデータ量を特徴量という。
図5に戻り、説明を続ける。
S3:操作パターン抽出部12は、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する。
例えば、操作パターン抽出部12は、まず、1ヶ月の中の最初の時間W(時間窓という)に含まれる各単位時間に対応するパケット群について算出されたプロトコル名ごとの特徴量からなる特徴ベクトルを生成する。時間窓Wは、ここでは1分とする。
ここでは、理解を容易にすべく、プロトコル名iの単位時間jでの特徴量をf(i,j)と表現し、プロトコル名の総数をmとする。
操作パターン抽出部12は、具体的には、特徴ベクトル{f(1,1),f(1,2),…,f(1,60),f(2,1),f(2,2),…,f(m,1),f(m,2),…,f(m,60)}を生成する。つまり、操作パターン抽出部12は、連続する60の単位時間(1分)について算出された特徴量からなる特徴ベクトルを生成する。
次に、操作パターン抽出部12は、1ヶ月の中の最初の時間Sを除く期間の最初の時間Wに含まれる各単位時間に対応するパケット群について算出されたプロトコル名ごとの特徴量からなる特徴ベクトルを生成する。時間窓Wは同じく1分とし、Sは30秒とする。
操作パターン抽出部12は、具体的には、特徴ベクトル{f(1,31),f(1,32),…,f(1,90),f(2,31),f(2,32),…,f(m,31),f(m,32),…,f(m,90)}を生成する。
つまり、操作パターン抽出部12は、時間窓Wを一定時間Sだけスライドさせ、同じように時間窓Wに該当する特徴量からなる特徴ベクトルを生成する。
操作パターン抽出部12は、以下、同様に時間窓WをSずつスライドさせ、その都度、特徴ベクトルを生成し、時間窓Wの一部が1ヶ月の終了時点を超えたなら、処理を終了させる。
なお、時間窓Wとスライド量Sは、1分と30秒に限らない。
S4:次に、操作パターン抽出部12は、生成した複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数のクラスタを生成する。各特徴ベクトルは、いずれかのクラスタに含まれる。
ここでは、操作パターン抽出部12は、例えば、非階層型クラスタリング手法の1つであるk-means法を用いる。つまり、操作パターン抽出部12は、クラスタ数をまず2とし、クラスタの中心ベクトルとクラスタに含まれる特徴ベクトルの距離の総和である群内平方和を求める。次に、操作パターン抽出部12は、クラスタ数を1増加させて、群内平方和とその減少量を計算する。これをクラスタ数nまで行う。nは、例えば、機器2に対する操作数のx倍(xは、W/S)とする。次に、操作パターン抽出部12は、減少量が最も大きくなったときの増加後のクラスタ数と同じとなるように、クラスタを生成する。
S5:次に、操作パターン抽出部12は、各クラスタにつき、当該クラスタ内の特徴ベクトルの中心ベクトルを生成し、操作名データベース16から、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける。つまり、操作パターン抽出部12は、各クラスタが何の操作を示すかを判定する。
S5では、操作パターン抽出部12は、全ての中心ベクトルにおいて、各単位時間につき、当該単位時間に対応する要素(特徴量)の上位3つを選択する。
S5では、次に、操作パターン抽出部12は、各プロトコル名につき、全ての中心ベクトルから当該プロトコル名に対応する要素(特徴量)を抽出し、抽出した特徴量の中央値を求める。
S5では、次に、操作パターン抽出部12は、上位3つとして選択された特徴量以外の特徴量について、対応する中央値の10倍以上ならば、その特徴量を選択する。
図7は、中心ベクトルと中央値を例示する図である。
ここでは、理解を容易にすべく、プロトコル名の総数mを12とし、1つの中心ベクトルに対応する単位時間の数を5とし、中心ベクトルをマトリクスの形式で示す。
図7(a)の中心ベクトルでは、点模様の背景で示すように、単位時間1、2では、上位3つに含まれるTCP、DNS、HTTPの特徴量が選択され、単位時間3では、上位3つに含まれるTCP、HTTPの特徴量が選択される。中央値の10倍以上の特徴量はない。
図7(b)の中心ベクトルでは、点模様の背景で示すように、単位時間1では、上位3つに含まれるTCP、HTTP、IMAPの特徴量が選択される。また、斜め線模様の背景で示すように、中央値の10倍以上であるDNSの特徴量が選択される。
S5では、操作パターン抽出部12は、操作名データベース16から、中心ベクトルの選択された特徴量のパターンに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける。
S5では、例えば、図7(a)のように、前半フレームではTCP、DNS、HTTPが選択され、後半フレームでTCP、HTTP、IMAPが選択されており、図4中のメール受信のルールに適合するため、図7(a)の中心ベクトルは、操作名「メール受信」に対応づけられる。
S6:次に、操作パターン抽出部12は、各クラスタにつき、当該クラスタ内の各特徴ベクトルと当該クラスタの中心ベクトルとの距離の平均値を算出し、例えば、その平均値の逆数を当該中心ベクトルとともに後述の操作検出で用いる閾値thとして、操作名データベース16において、当該中心ベクトルに対応づけて記憶させ、処理を終了する。
図8は、操作を検出する際の処理の流れを示すフローチャートである。
図8の処理は、図5の処理後、操作を検出する際に行われるものである。ここでは、図5の処理が終了していることとする。
S31:入力部11は、機器2のIPアドレスおよびMACアドレスに該当する送信元IPアドレスや送信元MACアドレスや宛先IPアドレスや宛先MACアドレスを含むパケットのみを時間窓Wと同じ1分間に渡って受信する。
S32:操作検出部13は、受信されたパケットを用い、単位時間ごとに、各プロトコルにつき、当該単位時間における当該プロトコルに該当するパケットのデータ量である特徴量を算出する。
つまり、S32では、操作検出部13は、受信したパケットに対し、図6のステップS22〜S26の処理を行う。
S33:次に、操作検出部13は、当該特徴量からなる特徴ベクトルを生成する。
つまり、S33では、操作検出部13は、図5のステップS3で特徴ベクトルを生成したように特徴ベクトルを生成する。
S34:次に、操作検出部13は、操作名データベース16における各中心ベクトルにつき、当該特徴ベクトルと当該中心ベクトルの類似度を算出する。
S34では、操作検出部13は、例えば、式(1)により特徴ベクトルと中心ベクトルの距離dを算出し、例えば、距離dの逆数を計算し、これを類似度とする。つまり、距離が小さいほど類似度を高くする。
Figure 0006174537
ここで、xiは、特徴ベクトルのプロトコル名iに対応する特徴量、
yiは、中心ベクトルのプロトコル名iに対応する特徴量、
mは、プロトコル名の総数である。
S35:次に、操作検出部13は、類似度の最大値に対応する中心ベクトルに対応づけて記憶した閾値thを操作名データベース16から読み出し、類似度の最大値が閾値以上か否かを判定する。
操作検出部13は、類似度の最大値が閾値未満なら(S35:NO)、処理を終える。
S36:操作検出部13は、類似度の最大値が閾値以上なら(S35:YES)、操作名データベース16から当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す。
S37:次に、出力部14が、読み出された操作名を、例えば、図示しない表示装置などに表示し、処理を終える。
なお、第1の実施の形態では、ステップS6で、距離が小さいほど閾値を高くし、ステップS34で、距離が小さいほど類似度を高くし、ステップS35で、類似度の最大値が閾値以上か否かを判定し、類似度の最大値が閾値以上なら、ステップS36で、最大値に対応する操作名を読み出したが、ステップS6で、例えば距離を閾値とし、ステップS34で、距離を類似度とし、ステップS35で、類似度の最小値が閾値以下か否かを判定し、類似度の最小値が閾値以下なら、ステップS36で、最小値に対応する操作名を読み出してもよい。つまり、前者の処理は、実質的に後者の処理と同じである。
すなわち、いずれにしてもS36の処理は、類似度の最大値が予め定めた閾値以上なら、操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出すという処理である。
また、第1の実施の形態では、プロトコルごとに特徴量を算出したが、例えば、パケットの宛先ごとに特徴量を算出してもよい。
また、第1の実施の形態では、パケットのデータ量の積算値を特徴量としたが、例えば、パケットの総数を特徴量としてもよい。
したがって、第1の実施の形態に係る操作検出装置1は、機器2が通信を行うのに使用されるパケットを基に機器2に対する操作を検出する操作検出装置であって、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールとを含むレコードが記憶される操作名データベース16と、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段(ステップS2)と、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段(ステップS3)と、当該複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数のクラスタを生成するクラスタ生成手段(ステップS4)と、前記各クラスタにつき、当該クラスタ内の特徴ベクトルの中心ベクトルを生成し、操作名データベースから、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける中心ベクトル生成手段(ステップS5)と、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段(ステップS32)と、当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段(ステップS33)と、前記各中心ベクトルにつき、当該特徴ベクトルと当該中心ベクトルの類似度を算出する類似度算出手段(ステップS34)と、類似度の最大値が予め定めた閾値以上なら、操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段(ステップS36)とを備えるので、特徴ベクトル、中心ベクトルは、複数の特徴量の増減パターンを示すものとなり、よって、増減パターンにより、機器2に対する操作を検出することができる。
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。第2の実施の形態では、第1の実施の形態に同一または類似の装置および装置構成を用い、同一または類似のものについては第1の実施の形態で使用した符号を使用して重複説明を略し、第1の実施の形態とは異なる事項を中心に説明を行う。
第2の実施の形態では、第1の実施の形態に対し、ステップS4の処理が以下のように異なり、その他は、第1の実施の形態と同様である。
S4:操作パターン抽出部12は、ステップS3で生成された複数の特徴ベクトルのそれぞれにつき、操作名データベース16における当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなるクラスタを生成する。
ここでは、特徴ベクトルに適合するルールの有無の判定は、パターンマッチングにより行う。
S4では、まず、操作パターン抽出部12は、各ルールにつき、当該ルールに対応する操作名の操作を示す特徴ベクトルを複数含むクラスタを生成し、その操作の際の通信で使用されるプロトコル名の組を当該クラスタに対応づける。
S4では、操作パターン抽出部12は、次に、全ての特徴ベクトルにおいて、各単位時間につき、当該単位時間に対応する要素(特徴量)の上位3つを選択する。
S4では、次に、操作パターン抽出部12は、各プロトコル名につき、全ての特徴ベクトルから当該プロトコル名に対応する要素(特徴量)を抽出し、抽出した特徴量の中央値を求める。
S4では、次に、操作パターン抽出部12は、上位3つとして選択された特徴量以外の特徴量について、対応する中央値の10倍以上ならば、その特徴量を選択する。
S4では、次に、操作パターン抽出部12は、各特徴ベクトルにつき、上位3つまたは中央値の10倍以上として選択された特徴量に対応するプロトコル名の組と、クラスタに対応づけたプロトコル名の組のそれぞれを比較し、いずれかのクラスタに対応するプロトコル名の組に一致すれば(つまりルールと特徴ベクトルが適合すれば)、当該特徴ベクトルを当該クラスタに含ませる。いずれのクラスタに対応づけたプロトコル名の組とも一致しなければ、ルールで規定されない操作が行われた可能性があるので、例えば、その他の操作のクラスタに含ませる。
したがって、第2の実施の形態に係る操作検出装置1によれば、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールとを含むレコードが記憶される操作名データベース16と、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段(ステップS2)と、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段(ステップS3)と、当該複数の特徴ベクトルのそれぞれにつき、操作名データベース16における当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなるクラスタを生成するクラスタ生成手段(第2の実施の形態のステップS4)と、前記各クラスタにつき、当該クラスタ内の特徴ベクトルの中心ベクトルを生成し、操作名データベースから、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける中心ベクトル生成手段(ステップS5)と、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段(ステップS32)と、当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段(ステップS33)と、前記各中心ベクトルにつき、当該特徴ベクトルと当該中心ベクトルの類似度を算出する類似度算出手段(ステップS34)と、類似度の最大値が予め定めた閾値以上なら、操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段(ステップS36)とを備えるので、特徴ベクトル、中心ベクトルは、複数の特徴量の増減パターンを示すものとなり、よって、増減パターンにより、機器2に対する操作を検出することができる。
また、第2の実施の形態では、非階層型クラスタリング手法などにより行う第1の実施の形態の方法に比べ,ノイズデータの混入が少なく、また、ルールに適合しない特徴ベクトルをクラスタから除外できるので、その後に生成する中心ベクトルがより正確になる。その結果、より正確に操作を検出できる。
[第3の実施の形態]
次に、本発明の第3の実施の形態について説明する。第3の実施の形態では、第1または第2の実施の形態に同一または類似の装置および装置構成を用い、同一または類似のものについては第1の実施の形態等で使用した符号を使用して重複説明を略し、第1の実施の形態等とは異なる事項を中心に説明を行う。
第3の実施の形態では、第1の実施の形態等に対し、ステップS2、S32で求めた特徴量を標準化し、その他は、第1の実施の形態等と同様である。
つまり、S2(第1の特徴量算出手段)では、操作パターン抽出部12は、例えば、1ヶ月分の特徴量を求めたなら、各プロトコル名につき、当該プロトコル名に対応する特徴量を選択し、その平均が0、分散が1となるように当該特徴量を変換する(標準化する)。
また、S32(第2の特徴量算出手段)では、操作検出部13は、例えば、1分間分の特徴量を求めたなら、各プロトコル名につき、当該プロトコル名に対応する特徴量を選択し、その平均が0、分散が1となるように当該特徴量を変換する(標準化する)。
第3の実施の形態によれば、特徴量を標準化するので、パケットの数が少ないプロトコルを使用する操作であっても検出することができる。
[第4の実施の形態]
次に、本発明の第4の実施の形態について説明する。第4の実施の形態では、第1または第2または第3の実施の形態に同一または類似の装置および装置構成を用い、同一または類似のものについては第1の実施の形態等で使用した符号を使用して重複説明を略し、第1の実施の形態等とは異なる事項を中心に説明を行う。
第4の実施の形態では、第1の実施の形態等に対し、ステップS3、S33で求めた特徴ベクトルを正規化し、その他は、第1の実施の形態等と同様である。
つまり、S3(第1の特徴ベクトル生成手段)では、操作パターン抽出部12は、特徴ベクトルを求めたなら、各特徴ベクトルにつき、当該特徴ベクトルの大きさが1となるように、当該特徴ベクトルを変換する(正規化する)。
また、S33(第2の特徴ベクトル生成手段)では、操作検出部13は、特徴ベクトルを求めたなら、特徴ベクトルの大きさが1となるように、特徴ベクトルを変換する(正規化する)。
第4の実施の形態によれば、特徴ベクトルを正規化するので、特徴ベクトルは、対応する操作が行われた際のパケットのデータ量の比率を示し、つまり、データ量の多い少ないは無関係となるので、パケットの数が少ないプロトコルを使用する操作であっても検出することができる。
[第5の実施の形態]
次に、本発明の第5の実施の形態について説明する。第5の実施の形態では、第1または第2または第3または第4の実施の形態に同一または類似の装置および装置構成を用い、同一または類似のものについては第1の実施の形態等で使用した符号を使用して重複説明を略し、第1の実施の形態等とは異なる事項を中心に説明を行う。
第5の実施の形態では、第1の実施の形態等に対し、ステップS6における閾値の求め方と、S34以降の処理が異なり、その他は、第1の実施の形態等と同様である。
S6で、操作パターン抽出部12は、各クラスタにつき、当該クラスタ内の各特徴ベクトルと当該クラスタの中心ベクトルとの類似度sim(コサイン類似度)を式(2)により求める。
Figure 0006174537
ここで、xは、特徴ベクトル、
yは、中心ベクトル、
x・yは、xとyの積、
|x|は、xの長さ、
|y|は、yの長さである。
類似度simは、特徴ベクトルと中心ベクトルの間の角度が小さいほど小さくなる。
S6では、操作パターン抽出部12は、次に、類似度simの平均を計算し、これを当該中心ベクトルに対応する閾値thとする。
S34では、操作検出部13は、操作名データベース16における各中心ベクトルにつき、当該特徴ベクトルと当該中心ベクトルの類似度を式(2)により算出する。
S35では、操作検出部13は、類似度の最小値に対応する中心ベクトルに対応づけて記憶した閾値thを操作名データベース16から読み出し、類似度の最小値が閾値以下か否かを判定する。
S36では、操作検出部13は、類似度の最小値が閾値以下なら(S35:YES)、操作名データベース16から当該最小値に対応する中心ベクトルに対応づけられた操作名を読み出す。
なお、ステップS6で、類似度simの平均値の逆数を閾値とし、つまり、特徴ベクトルと中心ベクトルの間の角度が小さいほど閾値を高くし、ステップS34で、類似度simの逆数を類似度とし、つまり、特徴ベクトルと中心ベクトルの間の角度が小さいほど類似度を高くし、ステップS35で、類似度の最大値が閾値以上か否かを判定し、類似度の最大値が閾値以上なら、ステップS37で、最大値に対応する操作名を読み出してもよい。つまり、第5の実施の形態の処理は、このような処理と実質的に同じである。
よって、第5の実施の形態では、特徴ベクトルと中心ベクトルの間の角度が小さいほど類似度を高くし、類似度の最大値が閾値以上なら、操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出していることになる。
ところで、第1〜第5の実施の形態では、操作が行われていないときにも発生するパケットデータの影響で、同一の操作であってもパケットパターンが異なってしまい、異なる操作であると判定されることや該当操作なしと判定されることがある。第6の実施の形態では、この課題を解決する。
[第6の実施の形態]
次に、本発明の第6の実施の形態について説明する。第6の実施の形態では、第1または第2または第3または第4または第5の実施の形態に同一または類似の装置および装置構成を用い、同一または類似のものについては第1の実施の形態等で使用した符号を使用して重複説明を略し、第1の実施の形態等とは異なる事項を中心に説明を行う。
第6の実施の形態では、操作パターン抽出時に、特徴ベクトルを、操作が行われる可能性のない時間の特徴ベクトルと、操作が行われる可能性のある時間の特徴ベクトルに分離する。そして、操作が行われる可能性のない時間のパケットパターンをノイズパターンとして学習し、保存しておく。また、ノイズパターンに類似した特徴ベクトルについて、特徴ベクトルからノイズパターンのベクトルの差分を求めることで、特徴ベクトルからノイズを除去する。そして、操作検出時においても同様に、ノイズパターンに類似した特徴ベクトルについて、特徴ベクトルからノイズパターンのベクトルの差分を求め、ノイズを除去する。
図9は、操作検出装置1Aの概略構成を示すブロック図である。操作検出装置1Aは操作検出装置1に代わるものである。
操作検出装置1Aは、機器2(例えば、PC(パーソナルコンピュータ))が通信を行うのに使用されるパケットを基に機器2に対してどのような操作が行われたかを検出する装置である。ここでいう操作とは、利用者による操作(いわゆる手動操作)のみならず、外部要因による操作(例えば、停電時などの電源断)なども含む。機器2にインストールされたアプリケーションによる操作(すなわち見かけ上では自動処理)は含まない。なお、検出対象の機器はPCに限らない。
操作検出装置1Aは、入力部11、操作パターン抽出部12、操作検出部13、出力部14、ポート番号記憶部15、操作名データベース16、ノイズデータベース17を備える。
図10は、ノイズデータベース17の構成を示す図である。
ノイズデータベース17には,操作パターン抽出部12による後述の処理により得られた中心ベクトルと閾値thが対応づけて記憶される。
図11は、第6の実施の形態において操作を検出する前の準備期間における処理の流れを示すフローチャートである。
ステップS1〜S3については、図5の処理と同じなので説明を省略する。
S4:操作パターン抽出部12は、S3で生成した特徴ベクトルを、機器のユーザが操作を行う可能性のある時間内の特徴ベクトルと、ユーザが操作を行う可能性のない時間内の特徴ベクトルに分割する。
例えば、ユーザが操作を行う可能性のない時間は、ユーザが予め操作検出装置に与えておく。ユーザが操作を行う可能性のある時間は、例えば、ユーザが操作を行う可能性のない時間以外の時間とする。
または、操作パターン抽出部12が、ユーザが操作を行う可能性のない時間を自動的に検出する。例えば、操作パターン抽出部12は、パケット流量が予め定めた閾値以下となる時間が一定期間続く場合、これをユーザが操作を行う可能性のない時間であると判定する。この場合、操作パターン抽出部12は、ユーザが操作を行う可能性のない時間以外を、ユーザが操作を行う可能性のある時間とする。
ここで、ユーザが操作を行う可能性のある時間内の特徴ベクトルを操作時間特徴ベクトル、ユーザが操作を行う可能性のない時間内の特徴ベクトルをノイズ時間特徴ベクトルと呼ぶ。
なお、パケット流量以外の特徴量(プロトコル数など)を用いてもよい。ユーザが操作していない時に発生するパケットで使用されるプロトコル数は限られる(少ない)ことから, 単位時間内に含まれるプロトコル数が閾値以下か否かにより、ユーザが操作を行う可能性のない時間とそうでない時間を推定できると考えられる。
S5:次に、操作パターン抽出部12は、複数のノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のクラスタ(以下、ノイズクラスタ)を生成する。各ノイズ時間特徴ベクトルは、いずれかのクラスタに含まれる。
ここでは、操作パターン抽出部12は、例えば、非階層型クラスタリング手法の1つであるk-means法を用いる。つまり、操作パターン抽出部12は、クラスタ数をまず2とし、クラスタの中心ベクトルとクラスタに含まれる特徴ベクトルの距離の総和である群内平方和を求める。次に、操作パターン抽出部12は、クラスタ数を1増加させて、群内平方和とその減少量を計算する。これをクラスタ数nまで行う。nは、例えば50とする。次に、操作パターン抽出部12は、減少量が最も大きくなったときの増加後のクラスタ数と同じとなるように、クラスタを生成する。
S6:次に、操作パターン抽出部12は、各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、当該ノイズクラスタ内の各ノイズ時間特徴ベクトルと当該中心ベクトルとの距離の平均値を算出し、例えば、その平均値の逆数を当該中心ベクトルとともに後述の操作ベクトル生成および操作検出で用いる閾値th_nとして、ノイズデータベース17において、当該中心ベクトルに対応づけて記憶させる。
S7:次に、操作パターン抽出部12は、各操作時間特徴ベクトルにつき、操作時間特徴ベクトルとノイズデータベース17の各中心ベクトルとの類似度を算出する。
S7では、操作パターン抽出部12は、例えば、第1の実施の形態の式(1)により操作時間特徴ベクトルと中心ベクトルの距離dを算出し、例えば、距離dの逆数を計算し、これを類似度とする。つまり、距離が小さいほど類似度を高くする。
ただし、式(1)において、xiは、操作時間特徴ベクトルのプロトコル名iに対応する特徴量、yiは、中心ベクトルのプロトコル名iに対応する特徴量、mは、プロトコル名の総数とする。
S8:次に、操作パターン抽出部12は、各操作時間特徴ベクトルにつき、類似度の最大値に対応する中心ベクトルに対応づけて記憶した閾値th_nをノイズデータベース17から読み出し、類似度の最大値が閾値以上か否かを判定する。
操作パターン抽出部12は、類似度の最大値が閾値未満なら(S8:NO)、該当の操作時間特徴ベクトルをS10の入力とする。
S9:操作パターン抽出部12は、類似度の最大値が閾値以上なら(S8:YES)、該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とするベクトル(差分特徴ベクトルという)を生成する。
S10:次に,操作パターン抽出部12は、類似度の最大値が閾値未満(S8:NO)の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数のクラスタ(操作クラスタという)を生成する。各特徴ベクトルは、いずれかの操作クラスタに含まれる。
ここでは,S5のクラスタリング処理と同一の処理を行う.
S11:次に、操作パターン抽出部12は、各操作クラスタにつき、当該操作クラスタ内の特徴ベクトルの中心ベクトルを生成し、操作名データベース16から、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける。つまり、操作パターン抽出部12は、各操作クラスタが何の操作を示すかを判定する。
S11では、操作パターン抽出部12は、全ての中心ベクトルにおいて、各単位時間につき、当該単位時間に対応する要素(特徴量)の上位3つを選択する。
S11では、次に、操作パターン抽出部12は、各プロトコル名につき、全ての中心ベクトルから当該プロトコル名に対応する要素(特徴量)を抽出し、抽出した特徴量の中央値を求める。
S11では、次に、操作パターン抽出部12は、上位3つとして選択された特徴量以外の特徴量について、対応する中央値の10倍以上ならば、その特徴量を選択する。
図7を用いて説明したように、ここでは、理解を容易にすべく、プロトコル名の総数mを12とし、1つの中心ベクトルに対応する単位時間の数を5とし、中心ベクトルをマトリクスの形式で示す。
図7(a)の中心ベクトルでは、点模様の背景で示すように、単位時間1、2では、上位3つに含まれるTCP、DNS、HTTPの特徴量が選択され、単位時間3では、上位3つに含まれるTCP、HTTPの特徴量が選択される。中央値の10倍以上の特徴量はない。
図7(b)の中心ベクトルでは、点模様の背景で示すように、単位時間1では、上位3つに含まれるTCP、HTTP、IMAPの特徴量が選択される。また、斜め線模様の背景で示すように、中央値の10倍以上であるDNSの特徴量が選択される。
S11では、操作パターン抽出部12は、操作名データベース16から、中心ベクトルの選択された特徴量のパターンに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける。
S11では、例えば、図7(a)のように、前半フレームではTCP、DNS、HTTPが選択され、後半フレームでTCP、HTTP、IMAPが選択されており、図4中のメール受信のルールに適合するため、図7(a)の中心ベクトルは、操作名「メール受信」に対応づけられる。
S12:次に、操作パターン抽出部12は、各操作クラスタにつき、当該操作クラスタ内の各特徴ベクトルと当該操作クラスタの中心ベクトルとの距離の平均値を算出し、例えば、その平均値の逆数を当該中心ベクトルとともに後述の操作検出で用いる閾値thとして、操作名データベース16において、当該中心ベクトルに対応づけて記憶させ、処理を終了する。
図12は、第6の実施の形態において操作を検出する際の処理の流れを示すフローチャートである。
ステップS31〜S33については、図8の処理と同じなので説明を省略する。
S34:操作検出部13は、各特徴ベクトルにつき、当該特徴ベクトルとノイズデータベース17の各中心ベクトルとの類似度を算出する。
ここでは,S7と同一の類似度算出方法を用いる。
S35:次に、操作検出部13は、各特徴ベクトルにつき、類似度の最大値に対応する中心ベクトルに対応づけてノイズデータベース17に記憶した閾値th_nをノイズデータベース17から読み出し、類似度の最大値が閾値以上か否かを判定する。
操作検出部13は、類似度の最大値が閾値未満なら(S35:NO)、該当の特徴ベクトルをS37の入力とする。
S36:操作検出部13は、類似度の最大値が閾値以上なら(S35:YES)、該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とするベクトル(差分特徴ベクトル)を生成する。
S37:次に、操作検出部13は、操作名データベース16における各中心ベクトルにつき、各差分特徴ベクトルとの類似度ならびにS34で算出した類似度の最大値が閾値未満(S35:NO)となった各特徴ベクトルとの類似度を算出する。
S37では、S7と同一の類似度算出方法を用いる.
S38:次に、操作検出部13は、類似度の最大値に対応する中心ベクトルに対応づけて記憶した閾値thを操作名データベース16から読み出し、類似度の最大値が閾値th以上か否かを判定する。
操作検出部13は、類似度の最大値が閾値未満なら(S38:NO)、処理を終える。
S39:操作検出部13は、類似度の最大値が閾値以上なら(S38:YES)、操作名データベース16から当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す。
S40:次に、出力部14が、読み出された操作名を、例えば、図示しない表示装置などに表示し、処理を終える。
したがって、第6の実施の形態に係る操作検出装置1Aは、機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置であって、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベース16と、ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベース17と、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段(ステップS2)と、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段(ステップS3)と、当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割する特徴ベクトル分割手段(ステップS4)と、複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成するノイズクラスタ生成手段(ステップS5)と、前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させる第1の中心ベクトル生成手段(ステップS6)と、前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第1の類似度算出手段(ステップS7)と、当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成する第1の差分特徴ベクトル生成手段(ステップS8、S9)と、当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数の操作クラスタを生成する操作クラスタ生成手段(ステップS10)と、前記各操作クラスタにつき、当該操作クラスタ内の特徴ベクトルの中心ベクトルを生成し、前記操作名データベースから、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける第2の中心ベクトル生成手段(ステップS11)と、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段(ステップS32)と、当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段(ステップS33)と、当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第2の類似度算出手段(ステップS34)と、当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成する第2の差分特徴ベクトル生成手段(ステップS35、S36)と、前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出する第3の類似度算出手段(ステップS37)と、当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段(ステップS39)とを備えるので、換言すれば、予め操作が行われていない時間のパケットパターンをノイズパターンとして学習し、操作パターン抽出対象の特徴ベクトルおよび操作検出対象の特徴ベクトルから類似したノイズパターンを除去することで、操作が行われていないときにも発生するパケットデータの影響をなくすことができ、問題を解決することができる。
(変形例)
なお、第6の実施の形態のS10において、類似度の最大値が閾値未満(S8:NO)となった操作時間特徴ベクトルおよび差分特徴ベクトル(特徴ベクトルと総称する)のそれぞれにつき、操作名データベース16における当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなる操作クラスタを生成してもよい。
特徴ベクトルに適合するルールの有無の判定は、第2の実施の形態と同様に、パターンマッチングにより行うことができる。
上記のようにS10でルールを用いた場合、S11では、各操作クラスタにつき、当該操作クラスタの中心ベクトルを生成し、操作名データベース16から、当該操作クラスタに対応するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づければよい。
したがって、第6の実施の形態の変形例に係る操作検出装置1Aは、機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置であって、複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベース16と、ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベース17と、操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段(ステップS2)と、複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段(ステップS3)と、当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割する特徴ベクトル分割手段(ステップS4)と、複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成するノイズクラスタ生成手段(ステップS5)と、前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させる第1の中心ベクトル生成手段(ステップS6)と、前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第1の類似度算出手段(ステップS7)と、当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成する第1の差分特徴ベクトル生成手段(ステップS8、S9)と、当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルのそれぞれにつき、前記操作名データベースにおける当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなる操作クラスタを生成する操作クラスタ生成手段(ステップS10)と、当該各操作クラスタにつき、当該操作クラスタの中心ベクトルを生成し、前記操作名データベースから、当該操作クラスタに対応するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける第2の中心ベクトル生成手段(ステップS11)と、操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段(ステップS32)と、当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段(ステップS33)と、当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第2の類似度算出手段(ステップS34)と、当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成する第2の差分特徴ベクトル生成手段(ステップS35、S36)と、前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出する第3の類似度算出手段(ステップS37)と、当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段(ステップS39)とを備えるので、換言すれば、予め操作が行われていない時間のパケットパターンをノイズパターンとして学習し、操作パターン抽出対象の特徴ベクトルおよび操作検出対象の特徴ベクトルから類似したノイズパターンを除去することで、操作が行われていないときにも発生するパケットデータの影響をなくすことができ、問題を解決することができる。
なお、各実施の形態に係る操作検出装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
1、1A 操作検出装置
11 入力部
12 操作パターン抽出部
13 操作検出部
14 出力部
15 ポート番号記憶部
16 操作名データベース
17 ノイズデータベース

Claims (6)

  1. 機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置であって、
    複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、
    ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースと、
    操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段と、
    複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段と、
    当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割する特徴ベクトル分割手段と、
    複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成するノイズクラスタ生成手段と、
    前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させる第1の中心ベクトル生成手段と、
    前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第1の類似度算出手段と、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成する第1の差分特徴ベクトル生成手段と、
    当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数の操作クラスタを生成する操作クラスタ生成手段と、
    前記各操作クラスタにつき、当該操作クラスタ内の特徴ベクトルの中心ベクトルを生成し、前記操作名データベースから、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける第2の中心ベクトル生成手段と、
    操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段と、
    当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段と、
    当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第2の類似度算出手段と、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成する第2の差分特徴ベクトル生成手段と、
    前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出する第3の類似度算出手段と、
    当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段と
    を備えることを特徴とする操作検出装置。
  2. 機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置であって、
    複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、
    ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースと、
    操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第1の特徴量算出手段と、
    複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成する第1の特徴ベクトル生成手段と、
    当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割する特徴ベクトル分割手段と、
    複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成するノイズクラスタ生成手段と、
    前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させる第1の中心ベクトル生成手段と、
    前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第1の類似度算出手段と、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成する第1の差分特徴ベクトル生成手段と、
    当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルのそれぞれにつき、前記操作名データベースにおける当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなる操作クラスタを生成する操作クラスタ生成手段と、
    当該各操作クラスタにつき、当該操作クラスタの中心ベクトルを生成し、前記操作名データベースから、当該操作クラスタに対応するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づける第2の中心ベクトル生成手段と、
    操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出する第2の特徴量算出手段と、
    当該特徴量からなる特徴ベクトルを生成する第2の特徴ベクトル生成手段と、
    当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出する第2の類似度算出手段と、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成する第2の差分特徴ベクトル生成手段と、
    前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出する第3の類似度算出手段と、
    当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す操作名読出手段と
    を備えることを特徴とする操作検出装置。
  3. 前記特徴ベクトル分割手段は、
    前記パケットの特徴量と予め定めた閾値を用いて、前記第1の特徴ベクトル生成手段で生成された複数の特徴ベクトルを操作時間特徴ベクトルとノイズ時間特徴ベクトルとに分割する
    ことを特徴とする請求項1または2記載の操作検出装置。
  4. 機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置の動作方法であって、
    前記操作検出装置は、
    複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、
    ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースとを備え、
    前記動作方法は、
    前記操作検出装置の第1の特徴量算出手段が、
    操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、
    前記操作検出装置の第1の特徴ベクトル生成手段が、
    複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成し、
    前記操作検出装置の特徴ベクトル分割手段が、
    当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割し、
    前記操作検出装置のノイズクラスタ生成手段が、
    複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成し、
    前記操作検出装置の第1の中心ベクトル生成手段が、
    前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させ、
    前記操作検出装置の第1の類似度算出手段が、
    前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、
    前記操作検出装置の第1の差分特徴ベクトル生成手段が、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成し、
    前記操作検出装置の操作クラスタ生成手段が、
    当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルから当該特徴ベクトル間の類似性に基づいて複数の操作クラスタを生成し、
    前記操作検出装置の第2の中心ベクトル生成手段が、
    前記各操作クラスタにつき、当該操作クラスタ内の特徴ベクトルの中心ベクトルを生成し、前記操作名データベースから、当該中心ベクトルに適合するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づけ、
    前記操作検出装置の第2の特徴量算出手段が、
    操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、
    前記操作検出装置の第2の特徴ベクトル生成手段が、
    当該特徴量からなる特徴ベクトルを生成し、
    前記操作検出装置の第2の類似度算出手段が、
    当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、
    前記操作検出装置の第2の差分特徴ベクトル生成手段が、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成し、
    前記操作検出装置の第3の類似度算出手段が、
    前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出し、
    前記操作検出装置の操作名読出手段が、
    当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す
    ことを特徴とする操作検出装置の動作方法。
  5. 機器が通信を行うのに使用されるパケットを基に当該機器に対する操作を検出する操作検出装置の動作方法であって、
    前記操作検出装置は、
    複数種類の操作につき、当該操作の操作名と当該操作の際に適用されるルールおよび中心ベクトルを含むレコードが記憶される操作名データベースと、
    ユーザが操作を行う可能性のない時間のパケットに基づいて生成された中心ベクトルを含むレコードが記憶されるノイズデータベースとを備え、
    前記動作方法は、
    前記操作検出装置の第1の特徴量算出手段が、
    操作を検出する前の期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、
    前記操作検出装置の第1の特徴ベクトル生成手段が、
    複数の単位時間につき、当該単位時間から始まる予め定められた複数の連続する単位時間について算出された特徴量からなる特徴ベクトルを生成し、
    前記操作検出装置の特徴ベクトル分割手段が、
    当該複数の特徴ベクトルを、前記機器のユーザが操作を行う可能性のある時間の特徴ベクトルである操作時間特徴ベクトルと前記ユーザが操作を行う可能性のない時間の特徴ベクトルであるノイズ時間特徴ベクトルとに分割し、
    前記操作検出装置のノイズクラスタ生成手段が、
    複数の前記ノイズ時間特徴ベクトルから当該ノイズ時間特徴ベクトル間の類似性に基づいて複数のノイズクラスタを生成し、
    前記操作検出装置の第1の中心ベクトル生成手段が、
    前記各ノイズクラスタにつき、当該ノイズクラスタ内のノイズ時間特徴ベクトルの中心ベクトルを生成し、前記ノイズデータベースに記憶させ、
    前記操作検出装置の第1の類似度算出手段が、
    前記各操作時間特徴ベクトルにつき、当該操作時間特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、
    前記操作検出装置の第1の差分特徴ベクトル生成手段が、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の操作時間特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を特徴量とする差分特徴ベクトルを生成し、
    前記操作検出装置の操作クラスタ生成手段が、
    当該最大値が当該閾値未満の場合の該当の操作時間特徴ベクトルおよび前記差分特徴ベクトルからなる複数の特徴ベクトルのそれぞれにつき、前記操作名データベースにおける当該特徴ベクトルに適合するルールの有無を判定し、適合すると判定された各ルールにつき、当該ルールに適合する特徴ベクトルからなる操作クラスタを生成し、
    前記操作検出装置の第2の中心ベクトル生成手段が、
    当該各操作クラスタにつき、当該操作クラスタの中心ベクトルを生成し、前記操作名データベースから、当該操作クラスタに対応するルールを含むレコードを検索し、当該中心ベクトルを当該レコード内の操作名に対応づけ、
    前記操作検出装置の第2の特徴量算出手段が、
    操作を検出する期間において、単位時間ごとに、パケットのヘッダに含まれる所定の情報のそれぞれにつき、当該単位時間における当該所定の情報に該当するパケットの特徴量を算出し、
    前記操作検出装置の第2の特徴ベクトル生成手段が、
    当該特徴量からなる特徴ベクトルを生成し、
    前記操作検出装置の第2の類似度算出手段が、
    当該各特徴ベクトルにつき、当該特徴ベクトルと前記ノイズデータベースの各中心ベクトルとの類似度を算出し、
    前記操作検出装置の第2の差分特徴ベクトル生成手段が、
    当該類似度の最大値が予め定めた閾値以上の場合の該当の特徴ベクトルと当該最大値に対応する中心ベクトルとの差分を計算し、当該差分を特徴量とする差分特徴ベクトルを生成し、
    前記操作検出装置の第3の類似度算出手段が、
    前記操作名データベースにおける各中心ベクトルにつき、当該各差分特徴ベクトルとの類似度ならびに前記第2の類似度算出手段で算出した類似度の最大値が閾値以上の場合の該当の各特徴ベクトルとの類似度を算出し、
    前記操作検出装置の操作名読出手段が、
    当該類似度の最大値が予め定めた閾値以上なら、前記操作名データベースから当該最大値に対応する中心ベクトルに対応づけられた操作名を読み出す
    ことを特徴とする操作検出装置の動作方法。
  6. 請求項1ないし3のいずれかに記載の操作検出装置としてコンピュータを機能させるためのコンピュータプログラム。
JP2014179976A 2014-09-04 2014-09-04 操作検出装置、操作検出装置の動作方法およびコンピュータプログラム Active JP6174537B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014179976A JP6174537B2 (ja) 2014-09-04 2014-09-04 操作検出装置、操作検出装置の動作方法およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014179976A JP6174537B2 (ja) 2014-09-04 2014-09-04 操作検出装置、操作検出装置の動作方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016054435A JP2016054435A (ja) 2016-04-14
JP6174537B2 true JP6174537B2 (ja) 2017-08-02

Family

ID=55744385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014179976A Active JP6174537B2 (ja) 2014-09-04 2014-09-04 操作検出装置、操作検出装置の動作方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6174537B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022168279A1 (ja) * 2021-02-05 2022-08-11 日本電信電話株式会社 クラスタ数設定装置、クラスタ数設定方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970934B1 (en) * 2006-07-31 2011-06-28 Google Inc. Detecting events of interest
JP5476643B2 (ja) * 2010-08-02 2014-04-23 日本電信電話株式会社 フロー分類方法、システム、およびプログラム
JP5659175B2 (ja) * 2012-03-06 2015-01-28 エヌ・ティ・ティ・コムウェア株式会社 アプリケーション種別分類装置及びアプリケーション種別分類方法並びにそのプログラム
EP2908485A1 (en) * 2014-02-18 2015-08-19 Alcatel Lucent Network device and method for packet flow classification

Also Published As

Publication number Publication date
JP2016054435A (ja) 2016-04-14

Similar Documents

Publication Publication Date Title
CN109936512B (zh) 流量分析方法、公共服务流量归属方法及相应的计算机系统
JP6306739B2 (ja) 悪性通信パターン抽出装置、悪性通信パターン抽出方法、および、悪性通信パターン抽出プログラム
US10423610B2 (en) Exchange of information
JP6751168B2 (ja) 異常要因推定装置、異常要因推定方法及びプログラム
US9813324B2 (en) Dynamic control of endpoint profiling
JP2011015253A (ja) 通信トラヒック分類方法、装置、およびプログラム
CN104915354A (zh) 多媒体文件推送方法及装置
JP2012186667A (ja) ネットワーク障害検出装置、ネットワーク障害検出装置のネットワーク障害検出方法およびネットワーク障害検出プログラム
JP6174537B2 (ja) 操作検出装置、操作検出装置の動作方法およびコンピュータプログラム
JP6046653B2 (ja) 操作検出装置およびコンピュータプログラム
JP5863581B2 (ja) 端末情報推定用の判定規則を生成する判定規則生成装置、ルータ、プログラム及び方法
KR102299095B1 (ko) 유사 패션 상품 데이터 검색 및 제공 방법과 그를 위한 컴퓨팅 장치
JP2013187629A (ja) アプリケーション種別分類装置及びアプリケーション種別分類方法並びにそのプログラム
CN110784330B (zh) 一种应用识别模型的生成方法及装置
JP6157189B2 (ja) 識別装置、識別方法および識別プログラム
JP5872396B2 (ja) クエリ発生周期の安定度を利用した端末情報推定装置、dnsサーバ、プログラム及び方法
JP2020035219A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2021093689A (ja) 情報処理システムおよび情報処理方法
JP2020136723A (ja) 通信品質劣化箇所推定装置、システム、方法およびプログラム
JP2015141456A (ja) ボット判定装置、ボット判定方法、およびプログラム
JP2019185663A (ja) 関連イベント統合プログラム、装置及び方法
JP5551741B2 (ja) 機器同定装置、機器同定システム、機器同定方法、及びプログラム
CN117579397B (zh) 基于小样本集成学习的物联网隐私泄露检测方法及装置
WO2023010823A1 (zh) 网络故障根因的确定方法、装置、设备及存储介质
JP5206375B2 (ja) データ紐付けプログラム,情報処理装置およびデータ紐付け方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170706

R150 Certificate of patent or registration of utility model

Ref document number: 6174537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150