JP2006041969A - ネットワーク監視装置及びネットワーク監視方法及びプログラム - Google Patents

ネットワーク監視装置及びネットワーク監視方法及びプログラム Download PDF

Info

Publication number
JP2006041969A
JP2006041969A JP2004219588A JP2004219588A JP2006041969A JP 2006041969 A JP2006041969 A JP 2006041969A JP 2004219588 A JP2004219588 A JP 2004219588A JP 2004219588 A JP2004219588 A JP 2004219588A JP 2006041969 A JP2006041969 A JP 2006041969A
Authority
JP
Japan
Prior art keywords
address
signature
unit
network
communication packet
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.)
Pending
Application number
JP2004219588A
Other languages
English (en)
Inventor
Michiaki Harada
道明 原田
Tetsuo Sadakane
哲男 貞包
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004219588A priority Critical patent/JP2006041969A/ja
Publication of JP2006041969A publication Critical patent/JP2006041969A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 多数の環境を同時に監視でき、必要な計算資源の量を抑えた高速な侵入検知方法を提供する。
【解決手段】 所属環境識別部103が入力パケットの所属環境を識別し、アドレス分類部106が所属環境毎に定義されたアドレス分類規則に基づいて入力パケットの送信元アドレス、送信先アドレスなどのアドレスフィールドを検査し、それぞれのアドレスがシグネチャ中にパラメータや定数で示された各基底アドレスに合致するかどうかを示したアドレス分類結果を得て、フロー分類部109が、アドレス分類結果を入力としてパケットの所属するフロー分類を判定し、フロー分類部109が参照するフロー分類規則は所属環境に固有のアドレス割当てと独立した形式を持っており、以上の構成により、多数の所属環境を扱ってもフロー分類規則の増大を招くことがなく、記憶素子や検索素子の容量を節約しつつ、高速な処理が実現できる。
【選択図】 図2

Description

この発明は、一般的にはネットワークを経由した計算機システム等への不正侵入を検知するためのシステムに関し、詳細には、ネットワークを流れるパケットを監視することによって計算機システム等に不正に侵入するパケットを検知するためのシステムに関する。
インターネットの利用が幅広く浸透した現在、ネットワークを経由して行われる不正侵入や利用妨害から計算機システム等を守ることが重大な課題となっている。このために様々なネットワーク侵入検知システム(Network Intrusion Detection System)が実用化されているが、その実現方法としては、シグネチャ・マッチング(Signature Matching)による方法が主に用いられている(例えば、特許文献1)。シグネチャ・マッチングは、観察されたパケットが既知の侵入の特徴(シグネチャ)を含むかどうかを検査することにより、不正侵入に係わるパケットを検知する手法である。このようなネットワーク侵入検知システムの多くは、攻撃パケットのヘッダに含まれるアドレスやフラグ等のフィールドの値、あるいは、ユーザデータが含む文字列などに関する条件を示した照合規則によってシグネチャを表現する。これは、新しい侵入手口に対して、セキュリティ管理者等が新しい照合規則を追加できるようにするための手法である。
以下、図16〜図20を用いて従来のネットワーク侵入検知システムについて説明する。
図16は非特許文献1に示された従来のネットワーク侵入検知システムに与えられるシグネチャの例である。典型的なネットワーク侵入検知システムには数百〜数千個のシグネチャが設定され、監視対象のネットワークから受信した入力パケットと照合される。
シグネチャのヘッダ部201は、パケットに含まれたアドレスフィールドに関する照合条件を指定したものである。ここでは、パケットのIPプロトコル番号、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号に関する条件が表現されている。
シグネチャのボディ部202は、パケットの他のフィールドに対する照合条件を含んだものである。ここでは、「flags: PA+」との指定は、TCPフラグのうちPUSHビットとACKビットが共にOnであるパケットと合致することを示し、また「content: ”.vbs”」との指定は、パケットのユーザデータ部に「.vbs」という文字列が存在するパケットと合致することを示す。
シグネチャのボディ部202はさらに、シグネチャに関する書誌情報や、出力する警告メッセージなどを含むが、その詳細は説明を省く。
また、図17に別のシグネチャの例を示す。この例では、シグネチャのヘッダ部に指定されるアドレスやポート番号にはパラメータが使用されており、監視対象のサイトに固有のネットワークやホストのアドレス構成に応じた調整が可能となっている。例えばパラメータ宣言301、302はパラメータEXTERNAL_NET及びHTTP_SERVERSを宣言し、また各々のパラメータに対して値any、10.74.8.0/24を割り当てる。またパラメータ参照303、304はそれぞれパラメータEXTERNAL_NET及びHTTP_SERVERSの値を参照する。
次に、非特許文献1に示された従来のネットワーク侵入検知システムの処理手順について、非特許文献2に示された内容に基づいて説明する。
図18は同じ内容をもったヘッダ部に対する照合処理の重複を避けるために再編成したシグネチャの内部表現であり、同一のヘッダ部をもつシグネチャの1グループに対して1つのRule Tree Node(RTN) 401を割当て、シグネチャのヘッダ部に示されたアドレス条件を各々のRTNに記述する。また、各RTN 401には複数のシグネチャが所属しうるが、その各々のシグネチャに対してOption Tree Node (OTN) 402が割り当てられ、シグネチャのボディ部に対応した照合条件や動作が記述される。
図19は従来のネットワーク侵入検知システムの処理手順を示したフローチャートである。RTNを順次列挙してパケットと照合し(ステップS501)、パケットと合致したRTNについて、そのRTNに属するOTNを順次列挙してパケットと照合し(ステップS502)、合致したOTNに基づいてアラートを生成する(S503)。
前記の処理手順は、ソフトウェアによる実現方法として逐次的な処理手順の例を示したものであるが、複数のRTNに対する照合処理501はハードウェアを用いた並列処理が可能である。例えば、フロー分類の高速化のために広く利用されている照合回路、例えばTCAM(Ternary CAM; Ternary Content−Addressable Memory)やMF Classifier (Multi−Field Classifier)を用いた並列処理の試みがすでに行われている。これらの回路は、多数の照合規則と入力ビット列とを並列的に比較し、合致した照合規則を出力する。
図20は例えば、ハードウェアを用いた並列処理の例として、非特許文献3に示されたネットワーク侵入検知方法を示したブロック図である。
照合ユニット601はRTNに対する照合ユニットであり、内蔵されたTCAMには、RTN群に基づいた照合規則が事前に設定されている。パケットと照合し、合致したRTNの集合をコントローラ602に出力する。
照合ユニット603はOTNに対する照合ユニットで、内蔵されたTCAMには、照合ユニット601で合致したRTNに対応する照合規則がコントローラ602の指示により設定される。
なお、TCAMやMF Classifier等の一般的な照合回路にはパラメータを含む照合規則を直接に設定できない。したがって、図17に例示したようなシグネチャを設定する場合は、パラメータには具体的なアドレス値を代入し、かつ、当該の照合回路に固有の形式に翻訳されてから照合回路に設定される。
特開2004−54330号公報 「SNORT(TM) User Manual 2.1.0」(The Snort Project、 http://www.snort.org) 「Towards Faster String Matching for Intrusion Detection、 or Exceeding the Speed of Snort」 (C. Jason Coit他、 DISCEX II、 2001年6月) 「Exploiting Reconfigurable Hardware for Network Security」(Shaomeng Li、Jim Torresen、Oddvar Soraasenら、Proceedings of the 11th Annual IEEE Symposium on Field−Programmable Custom Computing Machines (FCCM’03))
ネットワーク侵入を検知し、あるいは防止するために監視するトラヒックの量、ホストやサイトの数、アプリケーションの種類、そして侵入手口は増加する一方であり、多数の対象を効果的に監視する手段が必要である。従来、このような要求はネットワーク侵入検知システムを各々の監視対象に対して配備することにより実現されてきたが、このような解決策は多数の装置の導入、維持管理、監視作業のために多大なコストを生じるという短所がある。
本発明の主な目的の一つは、1つのシステムでより多数の保護対象を同時に管理でき、スケーラビリティに富んだネットワーク侵入検知システムを提供することである。
本発明の主な目的のもう一つは、一般に普及しているパケット照合回路を活用し、より小規模の回路で、かつ、高速・大容量のネットワーク侵入検知システムを提供することである。
本発明に係るネットワーク監視装置は、
通信パケットに含まれるアドレスと照合するための照合アドレスを通信パケットのアドレスフィールドに対応させて記述したシグネチャを少なくとも一つ以上格納するシグネチャ格納部と、
監視対象ネットワークを送信元とする通信パケット及び監視対象ネットワークを送信先とする通信パケットの少なくともいずれかを入力するパケット入力部と、
前記パケット入力部が入力した通信パケットに含まれているアドレスをアドレスフィールドごとに抽出するアドレス抽出部と、
前記アドレス抽出部により抽出された通信パケットのアドレスを解析し、入力した通信パケットの送信元又は送信先の監視対象ネットワークを判定するネットワーク判定部と、
前記アドレス抽出部により抽出された通信パケットのアドレスごとに、前記ネットワーク判定部により判定された監視対象ネットワークに応じて、それぞれのアドレスが対応するアドレスフィールドのいずれかの照合アドレスに合致するかを判定する照合アドレス判定部と、
前記照合アドレス判定部により判定された照合アドレスの組合せを解析し、前記照合アドレス判定部により判定された照合アドレスの組合せに一致する照合アドレスの組合せを有するシグネチャを照合対象とするよう指示するシグネチャ指示部と、
前記シグネチャ指示部により指示された照合アドレスの組合せを有するシグネチャを用いて通信パケットのシグネチャ照合を行うシグネチャ照合部とを有することを特徴とする。
本発明によれば、監視対象ネットワークの数が増えても、照合回路や記憶素子の容量に与える影響を抑制可能であり、1つのネットワーク監視装置にて多数の監視対象ネットワークを同時監視できるスケーラビリティを提供可能である。
個別の実施の形態を説明する前に、以下の実施の形態に係るネットワーク侵入検知システムを適用するネットワークトポロジと、運用管理者により与えられた設定データの構成例を示す。以下の説明は通信プロトコルとしてIPプロトコルバージョン4を利用した環境を想定したものであるが、他のプロトコルに対しても同様に実施できることは自明である。
図1は以下の実施の形態に係るネットワーク侵入検知システムを適用するネットワークトポロジの一例を示したものである。ネットワーク侵入検知システム10は、複数の監視対象ネットワーク20とインターネット30との間で送受信される通信パケットを同時に監視する。以下、通信パケットの送信元あるいは送信先となる監視対象ネットワークのことを該通信パケットの所属環境と呼ぶことにする。また、通信パケットは、単にパケットとも呼ぶ。
また、運用管理者によって以下の設定が事前に与えられるものとする。
(a)シグネチャ設定
従来技術と同様のシグネチャであり、図3にその例を示す。シグネチャのヘッダ部に含まれるアドレスフィールドは、$EXTERNAL_NETなどのパラメータや127.0.0.0/8などの定数で表現される。図3のシグネチャは、図16に示したものと同様の構成をしている。例えば、図3の一行目にあるシグネチャでは、「tcp」はプロトコル番号、「$EXTERNAL_NET」は送信元IPアドレス、「any」は送信元ポート番号、「$HTTP_SERVERS」は送信先IPアドレス、「$HTTP_PORT」は送信先ポート番号を示し、以降はボディ部である。
以下の実施の形態では、上記の例の$EXTERNAL_NETや127.0.0.0/8などのように、シグネチャヘッダ内の個々のアドレスフィールドに出現し、アドレスの集合を表現したパラメータや定数を「基底アドレス」と呼ぶ。ただし、任意の値を表す「any」は基底アドレスに含めない。また、シグネチャのヘッダ部の各アドレスフィールドは、通信パケットのアドレスフィールドに対応しており、各基底アドレスは通信パケットの対応するアドレスフィールドのアドレスと照合するためのアドレスである。基底アドレスは照合アドレスの例である。また、シグネチャヘッダを同値類に分類するとき、その同値類の元を以下の実施の形態では「フロー分類」と呼ぶ。フロー分類は、シグネチャヘッダに表現された、パケット種別、送受信アドレス等の条件の組によるパケットの分類であり、例えば、図3の一行目においては、「tcp $EXTERNAL_NET any−>$HTTP_SERVERS $HTTP_PORT」がフロー分類を表しており、フロー分類は基底アドレス(照合アドレス)の組合せである。
(b)所属環境設定
所属環境設定は、以下の内容で構成される。図4に設定例を示す。
(ア)各所属環境の所属環境識別子
所属環境(通信パケットの送信先又は送信元の監視対象ネットワーク)を一意に識別する識別子である。ここでは例えば、整数で表すものとする。
(イ)所属環境識別規則
入力パケットのアドレスフィールドをもとに、パケットがどの所属環境に所属するかどうかを判定する規則である。この規則は例えば図4の例に示すように、送信元IPアドレス並びに送信先IPアドレスと所属環境識別子の対応関係を示した決定表によって表現できる。
(ウ)各所属環境に固有のパラメータ値の割当て
図4の例に示すとおり、所属環境に応じたパラメータの値を設定する。
実施の形態1.
次に、実施の形態1に係るネットワーク侵入検知システムについて説明する。
図2は実施の形態1に係るネットワーク侵入検知システムの構成例を示したブロック図である。
所属環境格納部115は、前述したように、例えば図4に示す所属環境設定が格納されている。
シグネチャ格納部116は、前述したように、例えば図3に示す複数のシグネチャが格納されている。シグネチャ格納部116に格納されているシグネチャは、通信パケットに含まれるアドレスと照合するための基底アドレス(照合アドレス)を通信パケットのアドレスフィールドに対応させて記述したものである。
設定データ翻訳部117は、所属環境格納部115の所属環境設定及びシグネチャ格納部116のシグネチャを翻訳して、後述する所属環境識別規則、アドレス分類規則、フロー分類規則、シグネチャ照合規則を生成する。
パケット入力部100は、監視対象ネットワークを送信元とする通信パケット又は監視対象ネットワークを送信先とする通信パケットを入力する。
アドレス情報抽出部101は、パケット入力部100にて入力された入力パケットに含まれるアドレスをアドレスフィールドごとに抽出し、各アドレスフィールドのアドレスの組で構成されたアドレス情報102を出力する。アドレス情報抽出部101は、アドレス抽出部の例である。
所属環境識別部103は、アドレス情報102を入力とし、所属環境識別規則格納部104に格納された所属環境識別規則に基づいて入力パケットの所属環境を識別し、所属環境識別子105を出力する。つまり、所属環境識別部103は、アドレス情報抽出部101により抽出されたアドレスを解析し、入力パケットの送信元又は送信先の監視対象ネットワークを判定する。このため、所属環境識別部103はネットワーク判定部の例である。
所属環境識別規則格納部104は、所属環境識別部103が入力パケットの所属環境を識別するための所属環境識別規則を格納する。所属環境識別規則は、例えば、図5に示す情報である。所属環境識別規則の詳細は後述する。
アドレス分類部106は、アドレス情報102の各アドレスフィールドに対して1つずつ設けられ、前記のアドレス情報102を入力とし、アドレス分類規則格納部107に格納されたアドレス分類規則に基づくことによって各アドレスフィールドのアドレスがおのおのの基底アドレスに合致するかどうかを判定し、その結果を示したものであるアドレス分類結果108を出力する。つまり、アドレス分類部106は、アドレス情報抽出部101により抽出された入力パケットのアドレスごとに、所属環境識別部103により判定された所属環境(監視対象ネットワーク)に応じて、それぞれのアドレスが対応するアドレスフィールドのいずれかの基底アドレス(照合アドレス)に合致するかを判定する。このため、アドレス分類部106は、照合アドレス判定部の例である。
アドレス分類規則格納部107は、アドレス分類部106がアドレス分類結果108を出力するためのアドレス分類規則を格納する。アドレス分類規則は、例えば、図7に示す情報である。アドレス分類規則の詳細は後述する。
アドレス分類部106とアドレス分類規則格納部107は、アドレス情報102を構成する個々のアドレスフィールドに対して個別に備える。
フロー分類部109は、前記のアドレス分類結果108を入力として、フロー分類規則格納部110に格納されたフロー分類規則に基づいて入力パケットがどのフロー分類に所属すべきかを判定し、その結果を示したものであるフロー分類結果111を出力する。つまり、フロー分類部109は、アドレス分類部106により判定された基底アドレス(照合アドレス)の組合せ(フロー分類)を解析し、アドレス分類部106により判定されたの基底アドレスの組合せに一致する基底アドレスの組合せを有するシグネチャを照合対象とするようフロー分類結果111にて指示する。このため、フロー分類部109は、シグネチャ指示部の例である。
フロー分類規則格納部110は、フロー分類部109がフロー分類結果111を出力するためのフロー分類規則を格納する。フロー分類規則は、例えば、図8に示す情報である。フロー分類規則の詳細は後述する。なお、図8のフロー分類A、B、Cは組合せ識別子の例であり、フロー分類規則は識別子情報の例であり、フロー分類規則格納部110は識別子情報格納部の例である。
シグネチャ照合部112は、前記のフロー分類結果111と入力パケットを入力とし、シグネチャ照合規則に含まれるシグネチャとの照合を行い、その結果を示したものであるシグネチャ照合結果114を出力する。つまり、シグネチャ照合部は、フロー分類部109よりフロー分類結果111にて指示された基底アドレスの組合せを有するシグネチャを用いて通信パケットのシグネチャ照合を行う。
シグネチャ照合規則格納部113は、シグネチャ照合部112がシグネチャ照合を行うためのシグネチャ照合規則を格納する。
次に、図15を参照しながら動作について説明する。
パケット入力部100が、監視対象ネットワークを送信元又は送信先とする通信パケットを入力する(S1501)(パケット入力ステップ)。
次に、アドレス情報抽出部101が、入力パケットから各アドレスフィールドのアドレスを抽出してアドレス情報102を出力する(S1502)(アドレス抽出ステップ)。アドレス情報102は抽出したアドレスフィールドごとのアドレスの組であり、本実施の形態では (IPプロトコル、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号)で表現する。なお、以下のように本実施の形態と異なったアドレスフィールドによりアドレス情報102を表現することは、本実施の形態の自明な変形により可能である。
(a)等価なアドレス表現方法を用いた例
例えばシグネチャ設定のヘッダに与えられるアドレスフィールド、並びに前記のアドレス情報102は、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号の代わりにそれぞれ、クライアントIPアドレス、クライアントポート番号、サーバIPアドレス、サーバポート番号により構成することを特徴とした例。
(b)追加のアドレスフィールドを含む例
例えばEthernet(登録商標) VLANにおけるVLANタグやMACアドレス、ATMやフレームリレーにおける仮想回線の識別子を追加のアドレスフィールドとして用いることを特徴とした例。
(c)一部のアドレスフィールドのみを使用する例
例えば送信元ポート番号を省略し、(IPプロトコル、送信元IPアドレス、送信先IPアドレス、送信先ポート番号)のみによってアドレスフィールドを構成した例。
所属環境識別部103は、前記のアドレス情報102を入力として入力パケットの所属環境識別子105を求める(S1503)(ネットワーク判定ステップ)。所属環境の識別は、運用管理者が設定した所属環境設定(所属環境格納115に格納)から設定データ翻訳部117により翻訳された所属環境識別規則(所属環境識別規則格納部104に格納)によって所属環境を特定する。以下、TCAMを用いた所属環境識別部103の実現方法を示す。TCAMの検索入力にはアドレス情報102中の送信元IPアドレス、送信先IPアドレスを入力する。TCAMの検索表に設定する所属環境識別規則は、所属環境設定の自明な翻訳して得られる。例えば、図4に示した所属環境設定に対して、図5に示す検索表を得る。図5に示す送信元IPアドレス、送信先IPアドレスの欄はビットパターンを示す。「1」「0」はそれぞれ、入力されたアドレスフィールドの該当ビットの値「1」「0」に合致し、「*」は対応するアドレス情報の該当ビットの値に係わらず合致することを示す。
次に、アドレス分類部106が、入力されたアドレスフィールドの値(アドレス)を各基底アドレスと照合し、アドレス分類結果108を出力する(S1504)(照合アドレス判定ステップ)。このとき、基底アドレスの値は、入力された所属環境識別子105が指す所属環境に固有のパラメータ割当てに従って解釈する。アドレス分類部106並びにアドレス分類規則格納部107は、アドレス情報102に含まれるアドレスフィールド毎に備える。本実施の形態では、IPプロトコル、送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号のそれぞれにつき1対のアドレス分類部106とアドレス分類規則格納部107を備える。
ここで、上記の機能を実現するアドレス分類部106、アドレス分類規則、アドレス分類結果108の例を説明する。
所属環境識別子e、アドレスフィールドの値v、及び、n個の基底アドレスB1、 ...、 Bnに対して、関数fi(e、 v)を fi(e、 v)=1 (v∈Biの場合)、fi(e、 v)=0(それ以外の場合) と定義する。アドレス分類結果108はnビットのビット列f1(e、 v)、 f2(e、 v)、...、 fn(e、 v)で表現できる。図3に示したシグネチャ設定に含まれる各アドレス分類に対して、アドレス分類結果108上のビット位置を割り当てた例を図6に示す。
図3のシグネチャに示された送信元IPアドレスに関するアドレス分類は、
B3 = $HOME_NET
B2 = $HTTP_SERVERS
B1 = $SMTP_SERVERS
の三種類であり、入力パケットの送信元IPアドレスvに関して、上記手順を当てはめると、
f3(e、v) = 1 (v ∈$HOME_NETのとき)
= 0 (上記以外の場合)
f2(e、v) = 1 (v ∈$HTTP_SERVERSのとき)
= 0 (上記以外の場合)
f1(e、v) = 1 (v ∈$SMTP_SERVERSのとき)
= 0 (上記以外の場合)
となる。
送信元IPアドレスに関するアドレス分類結果108は上記のf1、f2、f3を用いてf1(e、v) f2(e、v) f3(e、v)という3ビットの数で表現される。
本実施の形態においては、プロトコル番号、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号のそれぞれに対して独立に上記のようなアドレス分類を定義する。
アドレス分類部106並びにアドレス分類規則は、一般的なMF Classifier並びにその照合規則によって実現できる。例えば、図3のシグネチャ設定、図4の所属環境設定をMF Classifierのために翻訳すると図7に示すアドレス分類規則が得られる。MF Classifierはすべての合致したエントリを返すMulti−Matchモードで動作させ、合致したすべてのエントリの出力をビット毎のOR演算により重畳することにより、アドレス分類結果108が得られる。例えば所属環境識別子=0かつ送信先IPアドレス=10.1.1.1のとき、図7に示した送信先IPアドレスに対する規則の1番目、2番目、3番目に合致し、それぞれ出力ビット列001、010、100が出力される。これらをビット毎にOR重畳したビット列「111」がアドレス分類結果108となる。
図7のアドレス分類規則を求めるにあたっては、まず、図3のシグネチャ設定に含まれるおのおのの基底アドレスに対して、入力パケットが一致するための条件を求める。これは各基底アドレスに対して図4に示した所属環境定義を適用することによって自明に求められる。たとえば送信元IPアドレスに関する基底アドレス「127.0.0.0/8」は定数であるため、所属環境にかかわらず「送信元IPアドレス∈127.0.0.0/8」のときにマッチし、図6の割り当てにしたがって出力ビット列10を得る。同様に送信元IPアドレスに関する基底アドレス「EXTERNAL_NET」は変数パラメータであり、所属環境定義に与えられた、所属環境に応じた割り当て値に基づいて解釈される。したがって、所属環境=0かつ送信元IPアドレス∈!10.1.0.0/16のとき、あるいは、所属環境=1かつ送信元IPアドレス∈10.2.0.0/16のときにマッチし、図6の割り当てにしたがって出力ビット列01を得る。
次に、フロー分類部109が、入力されたアドレス分類結果108に基づいて入力パケットがフロー分類に合致するかを判定し、フロー分類結果111を出力する(S1505)(シグネチャ指示ステップ)。本実施の形態では、合致したフロー分類の識別子の集合によってフロー分類結果111を表現する。フロー分類規則は、シグネチャ格納部116に含まれるフロー分類、すなわち異なったシグネチャヘッダをすべて抽出することで得られる。例えば、図3のシグネチャ設定から得たフロー分類規則は図8のとおりである。本実施の形態のフロー分類部109はMulti−Matchモードで動作するTCAMで実現できる。具体的には、図8に示したフロー分類規則に図6で示したアドレス分類結果の表現を当てはめると図9のようなTCAMの検索表に翻訳でき、これをTCAMに設定すればフロー分類部109を構成できる。図9に記入されたビットパターンは、それぞれ図8の各欄に記入されたアドレス条件と一致するアドレス分類結果108をビットパターンで表現したものである。たとえば、送信元IPアドレスのアドレス分類結果は図6に示すとおり2ビットで表現され、$EXTERNAL_NETにマッチする場合はビット位置1がONになる。したがって、図9に示すように送信元IPアドレスに対する$EXTERNAL_NETの入力パターンは「1*」(「*」は任意のビット値)で表現される。同様に送信元IPアドレスが「127.0.0.0/8」であることは「*1」で表現される。anyの場合は、任意の2ビット値に対応するため「**」と表現される。
次に、シグネチャ照合部112が、入力パケットをシグネチャ格納部116に格納されているシグネチャのボディ部と照合し、シグネチャ照合結果114を得る(S1506)(シグネチャ照合部)。シグネチャ照合規則は、シグネチャ設定から翻訳されたものであり、フロー分類別にシグネチャのボディ部を編成したものである。シグネチャ照合部112は、フロー分類結果111によって絞り込まれたフロー分類に属するシグネチャのボディ部と入力パケットを照合し、シグネチャ照合結果114を出力する。この動作は従来のネットワーク侵入検知システムと同様である。
以上のように、所属環境識別部103が入力パケットの所属環境を識別し、アドレス分類部106が所属環境毎に定義されたアドレス分類規則に基づいて入力パケットの送信元アドレス、送信先アドレス、送信元ポート番号、送信先ポート番号などのアドレスフィールドを検査し、それぞれのアドレスがシグネチャ中にパラメータや定数の形で示された各基底アドレスに合致するかどうかを示したアドレス分類結果を得て、フロー分類部109が、アドレス分類結果を入力としてパケットの所属するフロー分類を判定し、フロー分類規則は各アドレスフィールドがどの基底アドレスに所属するかを示したアドレス分類結果108を入力条件とした規則となるので、フロー分類規則の個数は所属環境の個数によらず一定に抑えることができる。現在、一般なネットワーク侵入検知システムが扱うシグネチャの数は1500を超えており、フロー分類に必要な照合回路や記憶素子の容量の確保がネットワーク侵入検知システムの性能を決める重大な要素である。本実施の形態では、所属環境の数が増えてもフロー分類規則の数は一定であり、また、アドレス分類規則は増加するが所属環境毎のサイズは小さく、照合回路や記憶素子の容量に与える影響をわずかにとどめることができる。この性質により、数十、数百の所属環境を一度に監視できるネットワーク侵入検知システムが容易に実現できる。
実施の形態2.
また、本実施の形態は、実施の形態1と同様の手段により構成され、ただし、アドレス分類結果108をより少ないビット数で表現することを目的とする。
本実施の形態では、アドレス分類結果は、互いに疎な基底アドレスのグループのおのおのに対して、グループ内の基底アドレスの個数をmとするとき、グループ内のどの基底アドレスにアドレスフィールドの値が合致したかを0〜mの整数により表現する。つまり、本実施の形態では、アドレス分類部106が、通信パケットに含まれるアドレスフィールドごとに、それぞれのアドレスフィールドに対応する基底アドレスをグループ内の基底アドレスの個数をm個とする互いに疎な要素のみで構成されるグループに分類し、アドレス情報抽出部101により抽出された通信パケットのアドレスのそれぞれが対応するアドレスフィールドのいずれかの基底アドレスに合致するか否かの判定結果を0からmの整数により示す。
本実施の形態では、以下に定義された関数gi(v)を用いて構成されたk次元のベクトル(g1(v)、 g2(v)、 ...、 gk(v))をアドレス分類結果108として用いる。
まず、基底アドレスの集合を互いに疎な要素のみで構成されるグループG1、...、Gkに分割する。グループGi(1≦i≦k)がm個の基底アドレスBi1、 Bi2、 ...、 Bimで構成されるとき、入力されたアドレスフィールドの値vがGiのどの基底アドレスに属しているかを示す関数をgi(v)とする。vがGiのどの基底アドレスにも属していないときはgi(v)=0、vがBij(1≦j≦m)に属しているときgi(v)=jと定義する。
具体例として、基底アドレス分類P1〜P10があり、そのうちのP1〜P3、P5〜P9が互いに素となる場合に対してアドレス分類結果108の構成を示すと、図10に示すとおりとなる。
本実施の形態では、アドレス分類を互いに素なグループに分ける。集合のグループが「互いに素」とは、一般的な数学用語の定義どおり、グループ内のどの2つの集合も共通部分がないことを指す。このようにすると、入力パケットに対して、各グループ内で2個以上のアドレス分類に一致することはない。
図15は、アドレス分類P1〜P10のうち、P1〜P3、P5〜P9、はそれぞれ同じグループで、ひとつのパケットに対して
・ P1〜P3のどれもマッチしないか、あるいはどれかひとつだけがマッチする。
・ P5〜P9のどれもマッチしないか、あるいはどれかひとつだけがマッチする。
・ ただし、P1〜P3のいずれか1つと、P5〜P9のいずれか1つが同時にマッチする可能性は排除されていない。
という状況を例としている。
実施の形態1の方法では、アドレス分類P1〜P10に対してそれぞれヒットした/しないを示すアドレス分類結果108を表現する。ヒットする・しないは1ビットで表現されるので、実施の形態1では、アドレス分類結果108には合計10ビットになる。一方、実施の形態2では、P1〜P3のグループに関しては、「P1〜P3のどれにヒットしたか、あるいはヒットしなかったか」の四通りのケースが発生する。この各ケースを10進数ならば0〜3、2進数ならば00、01、10、11の2ビットで表現する。この部分で実施の形態1より1ビット節約される。同様に、「P5〜P9のどれにヒットしたか、あるいはヒットしなかったか」について同様に6通りの場合分けが発生する。これは10進数でいえば0〜5、2進数なら000、001、010、011、100、101の3ビットで表現する。この部分で実施の形態1より2ビットの節約になる。以上、この例では合計3ビットの節約となる。さらに有利な条件、たとえば100個の独立したグループは実施の形態1では100ビットを要していたところが実施の形態2では7ビットですむ。アドレス分類結果は次にフロー分類部109に入力されるので、シグネチャ次第ではこの部分の所要ビット数は大幅に削減でき、フロー分類部109に使用するTCAMや、アドレス分類部106からフロー分類部109までの配線量を節約することができる。
このように構成されたアドレス分類結果108をビット列として表現すると、各次元の表現に必要なビット数はlog2(m+1)ビットであり、実施の形態1より少ないビット数で構成でき、アドレス分類結果108を入力として動作するフロー分類部109に必要な回路量が削減される。
以上に述べたアドレス分類結果108を出力するアドレス分類部106は、実施の形態1で既に述べたアドレス分類部の出力(f1(e、 v)、 f2(e、 v)、 ...、 fn(e、 v))を上記の出力(g1(v)、 g2(v)、 ...、 gk(v))に変換するステップを追加することにより、容易に実現できる。また、フロー分類部109並びにフロー分類規則は、入力されるアドレス分類結果108のビット列の構成が異なる点を除いて実施の形態1と全く同様に構成できる。
実施の形態3.
本実施の形態は、フロー分類部109をFirst−Match型のアルゴリズムないし回路で構成することを想定し、フロー分類結果111として1個のフロー細分の識別子を出力する方法を示す。
実施の形態1では図8のようなフロー分類規則を得たが、1つの入力パケットに対して複数のフロー分類が同時にマッチするケースがある。たとえばフロー分類A、 Cに同時にマッチした場合は、フロー分類Aに属するシグネチャの集合と、フロー分類Cに属するシグネチャの集合との双方をシグネチャ照合部112で検査することになる。このような方式の問題としては、まず、1)A、 Cのシグネチャの集合に重なりがあると、同じシグネチャを重複して照合することになり、処理効率が悪いという問題がある。また、2)複数のフロー分類に対して反復処理が発生するため、ハードウェア実装では、タイミング設計が複雑になるという問題がある。本実施の形態では、複数のフロー分類にヒットするケースをあらかじめ細分しておき、どの細分にヒットしたかを求めることで上記の問題を解決することを目的としている。
1つ以上のフロー分類の積集合をフロー細分と呼ぶとき、前記のフロー分類規則は、前記のアドレス分類結果と合致するすべてのフロー分類の積集合であるところのフロー細分を求めるための規則によって与えることができる。つまり、本実施の形態では、フロー分類規則格納部110は、フロー分類の積集合であるフロー細分が示されたフロー分類規則を格納している。このため、フロー分類規則に示されているフロー細分の識別子は積集合識別子の例に相当する。
シグネチャの意味から自明なとおり、例えば入力パケットがフロー分類A〜Cの交わりであるフロー細分A∩B∩Cに合致する場合、フロー分類A〜Cのいずれに属するシグネチャのボディも照合対象とする必要がある。したがって、シグネチャ照合規則は、フロー細分の識別子をキーとして、フロー細分を構成するいずれのフロー分類の少なくとも一つに属しているようなシグネチャのすべてに対して、入力パケットとの照合を行うように編成する。
First−Matchで解釈されるフロー分類規則は、下記の条件を満たすものとして構成される。
(a)すべての所属環境に対して空であるフロー細分に対しては、フロー分類規則を省略する。
(b)すべての所属環境に対してA=Bであるフロー細分A、Bに対して、フロー分類規則を重複して作らない。
(c)上記a、bの例外を除いて、フロー細分に対するフロー分類規則は必ず作成する。
(d)すべての所属環境に対してA⊃Bであるフロー細分A、Bに対して、Bに対するフロー分類規則の優先順位をAよりも高く設定する。
(e)フロー分類規則の各アドレスフィールドの照合条件は、フロー細分を構成するすべてのフロー分類の対応するアドレスフィールドの照合条件の論理積で表される。
次に、図3に示すシグネチャ設定、図4に示す所属環境設定に対するフロー分類規則の算出例を示す。
基底アドレスがつねに一定の包含関係を有するケース、交差を生じうるケースを抽出すると、図11に示すとおりである。なお、ある所属環境ではA⊃B、別の所属環境ではB⊃Aとなるケースは、A∩B≠Φとみなす。これに基づいて、フロー分類同士の包含関係・交差関係は図12のとおりであるとわかる。図12の包含関係、並びに、実施の形態1で説明した図5のフロー分類A、B、Cをもとに、図13に示すような本実施の形態のフロー分類規則が求められる。
フロー分類A、B、Cがある場合、一般的には細分は7通りある(A、B、C、A∩B、B∩C、A∩C、A∩B∩C)。これを集合の包含関係により、より細分化された集合を優先として、優先順に編成されたルールを編成し、優先度の最も高いルールのみを適用する。上述したように、たとえばフロー細分A∩Bにヒットしたパケットに対しては、A、Bのシグネチャの双方を照合するようにシグネチャを事前に編成しておくことにより、上記の1)及び2)の問題が解決される。
なお、アドレス分類には変数が含まれており、所属環境によってフロー分類の交わり、包含関係が異なるケースがあるが、こような関係をもつA、Bに対しては、Aだけ、Bだけ、AB双方の3パターンすべてを網羅するようにすれば解決する。一方、A、Bが常にたがいに素であったり一方を包含していることが分かれば、細分の数を節約できる。
次にフロー分類部109をFirst−MatchモードのTCAMで実現する方法を示す。フロー分類規則の論理的表現、ビット列表現はそれぞれ図13、図14であり、それぞれフロー分類に対する検索表(図8、図9)から求められる。前述のとおり、フロー分類規則の各アドレスフィールドの照合条件は、フロー細分を構成するすべてのフロー分類の対応するアドレスフィールドの照合条件の論理積として求められる。
このように、本実施の形態では、1つ以上のフロー分類の積集合をフロー細分と呼ぶとき、フロー分類規則は、アドレス分類結果と合致するすべてのフロー分類の積集合であるところのフロー細分を求めるための規則であり、また、フロー分類結果は1つのフロー細分の識別子によって表現されていることを特徴とする。つまり、本実施の形態では、識別子情報格納部たるフロー分類規則格納部110は、シグネチャ格納部116に格納されているシグネチャにおいて存在するフロー分類の積集合(照合アドレスの組合せの積集合)を示し、それぞれの積集合に対する識別子(積集合識別子)を示すフロー分類規則(識別子情報)を格納しており、フロー分類部109は、アドレス分類部106により判定された基底アドレス(照合アドレス)を示すアドレス分類結果108がいずれかのフロー細分(照合アドレスの組合せの積集合)に該当する場合に、アドレス分類結果(照合アドレスの組合せ)に対応するフロー細分の識別子(積集合識別子)を判定し、判定したフロー細分の識別子(積集合識別子)をシグネチャ照合部に出力する。
このように、本実施の形態によれば、シグネチャの集合に重なりがある場合でも、同じシグネチャを重複して照合する必要がなく、処理効率を向上させることができる。また、複数のフロー分類に対して反復処理が発生しないため、ハードウェア実装では、タイミング設計が複雑になるという問題を回避することができる。
前述した各実施の形態で、ネットワーク侵入検知システム10は、コンピュータで実現できるものである。
図示していないが、ネットワーク侵入検知システム10は、プログラムを実行するCPU(Central Processing Unit)を備えている。
例えば、CPUは、バスを介して、ROM(Read Only Memory)、RAM(Random Access Memory)、通信ボード、表示装置、K/B(キーボード)、マウス、FDD(Flexible Disk Drive)、CDD(コンパクトディスクドライブ)、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
RAMは、揮発性メモリの一例である。ROM、FDD、CDD、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。前述した各実施の形態のネットワーク侵入検知システム10が扱うデータや情報は、記憶装置あるいは記憶部に保存され、ネットワーク侵入検知システム10の各部により、記録され読み出されるものである。
また、通信ボードは、例えば、LAN、インターネット、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されている。
磁気ディスク装置には、オペレーティングシステム(OS)、ウィンドウシステム、プログラム群、ファイル群(データベース)が記憶されている。
プログラム群は、CPU、OS、ウィンドウシステムにより実行される。
上記ネットワーク侵入検知システム10の各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ROMに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
上記プログラム群には、実施の形態の説明において「〜部」として説明した処理をCPUに実行させるプログラムが記憶される。これらのプログラムは、例えば、C言語やHTMLやSGMLやXMLなどのコンピュータ言語により作成される。
また、上記プログラムは、磁気ディスク装置、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記憶され、CPUにより読み出され実行される。
ここで、以上の実施の形態1〜3示したネットワーク侵入検知システムの特徴を以下にて示す。
実施の形態1に示したネットワーク侵入検知システムは、シグネチャ設定と所属環境に基づいてネットワーク侵入を検知するネットワーク侵入検知システムであって、
前記のシグネチャ設定はシグネチャの集まりを含み、前記シグネチャのおのおのはパケットの各アドレスフィールドに対する照合条件で構成されるシグネチャヘッダと、パケットの他の照合条件を任意に含んだシグネチャボディを含み、
前記の所属環境設定は、各所属環境の一意な識別子である所属環境識別子と、入力パケットのアドレスフィールドの値に基づいてパケットがどの所属環境に所属するかどうかを判定する規則であるところの所属環境識別規則、並びに、各所属環境に応じたパラメータ値の割当てを含むことを特徴とし、
また、以下の手段を備えたことを特徴とする。
(a)入力パケットに含まれるアドレスフィールドを抽出し、前記のアドレスフィールドの組で構成されたアドレス情報を出力するアドレス抽出手段、
(b)前記のアドレス情報を入力とし、後述の設定データ翻訳手段から与えられた所属環境識別規則に基づいてパケットの所属環境を識別し、所属環境識別子を出力する所属環境識別手段、
(c)前記のアドレス情報の各アドレスフィールドに対して1つずつ設けられ、前記の所属環境識別情報と前記のアドレスフィールドを入力とし、後述の設定データ翻訳手段から与えられたアドレス分類規則に基づくことによって前記のアドレスフィールドがおのおのの基底アドレスに合致するかどうかを判定し、その結果を示したものであるアドレス分類結果を出力するアドレス分類手段。ただし、基底アドレスとは、シグネチャヘッダのアドレスフィールドに定数又はパラメータによって示されたアドレスの集合を指す。
(d)前記のアドレス分類結果と前記のアドレス情報を入力として、後述の設定データ翻訳手段から与えられたフロー分類規則に基づいて入力パケットがどのフロー分類に所属すべきかを判定し、その結果を示したものであるフロー分類結果を出力するフロー分類手段。ただし、フロー分類とは、前記のシグネチャ設定に含まれるシグネチャヘッダの同値類の元を指す。
(e)前記のフロー分類結果と前記の入力パケットを入力とし、シグネチャ照合規則 に含まれるシグネチャとの照合を行い、その結果を示したものであるシグネチャ照合結果を出力するシグネチャ照合手段。
(f)所属環境設定、シグネチャ設定を入力とし、これらを翻訳して前記の所属環境識別規則、アドレス分類規則、フロー分類規則並びにシグネチャ照合規則を出力する設定データ翻訳手段。
実施の形態1に示したネットワーク侵入検知システムにおいて、前記のアドレス分類結果は、各基底アドレスに対する合致の有無を1ビットで表現したことを特徴とする。
実施の形態2に示したネットワーク侵入検知システムにおいて、前記のアドレス分類結果は、互いに疎な基底アドレスのグループのおのおのに対して、グループ内の基底アドレスの個数をmとするとき、グループ内のどの基底アドレスにアドレスフィールドの値が合致したかを0〜mの整数により表現することを特徴とする。
実施の形態1に示したネットワーク侵入検知システムにおいて、前記のフロー分類規則は、前記のアドレス分類結果がおのおののフロー分類に合致するかどうかを判定するように構成された規則であり、また、前述のフロー分類手段は前記のフロー分類規則に基づいて各々のフロー分類との合致を判定するものであり、その結果出力される前記のフロー分類結果は、フロー分類を示す識別子の集合によって表されることを特徴とする。
実施の形態3に示したネットワーク侵入検知システムにおいて、1つ以上のフロー分類の積集合をフロー細分と呼ぶとき、前記のフロー分類規則は、前記のアドレス分類結果と合致するすべてのフロー分類の積集合であるところのフロー細分を求めるための規則であり、また、前記のフロー分類結果は1つのフロー細分の識別子によって表現されたことを特徴とする。
以上に示したように、実施の形態1〜3に示したネットワーク侵入検知システムは、フロー分類に必要な検索テーブルの容量が所属環境の個数によらず一定となり、比較的少量のアドレス分類規則、所属環境識別規則の増加のみで抑えられる。これによって、必要な容量の増加を抑えつつ、多数の所属環境を同時に監視可能なネットワーク侵入検知システムを得る。
また、フロー分類規則は数百〜数千個のエントリを必要とするが、アドレス分類規則、所属環境判別規則はそれぞれ数個〜数十個程度の少ない規則数で実現できるので、例えば1台のセンサで数百・数千の異なる所属環境を同時監視できるスケーラビリティを提供することができる。このようなセンサを用いて、例えばプロバイダの幹線等、多数のユーザが混在利用するネットワークにおいて、ユーザに代わってセキュリティ監視を一括して実施することができる。
さらに、各規則の解釈実行はTernary CAMやMulti−Field Classifierなど、広く流通するハードウェア照合回路を活用して実装できる。これにより、高性能・低コストでの実現が可能である。
実施の形態1〜3のネットワーク侵入検知システムを適用するネットワークトポロジの一例を示す図。 実施の形態1〜3のネットワーク侵入検知システムの構成例を示す図。 実施の形態1〜3のシグネチャ設定の一例を示す図。 実施の形態1〜3の所属環境設定の一例を示す図。 実施の形態1〜3における所属環境識別規則の例を示す図。 実施の形態1におけるアドレス分類結果のビット構成の例を示す図。 実施の形態1におけるアドレス分類規則の例を示す図。 実施の形態1におけるフロー分類規則の例を示す図。 図8のフロー分類規則をTCAM検索表に適した表現に翻訳した例を示す図。 実施の形態2におけるアドレス分類結果のビット構成の例を示す図。 実施の形態3における基底アドレス間の包含・交差関係を示す図 実施の形態3におけるフロー分類間の包含・交差関係を示したベン図。 実施の形態3におけるフロー分類規則の例を示す図。 図13のフロー分類規則をTCAM検索表に適した表現に翻訳した例を示す図。 実施の形態1〜3のネットワーク侵入検知システムの動作例を示すフローチャート図。 シグネチャの例を示す図。 パラメータを含んだシグネチャの例を示す図。 従来のネットワーク侵入検知システムが侵入検知処理の実行時に参照する、シグネチャの内部表現を示す図。 従来のネットワーク侵入検知システムの処理手順の概略を示したフローチャート。 TCAMを用いた従来のネットワーク侵入検知システムの回路構成を示した回路図。
符号の説明
10 ネットワーク侵入検知システム、20 監視対象ネットワーク、30 インターネット、100 パケット入力部、101 アドレス情報抽出部、102 アドレス情報、103 所属環境識別部、104 所属環境識別規則格納部、105 所属環境識別子、106 アドレス分類部、107 アドレス分類規則格納部、108 アドレス分類結果、109 フロー分類部、110 フロー分類規則格納部、111 フロー分類結果、112 シグネチャ照合部、113 シグネチャ照合規則格納部、114 シグネチャ照合結果、115 所属環境格納部、116 シグネチャ格納部、117 設定データ翻訳部。

Claims (10)

  1. 通信パケットに含まれるアドレスと照合するための照合アドレスを通信パケットのアドレスフィールドに対応させて記述したシグネチャを少なくとも一つ以上格納するシグネチャ格納部と、
    監視対象ネットワークを送信元とする通信パケット及び監視対象ネットワークを送信先とする通信パケットの少なくともいずれかを入力するパケット入力部と、
    前記パケット入力部が入力した通信パケットに含まれているアドレスをアドレスフィールドごとに抽出するアドレス抽出部と、
    前記アドレス抽出部により抽出された通信パケットのアドレスを解析し、入力した通信パケットの送信元又は送信先の監視対象ネットワークを判定するネットワーク判定部と、
    前記アドレス抽出部により抽出された通信パケットのアドレスごとに、前記ネットワーク判定部により判定された監視対象ネットワークに応じて、それぞれのアドレスが対応するアドレスフィールドのいずれかの照合アドレスに合致するかを判定する照合アドレス判定部と、
    前記照合アドレス判定部により判定された照合アドレスの組合せを解析し、前記照合アドレス判定部により判定された照合アドレスの組合せに一致する照合アドレスの組合せを有するシグネチャを照合対象とするよう指示するシグネチャ指示部と、
    前記シグネチャ指示部により指示された照合アドレスの組合せを有するシグネチャを用いて通信パケットのシグネチャ照合を行うシグネチャ照合部とを有することを特徴とするネットワーク監視装置。
  2. 前記シグネチャ格納部は、
    パラメータとして表現された照合アドレスが記述されているシグネチャを少なくとも一つ以上格納し、
    前記照合アドレス判定部は、
    前記ネットワーク判定部により判定された監視対象ネットワークに応じて、照合アドレスのパラメータを定数に変換して、前記アドレス抽出部により抽出された通信パケットのアドレスごとにそれぞれのアドレスが対応するアドレスフィールドのいずれかの照合アドレスに合致するかを判定することを特徴とする請求項1に記載のネットワーク監視装置。
  3. 前記シグネチャ格納部は、
    アドレスの集合を定数又はパラメータとして表現した基底アドレスが照合アドレスとして記述されているシグネチャを少なくとも一つ以上格納していることを特徴とする請求項1に記載のネットワーク監視装置。
  4. 前記シグネチャ格納部は、
    照合アドレスが記述されているヘッダ部と、通信パケットの構成のうちアドレス以外の部分と照合するための照合条件が記述されているボディ部とを有するシグネチャを少なくとも一つ以上格納し、
    前記シグネチャ照合部は、
    前記シグネチャ指示部により指示された照合アドレスの組合せを有するシグネチャのボディ部と入力した通信パケットの対応部分とを照合することを特徴とする請求項1に記載のネットワーク監視装置。
  5. 前記照合アドレス判定部は、
    前記アドレス抽出部により抽出された通信パケットのアドレスのそれぞれが対応するアドレスフィールドのいずれかの照合アドレスに合致するか否かの判定結果をアドレスごとに1ビットで示すことを特徴とする請求項1に記載のネットワーク監視装置。
  6. 前記照合アドレス判定部は、
    通信パケットに含まれるアドレスフィールドごとに、それぞれのアドレスフィールドに対応する照合アドレスをグループ内の照合アドレスの個数をm個とする互いに疎な要素のみで構成されるグループに分類し、前記アドレス抽出部により抽出された通信パケットのアドレスのそれぞれが対応するアドレスフィールドのいずれかの照合アドレスに合致するか否かの判定結果を0からmの整数により示すことを特徴とする請求項1に記載のネットワーク監視装置。
  7. 前記ネットワーク監視装置は、更に、
    前記シグネチャ格納部に格納されているシグネチャにおいて存在する照合アドレスの組合せを示し、それぞれの組合せに対する識別子である組合せ識別子を示す識別子情報を格納する識別子情報格納部を有し、
    前記シグネチャ指示部は、
    前記識別子情報格納部に格納された識別子情報に基づき、前記照合アドレス判定部により判定された照合アドレスの組合せに対応する組合せ識別子を判定し、判定した組合せ識別子を前記シグネチャ照合部に出力することを特徴とする請求項1に記載のネットワーク監視装置。
  8. 前記ネットワーク監視装置は、更に、
    前記シグネチャ格納部に格納されているシグネチャにおいて存在する照合アドレスの組合せの積集合を示し、それぞれの積集合に対する識別子である積集合識別子を示す識別子情報を格納する識別子情報格納部を有し、
    前記シグネチャ指示部は、
    前記照合アドレス判定部により判定された照合アドレスの組合せを解析した結果、前記照合アドレス判定部により判定された照合アドレスの組合せがいずれかの積集合に該当する場合に、前記識別子情報格納部に格納された識別子情報に基づき、前記照合アドレス判定部により判定された照合アドレスの組合せに対応する積集合識別子を判定し、判定した積集合識別子を前記シグネチャ照合部に出力することを特徴とする請求項1に記載のネットワーク監視装置。
  9. 通信パケットに含まれるアドレスと照合するための照合アドレスを通信パケットのアドレスフィールドに対応させて記述した少なくとも一つ以上のシグネチャを用いてネットワークの監視を行うネットワーク監視方法であって、
    監視対象ネットワークを送信元とする通信パケット及び監視対象ネットワークを送信先とする通信パケットの少なくともいずれかを入力するパケット入力ステップと、
    前記パケット入力ステップが入力した通信パケットに含まれているアドレスをアドレスフィールドごとに抽出するアドレス抽出ステップと、
    前記アドレス抽出ステップにより抽出された通信パケットのアドレスを解析し、入力した通信パケットの送信元又は送信先の監視対象ネットワークを判定するネットワーク判定ステップと、
    前記アドレス抽出ステップにより抽出された通信パケットのアドレスごとに、前記ネットワーク判定ステップにより判定された監視対象ネットワークに応じて、それぞれのアドレスが対応するアドレスフィールドのいずれかの照合アドレスに合致するかを判定する照合アドレス判定ステップと、
    前記照合アドレス判定ステップにより判定された照合アドレスの組合せを解析し、前記照合アドレス判定ステップにより判定された照合アドレスの組合せに一致する照合アドレスの組合せを有するシグネチャを照合対象とするよう指示するシグネチャ指示ステップと、
    前記シグネチャ指示ステップにより指示された照合アドレスの組合せを有するシグネチャを用いて通信パケットのシグネチャ照合を行うシグネチャ照合ステップとを有することを特徴とするネットワーク監視方法。
  10. 通信パケットに含まれるアドレスと照合するための照合アドレスを通信パケットのアドレスフィールドに対応させて記述した少なくとも一つ以上のシグネチャを用いたネットワークの監視をコンピュータに実行させるプログラムであって、
    監視対象ネットワークを送信元とする通信パケット及び監視対象ネットワークを送信先とする通信パケットの少なくともいずれかを入力するパケット入力処理と、
    前記パケット入力処理が入力した通信パケットに含まれているアドレスをアドレスフィールドごとに抽出するアドレス抽出処理と、
    前記アドレス抽出処理により抽出された通信パケットのアドレスを解析し、入力した通信パケットの送信元又は送信先の監視対象ネットワークを判定するネットワーク判定処理と、
    前記アドレス抽出処理により抽出された通信パケットのアドレスごとに、前記ネットワーク判定処理により判定された監視対象ネットワークに応じて、それぞれのアドレスが対応するアドレスフィールドのいずれかの照合アドレスに合致するかを判定する照合アドレス判定処理と、
    前記照合アドレス判定処理により判定された照合アドレスの組合せを解析し、前記照合アドレス判定処理により判定された照合アドレスの組合せに一致する照合アドレスの組合せを有するシグネチャを照合対象とするよう指示するシグネチャ指示処理と、
    前記シグネチャ指示処理により指示された照合アドレスの組合せを有するシグネチャを用いて通信パケットのシグネチャ照合を行うシグネチャ照合処理とをコンピュータに実行させることを特徴とするプログラム。
JP2004219588A 2004-07-28 2004-07-28 ネットワーク監視装置及びネットワーク監視方法及びプログラム Pending JP2006041969A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004219588A JP2006041969A (ja) 2004-07-28 2004-07-28 ネットワーク監視装置及びネットワーク監視方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004219588A JP2006041969A (ja) 2004-07-28 2004-07-28 ネットワーク監視装置及びネットワーク監視方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2006041969A true JP2006041969A (ja) 2006-02-09

Family

ID=35906473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004219588A Pending JP2006041969A (ja) 2004-07-28 2004-07-28 ネットワーク監視装置及びネットワーク監視方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2006041969A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009088936A (ja) * 2007-09-28 2009-04-23 Oki Electric Ind Co Ltd ネットワーク監視装置及びネットワーク監視方法
JP2010148090A (ja) * 2008-12-22 2010-07-01 Korea Electronics Telecommun パケット処理方法及びこれを用いたtoe装置
KR101346810B1 (ko) * 2012-03-07 2014-01-03 주식회사 시큐아이 통합적 서비스 제어 장치 및 방법
WO2020009094A1 (ja) * 2018-07-02 2020-01-09 日本電信電話株式会社 生成装置、生成方法及び生成プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009088936A (ja) * 2007-09-28 2009-04-23 Oki Electric Ind Co Ltd ネットワーク監視装置及びネットワーク監視方法
JP4556981B2 (ja) * 2007-09-28 2010-10-06 沖電気工業株式会社 ネットワーク監視装置及びネットワーク監視方法
US7876676B2 (en) 2007-09-28 2011-01-25 Oki Electric Industry Co., Ltd. Network monitoring system and method capable of reducing processing load on network monitoring apparatus
JP2010148090A (ja) * 2008-12-22 2010-07-01 Korea Electronics Telecommun パケット処理方法及びこれを用いたtoe装置
KR101346810B1 (ko) * 2012-03-07 2014-01-03 주식회사 시큐아이 통합적 서비스 제어 장치 및 방법
WO2020009094A1 (ja) * 2018-07-02 2020-01-09 日本電信電話株式会社 生成装置、生成方法及び生成プログラム
JP2020005234A (ja) * 2018-07-02 2020-01-09 日本電信電話株式会社 生成装置、生成方法及び生成プログラム
JP7052602B2 (ja) 2018-07-02 2022-04-12 日本電信電話株式会社 生成装置、生成方法及び生成プログラム
US11985151B2 (en) 2018-07-02 2024-05-14 Nippon Telegraph And Telephone Corporation Generation device, generation method, and generation program

Similar Documents

Publication Publication Date Title
CN1943210B (zh) 基于源/目的地操作系统类型的ids虚拟化
JP6053091B2 (ja) トラヒック特徴情報抽出方法、トラヒック特徴情報抽出装置及びトラヒック特徴情報抽出プログラム
US9092471B2 (en) Rule parser
Becchi et al. Memory-efficient regular expression search using state merging
US8762386B2 (en) Method and apparatus for data capture and analysis system
US8250016B2 (en) Variable-stride stream segmentation and multi-pattern matching
US8272056B2 (en) Efficient intrusion detection
JP2008011537A (ja) ネットワークセキュリティデバイスにおけるパケット分類
US20080313708A1 (en) Data content matching
JP6557334B2 (ja) アクセス分類装置、アクセス分類方法、及びアクセス分類プログラム
US10681007B2 (en) String search and matching for gate functionality
US20130246352A1 (en) System, method, and computer program product for generating a file signature based on file characteristics
US10944724B2 (en) Accelerating computer network policy search
Giacinto et al. Alarm clustering for intrusion detection systems in computer networks
CN112054992B (zh) 恶意流量识别方法、装置、电子设备及存储介质
KR102014741B1 (ko) Fpga 기반 고속 스노트 룰과 야라 룰 매칭 방법
JP2006041969A (ja) ネットワーク監視装置及びネットワーク監視方法及びプログラム
US20230247001A1 (en) Firewall System for Controlling Data Flow Between Computing Resources
KR100951930B1 (ko) 부적절한 패킷의 분류 방법 및 장치
KR102269652B1 (ko) 보안관제 데이터 분석을 위한 머신러닝 기반의 학습 벡터 생성 장치 및 방법
US11025650B2 (en) Multi-pattern policy detection system and method
Jeng et al. MD‐MinerP: Interaction Profiling Bipartite Graph Mining for Malware‐Control Domain Detection
KR102229554B1 (ko) 해시 키 생성 방법 및 그 장치
CN115022155B (zh) 信息处理方法、装置及存储介质
Noiprasong et al. An ids rule redundancy verification