(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6353498
(24)【登録日】2018年6月15日
(45)【発行日】2018年7月4日
(54)【発明の名称】ユーザ機器上でマルウェアを検出するためにアンチウィルス記録セットを生成するシステム及び方法
(51)【国際特許分類】
G06F 21/56 20130101AFI20180625BHJP
【FI】
G06F21/56
【請求項の数】21
【外国語出願】
【全頁数】20
(21)【出願番号】特願2016-166894(P2016-166894)
(22)【出願日】2016年8月29日
(65)【公開番号】特開2017-123143(P2017-123143A)
(43)【公開日】2017年7月13日
【審査請求日】2017年2月10日
(31)【優先権主張番号】2015141552
(32)【優先日】2015年9月30日
(33)【優先権主張国】RU
(31)【優先権主張番号】15/044,435
(32)【優先日】2016年2月16日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】515348585
【氏名又は名称】エーオー カスペルスキー ラボ
【氏名又は名称原語表記】AO Kaspersky Lab
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK特許業務法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】セルゲイ ブイ. プロクディン
【審査官】
金沢 史明
(56)【参考文献】
【文献】
特開2005−157650(JP,A)
【文献】
米国特許出願公開第2015/0096027(US,A1)
【文献】
米国特許出願公開第2014/0143869(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
アンチウィルス記録セットを生成する方法であって、
保持ステップと、第1生成ステップと、計算ステップと、第2生成ステップと、送信ステップとを備え、
前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、
第1生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも1つのアンチウィルス記録を生成し、
前記少なくとも1つのアンチウィルス記録とは、対応する前記悪意あるファイルを検出するためにアンチウィルスアプリケーションによって使用される情報を含むもので、
前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された悪意あるファイル数及び前記アンチウィルス記録による誤判定数に基づいて、前記各アンチウィルス記録の有効性を計算し、
第2生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、
前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、前記最も有効性の高いアンチウィルス記録とは、前記アンチウィルス記録によって検出された悪意あるファイル数及び前記誤判定数の関数として計算されるもので、
前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、
ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、
前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、
方法。
【請求項2】
前記アンチウィルス記録は、以下の1又は複数を含む、請求項1に記載の方法。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【請求項3】
前記計算ステップは、前記サーバ上で動作する前記アンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む、
請求項1に記載の方法。
【請求項4】
各悪意あるファイルに対する前記アンチウィルス記録は、前記悪意あるファイルのファイル属性のセットから計算された局所性鋭敏型ハッシュを含む、
請求項1に記載の方法。
【請求項5】
各悪意あるファイルに対する前記アンチウィルス記録は、複数の局所性鋭敏型ハッシュを含み、前記複数の局所性鋭敏型ハッシュとは、前記悪意あるファイルのファイル属性の異なるセットから計算された少なくとも2つの局所性鋭敏型ハッシュを備える、
請求項1に記載の方法。
【請求項6】
前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された悪意あるファイル数と、前記アンチウィルス記録による誤判定数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される、
請求項1に記載の方法。
【請求項7】
前記アンチウィルス記録の有効性は、各検出された悪意あるファイルのポピュラリティ値の関数として更に計算され、前記ポピュラリティ値とは、各悪意あるファイルが検出されたコンピュータ上のユーザ数に基づく重み係数である、
請求項6に記載の方法。
【請求項8】
アンチウィルス記録セットを生成するシステムであって、
ハードウェア・プロセッサを備えるサーバを備え、
前記ハードウェア・プロセッサは、保持ステップと、第1生成ステップと、計算ステップと、第2生成ステップと、送信ステップとを実行するように構成され、
前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、
第1生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも1つのアンチウィルス記録を生成し、
前記少なくとも1つのアンチウィルス記録とは、対応する前記悪意あるファイルを検出するためにアンチウィルスアプリケーションによって使用される情報を含むもので、
前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された悪意あるファイル数及び前記アンチウィルス記録による誤判定数に基づいて、前記各アンチウィルス記録の有効性を計算し、
第2生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、
前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とは、前記アンチウィルス記録によって検出された悪意あるファイル数及び前記誤判定数の関数として計算されるもので、
前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、
ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、
前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、
システム。
【請求項9】
前記アンチウィルス記録は、以下の1又は複数を含む、請求項8に記載のシステム。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【請求項10】
前記計算ステップは、前記サーバ上で動作する前記アンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む、
請求項8に記載のシステム。
【請求項11】
各悪意あるファイルに対する前記アンチウィルス記録は、前記悪意あるファイルのファイル属性のセットから計算された局所性鋭敏型ハッシュを含む、
請求項8に記載のシステム。
【請求項12】
各悪意あるファイルに対する前記アンチウィルス記録は、複数の局所性鋭敏型ハッシュを含み、前記複数の局所性鋭敏型ハッシュとは、前記悪意あるファイルのファイル属性の異なるセットから計算された少なくとも2つの局所性鋭敏型ハッシュを備える、
請求項8に記載のシステム。
【請求項13】
前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された悪意あるファイル数と、前記アンチウィルス記録による誤判定数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される、
請求項8に記載のシステム。
【請求項14】
前記アンチウィルス記録の有効性は、各検出された悪意あるファイルのポピュラリティ値の関数として更に計算され、前記ポピュラリティ値とは、各悪意あるファイルが検出されたコンピュータ上のユーザ数に基づく重み係数である、
請求項13に記載のシステム。
【請求項15】
サーバとして実施されるコンピュータが実行可能な、アンチウィルス記録セットを生成する指示を記憶している不揮発性コンピュータ可読媒体であって、
前記指示は、前記コンピュータに保持ステップと、第1生成ステップと、計算ステップと、第2生成ステップと、送信ステップとを実行させるもので、
前記保持ステップでは、前記サーバが悪意あるファイルのデータベースを保持し、
第1生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも1つのアンチウィルス記録を生成し、
前記少なくとも1つのアンチウィルス記録とは、対応する前記悪意あるファイルを検出するためにアンチウィルスアプリケーションによって使用される情報を含むもので、
前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された悪意あるファイル数及び前記アンチウィルス記録による誤判定数に基づいて、前記各アンチウィルス記録の有効性を計算し、
第2生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、
前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とは、前記アンチウィルス記録によって検出された悪意あるファイル数及び前記誤判定数の関数として計算されるもので、
前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、
ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、
前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、
媒体。
【請求項16】
前記アンチウィルス記録は、以下の1又は複数を含む、請求項15に記載の媒体。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【請求項17】
前記計算ステップは、前記サーバ上で動作する前記アンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む、
請求項15に記載の媒体。
【請求項18】
各悪意あるファイルに対する前記アンチウィルス記録は、前記悪意あるファイルのファイル属性のセットから計算された局所性鋭敏型ハッシュを含む、
請求項15に記載の媒体。
【請求項19】
各悪意あるファイルに対する前記アンチウィルス記録は、複数の局所性鋭敏型ハッシュを含み、前記複数の局所性鋭敏型ハッシュとは、前記悪意あるファイルのファイル属性の異なるセットから計算された少なくとも2つの局所性鋭敏型ハッシュを備える、
請求項15に記載の媒体。
【請求項20】
前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された悪意あるファイル数と、前記アンチウィルス記録による誤判定数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される、
請求項15に記載の媒体。
【請求項21】
前記アンチウィルス記録の有効性は、各検出された悪意あるファイルのポピュラリティ値の関数として更に計算され、前記ポピュラリティ値とは、各悪意あるファイルが検出されたコンピュータ上のユーザ数に基づく重み係数である、
請求項20に記載の媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、米国特許法35U.S.C.(a)〜(d)に規定される、2015年9月30日に出願された(参照により本明細書に組み込まれる)ロシア出願第2015141552号の優先権の利益を主張する。
【0002】
本発明は、概してコンピュータセキュリティの分野に関し、より詳細には、ユーザの計算機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するシステム及び方法に関する。
【背景技術】
【0003】
パーソナルコンピュータ、ラップトップ、タブレット、スマートフォンなどのユーザーのコンピューティングデバイスのための様々なソフトウェアアプリケーションの数は、著しい速度で増加している。多くのアプリケーションの中には、インターネットワーム、キーロガー、コンピュータウィルスなど、ユーザ機器やユーザのデータに害を及ぼす可能性がある一連の悪意あるプログラムがありうる。ユーザ機器上の悪意あるプログラムを検出し、その動作能力を遮断する(例えば、隔離したり、ユーザ機器から削除するなど)ために設計されたアンチウィルスソフトウェア等といった、コンピュータセキュリティを提供するための多くの様々な技術が開発されている。
【0004】
アンチウィルスソフトウェアは、オペレーティングシステム(OS)の悪意あるソフトウェア、悪意あるプロセス、その他の悪意あるオブジェクトを検出するための種々の方法、例えばURI(Universal Resource Identifier:file://***.exe)等を使用する。最も一般的なマルウェアの検出方法は次に示される通りである。
<署名分析>
分析されるプログラムの特定のコードセグメントと、既知のコード又は署名との対応関係を悪意あるプログラムの署名データベースから見つける技術。
<ヒューリスティック分析>
解析対象プログラムの作業をエミュレートし、API(Application Programming Interface)関数呼び出しログを生成し、生成したAPI関数呼び出しログのデータと悪意あるエミュレーションデータベース内のデータとの対応関係を見つける技術。
<事前分析>
解析対象のプログラムのシステムで起動されたAPI関数呼び出しを傍受し、API関数呼び出しログを生成し、生成したログのデータと悪意あるAPI関数呼び出しのデータベース内のデータとの対応関係を見つける技術。
【0005】
動作において、前述の方法の各々は、悪意あるオブジェクトの検出にデータを使用する必要があり、例えば、署名分析の場合、そのようなデータは署名であってもよく、ヒューリスティック分析の場合、そのようなデータはヒューリステックルールである。それにもかかわらず、例えば、単一の署名が使用される場合、アンチウィルスソフトウェアは、その構造又は引き起こされた損害と同様に、悪意あるオブジェクトアレイ全体を検出する可能性がありうる。したがって、ユーザのデータ又はコンピュータに損害を与える可能性のある悪意あるオブジェクトの数が増加すると、それに伴って悪意あるオブジェクトを検出するために使用されるデータの量も増加することとなる。多くの場合、当該データは、アンチウィルスソフトウェアのコンポーネントであるアンチウィルスライブラリの一部としてユーザのコンピュータに保存される。したがって、検出に使用されるデータ量を増やすと、ユーザ機器のハードドライブ上の使用可能なスペースが減少する可能性がありうる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
悪意あるオブジェクトの検出に使用されるデータによって占有されるハードドライブ上のスペースを最適化(削減)することを目的とした既知のアプローチはあるが、悪意あるオブジェクトの検出に使用されるデータを選択しなければならないという問題を解決することはできない。換言すると、悪意あるオブジェクトの検出に使用されるこのようなデータセットの生成は、記憶のために大きなメモリ量を必要としないが、代わりにユーザ機器の信頼性の高い保護を提供せず、又はこの問題を十分に効果的に解決することができない。したがって、悪意あるオブジェクトの検出に使用されるデータの選択の問題のより有効性の高い解決策が必要とされている。
【課題を解決するための手段】
【0007】
ユーザの計算機器上での悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するためのシステム及び方法を開示する。すなわち、本発明によれば、アンチウィルス記録セットを生成する方法であって、保持ステップと、第1生成ステップと、計算ステップと、第2生成ステップと、送信ステップとを備え、前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、第1生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも1つのアンチウィルス記録を生成し、前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された異なる悪意あるファイル数を判定することによって、前記各アンチウィルス記録の有効性を計算し、第2生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とはより多くの悪意あるファイルを検出するものであり、前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、方法が提供される。
【0008】
好ましくは、前記アンチウィルス記録は、以下の1又は複数を含む。
・悪意あるファイルの署名
・前記悪意あるファイルのエミュレーション中に前記悪意あるファイルを検出するために使用されるヒューリスティックルール
・事前検出の際に前記悪意あるファイルの検出に使用されるヒューリスティックルール
・前記悪意あるファイルの局所性鋭敏型ハッシュ
【0009】
好ましくは、前記計算ステップは、前記サーバ上で動作するアンチウィルスアプリケーションが、前記各アンチウィルス記録を使用して検出した悪意のあるファイル数に関する統計情報を収集するステップを含む。
【0010】
好ましくは、前記アンチウィルス記録の有効性は、前記アンチウィルス記録を使用して検出された異なる悪意あるファイル数の関数として計算される。
【0011】
好ましくは、前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された異なる悪意あるファイル数と、前記アンチウィルス記録による誤判定数との関数として計算される。
【0012】
好ましくは、前記アンチウィルス記録の有効性は、前記アンチウィルス記録によって検出された異なる悪意あるファイル数と、前記検出された悪意あるファイルそれぞれが属するカテゴリとの関数として計算される。
【0013】
好ましくは、前記アンチウィルス記録の有効性は、クライアント・デバイス上の各検出された悪意あるファイルのポピュラリティ値の関数として更に計算される。
【0014】
本発明の別の側面によれば、アンチウィルス記録セットを生成するシステムであって、ハードウェア・プロセッサを備えるサーバを備え、前記ハードウェア・プロセッサは、保持ステップと、第1生成ステップと、計算ステップと、第2生成ステップと、送信ステップとを実行するように構成され、前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、第1生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも1つのアンチウィルス記録を生成し、前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された異なる悪意あるファイル数を判定することによって、前記各アンチウィルス記録の有効性を計算し、第2生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とはより多くの悪意あるファイルを検出するものであり、前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、システムが提供される。
【0015】
本発明の別の側面によれば、コンピュータが実行可能な、アンチウィルス記録セットを生成する指示を記憶している不揮発性コンピュータ可読媒体であって、前記指示は、前記コンピュータに保持ステップと、第1生成ステップと、計算ステップと、第2生成ステップと、送信ステップとを実行させるもので、前記保持ステップでは、サーバが悪意あるファイルのデータベースを保持し、第1生成ステップでは、前記サーバが前記悪意あるファイルごとに少なくとも1つのアンチウィルス記録を生成し、前記計算ステップでは、前記サーバが前記各アンチウィルス記録を使用して検出された異なる悪意あるファイル数を判定することによって、前記各アンチウィルス記録の有効性を計算し、第2生成ステップは、前記サーバが最も有効性の高いアンチウィルス記録セットを生成するステップであって、選択ステップと、判定ステップと、追加ステップとを備え、前記選択ステップでは、前記悪意あるファイルの検出に使用される最も有効性の高いアンチウィルス記録を選択し、より有効性の高いアンチウィルス記録とはより多くの悪意あるファイルを検出するものであり、前記判定ステップでは、前記選択されたアンチウィルス記録が既に前記セットにあるかどうかを判定し、ない場合には、前記追加ステップにおいて、前記セットに前記アンチウィルス記録を追加し、前記送信ステップでは、前記サーバが、最も有効性の高い前記アンチウィルス記録セットをクライアント・デバイスに送信する、媒体が提供される。
【0016】
本発明の例示的な側面に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された側面の広範な概要ではなく、全ての側面の重要な又は重要な要素を特定することも本発明の任意の又は全ての側面の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、1つ又は複数の側面を簡略化した形で提示することである。前述の目的を達成するために、本発明の1つ又は複数の側面が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【0017】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本発明の1つ又は複数の例示的な側面を示し、詳細な説明とともに、それらの基本原理及び実施形態を説明する役割を果たすものである。
【
図1】ユーザ機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するための例示的なシステムの図を示す。
【
図2】ユーザ機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成する例示的な方法のフローチャートを示す。
【
図3】システム及び方法に係る開示された側面を実施することができる汎用コンピュータ・システムの例を示す。
【発明を実施するための形態】
【0018】
本発明の例示的な側面は、ユーザの計算機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するためのシステム、方法、及びコンピュータプログラム製品に関連して本明細書で説明される。当業者であれば、以下の説明は例示的なものに過ぎず、決して限定するものではないことを理解するであろう。他の側面は、本開示の利益を有する当業者には容易に示唆されるであろう。以下、添付の図面に例示されている例示的な側面の実施形態を詳細に参照する。同一の符号は、図面全体にわたって可能な範囲で使用され、以下の説明は、同じ又は同様の項目を参照するために使用される。
【0019】
最初に、本発明の様々な例示的な側面を説明する際に使用される様々な用語の定義を以下に提供する。
【0020】
悪意あるアプリケーションとして、インターネットワーム、キーロガー、コンピュータウィルスなど、コンピュータ又はユーザのコンピュータにおけるデータに損害を与える可能性のあるアプリケーションが含まれうる。引き起こされる損害は、盗難の目的でコンピュータに保存されているデータを含むコンピュータリソースへの不正アクセス、及びデータストレージ、計算実行等を含むリソースの違法な使用等が挙げられる。
【0021】
信頼できるアプリケーションには、コンピュータ又はそのユーザに損害を与えないアプリケーションが含まれうる。信頼できるアプリケーションは、信頼できるソフトウェア製造元によって開発され、信頼できるソースからダウンロードされたアプリケーション(信頼できるサイトのデータベースにリストされているサイトなど)、又は識別子(アプリケーションファイルのMD5など)が信頼できるアプリケーションのデータベースに格納されているアプリケーション等が挙げられる。デジタル証明書などの製造元の識別子も、信頼できるアプリケーションのデータベースに格納されうる。
【0022】
信頼できないアプリケーションには、信頼されていないアプリケーションだけでなく、アンチウィルスアプリケーション等で悪意あるものとしても認識されないアプリケーションも含まれうる。
【0023】
悪意あるファイルには、実行可能ファイル、構成ファイル、実行中にアプリケーションによって使用されるその他のファイルなど、悪意あるアプリケーションのコンポーネントが含まれうる。
【0024】
信頼できないファイルには、信頼できないアプリケーションのコンポーネントであるファイルが含まれうる。
【0025】
信頼できるファイルには、信頼できるアプリケーションのコンポーネントであるファイルが含まれうる。
【0026】
署名分析には、悪意あるプログラムを検出するために、プログラムコードの特定のセグメントと既知コードである署名との対応関係を悪意あるプログラムの署名データベースから見つける技術が含まれうる。この技術は、悪意あるプログラムのファイルを検出し、計算機器のRAM内の悪意あるコードを検出するものであることに留意されたい。
【0027】
ヒューリスティック分析には、プログラムの実行をエミュレート(特定のハードウェア及びソフトウェアを使用して実行するために適合されたプログラムコードを実行し、他とは異なるハードウェア及びソフトウェアを使用すること)して、API関数呼び出しログを生成し、生成されたAPI関数呼び出しログのデータと悪意あるプログラムのエミュレーションデータベースにおけるデータとの対応関係を見つけて、悪意あるプログラムを検出する技術が含まれうる。
【0028】
事前分析には、プログラムのオペレーティングシステムで起動されたAPI関数呼び出しを傍受し、API関数呼び出しログを生成し、生成されたログからのデータと、悪意あるプログラムのAPI関数呼び出しのデータベースにおけるデータとの対応関係を見つけて、悪意あるプログラムを検出する技術が含まれうる。
【0029】
アンチウィルス記録には、悪意あるファイルを検出するためにアンチウィルスアプリケーションが必要とする情報が含まれている場合がある。これは、例えば、署名、ヒューリステックルール(ヒューリスティック分析及び事前分析など)、ファイルのチェックサム又はハッシュ(フレキシブルハッシュ又は局所性鋭敏型ハッシュ等のファイルハッシュ(軽微なファイル修正に対して不変))が挙げられる。
【0030】
アンチウィルス記録の使用についての統計情報には、アンチウィルス記録を使用してアンチウィルスアプリケーションによって検出された悪意あるファイル数に関する情報、及びアンチウィルス記録の補助により検出された各ファイルの識別子(例えば、MD5、SHA−1、SHA−2等といったアルゴリズムに基づいて計算されたチェックサム、又はファイル名等の文字列)が含まれうる。統計情報収集は、悪意あるファイルを検出するためにアンチウィルス記録を使用するアンチウィルスアプリケーションによって(悪意あるファイルの検出中に)行うことができる。
【0031】
アンチウィルス記録の有効性は数値となりうる。この数値が高いほど、ファイルデータベース内のファイル中にそのアンチウィルス記録を使用してアンチウィルスアプリケーションによって検出された悪意あるファイルが多いことを示している。
【0032】
図1は、ユーザ機器上の悪意あるファイルの検出に使用されるアンチウィルス記録セットを生成するための例示的なシステムの図を示している。ユーザのコンピュータ100には、コンピュータ100における悪意あるファイルを検出するように構成されているアンチウィルスアプリケーション101がインストールされている。アンチウィルスアプリケーション101は、同様に、ユーザのコンピュータ100上に常駐することができるアンチウィルス記録データベース102に格納されているアンチウィルス記録を使用する。ユーザのコンピュータ100は、リモートサーバ120とネットワーク110(例えば、インターネットやローカルエリアネットワーク等)を介して接続されている。例示的な側面では、リモートサーバ120は、単一の計算機器であってもよい。別の例示的な側面では、リモートサーバ120は、本明細書に開示されるシステム及び方法の機能を実行するために分散型計算(コード実行等の全体計算量を分割し、複数の計算機器に分散させること)を実行する計算機器の集合であってもよい。
【0033】
例示的な側面において、リモートサーバ120は、アンチウィルスアプリケーション121、アンチウィルス記録生成モジュール125、アンチウィルス記録セット生成モジュール126、アンチウィルス記録有効性評価モジュール127、アンチウィルス記録データベース122、ファイルデータベース123、及び統計情報データベース124を含みうる。
【0034】
なお、本発明の例示的な側面において、アンチウィルスアプリケーション101とアンチウィルスアプリケーション121は、悪意あるオブジェクトと収集統計情報の検出という同じ機能(以下に示す)を実行可能であることに留意されたい。
【0035】
例示的な側面では、ファイルデータベース123は、保存されるファイルが悪意あるか、信頼できるか、又は信頼できないかという情報だけでなく、悪意あるファイル、信頼できるファイル、信頼できないファイルといったファイルを記憶するように構成されている。例示的な側面では、ファイルは、信頼できる、悪意ある、又は信頼できないかどうかについての情報(表記)とともにコンピュータセキュリティの専門家によってファイルデータベース123に追加されうる。更に別の例示的な側面では、上述のファイル追加において、ファイル識別子(例えば、MD5、SHA−1、及びSHA−2の何れかのアルゴリズムに基づいて計算されたファイルのチェックサム、又はファイル名等の文字列)が、ファイルデータベース123に格納されてもよい。
【0036】
例示的な側面では、アンチウィルスアプリケーション121は、悪意あるファイルを検出するように構成されている。悪意あるファイルを検出するために、アンチウィルスアプリケーション121は、アンチウィルス記録データベース122におけるアンチウィルス記録を使用し、アンチウィルス記録データベース122は、アンチウィルス記録を記憶するように構成されている。アンチウィルス記録は、署名分析、ヒューリスティック分析又は事前分析を行う過程において、アンチウィルスアプリケーション121によって使用されうる。
【0037】
1つの例示的な態様では、アンチウィルス記録がフレキシブルハッシュ(局所性鋭敏型ハッシュ)を含んでいてもよい。「フレキシブルコンボリューション」としても知られているフレキシブルハッシュは、「ハッシュサム(ハッシュ)」を構成し、これは、ファイル属性セットから計算され且つファイル内の微小な変化に対して耐性がある(例えば、ファイルから計算されたハッシュサムは、属性の1つが異なる値を有するファイルから計算されたハッシュサムに一致する)。アンチウィルス記録が悪意あるファイルのフレキシブルハッシュを含む場合、アンチウィルスアプリケーション121は、悪意あるファイルを検出するために、ファイルの分析中に(ファイル属性セットから)分析されたファイルのフレキシブルハッシュを計算し、これをアンチウィルス記録におけるフレキシブルハッシュと比較する。計算されたフレキシブルハッシュとアンチウィルス記録におけるフレキシブルハッシュが一致する場合、アンチウィルスアプリケーション121は、ファイルに悪意あるものとして認識且つ分析する。例示的な側面では、アンチウィルス記録は、フレキシブルハッシュ以外の、ハッシュを計算する方法に関する情報(例えば文字の識別子等)を含みうるもので、これはファイルの分析中にアンチウィルスアプリケーション121によって使用されることとなる。悪意あるファイルの検出(フレキシブルハッシュを含むアンチウィルス記録を使用するもの)に関する上述の方法は、ユーザのコンピュータ100上に常駐されるアンチウィルスアプリケーション101によって使用されうることに留意されたい。
【0038】
例示的な側面では、アンチウィルス記録生成モジュール125は、アンチウィルス記録を生成して、アンチウィルス記録データベース122に記憶するように構成されている。アンチウィルス記録生成モジュール125は、(アンチウィルス記録の補助により検出する必要がある)ファイルと、アンチウィルス記録を生成する次の何れかの方法を使用する。
【0039】
例示的な側面では、アンチウィルス記録生成モジュール125は、悪意あるファイルを検出するためのアンチウィルス記録を生成する。当該記録は、指定されたファイルの署名(ファイルのバイト列)を含むもので、これにより、そのファイルがアンチウィルス記録における署名を含む場合、アンチウィルスアプリケーション121によってそのファイルは悪意あると認識される。
【0040】
別の例示的な側面では、アンチウィルス記録生成モジュール125は、悪意あるファイルを検出するためのアンチウィルス記録を生成する。当該記録は、ヒューリステックルールを含み、これによりヒューリステックルールの論理に基づいてアンチウィルスアプリケーション121によって前記ファイルが悪意あるものとして認識される。これは、ファイルのヒューリスティック分析中にプログラムのエミュレートされた実行中(ファイルが実行可能であれば)に生成されるAPI関数呼び出しログに適用される。例示的な側面では、参照により本明細書に組み込まれる、公知の米国特許第9,147,073号に記載されている技術を使用して、そのようなアンチウィルス記録を生成することができる。
【0041】
更に別の例示的な側面では、アンチウィルス記録生成モジュール125は、悪意あるファイルを検出するためのアンチウィルス記録を生成する。当該記録は、ヒューリステックルールを含み、これによりヒューリステックルールの論理に基づいてアンチウィルスアプリケーション121によって前記ファイルが悪意あるものとして認識される。これは、ファイルの事前分析中にプログラムのオペレーティング・システム上で開始されたAPI関数呼び出しの傍受の際に実行中に生成されるAPI関数呼び出しログに適用される。かかる技術の一例として、参照により本明細書に組み込まれる、公知の米国特許第8,566,943号に記載されている技術を使用して、そのようなアンチウィルス記録を生成することができる。
【0042】
更に別の例示的な側面では、アンチウィルス記録生成モジュール125は、ファイルのフレキシブルハッシュを含む悪意あるファイルの検出のためのアンチウィルス記録を生成する。当該記録は、ファイルのフレキシブルハッシュを含み、計算されたファイルのフレキシブルハッシュがアンチウィルス記録におけるフレキシブルハッシュと一致する場合、そのファイルはアンチウィルスアプリケーション121によって悪意あるものとして認識される。
【0043】
更に別の例示的な側面では、アンチウィルス記録生成モジュール125は、同じ悪意あるファイルに対するいくつかのアンチウィルス記録を生成するように構成され、これは、アンチウィルスアプリケーション121によって悪意あると認識できるようなファイルを記録するという(例えば、アンチウィルス記録を生成する上述のいくつかの方法)手法である。例示的な側面では、アンチウィルス記録生成モジュール125は、同一のファイルを検出するための異なるフレキシブルハッシュを含むアンチウィルス記録を生成することができる(かかるアンチウィルス記録は、異なる生成方法で生成されたものとする)。これらのアンチウィルス記録のそれぞれは、独自のハッシュ計算方法(たとえば、以下に例示された方法の1つ)を使用して生成される。例示的な側面では、アンチウィルス記録生成モジュール125は、公知の米国特許第8,955,120号に記載されているアンチウィルス記録生成のためのフレキシブルハッシュの計算アルゴリズムを使用してもよい。フレキシブルハッシュの計算に使用されるファイル属性セットは、異なっていてもよい。
【0044】
例えば、フレキシブルハッシュを計算するために、以下のファイル属性セットが使用されうる。ファイルサイズ、ファイルイメージサイズ、ファイルセクション数、ファイルセクションのRVA(関連仮想アドレス)、エントリポイントのRVA、サブシステムのタイプ、COFF(共通オブジェクトファイルフォーマット)ヘッダ、ディレクトリテーブルオブジェクトの相互配置、ファイルセクションによるディレクトリテーブルオブジェクトの配置、ファイル生成に使用されるコンパイラのタイプ、文字の頻度特性(印刷文字を含む)と呼ばれるファイル内の文字に遭遇する頻度、ファイル行の集合、及びその数。各ファイルセクションのファイル属性セットは、以下の属性を含みうる。セクションの開始及び終了の情報エントロピー、セクションの開始及び終了の非ゼロバイトの平均数、セクションの仮想サイズ、物理セクションのサイズ。
【0045】
別の例では、フレキシブルハッシュを計算するために、ファイルサイズ、ファイルイメージサイズ、ファイルセクションの数、ファイルセクションのRVA、エントリポイントのRVA、サブシステムのタイプ、COFFヘッダからのファイル特性、ファイル生成に使用されるコンパイラのタイプが使用されうる。
【0046】
更に別の例では、フレキシブルハッシュを計算するために、ファイルサイズ、ファイルイメージサイズ、サブシステムのタイプ、文字の頻度特性(文字に遭遇する頻度、ファイル行の集合とその番号)が使用されうる。
【0047】
更に別の例では、フレキシブルハッシュを計算するために、以下のファイル属性セットが使用されうる。ファイルサイズ、ファイルイメージサイズ、ファイルセクションの数、ファイルセクション、エントリポイントのRVA、タイプCOFFヘッダからのファイル特性、ディレクトリテーブルオブジェクトの相互配置、ファイルセクション間のディレクトリテーブルオブジェクトの配置、ファイル生成に使用されるコンパイラのタイプ、文字の頻度特性。各ファイルセクションのファイル属性セットは、以下を含みうる。セクションの開始及び終了の情報エントロピー、セクションの開始及び終了の非ゼロバイトの平均数、セクションの仮想サイズ、セクションの物理的なサイズ。
【0048】
更に別の例では、フレキシブルハッシュを計算するために、ファイルサイズ、ファイルイメージサイズ、サブシステムのタイプ、COFFヘッダからのファイル特性、ファイルの生成に使用されるコンパイラのタイプ、文字の頻度特性が使用されうる。
【0049】
別の例では、フレキシブルハッシュを計算するために、上述の属性の様々な他の組合せが使用されうる。
【0050】
更に別の例示的な側面では、アンチウィルス記録生成モジュール125によって、コンピュータセキュリティの専門家は、上述の検出方法(例えば、署名分析、ヒューリスティック分析等)の1つを用いて(例えば、ユーザのインターフェースを介して)アンチウィルス記録を生成することができる。
【0051】
例示的な側面では、アンチウィルス記録生成モジュール125は、生成されたアンチウィルス記録をアンチウィルス記録データベース122に格納する。
【0052】
例示的な側面では、上述の方法のうちの1つ以上を使用して、1つ又は複数のアンチウィルス記録を生成するために、ファイルデータベース123における悪意あるファイルを使用する。これは、アンチウィルス記録生成モジュール125がアンチウィルスアプリケーション121を認識できることに基づくものである。
【0053】
例示的な側面では、アンチウィルスアプリケーション121は、悪意あるファイルの検出に使用されるアンチウィルス記録の使用についての統計情報を収集するように構成される。アンチウィルス記録の使用についての統計情報は、アンチウィルス記録データベース122だけでなくファイルデータベース123を使用して収集され、具体的には、ファイルデータベース123におけるファイル中でのアンチウィルス記録データベース122におけるアンチウィルス記録を使用して検出される。アンチウィルスアプリケーション121は、アンチウィルス記録の使用時に収集された統計情報を、統計情報データベース124に送信する。アンチウィルスアプリケーション121は、アンチウィルス記録を使用することで、既知の悪意あるファイル(ファイルデータベース123における悪意あるファイル等)だけでなく、ファイルデータベース123における信頼できるファイル(その検出が「誤警報」又は「誤検出」)や信頼できないファイルをも検出しうることに留意されたい。
【0054】
例示的な側面では、統計情報データベース124は、アンチウィルスアプリケーション121によって収集されたアンチウィルス記録の使用についての統計情報を保存するように構成される。
【0055】
例示的な側面では、アンチウィルス記録有効性評価モジュール127は、少なくとも1つのアンチウィルス記録の有効性を判定(計算)するように構成される。当該モジュール127は、アンチウィルスアプリケーション121がアンチウィルス記録の使用についての統計情報を収集したアンチウィルス記録データベース122における各アンチウィルス記録の有効性を計算し、統計情報データベース124にアンチウィルス記録の使用に関するこの統計情報を保存する。例示的な側面では、アンチウィルス記録の有効性は、以下の式を使用して計算することができる。
【数1】
ここでKは、アンチウィルス記録の有効性であり、Uは前述のアンチウィルス記録を使用してアンチウィルスアプリケーション121によって悪意あると認識されたファイル数(一例ではファイルデータベース123におけるもの)である。
【0056】
更に別の例示的な側面では、アンチウィルス記録の有効性は、以下の式を使用して計算することができる。
【数2】
ここで、Kはアンチウィルス記録の有効性であり、Uは前述のアンチウィルス記録を用いてアンチウィルスアプリケーション121によって悪意あると認識されたファイル数(一例ではファイルデータベース123におけるもの)であり、fは係数であってアンチウィルス記録を用いてアンチウィルスアプリケーション121によって悪意あると認識されたファイルのうち、信頼できるファイルがある場合には値0をとり、そうでない場合には値1をとる係数である。
【0057】
更に別の例示的な側面では、アンチウィルス記録の有効性は、以下の式を使用して計算することができる。
【数3】
ここで、Kはアンチウィルス記録の有効性であり、nはアンチウィルス記録を用いて悪意あると認識されたファイルの総数であり、a_iは(i番目ファイルに対して)例えば以下の値を取ることができる係数である。
・悪意あるファイルの場合は値「2」
・信頼できるファイルの場合は値「−1000」
・信頼できないファイルの場合は値「0.5」。
【0058】
上記の式で使用されている悪意あるファイル、信頼できるファイル又は信頼できないファイルの何れかの情報は、ファイルデータベース122における、アンチウィルス記録の使用についての統計情報からのファイル識別子を使用して取得することができる。
【0059】
更に別の例示的な側面では、各ファイルに加えてファイルデータベース122は、その重み付け係数p−popularity(指定のファイルが見つかったコンピュータ上のユーザ数)を格納することができる。例示的な側面では、コンピュータセキュリティの専門家が各ファイルの重み係数をファイルデータベース122に追加することができる。かかる場合、アンチウィルス記録の有効性は、次の式を使用して計算することができる。
【数4】
ここで、Kは、アンチウィルス記録の有効性であり、nはアンチウィルス記録を用いて悪意あると認識されたファイルの合計数であり、p_iは、i番目のファイルのポピュラリティ値であり、a_iは、次の値(ファイルi番目の場合)を取ることができる係数である。
・悪意あるファイルの場合は値「1」
・信頼できるファイルの場合は値「−100」
・信頼できないファイルの場合は値「0」。
【0060】
上述の式で使用されるファイルが悪意あるか、信頼できるか、又は信頼できないか否かの情報、及び各ファイルの係数p_iは、ファイルデータベース122においてアンチウィルス記録の使用についての統計情報からのファイル識別子によって取得されうる。
【0061】
例示的な側面では、アンチウィルス記録セット生成モジュール126は、ユーザのコンピュータ100に、特にアンチウィルス記録データベース102にアンチウィルス記録セットを送信するために、アンチウィルス記録セットを生成するように構成されている。アンチウィルス記録セットを生成するために、モジュール126は、アンチウィルス記録データベース122において上記各アンチウィルス記録の有効性とともにモジュール127によって提供されるアンチウィルス記録を利用することができる。アンチウィルス記録セットを生成する目的は、ファイルデータベース123における全ての悪意あるファイルが、上記アンチウィルス記録セットを利用するアンチウィルスアプリケーション121を利用して検出することができるように、アンチウィルス記録セットを生成することである。アンチウィルス記録セットは、最小限のアンチウィルス記録から構成される。換言すると、アンチウィルス記録データベース102に格納されるため、アンチウィルスアプリケーション101が使用するアンチウィルス記録によって占有されるはずのユーザのコンピュータ100のハードドライブ上のメモリ量を減らすことができる。
【0062】
例示的な側面では、アンチウィルス記録セット生成モジュール126は、アンチウィルス記録セットを以下のように生成しうる。ファイルデータベース123における悪意あるファイルに対して、アンチウィルス記録データベース122におけるアンチウィルス記録中から、最も有効性の高いアンチウィルス記録が選択されうる。かかる記録を用いて(以前にアンチウィルスアプリケーション121によって収集されたアンチウィルス記録の使用についての統計情報に基づいて)、アンチウィルスアプリケーション121は、かかるファイルを悪意あるものとして認識する。選択された記録は、アンチウィルス記録セット生成モジュール126によってアンチウィルスセットに追加される。ファイルデータベース123における次のファイルに対しても同様に、アンチウィルス記録データベース122におけるこれらのアンチウィルス記録中から最も有効性の高いアンチウィルス記録が選択されうる。かかる記録を用いて、アンチウィルスアプリケーション121は、前述のファイルを悪意あるファイルであると認識する。なお、選択されたアンチウィルス記録がすでにモジュール126によって生成されたアンチウィルス記録セットに存在する場合は、アンチウィルス記録は再度追加されない(重複を排除するため)。一方、選択したアンチウィルス記録がアンチウィルス記録セットに存在しない場合は、アンチウィルス記録がモジュール126によってアンチウィルス記録セットに追加される。アンチウィルス記録セット生成モジュール126は、ファイルデータベース123における各悪意あるファイルに対する前述のアクションを実行する。このように生成されたアンチウィルス記録は、モジュール126によってユーザのコンピュータ100に、特にアンチウィルス記録データベース102に送信される。これにより、ユーザのコンピュータ100上の悪意あるファイルを検出するためのアンチウィルスプログラム101によって送信されるアンチウィルス記録セットにおけるアンチウィルス記録をその後も使用することができる。
【0063】
図2は、本発明の側面に係り、ユーザのコンピュータ上の悪意のあるファイルを検出するために使用されるアンチウィルス記録セットを生成する方法の一例を示す図である。ステップ201では、アンチウィルス記録生成モジュール125は、ファイルデータベース123から各悪意あるファイルのアンチウィルス記録セットを生成し、当該セットにおける各アンチウィルス記録は、アンチウィルス記録を生成する上記の方法の何れかを使用して生成されうる。生成されたアンチウィルス記録は、モジュール125によってアンチウィルス記録データベース122に保存される。ステップ202では、アンチウィルスアプリケーション121は、アンチウィルス記録データベース122においてアンチウィルス記録の使用についての統計情報を収集する。アンチウィルスアプリケーション121は、ファイルデータベース123からのファイル(悪意あるものだけではなく全てのファイル)中の悪意あるファイルを検出するために、アンチウィルス記録データベース122におけるアンチウィルス記録を使用する。なお、アンチウィルスアプリケーション121による悪意あるファイルの検出とは、アンチウィルスアプリケーション121が使用するアンチウィルス記録に基づいてファイルに悪意あると認識されることを意味する。アンチウィルス記録の使用について収集された統計情報は、アンチウィルスアプリケーション121によって統計情報データベース124に保存される。次に、ステップ203では、アンチウィルス記録有効性評価モジュール127は、統計情報データベース124に含まれているアンチウィルス記録の使用についての統計情報に基づいて、アンチウィルス記録データベース122における各アンチウィルス記録の有効性を計算する。計算された各アンチウィルス記録の有効性は、モジュール127によってアンチウィルス記録セット生成モジュール126に送信される。ステップ204では、ファイルデータベース123における各悪意あるファイルに対して、全てのアンチウィルス記録の中から最も有効性の高いアンチウィルス記録が選択されるように、モジュール126は、アンチウィルス記録セットを生成する。かかる記録を使用して、アンチウィルスアプリケーション121は、そのファイルは悪意あるものとして認識する。選択されたアンチウィルス記録は、アンチウィルス記録セット生成モジュール126によって前述のアンチウィルス記録セット(生成中)に追加されます。アンチウィルス記録を使用してアンチウィルスアプリケーション121によってどのファイルに悪意あるかと認識されるかに関する情報が、統計情報データベースに格納される。この情報は、アンチウィルス記録セットを生成するために、アンチウィルス記録セット生成モジュール126によって必要とされる情報である。統計情報データベースは、アンチウィルス記録を使用したアンチウィルスアプリケーション121によって各アンチウィルス記録に対して悪意あると認識された各ファイルの識別子を保存している。ファイルデータベース123における各悪意あるファイルの識別子を使用して、
アンチウィルス記録セット生成モジュール126は、アンチウィルスアプリケーション121が悪意あると認識したファイルを用いて、アンチウィルス記録データベース122における全てアンチウィルス記録を判定します。ステップ205で生成されたアンチウィルス記録セットは、アンチウィルス記録セット生成モジュール126によってユーザのコンピュータ100上に存在するアンチウィルス記録データベース102に送信される。これにより、ユーザのコンピュータ100上の悪意あるファイルを検出するためにアンチウィルスアプリケーション101によるこのセットにおけるアンチウィルス記録を後からも使用できる。
【0064】
図3は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータ・システム(パーソナル・コンピュータやサーバ等)の例を示している。例えば、コンピュータ・システム20は、保護サーバ120又はシンクライアント110の1つ又は複数に対応し得る。図示の通り、コンピュータ・システム20は、CPU21と、システムメモリ22と、CPU21と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス23とを含み得る。システムバス23は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来から公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ(ROM)24及びランダムアクセスメモリ(RAM)25を含む。基本的な入出力システム(BIOS)26は、ROM24の使用によってオペレーティング・システムをロードする際等、パーソナル・コンピュータ20の要素間の情報の伝達を担う基本的な手順を含む。
【0065】
パーソナル・コンピュータ20は、データの読み書きのためのハードディスク27、取り外し可能な磁気ディスク29の読み書きのための磁気ディスクドライブ28、及びCD−ROM、DVD−ROM、その他の光学メディア等の光学ディスク31の読み書きのための光学式ドライブ30を含む。ハードディスク27、磁気ディスクドライブ28、及び光学式ドライブ30は、ハードディスクインターフェース32、磁気ディスクインターフェース33、及び光学式ドライブインターフェース34それぞれを横切るシステムバス23と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びパーソナル・コンピュータ20の他のデータのストレージのための電源依存のモジュールである。
【0066】
本発明は、ハードディスク27、取り外し可能な磁気ディスク29及び取り外し可能な光学ディスク31を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ(RAM)等の他のタイプのコンピュータ情報メディア56を使用してもよいことに留意されたし。また、これはコントローラ55を介してシステムバス23に接続される。
【0067】
コンピュータ20は、ファイルシステム36を有し、記録されたオペレーティング・システム35を保持する。また追加のプログラムアプリケーション37、他のプログラムモジュール38、及びプログラムデータ39を有する。ユーザは、入力デバイス(キーボード40、マウス42)を用いてコマンドと情報をパーソナル・コンピュータ20に入力することができる。他の入力デバイス(不図示):マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力デバイスは、通常、システムバスに次々接続しているシリアルポート46を通じてコンピュータ・システム20に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス(USB)に接続される。ディスプレイ機器のモニタ47又は他のタイプは、また、ビデオアダプタ48等のインターフェースと交差するシステムバス23に接続している。モニタ47に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力デバイス(不図示)を接続できる。
【0068】
パーソナル・コンピュータ20は、1つ又は複数のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ(又はコンピュータ)49は、
図4に示すように、パーソナル・コンピュータ20の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【0069】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク(LAN)50及びワイドエリアコンピュータ・ネットワーク(WAN)を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていにインターネットにアクセスすることができる。LAN又はWANネットワークにおいて、パソコン20は、ネットワークアダプタ又はネットワークインターフェース51に交差するローカルエリアネットワーク50に接続されている。ネットワークが用いられる時には、パソコン20は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム54又は他のモジュールを使用することができる。内部又は外部の機器であるモデム54は、シリアルポート46によりシステムバス23と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法もあることに留意されたい。
【0070】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及びメソッドを実施し得る。ソフトウェアにおいて実装される場合は、メソッドは不揮発性コンピュータ可読メディアの1つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、RAM、ROM、EEPROM、CD−ROM、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【0071】
様々な実施形態で、本発明のシステム及びメソッドが、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という2つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる(
図6において詳述したもの等)。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【0072】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【0073】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【0074】
本明細書で開示された様々な側面は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、側面及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。