特許第6238093号(P6238093)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マカフィー, インコーポレイテッドの特許一覧

<>
  • 特許6238093-マルウェアリスクスキャナー 図000002
  • 特許6238093-マルウェアリスクスキャナー 図000003
  • 特許6238093-マルウェアリスクスキャナー 図000004
  • 特許6238093-マルウェアリスクスキャナー 図000005
  • 特許6238093-マルウェアリスクスキャナー 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6238093
(24)【登録日】2017年11月10日
(45)【発行日】2017年11月29日
(54)【発明の名称】マルウェアリスクスキャナー
(51)【国際特許分類】
   G06F 21/56 20130101AFI20171120BHJP
   G06F 9/445 20060101ALI20171120BHJP
【FI】
   G06F21/56
   G06F9/06 610L
【請求項の数】25
【全頁数】17
(21)【出願番号】特願2016-198023(P2016-198023)
(22)【出願日】2016年10月6日
(62)【分割の表示】特願2015-142093(P2015-142093)の分割
【原出願日】2012年9月6日
(65)【公開番号】特開2017-21852(P2017-21852A)
(43)【公開日】2017年1月26日
【審査請求日】2016年10月13日
(31)【優先権主張番号】13/227,616
(32)【優先日】2011年9月8日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】505418238
【氏名又は名称】マカフィー, エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ドゥール、ジェイミー
(72)【発明者】
【氏名】ヴァラダラジ、ヴィシュヌ
(72)【発明者】
【氏名】チュチェ、デービッド、カール
【審査官】 宮司 卓佳
(56)【参考文献】
【文献】 米国特許第07757284(US,B1)
【文献】 米国特許第07096503(US,B1)
【文献】 米国特許出願公開第2006/0130141(US,A1)
【文献】 特開2004−252642(JP,A)
【文献】 特表2003−535414(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/56
G06F 9/445
(57)【特許請求の範囲】
【請求項1】
プログラム可能なデバイスに、
前記プログラム可能なデバイス上でアンチマルウェアソフトウェアのインストーラーを始動する手順と、
前記プログラム可能なデバイス上のマルウェアが前記アンチマルウェアソフトウェアのインストールに影響を与え得るか否かを判断すべく、前記プログラム可能なデバイスのリスク評価を実行する手順と、
前記プログラム可能なデバイス上のマルウェアが前記アンチマルウェアソフトウェアのインストールに影響を与え得ることを示す前記リスク評価に応じて、プレインストールスキャナーによって前記プログラム可能なデバイス上でプレインストールスキャン及びクリーニング動作を実行する手順と、
前記プレインストールスキャン及びクリーニング動作に応じて、前記アンチマルウェアソフトウェアの主要部分をインストールする手順
を実行させるためのプログラム
【請求項2】
前記プログラム可能なデバイスのリスク評価を実行する手順は、
前記プログラム可能なデバイス上のマルウェアを検出することに応じて、前記プログラム可能なデバイス上のマルウェアが前記アンチマルウェアソフトウェアのインストールに影響を与え得ることを示すリスク評価を生成する手順
を含む、請求項1に記載のプログラム。
【請求項3】
リスク評価を実行する手順は、
前記インストーラーによってリスクアセサーソフトウェアを始動する手順
を含む、請求項1又は2に記載のプログラム。
【請求項4】
前記プログラム可能なデバイスに、
前記リスク評価の結果を返すのに失敗したことに応じて、前記プレインストールスキャナーによって、前記プログラム可能なデバイス上で前記プレインストールスキャン及びクリーニング動作を実行する手順
を更に実行させるための、請求項3に記載のプログラム。
【請求項5】
前記プログラム可能なデバイスに、
前記リスク評価に応じて前記プレインストールスキャナーをダウンロードする手順
を更に実行させるための、請求項1から4のいずれか一項に記載のプログラム。
【請求項6】
前記プログラム可能なデバイスに、
前記プレインストールスキャナーのダウンロードに成功しなかったことを示す情報を提供する手順と、
前記プログラム可能なデバイス上でプレインストールスキャン及びクリーニング動作を実行することを省略する手順と
を更に実行させるための、請求項5に記載のプログラム。
【請求項7】
前記プレインストールスキャン及びクリーニング動作に応じて、前記アンチマルウェアソフトウェアの主要部分をインストールする手順は、
前記プレインストールスキャナーによって発見されたマルウェアを、前記プログラム可能なデバイスからクリーニングするのに前記プレインストールスキャナーが成功しなかったことを示す手順
を含む、請求項1から6のいずれか一項に記載のプログラム。
【請求項8】
前記プログラム可能なデバイスに、
前記プレインストールスキャナーが前記プログラム可能なデバイスのクリーニングに成功しなかった場合、前記アンチマルウェアソフトウェアの主要部分をインストールすることを試みるか否かを尋ねる手順
を実行させるための、請求項7に記載のプログラム。
【請求項9】
前記プレインストールスキャン及びクリーニング動作に応じて、前記アンチマルウェアソフトウェアの主要部分をインストールする手順は、
前記プログラム可能なデバイスの再起動を要求する手順と、
前記プログラム可能なデバイスを再起動した後に、前記アンチマルウェアソフトウェアの主要部分をインストールする手順と
を含む、請求項1から8のいずれか一項に記載のプログラム。
【請求項10】
前記プログラム可能なデバイス上でプレインストールスキャン及びクリーニング動作を実行する手順は、
前記アンチマルウェアソフトウェアのインストールに影響を与えないことが知られているマルウェアを無視する手順
を含む、請求項1から9のいずれか一項に記載のプログラム。
【請求項11】
前記プログラム可能なデバイスのリスク評価を実行する手順は、
前記プログラム可能なデバイス上で実行される各実行可能ファイル上で複数のチェックを実行する手順と、
前記複数のチェックに応じて前記プログラム可能なデバイス上のマルウェアが前記アンチマルウェアソフトウェアのインストールに影響を与え得るか否かを判断する手順と
を含む、請求項1から10のいずれか一項に記載のプログラム。
【請求項12】
前記プログラム可能なデバイスのリスク評価を実行する手順は、
前記複数のチェックのうちの最速のものが最初に実行されるように前記複数のチェックを順序付けする手順
を含む、請求項11に記載のプログラム。
【請求項13】
前記複数のチェックのうちの1つは、
実行可能ファイルが、オペレーティングシステム保護ファイルであるか否かを判断すること、
を含む、請求項11又は12に記載のプログラム。
【請求項14】
前記複数のチェックのうちの1つは、
実行可能ファイルがデジタル署名されているか否かを判断すること
を含む、請求項11から13のいずれか一項に記載のプログラム。
【請求項15】
前記複数のチェックのうちの1つは、
実行可能ファイルに関する情報を外部システムに要求することと、
前記実行可能ファイルがマルウェアであると知られているか否かを示す情報を受信することと
を含む、請求項11から14のいずれか一項に記載のプログラム。
【請求項16】
プログラム可能なデバイス上でアンチマルウェアソフトウェアのインストーラーを始動する段階と、
前記プログラム可能なデバイス上のマルウェアが前記アンチマルウェアソフトウェアのインストールに影響を与え得ることのリスクを評価する段階と、
前記プログラム可能なデバイス上のマルウェアが前記アンチマルウェアソフトウェアのインストールに影響を与え得ることを示す評価に応じて、前記アンチマルウェアソフトウェアのインストールの前に前記プログラム可能なデバイスをスキャン及びクリーニングする段階と、
前記プログラム可能なデバイスをスキャン及びクリーニングした後に、前記アンチマルウェアソフトウェアをインストールする段階と
を備える方法。
【請求項17】
サーバーコンピューターであって、
プロセッサと、
前記プロセッサに結合され、複数の命令が格納されるストレージサブシステムであって、実行されるときに、前記プロセッサに、
プレインストールスキャナーソフトウェアを求める要求を受信することと、
前記プレインストールスキャナーソフトウェアをクライアントコンピューターに送信することと、
を実行させる複数の命令を含む、ストレージサブシステムと、
を備え、
前記プレインストールスキャナーソフトウェアは、アンチマルウェアソフトウェアをインストールする前に、前記アンチマルウェアソフトウェアのインストールに影響を与え得るマルウェアを除去するように構成され、
前記プレインストールスキャナーソフトウェアは、前記クライアントコンピューターによって実行されると、前記クライアントコンピューターに、
前記クライアントコンピューター上にインストールされたマルウェアについて前記クライアントコンピューターをスキャンすることと、
前記スキャンすることによって発見されたマルウェアを前記クライアントコンピューターからクリーニングすることと、
を実行させる複数の命令を含む、サーバーコンピューター。
【請求項18】
前記プレインストールスキャナーソフトウェアは、前記クライアントコンピューターによって実行されるときに、前記クライアントコンピューターに、
前記クライアントコンピューター上で前記アンチマルウェアソフトウェアのインストールに影響を与えないことが知られているマルウェアを無視すること
を実行させる複数の命令を更に含む、請求項17に記載のサーバーコンピューター。
【請求項19】
前記プレインストールスキャナーソフトウェアは、
スキャンエンジンと、
情報資源であって、
前記クライアントコンピューター上で前記マルウェアを検出するのに用いられる既知のマルウェアに対応する情報と、
前記クライアントコンピューターから前記マルウェアをクリーニングするのに用いられる前記既知のマルウェアに対応する情報と、
を含む、情報資源と、
を含む、請求項17又は18に記載のサーバーコンピューター。
【請求項20】
前記プレインストールスキャナーソフトウェアは、前記クライアントコンピューターによって実行されるときに、前記クライアントコンピューターに、
前記クリーニングすることに成功したか否かを、前記クライアントコンピューター上のインストーラープログラムに示すこと、
を実行させる複数の命令を含む、請求項17から19のいずれか一項に記載のサーバーコンピューター。
【請求項21】
サーバーに、
プレインストールスキャナーソフトウェアを求める要求を受信する手順と、
アンチマルウェアソフトウェアの一部をインストールする前に実行するために、前記プレインストールスキャナーソフトウェアをクライアントコンピューターに送信する手順と
を実行させるためのプログラムであって、
前記プレインストールスキャナーソフトウェアは、前記クライアントコンピューターによって実行されると、前記クライアントコンピューターに、
前記クライアントコンピューター上にインストールされた、前記アンチマルウェアソフトウェアのインストールに影響を与え得るマルウェアについて前記クライアントコンピューターをスキャンすることと、
前記スキャンすることによって発見されたマルウェアを前記クライアントコンピューターからクリーニングすることと、
を実行させる複数の命令を含む、プログラム。
【請求項22】
前記プレインストールスキャナーソフトウェアは、実行されるときに、前記クライアントコンピューターに、
前記クライアントコンピューター上で前記アンチマルウェアソフトウェアのインストールに影響を与えないことが知られているマルウェアを無視すること
を実行させる複数の命令を更に含む、請求項21に記載のプログラム。
【請求項23】
前記プレインストールスキャナーソフトウェアは、
スキャンエンジンと、
情報資源であって、
前記クライアントコンピューター上で前記マルウェアを検出するのに用いられる既知のマルウェアに対応する情報と、
前記クライアントコンピューターから前記マルウェアをクリーニングするのに用いられる前記既知のマルウェアに対応する情報と、
を含む、情報資源と、
を含む、請求項21又は22に記載のプログラム。
【請求項24】
前記プレインストールスキャナーソフトウェアは、前記クライアントコンピューターによって実行されるときに、前記クライアントコンピューターに、
前記クリーニングすることに成功したか否かを、前記クライアントコンピューター上のインストーラープログラムに示すこと、
を実行させる複数の命令を含む、請求項21から23のいずれか一項に記載のプログラム。
【請求項25】
請求項1から15及び請求項21から24のいずれか一項に記載のプログラムを格納しているコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、包括的にはマルウェア検出コンピューターソフトウェアの分野に関する。限定ではないがより詳細には、本開示は、マルウェア検出、修復及び予防を行うコンピューターソフトウェアの改善されたインストール技法に関する。
【0002】
関連出願の相互参照
本出願は、2011年9月8日に出願された米国特許出願第13/227,616号の優先権を主張する。この米国特許出願は引用することによりその全体が本明細書の一部をなす。
【背景技術】
【0003】
マルウェアは、コンピューターシステムを感染させる悪意のあるソフトウェアを示すのに用いられる広義語である。マルウェアは、単に不愉快なものから破壊的なものまで様々な影響度を有し得る。マルウェアは、アドウェア及びスパイウェア等のソフトウェア、並びにコンピューターウィルス、ワーム及びトロイの木馬を含む。多大な数のデバイスがインターネット等のネットワークに接続され、これらのネットワークへの高速接続が拡張されるのに伴い、マルウェア脅威はシステム間で過度に急速に拡散する可能性がある。したがって、コンピューターユーザーは一般に、アンチウィルスソフトウェア等の或るタイプのアンチウィルスアプリケーションを自身のデバイス上で利用して、デバイス上にインストールされた場合があるマルウェアを検出及び除去し、未来のマルウェアのインストールを予防することを推奨されている。
【0004】
顧客によっては、既に感染したコンピューターをクリーニングするためにアンチマルウェアソフトウェアを購入する。コンピューター上に既に存在するマルウェアは、アンチマルウェアソフトウェアを攻撃し、多くの場合にアンチマルウェアソフトウェアのインストールを阻止するか又はインストールを無効にすることが知られている。これに反撃するために、或るマルウェア検出ソフトウェアは、インストールの成功を確保することを試みて、アンチマルウェアソフトウェアインストーラーによるシステムのプレインストールスキャン及びクリーニングを実行している。しかしながら、このスキャンは初期ダウンロードサイズを増大させ、アンチマルウェアソフトウェアをインストールする時間にも大きく影響を与える可能性があり、提供されるインストール体験が決して最適ではない。
【図面の簡単な説明】
【0005】
図1】1つの実施形態によるネットワークアーキテクチャを示すブロック図である。
【0006】
図2】1つの実施形態によるソフトウェアをインストールすることができるコンピューターを示すブロック図である。
【0007】
図3】1つの実施形態によるアンチマルウェアソフトウェアインストールパッケージを示すブロック図である。
【0008】
図4】1つの実施形態によるアンチマルウェアソフトウェアをインストールする技法を示すフローチャートである。
【0009】
図5図4の技法の1つの実施形態を更に詳細に示すフローチャートである。
【発明を実施するための形態】
【0010】
以下により詳細に説明する様々な実施形態が、アンチマルウェアソフトウェアがインストールされるコンピューターの解析を、そのアンチマルウェアソフトウェアを完全にインストールする前に実行する技法を提供する。解析によって、コンピューターが既にマルウェアを含んでいる場合があると判断される場合、アンチマルウェアソフトウェアのインストールの一部分の前に、コンピューターのスキャン及びクリーニングを試みることができる。そうでない場合、プレインストールスキャン及びクリーニングを飛ばして、アンチマルウェアソフトウェアのその部分のインストールを可能にすることができる。
【0011】
以下の記載において、説明上、本発明の完全な理解を提供するために、多数の具体的な詳細が示される。しかしながら、本発明はこれらの特殊な詳細なしで実行することができることが当業者には明らかであろう。他の例では、本発明を曖昧にすることを回避するために、構造及びデバイスはブロック図の形態で示される。下付き文字又は添字のない符号への言及は、その言及された符号に対応する下付き文字又は添字の全ての場合を指すように理解される。さらに、本開示において用いられる言語は、読みやすさ及び説明の目的で主に選択されており、本発明の主題を画定又は制限するように選択されていない場合があり、そのような本発明の主題を決定するには特許請求の範囲に頼る必要がある。明細書内における「1つの実施形態」、「一実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれることを意味し、「1つの実施形態」、「一実施形態」への複数の言及が、必ずしも全て同じ実施形態を指していると解釈されるべきでない。
【0012】
図1は、1つの実施形態によるネットワークアーキテクチャ100を示している。示されるように、複数のネットワーク102が提供される。本ネットワークアーキテクチャ100との関連で、ネットワーク102はそれぞれ、限定ではないが、ローカルエリアネットワーク(LAN)、無線ネットワーク、インターネット等の広域ネットワーク(WAN)等を含む任意の形態をとることができる。
【0013】
ネットワーク102には、ネットワーク102を介して通信することが可能なデータサーバーコンピューター104が結合される。ネットワーク102及びデータサーバーコンピューター104には、複数のエンドユーザーコンピューター106も結合される。そのようなデータサーバーコンピューター104及び/又はクライアントコンピューター106はそれぞれ、デスクトップコンピューター、ラットップコンピューター、ハンドヘルドコンピューター、移動電話、周辺機器(例えばプリンター等)、コンピューターの任意の構成要素、及び/又は任意の他のタイプのロジックを含むことができる。ネットワーク102間の通信を容易にするために、少なくとも1つのゲートウェイ又はルーター108がオプションでネットワーク間に結合される。
【0014】
次に図2を参照すると、1つの実施形態によるアンチマルウェアソフトウェアインストール技法を提供するのに用いる例示的なコンピューター200がブロック図形式で示されている。コンピューター200はクライアントコンピューター106又はサーバーコンピューター104としての役割を果たすことができる。例示的なコンピューター200は、オプションで入力デバイス又はシステム260(例えばキーボード、マウス、タッチスクリーン等)及びディスプレイ270に接続することができるシステムユニット210を備える。プログラムストレージデバイス(PSD)280(ハードディスクと呼ばれる場合もある)がシステムユニット210に含まれる。ネットワークインターフェース240もシステムユニット210に含まれる。このネットワークインターフェースは、ネットワークを介して他のコンピューティングインフラストラクチャデバイス及び協調インフラストラクチャデバイス(図示せず)と通信するためのものである。ネットワークインターフェース240はシステムユニット210内に含めることもできるし、システムユニット210の外部にすることもできる。いずれの場合でも、システムユニット210はネットワークインターフェース240に通信可能に結合される。プログラムストレージデバイス280は、限定ではないが、取り外し可能媒体を含む、全ての形式の、ソリッドステートを含めた光及び磁気記憶素子を含む任意の形式の不揮発性記憶装置を表し、システムユニット210内に含めることもできるし、システムユニット210の外部にすることもできる。プログラムストレージデバイス280は、システムユニット210を制御するソフトウェア、コンピューター200によって用いられるデータ、又はその双方を記憶するのに用いることができる。
【0015】
システムユニット210は、本開示による方法(この方法の例が図3にある)を実行するようにプログラムすることができる。システムユニット210は、プロセッサユニット(PU)220と、入出力(I/O)インターフェース250と、メモリ230とを備える。処理ユニット220は、例えば、Intel社からのIntel Atom(登録商標)、Core(登録商標)、Pentium(登録商標)及びCeleron(登録商標)プロセッサファミリー、並びにARM社からのCortex及びARMプロセッサファミリーのうちの1つ又は複数のメンバーを含む任意のプログラム可能なコントローラーデバイスを備えることができる。(INTEL、INTEL ATOM、CORE、PENTIUM(登録商標)、及びCELERONはIntel社の登録商標である。CORTEXはARM社の登録商標である。ARMはARM社の登録商標である)。メモリ230は1つ又は複数のメモリモジュールを含むことができ、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、プログラム可能な読出し専用メモリ(PROM)、プログラム可能な読出し書込みメモリ、及びソリッドステートメモリを備えることができる。PU220も、例えばキャッシュメモリを含む、或る内部メモリを含むことができる。
【0016】
コンピューター200上には任意の所望のオペレーティングシステムが常駐することができる。実施形態は任意の所望のプログラミング言語を用いて実装することができ、1つ又は複数の実行可能なプログラムとして実装することができる。これらのプログラムは、アンチマルウェアソフトウェアのプロバイダー、オペレーティングシステムのプロバイダー、又は適したライブラリルーチンの任意の他の所望のプロバイダーによって提供することができる実行可能なルーチンの外部ライブラリにリンクすることができる。
【0017】
アンチマルウェアソフトウェアをコンピューター200上にインストールする準備において、実施形態は、任意のタイプの非一時的コンピューター可読媒体上に記憶して提供することもできるし、サーバー104からプログラムストレージデバイス280上にダウンロードすることもできる。
【0018】
図3は、1つの実施形態によるアンチマルウェアソフトウェアインストールパッケージ300を示すブロック図である。インストーラー310は通常、アンチマルウェアソフトウェアをインストールする機能を実行する。この機能は、基本的なインストール機能に加えて、リスクアセサー320及びプレインストールスキャナー330を始動することを含む。リスクアセサー320は通常、アンチマルウェアソフトウェアがインストールされるコンピューター200が、コンピューター200上の潜在的なマルウェアの存在に起因してリスクの高い状態にあるか否かの評価を実行する。プレインストールスキャナー330は通常、コンピューター200のプレインストールスキャンの機能、及びプレインストールスキャンが実行すべきと判断した任意のクリーニング動作を実行する。主要部分340は、パッケージ化されたルーチンを含み、これらのルーチンはインストールされると、アンチマルウェアソフトウェアの機能を実行する。パッケージ300は、アンチマルウェアソフトウェアの小売パッケージの一部として光ディスク等のコンピューター媒体上に提供することができる。代替的に(正:Alternatively)、パッケージ300は、物理的な媒体を提供することなくアンチマルウェアソフトウェアのプロバイダーからダウンロードすることができる。
【0019】
1つの実施形態では、プレインストールスキャナー330は、図3においてパッケージ300の一部として示されるが、コンピューターユーザーに最初に提供されるものとしてのパッケージ300から省くことができる。そのような一実施形態では、インストーラー310は、リスクアセサー320からコンピューター200がリスクの高い状態にあるという結果を受信すると、外部サーバーからプレインストールスキャナー330を取得し、次に以下で説明するようにプレインストールスキャナー330を始動することができる。このため、そのような一実施形態では、リスクアセサーが、コンピューター200がプレインストールスキャンを要するリスクの高い状態にあると結論付けない限り、プレインストールスキャナー330を提供する必要がないので、インストールパッケージ300のサイズを低減することができる。
【0020】
他の実施形態では、プレインストールスキャナー330はパッケージ300の一部として最初に提供することができ、プレインストールスキャナー330をダウンロードする必要なく始動することができる。
【0021】
リスクアセサー320、プレインストールスキャナー330及び主要部分340を含むパッケージ300の任意の部分を、所望に応じてインストーラー310の実行によってダウンロードすることができる。パッケージ300は図3に示すもの以外の構成要素を含むことができ、図3においてインストーラー310、リスクアセサー320、プレインストールスキャナー330及び主要部分340を別個に示していることは、パッケージ300のこれらの部分のいかなる特定の形式もパッケージ化も意味するように理解されるべきではない。図3に示す特徴のうちの任意のものを、所望に応じてパッケージ300の他の特徴のうちの任意のものと組み合わせることができる。
【0022】
図4は、1つの実施形態によるアンチマルウェアソフトウェアをインストールする技法を示すフローチャートである。ブロック410において、インストーラー310はメモリ内にロードされ、実行を開始する。インストーラー310はリスクアセサー320を始動し、リスクアセサーはブロック420においてコンピューター200に対するリスク解析を実行する。ブロック430において判断されるように、リスク解析によって、コンピューター200上のマルウェアの存在に起因してコンピューター200がリスクの高い状態にあることを示す結果が得られた場合、インストーラー310はプレインストールスキャナー330をロードすることができ、プレインストールスキャナーはブロック440において、プレインストールスキャン及びクリーニング動作を実行する。
【0023】
ブロック430においてコンピューターがリスクの高い状態にないと判断された場合、又はブロック440におけるプレインストールスキャンの完了後、ブロック450において、インストーラー310はアンチマルウェアソフトウェアのインストールプロセスを完了する。
【0024】
図5は、アンチマルウェアソフトウェアのインストール技法の1つの実施形態を更に詳細に示すフローチャートである。図5に示す技法は、インストーラー310、プレインストールスキャナー330及びリスクアセサー320に対応する3つの包括的なセクションを含む。
【0025】
ブロック505において開始して、アンチマルウェアソフトウェアのインストーラー310が始動される。インストーラー310は、アンチマルウェアソフトウェアのプロバイダーによって提供することができ、インストールプロセスに一般的な、複数のインストールプログラムが用いることができる、オペレーティングシステムのベンダーによって提供されるルーチンを含むことができる。
【0026】
1つの実施形態では、ブロック510において、インストールのステータスをコンピューター200のユーザーに表示することができる。このステータスは通常、ユーザーにソフトウェアのインストールが開始したことを知らせ、インストールの進行に関する更新されるステータス情報を時折提供することができる。しかしながら、任意の所望のステータス情報を提供することができ、所望の場合、ステータス情報の表示は省くことができる。
【0027】
次に、ブロック515において、インストーラーはリスクアセサー320を始動する。或るマルウェアソフトウェアは、アンチマルウェアソフトウェアインストーラー又は他のアンチマルウェアソフトウェアの実行を探し、実行可能プログラム名に基づいてアンチマルウェアソフトウェアに対する攻撃をトリガーすることが知られている。したがって、1つの実施形態では、リスクアセサー320は、そのようなマルウェアの実行をトリガーするように名前を付けることができる。例えば、本出願の譲受者であるMcAfee社によって提供されるリスクアセサー320に、実行可能ファイル名の一部として「mcafee」を含む名称を与えることができる。
【0028】
リスクアセサー320は、ブロック520において、コンピューター200上で実行されるソフトウェアルーチンの識別情報を特定する任意の所望の技法を用いることができる。これらのソフトウェアルーチンは、動的リンクライブラリを含む任意のタイプの実行可能なルーチンを含むことができる。コンピューター200上で実行されているルーチンのそれぞれを、マルウェアであるリスクについて評価することができる。
【0029】
1つの実施形態では、リスク評価について3ステップ技法を用いることができる。ブロック525において、リスクアセサーは、実行中のルーチンが保護された実行可能ファイルであるか否かを判断する。例えば、Microsoft WINDOWS(登録商標)オペレーティングシステム(「WINDOWS(登録商標)」はMicrosoft社の登録商標である)のいくつかのバージョンは、プログラムが重大なWindows(登録商標)システムファイルと置き換わることを防ぐWindows(登録商標)ファイル保護(WFP)機能を提供する。WFPは、保護されたシステムファイルが正しいMicrosoftバージョンであるか否かの検証に署名するコードによって生成されるファイル署名及びカタログファイルを用いて、Windows(登録商標)の一部としてインストールされる重大なシステムファイル(例えば、.dll、.exe、.ocx及び.sysの拡張子を有するファイル)を保護する。Windows(登録商標)オペレーティングシステムは、ファイルが認可されていない技法によって変更された場合、元のファイルをリストアする。他のオペレーティングシステムは、重大な実行可能ファイルを保護する同様のタイプの技法を提供することができる。実行ルーチンが保護された実行可能ファイルである場合、リスクアセサー320は、実行可能ファイルが安全であり、プレインストールスキャン及びクリーニング動作を必要としないと判断することができる。
【0030】
実行可能ファイルが保護された実行可能ファイルでない場合、ブロック530において、リスクアセサー320は、実行可能ファイルがデジタル署名されているか否かを判断することができる。デジタル署名されたルーチンは、一般に、デジタル署名認証のプロバイダーによって要求される検証に起因して、正当な会社から到来するとみなされ、このためプレインストールスキャン及びクリーニング動作を必要としない場合がある。
【0031】
実行可能ファイルが保護された実行可能ファイルでもなくデジタル署名もされていない場合、1つの実施形態では、ブロック535において、リスクアセサー320は外部システムにクエリを送信し、外部システムが実行可能ファイルを特定してリスクアセサー320に応答することを可能にする、実行可能プログラムに関する情報を提供することができる。外部システムは、その外部システムが利用可能な実行可能プログラムに関する情報のリポジトリにおいて、リスクアセサー320によって提供された情報に基づいて検索を実行し、その実行可能ファイルがマルウェアであると知られているか否かを示して応答することができる。例えば、スキャンされているコンピューター200が図1に示すクライアント106のうちの1つである場合、外部システムは、これも図1に示されるサーバー104のうちの1つによって提供することができる。
【0032】
実行中の実行可能ファイルが保護されているか若しくは署名されている場合、又は外部システムが、実行中の実行可能ファイルがマルウェアであると知られていないことを示す場合、その実行可能ファイルは無視することができ、ブロック540において、リスクアセサー320は、スキャンされる更なる実行可能ファイルが残っているか否かを判断し、全ての実行中の実行可能ファイルがスキャンされるまで、そのような更なる実行可能ファイルが残っている場合にブロック520から開始することを繰り返す。
【0033】
外部システムが、実行中の実行可能ファイルがマルウェアであると知られていることを示して応答する場合、又はブロック540において、スキャンされる更なる実行可能ファイルが残っていないと判断される場合、ブロック545において結果がインストーラーに返される。外部システムが、実行中の実行可能ファイルがマルウェアであると知られていることを示して応答する場合、リスクアセサー320によって返される結果は、プレインストールスキャン及びクリーニング動作を実行することなく、アンチマルウェアソフトウェアをインストールするリスクが存在することを示すことができる。
【0034】
1つの実施形態において、外部システムが到達不可能であるか、又は何らかの理由でリスクアセサー320からのクエリに応答を返すことに失敗する場合、リスクアセサー320は、実行中の実行可能ファイルがマルウェアである場合があると判定し、プレインストールスキャン及びクリーニング動作を要求する結果を返すことができる。実行中の実行可能ファイルの全てが解析され、マルウェアが検出されない場合、リスクアセサー320によって返される結果は、プレインストールスキャン及びクリーニング動作をスキップすることができることを示すことができる。
【0035】
実行中の実行可能ファイルがマルウェアであるか否かを判断する上記で説明した技法は、説明的なものであり、単なる例であり、上記で説明した技法と組み合わせるか、又はこれらの技法に加えて他の所望の技法を用いることができる。例えば、ルートキットを見つけることを試みる他のステップを含めることができる。ルートキットは、標準的なオペレーティングシステムの機能又は他のアプリケーショを破壊することによって、自身の存在を管理者から能動的に隠しながら、コンピューターへの継続した特権的アクセスを可能にするソフトウェアである。
【0036】
加えて、いくつかの実施形態は、アンチマルウェアソフトウェアから自身を隠し、アンチマルウェアソフトウェアと干渉することを試みることにおいて特に攻撃的なマルウェアタイプ等の特定のタイプのマルウェアに合わせて調整されたリスク評価技法を提供することができる。1つの実施形態では、アンチマルウェア業界の或る部分によって「klez」として識別されるマルウェアタイプに関連する実行可能ファイルについての特殊なチェックを、リスク評価プログラムによって実行されるチェックのうちの1つとして含めることができる。1つの実施形態では、アンチマルウェア業界の或る部分によって「sality」として識別されるマルウェアタイプに関連する実行可能ファイルの特殊なチェックを、リスク評価プログラムによって実行されるチェックのうちの1つとして含めることができる。これらのタイプに固有のリスク評価技法は、上記で説明した3つの技法に加えて又はそれらの代わりに含めることができる。
【0037】
1つの実施形態では、図5に示されるもの等の複数のリスク評価技法を用いるリスクアセサー320が、好ましくはリスク評価技法の実行を順序付けて、最速の技法を最初に、そして速さ順で他の技法を後に続けて、技法が実行されるようにし、それによって実行に最も長くかかる技法が最後に実行される。代替的に(正:Alternatively)、複数のリスク評価技法を用いるリスクアセサー320は、これらの技法を所望に応じて並列に実行することができる。
【0038】
1つの実施形態では、ブロック525及び530の保護されたファイル及びデジタル署名技法等のローカル技法を用いる代わりに、リスクアセサー320はブロック535に示すもの等のオンライン技法のみを用いることができる。別の実施形態では、リスクアセサー320はローカル技法のみを用いることができ、外部システムへのアクセスを必要とする技法を用いない。
【0039】
1つの実施形態では、ブロック530のデジタル署名技法は、デジタル署名の有無をチェックすることに加えて、更なる試験を行うことができる。例えば、ブロック530のデジタル署名技法は、デジタル署名内のよく知られた名称を探すことによって、又はデジタル署名を提供した認証機関の評判を評価することによって、デジタル署名の信頼性を評価することができる。
【0040】
リスク評価がリスクアセサー320によって実行されると、結果がインストーラー310に返され、インストーラー310はブロック550において、コンピューター200がリスクの高い状態にあるとみなされるか否かを評価する。コンピューター200がリスクの高い状態にないと判断される場合、プレインストールスキャン動作は省くことができ、アンチマルウェアソフトウェアのインストールに必要な時間が低減される。そのような状況では、インストーラー310は単にブロック590においてインストールプロセスの残りの部分に進むことができる。
【0041】
コンピューター200がリスクの高い状態にあると判断される場合において、プレインストールスキャナー330が既にインストールパッケージ300の一部でないとき、ブロック555において、プレインストールスキャナー330を外部システムからダウンロードすることができる。外部システムは通常、アンチマルウェアソフトウェアのプロバイダーによって提供され、通常、コンピューター200からのネットワーク接続を通じてアクセス可能な図1に示すサーバー104のうちの1つ等のサーバーである。
【0042】
1つの実施形態では、インストーラー310はブロック550において、リスクアセサー320が結果を返すことができない状況を検出する場合がある。これは、リスクアセサー320の故障を示す場合があるが、上記で説明したように、既にコンピューター200上に存在しているマルウェアが、リスクアセサー320の名称を認識する等によってリスクアセサー320を検出し、終了させた状況を示す場合もある。そのような一実施形態では、インストーラー310は、リスクアセサー320が結果を返すのに失敗したことを、コンピューター200がリスクの高い状態にあることを示す結果をリスクアセサー320が返した場合と同様に、そのようなリスクの高い状態を示すものとみなすことができる。
【0043】
ブロック560において、プレインストールスキャナー330のダウンロードに成功したか否かの判断が行われる。成功していない場合、ブロック580において、インストーラー310のユーザーインターフェースは、プレインストールスキャナー330のダウンロードの失敗の指示を表示することができる。ブロック580によって表示されるこの指示は、インストーラー310によって生成されるウィンドウ、インストーラー310にリンクされるブラウザーによって表示されるサポートページとすることもできるし、任意の他の所望の技法によって表示することもできる。ブロック580において指示が表示されると、プレインストールスキャン及びクリーニング動作をスキップすることができ、インストーラー310はブロック590に進み、アンチマルウェアソフトウェアの主要部分340をインストールする(正:to install)ことができる。
【0044】
プレインストールスキャナー330がダウンロードに成功するか、又はコンピューター200上に以前にロードされていた場合、インストーラー310はブロック565においてプレインストールスキャナー330を始動する。次に、プレインストールスキャナー330はブロック570においてコンピューター200をスキャンし、スキャンの結果として必要であるとみなされる任意のクリーニング動作を行うことができる。
【0045】
1つの実施形態において、ブロック570において実行されるスキャンは、アンチマルウェアソフトウェアがインストールされた後にこのアンチマルウェアソフトウェアによって実行されるスキャンの変更されたバージョンとすることができる。アンチマルウェアソフトウェアの通常動作中にスキャンすることができるマルウェアのいくつかのタイプは、そのマルウェアタイプがインストールプロセス中に問題を生じる可能性が低いとみなされる場合、ブロック570のプレインストールスキャンから省くことができる。例えば、或るアンチマルウェアソフトウェアは、ユーザーに知られることなくユーザーに関する小さな情報を通常収集するスパイウェアを突き止め、除去しようとする。スパイウェアソフトウェアは、アンチマルウェアソフトウェアのインストールプロセスに影響を与えない場合があり、1つの実施形態では、プレインストールスキャナー330は、ブロック570のプレインストールスキャン中にスパイウェアを無視するように構成することができる。インストールプロセスに影響を与える可能性が低いとみなされる他のタイプのマルウェアも同様に省き、プレインストールスキャンがより迅速に、かつアンチマルウェアソフトウェアによるコンピューター200のインストール後スキャンよりも少ないオーバーヘッドで実行されることを可能にすることができる。
【0046】
ブロック570において実行されるプレインストールスキャンは、マルウェアを検出し除去するのに有用な情報を含む、場合によってDATファイルと呼ばれる情報資源を利用することができる。代替的に(正:Alternatively)、又はローカル情報資源に加えて、ブロック570においてプレインストールスキャナー330によって実行されるプレインストールスキャンは、コンピューター200上に存在する場合があるマルウェアを識別する目的でサーバー104のうちの1つによって提供することができるもの等の外部資源からの支援を要求することができる。DATファイルは、ブロック555においてプレインストールスキャナー330の一部としてダウンロードすることもできるし、所望に応じてアンチマルウェアインストールパッケージ300の一部として提供することもできる。代替的に(正:Alternatively)、DATファイルはプレインストールスキャナー330によって、プレインストールスキャナー330を始動することの一部としてダウンロードすることができる。1つの実施形態では、ブロック570のプレインストールスキャンは、コンピューター200上のマルウェアの識別のために、外部資源のサービスしか用いず、この目的でローカルDATファイルを用いない。
【0047】
コンピューター200上に既に存在するマルウェアを識別することに加えて、ブロック570において実行されるプレインストールスキャンは、アンチマルウェアソフトウェアのインストールの前に、コンピューター200から検出されたマルウェアを除去するのに必要な場合がある示されたクリーニング動作を行うことができる。いくつかの状況では、クリーニング動作はコンピューター200の再起動を要求する場合があり、この場合、プレインストールスキャナー330は、ブロック570において実行されるプレインストールスキャン及びクリーニング動作が完了するとインストーラー310に提供される結果の一部として、再起動が必要であるという指示を提供することができる。
【0048】
ブロック575において、インストーラー310は、プレインストールスキャナー330によって返されたプレインストールスキャン及びクリーニング動作の結果の指示を検討する。1つの実施形態では、プレインストールスキャナー330によって3つのタイプの結果を返すことができる。第1のタイプの結果において、プレインストールスキャナー330は、スキャン及びクリーニング動作に成功したが、インストールプロセスを完了する前にコンピューター200の再起動が必要であることを示すことができる。第2のタイプの結果において、プレインストールスキャナー330は、コンピューター200のクリーニングが成功したことを示すことができる。第3のタイプの結果において、プレインストールスキャナー330は、プレインストールスキャナー330がコンピューター200のクリーニングに成功しなかったことを示すことができる。
【0049】
インストーラー310が、コンピューター200をクリーニングすることができなかったことを示す結果をプレインストールスキャナー330から受信した場合、1つの実施形態において、インストーラー310は、ブロック580において、プレインストールスキャナー330によってコンピューター200をクリーニングすることができなかったという指示を表示することができる。1つの実施形態では、インストーラー310はブロック590においてアンチマルウェアソフトウェア300の主要部分340のインストールに進むことができるが、コンピューター200からクリーニングすることができなかった事前に存在するマルウェアに起因してインストールプロセスが問題を有する場合があるというリスクが存在する場合がある。別の実施形態では、インストーラー310は、ユーザーがアンチマルウェアソフトウェアのインストールの残りの部分に進むか否かを判定することを可能にすることができる。更に別の実施形態では、インストーラー310はインストールの継続を拒否し、終了することができる。
【0050】
インストーラー310がプレインストールスキャナー330から、コンピューター200がクリーンであることを示す結果を受信する場合、インストーラー310はブロック590においてインストールプロセスの残りの部分に進み、アンチマルウェアソフトウェアインストールパッケージ300の主要部分340をインストールすることができる。
【0051】
インストーラー310がプレインストールスキャナー330から再起動が必要とされることを示す結果を受信する場合、1つの実施形態では、ブロック585において、コンピューター200のユーザーに、コンピューター200を再起動する機会を提供することができる。別の実施形態では、インストーラー310は、ユーザーからの許可を求めることなくコンピューター200を再起動させることができる。いずれの実施形態においても、コンピューター200が再起動されると、インストーラー310は、インストールパッケージ300の主要部分340をインストールしてインストールプロセスを完了することができる。
【0052】
必要なときのみプレインストールスキャン及びクリーニング動作を実行することによって、上記で説明した実施形態は、アンチマルウェアソフトウェアのインストールに失敗するか又は不完全に機能するインストールとなるリスクを冒さずにアンチマルウェアソフトウェアのインストールプロセスを加速することができる。改善されたアンチマルウェアインストールプロセスによって、アンチマルウェアソフトウェアをインストールしないことを選択した場合があるコンピューターユーザーに、アンチマルウェアソフトウェアをインストールすることを奨励することができる。保護されていないコンピューターを用いることによって、マルウェアがこれらの保護されていないコンピューターを感染させ、場合によってはその動作を乗っ取ることを許してしまうので、上記で説明した改善されたインストール技法は、コンピューター200のユーザーのみでなく、ネットワークアーキテクチャ100内の他のコンピューターのユーザーにも利益をもたらすことができる。
【0053】
上記の説明は、制限的ではなく説明的であることが意図されることを理解されたい。例えば、上記で説明した実施形態は、互いに組み合せて用いることができる。多くの他の実施形態は、上記の説明を読んだ当業者には明らかとなろう。したがって、本発明の範囲は、添付の特許請求の範囲を、そのような特許請求の範囲が権利を与えられる全ての範囲の等価物とともに参照して画定されるべきである。添付の特許請求の範囲において、「including(含む、備える)」及び「in which」という語は、それぞれ「comprising(含む、備える)」及び「wherein」という語の平易な英語による相当語である。
【0054】
上記で説明したように、本開示は、1つの実施形態において、ソフトウェアをインストールする前にプレスキャンを実行する方法を説明する。この方法は、第1のコンピューター上でアンチマルウェアソフトウェアのインストーラーを始動することと、第1のコンピューターのリスク評価を実行することと、第1のコンピューターがリスクの高い状態にあることを示すリスク評価の結果に応じて、プレインストールスキャナーによって第1のコンピューターにおけるプレインストールスキャン及びクリーニング動作を実行することと、プレインストールスキャン及びクリーニング動作に応じて、アンチマルウェアソフトウェアの主要部分をインストールすることとを含む。リスク評価を実行することは、第1のコンピューター上でマルウェアが検出された場合に、第1のコンピューターがリスクの高い状態にあることを示すこと、又はインストーラーによってリスクアセサーソフトウェアを始動することも含むことができる。さらに、コンピューターがリスクの高い状態にあることを示すリスク評価の結果は、リスクアセサーソフトウェアが結果を返すのに失敗したことを含むことができる。当然ながら、リスク評価に応じて、第2のコンピューターからプレインストールスキャナーをダウンロードすることができる。代替的に又はさらに、プレスキャンは、プレインストールスキャナーのダウンロードに成功しなかったことの指示を提供することと、第1のコンピューターにおけるプレインストールスキャン及びクリーニング動作を実行する行為の実行を省くこととを含むことができる。
図1
図2
図3
図4
図5