(57)【特許請求の範囲】
【請求項１】
アンチウィルス記録セットを生成する方法であって、
保持ステップと、第１生成ステップと、計算ステップと、第２生成ステップと、送信ステップとを備え、
前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、
第１生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも１つのアンチウィルス記録を生成し、
前記少なくとも１つのアンチウィルス記録とは、対応する前記悪意あるファイルを検出するためにアンチウィルスアプリケーションによって使用される情報を含むもので、
前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された悪意あるファイル数及び前記アンチウィルス記録による誤判定数に基づいて、前記各アンチウィルス記録の有効性を計算し、
第２生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、
前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、前記最も有効性の高いアンチウィルス記録とは、前記アンチウィルス記録によって検出された悪意あるファイル数及び前記誤判定数の関数として計算されるもので、
前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、
ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、
前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、
方法。
【請求項２】
前記アンチウィルス記録は、以下の１又は複数を含む、請求項１に記載の方法。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【請求項３】
前記計算ステップは、前記サーバ上で動作する前記アンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む、
請求項１に記載の方法。
【請求項４】
各悪意あるファイルに対する前記アンチウィルス記録は、前記悪意あるファイルのファイル属性のセットから計算された局所性鋭敏型ハッシュを含む、
請求項１に記載の方法。
【請求項５】
各悪意あるファイルに対する前記アンチウィルス記録は、複数の局所性鋭敏型ハッシュを含み、前記複数の局所性鋭敏型ハッシュとは、前記悪意あるファイルのファイル属性の異なるセットから計算された少なくとも２つの局所性鋭敏型ハッシュを備える、
請求項１に記載の方法。
【請求項６】
前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された悪意あるファイル数と、前記アンチウィルス記録による誤判定数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される、
請求項１に記載の方法。
【請求項７】
前記アンチウィルス記録の有効性は、各検出された悪意あるファイルのポピュラリティ値の関数として更に計算され、前記ポピュラリティ値とは、各悪意あるファイルが検出されたコンピュータ上のユーザ数に基づく重み係数である、
請求項６に記載の方法。
【請求項８】
アンチウィルス記録セットを生成するシステムであって、
ハードウェア・プロセッサを備えるサーバを備え、
前記ハードウェア・プロセッサは、保持ステップと、第１生成ステップと、計算ステップと、第２生成ステップと、送信ステップとを実行するように構成され、
前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、
第１生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも１つのアンチウィルス記録を生成し、
前記少なくとも１つのアンチウィルス記録とは、対応する前記悪意あるファイルを検出するためにアンチウィルスアプリケーションによって使用される情報を含むもので、
前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された悪意あるファイル数及び前記アンチウィルス記録による誤判定数に基づいて、前記各アンチウィルス記録の有効性を計算し、
第２生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、
前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とは、前記アンチウィルス記録によって検出された悪意あるファイル数及び前記誤判定数の関数として計算されるもので、
前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、
ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、
前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、
システム。
【請求項９】
前記アンチウィルス記録は、以下の１又は複数を含む、請求項８に記載のシステム。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【請求項１０】
前記計算ステップは、前記サーバ上で動作する前記アンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む、
請求項８に記載のシステム。
【請求項１１】
各悪意あるファイルに対する前記アンチウィルス記録は、前記悪意あるファイルのファイル属性のセットから計算された局所性鋭敏型ハッシュを含む、
請求項８に記載のシステム。
【請求項１２】
各悪意あるファイルに対する前記アンチウィルス記録は、複数の局所性鋭敏型ハッシュを含み、前記複数の局所性鋭敏型ハッシュとは、前記悪意あるファイルのファイル属性の異なるセットから計算された少なくとも２つの局所性鋭敏型ハッシュを備える、
請求項８に記載のシステム。
【請求項１３】
前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された悪意あるファイル数と、前記アンチウィルス記録による誤判定数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される、
請求項８に記載のシステム。
【請求項１４】
前記アンチウィルス記録の有効性は、各検出された悪意あるファイルのポピュラリティ値の関数として更に計算され、前記ポピュラリティ値とは、各悪意あるファイルが検出されたコンピュータ上のユーザ数に基づく重み係数である、
請求項１３に記載のシステム。
【請求項１５】
サーバとして実施されるコンピュータが実行可能な、アンチウィルス記録セットを生成する指示を記憶している不揮発性コンピュータ可読媒体であって、
前記指示は、前記コンピュータに保持ステップと、第１生成ステップと、計算ステップと、第２生成ステップと、送信ステップとを実行させるもので、
前記保持ステップでは、前記サーバが悪意あるファイルのデータベースを保持し、
第１生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも１つのアンチウィルス記録を生成し、
前記少なくとも１つのアンチウィルス記録とは、対応する前記悪意あるファイルを検出するためにアンチウィルスアプリケーションによって使用される情報を含むもので、
前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された悪意あるファイル数及び前記アンチウィルス記録による誤判定数に基づいて、前記各アンチウィルス記録の有効性を計算し、
第２生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、
前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とは、前記アンチウィルス記録によって検出された悪意あるファイル数及び前記誤判定数の関数として計算されるもので、
前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、
ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、
前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、
媒体。
【請求項１６】
前記アンチウィルス記録は、以下の１又は複数を含む、請求項１５に記載の媒体。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【請求項１７】
前記計算ステップは、前記サーバ上で動作する前記アンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む、
請求項１５に記載の媒体。
【請求項１８】
各悪意あるファイルに対する前記アンチウィルス記録は、前記悪意あるファイルのファイル属性のセットから計算された局所性鋭敏型ハッシュを含む、
請求項１５に記載の媒体。
【請求項１９】
各悪意あるファイルに対する前記アンチウィルス記録は、複数の局所性鋭敏型ハッシュを含み、前記複数の局所性鋭敏型ハッシュとは、前記悪意あるファイルのファイル属性の異なるセットから計算された少なくとも２つの局所性鋭敏型ハッシュを備える、
請求項１５に記載の媒体。
【請求項２０】
前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された悪意あるファイル数と、前記アンチウィルス記録による誤判定数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される、
請求項１５に記載の媒体。
【請求項２１】
前記アンチウィルス記録の有効性は、各検出された悪意あるファイルのポピュラリティ値の関数として更に計算され、前記ポピュラリティ値とは、各悪意あるファイルが検出されたコンピュータ上のユーザ数に基づく重み係数である、
請求項２０に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、米国特許法３５Ｕ．Ｓ．Ｃ．（ａ）〜（ｄ）に規定される、２０１５年９月３０日に出願された（参照により本明細書に組み込まれる）ロシア出願第２０１５１４１５５２号の優先権の利益を主張する。
【０００２】
本発明は、概してコンピュータセキュリティの分野に関し、より詳細には、ユーザの計算機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するシステム及び方法に関する。
【背景技術】
【０００３】
パーソナルコンピュータ、ラップトップ、タブレット、スマートフォンなどのユーザーのコンピューティングデバイスのための様々なソフトウェアアプリケーションの数は、著しい速度で増加している。多くのアプリケーションの中には、インターネットワーム、キーロガー、コンピュータウィルスなど、ユーザ機器やユーザのデータに害を及ぼす可能性がある一連の悪意あるプログラムがありうる。ユーザ機器上の悪意あるプログラムを検出し、その動作能力を遮断する（例えば、隔離したり、ユーザ機器から削除するなど）ために設計されたアンチウィルスソフトウェア等といった、コンピュータセキュリティを提供するための多くの様々な技術が開発されている。
【０００４】
アンチウィルスソフトウェアは、オペレーティングシステム（ＯＳ）の悪意あるソフトウェア、悪意あるプロセス、その他の悪意あるオブジェクトを検出するための種々の方法、例えばＵＲＩ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ：ｆｉｌｅ：／／＊＊＊．ｅｘｅ）等を使用する。最も一般的なマルウェアの検出方法は次に示される通りである。
＜署名分析＞
分析されるプログラムの特定のコードセグメントと、既知のコード又は署名との対応関係を悪意あるプログラムの署名データベースから見つける技術。
＜ヒューリスティック分析＞
解析対象プログラムの作業をエミュレートし、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）関数呼び出しログを生成し、生成したＡＰＩ関数呼び出しログのデータと悪意あるエミュレーションデータベース内のデータとの対応関係を見つける技術。
＜事前分析＞
解析対象のプログラムのシステムで起動されたＡＰＩ関数呼び出しを傍受し、ＡＰＩ関数呼び出しログを生成し、生成したログのデータと悪意あるＡＰＩ関数呼び出しのデータベース内のデータとの対応関係を見つける技術。
【０００５】
動作において、前述の方法の各々は、悪意あるオブジェクトの検出にデータを使用する必要があり、例えば、署名分析の場合、そのようなデータは署名であってもよく、ヒューリスティック分析の場合、そのようなデータはヒューリステックルールである。それにもかかわらず、例えば、単一の署名が使用される場合、アンチウィルスソフトウェアは、その構造又は引き起こされた損害と同様に、悪意あるオブジェクトアレイ全体を検出する可能性がありうる。したがって、ユーザのデータ又はコンピュータに損害を与える可能性のある悪意あるオブジェクトの数が増加すると、それに伴って悪意あるオブジェクトを検出するために使用されるデータの量も増加することとなる。多くの場合、当該データは、アンチウィルスソフトウェアのコンポーネントであるアンチウィルスライブラリの一部としてユーザのコンピュータに保存される。したがって、検出に使用されるデータ量を増やすと、ユーザ機器のハードドライブ上の使用可能なスペースが減少する可能性がありうる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
悪意あるオブジェクトの検出に使用されるデータによって占有されるハードドライブ上のスペースを最適化（削減）することを目的とした既知のアプローチはあるが、悪意あるオブジェクトの検出に使用されるデータを選択しなければならないという問題を解決することはできない。換言すると、悪意あるオブジェクトの検出に使用されるこのようなデータセットの生成は、記憶のために大きなメモリ量を必要としないが、代わりにユーザ機器の信頼性の高い保護を提供せず、又はこの問題を十分に効果的に解決することができない。したがって、悪意あるオブジェクトの検出に使用されるデータの選択の問題のより有効性の高い解決策が必要とされている。
【課題を解決するための手段】
【０００７】
ユーザの計算機器上での悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するためのシステム及び方法を開示する。すなわち、本発明によれば、アンチウィルス記録セットを生成する方法であって、保持ステップと、第１生成ステップと、計算ステップと、第２生成ステップと、送信ステップとを備え、前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、第１生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも１つのアンチウィルス記録を生成し、前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された異なる悪意あるファイル数を判定することによって、前記各アンチウィルス記録の有効性を計算し、第２生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とはより多くの悪意あるファイルを検出するものであり、前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、方法が提供される。
【０００８】
好ましくは、前記アンチウィルス記録は、以下の１又は複数を含む。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【０００９】
好ましくは、前記計算ステップは、前記サーバ上で動作するアンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む。
【００１０】
好ましくは、前記アンチウィルス記録の有効性は、前記アンチウィルス記録を使用して検出された異なる悪意あるファイル数の関数として計算される。
【００１１】
好ましくは、前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された異なる悪意あるファイル数と、前記アンチウィルス記録による誤判定数との関数として計算される。
【００１２】
好ましくは、前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された異なる悪意あるファイル数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される。
【００１３】
好ましくは、前記アンチウィルス記録の有効性は、クライアント・デバイス上の各検出された悪意あるファイルのポピュラリティ値の関数として更に計算される。
【００１４】
本発明の別の側面によれば、アンチウィルス記録セットを生成するシステムであって、ハードウェア・プロセッサを備えるサーバを備え、前記ハードウェア・プロセッサは、保持ステップと、第１生成ステップと、計算ステップと、第２生成ステップと、送信ステップとを実行するように構成され、前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、第１生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも１つのアンチウィルス記録を生成し、前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された異なる悪意あるファイル数を判定することによって、前記各アンチウィルス記録の有効性を計算し、第２生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とはより多くの悪意あるファイルを検出するものであり、前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、システムが提供される。
【００１５】
本発明の別の側面によれば、コンピュータが実行可能な、アンチウィルス記録セットを生成する指示を記憶している不揮発性コンピュータ可読媒体であって、前記指示は、前記コンピュータに保持ステップと、第１生成ステップと、計算ステップと、第２生成ステップと、送信ステップとを実行させるもので、前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、第１生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも１つのアンチウィルス記録を生成し、前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された異なる悪意あるファイル数を判定することによって、前記各アンチウィルス記録の有効性を計算し、第２生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とはより多くの悪意あるファイルを検出するものであり、前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、媒体が提供される。
【００１６】
本発明の例示的な側面に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された側面の広範な概要ではなく、全ての側面の重要な又は重要な要素を特定することも本発明の任意の又は全ての側面の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、１つ又は複数の側面を簡略化した形で提示することである。前述の目的を達成するために、本発明の１つ又は複数の側面が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【００１７】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本発明の１つ又は複数の例示的な側面を示し、詳細な説明とともに、それらの基本原理及び実施形態を説明する役割を果たすものである。
【図１】ユーザ機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するための例示的なシステムの図を示す。
【図２】ユーザ機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成する例示的な方法のフローチャートを示す。
【図３】システム及び方法に係る開示された側面を実施することができる汎用コンピュータ・システムの例を示す。
【発明を実施するための形態】
【００１８】
本発明の例示的な側面は、ユーザの計算機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するためのシステム、方法、及びコンピュータプログラム製品に関連して本明細書で説明される。当業者であれば、以下の説明は例示的なものに過ぎず、決して限定するものではないことを理解するであろう。他の側面は、本開示の利益を有する当業者には容易に示唆されるであろう。以下、添付の図面に例示されている例示的な側面の実施形態を詳細に参照する。同一の符号は、図面全体にわたって可能な範囲で使用され、以下の説明は、同じ又は同様の項目を参照するために使用される。
【００１９】
最初に、本発明の様々な例示的な側面を説明する際に使用される様々な用語の定義を以下に提供する。
【００２０】
悪意あるアプリケーションとして、インターネットワーム、キーロガー、コンピュータウィルスなど、コンピュータ又はユーザのコンピュータにおけるデータに損害を与える可能性のあるアプリケーションが含まれうる。引き起こされる損害は、盗難の目的でコンピュータに保存されているデータを含むコンピュータリソースへの不正アクセス、及びデータストレージ、計算実行等を含むリソースの違法な使用等が挙げられる。
【００２１】
信頼できるアプリケーションには、コンピュータ又はそのユーザに損害を与えないアプリケーションが含まれうる。信頼できるアプリケーションは、信頼できるソフトウェア製造元によって開発され、信頼できるソースからダウンロードされたアプリケーション（信頼できるサイトのデータベースにリストされているサイトなど）、又は識別子（アプリケーションファイルのＭＤ５など）が信頼できるアプリケーションのデータベースに格納されているアプリケーション等が挙げられる。デジタル証明書などの製造元の識別子も、信頼できるアプリケーションのデータベースに格納されうる。
【００２２】
信頼できないアプリケーションには、信頼されていないアプリケーションだけでなく、アンチウィルスアプリケーション等で悪意あるものとしても認識されないアプリケーションも含まれうる。
【００２３】
悪意あるファイルには、実行可能ファイル、構成ファイル、実行中にアプリケーションによって使用されるその他のファイルなど、悪意あるアプリケーションのコンポーネントが含まれうる。
【００２４】
信頼できないファイルには、信頼できないアプリケーションのコンポーネントであるファイルが含まれうる。
【００２５】
信頼できるファイルには、信頼できるアプリケーションのコンポーネントであるファイルが含まれうる。
【００２６】
署名分析には、悪意あるプログラムを検出するために、プログラムコードの特定のセグメントと既知コードである署名との対応関係を悪意あるプログラムの署名データベースから見つける技術が含まれうる。この技術は、悪意あるプログラムのファイルを検出し、計算機器のＲＡＭ内の悪意あるコードを検出するものであることに留意されたい。
【００２７】
ヒューリスティック分析には、プログラムの実行をエミュレート（特定のハードウェア及びソフトウェアを使用して実行するために適合されたプログラムコードを実行し、他とは異なるハードウェア及びソフトウェアを使用すること）して、ＡＰＩ関数呼び出しログを生成し、生成されたＡＰＩ関数呼び出しログのデータと悪意あるプログラムのエミュレーションデータベースにおけるデータとの対応関係を見つけて、悪意あるプログラムを検出する技術が含まれうる。
【００２８】
事前分析には、プログラムのオペレーティングシステムで起動されたＡＰＩ関数呼び出しを傍受し、ＡＰＩ関数呼び出しログを生成し、生成されたログからのデータと、悪意あるプログラムのＡＰＩ関数呼び出しのデータベースにおけるデータとの対応関係を見つけて、悪意あるプログラムを検出する技術が含まれうる。
【００２９】
アンチウィルス記録には、悪意あるファイルを検出するためにアンチウィルスアプリケーションが必要とする情報が含まれている場合がある。これは、例えば、署名、ヒューリステックルール（ヒューリスティック分析及び事前分析など）、ファイルのチェックサム又はハッシュ（フレキシブルハッシュ又は局所性鋭敏型ハッシュ等のファイルハッシュ（軽微なファイル修正に対して不変））が挙げられる。
【００３０】
アンチウィルス記録の使用についての統計情報には、アンチウィルス記録を使用してアンチウィルスアプリケーションによって検出された悪意あるファイル数に関する情報、及びアンチウィルス記録の補助により検出された各ファイルの識別子（例えば、ＭＤ５、ＳＨＡ−１、ＳＨＡ−２等といったアルゴリズムに基づいて計算されたチェックサム、又はファイル名等の文字列）が含まれうる。統計情報収集は、悪意あるファイルを検出するためにアンチウィルス記録を使用するアンチウィルスアプリケーションによって（悪意あるファイルの検出中に）行うことができる。
【００３１】
アンチウィルス記録の有効性は数値となりうる。この数値が高いほど、ファイルデータベース内のファイル中にそのアンチウィルス記録を使用してアンチウィルスアプリケーションによって検出された悪意あるファイルが多いことを示している。
【００３２】
図１は、ユーザ機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するための例示的なシステムの図を示している。ユーザのコンピュータ１００には、コンピュータ１００における悪意あるファイルを検出するように構成されているアンチウィルスアプリケーション１０１がインストールされている。アンチウィルスアプリケーション１０１は、同様に、ユーザのコンピュータ１００上に常駐することができるアンチウィルス記録データベース１０２に格納されているアンチウィルス記録を使用する。ユーザのコンピュータ１００は、リモートサーバ１２０とネットワーク１１０（例えば、インターネットやローカルエリアネットワーク等）を介して接続されている。例示的な側面では、リモートサーバ１２０は、単一の計算機器であってもよい。別の例示的な側面では、リモートサーバ１２０は、本明細書に開示されるシステム及び方法の機能を実行するために分散型計算（コード実行等の全体計算量を分割し、複数の計算機器に分散させること）を実行する計算機器の集合であってもよい。
【００３３】
例示的な側面において、リモートサーバ１２０は、アンチウィルスアプリケーション１２１、アンチウィルス記録生成モジュール１２５、アンチウィルス記録セット生成モジュール１２６、アンチウィルス記録有効性評価モジュール１２７、アンチウィルス記録データベース１２２、ファイルデータベース１２３、及び統計情報データベース１２４を含みうる。
【００３４】
なお、本発明の例示的な側面において、アンチウィルスアプリケーション１０１とアンチウィルスアプリケーション１２１は、悪意あるオブジェクトと収集統計情報の検出という同じ機能（以下に示す）を実行可能であることに留意されたい。
【００３５】
例示的な側面では、ファイルデータベース１２３は、保存されるファイルが悪意あるか、信頼できるか、又は信頼できないかという情報だけでなく、悪意あるファイル、信頼できるファイル、信頼できないファイルといったファイルを記憶するように構成されている。例示的な側面では、ファイルは、信頼できる、悪意ある、又は信頼できないかどうかについての情報（表記）とともにコンピュータセキュリティの専門家によってファイルデータベース１２３に追加されうる。更に別の例示的な側面では、上述のファイル追加において、ファイル識別子（例えば、ＭＤ５、ＳＨＡ−１、及びＳＨＡ−２の何れかのアルゴリズムに基づいて計算されたファイルのチェックサム、又はファイル名等の文字列）が、ファイルデータベース１２３に格納されてもよい。
【００３６】
例示的な側面では、アンチウィルスアプリケーション１２１は、悪意あるファイルを検出するように構成されている。悪意あるファイルを検出するために、アンチウィルスアプリケーション１２１は、アンチウィルス記録データベース１２２におけるアンチウィルス記録を使用し、アンチウィルス記録データベース１２２は、アンチウィルス記録を記憶するように構成されている。アンチウィルス記録は、署名分析、ヒューリスティック分析又は事前分析を行う過程において、アンチウィルスアプリケーション１２１によって使用されうる。
【００３７】
１つの例示的な態様では、アンチウィルス記録がフレキシブルハッシュ（局所性鋭敏型ハッシュ）を含んでいてもよい。「フレキシブルコンボリューション」としても知られているフレキシブルハッシュは、「ハッシュサム（ハッシュ）」を構成し、これは、ファイル属性セットから計算され且つファイル内の微小な変化に対して耐性がある（例えば、ファイルから計算されたハッシュサムは、属性の１つが異なる値を有するファイルから計算されたハッシュサムに一致する）。アンチウィルス記録が悪意あるファイルのフレキシブルハッシュを含む場合、アンチウィルスアプリケーション１２１は、悪意あるファイルを検出するために、ファイルの分析中に（ファイル属性セットから）分析されたファイルのフレキシブルハッシュを計算し、これをアンチウィルス記録におけるフレキシブルハッシュと比較する。計算されたフレキシブルハッシュとアンチウィルス記録におけるフレキシブルハッシュが一致する場合、アンチウィルスアプリケーション１２１は、ファイルに悪意あるものとして認識且つ分析する。例示的な側面では、アンチウィルス記録は、フレキシブルハッシュ以外の、ハッシュを計算する方法に関する情報（例えば文字の識別子等）を含みうるもので、これはファイルの分析中にアンチウィルスアプリケーション１２１によって使用されることとなる。悪意あるファイルの検出（フレキシブルハッシュを含むアンチウィルス記録を使用するもの）に関する上述の方法は、ユーザのコンピュータ１００上に常駐されるアンチウィルスアプリケーション１０１によって使用されうることに留意されたい。
【００３８】
例示的な側面では、アンチウィルス記録生成モジュール１２５は、アンチウィルス記録を生成して、アンチウィルス記録データベース１２２に記憶するように構成されている。アンチウィルス記録生成モジュール１２５は、（アンチウィルス記録の補助により検出する必要がある）ファイルと、アンチウィルス記録を生成する次の何れかの方法を使用する。
【００３９】
例示的な側面では、アンチウィルス記録生成モジュール１２５は、悪意あるファイルを検出するためのアンチウィルス記録を生成する。当該記録は、指定されたファイルの署名（ファイルのバイト列）を含むもので、これにより、そのファイルがアンチウィルス記録における署名を含む場合、アンチウィルスアプリケーション１２１によってそのファイルは悪意あると認識される。
【００４０】
別の例示的な側面では、アンチウィルス記録生成モジュール１２５は、悪意あるファイルを検出するためのアンチウィルス記録を生成する。当該記録は、ヒューリステックルールを含み、これによりヒューリステックルールの論理に基づいてアンチウィルスアプリケーション１２１によって前記ファイルが悪意あるものとして認識される。これは、ファイルのヒューリスティック分析中にプログラムのエミュレートされた実行中（ファイルが実行可能であれば）に生成されるＡＰＩ関数呼び出しログに適用される。例示的な側面では、参照により本明細書に組み込まれる、公知の米国特許第９，１４７，０７３号に記載されている技術を使用して、そのようなアンチウィルス記録を生成することができる。
【００４１】
更に別の例示的な側面では、アンチウィルス記録生成モジュール１２５は、悪意あるファイルを検出するためのアンチウィルス記録を生成する。当該記録は、ヒューリステックルールを含み、これによりヒューリステックルールの論理に基づいてアンチウィルスアプリケーション１２１によって前記ファイルが悪意あるものとして認識される。これは、ファイルの事前分析中にプログラムのオペレーティング・システム上で開始されたＡＰＩ関数呼び出しの傍受の際に実行中に生成されるＡＰＩ関数呼び出しログに適用される。かかる技術の一例として、参照により本明細書に組み込まれる、公知の米国特許第８，５６６，９４３号に記載されている技術を使用して、そのようなアンチウィルス記録を生成することができる。
【００４２】
更に別の例示的な側面では、アンチウィルス記録生成モジュール１２５は、ファイルのフレキシブルハッシュを含む悪意あるファイルの検出のためのアンチウィルス記録を生成する。当該記録は、ファイルのフレキシブルハッシュを含み、計算されたファイルのフレキシブルハッシュがアンチウィルス記録におけるフレキシブルハッシュと一致する場合、そのファイルはアンチウィルスアプリケーション１２１によって悪意あるものとして認識される。
【００４３】
更に別の例示的な側面では、アンチウィルス記録生成モジュール１２５は、同じ悪意あるファイルに対するいくつかのアンチウィルス記録を生成するように構成され、これは、アンチウィルスアプリケーション１２１によって悪意あると認識できるようなファイルを記録するという（例えば、アンチウィルス記録を生成する上述のいくつかの方法）手法である。例示的な側面では、アンチウィルス記録生成モジュール１２５は、同一のファイルを検出するための異なるフレキシブルハッシュを含むアンチウィルス記録を生成することができる（かかるアンチウィルス記録は、異なる生成方法で生成されたものとする）。これらのアンチウィルス記録のそれぞれは、独自のハッシュ計算方法（たとえば、以下に例示された方法の１つ）を使用して生成される。例示的な側面では、アンチウィルス記録生成モジュール１２５は、公知の米国特許第８，９５５，１２０号に記載されているアンチウィルス記録生成のためのフレキシブルハッシュの計算アルゴリズムを使用してもよい。フレキシブルハッシュの計算に使用されるファイル属性セットは、異なっていてもよい。
【００４４】
例えば、フレキシブルハッシュを計算するために、以下のファイル属性セットが使用されうる。ファイルサイズ、ファイルイメージサイズ、ファイルセクション数、ファイルセクションのＲＶＡ（関連仮想アドレス）、エントリポイントのＲＶＡ、サブシステムのタイプ、ＣＯＦＦ（共通オブジェクトファイルフォーマット）ヘッダ、ディレクトリテーブルオブジェクトの相互配置、ファイルセクションによるディレクトリテーブルオブジェクトの配置、ファイル生成に使用されるコンパイラのタイプ、文字の頻度特性（印刷文字を含む）と呼ばれるファイル内の文字に遭遇する頻度、ファイル行の集合、及びその数。各ファイルセクションのファイル属性セットは、以下の属性を含みうる。セクションの開始及び終了の情報エントロピー、セクションの開始及び終了の非ゼロバイトの平均数、セクションの仮想サイズ、物理セクションのサイズ。
【００４５】
別の例では、フレキシブルハッシュを計算するために、ファイルサイズ、ファイルイメージサイズ、ファイルセクションの数、ファイルセクションのＲＶＡ、エントリポイントのＲＶＡ、サブシステムのタイプ、ＣＯＦＦヘッダからのファイル特性、ファイル生成に使用されるコンパイラのタイプが使用されうる。
【００４６】
更に別の例では、フレキシブルハッシュを計算するために、ファイルサイズ、ファイルイメージサイズ、サブシステムのタイプ、文字の頻度特性（文字に遭遇する頻度、ファイル行の集合とその番号）が使用されうる。
【００４７】
更に別の例では、フレキシブルハッシュを計算するために、以下のファイル属性セットが使用されうる。ファイルサイズ、ファイルイメージサイズ、ファイルセクションの数、ファイルセクション、エントリポイントのＲＶＡ、タイプＣＯＦＦヘッダからのファイル特性、ディレクトリテーブルオブジェクトの相互配置、ファイルセクション間のディレクトリテーブルオブジェクトの配置、ファイル生成に使用されるコンパイラのタイプ、文字の頻度特性。各ファイルセクションのファイル属性セットは、以下を含みうる。セクションの開始及び終了の情報エントロピー、セクションの開始及び終了の非ゼロバイトの平均数、セクションの仮想サイズ、セクションの物理的なサイズ。
【００４８】
更に別の例では、フレキシブルハッシュを計算するために、ファイルサイズ、ファイルイメージサイズ、サブシステムのタイプ、ＣＯＦＦヘッダからのファイル特性、ファイルの生成に使用されるコンパイラのタイプ、文字の頻度特性が使用されうる。
【００４９】
別の例では、フレキシブルハッシュを計算するために、上述の属性の様々な他の組合せが使用されうる。
【００５０】
更に別の例示的な側面では、アンチウィルス記録生成モジュール１２５によって、コンピュータセキュリティの専門家は、上述の検出方法（例えば、署名分析、ヒューリスティック分析等）の１つを用いて（例えば、ユーザのインターフェースを介して）アンチウィルス記録を生成することができる。
【００５１】
例示的な側面では、アンチウィルス記録生成モジュール１２５は、生成されたアンチウィルス記録をアンチウィルス記録データベース１２２に格納する。
【００５２】
例示的な側面では、上述の方法のうちの１つ以上を使用して、１つ又は複数のアンチウィルス記録を生成するために、ファイルデータベース１２３における悪意あるファイルを使用する。これは、アンチウィルス記録生成モジュール１２５がアンチウィルスアプリケーション１２１を認識できることに基づくものである。
【００５３】
例示的な側面では、アンチウィルスアプリケーション１２１は、悪意あるファイルの検出に使用されるアンチウィルス記録の使用についての統計情報を収集するように構成される。アンチウィルス記録の使用についての統計情報は、アンチウィルス記録データベース１２２だけでなくファイルデータベース１２３を使用して収集され、具体的には、ファイルデータベース１２３におけるファイル中でのアンチウィルス記録データベース１２２におけるアンチウィルス記録を使用して検出される。アンチウィルスアプリケーション１２１は、アンチウィルス記録の使用時に収集された統計情報を、統計情報データベース１２４に送信する。アンチウィルスアプリケーション１２１は、アンチウィルス記録を使用することで、既知の悪意あるファイル（ファイルデータベース１２３における悪意あるファイル等）だけでなく、ファイルデータベース１２３における信頼できるファイル（その検出が「誤警報」又は「誤検出」）や信頼できないファイルをも検出しうることに留意されたい。
【００５４】
例示的な側面では、統計情報データベース１２４は、アンチウィルスアプリケーション１２１によって収集されたアンチウィルス記録の使用についての統計情報を保存するように構成される。
【００５５】
例示的な側面では、アンチウィルス記録有効性評価モジュール１２７は、少なくとも１つのアンチウィルス記録の有効性を判定（計算）するように構成される。当該モジュール１２７は、アンチウィルスアプリケーション１２１がアンチウィルス記録の使用についての統計情報を収集したアンチウィルス記録データベース１２２における各アンチウィルス記録の有効性を計算し、統計情報データベース１２４にアンチウィルス記録の使用に関するこの統計情報を保存する。例示的な側面では、アンチウィルス記録の有効性は、以下の式を使用して計算することができる。
【数１】
0006353498.tif 000002
ここでＫは、アンチウィルス記録の有効性であり、Ｕは前述のアンチウィルス記録を使用してアンチウィルスアプリケーション１２１によって悪意あると認識されたファイル数（一例ではファイルデータベース１２３におけるもの）である。
【００５６】
更に別の例示的な側面では、アンチウィルス記録の有効性は、以下の式を使用して計算することができる。
【数２】
0006353498.tif 000003
ここで、Ｋはアンチウィルス記録の有効性であり、Ｕは前述のアンチウィルス記録を用いてアンチウィルスアプリケーション１２１によって悪意あると認識されたファイル数（一例ではファイルデータベース１２３におけるもの）であり、ｆは係数であってアンチウィルス記録を用いてアンチウィルスアプリケーション１２１によって悪意あると認識されたファイルのうち、信頼できるファイルがある場合には値０をとり、そうでない場合には値１をとる係数である。
【００５７】
更に別の例示的な側面では、アンチウィルス記録の有効性は、以下の式を使用して計算することができる。
【数３】
0006353498.tif 000004
ここで、Ｋはアンチウィルス記録の有効性であり、ｎはアンチウィルス記録を用いて悪意あると認識されたファイルの総数であり、ａ＿ｉは（ｉ番目ファイルに対して）例えば以下の値を取ることができる係数である。
・悪意あるファイルの場合は値「２」
・信頼できるファイルの場合は値「−１０００」
・信頼できないファイルの場合は値「０．５」。
【００５８】
上記の式で使用されている悪意あるファイル、信頼できるファイル又は信頼できないファイルの何れかの情報は、ファイルデータベース１２２における、アンチウィルス記録の使用についての統計情報からのファイル識別子を使用して取得することができる。
【００５９】
更に別の例示的な側面では、各ファイルに加えてファイルデータベース１２２は、その重み付け係数ｐ−ｐｏｐｕｌａｒｉｔｙ（指定のファイルが見つかったコンピュータ上のユーザ数）を格納することができる。例示的な側面では、コンピュータセキュリティの専門家が各ファイルの重み係数をファイルデータベース１２２に追加することができる。かかる場合、アンチウィルス記録の有効性は、次の式を使用して計算することができる。
【数４】
0006353498.tif 000005
ここで、Ｋは、アンチウィルス記録の有効性であり、ｎはアンチウィルス記録を用いて悪意あると認識されたファイルの合計数であり、ｐ＿ｉは、ｉ番目のファイルのポピュラリティ値であり、ａ＿ｉは、次の値（ファイルｉ番目の場合）を取ることができる係数である。
・悪意あるファイルの場合は値「１」
・信頼できるファイルの場合は値「−１００」
・信頼できないファイルの場合は値「０」。
【００６０】
上述の式で使用されるファイルが悪意あるか、信頼できるか、又は信頼できないか否かの情報、及び各ファイルの係数ｐ＿ｉは、ファイルデータベース１２２においてアンチウィルス記録の使用についての統計情報からのファイル識別子によって取得されうる。
【００６１】
例示的な側面では、アンチウィルス記録セット生成モジュール１２６は、ユーザのコンピュータ１００に、特にアンチウィルス記録データベース１０２にアンチウィルス記録セットを送信するために、アンチウィルス記録セットを生成するように構成されている。アンチウィルス記録セットを生成するために、モジュール１２６は、アンチウィルス記録データベース１２２において上記各アンチウィルス記録の有効性とともにモジュール１２７によって提供されるアンチウィルス記録を利用することができる。アンチウィルス記録セットを生成する目的は、ファイルデータベース１２３における全ての悪意あるファイルが、上記アンチウィルス記録セットを利用するアンチウィルスアプリケーション１２１を利用して検出することができるように、アンチウィルス記録セットを生成することである。アンチウィルス記録セットは、最小限のアンチウィルス記録から構成される。換言すると、アンチウィルス記録データベース１０２に格納されるため、アンチウィルスアプリケーション１０１が使用するアンチウィルス記録によって占有されるはずのユーザのコンピュータ１００のハードドライブ上のメモリ量を減らすことができる。
【００６２】
例示的な側面では、アンチウィルス記録セット生成モジュール１２６は、アンチウィルス記録セットを以下のように生成しうる。ファイルデータベース１２３における悪意あるファイルに対して、アンチウィルス記録データベース１２２におけるアンチウィルス記録中から、最も有効性の高いアンチウィルス記録が選択されうる。かかる記録を用いて（以前にアンチウィルスアプリケーション１２１によって収集されたアンチウィルス記録の使用についての統計情報に基づいて）、アンチウィルスアプリケーション１２１は、かかるファイルを悪意あるものとして認識する。選択された記録は、アンチウィルス記録セット生成モジュール１２６によってアンチウィルスセットに追加される。ファイルデータベース１２３における次のファイルに対しても同様に、アンチウィルス記録データベース１２２におけるこれらのアンチウィルス記録中から最も有効性の高いアンチウィルス記録が選択されうる。かかる記録を用いて、アンチウィルスアプリケーション１２１は、前述のファイルを悪意あるファイルであると認識する。なお、選択されたアンチウィルス記録がすでにモジュール１２６によって生成されたアンチウィルス記録セットに存在する場合は、アンチウィルス記録は再度追加されない（重複を排除するため）。一方、選択したアンチウィルス記録がアンチウィルス記録セットに存在しない場合は、アンチウィルス記録がモジュール１２６によってアンチウィルス記録セットに追加される。アンチウィルス記録セット生成モジュール１２６は、ファイルデータベース１２３における各悪意あるファイルに対する前述のアクションを実行する。このように生成されたアンチウィルス記録は、モジュール１２６によってユーザのコンピュータ１００に、特にアンチウィルス記録データベース１０２に送信される。これにより、ユーザのコンピュータ１００上の悪意あるファイルを検出するためのアンチウィルスプログラム１０１によって送信されるアンチウィルス記録セットにおけるアンチウィルス記録をその後も使用することができる。
【００６３】
図２は、本発明の側面に係り、ユーザのコンピュータ上の悪意のあるファイルを検出するために使用されるアンチウィルス記録セットを生成する方法の一例を示す図である。ステップ２０１では、アンチウィルス記録生成モジュール１２５は、ファイルデータベース１２３から各悪意あるファイルのアンチウィルス記録セットを生成し、当該セットにおける各アンチウィルス記録は、アンチウィルス記録を生成する上記の方法の何れかを使用して生成されうる。生成されたアンチウィルス記録は、モジュール１２５によってアンチウィルス記録データベース１２２に保存される。ステップ２０２では、アンチウィルスアプリケーション１２１は、アンチウィルス記録データベース１２２においてアンチウィルス記録の使用についての統計情報を収集する。アンチウィルスアプリケーション１２１は、ファイルデータベース１２３からのファイル（悪意あるものだけではなく全てのファイル）中の悪意あるファイルを検出するために、アンチウィルス記録データベース１２２におけるアンチウィルス記録を使用する。なお、アンチウィルスアプリケーション１２１による悪意あるファイルの検出とは、アンチウィルスアプリケーション１２１が使用するアンチウィルス記録に基づいてファイルに悪意あると認識されることを意味する。アンチウィルス記録の使用について収集された統計情報は、アンチウィルスアプリケーション１２１によって統計情報データベース１２４に保存される。次に、ステップ２０３では、アンチウィルス記録有効性評価モジュール１２７は、統計情報データベース１２４に含まれているアンチウィルス記録の使用についての統計情報に基づいて、アンチウィルス記録データベース１２２における各アンチウィルス記録の有効性を計算する。計算された各アンチウィルス記録の有効性は、モジュール１２７によってアンチウィルス記録セット生成モジュール１２６に送信される。ステップ２０４では、ファイルデータベース１２３における各悪意あるファイルに対して、全てのアンチウィルス記録の中から最も有効性の高いアンチウィルス記録が選択されるように、モジュール１２６は、アンチウィルス記録セットを生成する。かかる記録を使用して、アンチウィルスアプリケーション１２１は、そのファイルは悪意あるものとして認識する。選択されたアンチウィルス記録は、アンチウィルス記録セット生成モジュール１２６によって前述のアンチウィルス記録セット（生成中）に追加されます。アンチウィルス記録を使用してアンチウィルスアプリケーション１２１によってどのファイルに悪意あるかと認識されるかに関する情報が、統計情報データベースに格納される。この情報は、アンチウィルス記録セットを生成するために、アンチウィルス記録セット生成モジュール１２６によって必要とされる情報である。統計情報データベースは、アンチウィルス記録を使用したアンチウィルスアプリケーション１２１によって各アンチウィルス記録に対して悪意あると認識された各ファイルの識別子を保存している。ファイルデータベース１２３における各悪意あるファイルの識別子を使用して、
アンチウィルス記録セット生成モジュール１２６は、アンチウィルスアプリケーション１２１が悪意あると認識したファイルを用いて、アンチウィルス記録データベース１２２における全てアンチウィルス記録を判定します。ステップ２０５で生成されたアンチウィルス記録セットは、アンチウィルス記録セット生成モジュール１２６によってユーザのコンピュータ１００上に存在するアンチウィルス記録データベース１０２に送信される。これにより、ユーザのコンピュータ１００上の悪意あるファイルを検出するためにアンチウィルスアプリケーション１０１によるこのセットにおけるアンチウィルス記録を後からも使用できる。
【００６４】
図３は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータ・システム（パーソナル・コンピュータやサーバ等）の例を示している。例えば、コンピュータ・システム２０は、保護サーバ１２０又はシンクライアント１１０の１つ又は複数に対応し得る。図示の通り、コンピュータ・システム２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来から公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティング・システムをロードする際等、パーソナル・コンピュータ２０の要素間の情報の伝達を担う基本的な手順を含む。
【００６５】
パーソナル・コンピュータ２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、及び光学式ドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、及び光学式ドライブインターフェース３４それぞれを横切るシステムバス２３と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びパーソナル・コンピュータ２０の他のデータのストレージのための電源依存のモジュールである。
【００６６】
本発明は、ハードディスク２７、取り外し可能な磁気ディスク２９及び取り外し可能な光学ディスク３１を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたし。また、これはコントローラ５５を介してシステムバス２３に接続される。
【００６７】
コンピュータ２０は、ファイルシステム３６を有し、記録されたオペレーティング・システム３５を保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、及びプログラムデータ３９を有する。ユーザは、入力デバイス（キーボード４０、マウス４２）を用いてコマンドと情報をパーソナル・コンピュータ２０に入力することができる。他の入力デバイス（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力デバイスは、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータ・システム２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェースと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力デバイス（不図示）を接続できる。
【００６８】
パーソナル・コンピュータ２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図４に示すように、パーソナル・コンピュータ２０の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【００６９】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータ・ネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていにインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェース５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法もあることに留意されたい。
【００７０】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及びメソッドを実施し得る。ソフトウェアにおいて実装される場合は、メソッドは不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００７１】
様々な実施形態で、本発明のシステム及びメソッドが、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図６において詳述したもの等）。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【００７２】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【００７３】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【００７４】
本明細書で開示された様々な側面は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、側面及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
0006353498.tif 000006
【図２】
0006353498.tif 000007
【図３】
0006353498.tif 000008