(57)【特許請求の範囲】
【請求項１】
アンチマルウェアソフトウェアのインストーラーが第１のコンピューター上で始動されたことに応じて、前記第１のコンピューターのリスク評価を実行することと、
前記リスク評価の結果に応じて、プレインストールスキャナーによって前記第１のコンピューター上でプレインストールスキャン及びクリーニング動作を実行することと、
前記プレインストールスキャン及びクリーニング動作に応じて、前記アンチマルウェアソフトウェアの主要部分をインストールすることと、
を含む、方法。
【請求項２】
前記リスク評価に応じて、第２のコンピューターから前記プレインストールスキャナーをダウンロードすることを試みることを更に含み、
前記プレインストールスキャン及び前記クリーニング動作を実行することは、前記プレインストールスキャナーのダウンロードの成功に応じて、前記プレインストールスキャナーによって前記第１のコンピューター上で前記プレインストールスキャン及び前記クリーニング動作を実行することを含む、請求項１に記載の方法。
【請求項３】
前記プレインストールスキャナーのダウンロードに成功しなかったことを示す情報を提供することと、
前記第１のコンピューター上でプレインストールスキャン及びクリーニング動作を実行することを省略することと、
を更に含む、請求項２に記載の方法。
【請求項４】
前記プレインストールスキャン及びクリーニング動作に応じて、前記アンチマルウェアソフトウェアの主要部分をインストールすることは、
前記第１のコンピューターから該プレインストールスキャナーによって発見されたマルウェアをクリーニングするのに前記プレインストールスキャナーが成功しなかったことを示すこと、
を含む、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記プレインストールスキャン及びクリーニング動作が前記第１のコンピューターのクリーニングに成功しなかった場合、前記第１のコンピューターのユーザーに、前記アンチマルウェアソフトウェアの主要部分をインストールすることを実行することを試みるか否かを尋ねること、
を更に含む、請求項４に記載の方法。
【請求項６】
前記プレインストールスキャン及びクリーニング動作に応じて、前記アンチマルウェアソフトウェアの主要部分をインストールすることは、
前記第１のコンピューターのユーザーに、前記第１のコンピューターの再起動を要求することと、
前記第１のコンピューターを再起動した後に、前記アンチマルウェアソフトウェアの主要部分をインストールすることと、
を含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記リスク評価の結果に応じて、プレインストールスキャナーによって前記第１のコンピューター上でプレインストールスキャン及びクリーニング動作を実行することは、
前記アンチマルウェアソフトウェアのインストールに影響を与えないことが知られている第１のマルウェアを無視すること、
を含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記第１のコンピューターのリスク評価を実行することは、
前記第１のコンピューター上で実行される各実行可能ファイル上で複数のチェックを実行することと、
前記複数のチェックに応じて前記第１のコンピューターがリスクの高い状態にあるか否かを判断することと、
を含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記第１のコンピューターのリスク評価を実行することは、
前記複数のチェックのうちの最速のものが最初に実行されるように該複数のチェックを順序付けすること、
を更に含む、請求項８に記載の方法。
【請求項１０】
コンピュータに、請求項１〜９のいずれか１項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、包括的にはマルウェア検出コンピューターソフトウェアの分野に関する。限定ではないがより詳細には、本開示は、マルウェア検出、修復及び予防を行うコンピューターソフトウェアの改善されたインストール技法に関する。
【０００２】
関連出願の相互参照
本出願は、２０１１年９月８日に出願された米国特許出願第１３／２２７，６１６号の優先権を主張する。この米国特許出願は引用することによりその全体が本明細書の一部をなす。
【背景技術】
【０００３】
マルウェアは、コンピューターシステムを感染させる悪意のあるソフトウェアを示すのに用いられる広義語である。マルウェアは、単に不愉快なものから破壊的なものまで様々な影響度を有し得る。マルウェアは、アドウェア及びスパイウェア等のソフトウェア、並びにコンピューターウィルス、ワーム及びトロイの木馬を含む。多大な数のデバイスがインターネット等のネットワークに接続され、これらのネットワークへの高速接続が拡張されるのに伴い、マルウェア脅威はシステム間で過度に急速に拡散する可能性がある。したがって、コンピューターユーザーは一般に、アンチウィルスソフトウェア等の或るタイプのアンチウィルスアプリケーションを自身のデバイス上で利用して、デバイス上にインストールされた場合があるマルウェアを検出及び除去し、未来のマルウェアのインストールを予防することを推奨されている。
【０００４】
顧客によっては、既に感染したコンピューターをクリーニングするためにアンチマルウェアソフトウェアを購入する。コンピューター上に既に存在するマルウェアは、アンチマルウェアソフトウェアを攻撃し、多くの場合にアンチマルウェアソフトウェアのインストールを阻止するか又はインストールを無効にすることが知られている。これに反撃するために、或るマルウェア検出ソフトウェアは、インストールの成功を確保することを試みて、アンチマルウェアソフトウェアインストーラーによるシステムのプレインストールスキャン及びクリーニングを実行している。しかしながら、このスキャンは初期ダウンロードサイズを増大させ、アンチマルウェアソフトウェアをインストールする時間にも大きく影響を与える可能性があり、提供されるインストール体験が決して最適ではない。
【図面の簡単な説明】
【０００５】
【図１】１つの実施形態によるネットワークアーキテクチャを示すブロック図である。
【０００６】
【図２】１つの実施形態によるソフトウェアをインストールすることができるコンピューターを示すブロック図である。
【０００７】
【図３】１つの実施形態によるアンチマルウェアソフトウェアインストールパッケージを示すブロック図である。
【０００８】
【図４】１つの実施形態によるアンチマルウェアソフトウェアをインストールする技法を示すフローチャートである。
【０００９】
【図５】図４の技法の１つの実施形態を更に詳細に示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下により詳細に説明する様々な実施形態が、アンチマルウェアソフトウェアがインストールされるコンピューターの解析を、そのアンチマルウェアソフトウェアを完全にインストールする前に実行する技法を提供する。解析によって、コンピューターが既にマルウェアを含んでいる場合があると判断される場合、アンチマルウェアソフトウェアのインストールの一部分の前に、コンピューターのスキャン及びクリーニングを試みることができる。そうでない場合、プレインストールスキャン及びクリーニングを飛ばして、アンチマルウェアソフトウェアのその部分のインストールを可能にすることができる。
【００１１】
以下の記載において、説明上、本発明の完全な理解を提供するために、多数の具体的な詳細が示される。しかしながら、本発明はこれらの特殊な詳細なしで実行することができることが当業者には明らかであろう。他の例では、本発明を曖昧にすることを回避するために、構造及びデバイスはブロック図の形態で示される。下付き文字又は添字のない符号への言及は、その言及された符号に対応する下付き文字又は添字の全ての場合を指すように理解される。さらに、本開示において用いられる言語は、読みやすさ及び説明の目的で主に選択されており、本発明の主題を画定又は制限するように選択されていない場合があり、そのような本発明の主題を決定するには特許請求の範囲に頼る必要がある。明細書内における「１つの実施形態」、「一実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味し、「１つの実施形態」、「一実施形態」への複数の言及が、必ずしも全て同じ実施形態を指していると解釈されるべきでない。
【００１２】
図１は、１つの実施形態によるネットワークアーキテクチャ１００を示している。示されるように、複数のネットワーク１０２が提供される。本ネットワークアーキテクチャ１００との関連で、ネットワーク１０２はそれぞれ、限定ではないが、ローカルエリアネットワーク（ＬＡＮ）、無線ネットワーク、インターネット等の広域ネットワーク（ＷＡＮ）等を含む任意の形態をとることができる。
【００１３】
ネットワーク１０２には、ネットワーク１０２を介して通信することが可能なデータサーバーコンピューター１０４が結合される。ネットワーク１０２及びデータサーバーコンピューター１０４には、複数のエンドユーザーコンピューター１０６も結合される。そのようなデータサーバーコンピューター１０４及び／又はクライアントコンピューター１０６はそれぞれ、デスクトップコンピューター、ラットップコンピューター、ハンドヘルドコンピューター、移動電話、周辺機器（例えばプリンター等）、コンピューターの任意の構成要素、及び／又は任意の他のタイプのロジックを含むことができる。ネットワーク１０２間の通信を容易にするために、少なくとも１つのゲートウェイ又はルーター１０８がオプションでネットワーク間に結合される。
【００１４】
次に図２を参照すると、１つの実施形態によるアンチマルウェアソフトウェアインストール技法を提供するのに用いる例示的なコンピューター２００がブロック図形式で示されている。コンピューター２００はクライアントコンピューター１０６又はサーバーコンピューター１０４としての役割を果たすことができる。例示的なコンピューター２００は、オプションで入力デバイス又はシステム２６０（例えばキーボード、マウス、タッチスクリーン等）及びディスプレイ２７０に接続することができるシステムユニット２１０を備える。プログラムストレージデバイス（ＰＳＤ）２８０（ハードディスクと呼ばれる場合もある）がシステムユニット２１０に含まれる。ネットワークインターフェース２４０もシステムユニット２１０に含まれる。このネットワークインターフェースは、ネットワークを介して他のコンピューティングインフラストラクチャデバイス及び協調インフラストラクチャデバイス（図示せず）と通信するためのものである。ネットワークインターフェース２４０はシステムユニット２１０内に含めることもできるし、システムユニット２１０の外部にすることもできる。いずれの場合でも、システムユニット２１０はネットワークインターフェース２４０に通信可能に結合される。プログラムストレージデバイス２８０は、限定ではないが、取り外し可能媒体を含む、全ての形式の、ソリッドステートを含めた光及び磁気記憶素子を含む任意の形式の不揮発性記憶装置を表し、システムユニット２１０内に含めることもできるし、システムユニット２１０の外部にすることもできる。プログラムストレージデバイス２８０は、システムユニット２１０を制御するソフトウェア、コンピューター２００によって用いられるデータ、又はその双方を記憶するのに用いることができる。
【００１５】
システムユニット２１０は、本開示による方法（この方法の例が図３にある）を実行するようにプログラムすることができる。システムユニット２１０は、プロセッサユニット（ＰＵ）２２０と、入出力（Ｉ／Ｏ）インターフェース２５０と、メモリ２３０とを備える。処理ユニット２２０は、例えば、Intel社からのＩｎｔｅｌ  Ａｔｏｍ（登録商標）、Ｃｏｒｅ（登録商標）、Ｐｅｎｔｉｕｍ（登録商標）及びＣｅｌｅｒｏｎ（登録商標）プロセッサファミリー、並びにARM社からのＣｏｒｔｅｘ及びＡＲＭプロセッサファミリーのうちの１つ又は複数のメンバーを含む任意のプログラム可能なコントローラーデバイスを備えることができる。（ＩＮＴＥＬ、ＩＮＴＥＬ  ＡＴＯＭ、ＣＯＲＥ、ＰＥＮＴＩＵＭ（登録商標）、及びＣＥＬＥＲＯＮはIntel社の登録商標である。ＣＯＲＴＥＸはARM社の登録商標である。ＡＲＭはARM社の登録商標である）。メモリ２３０は１つ又は複数のメモリモジュールを含むことができ、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、プログラム可能な読出し専用メモリ（ＰＲＯＭ）、プログラム可能な読出し書込みメモリ、及びソリッドステートメモリを備えることができる。ＰＵ２２０も、例えばキャッシュメモリを含む、或る内部メモリを含むことができる。
【００１６】
コンピューター２００上には任意の所望のオペレーティングシステムが常駐することができる。実施形態は任意の所望のプログラミング言語を用いて実装することができ、１つ又は複数の実行可能なプログラムとして実装することができる。これらのプログラムは、アンチマルウェアソフトウェアのプロバイダー、オペレーティングシステムのプロバイダー、又は適したライブラリルーチンの任意の他の所望のプロバイダーによって提供することができる実行可能なルーチンの外部ライブラリにリンクすることができる。
【００１７】
アンチマルウェアソフトウェアをコンピューター２００上にインストールする準備において、実施形態は、任意のタイプの非一時的コンピューター可読媒体上に記憶して提供することもできるし、サーバー１０４からプログラムストレージデバイス２８０上にダウンロードすることもできる。
【００１８】
図３は、１つの実施形態によるアンチマルウェアソフトウェアインストールパッケージ３００を示すブロック図である。インストーラー３１０は通常、アンチマルウェアソフトウェアをインストールする機能を実行する。この機能は、基本的なインストール機能に加えて、リスクアセサー３２０及びプレインストールスキャナー３３０を始動することを含む。リスクアセサー３２０は通常、アンチマルウェアソフトウェアがインストールされるコンピューター２００が、コンピューター２００上の潜在的なマルウェアの存在に起因してリスクの高い状態にあるか否かの評価を実行する。プレインストールスキャナー３３０は通常、コンピューター２００のプレインストールスキャンの機能、及びプレインストールスキャンが実行すべきと判断した任意のクリーニング動作を実行する。主要部分３４０は、パッケージ化されたルーチンを含み、これらのルーチンはインストールされると、アンチマルウェアソフトウェアの機能を実行する。パッケージ３００は、アンチマルウェアソフトウェアの小売パッケージの一部として光ディスク等のコンピューター媒体上に提供することができる。代替的に（正：Alternatively）、パッケージ３００は、物理的な媒体を提供することなくアンチマルウェアソフトウェアのプロバイダーからダウンロードすることができる。
【００１９】
１つの実施形態では、プレインストールスキャナー３３０は、図３においてパッケージ３００の一部として示されるが、コンピューターユーザーに最初に提供されるものとしてのパッケージ３００から省くことができる。そのような一実施形態では、インストーラー３１０は、リスクアセサー３２０からコンピューター２００がリスクの高い状態にあるという結果を受信すると、外部サーバーからプレインストールスキャナー３３０を取得し、次に以下で説明するようにプレインストールスキャナー３３０を始動することができる。このため、そのような一実施形態では、リスクアセサーが、コンピューター２００がプレインストールスキャンを要するリスクの高い状態にあると結論付けない限り、プレインストールスキャナー３３０を提供する必要がないので、インストールパッケージ３００のサイズを低減することができる。
【００２０】
他の実施形態では、プレインストールスキャナー３３０はパッケージ３００の一部として最初に提供することができ、プレインストールスキャナー３３０をダウンロードする必要なく始動することができる。
【００２１】
リスクアセサー３２０、プレインストールスキャナー３３０及び主要部分３４０を含むパッケージ３００の任意の部分を、所望に応じてインストーラー３１０の実行によってダウンロードすることができる。パッケージ３００は図３に示すもの以外の構成要素を含むことができ、図３においてインストーラー３１０、リスクアセサー３２０、プレインストールスキャナー３３０及び主要部分３４０を別個に示していることは、パッケージ３００のこれらの部分のいかなる特定の形式もパッケージ化も意味するように理解されるべきではない。図３に示す特徴のうちの任意のものを、所望に応じてパッケージ３００の他の特徴のうちの任意のものと組み合わせることができる。
【００２２】
図４は、１つの実施形態によるアンチマルウェアソフトウェアをインストールする技法を示すフローチャートである。ブロック４１０において、インストーラー３１０はメモリ内にロードされ、実行を開始する。インストーラー３１０はリスクアセサー３２０を始動し、リスクアセサーはブロック４２０においてコンピューター２００に対するリスク解析を実行する。ブロック４３０において判断されるように、リスク解析によって、コンピューター２００上のマルウェアの存在に起因してコンピューター２００がリスクの高い状態にあることを示す結果が得られた場合、インストーラー３１０はプレインストールスキャナー３３０をロードすることができ、プレインストールスキャナーはブロック４４０において、プレインストールスキャン及びクリーニング動作を実行する。
【００２３】
ブロック４３０においてコンピューターがリスクの高い状態にないと判断された場合、又はブロック４４０におけるプレインストールスキャンの完了後、ブロック４５０において、インストーラー３１０はアンチマルウェアソフトウェアのインストールプロセスを完了する。
【００２４】
図５は、アンチマルウェアソフトウェアのインストール技法の１つの実施形態を更に詳細に示すフローチャートである。図５に示す技法は、インストーラー３１０、プレインストールスキャナー３３０及びリスクアセサー３２０に対応する３つの包括的なセクションを含む。
【００２５】
ブロック５０５において開始して、アンチマルウェアソフトウェアのインストーラー３１０が始動される。インストーラー３１０は、アンチマルウェアソフトウェアのプロバイダーによって提供することができ、インストールプロセスに一般的な、複数のインストールプログラムが用いることができる、オペレーティングシステムのベンダーによって提供されるルーチンを含むことができる。
【００２６】
１つの実施形態では、ブロック５１０において、インストールのステータスをコンピューター２００のユーザーに表示することができる。このステータスは通常、ユーザーにソフトウェアのインストールが開始したことを知らせ、インストールの進行に関する更新されるステータス情報を時折提供することができる。しかしながら、任意の所望のステータス情報を提供することができ、所望の場合、ステータス情報の表示は省くことができる。
【００２７】
次に、ブロック５１５において、インストーラーはリスクアセサー３２０を始動する。或るマルウェアソフトウェアは、アンチマルウェアソフトウェアインストーラー又は他のアンチマルウェアソフトウェアの実行を探し、実行可能プログラム名に基づいてアンチマルウェアソフトウェアに対する攻撃をトリガーすることが知られている。したがって、１つの実施形態では、リスクアセサー３２０は、そのようなマルウェアの実行をトリガーするように名前を付けることができる。例えば、本出願の譲受者であるMcAfee社によって提供されるリスクアセサー３２０に、実行可能ファイル名の一部として「ｍｃａｆｅｅ」を含む名称を与えることができる。
【００２８】
リスクアセサー３２０は、ブロック５２０において、コンピューター２００上で実行されるソフトウェアルーチンの識別情報を特定する任意の所望の技法を用いることができる。これらのソフトウェアルーチンは、動的リンクライブラリを含む任意のタイプの実行可能なルーチンを含むことができる。コンピューター２００上で実行されているルーチンのそれぞれを、マルウェアであるリスクについて評価することができる。
【００２９】
１つの実施形態では、リスク評価について３ステップ技法を用いることができる。ブロック５２５において、リスクアセサーは、実行中のルーチンが保護された実行可能ファイルであるか否かを判断する。例えば、Ｍｉｃｒｏｓｏｆｔ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステム（「ＷＩＮＤＯＷＳ（登録商標）」はMicrosoft社の登録商標である）のいくつかのバージョンは、プログラムが重大なＷｉｎｄｏｗｓ（登録商標）システムファイルと置き換わることを防ぐＷｉｎｄｏｗｓ（登録商標）ファイル保護（ＷＦＰ）機能を提供する。ＷＦＰは、保護されたシステムファイルが正しいＭｉｃｒｏｓｏｆｔバージョンであるか否かの検証に署名するコードによって生成されるファイル署名及びカタログファイルを用いて、Ｗｉｎｄｏｗｓ（登録商標）の一部としてインストールされる重大なシステムファイル（例えば、.dll、.exe、.ocx及び.sysの拡張子を有するファイル）を保護する。Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムは、ファイルが認可されていない技法によって変更された場合、元のファイルをリストアする。他のオペレーティングシステムは、重大な実行可能ファイルを保護する同様のタイプの技法を提供することができる。実行ルーチンが保護された実行可能ファイルである場合、リスクアセサー３２０は、実行可能ファイルが安全であり、プレインストールスキャン及びクリーニング動作を必要としないと判断することができる。
【００３０】
実行可能ファイルが保護された実行可能ファイルでない場合、ブロック５３０において、リスクアセサー３２０は、実行可能ファイルがデジタル署名されているか否かを判断することができる。デジタル署名されたルーチンは、一般に、デジタル署名認証のプロバイダーによって要求される検証に起因して、正当な会社から到来するとみなされ、このためプレインストールスキャン及びクリーニング動作を必要としない場合がある。
【００３１】
実行可能ファイルが保護された実行可能ファイルでもなくデジタル署名もされていない場合、１つの実施形態では、ブロック５３５において、リスクアセサー３２０は外部システムにクエリを送信し、外部システムが実行可能ファイルを特定してリスクアセサー３２０に応答することを可能にする、実行可能プログラムに関する情報を提供することができる。外部システムは、その外部システムが利用可能な実行可能プログラムに関する情報のリポジトリにおいて、リスクアセサー３２０によって提供された情報に基づいて検索を実行し、その実行可能ファイルがマルウェアであると知られているか否かを示して応答することができる。例えば、スキャンされているコンピューター２００が図１に示すクライアント１０６のうちの１つである場合、外部システムは、これも図１に示されるサーバー１０４のうちの１つによって提供することができる。
【００３２】
実行中の実行可能ファイルが保護されているか若しくは署名されている場合、又は外部システムが、実行中の実行可能ファイルがマルウェアであると知られていないことを示す場合、その実行可能ファイルは無視することができ、ブロック５４０において、リスクアセサー３２０は、スキャンされる更なる実行可能ファイルが残っているか否かを判断し、全ての実行中の実行可能ファイルがスキャンされるまで、そのような更なる実行可能ファイルが残っている場合にブロック５２０から開始することを繰り返す。
【００３３】
外部システムが、実行中の実行可能ファイルがマルウェアであると知られていることを示して応答する場合、又はブロック５４０において、スキャンされる更なる実行可能ファイルが残っていないと判断される場合、ブロック５４５において結果がインストーラーに返される。外部システムが、実行中の実行可能ファイルがマルウェアであると知られていることを示して応答する場合、リスクアセサー３２０によって返される結果は、プレインストールスキャン及びクリーニング動作を実行することなく、アンチマルウェアソフトウェアをインストールするリスクが存在することを示すことができる。
【００３４】
１つの実施形態において、外部システムが到達不可能であるか、又は何らかの理由でリスクアセサー３２０からのクエリに応答を返すことに失敗する場合、リスクアセサー３２０は、実行中の実行可能ファイルがマルウェアである場合があると判定し、プレインストールスキャン及びクリーニング動作を要求する結果を返すことができる。実行中の実行可能ファイルの全てが解析され、マルウェアが検出されない場合、リスクアセサー３２０によって返される結果は、プレインストールスキャン及びクリーニング動作をスキップすることができることを示すことができる。
【００３５】
実行中の実行可能ファイルがマルウェアであるか否かを判断する上記で説明した技法は、説明的なものであり、単なる例であり、上記で説明した技法と組み合わせるか、又はこれらの技法に加えて他の所望の技法を用いることができる。例えば、ルートキットを見つけることを試みる他のステップを含めることができる。ルートキットは、標準的なオペレーティングシステムの機能又は他のアプリケーショを破壊することによって、自身の存在を管理者から能動的に隠しながら、コンピューターへの継続した特権的アクセスを可能にするソフトウェアである。
【００３６】
加えて、いくつかの実施形態は、アンチマルウェアソフトウェアから自身を隠し、アンチマルウェアソフトウェアと干渉することを試みることにおいて特に攻撃的なマルウェアタイプ等の特定のタイプのマルウェアに合わせて調整されたリスク評価技法を提供することができる。１つの実施形態では、アンチマルウェア業界の或る部分によって「ｋｌｅｚ」として識別されるマルウェアタイプに関連する実行可能ファイルについての特殊なチェックを、リスク評価プログラムによって実行されるチェックのうちの１つとして含めることができる。１つの実施形態では、アンチマルウェア業界の或る部分によって「ｓａｌｉｔｙ」として識別されるマルウェアタイプに関連する実行可能ファイルの特殊なチェックを、リスク評価プログラムによって実行されるチェックのうちの１つとして含めることができる。これらのタイプに固有のリスク評価技法は、上記で説明した３つの技法に加えて又はそれらの代わりに含めることができる。
【００３７】
１つの実施形態では、図５に示されるもの等の複数のリスク評価技法を用いるリスクアセサー３２０が、好ましくはリスク評価技法の実行を順序付けて、最速の技法を最初に、そして速さ順で他の技法を後に続けて、技法が実行されるようにし、それによって実行に最も長くかかる技法が最後に実行される。代替的に（正：Alternatively）、複数のリスク評価技法を用いるリスクアセサー３２０は、これらの技法を所望に応じて並列に実行することができる。
【００３８】
１つの実施形態では、ブロック５２５及び５３０の保護されたファイル及びデジタル署名技法等のローカル技法を用いる代わりに、リスクアセサー３２０はブロック５３５に示すもの等のオンライン技法のみを用いることができる。別の実施形態では、リスクアセサー３２０はローカル技法のみを用いることができ、外部システムへのアクセスを必要とする技法を用いない。
【００３９】
１つの実施形態では、ブロック５３０のデジタル署名技法は、デジタル署名の有無をチェックすることに加えて、更なる試験を行うことができる。例えば、ブロック５３０のデジタル署名技法は、デジタル署名内のよく知られた名称を探すことによって、又はデジタル署名を提供した認証機関の評判を評価することによって、デジタル署名の信頼性を評価することができる。
【００４０】
リスク評価がリスクアセサー３２０によって実行されると、結果がインストーラー３１０に返され、インストーラー３１０はブロック５５０において、コンピューター２００がリスクの高い状態にあるとみなされるか否かを評価する。コンピューター２００がリスクの高い状態にないと判断される場合、プレインストールスキャン動作は省くことができ、アンチマルウェアソフトウェアのインストールに必要な時間が低減される。そのような状況では、インストーラー３１０は単にブロック５９０においてインストールプロセスの残りの部分に進むことができる。
【００４１】
コンピューター２００がリスクの高い状態にあると判断される場合において、プレインストールスキャナー３３０が既にインストールパッケージ３００の一部でないとき、ブロック５５５において、プレインストールスキャナー３３０を外部システムからダウンロードすることができる。外部システムは通常、アンチマルウェアソフトウェアのプロバイダーによって提供され、通常、コンピューター２００からのネットワーク接続を通じてアクセス可能な図１に示すサーバー１０４のうちの１つ等のサーバーである。
【００４２】
１つの実施形態では、インストーラー３１０はブロック５５０において、リスクアセサー３２０が結果を返すことができない状況を検出する場合がある。これは、リスクアセサー３２０の故障を示す場合があるが、上記で説明したように、既にコンピューター２００上に存在しているマルウェアが、リスクアセサー３２０の名称を認識する等によってリスクアセサー３２０を検出し、終了させた状況を示す場合もある。そのような一実施形態では、インストーラー３１０は、リスクアセサー３２０が結果を返すのに失敗したことを、コンピューター２００がリスクの高い状態にあることを示す結果をリスクアセサー３２０が返した場合と同様に、そのようなリスクの高い状態を示すものとみなすことができる。
【００４３】
ブロック５６０において、プレインストールスキャナー３３０のダウンロードに成功したか否かの判断が行われる。成功していない場合、ブロック５８０において、インストーラー３１０のユーザーインターフェースは、プレインストールスキャナー３３０のダウンロードの失敗の指示を表示することができる。ブロック５８０によって表示されるこの指示は、インストーラー３１０によって生成されるウィンドウ、インストーラー３１０にリンクされるブラウザーによって表示されるサポートページとすることもできるし、任意の他の所望の技法によって表示することもできる。ブロック５８０において指示が表示されると、プレインストールスキャン及びクリーニング動作をスキップすることができ、インストーラー３１０はブロック５９０に進み、アンチマルウェアソフトウェアの主要部分３４０をインストールする（正：to install）ことができる。
【００４４】
プレインストールスキャナー３３０がダウンロードに成功するか、又はコンピューター２００上に以前にロードされていた場合、インストーラー３１０はブロック５６５においてプレインストールスキャナー３３０を始動する。次に、プレインストールスキャナー３３０はブロック５７０においてコンピューター２００をスキャンし、スキャンの結果として必要であるとみなされる任意のクリーニング動作を行うことができる。
【００４５】
１つの実施形態において、ブロック５７０において実行されるスキャンは、アンチマルウェアソフトウェアがインストールされた後にこのアンチマルウェアソフトウェアによって実行されるスキャンの変更されたバージョンとすることができる。アンチマルウェアソフトウェアの通常動作中にスキャンすることができるマルウェアのいくつかのタイプは、そのマルウェアタイプがインストールプロセス中に問題を生じる可能性が低いとみなされる場合、ブロック５７０のプレインストールスキャンから省くことができる。例えば、或るアンチマルウェアソフトウェアは、ユーザーに知られることなくユーザーに関する小さな情報を通常収集するスパイウェアを突き止め、除去しようとする。スパイウェアソフトウェアは、アンチマルウェアソフトウェアのインストールプロセスに影響を与えない場合があり、１つの実施形態では、プレインストールスキャナー３３０は、ブロック５７０のプレインストールスキャン中にスパイウェアを無視するように構成することができる。インストールプロセスに影響を与える可能性が低いとみなされる他のタイプのマルウェアも同様に省き、プレインストールスキャンがより迅速に、かつアンチマルウェアソフトウェアによるコンピューター２００のインストール後スキャンよりも少ないオーバーヘッドで実行されることを可能にすることができる。
【００４６】
ブロック５７０において実行されるプレインストールスキャンは、マルウェアを検出し除去するのに有用な情報を含む、場合によってＤＡＴファイルと呼ばれる情報資源を利用することができる。代替的に（正：Alternatively）、又はローカル情報資源に加えて、ブロック５７０においてプレインストールスキャナー３３０によって実行されるプレインストールスキャンは、コンピューター２００上に存在する場合があるマルウェアを識別する目的でサーバー１０４のうちの１つによって提供することができるもの等の外部資源からの支援を要求することができる。ＤＡＴファイルは、ブロック５５５においてプレインストールスキャナー３３０の一部としてダウンロードすることもできるし、所望に応じてアンチマルウェアインストールパッケージ３００の一部として提供することもできる。代替的に（正：Alternatively）、ＤＡＴファイルはプレインストールスキャナー３３０によって、プレインストールスキャナー３３０を始動することの一部としてダウンロードすることができる。１つの実施形態では、ブロック５７０のプレインストールスキャンは、コンピューター２００上のマルウェアの識別のために、外部資源のサービスしか用いず、この目的でローカルＤＡＴファイルを用いない。
【００４７】
コンピューター２００上に既に存在するマルウェアを識別することに加えて、ブロック５７０において実行されるプレインストールスキャンは、アンチマルウェアソフトウェアのインストールの前に、コンピューター２００から検出されたマルウェアを除去するのに必要な場合がある示されたクリーニング動作を行うことができる。いくつかの状況では、クリーニング動作はコンピューター２００の再起動を要求する場合があり、この場合、プレインストールスキャナー３３０は、ブロック５７０において実行されるプレインストールスキャン及びクリーニング動作が完了するとインストーラー３１０に提供される結果の一部として、再起動が必要であるという指示を提供することができる。
【００４８】
ブロック５７５において、インストーラー３１０は、プレインストールスキャナー３３０によって返されたプレインストールスキャン及びクリーニング動作の結果の指示を検討する。１つの実施形態では、プレインストールスキャナー３３０によって３つのタイプの結果を返すことができる。第１のタイプの結果において、プレインストールスキャナー３３０は、スキャン及びクリーニング動作に成功したが、インストールプロセスを完了する前にコンピューター２００の再起動が必要であることを示すことができる。第２のタイプの結果において、プレインストールスキャナー３３０は、コンピューター２００のクリーニングが成功したことを示すことができる。第３のタイプの結果において、プレインストールスキャナー３３０は、プレインストールスキャナー３３０がコンピューター２００のクリーニングに成功しなかったことを示すことができる。
【００４９】
インストーラー３１０が、コンピューター２００をクリーニングすることができなかったことを示す結果をプレインストールスキャナー３３０から受信した場合、１つの実施形態において、インストーラー３１０は、ブロック５８０において、プレインストールスキャナー３３０によってコンピューター２００をクリーニングすることができなかったという指示を表示することができる。１つの実施形態では、インストーラー３１０はブロック５９０においてアンチマルウェアソフトウェア３００の主要部分３４０のインストールに進むことができるが、コンピューター２００からクリーニングすることができなかった事前に存在するマルウェアに起因してインストールプロセスが問題を有する場合があるというリスクが存在する場合がある。別の実施形態では、インストーラー３１０は、ユーザーがアンチマルウェアソフトウェアのインストールの残りの部分に進むか否かを判定することを可能にすることができる。更に別の実施形態では、インストーラー３１０はインストールの継続を拒否し、終了することができる。
【００５０】
インストーラー３１０がプレインストールスキャナー３３０から、コンピューター２００がクリーンであることを示す結果を受信する場合、インストーラー３１０はブロック５９０においてインストールプロセスの残りの部分に進み、アンチマルウェアソフトウェアインストールパッケージ３００の主要部分３４０をインストールすることができる。
【００５１】
インストーラー３１０がプレインストールスキャナー３３０から再起動が必要とされることを示す結果を受信する場合、１つの実施形態では、ブロック５８５において、コンピューター２００のユーザーに、コンピューター２００を再起動する機会を提供することができる。別の実施形態では、インストーラー３１０は、ユーザーからの許可を求めることなくコンピューター２００を再起動させることができる。いずれの実施形態においても、コンピューター２００が再起動されると、インストーラー３１０は、インストールパッケージ３００の主要部分３４０をインストールしてインストールプロセスを完了することができる。
【００５２】
必要なときのみプレインストールスキャン及びクリーニング動作を実行することによって、上記で説明した実施形態は、アンチマルウェアソフトウェアのインストールに失敗するか又は不完全に機能するインストールとなるリスクを冒さずにアンチマルウェアソフトウェアのインストールプロセスを加速することができる。改善されたアンチマルウェアインストールプロセスによって、アンチマルウェアソフトウェアをインストールしないことを選択した場合があるコンピューターユーザーに、アンチマルウェアソフトウェアをインストールすることを奨励することができる。保護されていないコンピューターを用いることによって、マルウェアがこれらの保護されていないコンピューターを感染させ、場合によってはその動作を乗っ取ることを許してしまうので、上記で説明した改善されたインストール技法は、コンピューター２００のユーザーのみでなく、ネットワークアーキテクチャ１００内の他のコンピューターのユーザーにも利益をもたらすことができる。
【００５３】
上記の説明は、制限的ではなく説明的であることが意図されることを理解されたい。例えば、上記で説明した実施形態は、互いに組み合せて用いることができる。多くの他の実施形態は、上記の説明を読んだ当業者には明らかとなろう。したがって、本発明の範囲は、添付の特許請求の範囲を、そのような特許請求の範囲が権利を与えられる全ての範囲の等価物とともに参照して画定されるべきである。添付の特許請求の範囲において、「including（含む、備える）」及び「in which」という語は、それぞれ「comprising（含む、備える）」及び「wherein」という語の平易な英語による相当語である。
【００５４】
上記で説明したように、本開示は、１つの実施形態において、ソフトウェアをインストールする前にプレスキャンを実行する方法を説明する。この方法は、第１のコンピューター上でアンチマルウェアソフトウェアのインストーラーを始動することと、第１のコンピューターのリスク評価を実行することと、第１のコンピューターがリスクの高い状態にあることを示すリスク評価の結果に応じて、プレインストールスキャナーによって第１のコンピューターにおけるプレインストールスキャン及びクリーニング動作を実行することと、プレインストールスキャン及びクリーニング動作に応じて、アンチマルウェアソフトウェアの主要部分をインストールすることとを含む。リスク評価を実行することは、第１のコンピューター上でマルウェアが検出された場合に、第１のコンピューターがリスクの高い状態にあることを示すこと、又はインストーラーによってリスクアセサーソフトウェアを始動することも含むことができる。さらに、コンピューターがリスクの高い状態にあることを示すリスク評価の結果は、リスクアセサーソフトウェアが結果を返すのに失敗したことを含むことができる。当然ながら、リスク評価に応じて、第２のコンピューターからプレインストールスキャナーをダウンロードすることができる。代替的に又はさらに、プレスキャンは、プレインストールスキャナーのダウンロードに成功しなかったことの指示を提供することと、第１のコンピューターにおけるプレインストールスキャン及びクリーニング動作を実行する行為の実行を省くこととを含むことができる。
【図１】
0006023282.tif 000002
【図２】
0006023282.tif 000003
【図３】
0006023282.tif 000004
【図４】
0006023282.tif 000005
【図５】
0006023282.tif 000006