(57)【特許請求の範囲】
【請求項１】
通信プロトコルとしてＳＣＴＰ（Ｓｔｒｅａｍ  Ｃｏｎｔｒｏｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いてパケット通信を行うネットワークシステムにおいて、内部ネットワークと外部ネットワークの間に配置され、パケットの転送を制御するパケット中継装置であって、
パケットの送信元アドレスと送信先アドレスと、セッション開始のパケットか又は全てのパケットかを示すチャンクタイプと、パケットの転送許可又はパケットの破棄を示す動作情報と含む複数のルールが予め記憶されたアクセスリストと、
入力されたＳＣＴＰパケットのヘッダ情報に基づき前記アクセスリストを参照し、対応する動作情報を取得する比較部と
取得された動作情報に従い、入力されたＳＣＴＰパケットを転送し又は破棄する転送部と
を備え、
前記セッション開始のパケットは、送信元若しくは送信先の装置において通信を維持又は管理するための情報を記憶するデータエリアが確保されるためのＣＯＯＫＩＥ  ＥＣＨＯパケットであり、
前記アクセスリストには、
送信元アドレスが内部ネットワークのアドレスを示し、送信先アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報がパケットの転送許可を示す第１のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが前記セッション開始のパケットを示し、及び、動作情報がパケットの破棄を示す第２のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報が転送許可を示す第３のルールと
が予め記憶され、
前記比較部は、入力されたＳＣＴＰパケットのヘッダ情報から取り出された送信元アドレスと、送信先アドレスと、前記セッション開始のパケットか否かを示すチャンクヘッダと基づき、前記アクセスリストの第１乃至第３のルールを順に参照して、該当するルールのひとつを検索し、
前記転送部は、第１のルール及び第３のルールのいずれかに該当する場合、該当するルールの動作情報に従いパケットを転送し、第２のルールに該当する場合、該当するルールの動作情報に従いパケットを破棄する前記パケット中継装置。
【請求項２】
前記セッション開始のパケットは、セッション開始のためのＩＮＩＴパケットをさらに含む請求項１に記載のパケット中継装置。
【請求項３】
通信プロトコルとしてＳＣＴＰ（Ｓｔｒｅａｍ  Ｃｏｎｔｒｏｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いてパケット通信を行うネットワークシステムにおいて、内部ネットワークと外部ネットワークの間に配置され、パケットの転送を制御するパケット中継装置であって、
パケットの送信元アドレスと送信先アドレスと、セッション開始のパケットか又は全てのパケットかを示すチャンクタイプと、パケットの転送許可又はパケットの破棄を示す動作情報と含む複数のルールが予め記憶されたアクセスリストと、
入力されたＳＣＴＰパケットのヘッダ情報に基づき前記アクセスリストを参照し、対応する動作情報を取得する比較部と
取得された動作情報に従い、入力されたＳＣＴＰパケットを転送し又は破棄する転送部と
を備え、
前記アクセスリストには、
送信元アドレスが内部ネットワークのアドレスを示し、送信先アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報がパケットの転送許可を示す第１のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが前記セッション開始のパケットを示し、及び、動作情報がパケットの破棄を示す第２のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報が転送許可を示す第３のルールと
が予め記憶され、
前記比較部は、
入力されたＳＣＴＰパケットのヘッダ情報から取り出された送信元アドレスと、送信先アドレスとに基づき、前記アクセスリストの第１乃至第３のルールを順に参照して、該当するルールのひとつを検索し、
該当するルールのチャンクタイプを参照し、該チャンクタイプがセッション開始のパケットを示すか判断し、
セッション開始を示す場合、入力されたＳＣＴＰパケットのチャンクヘッダを参照し、該パケットが、送信元若しくは送信先の装置において通信を維持又は管理するための情報を記憶するデータエリアが確保されるためのＣＯＯＫＩＥ  ＥＣＨＯパケット及び／又はセッション開始のためのＩＮＩＴパケットを含むセッション開始のパケットであるか判断し、
チャンクタイプがセッション開始を示しかつ入力されたパケットがセッション開始のパケットでない場合、前記アクセスリストを参照して該当する他のルールを検索し、さらに前記セッション開始のパケットを示すか判断すること、及び、前記セッション開始のパケットであるか判断することを実行し、
前記転送部は、
チャンクタイプがセッション開始を示しかつ入力されたパケットがセッション開始のパケットである場合、及び、セッション開始のみのルールではない場合、該当するルールの動作情報に従い、入力されたＳＣＴＰパケットを転送又は破棄する前記パケット中継装置。
【請求項４】
前記転送部は、
動作情報がパケットの破棄を示す場合、セッションの確立が失敗したことを示す信号、又は、アソシエーションを閉じるための他方のエンドポイントに送信されるＡＢＯＲＴ信号を、入力されたパケットの送信元アドレスに送信する請求項１に記載のパケット中継装置。
【請求項５】
前記アクセスリストは、送信元ポート情報と送信先ポート情報をさらに含み、
前記比較部は、
入力されたヘッダ情報から取り出された送信元アドレスと送信先アドレスと送信元ポート情報と送信先ポート情報と、チャンクヘッダとに基づき、前記アクセステーブルの各ルールを順に参照して該当するルールを検索する請求項１に記載のパケット中継装置。
【請求項６】
前記比較部は、
入力されたＳＣＴＰパケットのヘッダ情報を参照して、該パケットが、分割されたフラグメントパケットか判断し、
該ヘッダ情報のフラグメントオフセットを参照して、フラグメントパケットの先頭パケットであるか判断し、
先頭パケットの場合、該当するルールの動作情報に従い該パケットを転送又は破棄し、及び、該パケットの送信元アドレス及び送信先アドレスを含むフロー情報と該当するルールの動作情報とを対応して記憶し、
先頭パケットでない場合、入力されたパケットのフロー情報に基づき、記憶されたフロー情報を検索して対応する動作情報を読み出し、該動作情報に従い、入力された該パケットを転送又は破棄する請求項１に記載のパケット中継装置。
【請求項７】
前記比較部は、
先頭パケットでなく、且つ、該当するフロー情報及び動作情報が記憶されていない場合、入力されたフラグメントパケットを記憶し、
該フラグメントパケットとフロー情報が一致する先頭パケットが入力され、該当する動作情報に従い転送又は破棄された後に、記憶された前記フラグメントパケットを、該動作情報に従い転送又は破棄する請求項６に記載のパケット中継装置。
【請求項８】
前記アクセスリストは、
送信元アドレスが外部ネットワークに位置する予め定められた装置のアドレスを示し、送信先アドレスが内部ネットワークに位置する予め定められた装置のアドレスを示し、チャンクタイプがセッション開始のパケットを示し、及び、動作情報がパケットの転送許可を示す第４のルールをさらに含む請求項１に記載のパケット中継装置。
【請求項９】
前記パケット中継装置は、フロー情報を送信するＩＰＦＩＸ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｃｏｌ  Ｆｌｏｗ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｘｐｏｒｔ）  Ｅｘｐｏｒｔｅｒと、該フロー情報を収集するＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒとを備える、フロー情報を収集するためのＩＰＦＩＸシステムにおいて、前記ＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒが位置する内部ネットワークと、前記ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒが位置する外部ネットワークとの間に配置された前記パケット中継装置であって、
前記アクセスリストは、
送信元アドレスが前記ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒのアドレスを示し、送信先アドレスが前記ＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒのアドレスを示し、チャンクタイプがセッション開始のパケットを示し、及び、動作情報がパケットの転送許可を示す第５のルールをさらに含む請求項１に記載のパケット中継装置。
【請求項１０】
前記パケット中継装置は、呼処理機能を有するＩＰノード上のアプリケーションサーバと、共通線信号Ｎｏ．７の信号とＩＰパケットの変換機能を有するゲートウェイとを備える、ＩＰ網上で共通線信号Ｎｏ．７の信号方式を実現するためのＭ３ＵＡ（Ｍｅｓｓａｇｅ  Ｔｒａｎｓｆｅｒ  Ｐａｒｔ  ３  Ｕｓｅｒ  Ａｄａｐｔａｔｉｏｎ）システムにおいて、前記ゲートウェイが位置する内部ネットワークと、前記アプリケーションサーバが位置する外部ネットワークとの間に配置された前記パケット中継装置であって、
前記アクセスリストは、
送信元アドレスが前記アプリケーションサーバのアドレスを示し、送信先アドレスが前記ゲートウェイのアドレスを示し、チャンクタイプがセッション開始のパケットを示し、及び、動作情報がパケットの転送許可を示す第６のルールをさらに含む請求項１に記載のパケット中継装置。
【請求項１１】
通信プロトコルとしてＳＣＴＰを用いてパケット通信を行うネットワークシステムにおいて、パケットの転送を制御するパケット中継方法であって、
パケットの送信元アドレスと送信先アドレスと、セッション開始のパケットか又は全てのパケットかを示すチャンクタイプと、パケットの転送許可又はパケットの破棄を示す動作情報と含む複数のルールが予め記憶され、該複数のルールは、
送信元アドレスが内部ネットワークのアドレスを示し、送信先アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報がパケットの転送許可を示す第１のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプがセッション開始のパケットを示し、及び、動作情報がパケットの破棄を示す第２のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報が転送許可を示す第３のルールと
を含むアクセスリストの第１乃至第３のルールを順に参照して、入力されたＳＣＴＰパケットのヘッダ情報から取り出された送信元アドレスと、送信先アドレスと、セッション開始のパケットか否かを示すチャンクヘッダと基づき、該当するルールのひとつを検索するステップと、
第１のルール及び第３のルールのいずれかに該当する場合、該当するルールの動作情報に従いパケットを転送し、第２のルールに該当する場合、該当するルールの動作情報に従いパケットを破棄するステップと
を含み、
前記セッション開始のパケットは、送信元若しくは送信先の装置において通信を維持又は管理するための情報を記憶するデータエリアが確保されるためのＣＯＯＫＩＥ  ＥＣＨＯパケットである前記パケット中継方法。
【請求項１２】
通信プロトコルとしてＳＣＴＰを用いてパケット通信を行うネットワークシステムにおいて、パケットの転送を制御するパケット中継プログラムであって、
パケットの送信元アドレスと送信先アドレスと、送信元若しくは送信先の装置において通信を維持又は管理するための情報を記憶するデータエリアが確保されるためのＣＯＯＫＩＥ  ＥＣＨＯパケットであるセッション開始のパケットか又は全てのパケットかを示すチャンクタイプと、パケットの転送許可又はパケットの破棄を示す動作情報と含む複数のルールが予め記憶され、該複数のルールは、
送信元アドレスが内部ネットワークのアドレスを示し、送信先アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報がパケットの転送許可を示す第１のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプがセッション開始のパケットを示し、及び、動作情報がパケットの破棄を示す第２のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報が転送許可を示す第３のルールと
を含むアクセスリストの第１乃至第３のルールを順に参照して、入力されたＳＣＴＰパケットのヘッダ情報から取り出された送信元アドレスと、送信先アドレスと、セッション開始のパケットか否かを示すチャンクヘッダと基づき、該当するルールのひとつを検索するステップと、
第１のルール及び第３のルールのいずれかに該当する場合、該当するルールの動作情報に従いパケットを転送し、第２のルールに該当する場合、該当するルールの動作情報に従いパケットを破棄するステップと
をコンピュータに実行させるための前記パケット中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット中継装置、パケット中継方法及びパケット中継プログラムに係り、特に、ＳＣＴＰ（Ｓｔｒｅａｍ  Ｃｏｎｔｒｏｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）を利用したアプリケーションをファイアウォールにて防御しつつ一定の利便性を確保するため、片方向のセッションのみ許容するパケット中継装置、パケット中継方法及びパケット中継プログラムに関する。
【背景技術】
【０００２】
ＩＰプロトコルの上位レイヤのトランスポート層のプロトコルとして、従来広く使われていたＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に加え、ＳＣＴＰのＲＦＣが２０００年１０月に発行された（例えば、非特許文献１参照）。今後、アプリケーションが通信に使用するコネクションオリエンテッド型のプロトコルとしてＳＣＴＰが採用されることも増えると予想される。それに伴い、ファイアウォールにも新しいプロトコルであるＳＣＴＰに対応したトランスポート層でのセッション制御技術が必要とされる。
図２に、ＳＣＴＰの一般的なシーケンスの一例を示す。ＳＣＴＰでは、セッション開始、データ転送、セッション切断の各手順において、図示のような信号・データが送受信される。
【０００３】
図３に、ＴＣＰの一般的なシーケンスの一例を示す。また、図４にＴＣＰにおけるホストＡ−Ｘ間のＴＣＰコネクション制御のシーケンス図を示す。従来、ホスト間でコネクションを設定して、情報の送受信を行うトランスポート層のプロトコルとしては、ＴＣＰが広く使われていた。ＴＣＰのアプリケーションをファイアウォールにて保護する場合、パケット中継装置上を通過するパケットからヘッダ情報を抜き出し、ヘッダ情報に基づき転送すべきパケットか破棄すべきパケットかを判定する。例えば、図１８で示す送信先ＩＰアドレス、発信元ＩＰアドレス、送信先ポート番号、発信元ポート番号、フラグ（例えばＵＲＧ、ＡＣＫ、ＰＳＨ、ＲＳＴ、ＳＹＮ、ＦＩＮの６つ）の５つのフィールドを参照して転送すべきパケットか破棄すべきパケットかを判定する。
【０００４】
特に、図４に示すように、ホストＡ１１０からホストＸ１２０への接続は許すが、逆に、ホストＸ１２０からホストＡ１１０への接続を許さないという片方向のコネクションのみを許す場合、ホストＡ１１０とホストＸ１２０との経路上にあるファイアウォール１４０にて、両ホスト間をやりとりするパケットを制御する。すなわち、ホストＸ１２０からホストＡ１１０方向へのパケットのＡＣＫフラグがＯＦＦのパケットのみを検出して破棄し他のパケットは通常の転送処理を行う。この動作により、ホストＸ１２０からホストＡ方向へのセッションの開始となるＳＹＮパケットは破棄される。これにより、ホストＸ１２０からホストＡ１１０方向へのセッションを確立させないことを実現している。
また、プロトコルとして、Ｍ３ＵＡ（Ｍｅｓｓａｇｅ  Ｔｒａｎｓｆｅｒ  Ｐａｒｔ  ３  Ｕｓｅｒ  Ａｄａｐｔａｔｉｏｎ）や、ＩＰＦＩＸ（ＩＰ  Ｆｌｏｗ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｘｐｏｒｔ）の仕様が開示されている（例えば、非特許文献２、３参照）。
【０００５】
【非特許文献１】ＲＦＣ２９６０、「Ｓｔｒｅａｍ  Ｃｏｎｔｒｏｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ」、ＩＥＴＦ、２０００年１０月
【非特許文献２】ＲＦＣ３３３２、「ＭＴＰ  Ｌｅｖｅｌ３  Ｕｓｅｒ  Ａｄａｐｔａｔｉｏｎ」、ＩＥＴＦ、２００２年９月
【非特許文献３】ｄｒａｆｔ−ｉｅｔｆ−ｉｐｆｉｘ−ｐｒｏｔｏｃｏｌ−０８．ｔｘｔ、「ＩＰＦＩＸ  Ｐｒｏｔｏｃｏｌ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」、ＩＥＴＦ、２００４年２月
【非特許文献４】「ファイアウォール構築」、第２版、ＶＯＬＵＭＥ１、オライリージャパン出版、第８．７．３章、２００２年１２月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術では、ＳＣＴＰについては、図１８で示すＩＰヘッダ内のプロトコル識別子によってのみフィルタリングが行われている。しかし、このフィルタリングでは、特定のポート番号を持つセッションのみを接続許容したり、セッションの方向を片方向に限り許容したりすることが出来ない場合があった。
また、ＵＤＰ／ＴＣＰでは特定のポート番号を持つセッションのみを接続許容したりすることが可能であり、図４で示すとおりＴＣＰについてはコネクションの方向を片方向に限り許容したりすることができる。これは、ＴＣＰセッション開始の最初のパケット（ＡＣＫフラグなし）とそれ以外のパケット（ＡＣＫフラグあり）でパケット転送を許容するか破棄するかを決定する仕組みにより実現されていた。
【０００７】
このように、ＴＣＰではパケット内のＡＣＫフラグを参照してセッション開始の最初の信号以外は転送を許可し、セッション開始のために最初に中継されるＳＹＮ信号を廃棄するフィルタを使うことで一方通行のコネクションを実現している。
一方、ＳＣＴＰの場合ＡＣＫフラグは存在しないので、別の手段によりセッションの開始を判定する必要がある。また、ＳＣＴＰについては、ＴＣＰのようにセッション開始のための最初に中継されるＩＮＩＴ信号とそれ以外を区別し、パケット転送を許容するか破棄するかを決定するだけでは不十分である。なぜならば、図６で示すように、ホストＸが悪意を持った攻撃者である場合、３番目のＣＯＯＫＩＥ  ＥＣＨＯ信号を送ることで、あたかもＳＣＴＰのセッションの開始手順を行っているように見せる可能性があるからである。
【０００８】
本発明は、以上の点に鑑み、パケット中継装置において、ＳＣＴＰの片方向セッションのみを許可する装置を提供することを目的とする。また、本発明は、外部ネットワークから送信されたＳＣＴＰのＣＯＯＫＩＥ−ＥＣＨＯ信号および／またはＩＮＩＴ信号を検出し、それらを廃棄しおよび／またはＡＢＯＲＴ信号を返送することを目的とする。また、本発明は、ＳＣＴＰを利用したアプリケーションを防御することを目的とする。
また、本発明は、ネットワーク上のＩＰパケット転送装置にＳＣＴＰの片方向のセッションのみを許す機能を付加することにより、ＳＣＴＰを利用したアプリケーションを一定の利便性を保ちつつ、適切な範囲で接続制限することを目的のひとつとする。
【課題を解決するための手段】
【０００９】
本発明では、ＳＣＴＰの３番目に送信されるＣＯＯＫＩＥ−ＥＣＨＯ信号を廃棄することで一方通行のコネクションを実現する。なぜならば、ＳＣＴＰでは最初のＩＮＩＴ信号受信では受信ホストでリソース保持せず、３番目の信号で初めてＴＣＢ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｂｌｏｃｋ、転送制御ブロック）をホスト内で確保するからである。よって、ＳＣＴＰのセッションを防止する場合、ＣＯＯＫＩＥ−ＥＣＨＯ信号の廃棄が必要である。また、ＳＣＴＰ接続を希望しないホストからの攻撃防止の観点から、ＩＮＩＴ信号も防止した方がよい。
【００１０】
以下、用語について説明する。
ＴＣＢ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｂｌｏｃｋ）は、ＳＣＴＰ間で確立されるアソシエーション毎に生成されるデータエリアである。エンドポイントがアソシエーションを維持・管理するために、ＴＣＢにはすべての状態とオペレーション情報を含んでいる。
ＡＢＯＲＴ信号は、アソシエーションを閉じるために、他方のエンドポイントに送る信号である。
発信元ポート、送信先ポートは、ＴＣＰやＳＣＴＰ等のトランスポート層のレイヤで、コネクションやアソシエーションを識別するための番号である。あらかじめアプリケーション毎にポート番号が割り当てられており、コネクションやアソシエーションの生成元では送信先ポート番号にそのアプリケーションに割り当てられた番号を使用し、発信元ポートには自ホストのアプリケーションに割り当てられていない番号から任意の１つの番号をコネクションやアソシエーション生成毎に選択し使用する。
チャンクタイプは、ＳＣＴＰの信号を識別するための識別子である。例えば、ＩＮＩＴチャンク、ＡＢＯＲＴチャンク、ＤＡＴＡチャンク等がある。
【００１１】
本発明の第１の解決手段によると、
通信プロトコルとしてＳＣＴＰ（Ｓｔｒｅａｍ  Ｃｏｎｔｒｏｌ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いてパケット通信を行うネットワークシステムにおいて、内部ネットワークと外部ネットワークの間に配置され、パケットの転送を制御するパケット中継装置であって、
パケットの送信元アドレスと送信先アドレスと、セッション開始のパケットか又は全てのパケットかを示すチャンクタイプと、パケットの転送許可又はパケットの破棄を示す動作情報と含む複数のルールが予め記憶されたアクセスリストと、
入力されたＳＣＴＰパケットのヘッダ情報に基づき前記アクセスリストを参照し、対応する動作情報を取得する比較部と
取得された動作情報に従い、入力されたＳＣＴＰパケットを転送し又は破棄する転送部と
を備え、
前記アクセスリストには、
送信元アドレスが内部ネットワークのアドレスを示し、送信先アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報がパケットの転送許可を示す第１のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプがセッション開始のパケットを示し、及び、動作情報がパケットの破棄を示す第２のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが全てのパケット又はセッション開始以外のパケットを示し、及び、動作情報が転送許可を示す第３のルールと
が予め記憶され、
前記比較部は、入力されたＳＣＴＰパケットのヘッダ情報から取り出された送信元アドレスと、送信先アドレスと、セッション開始のパケットか否かを示すチャンクヘッダと基づき、前記アクセスリストの第１乃至第３のルールを順に参照して、該当するルールのひとつを検索し、
前記転送部は、第１のルール及び第３のルールのいずれかに該当する場合、該当するルールの動作情報に従いパケットを転送し、第２のルールに該当する場合、該当するルールの動作情報に従いパケットを破棄する前記パケット中継装置が提供される。
【００１２】
本発明の第２の解決手段によると、
通信プロトコルとしてＳＣＴＰを用いてパケット通信を行うネットワークシステムにおいて、パケットの転送を制御するパケット中継方法及びパケット中継プログラムであって、
パケットの送信元アドレスと送信先アドレスと、セッション開始のパケットか又は全てのパケットかを示すチャンクタイプと、パケットの転送許可又はパケットの破棄を示す動作情報と含む複数のルールが予め記憶され、該複数のルールは、
送信元アドレスが内部ネットワークのアドレスを示し、送信先アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、チャンクタイプが全てのパケットを示し、及び、動作情報がパケットの転送許可を示す第１のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプがセッション開始のパケットを示し、及び、動作情報がパケットの破棄を示す第２のルールと、
送信元アドレスが外部ネットワークのアドレス又は全てのアドレスを示し、送信先アドレスが内部ネットワークのアドレスを示し、チャンクタイプが全てのパケット又はセッション開始以外のパケットを示し、及び、動作情報が転送許可を示す第３のルールと
を含むアクセスリストの第１乃至第３のルールを順に参照して、入力されたＳＣＴＰパケットのヘッダ情報から取り出された送信元アドレスと、送信先アドレスと、セッション開始のパケットか否かを示すチャンクヘッダと基づき、該当するルールのひとつを検索するステップと、
第１のルール及び第３のルールのいずれかに該当する場合、該当するルールの動作情報に従いパケットを転送し、第２のルールに該当する場合、該当するルールの動作情報に従いパケットを破棄するステップと
を含む前記パケット中継方法及びこれら各ステップをコンピュータに実行させるための前記パケット中継プログラムが提供される。
【発明の効果】
【００１３】
本発明によると、パケット中継装置において、ＳＣＴＰの片方向セッションのみを許可する装置を提供することができる。また、本発明によると、外部ネットワークから送信されたＳＣＴＰのＣＯＯＫＩＥ−ＥＣＨＯ信号および／またはＩＮＩＴ信号を検出し、それらを廃棄しおよび／またはＡＢＯＲＴ信号を返送することができる。また、本発明によると、ＳＣＴＰを利用したアプリケーションを防御することができる。
本発明によると、ネットワーク上のＩＰパケット転送装置にＳＣＴＰの片方向のセッションのみを許す機能を付加することにより、ＳＣＴＰを利用したアプリケーションを一定の利便性を保ちつつ、適切な範囲で接続制限することが可能となる。
【発明を実施するための最良の形態】
【００１４】
１．ＴＣＰにおけるファイアウォール
まず、ＴＣＰにおけるファイアウォールの例について説明する。なお、以下の説明は本実施の形態の理解を深めるためのものであり、従来技術を特定するものではない。
図１７は、ファイアウォールの構成例である。
ファイアウォール１４０は、例えば、アクセスリスト１４１、アクセスリスト設定機能部１４２、パケットヘッダアクセスリスト比較部１４３、イベント記録部１４４、転送部１４５を備える。
図１８は、ＴＣＰ及びＩＰのパケットフォーマットである。
パケットは、例えば、ＩＰヘッダと、ＴＣＰヘッダと、データとを含む。ＩＰヘッダは、発信元ＩＰアドレス、送信先ＩＰアドレスを含む。ＴＣＰヘッダは、発信元ポート、送信先ポート、ＡＣＫフラグなどを含む。セッション開始の際には、図４に示すように、まずＳＹＮフラグがＯＮになったＳＹＮパケットが送信される。これに対し、ＳＹＮフラグとＡＣＫフラグがＯＮになったＳＹＮ／ＡＣＫフラグが送信される。ファイアウォール１４０では、外部のホストＸ１２０からのＳＹＮパケットは転送を禁止し、ホストＡ１１０からセッションを開始した場合のＳＹＮ／ＡＣＫパケットやデータパケットなどは転送を許可する機能を有する。
【００１５】
図５は、アクセスリスト１４１の構成例である。
例えば、外向きのＴｅｌｎｅｔセッションは許可したいがそれ以外は許可したくないときのパケットフィルタの設定例を示す。ルールＡにより、内部のホストから送信されるＴｅｌｎｅｔパケットの全ての転送を許可することにより、ＳＹＮフラグがＯＮのパケットを含む全てのパケットは送信先に送信される。また、ルールＢにより、外部から内部のホストへ送信されるＴｅｌｎｅｔの返りパケットのうちＡＣＫフラグがセットされたものだけを許可することにより、攻撃者がこのルールを悪用して発信元ポート、送信先ポート番号をあわせてＳＹＮフラグがＯＮのパケットを送信して攻撃したとしても、ＡＣＫフラグがセットされていないので、このルールＢで許可されることはない。ＡＣＫフラグがＯＦＦかつＳＹＮフラグがＯＮのパケット処理はルールＣ以降にゆだねられる。ルールＣはデフォルトルールであり、このルールよりも前のルール（本例ではルールＡとルールＢ）が適用されない全てのパケットに対しこのルールが適用され、パケット破棄される。
【００１６】
２．ＳＣＴＰでのファイアウォール
ＳＣＴＰでは、上述のＴＣＰのようなＡＣＫフラグが存在しない。そこで、以下のようにファイアウォールを構成する。
（ハード構成）
図１は、ネットワーク構成図である。
本実施の形態におけるネットワークは、例えば、ホストＡ１０と、ホストＢ２０と、ホストＸ３０と、ファイアウォール４０とを備える。ホストＡ１０は、例えば、ネットワークＳ１、Ｓ２、Ｓ３などを介してファイアウォール４０に接続され、セキュアドネットワーク内部にある。一方、ホストＢ２０、ホストＸ３０は、例えば、ネットワークＵ１、Ｕ２、Ｕ３などを介してファイアウォールに接続され、非セキュアドネットワーク（外部）にある。本ネットワークは、通信プロトコルとしてＳＣＴＰを用いる。ＳＣＴＰは、ＩＰネットワーク上で電話網の制御信号を転送する等のためのプロトコルである（詳細は、非特許文献１参照）。
【００１７】
図９は、ファイアウォール装置４０の構成例を示す図である。
ファイアウォール装置４０は、例えば、アクセスリスト４１と、アクセスリスト設定機能部４２と、パケットヘッダアクセスリスト比較部４３と、イベント処理部４４と、転送部４５とを有する。
アクセスリスト設定機能部４２は、装置保守者の操作により、制御したいパケットを特定するルールを設定または削除する。この設定は、装置リスト内のアクセスリスト４１に記憶される。装置４０に対してパケットが入力された場合、各パケットは転送部４５により次の宛先が決定されたり、破棄されたりする。このパケット転送部４５にパケットが入力された後若しくは出力される前に、各パケットはパケットヘッダアクセスリスト比較部４３により、該当パケットがアクセスリスト４１に一致するかどうかの判定を行う。
もし、アクセスリスト４１に一致するルールがあった場合、そのパケットに対して設定されたルールどおりの転送若しくは破棄の処理を行うよう、転送部４５に通知される。一方、アクセスリスト４１に一致するルールがない場合、あらかじめ装置４０に設定されたルールにより転送若しくは破棄の処理が決定される。ルールの一致・不一致の結果は、イベント処理部４４に通知され、保守者や他の装置（例えばネットワーク管理装置）等が参照することが可能である。
【００１８】
（データ構成）
図１９は、ＳＣＴＰパケットのフォーマットである。
ＳＣＴＰパケットは、例えば、ＩＰヘッダと、ＳＣＴＰ  Ｃｏｍｍｏｎヘッダと、Ｃｈｕｎｋ（チャンク）ヘッダを含む。
ＩＰヘッダの詳細は、図１８（ｂ）と同様であり、例えば送信元ＩＰアドレス、送信先ＩＰアドレス、フラグメントオフセット（Ｆｒａｇｍｅｎｔ  Ｏｆｆｓｅｔ）を含む。ＳＣＴＰ  Ｃｏｍｍｏｎヘッダは、図１９（ｂ）のように、例えば送信元ポート（Ｓｏｕｒｃｅ  Ｐｏｒｔ）と、送信先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ）とを含む。
ＩＮＩＴ  Ｃｈｕｎｋヘッダは、例えば、ＩＮＩＴ信号のＣｈｕｎｋヘッダであり、例えば、図１９（ａ）のＣｈｕｎｋ＃１に該当する。ＩＮＩＴ  Ｃｈｕｎｋヘッダは、例えば、Ｔｙｐｅを含む。Ｔｙｐｅは、ＳＣＴＰプロトコルの各信号に対応して値が予め定められており、Ｔｙｐｅが参照されることで、ＩＮＩＴ信号とＣＯＯＫＩＥ  ＥＣＨＯ信号とその他の信号を識別できる。
【００１９】
図１６は、アクセスリスト４１の構成例である。
アクセスリスト４１は、例えば、発信元アドレスと、送信元アドレスと、プロトコルと、発信元ポートと、送信先ポートと、チャンクタイプと、動作（動作情報）とを含む。
発信元アドレス及び送信先アドレスの「内部」とは、例えば図１のセキュアドネットワーク内部のアドレスであり、予め定められることができる。チャンクタイプの「セッション開始」とは、セッション開始の信号のみのルールであることを示す。ここで、セッション開始の信号とは、ＩＮＩＴ信号とＣＯＯＫＩＥ  ＥＣＨＯ信号が該当する。また、「任意」とは、セッション開始以外を含む全てのパケットに対するルールであることを示す。動作は、パケット転送の許可／禁止を示す。なお、これらの情報は、数字、文字、フラグなど適宜の識別情報で記憶されてもよい。
ルールＡは、内部から外部へのＳＣＴＰパケットについては、転送を許可するためのルールである。ルールＢは、外部から内部へのセッション開始のためのＳＣＴＰパケットについては、転送を禁止するルールである。例えば、外部から内部へのＩＮＩＴ信号と、ＣＯＯＫＩＥ  ＥＣＨＯ信号の転送が禁止される。ルールＣは、外部から内部へのセッション開始以外のＳＣＴＰパケットの転送を許可するルールである。ルールＤは、ルールＡ〜Ｃに該当しなかった場合には、転送を禁止するルールである（デフォルトルール）。
【００２０】
（動作）
図６は、ホストＡ−Ｘ間のＳＣＴＰコネクション制御のシーケンス図である。
まず、ホストＡ１０（内部）からセッションを開始する場合、ファイアウォール装置４０は、アクセスリスト４１に従い、ＩＮＩＴ、ＩＮＩＴ  ＡＣＫ、ＣＯＯＫＩＥ  ＥＣＨＯ、ＣＯＯＫＩＥ  ＡＣＫの全てのデータの転送を許可する（ルールＡ及びＣ）。
一方、ホストＸ３０（外部）からセッションを開始する場合、ファイアウォール装置４０は、セッション開始のためのデータを破棄する（ルールＢ）。本実施の形態では、アクセスリスト４１に従い、ホストＸ３０など外部装置からのＩＮＴＩ、ＣＯＯＫＩＥ  ＥＣＨＯなどのセッション開始のためのデータを破棄する。
【００２１】
図１０は、ファイアウォールの処理のフローチャートである。
まず、ファイアウォール装置４０の転送部４５がパケットを受信する（Ｓ１０１）。転送部４５は、受信されたパケットからヘッダ情報を取り出す（Ｓ１０３）。また、転送部４５は、ヘッダ情報をパケットヘッダアクセスリスト比較部（以下、比較部と記す）４３に出力する。なお、転送部４５は、パケットを比較部４３へ出力し、比較部４３がヘッダ情報を取り出してもよい。
比較部４３は、各ヘッダ情報又はパケットが入力される毎に、そのヘッダ情報を参照し、ＩＰパケットであるか（Ｓ１０５）、フラグメントされていないか（Ｓ１０９）、ＳＣＴＰパケットであるか（Ｓ１１３）を順に判定する。比較部４３は、ＩＰパケットでなければ（Ｓ１０５）、非ＩＰパケットの所定の処理を実行する（Ｓ１０７）。また、比較部４３は、フラグメントされていれば（Ｓ１０９、Ｎｏ）、フラグメントパケット処理を実行する（Ｓ１１１）。フラグメントされているか否かはＩＰヘッダのフラグ及びフラグメントオフセットを参照することにより判断できる。なお、ステップＳ１１１については、後に詳述する。比較部４３は、ＳＣＴＰパケットでなければ（Ｓ１１３、Ｎｏ）、ＳＣＴＰ以外のパケットの所定の処理を実行する（Ｓ１１５）。ＳＣＴＰパケットか否かは、例えば、ＩＰヘッダのプロトコル識別子を参照することにより判断できる。
【００２２】
比較部４３は、ステップＳ１０５、Ｓ０１９、Ｓ１１３を全て満たす場合、その後、ＳＣＴＰ用のアクセスリスト４１のルールに一致するかどうかの検索処理を行う（Ｓ１１７）。例えば、比較部４３は、ＩＰヘッダから発信元ＩＰアドレス及び送信先ＩＰアドレスを抽出し、ＳＣＴＰ  Ｃｏｍｍｏｎヘッダから発信元ポート番号及び送信先ポート番号を抽出し、これら各データと一致するルールがアクセスリスト４１に存在するか求める。
比較部４３は、一致したルールがない場合は（Ｓ１１７、Ｎｏ）、ステップＳ１２７に移る。一方、比較部４３は、アクセスリスト４１に一致したルールがある場合（Ｓ１１７、Ｙｅｓ）、そのルールがＳＣＴＰセッションの開始のみを扱うルールか判断する（Ｓ１１９）。例えば、比較部４３は、一致したルールのチャンクタイプを参照し、例えば「セッション開始」と記載されていればＳＣＴＰセッションの開始のみを扱うルールと判断してステップＳ１２１へ移り、一方、例えば「任意」と記載されていればＳＣＴＰセッションの開始のみを扱うルールでないと判断してステップＳ１２３へ移る。
【００２３】
ステップＳ１２１では、比較部４３は、ＣＯＯＫＩＥ−ＥＣＨＯ信号またはＩＮＩＴ信号であるかを判定する（Ｓ１２１）。例えば、比較部４３は、図１９に示すＩＮＩＴ  ＣｈｕｎｋヘッダのＴｙｐｅを参照し、ＴｙｐｅがＣＯＯＫＩＥ−ＥＣＨＯ信号またはＩＮＩＴ信号を示す値であればステップＳ１２３へ移り、それ以外はステップＳ１２７へ移る。
ステップ１２７では、装置にあらかじめ設定されたルールの処理を行う（Ｓ１２７、Ｓ１２９）。本実施の形態では、一例として、他にＳＣＴＰ用のアクセスリスト（ルール）があれば（Ｓ１２７）、そのアクセスリスト（ルール）を参照してステップＳ１１７を繰り返し、他のアクセスリスト（ルール）がなければ（Ｓ１２７）、転送処理を行う（Ｓ１２９）。ステップＳ１１７、Ｓ１２７により、例えば、アクセスリスト４１が上から順に検索される。従って、複数のルールに一致する場合、上位のルールが適用される。
【００２４】
比較部４３は、ルールで設定された処理動作に従い、パケット転送若しくは破棄の動作を行う（Ｓ１２３、Ｓ１２５、Ｓ１３３）。また、比較部４３は、パケットを破棄する際には、ＡＢＯＲＴ信号を生成し、入力したパケットの送信元ＩＰアドレスへ送信する（Ｓ１３１）。ＡＢＯＲＴ信号が送信されることにより、送信元はセッションの確立が失敗したことを、タイムアウトを待たずに認識できる。なお、転送禁止の場合は、発信元ＩＰアドレスに対しＡＢＯＲＴ信号を返すようになっているが、この処理は必ずしも必要ではなく、省略されてもよい。また、パケットの破棄後に送信してもよい。なお、ＩＮＩＴ信号に対する判定と処理は、必要とされない場合もある。
【００２５】
図１１は、図１０におけるフラグメントパケット処理（Ｓ１１１）の詳細フローチャートである。
フラグメントパケットとは、パケットの送信元でＩＰヘッダ＋ＴＣＰヘッダ＋ＴＣＰデータ（又はＩＰヘッダ＋ＳＣＴＰヘッダ＋ＳＣＴＰデータ、以下同じ）と生成されていた１パケットが、パケット中継装置を中継する時に転送可能なパケット長が短くなったことにより複数パケットに分割されたパケットである。例えば、ＩＰヘッダ＋ＴＣＰヘッダ＋ＴＣＰデータ（途中まで）の１パケット目と、ＩＰヘッダ＋ＴＣＰデータ（１パケット目からの続き）の２パケット目のように、ＩＰヘッダがコピーされた２つのパケットが生成される。なお、フラグメントパケットは図１８に示すＩＰヘッダ内のＦｌａｇおよびＦｒａｇｍｅｎｔ  ｏｆｆｓｅｔにパケット再構成できるように適切な値が記入されており、フラグメントされないパケットと区別できるようになっている。ＳＣＴＰの場合も途中のパケット中継装置でフラグメントされることがあるため、完全にＳＣＴＰの信号をファイアウォール装置にてフィルタリングするためにはフラグメントに対応した処理が必要である。
【００２６】
図１０に示す処理において、フラグメントパケットを検出した場合（Ｓ１０９）、パケット中継装置は図１０の処理から図１１の「フラグメントパケット処理」（Ｓ１１１）へ推移する。
まず、入力されたパケットがフラグメントパケットであると判断される、又は、フラグメントパケットが入力される（Ｓ２０１）。比較部４３は、フラグメントパケットの１パケット目である先頭フラグメントパケットであるか判断する（Ｓ２０３）。例えば、入力されるヘッダのフラグメントオフセットの値を参照して、先頭フラグメントパケットであるか判断する。
比較部４３は、先頭フラグメントパケットの場合（Ｓ２０３、Ｙｅｓ）、図１０の処理と同様の処理により、転送・破棄が判断される。なお、ステップＳ１１３〜Ｓ１３３の処理は、上述の各処理と同様であるので、同じ符号を付し詳細な説明を省略する。
【００２７】
また、この処理の途中で先頭フラグメントパケットのフロー情報（例えば、送信先ＩＰアドレス、発信元ＩＰアドレス、送信先ポート番号、発信元ポート番号の４つ）、識別子および図１６から抽出した動作内容をパケット中継装置内に一定時間記憶する（Ｓ２２９、Ｓ２３７）。例えば、比較部４３は、ステップＳ１２５におけるパケットの送信後、及び、ステップＳ１３３におけるパケットの破棄後に、記憶する。
この後、フラグメントパケットの２パケット目以降が入力された場合、比較部４３は、送信先ＩＰアドレス、発信元ＩＰアドレスと識別子の３つのフィールドからどの先頭フラグメントとフローが一致するかをチェックする（Ｓ２０９）。一致すれば、比較部４３は、一致した先頭フラグメントパケットと同じ動作を行う。例えば、記憶された動作内容に従い、パケットを転送又は破棄することができる。なお、ステップＳ１１３〜Ｓ１３３の処理を再度実行してもよい。
一方、先頭フラグメントパケットのフローリストと一致しない場合（Ｓ２０９、Ｎｏ）、先頭フラグメントパケットと順序が逆転している可能性があるので一定時間保持し（Ｓ２１１）、後に改めて先頭フラグメントパケット処理を行った後で、保持していたフラグメントパケットも同様の処理を行う（Ｓ２３１、Ｓ２３９）。但し、保持時間が一定時間を越えた場合はそのフラグメントパケットを転送するようにしてもよい。
【００２８】
３．ＩＰＦＩＸへの適用例
ＩＰＦＩＸ（統計フローの情報収集のためのプロトコル：標準化途中、詳細は非特許文献３参照）アプリケーションにおける本実施の形態の適用例を説明する。
図１２は、ＩＰＦＩＸの網構成の一例である。
ＩＰＦＩＸシステムは、フロー情報を送信するＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０と、フロー情報を収集するＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０とを備え、フロー情報を収集する。ファイアウォール２４０は、ＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０が位置する内部ネットワークと、ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０が位置する外部ネットワークとの間に配置される。
ＩＰＦＩＸの場合、ＳＣＴＰのセッションはＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０側がクライアントとなり、ＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０側がサーバとなる。この場合、ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０とＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０の間に、本発明のＳＣＴＰフィルタリング機構をもつファイアウォール２４０を配置することにより、Ｅｘｐｏｒｔｅｒ２２０への不適切なＳＣＴＰの接続要求を防ぐことができる。なお、ファイアウォール２４０の構成及びパケットフォーマットは、上述と同様であるので説明を省略する。
【００２９】
図１３は、アクセスリストの設定を示す図である。例えば、外向きのＳＣＴＰセッションと、外部のＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０から内部のＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０へのＳＣＴＰセッションとは許可したいが、それ以外は許可したくないときのパケットフィルタの設定例である。
ルールＡは、内部から外部方向のＳＣＴＰパケット制御のためのルールである。ルールＡにより、内部のホストから送信されるＳＣＴＰパケットの全てを許可することにより、内部からのＳＣＴＰセッション開始は可能となる。また、外部から張られたセッションに関するＳＣＴＰパケットを含む全てのＳＣＴＰパケットは、内部から全ての送信先に送信されることが可能である。
【００３０】
ルールＢからルールＤは外部から内部方向のＳＣＴＰパケット制御のためのルールであり、特にルールＢとルールＣは外部から内部方向のＳＣＴＰセッション制御のためのルールである。ルールＢ（第５のルール）により、ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０からＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０へのＳＣＴＰのセッション開始は許可される。
ルールＣにより、ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０以外の任意のホストから内部のホストへのＳＣＴＰセッションの開始は禁止される。このルールにより、ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０以外のホスト（例えば、攻撃者ホスト２３０）からＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０を含む内部ホストへのＳＣＴＰのセッション開始が禁止されるので、あらかじめ登録されたＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０以外のホストがＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０に対してＳＣＴＰのセッションを多量に発生させる攻撃を行ったとしても、このルールによりパケット破棄される。
【００３１】
ルールＤは、内部のホスト宛に送信されるＳＣＴＰパケットの全てを許可する。ルールＤをルールＢ、ルールＣと組み合わせることにより、既に張られたＳＣＴＰセッションに関するＳＣＴＰパケットを制御するルールとなり、ここでは既に張られたＳＣＴＰセッションのＳＣＴＰパケットは、任意の発信元から内部の送信先に送信されることが可能であることを意味する。
ルールＥはデフォルトルールであり、このルールよりも前のルール（本例ではルールＡからルールＤ）が適用されない全てのパケットに対しこのルールが適用され、パケット破棄される。
【００３２】
図７は、ＩＰＦＩＸへ適用した場合のシーケンス図である。
例えば、図７で示すように、ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０がＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０に対してＳＣＴＰセッションを開始する場合（図上段）、攻撃ホスト２３０がＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０に対してＳＣＴＰセッション開始を試みる場合（図下段）のそれぞれについて、本実施の形態のＳＣＴＰフィルタリング機構をもつファイアウォール２４０の動作を説明する。なお、詳細なフローチャートは、上述の図１０、図１１の各処理と同様である。
【００３３】
ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ２２０がＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０に対してＳＣＴＰセッションを開始する場合、ファイアウォール２４０でＩＮＩＴ信号やＣＯＯＫＩＥ−ＥＣＨＯ信号が受信されると、パケットヘッダアクセスリスト比較部４３により、「発信元ＩＰアドレス、送信先ＩＰアドレス、発信元ポート番号、送信先ポート番号がアクセスリストと一致するか」が判定される。ここでは、ルールＢと一致するので、転送が許可される。
一方、攻撃ホスト２３０がＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ２１０に対してＳＣＴＰセッションを開始する場合、すなわちＩＮＩＴ信号またはＣＯＯＫＩＥ−ＥＣＨＯ信号を送信する場合、ファイアウォールでＩＮＩＴ信号やＣＯＯＫＩＥ−ＥＣＨＯ信号が受信されると、パケットヘッダアクセスリスト比較部４３により、「発信元ＩＰアドレス、送信先ＩＰアドレス、発信元ポート番号、送信先ポート番号がアクセスリストと一致するか」が判定される。ここでは、ルールＣと一致するので、転送が禁止される。
【００３４】
４．Ｍ３ＵＡへの適用例
Ｍ３ＵＡ（Ｍｅｓｓａｇｅ  Ｔｒａｎｓｆｅｒ  Ｐａｒｔ  Ｌｅｖｅｌ  ３  Ｕｓｅｒ  Ａｄａｐｔａｔｉｏｎ：詳細は非特許文献２参照）アプリケーションにおける本実施の形態の適用例を説明する。
図１４は、Ｍ３ＵＡの網構成の一例を示す図である。
Ｍ３ＵＡシステムは、呼処理機能を持つＩＰノード上のＭ３ＵＡ  ＡＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ  Ｐｒｏｃｅｓｓ、アプリケーションサーバ）３２０と、ＳＳ７（Ｓｉｎｇｌａｉｎｇ  Ｓｙｓｔｅｍ  Ｎｏ．７、共通線信号Ｎｏ．７）信号とＩＰパケットの変換機能を持つＳＧＰ（Ｓｉｇｎａｌｌｉｎｇ  Ｇａｔｅｗａｙ  Ｐｒｏｃｅｓｓ、ゲートウェイ）３１０とを備え、ＩＰ網上でＳＳ７信号方式を実現する。Ｍ３ＵＡの場合、ＳＣＴＰのセッションはＭ３ＵＡ  ＡＳＰ３２０側がクライアントとなり、ＳＧＰ３１０側がサーバとなる。この場合、Ｍ３ＵＡ  ＡＳＰ３２０とＳＧＰ３１０の間に、本実施の形態のＳＣＴＰフィルタリング機構をもつファイアウォール３４０を配置することにより、ＳＧＰ３１０への不適切なＳＣＴＰの接続要求を防ぐことができる。
【００３５】
図１５は、アクセスリストの設定を示す図である。例えば、外向きのＳＣＴＰセッションと外部のＭ３ＵＡ  ＡＳＰ３２０から内部のＳＧＰ３１０へのＳＣＴＰセッションとは許可したいが、それ以外は許可したくないときのパケットフィルタの設定例である。
ルールＡは、内部から外部方向のＳＣＴＰパケット制御のためのルールである。ルールＡにより、内部のホストから送信されるＳＣＴＰパケットの全てを許可することにより、内部からのＳＣＴＰセッション開始は可能となる。また、外部から張られたセッションに関するＳＣＴＰパケットを含む全てのＳＣＴＰパケットは、内部から全ての送信先に送信されることが可能である。
【００３６】
ルールＢからルールＤは外部から内部方向のＳＣＴＰパケット制御のためのルールであり、特にルールＢとルールＣは外部から内部方向のＳＣＴＰセッション制御のためのルールである。
ルールＢ（第６のルール）により、Ｍ３ＵＡ  ＡＳＰ３２０からＳＧＰ３１０へのＳＣＴＰのセッション開始は許可される。
ルールＣにより、任意のホストから内部のホストへのＳＣＴＰセッションの開始は禁止される。このルールにより、Ｍ３ＵＡ  ＡＳＰ３２０以外のホスト（例えば、攻撃者ホスト３３０）からＳＧＰ３１０を含む内部ホストへのＳＣＴＰのセッション開始が禁止されるので、あらかじめ登録されたＭ３ＵＡ  ＡＳＰ３２０以外のホストがＳＧＰ３１０に対してＳＣＴＰのセッションを多量に発生させる攻撃を行ったとしても、このルールによりパケット破棄される。
【００３７】
ルールＤは、内部のホスト宛に送信されるＳＣＴＰパケットの全てを許可する。ルールＤをルールＢ、ルールＣと組み合わせることにより、既に張られたＳＣＴＰセッションに関するＳＣＴＰパケットを制御するルールとなり、ここでは既に張られたＳＣＴＰセッションのＳＣＴＰパケットは、任意の発信元から内部の宛先に送信されることが可能であることを意味する。
ルールＥはデフォルトルールであり、このルールよりも前のルール（本例ではルールＡからルールＤ）が適用されない全てのパケットに対しこのルールが適用され、パケット破棄される。
【００３８】
図８は、Ｍ３ＵＡへ適用した場合のシーケンス図である。
例えば、図８で示すように、Ｍ３ＵＡ  ＡＳＰ３２０がＳＧＰ３１０に対してＳＣＴＰセッションを開始する場合（図上段）、攻撃ホスト３３０がＳＧＰ３１０に対してＳＣＴＰセッション開始を試みる場合（図下段）のそれぞれについて、本発明のＳＣＴＰフィルタリング機構をもつファイアウォール３４０の動作を説明する。なお、詳細なフローチャートは、上述の図１０、図１１の各処理と同様である。
Ｍ３ＵＡ  ＡＳＰ３２０がＳＧＰ３１０に対してＳＣＴＰセッションを開始する場合、ファイアウォール３４０でＩＮＩＴ信号やＣＯＯＫＩＥ−ＥＣＨＯ信号が受信されると、パケットヘッダアクセスリスト比較部４２により、「発信元ＩＰアドレス、送信先ＩＰアドレス、発信元ポート番号、送信先ポート番号がアクセスリストと一致するか」が判定される。ここでは、ルールＢと一致するので、転送が許可される。
【００３９】
一方、攻撃者ホスト３３０がＳＧＰ３１０に対してＳＣＴＰセッションを開始する場合、すなわちＩＮＩＴ信号またはＣＯＯＫＩＥ−ＥＣＨＯ信号を送信する場合、ファイアウォールでＩＮＩＴ信号やＣＯＯＫＩＥ−ＥＣＨＯ信号が受信されると、パケットヘッダアクセスリスト比較部４３により、「発信元ＩＰアドレス、送信先ＩＰアドレス、発信元ポート番号、送信先ポート番号がアクセスリストと一致するか」が判定される。ここでは、ルールＣと一致するので、転送が禁止される。
【産業上の利用可能性】
【００４０】
本発明は、例えば、データ通信、ファイアウォール、パケット中継装置に関する産業に利用可能である。
【図面の簡単な説明】
【００４１】
【図１】ネットワーク構成図。
【図２】ＳＣＴＰの一般的シーケンス図。
【図３】ＴＣＰの一般的シーケンス図。
【図４】ホストＡ−Ｘ間のＴＣＰコネクション制御のシーケンス図。
【図５】ＴＣＰにおけるアクセスリストの構成図。
【図６】ホストＡ−Ｘ間のＳＣＴＰコネクション制御のシーケンス図。
【図７】ＩＰＦＩＸへ適用したシーケンス図。
【図８】Ｍ３ＵＡへの適用したシーケンス図。
【図９】ファイアウォールの内部構成図。
【図１０】ファイアウォールの処理のフローチャート。
【図１１】フラグメントパケット処理のフローチャート。
【図１２】ＩＰＦＩＸ網の構成図。
【図１３】ＩＰＦＩＸのアクセスリストの構成図。
【図１４】Ｍ３ＵＡ網の構成図。
【図１５】Ｍ３ＵＡのアクセスリストの構成図。
【図１６】アクセスリストの構成図。
【図１７】ファイアウォールの内部構成図。
【図１８】ＴＣＰおよびＩＰのパケットフォーマット。
【図１９】ＳＣＴＰのパケットフォーマット。
【符号の説明】
【００４２】
１０  ホストＡ
２０  ホストＢ
３０  ホストＸ
４０  ファイアウォール
４１  アクセスリスト
４２  アクセスリスト設定機能部
４３  パケットヘッダアクセスリスト比較部
４４  イベント処理部
４５  転送部
２１０  ＩＰＦＩＸ  Ｃｏｌｌｅｃｔｏｒ
２２０  ＩＰＦＩＸ  Ｅｘｐｏｒｔｅｒ
２３０  攻撃者ホスト
２４０  ファイアウォール
３１０  ＳＧＰ
３２０  Ｍ３ＵＡ  ＡＳＰ
３３０  攻撃者ホスト
３４０  ファイアウォール
【図１】
0004542053.tif 000002
【図２】
0004542053.tif 000003
【図３】
0004542053.tif 000004
【図４】
0004542053.tif 000005
【図５】
0004542053.tif 000006
【図６】
0004542053.tif 000007
【図７】
0004542053.tif 000008
【図８】
0004542053.tif 000009
【図９】
0004542053.tif 000010
【図１０】
0004542053.tif 000011
【図１１】
0004542053.tif 000012
【図１２】
0004542053.tif 000013
【図１３】
0004542053.tif 000014
【図１４】
0004542053.tif 000015
【図１５】
0004542053.tif 000016
【図１６】
0004542053.tif 000017
【図１７】
0004542053.tif 000018
【図１８】
0004542053.tif 000019
【図１９】
0004542053.tif 000020