(57)【要約】  検査サービスを提供する際に、サービスを受ける組織のネットワークシステムに障害や負荷が発生しないようにしたファイアウォール検査システムを開示する。ポリシー抽出部は、検査対象のファイアウォールからファイアウォールポリシーを抽出し、ファイアウォールの種類に依存しない非固有ポリシーに変換する。検査システムの通信部は、非固有ポリシーをクライアントシステムから受信する。仮想ＦＷ作成部は、ファイアウォールの動作をエミュレートするための仮想ＦＷを非固有ポリシーを用いて作成する。仮想ＦＷに従って動作するＣＰＵは、予め作成された検査パケットの属性を参照して検査を行い、検査結果をクライアントシステムに送信する。【特許請求の範囲】
【請求項１】
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
前記ポリシー抽出手段で抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
前記判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、前記変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
前記検査知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
前記変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と
を有するファイアウォール検査システム。
【請求項２】
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、
前記逆変換手段が変換したファイアウォールポリシーを所定の情報とともに出力する結果出力手段と
をさらに有する、請求項１に記載のファイアウォール検査システム。
【請求項３】
前記ポリシー抽出手段と前記変換手段と前記逆変換手段と前記結果出力手段は、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、前記検査知識記憶手段と前記判定処理実行手段と前記仮想ファイアウォール生成手段と前記検査手段と前記検査結果生成手段は、前記ファイアウォールに関する検査を行う検査システムを構成する、請求項２に記載のファイアウォール検査システム。
【請求項４】
前記ポリシー抽出手段と前記結果出力手段は、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、前記変換手段と前記検査知識記憶手段と前記判定処理実行手段と前記仮想ファイアウォール生成手段と前記検査手段と前記検査結果生成手段と前記逆変換手段は、前記ファイアウォールに関する検査を行う検査システムを構成する、請求項２に記載のファイアウォール検査システム。
【請求項５】
前記判定処理実行手段は、検査パケットにおけるペイロード以外の部分に格納される属性情報が非固有ポリシー中のルールに合致するか否かにより、前記検査パケットを通過させるか否かを判定する、請求項１から請求項４のうちのいずれか１項に記載のファイアウォール検査システム。
【請求項６】
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
前記ポリシー抽出手段で抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、前記検査パケットを通過させるルールを前記検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
前記判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、前記変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
前記検査修正知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
前記変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
検査パケットを通過させる旨の判定結果を導いたルールと前記検査パケットに対応する修正方針情報とに基づいて、前記検査パケットを遮断するルールを作成し、前記ルールを前記非固有ポリシーに追加することにより非固有ポリシーを修正する修正手段と
を有するファイアウォール検査システム。
【請求項７】
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、
前記逆変換手段が変換したファイアウォールポリシーを出力する結果出力手段と
をさらに有する、請求項６に記載のファイアウォール検査システム。
【請求項８】
前記ポリシー抽出手段と前記変換手段と前記逆変換手段と前記結果出力手段は、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、前記検査修正知識記憶手段と前記判定処理実行手段と前記仮想ファイアウォール生成手段と前記検査手段と前記検査結果生成手段と前記修正手段は、前記ファイアウォールに関する検査を行う検査システムを構成する、請求項７に記載のファイアウォール検査システム。
【請求項９】
前記ポリシー抽出手段と前記結果出力手段は。ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、前記変換手段と前記検査修正知識記憶手段と前記判定処理実行手段と前記仮想ファイアウォール生成手段と前記検査手段と前記検査結果生成手段と前記修正手段と前記逆変換手段は、前記ファイアウォールに関する検査を行う検査システムを構成する、請求項７に記載のファイアウォール検査システム。
【請求項１０】
前記逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用するポリシー適用手段をさらに有する、請求項７から請求項９のうちのいずれか１項に記載のファイアウォール検査システム。
【請求項１１】
前記変換手段が変換した非固有ポリシーを記憶する非固有ポリシー記憶手段と、ファイアウォールにファイアウォールポリシーを再適用する指示が入力される指示入力手段とをさらに有し、
前記逆変換手段は、前記指示が入力されたときに、前記非固有ポリシー記憶手段に記憶された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換し、前記ポリシー適用手段は、前記逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用する、
請求項１０に記載のファイアウォール検査システム。
【請求項１２】
前記判定処理実行手段は、検査パケットにおけるペイロード以外の部分に格納される属性情報が非固有ポリシー中のルールに合致するか否かにより、前記検査パケットを通過させるか否かを判定する、請求項６から請求項１１のうちのいずれか１項に記載のファイアウォール検査システム。
【請求項１３】
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムであって、
ファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
前記ポリシー抽出手段で抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
ファイアウォールに関する検査を行う検査システムに、前記変換手段が変換した非固有ポリシーを送信して、前記検査システムに検査を実行させる非固有ポリシー送信手段と、
前記検査システムから、前記非固有ポリシーに含まれるルールのうち、検査パケットを通過させるルールに所定の情報が付加された検査結果を受信する検査結果受信手段と
を有するファイアウォール情報抽出システム。
【請求項１４】
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、
前記逆変換手段が変換したファイアウォールポリシーを所定の情報とともに出力する結果出力手段と
をさらに有する、請求項１３に記載のファイアウォール情報抽出システム。
【請求項１５】
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムであって、
ファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
前記ポリシー抽出手段で抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
ファイアウォールに関する検査を行う検査システムに、前記変換手段が変換した非固有ポリシーを送信して、前記非固有ポリシーの修正を実行させる非固有ポリシー送信手段と、
前記検査システムから、修正された非固有ポリシーを受信する修正結果受信手段と
を有するファイアウォール情報抽出システム。
【請求項１６】
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、
前記逆変換手段が変換したファイアウォールポリシーを出力する結果出力手段と
をさらに有する、請求項１５に記載のファイアウォール情報抽出システム。
【請求項１７】
前記逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用するポリシー適用手段をさらに有する、請求項１６に記載のファイアウォール情報抽出システム。
【請求項１８】
前記変換手段が変換した非固有ポリシーを記憶する非固有ポリシー記憶手段と、
ファイアウォールにファイアウォールポリシーを再適用する指示が入力される指示入力手段と
をさらに有し、
前記逆変換手段は、前記指示が入力されたときに、前記非固有ポリシー記憶手段に記憶された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換し、
前記ポリシー適用手段は、前記逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用する、
請求項１７に記載のファイアウォール情報抽出システム。
【請求項１９】
ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うファイアウォール検査システムであって、
前記ファイアウォール情報抽出システムから、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーを受信する非固有ポリシー受信手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
前記判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、前記非固有ポリシー受信手段が受信した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
前記検査知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
前記非固有ポリシー受信手段が受信した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
前記ファイアウォール情報抽出システムに前記検査結果を送信する検査結果送信手段と
を有するファイアウォール検査システム。
【請求項２０】
ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うファイアウォール検査システムであって、
前記ファイアウォール情報抽出システムから前記ファイアウォールポリシーを受信するポリシー受信手段と、
前記ポリシー受信手段が受信したファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
前記判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、前記変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
前記検査知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
前記変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と
を有するファイアウォール検査システム。
【請求項２１】
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、
前記逆変換手段が変換したファイアウォールポリシーを所定の情報とともにファイアウォール情報抽出システムに送信する結果送信手段と
をさらに有する、請求項２０に記載のファイアウォール検査システム。
【請求項２２】
ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うファイアウォール検査システムであって、
前記ファイアウォール情報抽出システムから、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーを受信する非固有ポリシー受信手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、前記検査パケットを通過させるルールを前記検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
前記判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、前記非固有ポリシー受信手段が受信した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
前記検査修正知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
前記非固有ポリシー受信手段が受信した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
検査パケットを通過させる旨の判定結果を導いたルールと前記検査パケットに対応する修正方針情報とに基づいて、前記検査パケットを遮断するルールを作成し、前記ルールを前記非固有ポリシーに追加することにより非固有ポリシーを修正する修正手段と、
修正された非固有ポリシーを前記ファイアウォール情報抽出システムに送信する修正結果送信手段と
を有するファイアウォール検査システム。
【請求項２３】
ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うファイアウォール検査システムであって、
前記ファイアウォール情報抽出システムから前記ファイアウォールポリシーを受信するポリシー受信手段と、
前記ポリシー受信手段が受信したファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、前記検査パケットを通過させるルールを、前記検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
前記判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、前記変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
前記検査修正知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
前記変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
検査パケットを通過させる旨の判定結果を導いたルールと前記検査パケットに対応する修正方針情報とに基づいて、前記検査パケットを遮断するルールを作成し、前記ルールを前記非固有ポリシーに追加することにより非固有ポリシーを修正する修正手段と
を有するファイアウォール検査システム。
【請求項２４】
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、
前記逆変換手段が変換したファイアウォールポリシーをファイアウォール情報抽出システムに送信する修正後ポリシー送信手段と
をさらに有する、請求項２３に記載のファイアウォール検査システム。
【請求項２５】
前記判定処理実行手段は、検査パケットにおけるペイロード以外の部分に格納される属性情報が非固有ポリシー中のルールに合致するか否かにより、前記検査パケットを通過させるか否かを判定する、請求項１９から請求項２４のうちのいずれか１項に記載のファイアウォール検査システム。
【請求項２６】
コンピュータに、
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出する処理と、
抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する処理と、
ファイアウォールに関する検査を行う検査システムに前記非固有ポリシーを送信する処理と、
前記検査システムから、前記非固有ポリシーに含まれるルールのうち、検査パケットを通過させるルールに所定の情報が付加された検査結果を受信する処理
を実行させるためのファイアウォール情報抽出プログラム。
【請求項２７】
コンピュータに、
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する処理と、
前記ファイアウォールポリシーを所定の情報とともに出力する処理と
をさらに実行させるための、請求項２６に記載のファイアウォール情報抽出プログラム。
【請求項２８】
コンピュータに、
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出する処理と、
抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する処理と、
ファイアウォールに関する検査を行う検査システムに前記非固有ポリシーを送信する処理と、
前記検査システムから、修正された非固有ポリシーを受信する処理と
を実行させるためのファイアウォール情報抽出プログラム。
【請求項２９】
コンピュータに、
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する処理と、
前記ファイアウォールポリシーを出力する処理と
をさらに実行させるための、請求項２８に記載のファイアウォール情報抽出プログラム。
【請求項３０】
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段を備え、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うコンピュータに搭載されるファイアウォール検査プログラムであって、
コンピュータに、
前記ファイアウォール情報抽出システムから、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーを受信する処理と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、受信した非固有ポリシーを用いて生成する処理と、
前記検査知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る処理と、
受信した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する処理と、
前記ファイアウォール情報抽出システムに前記検査結果を送信する処理と
を実行させるためのファイアウォール検査プログラム。
【請求項３１】
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段を備え、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うコンピュータに搭載されるファイアウォール検査プログラムであって、
コンピュータに、
前記ファイアウォール情報抽出システムから前記ファイアウォールポリシーを受信する処理と、
受信したファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する処理と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、変換した非固有ポリシーを用いて生成する処理と、
前記検査知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る処理と、
変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する処理
を実行させるためのファイアウォール検査プログラム。
【請求項３２】
コンピュータに、
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する処理、
前記ファイアウォールポリシーを所定の情報とともにファイアウォール情報抽出システムに送信する処理
をさらに実行させるための、請求項３１に記載のファイアウォール検査プログラム。
【請求項３３】
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、前記検査パケットを通過させるルールを前記検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段を備え、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うコンピュータに搭載されるファイアウォール検査プログラムであって、
コンピュータに、
前記ファイアウォール情報抽出システムから、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーを受信する処理と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段に前記判定処理を実行させるためのプログラムである仮想ファイアウォールを、受信した非固有ポリシーを用いて生成する処理と、
前記検査修正知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る処理と、
受信した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する処理と、
検査パケットを通過させる旨の判定結果を導いたルールと前記検査パケットに対応する修正方針情報とに基づいて、前記検査パケットを遮断するルールを作成し、前記ルールを前記非固有ポリシーに追加することにより非固有ポリシーを修正する処理と、
修正された非固有ポリシーを前記ファイアウォール情報抽出システムに送信する処理と
を実行させるためのファイアウォール検査プログラム。
【請求項３４】
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、前記検査パケットを通過させるルールを前記検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段を備え、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信して前記ファイアウォールに関する検査を行うコンピュータに搭載されるファイアウォール検査プログラムであって、
コンピュータに、
前記ファイアウォール情報抽出システムから前記ファイアウォールポリシーを受信する処理と、
受信したファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する処理と、
与えられたパケットを通過させるか遮断するかを前記非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段に前記判定処理を実行させるためのプログラムで
ある仮想ファイアウォールを、変換した非固有ポリシーを用いて生成する処理と、
前記検査修正知識記憶手段から検査パケットを読み込み、前記判定処理実行手段に前記検査パケットを通過させるか遮断するかを前記仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る処理と、
変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する処理と、
検査パケットを通過させる旨の判定結果を導いたルールと前記検査パケットに対応する修正方針情報とに基づいて、前記検査パケットを遮断するルールを作成し、前記ルールを前記非固有ポリシーに追加することにより非固有ポリシーを修正する処理と
を実行させるためのファイアウォール検査プログラム。
【請求項３５】
コンピュータに、
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する処理と、
前記ファイアウォールポリシーをファイアウォール情報抽出システムに送信する処理と
をさらに実行させるための、請求項３４に記載のファイアウォール検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイアウォールを検査するファイアウォール検査システムおよびファイアウォール情報抽出システムに関する。【０００２】
本発明は、ファイアウォールに適用されているファイアウォールポリシーの検査や修正を行うサービスに利用可能である。
【背景技術】
【０００３】
企業等の組織のネットワークセキュリティに対する関心が益々高まっている。組織（ここでは企業とする。）のネットワークを不正アクセス等から防御する方法の一つにファイアウォールを設置する方法がある。ファイアウォールは、インターネットと自社ネットワークとを接続するゲートウェイまたはルーターに設置されるネットワーク機器またはソフトウェアである。ファイアウォールは、ネットワークを流れるパケットを検査し、そのパケットを通過させたり、遮断したりすることで不正アクセス等から自社ネットワークを防御する。パケットの検査は、ファイアウォールポリシーに基づいて行われる。ファイアウォールポリシーとは、パケットを通過させる条件や遮断する条件をパケットの属性（送信元アドレスやポート、送信先アドレスやポート、プロトコルの種類等）で定めたルールの集合である。ルールの例として、例えば、「自社ネットワークの公開サーバのアドレスの特定のポートに向かう特定のプロトコルを持つパケットの通過は許可する。」等が挙げられる。【０００４】
ネットワークセキュリティに関する専門家がいない企業や、そのような専門家がいたとしても日々発生するインシデントに対応できる状況になっていない企業にとっては、ファイアウォールポリシーを作成、維持、管理するのは非常に困難である。そのため、クライアント企業のファイアウォールや公開サーバに仮想攻撃を行い、クライアント企業のファイアウォールや公開サーバの検査を行う検査サービスが盛んに行われている。また、このような検査は、特許文献１や特許文献２に記載されている。
【特許文献１】特開２００１−３３７９１９号公報
【特許文献２】特開２００１−３２３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
仮想攻撃を行う検査サービスには、以下のような問題がある。【０００６】
第１に、検査対象となるファイアウォールや公開サーバに仮想攻撃を行って検査するため、検査対象が深刻なダメージを受ける可能性がある。従って、一時的にネットワークが不通になったり、公開サーバが停止するといった状況となり、検査サービスを受けるクライアント企業が業務停止や業務機会損失等の損害を被る可能性がある。第２に、仮想攻撃に起因してネットワークや公開サーバの負荷が高くなり、その結果、クライアント企業が業務停滞や業務機会損失等の損害を被る可能性がある。第３に、検査サービスを提供するサービス提供企業は、仮想攻撃を無害化する必要があり、その工数は膨大であるため、新しい攻撃が発見されてからその攻撃に対する検査が可能となるまでのタイムラグが生じたり、また、検査サービスコストが高くなってしまう。すなわち、サービス提供企業は、迅速なインシデント対応や低価格での検査サービスの提供を行いにくかった。第４に、サービス提供企業は、クライアント企業の検査対象に直接仮想攻撃を行うため、無害化した攻撃手法や検査方法そのものがクライアント企業に公開されてしまい、クライアント企業を通じて競合他社にそれら手法が漏洩してしまうおそれがある。第５に、サービス提供企業にとってクライアント企業のファイアウォールポリシー等の情報は不明であり、ファイアウォールが必要以上にパケットを通過させるような状態であったとしても、その状態を改善するための具体的な対応策をクライアント企業に提示できない。【０００７】
そこで、本発明の目的は、検査サービスを提供する際に、検査サービスを受ける組織のネットワークシステムに障害や負荷が発生しないようにすることにある。本発明の他の目的は、迅速なインシデント対応や検査サービスコストの低減を実現することにある。本発明の他の目的は、検査サービスの提供者の検査手法の秘匿性を高めることにある。また、本発明の他の目的は、検査対象となるファイアウォールが必要以上にパケットを通過させるような状態であった場合に、その状態を改善するための具体的な対応策を提示できるようにすることにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、ファイアウォール検査システムは、
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
ポリシー抽出手段で抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段と、
与えられたパケットを通過させるか遮断するかを非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
判定処理実行手段に判定処理を実行させるためのプログラムである仮想ファイアウォールを、変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
検査知識記憶手段から検査パケットを読み込み、判定処理実行手段に検査パケットを通過させるか遮断するかを仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と
を有する。【０００９】
したがって、ファイアウォールに直接検査パケットを送信して仮想攻撃を行わなくても、ファイアウォールに対する検査を行うことができる。この結果、検査対象となるファイアウォールが仮想攻撃でダメージを受けることがなく、ファイアウォールの所有者が業務停止、業務機会損失等の損害を被る可能性がなくなる。また、ファイアウォールの所有者のネットワークに高負荷がかかることがなく、ファイアウォールの所有者が業務停滞、業務機会損失等の損害を被る可能性がなくなる。【００１０】
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、逆変換手段が変換したファイアウォールポリシーを所定の情報とともに出力する結果出力手段とを備えていてもよい。【００１１】
ポリシー抽出手段と変換手段と逆変換手段と結果出力手段は、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、検査知識記憶手段と判定処理実行手段と仮想ファイアウォール生成手段と検査手段と検査結果生成手段は、ファイアウォールに関する検査を行う検査システムを構成していてもよい。このような構成によれば、検査システムの所有者は、ファイアウォールの所有者に、具体的な検査方法を秘密にしておくことができる。また、検査システムは、非固有ポリシーを用いて検査を行うので、ファイアウォールの種類に依存した書式のファイアウォールポリシーを検査システムに送る必要がない。従って、ファイアウォールの所有者は、検査システムの所有者に、ファイアウォールの種類やバージョンを秘密にしておくことができる。【００１２】
ポリシー抽出手段と結果出力手段は、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、変換手段と検査知識記憶手段と判定処理実行手段と仮想ファイアウォール生成手段と検査手段と検査結果生成手段と逆変換手段は、ファイアウォールに関する検査を行う検査システムを構成していてもよい。このような構成によれば、検査システムの所有者は、ファイアウォールの所有者に、具体的な検査方法を秘密にしておくことができる。【００１３】
判定処理実行手段が、検査パケットにおけるペイロード以外の部分に格納される属性情報が非固有ポリシー中のルールに合致するか否かにより、検査パケットを通過させるか否かを判定してよい。このような構成によればペイロードに格納される攻撃コードを無害化する必要がない。その結果、検査サービスに要する工数を削減でき、迅速なインシデント対応が可能となる。また、無害化のための工数が不要となる分、サービスコストを下げることができ、低価格でファイアウォールの検査サービスを提供することができる。【００１４】
本発明の他の態様によれば、ファイアウォール検査システムは、
パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
ポリシー抽出手段で抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、検査パケットを通過させるルールを検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段と、
与えられたパケットを通過させるか遮断するかを非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
判定処理実行手段に判定処理を実行させるためのプログラムである仮想ファイアウォールを、変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
検査修正知識記憶手段から検査パケットを読み込み、判定処理実行手段に検査パケットを通過させるか遮断するかを仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
検査パケットを通過させる旨の判定結果を導いたルールと検査パケットに対応する修正方針情報とに基づいて、検査パケットを遮断するルールを作成し、そのルールを非固有ポリシーに追加することにより非固有ポリシーを修正する修正手段と
を有する。【００１５】
したがって、ファイアウォールに直接検査パケットを送信して仮想攻撃を行わなくても、ファイアウォールに対する検査を行うことができる。この結果、検査対象となるファイアウォールが仮想攻撃でダメージを受けることがなく、ファイアウォールの所有者が業務停止、業務機会損失等の損害を被る可能性がなくなる。また、ファイアウォールの所有者のネットワークに高負荷がかかることがなく、ファイアウォールの所有者が業務停滞、業務機会損失等の損害を被る可能性がなくなる。また、修正後のファイアウォールポリシーを出力するので、ファイアウォールが必要以上にパケットを通過させるような状態であったとしても、その状態を改善するための具体的な対応策をファイアウォールの所有者に提示することができる。【００１６】
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、逆変換手段が変換したファイアウォールポリシーを出力する結果出力手段とを備えてもよい。【００１７】
ポリシー抽出手段と変換手段と逆変換手段と結果出力手段は、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、検査修正知識記憶手段と判定処理実行手段と仮想ファイアウォール生成手段と検査手段と検査結果生成手段と修正手段は、ファイアウォールに関する検査を行う検査システムを構成していてもよい。このような構成によれば、検査システムの所有者は、ファイアウォールの所有者に、具体的な検査方法を秘密にしておくことができる。また、検査システムは、非固有ポリシーを用いて検査を行うので、ファイアウォールの種類に依存した書式のファイアウォールポリシーを検査システムに送る必要がない。従って、ファイアウォールの所有者は、検査システムの所有者に、ファイアウォールの種類やバージョンを秘密にしておくことができる。【００１８】
ポリシー抽出手段と結果出力手段は、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムを構成し、変換手段と検査修正知識記憶手段と判定処理実行手段と仮想ファイアウォール生成手段と検査手段と検査結果生成手段と修正手段と逆変換手段は、ファイアウォールに関する検査を行う検査システムを構成していてもよい。このような構成によれば、検査システムの所有者は、ファイアウォールの所有者に、具体的な検査方法を秘密にしておくことができる。【００１９】
逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用するポリシー適用手段を備えていてもよい。このような構成によれば、ファイアウォールの所有者自身が、修正されたファイアウォールポリシーをファイアウォールに適用する作業を行わなくて済む。【００２０】
変換手段が変換した非固有ポリシーを記憶する非固有ポリシー記憶手段と、ファイアウォールにファイアウォールポリシーを再適用する指示が入力される指示入力手段とをさらに有し、逆変換手段が、指示が入力されたときに、非固有ポリシー記憶手段に記憶された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換し、ポリシー適用手段が、逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用する構成であってもよい。このような構成によれば、ファイアウォールポリシーが何らかの原因で壊れたりした場合や、ファイアウォールの種類を変更した場合等に、ファイアウォールポリシーのリストアを容易に行うことができる。また、ファイアウォールの種類を変更した場合であっても、ファイアウォールポリシーのリストアを容易に行えるので、ファイアウォール機器やファイアウォールソフトウェアの入れ替えを自由に行うことができる。【００２１】
判定処理実行手段が、検査パケットにおけるペイロード以外の部分に格納される属性情報が非固有ポリシー中のルールに合致するか否かにより、検査パケットを通過させるか否かを判定する構成であってもよい。このような構成によれば、ペイロードに格納される攻撃コードを無害化する必要がない。その結果、検査サービスに要する工数を削減でき、迅速なインシデント対応が可能となる。また、無害化のための工数が不要となる分、サービスコストを下げることができ、低価格でファイアウォールの検査サービスを提供することができる。【００２２】
本発明の他の態様によれば、ファイアウォール情報抽出システムは、パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムであって、
ファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
ポリシー抽出手段で抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
ファイアウォールに関する検査を行う検査システムに、変換手段が変換した非固有ポリシーを送信して、検査システムに検査を実行させる非固有ポリシー送信手段と、
検査システムから、非固有ポリシーに含まれるルールのうち、検査パケットを通過させるルールに所定の情報が付加された検査結果を受信する検査結果受信手段と
を有する。【００２３】
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、逆変換手段が変換したファイアウォールポリシーを所定の情報とともに出力する結果出力手段とを備えていてもよい。【００２４】
本発明の他の態様によれば、ファイアウォール情報抽出システムは、パケットを通過させる条件またはパケットを遮断する条件を定めたルールの集合であるファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムであって、
ファイアウォールポリシーをファイアウォールから抽出するポリシー抽出手段と、
ポリシー抽出手段に抽出されたファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
ファイアウォールに関する検査を行う検査システムに、変換手段が変換した非固有ポリシーを送信して、非固有ポリシーの修正を実行させる非固有ポリシー送信手段と、
検査システムから、修正された非固有ポリシーを受信する修正結果受信手段と
を有する。【００２５】
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、逆変換手段が変換したファイアウォールポリシーを出力する結果出力手段とを備えていてもよい。【００２６】
逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用するポリシー適用手段を備えた構成であってもよい。このような構成によれば、ファイアウォールの所有者自身が、修正されたファイアウォールポリシーをファイアウォールに適用する作業を行わなくて済む。【００２７】
変換手段が変換した非固有ポリシーを記憶する非固有ポリシー記憶手段と、ファイアウォールにファイアウォールポリシーを再適用する指示が入力される指示入力手段とをさらに有し、逆変換手段が、指示が入力されたときに、非固有ポリシー記憶手段に記憶された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換し、ポリシー適用手段が、逆変換手段が変換したファイアウォールポリシーをファイアウォールに適用する構成であってもよい。このような構成によれば、ファイアウォールポリシーが何らかの原因で壊れたりした場合や、ファイアウォールの種類を変更した場合等に、ファイアウォールポリシーのリストアを容易に行うことができる。また、ファイアウォールの種類を変更した場合であっても、ファイアウォールポリシーのリストアを容易に行えるので、ファイアウォール機器やファイアウォールソフトウェアの入れ替えを自由に行うことができる。【００２８】
本発明の他の態様によれば、ファイアウォール検査システムは、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信してファイアウォールに関する検査を行うファイアウォール検査システムであって、
ファイアウォール情報抽出システムから、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーを受信する非固有ポリシー受信手段と、  
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段と、
与えられたパケットを通過させるか遮断するかを非固有ポリシーに基づいて判定
する判定処理を実行する判定処理実行手段と、
判定処理実行手段に判定処理を実行させるためのプログラムである仮想ファイアウォールを、非固有ポリシー受信手段が受信した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
検査知識記憶手段から検査パケットを読み込み、判定処理実行手段に検査パケットを通過させるか遮断するかを仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
非固有ポリシー受信手段が受信した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
ファイアウォール情報抽出システムに検査結果を送信する検査結果送信手段と
を有する。【００２９】
本発明の他の態様によれば、ファイアウォール検査システムは、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信してファイアウォールに関する検査を行うファイアウォール検査システムであって、
ファイアウォール情報抽出システムからファイアウォールポリシーを受信するポリシー受信手段と、
ポリシー受信手段が受信したファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットを記憶する検査知識記憶手段と、
与えられたパケットを通過させるか遮断するかを非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
判定処理実行手段に判定処理を実行させるためのプログラムである仮想ファイアウォールを、変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
検査知識記憶手段から検査パケットを読み込み、判定処理実行手段に検査パケットを通過させるか遮断するかを仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と
を有する。【００３０】
検査結果に含まれる非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、逆変換手段が変換したファイアウォールポリシーを所定の情報とともにファイアウォール情報抽出システムに送信する結果送信手段とをさらに備えていてもよい。【００３１】
本発明の他の態様によれば、ファイアウォール検査システムは、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信してファイアウォールに関する検査を行うファイアウォール検査システムであって、
ファイアウォール情報抽出システムから、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーを受信する非固有ポリシー受信手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、検査パケットを通過させるルールを検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段と、
与えられたパケットを通過させるか遮断するかを非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
判定処理実行手段に判定処理を実行させるためのプログラムである仮想ファイアウォールを、非固有ポリシー受信手段が受信した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
検査修正知識記憶手段から検査パケットを読み込み、判定処理実行手段に検査パケットを通過させるか遮断するかを仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
非固有ポリシー受信手段が受信した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
検査パケットを通過させる旨の判定結果を導いたルールと検査パケットに対応する修正方針情報とに基づいて、検査パケットを遮断するルールを作成し、そのルールを非固有ポリシーに追加することにより非固有ポリシーを修正する修正手段と、
修正された非固有ポリシーをファイアウォール情報抽出システムに送信する修正結果送信手段と
を有する。【００３２】
本発明の他の態様によれば、ファイアウォール検査システムは、ファイアウォールポリシーをファイアウォールから抽出するファイアウォール情報抽出システムからデータを受信してファイアウォールに関する検査を行うファイアウォール検査システムであって、
ファイアウォール情報抽出システムからファイアウォールポリシーを受信するポリシー受信手段と、
ポリシー受信手段が受信したファイアウォールポリシーを、ファイアウォールの種類に依存しない書式のファイアウォールポリシーである非固有ポリシーに変換する変換手段と、
攻撃に用いられるパケットまたは攻撃に用いられるパケットから攻撃コードを除いたパケットである検査パケットと、検査パケットを通過させるルールを検査パケットを遮断するように修正するための修正方針情報とを記憶する検査修正知識記憶手段と、
与えられたパケットを通過させるか遮断するかを非固有ポリシーに基づいて判定する判定処理を実行する判定処理実行手段と、
判定処理実行手段に判定処理を実行させるためのプログラムである仮想ファイアウォールを、変換手段が変換した非固有ポリシーを用いて生成する仮想ファイアウォール生成手段と、
検査修正知識記憶手段から検査パケットを読み込み、判定処理実行手段に検査パケットを通過させるか遮断するかを仮想ファイアウォールに従って判定させ、判定結果および判定結果を導いたルールを得る検査手段と、
変換手段が変換した非固有ポリシーに含まれるルールのうち検査パケットを通過させる旨の判定結果を導いたルールに所定の情報を付加することにより検査結果を生成する検査結果生成手段と、
検査パケットを通過させる旨の判定結果を導いたルールと検査パケットに対応する修正方針情報とに基づいて、検査パケットを遮断するルールを作成し、そのルールを非固有ポリシーに追加することにより非固有ポリシーを修正する修正手段と
を有する。【００３３】
修正された非固有ポリシーを、ファイアウォールの種類に依存した書式のファイアウォールポリシーに変換する逆変換手段と、逆変換手段が変換したファイアウォールポリシーをファイアウォール情報抽出システムに送信する修正後ポリシー送信手段とを備えていてもよい。【００３４】
判定処理実行手段が、検査パケットにおけるペイロード以外の部分に格納される属性情報が非固有ポリシー中のルールに合致するか否かにより、検査パケットを通過させるか否かを判定する構成であってもよい。このような構成によればペイロードに格納される攻撃コードを無害化する必要がない。その結果、検査サービスに要する工数を削減でき、迅速なインシデント対応が可能となる。また、無害化のための工数が不要となる分、サービスコストを下げることができ、低価格でファイアウォールの検査サービスを提供することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は本発明の第１の実施の形態を示すブロック図である。
【図２】図２は第１の実施の形態におけるクライアントシステムおよび検査システムの構成例を示すブロック図である。
【図３】図３は仮想ＦＷを示す説明図である。
【図４】図４は第１の実施の形態におけるファイアウォール検査システムの動作を示すフローチャートである。
【図５】図５は第１の実施の形態の変形例を示すブロック図である。
【図６】図６は第２の実施の形態におけるクライアントシステムおよび検査システムの構成例を示すブロック図である。
【図７】図７は第２の実施の形態におけるファイアウォール検査システムの動作を示すフローチャートである。
【図８】図８は第２の実施の形態の変形例を示すブロック図である。
【図９】図９は固有ポリシーおよび非固有ポリシーの例を示す説明図である。
【図１０】図１０はクライアントシステムのポリシー記憶手段が記憶する情報の例を示す説明図である。
【図１１】図１１は検査システムのポリシー記憶手段が記憶する情報の例を示す説明図である。
【図１２】図１２は検査知識ＤＢが記憶する検査知識の例を示す説明図である。
【図１３】図１３はパケットを通過させるか否かの判定処理を示すフローチャートである。
【図１４】図１４は仮想ＦＷに含まれる非固有ポリシーの例を示す説明図である。
【図１５】図１５は検査結果の例を示す説明図である。
【図１６】図１６は非固有ポリシーから変換された固有ポリシーの例を示す説明図である。
【図１７】図１７はクライアント企業毎に仮想ＦＷを作成し検査を実施する状況を示す説明図である。
【図１８】図１８は検査修正知識ＤＢが記憶する検査修正知識の例を示す説明図である。
【図１９】図１９は非固有ポリシーの修正処理を示すフローチャートである。
【図２０】図２０は非固有ポリシーの修正結果の例を示す説明図である。
【図２１】図２１は非固有ポリシーの修正結果から変換された固有ポリシーの例を示す説明図である。
【符号の説明】
【００３６】
１０    クライアント企業ネットワーク
２０    サービス提供企業ネットワーク
１００  クライアントシステム（ファイアウォール情報抽出システム）
１１０  ポリシー抽出部
１２０  ポリシー変換規則記憶部
１３０  ポリシー記憶部
１４０  通信部
１５０  ポリシー逆変換部
１６０  結果表示部
２００  検査システム
２１０  通信手段
２２０  ポリシー記憶部
２３０  仮想ＦＷ作成部
２４０  仮想ＦＷ記憶部
２５０  ＦＷ検査部
２６０  検査知識ＤＢ
３００  ファイアウォール
４００  インターネット
１００１−１００８ａ、１０５１−１０５９、１０７１−１０７６  ステップ
【発明を実施するための最良の形態】
【００３７】
第１の実施形態
図１を参照すると、本発明の第１の実施形態によるファイアウォール検査システムは、ファイアウォール情報抽出システム（以下、クライアントシステムと記す。）１００と検査システム２００とを備える。クライアントシステム１００と検査システム２００とは、通信ネットワーク４００を介して接続される。以下、通信ネットワーク４００がインターネットである場合を例に説明する。検査システム２００は、クライアントシステム１００からファイアウォールポリシーを受信し、そのファイアウォールポリシーに基づいて検査を行う。そして、検査結果をクライアントシステム１００に送信する。【００３８】
ファイアウォールの検査サービスを受ける者（以下の説明ではクライアント企業と記すが、企業に限定されない。）は、クライアント企業自身の通信ネットワークであるクライアント企業ネットワーク１０を有している。また、クライアント企業は、インターネット４００とクライアント企業ネットワーク１０とを接続さるファイアウォール３００も有している。クライアント企業は、検査サービスを提供する者（以下の説明ではサービス提供企業と記すが、企業に限定されない。）からクライアントシステム１００を購入し、クライアント企業ネットワーク１０に接続する。クライアントシステム１００は、ファイアウォール３００にアクセス可能なネットワークセグメントに接続される。【００３９】
サービス提供企業は、サービス提供企業自身の通信ネットワークであるサービス提供企業ネットワーク２０を有している。検査システム２００は、サービス提供企業によって管理され、サービス提供企業ネットワーク２０に接続される。なお、図示していないが、検査システム２００は、ゲートウェイ、ルータ等を介してインターネット４００に接続される。【００４０】
なお、クライアント企業は、ファイアウォール３００に対する検査サービスの提供を受け、そのサービスの対価をサービス提供企業に支払う。【００４１】
図２は第１の実施形態におけるクライアントシステム１００および検査システム２００の構成例を示すブロック図である。図２では、便宜上、クライアントシステム１００および検査システム２００がインターネットに直接接続されているように示しているが、図１に示すように、クライアントシステム１００は、ファイアウォールを介してインターネット４００に接続される。また、検査システム２００は、ゲートウェイ、ルータ等（図示せず。）を介してインターネット４００に接続される。【００４２】
図２に示すように、クライアントシステム１００はポリシー抽出部１１０とポリシー変換規則記憶部１２０とポリシー記憶部１３０と通信部１４０とポリシー逆変換部１５０と結果出力部１６０とを備える。【００４３】
ポリシー抽出部１１０はファイアウォール３００から設定情報を抽出する。設定情報は、ファイアウォールポリシーを含む情報であり、ファイアウォールポリシーは、パケットを通過させる条件や遮断させる条件を定めたルールの集合である。また、本実施形態では、設定情報には、ファイアウォールポリシーの他にファイアウォール３００の種類（製品名等）やバージョン情報も含まれているものとする。設定情報に含まれるファイアウォールポリシーは、ファイアウォール３００の種類に依存した書式で記述されている。ポリシー抽出部１１０は、抽出した設定情報に含まれているファイアウォールポリシーを、ポリシー変換規則に従って、ファイアウォールの種類に依存しない書式で記述したファイアウォールポリシーに変換する。ポリシー変換規則は、ファイアウォールの種類に依存した書式のファイアウォールポリシー（以下、固有ポリシーと記す。）を、ファイアウォールの種類に依存しない書式のファイアウォールポリシー（以下、非固有ポリシーと記す。）に変換する対応表であり、ファイアウォールの種類やバージョンと対応付けられてポリシー変換規則記憶部１２０に記憶されている。また、ポリシー抽出部１１０は、変換後の非固有ポリシー、ファイアウォール３００の種類やバージョン等の情報、設定情報を抽出した時刻等をポリシー記憶部１３０に記憶させる。【００４４】
ポリシー変換規則記憶部１２０は、ファイアウォールの種類毎にポリシー変換規則を予め記憶している。【００４５】
ポリシー記憶部１３０は、ポリシー抽出部１１０によって変換された非固有ポリシー、ファイアウォールの種類、バージョン情報、設定情報が抽出された日時（ポリシー記憶部１３０への記録日時でもよい。）等を記憶する。【００４６】
通信部１４０は、ポリシー記憶部１３０から非固有ポリシーを読み込み、その非固有ポリシーを検査システム２００に送信する。このとき、通信部１４０は、非固有ポリシーを送信する度に連番となる番号を非固有ポリシーに付加する。そして、その番号とファイアウォール３００の種類やバージョン情報とを対応付けて、例えば、ポリシー記憶部１３０に記憶させておく。また、通信部１４０は、非固有ポリシーを用いて行われたファイアウォール３００の検査結果を検査システム２００から受信する。検査結果は、非固有ポリシーに含まれるルールのうち、ファイアウォールに対する攻撃となるパケットを通過させるルールに、その攻撃の名称を追加記述したものである。【００４７】
ポリシー逆変換部１５０は、ポリシー変換規則に基づいて、検査結果に含まれる非固有ポリシーを、固有ポリシーに変換する。ポリシー逆変換部１５０は、検査結果に追加記述された攻撃の名称はそのまま残しておく。なお、検査結果には、通信部１４０が非固有ポリシー送信時に付加した番号がそのまま残されている。ポリシー逆変換部１５０は、その番号に基づいてファイアウォールの種類やバージョン情報を特定し、その種類に応じたポリシー変換規則を参照して固有ポリシーへの変換を行えばよい。ポリシー逆変換部１５０は、攻撃の名称が付加された固有ポリシーを結果出力部１６０に出力させる。【００４８】
結果出力部１６０は、ポリシー逆変換部１５０によって検査結果から変換された固有ポリシーを出力する。【００４９】
ポリシー抽出部１１０および通信部１４０は、例えば、クライアント企業ネットワーク１０（図１参照）とのインタフェースと、プログラムに従って動作するＣＰＵとによって実現される。ポリシー変換規則記憶部１２０およびポリシー記憶部１３０は、例えば、クライアントシステム１００が備える記憶装置によって実現される。ポリシー逆変換部１０は、例えば、プログラムに従って動作するＣＰＵによって実現される。プログラムは、クライアントシステム１００が備える記憶装置（図示せず）に予め記憶させておけばよい。結果出力部１６０は、例えば、ディスプレイ装置やプリンタ装置によって実現される。【００５０】
図２に示すように、検査システム２１０は通信部２１０とポリシー記憶部２２０と仮想ＦＷ（ファイアウォール）作成部２３０と、仮想ＦＷ（ファイアウォール）記憶部２４０とＦＷ（ファイアウォール）検査部２５０と検査知識ＤＢ（データベース）２６０とを備える。【００５１】
通信部２１０は、クライアントシステム１００から非固有ポリシーを受信し、ポリシー記憶部２２０に記憶させる。また、通信部２１０は、検査結果をクライアントシステム１００に送信する。【００５２】
ポリシー記憶部２２０は、通信部２１０がクライアントシステム１００から受信した非固有ポリシーを記憶する。【００５３】
仮想ＦＷ作成部２３０は、仮想ＦＷを作成し、仮想ＦＷ記憶部２４０に記憶させる。仮想ＦＷとは、検査システム２００が備えるＣＰＵ（図示せず）にファイアウォールとしての動作を擬似的に実行させるプログラムである。換言すれば、仮想ＦＷは、ファイアウォールの動作をエミュレートするためのプログラムである。また、ファイアウォールとしての動作を擬似的に実行するとは、与えられたパケットを通過させるか遮断するかを判定することである。【００５４】
仮想ＦＷ記憶部２４０は、作成された仮想ＦＷを記憶する。図３は、仮想ＦＷを示す説明図である。仮想ＦＷ作成部２３０は、予め用意されているＦＷ実行命令５２０に非固有ポリシー５１０を付加することによって仮想ＦＷ５００を作成する。ＦＷ実行命令５２０は、検査システム２００のＣＰＵ（図示せず）にファイアウォールとしての動作を実行させる命令群であり、例えば、予め検査システム２００が備える記憶装置（図示せず）に記憶させておく。仮想ＦＷ作成部２３０は、仮想ＦＷ作成時にＦＷ実行命令５２０を読み込み、また、ポリシー記憶部２２０に記憶されている非固有ポリシーを読み込み、非固有ポリシー５１０としてＦＷ実行命令５２０に付加し、仮想ＦＷ５００を生成する。仮想ＦＷ５００は、例えばプログラムの実行ファイルとして生成される。なお、プログラムの実行ファイルとして生成される仮想ＦＷ５００内に非固有ポリシーを含めてもよい。あるいは、非固有ポリシーをプログラム実行ファイルとは別ファイルとし、非固有ポリシーのデータファイルと、プログラム実行ファイルを対応付けてもよい。【００５５】
検査知識ＤＢ２６０は、攻撃そのものを表すデータ、あるいは、攻撃の属性を表すデータを少なくとも一つ記憶する。攻撃そのものを表すデータとは、システムに対する攻撃となるパケット全体のことである。攻撃そのものを表すデータには、パケットを受信したシステムに誤動作等を行わせるための攻撃コードが含まれている。攻撃コードは、パケットのペイロードに格納される。攻撃の属性を表すデータとは、攻撃そのものを表すデータのうちの攻撃コード（ペイロード部分）を除いたデータである。従って、検査知識ＤＢ２６０は、攻撃コードを含むデータ（攻撃そのものを表すデータ）を記憶していても、攻撃コードを含まないデータ（攻撃の属性を表すデータ）を記憶していてもよい。検査知識ＤＢ２６０は、攻撃の名称や補足的事項（例えば、どのような装置に感染するか等の情報）を記憶していてもよい。攻撃そのものを表すデータ、あるいは、攻撃の属性を表すデータ、および攻撃の名称をまとめて検査知識と呼ぶ。補足的事項が存在する場合には、補足的事項も検査知識に含まれるが、補足的事項はなくてもよい。以下、システムに対する攻撃となるパケット全体、あるいはそのようなパケットから攻撃コードを除いたパケットを、検査パケットと記す。【００５６】
検査知識ＤＢ２６０は、１つ以上の検査知識を記憶する。また、検査知識は、サービス提供企業の検査システムの運用者やセキュリティ専門家によって作成される。検査知識は、セキュリティベンダーやインシデント情報を管理する企業等からサービス提供企業に販売されてもよい。検査知識は、例えば、入力デバイス（図示せず）を介して検査システム２００に入力され、ＣＰＵ（図示せず）によって検査知識ＤＢ２６０に記憶される。【００５７】
ＦＷ検査部２５０は、仮想ＦＷ記憶部２４０に記憶された仮想ＦＷ５００（図３参照）を起動させる。そして、ＦＷ検査部２５０は、検査知識ＤＢ２６０から検査パケット（ペイロードに攻撃コードが格納されていてもいなくてもよい。）を読み込み、仮想ＦＷ５００に従って動作するＣＰＵ（図示せず）にその検査パケットを通過させるか遮断するかを判定させる。また、判定結果を導いたルールも特定させる。そして、ＦＷ検査部２５０は、ポリシー記憶部２２０が記憶している非固有ポリシー内におけるそのルールに対して、通過させると判定された検査パケットの攻撃名称を追加記述する。【００５８】
通信部２１０は、例えば、サービス提供企業ネットワーク２０（図１参照）とのインタフェースと、プログラムに従って動作するＣＰＵとによって実現される。仮想ＦＷ作成部２３０およびＦＷ検査部２５０は、例えば、プログラムに従って動作するＣＰＵによって実現される。プログラムは、検査システム２００が備える記憶装置（図示せず）に予め記憶させておけばよい。ポリシー記憶部２２０、仮想ＦＷ記憶部２４０、および検査知識ＤＢ２６０は、例えば、検査システム２００が備える記憶装置によって実現される。【００５９】
次に、本実施形態の動作について説明する。【００６０】
ファイアウォール検査システムの運用開始前に、サービス提供企業は、クライアント企業にクライアントシステム１００を販売する。クライアントシステム１００は、クライアント企業ネットワーク１０（図１参照）において、ファイアウォール３００にアクセス
可能なネットワークセグメントに接続される。【００６１】
図４は本実施形態におけるファイアウォール検査システムの動作を示すフローチャートである。クライアントシステム１００のポリシー抽出部１１０は、ファイアウォール３００の設定情報を抽出する（ステップ１００１）。ステップ１００１では、例えば、ファイアウォール３００に備わっている設定情報取得コマンドを実行するなどして、ファイアウォール３００から設定情報を抽出すればよい。また、ポリシー抽出部１１０は、例えば、定期的にファイアウォール３００から設定情報を抽出すればよい。また、例えば、クライアントシステム１００が、オペレータからの指示を入力されるキーボードやマウス等の入力デバイス（図示せず）を備え、その入力デバイスから設定情報の抽出指示が入力されたときにファイアウォール３００から設定情報を抽出してもよい。また、例えば、クライアント企業とサービス提供企業との契約で定めたタイミイングで設定情報抽出処理を開始するように予め設定されていてもよい。【００６２】
ステップ１００１の後、ポリシー抽出部１１０は、設定情報に含まれる固有ポリシーを非固有ポリシーに変換し、その非固有ポリシーをポリシー記憶部１３０に記憶させる（ステップ１００２）。ステップ１００２において、ポリシー抽出部１１０は、設定情報に含まれているファイアウォール３００の種類やバージョンの情報に対応するポリシー変換規則をポリシー変換規則記憶部１２０から読み込む。そして、ポリシー抽出部１１０は、そのポリシー変換規則に従って、ファイアウォールの種類に依存した書式の固有ポリシーを、ファイアウォールの種類に依存しない書式の非固有ポリシーに変換する。また、ポリシー抽出部１１０は、非固有ポリシーをポリシー記憶部１３０に記憶させるときに、設定情報を抽出した日時（ポリシー記憶部１３０への記録日時でもよい）、およびファイアウォール３００の種類やバージョンの情報とともに記憶させる。【００６３】
なお、本実施形態では、ファイアウォールの種類やバージョンの情報が設定情報に含まれている場合を例にしているが、種類やバージョンの情報が設定情報に含まれていなくてもよい。この場合、クライアントシステム１００が、キーボード等の入力デバイス（図示せず。）を介してクライアント企業のオペレータからファイアウォールの種類やバージョンの情報を予め入力され、入力された情報を記憶装置（図示せず）に記憶させておいてもよい。そして、予め記憶させておいたバージョン等の情報をポリシー抽出部１１０がステップ１００２で読み込み、非固有ポリシーとともにポリシー記憶部１３０に記憶させてもよい。あるいは、ファイアウォール３００に備わっているデータ取得コマンド（ファイアウォールの種類やバージョン情報の取得コマンド）を実行することによって、ファイアウォール３００から種類やバージョンの情報を取得してもよい。【００６４】
ステップ１００２の後、通信部１４０は、ポリシー記憶部１３０から非固有ポリシーを読み込み、インターネット４００を介して、その非固有ポリシーを検査システム２００に送信する（ステップ１００３）。ステップ１００３では、通信部１４０は、非固有ポリシーを送信する度に連番となる番号を非固有ポリシーに付加して送信する。通信部１４０は、非固有ポリシーに付加した番号と、ファイアウォール３００の種類やバージョン情報とを対応付けて、例えば、ポリシー記憶部１３０に記憶させる。この番号は、後に受信する検査結果を固有ポリシーに変換するときに、参照するポリシー変換規則を特定するために用いられる。【００６５】
なお、ステップ１００３では、通信部１４０は、まず検査要求を検査システム２００に送信し、検査システム２００から検査要求を受ける旨の回答を受信した後に、非固有ポリシーを送信してもよい。【００６６】
検査システム２００の通信部２１０は、クライアントシステム１００の通信部１４０によって送信された非固有ポリシーを受信し、その非固有ポリシーをポリシー記憶部２２０に記憶させる（ステップ１００４）。【００６７】
続いて、仮想ＦＷ作成部２３０は、例えば、検査システム２００が備える記憶装置（図示せず）からＦＷ実行命令５２０を読み込み、また、ステップ１００４でポリシー記憶部２２０に記憶された非固有ポリシーを読み込む。仮想ＦＷ作成部２３０は、読み込んだＦＷ実行命令５２０に非固有ポリシーを付加して、仮想ＦＷ５００を生成する（ステップ１００５）。例えば、ＦＷ実行命令５２０と非固有ポリシー５１０（ポリシー記憶部２２０から読み込んだ非固有ポリシーそのもの）とを含むプログラム実行ファイルとして仮想ＦＷ５００を生成する。仮想ＦＷ作成部２３０は、生成した仮想ＦＷ５００を仮想ＦＷ記憶部２４０に記憶させる。【００６８】
続いて、ＦＷ検査部２５０は、仮想ＦＷ５００を起動し、クライアント企業のファイアウォール３００の検査を行う（ステップ１００６）。ここでは、仮想ＦＷ５００に従ってファイアウォールとしての動作を実行する検査システム２００のＣＰＵ（図示せず）と、ＦＷ検査部２５０としての動作を行うＣＰＵ（図示せず）とが同一のＣＰＵであるものとする。ＦＷ検査部２５０は、検査知識ＤＢ２６０から攻撃そのものを表すデータ（システムに対する攻撃となるパケット全体）、あるいは、攻撃の属性を表すデータ（攻撃コードを含まないパケット）を読み込む。そして、そのパケットを通過させるか否かの判定を、仮想ＦＷ５００に従って動作するＣＰＵ（図示せず）に実行させる。仮想ＦＷ５００に従って動作するＣＰＵは、仮想ＦＷ５００に含まれる非固有ポリシー５１０と、攻撃の属性とによって、ファイアウォール３００がそのパケットを通過させるのか遮断するのかを判定する。パケットを通過させると判定された場合、ＦＷ検査部２５０は、ポリシー記憶手段２２０に記憶される非固有ポリシーに含まれるルールのうち、パケットを通過させるという判定結果を導いたルールに対して、そのパケットの攻撃名称を付加する。ＦＷ検査部２５０は、検査知識ＤＢ２６０に記憶されている攻撃そのものを表すデータや攻撃の属性を表すデータ毎に以上の処理を順次実行する。【００６９】
ステップ１００４で記憶された非固有ポリシーに攻撃の情報（本実施形態では、攻撃の名称）が付加されたものが検査結果となる。この検査検査には、ステップ１００３で非固有ポリシーに付加された番号も含まれている。【００７０】
ＦＷ検査部２５０は、検査システム２００の通信部２１０に検査結果を送る。通信部２１０は、インターネット４００を介してクライアントシステム１００にその検査結果を送信する（ステップ１００７）。【００７１】
クライアントシステム１００の通信部１４０は、検査システム２００の通信部２１０から検査結果を受信し、その検査結果をポリシー逆変換手段１５０に渡す。なお、通信部１４０が検査結果をポリシー記憶部１３０に記憶させ、ポリシー逆変換部１５０がポリシー記憶部１３０から検査結果を読み込んでもよい。ポリシー逆変換部１５０は、検査結果に含まれている番号（ステップ１００３で非固有ポリシーに付加された番号）に対応するファイアウォールの種類およびバージョンの情報をステップ１００３で記憶させた情報に基づいて特定する。そして、特定した情報に応じたポリシー変換規則をポリシー変換規則記憶部１２０から読み込む。ポリシー逆変換部１５０は、そのポリシー変換規則を参照して、検査結果に含まれている非固有ポリシーをファイアウォール３００に依存した書式の固有ポリシーに変換する。そして、ステップ１００６で付加された攻撃の情報とともに、変換後の固有ポリシーを結果出力部１６０に出力（例えば、表示出力）させる（ステップ１００８）。この結果、クライアント企業のオペレータに、ファイアウォール３００のファイアウォールポリシーに含まれるルールのうち、攻撃となるパケットを通過させることになるルールを提示することができる。【００７２】
本実施形態では、ポリシー抽出手段および変換手段はポリシー抽出部１１０に相当する。検査知識記憶手段は検査知識ＤＢ２６０に相当する。判定処理実行手段は検査システム２００のＣＰＵ（図示せず）に相当する。仮想ファイアウォール生成手段は仮想ＦＷ生成部２３０に相当する。検査手段および検査結果生成手段はＦＷ検査部２５０に相当する。逆変換手段はポリシー逆変換部１５０に相当する。結果出力手段は結果出力部１６０に相当する。非固有ポリシー送信手段および検査結果受信手段はクライアントシステム１００の通信部１４０に相当する。非固有ポリシー受信手段および検査結果送信手段は、検査システム２００の通信部２１０に相当する。【００７３】
次に、本実施形態の効果について説明する。本実施形態によれば、クライアント企業のファイアウォール３００そのものが検査を受けるのではなく、サービス提供企業の検査システム２００がファイアウォール３００の非固有ポリシーを用いて仮想ＦＷ５００（図３参照）を作成し、仮想ＦＷ５００によって検査を行う。そして、仮想ＦＷ５００に従ってファイアウォールとしての動作を擬似的に実行する検査システム２００のＣＰＵ（図示せず）に攻撃となるパケットを渡しても、クライアント企業のファイアウォール３００には一切影響がない。従って、ファイアウォール３００のダメージによりクライアント企業が業務停止や業務機会損失等の損害を被る可能性がなくなる。また、ファイアウォール３００やクライアント企業ネットワーク１０（図１参照）に高負荷がかかることがなく、ライアント企業が業務停滞や業務機会損失等の損害を被るおそれがなくなる。【００７４】
また、仮想ＦＷ５００に従って動作する検査システム２００のＣＰＵ（図示せず）は、仮想ＦＷ５００に含まれる非固有ポリシー５１０と、攻撃の属性とによって、ファイアウォール３００がそのパケットを通過させるのか遮断するのかを判定する。この判定処理は、パケットに攻撃コードが含まれていなくても行うことができる。従って、新しい攻撃が発見され、その攻撃の仮想攻撃を行えるようにする場合、仮想攻撃を無害化するという工数が不要となる。従って、サービス提供企業は、迅速なインシデント対応が可能となる。すなわち、新しい攻撃が発見されたときに、その攻撃に関する検査サービスを早期に提供することができる。また、仮想攻撃を無害化する工数が不要となる分、サービスコストを下げることができ、クライアント企業に対して低価格でファイアウォールの検査サービスを提供することができる。【００７５】
また、検査知識ＤＢ２６０に記憶される攻撃そのものを表すデータ、あるいは、攻撃の属性を表すデータは検査システム２００において使用され、クライアントシステム１００に送信されない。従って、サービス提供企業自身が保有する検査に用いるデータがクライアント企業を通じて競合他社に漏洩するおそれがない。【００７６】
また、クライアントシステム１００は、固有ポリシーではなく非固有ポリシーを送信する。さらに、クライアントシステム１００は、ファイアウォール３００の種類やバージョンの情報ではなく、クライアントシステム１００自身がそれらの情報と対応付ける番号を送信する。従って、検査システム２００は、クライアント企業が使用しているファイアウォール３００の種類やバージョンを識別できない。従って、自身が所有しているファイアウォール３００の種類やバージョンを秘密にしておきたいと考えるクライアント企業にとっては、ファイアウォール３００の種類やバージョンの情報をサービス提供企業に知られることなく検査サービスを受けられるという効果がある。【００７７】
なお、仮想ＦＷ作成部２３０が仮想ＦＷの作成（ステップ１００５）を開始するのは、ステップ１００４の終了後であってサービス提供企業のオペレータによって仮想ＦＷの作成開始を指示されたときでもよい。同様に、ＦＷ検査部２５０が検査（ステップ１００６）を開始するのは、ステップ１００５の終了後であってサービス提供企業のオペレータによって検査開始を指示されたときでもよい。この場合、検査システム２００は、オペレータからの指示を入力されるキーボードやマウス等の入力デバイス（図示せず）を備える。このような構成の場合、サービス提供企業のオペレータは、ポリシー記憶部２２０に記憶された非固有ポリシーが増加してから、バッチ処理によりステップ1０００５，１００６の処理をまとめて行わせることが可能となる。あるいは、検査知識ＤＢ２６０に新しいデータを記憶させるメンテナンス作業中にはステップ１００４で動作を中断させ、検査知識ＤＢ２６０の終了後にステップ１００５以降の動作を再開させることができる。【００７８】
また、クライアント企業が、ファイアウォールポリシーやファイアウォール３００の種類やバージョンを公開してもよいと定めている場合、検査システム２００にこれらの情報を送信して検査システム２００が非固有ポリシーへの変換等を行ってもよい。以下、本実施形態の変形例として、ファイアウォールの種類に依存した書式の固有ポリシー、ファイアウォールの種類およびバージョンの情報を検査システム２００に送信する場合の構成例を図５に示す。【００７９】
本変形例において、クライアントシステム１００はポリシー抽出部１１０と通信部１４０と結果出力部１６０とを備える。結果出力部１６０は、図２に示す結果出力部１６０と同様である。【００８０】
ポリシー抽出部１１０は、ファイアウォール３００から設定情報を抽出し、設定情報に含まれているファイアウォールポリシー（固有ポリシー）、およびファイアウォール３００の種類やバージョンの情報を通信部１４０に送る。ファイアウォール３００の種類やバージョンの情報は、クライアント企業のオペレータに予め入力されていてもよい。また、設定情報とは別に、ファイアウォール３００から種類やバージョンの情報を抽出してもよい。【００８１】
クライアントシステム１００の通信部１４０は、ポリシー抽出部１４０から送られた固有ポリシー、ファイアウォール３００の種類およびバージョンの情報を、インターネット４００を介して検査システム２００に送信する。また、通信部１４０は、検査システム２００から検査結果を受信したときには、その検査結果を結果出力部１６０に出力（例えば、表示出力）させる。【００８２】
また、本変形例において、検査システム２００は通信部２１０とポリシー変換規則記憶部１２５と固有ポリシー記憶部１３５とポリシー変換部１５５と非固有ポリシー記憶部２２５と仮想ＦＷ作成部２３０と仮想ＦＷ記憶部２４０とＦＷ検査部２５０と検査知識ＤＢ２６０とを備える。ポリシー変換規則記憶部１２５は、図１に示す構成におけるポリシー変換規則記憶部１２０と同様にポリシー変換規則を記憶する。仮想ＦＷ作成部２３０、仮想ＦＷ記憶部２４０、ＦＷ検査部２５０、検査知識ＤＢ２６０は、それぞれ図１に示す構成における仮想ＦＷ作成部２３０、仮想ＦＷ記憶部２４０、ＦＷ検査部２５０、検査知識ＤＢ２６０と同様である。非固有ポリシー記憶部２２５は、図１に示す構成における検査システム２００のポリシー記憶部２２０と同様に、非固有ポリシーを記憶する。【００８３】
検査システム２００の通信部２１０は、クライアントシステム１００から受信した固有ポリシー、ファイアウォール３００の種類およびバージョンの情報を、固有ポリシー記憶部１３５に記憶させる。この他、固有ポリシーの受信時刻等も固有ポリシー記憶部１３５に記憶させてもよい。また、通信部２１０は、各固有ポリシーを識別するための番号等を固有ポリシーに付して固有ポリシー記憶部１３５に記憶させてもよい。【００８４】
固有ポリシー記憶部１３５は、固有ポリシー、ファイアウォール３００の種類およびバージョンの情報を記憶する。【００８５】
ポリシー変換部１５５は、ポリシー変換規則を参照して、固有ポリシーから非固有ポリシーへの変換および非固有ポリシーから固有ポリシーへの変換を行う。通信部２１０によって固有ポリシー記憶部１３５に固有ポリシーが記憶された後、ポリシー変換部１５５は、その固有ポリシーとともに記憶されたファイアーウォールの種類やバージョンに応じたポリシー変換規則をポリシー変換規則記憶部１２５から読み込む。そして、そのポリシー変換規則に基づいて、固有ポリシー記憶部１３５に記憶された固有ポリシーを非固有ポリシーに変換して非固有ポリシー記憶部２２５に記憶させる。なお、各固有ポリシーを識別するために付加された情報（番号等）は、変換後の非固有ポリシーにもそのまま付加される。【００８６】
非固有ポリシー記憶部２２５に非固有ポリシーが記憶された後、仮想ＦＷ作成部２３０はステップ１００５と同様に仮想ＦＷ５００（図３参照）を作成し、ＦＷ検査部２５０はステップ１００６と同様に検査を実行する。攻撃となるパケットを通過させると検査時に判定された場合、ＦＷ検査部２５０は、非固有ポリシー記憶部２２５に記憶される非固有ポリシーに含まれるルールのうち、そのパケットを通過させるという判定結果を導いたルールに対して、そのパケットの攻撃名称を付加する。【００８７】
ポリシー変換部１５５は、検査後に、非固有ポリシーに付加されている各固有ポリシー識別のための情報からファイアウォールの種類やバージョンを特定し、さらにその種類やバージョンに応じたポリシー変換規則を読み込む。そして、非固有ポリシー記憶部２２５に記憶されている非固有ポリシーを固有ポリシーに変換する。非固有ポリシーに含まれるルールに攻撃名称が付加されている場合、その攻撃名称は変換時にそのまま残しておく。【００８８】
検査システム２００の通信部２１０は、非固有ポリシーから変換された固有ポリシーを検査結果としてクライアントシステム１００に送信する。検査時に非固有ポリシーに攻撃名称が付加された場合、検査結果として送信される固有ポリシーにも攻撃名称が付加されている。【００８９】
クライアントシステム１００の通信部１４０は、検査システム２００から検査結果を受信すると、その検査結果を結果出力部１６０に出力させる。【００９０】
本変形例において、ポリシー変換規則記憶部１２５、固有ポリシー記憶部１３５、および非固有ポリシー記憶部１２５は、例えば、検査システム２００が備える記憶装置（図示せず）によって実現される。ポリシー変換部１５５は、例えば、プログラムに従って動作するＣＰＵによって実現される。【００９１】
本変形例では、ポリシー抽出手段はポリシー抽出部１１０に相当する。変換手段および逆変換手段はポリシー変換部１５５に相当する。検査知識記憶手段は検査知識ＤＢ２６０に相当する。判定処理実行手段は検査システム２００のＣＰＵ（図示せず）に相当する。仮想ファイアウォール生成手段は仮想ＦＷ生成手段２３０に相当する。検査手段および検査結果生成手段はＦＷ検査部２５０に相当する。結果出力手段は結果出力部１６０に相当する。ポリシー受信手段および結果送信手段は検査システム２００の通信部２１０に相当する。【００９２】
本変形例では、固有ポリシー、ファイアウォール３００の種類やバージョンの情報がサービス提供企業に知られることになるという点以外は、第１の実施形態と同様の効果が得られる。【００９３】
また、検査システム２００をクライアントシステム１００と結合させて、クライアント企業ネットワーク１０に設置してもよい。このような構成の場合、検査システム２００の動作がクライアント企業に知られることがないようにするため、ポリシー記憶部２２０、仮想ＦＷ記憶部２４０および検査知識ＤＢ２６０に各種データを記憶させるときには、データを暗号化して記憶させる。そして、ポリシー記憶部２２０、仮想ＦＷ記憶部２４０および検査知識ＤＢ２６０に記憶されたデータを利用するときに、そのデータを復号して処理を行えばよい。また、検査知識ＤＢ２６０に検査知識を追加する場合には、検査知識がクライアント企業に知られないように追加処理を行う。例えば、サービス提供企業の端末装置（図示せず）から検査システム２００に暗号化した検査知識を送信する。検査システム２００の通信部２１０は、その検査知識を受信した場合、暗号化した状態のまま検査知識ＤＢ２６０に検査知識を追加記憶させる。【００９４】
第２の実施形態
図６は本実施形態におけるクライアントシステム（ファイアウォール情報抽出システム）１００および検査システム２００の構成例を示すブロック図である。図２に示す構成部や装置と同様の構成部、装置については、図２と同一の符号を付して説明を省略する。【００９５】
検査システム２００は、図２に示す検査知識ＤＢ２６０の代わりに検査修正知識ＤＢ２８０を備え、図２に示すＦＷ検査部２５０の代わりにＦＷ検査修正部２７０を備える。【００９６】
検査修正知識ＤＢ２８０は、検査修正知識を記憶する。検査修正知識は、検査パケットを通過させてしまうルールに対する修正方針情報を検査知識に追加したデータである。修正方針情報は、非固有ポリシーのルールと同様の形式で記述されるが、一部の要素が具体的に特定されていない。その具体的に特定されていない要素に検査パケットを通過させてしまうルールの要素を当てはめることで、検査パケットを通過させないルールになるように修正方針情報は記述されている。検査修正知識ＤＢ２８０は、例えば、検査システム２００が備える記憶装置によって実現される。【００９７】
ＦＷ検査修正部２７０は、図２に示すＦＷ検査部２５０と同一の処理を行う。ＦＷ検査修正部２７０は、さらに、検査パケットを通過させると判定されたルールと修正方針情報とを用いて、その検査パケットを通過させないルールを作成する。そして、そのルールを追加することによって非固有ポリシーを修正する。ＦＷ検査修正部２７０は、例えば、プログラムに従って動作するＣＰＵによって実現される。【００９８】
クライアントシステム１００は、図２に示すポリシー逆変換部１５０の代わりにポリシー適用部１７０を備える。ポリシー適用部１７０は、修正結果（本実施形態では、ＦＷ検査修正部２７０によって検査および修正が行われた非固有ポリシー）を固有ポリシーに変換し、その固有ポリシーを結果出力部１６０に出力する。この処理は、図２に示すポリシー逆変換部１５０が実行する処理と同様に実行する。ポリシー適用部１７０は、さらに、修正結果から変換した固有ポリシーをファイアウォール３００に適用する。【００９９】
また、本実施形態では、通信部１４０は、検査システム２００から受信した修正結果をポリシー記憶部１３０に記憶させる。ポリシー適用部１７０は、固有ポリシーを一旦ファイアウォール３００に適用した後、ファイアウォールポリシーを再適用する指示がオペレータから入力されると、その指示に応じてポリシー記憶部１３０から修正結果を読み込み、再度固有ポリシーへの変換処理および固有ポリシーをファイアウォール３００に適用する処理を実行する。なお、ファイアウォールポリシーを再適用する指示は、例えば、クライアントシステム１００が備えるキーボードやマウス等の入力デバイス（図示せず）を介して入力される。【０１００】
ここでは、修正結果から固有ポリシーへの変換を行って、その固有ポリシーをファイアウォール３００に適用する場合を示した。ファイアウォールポリシーを再適用する指示が入力された場合、ポリシー適用部１７０は、ポリシー抽出部１１０によって設定情報中の固有ポリシーから変換された非固有ポリシー（修正される前の非固有ポリシー）を固有ポリシーに変換して、その固有ポリシーをファイアウォール３００に再適用してもよい。この場合、通信部１４０は、検査システム２００から受信した修正結果をポリシー記憶部１３０に記憶させておかなくてもよい。【０１０１】
ポリシー適用部１７０は、例えば、プログラムに従って動作するＣＰＵによって実現される。【０１０２】
次に、本実施形態の動作について説明する。図７は本実施形態におけるファイアウォール検査システムの動作を示すフローチャートである。図４に示す処理と同様の処理については図４と同一の符号を付して説明を省略する。【０１０３】
ステップ１００６が終了すると、検査システム２００のポリシー記憶部２２０に記憶される非固有ポリシーは、検査パケットを通過させると判定されたルールに攻撃名称が付加された状態になっている。ＦＷ検査修正部２７０は、ルールに攻撃名称が付加された非固有ポリシーを修正する（ステップ１００６ａ）。ステップ１００６ａでは、ＦＷ検査修正部２７０は、非固有ポリシーに含まれる各ルールから攻撃名称が付加されているルール（すなわち、検査パケットを通過させると判定されたルール）を取り出す。そして、その攻撃名称に対応付けられた修正方針情報を検査修正知識ＤＢ２８０から読み込む。ＦＷ検査修正部２７０は、攻撃名称が付加されたルールと修正方針情報とを用いて、その検査パケットを通過させない新たなルールを作成する。このとき、非固有ポリシーのルールと同様の形式で記述されている修正方針情報において、特定されていない要素に、検査パケットを通過させると判定されたルールの要素を当てはめることによって、新たなルールを作成する。ＦＷ検査修正部２７０は、新たに作成したルールを、攻撃名称が付加されたルールの前に挿入する。また、付加されていた攻撃名称を削除する。この結果、新たに作成されたルールに基づいて、検査パケットを遮断するという判定が行われるようになる。【０１０４】
なお、検査修正知識ＤＢ２８０は、修正方針情報として「なし」という情報を含む検査修正知識を記憶していてもよい。この場合、攻撃名称と対応付けられた修正方針情報が「なし」という情報である場合がある。そのような場合には、攻撃名称が付加されたルールから新たなルールを作成しなくてもよい。すなわち、攻撃名称が付加されたルールから新たなルールを作成できない場合があってもよい。【０１０５】
ＦＷ検査修正部２７０は、検査システム２００の通信部２１０に修正結果（ＦＷ検査修正部２７０によって検査および修正が行われた非固有ポリシー）を送る。通信部２１０は、インターネット４００を介してクライアントシステム１００に修正結果を送信する（ステップ１００７）。この動作は、第１の実施形態におけるステップ１００７の動作と同様である。【０１０６】
クライアントシステム１００の通信部１４０は、検査システム２００の通信部２１０から修正結果を受信し、その修正結果をポリシー適用部１７０に渡す。また、通信部１４０は、受信した修正結果をポリシー記憶部１３０に記憶させる。ポリシー適用部１７０は、ポリシー記憶部１３０から修正結果を読み込んでもよい。ポリシー適用部１７０は、図２に示すポリシー逆変換部１５０と同様に、ポリシー変換規則をポリシー変換規則記憶部１２０から読み込む。そして、ポリシー適用部１７０は、ポリシー変換規則を参照して、修正結果に含まれている非固有ポリシーをファイアウォール３００に依存した書式の固有ポリシーに変換する。また、ポリシー適用部１７０は、その固有ポリシーを結果出力部１６０に出力（例えば、表示出力）させる（ステップ１００８ａ）。【０１０７】
なお、ステップ１００６で付加された攻撃名称の情報が修正結果に含まれている場合には、その攻撃名称の情報も出力する。また、ステップ１００８ａにおいて、ポリシー適用部１７０は、非固有ポリシーから変換された固有ポリシーをファイアウォール３００に適用する。非固有ポリシーはステップ１００６ａで修正されているので、その非固有ポリシーから変換された固有ポリシーは、元の固有ポリシーとは異なっている。この固有ポリシーが適用されることにより、ファイアウォール３００のファイアウォールポリシーは変更されることになる。具体的には、攻撃となるパケットを通過させないように変更される。【０１０８】
また、クライアントシステム１００を設置したクライアント企業が一度でも検査サービスを受けた後には、クライアントシステム１００のポリシー記憶部１３０には、修正された非固有ポリシーが記憶されている。クライアント企業は、検査システム２００による検査サービスを再び受けなくても、ポリシー記憶部３００に記憶された非固有ポリシーに基づいて、クライアント企業が所有するファイアウォール３００にファイアウォールポリシーのリストア（再適用）を行うことができる。ファイアウォールポリシーのリストアを行うのは、例えば、ファイアウォールポリシーが何らかの原因で壊れたりした場合や、ファイアウォール３００の機種を変更した場合等である。ポリシー適用部１７０は、入力デバイス（図示せず）からファイアウォールポリシーを再適用する指示が入力されると、ステップ１００８ａの処理と同様に、ポリシー変換規則を読み込んで非固有ポリシーを固有ポリシーに変換し、その固有ポリシーをファイアウォール３００に再適用する。【０１０９】
なお、ファイアウォール３００の機種が変更されている場合には、以前に参照したポリシー変換規則とは異なるポリシー変換規則を用いて固有ポリシーへの変換を行う必要がある。そのため、ファイアウォールポリシーの再適用を行う場合、ポリシー適用部１７０は、入力デバイス（図示せず）を介して、ファイアウォールポリシーを再適用する指示とともに、ファイアウォール３００の種類やバージョンの情報も入力される。ポリシー適用部１７０は、入力されたファイアウォール３００の種類やバージョンの情報に応じたポリシー変換規則を読み込み、そのポリシー変換規則を用いて固有ポリシーへの変換を行えばよい。ファイアウォール３００の機種が変更されていない場合には、ファイアウォール３００の種類やバージョンの情報は入力されなくてもよい。この場合、ポリシー適用部１７０は、図２に示すポリシー逆変換部１５０と同様にポリシー変換規則を特定すればよい。すなわち、ステップ１００３において、予めファイアウォールの種類やバージョンに対応する番号が非固有ポリシーに付加されるので、修正結果となる非固有ポリシーに付加されている番号からファイアウォールの種類やバージョンを特定し、さらにポリシー変換規則を特定すればよい。【０１１０】
また、ポリシー適用部１７０は、ステップ１００２においてポリシー抽出部１１０がポリシー記憶部１３０に記憶させた非固有ポリシー（修正される前の非固有ポリシー）を固有ポリシーに変換してファイアウォール３００に適用してもよい。ポリシー適用部１７０は、入力デバイス（図示せず）を介して、ファイアウォールポリシーを再適用する指示、ファイアウォール３００の種類およびバージョンの情報も入力されると、その種類やバージョンの情報に応じたポリシー変換規則を読み込む。そして、ポリシー適用部１７０は、ステップ１００２においてポリシー記憶部１３０に記憶された非固有ポリシーを、そのポリシー変換規則を用いて固有ポリシーに変換する。ポリシー適用部１７０は、その固有ポリシーをファイアウォール３００に適用する。この場合、クライアントシステム１００の通信部１４０は、検査システム２００から受信した修正結果をポリシー記憶部１３０に記憶させておかなくてよい。【０１１１】
本実施形態では、ポリシー抽出手段および変換手段はポリシー抽出部１１０に相当する。検査修正知識記憶手段は検査修正知識ＤＢ２８０に相当する。判定処理実行手段は検査システム２００のＣＰＵ（図示せず）に相当する。仮想ファイアウォール生成手段は仮想ＦＷ生成部２３０に相当する。検査手段、検査結果生成手段、および修正手段はＦＷ検査修正部２７０に相当する。逆変換手段はポリシー逆変換部１５０に相当する。結果出力手段は結果出力部１６０に相当する。ポリシー適用手段はポリシー適用部１７０に相当する。非固有ポリシー記憶手段はクライアントシステムのポリシー記憶部１３０に相当する。指示入力手段はクライアントシステム１００が備える入力デバイス（図示せず）に相当する。非固有ポリシー送信手段および修正結果受信手段はクライアントシステム１００の通信手段１４０に相当する。非固有ポリシー受信手段および修正結果送信手段は検査システム２００の通信部２１０に相当する。【０１１２】
本実施形態においても、第１の実施形態と同様の効果に加えて、さらに、以下に示す効果も得られる。【０１１３】
本実施形態では、検査システム２００がクライアントシステム１００から非固有ポリシーを受信し、仮想ＦＷによる検査の後、ＦＷ検査修正部２７０が、検査パケットを通過させると判定されたルールと修正方針情報とを用いて、その検査パケットを通過させない新たなルールを作成する。そして、そのルールを追加した非固有ポリシーをクライアントシステム１００に送信する。クライアントシステム１００のポリシー適用部１７０は、その非固有ポリシーを固有ポリシーに変換してファイアウォール３００に適用する。従って、ファイアウォールが必要以上にパケットを通過させるような状態であったとしても、その状態を改善するための具体的な対応策をクライアント企業に与えることができる。【０１１４】
また、ファイアウォールポリシーを再適用する指示が入力されると、ポリシー適用部１７０は、ポリシー記憶部１３０に記憶された非固有ポリシーを固有ポリシーに変換し、その固有ポリシーをファイアウォール３００に適用する。従って、クライアント企業は、ファイアウォールポリシーが何らかの原因で壊れたりした場合や、ファイアウォール３００の機種を変更した場合等に、ファイアウォールポリシーのリストアを容易に行うことができる。また、ファイアウォール３００の機種を変更した場合であっても、ファイアウォールポリシーのリストアを容易に行えるので、クライアント企業は、ファイアウォール機器やファイアウォールソフトウェアの入れ替えを自由に行うことができる。【０１１５】
第１の実施形態で説明したように、クライアント企業が、ファイアウォールポリシーやファイアウォール３００の種類やバージョンを公開してもよいと定めている場合、検査システム２００にこれらの情報を送信して検査システム２００が非固有ポリシーへの変換等を行ってもよい。以下、本実施の形態の変形例として、ファイアウォールの種類に依存した書式の固有ポリシー、ファイアウォールの種類およびバージョンの情報を検査システム２００に送信する場合の構成例を図８に示す。【０１１６】
図８に示す構成例において、検査システム２００が備える通信部２１０、ポリシー変換規則記憶部１２５、固有ポリシー記憶部１３５、ポリシー変換部１５５、および非固有ポリシー記憶部２２５は、それぞれ図５（第１の実施形態の変形例）に示す通信部２１０、ポリシー変換規則記憶部１２５、固有ポリシー記憶部１３５、ポリシー変換部１５５、および非固有ポリシー記憶部２２５と同様である。また、検査システム２００が備える仮想ＦＷ作成部２３０、仮想ＦＷ記憶部２４０、ＦＷ検査修正部２７０、および検査修正知識ＤＢ２８０は、それぞれ図６（第２の実施形態）に示す仮想ＦＷ作成部２３０、仮想ＦＷ記憶部２４０、ＦＷ検査修正部２７０、および検査修正知識ＤＢ２８０と同様である。【０１１７】
また、クライアントシステム１００が備えるポリシー抽出部１１０、通信部１４０、および結果出力部１６０は、それぞれ図５（第１の実施形態の変形例）に示すポリシー抽出部１１０、通信部１４０、および結果出力部１６０と同様である。クライアントシステム１００が備えるポリシー適用部１７５は、図６に示すポリシー適用部１７０と同様であるが、非固有ポリシーから固有ポリシーへの変換は行わない。ＦＷ検査修正部２７０によって修正された非固有ポリシーがポリシー変換部１５５によって固有ポリシーに変換され、クライアントシステム１００がその固有ポリシーを受信すると、ポリシー適用部１７５は、その固有ポリシーをファイアウォール３００に設定する。【０１１８】
図８に示すファイアウォール検査システムは、以下のように動作する。ポリシー抽出部１１０はファイアウォール３００から設定情報を抽出し、設定情報に含まれているファイアウォールポリシー（固有ポリシー）、およびファイアウォール３００の種類やバージョンの情報を通信部１４０に送る。通信部１４０は、固有ポリシー、ファイアウォール３００の種類およびバージョンの情報を検査システム２００に送信する。【０１１９】
検査システム２００の通信部２１０は、クライアントシステム１００から受信した固有ポリシー、ファイアウォール３００の種類およびバージョンの情報を、固有ポリシー記憶部１３５に記憶させる。この他、固有ポリシーの受信時刻等も固有ポリシー記憶部１３５に記憶させてもよい。また、通信部２１０は、各固有ポリシーを識別するための番号等を固有ポリシーに付して固有ポリシー記憶部１３５に記憶させてもよい。【０１２０】
通信部２１０によって固有ポリシー記憶部１３５に固有ポリシーが記憶された後、ポリシー変換部１５５は、その固有ポリシーとともに記憶されたファイアーウォールの種類やバージョンに応じたポリシー変換規則をポリシー変換規則記憶部１２５から読み込む。そして、そのポリシー変換規則に基づいて、固有ポリシー記憶部１３５に記憶された固有ポリシーを非固有ポリシーに変換して非固有ポリシー記憶部２２５に記憶させる。なお、各固有ポリシーを識別するために付加された情報（番号等）は、変換後の非固有ポリシーにもそのまま付加される。【０１２１】
非固有ポリシー記憶部２２５に非固有ポリシーが記憶された後、仮想ＦＷ作成部２３０は仮想ＦＷ５００を作成し、ＦＷ検査修正部２７０はステップ１００６と同様に検査を実行する。さらに、ＦＷ検査修正部２７０はステップ１００６ａと同様に非固有ポリシーを修正する。ＦＷ検査修正部２７０は、修正結果を非固有ポリシー記憶部２２５に記憶させる。【０１２２】
ポリシー変換部１５５は、非固有ポリシーの修正後に、非固有ポリシーに付加されている各固有ポリシー識別のための情報からファイアウォールの種類やバージョンを特定し、さらにその種類やバージョンに応じたポリシー変換規則を読み込む。そして、非固有ポリシー記憶部２２５に記憶されている非固有ポリシーを固有ポリシーに変換する。非固有ポリシーに含まれるルールに攻撃名称が付加されている場合、その攻撃名称は変換時にそのまま残しておく。【０１２３】
検査システム２００の通信部２１０は、非固有ポリシーから変換された固有ポリシーを修正結果としてクライアントシステム１００に送信する。固有ポリシーに含まれるルールに攻撃名称が付加されている場合、その攻撃名称も固有ポリシーとともに送信する。【０１２４】
クライアントシステム１００の通信部１４０は、検査システム２００から修正結果を受信すると、その修正結果を結果出力部１６０に出力させる。また、通信部１４０は、修正結果をポリシー適用部１７５に渡し、ポリシー適用部１７５は、修正結果に含まれている固有ポリシーをファイアウォール３００に適用する。【０１２５】
クライアントシステム１００の通信部１４０は、入力デバイス（図示せず）を介して、ファイアウォールポリシーを再適用する指示が入力されると、その指示を検査システム２００に送信する。このとき、ファイアウォール３００の種類やバージョンの情報も入力され、その種類やバージョンの情報も送信してもよい。検査システム２００の通信部２１０は、クライアントシステム１００から指示を受信すると、ポリシー変換部１５５に、修正後の非固有ポリシーを固有ポリシーに変換させる。そして、通信部２１０は、その固有ポリシーをクライアント装置１００に送信する。クライアントシステム１００の通信部１４０は、固有ポリシーを受信するとポリシー適用部１７５に渡し、ポリシー適用部１７５は、固有ポリシーをファイアウォール３００に再適用する。【０１２６】
また、修正前の非固有ポリシーに基づいてファイアウォールポリシーの再適用を行ってもよい。この場合、検査システム２００の通信部２１０は、クライアントシステム１００から、ファイアウォールポリシーを再適用する指示およびファイアウォール３００の種類やバージョンの情報を受信すると、ポリシー変換部１５５に、その種類やバージョンの情報に応じたポリシー変換規則を読み込ませる。ポリシー変換部１５５は、そのポリシー変換規則を用いて、非固有ポリシー記憶部２２５に記憶されている修正前の非固有ポリシーを固有ポリシーに変換する。そして、通信部２１０は、その固有ポリシーをクライアント装置１００に送信する。固有ポリシーを受信したクライアントシステム１００は、既に説明したように、その固有ポリシーをファイアウォール３００に再設定する。修正前の非固有ポリシーに基づいてファイアウォールポリシーの再適用を行う場合、ＦＷ検査修正部２７０は、修正結果を非固有ポリシー記憶部２２５に記憶させなくてよい。【０１２７】
本変形例では、ポリシー抽出手段はポリシー抽出部１１０に相当する。変換手段および逆変換手段はポリシー変換部１５５に相当する。検査修正知識記憶手段は検査修正知識ＤＢ２８０に相当する。判定処理実行手段は検査システム２００のＣＰＵ（図示せず）に相当する。仮想ファイアウォール生成手段は仮想ＦＷ生成部２３０に相当する。検査手段、検査結果生成手段、および修正手段はＦＷ検査修正部２７０に相当する。結果出力手段は結果出力部１６０に相当する。ポリシー適用手段はポリシー適用部１７５に相当する。非固有ポリシー記憶手段は非固有ポリシー記憶部２２５に相当する。指示入力手段はクライアントシステム１００が備える入力デバイス（図示せず）に相当する。ポリシー受信手段および修正後ポリシー送信手段は、検査システム２００の通信部２１０に相当する。【０１２８】
本変形例では、固有ポリシー、ファイアウォール３００の種類やバージョンの情報がサービス提供企業に知られることになるという点以外は、第２の実施形態と同様の効果が得られる。【０１２９】
また、検査システム２００をクライアントシステム１００と結合させて、クライアント企業ネットワーク１０に設置してもよい。このような構成の場合、検査システム２００の動作がクライアント企業に知られることがないようにするため、ポリシー記憶部２２０、仮想ＦＷ記憶部２４０および検査修正知識ＤＢ２８０に各種データを記憶させるときには、データを暗号化して記憶させる。そして、ポリシー記憶部２２０、仮想ＦＷ記憶部２４０および検査修正知識ＤＢ２８０に記憶されたデータを利用するときに、そのデータを復号して処理を行えばよい。また、検査修正知識ＤＢ２８０に検査修正知識を追加する場合には、検査修正知識がクライアント企業に知られないように追加処理を行う。例えば、サービス提供企業の端末装置（図示せず）から検査システム２００に暗号化した検査修正知識を送信する。検査システム２００の通信部２１０は、その検査修正知識を受信した場合、暗号化した状態のまま検査修正知識ＤＢ２８０に検査修正知識を追加記憶させる。【０１３０】
第１の具体例
第１の実施形態の具体例を示す。ここでは、図２に示すクライアントシステム１００と検査システム２００とを備えたファイアウォール検査システムを例にして説明する。ファイアウォール検査サービスを提供するサービス提供企業は、検査サービスを受けるクライアント企業にクライアントシステム１００を販売する。また、クライアント企業はサービス提供企業にサービス対価を支払う。クライアント企業はクライアント企業ネットワーク１０（図１参照）の中のファイアウォール３００にアクセス可能なネットワークセグメントにクライアントシステム１００を設置する。【０１３１】
クライアントシステム１００のポリシー抽出部１１０は、クライアント企業ネットワーク１０のファイアウォール３００から設定情報を抽出する（図４に示すステップ１００１）。ポリシー抽出部１１０は、例えば、定期的に設定情報を抽出する。あるいは、クライアント企業のオペレータから設定情報の抽出指示が入力されたときに設定情報を抽出してもよい。また、ポリシー抽出部１１０は、クライアント企業とサービス提供企業との契約で定めたタイミイングで設定情報抽出処理を開始するように予め設定され、そのタイミングになったときに設定情報の抽出処理を開始してもよい。【０１３２】
続いて、ポリシー抽出部１１０は、設定情報に含まれる固有ポリシーを非固有ポリシーに変換する（図４に示すステップ１００２）。固有ポリシーの例を図９（ａ）に示し、図９（ａ）に示す固有ポリシーから変換した非固有ポリシーの例を図９（ｂ）に示す。【０１３３】
本例では、ファイアウォール３００が、iptables（ソフトウェアの製品名）に従って動作しているものとする。図９（ａ）に例示するiptablesのファイアウォールポリシー（固有ポリシー）は、５つのルールを含んでいる。図９（ａ）の先頭行（第０１行）のルールは、デフォルトルールと呼ばれるルールである。デフォルトルールは、通過させるか否かの判定対象となるパケットがデフォルトルール以外のルールに合致しなかったときにファイアウォールの動作を規定するルールである。図９（ａ）に示すデフォルトルールは、パケットを全て遮断（drop）すると規定している。また、iptablesのファイアウォールポリシーでは、「-p」はｔｃｐやｕｄｐ等のプロトコルの指定する記号であり、指定されるプロトコルが「-p」の次に記述される。「-p」および「-p」に続くプロトコルの記述がない場合には、パケットのプロトコルについては特に限定しないことを意味する。「-s」は送信元アドレスを指定する記号であり、指定される送信元アドレスが「-s」の次に記述される。「-d」は送信先アドレスを指定する記号であり、指定される送信先アドレスが「-d」の次に記述される。「-dport」は送信先ポート番号を指定する記号であり、送信先ポート番号が「-dport」の次に記述される。「-dport」および「-dport」に続く送信先ポート番号の記述がない場合には、送信先ポート番号については特に限定しないことを意味する。「-j」は、プロトコル、送信元アドレス、送信先アドレス、送信先ポート番号等が指定したものに合致したパケットに対するアクション（通過させるか遮断するか）を指定する記号である。通過させる場合には、「-j」の次に「accept」が記述される。遮断する場合には、「-j」の次に「drop」が記述される。例えば、図９（ａ）に示す第０２行のルールは、プロトコルは限定せず、送信元アドレスが0/0 、すなわち任意のＩＰアドレス空間であり、送信先アドレスが192.168.1.1 であり、送信先ポート番号が「５３（名前解決サービスが割り当てられているポート番号）」であるパケットは通過（accept）させるというルールである。第０３行以降のルールも同様に、パケットを通過させる条件を定めている。【０１３４】
ポリシー抽出部１１０は、ファイアウォール３００の種類やバージョンの情報に対応するポリシー変換規則をポリシー変換規則記憶部１２０から読み込む。そして、そのポリシー変換規則を参照して、図９（ａ）に例示する固有ポリシーを図９（ｂ）に例示する非固有ポリシーに変換する。なお、ファイアウォール３００の種類やバージョンの情報は、例えば、設定情報に含まれている。【０１３５】
本具体例では、非固有ポリシーにおいてデフォルトルールは最終行に記述されるものとする。従って、図９（ａ）の第０１行のデフォルトルールは、図９（ｂ）に示す非固有ポリシーでは最終行（第０５行）に記述されている。非固有ポリシーに含まれる各ルールは、（ＳＡ１、ＳＡ２、ＳＰ１、ＳＰ２、ＤＡ１、ＤＡ２、ＤＰ１、ＤＰ２、Ｐ１、Ｐ２、Ａ）という形式で記述される。この形式において「ＳＡ１」は、送信元アドレスの開始アドレスを示す。「ＳＡ２」は、送信元アドレスの終了アドレスを示す。「ＳＰ１」は、送信元ポート番号の開始ポート番号を示す。「ＳＰ２」は、送信元ポート番号の終了ポート番号を示す。「ＤＡ１」は、送信先アドレスの開始アドレスを示す。「ＤＡ２」は、送信先アドレスの終了アドレスを示す。「ＤＰ１」は、送信先ポート番号の開始ポート番号を示す。「ＤＰ２」は、送信先ポート番号の終了ポート番号を示す。「Ｐ１」はプロトコルの開始ナンバーを示し、「Ｐ２」はプロトコルの終了ナンバーを示す。ここで、プロトコルの番号「１」はＴＣＰを表し、「２」はＵＤＰを表すものとする。従って、Ｐ１が「１」であり、Ｐ２が「２」である場合、プロトコルとしてＴＣＰおよびＵＤＰを示していることになる。「Ａ」はパケットに対するアクションを示し、「Ａ」としてallow （通過させる）またはdeny（遮断する）のいずれかが記述される。なお、図９（ａ）に示す各ルールでは、送信元ポート番号が指定されていないので、非固有ポリシーでは、ＳＰ１を「１」とし、ＳＰ２を「６５５３５」として、送信元ポート番号の取りうる値全てを指定している。【０１３６】
ポリシー抽出部１１０は、固有ポリシーから変換した非固有ポリシーをポリシー記憶部１３０に記憶させる。図１０は、クライアントシステム１００のポリシー記憶部１３０が記憶する情報の例を示す説明図である。図１０に示すように、ポリシー抽出部１１０は、非固有ポリシーとともに、付帯情報１３１として、非固有ポリシーを記憶させた日時、ファイアウォールの種類およびバージョンもポリシー記憶部１３０に記憶させる。図１０に示す例では、ファイアウォールの種類としてソフトウェアの種類を記憶させていて、具体的には「iptables」という製品名を記憶させている。また、バージョンとして「1.13.9」という情報を記憶させている。【０１３７】
次にクライアントシステム１００の通信部１４０は、ポリシー記憶部１３０から非固有ポリシーを読み込んで、検査システム２００に送信する（図４に示すステップ１００３）。ここで通信部１４０は、ポリシー記憶部１３０に記憶された非固有ポリシーと付帯情報１３１のうち、非固有ポリシーを送信する。通信部１４０は、付帯情報１３１そのものは送信せず、非固有ポリシーを送信する度に連番となる番号を非固有ポリシーに付加して送信する。そして、その番号とファイアウォール３００の種類やバージョン情報とを対応付けて、例えば、ポリシー記憶部１３０に記憶させる。また、通信部１４０は、クライアント企業を識別するためのＩＤ（以下、ユーザＩＤと記す。）も、非固有ポリシーとともに送信する。ユーザＩＤは、例えば、キーボート等の入力デバイス（図示せず）を介してオペレータから予め入力され、クライアントシステム１００が備える記憶装置（図示せず）に記憶させておけばよい。【０１３８】
検査システム２００の通信部２１０は、クライアントシステム１００から非固有ポリシーおよびユーザＩＤを受信し、受信した非固有ポリシーおよびユーザＩＤをポリシー記憶部２２０に記憶させる（図４に示すステップ１００４）。図１１は、検査システム２００のポリシー記憶部２２０が記憶する情報の例を示す説明図である。図１１に示す例では、ポリシー記憶手段２２０は、ユーザＩＤである「NEC KL」、非固有ポリシー、および非固有ポリシーを記憶した日時の情報をデータ２２１として記憶している。同様に、ユーザＩＤが「AAA 」であるクライアント企業から受信した情報もデータ２２２として記憶している。【０１３９】
次に、検査システム２００の仮想ＦＷ作成部２３０は、ポリシー記憶部２２０に記録されている非固有ポリシーを用いて仮想ＦＷを作成し、仮想ＦＷ記憶部２４０に記憶させる（図４に示すステップ１００５）。仮想ＦＷ作成部２３０は、非固有ポリシー１つにつき１つの仮想ＦＷを作成する。非固有ポリシーが複数ある場合、すなわちクライアント企業が複数存在し各クライアント企業から受信した各非固有ポリシーがそれぞれポリシー記憶部２２０に記憶されている場合、仮想ＦＷ作成部２３０は、非固有ポリシー毎に別々に仮想ＦＷを作成する。なお、仮想ＦＷは、ＦＷ実行命令５２０（図３参照）に非固有ポリシー５１０（図３参照）を付加することにより作成される。ＦＷ実行命令５２０の部分は、各仮想ＦＷにおいて共通である。サービス提供企業が検査サービスを提供するクライアント企業は複数あるため、あるクライアント企業の非固有ポリシーが別のクライアント企業に流出しないように、ユーザＩＤ等を用いて管理する。各クライアント企業毎に、検査を実施する動作の詳細については後述する。【０１４０】
ＦＷ検査部２５０は、仮想ＦＷ５００（図３参照）を起動し、クライアント企業のファイアウォール３００の検査を行う（図４に示すステップ１００６）。【０１４１】
検査処理の説明の前にまず、検査知識ＤＢ２６０が記憶する検査知識の例について説明する。図１２は、検査知識ＤＢ２６０が記憶する検査知識の例を示す説明図である。図１２に例示する各検査知識２６１，２６２は、それぞれ、「攻撃ＩＤ」、「説明」、「パケット」、「補足」という情報を含んでいる。「攻撃ＩＤ」は、検査知識を一意に同定するためのＩＤである。「説明」は、攻撃の名称を示している。「パケット」は、検査パケットである。「補足」は、攻撃により感染する装置等を示す補足的事項である。ただし、検査知識に「攻撃ＩＤ」や「補足」が含まれていなくてもよく、検査知識の本質は、攻撃そのものを表すデータ、あるいは、攻撃の属性を表すデータ（すなわち検査パケット）である。【０１４２】
検査知識に含まれるパケット（検査パケット）は、非固有ポリシーに含まれるルールとほぼ同様の形式で記述され、（ＳＡ１、ＳＡ２、ＳＰ１、ＳＰ２、ＤＡ１、ＤＡ２、ＤＰ１、ＤＰ２、Ｐ１、Ｐ２、Ｃ）という形式で記述される。最後の「Ｃ」以外の要素の意味は、非固有ポリシーに含まれるルールの要素と同じである。「Ｃ」は、検査パケットのペイロード（中身）に該当し、具体的には攻撃コードである。「Ｃ」として、任意を表す「* 」が記述されていてもよい。あるいは、攻撃コードが記述されていてもよい。図１２に示す例では、攻撃コードそのものではなく「* 」が記述され、攻撃コードを限定していない場合を示している。また、図１２に示す例では、「ＳＡ１（送信元アドレスの開始アドレス）」、「ＳＡ２（送信元アドレスの終了アドレス）」、「ＤＡ１（送信先アドレスの開始アドレス）」、「ＤＡ２（送信先アドレスの終了アドレス）」としても、任意を表す「* 」が記述されている。【０１４３】
検査パケットにおける「Ｃ」以外の部分は、検査パケットの属性（攻撃の属性）を表す部分である。【０１４４】
図１３は、仮想ＦＷ５００に従って動作する検査システム２００のＣＰＵ（図示せず）によるパケットを通過させるか否かの判定処理を示すフローチャートである。ＦＷ検査部２５０は、検査知識ＤＢ２６０から、検査パケットを読み込む。ＦＷ検査部２５０は、検査パケットを、仮想ＦＷ５００に従うＣＰＵ（図示せず）に渡す。ＣＰＵは、検査パケットを受け取る（ステップ１０５１）。例えば、ＦＷ検査部２５０がＲＡＭ（図示せず）に検査パケットを書き込み、ＣＰＵがその検査パケットを読み込む。【０１４５】
続いて、ＣＰＵは、検査パケットの属性（ペイロードに該当する「Ｃ」以外の部分）を取り出す（ステップ１０５２）。すなわち、検査パケット中の送信元アドレスの範囲、送信元ポート番号の範囲、送信先アドレスの範囲、送信先ポート番号の範囲、およびプロトコルの範囲を示す部分を取り出す。そして、ＣＰＵは、仮想ＦＷ５００に含まれる非固有ポリシー５１０（図３参照）からルールを一つ取り出す（ステップ１０５３）。ＣＰＵは、
ステップ１０５３に移行するたびにルールを一つ取り出す。このときＣＰＵは、非固有ポリシー５１０の先頭のルールから順番に取り出す。従って、最初にステップ１０５３に移行したときには、先頭のルールを取り出す。ステップ１０５３の後、ＣＰＵは、ルールの取り出しに成功したか否かを判定し（ステップ１０５４）、失敗した場合（ルールを取り出せなかった場合）には、パケットを通過させるか否かの判定処理を終了する。【０１４６】
ルールの取り出しに成功した場合、ＣＰＵは、ステップ１０５２で取り出した検査パケットの属性が、ステップ１０５３で取り出したルールに合致するか否かを判定する（ステップ１０５５）。合致しない場合には、ステップ１０５３に移行し、ステップ１０５３以降の動作を繰り返す。検査パケットの属性が、取り出したルールに合致する場合には、ＣＰＵは、そのルールからアクション（非固有ポリシーのルールにおける最後の要素「Ａ」）を取り出す（ステップ１０５６）。そして、ＣＰＵは、そのアクションが「allow」であるか否かを判定する（ステップ１０５７）。ＣＰＵは、アクションが「allow」である場合には、取り出したルールによって検査パケットが通過させる旨の結果と、その結果を導いたルール（すなわち検査パケットの属性に合致したルール）をＦＷ検査部２５０に渡す（ステップ１０５８）。また、ＣＰＵは、アクションが「deny」である場合には、取り出したルールによって検査パケットを遮断する旨の結果と、その結果を導いたルールをＦＷ検査部２５０に渡す（ステップ１０５９）。ステップ１０５８またはステップ１０５９を実行することにより、一つの検査パケットについての判定処理を終了する。【０１４７】
ＦＷ検査部２５０は、検査知識ＤＢ２６０から検査知識を順に取り出し、検査知識に含まれている検査パケットを仮想ＦＷ５００に従って動作するＣＰＵに渡す。そして、仮想ＦＷ５００に従って動作するＣＰＵから、検査パケットを通過させる旨の結果あるいは検査パケットを遮断する旨の結果、およびその結果を導いたルールを受け取る。ＦＷ検査部２５０は、検査パケットを通過させる旨の結果およびその結果を導いたルールを受け取った場合、その検査パケットに対応する攻撃の名称（例えば、図１２に例示する「Code Red」等）を、ルールポリシー記憶部２２０が記憶している非固有ポリシー内におけるそのルールに対して追加記述する。【０１４８】
非固有ポリシーに攻撃名称を付加することにより検査結果を作成するまでの具体例を以下に示す。ここでは、ステップ１００５で作成された仮想ＦＷ５００に、図１４に例示する非固有ポリシー５１０が含まれているとする。図１４に示す非固有ポリシー５１０は、５つのルール５１０ａ〜５１０ｅを含んでいる。【０１４９】
ＦＷ検査部２５０は検査知識ＤＢ２６０から検査知識を順に取り出す。ここではまず攻撃ＩＤが「2001-00255」の検査知識２６１（図１２参照）を取り出したとする。ＦＷ検査手段２５０は、検査知識２６１に含まれる検査パケットを、仮想ＦＷ５００に従って動作するＣＰＵに渡す。ＣＰＵは、その検査パケットを読み込み（ステップ１０５１）、検査パケットの属性を取り出す（ステップ１０５２）。ＣＰＵは、検査パケットの属性として、送信元アドレスの範囲（ＳＡ１とＳＡ２）、送信元ポート番号の範囲（ＳＰ１とＳＰ２）、送信先アドレスの範囲（ＤＡ１とＤＡ２）、送信先ポート番号の範囲（ＤＰ１とＤＰ２）、プロトコルの範囲（Ｐ１とＰ２）を取り出す。【０１５０】
続いてＣＰＵは、仮想ＦＷに含まれる非固有ポリシー５１０から一つのルールを取り出す（ステップ１０５３）。最初にステップ１０５３に移行したときには、先頭のルール５１０ａ（図１４参照）を取り出す。次のステップ１０５４ではルールの取り出しに成功したと判定し、検査パケットの属性が、取り出したルール５１０ａに合致するか否かを判定する（ステップ１０５５）。ステップ１０５５では、ルールの属性である送信元アドレスの範囲（ＳＡ１とＳＡ２）、送信元ポート番号の範囲（ＳＰ１とＳＰ２）、送信先アドレスの範囲（ＤＡ１とＤＡ２）、送信先ポート番号の範囲（ＤＰ１とＤＰ２）、プロトコルの範囲（Ｐ１とＰ２）の各範囲の中に検査パケットの属性がそれぞれ収まっているか否かにより判定する。ルールの属性の各範囲の中に検査パケットの属性がそれぞれ収まっていれば合致すると判定し、収まっていなければ合致しないと判定する。また、ＣＰＵは、「* 」と記述された属性は、任意の範囲に収まると判定する。検査知識２６１の検査パケットの属性（図１２参照）と、ルール５１０ａの属性（図１４参照）とを比較すると、検査パケットにおける送信元アドレスの範囲、送信元ポート番号の範囲、送信先アドレスの範囲は、それぞれルール５１０ａに記述された範囲に収まっている。また、検査パケットで指定されたプロトコルは「１（ＴＣＰを表す。）」であり、ルール５１０ａで指定されたプロトコルは、「１」および「２（ＵＤＰを表す。）」である。従って、プロトコルも、ルール５１０ａに記述された範囲に収まっている。しかし、検査パケットで指定された送信先ポート番号の範囲が「８０〜８０」であるのに対し、ルール５１０ａで指定された送信先ポート番号の範囲は「５３〜５３」である。よって、検査パケットで指定された送信先ポート番号の範囲は、ルール５１０ａで指定された範囲に収まっていない。このため、検査知識２６１の検査パケットとルール５１０ａとは合致しないと判定し、ステップ１０５３に移行する。ステップ１０５３に移行する度に、順番に一つずつルールを取り出し、ステップ１０５３以降の処理を繰り返す。【０１５１】
本例では、ステップ１０５３で図１４に示す３番目のルール５１０ｃを取り出したときに、検査パケットの属性がルール５１０ｃに合致すると判定することになる。すると、ステップ１０５６に移行し、ＣＰＵはルール５１０ｃのアクションを取り出す（ステップ１０５６）。ルール５１０ｃのアクションは「allow 」であるので（図１４参照）、ステップ１０５７の判定処理では「Ｙｅｓ」と判定され、ステップ１０５８に移行する。すなわち、ＣＰＵは、ＦＷ検査部２５０から渡された検査パケットはルール５１０ｃによって通過となる旨の情報をＦＷ検査部２５０に渡す。【０１５２】
同様に、ＦＷ検査部２５０から検査知識２６２の検査パケット（図１２参照）が渡された場合、仮想ＦＷに従って動作するＣＰＵは、その検査パケットはルール５４０ｄ（図１４参照）によって通過となる旨の情報をＦＷ検査部２５０に渡す。【０１５３】
検査知識ＤＢ２６０の検査知識の検査パケットの属性は、デフォルトルール（非固有ポリシーにおける最後のルール、図１４に示す例ではルール５１０ｅ）に必ず合致する。従って、ＦＷ検査部２５０から渡される全ての検査パケットについて、通過または遮断の結果が得られる。なお、図１３に示すフローチャートにおいて、ステップ１０４で「Ｎｏ」と判定された場合には通過または遮断の結果を出力することなく処理を終了するが、この終了態様は、非固有ポリシー５１０内にルールが一つもないという検査不能な（異常な）場合に生じる。【０１５４】
ＦＷ検査部２５０は、通過または遮断の判定結果およびその判定結果を導いたルールの情報を得ると、ポリシー記憶部２２０から非固有ポリシーを読み込む。そして、ＦＷ検査部２５０は、その非固有ポリシーに含まれるルールのうち、検査パケットを通過させるという判定結果を導いたルールに、検査パケットに対応する攻撃の名称を付加する。本例では、非固有ポリシーに攻撃の名称を付加したものが検査結果となる。検査結果の例を図１５に示す。既に示したように、３番目のルールによって、検査知識２６１（図１２参照）の検査パケットを通過することになり、４番目のルールによって、検査知識２６２の検査パケットを通過させることになる。従って、図１５に示すように、ＦＷ検査部２５０は、検査知識２６１に含まれる攻撃の名称「Code Red」を３番目のルールに付加する。同様に、検査知識２６２に含まれる攻撃の名称「SQL Slammer 」を４番目のルールに付加する。図１５に示す例では文字列「Alert」とともに攻撃の名称を付加している。この結果、図１５に示す検査結果は、３番目のルールが検査知識２６１の攻撃（Code Red）を通過させてしまう可能性があり、４番目のルールが検査知識２６２の攻撃（SQL
Slammer ）を通過させてしまう可能性があることを表す。【０１５５】
ＦＷ検査部２５０は、この検査結果を通信部２１０に送る。検査システム２００の通信部２１０はＦＷ検査部２５０から送られた検査結果をクライアントシステム１００に送信する（図４に示すステップ１００７）。【０１５６】
クライアントシステム１００の通信部１４０は、検査システム２００から送られた検査結果を受信し、検査結果をポリシー逆変換部１５０に送る。ここでは通信部１４０が検査結果を直接ポリシー逆変換部１５０に送るとしているが、通信部１４０が検査結果をポリシー記憶部１３０に記憶させ、ポリシー逆変換部１５０がポリシー記憶部１３０から検査結果を読み込んでもよい。【０１５７】
また、図１５では図示を省略しているが、検査結果には、クライアントシステム１００の通信部１４０が非固有ポリシー送信時（ステップ１００３）で付加した番号がそのまま付加されている。ポリシー逆変換部１５０は、その番号に基づいてファイアウォール３００の種類やバージョン情報を特定し、その種類やバージョンに応じたポリシー変換規則をポリシー変換規則記憶部１２０から読み込む。ポリシー逆変換部１５０は、その変換規則に基づいて、検査システム２００から受信した検査結果に含まれる非固有ポリシーを固有ポリシーに変換する。このとき、検査結果に含まれている攻撃の名称はそのまま残す。この結果、図１６に示すように、ルールに攻撃の名称が付加された固有ポリシーが得られる。ポリシー逆変換部１５０は、ルールに攻撃の名称が付加された固有ポリシーを結果出力部１６０に出力（例えば表示出力）させる（図４に示すステップ１００８）。この結果、どのルールがどの攻撃を通過させてしまうのかをクライアント企業に提示することができる。【０１５８】
クライアント企業のクライアントシステム１００の利用者は出力された結果を参考にファイアウォール３００のファイアウォールポリシーを修正する。 【０１５９】
以上の具体例では、クライアントシステム１００の通信部１４０と検査システム２００の通信部２１０とが相互に通信する非固有ポリシーや検査結果はインターネット４００上を平文で送受信されるものとしていた。クライアントシステム１００の通信部１４０が非固有ポリシーを暗号化して送信し、検査システム２００の通信部２１０が受信した非固有ポリシーを復号する構成でもよい。同様に、検査システム２００の通信部２１０が検査結果を暗号化して送信し、クライアントシステム１００の通信部１４０が受信した検査結果を復号する構成でもよい。このような構成により、送受信する非固有ポリシーや検査結果の秘匿性を高めることができる。【０１６０】
次に、クライアント企業が複数存在する場合に、クライアント企業毎に検査を実施する動作について説明する。図１７は、クライアント企業毎に仮想ＦＷを作成し検査を実施する状況を示す説明図である。検査システム２００の通信部２１０は、例えば、クライアントシステム１００から検査要求を受け、検査要求を受ける旨の回答をクライアントシステム１００に送信した後、クライアントシステム１００から非固有ポリシーおよびユーザＩＤ（本例では「NEC KL」とする。）を受信する。なお、ユーザＩＤは、非固有ポリシーと同時に受信しなくてもよい。例えば、検査要求を受けるときに、クライアントシステム１００に対する認証を行い、その認証時にユーザＩＤを受信し、その後に非固有ポリシーを受信してもよい。【０１６１】
通信部２１０は、受信した非固有ポリシーとユーザＩＤとを対応付けてポリシー記憶部２２０に記憶させる。例えば、図１１に例示するデータ２２１のように記憶させる。仮想ＦＷ作成部２３０は、ポリシー記憶部２２０から非固有ポリシーとユーザＩＤを読み込み、非固有ポリシーを用いて仮想ＦＷ５００を作成する。このとき、仮想ＦＷ５００のファイル名にユーザＩＤを用いる。例えば、「NEC KL.vf 」というファイル名の仮想ＦＷ５００を作成し、仮想ＦＷ記憶部２４０に記憶させる。ＦＷ検査部２５０は、「NEC KL.vf 」というファイル名の仮想ＦＷ５００を起動させ、検査を行う。この結果、「NEC KL」というユーザＩＤを持つクライアント企業のファイアウォールの検査が実行される。このように、クライアント企業のユーザＩＤ毎に仮想ＦＷ５００を作成することで、非固有ポリシーが他のクライアント企業に流出することを防止できる。なお、ここでは、仮想ＦＷ５００のファイル名にユーザＩＤを用いる場合を示したが、ファイル名にユーザＩＤを用いなくてもよい。各仮想ＦＷ５００を識別可能なファイル名を各仮想ＦＷ５００に付与し、各ファイル名とユーザＩＤとを対応付けて記憶することにより、各仮想ＦＷのファイルがどのクライアント企業の仮想ＦＷであるのかを認識可能な構成としてもよい。【０１６２】
第２の具体例
第２の実施形態の具体例を示す。ここでは、図６に示すクライアントシステム１００と検査システム２００とを備えたファイアウォール検査システムを例にして説明する。ＦＷ検査修正部２７０が、検査を実行するまでの動作（図７に示すステップ１００１〜ステップ１００６までの動作）は、第１の具体例と同様であるので省略する。【０１６３】
ＦＷ検査修正部２７０による非固有ポリシーの修正処理の説明の前に、検査修正知識ＤＢ２８０が記憶する検査修正知識の例について説明する。図１８は、検査修正知識ＤＢ２８０が記憶する検査修正知識の例を示す説明図である。図１８に例示する各検査修正知識２８１，２８２は、それぞれ、「攻撃ＩＤ」、「説明」、「パケット」、「修正方針」、「補足」という情報を含んでいる。「攻撃ＩＤ」、「説明」、「パケット」、および「補足」は、それぞれ第１の具体例で示した検査知識（図１２参照）に含まれる情報と同様の情報である。「修正方針」は、検査パケットを通過させてしまうルールに対する修正方針情報である。検査修正知識には、修正方針として「なし」という情報が含まれていてもよい（図１８に示す検査修正２８１参照）。【０１６４】
「なし」以外の修正方針情報は、第１の具体例で示した非固有ポリシーに含まれるルールと同じ形式で記述される。すなわち、修正方針は、（ＳＡ１、ＳＡ２、ＳＰ１、ＳＰ２、ＤＡ１、ＤＡ２、ＤＰ１、ＤＰ２、Ｐ１、Ｐ２、Ａ）という形式で記述される。ＳＡ１からＡまでの各要素の意味は、第１の具体例で説明した通りである。検査パケットを通過させてしまうルールからその検査パケットを遮断する新たなルールを作成するための修正方針では、「Ａ（アクション）」として「deny」が記述される。また、修正方針情報に含まれる一部の要素は、例えば「* 」と記述され、具体的に特定されていない。【０１６５】
このような検査修正知識を用いて、ＦＷ検査修正部２７０は、検査後（ステップ１００６後）の非固有ポリシーを修正する（図７に示すステップ１００６ａ）。図１９は、非固有ポリシーの修正処理（ステップ１００６ａ）を示すフローチャートである。以下、ステップ１００６の検査により図１５に示す検査結果が得られた場合を例にして、検査結果に含まれる非固有ポリシーの修正処理を説明する。【０１６６】
ＦＷ検査修正部２７０は、まずステップ１００６の検査結果から攻撃（検査パケット）を通過させると判定されたルールを一つ取り出す（ステップ１０７１）。ＦＷ検査修正部２７０は、ステップ１０７１において、攻撃名称が付加されているルールを取り出せばよい。本例では、最初にステップ１０７１に移行したときに、図１５に示す第０３行のルールを取り出す。続いて、ＦＷ検査修正部２７０は、ルールの取り出しに成功したか否かを判定する（ステップ１０７２）。攻撃を通過させると判定されたルールが全て取り出し済みであり、取り出すべきルールが存在しなかった場合には、ルールの取り出しに失敗したと判定し、処理を終了する。【０１６７】
攻撃を通過させると判定されたルールの取り出しに成功したと判定した場合には、ステップ１０７３に移行する。ＦＷ検査修正部２７０は、ステップ１０７３において、攻撃を通過させると判定されたルールに付加された攻撃名称に対応する修正方針情報を検査修正知識ＤＢ２８０から読み込む（ステップ１０７３）。図１５に示す第０３行のルールには、「Code Red」という攻撃名称が付加されているので、この攻撃名称に対応する修正方針情報（図１８に示す検査修正知識２８１に含まれる修正方針情報）を読み込む。【０１６８】
続いて、ＦＷ検査修正部２７０は、読み込んだ修正方針情報が「なし」となっているかどうかを判定する（ステップ１０７４）。修正方針情報が「なし」となっていなければ、ステップ１０７５に移行する。修正方針情報が「なし」でなければ、ステップ１０７１に移行し、ステップ１０７１以降の動作を繰り返す。本例では、検査修正知識２８１に含まれる修正方針情報が「なし」であるので、ステップ１０７１に移行する。なお、ステップ１０７５以降の処理については後述する。【０１６９】
ステップ１０７１に以降した場合、ＦＷ検査修正部２７０は、図１５に示す第０４行のルールを取り出す。ルールの取り出しに成功したので（ステップ１０７２のＹｅｓ）、ＦＷ検査修正部２７０は、第０４行のルールに付加された「SQL Slammer 」に対応する修正方針情報を読み込む（ステップ１０７３）。ここでは、図１８に示す検査修正知識２８１に含まれる修正方針情報を読み込む。この修正方針情報は「なし」ではないので、ステップ１０７５に移行する。【０１７０】
ステップ１０５では、ＦＷ検査修正部２７０は、修正方針の中で具体的に特定されていない要素（「* 」と記述された要素）を、ステップ１０７１で取り出したルールに記述されている要素で置き換える。検査修正知識２８１に含まれる修正方針情報は、（*,*,1025,65535,*,*,1434,1434,2,2,deny ）であり、「ＳＡ１（送信元アドレスの開始アドレス）」、「ＳＡ２（送信元アドレスの終了アドレス）」、「ＤＡ１（送信先アドレスの開始アドレス）」、および「ＤＡ２（送信先アドレスの終了アドレス）」が特定されていない。従って、本例では、ＦＷ検査修正部２７０は、修正方針情報のＳＡ１，ＳＡ２，ＤＡ１，ＤＡ２を、図１５に示す第０４行のルール（0.0.0.0,255.255.255.255,1,65535,192.168.1.4,192.168.1.4,1,65535,1,2,allow）におけるＳＡ１（0.0.0.0 ），ＳＡ２（255.255.255.255），ＤＡ１（192.168.1.4 ），ＤＡ２（192.168.1.4）に置き換える。この結果、修正方針情報は、（0.0.0.0,255.255.255.255,1025,65535,192.168.1.4,192.168.1.4,1434,1434,2,2,deny）となる。【０１７１】
ＦＷ検査修正部２７０は、特定されていない要素をルールの要素で置き換えた修正方針情報を新たなルールとして、ステップ１０７１で取り出したルールの直前に追加する（ステップ１０７６）。このとき、ＦＷ検査修正部２７０は、ステップ１０７１で取り出したルールに付加されている攻撃名称の情報を削除する。【０１７２】
ステップ１０７６の後、ステップ１０７１に移行し、ステップ１０７１以降の動作を繰り返す。本例では、図１５に示す検査結果において、第０５行以降に、攻撃を通過させると判定されたルールは存在しないので処理を終了する。【０１７３】
以上の処理によって、非固有ポリシーの修正結果が得られる。図２０は、非固有ポリシーの修正結果の例を示す説明図である。図２０に示す非固有ポリシーの修正結果における第０５行は、図１５に示す検査結果における第０４行と同一のルールである。そして、図２０に示す非固有ポリシーの修正結果における第０４行は、攻撃を通過させると判定されたルールと修正方針情報とにより生成された新たなルールである。図２０に示す第０４行の新たなルールは、第０５行の攻撃を通過させると判定されたルールより先に参照されるため、第０４行のルールにより攻撃となるパケットは遮断されることになる。【０１７４】
以上のように非固有ポリシーの修正を終了すると（ステップ１００６ａの処理を終了すると）、ＦＷ検査修正部２７０は、修正した非固有ポリシー（修正結果）を通信部２１０に送る。検査システム２００の通信部２１０はＦＷ検査修正部２７０から送られた修正結果をクライアントシステム１００に送信する（図７に示すステップ１００７）。【０１７５】
クライアントシステム１００の通信部１４０は、検査システム２００から送られた修正結果を受信し、修正結果をポリシー適用部１７０に送る。また、通信部１４０は、受信した修正結果をポリシー記憶部１３０に記憶させる。ポリシー適用部１７０は、ポリシー記憶部１３０から修正結果を読み込んでもよい。【０１７６】
また、図２０では図示を省略しているが、修正結果には、クライアントシステム１００の通信部１４０が非固有ポリシー送信時（ステップ１００３）で付加した番号がそのまま付加されている。ポリシー適用部１７０は、その番号に基づいてファイアウォール３００の種類やバージョン情報を特定し、その種類やバージョンに応じたポリシー変換規則をポリシー変換規則記憶部１２０から読み込む。ポリシー適用部１７０は、その変換規則に基づいて、検査システム２００から受信した修正結果に含まれる非固有ポリシーを固有ポリシーに変換する。このとき、修正結果に攻撃名称が付加されている場合には、攻撃名称をそのまま残す。この結果、非固有ポリシーの修正結果から変換された固有ポリシーが得られる。この固有ポリシーの例を図２１に示す。【０１７７】
ポリシー適用部１７０は、非固有ポリシーの修正結果から変換された固有ポリシーを結果出力部１６０に出力（例えば表示出力）させる。また、同時に、ポリシー適用部１７０は、その固有ポリシーをファイアウォール３００に適用する（図７に示すステップ１００８ａ）。この結果、ファイアウォール３００のファイアウォールポリシーは、攻撃となるパケットを通過させないように変更される。また、検査修正知識ＤＢ２８０が記憶する修正方針情報が「なし」である場合でも、図２１の第０４行のように攻撃名称がルールとともに表示されるので、どのルールがどの攻撃を通過させてしまうのかをクライアント企業に提示することができる。【０１７８】
ここではポリシー適用部１７０が、固有ポリシーの出力とファイアウォール３００への固有ポリシーの適用とを同時に行う場合を示した。ポリシー適用部１７０は、固有ポリシーの出力を先に行い、クライアント企業のオペレータにその固有ポリシーをファイアウォールに適用するか否かの判断を促し、適用する旨の指示が入力デバイス（図示せず）を介して入力されたときに、固有ポリシーをファイアウォール３００に適用してもよい。【０１７９】
以上の具体例では、クライアントシステム１００の通信部１４０と検査システム２００の通信部２１０とが相互に通信する非固有ポリシーや修正結果はインターネット４００上を平文で送受信されるものとしていた。クライアントシステム１００の通信部１４０が非固有ポリシーを暗号化して送信し、検査システム２００の通信部２１０が受信した非固有ポリシーを復号する構成でもよい。同様に、検査システム２００の通信部２１０が修正結果を暗号化して送信し、クライアントシステム１００の通信部１４０が受信した修正結果を復号する構成でもよい。このような構成により、送受信する非固有ポリシーや修正結果の秘匿性を高めることができる。
【図１】
2006049072.tif 000002
【図２】
2006049072.tif 000003
【図３】
2006049072.tif 000004
【図４】
2006049072.tif 000005
【図５】
2006049072.tif 000006
【図６】
2006049072.tif 000007
【図７】
2006049072.tif 000008
【図８】
2006049072.tif 000009
【図９】
2006049072.tif 000010
【図１０】
2006049072.tif 000011
【図１１】
2006049072.tif 000012
【図１２】
2006049072.tif 000013
【図１３】
2006049072.tif 000014
【図１４】
2006049072.tif 000015
【図１５】
2006049072.tif 000016
【図１６】
2006049072.tif 000017
【図１７】
2006049072.tif 000018
【図１８】
2006049072.tif 000019
【図１９】
2006049072.tif 000020
【図２０】
2006049072.tif 000021
【図２１】
2006049072.tif 000022
【国際調査報告】
2006049072.tif 000023
2006049072.tif 000024