【手続補正書】
【提出日】平成27年4月22日(2015.4.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセスに含まれたコードインジェクション基盤スレッドを探知するプロセス検査部と、
ネットワークフィルタリングによって、ネットワークにアクセスするネットワークパケットを探知し、探知された前記ネットワークパケットの通信主体が前記コードインジェクション基盤スレッドである場合は、前記探知されたネットワークパケットのトラフィックが遮断されるようにするネットワーク監視部とを含み、
前記プロセス検査部は、コンピュータ上で実行されているプロセス情報を収集するプロセス情報収集部と、前記プロセス情報収集部で収集されたプロセスに対して、コードインジェクションされた領域を探知するコードインジェクション探知部と、前記コードインジェクションされた領域をベースとして生成されたスレッドを探知するコードインジェクション基盤スレッド探知部とを含むことを特徴とする、ネットワークアクセス制御システム。
【請求項２】
前記プロセス情報収集部は、前記コンピュータ上で実行されているプロセス別にプロセス構造体を収集したことを特徴とする、請求項１に記載のネットワークアクセス制御システム。
【請求項３】
前記コードインジェクション探知部は、前記収集されたプロセスに割り当てられた仮想アドレス空間の仮想アドレス範囲と属性情報を収集する仮想アドレス空間情報収集部と、前記仮想アドレス空間情報収集部で収集された仮想アドレス空間に対してコードインジェクション有無を調査する仮想アドレス空間調査部とを含むことを特徴とする、請求項１に記載のネットワークアクセス制御システム。
【請求項４】
前記仮想アドレス空間情報収集部は、カーネルレベル（Ｋｅｒｎｅｌ  Ｌｅｖｅｌ）でプロセス構造体（ＥＰｒｏｃｅｓｓ）のＶａｄＲｏｏｔメンバーを検査し、前記収集されたプロセスに割り当てられた仮想アドレス空間の仮想アドレス範囲と属性情報を収集することを特徴とする、請求項３に記載のネットワークアクセス制御システム。
【請求項５】
前記仮想アドレス空間情報収集部は、ユーザーレベル（Ｕｓｅｒ  Ｌｅｖｅｌ）でＶｉｒｔｕａｌＱｕｅｒｙＥｘ関数を用いて、前記収集されたプロセスに割り当てられた仮想アドレス空間の仮想アドレス範囲と属性情報を収集することを特徴とする、請求項３に記載のネットワークアクセス制御システム。
【請求項６】
前記仮想アドレス空間調査部は、前記仮想アドレス空間情報収集部で収集された前記仮想アドレス空間の属性情報のうち、メモリタイプがプライベートタイプ（Ｐｒｉｖａｔｅ  ｔｙｐｅ）でありかつプロテクトフラグ値が実行可能（ｅｘｅｃｕｔａｂｌｅ）である場合は、前記仮想アドレス空間をコードインジェクション領域として判断することを特徴とする、請求項３に記載のネットワークアクセス制御システム。
【請求項７】
前記コードインジェクション基盤スレッド探知部は、コンピュータ上で実行されているスレッド情報を収集するスレッド情報収集部と、前記スレッド情報収集部で収集されたスレッドの開始アドレス値と、前記仮想アドレス空間調査部から提供されたコードインジェクションされた仮想アドレス空間の仮想アドレス範囲とを比較して、前記収集されたスレッドの開始アドレス値が前記コードインジェクションされた仮想アドレス空間の仮想アドレス範囲に属する場合は、前記コードインジェクションされた仮想アドレス空間にコードインジェクション基盤スレッドが存在すると判断するアドレス比較部とを含むことを特徴とする、請求項３に記載のネットワークアクセス制御システム。
【請求項８】
前記スレッド情報収集部は、プロセス構造体（ＥＰｒｏｃｅｓｓ）のスレッドリストヘッド（ＴｈｒｅａｄＬｉｓｔＨｅａｄ）を検査し、前記コンピュータ上で実行されているスレッド情報を収集することを特徴とする、請求項７に記載のネットワークアクセス制御システム。
【請求項９】
前記スレッド情報収集部は、ＺｗＱｕｅｒｙＳｙｓｔｅｍＩｎｆｏｒｍａｔｉｏｎ関数を用いて、前記コンピュータ上で実行されているスレッド情報を収集することを特徴とする、請求項７に記載のネットワークアクセス制御システム。
【請求項１０】
前記ネットワーク監視部は、前記ネットワークパケットをフィルタリングするネットワークフィルター部と、前記ネットワークパケットの通信主体のプロセスＩＤおよびスレッドＩＤを基準に前記ネットワークパケットのトラフィックを許可または遮断するネットワーク遮断部とを含むことを特徴とする、請求項１に記載のネットワークアクセス制御システム。
【請求項１１】
前記ネットワークフィルター部は、カーネルレベルでネットワークフィルタードライバーを用いてネットワークフィルタリングすることを特徴とする、請求項１０に記載のネットワークアクセス制御システム。
【請求項１２】
前記ネットワークフィルター部は、ユーザーレベルでプロセスが使用するソケット関数をフッキングしてネットワークフィルタリングすることを特徴とする、請求項１０に記載のネットワークアクセス制御システム。
【請求項１３】
ネットワークアクセス制御システムが、コンピュータで実行されるプロセス情報を収集する第１段階と、
前記ネットワークアクセス制御システムが、収集された前記プロセス情報でコードインジェクションされた領域を探知する第２段階と、
前記ネットワークアクセス制御システムが、前記コードインジェクションされた領域をベースとして生成されたコードインジェクション基盤スレッドを探知する第３段階と、
前記ネットワークアクセス制御システムが、ネットワークフィルタリングしてネットワークにアクセスするネットワークパケットのトラフィックを収集する第４段階と、
前記ネットワークアクセス制御システムが、前記第４段階で探知された前記ネットワークパケットの通信主体が前記コードインジェクション基盤スレッドである場合は、前記探知されたネットワークパケットのトラフィックが遮断されるようにする第５段階とを含んでなることを特徴とする、ネットワークアクセス制御方法。
【請求項１４】
前記第１段階は、前記コンピュータ上で実行されているプロセス別にプロセス構造体を収集することを特徴とする、請求項１３に記載のネットワークアクセス制御方法。
【請求項１５】
前記第２段階は、前記ネットワークアクセス制御システムが、前記収集されたプロセスに割り当てられた仮想アドレス空間に対する情報を収集する第２１段階と、
前記ネットワークアクセス制御システムが、検査対象仮想アドレス空間を選択し、前記検査対象仮想アドレス空間のメモリタイプとプロテクトフラグ値を検査する第２２段階と、前記第２２段階の検査結果、前記検査対象仮想アドレス空間のメモリタイプがプライベートタイプでありかつプロテクトフラグ値が実行可能（ＥＸＥＣＵＴＡＢＬＥ）である場合は、前記検査対象仮想アドレス空間をコードインジェクション領域として判断する第２３段階とを含むことを特徴とする、請求項１３に記載のネットワークアクセス制御方法。
【請求項１６】
前記第２１段階は、カーネルレベル（Ｋｅｒｎｅｌ  Ｌｅｖｅｌ）でプロセス構造体（ＥＰｒｏｃｅｓｓ）のＶａｄＲｏｏｔメンバーを検査し、前記収集されたプロセスに割り当てられた仮想アドレス空間の仮想アドレス範囲と属性情報を収集することを特徴とする、請求項１５に記載のネットワークアクセス制御方法。
【請求項１７】
前記第２１段階は、ユーザーレベル（Ｕｓｅｒ  Ｌｅｖｅｌ）でＶｉｒｔａｌＱｕｅｒｙＥｘ関数を用いて、前記収集されたプロセスに割り当てられた仮想アドレス空間の仮想アドレス範囲と属性情報を収集することを特徴とする、請求項１５に記載のネットワークアクセス制御方法。
【請求項１８】
前記第３段階は、前記ネットワークアクセス制御システムが、前記コンピュータで実行されるスレッド情報を収集する第３１段階と、
前記ネットワークアクセス制御システムが、検査対象スレッドを選択し、前記検査対象スレッドの開始アドレス値が前記コードインジェクションされた仮想アドレス空間の仮想アドレス範囲に属するかを比較する第３２段階と、
前記第３２段階の比較結果、前記検査対象スレッドの開始アドレス値が前記コードインジェクションされた仮想アドレス空間の仮想アドレス範囲に属する場合は、前記コードインジェクションされた仮想アドレス空間にコードインジェクション基盤スレッドが存在すると判断する第３３段階とを含むことを特徴とする、請求項１３に記載のネットワークアクセス制御方法。
【請求項１９】
前記第３３段階後、前記コードインジェクション基盤スレッドのプロセスＩＤおよびスレッドＩＤを遮断スレッドリストに含むことを特徴とする、請求項１８に記載のネットワークアクセス制御方法。
【請求項２０】
前記第３１段階は、プロセス構造体（ＥＰｒｏｃｅｓｓ）のスレッドリストヘッド（ＴｈｒｅａｄＬｉｓｔＨｅａｄ）を検査し、前記コンピュータ上で実行されているスレッド情報を収集することを特徴とする、請求項１８に記載のネットワークアクセス制御方法。
【請求項２１】
前記第３１段階は、ＺｗＱｕｅｒｙＳｙｓｔｅｍＩｎｆｏｒｍａｔｉｏｎ関数を用いて、前記コンピュータ上で実行されているスレッド情報を収集することを特徴とする、請求項１８に記載のネットワークアクセス制御方法。
【請求項２２】
前記第４段階は、カーネルレベルでネットワークフィルタードライバーを用いてネットワークフィルタリングすることを特徴とする、請求項１３に記載のネットワークアクセス制御方法。
【請求項２３】
前記第４段階は、ユーザーレベルでプロセスが使用するソケット関数をフッキングしてネットワークフィルタリングすることを特徴とする、請求項１３に記載のネットワークアクセス制御方法。
【請求項２４】
前記第５段階は、前記ネットワークアクセス制御システムが、前記コードインジェクション基盤スレッドのプロセスＩＤおよびスレッドＩＤを遮断スレッドリストに格納する第５１段階と、
前記ネットワークアクセス制御システムが、前記収集されたネットワークパケットのプロセスＩＤとスレッドＩＤ情報を収集する第５２段階と、
前記ネットワークアクセス制御システムが、前記第５２段階で収集された前記プロセスＩＤおよびスレッドＩＤが前記遮断スレッドリストに含まれる場合は、前記収集されたネットワークパケットのトラフィックを遮断する第５３段階と、
前記ネットワークアクセス制御システムが、前記収集されたネットワークパケットのプロセスＩＤおよびスレッドＩＤが遮断スレッドリストに含まれずかつ前記プロセスＩＤが許可プロセスリストに含まれる場合は、前記収集されたネットワークパケットのトラフィックを許可する第５４段階とを含むことを特徴とする、請求項１３に記載のネットワークアクセス制御方法。
【請求項２５】
前記第５１段階は、前記ネットワークアクセス制御システムが、ユーザーの検証後、前記コードインジェクション基盤スレッドのプロセスＩＤおよびスレッドＩＤを遮断スレッドリストに格納することを特徴とする、請求項２４に記載のネットワークアクセス制御方法。