JP5046836B2 - 不正検知装置、プログラム、および記録媒体 - Google Patents

不正検知装置、プログラム、および記録媒体 Download PDF

Info

Publication number
JP5046836B2
JP5046836B2 JP2007258619A JP2007258619A JP5046836B2 JP 5046836 B2 JP5046836 B2 JP 5046836B2 JP 2007258619 A JP2007258619 A JP 2007258619A JP 2007258619 A JP2007258619 A JP 2007258619A JP 5046836 B2 JP5046836 B2 JP 5046836B2
Authority
JP
Japan
Prior art keywords
address
value
block
communication
fraud detection
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.)
Expired - Fee Related
Application number
JP2007258619A
Other languages
English (en)
Other versions
JP2009087208A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2007258619A priority Critical patent/JP5046836B2/ja
Publication of JP2009087208A publication Critical patent/JP2009087208A/ja
Application granted granted Critical
Publication of JP5046836B2 publication Critical patent/JP5046836B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータウィルスによる不正な通信を検知する不正検知装置に関する。また、本発明は、不正検知装置としてコンピュータを機能させるためのプログラム、およびそのプログラムを記録した記録媒体にも関する。
コンピュータウィルス(以下、ウィルスと記載)による攻撃がネットワーク上の各地で発生している。このような状況において、非特許文献1では、IPv4通信における受信側のIPアドレス(Destination IP)を分析してウィルスを分類する方法が記載されている。IPv4プロトコルでは、IPアドレスは例えば192.168.0.1(32ビット)と表現され、8ビットずつの4ブロックのアドレス値で構成される。そこで、非特許文献1では、ウィルスによる通信に係るDestination IPを4ブロックに分割し、それぞれのブロック毎にアドレス値の出現種類数を数値化している。この操作をウィルス毎に実施し、さらにウィルス間のアドレス種類数の類似性を分析することによって、ウィルスを分類している。
仲小路博史、寺田真敏、州崎誠一、"ワームのノード探索特性の定量化に関する提案"、情報処理学会、第38回CSEC研究会、情処研報、Vol. 2007, No. 71、2007年7月
しかし、非特許文献1に記載された方法では、個々のウィルスの通信パターンを分類することしかできず、様々な通信パターンから、ウィルスによる不正な通信を検知することはできなかった。
本発明は、上述した課題に鑑みてなされたものであって、コンピュータウィルスによる不正な通信を検知することができる不正検知装置、プログラム、および記録媒体を提供することを目的とする。
本発明は、上記の課題を解決するためになされたもので、コンピュータウィルスによる不正な通信に係る送受信の関係を示す第1のIPアドレスおよび第2のIPアドレスのを構成する各ブロックのアドレス値と、分析対象の通信に係る送受信の関係を示す第3のIPアドレスおよび第4のIPアドレスを構成する各ブロックのアドレス値とを記憶する記憶手段と、前記第1のIPアドレスおよび前記第2のIPアドレスを構成する各ブロックについて、出現したアドレス値の分散度を示す第1の値を算出する第1の算出手段と、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックについて、出現したアドレス値の分散度を示す第2の値を算出する第2の算出手段と、前記不正な通信と前記分析対象の通信の類似度を判定し、当該類似度が高い場合に不正が発生したと判定する不正検知手段とを備えたことを特徴とする不正検知装置である。
また、本発明の不正検知装置は、前記第3のIPアドレスおよび前記第4のIPアドレスを構成するブロックのうち特定のブロックのアドレス値の出現頻度に基づいて、前記第1の記憶手段が記憶するアドレス値から一部を抽出する抽出手段をさらに備え、前記第2の算出手段は、前記抽出手段によって抽出された、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックのアドレス値について、前記第2の値を算出することを特徴とする。
また、本発明の不正検知装置は、各ブロックの前記第2の値に基づいて、注目ブロックを決定する決定手段と、前記注目ブロックのアドレス値の出現頻度に基づいて、前記第1の記憶手段が記憶するアドレス値から一部を抽出する抽出手段とを備え、前記第2の算出手段は、前記抽出手段によって抽出された、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックのアドレス値について、前記第2の値を再度算出することを特徴とする。
また、本発明の不正検知装置において、前記第1の値は、前記第1のIPアドレスおよび前記第2のIPアドレスを構成する各ブロックについてのアドレス値の出現頻度に基づいた第1のエントロピー値であり、前記第2の値は、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックについてのアドレス値の出現頻度に基づいた第2のエントロピー値であることを特徴とする。
また、本発明の不正検知装置において、前記第1の値は、前記第1のIPアドレスおよび前記第2のIPアドレスを構成する各ブロックについてのアドレス値の第1の出現種類数であり、前記第2の値は、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックについてのアドレス値の第2の出現種類数であることを特徴とする。
また、本発明の不正検知装置において、前記第2の値と前記コンピュータウィルスの識別情報とを関連付けて記憶する第2の記憶手段をさらに備えたことを特徴とする。
また、本発明の不正検知装置において、前記不正検知手段は、各ブロックについての前記第1の値および前記第2の値の相関分析により、相関度を示す相関値を算出し、当該相関値と所定値を比較し、当該相関値が所定値以上である場合に不正が発生したと判定することを特徴とする。
また、本発明は、上記の不正検知装置としてコンピュータを機能させるためのプログラムである。
また、本発明は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、コンピュータウィルスによる通信に係るIPアドレスの各ブロックのアドレス値の分散度を示す第1の値と、分析対象の通信に係るIPアドレスの各ブロックのアドレス値の分散度を示す第2の値とに基づいて、不正な通信と分析対象の通信の類似度を判定し、類似度が高い場合に不正が発生したと判定することによって、コンピュータウィルスによる不正な通信を検知することができるという効果が得られる。
以下、図面を参照し、本発明の実施形態を説明する。図1は、本発明の一実施形態による不正検知装置の構成を示している。図1に示す各部の機能は以下の通りである。
不正通信データ記憶部101は、既知のウィルスに感染していることが確認されているコンピュータを少なくとも含む1または複数のコンピュータが行った通信を監視して取得した通信データ(不正通信データ)を記憶する。本実施形態の通信データは、ネットワーク上で実行された通信の特徴を示すデータであり、時刻(Start Time,End Time)、通信プロトコル(ICMP,TCP,UDP)、送受信関係を示すIPアドレスの組合せ(Source IP,Destination IP)、およびPort番号(送信側・受信側のTCP Port,UDP Port)の各データを含んでいる。
IPアドレスに関して、本実施形態ではIPv4アドレスを用いて説明を行うが、IPv6アドレスについても同様である。以下では、IPv4アドレスをA.B.C.Dとしたときに、アドレス値Aを有するブロックを第1ブロック(最上位ブロック)、アドレス値Bを有するブロックを第2ブロック、アドレス値Cを有するブロックを第3ブロック、アドレス値Dを有するブロックを第4ブロック(最下位ブロック)と表現する。
また、通信の種類には、ICMPやUDP等のステートレス通信と、TCP等のステートフル通信とがある。ステートフル通信であるTCPでは、2地点間で複数のパケットのやり取りが行われるが、それらのパケットの個々に注目して、個々のパケットから個別に通信データを生成することによって、ICMP,UDP,TCPの全てについて、ステートレスな通信パターンを得ることが可能となる。また、ステートフル通信の場合に、第1のIPアドレスから第2のIPアドレスへのパケットと、第2のIPアドレスから第1のIPアドレスへのパケットとの2種類のパケットが観測されるが、第1のIPアドレスと第2のIPアドレスの一方を本実施形態のSource IPに固定し、他方を本実施形態のDestination IPに固定してもよい。
データ抽出部102は、不正通信データ記憶部101が記憶している不正通信データから、所定の条件に従って一部の不正通信データを抽出する。情報エントロピー値算出部103は、データ抽出部102によって抽出された不正通信データに含まれるSource IPとDestination IPを構成する8つの各ブロックについて、出現したアドレス値の分散度を示す情報エントロピー値を算出する。情報エントロピー値記憶部104は、情報エントロピー値算出部103によって算出された情報エントロピー値を記憶する。
通信データ記憶部105は、ウィルスによる不正な通信と類似する通信であるか否かを分析する対象となる通信に係る通信データを記憶する。データ抽出部106は、通信データ記憶部105が記憶している通信データから、所定の条件に従って一部の通信データを抽出する。情報エントロピー値算出部107は、データ抽出部106によって抽出された通信データに含まれるSource IPとDestination IPを構成する8つの各ブロックについて、出現したアドレス値の分散度を示す情報エントロピー値を算出する。情報エントロピー値記憶部108は、情報エントロピー値算出部107によって算出された情報エントロピー値を記憶する。
不正検知部109は、情報エントロピー値記憶部104に格納された各ブロックの情報エントロピー値と、情報エントロピー値記憶部108に格納された各ブロックの情報エントロピー値とに基づいて、分析対象の通信が、ウィルスによる不正な通信と類似するか否かを判定することによって、不正な通信を検知する。表示部110は各種情報を表示する。操作部111は、ユーザが操作可能なキー、ボタン、スイッチ、マウス等を有しており、ユーザからの各種情報の入力を受け付ける。制御部112は、不正検知装置内の各部を制御する。
本実施形態では、不正通信データ記憶部101、通信データ記憶部105、情報エントロピー値記憶部104、情報エントロピー値記憶部108の8つの記憶部が設けられているが、これらを適宜、統合または分割してもよい。
(第1の動作例)
次に、本実施形態による不正検知装置の動作を説明する。まず、第1の動作例を説明する。図2は、不正通信データに関する処理の手順を示している。不正通信データに関する処理が開始されると、通信プロトコルの選択が行われる(ステップS100)。多くの攻撃に関わる通信は、ICMP、TCP、UDP、またはそれら以外の単独の通信プロトコルを用いて行われる場合が多い。そこで、不正通信データが有する通信パターンの数値化を行うにあたり、これらの通信プロトコルを区別して通信パターンの数値化を行う。ただし、攻撃によってはICMPとUDP、またはICMPとTCP等、複数の通信プロトコルが組み合わされて攻撃が行われる場合もあるので、各通信プロトコルを区別しないで通信パターンの数値化を行う場合もある。
ステップS100では、ユーザによる通信プロトコルの選択の結果を示す信号が操作部111から制御部112へ出力される。制御部112は、その信号に基づいて通信プロトコルの選択結果を認識し、その選択結果をデータ抽出部102に通知する。あるいは、過去の選択結果を所定の記憶部に格納するようにしておき、ステップS100では制御部112が過去の選択結果を所定の記憶部から読み出し、その選択結果をデータ抽出部102に通知してもよい。
ステップS100に続いて、Destination Portの選択が行われる(ステップS101)。ウィルスは、特定のPortに攻撃を行うことが多いので、Destination Portを選択することによって、特定のウィルスを検出しやすくなる。ステップS101では、ステップS100と同様にして、Destination Portの選択結果が制御部112からデータ抽出部102に通知される。
ステップS101に続いて、データ抽出部102は、制御部112から通知された選択結果を条件にして、不正通信データ記憶部101が記憶している不正通信データの中から一部の不正通信データを抽出し、情報エントロピー値算出部103へ出力する。すなわち、データ抽出部102は、選択結果が示す通信プロトコルおよびDestination Portをデータ中に有する不正通信データを抽出し、情報エントロピー値算出部103へ出力する(ステップS102)。
ステップS102に続いて、情報エントロピー値算出部103は、不正通信データに含まれるSource IPを構成する4つのブロックと、Destination IPを構成する4つのブロックとの8つのブロックそれぞれについて、出現したアドレス値に関する情報エントロピー値を算出する(ステップS103)。具体的には、情報エントロピー値算出部103は以下のようにして情報エントロピー値を算出する。
まず、情報エントロピー値算出部103は、8つのブロックそれぞれについて、アドレス値の出現頻度を算出する。図3は、各ブロックのアドレス値の出現頻度の算出に用いるテーブルの内容を示している。図3に示すテーブル300は、通信A(Source IP:192.168.0.20、Destination IP:192.26.48.201)に係るデータを管理するためのテーブルであり、テーブル310は、通信B(Source IP:31.41.128.110、Destination IP:211.225.190.22)に係るデータを管理するためのテーブルである。以下、テーブル300を例としてテーブルの構造を説明する。
テーブル300は、隣接するブロックのアドレス値の対応関係と頻度を示す部分テーブル301〜306、Source IP307、およびDestination IP308で構成される。部分テーブル301は、Source IPの第1ブロックおよび第2ブロックのアドレス値と頻度を関連付けたものである。部分テーブル302は、Source IPの第2ブロックおよび第3ブロックのアドレス値と頻度を関連付けたものである。部分テーブル303は、Source IPの第3ブロックおよび第4ブロックのアドレス値と頻度を関連付けたものである。部分テーブル304,305,306は、Destination IPについての同様の部分テーブルである。
本実施形態では、複数の通信に係る通信データを扱うため、図3に示したテーブルを統合した、図4に示すテーブルを用いる。図4に示すテーブル400では、第3ブロックおよび第4ブロックのアドレス値と頻度の関係を示す部分テーブルが複数個ある。Source IPおよびDestination IPが複数個あるため、テーブル400のSource IP410およびDestination IP420には複数のIPアドレスが格納される。
以下、1つの通信データ(Source IP:192.168.0.64、Destination IP:192.26.48.156)を処理対象とした例を用いて、情報エントロピー値算出部103の処理内容を説明する。情報エントロピー値算出部103は、Source IPの第1ブロックのアドレス値とテーブル400のSource IP410の第1ブロックのアドレス値(あるいは部分テーブル430の第1ブロックのアドレス値)を比較すると共に、通信データに含まれるDestination IPの第1ブロックのアドレス値とテーブル400のDestination IP420の第1ブロックのアドレス値(あるいは部分テーブル460の第1ブロックのアドレス値)を比較する。
共にアドレス値が一致するので、情報エントロピー値算出部103は、処理対象の通信データに対応したテーブルがテーブル400であると認識する。もし、いずれかのアドレス値が一致しなかった場合には、他のテーブルについて同様の処理を行うことになる。また、全てのテーブルについて同様の処理を行っても、アドレス値が一致するテーブルが存在しなかった場合には、新たなテーブルの作成が必要となる。
続いて、情報エントロピー値算出部103はSource IPの第1ブロックおよび第2ブロックのアドレス値の組合せと、部分テーブル430の第1ブロックおよび第2ブロックのアドレス値の組合せとを比較する。両者が一致するので、情報エントロピー値算出部103は部分テーブル430の頻度に1を加算する。もし、両者が一致しなかった場合には、新たな部分テーブルの追加が必要となる。
続いて、情報エントロピー値算出部103は同様にSource IPの第2ブロックおよび第3ブロックのアドレス値の組合せと、部分テーブル440の第2ブロックおよび第3ブロックのアドレス値の組合せとを比較する。両者が一致するので、情報エントロピー値算出部103は部分テーブル440の頻度に1を加算する。
続いて、情報エントロピー値算出部103はSource IPの第3ブロックおよび第4ブロックのアドレス値の組合せと、第3ブロックおよび第4ブロックに関する部分テーブル450の第3ブロックおよび第4ブロックのアドレス値の組合せとを比較する。第3ブロックおよび第4ブロックに関する部分テーブル450が複数個あるため、情報エントロピー値算出部103は各部分テーブルについて比較処理を実行する。その結果、情報エントロピー値算出部103は部分テーブル451の頻度に1を加算する。これ以降、同様にして部分テーブル460,470,481の頻度に1が加算される。
上記のようにして、8つのブロックそれぞれについて、アドレス値の出現頻度を算出した後、情報エントロピー値算出部103は各ブロックの情報エントロピー値を算出する。情報エントロピー値の算出には以下の(1)式を用いる。
Figure 0005046836
上記の(1)式において、pはアドレス値iの出現確率を示す。各ブロックにおいて、アドレス値は0〜255の整数値をとりうるので、pは0の出現確率、pは1の出現確率、・・・、p255は255の出現確率となる。あるブロックでアドレス値が1種類の値に集中して出現した場合には、情報エントロピー値Hは0となり、反対にアドレス値が多種類の値に分散して出現した場合には、情報エントロピー値Hは0を超えた大きな値となる。
図5は各ブロックの情報エントロピー値の一例を示している。Source IPの4つのブロック(A,B,C,D)の情報エントロピー値が図5の左側に示され、Destination IPの4つのブロック(A,B,C,D)の情報エントロピー値が図5の右側に示されている。Source IPのブロックA,B,CやDestination IPのブロックA,B,Cの情報エントロピー値は小さな値となっており、これらのブロックでは特定のアドレス値の出現頻度が比較的高いことが分かる。一方、Source IPのブロックDやDestination IPのブロックDの情報エントロピー値は大きな値となっており、これらのブロックではアドレス値が比較的分散していることが分かる。
以上がステップS103における処理の内容である。ステップS103に続いて、情報エントロピー値算出部103は、ステップS103で算出した各ブロックの情報エントロピー値を情報エントロピー値記憶部104に格納する(ステップS104)。この際に、予めウィルスの名称等が分かっている場合には、ウィルスを識別するウィルス名等の情報と情報エントロピー値とが関連付けられて、情報エントロピー値記憶部104に格納される。
以上の処理によって、不正通信データに関する処理が終了する。ウィルス毎に異なる不正通信データを用いた上記の処理を繰り返し行うことによって、各ウィルスに関する情報エントロピー値を算出することが可能である。
次に、分析対象の通信に係る通信データに関する処理の内容を説明する。図6は、分析対象の通信に係る通信データに関する処理の手順を示している。通信データに関する処理が開始されると、通信プロトコルの選択が行われる(ステップS200)。ステップS200の処理は図2のステップS100の処理と同様であり、制御部112は通信プロトコルの選択結果をデータ抽出部106に通知する。ステップS200に続いて、Destination Portの選択が行われる(ステップS201)。ステップS201の処理は図2のステップS101の処理と同様であり、制御部112はDestination Portの選択結果をデータ抽出部106に通知する。
ステップS201に続いて、データ抽出部106は、制御部112から通知された選択結果を条件にして、通信データ記憶部105が記憶している通信データの中から一部の通信データを抽出し、情報エントロピー値算出部107へ出力する。すなわち、データ抽出部106は、選択結果が示す通信プロトコルおよびDestination Portをデータ中に有する通信データを抽出し、情報エントロピー値算出部107へ出力する(ステップS202)。
分析対象の通信に係る通信データは、過去の終了済みの通信に係る通信データであってもよいし、現在監視している継続中の通信に係る通信データであってもよい。いずれにしても、通信データは一旦通信データ記憶部105に格納され、適宜、データ抽出部106によって読み出される。
ステップS202に続いて、情報エントロピー値算出部107は、通信データに含まれるSource IPを構成する4つのブロックと、Destination IPを構成する4つのブロックとの8つのブロックそれぞれについて、出現したアドレス値に関する情報エントロピー値を算出する(ステップS203)。ステップS203の処理は図2のステップS103の処理と同様である。ステップS203に続いて、情報エントロピー値算出部107は、ステップS203で算出した各ブロックの情報エントロピー値を情報エントロピー値記憶部108に格納する(ステップS204)。
ステップS204に続いて、不正検知部109は、情報エントロピー値記憶部104から不正な通信に係る情報エントロピー値を読み出すと共に、情報エントロピー値記憶部108から分析対象の通信に係る情報エントロピー値を読み出し、相関分析を行う(ステップS205)。このステップS205では、ウィルスによる不正な通信の通信パターンと、分析対象の通信の通信パターンとの相関性(類似性)を示す相関値を算出する処理が行われる。
具体的には、不正検知部109は以下のようにして相関分析を行う。不正検知部109は、不正な通信に係るIPアドレスの8つのブロックについての情報エントロピー値(x,x,・・・,x)と、分析対象の通信に係るIPアドレスの8つのブロックについての情報エントロピー値(y,y,・・・,y)とを用いて、以下の(2)〜(4)式により相関値rを算出する。
Figure 0005046836
,x,x,xはそれぞれ、不正な通信に係るSource IPの第1ブロック、第2ブロック、第3ブロック、第4ブロックの情報エントロピー値である。また、x,x,x,xはそれぞれ、不正な通信に係るDestination IPの第1ブロック、第2ブロック、第3ブロック、第4ブロックの情報エントロピー値である。同様に、y,y,y,yはそれぞれ、分析対象の通信に係るSource IPの第1ブロック、第2ブロック、第3ブロック、第4ブロックの情報エントロピー値である。また、y,y,y,yはそれぞれ、分析対象の通信に係るDestination IPの第1ブロック、第2ブロック、第3ブロック、第4ブロックの情報エントロピー値である。
(2)式は、相関値rを算出する式である。(3)式は、不正な通信に係るIPアドレスの8つのブロックについての情報エントロピー値の平均値を算出する式である。(4)式は、分析対象の通信に係るIPアドレスの8つのブロックについての情報エントロピー値の平均値を算出する式である。(2)式によって算出される相関値rは-1.0〜0.0〜+1.0の範囲内の数値となる。相関値rが+1.0に近づくほど類似度が高い。
以上がステップS205の処理の内容である。ステップS205に続いて、不正検知部109は、ステップS205で算出した相関値rと所定の閾値を比較し、比較結果に基づいて、分析対象の通信が不正な通信と類似するか否かを判定する(ステップS206)。例えば、閾値を0.9とし、相関値rが0.9以上の場合には、分析対象の通信が不正な通信と類似すると判定され、相関値rが0.9未満の場合には、分析対象の通信が不正な通信と類似しないと判定される。不正検知部109は判定結果を制御部112に通知する。
分析対象の通信が不正な通信と類似すると判定された場合には、制御部112は、アラーム(警報)を発生する処理、またはフィルタリングルール(攻撃の防御を目的としてルータ等のネットワーク機器に設定するもの)を自動的に生成する処理を行う(ステップS207)。アラームの発生は、音を発生することにより行ってもよいし、表示部110にメッセージ等を表示することにより行ってもよい。また、フィルタリングルールを生成する場合には、ウィルスによる攻撃のみを排除するようなフィルタリングルールを生成する。
以上の処理によって、分析対象の通信に係る通信データに関する処理が終了する。また、分析対象の通信が不正な通信と類似しないと判定された場合には、ステップS207の処理を行うことなく、分析対象の通信に係る通信データに関する処理が終了する。複数のウィルスによる不正な通信の通信パターンと分析対象の通信の通信パターンとの相関分析を行う場合には、ステップS205において、不正な通信に係る情報エントロピー値をウィルス毎に変更しながら相関分析を行い、ステップS206において、ウィルス毎に類似性を判定すればよい。
(第2の動作例)
次に、第2の動作例を説明する。第2の動作例では、分析対象の通信に係る通信データに関する処理において、ウィルスによる通信パターンと類似する通信パターンを見つけやすくするため、分析対象の通信に係る通信データの絞り込みを行う。不正通信データに関する処理は第1の動作例と同様である。以下、分析対象の通信に係る通信データに関する処理の内容を説明する。図7は、分析対象の通信に係る通信データに関する処理の手順を示している。
通信データに関する処理が開始された後のステップS300〜S302の処理は図6のステップS200〜S202の処理と同様である。ステップS302に続いて、情報エントロピー値算出部107は、通信データに含まれるSource IPおよびDestination IPを構成する8つのブロックのうちブロックi(iは1,2,・・・,8のいずれか)について、アドレス値の出現頻度を算出する(ステップS303)。アドレス値の出現頻度の算出方法は第1の動作例と同様である。
ステップS303におけるアドレス値の出現頻度の算出結果は情報エントロピー値算出部107から制御部112に通知される。制御部112は、ブロックiについての各アドレス値の出現頻度に基づいて、出現頻度が上位N件に入っているアドレス値をデータ抽出部106に通知する。データ抽出部106は、制御部112から通知されたアドレス値をブロックiのアドレス値として有するSource IPまたはDestination IPが含まれる通信データを、通信データ記憶部105が記憶している通信データの中から抽出し、情報エントロピー値算出部107へ出力する(ステップS304)。
ウィルスによる通信が行われると、検出された通信データでは特定のブロックのアドレス値が特定の値に集中する。そこで、そのようなアドレス値を有する通信データを分析対象とすることによって、ウィルスによる通信パターンと類似する通信パターンが見つけやすくなる。
ステップS304に続いて、情報エントロピー値算出部107は、データ抽出部106から出力された通信データに含まれるSource IPを構成する4つのブロックと、Destination IPを構成する4つのブロックとの8つのブロックそれぞれについて、出現したアドレス値に関する情報エントロピー値を算出する(ステップS305)。ステップS305の処理は図2のステップS103の処理と同様である。ステップS305に続いて、情報エントロピー値算出部107は、ステップS305で算出した各ブロックの情報エントロピー値を情報エントロピー値記憶部108に格納する(ステップS306)。
ステップS306に続いて、不正検知部109は、情報エントロピー値記憶部104から不正な通信に係る情報エントロピー値を読み出すと共に、情報エントロピー値記憶部108から分析対象の通信に係る情報エントロピー値を読み出し、相関分析を行う(ステップS307)。ステップS307の処理は図6のステップS205の処理と同様である。
ステップS307に続くステップS308〜S309の処理は図6のステップS206〜S207の処理と同様である。続いて、制御部112は、8つの全ブロックについてステップS303からの処理を行ったか否かを判定する。8つの全ブロックについてステップS303からの処理が既に行われた場合には、分析対象の通信に係る通信データに関する処理が終了する。また、ステップS303からの処理がまだ行われていないブロックが存在する場合には、ステップS303からの処理が再度行われる。
ただし、ステップS303では、アドレス値の出現頻度の算出をまだ行っていないブロックについてアドレス値の出現頻度の算出が行われる。また、ステップS303の実行回数がK回目(2≦K≦8)の場合、K−1回目のステップS304で抽出された通信データをK回目におけるステップS303の処理対象としてもよいし、通信データ記憶部105に格納されている全ての通信データを再度処理対象としてもよい。
(第3の動作例)
次に、第3の動作例を説明する。第3の動作例でも第2の動作例と同様に、分析対象の通信に係る通信データに関する処理において、ウィルスによる通信パターンと類似する通信パターンを見つけやすくするため、分析対象の通信に係る通信データの絞り込みを行う。不正通信データに関する処理は第1の動作例と同様である。以下、分析対象の通信に係る通信データに関する処理の内容を説明する。図8は、分析対象の通信に係る通信データに関する処理の手順を示している。
通信データに関する処理が開始された後のステップS400〜S403の処理は図6のステップS200〜S203の処理と同様である。ステップS403に続いて、情報エントロピー値算出部107は、通信データに含まれるSource IPおよびDestination IPを構成する8つのブロックそれぞれについての情報エントロピー値を比較し、最小の情報エントロピー値が算出されたブロックj(jは1,2,・・・,8のいずれか)を決定する。さらに、情報エントロピー値算出部107は、ブロックj(注目ブロック)について、アドレス値の出現頻度を算出する(ステップS404)。アドレス値の出現頻度の算出方法は第1の動作例と同様である。
ステップS404におけるアドレス値の出現頻度の算出結果は情報エントロピー値算出部107から制御部112に通知される。制御部112は、ブロックjについての各アドレス値の出現頻度に基づいて、出現頻度が上位N件に入っているアドレス値をデータ抽出部106に通知する。データ抽出部106は、制御部112から通知されたアドレス値をブロックjのアドレス値として有するSource IPまたはDestination IPが含まれる通信データを、通信データ記憶部105が記憶している通信データの中から抽出し、情報エントロピー値算出部107へ出力する(ステップS405)。
ウィルスによる通信が行われると、検出された通信データでは特定のブロックのアドレス値が特定の値に集中し、そのブロックについての情報エントロピー値が小さくなる。そこで、そのようなアドレス値を有する通信データを分析対象とすることによって、ウィルスによる通信パターンと類似する通信パターンが見つけやすくなる。
ステップS405に続くステップS406〜S410の処理は図7のステップS305〜S309の処理と同様である。続いて、制御部112は、ステップS403からの処理の実行回数(ループ回数)が規定回数に達したか否かを判定する(ステップS411)。ステップS403からの処理の実行回数が既に規定回数に達した場合には、分析対象の通信に係る通信データに関する処理が終了する。また、ステップS403からの処理の実行回数がまだ規定回数に到達していない場合には、ステップS403からの処理が再度行われる。
ただし、ステップS404で情報エントロピー値の比較を行う際には、以前の同じステップS404で情報エントロピー値が最小であると判定されたブロックの情報エントロピー値は比較対象から除外される。また、ステップS403の実行回数がK回目(2≦K≦8)の場合、K−1回目のステップS404で抽出された通信データをK回目のステップS403における処理対象としてもよいし、通信データ記憶部105に格納されている全ての通信データを再度処理対象としてもよい。
(変形例)
次に、本実施形態の変形例を説明する。上記ではIPアドレスを構成する各ブロックについて、出現したアドレス値の分散度を示す値として情報エントロピー値を算出しているが、情報エントロピー値の代わりにアドレス値の出現種類数を算出してもよい。アドレス値の出現種類数を用いる場合の処理は、上記の第1〜第3の動作例の説明における情報エントロピー値を全てアドレス値の出現種類数に置き換えた処理となる。
図9は各ブロックのアドレス値の出現種類数の一例を示している。Source IPの4つのブロック(A,B,C,D)のアドレス値の出現種類数が図9の左側に示され、Destination IPの4つのブロック(A,B,C,D)のアドレス値の出現種類数が図9の右側に示されている。Source IPのブロックA,B,CやDestination IPのブロックA,B,Cのアドレス値の出現種類数は小さな値となっており、これらのブロックではアドレス値が特定の値に比較的集中していることが分かる。一方、Source IPのブロックDやDestination IPのブロックDのアドレス種類数は大きな値となっており、これらのブロックではアドレス値が多数の値に比較的分散していることが分かる。
上述したように、本実施形態によれば、ウィルスによる通信に係るIPアドレスの各ブロックの情報エントロピー値(またはアドレス値の出現種類数)と、分析対象の通信に係るIPアドレスの各ブロックの情報エントロピー値(またはアドレス値の出現種類数)とに基づいて、不正な通信と分析対象の通信の類似度を判定し、類似度が高い場合に不正が発生したと判定することによって、ウィルスによる不正な通信を検知することができる。特に、ウィルスによる通信では、IPアドレスを構成するブロックのアドレス値を単位として通信の偏りが生じやすいので、本実施形態は、ウィルスによる不正な通信の検知に適している。
また、第2および第3の動作例では、分析対象の通信に係る通信データに関する処理において、所定の条件を満たすアドレス値を有する通信データを分析対象とすることによって、第1の動作例と比較して、ウィルスによる不正な通信を検知しやすくすることができる。
また、前述した非特許文献1では、アドレスの種類数にしか注目しておらず、攻撃に見られる重要な特徴の1つである通信密度(頻度)の数値化は実現されていない。これに対して本実施形態では、アドレス値の出現頻度に基づいた情報エントロピー値を算出することによって、通信密度の数値化が実現されている。
また、非特許文献1では、Destination IPのみが分析対象となっているため、多地点のSource IPから1地点のDestination IPへ通信が行われるDDos(Distributed Denial of Service)攻撃を扱うことができない。これに対して本実施形態では、Source IPとDestination IPの組合せを分析対象とすることによって、DDos攻撃による不正な通信も検知することができる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、上述した実施形態による不正検知装置の動作および機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行させてもよい。
ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明の一実施形態による不正検知装置の構成を示すブロック図である。 本発明の一実施形態による不正検知装置の動作の手順を示すフローチャート(第1の動作例)である。 本発明の一実施形態において、情報エントロピー値算出部が処理に用いるテーブルの内容を示す参考図である。 本発明の一実施形態による不正検知装置が備える情報エントロピー値算出部が処理に用いるテーブルの内容を示す参考図である。 本発明の一実施形態において、各ブロックの情報エントロピー値を示す参考図である。 本発明の一実施形態による不正検知装置の動作の手順を示すフローチャート(第1の動作例)である。 本発明の一実施形態による不正検知装置の動作の手順を示すフローチャート(第2の動作例)である。 本発明の一実施形態による不正検知装置の動作の手順を示すフローチャート(第3の動作例)である。 本発明の一実施形態において、各ブロックのアドレス値の出現種類数を示す参考図である。
符号の説明
101・・・不正通信データ記憶部(第1の記憶手段)、102,106・・・データ抽出部(抽出手段)、103,107・・・情報エントロピー値算出部(第1の算出手段、第2の算出手段)、104,108・・・情報エントロピー値記憶部(第2の記憶手段)、105・・・通信データ記憶部(第1の記憶手段)、109・・・不正検知部(不正検知手段)、110・・・表示部、111・・・操作部、112・・・制御部(決定手段)

Claims (9)

  1. コンピュータウィルスによる不正な通信に係る送受信の関係を示す第1のIPアドレスおよび第2のIPアドレスを構成する各ブロックのアドレス値と、分析対象の通信に係る送受信の関係を示す第3のIPアドレスおよび第4のIPアドレスを構成する各ブロックのアドレス値とを記憶する第1の記憶手段と、
    前記第1のIPアドレスおよび前記第2のIPアドレスを構成する各ブロックについて、出現したアドレス値の分散度を示す第1の値を算出する第1の算出手段と、
    前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックについて、出現したアドレス値の分散度を示す第2の値を算出する第2の算出手段と、
    各ブロックの前記第1の値および前記第2の値に基づいて、前記不正な通信と前記分析対象の通信の類似度を判定し、当該類似度が高い場合に不正が発生したと判定する不正検知手段と、
    を備えたことを特徴とする不正検知装置。
  2. 前記第3のIPアドレスおよび前記第4のIPアドレスを構成するブロックのうち特定のブロックのアドレス値の出現頻度に基づいて、前記第1の記憶手段が記憶するアドレス値から一部を抽出する抽出手段をさらに備え、
    前記第2の算出手段は、前記抽出手段によって抽出された、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックのアドレス値について、前記第2の値を算出する
    ことを特徴とする請求項1に記載の不正検知装置。
  3. 各ブロックの前記第2の値に基づいて、注目ブロックを決定する決定手段と、
    前記注目ブロックのアドレス値の出現頻度に基づいて、前記第1の記憶手段が記憶するアドレス値から一部を抽出する抽出手段とを備え、
    前記第2の算出手段は、前記抽出手段によって抽出された、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックのアドレス値について、前記第2の値を再度算出する
    ことを特徴とする請求項1に記載の不正検知装置。
  4. 前記第1の値は、前記第1のIPアドレスおよび前記第2のIPアドレスを構成する各ブロックについてのアドレス値の出現頻度に基づいた第1のエントロピー値であり、前記第2の値は、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックについてのアドレス値の出現頻度に基づいた第2のエントロピー値であることを特徴とする請求項1〜請求項3のいずれかに記載の不正検知装置。
  5. 前記第1の値は、前記第1のIPアドレスおよび前記第2のIPアドレスを構成する各ブロックについてのアドレス値の第1の出現種類数であり、前記第2の値は、前記第3のIPアドレスおよび前記第4のIPアドレスを構成する各ブロックについてのアドレス値の第2の出現種類数であることを特徴とする請求項1〜請求項4のいずれかに記載の不正検知装置。
  6. 前記第の値と前記コンピュータウィルスの識別情報とを関連付けて記憶する第2の記憶手段をさらに備えたことを特徴とする請求項1〜請求項5のいずれかに記載の不正検知装置。
  7. 前記不正検知手段は、各ブロックについての前記第1の値および前記第2の値の相関分析により、相関度を示す相関値を算出し、当該相関値と所定値を比較し、当該相関値が所定値以上である場合に不正が発生したと判定することを特徴とする請求項1〜請求項6のいずれかに記載の不正検知装置。
  8. 請求項1〜請求項7のいずれかに記載の不正検知装置としてコンピュータを機能させるためのプログラム。
  9. 請求項8に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2007258619A 2007-10-02 2007-10-02 不正検知装置、プログラム、および記録媒体 Expired - Fee Related JP5046836B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007258619A JP5046836B2 (ja) 2007-10-02 2007-10-02 不正検知装置、プログラム、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007258619A JP5046836B2 (ja) 2007-10-02 2007-10-02 不正検知装置、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JP2009087208A JP2009087208A (ja) 2009-04-23
JP5046836B2 true JP5046836B2 (ja) 2012-10-10

Family

ID=40660523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007258619A Expired - Fee Related JP5046836B2 (ja) 2007-10-02 2007-10-02 不正検知装置、プログラム、および記録媒体

Country Status (1)

Country Link
JP (1) JP5046836B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4825767B2 (ja) * 2007-10-02 2011-11-30 Kddi株式会社 異常検知装置、プログラム、および記録媒体
US9122877B2 (en) 2011-03-21 2015-09-01 Mcafee, Inc. System and method for malware and network reputation correlation
US9106680B2 (en) * 2011-06-27 2015-08-11 Mcafee, Inc. System and method for protocol fingerprinting and reputation correlation
US8931043B2 (en) 2012-04-10 2015-01-06 Mcafee Inc. System and method for determining and using local reputations of users and hosts to protect information in a network environment
US10491616B2 (en) * 2017-02-13 2019-11-26 Microsoft Technology Licensing, Llc Multi-signal analysis for compromised scope identification

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006077666A1 (ja) * 2004-12-28 2006-07-27 Kyoto University 観測データ表示装置、観測データ表示方法、観測データ表示プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
JP4655028B2 (ja) * 2006-11-20 2011-03-23 セイコーエプソン株式会社 ワームの感染防止システム

Also Published As

Publication number Publication date
JP2009087208A (ja) 2009-04-23

Similar Documents

Publication Publication Date Title
US10721244B2 (en) Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
JP5050781B2 (ja) マルウエア検出装置、監視装置、マルウエア検出プログラム、およびマルウエア検出方法
US8516573B1 (en) Method and apparatus for port scan detection in a network
TWI674777B (zh) 異常流量偵測裝置及其異常流量偵測方法
US20060161986A1 (en) Method and apparatus for content classification
JP2015076863A (ja) ログ分析装置、方法およびプログラム
JP6306739B2 (ja) 悪性通信パターン抽出装置、悪性通信パターン抽出方法、および、悪性通信パターン抽出プログラム
JP5046836B2 (ja) 不正検知装置、プログラム、および記録媒体
JP6174520B2 (ja) 悪性通信パターン検知装置、悪性通信パターン検知方法、および、悪性通信パターン検知プログラム
JP5345492B2 (ja) Dnsトラフィックデータを利用したボット感染者検知方法
US20100251364A1 (en) Method and apparatus for classifying harmful packet
JP2008176753A (ja) データ類似性検査方法及び装置
JP4823813B2 (ja) 異常検知装置、異常検知プログラム、および記録媒体
JP5286018B2 (ja) 情報処理装置、プログラム、および記録媒体
JP4825767B2 (ja) 異常検知装置、プログラム、および記録媒体
Wang et al. Alert correlation system with automatic extraction of attack strategies by using dynamic feature weights
EP3242240B1 (en) Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program
JP4161989B2 (ja) ネットワーク監視システム
JP6592196B2 (ja) 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム
Yilmaz et al. Early detection of botnet activities using grammatical evolution
CN114760216B (zh) 一种扫描探测事件确定方法、装置及电子设备
JP2007165990A (ja) Ipアドレス変換方法及び情報処理装置
KR100772177B1 (ko) 보안 기능 시험을 위한 침입 탐지 이벤트 생성 방법 및장치
Raheja et al. Rule‐Based Approach for Botnet Behavior Analysis
CN108347447B (zh) 基于周期性通讯行为分析的p2p僵尸网络检测方法、系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120316

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5046836

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees