JP7050042B2 - 情報処理システムおよび情報処理方法 - Google Patents
情報処理システムおよび情報処理方法 Download PDFInfo
- Publication number
- JP7050042B2 JP7050042B2 JP2019224756A JP2019224756A JP7050042B2 JP 7050042 B2 JP7050042 B2 JP 7050042B2 JP 2019224756 A JP2019224756 A JP 2019224756A JP 2019224756 A JP2019224756 A JP 2019224756A JP 7050042 B2 JP7050042 B2 JP 7050042B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- period
- packet
- unit
- statistical
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
ここで、パケットの情報に基づく異常検知としては、ペイロードを含むパケット全体の情報を用いる技術が存在するが、例えば、ホームゲートウェイ装置などでは、機器の処理負荷に関する制約があり、当該技術の適用が難しい場合がある。なお、ホームゲートウェイ装置とは別のサーバ装置等にパケットを転送し、当該サーバ装置等において異常検知を行うことも考えられるが、すべてのパケットを転送することは、処理負荷の制約があり、適用が難しい場合がある。
以上のような事情は、IoT機器以外の端末装置に関しても同様であった。
情報処理システム1は、ホームゲートウェイ装置21と、解析サーバ装置22と、回線23と、ルータ31と、複数の端末装置41~43、51~53を備える。
ホームゲートウェイ装置21は中継装置の一例であり、解析サーバ装置22は処理装置の一例である。
ここで、情報処理システム1は、少なくとも、ホームゲートウェイ装置21と、解析サーバ装置22を備え、他の装置は情報処理システム1とは別体であると捉えられてもよい。
それぞれの端末装置41~43、51~53は、任意の端末装置であってもよく、例えば、スマートフォン、スマートハブ、スマートカメラ、スマートスピーカー、環境センサー、ドアホン、ライト、掃除機、STB(Set Top Box)、スマートTV、パーソナルコンピュータ(PC)、あるいは、他のIoT機器などであってもよい。
図1の例では、端末装置51~53は、それぞれ、ルータ31を介して、ホームゲートウェイ装置21と通信する。
それぞれの端末装置41~43は、例えば、所定のパケットをホームゲートウェイ装置21に送信する。
それぞれの端末装置51~53は、例えば、所定のパケットをルータ31に送信する。
ルータ31は、それぞれの端末装置51~53とホームゲートウェイ装置21との間の通信を中継する。例えば、ルータ31は、端末装置51~53からルータ31に送信されたパケットを受信し、受信されたパケットをホームゲートウェイ装置21に送信する。
また、それぞれの端末装置51~53とルータ31との間では、互いのアンテナを用いて無線による通信が行われる。
また、ルータ31とホームゲートウェイ装置21との間では、互いのアンテナを用いて無線による通信が行われる。
なお、これらの通信の一部または全部として、有線の通信が用いられてもよい。
回線23は、例えば、有線の回線であってもよく、あるいは、無線の回線であってもよい。回線23は、例えば、インターネットなどのように、公衆ネットワークであってもよい。
ホームゲートウェイ装置21は、パケット入力部111と、パケット出力部112と、統計化処理部113と、記憶部114を備える。
パケット入力部111は、それぞれの端末装置41~43からホームゲートウェイ装置21に送信されたパケットを入力する。この入力は、当該パケットの受信を含む。
また、パケット入力部111は、それぞれの端末装置51~53からルータ31に送信された後にルータ31からホームゲートウェイ装置21に送信されたパケットを入力する。この入力は、当該パケットの受信を含む。
また、パケット出力部112は、ホームゲートウェイ装置21において生成されたパケットを、回線23を介して、解析サーバ装置22に送信する。当該パケットは、例えば、統計化処理部113によって生成されるパケットであってもよい。
ここで、所定の統計化期間は、任意に設定されてもよい。
また、所定の統計化処理は、統計に関する処理であり、任意に定められてもよい。
所定の統計化処理は、例えば、同一の端末装置41~43、51~53ごとに行われてもよく、または、同一のルータ31ごとに行われてもよい。本実施形態では、所定の統計化処理は、端末装置41~43については個別に行われ、端末装置51~53についてはルータ31ごとにまとめて行われる。
記憶部114は、各種の情報を記憶する。
本実施形態では、解析サーバ装置22は、クラウド上に設置されている。
解析サーバ装置22は、パケット入力部211と、特徴検出部212と、学習部213と、推定部214と、異常検知部215と、通知部216と、記憶部217を備える。
ここで、本実施形態では、推定部214は、一機能として、異常検知部215を含むが、他の例として、推定部214と異常検知部215とが別体で構成されてもよい。
特徴検出部212は、所定の辞書期間が設けられる場合、当該辞書期間において、パケットの特徴を検出する。なお、所定の辞書期間が設けられない場合には、例えば、特徴検出部212は解析サーバ装置22に備えられなくてもよい。
本実施形態では、学習部213は、ホームゲートウェイ装置21において生成された統計化情報について、端末装置41~43ごとあるいはルータ31ごとに、機械学習のモデル(以下、説明の便宜上、学習モデルともいう。)を生成する。
ここで、特徴量としては、様々な特徴量が用いられてもよく、例えば、閾値を用いてパケット数あるいはパケット長を2値化した特徴量、ある期間(本実施形態では、辞書期間と呼んでいる。)の通信ログに存在する宛先のリストに基づいて当該リストに含まれる宛先であるか否かに応じて2値化した特徴量などが用いられてもよい。
なお、推定の代わりに、判定などと呼ばれてもよい。
例えば、異常検知部215は、推定部214による推定で得られる所定の数値に基づいて、統計化情報が異常であるか否かを判定し、当該統計化情報が異常である場合には、当該異常を検知する。
本実施形態では、端末装置41~43、51~53がマルウェア等に感染する前と後との挙動変化に着目して、当該挙動変化があったと推定される場合には異常を検知する構成としている。具体的には、解析サーバ装置22では、学習部213により、マルウェア等に感染する前の挙動を学習し、その後、その学習結果に基づいて、マルウェア等に感染した後の挙動であるか否かを推定する。
なお、検知の代わりに、検出などと呼ばれてもよい。
記憶部217は、各種の情報を記憶する。
統計化情報1011は、ホームゲートウェイ装置21の統計化処理部113によって、所定の統計化期間ごとに、処理対象となるパケットに含まれる情報を統計化した結果の情報である。処理対象となるパケットは、通常、統計化期間ごとに、複数となる。
統計化情報1011は、例えば、ホームゲートウェイ装置21の記憶部114などに記憶されてもよい。
本実施形態では、処理対象となるパケットは、端末装置41~43については、それぞれの端末装置41~43ごとのパケットである。
また、本実施形態では、処理対象のパケットは、端末装置51~53については、ルータ31ごとのパケットであり、つまり、端末装置51~53のパケットをまとめたものである。本実施形態では、ホームゲートウェイ装置21は、ルータ31の配下に存在する端末装置51~53については個別に特定することができず、つまり、ルータ31からホームゲートウェイ装置21に送信されるパケットについては、当該パケットの送信元を端末装置51~53のなかで特定することができない。このため、本実施形態では、ホームゲートウェイ装置21は、ルータ31ごとのパケットをまとめて、統計化処理を行う。
なお、統計化情報という名称、および、当該項目のそれぞれの名称は、説明の便宜上のものであり、他の任意の名称が用いられてもよい。例えば、統計化情報の代わりに、統計レコードなどと呼ばれてもよい。
また、統計化情報1011に、「protocol」の情報が含まれなくてもよい。
また、ポートの情報(「port_src」、「port_dst」)は、例えば、サービスごとに異なる情報となる。このため、複数のサービスが存在しないような場合に、統計化情報1011にポートの情報が含まれなくてもよい。
図4の例では、「Timestamp」の項目に、「2019-06-30 15:00:10」などの情報が格納されている。「2019-06-30 15:00:10」は2019年6月30日15時00分10秒を表している。また、図4に示される他の具体例についても同様な定義である。
本実施形態では、統計化期間は10秒であるが、他の任意の時間が用いられてもよい。
具体例として、10秒ごとに直近10秒のデータを統計化するというように、統計化期間は時間的な前後で一部重複しなくてもよい。
また、具体例として、5秒ごとに直近10秒のデータを統計化するというように、統計化期間は時間的な前後で重複してもよい。
また、統計化期間は、例えば、すべての端末装置41~43およびルータ31について統一された同一の期間(周期)が設定されてもよい。他の例として、統計化期間は、例えば、それぞれの端末装置41~43ごと、あるいは、ルータ31ごとに、異なり得る期間(周期)が設定されてもよい。
また、時間的に繰り返される統計化期間は、例えば、同一の期間であってもよく、あるいは、変動する期間であってもよい。
「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」の情報が格納されている。
本実施形態では、このような統計化処理が行われた結果ごと(図4に示される統計化情報1011に含まれる1行ごと)に、学習の処理、および、学習結果を用いた推定の処理が行われる。
「length」は、統計化期間ごとに、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」および「protocol」が一致するパケットの長さの総和を表す。図4の例では、「length」の項目に「294」などの情報が格納されている。なお、「length」の単位は、例えば、バイト(byte)である。
本実施形態では、学習期間が用いられ、さらに、辞書期間が用いられてもよい。
辞書期間は、端末装置41~43、51~53の本来の挙動を定義するための期間であり、正常な通信の定義のために設けられた期間である。辞書期間に発生する通信はすべて正常であるとみなす。
また、学習期間に発生する通信はすべて正常であるとみなす。このため、学習期間に発生する通信が辞書期間において発生していない場合、当該通信は正常であると学習され得る。これにより、辞書期間が設けられる場合には、辞書期間が設けられない場合と比べて、学習期間において、挙動の揺らぎを許容して学習を行うことができる。
ここで、辞書期間は、例えば、学習期間と同じ、または、学習期間よりも短い期間に設定される。
また、辞書期間は、例えば、学習期間と重複していてもよく、あるいは、重複していなくてもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、学習期間の一部の期間が辞書期間として設定されてもよい。具体例として、学習期間が2週間であり、その2週間のうちの前半の1週間が辞書期間であってもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、学習期間よりも以前の期間が辞書期間として設定されてもよい。具体例として、学習期間が2週間であり、その前の1週間が辞書期間であってもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、処理対象となるパケットの数が所定の数に達するまでの期間が辞書期間として設定されてもよい。
なお、辞書期間は、例えば、それぞれの端末装置41~43ごと、あるいは、ルータ31ごとに、異なってもよい。
例えば、すべての端末装置41~43およびルータ31について、統一的に、処理対象となるパケットの数が所定の数に達するまでの期間が学習期間として設定されてもよい。
なお、学習期間は、例えば、それぞれの端末装置41~43ごと、あるいは、ルータ31ごとに、異なってもよい。
図5は、本発明の一実施形態に係る辞書期間におけるパケット情報1111の一例を示す図である。
パケット情報1111は、ホームゲートウェイ装置21において、1つの辞書期間において処理対象となるそれぞれのパケットに含まれる情報の一覧を表す。パケット情報1111が有する項目は、図4に示される統計化情報1011が有する項目と同じである。
図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に記憶されてもよい。
統計化情報1121は、ホームゲートウェイ装置21において、1つの統計化期間において統計化処理が行われた結果の情報を表す。統計化情報1121が有する項目は、図4に示される統計化情報1011が有する項目と同じ項目を有し、さらに、特徴量の項目である「is_past_ip」を含む。
また、辞書期間において定義される特徴の数としては、任意の数であってもよい。
なお、図7および図8の例では、説明を簡易にするために、1つの特徴量「is_past_ip」を例として説明する。
図7は、本発明の一実施形態に係る学習期間および辞書期間における特徴量の一例を示す図である。
図7および図8の例では、辞書期間が7月1日から7月8日までであり、学習期間が7月1日から7月15日までであり、テスト期間が7月16日から7月31日までである。ここで、テスト期間は、辞書期間に得られた特徴および学習期間に得られた学習結果に基づいて、推定部214によって推定が行われる期間である。なお、テスト期間は、推定部214の異常検知部215によって異常検知が行われる期間であると捉えられてもよい。
図8(A)は、「is_past_ip」に関する1つの特徴量を示している。
図8(B)は、推定部214による推定および異常検知部215による異常検知が行われた結果として、判定結果を示してある。「正」は判定結果が正常であることを表す。なお、判定結果が異常であることは「異」と表されてもよい。
図8(C)は、判定結果の正解を示してある。
図8の例では、特徴量が「1」となる場合だけでなく、特徴量が「0」となる場合にも、異常ではない(つまり、正常である)という判定結果が得られることがあることが示されている。
本実施形態では、学習部213は、統計化期間ごとに、図4に示される「Timestamp」、「mac_src」、「mac_dst」、「ip_src」、「ip_dst」、「port_src」、「port_dst」、「protocol」、「count」および「length」の情報と、辞書期間に定義される1つ以上の特徴に関する特徴量に基づいて、機械的な学習を行う。
具体的には、推定部214では、学習期間における統計化情報を用いて行われた学習の結果に基づいて、テスト期間における統計化情報について所定の推定を行う。
ここで、学習期間における統計化情報に含まれる項目と、テスト期間における統計化情報に含まれる項目とは、例えば、同じである。
また、辞書期間および学習期間が用いられる場合には、学習期間における統計化情報およびテスト期間における統計化情報に、辞書期間に定義された特徴量の項目が含まれる。
一方、辞書期間が用いられず学習期間が用いられる場合には、辞書期間における特徴の定義は行われない。この場合、図8の例では、「is_past_ip」に関する特徴量が「0」となる場合に、異常であるという判定結果が得られる可能性が高くなる。
なお、本実施形態では、辞書期間および学習期間が設けられることが好ましいが、辞書期間が設けられずに学習期間が設けられてもよい。
本実施形態では、学習部213は、統計化情報に基づいて生成される1以上の項目の特徴量を用いて学習を行う。
学習部213は、例えば、宛先IPアドレス、パケット数、パケット長、プロトコルなどの情報に基づいて生成される所定数の次元の特徴量を用いてもよい。当該所定数は、任意の数であってもよく、例えば、21などであってもよい。
パケット数などの連続量に関しては、例えば、平均あるいは標準偏差を用いて閾値を定め、当該連続量が当該閾値を超える場合に0とし、当該連続量が当該閾値未満である場合に1とする。なお、0と1とは、互いに逆に定義されてもよい。
また、宛先IPアドレスあるいはポート番号などについては,辞書期間におけるリスト(正常な挙動時のリスト)を作成し、宛先IPアドレスあるいはポート番号などの情報がそのリストに含まれない場合には0とし、宛先IPアドレスあるいはポート番号などの情報がそのリストに含まれる場合には1とする。
なお、辞書期間が設けられない場合には、辞書期間において定義される特徴については学習で用いられなくてもよい。
特徴量として、「宛先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値とする。
(ステップS1)
ホームゲートウェイ装置21では、パケット入力部111によって、パケットを入力する。当該パケットは、それぞれの端末装置41~43、51~53から発せられるパケットである。また、ホームゲートウェイ装置21では、既に取得されたパケットを記憶部114に記憶してもよい。
ホームゲートウェイ装置21では、統計化処理部113によって、パケットの入力を開始してから所定の統計化期間が経過したか否かを判定する。
この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、パケットの入力を開始してから所定の統計化期間が経過したと判定した場合(ステップS2:YES)、ステップS3の処理へ移行する。
一方、この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、パケットの入力を開始してから所定の統計化期間が経過していないと判定した場合(ステップS2:NO)、ステップS1の処理へ移行する。
ホームゲートウェイ装置21では、統計化処理部113によって、1つの統計化期間について、統計化処理を行う。
ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行うか否かを判定する。
この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行うと判定した場合(ステップS4:YES)、ステップS5の処理へ移行する。
一方、この判定の結果、ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行わないと判定した場合(ステップS4:NO)、ステップS1の処理へ移行する。この場合、ホームゲートウェイ装置21では、次の統計化期間のカウントが開始される。
また、ホームゲートウェイ装置21では、既に取得された統計化処理の結果を記憶部114に記憶する。
ホームゲートウェイ装置21では、統計化処理部113によって、統計化処理の結果の通知を行う処理を実行する。具体的には、ホームゲートウェイ装置21では、統計化処理部113は、パケット出力部112により、通知対象となる統計化情報を、回線23を介して、解析サーバ装置22に送信する。ここで、通知対象となる統計化情報は、例えば、既に取得されているが未だに通知が行われていない統計化情報であってもよい。
そして、本フローの処理が終了する。
(ステップS21)
解析サーバ装置22では、パケット入力部211によってホームゲートウェイ装置21からの通知を受けたか否かを判定する。当該通知は、ホームゲートウェイ装置21において行われた統計化処理の結果である統計化情報の通知である。
この判定の結果、解析サーバ装置22では、ホームゲートウェイ装置21からの通知を受けたと判定した場合(ステップS21:YES)、ステップS22の処理へ移行する。
一方、この判定の結果、解析サーバ装置22では、ホームゲートウェイ装置21からの通知を受けていないと判定した場合(ステップS21:NO)、ステップS21の処理を繰り返す。
解析サーバ装置22では、ホームゲートウェイ装置21から受けた通知の内容を記憶部217に記憶する。そして、ステップS23の処理へ移行する。
解析サーバ装置22では、所定の解析を実行するか否かを判定する。ここで、本実施形態では、所定の解析は、辞書期間における特徴検出部212による特徴検出、学習期間における学習部213による学習、あるいは、テスト期間における推定部214による推定のいずれかである。なお、当該推定は、異常検知部215による異常検出を含んでもよい。
この判定の結果、解析サーバ装置22では、所定の解析を実行すると判定した場合(ステップS23:YES)、ステップS24の処理へ移行する。
一方、この判定の結果、解析サーバ装置22では、所定の解析を実行しないと判定した場合(ステップS23:NO)、ステップS21の処理へ移行する。
他の例として、それぞれの期間における解析は、それぞれの期間においても、実行が進められてもよい。また、他の例として、それぞれの期間における解析は、それぞれの期間が経過した後の任意のタイミングで、実行されてもよい。
なお、それぞれの期間は、例えば、解析サーバ装置22によって管理されてもよく、ホームゲートウェイ装置21によって管理されてもよく、あるいは、これら両方の装置によって管理されてもよい。
解析サーバ装置22では、所定の解析の処理を実行する。そして、本フローの処理を終了する。
例えば、解析サーバ装置22では、まず、図10に示されるフローチャートにしたがって、辞書期間における特徴検出部212による特徴検出の処理が行われる。次に、解析サーバ装置22では、図10に示されるフローチャートにしたがって、学習期間における学習部213による学習の処理が行われる。そして、解析サーバ装置22では、図10に示されるフローチャートにしたがって、テスト期間における推定部214による推定の処理が行われる。なお、辞書期間と学習期間とは、一部が重複していてもよい。
また、この場合、ホームゲートウェイ装置21は、それぞれの端末装置41~43、51~53によってユーザに対する所定の通知を実行させてもよい。また、この場合、ホームゲートウェイ装置21は、ユーザに対して、所定の通知を行ってもよい。所定の通知は、例えば、画面表示、音声出力などのうちの1以上を用いた通知であってもよい。
中継装置(本実施形態では、ホームゲートウェイ装置21)は、第1入力部(本実施形態では、パケット入力部111)により1以上の端末装置41~43、51~53から出力されるパケットを入力し、統計化処理部113により入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも当該パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行い、第1出力部(本実施形態では、パケット出力部112)により当該統計化処理の結果を含む統計化情報を処理装置(本実施形態では、解析サーバ装置22)に出力する。
また、処理装置は、第2入力部(本実施形態では、パケット入力部211)により中継装置から出力された統計化情報を入力し、推定部214により、入力された第1期間(本実施形態では、学習期間)における統計化情報に基づく推定手法(本実施形態では、学習モデル)を用いて、第2期間(本実施形態では、テスト期間)における統計化情報について所定の推定を行う。
したがって、本実施形態では、端末装置41~43、51~53から出力されるパケットに関する異常検知を効率的に行うことができる。
一構成例として、処理装置は、第2入力部によって入力された第3期間(本実施形態では、辞書期間)における統計化情報に基づいて、当該統計化情報に関する特徴を検出する特徴検出部212を備える。学習部213は、特徴検出部212によって検出された特徴に関する情報が付加された統計化情報に基づいて、機械学習により、推定手法を生成する。
一構成例として、第3期間の長さは、第1期間の長さ以下である。
一構成例として、特徴検出部212により検出される特徴は、発信先情報の一部または全部を含む。
一構成例として、発信元情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含む。発信先情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含む。
一構成例として、統計化情報は、パケットに含まれる所定項目の情報が一致するパケットの数(図4の例では、「count」)と、パケットに含まれる所定項目の情報が一致するパケットの長さの総和(図4の例では、「length」)との一方または両方に関する情報を含む。
一構成例として、所定の推定は、異常の検知を含む。
なお、本実施形態に係る情報処理システム1において行われる情報処理方法などを提供することもできる。
本実施形態では、中継装置において、パケット全体の解析ではなく、統計化処理により集約情報(統計化情報)を取得して処理装置に送信するため、中継装置における処理負荷(通信負荷を含む。)が軽い。
本実施形態では、中継装置におけるトラフィックの統計化処理(例えば、統計レコードから多次元の特徴を抽出する処理)、および、解析サーバ装置22における機械学習を併用することで、軽量かつ高精度な異常検知を実現することができる。
本実施形態では、ユーザが特に意識することなく、セキュリティ対策された環境で、端末装置41~43、51~53を利用することが可能である。
ここで、ある中継装置で受信されるパケットに関して、いったん学習が行われた後に、当該中継装置の配下にある端末装置の状況(数や種類など)が変化したような場合には、例えば、再び、学習が行われてもよい。
また、本実施形態では、中継装置と処理装置とは別体であるが、他の例として、処理装置の機能の一部または全部が中継装置と一体化されてもよい。
例えば、IoT機器では、パーソナルコンピュータ(PC)等と違い、ユーザの直接的な操作が少ない場合が多く、機器ごとに通信の宛先が限定的であるという性質、あるいは、通信周期が一定であるという性質がある。このため、ある周期ごとに、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号に基づいて統計化処理されたパケット情報のみで、通信の特徴を表現することができる場合が多い。そして、これらの特徴を、機械学習を用いて学習することで、正常なIoT機器の挙動モデルを作成する。マルウェアに感染したIoT機器は、このモデルから逸脱した特徴を持つと考えられる。ここで、例えば、パケット数だけでなく、通信の宛先などについても特徴量として学習させることで、指令サーバとの少量通信についても、検知が可能となる。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイルであってもよい。差分ファイルは、差分プログラムと呼ばれてもよい。
Claims (7)
- 中継装置と、処理装置と、を備え、
前記中継装置は、
1以上の端末装置から出力されるパケットを入力する第1入力部と、
前記第1入力部によって入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも前記パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行う統計化処理部と、
前記統計化処理部によって行われた前記統計化処理の結果を含む統計化情報を前記処理装置に出力する第1出力部と、
を備え、
前記処理装置は、前記中継装置から出力された前記統計化情報を入力する第2入力部と、
前記第2入力部によって入力された第1期間における前記統計化情報に基づく推定手法を用いて、第2期間における前記統計化情報について所定の推定を行う推定部と、
を備え、
前記処理装置は、
前記第2入力部によって入力された前記第1期間における前記統計化情報に基づいて、機械学習により、前記推定手法を生成する学習部と、
前記第2入力部によって入力された第3期間における前記統計化情報に基づいて、前記統計化情報に関する特徴を検出する特徴検出部と、を備え、
前記学習部は、前記特徴検出部によって検出された前記特徴に関する情報が付加された前記統計化情報に基づいて、前記機械学習により、前記推定手法を生成し、
前記第3期間は、発生する通信のすべてを正常であるとみなして正常な通信を定義する期間であり、
前記第1期間は、発生する通信のすべてを正常であるとみなして学習を行う期間である、
情報処理システム。 - 前記第3期間の長さは、前記第1期間の長さ以下である、
請求項1に記載の情報処理システム。 - 前記特徴は、前記発信先情報の一部または全部を含む、
請求項1または請求項2に記載の情報処理システム。 - 前記発信元情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含み、
前記発信先情報は、MACアドレスと、IPアドレスと、ポートのうちの1以上に関する情報を含む、
請求項1から請求項3のいずれか1項に記載の情報処理システム。 - 前記統計化情報は、前記パケットに含まれる所定項目の情報が一致する前記パケットの数と、前記パケットに含まれる前記所定項目の情報が一致する前記パケットの長さの総和との一方または両方に関する情報を含む、
請求項1から請求項4のいずれか1項に記載の情報処理システム。 - 前記所定の推定は、異常の検知を含む、
請求項1から請求項5のいずれか1項に記載の情報処理システム。 - 中継装置は、
1以上の端末装置から出力されるパケットを入力し、
入力された所定の統計化期間におけるパケットに含まれる情報に基づいて、少なくとも前記パケットの発信元情報および発信先情報を含む対象情報について、所定の統計化処理を行い、
前記統計化処理の結果を含む統計化情報を処理装置に出力し、
前記処理装置は、
前記中継装置から出力された前記統計化情報を入力し、
入力された第1期間における前記統計化情報に基づく推定手法を用いて、第2期間における前記統計化情報について所定の推定を行い、
前記処理装置は、
入力された前記第1期間における前記統計化情報に基づいて、機械学習により、前記推定手法を生成する学習を行い、
入力された第3期間における前記統計化情報に基づいて、前記統計化情報に関する特徴を検出し、
前記学習では、検出された前記特徴に関する情報が付加された前記統計化情報に基づいて、前記機械学習により、前記推定手法を生成し、
前記第3期間は、発生する通信のすべてを正常であるとみなして正常な通信を定義する期間であり、
前記第1期間は、発生する通信のすべてを正常であるとみなして学習を行う期間である、
情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019224756A JP7050042B2 (ja) | 2019-12-12 | 2019-12-12 | 情報処理システムおよび情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019224756A JP7050042B2 (ja) | 2019-12-12 | 2019-12-12 | 情報処理システムおよび情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021093689A JP2021093689A (ja) | 2021-06-17 |
JP7050042B2 true JP7050042B2 (ja) | 2022-04-07 |
Family
ID=76310889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019224756A Active JP7050042B2 (ja) | 2019-12-12 | 2019-12-12 | 情報処理システムおよび情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7050042B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7483664B2 (ja) | 2021-07-28 | 2024-05-15 | Kddi株式会社 | 通信解析システム、通信解析方法及びコンピュータプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019021294A (ja) | 2017-07-17 | 2019-02-07 | エーオー カスペルスキー ラボAO Kaspersky Lab | DDoS攻撃判定システムおよび方法 |
JP2019102960A (ja) | 2017-12-01 | 2019-06-24 | 日本電信電話株式会社 | サイバー攻撃検知システム、特徴量選定システム、サイバー攻撃検知方法、及びプログラム |
JP2019153894A (ja) | 2018-03-01 | 2019-09-12 | 日本電信電話株式会社 | 通信制御装置、通信制御方法および通信制御プログラム |
-
2019
- 2019-12-12 JP JP2019224756A patent/JP7050042B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019021294A (ja) | 2017-07-17 | 2019-02-07 | エーオー カスペルスキー ラボAO Kaspersky Lab | DDoS攻撃判定システムおよび方法 |
JP2019102960A (ja) | 2017-12-01 | 2019-06-24 | 日本電信電話株式会社 | サイバー攻撃検知システム、特徴量選定システム、サイバー攻撃検知方法、及びプログラム |
JP2019153894A (ja) | 2018-03-01 | 2019-09-12 | 日本電信電話株式会社 | 通信制御装置、通信制御方法および通信制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2021093689A (ja) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Perdisci et al. | Iotfinder: Efficient large-scale identification of iot devices via passive dns traffic analysis | |
US11936764B1 (en) | Generating event streams based on application-layer events captured by remote capture agents | |
US11310251B2 (en) | Techniques for data routing and management using risk classification and data sampling | |
JP4479459B2 (ja) | パケット解析システム | |
TWI648650B (zh) | 閘道裝置、其惡意網域與受駭主機的偵測方法及非暫態電腦可讀取媒體 | |
US11057403B2 (en) | Suspicious packet detection device and suspicious packet detection method thereof | |
US11777971B2 (en) | Bind shell attack detection | |
US8074279B1 (en) | Detecting rogue access points in a computer network | |
CN115398860A (zh) | 一种会话检测方法、装置、检测设备及计算机存储介质 | |
JP2006279930A (ja) | 不正アクセス検出方法及び装置、並びに不正アクセス遮断方法及び装置 | |
US10574682B2 (en) | Latency-based detection of covert routing | |
US20200021608A1 (en) | Information processing apparatus, communication inspecting method and medium | |
US12069077B2 (en) | Methods for detecting a cyberattack on an electronic device, method for obtaining a supervised random forest model for detecting a DDoS attack or a brute force attack, and electronic device configured to detect a cyberattack on itself | |
JP7050042B2 (ja) | 情報処理システムおよび情報処理方法 | |
JP7156642B2 (ja) | 同定処理装置、同定処理プログラム及び同定処理方法 | |
JPWO2019043804A1 (ja) | ログ分析装置、ログ分析方法及びプログラム | |
Yang et al. | Modelling Network Traffic and Exploiting Encrypted Packets to Detect Stepping-stone Intrusions. | |
Okui et al. | Identification of an iot device model in the home domain using ipfix records | |
JP2023165633A (ja) | 機械学習ベースのマルウェア検出のためのシステムおよび方法 | |
US10528403B2 (en) | Adaptive event aggregation | |
US20210336975A1 (en) | Method and System of deducing state logic data within a distributed network | |
Oudah et al. | Using burstiness for network applications classification | |
CN114760216A (zh) | 一种扫描探测事件确定方法、装置及电子设备 | |
JP4777366B2 (ja) | ワーム対策プログラム、ワーム対策装置、ワーム対策方法 | |
US20240184857A1 (en) | Device type classification based on usage patterns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210817 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220126 |
|
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: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7050042 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |