(57)【要約】【課題】安全かつ柔軟性のあるデータ中継を実現すること。【解決手段】ネットワーク内でデータを中継する中継装置は、前記データの宛先および送信元により前記データが正規であることを示す正規情報を登録するホワイトリストを格納する記憶部と、第１データを受信する受信部と、前記受信部によって受信された第１データに関する正規情報が前記ホワイトリストに登録されているか否かを判定する判定部と、前記判定部によって前記第１データに関する正規情報が前記ホワイトリストに登録されていないと判定された場合、前記第１データの宛先への到達に要する残存寿命を、前記中継装置から前記ネットワーク内で最も近い通信装置から最も遠い通信装置までの間に存在する特定の通信装置までの到達に要する特定の寿命に書き換える書換部と、前記書換部による書換後の第１データを送信する送信部と、を有することを特徴とする。【選択図】図１
2019022118.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内でデータを中継する中継装置であって、
前記データの宛先および送信元により前記データが正規であることを示す正規情報を登録するホワイトリストを格納する記憶部と、
第１データを受信する受信部と、
前記受信部によって受信された第１データに関する正規情報が前記ホワイトリストに登録されているか否かを判定する判定部と、
前記判定部によって前記第１データに関する正規情報が前記ホワイトリストに登録されていないと判定された場合、前記第１データの宛先への到達に要する残存寿命を、前記中継装置から前記ネットワーク内で最も近い通信装置から最も遠い通信装置までの間に存在する特定の通信装置までの到達に要する特定の寿命に書き換える書換部と、
前記書換部による書換後の第１データを送信する送信部と、
を有することを特徴とする中継装置。
【請求項２】
請求項１に記載の中継装置であって、
前記特定の通信装置は、前記中継装置から前記ネットワーク内で前記最も遠い通信装置であることを特徴とする中継装置。
【請求項３】
請求項１に記載の中継装置であって、
前記特定の通信装置は、前記中継装置から前記ネットワーク内で前記最も近い通信装置であることを特徴とする中継装置。
【請求項４】
請求項１に記載の中継装置であって、
前記書換部は、前記第１データの宛先が前記ネットワーク内の通信装置である場合、前記第１データの宛先への到達に要する残存寿命を書き換えず、
前記送信部は、前記書換部によって書き換えられていない第１データを送信することを特徴とする中継装置。
【請求項５】
請求項１に記載の中継装置であって、
前記書換部は、前記判定部によって前記第１データに関する正規情報が前記ホワイトリストに登録されていると判定された場合、前記第１データの宛先への到達に要する残存寿命を書き換えず、
前記送信部は、前記書換部によって書き換えられていない第１データを送信することを特徴とする中継装置。
【請求項６】
請求項１に記載の中継装置であって、
前記記憶部は、不正データを送信する攻撃元を特定する攻撃情報を格納し、
前記判定部は、前記ホワイトリストに前記攻撃元と一致する送信元または宛先を有する特定の正規情報があるか否かを判定し、
前記書換部は、前記判定部によって前記特定の正規情報が前記ホワイトリストに登録されていると判定された場合、当該特定の正規情報を前記ホワイトリストから削除することを特徴とする中継装置。
【請求項７】
請求項６に記載の中継装置であって、
前記攻撃情報は、前記攻撃元からの攻撃に対する防御に関する重要度を有し、
前記書換部は、前記判定部によって前記特定の正規情報が前記ホワイトリストに登録されていると判定され、かつ、前記重要度がしきい値以上である場合、当該特定の正規情報を前記ホワイトリストから削除することを特徴とする中継装置。
【請求項８】
請求項１に記載の中継装置であって、
前記記憶部は、不正データを送信する攻撃元を特定する攻撃情報を格納し、
前記ホワイトリストは、前記データの廃棄を示す情報を前記正規情報に対応付け、
前記書換部は、前記判定部によって前記第１データに関する正規情報が前記ホワイトリストに登録されていないと判定された場合、前記第１データの宛先への到達に要する残存寿命を、前記廃棄を示す情報に書き換え、
前記送信部は、前記書換部によって前記廃棄を示す情報に書き換えられた第１データを廃棄し、
前記判定部は、前記ホワイトリストに前記攻撃元と一致する送信元または宛先を有する特定の正規情報があるか否かを判定し、
前記書換部は、前記特定の正規情報がある場合、当該特定の正規情報に対応付けられた前記廃棄を示す情報を、前記特定の寿命に書き換え、
前記受信部は、前記第１データと宛先および送信元が同一である第２データを受信し、
前記判定部は、前記受信部によって受信された第２データに関する正規情報が前記特定の正規情報として前記ホワイトリストに登録されているか否かを判定し、
前記書換部は、前記判定部によって前記第２データに関する正規情報が前記特定の正規情報として前記ホワイトリストに登録されていると判定された場合、前記第２データの宛先への到達に要する残存寿命を、前記中継装置から前記特定の寿命に書き換え、
前記送信部は、前記書換部による書換後の第２データを送信することを特徴とする中継装置。
【請求項９】
請求項８に記載の中継装置であって、
前記攻撃情報は、前記攻撃元からの攻撃に対する防御に関する重要度を有し、
前記書換部は、前記判定部によって前記第２データに関する正規情報が前記特定の正規情報として前記ホワイトリストに登録されていると判定され、かつ、前記重要度がしきい値未満である場合、前記第２データの宛先への到達に要する残存寿命を、前記中継装置から前記特定の寿命に書き換えることを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを中継する中継装置に関する。
【背景技術】
【０００２】
近年、発電所などの重要インフラ内のネットワークに攻撃者が侵入してシステムの制御が奪われるということがないよう、対策が必要である。重要インフラのネットワークにおいては、ファイアウォール装置やパーソナルコンピュータの端末に搭載されているウィルスソフトによる防御対策が実施されている。しかし、システム制御を奪おうとする攻撃者の侵入を防ぐために、より強力な対策が必要とされる。攻撃者に侵入された際のリスクを軽減する手法として、ホワイトリスト機能を利用する方法がある。ホワイトリスト機能は、ネットワークを流れる正規通信内情報に含まれる正規端末情報をホワイトリスト収容装置に登録し、ホワイトリスト収容装置に登録された正規端末以外からの非正規通信を遮断することでセキュリティレベルを高める機能である。
【０００３】
本技術の背景分野として、特許文献１〜特許文献３がある。特許文献１には、「ネットワークスイッチは、許容された通信規則を含むホワイトリストが予め格納され、ホワイトリストを基盤として、複数のスイッチインタフェースを介して入力された１つ以上のパケットを監視し、ホワイトリストに従うパケットに対しては通信を許容するホワイトリスト監視部と、ホワイトリストをアップデートさせてホワイトリスト監視部に送るホワイトリスト管理部とを含む。」と記載されている（要約参照）。
【０００４】
特許文献２には、「パケットフィルタリング装置は、ＳＩＰサーバから送信されたパケットを受信し、受信したパケットが、ＳＩＰクライアントから所定の間隔で送信される認証要求に対する応答であるか否かを判定し、認証要求に対する応答であると判定され、当該パケットの送信元情報がホワイトリストに記憶されていない場合に、当該パケットの送信元情報を取得してホワイトリストに格納する。そして、パケットフィルタリング装置は、ネットワークに輻輳が発生していると検出した場合に、ネットワーク上のパケットを受信し、当該受信されたパケットのうち、ホワイトリストに送信元が記憶されているパケットを、ホワイトリストに送信元が記憶されていないパケットよりも優先して送信先に転送する。」と記載されている（要約参照）。
【０００５】
特許文献３には、「第１データ受信部が受信した第１データの制御情報および第１データの複数種類のヘッダ情報を受信し、優先度情報が示す第１データ受信部が所属する第１データ受信部群の優先度と、ホワイトリスト格納第１メモリが格納することができるホワイトリストのエントリ数を示す収容条件と、に基づいて、第１データの複数種類のヘッダ情報から、パラメータを選択し、第１データの制御情報と、選択した１以上のパラメータと、を含むエントリを、ホワイトリストに追加する。」と記載されている（要約参照）。
【０００６】
特許文献４には、「不正アクセスログデータ取得部が、不正アクセスログファイルから不正アクセスログデータを取得し、不正アクセスログデータ解析処理部での解析処理の後、診断結果照合処理部が、シグネチャ−診断対応表格納部に格納されたシグネチャ−診断対応表とセキュリティ診断結果表格納部に格納されたセキュリティ診断結果表に基づき、不正アクセスログデータにおいてアラームレベルが高いと通知された不正アクセスに対する不正アクセス対象のセグメントの脆弱性を判断し、脆弱性の判断結果に基づいてアラームレベルを調整し、アラームレベル調整部が調整後のアラームレベルに従ってアラーム通知を行う。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−０５０７６７号公報
【特許文献２】特開２００９−２３９５２５号公報
【特許文献３】特開２０１７−０４６１４９号公報
【特許文献４】特開２００５−２２８１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したようなホワイトリストでは、ログを取るやミラーパケットを送るなどの付随動作はあるものの、基本的にパケットを通過させるか廃棄させるかしか選択できない。しかし、リストに登録されているかどうかだけでは、本当にそのパケットを通過させるべきか廃棄するべきか判断できない場合がある。たとえば、緊急時にしか流れないようなパケットなどのリストへの登録漏れの場合である。このようなパケットが廃棄されることを防ぐために、リストに登録されてないパケットもログだけ取って通過させる方法がある。しかしこの方法では、未知の不正パケットが流れてきた場合、不正パケットを検知できても即時防御できない。
【０００９】
また、不正パケットによって防御対象ネットワーク内部の端末が感染した場合に、感染した端末から防御対象ネットワーク内部に感染が拡大してしまうことがある。ホワイトリストでは、ネットワークを監視している監視アプライアンスから通知される攻撃パケット情報をもとに、感染した端末のパケットは全てホワイトリストから削除して廃棄することで感染拡大を防ぐ方法がある。しかし、感染した端末のパケットがすべて攻撃パケットであるとは限らず、装置のモニタリングや運用を制御するような制御ネットワークでは、通信を完全に止めて正規のパケットも廃棄してしまうことになり、システム全体に甚大な影響を与える可能性もある。
【００１０】
本発明は、安全かつ柔軟性のあるデータ中継を実現することを目的とする。
【課題を解決するための手段】
【００１１】
本願において開示される発明の一側面となる中継装置は、ネットワーク内でデータを中継する中継装置であって、前記データの宛先および送信元により前記データが正規であることを示す正規情報を登録するホワイトリストを格納する記憶部と、第１データを受信する受信部と、前記受信部によって受信された第１データに関する正規情報が前記ホワイトリストに登録されているか否かを判定する判定部と、前記判定部によって前記第１データに関する正規情報が前記ホワイトリストに登録されていないと判定された場合、前記第１データの宛先への到達に要する残存寿命を、前記中継装置から前記ネットワーク内で最も近い通信装置から最も遠い通信装置までの間に存在する特定の通信装置までの到達に要する特定の寿命に書き換える書換部と、前記書換部による書換後の第１データを送信する送信部と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明の代表的な実施の形態によれば、安全かつ柔軟性のあるデータ中継を実現することができる。前述した以外の課題、構成および効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】図１は、データの一例であるパケットを中継する中継装置の構成例を示すブロック図である。
【図２】図２は、実施例１にかかるホワイトリスト格納メモリに格納されるホワイトリストの一例を示す説明図である。
【図３】図３は、転送設定メモリが保持する転送設定情報の一例を示す説明図である。
【図４】図４は、転送設定プログラムが入出力装置から入力を受け付ける転送設定に関する命令一覧の一例を示す説明図である。
【図５】図５は、中継装置の動作処理手順例を示すフローチャートである。
【図６】図６は、図５のステップＳ５０２において、生成状態であると判定された場合（ステップＳ５０２：Ｙｅｓ）の動作例を示すフローチャートである。
【図７】図７は、図５のステップＳ５０２において、運用状態と判定された場合（ステップＳ５０２：Ｎｏ）の動作例を示すフローチャートである。
【図８】図８は、実施例１にかかるパケット転送例を示す説明図である。
【図９】図９は、実施例２にかかるホワイトリスト格納メモリに格納されるホワイトリストの一例を示す説明図である。
【図１０】図１０は、実施例２にかかる中継装置が監視アプライアンスから通知される通知情報の一例を示す説明図である。
【図１１】図１１は、実施例２にかかる中継装置がホワイトリスト生成状態時に（ステップＳ５０２：Ｙｅｓ）、パケットを受信した場合の動作例を示すフローチャートである。
【図１２】図１２は、図５のステップＳ５０２において、実施例２にかかる中継装置１００が運用状態時に（ステップＳ５０２：Ｎｏ）、パケットを受信した場合の動作例を示すフローチャートである。
【図１３】図１３は、実施例２にかかる中継装置がホワイトリスト運用状態時に（ステップＳ５０２：Ｎｏ）、監視アプライアンスから攻撃パケットの情報を入手した時の動作例を示すフローチャートである。
【図１４】図１４は、実施例２にかかるパケット転送例を示す説明図である。
【発明を実施するための形態】
【実施例１】
【００１４】
実施例１の中継装置は、防御対象ネットワーク内に設けられる。中継装置は、ホワイトリスト登録外パケット受信時の動作として、受信したパケットのＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）値をあらかじめ設定した値に書き換える。中継装置は、ホワイトリスト設定時に、書き換え時のＴＴＬ値として防御対象ネットワーク内部の最大ホップ数を登録する。これにより、ホワイトリスト登録外パケット受信時には、中継装置は、ＴＴＬ値を登録した値に書き換えて転送する。したがって、中継装置から転送されるパケットの通信範囲が、防御対象ネットワーク内部に限定される。
【００１５】
＜中継装置の構成例＞
図１は、データの一例であるパケットを中継する中継装置の構成例を示すブロック図である。中継装置１００は、通信装置の一例である。中継装置１００は、パケットの中継、およびホワイトリストの生成を実行する。ホワイトリストとは、たとえば、中継装置１００による転送が許可されたパケットの一覧である。中継装置１００は、たとえば、複数のパケット受信部１０２、パケット転送部１０３、Ｓ／Ｗ（ＳｏｆｔＷａｒｅ）制御部１０４、複数のパケット送信部１０５、および入出力インタフェース１０６を含む。
【００１６】
パケット受信部１０２の各々は、たとえば、端末や他の中継装置等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、接続された外部装置からパケットを受信する。パケット受信部１０２の各々は、パケット受信部１０２を一意に識別する受信部番号を有する。
【００１７】
パケット受信部１０２の各々は、パケットを受信した際に、当該パケットに当該パケット受信部１０２に対応する制御情報（たとえば、パケット受信部番号、ＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）番号）を付加する。制御情報は、１以上のパケット受信部１０２を有するパケット受信部群を示す情報を含む。パケット受信部１０２のパケット受信部番号、および当該パケット受信部１０２が所属するＶＬＡＮ識別子であるＶＬＡＮ番号は、それぞれ当該パケット受信部１０２が付加する制御情報の一例である。
【００１８】
パケット転送部１０３は、パケット受信部１０２からパケットを受信し、Ｓ／Ｗ制御部１０４が生成したホワイトリストに従って、受信したパケットの転送、又は廃棄等を行う。Ｓ／Ｗ制御部１０４は、ホワイトリストを生成する。パケット送信部１０５の各々は、端末や他の中継装置等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、パケット転送部１０３から受信したパケットを、接続された外部装置へと送信する。
【００１９】
パケット受信部１０２およびパケット送信部１０５は、通常、ハードウェアで構成される。なお、パケット受信部１０２およびパケット送信部１０５は、図１では説明のため別の部として記載しているが、パケット受信部１０２とパケット送信部１０５が一体化したパケット送受信部であってもよい。
【００２０】
入出力インタフェース１０６は、入出力装置１６０に接続される。入出力インタフェース１０６は、入出力装置１６０を介して、利用者からの入力を受け付ける。また、入出力インタフェース１０６は、プログラムの実行結果等を入出力装置１６０に出力する。入出力装置１６０は、たとえば、キーボードやマウス等の利用者からの入力を受ける入力装置、およびディスプレイ装置やプリンタ等の中継装置１００の処理結果を利用者が視認可能な形式で出力する出力装置を含む。
【００２１】
なお、図１では入出力装置１６０は、中継装置１００と独立した装置として記載されているが、中継装置１００にディスプレイや操作ボタン等の入出力装置１６０が備え付けられていてもよい。
【００２２】
パケット転送部１０３は、ホワイトリスト格納メモリ１３１と、転送先決定部１３２と、転送テーブルメモリ１３３と、転送設定メモリ１３４と、を含む。ホワイトリスト格納メモリ１３１は、たとえば、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、Ｓ／Ｗ制御部１０４が生成したホワイトリストを格納する。
【００２３】
転送テーブルメモリ１３３は、たとえば、ＣＡＭやＤＲＡＭであり、パケットのヘッダ情報（たとえば、Ｍａｃ  Ａｄｄｒｅｓｓ，ＩＰ  Ａｄｄｒｅｓｓ，ｐｒｏｔｏｃｏｌ，ｐｏｒｔ番号）と、パケットの転送先、すなわちパケット送信部１０５と、の対応を示す対応情報を格納する。当該対応情報は管理者によって作成され、予め転送テーブルメモリ１３３に格納されている。ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ２の通信に用いられるＭａｃ  Ａｄｄｒｅｓｓ  Ｔａｂｌｅや、ＯＳＩ参照モデルのレイヤ３の通信に用いられるＲｏｕｔｉｎｇ  Ｔａｂｌｅは、当該対応情報の一例である。
【００２４】
転送設定メモリ１３４は、たとえば、ＤＲＡＭであり、後述する中継装置１００の状態、ホワイトリスト登録外パケット受信時の動作を示す転送設定情報３００を格納する。転送設定メモリ１３４に格納される転送設定情報３００は、入出力装置１６０を介して、管理者により設定される。
【００２５】
転送先決定部１３２は、パケット受信部１０２からパケットを受信し、受信したパケットのヘッダ情報をキーに転送テーブルメモリ１３３内を検索することにより、受信したパケットの転送先を決定する。
【００２６】
また、転送先決定部１３２は、後述するホワイトリスト運用状態中にパケットを受信した場合、ホワイトリスト格納メモリ１３１に格納されたホワイトリストを検索し、受信したパケットがホワイトリスト登録パケットであるか否かを判定する判定部１３２Ａとして機能する。転送先決定部１３２は、受信したパケットがホワイトリスト登録外パケットであると判定した場合、転送設定メモリ１３４が保持するホワイトリスト登録外パケット受信時動作設定（パケットの通過、パケットの廃棄、ＴＴＬ値の書き換え）が示す処理を、当該パケットに対して行う書換部１３２Ｂとして機能する。
【００２７】
転送先決定部１３２は、後述するホワイトリスト生成状態中にパケットを受信すると、受信したパケットから所定のヘッダ情報（たとえば、Ｍａｃ  Ａｄｄｒｅｓｓ，ＩＰ  Ａｄｄｒｅｓｓ，ｐｒｏｔｏｃｏｌ，ｐｏｒｔ番号）および所定の制御情報（たとえば、パケット受信部番号、ＶＬＡＮ番号）を抽出し、Ｓ／Ｗ制御部１０４へと送信する。転送先決定部１３２は、転送設定メモリ１３４の設定内容に従い、ホワイトリストを利用した通信を実施するか否かなどの判別を行う。
【００２８】
パケット転送部１０３は、ホワイトリストの高速検索、パケットのワイヤレートでの通信など、単純で高速な命令を実行するため、通常、ハードウェアで構成される。パケット転送部１０３は、たとえば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等で構成されてもよい。
【００２９】
Ｓ／Ｗ制御部１０４は、ＣＰＵ（Ｃｏｎｔｒｏｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４１と、Ｓ／Ｗメモリ１４２と、を含む。ＣＰＵ１４１は、Ｓ／Ｗメモリ１４２に格納されたプログラムを実行するプロセッサを含む。Ｓ／Ｗメモリ１４２は、不揮発性の記憶素子であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）および揮発性の記憶素子であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。
【００３０】
ＲＯＭは、不変のプログラム（たとえば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ））などを格納する。ＲＡＭは、ＤＲＡＭのような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラムおよびプログラムの実行時に使用されるデータを一時的に格納する。
【００３１】
Ｓ／Ｗメモリ１４２は、ホワイトリスト生成プログラム１４３、転送設定プログラム１４４を含む。Ｓ／Ｗメモリ１４２に格納されたプログラムはＣＰＵ１４１（プロセッサ）によって実行されることで、定められた処理を記憶装置および通信ポート（通信デバイス）等を用いながら行う。従って、本明細書においてプログラムを主語とする説明は、ＣＰＵ１４１を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機および計算機システムが行う処理である。
【００３２】
ＣＰＵ１４１は、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。たとえば、ＣＰＵ１４１は、ホワイトリスト生成プログラム１４３に従って動作することでホワイトリスト生成部として機能し、転送設定プログラム１４４に従って動作することで転送設定部として機能する。さらに、ＣＰＵ１４１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機および計算機システムは、これらの機能部を含む装置およびシステムである。
【００３３】
ホワイトリスト生成プログラム１４３は、転送先決定部１３２から受信した制御情報およびヘッダ情報から、ホワイトリスト（図２で後述）を生成し、ホワイトリスト格納メモリ１３１へと書き込む。転送設定プログラム１４４は、入出力装置１６０から入力された転送設定を転送設定メモリ１３４に書き込む。
【００３４】
＜ホワイトリストの一例＞
図２は、実施例１にかかるホワイトリスト格納メモリ１３１に格納されるホワイトリストの一例を示す説明図である。図２の例では、ホワイトリスト２００は、ｎ個のエントリを含む。ホワイトリスト２００の各エントリは、複数のパラメータを含む。当該複数のパラメータの各々は、パケット受信部１０２から受信したパケットから転送先決定部１３２が抽出した制御情報またはヘッダ情報である。したがって、ホワイトリスト２００の各エントリは、中継装置１００により中継された正規なパケットを特定する正規パケット情報である。すなわち、ホワイトリスト２００に登録されたエントリにより、正規な通信経路が特定される。
【００３５】
エントリ２１０は、ホワイトリスト２００に含まれるエントリの一例である。エントリ２１０は、たとえば、それぞれパケットの制御情報を示すパラメータである、パケット受信部番号２０１、およびＶＬＡＮ番号２０２を含む。エントリ２１０は、たとえば、それぞれパケットのヘッダ情報を示すパラメータである、Ｓｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ２０３、Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ２０４、Ｐｒｏｔｏｃｏｌ２０５、Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ２０６、Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ２０７、Ｓｏｕｒｃｅ  ｐｏｒｔ番号２０８、およびＤｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ番号２０９を含む。
【００３６】
パケット受信部番号２０１は、パケット受信部１０２の各々を一意に識別する番号である。パケット受信部番号２０１により、パケットを受信したパケット受信部１０２が特定される。ＶＬＡＮ番号２０２は、パケット受信部１０２が所属するＶＬＡＮを一意に識別する番号である。
【００３７】
Ｓｏｕｒｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ２０３は、パケットの送信元Ｍａｃアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ２０４は、パケットの宛先Ｍａｃアドレスを示す。ｐｒｏｔｏｃｏｌ２０５は、プロトコルの種類を示す。Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ２０６は、パケットの送信元ＩＰアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ２０７は、パケットの宛先ＩＰアドレスを示す。Ｓｏｕｒｃｅ  ｐｏｒｔ番号２０８は、パケットの送信元ポート番号を示す。Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ番号２０９は、パケットの宛先ポート番号を示す。
【００３８】
なお、エントリ２１０は、図２の例に限らず、１種類以上の制御情報を示すパラメータと、複数種類のヘッダ情報を示すパラメータと、を含めばよい。エントリ２１０は、たとえば、前述したヘッダ情報を示すパラメータに加えて又は代えて、ＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）、フラグ、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）、ＩＤ、バージョン、およびヘッダ値等のヘッダ情報を含んでもよい。
【００３９】
＜転送設定情報の一例＞
図３は、転送設定メモリ１３４が保持する転送設定情報の一例を示す説明図である。転送設定情報３００は、たとえば、転送設定の種別を示す保持情報３０１、保持情報３０１の状態を示す保持内容３０２、および保持内容３０２の初期状態を示す初期状態３０３を含む。図３において、保持内容３０２を示す各セルには「／」で区切られた複数の値が記載されているが、実際には当該複数の値のいずれか１つが格納される。初期状態３０３は、対応する保持内容３０２に記載されている複数の値のいずれか１つを格納する。
【００４０】
レコード３０４は、保持情報３０１としてホワイトリスト機能を規定するレコードであり、具体的には、たとえば、保持内容３０２として生成状態／運用状態、初期状態３０３として運用状態を規定する。
【００４１】
レコード３０５は、保持情報３０１としてホワイトリスト登録外パケット受信時動作を規定するレコードであり、具体的には、たとえば、保持内容３０２として廃棄／通過／ＴＬＬ書き換え、初期状態３０３として通過を規定する。
【００４２】
レコード３０６は、保持情報３０１としてＴＴＬ書き換え時ＴＴＬ値を規定するレコードであり、具体的には、たとえば、保持内容３０２としてＴＴＬ値、初期状態３０３として最大ホップ数を規定する。最大ホップ数とは、中継装置１００から防御対象ネットワークと防御対象外ネットワークとの境界に位置する中継装置までの最短経路のホップ数のうち最大値である。したがって、保持内容３０２のＴＴＬ値に書き換えられたパケットは、防御対象ネットワーク内では生存するため、防御対象ネットワーク内の端末に到達する。転送によりＴＴＬ値が「０」になった場合は、防御対象外ネットワークに転送されたことになり、防御対象外ネットワークでパケットは廃棄されることになる。
【００４３】
なお、保持内容３０２のＴＴＬ値を最大ホップ数よりも小さいホップ数に設定してもよい。たとえば、最小ホップ数（中継装置１００から防御対象ネットワークと防御対象外ネットワークとの境界に位置する中継装置までの最短経路のホップ数のうち最小値）としてもよい。これにより、保持内容３０２のＴＴＬ値に書き換えられたパケットは、防御対象ネットワーク内では生存するため、防御対象ネットワーク内の端末に到達する。また、当該パケットは、転送によりＴＴＬ値が「０」になった場合でも、防御対象ネットワーク内で廃棄される。したがって、防御対象外ネットワークに転送されることはない。
【００４４】
すなわち、保持内容３０２のＴＴＬ値を大きくすればするほど、パケットは防御対象ネットワーク内の端末に到達するが、防御対象外ネットワークの端末にも到達する可能性がある。一方、保持内容３０２のＴＴＬ値を小さくすればするほど、パケットは防御対象ネットワーク内の端末に到達し、かつ、防御対象外ネットワークの端末には転送されにくくなるが、防御対象ネットワーク内の端末に到達しない可能性もある。すなわち、防御対象ネットワーク内の端末に到達しやすくすることで利便性の向上を図る場合には、保持内容３０２のＴＴＬ値を大きくし、よりセキュアに運用したい場合には、保持内容３０２のＴＴＬ値を小さくすればよい。
【００４５】
以下、転送設定情報３００に従った中継装置１００の動作例を説明する。転送先決定部１３２はパケットを受信すると、転送設定メモリ１３４を参照し、レコード３０４の保持内容３０２が、ホワイトリスト２００を生成する生成状態であるか、ホワイトリスト２００を用いた転送を行う運用状態であるかを判定する。
【００４６】
以下、レコード３０４の保持内容３０２が生成状態である場合の動作例を説明する。転送先決定部１３２は、受信したパケットに対してパケット転送処理を行いながら、受信したパケットの所定のヘッダ情報および所定の制御情報を、ＣＰＵ１４１が実行するホワイトリスト生成プログラム１４３に送信する。ＣＰＵ１４１は、ホワイトリスト生成プログラム１４３により、転送先決定部１３２から受信したパケットのヘッダ情報および制御情報からホワイトリスト２００を生成し、生成した情報をホワイトリスト格納メモリ１３１へ書き込む。
【００４７】
以下、レコード３０４の保持内容３０２が運用状態である場合の動作例を説明する。転送先決定部１３２は、パケット受信部１０２から受信したパケットが、ホワイトリスト格納メモリ１３１に格納されたホワイトリスト２００に登録済みか否かを判定する。当該パケットが当該ホワイトリスト２００に登録済みである場合、転送先決定部１３２は、受信したパケットに対して、パケット転送処理を行う。
【００４８】
当該パケットが当該ホワイトリスト２００に登録済みでない場合、転送先決定部１３２は、転送設定メモリ１３４を参照し、レコード３０５の保持内容３０２が示す処理を当該パケットに対して行う。レコード３０５の保持内容３０２が示す処理は、たとえば、当該パケットの廃棄、当該パケットの通過即ち当該パケットに対するパケット転送を含む。
【００４９】
＜転送設定に関する命令一覧の一例＞
図４は、転送設定プログラム１４４が入出力装置１６０から入力を受け付ける転送設定に関する命令一覧の一例を示す説明図である。転送設定に関する命令一覧４００は、たとえば、命令の種別を示す命令種別４０１、命令種別４０１が示す命令による設定内容を示す設定内容４０２、および設定内容４０２の初期状態を示す初期状態９０３を含む。転送設定に関する命令一覧４００を中継装置１００に入力すると、転送設定情報３００が設定される。
【００５０】
レコード４０４〜４０６が示す命令の各々は、転送設定メモリ１３４のレコード３０４〜３０６それぞれが示す転送設定を変更する命令である。レコード４０４〜４０６の命令種別４０１、設定内容４０２、および初期状態４０３の各々は、転送設定メモリ１３４のレコード３０４〜３０６の保持情報３０１、保持内容３０２、および初期状態３０３に対応する。
【００５１】
＜中継装置の動作処理手順例＞
図５は、中継装置１００の動作処理手順例を示すフローチャートである。具体的には、たとえば、図５は、外部からのパケットを受信した際の転送設定メモリ１３４の設定内容による動作を示す。
【００５２】
中継装置１００のパケット受信部１０２のいずれかがパケットを受信すると、受信パケットに前述のような制御情報を付加し、転送先決定部１３２へと送信する（ステップＳ５０１）。パケットを受信した転送先決定部１３２は、転送設定メモリ１３４のレコード３０４の保持内容３０２（生成状態／運用状態）を確認し、ホワイトリスト２００を生成する生成状態であるか、ホワイトリスト２００を用いた転送を行う運用状態であるかを判定する（ステップＳ５０２）。判定の結果、生成状態である場合には（ステップＳ５０２：Ｙｅｓ）、後述する図６のステップＳ６０１へと移行し、ホワイトリスト２００の自動生成を実施する。判定の結果、運用状態である場合には（ステップＳ５０２：Ｎｏ）、後述する図７のステップＳ１２０１へと移行し、生成されたホワイトリスト２００に基づく通信制御を実施する。
【００５３】
なお、ホワイトリスト２００の生成状態、運用状態は、たとえば、前述の通り入出力装置１６０から管理者による入力によって変更される。生成状態についてはネットワーク構築時などの無菌期間を想定しており、無菌期間に正常な通信を実施させ、ホワイトリスト２００を自動生成させた後、管理者によって運用状態へと遷移させることを想定している。
【００５４】
図６は、図５のステップＳ５０２において、生成状態であると判定された場合（ステップＳ５０２：Ｙｅｓ）の動作例を示すフローチャートである。パケットを受信した転送先決定部１３２は、受信パケットのヘッダ部分および制御情報をＳ／Ｗ制御部１０４へと送信する（ステップＳ６０１）。受信パケットのヘッダ部分および制御情報を受信したＳ／Ｗ制御部１０４は、その内部に存在するＣＰＵ１４１をホワイトリスト生成部として動作させ、ヘッダ部分および制御情報により、図２に記載の情報に従いホワイトリスト２００を生成する（ステップＳ６０２）。
【００５５】
さらに、ホワイトリスト生成部として動作しているＣＰＵ１４１は、ホワイトリスト格納メモリ３４０へと生成したホワイトリスト２００の書き込みを実施する（ステップＳ６０３）。そして、転送先決定部１３２は、受信パケットのヘッダ部分および制御情報をキーにして転送テーブルメモリ１３３の対応情報を検索し、転送先を決定する（ステップＳ６０４）。パケット転送部１０３は、転送先決定部１３２で送信先を決定されたパケットを、パケット送信部１０５のいずれかから送信し（ステップＳ６０５）、処理を終了する。
【００５６】
図７は、図５のステップＳ５０２において、運用状態と判定された場合（ステップＳ５０２：Ｎｏ）の動作例を示すフローチャートである。パケットを受信した転送先決定部１３２は、ホワイトリスト２００を検索する（ステップＳ７０１）。そして、受信したパケットが持つヘッダ情報および制御情報が、ホワイトリスト２００に格納されており、ＨＩＴしたか否かを判定する（ステップＳ７０２）。
【００５７】
以下、ステップＳ７０２でＨＩＴした場合（ステップＳ７０２：Ｙｅｓ）を説明する。転送先決定部１３２は、受信パケットのヘッダ部分および制御情報をキーにして転送テーブルメモリ１３３の対応情報を検索し、送信先を決定する（ステップＳ７０３）。パケット転送部１０３は、パケット転送部１０３で送信先を決定されたパケットを、パケット送信部１０５のいずれかから送信し（ステップＳ７０４）、処理を終了する。
【００５８】
以下、ステップＳ７０２でＨＩＴしなかった場合（ステップＳ７０２：Ｎｏ）を説明する。転送先決定部１３２は、転送設定メモリ１３４内のレコード３０５の保持内容３０２を確認し、保持内容３０２が廃棄か、通過か、ＴＴＬを書き換えるかを判別する（ステップＳ７０５）。ステップＳ７０５で通過と判定された場合（ステップＳ７０５：通過）、ステップＳ７０３へと移る。
【００５９】
ステップＳ７０５で廃棄と判定された場合（ステップＳ７０５：廃棄）、転送先決定部１３２は、パケットを廃棄し（ステップＳ７０６）、処理を終了する。ステップＳ７０５でＴＴＬを書き換えると判定された場合、転送先決定部１３２は、パケットのＴＴＬを、転送設定情報３００内のレコード３０６の保持内容３０２のＴＴＬ値に書き換える（ステップＳ７０７）。その後、転送先決定部１３２は、転送テーブルメモリ１３３の対応情報で送信先を決定し（ステップＳ７０３）、パケット送信部１０５からパケットを送信し（ステップＳ７０４）、処理を終了する。
【００６０】
＜パケット転送例＞
図８は、実施例１にかかるパケット転送例を示す説明図である。端末８００、８０２は、たとえば、Ｌ３網である防御対象外ネットワーク８０１に設けられる。防御対象外ネットワーク８０１には、端末８００、８０２以外の他の端末も設けられているが、図１では省略する。
【００６１】
端末８０４，８０６，８０７および中継装置１００、８０３は、たとえば、Ｌ２網である防御対象ネットワーク８０５に設けられる。端末８０４は、中継装置１００のパケット受信部１０２および送信部５００で接続されている。中継装置８０３は、防御対象ネットワーク８０５と防御対象外ネットワーク８０１との境界に設けられる。なお、図１では、端末８０４は、中継装置１００に接続されているが、端末８０６，８０７も防御対象ネットワーク内の中継装置（不図示）に接続されている。また、防御対象ネットワーク８０５には、端末８０４，８０６，８０７以外の他の端末や中継装置１００以外の他の中継装置も設けられているが、図１では省略する。
【００６２】
ホワイトリスト格納メモリ１３１には、端末８０４から端末８０６へのパケットを特定するエントリ、端末８０６から端末８０４へのパケットを特定するエントリ、端末８０４から端末８０２へのパケットを特定するエントリ、端末８０２から端末８０４へのパケットを特定するエントリが登録されている。また、端末８００は、Ｃ＆Ｃサーバのような攻撃者の端末であると仮定している。
【００６３】
あらかじめ、ホワイトリスト生成状態の時に、中継装置１００は、転送設定情報３００のエントリ３０６（ＴＴＬ書き換え時ＴＴＬ値）のＴＴＬ値に防御対象ネットワーク８０５内部の最大ホップ数を登録する。また、中継装置１００は、エントリ３０５（ホワイトリスト登録外パケット受信時動作）の保持内容３０２をＴＴＬ書き換えに設定する。
【００６４】
以下、中継装置１００でのホワイトリスト２００の運用状態の時（ステップＳ５０２：Ｎｏ）に、端末８０４からそれぞれ端末８００、８０２、８０６、８０７へパケットを送信した場合の動作を詳細に説明する。
【００６５】
［経路Ｒ１：端末８０４→端末８０６］
端末８０４から宛先を端末８０６とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト２００を検索する。端末８０４から端末８０６へのパケットを特定するエントリは、ホワイトリスト２００に登録されている。したがって、中継装置１００は、転送テーブルメモリ１３３の対応情報を検索して転送先を決定し、パケット送信部１０５からパケットを送信する。このように、端末８０６は、端末８０４から中継装置１００で中継されたパケットを受信することができる。
【００６６】
［経路Ｒ２：端末８０４→端末８０７］
端末８０４から宛先を端末８０７とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト２００を検索する。端末８０４から端末８０７へのパケットを特定するエントリは、ホワイトリスト２００に登録されていない。したがって、中継装置１００は、転送設定情報３００を参照し、ＴＴＬの書き換えを選択し、ＴＴＬを登録されているＴＴＬ値に書き換える。その後、中継装置１００は、転送テーブルメモリ１３３を検索して転送先を決定し、パケット送信部１０５からパケットを送信する。端末８０７までは到達可能なＴＴＬ値が設定されているため、端末８０７は、端末８０４から中継装置１００で中継されたパケットを受信することができる。
【００６７】
［経路Ｒ３：端末８０４→端末８０２］
端末８０４から宛先を防御対象外ネットワーク８０１の端末８０２とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト２００を検索する。端末８０４から端末８０２へのパケットを特定するエントリは、ホワイトリスト２００に登録されている。したがって、中継装置１００は、転送テーブルメモリ１３３を検索して転送先を決定し、パケット送信部１０５からパケットを送信する。このように、防御対象外ネットワーク８０１への通信であっても、ホワイトリスト２００に登録されている端末８０２は、端末８０４から中継装置１００で中継されたパケットを受信することができる。
【００６８】
［経路Ｒ４：端末８０４→端末８００（攻撃者の端末）］
端末８０４から宛先を防御対象外ネットワーク８０１の端末８００とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト２００を検索する。端末８０４から端末８００へのパケットはホワイトリスト２００に登録されていない。
【００６９】
したがって、中継装置１００は、転送設定情報３００を参照し、ＴＴＬの書き換えを選択し、パケットのＴＴＬを、転送設定情報３００に登録されているＴＴＬ値に書き換える。その後、中継装置１００は、転送テーブルメモリ１３３の対応情報を検索して転送先を決定し、パケット送信部１０５からパケットを送信する。端末８００までは途中の防御対象ネットワーク８０５内の通信装置によってＴＴＬが減算され、中継装置８０３に到達した時点でＴＴＬ＝０となり、パケットが廃棄されてしまう。このため、端末８００は、端末８０４からパケットを受信することはできない。その結果、攻撃者の端末（攻撃端末）である端末８００との通信を遮断することができる。
【００７０】
このように、攻撃端末である端末８００との通信は遮断することで、防御対象ネットワーク８０５内部の感染を防ぐことができる。一方で、ホワイトリスト２００への登録漏れなどによるホワイトリスト登録外パケットであっても、防御対象ネットワーク８０５内部に範囲を限定して通信することが可能である。これによって、ホワイトリスト機能によるセキュリティの確保とシステムへの影響の最小化の両立が可能となる。
【実施例２】
【００７１】
実施例２は、実施例１の中継装置について、ホワイトリスト格納メモリ１３１が保持するホワイトリスト２００の情報を一部変更し、ネットワークを監視する監視アプライアンスと組み合わせた例である。実施例２では、実施例１との相違点を中心に説明し、実施例１と同一内容については説明を省略する。
【００７２】
実施例２の中継装置１００は、ホワイトリストに登録されているパケットについて、それぞれのエントリごとにＴＴＬ値を、設定した値に書き換える。また、あらかじめ、中継装置１００は、ホワイトリストの設定の時に、転送設定情報３００の書き換え時ＴＴＬ値の初期状態３０３に中継装置１００からの防御対象ネットワーク８０５内部の最大ホップ数を登録し、転送設定情報３００のホワイトリスト登録外パケット受信時動作を「廃棄」に設定する。
【００７３】
ホワイトリストの運用状態時に（ステップＳ５０２：Ｎｏ）、監視アプライアンスから通知される攻撃パケットがホワイトリストに登録されている場合は、その重要度に応じて、ホワイトリストのエントリの削除または変更を選択する。たとえば、中継装置１００は、重要度が高いパケットについては完全な攻撃と判断してホワイトリストから削除し、重要度が低いパケットについては攻撃か判断できないためＴＴＬ値を設定した値に変更する。これによって、重要度が高い攻撃パケットは廃棄され、重要度が低い攻撃パケットは、防御対象ネットワーク８０５内部に範囲を限定して通信させることができる。
【００７４】
なお、監視アプライアンスは、特許文献５のように、重要度に応じたレベルのアラームを通知する技術を有する。特許文献５によると、防御対象ネットワーク８０５内の端末が感染した場合、監視アプライアンスは、不正パケットのパターンと比較して検知し、その重要度のレベルに応じたアラームを通知する。中継装置１００は、アラームをもとにホワイトリスト２００のエントリを削除または変更することで、防御対象ネットワーク８０５内部と攻撃端末との通信を遮断することができる。通常、感染した端末は外部の攻撃端末からの指示によって動作するようになるため、攻撃端末との通信を遮断することで感染した端末からのさらなる感染拡大を防ぐことができる。
【００７５】
＜ホワイトリストの一例＞
図９は、実施例２にかかるホワイトリスト格納メモリ１３１に格納されるホワイトリストの一例を示す説明図である。図９の例では、ホワイトリスト９００において、エントリ９２０のヘッダ情報９０１〜９０９は、実施例１のホワイトリスト２００のエントリ２１０のヘッダ情報２０１〜２０９と同様である。ＴＴＬ値９１０は、当該エントリにヒットしたパケットについて、ＴＴＬを書き換えるときの値である。このＴＴＬ値９１０には、転送設定情報３００のエントリ３０６（ＴＴＬ書き換え時ＴＴＬ値）の値、またはＴＴＬ値を書き換えないことを示す「０」が登録される。なお、実施例２ではＴＴＬ値を書き換えないことを示すのに「０」を使用するが、ＴＴＬ値のとりうる１〜２５５以外の値であれば他の値でもよい。
【００７６】
＜通知情報の一例＞
図１０は、実施例２にかかる中継装置が監視アプライアンスから通知される通知情報の一例を示す説明図である。通知情報１０００は、攻撃種別１００１と、攻撃元ＩＰ  Ａｄｄｒｅｓｓ１００２と、攻撃対象ＩＰ  Ａｄｄｒｅｓｓ１００３と、重要度１００４と、を有する。攻撃種別１００１は、Ｄｏｓ攻撃などの攻撃の種類を示す情報である。攻撃元ＩＰ  Ａｄｄｒｅｓｓ１００２は、攻撃端末のＩＰアドレスを示す情報である。攻撃対象ＩＰ  Ａｄｄｒｅｓｓ１００３は、攻撃端末からの攻撃対象となった端末のＩＰアドレスを示す情報である。重要度１００４は、攻撃の危険度を「ＨＩＧＨ」、「ＮＯＲＭＡＬ」、「ＬＯＷ」の３段階で示す情報である。なお、実施例２では、攻撃端末を特定する情報として攻撃元ＩＰ  Ａｄｄｒｅｓｓ、重要度を攻撃の危険度を３段階で表しているが、攻撃端末が特定でき、攻撃の重要度が段階で通知されれば他でもよい。
【００７７】
＜動作処理手順例＞
つぎに、中継装置１００の動作処理手順例について説明する。なお、図５のフローチャートは、実施例２にも適用される。したがって、ここでは、図５のステップＳ５０２において生成状態の場合（ステップＳ５０２：Ｙｅｓ）の処理については図１１で、運用状態の場合（ステップＳ５０２：Ｎｏ）の処理については図１２で説明する。
【００７８】
図１１は、実施例２にかかる中継装置１００がホワイトリスト生成状態時に（ステップＳ５０２：Ｙｅｓ）、パケットを受信した場合の動作例を示すフローチャートである。パケットを受信した転送先決定部１３２は、受信パケットのヘッダ部分および制御情報をＳ／Ｗ制御部１０４へと送信する（ステップＳ１１０１）。受信パケットのヘッダ部分および制御情報を受信したＳ／Ｗ制御部１０４は、その内部に存在するＣＰＵ１４１をホワイトリスト生成部として動作させ、ヘッダ部分および制御情報により、図９のＴＴＬ値９１０に従いホワイトリスト９００を生成する。
【００７９】
このとき、中継装置１００は、各エントリのＴＴＬ値９１０にはＴＴＬを書き換えないことを意味する「０」を登録する（ステップＳ１１０２）。ＴＴＬ値９１０の初期値は「０」であるが、後述するステップＳ１３１８またはＳ１３１３で、転送設定情報３００の書き換え時ＴＴＬ値の初期状態３０３の値（中継装置１００からの防御対象ネットワーク８０５内部の最大ホップ数）に書き換えられる。
【００８０】
さらに、ホワイトリスト生成部として動作しているＣＰＵ１４１は、ホワイトリスト格納メモリ３４０へと生成したホワイトリスト９００の書き込みを実施する（ステップＳ１１０３）。そして、転送先決定部１３２は、受信パケットのヘッダ部分および制御情報をキーに転送テーブルメモリ１３３の対応情報を検索し、転送先を決定する（ステップＳ１１０４）。パケット転送部１０３は、転送先決定部１３２で送信先を決定されたパケットを、パケット送信部１０５のいずれかから送信し（ステップＳ１１０５）、処理を終了する。
【００８１】
図１２は、図５のステップＳ５０２において、実施例２にかかる中継装置１００が運用状態時に（ステップＳ５０２：Ｎｏ）、パケットを受信した場合の動作例を示すフローチャートである。パケットを受信した転送先決定部１３２は、ホワイトリスト９００を検索する（ステップＳ１２０１）。そして、受信したパケットが持つヘッダ情報および制御情報が、ホワイトリスト２００に格納されており、ＨＩＴしたか否かを判定する（ステップＳ１２０２）。
【００８２】
以下、ステップＳ１２０２でＨＩＴしなかった場合（ステップＳ１２０２：Ｎｏ）を説明する。実施例２では、ホワイトリスト登録外パケットの受信時動作が「廃棄」に設定されている。したがって、転送先決定部１３２は、転送設定メモリ１３４内のレコード３０５の保持内容３０２である「廃棄」に従い、パケットを廃棄し（ステップＳ１２０３）、処理を終了する。
【００８３】
以下、ステップＳ１２０２でＨＩＴした場合（ステップＳ１２０２：Ｙｅｓ）を説明する。転送先決定部１３２は、ホワイトリスト９００のＨＩＴしたエントリのＴＴＬ値９１０が「０」であるか否かを判断する（ステップＳ１２０４）。ＴＴＬ値９１０が「０」である場合（ステップＳ１２０４：Ｙｅｓ）、ステップＳ１２０６に移行する。
【００８４】
一方、ＴＴＬ値９１０が「０」でない場合（ステップＳ１２０４：Ｎｏ）、転送先決定部１３２は、ホワイトリスト９００を確認し、パケットのＴＴＬをＴＴＬ値９１０に書き換える（ステップＳ１２０５）。転送先決定部１３２は、受信パケットのヘッダ部分および制御情報をキーにして転送テーブルメモリ１３３の対応情報を検索し、送信先を決定する（ステップＳ１２０６）。パケット転送部１０３は、パケット転送部１０３で送信先を決定されたパケットを、パケット送信部１０５のいずれかから送信し（ステップＳ１２０７）、処理を終了する。
【００８５】
図１３は、実施例２にかかる中継装置１００がホワイトリスト運用状態時に（ステップＳ５０２：Ｎｏ）、監視アプライアンスから攻撃パケットの情報を入手した時の動作例を示すフローチャートである。本フローチャートは、中継装置１００が監視アプライアンスから攻撃パケットの情報を含むパケットを受信することで開始される。
【００８６】
まず、転送先決定部１３２はホワイトリスト格納メモリ１３１に格納されたホワイトリスト９００を検索し、パケット受信部１０２から受信したパケットを特定するエントリが、ホワイトリスト２００に登録済みであることを確認する（ステップＳ１３０１）。すなわち、監視アプライアンスからのパケットであるため、ホワイトリスト２００に登録済みであると確認される。
【００８７】
つぎに、転送先決定部１３２は、転送テーブルメモリ１３３の対応情報を検索した結果、受信パケットの転送先が中継装置１００宛であることを特定し、受信パケットをＣＰＵ１４１へ転送する（ステップＳ１３０２）。
【００８８】
ＣＰＵ１４１は、監視アプライアンスからの受信パケットの内容から、攻撃端末を特定する情報として攻撃端末ＩＰアドレスを取得し、重要度の情報としてＨＩＧＨ、ＮＯＲＭＡＬまたはＬＯＷを取得し、取得した情報（攻撃パケット情報）をホワイトリスト生成プログラム１４３に転送する（ステップＳ１３０３）。
【００８９】
ホワイトリスト生成プログラム１４３は、ホワイトリスト９００の一行目のエントリを検索対象エントリとして、攻撃端末ＩＰアドレスで当該検索対象エントリの宛先ＩＰアドレス９０７を検索する（ステップＳ１３０４）。ステップＳ１３０４では、ホワイトリスト生成プログラム１４３は、検索対象エントリの検索が終了すると、つぎの行のエントリを検索対象エントリして検索し、攻撃端末ＩＰアドレスに一致する検索対象エントリの宛先ＩＰアドレス９０７が出現するまで当該検索を実行する。
【００９０】
ホワイトリスト生成プログラム１４３は、ホワイトリスト９００内のエントリがＨＩＴ（一致）するかどうか判定する（ステップＳ１３０５）。すなわち、ホワイトリスト生成プログラム１４３は、現在の検索対象エントリについて、攻撃端末ＩＰアドレスに一致する検索対象エントリの宛先ＩＰアドレス９０７が出現したか否かを判定する。
【００９１】
ＨＩＴした場合（ステップＳ１３０５：Ｙｅｓ）、ホワイトリスト生成プログラム１４３は、ステップＳ１３０３で取得した攻撃パケット情報の重要度を確認する（ステップＳ１３０６）。
【００９２】
重要度がＨＩＧＨである場合（ステップＳ１３０６：Ｙｅｓ）、ホワイトリスト生成プログラム１４３は、ホワイトリスト９００からステップＳ１３０５でＨＩＴしたエントリを削除する（ステップＳ１３０７）。
【００９３】
一方、重要度がＮＯＲＭＡＬまたはＬＯＷである場合（ステップＳ１３０６：Ｎｏ）、ホワイトリスト生成プログラム１４３は、ホワイトリスト９００の当該ＨＩＴしたエントリのＴＴＬ値９１０に転送設定メモリ１３４に格納されている転送設定情報３００のエントリ３０６（ＴＴＬ書き換え時ＴＴＬ値）のＴＴＬ値の値を設定する（ステップＳ１３０８）。
【００９４】
ステップＳ１３０７またはステップＳ１３０８が終了したら、検索対象エントリを当該ＨＩＴしたエントリの次の行のエントリに設定し、ステップＳ１３０４に戻り、ステップＳ１３０５でＨＩＴしなくなるまで繰り返す。ステップＳ１３０５でＨＩＴしない場合（ステップＳ１３０５：Ｎｏ）、すなわち、ホワイトリスト９００の最終行のエントリに到達した場合、ステップＳ１３０９に移行する。
【００９５】
ステップＳ１３０９では、ホワイトリスト生成プログラム１４３は、ホワイトリスト９００の一行目のエントリを検索対象エントリとして、攻撃端末ＩＰアドレスで当該検索対象エントリの送信元ＩＰアドレス９０６を検索する（ステップＳ１３０９）。ステップＳ１３０９では、ホワイトリスト生成プログラム１４３は、検索対象エントリの検索が終了すると、つぎの行のエントリを検索対象エントリして検索し、攻撃端末ＩＰアドレスに一致する検索対象エントリの送信元ＩＰアドレス９０６が出現するまで当該検索を実行する。
【００９６】
ホワイトリスト生成プログラム１４３は、ホワイトリスト９００内のエントリがＨＩＴ（一致）するかどうか判定する（ステップＳ１３１０）。すなわち、ホワイトリスト生成プログラム１４３は、現在の検索対象エントリについて、攻撃端末ＩＰアドレスに一致する検索対象エントリの送信元ＩＰアドレス９０６が出現したか否かを判定する。
【００９７】
ＨＩＴした場合（ステップＳ１３１０：Ｙｅｓ）、ホワイトリスト生成プログラム１４３は、ステップＳ１３０３で取得した攻撃パケット情報の重要度を確認する（ステップＳ１３１１）。
【００９８】
重要度がＨＩＧＨである場合（ステップＳ１３１１：Ｙｅｓ）、ホワイトリスト生成プログラム１４３は、ホワイトリスト９００からステップＳ１３１０でＨＩＴしたエントリを削除する（ステップＳ１３１２）。
【００９９】
一方、重要度がＮＯＲＭＡＬまたはＬＯＷである場合（ステップＳ１３１１：Ｎｏ）、ホワイトリスト生成プログラム１４３は、ホワイトリスト９００の当該ＨＩＴしたエントリのＴＴＬ値９１０に転送設定メモリ１３４に格納されている転送設定情報３００のＴＴＬ値８０６の値を設定する（ステップＳ１３１３）。
【０１００】
ステップＳ１３１２またはステップＳ１３１３が終了したら、検索対象エントリを当該ＨＩＴしたエントリの次の行のエントリに設定し、ステップＳ１３０９に戻り、ステップＳ１３１０でＨＩＴしなくなるまで繰り返す。ステップＳ１３１０でＨＩＴしない場合（ステップＳ１３１０：Ｎｏ）、すなわち、ホワイトリスト９００の最終行のエントリに到達した場合、処理を終了する。
【０１０１】
なお、実施例２では、ホワイトリスト生成プログラム１４３は、監視アプライアンスから通知されるパケットに含まれる攻撃端末ＩＰアドレスでホワイトリスト９００を検索したが、攻撃端末を特定できるものであれば他の情報でもよい。また、同様に通知される攻撃パケット情報の重要度のうち、ＨＩＧＨの場合はパケット廃棄、ＮＯＲＭＡＬまたはＬＯＷの場合はＴＴＬ書き換えとしたが、パケット廃棄とＴＴＬ書き換えの選択の判断は実施例２の限りではない。また、ホワイトリスト生成状態についてはネットワーク構築時などの無菌期間を想定しており、監視アプライアンスから攻撃端末の通知は無効であるため、通知が来ても何もしなくてよい。
【０１０２】
＜パケット転送例＞
図１４は、実施例２にかかるパケット転送例を示す説明図である。端末１４００、１４０２は、たとえば、Ｌ３網である防御対象外ネットワーク１４０１に設けられる。防御対象外ネットワーク１４０１には、端末１４００、１４０２以外の他の端末も設けられているが、図１４では省略する。
【０１０３】
端末１４０４，１４０６，１４０７および中継装置１００、１４０３は、たとえば、Ｌ２網である防御対象ネットワーク１４０５に設けられる。端末１４０４は、中継装置１００のパケット受信部１０２および送信部５００で接続されている。中継装置１４０３は、防御対象ネットワーク１４０５と防御対象外ネットワーク１４０１との境界に設けられる。なお、図１４では、端末１４０４は、中継装置１００に接続されているが、端末１４０６，１４０７も防御対象ネットワーク１４０５内の中継装置（不図示）に接続されている。また、防御対象ネットワーク１４０５には、端末１４０４，１４０６，１４０７以外の他の端末や中継装置１００以外の他の中継装置も設けられているが、図１４では省略する。
【０１０４】
また、中継装置１００のホワイトリスト格納メモリ１３１に格納されているホワイトリスト９００には、端末１４０４から端末１４０６へのパケットを特定するエントリ、端末１４０６から端末１４０４へのパケットを特定するエントリ、端末１４０４から端末１４０７へのパケットを特定するエントリ、端末１４０７から端末１４０４へのパケットを特定するエントリ、端末１４０４から端末１４０２へのパケットを特定するエントリ、端末１４０２から端末１４０４へのパケットを特定するエントリが登録されている。また、端末１４００はＣ＆Ｃサーバのような攻撃者の端末（攻撃端末）であり、端末１４０８は監視アプライアンスが動作する端末（以降、監視アプライアンス端末１４０８）と仮定している。
【０１０５】
また、あらかじめ、中継装置１００は、ホワイトリスト９００の設定時に、転送設定情報３００のＴＴＬ値８０６に防御対象ネットワーク１４０１内部の最大ホップ数を登録する。また、中継装置１００は、エントリ３０５（ホワイトリスト登録外パケット受信時動作）の保持内容３０２を「廃棄」に設定する。
【０１０６】
監視アプライアンス端末１４０８が防御対象外ネットワーク１４０１の端末１４０２を攻撃端末と判断すると、中継装置１００に、端末１４０２のＩＰアドレス（攻撃端末ＩＰアドレス）および重要度ＨＩＧＨを含む攻撃パケット情報を通知する。中継装置１００のＣＰＵ１４１は、監視アプライアンス端末１４０８から当該攻撃パケット情報を取得し、ホワイトリスト生成プログラム１４３に転送する。
【０１０７】
ホワイトリスト生成プログラム１４３は、図１２に示したように、攻撃端末ＩＰアドレスでホワイトリスト９００を検索し、宛先ＩＰアドレスまたは送信元ＩＰアドレスにＨＩＴするエントリを探し出す。そして、ホワイトリスト生成プログラム１４３は、攻撃パケット情報に含まれる攻撃の重要度を確認する。当該重要度がＨＩＧＨであるため、ホワイトリスト生成プログラム１４３は、ホワイトリスト９００から当該ＨＩＴしたエントリを削除する。ホワイトリスト生成プログラム１４３は、ホワイトリスト９００の全エントリを検索し、ＨＩＴするエントリがなくなったら処理を終了する。
【０１０８】
監視アプライアンス端末１４０８が防御対象ネットワーク１４０５の端末１４０７を攻撃端末と判断すると、中継装置１００に端末１４０７のＩＰアドレス（攻撃端末ＩＰアドレス）と重要度ＬＯＷを含む攻撃パケット情報を通知する。中継装置１００のＣＰＵ１４１は、監視アプライアンス端末１４０８から当該攻撃パケット情報を取得し、ホワイトリスト生成プログラム１４３に転送する。
【０１０９】
ホワイトリスト生成プログラム１４３は、図１２に示したように、攻撃端末ＩＰアドレスでホワイトリスト９００を検索し、宛先ＩＰアドレスまたは送信元ＩＰアドレスにＨＩＴするエントリを探し出す。そして、ホワイトリスト生成プログラム１４３は、攻撃パケット情報に含まれる攻撃の重要度を確認する。当該重要度がＬＯＷであるため、ホワイトリスト生成プログラム１４３は、ホワイトリスト９００から当該ＨＩＴしたエントリのＴＴＬ値９１０を転送設定情報３００のＴＴＬ値８０６の値に変更する。ホワイトリスト生成プログラム１４３は、ホワイトリスト９００の全エントリを検索し、ＨＩＴするエントリがなくなったら処理を終了する。
【０１１０】
以下、ホワイトリスト９００の運用状態の時に（ステップＳ５０２：Ｎｏ）、防御対象ネットワーク１４０５の端末１４０４からそれぞれ端末１４００、１４０２、１４０６、１４０７へパケットを送信した場合の動作を詳細に説明する。
【０１１１】
［経路Ｒ１１：端末１４０４→端末１４０６］
端末１４０４から宛先を端末１４０６とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト９００を検索する。端末１４０４から端末１４０６へのパケットを特定するエントリは、ホワイトリスト９００に登録されている。ＴＴＬ値９１０には「０」が登録されているため、中継装置１００は、ＴＴＬ書き換え処理を実行しない。その後、中継装置１００は、転送テーブルメモリ１３３の対応情報を検索して転送先を決定し、パケット送信部１０５からパケットを送信する。このように、端末１４０６は、端末１４０４から中継装置１００で中継されたパケットを受信することができる。
【０１１２】
［経路Ｒ１２：端末１４０４→端末１４０７］
端末１４０４から宛先を端末１４０７とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト９００を検索する。端末１４０４から端末１４０７へのパケットを特定するエントリは、ホワイトリスト９００に登録されている。ＴＴＬ値９１０には「０」以外の値が登録されているため、パケットのＴＴＬ値を登録されているＴＴＬ値９１０に書き換える。
【０１１３】
その後、中継装置１００は、転送テーブルメモリ１３３の対応情報を検索して転送先を決定し、パケット送信部１０５からパケットを送信する。このとき、書換後のパケットのＴＴＬ値は防御対象ネットワーク１４０５の最大ホップ数となっているため、端末１４０７までは設定された当該書換後のＴＴＬ値で到達可能である。このように、監視アプライアンス端末１４０８から重要度ＬＯＷの攻撃パケットとして通知されたパケットでも、防御対象ネットワーク１４０５内部に範囲を限定して通信可能となる。
【０１１４】
［経路Ｒ１３：端末１４０４→端末１４０２］
端末１４０４から宛先を端末１４０２とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト９００を検索する。端末１４０４から端末１４０２へのパケットはホワイトリスト２００に登録されていないため、中継装置１００は、転送設定情報３００を参照し、パケット廃棄を選択する。このように、監視アプライアンス端末１４０８から重要度ＨＩＧＨの攻撃パケットとして通知されたパケットは端末１４０６に到着する前に廃棄される。したがって、攻撃パケットの通信が遮断される。
【０１１５】
［経路Ｒ１４：端末１４０４→端末１４００］
端末１４０４から宛先を端末１４００とするパケットが送信された場合、中継装置１００のパケット受信部１０２でパケットを受信後、転送先決定部１３２は、ホワイトリスト９００を検索する。端末１４０４から端末１４００へのパケットはホワイトリスト２００登録されていないため、中継装置１００は、再び転送設定情報３００を参照し、パケット廃棄を選択する。その結果、端末１４００との通信を遮断することができる。
【０１１６】
このように、防御対象ネットワーク１４０５内部のホワイトリスト９００に登録されている端末であっても、監視アプライアンス端末１４０８によって重要度ＨＩＧＨの攻撃と判断されたパケットは廃棄され、重要度ＬＯＷの攻撃と判断されたパケットは、すぐに廃棄をせずに防御対象ネットワーク１４０５内部に範囲を限定して通信させることができる。
【０１１７】
防御対象ネットワーク１４０５内部の端末が感染し、当該端末から別の端末への攻撃が行われる場合、感染した端末は外部の攻撃端末からの指示によって動作するようになるため、外部との通信を遮断することで感染した端末からのさらなる感染の拡大を防ぐことにつながる。一方で、防御対象ネットワーク１４０５内部の範囲で通信が可能であるため、システムへの影響度を少なくすることができる。これによって、ホワイトリスト機能によるセキュリティの確保とシステムへの影響の最小化の両立が可能となる。
【０１１８】
以上説明したように、中継装置１００は、ホワイトリスト機能によるセキュリティの確保とシステムへの影響の最小化の両立という、これまでの廃棄または通過の２択では実現できない柔軟性のあるパケット中継を提供することができる。具体的には、たとえば、実施例１によれば、ホワイトリスト２００の未登録の通信に対して、防御対象ネットワーク８０５内部の通信の許容と、防御対象外ネットワーク８０１の通信の遮断の両立を提供することができる。また、実施例２によれば、ホワイトリスト９００に登録されている通信であっても攻撃の可能性がある端末に対しては、防御対象ネットワーク１４０５内部の通信の許容と、防御対象外ネットワーク１４０１の通信の遮断の両立を提供することができる。
【０１１９】
なお、中継装置１００は、ホワイトリスト２００，９００に登録されていないパケットについて、その宛先が防御対象ネットワーク８０５，１４０５の端末であれば、ＴＴＬを書き換えないようにしてもよい。この場合、中継装置１００は、パケット転送部１０３に、防御対象ネットワーク８０５，１４０５内の端末のＩＰアドレスのリストを保持しておき、当該リストにパケットの宛先ＩＰアドレスと一致するＩＰアドレスがある場合、当該パケットのＴＴＬ値を書き換えないようにする。これにより、ホップ数の不足による未達やホップ数の過剰による防御対象外ネットワーク８０１，１４０１への送出を抑制することができる。
【０１２０】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【０１２１】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【０１２２】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード、ＳＤカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）の記録媒体に格納することができる。
【０１２３】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【０１２４】
１００  中継装置
１０２  パケット受信部
１０３  パケット転送部
１０４  制御部
１０５  パケット送信部
１０６  入出力インタフェース
１３１  ホワイトリスト格納メモリ
１３２  転送先決定部
１３２Ａ  判定部
１３２Ｂ  書換部
１３３  転送テーブルメモリ
１３４  転送設定メモリ
１４３  ホワイトリスト生成プログラム
１４４  転送設定プログラム
１６０  入出力装置
２００，９００  ホワイトリスト
３００  転送設定情報
４００  命令一覧
８０１，１４０１  防御対象外ネットワーク
８０５，１４０５  防御対象ネットワーク
【図１】
2019022118.tif 000003
【図２】
2019022118.tif 000004
【図３】
2019022118.tif 000005
【図４】
2019022118.tif 000006
【図５】
2019022118.tif 000007
【図６】
2019022118.tif 000008
【図７】
2019022118.tif 000009
【図８】
2019022118.tif 000010
【図９】
2019022118.tif 000011
【図１０】
2019022118.tif 000012
【図１１】
2019022118.tif 000013
【図１２】
2019022118.tif 000014
【図１３】
2019022118.tif 000015
【図１４】
2019022118.tif 000016