(57)【要約】【課題】潜在的に不要なソフトウェアを識別して除去するシステムおよび方法。【解決手段】不審なプログラムを識別する機構をユーザに対し提供し、不審なプログラムの実行を、それらを削除することなく、ユーザが回避することができるようにする。一実施形態において、潜在的に不要なプログラムを識別するスキャナデータを、ユーザにそのプログラムの継続的な動作を禁止させることができるＧＵＩに表示する。例えば、既知の、無害なアプリケーション／プロセスのリスト上にないソフトウェアはいずれも、潜在的に不要であると識別される。同様に、１つまたは複数の不審な挙動を示すソフトウェアは、そのように識別され、それによりユーザは、ユーザのシステムを不可逆的に変更することなく、正常のソフトウェアと不審なソフトウェアとを見分けることができる。【選択図】図１
2006277747.tif 000002
【特許請求の範囲】
【請求項１】
既知の望ましいプログラムのリストを作成するステップと、
前記リストを、他のプログラムと比較して、リストに記載されていない１つまたは複数のプログラムを、潜在的に不要であると識別するステップと
を有することを特徴とするコンピュータシステム上の不要プログラムを識別する方法。
【請求項２】
前記潜在的に不要なプログラムを、リストにしてユーザに提示されることを特徴とする請求項１に記載の方法。
【請求項３】
前記ユーザは、前記潜在的に不要なプログラムの実行の停止を選択できることを特徴とする請求項２に記載の方法。
【請求項４】
前記潜在的に不要なプログラムをユーザのために隔離することを可能にし、前記ユーザに前記プログラムの復元能力を与えることを特徴とする請求項１に記載の方法。
【請求項５】
前記潜在的に不要なプログラムをユーザに提示し、前記ユーザは、前記潜在的に不要なプログラムを動作させる前に阻止すること、許可すること、またはプロンプティングを要求することを選択できることを特徴とする請求項１に記載の方法。
【請求項６】
特徴のリストも利用して、潜在的に不要なプログラムを識別することを可能にすることを特徴とする請求項１に記載の方法。
【請求項７】
前記潜在的に不要なプログラムのうちの少なくともいくつかのランク付けされたリストを、ユーザに提示することを特徴とする請求項６に記載の方法。
【請求項８】
既知の望ましくないプログラムのリストも、潜在的に不要なプログラムを識別するのに利用することを特徴とする請求項１に記載の方法。
【請求項９】
コンピュータプログラムセグメントに対し、潜在的に不要なプログラムを識別する１つまたは複数の他のコンピュータセグメントとの通信を可能にする、１つまたは複数のコンピュータ読み取り可能媒体であって、前記媒体は、
潜在的に不要なプログラムを識別して、１つまたは複数の潜在的に不要なプログラムをユーザに提示する１組のコンピュータ使用可能命令を備えたことを特徴とするコンピュータ読み取り可能媒体。
【請求項１０】
未知のプログラムを、既知の望ましいプログラムのリストと照合して、前記プログラムは潜在的に不要であるか否かを判定することを特徴とする請求項９に記載の媒体。
【請求項１１】
潜在的に不要なプログラムに関する特徴のリストを、潜在的に不要なプログラムを識別するのに利用することを特徴とする請求項９に記載の媒体。
【請求項１２】
潜在的に不要なプログラムのうちの少なくともいくつかのランク付けされたリストを、ユーザに提示することを特徴とする請求項１１に記載の媒体。
【請求項１３】
前記リストは、選択された挙動に基づいてランク付けされることを特徴とする請求項１２に記載の媒体。
【請求項１４】
潜在的に不要なプログラムをユーザのために隔離し、前記ユーザに通知し、前記ユーザに前記潜在的に不要なプログラムの復元能力を与えることを特徴とする請求項９に記載の媒体。
【請求項１５】
ユーザは、復元するか、許可するか、または前記潜在的に不要なプログラムの実行前に常にプロンプトを出すかを選択することができることを特徴とする請求項９に記載の媒体。
【請求項１６】
潜在的に不要なプログラムを識別するために、１つまたは複数の優先度の高い問題を表示するクリティカルコンソールビューを備えたことを特徴とする潜在的に不要なプログラムを識別するシステム。
【請求項１７】
ユーザは前記優先度を変更することが可能であり、前記優先度が変更されるとき、指示機構を調節して優先度の変更を表示することを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記クリティカルコンソールビュー内の要素の位置を、現在の重大性レベルに基づいて変更することを特徴とする請求項１６に記載のシステム。
【請求項１９】
現在の重大性レベルに基づいて、異なるレベルのアラームを使用することを可能にすることを特徴とする請求項１６に記載のシステム。
【請求項２０】
１つまたは複数の低い優先度の項目を表示しないことを特徴とする請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不要なソフトウェアを除去するシステムおよび方法に関し、詳細には、潜在的に不要なソフトウェアを識別して除去するシステムおよび方法に関する。
【背景技術】
【０００２】
５名中４名のユーザが、自分のＰＣ上に不要なソフトウェアを有すると推定される。多数のベンダがこれらのソフトウェアを除去するプログラムを開発してきた。典型的に、不要なソフトウェアの各々を表すシグネチャのコレクションを開発し、コンピュータはこれらのシグネチャに合致するオブジェクトを検索する。不要なソフトウェアのリストをユーザに表示して、ユーザにこれらオブジェクトの除去および／または隔離するオプションを与える。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このアプローチに伴う問題点は、除去すべき不要なソフトウェアそれぞれについて正確に合致させる必要があることである。潜在的に不要なソフトウェアのこのリストは、無限に成長することがあるので絶えず更新する必要がある。その上、常に、潜在的に不要なソフトウェアを開発し、配信するエンティティがいくらでもありえるので、どのマシン上にもエンティティそれぞれに対して識別シグネチャをインストールすることは困難である。
【０００４】
本発明の実施形態は、前述およびその他の欠点を克服するシステムおよび方法の提供を目的とする。詳細には、本発明は、不要なソフトウェアを識別し、除去するシステムおよび方法の提供を目的とする。
【課題を解決するための手段】
【０００５】
不要なソフトウェアを識別して除去するシステムおよび方法を提供する。本発明の一態様により、スキャナデータを、全般的なアプリケーション管理用ＧＵＩに採用して、どの個別のソフトウェアが潜在的に不要であるかを識別する。このようなソフトウェアの特別にフォーマットされたリストを、ユーザに対して視覚的で、かつグラフィカルに提示するとき、ユーザはこれらのプログラムの実行を停止させることを選択することができる。そのプログラムはマシンから除去する必要はないが、代わりに自動的に実行するのを禁止して、それによりコンピュータシステムに対するそのプログラムの影響を軽減することができる。
【０００６】
本発明の別の態様により、ソフトウェアを潜在的に不要である、または一般的に疑わしいと強調表示する方法に関するメトリックおよびヒューリスティックが提供される。一態様においては、既知のアプリケーションとプロセスの拡張的な「既知リスト」を提供し、このリストに合致しないものはいずれも、潜在的に不要であるとして強調表示する。この技術は、潜在的に不要なソフトウェアの新しい変種が発明されると、これらを潜在的に不要であると強調表示して、除去の表示または無効の表示をするので、無限の「潜在的に不要なソフトウェアのリスト」拡張競争に苦しむことがない。
【０００７】
本発明の別の態様により、潜在的に不要なソフトウェアを識別する特徴のリストが提供される。実行しているアプリケーションを監視して、これらが潜在的に不要なソフトウェアの特徴に該当するか否かを確かめる。例えば、継続的にＣＰＵを消費するソフトウェアを、潜在的に不要なソフトウェアのリストにおいて、ユーザに対し強調表示してもよい。
【０００８】
本発明の別の態様により、潜在的に不要なソフトウェアをユーザのシステムから除去するとき、ユーザに、そのソフトウェアの復元能力を与える。つまり、情報に基づく信頼判定をおこなうのに十分なデータをユーザに与える簡易ＵＩを提供する。
【０００９】
本発明の別の態様により、クリティカルコンソールビューが提供されて、潜在的に不要なソフトウェアを識別するための最高優先度の問題を表示する。ユーザには、優先度を変更するオプションを与え、優先度を変更したときは、位置または指示機構を調節して（例えば、全く変更してもよい）、新しい優先順位を表示してもよい。例えば、第１優先度を第２優先度に下げたとき、新しい第１優先度が第１優先度のスペース内に入るものとして、今確立されたと表示される。同じ場所にメニューを表示しようとする従来のユーザインターフェースと異なり、配置およびＵＩ／ＵＸ要素は、どのカラムまたはタブストップが何の値を表示するかに関する整合性ではなく（この場合、ユーザはこのとき値を見て、手動で関連度または重大性を査定しなければならない）、重大性に関連付けられ、重大性により編成され／優先度付けされてもよい。例えば、メモリ、ＣＰＵ、ネットワークＣＰＵの利用率などは、それらの現在の重大性に基づいて変動し、データ型よりむしろ優先度により編成されてもよい。その重大性の範囲内であっても、第１優先度項目は単純に提示するか、またはもっとリスクが高くなると太字にする／照度を上げるか、またはリスク根拠が増加するにつれ、点滅し、または警告音を発してもよい。すなわち、現在の重大性のレベルに応じて、異なるレベルのアラームを表示することができる。ユーザの観点／思考を混乱させないよう、低優先度（例えば、第４、第５、または第６優先度）は表示しなくてもよい。ユーザの思考が混乱すると、ユーザが低優先度を最適化する必要がある場合、ユーザがさらにリスクにさらされることになるかもしれない（その結果もっと切迫した主要なリスクを無視するかもしれない）。例えば、ＣＰＵの利用率は、他のものに比べて決定的な問題でない場合は表示しない。これら全ての要因は、ユーザの制御下におかれる。
【００１０】
本発明の態様は、システムがシステムの拡張点に不要なプログラムを付加されたとき、容易に通知することができるように、ユーザに対してシステムの透明性を高くする点で好ましいことは理解されるであろう。ユーザをループ内に入れて、ＰＣのため何が「正常」であり、何が「正常でない」のかをユーザに通知することにより、本発明の態様によってユーザは、どのソフトウェアが必要とされておらず、かつ必要とされていないソフトウェアを安全に無効にすることができるのかを理解できる。実行しているプロセスが重要でなく、かつ安全に除去することができることをユーザが検証しなければならなかったが、本発明の態様は、識別されていないアプリケーションの中に重要なものがあることを検証するようにユーザに要求し、重要なものでなければ、デフォルト挙動で問題のアプリケーションを無効にする。従って、このアプローチは、コンピュータのほとんど無限である拡張性に対し、自然なチェックとバランスをもたらす。
【発明を実施するための最良の形態】
【００１１】
本発明の前述の態様および付随する利点の多くは、添付図面と併せて取り上げるとき、以下の詳細な説明を参照することにより、さらに容易に認識でき、さらに良く理解できるであろう。
【００１２】
図１は、コンピュータシステム内の潜在的に不要なソフトウェアを識別して禁止する、一般のルーチン１００を例証するフロー図である。ブロック１１０において、潜在的に不要なソフトウェアについてコンピュータをスキャンする。ブロック１２０において、潜在的に不要なソフトウェアのリストをユーザに提示する。一実施形態においては、どのソフトウェアが「潜在的に不要」であるかに関するスキャナデータを一般のアプリケーション管理用のＧＵＩに提示する。ブロック１３０において、ユーザは、潜在的に不要なソフトウェアの実行を停止させることを選択することができる。プログラムをマシンから除去する必要はなく、自動的に実行するのを禁止することによりコンピュータシステムに対する影響を軽減することができる。
【００１３】
図２は、選択されたアプリケーションを潜在的に不要であるとして強調表示するルーチン２００を例証するフロー図である。ソフトウェアを潜在的に不要である、または一般的に不審であるとして強調表示する方法については、多数の可能なメトリックおよびヒューリスティックが考えられる。図２に示すように、一実施形態においては、ブロック２１０において、既知のアプリケーションとプロセスのリストを作成する。ブロック２２０において、ソフトウェア内で、任意のタイプの不良リスト上のものだけではなく、既存リストに合致しないものも、潜在的に不要なものとして強調表示する。この技術は、スパイウェアの新しい変種が作られると、それらが潜在的に不要であるとして強調され、除去し、または無効にするため表示されるので、無限のブラックリストの拡張競争に苦しむことがないことは理解されるであろう。
【００１４】
図３は、潜在的に不要であるかに関して、ソフトウェアを監視するルーチン３００を例証するフロー図である。ブロック３１０において、潜在的に不要なソフトウェアに関する特徴のリストを作成する。ブロック３２０において、実行しているアプリケーションを監視して、経験的な特徴パターンのリストに該当するか否かを見る。例えば、継続的にＣＰＵを消費するソフトウェアは、潜在的に不要なソフトウェアのリスト内でユーザのために強調表示される。
【００１５】
図４は、ユーザに、潜在的に不要なソフトウェアを管理するオプションを提供するルーチン４００を例証するフロー図である。ブロック４１０において、潜在的に不要なソフトウェアをユーザのためにシステムから隔離するとき、ユーザに通知し、ユーザに、そのソフトウェアを復元する能力を与える。ブロック４２０において、ユーザインターフェースがユーザに、阻止すること、許可すること、またはそのソフトウェアを動作させる前に常にプロンプトを出すことに関する、情報に基づいた信頼判定を行うためのデータを提供する。
【００１６】
図５Ａは、不審なソフトウェアの強調表示リストを提供するルーチン５００Ａを例証するフロー図である。ブロック５１０において、侵害的または不審な特徴に関してソフトウェアを監視する。ブロック５２０において、不審なソフトウェアビュー内でコンピュータの演算に対し最も侵害的または不審であると判定されるアプリケーションに関する強調表示リストを提供する。一実施形態においては、侵害的または不審な特徴は、図５Ｂに関して下記に詳細を記述するように、優先順位を定めることができる。
【００１７】
図５Ｂは、クリティカルコンソールビューに関するルーチン５００Ｂを例証するフロー図である。ブロック５５０において、潜在的に不要なソフトウェアの識別のための最も優先度の高い問題を表示する。この種のシステムにおいては、多数の要因を監視するが、それらがチェックされないまま残って、その比率が増加し続ければ、最もクリティカルである最上位の懸念のみを表示してもよい。一例として、一実施形態においては、第１、第２、および第３優先度を表示してもよい。
【００１８】
ブロック５６０において、最も侵害的または不審なソフトウェアを判定するための優先度を変更するオプションを、ユーザに提供する。優先度を変更するとき、位置または指示機構を調節して（例えば、全く変更してもよい）、新しい優先順位を表示してもよい。例えば、以前の第１優先度を第２優先度に下げたとき、新しい第１優先度が第１優先度スペース内に入るものとして、今確立されたと表示される。
【００１９】
ブロック５７０において、配置およびＵＩ／ＵＸエレメントは、どのカラムまたはタブストップが何の値を表示するかに関する整合性ではなく（この場合、ユーザはこのとき値を見て、手動で関連度または重大性を査定しなければならない）、重大性に関連付けられ、重大性により編成され／優先度付けされてもよい。例えば、メモリ、ＣＰＵ、ネットワークＣＰＵ使用率などは、現在の重要性に基づいて変動するデータ型に替えて、優先度により編成されてもよい。これは、同じ場所にメニューを表示しようとする従来のＵＩと異なることは理解されるであろう。
【００２０】
ブロック５８０において、重大性の現在のレベルに関する表示を提供する。例えば、第１優先度項目は単純に提示するか、またはもっとリスクが高くなると、太字にする／照度を上げるか、またはリスク根拠が増加するにつれ、点滅し、または警告音を発してもよい。すなわち、現在の重大性のレベルにより、異なるレベルのアラームを使用することが出来る。
【００２１】
ブロック５９０において、低優先度（例えば、第４、第５、または第６優先度）は表示しないで、重要性の低い問題でユーザを混乱させないようにする。すなわち、観点／思考を混乱させないようにするのが望ましい。その結果、ユーザが低優先度の問題を処理することが必要となった場合、ユーザにさらに切迫した主要なリスクから気をそらせる結果となるかもしれないが、ユーザがさらなるリスクに曝されないようにするのが望ましい。例えば、ＣＰＵ利用度は、それが現在他の問題より重要性が低いときは表示しない。これら全ての要素は、ユーザの制御下におかれる。
【００２２】
図６−８は、本発明により、スパイウェアの定期的クリーニングについて、可能な実施形態を示すものである。図６は、スパイウェアの定期的クリーニングの第１実施形態のルーチン６００を例証するフロー図である。ブロック６１０において、ユーザは定期的スパイウェアクリーニングを有効にする。ブロック６２０において、ソフトウェアエクスプローラを開いてＰＣ上を実行する全てのソフトウェアおよびそのソフトウェアに関する情報を見ることにより、トラブルシューティングを行う。ソフトウェアエクスプローラを使用すると、スタートアップ時にどんなソフトウェアが実行されるのか、現在どんなソフトウェアが実行されているのか、ＢＨＯを含む拡張機能、などを容易に判定することができる。ブロック６３０において、不要なソフトウェアを選択し、禁止または除去する。例えば、リンクをクリックしてシグネチャを手動で更新すると、不審なプログラムが無許可広告として識別されるので、この時点でプログラムを除去すると関連ポップアップ広告が現れなくなる。
【００２３】
図７は、スパイウェアの定期的クリーニングの第２実施形態を例証するルーチン７００を例証するフロー図である。ブロック７１０において、ユーザは定期的スパイウェアクリーニングを有効にする。ブロック７２０において、ユーザのＰＣが正常に実行されていても、ユーザは自分のためにどんなソフトウェアが除去または禁止されたかを知りたくなる。ユーザは、「不審なソフトウェア」リンクを選択する。そのリンクは、マシン上で検出されたスパイウェアの全てを表示し、各スパイウェアが除去されたか、無効にされたか、有効にされたかを示す、各スパイウェアの状態などを表示する。
【００２４】
図８は、スパイウェアの定期的クリーニングの第３実施形態のルーチン８００を例証するフロー図である。ブロック８１０において、ユーザは定期的スパイウェアクリーニングを有効にする。ブロック８２０において、ユーザはユーザのＰＣに新規アプリケーションをインストールする。例えば、ユーザは時間帯(time zone)を計算するフリーウェアアプリケーションをインストールする。ブロック８３０において、新しいスパイウェアシグネチャがダウンロードされ、スキャンを実行する。新しいスパイウェアシグネチャのダウンロードは、いつでも（例えば、一週間後）発生してもよいことは理解されるであろう。ブロック８４０において、そのアプリケーション（例えばフリーウェア時間帯アプリケーション）は、無許可広告として識別されるのでＰＣから無効にするが、ショートカット（例えば、ＬＮＫ）はクイックラウンチとスタートメニューに残る。ブロック８５０において、次回にユーザがＬＮＫをクリックしてアプリケーションを起動させると、ユーザには、そのソフトウェアは潜在的に不要なスパイウェアと識別したので、無効にしてコンピュータを保護したことを通知するメッセージが提供される。
【００２５】
図９は、潜在的に不要なソフトウェアを処理するユーザインターフェースを例証するスクリーンショット９００の図である。スクリーン領域９１０に、「セキュリティ警告」との表示がなされる。スクリーン領域９２０において、ユーザに「これは潜在的に不要なソフトウェアと識別されました。それでもこれを実行したいですか？」と通知する。スクリーン領域９３０において、挙動だけではなく、潜在的に不要なソフトウェアの名称をユーザに提供する。この場合は「無許可広告」である。スクリーン領域９４０において、ユーザに「追加のオプション」の選択を提供する。スクリーン領域９５０において、ユーザに、潜在的に不要なソフトウェアを実行する、または実行しないためのオプションを提供する。スクリーン領域９６０においてユーザに「コンピュータを保護するため、このソフトウェアの実行を阻止しました。このソフトウェアについての追加の情報に関しては、ここをクリックして下さい」との指示を与える。
【００２６】
図１０は、図９のユーザインターフェースが、スクリーン領域９４０からなされた「追加のオプション」の選択を取り込んだスクリーンショット１０００の図である。図１０に示すように、スクリーン領域１０４０内で、ユーザに「少数のオプション」の選択を提供する。スクリーン領域１０４５において、ユーザに「常に自分に要求する」、「このソフトウェアを絶対に実行しない」、または「このソフトウェアを常に実行する」のオプションを提供する。これらのオプションを通じて、ユーザは潜在的に不要なソフトウェアを精査して管理することができる。
【００２７】
図１１は、不審なソフトウェアビューのスクリーンショット１１００の図である。スクリーン領域１１１０において、「ソフトウェアエクスプローラ」と「不審なソフトウェア」に関する表示が提供される。スクリーン領域１１２０において、ユーザのために「検索タイプ」に関する検索オプションが提供される。スクリーン領域１１３０において、「ファイル」、「許可」、「除去」、「隔離」、「レポート提出」、および「直ちにスキャンを実行する」についてのオプションが提供される。スクリーン領域１１４０において、「インストールされているプログラム」、「新規プログラム」、「コンポーネント」、および「不審なソフトウェア」についてのオプションが提供される。
【００２８】
スクリーン領域１１５０には、名称カラムが提供されてあり、これは、アプリケーション１−１２を含んでいる。スクリーン領域１１６０において、パブリッシャカラムが提供されてあり、これは、各種アプリケーションのパブリッシャ、この場合は、Ｃｏｎｔｏｓｏ社、の名称を含んでいる。スクリーン領域１１７０において、状態カラムが提供され、これは、アプリケーション２と３について「隔離」の状態を表示している。スクリーン領域１１８０において、勧告カラムがあり、これは、アプリケーション１−３について「除去」、アプリケーション４−１０について「隔離」、およびアプリケーション１１−１２について「無視」の勧告を表示している。
【００２９】
本発明の実施形態が、多数の利点を有することは理解されるであろう。ユーザをループ内に入れて、自分のＰＣにとって何が「正常」であるか、何が「正常でない」かを、ユーザに通知することにより、本発明の実施形態は、ユーザがどんなソフトウェアが必要とされておらず安全に無効にすることができるかを理解できるようにする。実行しているプロセスが重要でないので、安全に除去することができることをユーザが証明するのではなく、本発明の実施形態は、識別されていないアプリケーションのうちで重要であるものを明らかにするようにユーザに求め、重要であるものでなければ、システムのデフォルト挙動が問題のアプリケーションを無効にする。このアプローチは、コンピュータのほとんど無限である拡張性に、自然な「チェックとバランス」をもたらすものである。
【００３０】
本発明の好適な実施形態を図解して記述してきたが、本発明の精神と範囲から逸脱することなくそれらに各種の変更をおこなうことができることは理解されるであろう。
【図面の簡単な説明】
【００３１】
【図１】コンピュータシステム内の潜在的に不要なソフトウェアを識別する、一般のルーチンを例証するフロー図である。
【図２】既知アプリケーションのリストを作成するルーチンを例証するフロー図である。
【図３】潜在的に不要なソフトウェアを識別するための特徴のリストを作成するルーチンを例証するフロー図である。
【図４】潜在的に不要なソフトウェアを管理するオプションを、ユーザに提供するルーチンを例証するフロー図である。
【図５Ａ】侵害的または不審な特徴に関してソフトウェアを監視するルーチンを例証するフロー図である。
【図５Ｂ】クリティカルコンソールビュー用のルーチンを例証するフロー図である。
【図６】スパイウェアの定期的クリーニングのための第１実施例のルーチンを例証するフロー図である。
【図７】スパイウェアの定期的クリーニングのための第２実施例のルーチンを例証するフロー図である。
【図８】スパイウェアの定期的クリーニングのための第３実施例のルーチンを例証するフロー図である。
【図９】ユーザが潜在的に不要なソフトウェアを管理するユーザインターフェースを例証するスクリーンショットの図である。
【図１０】追加のオプションを選択した図９のスクリーンショットの図である。
【図１１】不審なソフトウェアビューを例証するスクリーンショットの図である。
【図１】
2006277747.tif 000003
【図２】
2006277747.tif 000004
【図３】
2006277747.tif 000005
【図４】
2006277747.tif 000006
【図５Ａ】
2006277747.tif 000007
【図５Ｂ】
2006277747.tif 000008
【図６】
2006277747.tif 000009
【図７】
2006277747.tif 000010
【図８】
2006277747.tif 000011
【図９】
2006277747.tif 000012
【図１０】
2006277747.tif 000013
【図１１】
2006277747.tif 000014