【手続補正書】
【提出日】平成21年1月22日(2009.1.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータで実行される方法であって、
プロセッサが、１つの実行可能ファイルに対応する複数の部分イメージハッシュであって、各々が前記実行可能ファイルの全バイト数よりも小さい任意のバイト数である複数の部分イメージハッシュを生成するステップと、
前記プロセッサが、システムカタログを作成または更新するアプリケーションを実行して、当該実行可能ファイルおよび前記対応する部分イメージハッシュをオペレーティングシステムの一部であり前記部分イメージハッシュを含むキャビネットファイル構造ベースのシステムカタログにパッケージすることにより、前記実行可能ファイルと前記対応する複数の部分イメージハッシュとを関連付けるステップと、
前記プロセッサが、前記実行可能ファイルをロードして実行するための、前記実行可能ファイルの一部分をメモリ内にページングする要求をインターセプトするステップであって、前記実行可能ファイルの一部分がコードをメモリへロードする実行中のオペレーションに対応する任意のバイト数を有する、そのようなステップと、
前記実行可能ファイルの一部分を実行するためにメモリ内にページングする前に、前記要求のインターセプトに応答して、
プロセッサが、前記実行可能ファイルの一部分の検証ハッシュを計算するステップと、
プロセッサが、前記実行可能ファイルの一部分のコードインテグリティーを決定するために、前記実行可能ファイルの一部分の検証ハッシュと前記複数の部分イメージハッシュのうちの前記一部分と同じコードセグメントに対応する部分ハッシュとを比較するステップと
を有することを特徴とする方法。
【請求項２】
前記複数の部分イメージハッシュは、前記実行可能ファイルのコンピューティングデバイス上へのロードの前に計算されることを特徴とする請求項１に記載の方法。
【請求項３】
前記実行可能ファイルの一部分の検証ハッシュが前記一部分と同じコードセグメントに対応する部分ハッシュと一致することを決定するステップと、
前記決定に応答して、前記実行可能ファイルの一部分を実行するためにメモリ内にページングするステップと、
をさらに有することを特徴とする請求項１に記載の方法。
【請求項４】
前記実行可能ファイルの一部分の検証ハッシュが前記一部分と同じコードセグメントに対応する部分ハッシュと一致しないことを決定するステップと、
前記決定に応答して、前記実行可能ファイルの一部分を実行のためにメモリ内にページングするための前記要求を失敗にするステップと、
をさらに有することを特徴とする請求項１に記載の方法。
【請求項５】
前記実行可能ファイルのコンピューティングデバイス上へのロードの後に起こる、前記実行可能ファイル用のコードセグメントを作成するためのオープン要求をインターセプトするステップと、
前記オープン要求のインターセプトに応答して、
前記実行可能ファイルのヘッダの識別ハッシュを計算するステップと、
前記複数の部分バイナリハッシュのうちの前記ヘッダと一致する第１のハッシュを識別するために、前記識別ハッシュとシステムカタログに格納された複数の実行可能ファイルの部分ハッシュのそれぞれとを比較するステップと、
前記実行可能ファイルの１つまたは複数の部分を実行のためのメモリ内へのページングに応答したその後の部分イメージハッシュコードインテグリティー検証オペレーションのために、前記ハッシュの前記識別に応答して、前記実行可能ファイルの前記複数の部分イメージハッシュを前記システムカタログからメモリへコピーするステップと
をさらに有することを特徴とする請求項１に記載の方法。
【請求項６】
前記実行可能ファイルのコンピューティングデバイス上へのロードの後に起こる、前記実行可能ファイル用のコードセグメントを作成するためのオープン要求をインターセプトするステップと、
前記オープン要求のインターセプトに応答して、および前記実行可能ファイルが自己署名暗号化ファイルであるとの決定に応答して、前記実行可能ファイルの１つまたは複数の部分を実行のためにメモリ内にページングするステップに応答したその後の部分イメージハッシュコードインテグリティー検証オペレーションのために、前記複数の部分イメージハッシュを前記自己署名暗号化ファイルからメモリへコピーするステップと、
をさらに有することを特徴とする請求項１に記載の方法。
【請求項７】
１つの実行可能ファイルのダイジェストに対応する複数の部分イメージハッシュであって、各々が前記実行可能ファイルの全バイト数よりも少ない任意のバイト数である複数の部分イメージハッシュをコンピュータデバイス上に生成する手段と、
前記実行可能ファイルを前記コンピューティングデバイス上にロードした後に、前記実行可能ファイルの一部分の実行のためにメモリ内にページングする要求をインターセプトする手段であって、前記実行可能ファイルの一部分がコードをメモリへロードする実行中のオペレーションに適した任意のバイト数を有する、そのような手段と、
前記実行可能ファイルの一部分の実行のためにメモリ内にページングする前に、前記要求のインターセプトに応答して、
前記実行可能ファイルの一部分の検証ハッシュを計算する手段と、
前記実行可能ファイルの一部分のコードインテグリティーを決定するために、前記実行可能ファイルの一部分の検証ハッシュと前記複数の部分イメージハッシュのうちの前記一部分と同じコードセグメントに対応する部分ハッシュとを比較する手段とを
プロセッサに実現させるコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能記録媒体。
【請求項８】
前記複数の部分イメージハッシュは、前記実行可能ファイルを前記コンピューティングデバイス上にロードする前に計算されることを特徴とする請求項７に記載のコンピュータ読み取り可能記録媒体。
【請求項９】
前記複数の部分イメージハッシュは、システムカタログまたは自己署名暗号化ファイルに格納されることを特徴とする請求項７に記載のコンピュータ読み取り可能記録媒体。
【請求項１０】
前記コンピュータプログラムは、
前記検証ハッシュが前記部分ハッシュと一致することを決定する手段と、
前記決定に応答して、前記部分を実行のためにメモリ内にページングする手段とを
さらに前記プロセッサに実現させることを特徴とする請求項７に記載のコンピュータ読み取り可能記録媒体。
【請求項１１】
前記コンピュータプログラムは、
前記検証ハッシュが前記部分ハッシュと一致しないことを決定する手段と、
前記決定に応答して、前記部分を実行のためにメモリ内にページングするための前記要求を失敗にする手段とを
さらに前記プロセッサに実現させることを特徴とする請求項７に記載のコンピュータ読み取り可能記録媒体。
【請求項１２】
前記コンピュータプログラムは、
前記実行可能ファイルをコンピューティングデバイス上にロードした後に起こる、前記実行可能ファイル用のコードセグメントを作成するためのオープン要求をインターセプトする手段と、
前記オープン要求のインターセプトに応答して、
前記実行可能ファイルのヘッダの識別ハッシュを計算する手段と、
前記複数の部分バイナリハッシュのうちの前記ヘッダと一致する第１のハッシュを識別するために、前記識別ハッシュとシステムカタログに格納された複数の実行可能ファイルの部分ハッシュのそれぞれとを比較する手段と、
前記実行可能ファイルの１つまたは複数の部分を実行のためのメモリ内へのページングに応答したその後の部分イメージハッシュコードインテグリティー検証オペレーションのために、前記ハッシュの位置特定に応答して、前記実行可能ファイルの前記複数の部分イメージハッシュを前記システムカタログからメモリへコピーする手段とを
さらに前記プロセッサに実現させることを特徴とする請求項７に記載のコンピュータ読み取り可能記録媒体。
【請求項１３】
前記コンピュータプログラムは、
前記実行可能ファイルをコンピューティングデバイス上にロードした後に起こる、前記実行可能ファイル用のコードセグメントを作成するためのオープン要求をインターセプトする手段と、
前記オープン要求のインターセプトに応答して、および前記実行可能ファイルが自己署名暗号化ファイルであるとの決定に応答して、前記実行可能ファイルの１つまたは複数の部分を実行のためにメモリ内にページングすることに応答したその後の部分イメージハッシュコードインテグリティー検証オペレーションのために、前記複数の部分イメージハッシュを前記自己署名暗号化ファイルからメモリへコピーする手段とを
さらに前記プロセッサに実行させることを特徴とする請求項７に記載のコンピュータ読み取り可能記録媒体。
【請求項１４】
プロセッサと、前記プロセッサに結合されたメモリとを備えたコンピューティングデバイスであって、前記メモリは、
１つの実行可能ファイルのダイジェストに対応する複数の部分イメージハッシュであって、各々が前記実行可能ファイルの全バイト数よりも小さい任意のバイト数である複数の部分イメージハッシュを生成する手段と、
システムカタログを作成または更新するアプリケーションを実行して、当該実行可能ファイルおよび前記対応する部分イメージハッシュをオペレーティングシステムの一部であり前記部分イメージハッシュを含むキャビネットファイル構造ベースのシステムカタログにパッケージすることにより、前記実行可能ファイルと前記対応する複数の部分イメージハッシュとを関連付ける手段と、
前記実行可能ファイルをコンピューティングデバイス上にロードした後に起こる、前記実行可能ファイルの一部分の実行のためにメモリ内にページングする要求をインターセプトする手段であって、前記実行可能ファイルの一部分がコードをメモリへロードする実行中のオペレーションに適した任意のバイト数を有する、そのような手段と、
前記実行可能ファイルの一部分の実行のためにメモリ内にページングする前に、前記要求のインターセプトに応答して、
前記実行可能ファイルの一部分の検証ハッシュを計算する手段と、
前記実行可能ファイルの一部分のコードインテグリティーを決定するために、前記実行可能ファイルの一部分の検証ハッシュと前記複数の部分イメージハッシュのうちの前記部分と同じコードセグメントに対応する部分ハッシュとを比較する手段とを
前記プロセッサに実現させるコンピュータプログラムを備えることを特徴とするコンピューティングデバイス。
【請求項１５】
前記コンピュータプログラムは、
前記検証ハッシュが前記部分ハッシュと一致することを決定する手段と、
前記決定に応答して、前記部分を実行のためにメモリ内にページングする手段とを、
さらに前記プロセッサに実現させることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１６】
前記コンピュータプログラムは、
前記検証ハッシュが前記部分ハッシュと一致しないことを決定する手段と、
前記決定に応答して、前記部分を実行のためにメモリ内にページングするための前記要求を失敗にする手段とを
さらに前記プロセッサに実現させることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１７】
前記コンピュータプログラムは、
前記実行可能ファイルをコンピューティングデバイス上にロードした後に起こる、前記実行可能ファイル用のコードセグメントを作成するためのオープン要求をインターセプトする手段と、
前記オープン要求のインターセプトに応答して、
前記実行可能ファイルのヘッダの識別ハッシュを計算する手段と、
前記複数の部分バイナリハッシュのうちの前記ヘッダと一致する第１のハッシュを識別するために、前記識別ハッシュとシステムカタログに格納された複数の部分実行可能ファイルハッシュのそれぞれとを比較する手段と、
前記実行可能ファイルの１つまたは複数の部分を実行のためのメモリ内へのページングに応答したその後の部分イメージハッシュコードインテグリティー検証オペレーションのために、前記ハッシュの位置特定に応答して、前記実行可能ファイルの前記複数の部分イメージハッシュを前記システムカタログからメモリへコピーする手段とを
さらに前記プロセッサに実現させることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１８】
前記コンピュータプログラムは、
前記実行可能ファイルをコンピューティングデバイス上にロードした後に起こる、前記実行可能ファイル用のコードセグメントを作成するためのオープン要求をインターセプトする手段と、
前記オープン要求のインターセプトに応答して、および前記実行可能ファイルが自己署名暗号化ファイルであるとの決定に応答して、前記実行可能ファイルの１つまたは複数の部分を実行のためにメモリ内にページングすることに応答したその後の部分イメージハッシュコードインテグリティー検証オペレーションのために、前記複数の部分イメージハッシュを前記自己署名暗号化ファイルからメモリへコピーする手段とを
さらに前記プロセッサに実現させることを特徴とする請求項１４に記載のコンピューティングデバイス。