説明

データ処理方法、ネットワークアナライザカード、ホスト、及び侵入検知システム

例えばネットワーク接続されたコンピュータシステムにおいて、ホスト上でアプリケーションを適切に実行させることを可能とする。
本発明は、データ処理方法に関する。このデータ処理方法は、データをネットワークリンクから受信する受信工程と、前記データをネットワークアナライザカード上で複製し、少なくとも二版(two editions) である複数版の前記受信したデータを生成する複製工程と、前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内のメモリ領域に書き込む書き込み工程と、を備える。本発明はまた、ホストとネットワークを接続するネットワークアナライザカードであって、ネットワークリンクから複数のデータフレームを受信する受信機と、前記受信したデータフレームの少なくとも2個の複製版を生成するデータ複製手段と、実質的に前記受信したデータフレームの少なくとも2個の複製版の夫々に、識別子を付加するように構成及び配置された識別子加算器であって、前記識別子は、前記データフレームを処理する際に用いるために付加される前記データフレームに関するデータを含むような識別子加算器と、を備えることを特徴とするネットワークアナライザカードに関する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理方法、ネットワークアナライザカード、ホスト、及び侵入検知システムに関する。
【背景技術】
【0002】
ネットワーク接続されたコンピュータシステムは、それらが接続されるネットワークから、ハッカー、スパイ及び犯意を持つ者等によってシステム上に起こされる攻撃を検知し、また時には除去するための侵入検知システム(IDS)を備えつつある。IDSは、部分的には、受信データパケット中のデータをスキャンし、そのデータパケット又はパケット群が不正又は不要であるかどうかを定める規則を適用することにより動作する。侵入の試みが手の込んだものになるにつれ、その侵入の試みを検知するために、より多くの規則を適用する必要があるので、IDSはコンピュータ的に、又はコンピュータ処理能力的により強化されたものとなる。
【0003】
加えて、ネットワーク上のデータ速度が上がっているので、受信データパケットを分析するプロセッサ又は中央演算処理装置(CPU)が、トラフィックに遅れずについていくように動作すべき速度が増加する。これを解決するために、二以上のプロセッサ又はCPUを用いて規則分析を実行するIDSが開発されている。これは、言い換えると、その作業、即ち、受信データパケットに対する規則の実行を、プロセッサ間で共有するような方法を見つけなければならないという意味である。
【0004】
ネットワーク接続型のコンピュータ産業における他の動向としては、多面的機能(IDS、ファイアウォール、ネットワーク分析、パケットキャプチャ)を同一ホストで実行することが挙げられる。これには、ホストが接続しているネットワークから、ホストで受信したデータを多面的機能のうちの各機能に供給する方法と装置が必要である。
【0005】
IDSの例について言えば、IDSに関わる規則分析を二以上(例えば、N個)のプロセッサ間で共有する問題を解決するために、複数の異なる手法が存在する。
【0006】
第1の手法は、N個のプロセッサ間におけるトラフィックの共有に関わるものである。各プロセッサは、全規則を受信するトラフィックを適用する。トラフィック共有を実行する装置は、負荷分散装置(ロードバランサ)と称されることもある。なぜなら、使用の際に、N個のプロセッサ間において受信したトラフィックを等しく共有しようとするためである。各プロセッサが全トラフィックの1/Nを受信する場合は、トラフィック処理能力は単一プロセッサの場合のN倍である(CPUの独立性を限定するシステム問題はいずれも考慮しない)。
【0007】
第2の手法は、各プロセッサが、IDSをN個のプロセッサ間で実行するのに必要な規則を、当該規則の一部を受信したネットワークデータに適用するだけであるように共有することである。この手法を用いると、N個のプロセッサの夫々は、受信した全データパケットが全規則が何らかの形で適用される規則を含むように、全てのトラフィックを受信する。各プロセッサが1/Nの規則(これは一つの規則を処理するために必要なプロセッササイクルの数により測定される)を適用する場合、このようなIDSの規則処理能力は、単一プロセッサの場合のN倍である。これは、単一プロセッサのトラフィックのN倍量を処理可能であることと同じである。
【0008】
第3の手法は、複数のプロセッサにより実行されるIDSソフトウェアを、幾つかのプロセッサ上で実行されるバージョンに書き込む又は書き換えることである。これは一般には、マルチスレッドと称される。一例としては、一つのプロセッサ上で実行され、データパケットを他のプロセッサへ分け与えるように配置された外部負荷分散装置のソフトウェア相当物を構築することであろう。ここで、その他のプロセッサの夫々は、全ての規則を適用している。事実上、これは、先に説明した第1の手法におけるソフトウェアの実行である。
【0009】
これら全ての場合では、N個の全プロセッサが完全に占有状態に保たれる場合にのみ、十分な性能向上が実現される。これは、複数のプロセッサ間におけるデータパケット及び/又は規則の共有が適切に行われなければならないことを意味する。
【発明の開示】
【発明が解決しようとする課題】
【0010】
上述の手法には多くの問題がある。第1の手法では、負荷分散装置は、N個のプロセッサのいずれにも受信データパケットをむやみに分配することができない。負荷分散装置は、試みた侵入(又は侵入の試みのために用いられるデータ)が幾つかのデータパケットから構成されることを認識する必要がある。侵入として検知されるには、このようなパケット群が全てN個のプロセッサのうちの同一のプロセッサに送信されなければならない。その群内のパケットがN個のプロセッサのうちの二以上のプロセッサの間で分けられる場合は、そのパケット間の相関関係は見られなくてもよく、また侵入は検知されなくなるであろう。故に、負荷分散装置は、知能と、どのパケットがどのプロセッサに渡されたかに関する状態情報を保持する能力とを有する必要がある。これにより、負荷分散装置は、特にデータ/パケット速度が速い状態に対応する場合は、複雑で高価な装置となる。
【0011】
加えて、IDSは、ファイアウォールの前(ファイアウォールにより除去される侵入を検知するため)及び/又はファイアウォールの後ろ(ユーザのシステム内部からの侵入や、ファイアウォールの通り抜けに成功した侵入を検知するため)に設置される場合もある。どちらの場合も、こうすることで、IDS、特に負荷分散装置がこのような攻撃を受けやすくなってしまう。負荷分散装置を攻撃に対して強くすれば、複雑性やコストが増加する可能性がある。
【0012】
先に説明した第2の手法において、N個のプロセッサの夫々は全データを受信しなければならないので、システムを流れるデータ量はN倍に増大されてきた。オペレーションシステム(OS)及びメモリシステムを含むネットワークデータ処理システムは、この増加するデータ速度に対応できなければならない。また、データを複製し、本質的にN版(N editions)のデータを生成する手段を備えなければならない。これは、光ファイバーがデータを搬送する場合にはビームスプリッタにより、又は、例えば銅線を用いてデータが搬送される電子手段により行われてよい。どちらの場合も、このようにするとシステムの複雑性とコストを高めることになる。
【0013】
第3の手法に関して、マルチプロセッサシステムを効率よく使用するために、IDSソフトウェアのような複雑なソフトウェアを書き込む又は書き換えることは、必ずしも容易ではない。IDSで用いられる工程の幾つかは、本質的に事実上連続しており、従って、直接平行又はマルチスレッド実行には不向きである。更に、ソフトウェア負荷分散装置の性能は、ハードウェア(上述の第1の手法で用いられるもの等)の性能よりも劣っており、システムメモリを使い果たすであろう。
【0014】
これまでは、主に、侵入検知システムに係る課題について議論してきた。当然のことながら、多面的機能が同一のホストに備わる場合は、いつでも、同様の又は相当する問題に直面する。このような機能の例としては、ファイアウォールの機能性、ネットワーク分析及びパケットキャプチャが含まれる。
【課題を解決するための手段】
【0015】
本発明の第1の態様によれば、データをネットワークリンクから受信する受信工程と、前記データをネットワークアナライザカード上で複製し、少なくとも二版(two editions)である複数版の前記受信したデータを生成する複製工程と、前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内のメモリ領域に書き込む書き込み工程と、を備えることを特徴とするデータ処理方法が提供される。
【0016】
本発明のこの態様は、少なくとも二版である複数版の受信データパケットを生成するように、ネットワークリンクから受信したデータを複製するデータ処理方法を提供する。そして、この少なくとも二版である複数版は、ホスト上のメモリ領域内へ記憶される。このメモリ領域は、ホストアプリケーションにより直接アクセス可能である。従って、データがホストメモリに書き込まれた後に、ホストメモリの一部からデータ処理のための別の部分に複製されるような従来のシステムとは対照的に、本発明では、データは、ホスト上で実行されるアプリケーションによって直接アクセス可能なメモリ領域に書き込まれる。
【0017】
ネットワークアナライザカード上のデータを複製しても、ホストプロセッサの処理能力(又はプロセッササイクル)は、データパケットの複製に全く使用されない。従って、一又は複数のホストプロセッサは、ホスト上で実行されるアプリケーションに、自らの処理能力をより高い割合で割り当てることができる。
【0018】
本発明のデータ処理方法は、好ましくは、ホストアプリケーションによりアクセス可能な前記メモリ領域に記憶された前記複数版の受信したデータを処理する処理工程を備え、この処理工程は、各版における侵入検知に関する異なる組の規則を実施する実施工程を備える。いくつかの規則が二以上の版に対して実施されてよい。
【0019】
好適な例では、ホストアプリケーションによりアクセス可能なメモリ領域に記憶されたデータは、侵入検知に関する規則を実施することを含む。このデータは、ホストアプリケーション(この場合、侵入検知用のアプリケーション)により直接アクセス可能なホストメモリ領域に書き込まれるので、ホストオペレーティングシステムはデータを複製する必要はなく、従って、その他の処理機能に対する能力が増加する。
【0020】
少なくとも二版である複数版のデータが生成されるので、夫々がホスト内の異なるプロセッサにより処理されてよい。従って、侵入検知システムは、複数のプロセッサ間で規則を共有することにより可能となる迅速な処理能力の利益を享受すると同時に、ホストへ転送されたデータをホストメモリ内部のカーネル空間からアプリケーション空間へ複製する必要がないため、ホストへのメモリ要求は制御される。
【0021】
本発明のデータ処理方法の一例では、全ネットワーク監視/分析アプリケーションに同様の利益をもたらす。特に、単一スレッドであって、且つマルチプロセッサホストで実行されるアプリケーションに利益をもたらす。加えて、本発明は、複数アプリケーションのうちの一アプリケーションがそのデータを効率的に取得しない場合、全アプリケーションを遅くさせてしまうソフトウェア又はハードウェア負荷分散装置(ロードバランサ)に頼ることなく、異なる複数のアプリケーションを独立的に実行可能である。
【0022】
本発明の実施例は、任意の適切なネットワーク監視管理又は分析アプリケーションに用いられてよい。その例として、RMONII(ネットワーク監視/統計分析)プローブ、IDS/IDP、Billing/Mediation、ネットワーク監視、行動特性(Behavior Characterisation)、トラブルシューティング等が含まれる。
【0023】
本発明の第2の態様によれば、ホストとネットワークとを接続するネットワークアナライザカードであって、ネットワークリンクから複数のデータフレームを受信する受信機と、前記受信したデータフレームの少なくとも2個の複製版を生成するデータ複製手段と、実質的に前記受信したデータフレームの少なくとも2個の複製版の夫々に、識別子を付加するように構成及び配置された識別子加算器であって、前記識別子は、前記データフレームを処理する際に用いるために付加される前記データフレームに関するデータを含むような識別子加算器と、を備えることを特徴とするネットワークアナライザカードが提供される。
【0024】
本発明の第3の態様によれば、ネットワークに接続するためのホストであって、前記ネットワークからデータを受信するネットワークアナライザカードと、当該ネットワークアナライザカードから少なくとも二版である複数版の前記受信したデータを受信するためのメモリと、前記複数版の受信したデータを処理する少なくとも2個のプロセッサと、を備え、前記ネットワークアナライザカードは本発明の第2の態様に従うことを特徴とするホストが提供される。
【0025】
本発明の第4の態様によれば、本発明の第3の態様に係るホストを備え、前記複数のプロセッサは、前記ホストにより受信されたデータパケットに対して侵入検知システムにおける規則を実施するように配置されることを特徴とする侵入検知システムが提供される。
【0026】
侵入検知システムの規則分析は、二以上のプロセッサで共有されるので、侵入検知システムは侵入検知を比較的迅速に実行することができる。更に、ネットワークから受信されたデータを複製し、侵入検知アプリケーションに直接アクセス可能なホストメモリ領域に書き込むようにすることで、この特徴に関連する上述の利益も実現される。
【0027】
本発明のその他の態様によれば、データをネットワークリンクから受信する受信工程と、前記データを複製し、少なくとも二版である複数版の前記受信したデータを生成する複製工程と、前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内の一又は複数のメモリ領域に書き込む書き込み工程と、を備えることを特徴とするデータ処理方法が提供される。
【発明を実施するための最良の形態】
【0028】
ここで、添付の図面を参照して、本発明の実施例を詳細に説明する。
【0029】
図1は、通信システムの略図である。通信システム2は、ファイアウォール4を介してインターネット6に接続される。通信システム2は、通常このような通信システムに設けられる複数の構成要素からなる。通信システム2は、単にこのようなシステムにおいて考えられる一例である。このような通信システムにおいては、大体同じ又は異なる構成要素が、任意の組み合わせられて設けられてよい。
【0030】
図1の例を参照すると、通信システムは、ファイアウォール4を介してインターネット6に接続されたルータ8を備える。ルータ8は、インターネット6と複数のユーザ端末10から10との間で両方向に情報を送る役目を果たす。複数の侵入検知システム12から12は、通信システム2内の各部位に設けられる。侵入検知システム12は、ファイアウォール4とルータ8との間の通信チャンネルに光タップを介して接続される。IDS12は、インターネット6からルータ8で受信した全データの複製を受信するように配置される。それにより、この受信データを処理して通信システム2への侵入が起きているか否かを決定することが可能となる。以下に、侵入検知システムの役割、機能、動作方法を詳細に説明する。
【0031】
侵入検知システム12から12のうちの少なくとも幾つかは、侵入が検知された場合には、ファイアウォールに侵入の種類を知らせて更新し、今後そのような侵入を認めないように、ファイアウォール4と通信可能にしつつ配置されることが好ましい。
【0032】
図2は、本発明の実施形態に係るネットワークアナライザカード及びホストを含むIDSの略図である。図示した実施例において、ホスト30は、ネットワークアナライザカード32に接続されて設けられる。ネットワークアナライザカード32は、別個の拡張カードとして示される。このような状況である必要性は必ずしもなく、代わりに、当該カードはホスト30内部の埋め込みシステムであってよい。ネットワークアナライザカード32は、ネットワーク(図示せず)に、図1に図示され且つ図1を参照して簡潔に記載したルータ/スイッチ8等の複数の中間構成要素を任意に介して接続される。通常、ネットワークアナライザカード32は、タップ又はルータ/スイッチ「SPAN」ポート、即ち、当該ルータ/スイッチを通過する全トラフィックの複製、ミラー化、又は冗長化を実行し、一般に監視に用いられるポートを介してネットワークに接続される。
【0033】
ホスト30は、N個の中央演算処理装置(CPU)34から34Nから構成される。オペレーティングシステム36及びメモリ38は、ホスト30上に設けられる。その他多数の構成要素は、明確にするために図2に図示していないが、通常、ホストに含まれてよい。
【0034】
図示した実施例において、プロセッサ34から34Nの夫々は、IDSにおける全ての組の規則から所定数の規則を実行するように配置される。この実施例において、プロセッサ34から34Nの夫々は、IDSの100%/Nの規則を実行するように配置される。CPU34から34Nの間で規則を適切に分配する任意の方法が用いられてよい。一又は複数のプロセッサは、100%/Nよりも多い規則を備えていてよく、また、一又は複数のプロセッサは、100%/Nよりも少ない規則を備えていてよい。全体的に見て、IDSにおける各規則が少なくとも一つのCPUにより実行されることが要求される。もちろん、上述のように、これはIDSに関する記述であるが、当然のことながら、記載したシステム及び方法は、ネットワークリンクから受信したデータに対して多面的機能を実行するような、その他多数の種類の用途に、等しく適用可能である。
【0035】
再び図2について、使用の際、ネットワークからネットワークアナライザカード32で受信したデータは、ネットワークアナライザカード32により複製され、メモリ38に供給される。当初受信したデータは、当該N版のデータを生成するように複製され、また全データはメモリ38に書き込まれる。この書き込みは、自身の間でIDSアプリケーションを実行するプロセッサ34から34Nが、データに直接アクセスするように行われる。これは、データをメモリのカーネル空間へと受信し、オペレーティングシステムによりアプリケーション空間へ複製して、関連するプロセッサで使用するという従来のシステムとは対照的に、この場合には、ネットワークアナライザカード32により書き込まれた物理的な位置から直接データがアクセスされてよい。従って、ホストの処理能力は、ホストにおけるメモリの物理カーネル空間から物理アプリケーション空間へデータを複製するのに必要ではない。
【0036】
図3は、図2におけるホスト30内に図示されたメモリ38の略図である。メモリ38は、アプリケーション空間40とカーネル空間42から構成される。図2を参照して先に説明したように、N版の受信データは、全て、IDSアプリケーションを実行するプロセッサ34から34Nが直接データにアクセス可能である状態で、メモリ38の一領域又は複数の領域に書き込まれる。図3において、受信データはホストのメモリ38のカーネル空間42に直接書き込まれる。メモリ38のアプリケーション空間40で実行されるアプリケーションが、メモリ38のカーネル空間42に記憶されるデータに直接アクセスできるプロトコルドライバ44が設けられる。
【0037】
従って、メモリ38のカーネル空間からアプリケーション空間40の対応する領域にデータを複製しなければならないかわりに、データは、アプリケーション空間から直接アクセスされることになる。よって、データを複製する必要はなくなる。これにより、ホストのCPUはこの目的のためにデータの複製を実行する必要がないため、効率がよくなる。加えて、受信データの複製をこの目的のために行う必要はないので、必要メモリを減らすことができる。ここでの受信データは、ネットワークアナライザカード32からメモリ38に受信された全データに関するものである。
【0038】
メモリ38のアプリケーション空間で実行されるアプリケーションに対して、カーネル空間に記憶されたデータにアクセスする能力は、オフセット及び仮想ベースアドレスを用いて達成される。データをカーネル空間42における物理メモリに受信するにつれ、オフセット一覧がカーネル空間42内のベースアドレスを参照して生成される。従来であれば、このデータは、その後メモリ38におけるアプリケーション空間40内の物理領域へ全て複製される。しかしながら、本発明における実施例では、データを複製するかわりに、オフセット一覧が、プロトコルドライバ42によって、アプリケーション空間40で実行されるアプリケーションに渡される
このオフセット一覧は、領域46のベースアドレスに関してはオフセットを含み、またカーネル空間42におけるベースアドレスを参照して用いられるオフセット一覧を含む。言い換えれば、オフセット一覧に対するオフセットは、アプリケーション空間42で実行されるアプリケーションに供給される。これにより、アプリケーション空間40で実行されるアプリケーションは、カーネル空間42内の領域46のベースアドレスを示すオフセットと、その次にそのオフセットを参照してオフセット一覧とを用いて、カーネル空間に記憶されたデータに直接アクセス可能となる。このマッピングは、本実施例においては、オフセットをアプリケーション空間40に供給するように配置されたプロトコルドライバ44により可能である。領域46内のメモリは、上述のオフセットを用いてアプリケーション空間40で実行されるアプリケーションにより、カーネル空間内に記憶されたデータを正確に位置付け可能とする連続メモリである。
【0039】
図4に、ネットワークアナライザカード32の一部が、4個の外部チャンネルCHからCHにおいてネットワーク(図示せず)からデータを受信している様子を示す。データ処理を簡略化するために、複数のチャンネルを単一シリアルデータストリームに統合することが知られている。これを、チャンネル統合機能60の提供により模式的に図4に示す。
【0040】
図4に、4個のチャンネル受信機58から58を示す。各受信機58から58は、対応するチャンネルCHからCHからデータを受信するように配置される。受信機58から58は、対応するチャンネルから受信したデータをチャンネル統合機能60へ供給するように配置される。いずれの適切なチャンネル統合機能を用いてよい。好ましくは、米国仮出願No.60/495,133に記載のチャンネル統合機能が用いられる。その全内容は、参照することにより本願に組み込まれる。チャンネル統合機能からの出力は、図3に模式的に示したメモリ等の、ホストのメモリに供給される。
【0041】
図5は、複製機能を備えたネットワークアナライザカードの変形例を示す。図4に示したデータフローのように、図5において、データは、4個の外部チャンネルCHからCHで対応する受信機62から62により受信される。複数の複製ユニット64から64が備わっている。図示の例では、各複製ユニットはマルチプレクサから構成されるが、データを複製する任意の適切な手段を備えてよい。
【0042】
各受信機62から62からの出力は、夫々、複製ユニット64から64に接続される。複製制御ユニット65の制御下において、受信機62から62のいずれかの出力を、複製ユニット64から64の出力上に出現させるように、選択することができる。一の受信機の出力を複製ユニットの全て(この場合、複製の最大量を与え、その他の受信機の出力は無視される)の出力上に出現させることから、各受信機の出力をその対応する複製ユニットの出力上に出現させることまで、多くの組み合わせが可能である。
【0043】
この場合複製は行われず、この事例は、動作の非複製モードが可能であるということを示すために記載されている。この実施例において、複製ユニット64から64の夫々を、図4に図示し且つ図4を参照して記載した機能のようなチャンネル統合機能に結合した出力64から64を夫々有するマルチプレクサとして示す。好ましくは、複製ユニットは、FPGA等のハードウェアで具体化される。
【0044】
複製ユニット64から64からの出力は、ネットワークアナライザカード32内の内部チャンネルを独立に規定する。内部チャンネル(64から64)は、相異なる独立したものであり、外部ネットワークからネットワークアナライザカード32によりデータを受信する外部チャンネル(CHからCH)と混同されることはない。
【0045】
チャンネル統合機能68は、マルチプレクサ64から64夫々からの出力を受信し、4個の内部チャンネルにおいてデータを統合された連続データストリームに統合する。そして、チャンネル統合機能68は、統合された連続データストリームを、ホストのメモリへ書き込むためにホストに供給する。複製が最大の場合、複製ユニット64から64夫々からのデータフローは事実上同一となる。しかしながら、チャンネル統合機能68は、各信号66から66を、独立した処理用チャンネルのように取り扱う。これにより、選択的フィルタリングを信号66から66に対して行うことが可能となる。これについて、以下に詳細に説明する。
【0046】
複製データが一旦チャンネル統合機能68により統合されると、統合された連続データストリームは、図3を参照して記載したホストメモリへ書き込むために、ネットワークアナライザカード上又は外に設けられた更なる処理機能性へと渡されることが好ましい。これを実行できる機能性の適切な一例は、米国仮特許出願No.60/528,717に記載されている。その全内容は、参照することにより本願に組み込まれる。米国仮特許出願No.60/528,717は、ネットワークから受信したデータフレーム/パケットを取り扱うネットワークアナライザカードにおけるストリームパケット供給機能について詳細に記述している。図6は、US60/528,717に図示され、詳細に記述されたストリームパケット供給機能の模式的ブロック図である。
【0047】
図6に関して、連続データストリームをアップストリーム源から受信するフロントエンドFIFO(First In First Out)100が備わっている。アップストリーム源は、図3に示した配置により出力されたストリーム等の統合データストリームであってよい。
【0048】
フロントエンドFIFO100は、帯域フィルタ及び記述子更新ユニット102に接続される。このユニット102は入力FIFO104に接続され、これ自身はパケットバッファコントローラ106に接続され、更なるFIFO108を介してダイレクトメモリアクセス(DMA)インターフェース110、並びにDMAコントローラ120に接続される。使用の際には、データは、統合されたデータストリームにおけるチャンネル統合機能68から、フロントエンドFIFO100に転送される。フロントエンドFIFO100から、帯域フィルタ及び記述子更新ユニット102に送信される。この段階で、データパケット識別子は、統合されたデータストリームにおけるデータフレームのうちの少なくともいくらかに付加され、好ましくは、全てに付加される。ここで、対応する識別子を有するフレームは、データパケットと称される。
【0049】
データパケット識別子は、関連するデータパケットに関する複数のパラメータを示すために用いられる複数のフィールドを備える。重要なことには、識別子は、付属するデータフレームの長さを示すために用いられるフィールドを含んでいる。これにより、図3を参照して説明した、ホストメモリ内にデータパケットを配置するために用いられる上述のオフセットを生成できる。また、識別子は、ホストCPUにおける割り込みを発生させる必要がほとんどないように、ホストメモリへ転送するデータをグループ化するために用いられてよい。識別子は、付属するデータフレームが受信された時間を示すために用いられるフィールドと、データフレームが受信されるチャンネルを示すために用いられるフィールドとを含んでいることが好ましい。
【0050】
図5及び図6に示したデータフローは、好ましくは、通常のネットワークアナライザカード上に配列される。
【0051】
図7は、ネットワークアナライザカード32とホスト30上に配置された複数のプロセッサ34から34Nとを含むデータフローの略図である。図7において34から34Nと番号がつけられた箱の夫々が、実際に、プロセッサと、それに論理的に結合されたメモリとを表す。図示の例では、データは、ネットワークアナライザカード32により受信され、図5を参照して記載したように複製され、図3を参照して説明したようにホスト30上のメモリへ書き込まれる。明確にするために、パラレルストリーム70から70として示すように、ネットワークアナライザカードからの出力は、統合された連続データストリームから構成されることが好ましい。
【0052】
一例では、メモリ38は、実際には単一の物理メモリであって、そのうちのオペレーティングシステムはプロセッサ34から34Nにセクションを割り当てる。従って、論理的に、各プロセッサは、メモリにおける専用の分離セクションを有する。また、全プロセッサに共通のメモリ領域、即ち、全プロセッサがアクセス可能なメモリ領域が存在していてもよい。
【0053】
物理メモリは、ホスト内部の複数の別個のカード上で実行されてよい。これは確かにしばしば起こるのであるが、それでもやはり単一物理メモリとして考えられる。或いは、一定量のメモリを各プロセッサと共におさめ、また性能的理由から、ホストオペレーティングシステムは、このようなメモリの夫々を、それと物理的に関連するプロセッサへ割り当ててもよい。物理的には、データをホストに転送する際にネットワークアナライザカード32が参照する一のメモリが、効果的に存在することが好ましい。
【0054】
ネットワークアナライザカード32は、メモリの分離セクション内に各内部チャンネルのデータを書き込み、また記憶するように、ホストオペレーティングシステムとともにドライバソフトウェアにより構成されてよい。ネットワークアナライザカード32によりデータが書き込まれるメモリのセクションの夫々は、論理的には、異なるプロセッサに属する。
【0055】
一つの考えられる例では、ネットワークアナライザカード32は、いくつかの別個の物理メモリに対する複数のインターフェースを備える。そして一般的には、図7に関して、プロセッサ34から34Nの夫々は、対応するプロセッサ及び/又はその他のメモリから物理的に分離又は非分離の、論理的に結合されたメモリを備える。
【0056】
図7に示した例は、複数版の受信データストリームが、ネットワークアナライザカード32から現れている様子を示す。フィルタ70から70Nは、複数版の夫々に適用されており、従って、本実施例においてN=3である。図5が、4個のチャンネル、4個の受信機、4個の複製ユニット等を示す一方、図7は、N個のプロセッサが存在するという更に一般的な状況を示している。これは、この番号付け34から34Nに反映される。複製後、信号66から66は、多元独立チャンネルに類似しており、先に説明したように、内部チャンネルと称されてよい。従って、フィルタ70から70Nの夫々は、独立チャンネルとしてその対応する信号に作用するように用いられてよい。
【0057】
トラフィックのプロファイルに応じて、フィルタ70から70Nによりプロセッサ34から34Nに供給されたデータを減少させるために、フィルタリングを用いることができる。例えば、フィルタリングは、それが基づく通信プロトコル(インターネットプロトコル、ユーザデータグラムプロトコル、転送制御プロトコル(TCP)等)に応じて、データをネットワーク「ポート」又は「アドレス」範囲に制限するのに用いることができる。独立した複数版のデータにおける複製及びフィルタリングを組み合わせることで、マルチCPUの全体的(又は総合的)な性能面において、データ速度と複数の規則とにおける効果をバランスよく保つことができる。従って、個々のCPUの規則及び動作は、その特定のCPUで受信された受信トラフィックに一致してよい。
【0058】
図8から図10は、異なるフィルタリング配置をとったデータフローの略図である。図8に関して、全体で4個のチャンネルが存在し、フィルタがいずれの内部チャンネルにおいても全く用いられていない場合は、4個のCPUの夫々により実施される、単純に分割された25%の規則が用いられてよい。例えば、図8から図10の夫々におけるフィルタからの出力は、4個のパラレルストリームとして示される。その4個のパラレルストリームは、フィルタリングの前又は後で、単一の連続データストリームに統合される可能性がある。図5を参照して記載したようなチャンネル統合機能が用いられてよい。
【0059】
図9に関して、内部チャンネルのうちの2個のチャンネルが、インターネットトラフィックのみを通過可能とするようにフィルタ処理する場合、内部チャンネルのうちの第3チャンネルは、インターネットトラフィックではないが特定の通信プロトコル、例えばプロトコル「n」であるトラフィックを通過可能とするようにフィルタ処理する。第4の内部チャンネルは、その他の全てのトラフィック、即ち、インターネットトラフィックでも特定の通信プロトコルでもないトラフィックを通過可能とするようにフィルタ処理する。そして、データが複製されるプロセッサにより用いられる規則は、要求された特異的規則のみを備えてよい。
【0060】
上記の例に対して、4個のうちの2個のプロセッサは、夫々、インターネットトラフィックに関する50%の規則を備え、第3のプロセッサは、通信プロトコル「n」に関する規則を備え、第4のプロセッサは、通信プロトコル「n」に関係しない非インターネット規則の全てを備えるであろう。
【0061】
図10に関して、この場合、4個のうち3個のフィルタが、インターネットトラフィックのみを通過させるように配置され、一方、第4のフィルタが非インターネットトラフィックのみを通過させるように配置される。従って、各フィルタがデータを供給するプロセッサにより用いられる規則は、適宜選択される。図示の例では、3個のフィルタが夫々、インターネットトラフィックに関する33%のIDS規則を実行するように配置され、第4のフィルタが、非インターネットトラフィックに関する100%の規則を実行するように配置される。
【0062】
言い換えれば、ネットワークアナライザカード32から受信されるデータストリームのうち最初の3ストリームは、インターネットトラフィックのみが統合された信号内で保持されるようにフィルタ処理される。第4のストリームは、非インターネットトラフィックのみが統合された信号内で保持されるようにフィルタ処理される。3個のインターネット信号の夫々を受信するように配置された3個のプロセッサは、夫々、IDSにおける異なる1/3のインターネット規則を備える。第4のプロセッサは、100%の非インターネット規則を備える。
【0063】
図11は、本発明の他の実施形態に係るネットワークアナライザを含むデータフローの例を示す。この場合、2個のチャンネルCH0及びCH1は、ネットワークアナライザカード32で受信される。これらのチャンネルは、先に説明したように複製され、この複製されたチャンネルは、内部チャンネルCH0/CH1及びCH0/CH1に統合される。この実施例におけるホストは、2個のIDSプロセッサを備え、各プロセッサは、全体でみれば全受信データがIDSの全規則で処理されるように、IDSにおける夫々異なる50%の規則を実施するように配置される。
【0064】
当然のことながら、当業者は上述の好適な実施形態における変形例及び逸脱例を多く思いつくであろう。従って、本発明は、添付の特許請求の範囲及びその相当物の範囲内において、発明の変形例や改良例を包含することを目的とする。
【図面の簡単な説明】
【0065】
【図1】通信システムの略図である。
【図2】侵入検知システムの略図である。
【図3】メモリの略図である。
【図4】侵入検知システムの略図である。
【図5】データ複製機能を含むチャンネル統合機能の略図である。
【図6】ネットワークアナライザカード上で実施されるストリームパケット機能の模式的ブロック図である。
【図7】データフローの略図である。
【図8】異なるフィルタリング配置をとったデータフローの略図である。
【図9】異なるフィルタリング配置をとったデータフローの略図である。
【図10】異なるフィルタリング配置をとったデータフローの略図である。
【図11】異なるフィルタリング配置をとったデータフローの略図である。
【符号の説明】
【0066】
2 通信システム
4 ファイアウォール
6 インターネット
8 ルータ
10 ユーザ端末
12 侵入検知システム

【特許請求の範囲】
【請求項1】
データをネットワークリンクから受信する受信工程と、
前記データをネットワークアナライザカード上で複製し、少なくとも二版(two editions)である複数版の前記受信したデータを生成する複製工程と、
前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内のメモリ領域に書き込む書き込み工程と、
を備えることを特徴とするデータ処理方法。
【請求項2】
ホストアプリケーションによりアクセス可能な前記メモリ領域に記憶された前記複数版の受信したデータを処理する処理工程を備え、この処理工程は、各版における侵入検知に関する異なる組の規則を実施する実施工程を備えることを特徴とする請求項1に記載のデータ処理方法。
【請求項3】
前記データはハードウェアを用いて複製されることを特徴とする請求項1又は2に記載のデータ処理方法。
【請求項4】
前記複数版の受信したデータは、複数の独立したデータストリームとして供給されることを特徴とする請求項1から3のいずれか一項に記載のデータ処理方法。
【請求項5】
前記少なくとも二版である複数版の受信したデータは、独立してバッファリングされることを特徴とする請求項1から4のいずれか一項に記載のデータ処理方法。
【請求項6】
前記複数の独立したデータストリームの夫々は、所望の基準に従ってフィルタ処理されることを特徴とする請求項4に記載のデータ処理方法。
【請求項7】
複数の異なるフィルタリング規則が、前記複数版の受信したデータの夫々に適用されることを特徴とする請求項4に記載のデータ処理方法。
【請求項8】
前記複数版の受信したデータを、前記ホストメモリにおけるカーネルメモリ領域に書き込む書き込み工程と、
前記メモリにおけるカーネル空間内の前記ホストアプリケーションにより前記データの位置付けを可能とするオフセットを前記ホストアプリケーションに供給する第1供給工程と、
を備えることを特徴とする請求項1から7のいずれか一項に記載のデータ処理方法。
【請求項9】
前記ホストメモリにおけるカーネル空間にデータを書き込む際に、カーネル空間内部のベースアドレスを参照したオフセット一覧を生成し、前記オフセット一覧は、前記ベースアドレスを参照して前記カーネル空間内部のデータパケットの位置付けを可能とするように機能することを特徴とする請求項8に記載のデータ処理方法。
【請求項10】
アプリケーション空間で実行されるアプリケーションに、前記カーネル空間内部のデータの前記ベースアドレスの位置付けを可能とするオフセットを供給する第2供給工程を備えることを特徴とする請求項9に記載のデータ処理方法。
【請求項11】
前記アプリケーションに、前記ベースアドレスのオフセットを参照してオフセット一覧を供給する第3供給工程を備えることを特徴とする請求項9又は10に記載のデータ処理方法。
【請求項12】
前記データはネットワークリンクから複数のデータフレームとして受信されることを特徴とする請求項1から11のいずれか一項に記載のデータ処理方法。
【請求項13】
実質的に前記受信した複数のデータフレームの夫々に、識別子を付加する付加工程を備え、前記識別子は、付加された前記データフレームに関するデータを含むことを特徴とする請求項12に記載のデータ処理方法。
【請求項14】
ホストとネットワークを接続するネットワークアナライザカードであって、
ネットワークリンクから複数のデータフレームを受信する受信機と、
前記受信したデータフレームの少なくとも2個の複製版を生成するデータ複製手段と、
実質的に前記受信したデータフレームの少なくとも2個の複製版の夫々に、識別子を付加するように構成及び配置された識別子加算器であって、前記識別子は、前記データフレームを処理する際に用いるために付加される前記データフレームに関するデータを含むような識別子加算器と、
を備えることを特徴とするネットワークアナライザカード。
【請求項15】
前記受信したデータフレームの少なくとも2個の複製版を、ホストアプリケーションにより直接アクセス可能なホストメモリ領域に書き込むデータ書き込み手段を備えることを特徴とする請求項14に記載のネットワークアナライザカード。
【請求項16】
前記識別子は、付属するデータフレームの長さを示すデータを含むことを特徴とする請求項14又は15に記載のネットワークアナライザカード。
【請求項17】
前記識別子は、対応するデータフレームが前記ネットワークアナライザカードで受信された時間を示すタイムスタンプを含むことを特徴とする請求項14から16のいずれか一項に記載のネットワークアナライザカード。
【請求項18】
前記データ複製手段、前記識別子加算器、及び前記データ書き込み手段のうちの一又は複数の手段が、ハードウェア内に配置されることを特徴とする請求項14から17のいずれか一項に記載のネットワークアナライザカード。
【請求項19】
前記ネットワークアナライザカードは、請求項1から13に記載の方法における工程を実施するように制御可能であることを特徴とする請求項14から18のいずれか一項に記載のネットワークアナライザカード。
【請求項20】
ネットワークに接続するためのホストであって、
前記ネットワークからデータを受信するネットワークアナライザカードと、
当該ネットワークアナライザカードから少なくとも二版である複数版の前記受信したデータを受信するためのメモリと、
前記複数版の受信したデータを処理する少なくとも2個のプロセッサと、
を備え、
前記ネットワークアナライザカードは請求項14から19のいずれか一項に従うことを特徴とするホスト。
【請求項21】
前記少なくとも2個のプロセッサの夫々は、前記規則されたデータの各版に対して、異なる組の規則を実施するように配置されることを特徴とする請求項20に記載のホスト。
【請求項22】
前記規則は侵入検知に関するものであることを特徴とする請求項21に記載のホスト。
【請求項23】
請求項20から22のいずれか一項に記載のホストを備え、
前記複数のプロセッサは、前記ホストにより受信されたデータパケットに対して侵入検知システムにおける規則を実施するように配置される
ことを特徴とする侵入検知システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公表番号】特表2007−538445(P2007−538445A)
【公表日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2007−517426(P2007−517426)
【出願日】平成17年5月20日(2005.5.20)
【国際出願番号】PCT/GB2005/001994
【国際公開番号】WO2005/114910
【国際公開日】平成17年12月1日(2005.12.1)
【出願人】(598138198)ザイラテックス・テクノロジー・リミテッド (14)
【住所又は居所原語表記】LANGSTONE ROAD,HAVANT,HAMPSHIRE PO9 1SA,UNITED KINGDOM
【Fターム(参考)】