(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-30
(45)【発行日】2022-04-07
(54)【発明の名称】情報処理システムおよび情報処理方法
(51)【国際特許分類】
H04L 43/00 20220101AFI20220331BHJP
【FI】
H04L43/00
(21)【出願番号】P 2019224756
(22)【出願日】2019-12-12
【審査請求日】2021-08-17
【早期審査対象出願】
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】中原 正隆
(72)【発明者】
【氏名】奥井 宣広
(72)【発明者】
【氏名】小林 靖明
(72)【発明者】
【氏名】三宅 優
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2019-153894(JP,A)
【文献】特開2019-102960(JP,A)
【文献】特開2019-021294(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/00
(57)【特許請求の範囲】
【請求項1】
中継装置と、処理装置と、を備え、
前記中継装置は、
1以上の端末装置から出力されるパケットを入力する第1入力部と、
前記第1入力部によって入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも前記パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行う統計化処理部と、
前記統計化処理部によって行われた前記統計化処理の結果を含む統計化情報を前記処理装置に出力する第1出力部と、
を備え、
前記処理装置は、前記中継装置から出力された前記統計化情報を入力する第2入力部と、
前記第2入力部によって入力された第1期間における前記統計化情報に基づく推定手法を用いて、第2期間における前記統計化情報について所定の推定を行う推定部と、
を備え
、
前記処理装置は、
前記第2入力部によって入力された前記第1期間における前記統計化情報に基づいて、機械学習により、前記推定手法を生成する学習部と、
前記第2入力部によって入力された第3期間における前記統計化情報に基づいて、前記統計化情報に関する特徴を検出する特徴検出部と、を備え、
前記学習部は、前記特徴検出部によって検出された前記特徴に関する情報が付加された前記統計化情報に基づいて、前記機械学習により、前記推定手法を生成し、
前記第3期間は、発生する通信のすべてを正常であるとみなして正常な通信を定義する期間であり、
前記第1期間は、発生する通信のすべてを正常であるとみなして学習を行う期間である、
情報処理システム。
【請求項2】
前記第3期間の長さは、前記第1期間の長さ以下である、
請求項1に記載の情報処理システム。
【請求項3】
前記特徴は、前記発信先情報の一部または全部を含む、
請求項
1または請求項
2に記載の情報処理システム。
【請求項4】
前記発信元情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含み、
前記発信先情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含む、
請求項1から請求項
3のいずれか1項に記載の情報処理システム。
【請求項5】
前記統計化情報は、前記パケットに含まれる所定項目の情報が一致する前記パケットの数と、前記パケットに含まれる前記所定項目の情報が一致する前記パケットの長さの総和との一方または両方に関する情報を含む、
請求項1から請求項
4のいずれか1項に記載の情報処理システム。
【請求項6】
前記所定の推定は、異常の検知を含む、
請求項1から請求項
5のいずれか1項に記載の情報処理システム。
【請求項7】
中継装置は、
1以上の端末装置から出力されるパケットを入力し、
入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも前記パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行い、
前記統計化処理の結果を含む統計化情報を処理装置に出力し、
前記処理装置は、
前記中継装置から出力された前記統計化情報を入力し、
入力された第1期間における前記統計化情報に基づく推定手法を用いて、第2期間における前記統計化情報について所定の推定を行
い、
前記処理装置は、
入力された前記第1期間における前記統計化情報に基づいて、機械学習により、前記推定手法を生成する学習を行い、
入力された第3期間における前記統計化情報に基づいて、前記統計化情報に関する特徴を検出し、
前記学習では、検出された前記特徴に関する情報が付加された前記統計化情報に基づいて、前記機械学習により、前記推定手法を生成し、
前記第3期間は、発生する通信のすべてを正常であるとみなして正常な通信を定義する期間であり、
前記第1期間は、発生する通信のすべてを正常であるとみなして学習を行う期間である、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システムおよび情報処理方法に関する。
【背景技術】
【0002】
IoT(Internet of Things)機器に関し、ゲートウェイ装置における異常検知システムが提案されている(特許文献1参照。)。特許文献1に記載された技術では、当該ゲートウェイ装置は、通信インターフェースによって取り込まれたパケットに対して異常であるか否かを検知する異常検知部を備える。当該ゲートウェイ装置において、異常検知は、取り込まれたパケットの数が基準値を上回るか否かに基づいて行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術では、異常検知の際の判断基準としてパケット数のみが用いられている。しかしながら、マルウェアに感染したIoT機器の挙動としては、大量通信を行う挙動だけでなく、指令サーバとの間で少量の通信を行う挙動なども存在する。したがって、パケット数のみによる検知では、IoT機器によって行われる異常通信のすべてを検知することはできない。
【0005】
そこで、通信先の情報あるいはプロトコルの情報などのように、ゲートウェイ装置で取得することができる多様な情報を用いて異常検知を行うことが考えられる。
ここで、パケットの情報に基づく異常検知としては、ペイロードを含むパケット全体の情報を用いる技術が存在するが、例えば、ホームゲートウェイ装置などでは、機器の処理負荷に関する制約があり、当該技術の適用が難しい場合がある。なお、ホームゲートウェイ装置とは別のサーバ装置等にパケットを転送し、当該サーバ装置等において異常検知を行うことも考えられるが、すべてのパケットを転送することは、処理負荷の制約があり、適用が難しい場合がある。
以上のような事情は、IoT機器以外の端末装置に関しても同様であった。
【0006】
本発明は、このような事情を考慮してなされたもので、端末装置から出力されるパケットに関する異常検知を効率的に行うことができる情報処理システムおよび情報処理方法を提供することを課題とする。
【課題を解決するための手段】
【0007】
一構成例として、中継装置と、処理装置と、を備え、前記中継装置は、1以上の端末装置から出力されるパケットを入力する第1入力部と、前記第1入力部によって入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも前記パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行う統計化処理部と、前記統計化処理部によって行われた前記統計化処理の結果を含む統計化情報を前記処理装置に出力する第1出力部と、を備え、前記処理装置は、前記中継装置から出力された前記統計化情報を入力する第2入力部と、前記第2入力部によって入力された第1期間における前記統計化情報に基づく推定手法を用いて、第2期間における前記統計化情報について所定の推定を行う推定部と、を備え、前記処理装置は、前記第2入力部によって入力された前記第1期間における前記統計化情報に基づいて、機械学習により、前記推定手法を生成する学習部と、前記第2入力部によって入力された第3期間における前記統計化情報に基づいて、前記統計化情報に関する特徴を検出する特徴検出部と、を備え、前記学習部は、前記特徴検出部によって検出された前記特徴に関する情報が付加された前記統計化情報に基づいて、前記機械学習により、前記推定手法を生成し、前記第3期間は、発生する通信のすべてを正常であるとみなして正常な通信を定義する期間であり、前記第1期間は、発生する通信のすべてを正常であるとみなして学習を行う期間である、情報処理システムである。
【0008】
一構成例として、中継装置は、1以上の端末装置から出力されるパケットを入力し、入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも前記パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行い、前記統計化処理の結果を含む統計化情報を処理装置に出力し、前記処理装置は、前記中継装置から出力された前記統計化情報を入力し、入力された第1期間における前記統計化情報に基づく推定手法を用いて、第2期間における前記統計化情報について所定の推定を行い、前記処理装置は、入力された前記第1期間における前記統計化情報に基づいて、機械学習により、前記推定手法を生成する学習を行い、入力された第3期間における前記統計化情報に基づいて、前記統計化情報に関する特徴を検出し、前記学習では、検出された前記特徴に関する情報が付加された前記統計化情報に基づいて、前記機械学習により、前記推定手法を生成し、前記第3期間は、発生する通信のすべてを正常であるとみなして正常な通信を定義する期間であり、前記第1期間は、発生する通信のすべてを正常であるとみなして学習を行う期間である、情報処理方法である。
【発明の効果】
【0009】
本発明に係る情報処理システムおよび情報処理方法によれば、端末装置から出力されるパケットに関する異常検知を効率的に行うことができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態に係る情報処理システムの概略的な構成を示す図である。
【
図2】本発明の一実施形態に係るホームゲートウェイ装置の概略的な構成を示す図である。
【
図3】本発明の一実施形態に係る解析サーバ装置の概略的な構成を示す図である。
【
図4】本発明の一実施形態に係る統計化情報の一例を示す図である。
【
図5】本発明の一実施形態に係る辞書期間におけるパケット情報の一例を示す図である。
【
図6】本発明の一実施形態に係る学習期間における特徴量が追加されたパケット情報の一例を示す図である。
【
図7】本発明の一実施形態に係る学習期間および辞書期間における特徴量の一例を示す図である。
【
図8】本発明の一実施形態に係るテスト期間における特徴量の一例を示す図である。
【
図9】本発明の一実施形態に係るホームゲートウェイ装置において行われる処理の手順の一例を示す図である。
【
図10】本発明の一実施形態に係る解析サーバ装置において行われる処理の手順の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照し、本発明の実施形態について説明する。
【0012】
図1は、本発明の一実施形態に係る情報処理システム1の概略的な構成を示す図である。
情報処理システム1は、ホームゲートウェイ装置21と、解析サーバ装置22と、回線23と、ルータ31と、複数の端末装置41~43、51~53を備える。
ホームゲートウェイ装置21は中継装置の一例であり、解析サーバ装置22は処理装置の一例である。
ここで、情報処理システム1は、少なくとも、ホームゲートウェイ装置21と、解析サーバ装置22を備え、他の装置は情報処理システム1とは別体であると捉えられてもよい。
【0013】
本実施形態では、ホームゲートウェイ装置21と、ルータ31と、複数の端末装置41~43、51~53は、同一のホーム11に存在する。ホーム11は、所定の場所を表しており、例えば、一般の家などの建物の中を表す。
それぞれの端末装置41~43、51~53は、任意の端末装置であってもよく、例えば、スマートフォン、スマートハブ、スマートカメラ、スマートスピーカー、環境センサー、ドアホン、ライト、掃除機、STB(Set Top Box)、スマートTV、パーソナルコンピュータ(PC)、あるいは、他のIoT機器などであってもよい。
【0014】
図1の例では、端末装置41~43は、それぞれ、ホームゲートウェイ装置21と、直接、通信する。
図1の例では、端末装置51~53は、それぞれ、ルータ31を介して、ホームゲートウェイ装置21と通信する。
それぞれの端末装置41~43は、例えば、所定のパケットをホームゲートウェイ装置21に送信する。
それぞれの端末装置51~53は、例えば、所定のパケットをルータ31に送信する。
ルータ31は、それぞれの端末装置51~53とホームゲートウェイ装置21との間の通信を中継する。例えば、ルータ31は、端末装置51~53からルータ31に送信されたパケットを受信し、受信されたパケットをホームゲートウェイ装置21に送信する。
【0015】
ここで、それぞれの端末装置41~43とホームゲートウェイ装置21との間では、互いのアンテナを用いて無線による通信が行われる。
また、それぞれの端末装置51~53とルータ31との間では、互いのアンテナを用いて無線による通信が行われる。
また、ルータ31とホームゲートウェイ装置21との間では、互いのアンテナを用いて無線による通信が行われる。
なお、これらの通信の一部または全部として、有線の通信が用いられてもよい。
【0016】
ホームゲートウェイ装置21と解析サーバ装置22とは、回線23を介して接続され、回線23を介して通信する。
回線23は、例えば、有線の回線であってもよく、あるいは、無線の回線であってもよい。回線23は、例えば、インターネットなどのように、公衆ネットワークであってもよい。
【0017】
ここで、本実施形態では、パケットを用いた通信が行われる場合を示すが、他の例として、一部または全部の通信は、パケット以外の手法を用いた通信であってもよい。
【0018】
図2は、本発明の一実施形態に係るホームゲートウェイ装置21の概略的な構成を示す図である。
ホームゲートウェイ装置21は、パケット入力部111と、パケット出力部112と、統計化処理部113と、記憶部114を備える。
パケット入力部111は、それぞれの端末装置41~43からホームゲートウェイ装置21に送信されたパケットを入力する。この入力は、当該パケットの受信を含む。
また、パケット入力部111は、それぞれの端末装置51~53からルータ31に送信された後にルータ31からホームゲートウェイ装置21に送信されたパケットを入力する。この入力は、当該パケットの受信を含む。
【0019】
パケット出力部112は、パケット入力部111によって入力されたパケットを、回線23を介して、所定の装置に出力する。この出力は、当該パケットの送信を含む。つまり、ホームゲートウェイ装置21は、それぞれの端末装置41~43、51~53と所定の装置との間で通信されるパケットを中継する。当該パケットは、本実施形態では、ホームゲートウェイ装置21を通過するパケットである。なお、ホームゲートウェイ装置21では、中継される必要がないパケットについては、中継しない。所定の装置は、例えば、解析サーバ装置22であってもよく、あるいは、他の装置であってもよい。所定の装置は、端末装置41~43、51~53から受信されたパケットの処理を行う。
また、パケット出力部112は、ホームゲートウェイ装置21において生成されたパケットを、回線23を介して、解析サーバ装置22に送信する。当該パケットは、例えば、統計化処理部113によって生成されるパケットであってもよい。
【0020】
統計化処理部113は、パケット入力部111によって入力されるパケットについて、所定の統計化期間ごとに、所定の統計化処理を行う。そして、統計化処理部113は、パケット出力部112により、当該統計化処理の結果を含むパケットを、回線23を介して、解析サーバ装置22に送信する。
ここで、所定の統計化期間は、任意に設定されてもよい。
また、所定の統計化処理は、統計に関する処理であり、任意に定められてもよい。
所定の統計化処理は、例えば、同一の端末装置41~43、51~53ごとに行われてもよく、または、同一のルータ31ごとに行われてもよい。本実施形態では、所定の統計化処理は、端末装置41~43については個別に行われ、端末装置51~53についてはルータ31ごとにまとめて行われる。
記憶部114は、各種の情報を記憶する。
【0021】
図3は、本発明の一実施形態に係る解析サーバ装置22の概略的な構成を示す図である。
本実施形態では、解析サーバ装置22は、クラウド上に設置されている。
解析サーバ装置22は、パケット入力部211と、特徴検出部212と、学習部213と、推定部214と、異常検知部215と、通知部216と、記憶部217を備える。
ここで、本実施形態では、推定部214は、一機能として、異常検知部215を含むが、他の例として、推定部214と異常検知部215とが別体で構成されてもよい。
【0022】
パケット入力部211は、ホームゲートウェイ装置21から解析サーバ装置22に送信されるパケットを入力する。この入力は、当該パケットの受信を含む。
特徴検出部212は、所定の辞書期間が設けられる場合、当該辞書期間において、パケットの特徴を検出する。なお、所定の辞書期間が設けられない場合には、例えば、特徴検出部212は解析サーバ装置22に備えられなくてもよい。
【0023】
学習部213は、所定の学習期間において、所定の統計化情報について、機械学習を行う。ここで、機械学習の手法としては、様々な手法が用いられてもよく、例えば、K-means法あるいはDBSCANなどのクラスタリングが用いられてもよく、また、Isolation Forestなどのような決定木が用いられてもよい。
本実施形態では、学習部213は、ホームゲートウェイ装置21において生成された統計化情報について、端末装置41~43ごとあるいはルータ31ごとに、機械学習のモデル(以下、説明の便宜上、学習モデルともいう。)を生成する。
【0024】
本実施形態では、統計化情報は、特徴量化されており、1以上の特徴量を含む。
ここで、特徴量としては、様々な特徴量が用いられてもよく、例えば、閾値を用いてパケット数あるいはパケット長を2値化した特徴量、ある期間(本実施形態では、辞書期間と呼んでいる。)の通信ログに存在する宛先のリストに基づいて当該リストに含まれる宛先であるか否かに応じて2値化した特徴量などが用いられてもよい。
【0025】
推定部214は、統計化情報について、所定の推定を行う。当該推定は、例えば、学習部213によって生成された学習モデルに基づく、当該統計化情報に関する推定であってもよい。この推定では、例えば、当該統計化情報について、所定の数値の結果が得られる。当該所定の数値は、例えば、当該統計化情報が正常であるか異常であるかを判定することが可能な数値である。
【0026】
本実施形態では、好ましい態様例として、推定部214は、特徴検出部212による特徴検出の結果および学習部213による学習の結果に基づいて、所定の推定を行う。このような推定のアルゴリズムは、例えば、機械学習のアルゴリズムに準拠する。
なお、推定の代わりに、判定などと呼ばれてもよい。
【0027】
推定部214において、異常検知部215は、推定部214による推定の結果に基づいて、統計化情報に関する異常を検知する。
例えば、異常検知部215は、推定部214による推定で得られる所定の数値に基づいて、統計化情報が異常であるか否かを判定し、当該統計化情報が異常である場合には、当該異常を検知する。
本実施形態では、端末装置41~43、51~53がマルウェア等に感染する前と後との挙動変化に着目して、当該挙動変化があったと推定される場合には異常を検知する構成としている。具体的には、解析サーバ装置22では、学習部213により、マルウェア等に感染する前の挙動を学習し、その後、その学習結果に基づいて、マルウェア等に感染した後の挙動であるか否かを推定する。
なお、検知の代わりに、検出などと呼ばれてもよい。
【0028】
通知部216は、所定の通知を行う。例えば、通知部216は、所定の通知の内容を含むパケットを、回線23を介して、ホームゲートウェイ装置21などに送信してもよい。また、例えば、通知部216は、解析サーバ装置22において、所定の通知を行ってもよい。
記憶部217は、各種の情報を記憶する。
【0029】
図4は、本発明の一実施形態に係る統計化情報1011の一例を示す図である。
統計化情報1011は、ホームゲートウェイ装置21の統計化処理部113によって、所定の統計化期間ごとに、処理対象となるパケットに含まれる情報を統計化した結果の情報である。処理対象となるパケットは、通常、統計化期間ごとに、複数となる。
統計化情報1011は、例えば、ホームゲートウェイ装置21の記憶部114などに記憶されてもよい。
【0030】
本実施形態では、処理対象となるパケットは、ホームゲートウェイ装置21のパケット入力部111により入力されるパケットである。
本実施形態では、処理対象となるパケットは、端末装置41~43については、それぞれの端末装置41~43ごとのパケットである。
また、本実施形態では、処理対象のパケットは、端末装置51~53については、ルータ31ごとのパケットであり、つまり、端末装置51~53のパケットをまとめたものである。本実施形態では、ホームゲートウェイ装置21は、ルータ31の配下に存在する端末装置51~53については個別に特定することができず、つまり、ルータ31からホームゲートウェイ装置21に送信されるパケットについては、当該パケットの送信元を端末装置51~53のなかで特定することができない。このため、本実施形態では、ホームゲートウェイ装置21は、ルータ31ごとのパケットをまとめて、統計化処理を行う。
【0031】
図4の例では、統計化情報1011は、「Timestamp」、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」、「protocol」、「count」、「length」という項目を含む。
なお、統計化情報という名称、および、当該項目のそれぞれの名称は、説明の便宜上のものであり、他の任意の名称が用いられてもよい。例えば、統計化情報の代わりに、統計レコードなどと呼ばれてもよい。
【0032】
ここで、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」の情報としては、それぞれ、統計化処理の対象となるパケットに含まれる情報と同じ情報が用いられる。
また、統計化情報1011に、「protocol」の情報が含まれなくてもよい。
また、ポートの情報(「port_src」、「port_dst」)は、例えば、サービスごとに異なる情報となる。このため、複数のサービスが存在しないような場合に、統計化情報1011にポートの情報が含まれなくてもよい。
【0033】
「Timestamp」は、統計化処理部113によって統計化処理が行われたときの時間を表すタイムスタンプである。当該時間としては、例えば、統計化処理部113によって統計化処理が完了したとき(例えば、統計化情報1011が生成されたとき)、統計化処理部113によって統計化処理が開始されるとき、統計化処理部113によって統計化処理が行われる対象となる統計化期間の終了時間または開始時間、あるいは、所定の時間、などが用いられてもよい。
図4の例では、「Timestamp」の項目に、「2019-06-30 15:00:10」などの情報が格納されている。「2019-06-30 15:00:10」は2019年6月30日15時00分10秒を表している。また、
図4に示される他の具体例についても同様な定義である。
本実施形態では、統計化期間は10秒であるが、他の任意の時間が用いられてもよい。
【0034】
ここで、統計化期間は、例えば、時間的な前後で一部重複してもよく、あるいは、時間的な前後で重複しなくてもよい。
具体例として、10秒ごとに直近10秒のデータを統計化するというように、統計化期間は時間的な前後で一部重複しなくてもよい。
また、具体例として、5秒ごとに直近10秒のデータを統計化するというように、統計化期間は時間的な前後で重複してもよい。
また、統計化期間は、例えば、すべての端末装置41~43およびルータ31について統一された同一の期間(周期)が設定されてもよい。他の例として、統計化期間は、例えば、それぞれの端末装置41~43ごと、あるいは、ルータ31ごとに、異なり得る期間(周期)が設定されてもよい。
また、時間的に繰り返される統計化期間は、例えば、同一の期間であってもよく、あるいは、変動する期間であってもよい。
【0035】
「mac_src」は、パケットに含まれる送信元(ソース)のMACアドレスを表す。
図4の例では、「mac_src」の項目に「a1:b1:c1:d1:e1:f1」などの情報が格納されている。
「mac_dst」は、パケットに含まれる宛先(デスティネーション)のMACアドレスを表す。
図4の例では、「mac_dst」の項目に「a3:b3:c3:d3:e3:f3」などの情報が格納されている。
「ip_src」は、パケットに含まれる送信元のIPアドレスを表す。
図4の例では、「ip_src」の項目に「192.168.1.121」などの情報が格納されている。
「ip_dst」は、パケットに含まれる宛先のIPアドレスを表す。
図4の例では、「ip_dst」の項目に「239.255.255.xxx」などの情報が格納されている。
「port_src」は、パケットに含まれる送信元のポートの番号を表す。
図4の例では、「port_src」の項目に「48993」などの情報が格納されている。
「port_dst」は、パケットに含まれる宛先のポートの番号を表す。
図4の例では、「port_dst」の項目に「1900」などの情報が格納されている。
「protocol」は、パケットが通信されるプロトコルを表す。
図4の例では、「protocol」の項目に「udp」あるいは「tcp」の情報が格納されている。
【0036】
ここで、本実施形態では、統計化処理部113は、統計化期間ごと(「Timestamp」ごと)に、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」および「protocol」が一致するパケットについて、「count」および「length」を算出する統計化処理を行う。この場合、統計化処理部113は、それぞれのパケットの長さ(パケット長)を検出する。
本実施形態では、このような統計化処理が行われた結果ごと(
図4に示される統計化情報1011に含まれる1行ごと)に、学習の処理、および、学習結果を用いた推定の処理が行われる。
【0037】
「count」は、統計化期間ごとに、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」および「protocol」が一致するパケットの数を表す。
図4の例では、「count」の項目に「2」などの情報が格納されている。
「length」は、統計化期間ごとに、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」および「protocol」が一致するパケットの長さの総和を表す。
図4の例では、「length」の項目に「294」などの情報が格納されている。なお、「length」の単位は、例えば、バイト(byte)である。
【0038】
図4の例では、「Timestamp」、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」および「protocol」が一致するパケットごと(
図1の例では、1行ごと)に、統計化情報1011がレコード化されている。
図4の例では、1以上の項目の情報が異なるレコードは別のレコード(別の行の情報)となっている。
【0039】
辞書期間および学習期間について説明する。
本実施形態では、学習期間が用いられ、さらに、辞書期間が用いられてもよい。
辞書期間は、端末装置41~43、51~53の本来の挙動を定義するための期間であり、正常な通信の定義のために設けられた期間である。辞書期間に発生する通信はすべて正常であるとみなす。
また、学習期間に発生する通信はすべて正常であるとみなす。このため、学習期間に発生する通信が辞書期間において発生していない場合、当該通信は正常であると学習され得る。これにより、辞書期間が設けられる場合には、辞書期間が設けられない場合と比べて、学習期間において、挙動の揺らぎを許容して学習を行うことができる。
ここで、辞書期間は、例えば、学習期間と同じ、または、学習期間よりも短い期間に設定される。
また、辞書期間は、例えば、学習期間と重複していてもよく、あるいは、重複していなくてもよい。
【0040】
例えば、すべての端末装置41~43およびルータ31について、統一的に、学習期間と同一の期間が辞書期間として設定されてもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、学習期間の一部の期間が辞書期間として設定されてもよい。具体例として、学習期間が2週間であり、その2週間のうちの前半の1週間が辞書期間であってもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、学習期間よりも以前の期間が辞書期間として設定されてもよい。具体例として、学習期間が2週間であり、その前の1週間が辞書期間であってもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、処理対象となるパケットの数が所定の数に達するまでの期間が辞書期間として設定されてもよい。
なお、辞書期間は、例えば、それぞれの端末装置41~43ごと、あるいは、ルータ31ごとに、異なってもよい。
【0041】
例えば、すべての端末装置41~43およびルータ31について、統一的に、固定の学習期間が設定されてもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、処理対象となるパケットの数が所定の数に達するまでの期間が学習期間として設定されてもよい。
なお、学習期間は、例えば、それぞれの端末装置41~43ごと、あるいは、ルータ31ごとに、異なってもよい。
【0042】
図5および
図6を参照して、辞書期間について説明する。
図5は、本発明の一実施形態に係る辞書期間におけるパケット情報1111の一例を示す図である。
パケット情報1111は、ホームゲートウェイ装置21において、1つの辞書期間において処理対象となるそれぞれのパケットに含まれる情報の一覧を表す。パケット情報1111が有する項目は、
図4に示される統計化情報1011が有する項目と同じである。
【0043】
図5および
図6の例では、辞書期間における特徴として、パケットに含まれる「ip_dst」の情報を用いる場合を示す。
図5の例では、「Timestamp」が「2019-07-05 05:05:00」である4個のパケットの「ip_dst」として、重複を排除すると、「239.255.255.250」、「216.239.35.0」および「34.90.173.53」が取得されている。
これらの宛先IPアドレスのリストは、例えば、辞書の情報として、ホームゲートウェイ装置21の記憶部114に記憶されてもよい。
【0044】
図6は、本発明の一実施形態に係る学習期間における特徴量が追加された統計化情報1121の一例を示す図である。
統計化情報1121は、ホームゲートウェイ装置21において、1つの統計化期間において統計化処理が行われた結果の情報を表す。統計化情報1121が有する項目は、
図4に示される統計化情報1011が有する項目と同じ項目を有し、さらに、特徴量の項目である「is_past_ip」を含む。
【0045】
図6の例では、「is_past_ip」は、学習期間において処理対象となるパケットに含まれる「ip_dst」の情報が、辞書期間において取得された情報である「239.255.255.250」、「216.239.35.0」および「34.90.173.53」のいずれかと一致する場合には「1」という特徴量となり、そうでない場合には「0」という特徴量となる。つまり、「is_past_ip」は、「ip_dst」の情報が辞書期間に得られた情報と一致する場合には「1」となり、「ip_dst」の情報が辞書期間に得られた情報と一致しない場合には「0」となる。
【0046】
ここで、辞書期間において定義される特徴としては、様々な特徴が用いられてもよく、例えば、宛先IPアドレス、宛先ポート(例えば、宛先ポートの番号)、宛先IPアドレスと宛先ポートとの組み合わせ、平均パケット長、あるいは、パケット長の標準偏差などが用いられてもよい。これにより、例えば、端末装置41~43ごと、あるいは、ルータ31ごとに、宛先IPアドレスの一覧(リスト)、あるいは、宛先ポートの一覧(リスト)などが、辞書の情報として生成されてもよい。
また、辞書期間において定義される特徴の数としては、任意の数であってもよい。
【0047】
図7および
図8を参照して、辞書期間における特徴が学習期間において使用される例を示す。
なお、
図7および
図8の例では、説明を簡易にするために、1つの特徴量「is_past_ip」を例として説明する。
図7は、本発明の一実施形態に係る学習期間および辞書期間における特徴量の一例を示す図である。
図7および
図8の例では、辞書期間が7月1日から7月8日までであり、学習期間が7月1日から7月15日までであり、テスト期間が7月16日から7月31日までである。ここで、テスト期間は、辞書期間に得られた特徴および学習期間に得られた学習結果に基づいて、推定部214によって推定が行われる期間である。なお、テスト期間は、推定部214の異常検知部215によって異常検知が行われる期間であると捉えられてもよい。
【0048】
図7の例では、辞書期間において処理対象となったパケットに含まれる宛先IPアドレスのリストが生成される。このため、当該リストに含まれる宛先IPアドレスについて、辞書期間では、すべてのパケットが当該宛先IPアドレスを含んでいた。また、学習期間では、一部のパケットが当該宛先IPアドレスを含んでいたが、他のパケットは当該宛先IPアドレスを含んでいなかった(
図7の例では、特徴量が「0」である箇所)。これにより、学習期間では、処理対象となるパケットが当該宛先IPアドレスを含まない場合においても異常ではない(つまり、正常である)ことがあることが学習された。
【0049】
図8は、本発明の一実施形態に係るテスト期間における特徴量の一例を示す図である。
図8(A)は、「is_past_ip」に関する1つの特徴量を示している。
図8(B)は、推定部214による推定および異常検知部215による異常検知が行われた結果として、判定結果を示してある。「正」は判定結果が正常であることを表す。なお、判定結果が異常であることは「異」と表されてもよい。
図8(C)は、判定結果の正解を示してある。
図8の例では、特徴量が「1」となる場合だけでなく、特徴量が「0」となる場合にも、異常ではない(つまり、正常である)という判定結果が得られることがあることが示されている。
【0050】
このように、
図7および
図8の例では、辞書期間におけるパケットには含まれない宛先IPアドレスが、学習期間に、新しい通信先として発生した場合に、当該宛先IPアドレスを含むパケットが正常な通信として学習され得る。これにより、テスト期間における誤検知を減少させることができる。
本実施形態では、学習部213は、統計化期間ごとに、
図4に示される「Timestamp」、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」、「protocol」、「count」および「length」の情報と、辞書期間に定義される1つ以上の特徴に関する特徴量に基づいて、機械的な学習を行う。
【0051】
そして、推定部214では、学習部213により行われた学習の結果に基づいて、テスト期間における統計化情報について、所定の推定を行う。
具体的には、推定部214では、学習期間における統計化情報を用いて行われた学習の結果に基づいて、テスト期間における統計化情報について所定の推定を行う。
ここで、学習期間における統計化情報に含まれる項目と、テスト期間における統計化情報に含まれる項目とは、例えば、同じである。
また、辞書期間および学習期間が用いられる場合には、学習期間における統計化情報およびテスト期間における統計化情報に、辞書期間に定義された特徴量の項目が含まれる。
一方、辞書期間が用いられず学習期間が用いられる場合には、辞書期間における特徴の定義は行われない。この場合、
図8の例では、「is_past_ip」に関する特徴量が「0」となる場合に、異常であるという判定結果が得られる可能性が高くなる。
なお、本実施形態では、辞書期間および学習期間が設けられることが好ましいが、辞書期間が設けられずに学習期間が設けられてもよい。
【0052】
ここで、機械学習における特徴量について説明する。
本実施形態では、学習部213は、統計化情報に基づいて生成される1以上の項目の特徴量を用いて学習を行う。
学習部213は、例えば、宛先IPアドレス、パケット数、パケット長、プロトコルなどの情報に基づいて生成される所定数の次元の特徴量を用いてもよい。当該所定数は、任意の数であってもよく、例えば、21などであってもよい。
【0053】
本実施形態では、各特徴量は、0または1となる二値にエンコードされている。
パケット数などの連続量に関しては、例えば、平均あるいは標準偏差を用いて閾値を定め、当該連続量が当該閾値を超える場合に0とし、当該連続量が当該閾値未満である場合に1とする。なお、0と1とは、互いに逆に定義されてもよい。
また、宛先IPアドレスあるいはポート番号などについては,辞書期間におけるリスト(正常な挙動時のリスト)を作成し、宛先IPアドレスあるいはポート番号などの情報がそのリストに含まれない場合には0とし、宛先IPアドレスあるいはポート番号などの情報がそのリストに含まれる場合には1とする。
なお、辞書期間が設けられない場合には、辞書期間において定義される特徴については学習で用いられなくてもよい。
【0054】
ここで、特徴量の具体例を示す。
特徴量として、「宛先IP」があり、宛先IPアドレスが辞書期間のリストに含まれる場合に1値とし、他の場合に0値とする。特徴量として、「宛先IP(24ビット)」があり、宛先IPの先頭の24ビットが辞書期間のリストに含まれる場合に1値とし、他の場合に0値とする。特徴量として、「宛先ポート」があり、宛先ポートが辞書期間のリストに含まれる場合に1値とし、他の場合に0値とする。特徴量として、「宛先IPおよび宛先ポート」があり、宛先IPと宛先ポートとの組み合わせが辞書期間のリストに含まれる場合に1値とし、他の場合に0値とする。特徴量として、「ウェルノウンポート」があり、宛先ポートの番号が1024以下である場合に1値とし、他の場合に0値とする。
具体例として、特徴量として、「プロトコル」があり、プロトコルがTCPである場合に1値とし、他の場合に0値とする。特徴量として、「レスポンス」があり、レスポンスの宛先IPアドレスおよびポートの組と同一の送信元IPアドレスおよびポートの組が存在する場合に1値とし、他の場合に0値とする。特徴量として、「レスポンス数」があり、レスポンスのパケット数が所定のレコードより大きい場合に1値とし、他の場合に0値とする。特徴量として、「レスポンス長」があり、レスポンスのパケット長が所定のレコードより大きい場合に1値とし、他の場合に0値とする。特徴量として、「類似パケット」があり、宛先ポートもしくは送信元ポートのみ異なるパケットが存在する場合に1値とし、他の場合に0値とする。特徴量として、「パケット数(平均以下)」があり、パケットの数が全レコードの平均以下である場合に1値とし、他の場合に0値とする。特徴量として、「パケット数(平均+標準偏差σ以下)」があり、パケット数が(全レコードの平均+標準偏差)以下である場合に1値とし、他の場合に0値とする。特徴量として、「パケット長(平均以下)」があり、パケット長が全レコードの平均以下である場合に1値とし、他の場合に0値とする。特徴量として、「パケット長(平均+標準偏差σ以下)」があり、パケット長が(全レコードの平均+標準偏差)以下である場合に1値とし、他の場合に0値とする。特徴量として、「アウトバウンド」があり、内部ネットワークから外部へ向けた通信である場合に1値とし、他の場合に0値とする。
【0055】
図9は、本発明の一実施形態に係るホームゲートウェイ装置21において行われる処理の手順の一例を示す図である。
(ステップS1)
ホームゲートウェイ装置21では、パケット入力部111によって、パケットを入力する。当該パケットは、それぞれの端末装置41~43、51~53から発せられるパケットである。また、ホームゲートウェイ装置21では、既に取得されたパケットを記憶部114に記憶してもよい。
【0056】
(ステップS2)
ホームゲートウェイ装置21では、統計化処理部113によって、パケットの入力を開始してから所定の統計化期間が経過したか否かを判定する。
この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、パケットの入力を開始してから所定の統計化期間が経過したと判定した場合(ステップS2:YES)、ステップS3の処理へ移行する。
一方、この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、パケットの入力を開始してから所定の統計化期間が経過していないと判定した場合(ステップS2:NO)、ステップS1の処理へ移行する。
【0057】
(ステップS3)
ホームゲートウェイ装置21では、統計化処理部113によって、1つの統計化期間について、統計化処理を行う。
【0058】
(ステップS4)
ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行うか否かを判定する。
この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行うと判定した場合(ステップS4:YES)、ステップS5の処理へ移行する。
一方、この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行わないと判定した場合(ステップS4:NO)、ステップS1の処理へ移行する。この場合、ホームゲートウェイ装置21では、次の統計化期間のカウントが開始される。
また、ホームゲートウェイ装置21では、既に取得された統計化処理の結果を記憶部114に記憶する。
【0059】
ここで、統計化処理の結果の通知を行うタイミングとしては、任意のタイミングが用いられてもよい。例えば、それぞれの統計化期間と同じ期間(通知期間)ごとに、当該統計化期間に行われた統計化処理の結果である統計化情報がホームゲートウェイ装置21から解析サーバ装置22に対して送信されてもよい。また、例えば、統計化期間とは異なる期間(通知期間)のタイミングで、統計化処理の結果である統計化情報がホームゲートウェイ装置21から解析サーバ装置22に対して送信されてもよい。
【0060】
(ステップS5)
ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行う処理を実行する。具体的には、ホームゲートウェイ装置21では、統計化処理部113は、パケット出力部112により、通知対象となる統計化情報を、回線23を介して、解析サーバ装置22に送信する。ここで、通知対象となる統計化情報は、例えば、既に取得されているが未だに通知が行われていない統計化情報であってもよい。
そして、本フローの処理が終了する。
【0061】
図10は、本発明の一実施形態に係る解析サーバ装置22において行われる処理の手順の一例を示す図である。
(ステップS21)
解析サーバ装置22では、パケット入力部211によってホームゲートウェイ装置21からの通知を受けたか否かを判定する。当該通知は、ホームゲートウェイ装置21において行われた統計化処理の結果である統計化情報の通知である。
この判定の結果、解析サーバ装置22では、ホームゲートウェイ装置21からの通知を受けたと判定した場合(ステップS21:YES)、ステップS22の処理へ移行する。
一方、この判定の結果、解析サーバ装置22では、ホームゲートウェイ装置21からの通知を受けていないと判定した場合(ステップS21:NO)、ステップS21の処理を繰り返す。
【0062】
(ステップS22)
解析サーバ装置22では、ホームゲートウェイ装置21から受けた通知の内容を記憶部217に記憶する。そして、ステップS23の処理へ移行する。
【0063】
(ステップS23)
解析サーバ装置22では、所定の解析を実行するか否かを判定する。ここで、本実施形態では、所定の解析は、辞書期間における特徴検出部212による特徴検出、学習期間における学習部213による学習、あるいは、テスト期間における推定部214による推定のいずれかである。なお、当該推定は、異常検知部215による異常検出を含んでもよい。
この判定の結果、解析サーバ装置22では、所定の解析を実行すると判定した場合(ステップS23:YES)、ステップS24の処理へ移行する。
一方、この判定の結果、解析サーバ装置22では、所定の解析を実行しないと判定した場合(ステップS23:NO)、ステップS21の処理へ移行する。
【0064】
ここで、本実施形態では、一例として、辞書期間が完了したときのタイミングで特徴検出部212による特徴検出が行われ、学習期間が完了したときのタイミングで学習部213による学習が行われ、テスト期間が完了したときのタイミングで推定部214による推定が行われる。
他の例として、それぞれの期間における解析は、それぞれの期間においても、実行が進められてもよい。また、他の例として、それぞれの期間における解析は、それぞれの期間が経過した後の任意のタイミングで、実行されてもよい。
なお、それぞれの期間は、例えば、解析サーバ装置22によって管理されてもよく、ホームゲートウェイ装置21によって管理されてもよく、あるいは、これら両方の装置によって管理されてもよい。
【0065】
(ステップS24)
解析サーバ装置22では、所定の解析の処理を実行する。そして、本フローの処理を終了する。
【0066】
ここでは、説明の便宜上、
図10に示されるフローチャートを用いて、辞書期間における特徴検出部212による特徴検出、学習期間における学習部213による学習、あるいは、テスト期間における推定部214による推定について、まとめて説明した。
例えば、解析サーバ装置22では、まず、
図10に示されるフローチャートにしたがって、辞書期間における特徴検出部212による特徴検出の処理が行われる。次に、解析サーバ装置22では、
図10に示されるフローチャートにしたがって、学習期間における学習部213による学習の処理が行われる。そして、解析サーバ装置22では、
図10に示されるフローチャートにしたがって、テスト期間における推定部214による推定の処理が行われる。なお、辞書期間と学習期間とは、一部が重複していてもよい。
【0067】
ここで、解析サーバ装置22では、例えば、所定の解析の処理の結果をホームゲートウェイ装置21などの所定の装置に通知してもよく、また、所定の出力装置により出力してもよい。当該出力装置は、例えば、情報を画面に表示する表示装置、あるいは、情報を音声で出力する音声出力装置などであってもよい。
また、この場合、ホームゲートウェイ装置21は、それぞれの端末装置41~43、51~53によってユーザに対する所定の通知を実行させてもよい。また、この場合、ホームゲートウェイ装置21は、ユーザに対して、所定の通知を行ってもよい。所定の通知は、例えば、画面表示、音声出力などのうちの1以上を用いた通知であってもよい。
【0068】
以上のように、本実施形態に係る情報処理システム1では、次のような構成とした。
中継装置(本実施形態では、ホームゲートウェイ装置21)は、第1入力部(本実施形態では、パケット入力部111)により1以上の端末装置41~43、51~53から出力されるパケットを入力し、統計化処理部113により入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも当該パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行い、第1出力部(本実施形態では、パケット出力部112)により当該統計化処理の結果を含む統計化情報を処理装置(本実施形態では、解析サーバ装置22)に出力する。
また、処理装置は、第2入力部(本実施形態では、パケット入力部211)により中継装置から出力された統計化情報を入力し、推定部214により、入力された第1期間(本実施形態では、学習期間)における統計化情報に基づく推定手法(本実施形態では、学習モデル)を用いて、第2期間(本実施形態では、テスト期間)における統計化情報について所定の推定を行う。
したがって、本実施形態では、端末装置41~43、51~53から出力されるパケットに関する異常検知を効率的に行うことができる。
【0069】
一構成例として、処理装置は、第2入力部によって入力された第1期間における統計化情報に基づいて、機械学習により、推定手法を生成する学習部213を備える。
一構成例として、処理装置は、第2入力部によって入力された第3期間(本実施形態では、辞書期間)における統計化情報に基づいて、当該統計化情報に関する特徴を検出する特徴検出部212を備える。学習部213は、特徴検出部212によって検出された特徴に関する情報が付加された統計化情報に基づいて、機械学習により、推定手法を生成する。
一構成例として、第3期間の長さは、第1期間の長さ以下である。
一構成例として、特徴検出部212により検出される特徴は、発信先情報の一部または全部を含む。
一構成例として、発信元情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含む。発信先情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含む。
一構成例として、統計化情報は、パケットに含まれる所定項目の情報が一致するパケットの数(
図4の例では、「count」)と、パケットに含まれる所定項目の情報が一致するパケットの長さの総和(
図4の例では、「length」)との一方または両方に関する情報を含む。
一構成例として、所定の推定は、異常の検知を含む。
なお、本実施形態に係る情報処理システム1において行われる情報処理方法などを提供することもできる。
【0070】
本実施形態では、中継装置を通過するパケットが異常であるか否かを判定する異常検知機能が実現される。本実施形態では、中継装置を通過するトラフィックが特にマルウェアに感染した端末装置によるものであるか否かを検知する異常検知を行うことができる。
本実施形態では、中継装置において、パケット全体の解析ではなく、統計化処理により集約情報(統計化情報)を取得して処理装置に送信するため、中継装置における処理負荷(通信負荷を含む。)が軽い。
本実施形態では、中継装置におけるトラフィックの統計化処理(例えば、統計レコードから多次元の特徴を抽出する処理)、および、解析サーバ装置22における機械学習を併用することで、軽量かつ高精度な異常検知を実現することができる。
本実施形態では、ユーザが特に意識することなく、セキュリティ対策された環境で、端末装置41~43、51~53を利用することが可能である。
【0071】
本実施形態では、辞書期間が設けられ、辞書期間の情報と学習期間の情報に基づいて学習モデルが生成される。この場合、新しい挙動(例えば、新しい宛先との通信)が発生することを正常な挙動として学習することが可能となり、誤検知を低減することができる。
ここで、ある中継装置で受信されるパケットに関して、いったん学習が行われた後に、当該中継装置の配下にある端末装置の状況(数や種類など)が変化したような場合には、例えば、再び、学習が行われてもよい。
また、本実施形態では、中継装置と処理装置とは別体であるが、他の例として、処理装置の機能の一部または全部が中継装置と一体化されてもよい。
【0072】
なお、一般に、自由度が少なくシンプルな端末装置ほど、挙動が見やすい。挙動は、1種類であってもよく、2種類以上であってもよい。
例えば、IoT機器では、パーソナルコンピュータ(PC)等と違い、ユーザの直接的な操作が少ない場合が多く、機器ごとに通信の宛先が限定的であるという性質、あるいは、通信周期が一定であるという性質がある。このため、ある周期ごとに、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号に基づいて統計化処理されたパケット情報のみで、通信の特徴を表現することができる場合が多い。そして、これらの特徴を、機械学習を用いて学習することで、正常なIoT機器の挙動モデルを作成する。マルウェアに感染したIoT機器は、このモデルから逸脱した特徴を持つと考えられる。ここで、例えば、パケット数だけでなく、通信の宛先などについても特徴量として学習させることで、指令サーバとの少量通信についても、検知が可能となる。
【0073】
機械学習以外の例として、機械学習の代わりに、人などによって作成されたプログラムをプロセッサーが実行することにより、推定(異常検知を含んでもよい。)などを行う構成が用いられてもよい。この構成では、例えば、中継装置によって取得された統計化情報が人などによって解析され、その結果に基づいて、異常検知などの所定の処理を行うプログラムが作成される。そして、当該プログラムが解析サーバ装置22にインストールされて、解析サーバ装置22において当該プログラムを実行することで、統計化情報について異常検知などを行う。当該プログラムでは、例えば、閾値を用いた異常の有無などの判定が含まれてもよい。また、当該プログラムでは、例えば、辞書期間における特徴の有無に応じた特徴量(例えば、0または1)に基づいてハミング距離を検出して、当該ハミング距離が所定の閾値を超える場合に異常を検知する判定などが含まれてもよい。
【0074】
なお、以上に説明した任意の装置における任意の構成部の機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、オペレーティングシステム(OS:Operating System)あるいは周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disc)-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークあるいは電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0075】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワークあるいは電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイルであってもよい。差分ファイルは、差分プログラムと呼ばれてもよい。
【0076】
以上に説明した任意の装置における任意の構成部の機能は、プロセッサーにより実現されてもよい。例えば、本実施形態における各処理は、プログラム等の情報に基づき動作するプロセッサーと、プログラム等の情報を記憶するコンピュータ読み取り可能な記録媒体により実現されてもよい。ここで、プロセッサーは、例えば、各部の機能が個別のハードウェアで実現されてもよく、あるいは、各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサーはハードウェアを含み、当該ハードウェアは、デジタル信号を処理する回路およびアナログ信号を処理する回路のうちの少なくとも一方を含んでもよい。例えば、プロセッサーは、回路基板に実装された1または複数の回路装置、あるいは、1または複数の回路素子のうちの一方または両方を用いて、構成されてもよい。回路装置としてはIC(Integrated Circuit)などが用いられてもよく、回路素子としては抵抗あるいはキャパシターなどが用いられてもよい。
【0077】
ここで、プロセッサーは、例えば、CPUであってもよい。ただし、プロセッサーは、CPUに限定されるものではなく、例えば、GPU(Graphics Processing Unit)、あるいは、DSP(Digital Signal Processor)等のような、各種のプロセッサーが用いられてもよい。また、プロセッサーは、例えば、ASIC(Application Specific Integrated Circuit)によるハードウェア回路であってもよい。また、プロセッサーは、例えば、複数のCPUにより構成されていてもよく、あるいは、複数のASICによるハードウェア回路により構成されていてもよい。また、プロセッサーは、例えば、複数のCPUと、複数のASICによるハードウェア回路と、の組み合わせにより構成されていてもよい。また、プロセッサーは、例えば、アナログ信号を処理するアンプ回路あるいはフィルター回路等のうちの1以上を含んでもよい。
【0078】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0079】
1…情報処理システム、11…ホーム、21…ホームゲートウェイ装置、22…解析サーバ装置、23…回線、31…ルータ、41~43、51~53…端末装置、111、211…パケット入力部、112…パケット出力部、113…統計化処理部、114、217…記憶部、212…特徴検出部、213…学習部、214…推定部、215…異常検知部、216…通知部、1011、1121…統計化情報、1111…パケット情報