JP2008197910A - ルール検証装置およびルール検証方法 - Google Patents

ルール検証装置およびルール検証方法 Download PDF

Info

Publication number
JP2008197910A
JP2008197910A JP2007032427A JP2007032427A JP2008197910A JP 2008197910 A JP2008197910 A JP 2008197910A JP 2007032427 A JP2007032427 A JP 2007032427A JP 2007032427 A JP2007032427 A JP 2007032427A JP 2008197910 A JP2008197910 A JP 2008197910A
Authority
JP
Japan
Prior art keywords
flow
frame
frame group
rule
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.)
Granted
Application number
JP2007032427A
Other languages
English (en)
Other versions
JP4983287B2 (ja
Inventor
Kazumine Matoba
一峰 的場
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 JP2007032427A priority Critical patent/JP4983287B2/ja
Priority to US12/026,817 priority patent/US8875275B2/en
Publication of JP2008197910A publication Critical patent/JP2008197910A/ja
Application granted granted Critical
Publication of JP4983287B2 publication Critical patent/JP4983287B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】トラフィック制御に関するルールが正当に機能しているか否かを容易かつ低コストで検証すること。
【解決手段】フロー状態監視部105は、FW装置#1およびFW装置#2がそれぞれ旧ルールおよび新ルールを適用して出力するフレームを取得し、旧ルールおよび新ルールそれぞれが適用されるフローの状態を監視する。そして、フロー状態監視部105は、フローの状態が旧ルールおよび新ルールの両方に関して終了すると、その旨をフレーム保持部107へ通知する。フレーム保持部107は、フローが終了した旨が通知されると、このフローのルール別のフレーム群からなる2つのキャプチャ情報をフロー比較部108へ出力する。フロー比較部108は、2つのキャプチャ情報を比較し、完全に一致していればこれらのキャプチャ情報を廃棄する一方、差分があればこれらのキャプチャ情報を出力する。
【選択図】 図1

Description

本発明は、トラフィックを制御するルールの差異に起因するトラフィックの変化を検証するルール検証装置およびルール検証方法に関し、特に、トラフィック制御に関するルールが正当に機能しているか否かを容易かつ低コストで検証することができるルール検証装置およびルール検証方法に関する。
従来、例えばサーバとクライアントの間の通信においては、不正なアクセスを防止するためにネットワーク上にファイアウォール装置が設置されることがある。ファイアウォール装置は、例えばルータなどに組み込まれてサーバとクライアントの間に設置され、フレームの送信元や宛先のIPアドレスおよびポート番号などから不正なフレームを検出し、検出されたフレームを廃棄することで不正アクセスを防止している。つまり、ファイアウォール装置は、設定されたルールに従ってトラフィックを遮断することにより、ネットワークのセキュリティを維持している。
このようなファイアウォールにおけるルールは、ネットワークの管理者が設定するものであり、上述したIPアドレスやポート番号以外にも、フレームの通信経路やサービスタイプなどに関して細かく設定することが可能となっている。そして、例えば特許文献1などにおいては、ファイアウォールのルールを自動的に設定することが検討されている。
特開2006−209322号公報
ところで、ファイアウォールの運用中に上記のルールを変更したり、ファイアウォール装置そのものを交換したりする場合には、ルール変更により、遮断されるトラフィックが変更される。このとき、例えばルールの設定ミスなどの要因により、所望のトラフィック以外のトラフィックが遮断されてしまうことがあり、必要なフレームが通信不可能となってしまう虞がある。
このような事態を回避するためには、ルール変更に際して、あらかじめルールの検証をしておくことが考えられる。すなわち、変更前の旧ルールが設定されたファイアウォール装置に入出力されるフレームを採取(キャプチャ)しておくとともに、変更後の新ルールが設定されたファイアウォール装置に入出力されるフレームをキャプチャし、キャプチャされたフレームを比較することにより、遮断されるトラフィックの変化を調査すれば良い。このとき、ルールの変更によって意図した変化のみが発生していれば問題はないが、意図していないトラフィックが遮断されていれば、新ルールの設定に何らかの問題があることになる。
しかしながら、ファイアウォール装置に入出力されるフレームをキャプチャするためには、相応の記憶容量を備えたストレージなどが必要となり、すべてのフレームをキャプチャするには、キャプチャされたフレームのために膨大な記憶容量を用意しなければならない。このため、ファイアウォールのルール変更という一時的な目的のために大容量のストレージが必要となり、コストの増大などを招くことから、すべてのフレームをキャプチャするルール検証は現実的ではない。
一方、定期的に一部のフレームをキャプチャしてルール検証を行う場合には、ストレージの容量は小さくて済むが、キャプチャされていないタイミングでのトラフィックの遮断を調査することができず、新ルールの設定が正当であるとの確証が得られない。
本発明はかかる点に鑑みてなされたものであり、トラフィック制御に関するルールが正当に機能しているか否かを容易かつ低コストで検証することができるルール検証装置およびルール検証方法を提供することを目的とする。
上記の課題を解決するために、本発明は、トラフィックを制御するルールの差異に起因するトラフィックの変化を検証するルール検証装置であって、1つの処理に対応するトラフィックに相当するフローに対して第1のルールが適用されて得られる第1のフレーム群と第2のルールが適用されて得られる第2のフレーム群とを取得する取得手段と、前記取得手段によって取得された第1のフレーム群および第2のフレーム群を参照してそれぞれのルールが適用されたフローの開始および終了を監視する監視手段と、前記取得手段によって取得された第1のフレーム群および第2のフレーム群を保持する保持手段と、前記監視手段によって第1のフレーム群および第2のフレーム群の双方からフローの終了が検出された際に、前記保持手段によって保持された第1のフレーム群および第2のフレーム群を比較し、差分がない第1のフレーム群および第2のフレーム群を廃棄する廃棄手段とを有することを特徴とする。
また、本発明は、上記発明において、前記廃棄手段によって廃棄されないフレーム群であって、差分がある第1のフレーム群および第2のフレーム群を出力する出力手段をさらに有することを特徴とする。
また、本発明は、上記発明において、前記出力手段は、検証の対象外のフローがあらかじめ設定されたフィルタ手段を含み、前記フィルタ手段によって対象外とされたフローに対応する第1のフレーム群および第2のフレーム群は出力せずに廃棄することを特徴とする。
また、本発明は、上記発明において、前記監視手段は、フローごとのエントリを備え、適用されたルールごとのフローの状態を各エントリにおいて管理する管理テーブルを含み、前記取得手段によってフレームが取得されると、取得されたフレームの種類に応じてこのフレームが属するフローに対応する前記管理テーブルのエントリを更新することを特徴とする。
また、本発明は、上記発明において、前記監視手段は、前記取得手段によってフローの開始を示す開始フレームが取得されると、前記管理テーブルに新規エントリを追加し、追加された新規エントリにおいて、開始フレームに適用されたルールに対応するフローの状態を接続状態に設定することを特徴とする。
また、本発明は、上記発明において、前記監視手段は、前記取得手段によってフローの終了を示す終了フレームが取得されると、このフローに対応する前記管理テーブルのエントリにおいて、終了フレームに適用されたルールに対応するフローの状態を終了状態に設定することを特徴とする。
また、本発明は、上記発明において、前記取得手段によって前回のフレームが取得されてから所定時間経過するまで次のフレームが取得されないフローおよびルールにおいてタイムアウトの発生を検出する検出手段をさらに有し、前記廃棄手段は、前記検出手段によって検出されたタイムアウトをフローの終了と同等に扱って、前記保持手段によって保持された第1のフレーム群および第2のフレーム群の比較を開始することを特徴とする。
また、本発明は、上記発明において、前記取得手段は、フローへのルール適用時に施されるアドレス変換と同一のアドレス変換を第1のフレーム群および第2のフレーム群の各フレームに対して実行する変換手段を含むことを特徴とする。
また、本発明は、上記発明において、前記取得手段によって取得されたフレームがデータ転送を制御する制御フローのフレームであるかデータ転送を行うデータフローのフレームであるかを判定する判定手段と、前記判定手段による判定の結果、制御フローのフレームである場合に、この制御フローに関連するデータフローを記憶する記憶手段とをさらに有し、前記廃棄手段は、前記監視手段によって第1のフレーム群および第2のフレーム群の双方からフローの終了が検出され、かつ、このフローに関連づけて前記記憶手段に記憶されたすべての制御フローおよびデータフローの終了が検出された際に、終了が検出されたすべてのフローに対応する第1のフレーム群および第2のフレーム群の比較を行うことを特徴とする。
また、本発明は、上記発明において、前記取得手段は、ファイアウォールにおいて遮断するフレームを規定する第1のルールおよび第2のルールが適用されて得られるフレーム群を取得することを特徴とする。
また、本発明は、トラフィックを制御するルールの差異に起因するトラフィックの変化を検証するルール検証方法であって、1つの処理に対応するトラフィックに相当するフローに対して第1のルールが適用されて得られる第1のフレーム群と第2のルールが適用されて得られる第2のフレーム群とを取得する取得工程と、前記取得工程にて取得された第1のフレーム群および第2のフレーム群を参照してそれぞれのルールが適用されたフローの開始および終了を監視する監視工程と、前記取得工程にて取得された第1のフレーム群および第2のフレーム群を保持する保持工程と、前記監視工程にて第1のフレーム群および第2のフレーム群の双方からフローの終了が検出された際に、前記保持工程にて保持された第1のフレーム群および第2のフレーム群を比較する比較工程と、前記比較工程における比較の結果、差分がない第1のフレーム群および第2のフレーム群を廃棄する廃棄工程とを有することを特徴とする。
本発明によれば、1つの処理に対応するトラフィックに相当するフローに対して第1のルールが適用されて得られる第1のフレーム群と第2のルールが適用されて得られる第2のフレーム群とを取得し、取得された第1のフレーム群および第2のフレーム群を参照してそれぞれのルールが適用されたフローの開始および終了を監視し、第1のフレーム群および第2のフレーム群を保持し、第1のフレーム群および第2のフレーム群の双方からフローの終了が検出された際に、保持された第1のフレーム群および第2のフレーム群を比較し、差分がない第1のフレーム群および第2のフレーム群を廃棄する。このため、すべてのフレームを適用されたルールごとにキャプチャするとともに、1つの処理に対応するフローのフレームがそれぞれのルールに関してすべて揃ったときにキャプチャされたフレーム群を比較し、一致していればこれらのフレーム群を廃棄することになる。したがって、廃棄されないフレーム群のみを調査すれば、ルールの差異がフローに対して与える影響を総合的に分析することができるとともに、すべてのフレームをキャプチャしても差分がないフローに関してはフレーム群が廃棄され、必要な記憶容量が増大することがない。結果として、トラフィック制御に関するルールが正当に機能しているか否かを容易かつ低コストで検証することができる。
また、本発明によれば、廃棄されないフレーム群であって、差分がある第1のフレーム群および第2のフレーム群を出力するため、ルールの差異によるルール適用後のフレーム群の違いをフロー単位で分析することができ、相互関係があるフロー内のフレームに対するルール変更の影響を総合的に調査することができる。
また、本発明によれば、検証の対象外のフローがあらかじめ設定されたフィルタを備え、フィルタによって対象外とされたフローに対応する第1のフレーム群および第2のフレーム群は出力せずに廃棄する。このため、例えばルール変更によって意図した差分が生じているフローに関しては、フレーム群を廃棄することができ、意図しない差分が生じたフローのフレーム群のみを取得して、原因を調査することができる。
また、本発明によれば、フローごとのエントリを備え、適用されたルールごとのフローの状態を各エントリにおいて管理する管理テーブルを有し、フレームが取得されると、取得されたフレームの種類に応じてこのフレームが属するフローに対応する管理テーブルのエントリを更新する。このため、複数のフローが同時進行で発生する場合にも、フローごとのフレームからそれぞれのフローの状態を確実に管理することができる。
また、本発明によれば、フローの開始を示す開始フレームが取得されると、管理テーブルに新規エントリを追加し、追加された新規エントリにおいて、開始フレームに適用されたルールに対応するフローの状態を接続状態に設定する。このため、新たなフローが開始された場合には、このフローの開始を管理テーブルに確実に反映することができる。
また、本発明によれば、フローの終了を示す終了フレームが取得されると、このフローに対応する管理テーブルのエントリにおいて、終了フレームに適用されたルールに対応するフローの状態を終了状態に設定する。このため、ルールごとにフローの終了を記録しておくことができ、複数のルールそれぞれに関してフローが終了したことを個別に管理することができる。
また、本発明によれば、前回のフレームが取得されてから所定時間経過するまで次のフレームが取得されないフローおよびルールにおいてタイムアウトの発生を検出し、検出されたタイムアウトをフローの終了と同等に扱って、保持された第1のフレーム群および第2のフレーム群の比較を開始する。このため、タイムアウトが発生したフローのフレーム群を必要以上に記憶し続けることがなく、確実に記憶容量の増大を防止することができる。
また、本発明によれば、フローへのルール適用時に施されるアドレス変換と同一のアドレス変換を第1のフレーム群および第2のフレーム群の各フレームに対して実行するため、フレームの送信元や送信先のアドレスがアドレス変換によって変わる場合でも、同一フロー内のフレームを正確に把握し、正しくフローの状態を監視することができる。
また、本発明によれば、取得されたフレームがデータ転送を制御する制御フローのフレームであるかデータ転送を行うデータフローのフレームであるかを判定し、判定の結果、制御フローのフレームである場合に、この制御フローに関連するデータフローを記憶し、第1のフレーム群および第2のフレーム群の双方からフローの終了が検出され、かつ、このフローに関連づけて記憶されたすべての制御フローおよびデータフローの終了が検出された際に、終了が検出されたすべてのフローに対応する第1のフレーム群および第2のフレーム群の比較を行う。このため、制御フローとデータフローが分かれているプロトコルなどにおいては、関連するフローがすべて終了してからこれらのフローのフレーム群が比較され、フロー間の相互関係も考慮してルールの差異による影響を総合的に調査することができる。
また、本発明によれば、ファイアウォールにおいて遮断するフレームを規定する第1のルールおよび第2のルールが適用されて得られるフレーム群を取得するため、ファイアウォールによってフレームを遮断するルールが正当に機能しているか否かを容易かつ低コストで検証することができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、以下においては、トラフィック制御としてファイアウォールを例に挙げて説明するが、本発明は、例えば複数のサーバの処理負荷を均等にするために処理要求を分散して転送する負荷分散装置などのルールを検証する際にも応用することができる。
(実施の形態1)
図1は、本発明の実施の形態1に係るルール検証装置100の要部構成を示すブロック図である。図1に示すルール検証装置100は、入力フレーム複製部101、出力フレーム複製部102、入力フレーム複製部103、出力フレーム複製部104、フロー状態監視部105、フロー管理テーブル106、フレーム保持部107、フロー比較部108、および結果出力部109を有している。
本実施の形態に係るルール検証装置100は、サーバおよびクライアントとファイアウォール装置(以下「FW装置」と略記する)との間に設置され、サーバおよびクライアントから送信されるフレームは、ルール検証装置100を経由してFW装置に入力され、FW装置から出力されるフレームは、ルール検証装置100を経由してサーバおよびクライアントに受信される。また、本実施の形態においては、旧ルールが設定されているFW装置#1が運用中であり、新ルールが設定されているFW装置#2を検証するものとする。
入力フレーム複製部101は、クライアントから送信されたフレームを複製し、それぞれ同一のフレームをFW装置#1およびFW装置#2に入力する。
出力フレーム複製部102は、FW装置#1から出力されたフレームを複製し、それぞれ同一のフレームをサーバおよびフロー状態監視部105へ出力する。
入力フレーム複製部103は、サーバから送信されたフレームを複製し、それぞれ同一のフレームをFW装置#1およびFW装置#2に入力する。
出力フレーム複製部104は、FW装置#1から出力されたフレームを複製し、それぞれ同一のフレームをクライアントおよびフロー状態監視部105へ出力する。
ここで、本実施の形態に係る各フレームは、1つの処理に相当するフロー内で通信されており、各フローは、サーバおよびクライアント間の複数のフレームの送受信によって構成されている。すなわち、例えばTCP(Transmission Control Protocol)などの一般的なプロトコルによる通信の場合、図2に示すような一連のフロー内で複数のフレームがやり取りされ、1つの処理が実行される。
図2に示す例においては、フローの開始を示す「TCP SYN」フレームがクライアントからサーバへ送信されると、応答確認フレームであるACKがサーバおよびクライアント間でやり取りされた後、「HTTP(Hyper Text Transfer Protocol)リクエスト」フレームがクライアントからサーバへ送信される。そして、このフローの最後には、フローの終了を示す「TCP FIN」フレームがクライアントからサーバへ送信され、ACKがやり取りされた後にフローが終了する。このようなフローによって、1つの処理が実行されるため、フロー内でのフレームは密接に関係しており、1つのフレームが廃棄されると、その影響はフロー全体に及ぶことになる。反対に、1つのフレームが廃棄されても、他のフローには直接的な影響がほとんどない。
フロー状態監視部105は、FW装置#2が新ルールを適用して出力するフレームを取得するとともに、出力フレーム複製部102、104から出力されるフレームを取得し、これらのフレームをフレーム保持部107へ出力する。また、フロー状態監視部105は、取得したフレームを用いて旧ルールおよび新ルールそれぞれが適用されるフローの状態を監視する。すなわち、フロー状態監視部105は、フレームを取得すると、このフレームが属するフローのエントリをフロー管理テーブル106から検索し、既にエントリがある場合は、フレームの内容に応じてフローの状態を更新する。
具体的には、フレームがフローの開始を示す開始フレームであれば、フロー状態監視部105は、このフローの状態を「接続中」に更新し、フレームがフローの終了を示す終了フレームであれば、フロー状態監視部105は、このフローの状態を「終了」に更新する。このとき、フロー状態監視部105は、フレームが出力フレーム複製部102、104から出力されたかFW装置#2から出力されたかに応じて、旧ルールおよび新ルールのどちらが適用されたフローであるか区別してフロー状態を更新する。
また、フロー状態監視部105は、フレームが属するフローのエントリがフロー管理テーブル106に未登録である場合は、新たにエントリを生成し、既にエントリがある場合と同様にフロー状態を更新する。なお、フロー状態監視部105は、エントリを識別する際には、フレームのヘッダに格納されているサーバおよびクライアントのIPアドレスおよびポート番号を参照すれば良い。
さらに、フロー状態監視部105は、フロー管理テーブル106のいずれかのエントリのフローが旧ルールおよび新ルールの両方に関して「終了」の状態となると、その旨をフレーム保持部107へ通知する。
フロー管理テーブル106は、フロー状態監視部105によって登録されたフローごとのエントリを有しており、旧ルールを適用したFW装置#1を経由するフローの状態と新ルールを適用したFW装置#2を経由するフローの状態とを管理する。具体的には、フロー管理テーブル106は、例えば図3に示すように、フローごとのクライアントおよびサーバのIPアドレスおよびポート番号と、それぞれのFW装置を経由したフローの状態とを対応付けて記憶している。フロー管理テーブル106は、それぞれのFW装置に対応するフローの状態として、「未接続」、「接続中」、および「終了」を記憶している。
フレーム保持部107は、フロー状態監視部105から出力されるフレームをキャプチャ情報として保持する。具体的には、フレーム保持部107は、例えば図4に示すように、FW装置#1から出力されたフレームとFW装置#2から出力されたフレームとを区別し、各フローについてフレームの受信時刻とフレームのデータとを保持する。したがって、フレーム保持部107は、フロー管理テーブル106のそれぞれのエントリについて、FW装置#1に対応するキャプチャ情報とFW装置#2に対応するキャプチャ情報との2つのキャプチャ情報を保持することになる。そして、フレーム保持部107は、フロー状態監視部105からフローが終了した旨が通知されると、このフローに対応する2つのキャプチャ情報をフロー比較部108へ出力する。
フロー比較部108は、フレーム保持部107からキャプチャ情報が出力されると、2つのキャプチャ情報を比較し、FW装置#1から出力されたフレーム群とFW装置#2から出力されたフレーム群とが完全に一致していれば、これらのキャプチャ情報を廃棄する。すなわち、フロー比較部108は、旧ルールを適用した場合と新ルールを適用した場合とでフローに変化がなければ、このフローに関するキャプチャ情報を廃棄する。
一方、フロー比較部108は、FW装置#1から出力されたフレーム群とFW装置#2から出力されたフレーム群との間に差分があれば、これらのキャプチャ情報を結果出力部109へ出力する。すなわち、フロー比較部108は、旧ルールを適用した場合と新ルールを適用した場合とでフローに変化があれば、このフローに関する2つのキャプチャ情報を結果出力部109へ出力する。例えば図4に示したキャプチャ情報の例では、旧ルールを適用したFW装置#1からはフレーム4が出力されてキャプチャされているのに対し、新ルールを適用したFW装置#2からはフレーム4が出力されていない。このため、フロー比較部108は、エントリ1に対応するフローにおける2つのキャプチャ情報を結果出力部109へ出力する。
なお、フロー比較部108は、例えば時系列にフレームのバイナリパターンを比較したり、TCPのシーケンス番号を比較したりすることにより、キャプチャ情報の比較を行う。
結果出力部109は、フロー比較部108から出力されるキャプチャ情報を例えば外部の分析用端末などへ出力する。すなわち、結果出力部109は、旧ルールを適用した場合と新ルールを適用した場合とで出力されるフレームが変化したフロー内のすべてのフレームのデータを外部へ出力する。したがって、旧ルールが適用された場合と新ルールが適用された場合とで出力されるフレームに差分がある場合は、このフレームを含むフロー内のすべてのフレームが外部へ出力されることになる。
次いで、上記のように構成されたルール検証装置100による検証動作について、図5に示すフロー図を参照しながら説明する。
まず、クライアントやサーバからフレームが送信されると、このフレームは、入力フレーム複製部101または入力フレーム複製部103によって複製され、FW装置#1およびFW装置#2に入力される(ステップS101)。そして、FW装置#1において旧ルールが適用されたフレームは、出力フレーム複製部102または出力フレーム複製部104へ出力されて複製され、フロー状態監視部105へ出力される。同時に、FW装置#2において新ルールが適用されたフレームは、フロー状態監視部105へ出力される。これにより、フロー状態監視部105によって、FW装置#1およびFW装置#2の両方を経由したフレームが取得されたことになる(ステップS102)。
フロー状態監視部105によってフレームが取得されると、フロー状態監視部105によってフロー管理テーブル106が検索され、取得されたフレームに対応するエントリがあるか否かが判定される(ステップS103)。すなわち、フロー状態監視部105によって、取得されたフレームのヘッダが参照され、サーバおよびクライアントのIPアドレスおよびポート番号が取得され、このIPアドレスおよびポート番号に一致するエントリがフロー管理テーブル106に登録済みであるか否かが判定される。
この判定の結果、エントリが未登録であれば(ステップS103No)、フロー状態監視部105によってフロー管理テーブル106に新たなエントリが追加され(ステップS104)、フレームを出力したFW装置に対応する状態が「接続中」に更新される。すなわち、例えばFW装置#1から出力されたフレームに対応するエントリが追加される場合には、FW装置#1に対応するフローの状態が「接続中」とされ、FW装置#2に対応するフローの状態が「未接続」とされる。
また、フロー状態監視部105によって取得されたフレームは、フレーム保持部107へ出力され、フレーム保持部107によってフレームのデータが受信時刻に対応付けられ、キャプチャ情報として保持される(ステップS105)。このキャプチャ情報には、フロー管理テーブル106に新たに追加されたエントリの識別番号とFW装置#1およびFW装置#2のどちらから出力されたかの情報とが付加されている。
一方、フロー状態監視部105によるエントリの検索の結果、エントリが既に登録されていれば(ステップS103Yes)、フロー状態監視部105によってフレームの内容が参照され、フローの状態が変化したか否かが判定される(ステップS106)。この結果、フローの状態が変化していなければ(ステップS106No)、フレームがフレーム保持部107へ出力され、キャプチャ情報として保持される(ステップS105)。このとき、既に同一のフローの同一のFW装置から出力されたフレームのキャプチャ情報がフレーム保持部107に保持されている場合には、このキャプチャ情報に追加される形でフレームが保持される。
また、フローの状態が変化していれば(ステップS106Yes)、フロー状態監視部105によって、フロー管理テーブル106におけるフロー状態が更新される(ステップS107)。すなわち、FW装置#1から出力されたフレームによってフロー状態の変化が検知されれば、このフローに対応するエントリのFW装置#1に関する状態が更新される。同様に、FW装置#2から出力されたフレームによってフロー状態の変化が検知されれば、このフローに対応するエントリのFW装置#2に関する状態が更新される。
そして、フロー状態監視部105によって、状態が更新されたエントリが参照され、FW装置#1およびFW装置#2の両方に関するフロー状態が「終了」となっているか否かが判定される(ステップS108)。この結果、両方が終了していなければ(ステップS108No)、フレームがフレーム保持部107へ出力され、キャプチャ情報として保持される(ステップS105)。このとき、既に同一のフローの同一のFW装置から出力されたフレームのキャプチャ情報がフレーム保持部107に保持されている場合には、このキャプチャ情報に追加される形でフレームが保持される。
また、両方のフロー状態が「終了」となった場合も(ステップS108Yes)、フレームがフレーム保持部107へ出力され、キャプチャ情報として保持される(ステップS109)。このとき、フローが終了したことから、既に同一のフローの同一のFW装置から出力されたフレームのキャプチャ情報がフレーム保持部107に保持されていると考えられ、このキャプチャ情報に追加される形でフレームが保持される。また、両方のフローが終了した場合には、フロー状態監視部105によって、フローが終了した旨がフレーム保持部107へ通知される(ステップS110)。
そして、フローの終了が通知されたフレーム保持部107によって、終了したフローの2つのキャプチャ情報がフロー比較部108へ出力される。すなわち、フレーム保持部107へ終了が通知されたフローについては、FW装置#1およびFW装置#2の両方に対応する状態が「終了」になっているため、FW装置#1およびFW装置#2それぞれに対応するキャプチャ情報がフロー比較部108へ出力される。このように、終了したフローのキャプチャ情報については、次々にフロー比較部108へ出力されるため、フレーム保持部107の記憶容量を特に大容量にする必要はない。すなわち、フレーム保持部107の記憶容量は、同時進行する可能性があるフロー内のすべてのフレームを保持できる程度であれば良いことになる。
キャプチャ情報がフロー比較部108へ出力されると、フロー比較部108によって2つのキャプチャ情報が比較され、同一のフローに関して保持されたフレーム群の間に差分があるか否かが判定される(ステップS111)。この判定の結果、フレーム群の間に差分がある場合は(ステップS111Yes)、同一のフローについてFW装置#1から出力されたフレーム群とFW装置#2から出力されたフレーム群とが異なっていることを意味し、ルールの変更による影響があるフローとして、フロー全体のキャプチャ情報が結果出力部109を介して外部へ出力される(ステップS112)。
このように、ルールの変更に起因して差分が生じたフローに関しては、違いがあったフレームのみではなく、フロー全体のキャプチャ情報が外部へ出力されるため、ルールの変更によって意図した差分であるか否かを確認することができるとともに、意図した差分でない場合には、フロー内での他のフレームの遮断による影響を考慮して原因を調査することができる。
一方、キャプチャ情報の比較の結果、フレーム群の間に差分がない場合は(ステップS111No)、フロー比較部108によって、キャプチャ情報が廃棄される(ステップS113)。すなわち、同一のフローについてFW装置#1およびFW装置#2が同一のフレーム群を出力した場合は、このフローに対してはルールの変更による影響がないと考えられるため、フロー内のすべてのフレームを含むキャプチャ情報が廃棄される。
このため、フロー比較部108における比較の結果、不要なキャプチャ情報が廃棄され、必要な記憶容量が増大することはない。また、差分が生じたキャプチャ情報についても、結果出力部109から外部へ出力されるため、ルール検証装置100内に留まることはなく、必要な記憶容量が増大することはない。
以上のように、本実施の形態によれば、新旧ルールそれぞれが設定されたFW装置から出力されたフレームを用いてフロー状態を監視するとともに、各フローについて新旧ルールそれぞれが適用されたフローのフレーム群をキャプチャし、新旧ルール双方に対応するフローの状態が終了となると、このフローについてルールごとにまとめてキャプチャされたフレーム群を比較し、差分があればフレーム群を外部に出力する一方、差分がなければフレーム群を廃棄する。このため、ルールの変更によって出力されるフレーム群に差分が生じないフローについては、フロー終了後、直ちにフレーム群が廃棄されることになり、多数のフレームを記憶しておく必要がない。したがって、ルールの違いによる出力フレームの違いを検証するために大容量のストレージを必要とせず、結果として、トラフィック制御に関するルールが正当に機能しているか否かを容易かつ低コストで検証することができる。
(実施の形態2)
本発明の実施の形態2の特徴は、前回のフレームがFW装置から出力されてから所定時間が経過した場合には、タイムアウトの発生を検出し、フローが終了したのと同等に扱う点である。
図6は、本実施の形態に係るルール検証装置100の要部構成を示すブロック図である。同図において、図1と同じ部分には同じ符号を付し、その説明を省略する。図6に示すルール検証装置100は、図1に示したルール検証装置100にタイムアウト検出部201を追加した構成を有している。
タイムアウト検出部201は、フロー状態監視部105によってフレームが取得された受信時刻をフローごと、かつFW装置ごとに記録しておき、前回フレームが取得されてから所定時間が経過しても次のフレームが取得されない場合にタイムアウトを検出する。そして、タイムアウト検出部201は、フロー管理テーブル106において、タイムアウトを検出したフローの状態を更新する。すなわち、タイムアウト検出部201は、例えば図7に示すように、タイムアウトを検出したフローのFW装置に対応する状態をタイムアウトを示す「TO」に更新する。図7においては、エントリ2のフローのFW装置#2に対応する状態が「TO」に更新されている。
次いで、上記のように構成されたルール検証装置100による検証動作について、図8に示すフロー図を参照しながら説明する。同図において、図5と同じ部分には同じ符号を付し、その詳しい説明を省略する。
まず、クライアントやサーバから送信されたフレームは、入力フレーム複製部101または入力フレーム複製部103によって複製され、FW装置#1およびFW装置#2に入力される(ステップS101)。そして、FW装置#1およびFW装置#2から出力されたフレームがフロー状態監視部105によって取得される(ステップS102)。フロー状態監視部105によってフレームが取得されると、フロー管理テーブル106から取得されたフレームのエントリが検索される(ステップS103)。
検索の結果、エントリが未登録であれば(ステップS103No)、実施の形態1と同様に、フロー管理テーブル106に新たなエントリが追加され(ステップS104)、フロー状態が「接続中」に更新されるとともに、フレーム保持部107によってフレームがキャプチャ情報として保持される(ステップS105)。また、本実施の形態においては、タイムアウト検出部201によって、フロー状態監視部105によってフレームが取得された受信時刻がフローごと、かつフレームを出力したFW装置ごとに記録される。
一方、フロー状態監視部105によるエントリの検索の結果、エントリが既に登録されていれば(ステップS103Yes)、フレームの受信時刻がタイムアウト検出部201へ通知され、タイムアウト検出部201に記録された受信時刻が更新される(ステップS201)。同時に、フロー状態監視部105によってフレームの内容が参照され、フローの状態が変化したか否かが判定され(ステップS106)、フロー状態が変化していなければ(ステップS106No)、フレームがフレーム保持部107によって保持される(ステップS105)。また、フローの状態が変化していれば(ステップS106Yes)、フロー状態監視部105によって、フロー管理テーブル106におけるフロー状態が更新される(ステップS107)。
そして、フロー状態監視部105によって、状態が更新されたエントリが参照され、FW装置#1およびFW装置#2の両方に関するフロー状態が「終了」または「TO」となっているか否かが判定される(ステップS202)。すなわち、本実施の形態においては、タイムアウト検出部201によって随時タイムアウトの検出が行われており、タイムアウトが検出された場合には、対応するフローの状態が「TO」に更新されているため、タイムアウトが発生したフローについては終了したフローと同等に扱われる。なお、タイムアウト検出の処理については、後に詳述する。フロー状態監視部105による判定の結果、両方のフロー状態が終了またはタイムアウトでなければ(ステップS202No)、フレームがフレーム保持部107によって保持される(ステップS105)。
また、両方のフロー状態が終了またはタイムアウトである場合も(ステップS202Yes)、フレームがフレーム保持部107によって保持される(ステップS109)。同時に、フロー状態監視部105によって、フローが終了した旨がフレーム保持部107へ通知される(ステップS110)。
そして、フローの終了が通知されたフレーム保持部107によって、終了したフローの2つのキャプチャ情報がフロー比較部108へ出力される。キャプチャ情報がフロー比較部108へ出力されると、フロー比較部108によって2つのキャプチャ情報が比較され、同一のフローに関して保持されたフレーム群の間に差分があるか否かが判定される(ステップS111)。この判定の結果、フレーム群の間に差分がある場合は(ステップS111Yes)、フロー全体のキャプチャ情報が結果出力部109を介して外部へ出力される(ステップS112)。一方、キャプチャ情報の比較の結果、フレーム群の間に差分がない場合は(ステップS111No)、フロー比較部108によって、キャプチャ情報が廃棄される(ステップS113)。
ここで、本実施の形態に係るタイムアウト検出処理について、図9に示すフロー図を参照しながら説明する。タイムアウト検出処理は、タイムアウト検出部201によって定期的に実行されている。なお、タイムアウト検出部201には、フロー状態監視部105によってフレームが取得されるたびに、フローごと、かつフレームを出力したFW装置ごとにフレームの受信時刻が記録されている。
そして、タイムアウト検出処理を実行するタイミングになると、タイムアウト検出部201によって、フロー管理テーブル106から「接続中」の状態を含むエントリが検出される(ステップS301)。フロー管理テーブル106において接続中となっているフローは、フローの終了を示す終了フレームがフロー状態監視部105によって取得されていないフローであるが、前回フレームが取得されてからの経過時間はフロー管理テーブル106からは不明である。そこで、タイムアウト検出部201によって、該当するフローおよびFW装置に対応する最新の受信時刻が確認され、この受信時刻から所定時間(例えば1分)が経過しているか否かが判定される(ステップS302)。
この判定の結果、最新のフレーム受信時刻から所定時間が経過していれば(ステップS302Yes)、タイムアウト検出部201によって、該当するFW装置を経由するフローについてはタイムアウトが発生したと判断され、フロー管理テーブル106における状態が「接続中」から「TO」に更新される(ステップS303)。そして、タイムアウト検出部201によって、「接続中」の状態を含むとして検出されたエントリすべてについて処理が終了したか否かが判断され(ステップS304)、まだ終了していなければ、フローおよびFW装置ごとに前回の受信時刻から所定時間が経過しているか否かの判定が繰り返される。
一方、最新のフレーム受信時刻から所定時間が経過していなければ(ステップS302No)、まだタイムアウトは発生していないと判断され、「接続中」の状態を含むとして検出されたエントリすべてについて処理が終了するまで、上記と同様の動作が繰り返される。
このように本実施の形態においては、FW装置からフレームが出力されない時間が所定時間を経過すると、このFW装置におけるフローにタイムアウトが発生したと判断され、フロー管理テーブル106の状態が「TO」に更新される。そして、フロー状態監視部105によって、フロー管理テーブル106の状態が確認される際には、FW装置#1およびFW装置#2の両方に対応するフローが「終了」または「TO」となっている場合にフローが終了したと判断される。このため、サーバまたはクライアントからの応答がなくタイムアウトが発生しているにも拘らず、フローの状態を接続中のままと認識することを防止し、タイムアウトを終了と同様に扱ってフレーム保持部107からキャプチャ情報を出力させることができる。結果として、タイムアウトが発生したフローのキャプチャ情報を必要以上に記憶し続けることがなく、確実に記憶容量の増大を防止することができる。
以上のように、本実施の形態によれば、フローごと、かつFW装置ごとの最新のフレーム受信時刻を記録しておき、所定時間経過しても次のフレームがFW装置から出力されない場合にはタイムアウトと判断し、タイムアウトをフローの終了と同様に扱って処理を実行する。このため、タイムアウトが発生したフローについても早急にキャプチャ情報を廃棄または外部へ出力することができ、キャプチャ情報を保持するために必要な記憶容量を確実に削減することができる。
(実施の形態3)
本発明の実施の形態3の特徴は、キャプチャ情報の比較の結果、差分がある場合でも廃棄して良いフローの条件が設定されたフィルタを設け、必要以上にキャプチャ情報が外部へ出力されないようにする点である。
図10は、本実施の形態に係るルール検証装置100の要部構成を示すブロック図である。同図において、図1と同じ部分には同じ符号を付し、その説明を省略する。図10に示すルール検証装置は、図1に示したルール検証装置100にフィルタ部301を追加した構成を有している。
フィルタ部301は、フロー比較部108におけるキャプチャ情報の比較の結果、たとえ2つのキャプチャ情報の間に差分があっても対象外となるフローの条件をあらかじめ記憶している。そして、フィルタ部301は、フロー比較部108からキャプチャ情報が出力された場合に、出力されたキャプチャ情報があらかじめ記憶されたフローの条件に適合するか否かを判定し、条件に適合する場合には、このキャプチャ情報を廃棄する。つまり、フィルタ部301は、あらかじめ記憶されたフローの条件に適合しないキャプチャ情報のみを結果出力部109へ出力する。
ここで、フィルタ部301に記憶される条件は、例えば旧ルールから新ルールへ変更することによって遮断を意図したフローなどであり、フロー比較部108によるキャプチャ情報の比較の結果、差分が生じるのが当然であるフローなどである。具体的には、例えば「http://www.fujitsu.com/extra/宛てのHTTPリクエスト」などの条件がフィルタ部301に設定されている。この例においては、「http://www.fujitsu.com/extra/」宛てのHTTPリクエストに関するフローについては、たとえFW装置#1およびFW装置#2から出力されたフレーム群に差分があったとしても、これらのフレーム群は、フィルタ部301によって廃棄され、結果出力部109から外部へ出力されることはない。
以上のように、本実施の形態によれば、ルール変更によるキャプチャ情報の差分が許容されるフローについては、フィルタリングにより外部へ出力されないようにするため、必要なキャプチャ情報のみを外部へ出力することができ、効率的にルール変更が正当に機能しているか否かを検証することができる。
なお、本実施の形態においては、フィルタ部301においてキャプチャ情報が廃棄された場合には、廃棄されたキャプチャ情報に対応するフローの識別子とフィルタ部301に記憶されているフローの条件とが結果出力部109経由で外部へ出力され、フィルタリングによってキャプチャ情報の廃棄が生じたことが把握可能なようにしても良い。
(実施の形態4)
本発明の実施の形態4の特徴は、FW装置においてアドレス変換が行われている場合に、ルール検証装置においても同様のアドレス変換を行い、正確にフロー状態を監視する点である。
図11は、本実施の形態に係るルール検証装置100の要部構成を示すブロック図である。同図において、図1と同じ部分には同じ符号を付し、その説明を省略する。図11に示すルール検証装置100は、図1に示したルール検証装置100にアドレス変換部401を追加した構成を有している。
アドレス変換部401は、FW装置#1およびFW装置#2におけるアドレス変換と同一のアドレス変換ルールでフロー状態監視部105によって取得されたフレームのアドレスを変換する。すなわち、アドレス変換部401は、フロー状態監視部105によってフレームが取得されると、このフレームのヘッダに格納されているサーバおよびクライアントのIPアドレスをアドレス変換し、FW装置と同様に変換されたアドレスをフロー状態監視部105へ通知する。
本実施の形態においては、FW装置#1およびFW装置#2がアドレス変換を行っており、同一のサーバまたはクライアントでも通信の方向によってアドレスが異なる場合を想定している。すなわち、例えばIPアドレスが「20.0.0.1」のサーバからクライアントへフレームが送信される場合、送信元のサーバのIPアドレスがFW装置において「30.0.0.1」に変換されると、クライアントにおいてはサーバのIPアドレスが「30.0.0.1」と認識されている。したがって、サーバからクライアントへの通信においては、送信元のサーバのIPアドレスが「20.0.0.1」であるのに対し、クライアントからサーバへの通信においては、宛先のサーバのIPアドレスが「30.0.0.1」となる。
このような場合、これらの通信は同一フロー内で生じているにも拘らず、IPアドレスの変換によりフロー状態監視部105においては異なるフローと判断されてしまうことになるため、本実施の形態では、アドレス変換部401がFW装置と同様のアドレス変換を行う。これにより、アドレス変換が行われている場合でも、同一のフローの状態を適切に監視することが可能となる。
以上のように、本実施の形態によれば、FW装置がフレームのアドレス変換を行う場合には、FW装置と同様のアドレス変換を行ってフロー状態を監視するため、通信方向に関わらず同一フロー内のフレームを正確に把握し、正しくフロー状態を監視することができる。
(実施の形態5)
本発明の実施の形態5の特徴は、制御フローとデータフローが別々に発生するプロトコルにおいて、1つのフローが終了しただけではなく、関連するすべてのフローが終了した場合に、これらのフローのキャプチャ情報を比較する点である。
本実施の形態においては、例えばFTP(File Transfer Protocol)のように、データ転送の制御に関する制御フローとデータ転送そのものを行うデータフローとが別々に成立するプロトコルを想定している。
具体的には、例えば図12に示すように、制御フローでは、「TCP SYN」フレームや「TCP FIN」フレームなどの開始フレームおよび終了フレームのほかに、データ転送のためのポートを制御する「FTP PORT」フレームがクライアントからサーバへ送信される。一方、例えば図13に示すように、データフローでは、「TCP SYN」フレームや「TCP FIN」フレームなどの開始フレームおよび終了フレームのほかに、実際のデータを転送するデータ転送フレームがクライアントからサーバへ送信される。これらの制御フローとデータフローは、互いに関連しており、1つの制御フローに対して複数のデータフローが付随していることもある。
図14は、本実施の形態に係るルール検証装置100の要部構成を示すブロック図である。同図において、図1と同じ部分には同じ符号を付し、その説明を省略する。図14に示すルール検証装置100は、図1に示したルール検証装置100に制御フロー検出部501および関連フロー保持部502を追加した構成を有している。
制御フロー検出部501は、出力フレーム複製部102、104から出力されるフレームを取得し、制御フローが発生していることを検出する。すなわち、制御フロー検出部501は、例えば上述した「FTP PORT」フレームなどの制御フローに特有のフレームを検出し、制御フローが発生していることを検出する。そして、制御フロー検出部501は、制御フローが制御するデータ転送のデータフローの識別子を取得し、制御フローおよび関連するデータフローを関連フロー保持部502へ通知する。なお、制御フロー検出部501は、「FTP PORT」フレームなどのフレームから関連するデータフローの識別子を取得する。
関連フロー保持部502は、制御フロー検出部501から通知された制御フローと関連するデータフローとの識別子を保持する。
本実施の形態においては、フロー状態監視部105は、フロー管理テーブル106においてFW装置#1およびFW装置#2の双方に対応する状態が終了となったフローがある場合、関連フロー保持部502を参照して、関連するすべての制御フローおよびデータフローが終了しているか確認する。そして、関連するフローの中にまだ終了していないフローがある場合には、フレーム保持部107に対してフローが終了した旨を通知せず、関連する制御フローおよびデータフローすべてが終了した場合にのみ、これらのフローすべてが終了の状態であることをフレーム保持部107へ通知する。
したがって、フレーム保持部107は、関連する制御フローおよびデータフローのすべてが終了するまでは、これらのフローのフレームを保持しており、すべての関連フローが終了したタイミングですべての関連フローのキャプチャ情報をフロー比較部108へ出力する。これにより、制御フローと関連するデータフローとに関するキャプチャ情報の比較が同時に行われることになり、関連フローすべてのうち差分が生じているフローのキャプチャ情報が結果出力部109から出力されることになる。結果として、例えば外部の分析用端末などで関連するフローを総合的に調査して、ルール変更の影響を確認することができる。
次いで、上記のように構成されたルール検証装置100による検証動作について、図15および図16に示すフロー図を参照しながら説明する。同図において、図5と同じ部分には同じ符号を付し、その詳しい説明を省略する。
まず、クライアントやサーバから送信されたフレームは、入力フレーム複製部101または入力フレーム複製部103によって複製され、FW装置#1およびFW装置#2に入力される(ステップS101)。そして、FW装置#1およびFW装置#2から出力されたフレームがフロー状態監視部105によって取得される(ステップS102)。このとき、FW装置#1およびFW装置#2から出力されたフレームは、制御フロー検出部501によっても取得され、制御フローであることを示すフレームであるか否かが判定される(ステップS401)。
この結果、フレームの識別子が制御フローのフレームであることを示している場合には(ステップS401Yes)、制御フロー検出部501によって、このフレームの内容から関連するデータフローが把握され、制御フローと関連するデータフローとの識別子が関連フロー保持部502へ通知される。通知された関連フローは、関連フロー保持部502によって保持される(ステップS402)。そして、制御フロー検出部501によって取得されたフレームが制御フローのフレームでない場合や(ステップS401No)、関連フロー保持部502によって関連フローが保持された後には、実施の形態1と同様に、フロー状態監視部105によって、フロー管理テーブル106から取得されたフレームのエントリが検索される(ステップS103)。
検索の結果、エントリが未登録であれば(ステップS103No)、実施の形態1と同様に、フロー管理テーブル106に新たなエントリが追加され(ステップS104)、フロー状態が「接続中」に更新されるとともに、フレーム保持部107によってフレームがキャプチャ情報として保持される(ステップS105)。
一方、フロー状態監視部105によるエントリの検索の結果、エントリが既に登録されていれば(ステップS103Yes)、フロー状態監視部105によってフレームの内容が参照され、フローの状態が変化したか否かが判定され(ステップS106)、フロー状態が変化していなければ(ステップS106No)、フレームがフレーム保持部107によって保持される(ステップS105)。また、フローの状態が変化していれば(ステップS106Yes)、フロー状態監視部105によって、フロー管理テーブル106におけるフロー状態が更新される(ステップS107)。
そして、フロー状態監視部105によって、状態が更新されたエントリが参照され、FW装置#1およびFW装置#2の両方に関するフロー状態が「終了」となっているか否かが判定される(ステップS108)。フロー状態監視部105による判定の結果、両方のフロー状態が終了でなければ(ステップS108No)、フレームがフレーム保持部107によって保持される(ステップS105)。
また、両方のフロー状態が終了である場合も(ステップS108Yes)、フレームがフレーム保持部107によって保持される(ステップS109)。そして、フロー状態監視部105によって、フロー状態が終了となったフローの関連フローが関連フロー保持部502から読み出され、関連フローすべてのフロー状態が終了となっているか否かが判定される(ステップS403)。すなわち、データフローのフロー状態が終了となった場合には、関連する制御フローとこの制御フローに関連するすべてのデータフローとが終了しているか判定され、制御フローのフロー状態が終了となった場合には、関連するすべてのデータフローが終了しているか判定される。
この判定の結果、まだすべての関連フローのフロー状態が終了となっていなければ(ステップS403No)、フロー状態監視部105からフレーム保持部107へフロー状態が終了となった旨が通知されることなく、次にFW装置#1またはFW装置#2から出力されるフレームに対して上記の処理が繰り返される。一方、すべての関連フローのフロー状態が終了となっていれば(ステップS403Yes)、フロー状態監視部105によって、フローが終了した旨がフレーム保持部107へ通知される(ステップS110)。
そして、フローの終了が通知されたフレーム保持部107によって、終了したすべての関連フローそれぞれのキャプチャ情報がフロー比較部108へ出力される。キャプチャ情報がフロー比較部108へ出力されると、フロー比較部108によってフローごとの2つのキャプチャ情報が比較され、同一のフローに関して保持されたフレーム群の間に差分があるか否かが判定される(ステップS111)。この判定の結果、フレーム群の間に差分がある場合は(ステップS111Yes)、フロー全体のキャプチャ情報が結果出力部109を介して外部へ出力される(ステップS112)。一方、キャプチャ情報の比較の結果、フレーム群の間に差分がない場合は(ステップS111No)、フロー比較部108によって、キャプチャ情報が廃棄される(ステップS113)。
以上のように、本実施の形態によれば、制御フローと関連するデータフローとを保持しておき、1つのフローのフロー状態が終了となった場合に、関連フローすべてのフロー状態が終了となったか否かを判定し、関連フローすべてのフロー状態が終了となった時にのみ、関連フローすべてのキャプチャ情報の比較を行う。このため、キャプチャ情報が外部に出力される際には、互いに関連するすべてのフローのうちフレーム群に差分が生じたフローのキャプチャ情報が出力されることになり、フロー間の相互関係も考慮してルール変更の影響を総合的に調査することができる。
なお、上記実施の形態1〜5においては、FW装置#1、FW装置#2、およびルール検証装置100が別体として設けられるものとしたが、本発明のルール検証装置は、FW装置と一体的に設けられても良い。
(付記1)トラフィックを制御するルールの差異に起因するトラフィックの変化を検証するルール検証装置であって、
1つの処理に対応するトラフィックに相当するフローに対して第1のルールが適用されて得られる第1のフレーム群と第2のルールが適用されて得られる第2のフレーム群とを取得する取得手段と、
前記取得手段によって取得された第1のフレーム群および第2のフレーム群を参照してそれぞれのルールが適用されたフローの開始および終了を監視する監視手段と、
前記取得手段によって取得された第1のフレーム群および第2のフレーム群を保持する保持手段と、
前記監視手段によって第1のフレーム群および第2のフレーム群の双方からフローの終了が検出された際に、前記保持手段によって保持された第1のフレーム群および第2のフレーム群を比較し、差分がない第1のフレーム群および第2のフレーム群を廃棄する廃棄手段と
を有することを特徴とするルール検証装置。
(付記2)前記廃棄手段によって廃棄されないフレーム群であって、差分がある第1のフレーム群および第2のフレーム群を出力する出力手段をさらに有することを特徴とする付記1記載のルール検証装置。
(付記3)前記出力手段は、
検証の対象外のフローがあらかじめ設定されたフィルタ手段を含み、
前記フィルタ手段によって対象外とされたフローに対応する第1のフレーム群および第2のフレーム群は出力せずに廃棄することを特徴とする付記2記載のルール検証装置。
(付記4)前記監視手段は、
フローごとのエントリを備え、適用されたルールごとのフローの状態を各エントリにおいて管理する管理テーブルを含み、
前記取得手段によってフレームが取得されると、取得されたフレームの種類に応じてこのフレームが属するフローに対応する前記管理テーブルのエントリを更新することを特徴とする付記1記載のルール検証装置。
(付記5)前記監視手段は、
前記取得手段によってフローの開始を示す開始フレームが取得されると、前記管理テーブルに新規エントリを追加し、追加された新規エントリにおいて、開始フレームに適用されたルールに対応するフローの状態を接続状態に設定することを特徴とする付記4記載のルール検証装置。
(付記6)前記監視手段は、
前記取得手段によってフローの終了を示す終了フレームが取得されると、このフローに対応する前記管理テーブルのエントリにおいて、終了フレームに適用されたルールに対応するフローの状態を終了状態に設定することを特徴とする付記4記載のルール検証装置。
(付記7)前記取得手段によって前回のフレームが取得されてから所定時間経過するまで次のフレームが取得されないフローおよびルールにおいてタイムアウトの発生を検出する検出手段をさらに有し、
前記廃棄手段は、
前記検出手段によって検出されたタイムアウトをフローの終了と同等に扱って、前記保持手段によって保持された第1のフレーム群および第2のフレーム群の比較を開始することを特徴とする付記1記載のルール検証装置。
(付記8)前記取得手段は、
フローへのルール適用時に施されるアドレス変換と同一のアドレス変換を第1のフレーム群および第2のフレーム群の各フレームに対して実行する変換手段を含むことを特徴とする付記1記載のルール検証装置。
(付記9)前記取得手段によって取得されたフレームがデータ転送を制御する制御フローのフレームであるかデータ転送を行うデータフローのフレームであるかを判定する判定手段と、
前記判定手段による判定の結果、制御フローのフレームである場合に、この制御フローに関連するデータフローを記憶する記憶手段とをさらに有し、
前記廃棄手段は、
前記監視手段によって第1のフレーム群および第2のフレーム群の双方からフローの終了が検出され、かつ、このフローに関連づけて前記記憶手段に記憶されたすべての制御フローおよびデータフローの終了が検出された際に、終了が検出されたすべてのフローに対応する第1のフレーム群および第2のフレーム群の比較を行うことを特徴とする付記1記載のルール検証装置。
(付記10)前記取得手段は、
ファイアウォールにおいて遮断するフレームを規定する第1のルールおよび第2のルールが適用されて得られるフレーム群を取得することを特徴とする付記1記載のルール検証装置。
(付記11)トラフィックを制御するルールの差異に起因するトラフィックの変化を検証するルール検証方法であって、
1つの処理に対応するトラフィックに相当するフローに対して第1のルールが適用されて得られる第1のフレーム群と第2のルールが適用されて得られる第2のフレーム群とを取得する取得工程と、
前記取得工程にて取得された第1のフレーム群および第2のフレーム群を参照してそれぞれのルールが適用されたフローの開始および終了を監視する監視工程と、
前記取得工程にて取得された第1のフレーム群および第2のフレーム群を保持する保持工程と、
前記監視工程にて第1のフレーム群および第2のフレーム群の双方からフローの終了が検出された際に、前記保持工程にて保持された第1のフレーム群および第2のフレーム群を比較する比較工程と、
前記比較工程における比較の結果、差分がない第1のフレーム群および第2のフレーム群を廃棄する廃棄工程と
を有することを特徴とするルール検証方法。
本発明は、トラフィック制御に関するルールが正当に機能しているか否かを容易かつ低コストで検証する場合に適用することができる。
実施の形態1に係るルール検証装置の要部構成を示すブロック図である。 実施の形態1に係るフローの例を示す図である。 実施の形態1に係るフロー管理テーブルの例を示す図である。 実施の形態1に係るキャプチャ情報の例を示す図である。 実施の形態1に係る検証動作を示すフロー図である。 実施の形態2に係るルール検証装置の要部構成を示すブロック図である。 実施の形態2に係るフロー管理テーブルの例を示す図である。 実施の形態2に係る検証動作を示すフロー図である。 実施の形態2に係るタイムアウト検出処理を示すフロー図である。 実施の形態3に係るルール検証装置の要部構成を示すブロック図である。 実施の形態4に係るルール検証装置の要部構成を示すブロック図である。 実施の形態5に係る制御フローの例を示す図である。 実施の形態5に係るデータフローの例を示す図である。 実施の形態5に係るルール検証装置の要部構成を示すブロック図である。 実施の形態5に係る検証動作を示すフロー図である。 図15に続く図である。
符号の説明
101、103 入力フレーム複製部
102、104 出力フレーム複製部
105 フロー状態監視部
106 フロー管理テーブル
107 フレーム保持部
108 フロー比較部
109 結果出力部
201 タイムアウト検出部
301 フィルタ部
401 アドレス変換部
501 制御フロー検出部
502 関連フロー保持部

Claims (9)

  1. トラフィックを制御するルールの差異に起因するトラフィックの変化を検証するルール検証装置であって、
    1つの処理に対応するトラフィックに相当するフローに対して第1のルールが適用されて得られる第1のフレーム群と第2のルールが適用されて得られる第2のフレーム群とを取得する取得手段と、
    前記取得手段によって取得された第1のフレーム群および第2のフレーム群を参照してそれぞれのルールが適用されたフローの開始および終了を監視する監視手段と、
    前記取得手段によって取得された第1のフレーム群および第2のフレーム群を保持する保持手段と、
    前記監視手段によって第1のフレーム群および第2のフレーム群の双方からフローの終了が検出された際に、前記保持手段によって保持された第1のフレーム群および第2のフレーム群を比較し、差分がない第1のフレーム群および第2のフレーム群を廃棄する廃棄手段と
    を有することを特徴とするルール検証装置。
  2. 前記廃棄手段によって廃棄されないフレーム群であって、差分がある第1のフレーム群および第2のフレーム群を出力する出力手段をさらに有することを特徴とする請求項1記載のルール検証装置。
  3. 前記出力手段は、
    検証の対象外のフローがあらかじめ設定されたフィルタ手段を含み、
    前記フィルタ手段によって対象外とされたフローに対応する第1のフレーム群および第2のフレーム群は出力せずに廃棄することを特徴とする請求項2記載のルール検証装置。
  4. 前記監視手段は、
    フローごとのエントリを備え、適用されたルールごとのフローの状態を各エントリにおいて管理する管理テーブルを含み、
    前記取得手段によってフレームが取得されると、取得されたフレームの種類に応じてこのフレームが属するフローに対応する前記管理テーブルのエントリを更新することを特徴とする請求項1記載のルール検証装置。
  5. 前記取得手段によって前回のフレームが取得されてから所定時間経過するまで次のフレームが取得されないフローおよびルールにおいてタイムアウトの発生を検出する検出手段をさらに有し、
    前記廃棄手段は、
    前記検出手段によって検出されたタイムアウトをフローの終了と同等に扱って、前記保持手段によって保持された第1のフレーム群および第2のフレーム群の比較を開始することを特徴とする請求項1記載のルール検証装置。
  6. 前記取得手段は、
    フローへのルール適用時に施されるアドレス変換と同一のアドレス変換を第1のフレーム群および第2のフレーム群の各フレームに対して実行する変換手段を含むことを特徴とする請求項1記載のルール検証装置。
  7. 前記取得手段によって取得されたフレームがデータ転送を制御する制御フローのフレームであるかデータ転送を行うデータフローのフレームであるかを判定する判定手段と、
    前記判定手段による判定の結果、制御フローのフレームである場合に、この制御フローに関連するデータフローを記憶する記憶手段とをさらに有し、
    前記廃棄手段は、
    前記監視手段によって第1のフレーム群および第2のフレーム群の双方からフローの終了が検出され、かつ、このフローに関連づけて前記記憶手段に記憶されたすべての制御フローおよびデータフローの終了が検出された際に、終了が検出されたすべてのフローに対応する第1のフレーム群および第2のフレーム群の比較を行うことを特徴とする請求項1記載のルール検証装置。
  8. 前記取得手段は、
    ファイアウォールにおいて遮断するフレームを規定する第1のルールおよび第2のルールが適用されて得られるフレーム群を取得することを特徴とする請求項1記載のルール検証装置。
  9. トラフィックを制御するルールの差異に起因するトラフィックの変化を検証するルール検証方法であって、
    1つの処理に対応するトラフィックに相当するフローに対して第1のルールが適用されて得られる第1のフレーム群と第2のルールが適用されて得られる第2のフレーム群とを取得する取得工程と、
    前記取得工程にて取得された第1のフレーム群および第2のフレーム群を参照してそれぞれのルールが適用されたフローの開始および終了を監視する監視工程と、
    前記取得工程にて取得された第1のフレーム群および第2のフレーム群を保持する保持工程と、
    前記監視工程にて第1のフレーム群および第2のフレーム群の双方からフローの終了が検出された際に、前記保持工程にて保持された第1のフレーム群および第2のフレーム群を比較する比較工程と、
    前記比較工程における比較の結果、差分がない第1のフレーム群および第2のフレーム群を廃棄する廃棄工程と
    を有することを特徴とするルール検証方法。
JP2007032427A 2007-02-13 2007-02-13 ルール検証装置およびルール検証方法 Expired - Fee Related JP4983287B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007032427A JP4983287B2 (ja) 2007-02-13 2007-02-13 ルール検証装置およびルール検証方法
US12/026,817 US8875275B2 (en) 2007-02-13 2008-02-06 Rule verification apparatus and rule verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007032427A JP4983287B2 (ja) 2007-02-13 2007-02-13 ルール検証装置およびルール検証方法

Publications (2)

Publication Number Publication Date
JP2008197910A true JP2008197910A (ja) 2008-08-28
JP4983287B2 JP4983287B2 (ja) 2012-07-25

Family

ID=39685711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007032427A Expired - Fee Related JP4983287B2 (ja) 2007-02-13 2007-02-13 ルール検証装置およびルール検証方法

Country Status (2)

Country Link
US (1) US8875275B2 (ja)
JP (1) JP4983287B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011198149A (ja) * 2010-03-19 2011-10-06 Toshiba Corp セキュリティリスク検出システム
US9461772B2 (en) 2011-09-05 2016-10-04 Nec Communication Systems, Ltd. Communication apparatus, communication state detecting method, and communication state detecting program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954271B (zh) * 2014-03-26 2018-11-30 国际商业机器公司 Sdn网络中的数据包处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249279A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd オンラインシステム
JP2001168862A (ja) * 1999-12-14 2001-06-22 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理方法及びシステム装置
JP2003530623A (ja) * 1999-09-17 2003-10-14 マーキュリー インタラクティブ コーポレーション サーバおよびネットワーク性能の監視

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673279A (en) * 1995-11-06 1997-09-30 Sun Microsystems, Inc. Verification of network transporter in networking environments
JP2002152266A (ja) 2000-11-10 2002-05-24 Hitachi Ltd パケット・ロス計測システム
FI20010256A0 (fi) * 2001-02-12 2001-02-12 Stonesoft Oy Pakettidatayhteystietojen käsittely tietoturvagatewayelementissä
US7760730B2 (en) * 2004-06-15 2010-07-20 Oracle America, Inc. Rule set verification
JP4617898B2 (ja) 2005-01-26 2011-01-26 日本電気株式会社 アクセス制御方式および方法、サーバ装置、端末装置ならびにプログラム
US20070047448A1 (en) * 2005-08-24 2007-03-01 Inventec Corporation Network equipment testing method and system
US8041804B2 (en) * 2006-05-25 2011-10-18 Cisco Technology, Inc. Utilizing captured IP packets to determine operations performed on packets by a network device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249279A (ja) * 1995-03-13 1996-09-27 Hitachi Ltd オンラインシステム
JP2003530623A (ja) * 1999-09-17 2003-10-14 マーキュリー インタラクティブ コーポレーション サーバおよびネットワーク性能の監視
JP2001168862A (ja) * 1999-12-14 2001-06-22 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理方法及びシステム装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011198149A (ja) * 2010-03-19 2011-10-06 Toshiba Corp セキュリティリスク検出システム
US9461772B2 (en) 2011-09-05 2016-10-04 Nec Communication Systems, Ltd. Communication apparatus, communication state detecting method, and communication state detecting program

Also Published As

Publication number Publication date
US20080192637A1 (en) 2008-08-14
US8875275B2 (en) 2014-10-28
JP4983287B2 (ja) 2012-07-25

Similar Documents

Publication Publication Date Title
JP4557815B2 (ja) 中継装置および中継システム
KR101369727B1 (ko) 캡차를 기반으로 하는 트래픽 제어 장치 및 그 방법
KR101715080B1 (ko) 네임 기반의 네트워크 시스템에서 펜딩 테이블의 오버플로우를 방지하는 노드 장치 및 방법
JP5826920B2 (ja) 遮断サーバを用いたスプーフィング攻撃に対する防御方法
KR20120136507A (ko) 네임 기반의 네트워크 시스템에서 펜딩 테이블의 오버플로우를 방지하는 노드 장치 및 방법
EP2651081A1 (en) Computer system, controller, and network monitoring method
WO2017066359A1 (en) Determining direction of network sessions
WO2010031288A1 (zh) 一种僵尸网络的检测方法和系统
CN101175078A (zh) 应用分布式阈值随机漫步的潜在网络威胁识别
JP2009232110A (ja) 通信監視装置、通信監視プログラム、および通信監視方法
CN1761240A (zh) 用于高度可实现性应用的智能集成网络安全设备
US20100027551A1 (en) Method and system for restricting a node from communicating with other nodes in a broadcast domain of an ip (internet protocol) network
EP1802058A1 (en) Method for protection from service-disabling attack, system for protection from service-disabling attack, device for protection from service-disabling attack, relay device, program for protection from service-disabling attack, and relay device program
JP2008211464A (ja) トラフィック異常検出システム、トラフィック情報観測装置、トラフィック情報管理装置、トラフィック情報観測プログラム、及び、トラフィック情報管理プログラム
EP1739921A1 (en) Progressive wiretap
JP4983287B2 (ja) ルール検証装置およびルール検証方法
CN101447896B (zh) 一种互联网旁路监测系统的tcp连接管理方法
US20110141899A1 (en) Network access apparatus and method for monitoring and controlling traffic using operation, administration, and maintenance (oam) packet in internet protocol (ip) network
JP2013070325A (ja) 通信システム、通信装置、サーバ、通信方法
JP5531064B2 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
JP6943313B2 (ja) ログ解析システム、解析装置、方法、および解析用プログラム
US8271678B2 (en) Independent detection and filtering of undesirable packets
JP2003258910A (ja) 不正アクセス経路解析システム及び不正アクセス経路解析方法
JP2008227600A (ja) 通信妨害装置及び通信妨害プログラム
JP2016092756A (ja) 制御装置、通信システム、ループ抑止方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111014

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees