[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4992780B2 - 通信監視装置、通信監視プログラム、および通信監視方法 - Google Patents

通信監視装置、通信監視プログラム、および通信監視方法 Download PDF

Info

Publication number
JP4992780B2
JP4992780B2 JP2008074344A JP2008074344A JP4992780B2 JP 4992780 B2 JP4992780 B2 JP 4992780B2 JP 2008074344 A JP2008074344 A JP 2008074344A JP 2008074344 A JP2008074344 A JP 2008074344A JP 4992780 B2 JP4992780 B2 JP 4992780B2
Authority
JP
Japan
Prior art keywords
session
communication
signature
illegal
unit
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
JP2008074344A
Other languages
English (en)
Other versions
JP2009232111A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008074344A priority Critical patent/JP4992780B2/ja
Publication of JP2009232111A publication Critical patent/JP2009232111A/ja
Application granted granted Critical
Publication of JP4992780B2 publication Critical patent/JP4992780B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信監視装置、通信監視プログラム、および通信監視方法に関し、特に、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる通信監視装置、通信監視プログラム、および通信監視方法に関する。
従来、インターネットなどのネットワークを介したサーバとクライアントの間の通信においては、例えば正当なアクセス権がない不正なクライアントによるサーバへのアクセスなどの不正な通信を防止することが重要となっている。具体的には、例えば企業などの組織内のLAN(Local Area Network)とインターネットなどの外部ネットワークとの境界にファイアウォールが設けられ、外部とLANの通信を制限するなどの対策が一般的である。
ところで、インターネットを介したサーバとクライアント間のデータの送受信には、HTTP(Hyper Text Transfer Protocol)と呼ばれるプロトコルが用いられることがある。HTTPは、主にクライアントがウェブサーバからウェブページのデータを取得する際などに用いられる。HTTPとして伝送されるデータは、個別に設定されなければ、上述したファイアウォールによっても遮断されることがなく、サーバとクライアント間で自由に送受信される。したがって、悪意があるユーザが不正な伝送路を確立するための制御データをHTTPとして送信することにより、サーバとクライアント間で不正な通信のための伝送路が容易に確立され、不正な通信が行われる危険性がある。このように、遮断されることがないプロトコル(例えばHTTP)を利用した不正な通信のための伝送路の確立は、一般にトンネリングと呼ばれる。
このようなトンネリングを防止するためには、例えば特許文献1および特許文献2などに開示された技術を用いることができる。すなわち、トンネリングの際には、不正な伝送路を確立するための制御データは特定のパターンを含んでいることから、このデータパターンをシグネチャとしてあらかじめ記憶しておき、記憶されたシグネチャと実際に送受信されるパケットとを照合することにより、パケットがトンネリングに利用されているか否かを判断することが可能となる。換言すれば、送受信されるパケットにシグネチャが含まれている場合には、トンネリングが行われていると判断することができる。
特開2003−218949号公報 特開2004−140618号公報
しかしながら、一般に、トンネリングなどの不正な通信の具体的な手法は明らかではないため、あらかじめ記憶されたシグネチャとパケットとの照合では、すべての不正な通信を確実に検出しきれないという問題がある。具体的には、不正な通信をするユーザは、常に同じ手法でトンネリングなどを実行するわけではないため、手法の変化に応じてシグネチャも変化すると考えられる。したがって、現在記憶されているシグネチャとの照合によって、将来も不正な通信を検出することができる保証はない。
その一方で、不正な通信の制御データに含まれると疑われるあらゆるデータパターンをシグネチャとして記憶すれば、過剰に不正な通信が検出されることになり、正規の通信までが不正な通信と判定される虞がある。
本発明はかかる点に鑑みてなされたものであり、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる通信監視装置、通信監視プログラム、および通信監視方法を提供することを目的とする。
上記課題を解決するために、通信監視装置は、通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出手段と、前記セッション抽出手段によって抽出されたセッションが不正な通信を実行するものであるか否かを判定する不正判定手段と、前記不正判定手段によってセッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された複数のパケットに所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出する候補抽出手段と、前記候補抽出手段によって抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定する出現回数判定手段と、前記出現回数判定手段による判定の結果、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとして記憶する記憶手段とを有する構成を採る。
また、通信監視プログラムは、コンピュータによって実行される通信監視プログラムであって、前記コンピュータに、通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、前記セッション抽出ステップにて抽出されたセッションが不正な通信を実行するものであるか否かを判定する不正判定ステップと、前記不正判定ステップにてセッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された複数のパケットに所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出する候補抽出ステップと、前記候補抽出ステップにて抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定する出現回数判定ステップと、前記出現回数判定ステップにおける判定の結果、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとしてメモリに登録する登録ステップとを実行させるようにした。
また、通信監視方法は、通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、前記セッション抽出ステップにて抽出されたセッションが不正な通信を実行するものであるか否かを判定する不正判定ステップと、前記不正判定ステップにてセッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された複数のパケットに所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出する候補抽出ステップと、前記候補抽出ステップにて抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定する出現回数判定ステップと、前記出現回数判定ステップにおける判定の結果、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとしてメモリに登録する登録ステップとを有するようにした。
これらによれば、不正な通信を実行すると判定されたセッションから、繰り返し送受信された単位データによって構成される不正シグネチャ候補を抽出し、不正シグネチャ候補のうちセッション内での出現回数が多いものを不正シグネチャとして記憶する。このため、不正な通信を実行するセッションに特徴的な不正シグネチャを新たに生成して、常に最新の不正シグネチャを学習することができる。したがって、セッション内のパケットと不正シグネチャとの照合により、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる。
本明細書に開示された通信監視装置、通信監視プログラム、および通信監視方法によれば、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる。
本発明の骨子は、セッション内に繰り返し出現するデータパターンを抽出し、抽出されたデータパターンが1つ以上連続する部分を不正シグネチャの候補とした上で、候補の中から出現回数が閾値以上かつデータ長が最大のものを不正シグネチャとして登録することである。以下、本発明の一実施の形態について、図面を参照しながら詳細に説明する。
図1は、本発明の一実施の形態に係る通信システムの概略構成を示すブロック図である。同図に示す通信システムは、サーバ10、クライアント20、中継装置30、および通信監視装置100を有している。
サーバ10は、ネットワークNに接続されており、ネットワークNを介して複数のクライアント20との間でパケットを送受信する。また、複数のクライアント20は、中継装置30を介してネットワークNに接続されており、サーバ10との間でパケットを送受信する。中継装置30は、例えばルータ、スイッチ、またはファイアウォールなどを含み、サーバ10とクライアント20間で送受信されるパケットを中継する。
ここで、サーバ10およびクライアント20は、互いにアプリケーション層のメッセージを生成してデータを要求したり応答したりするが、このメッセージは、サイズが一定ではないため、このメッセージをTCP/IP(Transmission Control Protocol/Internet Protocol)層の所定サイズのパケットとして送受信している。すなわち、サーバ10およびクライアント20は、通信プロトコルの制御情報を含む制御データと制御情報によって制御する対象となる情報データとからなるメッセージを生成し、生成されたメッセージを1パケットに対応する所定サイズに分割して送信する。
したがって、本実施の形態においては、例えば図2に示す2通りのパケット構成のパケットがサーバ10とクライアント20間で送受信されている。すなわち、図2上段に示すように、メッセージを構成する制御データおよび情報データに、パケットの送信元アドレスや宛先アドレスなどを格納するTCP/IPヘッダが付加されているパケットと、図2下段に示すように、情報データのみにTCP/IPヘッダが付加されているパケットとの2通りのパケットが送受信される。これらのパケットのうち、図2上段に示す制御データを含むパケットは、1つのメッセージの先頭に配置される制御データを含むものであるため、以下においては、制御データを含むパケットを「先頭パケット」という。これに対して、図2下段に示す情報データのみを含むパケットは、同一のメッセージに含まれる制御データが既に先行するパケットによって送受信されている。
図1に戻って、通信監視装置100は、サーバ10とクライアント20間で送受信されるパケットを取得し、サーバ10とクライアント20間で確立されるそれぞれのセッションごとに不正なメッセージが送受信されているか否かを監視する。このとき、通信監視装置100は、セッション内に繰り返し出現するデータパターンから不正シグネチャを生成し、生成された不正シグネチャと各パケットの制御データとの照合により、不正な通信が行われているか否かを判定する。なお、通信監視装置100による通信の監視については、後に詳述する。
図3は、本実施の形態に係る通信監視装置100の要部構成を示すブロック図である。同図に示す通信監視装置100は、パケット受信部101、パケット蓄積部102、セッション抽出部103、先頭パケット数判定部104、不正シグネチャ記憶部105、不正シグネチャ照合部106、単位データ取得部107、データ数判定部108、トンネリング判定部109、監視結果出力部110、マーキング部111、候補抽出部112、出現回数カウント部113、およびデータ長比較部114を有している。
パケット受信部101は、サーバ10およびクライアント20の間で送受信されるすべてのパケットを受信する。パケット蓄積部102は、パケット受信部101によって受信されたパケットを蓄積する。なお、パケット蓄積部102は、後述する処理において不正な通信と判定されないセッションのパケットについては、宛先アドレスによって指定されるサーバ10またはクライアント20へ送信するものとしても良い。また、パケット蓄積部102は、パケット受信部101によって受信されたパケットの複製を蓄積し、元のパケットをサーバ10またはクライアント20へ送信するものとしても良い。
セッション抽出部103は、パケット蓄積部102によって蓄積されたパケットの中から、1つのセッションに相当するパケット群を抽出する。具体的には、セッション抽出部103は、パケット蓄積部102によって蓄積されたパケットの中から、セッション確立時に送受信されるSYNパケットとセッション切断時に送受信されるFINパケットとを検索して抽出するとともに、これらのSYNパケットおよびFINパケットの間に同一のサーバ10とクライアント20間で送受信されたパケットをすべて抽出する。また、セッション抽出部103は、セッションが強制終了される場合に送受信されるRSTパケットを検索したり、セッションのタイムアウトを検出したりすることも併せて実行し、セッションを抽出しても良い。
先頭パケット数判定部104は、セッション内の先頭パケット数が所定数以上であるか否かを判定する。すなわち、先頭パケット数判定部104は、制御データを含む先頭パケットがサーバ10とクライアント20間で送受信された回数が所定数以上であるか否かを判定することにより、所定数以上の制御データがサーバ10およびクライアント20によってやり取りされたか否かを判定する。そして、先頭パケット数判定部104は、先頭パケット数が所定数未満である場合は、セッションが不正な通信を実行するものであるか否かを判定するのに十分な量の制御データがセッション内で送受信されていないと判断し、処理を終了する。一方、先頭パケット数判定部104は、先頭パケット数が所定数以上である場合は、先頭パケットを不正シグネチャ照合部106へ出力する。
ここで、サーバ10およびクライアント20の一方から他方へ送信される先頭パケット数が、不正な通信と判定される場合の同一データパターンの出現回数以上でなければ、セッションが不正な通信と判定されることはあり得ない。したがって、同一のデータパターンの出現回数によってセッションが不正な通信であるか否かを判定するのは、先頭パケット数が同一データパターンの出現回数の閾値の2倍以上である場合のみで良い。そこで、先頭パケット数判定部104は、セッション内の先頭パケット数が後述するデータ数判定部108によってデータ数と比較される閾値の2倍以上であるか否かを判定する。同様の考え方により、先頭パケット数判定部104は、一方向の通信における先頭パケット数がデータ数判定部108によってデータ数と比較される閾値以上であるか否かを判定するようにしても良い。
なお、先頭パケット数判定部104は、先頭パケット数が所定数未満(すなわち、データ数判定部108によってデータ数と比較される閾値の2倍未満)であってもすべてのパケットを不正シグネチャ照合部106へ出力し、不正シグネチャとの照合のみは実行させるようにしても良い。
不正シグネチャ記憶部105は、トンネリングなどの不正な通信時に送受信されるパケットに頻繁に含まれるデータパターンを不正シグネチャとして記憶する。具体的には、不正シグネチャ記憶部105は、例えば図4に示すように、セッション内で繰り返し出現するデータパターンの先頭位置と先頭位置から数バイトのデータパターンからなるシグネチャとをそれぞれ含む不正シグネチャを記憶している。図4において、例えばIDが1の不正シグネチャは、制御データの先頭から3バイト目以降の5バイトのシグネチャが「FF、F0、72、A4、8D」となっていることを示している。
不正シグネチャ照合部106は、先頭パケット数判定部104から出力された先頭パケットと不正シグネチャ記憶部105によって記憶された不正シグネチャとを照合し、セッションが不正な通信であるか否かを判定する。そして、不正シグネチャ照合部106は、先頭パケットの制御データに不正シグネチャが含まれていれば、現在抽出されているセッションが不正な通信であることを監視結果出力部110へ通知する。
また、不正シグネチャ照合部106は、先頭パケットの制御データに不正シグネチャが含まれていなければ、先頭パケットを単位データ取得部107へ出力する。なお、上述したように、先頭パケット数判定部104によって先頭パケット数が所定数未満と判定された上ですべてのパケットが出力された場合には、不正シグネチャ照合部106は、不正シグネチャとの照合が完了した時点で先頭パケットを単位データ取得部107へ出力することなく処理を終了する。
単位データ取得部107は、不正シグネチャ照合部106から出力された先頭パケットを所定数バイトのデータに分割し、単位データを得る。具体的には、単位データ取得部107は、先頭位置を先頭パケットの先頭から1バイトずつずらしながら、所定数バイトのデータを取得する。そして、単位データ取得部107は、例えば図5に示すように、先頭位置と所定数バイト(図では3バイト)のデータとを組み合わせた単位データを取得する。
したがって、単位データ取得部107は、例えば先頭パケットの先頭の1バイトを先頭位置とし、先頭位置から1〜3バイト目のデータを先頭位置の「1」と組み合わせた単位データを取得する。同様に、単位データ取得部107は、例えば先頭パケットの先頭から2バイト目を先頭位置とし、先頭位置から1〜3バイト目(すなわち先頭パケットの先頭から2〜4バイト目)のデータを先頭位置の「2」と組み合わせた単位データを取得する。
データ数判定部108は、単位データ取得部107によって取得されたすべての単位データを比較し、同一の単位データをグループ化し、各グループにおける単位データ数が所定の閾値以上であるか否かを判定する。そして、データ数判定部108は、単位データ数が所定の閾値以上となるグループがある場合に、その旨をトンネリング判定部109へ通知する。すなわち、データ数判定部108は、セッション内の先頭パケットにおいて同一のデータパターンが繰り返し出現する場合に、その旨をトンネリング判定部109へ通知する。
また、データ数判定部108は、マーキング部111から要求があった場合に、単位データ数が所定の閾値以上となるグループの単位データ(以下「フラグデータ」という)をセッション内のすべての先頭パケットとともにマーキング部111へ出力する。
トンネリング判定部109は、セッション内の先頭パケットにフラグデータが存在する場合に、先頭パケットによって指定されるアクセス先に実際にアクセスし、アクセス先からページ情報を取得する。そして、トンネリング判定部109は、取得されたページ情報内にトンネリングを示唆する「VPN」、「Share」、または「Storage」などの文字列が含まれるか否かを判定する。これらの文字列がページ情報内に含まれる場合、トンネリング判定部109は、現在抽出されているセッションがトンネリングを実行するものであると判断し、その旨を監視結果出力部110およびマーキング部111へ通知する。
監視結果出力部110は、現在抽出されているセッションが不正な通信であることが不正シグネチャ照合部106から通知されたり、セッションがトンネリングを実行するものであることがトンネリング判定部109から通知されたりした場合に、その旨を監視結果として出力する。
マーキング部111は、現在抽出されているセッションがトンネリングを実行するものである場合、セッション内における出現回数が所定の閾値以上の単位データ(フラグデータ)およびセッション内のすべての先頭パケットをデータ数判定部108に対して要求する。そして、マーキング部111は、セッション内のすべての先頭パケットにおいて、フラグデータをマーキングする。
候補抽出部112は、マーキング部111によってマーキングされたフラグデータが1つ以上連続する部分のデータパターンを不正シグネチャ候補として抽出する。すなわち、候補抽出部112は、単位データのデータ長以上のサイズを有する不正シグネチャ候補を抽出する。例えば、候補抽出部112は、先頭位置が1バイト目である3バイトの単位データと先頭位置が2バイト目である3バイトの単位データとがフラグデータとして連続してマーキングされている場合には、それぞれの3バイトのフラグデータおよびマーキングされた4バイト全体のデータを不正シグネチャ候補として抽出する。
出現回数カウント部113は、候補抽出部112によって抽出されたそれぞれの不正シグネチャ候補のセッション内における出現回数をカウントする。このとき、出現回数カウント部113は、同一のフラグデータが複数の異なる不正シグネチャ候補に含まれる場合でも、それぞれの不正シグネチャ候補の出現回数を別々にカウントする。すなわち、例えば3バイトのフラグデータとこのフラグデータを含む4バイト以上のデータとが不正シグネチャ候補として抽出された場合、出現回数カウント部113は、3バイトのフラグデータを不正シグネチャ候補とした場合の出現回数と、4バイト以上のデータを不正シグネチャ候補とした場合の出現回数とをそれぞれカウントする。そして、出現回数カウント部113は、出現回数が所定の閾値以上の不正シグネチャ候補をデータ長比較部114へ出力する。
データ長比較部114は、出現回数カウント部113から出力された不正シグネチャ候補のデータ長を比較し、データ長が最も長い不正シグネチャ候補を不正シグネチャとして不正シグネチャ記憶部105に登録する。つまり、データ長比較部114は、セッション内での出現回数が所定の閾値以上かつデータ長が最長の不正シグネチャ候補を新たな不正シグネチャとして不正シグネチャ記憶部105に学習させる。
次いで、上記のように構成された通信監視装置100の動作について、具体的に例を挙げながら図6に示すフロー図を参照して説明する。
サーバ10およびクライアント20の間で送受信されるパケットは、常時通信監視装置100のパケット受信部101によって受信されており、パケット蓄積部102によって蓄積される。そして、セッション抽出部103によって、蓄積されたパケットの中から1つのセッションに相当するパケット群が抽出される(ステップS101)。すなわち、セッション抽出部103によって、セッション確立時に送受信されるSYNパケットとセッション切断時に送受信されるFINパケットとが検出され、SYNパケットの送受信時からFINパケットの送受信時までの間に送受信されたパケット群が1つのセッションのパケットとして抽出される。なお、上述したように、セッションの抽出に際しては、セッション抽出部103によって、RSTパケットが検索されたり、セッションのタイムアウトが検出されたりするようにしても良い。
そして、先頭パケット数判定部104によって、セッション内の先頭パケット数がデータ数判定部108において同一の単位データからなるグループの単位データ数と比較される閾値の2倍以上であるか否かが判定される(ステップS102)。この判定の結果、先頭パケット数が閾値の2倍未満であれば(ステップS102No)、不正な通信か否かを判定するのに十分な量の制御データがセッション内で送受信されていないことを意味するため、セッションが不正な通信を実行するものと判定されることなく処理が終了する。これにより、不正な通信か否かの判定が不要なセッションに関しては、判定以降の処理を省略することができ、処理負荷を低減することができる。
一方、先頭パケット数が閾値の2倍以上であれば(ステップS102Yes)、不正シグネチャ照合部106によって、先頭パケットに不正シグネチャ記憶部105によって記憶された不正シグネチャとの一致部分があるか否かが判定される(ステップS103)。この判定の結果、先頭パケットに不正シグネチャとの一致部分があれば(ステップS103Yes)、現在抽出されているセッションは不正な通信を実行するものであることを意味するため、その旨が監視結果出力部110へ通知され、セッションが不正な通信であることを示す監視結果が監視結果出力部110から出力される(ステップS113)。なお、先頭パケット数が閾値の2倍未満であっても、不正シグネチャ照合部106による先頭パケットと不正シグネチャとの照合が実行され、先頭パケットと不正シグネチャとの一致部分がある場合にはセッションが不正な通信を実行するものであることを示す監視結果が監視結果出力部110から出力されるようにしても良い。
また、先頭パケットに不正シグネチャとの一致部分がなければ(ステップS103No)、不正シグネチャとの照合ではセッションが不正な通信とは判定されなかったことになり、先頭パケットが単位データ取得部107へ出力される。そして、単位データ取得部107によって、セッション内の先頭パケットから単位データが取得される(ステップS104)。具体的には、単位データ取得部107によって、先頭位置が先頭パケットの先頭から1バイトずつずらされながら、先頭位置以降の所定数バイトのデータが取得され、取得されたデータと先頭位置とを含む単位データが取得される。単位データに含まれる先頭位置としては、先頭パケットの先頭から何バイト目の位置であるかを示す数値などで良い。
そして、データ数判定部108によって、同一の単位データがグループ化され、各グループに属する単位データ数が所定の閾値以上であるか否かが判定される(ステップS105)。この判定の結果、すべてのグループにおいて単位データ数が所定の閾値未満であれば(ステップS105No)、現在抽出されているセッションは不正な通信を実行するものではないと判断され、処理が終了する。一方、いずれかのグループにおいて単位データ数が所定の閾値以上であれば(ステップS105Yes)、現在抽出されているセッションが不正な通信を実行するものである可能性があるため、その旨がデータ数判定部108からトンネリング判定部109へ通知される。
そして、トンネリング判定部109によって、先頭パケットによって指定されるアクセス先へのアクセスが実行され、アクセス先から取得されるページ情報に基づいて、現在抽出されているセッションがトンネリングを実行するものであるか否かが判定される(ステップS106)。具体的には、トンネリング判定部109によって、アクセス先から取得されるページ情報内にトンリングを示唆する文字列が含まれるか否かが判定される。この判定の結果、ページ情報内にトンネリングを示唆する文字列が含まれていなければ、セッションはトンネリングを実行するものではないと判定され(ステップS106No)、処理が終了する。一方、ページ情報内にトンネリングを示唆する文字列が含まれていれば、セッションはトンネリングを実行するものであると判定され(ステップS106Yes)、その旨が監視結果出力部110およびマーキング部111へ通知される。
セッションがトンネリングを実行するものであることがマーキング部111へ通知されると、マーキング部111によって、単位データ数が所定の閾値以上となるグループに属する単位データ(フラグデータ)がセッション内のすべての先頭パケットとともにデータ数判定部108から取得される。そして、マーキング部111によって、先頭パケット上のフラグデータがマーキングされる(ステップS107)。具体的には、例えば図7に示すように、先頭パケットの3バイト目および4バイト目を先頭とした3バイトのフラグデータがパケット#1に存在すれば、図中斜線で示すように、これらのバイトがマーキングされる。同様に、パケット#2においては先頭パケットの8バイト目を先頭としたフラグデータがマーキングされ、パケット#3においては先頭パケットの3バイト目、4バイト目、および5バイト目を先頭としたフラグデータがマーキングされ、パケット#4においては先頭パケットの4バイト目および5バイト目を先頭としたフラグデータがマーキングされる。
そして、候補抽出部112によって、マーキングされたフラグデータが1つ以上連続する部分のデータパターンが不正シグネチャ候補として抽出される(ステップS108)。すなわち、図7に示した例では、パケット#1の3バイト目からの3バイト、4バイト目からの3バイト、および3バイト目からの4バイトがそれぞれ不正シグネチャ候補として抽出される。また、パケット#3に関しては、パケット#1と同様の3つの不正シグネチャ候補に加えて、5バイト目からの3バイト、4バイト目からの4バイト、および3バイト目からの5バイトが不正シグネチャ候補として抽出される。
セッション内のすべての先頭パケットから不正シグネチャ候補が抽出されると、出現回数カウント部113によって、各不正シグネチャ候補の出現回数がカウントされる(ステップS109)。具体的には、例えば図8に示すようにパケット#1〜#9において不正シグネチャ候補が出現している場合、それぞれの不正シグネチャ候補ごとの出現回数がカウントされる。図8においては、3バイト目を先頭とする3バイトのフラグデータに一致する不正シグネチャ候補(図中斜線で示す)は4回出現しており、4バイト目を先頭とする3バイトのフラグデータに一致する不正シグネチャ候補(図中縦線で示す)は5回出現しており、5バイト目を先頭とする3バイトのフラグデータに一致する不正シグネチャ候補(図中横線で示す)は4回出現しており、8バイト目を先頭とする3バイトのフラグデータに一致する不正シグネチャ候補(図中破線で示す)は1回出現している。また、3バイト目を先頭とする4バイトの不正シグネチャ候補は3回出現しており、4バイト目を先頭とする4バイトの不正シグネチャ候補は4回出現しており、3バイト目を先頭とする5バイトの不正シグネチャ候補は3回出現している。
このように出現回数カウント部113によって不正シグネチャ候補ごとの出現回数がカウントされると、引き続き出現回数カウント部113によって、各不正シグネチャ候補の出現回数が所定の閾値以上であるか否かが判定される(ステップS110)。この判定の結果、不正シグネチャ候補の出現回数が所定の閾値未満であれば(ステップS110No)、この不正シグネチャ候補は不正な通信を実行するセッションに特徴的であるというほどセッション内に頻繁に出現しているわけではないと判断され、不正シグネチャとして登録されることがない。この場合には、現在抽出されているセッションがトンネリングを実行するものであることを示す監視結果が監視結果出力部110から出力されて(ステップS113)、処理が終了する。
一方、不正シグネチャ候補の出現回数が所定の閾値以上であれば(ステップS110Yes)、この不正シグネチャ候補はデータ長比較部114へ出力される。そして、データ長比較部114によって、出現回数が所定の閾値以上である不正シグネチャ候補のデータ長が比較され(ステップS111)、データ長が最大でない不正シグネチャ候補は(ステップS111No)、不正シグネチャとして登録されることがない。この場合には、現在抽出されているセッションがトンネリングを実行するものであることを示す監視結果が監視結果出力部110から出力されて(ステップS113)、処理が終了する。また、データ長が最大の不正シグネチャ候補は(ステップS111Yes)、不正シグネチャとして不正シグネチャ記憶部105に登録される(ステップS112)。この場合にも、不正シグネチャの登録後、現在抽出されているセッションがトンネリングを実行するものであることを示す監視結果が監視結果出力部110から出力されて(ステップS113)、処理が終了する。
具体的には、例えば図8において、不正シグネチャ候補の出現回数に対する所定の閾値が3である場合、パケット#2に出現している8バイト目からの不正シグネチャ候補は、出現回数が1回のみで閾値未満であるため、不正シグネチャの対象からはずされる。その他の不正シグネチャ候補は、いずれも3回以上出現しているため、不正シグネチャの対象となるが、データ長比較部114によるデータ長の比較の結果、パケット#1、#3、および#7に出現している3バイト目から5バイトの不正シグネチャ候補が不正シグネチャとして不正シグネチャ記憶部105に登録される。
このようにして登録された不正シグネチャは、現在抽出されているセッションとは異なるセッションが抽出された際に、不正シグネチャ照合部106によって、新たなセッション内の先頭パケットと照合されることになる。そして、トンネリングを実行すると判定されたセッション内に頻繁に出現する不正シグネチャとの照合により、確実に不正な通信を実行するセッションを検出することができるとともに、データ長が長い不正シグネチャとの照合により、正規なセッションの先頭パケット中におけるデータパターンが不正シグネチャと偶然一致する可能性を低減することができる。
以上のように、本実施の形態によれば、セッション内の先頭パケットに不正シグネチャとの一致部分がない場合でも、セッション内において所定の閾値以上繰り返して送受信されているフラグデータがあれば、セッションがトンネリングを実行するものであるか否かを判定する。そして、セッションがトンネリングを実行するものであれば、先頭パケットからフラグデータが連続してなる不正シグネチャ候補を抽出し、セッション内における出現回数が所定の閾値以上かつデータ長が最大の不正シグネチャ候補を新たな不正シグネチャとして登録する。このため、トンネリングを実行すると判定されたセッションから新たな不正シグネチャを生成して、常に最新の不正シグネチャを学習することができる。したがって、セッション内の先頭パケットと不正シグネチャとの照合により、通信が許容されるプロトコルを利用した不正な通信を確実に検出することができる。
なお、上記一実施の形態においては、通信監視装置100によって、トンネリングと判定されたセッションから新たな不正シグネチャが生成されるものとしたが、上述した処理をコンピュータが読み取り可能なプログラムとして記述し、このプログラムをコンピュータに実行させることにより、本発明を実施することも可能である。
以上の実施の形態に関して、さらに以下の付記を開示する。
(付記1)通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出手段と、
前記セッション抽出手段によって抽出されたセッションが制御情報によって不正な通信を実行するものであるか否かを判定する不正判定手段と、
前記不正判定手段によってセッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された制御情報に所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出する候補抽出手段と、
前記候補抽出手段によって抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定する出現回数判定手段と、
前記出現回数判定手段による判定の結果、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとして記憶する記憶手段と
を有することを特徴とする通信監視装置。
(付記2)前記記憶手段は、
出現回数が所定の閾値以上である不正シグネチャ候補のうちデータ長が最大の不正シグネチャ候補を不正シグネチャとして記憶することを特徴とする付記1記載の通信監視装置。
(付記3)前記不正判定手段は、
前記セッション抽出手段によって抽出されたセッション内の制御情報と前記記憶手段によって記憶された不正シグネチャとを照合する照合手段を含み、
前記照合手段による照合の結果、セッション内の制御情報に不正シグネチャとの一致部分がないセッションが不正な通信を実行するものであるか否かを判定することを特徴とする付記1記載の通信監視装置。
(付記4)前記不正判定手段は、
前記セッション抽出手段によって抽出されたセッションのうち制御情報を含む先頭パケットが所定数以上送受信されているセッションについてのみ、不正な通信を実行するものであるか否かを判定することを特徴とする付記1記載の通信監視装置。
(付記5)前記不正判定手段は、
セッション内の制御情報によって指定されるアクセス先にアクセスしてページ情報を取得し、取得されたページ情報に基づいて、セッションが不正な通信を実行するものであるか否かを判定することを特徴とする付記1記載の通信監視装置。
(付記6)コンピュータによって実行される通信監視プログラムであって、前記コンピュータに、
通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、
前記セッション抽出ステップにて抽出されたセッションが制御情報によって不正な通信を実行するものであるか否かを判定する不正判定ステップと、
前記不正判定ステップにてセッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された制御情報に所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出する候補抽出ステップと、
前記候補抽出ステップにて抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定する出現回数判定ステップと、
前記出現回数判定ステップにおける判定の結果、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとしてメモリに登録する登録ステップと
を実行させることを特徴とする通信監視プログラム。
(付記7)前記登録ステップは、
出現回数が所定の閾値以上である不正シグネチャ候補のうちデータ長が最大の不正シグネチャ候補を不正シグネチャとして登録することを特徴とする付記6記載の通信監視プログラム。
(付記8)前記不正判定ステップは、
前記セッション抽出ステップにて抽出されたセッション内の制御情報と前記メモリにあらかじめ記憶された不正シグネチャとを照合する照合ステップを含み、
前記照合ステップにおける照合の結果、セッション内の制御情報に不正シグネチャとの一致部分がないセッションが不正な通信を実行するものであるか否かを判定することを特徴とする付記6記載の通信監視プログラム。
(付記9)前記不正判定ステップは、
前記セッション抽出ステップにて抽出されたセッションのうち制御情報を含む先頭パケットが所定数以上送受信されているセッションについてのみ、不正な通信を実行するものであるか否かを判定することを特徴とする付記6記載の通信監視プログラム。
(付記10)前記不正判定ステップは、
セッション内の制御情報によって指定されるアクセス先にアクセスしてページ情報を取得し、取得されたページ情報に基づいて、セッションが不正な通信を実行するものであるか否かを判定することを特徴とする付記6記載の通信監視プログラム。
(付記11)通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出ステップと、
前記セッション抽出ステップにて抽出されたセッションが制御情報によって不正な通信を実行するものであるか否かを判定する不正判定ステップと、
前記不正判定ステップにてセッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された制御情報に所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出する候補抽出ステップと、
前記候補抽出ステップにて抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定する出現回数判定ステップと、
前記出現回数判定ステップにおける判定の結果、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとしてメモリに登録する登録ステップと
を有することを特徴とする通信監視方法。
(付記12)前記登録ステップは、
出現回数が所定の閾値以上である不正シグネチャ候補のうちデータ長が最大の不正シグネチャ候補を不正シグネチャとして登録することを特徴とする付記11記載の通信監視方法。
(付記13)前記不正判定ステップは、
前記セッション抽出ステップにて抽出されたセッション内の制御情報と前記メモリにあらかじめ記憶された不正シグネチャとを照合する照合ステップを含み、
前記照合ステップにおける照合の結果、セッション内の制御情報に不正シグネチャとの一致部分がないセッションが不正な通信を実行するものであるか否かを判定することを特徴とする付記11記載の通信監視方法。
(付記14)前記不正判定ステップは、
前記セッション抽出ステップにて抽出されたセッションのうち制御情報を含む先頭パケットが所定数以上送受信されているセッションについてのみ、不正な通信を実行するものであるか否かを判定することを特徴とする付記11記載の通信監視方法。
(付記15)前記不正判定ステップは、
セッション内の制御情報によって指定されるアクセス先にアクセスしてページ情報を取得し、取得されたページ情報に基づいて、セッションが不正な通信を実行するものであるか否かを判定することを特徴とする付記11記載の通信監視方法。
一実施の形態に係る通信システムの概略構成を示すブロック図である。 一実施の形態に係るパケット構成の具体例を示す図である。 一実施の形態に係る通信監視装置の要部構成を示すブロック図である。 一実施の形態に係る不正シグネチャの具体例を示す図である。 一実施の形態に係る単位データ構成の具体例を示す図である。 一実施の形態に係る通信監視装置の動作を示すフロー図である。 一実施の形態に係るマーキングの具体例を示す図である。 一実施の形態に係る不正シグネチャ候補の具体例を示す図である。
符号の説明
101 パケット受信部
102 パケット蓄積部
103 セッション抽出部
104 先頭パケット数判定部
105 不正シグネチャ記憶部
106 不正シグネチャ照合部
107 単位データ取得部
108 データ数判定部
109 トンネリング判定部
110 監視結果出力部
111 マーキング部
112 候補抽出部
113 出現回数カウント部
114 データ長比較部

Claims (6)

  1. 通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出するセッション抽出手段と、
    前記セッション抽出手段によって抽出されたセッションのうち制御情報を含む先頭パケットが所定数以上送受信されているセッションについてのみ、不正な通信を実行するものであるか否かを判定する不正判定手段と、
    前記不正判定手段によってセッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された複数のパケットに所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出する候補抽出手段と、
    前記候補抽出手段によって抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定する出現回数判定手段と、
    前記出現回数判定手段による判定の結果、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとして記憶する記憶手段と
    を有することを特徴とする通信監視装置。
  2. 前記記憶手段は、
    出現回数が所定の閾値以上である不正シグネチャ候補のうちデータ長が最大の不正シグネチャ候補を不正シグネチャとして記憶することを特徴とする請求項1記載の通信監視装置。
  3. 前記不正判定手段は、
    前記セッション抽出手段によって抽出されたセッション内のパケットと前記記憶手段によって記憶された不正シグネチャとを照合する照合手段を含み、
    前記照合手段による照合の結果、セッション内のパケットに不正シグネチャとの一致部分がないセッションが不正な通信を実行するものであるか否かを判定することを特徴とする請求項1記載の通信監視装置。
  4. 前記不正判定手段は、
    セッション内の制御情報によって指定されるアクセス先にアクセスしてページ情報を取得し、取得されたページ情報に基づいて、セッションが不正な通信を実行するものであるか否かを判定することを特徴とする請求項1記載の通信監視装置。
  5. コンピュータによって実行される通信監視プログラムであって、
    前記コンピュータに、
    通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出し、
    前記抽出されたセッションのうち制御情報を含む先頭パケットが所定数以上送受信されているセッションについてのみ、不正な通信を実行するものであるか否かを判定し、
    前記セッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された複数のパケットに所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出し、
    前記抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定し、
    前記判定の結果に基づき、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとしてメモリに登録す
    各処理を実行させることを特徴とする通信監視プログラム。
  6. 通信監視装置が、
    通信用の制御情報を含むパケットを伝送可能なプロトコルによって送受信される複数のパケットから一対の送受信装置間で確立されたセッション内で送受信されるパケットを抽出し、
    前記抽出されたセッションのうち制御情報を含む先頭パケットが所定数以上送受信されているセッションについてのみ、不正な通信を実行するものであるか否かを判定し、
    前記セッションが不正な通信を実行するものであると判定された場合に、当該セッション内において送受信された複数のパケットに所定数以上含まれる単位データが1つ以上連続してなる不正シグネチャ候補を抽出し、
    前記抽出された不正シグネチャ候補それぞれのセッション内における出現回数が所定の閾値以上であるか否かを判定し、
    前記判定の結果に基づき、出現回数が所定の閾値以上である不正シグネチャ候補を不正シグネチャとしてメモリに登録する
    各処理を実行することを特徴とする通信監視方法。
JP2008074344A 2008-03-21 2008-03-21 通信監視装置、通信監視プログラム、および通信監視方法 Active JP4992780B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008074344A JP4992780B2 (ja) 2008-03-21 2008-03-21 通信監視装置、通信監視プログラム、および通信監視方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008074344A JP4992780B2 (ja) 2008-03-21 2008-03-21 通信監視装置、通信監視プログラム、および通信監視方法

Publications (2)

Publication Number Publication Date
JP2009232111A JP2009232111A (ja) 2009-10-08
JP4992780B2 true JP4992780B2 (ja) 2012-08-08

Family

ID=41247025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008074344A Active JP4992780B2 (ja) 2008-03-21 2008-03-21 通信監視装置、通信監視プログラム、および通信監視方法

Country Status (1)

Country Link
JP (1) JP4992780B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9614853B2 (en) 2015-01-20 2017-04-04 Enzoo, Inc. Session security splitting and application profiler
JP2016158081A (ja) 2015-02-24 2016-09-01 富士通株式会社 経路制御装置、システム、及び、経路制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063084A (ja) * 2000-08-21 2002-02-28 Toshiba Corp パケット転送装置、パケット転送方法、及びそのプログラムが格納された記憶媒体
JP4309102B2 (ja) * 2002-07-16 2009-08-05 Necネクサソリューションズ株式会社 不正コマンド・データ検知方式、不正コマンド・データ検知方法および不正コマンド・データ検知プログラム
JP3935823B2 (ja) * 2002-11-01 2007-06-27 株式会社インデックス Httpセッション・トンネリング・システム、その方法、及びそのプログラム
JP3966231B2 (ja) * 2003-06-11 2007-08-29 日本電信電話株式会社 ネットワークシステムと不正アクセス制御方法およびプログラム
JP3790750B2 (ja) * 2003-06-20 2006-06-28 株式会社東芝 不正アクセス検出装置、不正アクセス検出方法およびプログラム
JP2006243878A (ja) * 2005-03-01 2006-09-14 Matsushita Electric Ind Co Ltd 不正アクセス検知システム

Also Published As

Publication number Publication date
JP2009232111A (ja) 2009-10-08

Similar Documents

Publication Publication Date Title
JP4905395B2 (ja) 通信監視装置、通信監視プログラム、および通信監視方法
JP6097849B2 (ja) 情報処理装置、不正活動判定方法および不正活動判定用プログラム、並びに、情報処理装置、活動判定方法および活動判定用プログラム
CN101030977B (zh) 用于防御非法通信的装置及其网络系统
US20230092522A1 (en) Data packet processing method, apparatus, and electronic device, computer-readable storage medium, and computer program product
KR101409563B1 (ko) 애플리케이션 프로토콜 식별 방법 및 장치
US20200204568A1 (en) Dfa state association in a multi-processor system
US7860010B2 (en) Method, apparatus and system for detecting sequence number of packet for transmission of multi-units
JP5581141B2 (ja) 管理サーバ、通信遮断装置、情報処理システム、方法およびプログラム
CN108737447B (zh) 用户数据报协议流量过滤方法、装置、服务器及存储介质
CN106101161B (zh) 一种用于处理伪造的tcp数据包的方法和系统
US9246930B2 (en) System and method for pattern matching in a network security device
JP2006319973A (ja) プロトコル汎用の傍受用ネットワーク装置
CN114175754A (zh) 利用噪声符号和模式识别的设备同步
CN110166480A (zh) 一种数据包的分析方法及装置
US10805435B2 (en) Method of processing data stream, computer program product and classifier for processing data stream
US8839406B2 (en) Method and apparatus for controlling blocking of service attack by using access control list
KR100994746B1 (ko) 패턴 매칭부를 이용한 유해 트래픽 탐지 방법 및 시스템
JP4992780B2 (ja) 通信監視装置、通信監視プログラム、および通信監視方法
US10742602B2 (en) Intrusion prevention
CN107612876B (zh) 智慧协同网络中服务请求包泛洪攻击的检测方法
WO2015136842A1 (ja) ネットワーク管理装置、ネットワークシステム、ネットワーク管理方法および記録媒体
RU2628913C1 (ru) Способ обнаружения удаленных атак на автоматизированные системы управления
JP4116920B2 (ja) 分散型サービス不能攻撃を防ぐネットワークシステム
WO2013028683A2 (en) Determining validity of sip messages without parsing
JP4985503B2 (ja) 通信監視装置、通信監視プログラム、および通信監視方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

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

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

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4992780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150