(57)【要約】【課題】悪意のある検索可能コンテンツの拡散を防ぐシステムおよび方法を提供する。【解決手段】悪意のある検索可能コンテンツの拡散を防ぐシステムおよび方法を、検索エンジン内に組み込む。このシステムは、Ｗｅｂ巡回プログラムによってトラバースされた検索可能コンテンツの中の、悪意のある検索可能コンテンツを検出する検出メカニズムを含む。このシステムはさらに、検索エンジンによって提供された検索結果に悪意のある検索可能コンテンツが含まれていることが判明するとただちに、検出された悪意のある検索可能コンテンツを処理する提示メカニズムを含む。提示メカニズムは、悪意のある検索可能コンテンツが検索結果の受信者に拡散するのを防ぐために、検出された悪意のある検索可能コンテンツを処理する。【選択図】図６
2006172484.tif 000002
【特許請求の範囲】
【請求項１】
検索結果の受信者が感染した検索結果リンクを選択したときに起こる汚染を防ぐ検索エンジンを実装する方法であって、前記検索エンジンは、検索可能コンテンツをトラバースして前記トラバースされたコンテンツにインデックスを付ける巡回プログラムを含み、
前記トラバースされた検索可能コンテンツの中において、悪意のある検索可能コンテンツをすべて検出するステップと、
前記検出された悪意のある検索可能コンテンツへの感染したリンクを含む検索結果が生成されるとすぐに、前記受信者を汚染から保護するために、前記感染したリンクを提示する処理を行うステップと、
を備えることを特徴とする方法。
【請求項２】
悪意のある検索可能コンテンツをすべて検出する前記ステップは、既知のコードパターンを検出するために静的解析を実行することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
悪意のある検索可能コンテンツをすべて検出する前記ステップは、トラフィックパターンを検出するために動的解析を実行することを含むことを特徴とする請求項２に記載の方法。
【請求項４】
悪意のある検索可能コンテンツをすべて検出する前記ステップは、一次マシンに影響を及ぼすことなく検索可能なコンテンツをトラバースする使い捨て（ｄｉｓｐｏｓａｂｌｅ）マシンを実施することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
悪意のある検索可能コンテンツをすべて検出する前記ステップは、前記使い捨てマシンがトラバース後に感染していないかどうかを検査するために、使い捨てマシン検査メカニズムを実施することを含むことを特徴とする請求項４に記載の方法。
【請求項６】
感染している検索可能コンテンツへの各訪問の後に、前記使い捨てマシンを再初期化することをさらに含むことを特徴とする請求項４に記載の方法。
【請求項７】
前記感染したリンクを提示する処理を行う前記ステップは、最大レベルの保護を提供するようユーザＷｅｂブラウザを促すために、前記感染したリンクを修正することを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記感染したリンクを提示する処理を行う前記ステップは、前記感染したリンクが、悪意のあるアクティビティから前記受信者を遮断することが可能なプロキシをポイントするように、前記感染したリンクを修正することを含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記感染したリンクを提示する処理を行う前記ステップは、前記感染したリンクが、前記検索可能コンテンツの駆除済みのキャッシュされたコピーをポイントするように、前記感染したリンクを修正することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記感染したリンクを提示する処理を行う前記ステップは、警告を作成し、前記警告を前記受信者に対して表示することを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
請求項１に記載の方法を実行するコンピュータにより実行可能な命令を格納するコンピュータ読取り可能媒体。
【請求項１２】
悪意のある検索可能コンテンツの拡散を防ぐために検索エンジン内に組み込まれたシステムであって、
Ｗｅｂ巡回プログラムによってトラバースされた検索可能コンテンツの中の、悪意のある検索可能コンテンツを検出する検出メカニズムと、
前記検索エンジンによって提供された検索結果に前記悪意のある検索可能コンテンツが含まれていることが判明するとただちに、前記検出された悪意のある検索可能コンテンツを処理する提示メカニズムであって、前記提示メカニズムは、前記悪意のある検索可能コンテンツが前記検索結果の受信者に拡散するのを防ぐために、前記検出された悪意のある検索可能コンテンツを処理することと、
を備えることを特徴とするシステム。
【請求項１３】
悪意のある検索可能コンテンツをすべて検出する前記検出メカニズムは、既知のコードパターンを検出する静的解析ツールを含むことを特徴とする請求項１２に記載のシステム。
【請求項１４】
悪意のある検索可能コンテンツをすべて検出する前記検出メカニズムは、トラフィックパターンを検出する動的解析ツールを含むことを特徴とする請求項１２に記載のシステム。
【請求項１５】
悪意のある検索可能コンテンツをすべて検出する前記検出メカニズムは、一次マシンに影響を及ぼすことなく検索可能コンテンツをトラバースする使い捨てマシンを含むことを特徴とする請求項１２に記載のシステム。
【請求項１６】
悪意のある検索可能コンテンツをすべて検出する前記検出メカニズムは、前記使い捨てマシンがトラバース後に感染していないかどうかを検査する使い捨てマシン検査メカニズムを含むことを特徴とする請求項１５に記載のシステム。
【請求項１７】
各訪問後に前記使い捨てマシンを再初期化する手段をさらに含むことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記提示メカニズムは、最大レベルの保護を与えるようにユーザＷｅｂブラウザを促すために、感染したリンクを修正する手段を含むことを特徴とする請求項１２に記載のシステム。
【請求項１９】
前記提示メカニズムは、感染したリンクが、悪意のあるアクティビティから前記受信者を遮断することが可能なプロキシをポイントするように、前記感染したリンクを修正することによって、前記感染したリンクの処理提示を行うことを特徴とする請求項１２に記載のシステム。
【請求項２０】
前記提示メカニズムは、感染したリンクが、前記検索可能コンテンツの駆除済みのキャッシュされたコピーをポイントするように、前記感染したリンクを修正することによって、前記感染したリンクの提示を処理することを特徴とする請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コンピュータウィルスの拡散を防ぐために、検索エンジンを実装するシステムおよび方法に関する。
【背景技術】
【０００２】
近年、悪意のある電子メール添付ファイルの使用や、悪意のあるＷｅｂサイトへのリンクの存続（ｐｅｒｐｕｔｕａｔｉｏｎ）を通して、コンピュータウィルスがコンピュータからコンピュータへと次第に拡散している。オンラインサービスのユーザ達は、勝手に送られてきた電子メールを開かないこと、未知の発信元から送られてきた添付ファイルを開かないこと、あるいは、勝手に送られてきた電子メールにある広告のＷｅｂサイトに行かないことなどを学んで知っている。こうした手順はすべて、ユーザがコンピュータウィルスに感染するリスクを減らす効果があった。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ユーザ側の学習にもかかわらず、信頼されるソースの使用を通じて提供されるリンクに悪意がひそんでいる可能性があることについては、多くのユーザは気づいていないままである。インターネットに精通しているユーザであれば、Ｗｅｂサイトを手当たり次第に訪問する可能性は低いが、非常に慎重なユーザであっても、インターネット検索エンジンによって参照される悪意あるＷｅｂサイトを、訪問してしまうリスクにさらされ続けている。ユーザが未知の新しいＷｅｂサイトを訪問する理由として最もよくあるのは、そのＷｅｂサイトが検索エンジンの検索の結果もたらされたものであることである。ＭＳＮ．ｃｏｍやＧｏｏｇｌｅ．ｃｏｍなどの素性がよく知られている検索エンジンは、検索エンジンが検索結果としてユーザに提示するすべてのサイトに誤った信用を与えてしまう。
【０００４】
したがって、悪意のあるＷｅｂサイトを訪問したことによってユーザコンピュータが被害を受けることを防ぐために、検索エンジンを通して実施することが可能なソリューションが必要である。信頼される検索エンジンの検索結果として提示される、悪意のあるＷｅｂサイトからユーザを保護するために、そのようなソリューションが実装されなければならない。
【課題を解決するための手段】
【０００５】
本発明の実施形態は、検索結果である感染したリンクを検索結果の受信者が選択したときに発生する汚染（ｃｏｎｔａｍｉｎａｔｉｏｎ）を防ぐ検索エンジンを実装する方法を含む。この検索エンジンは、検索可能なコンテンツをトラバースし（ｔｒａｖｅｒｓｅ）、トラバースされたコンテンツにインデックスを付ける巡回プログラム（ｃｒａｗｌｅｒ）を含む。この方法は、トラバースされた検索可能なコンテンツの中にある悪意のある検索可能コンテンツを、すべて検出することを含む。この方法はさらに、検出された悪意のある検索可能コンテンツへの感染したリンクを含む検索結果が生成されるとすぐに、受信者を汚染から遮断するために、その感染したリンクを提示する処理を行うことを含む。
【０００６】
本発明の別の態様では、悪意のある検索可能コンテンツの拡散を防ぐシステムが検索エンジン内に組み込まれる。このシステムは、Ｗｅｂ巡回プログラムによってトラバースされた検索可能なコンテンツの中の、悪意のある検索可能コンテンツを検出する検出メカニズムを含む。このシステムはさらに、検索エンジンによって提供された検索結果に悪意のある検索可能コンテンツが含まれていることが判明するとただちに、検出された、悪意のある検索可能コンテンツを処理する提示メカニズムを含む。この提示メカニズムは、悪意のある検索可能コンテンツが検索結果の受信者に拡散するのを防ぐために、検出された悪意のある検索可能コンテンツを処理する。以下、添付図面を参照しながら、本発明を詳細に説明する。
【発明を実施するための最良の形態】
【０００７】
１．システムの概要
図１は、本発明の実施形態による、悪意のあるアクティビティの拡散を防ぐシステムを示す。ユーザコンピュータ１０は、インターネットなどのネットワーク２０を介して、検索エンジン２００に接続することができる。検索エンジン２００は、ネットワーク２０を介して、複数のＷｅｂサイト３０、４０、および５０にアクセスすることができる。この図１では、例示目的のみのために、限られた数のＷｅｂサイトが示されている。実際の用途では、検索エンジン２００は、ネットワーク２０を介して、多数のＷｅｂサイトにアクセスすることができる。
【０００８】
検索エンジン２００は、Ｗｅｂサイト３０、４０、および５０をトラバースするＷｅｂ巡回プログラム２１０と、トラバースされたＷｅｂサイトにインデックスを付けるインデックス２２０とを含むことができる。検索エンジン２００はさらに、ユーザコンピュータ１０からのキーワード照会に対して結果を返すためにインデックス２２０を検索するキーワード検索コンポーネント２３０を含むことができる。検索エンジン２００はまた、トラバースされたＷｅｂサイト３０、４０、および５０の中で悪意のあるアクティビティを検出して、悪意のあるアクティビティを表示しているＷｅｂサイトを悪意のあるアクティビティの拡散を防ぐように設計された方法によって処理するウィルス処理コンポーネント３００を含むこともできる。
【０００９】
前述のように、本発明の実施形態は、悪意のあるＷｅｂサイトによって保持されたウィルスの拡散を防ぐシステムおよび方法を提供する。本発明の実施形態は、インターネット全体にウィルスが拡散するリスクを減らす方法を提供することによって、先行技術の問題や弱点を克服する。検索エンジン２００は、動作中に、インターネットインデックス情報２２０を保守する。したがって、検索エンジン２００は、キーワード照会に応じてキーワード検索コンポーネント２３０を用いて検索を実行する際に、インデックス情報２２０にアクセスをする。検索エンジン２００は、Ｗｅｂサイトを常時巡回してインターネットインデックス情報２２０を最新の状態に保つ。ここで、Ｗｅｂサイトは、既にインデックス情報２２０に含まれるサイトと、最近見つかって初めて訪問するサイトの両方を含む。
【００１０】
そのような訪問中に、Ｗｅｂ巡回プログラム２１０は、Ｗｅｂサイトおよび個々のＷｅｂページから、テキスト記述などのインデックス互換情報を取得する。Ｗｅｂ巡回プログラム２１０は、Ｗｅｂサイトの訪問中に、悪意のあるアクティビティの存在を検出する。そのようなアクティビティが検出されると、ウィルス処理コンポーネント３００がその挙動を適切に記録する。あるいは、検索エンジン２００がユーザによって入力された要求に基づく検索を実行している間に、リアルタイムで悪意のあるアクティビティを検出する。ウィルス処理コンポーネント３００によってあらかじめ記録されていたか、リアルタイムで記録されている、既知の悪意のあるＷｅｂサイトまたはＷｅｂページが、キーワード検索コンポーネント２３０によって実行された検索によってもたらされた場合は、検索エンジン２００は、ウィルス処理コンポーネント３００を実施して、ユーザコンピュータ１０に対して有害な作用を有する感染または悪意のあるアクティビティのリスクを減らす方法で、検索結果をユーザに提示する。
【００１１】
本明細書では、本発明の実施形態を、Ｗｅｂサイト、Ｗｅｂページ、およびＷｅｂコンテンツに関して一般的に記載しているが、任意の検索可能なコンテンツが、開示される実施形態の範囲に含まれる。たとえば、検索可能なコンテンツには、インターネットを介してアクセス可能なビデオが含まれる。さらに、検索可能なコンテンツは、インターネットを介してアクセスされることが必ずしも必要なわけではない。検索可能なコンテンツは、ハードドライブ上またはネットワークドライブ上にあって、適切な巡回プログラムでアクセス可能であってもよい。
【００１２】
ＩＩ．例示的な動作環境
図２は、悪意のあるアクティビティの拡散を防ぐシステムの実装に好適なコンピューティングシステム環境１００の例を示す。コンピューティングシステム環境１００は、好適なコンピューティング環境の一例に過ぎず、本発明の使用もしくは機能の範囲に関して何らかの制限を意図するものではない。コンピューティング環境１００は、例示的動作環境１００に示されている任意のコンポーネントあるいはそれらの組み合わせに関連する何らかの依存性または必要条件を有するものと解釈されてはならない。
【００１３】
本発明は、コンピュータによって実行される、コンピュータで実行可能な命令（プログラムモジュールなど）の一般的な文脈において記載される。一般に、プログラムモジュールは、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含む。さらに、当業者であれば、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な家庭用電子機器、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成でも本発明を実施できることは自明であろう。本発明はまた、通信ネットワークでリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施可能である。分散コンピューティング環境では、プログラムモジュールは、ローカルコンピュータとリモートコンピュータの両方の記憶媒体（メモリ記憶装置を含む）に配置されることが可能である。
【００１４】
図２に示されるように、本発明を実装する例示的なシステム１００は、処理ユニット１２０と、システムメモリ１３０と、システムメモリを含む各種システムコンポーネントを処理ユニット１２０に結合するシステムバス１２１とを含むコンピュータ１１０の形で汎用コンピューティング装置を含む。
【００１５】
コンピュータ１１０は、一般に、様々なコンピュータ読取り可能媒体を含む。限定ではなく例として、コンピュータ読取り可能媒体は、コンピュータ記憶媒体と通信媒体とを含むことができる。システムメモリ１３０は、読み出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形でコンピュータ記憶媒体を含む。起動時などにコンピュータ１１０内での要素間の情報転送を支援する基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）は、一般に、ＲＯＭ  １３１に格納される。ＲＡＭ  １３２は、一般に、処理ユニット１２０による直接アクセスが可能であるか、および／または処理ユニット１２０によって現在操作されているデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図２は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示している。
【００１６】
コンピュータ１１０は、他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体を含むことも可能である。あくまで例として、図２には、非リムーバブル、不揮発性磁気媒体に対して読み出しまたは書き込みを行うハードディスクドライブ１４１と、リムーバブル、不揮発性磁気ディスク１５２に対して読み出しまたは書き込みを行う磁気ディスクドライブ１５１と、リムーバブル、不揮発性光ディスク１５６（ＣＤ−ＲＯＭまたは他の光媒体など）に対して読み出しまたは書き込みを行う光ディスクドライブ１５５とが示されている。例示的な動作環境で使用可能な他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体として、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどがあるが、これらに限定されない。ハードディスクドライブ１４１は、一般に、インターフェース１４０などの非リムーバブルメモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、一般に、インターフェース１５０などのリムーバブルメモリインターフェースによってシステムバス１２１に接続される。
【００１７】
図２に示された、上述のドライブおよびそれらに関連付けられたコンピュータ記憶媒体は、コンピュータ１１０用のコンピュータ可読命令、データ構造体、プログラムモジュール、および他のデータを記憶する。図２では、たとえば、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであっても、同じでなくてもよいことに注意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、ここでは、少なくとも別の異なるコピーであることを表すために別の番号を与えられている。ユーザは、キーボード１６２およびポインティングデバイス１６１（一般にはマウス、トラックボール、またはタッチパッド）などの入力装置からコンピュータ１１０に、コマンドおよび情報を入力することが可能である。他の入力装置（図示せず）として、マイク、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどがある。これらの入力装置および他の入力装置は、システムバスに結合されているユーザ入力インターフェース１６０を介して処理ユニット１２０に接続されていることが多いが、他のインターフェースやバス構造（パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など）で接続されることも可能である。モニタ１９１や他のタイプのディスプレイ装置も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続されている。コンピュータは、モニタの他に、スピーカ１９７やプリンタ１９６など、他のペリフェラル出力装置も含むことが可能であり、これらのペリフェラル出力装置は、出力ペリフェラルインターフェース１９５を介して接続されることが可能である。
【００１８】
本発明のコンピュータ１１０は、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータとの論理接続を用いてネットワーク環境で動作する。リモートコンピュータ１８０は、パーソナルコンピュータであってよく、一般に、コンピュータ１１０に関して上述の要素のほとんどまたはすべてを含むが、図２には、メモリ記憶媒体１８１だけが示されている。図２に示されている論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むことも可能である。
【００１９】
ＬＡＮネットワーキング環境で用いられる場合、コンピュータ１１０は、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ  １７１に接続される。ＷＡＮネットワーキング環境で用いられる場合、コンピュータ１１０は、一般に、インターネットなどのＷＡＮ  １７３を介する通信を確立するためにモデム１７２または他の手段を含む。モデム１７２は、内蔵でも外付けでもよく、ユーザ入力インターフェース１６０または他の適切なメカニズムを介してシステムバス１２１に接続されることが可能である。ネットワーク環境では、コンピュータ１１０に関して図示されたプログラムモジュールまたはその一部が、リモートメモリ記憶装置に格納されてもよい。限定ではなく例として、図２は、リモートアプリケーションプログラム１８５を、メモリ装置１８１に常駐するものとして示している。図示されたネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用可能であることが理解されよう。
【００２０】
コンピュータ１１０の他の多くの内部コンポーネントが図示されていないが、当業者であれば、そのようなコンポーネントや相互接続がよく知られたものであることを理解されよう。したがって、コンピュータ１１０の内部構造に関するさらなる詳細は、本発明との関連においては開示される必要はない。
【００２１】
ＩＩＩ．本発明のシステムおよび方法
前述のとおり、図１は、本発明の実施形態による、悪意のあるアクティビティの拡散を防ぐシステムを示す。ユーザコンピュータ１０は、ネットワーク２０を介して、検索エンジン２００に接続されることができる。検索エンジン２００は、ネットワーク２０を介して、複数のＷｅｂサイト３０、４０、５０などにアクセスすることができる。検索エンジン２００は、Ｗｅｂサイト３０、４０、５０をトラバースするＷｅｂ巡回プログラム２１０と、トラバースされたＷｅｂサイトにインデックスを付けるインデックス２２０とを実装することができる。検索エンジン２００は、ユーザコンピュータ１０からのキーワード照会に対する結果を検索するキーワード検索コンポーネント２３０を利用することができる。検索エンジン２００はまた、トラバースされたＷｅｂサイト３０、４０、５０の中で悪意のあるアクティビティを検出して、悪意のあるアクティビティを表示しているＷｅｂサイトを、悪意のあるアクティビティの拡散を防ぐように設計された方法で処理するために、ウィルス処理コンポーネント３００を実装することもできる。
【００２２】
図３は、本発明の実施形態によるウィルス処理コンポーネント３００を示す。ウィルス処理コンポーネント３００は、ウィルスを検出して処理するか、あるいは、他のタイプの悪意のあるアクティビティを検出して処理することができる。ウィルス処理コンポーネント３００は、検出メカニズム３１０と提示メカニズム３８０とを含むことができる。検出メカニズム３１０は、Ｗｅｂ巡回プログラム２１０と連係動作して、Ｗｅｂ巡回プログラム２１０が訪問したサイトにある、悪意のあるアクティビティを検出することができる。提示メカニズム３８０は、キーワード検索コンポーネント２３０と連係動作して、キーワード検索コンポーネント２３０によって見つかった結果が、悪意のある挙動を示しているリンクかどうかを決定することができる。提示メカニズム３８０は、悪意のある挙動を示すリンクを検索結果の中で見つけると、リンク処理ルーチンを実行して、その悪意のある挙動からユーザが確実に保護されるようにする。
【００２３】
提示メカニズム３８０は、ユーザコンピュータ１０を悪意のあるリンクから保護するために、いくつかの異なるメカニズムを含むことができる。検索エンジン２００は、キーワード検索コンポーネント２３０を実施してクリッカブルリンクのリストを作成し、たいていは各リンクに関連付けられた多少のテキストを添える。最近の巡回の間に検出メカニズム３１０によって悪意があると識別されたＷｅｂサイトをリンクがポイントしていると、いくつかの異なるアクションが実行される場合がある。
【００２４】
好ましい実施形態では、提示メカニズム３８０は、たとえ機能を犠牲にしてでも最大レベルの保護を提供するようＷｅｂブラウザを促すために、感染したリンクを修正することができる。たとえば、提示メカニズム３８０は、悪意のあるリンクの先頭に感嘆符（！）を追加して自身を保護することをＷｅｂブラウザに促すことができる。これにより、たとえば、ｗｗｗ．ｍａｌｉｃｉｏｕｓ．ｃｏｍは「！ｈｔｔｐ：／／ｗｗｗ．ｍａｌｉｃｉｏｕｓ．ｃｏｍ」となる。結果として、この修正されたリンクは、たとえば、選択されたマクロを無効にするなど、いくつかのアクションを実行することができる。
【００２５】
別の実施形態では、提示メカニズム３８０は、実行される可能性のある悪意のあるアクティビティからユーザコンピュータ１０を遮断することが可能なプロキシをポイントするよう、その危険なリンクを修正する。同様に、提示メカニズム３８０は、リンクを修正して、そのリンクが、検索エンジン２００に格納されている、Ｗｅｂページの駆除済みのキャッシュされたコピーをポイントするか、検索エンジン２００の代わりに、Ｗｅｂページの駆除済みのキャッシュされたコピーをポイントするようにすることが可能である。この修正されたリンクは、巡回の時点で保存された、駆除済み（ｄｉｓｉｎｆｅｃｔｅｄ）のキャッシュされたコピーを参照することが可能である。あるいは、提示メカニズム３８０は、動的に駆除される、キャッシュされていないコピーをポイントする修正されたリンクを提示することが可能である。この場合、ユーザがその修正されたリンクを選択した時点で、駆除が行われる。
【００２６】
さらに別の実施形態では、提示メカニズム３８０は、ユーザに対して表示される警告を作成することができる。この警告は、リンクのコンテンツが、アクセスされた場合に悪意を有するものである可能性があることを示すことができる。さらに別の代替実施形態では、提示メカニズムは、危険なリンクを隠したり、ユーザコンピュータ１０に対して表示しないようにしたりすることができる。
【００２７】
図４は、検出メカニズムの好ましい実施形態３１０を示す。検出メカニズム３１０は、静的解析ツール３１２と、動的解析ツール３１６とを含むことができる。静的解析ツール３１２は、トラバースされたＷｅｂページまたはＷｅｂサイトのそれぞれに既知のコードパターンがないかどうかを検査することができる。たとえば、静的解析ツール３１２は、不要に長いＨＴＭＬフィールドを検出することができる。動的解析ツール３１６は、既知の、悪意のある挙動およびトラフィックパターンを検出するように動作する。たとえば、動的解析ツール３１６は、あるＷｅｂサイトが、しばしば脆弱性に関連付けられるポートにおいてクライアントへの再接続を開始したことや、訪問先のＷｅｂサイトが検索エンジン２００にハックバック（ｈａｃｋ  ｂａｃｋ）しようとしていることを突き止めることができる。検索エンジン２００は、防御が行き届いていなければならず、訪問先のＷｅｂサイトからは普通のユーザコンピュータに見えるように構成されていなければならない。悪意のあるＷｅｂサイトは、訪問者と通信する前に、検索エンジンなどの訪問者とユーザブラウザとを見分けることができる。
【００２８】
図５は、検出メカニズムの代替的な実施形態３３０を示す。検出メカニズム３３０は、仮想マシン３４０などの使い捨て（ｄｉｓｐｏｓａｂｌｅ）マシンと、使い捨て（または仮想）マシン検査メカニズム３５０とを含むことが可能である。図５に示される実施形態では、仮想マシン３４０が、ウィンドウ内部でウィンドウを動作させることが可能な仮想ＰＣプログラムと同様に動作する。内部ウィンドウは、外部ウィンドウまたは一次マシンとは独立の方法で動作することができる。したがって、内部ウィンドウに対して発生することは、一次マシンに有害な影響を与えない。したがって、仮想マシン３４０は、各Ｗｅｂサイトを訪問する巡回プログラムを含む。
【００２９】
各訪問後に、仮想マシン検査メカニズム３５０は、仮想マシン３４０内の内部巡回プログラムを調べて、感染や有害な作用がないかどうかを確認する。仮想マシン検査メカニズム３５０は、訪問先のＷｅｂサイトの挙動を調べる代わりに、各訪問の結果を調べて、仮想マシン３４０のファイルまたは挙動が変化していないかどうかを判定する。したがって、巡回プログラム２１０に接続された仮想マシン３４０が、各Ｗｅｂページまたは巡回プログラム２１０によって実施された他の検索単位を訪問した後に、仮想マシン検査メカニズム３５０が、仮想マシン３４０に感染の徴候がないかどうかを検査する。仮想マシン３４０が感染しているか改竄を受けていた場合は、訪問先のＷｅｂページまたはＷｅｂサイトは悪意のあるものとして認識される。悪意のあるＷｅｂサイトまたはＷｅｂページが訪問された後、仮想マシン検査メカニズム３５０は、さらに別のＷｅｂサイトまたはＷｅｂページが訪問される前に、仮想マシン３４０を再初期化する。
【００３０】
上述の実施形態では仮想マシンを使い捨てマシン（ｄｉｓｏｐｓａｂｌｅ  ｍａｃｈｉｎｅ）として用いることを説明したが、他の実施態様も可能である。たとえば、使い捨てマシンは、実際のパーソナルコンピュータを含むこともできる。仮想マシンを使い捨てマシンとして用いることには、感染した状態から迅速に復元できるという利点がある。
【００３１】
図４に示された検出メカニズムの実施形態はアクティブ検出メカニズムであり、図５に示された検出メカニズムの実施形態は、存在検出メカニズムである。図４の実施形態は挙動の発生を防ぎ、図５の実施形態は、仮想マシンでの挙動の発生を許容しその後で、訪問先のＷｅｂサイトに悪意があるかどうかを確認する。別の実施形態では、図４および図５のアプローチを組み合わせて、感染していると見られるいくつかの訪問先サイトをキャッシュし、巡回プロセス後に解析することができる。
【００３２】
Ｗｅｂ巡回プログラム２１０は、検出メカニズム３１０がページごとに、またはサイトごとに悪意のある挙動を検出することを可能にするように動作ができる。あるいは、検出メカニズム３１０または３３０は、個々のＷｅｂオブジェクト（たとえば、埋め込まれた画像ファイル）、ドメイン名、ＩＰアドレス、または他のグルーピング方法による巡回単位の基準（ｓｃａｌｅ）で判定を行うことができる。たとえば、多くの共有Ｗｅｂサイトでは、ティルデ（〜）を用いて、個々のユーザが保有するＷｅｂサイト部分を表すことが可能である。このようにすると、ｈｔｔｐ：／／ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ／ｕｓｅｒｓ／〜ｂａｒｎｅｙ／ｄｅｍｏｓ／ｈａｃｋ．ｈｔｍはユーザＢａｒｎｅｙに帰属すると見なされ、ｈｔｔｐ：／／ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ／ｕｓｅｒｓ／〜ａｄａｍ／ｉｎｄｅｘ．ｈｔｍはユーザＡｄａｍに帰属すると見なされる。この例で、ＢａｒｎｅｙのＷｅｂページに悪意があるとすると、Ｂａｒｎｅｙの管理下にあるＷｅｂサブツリー全体が悪意を持っていると示され、Ａｄａｍの管理下にあるＷｅｂサブツリーには悪意を持っているとは示されない。
【００３３】
図６は、本発明の実施形態による、悪意のあるアクティビティを検出する手順を示す。この方法はステップ６００から始まり、ステップ６０２において、Ｗｅｂ巡回プログラムがＷｅｂサイトを訪問する。ステップ６０４において、検索エンジン２００は、悪意のあるアクティビティの検出メカニズム３１０または検出メカニズム３３０を実施する。ステップ６０６において悪意のあるアクティビティが検出されると、ステップ６１０において、Ｗｅｂ巡回プログラムがそのＷｅｂサイトに悪意があることを示すインデックスを付ける。悪意のあるアクティビティが検出されない場合は、ステップ６０８において、Ｗｅｂ巡回プログラムがそのＷｅｂサイトに正常であることを示すインデックスを付ける。ステップ６１２においてＷｅｂ巡回プログラムが別のサイトを訪問することを選択すると、プロセスはステップ６０２に戻る。
【００３４】
図７は、本発明の実施形態による、ユーザに検索結果を提供する手順を示す。この手順はステップ７００から始まり、ステップ７０２において、検索エンジンはキーワード検索を実行する。ステップ７０４において、検索エンジンはインデックス２１０内で結果を見つける。ステップ７０６において、悪意があることを示すインデックスが結果に付いていた場合は、ステップ７０８において、検索エンジンがウィルス処理提示メカニズム３８０を実施する。
【００３５】
前述のように、提示メカニズム３８０は、複数ある方法のうちの１つとして動作可能である。提示メカニズム３８０は、リンクをユーザから隠したり、悪意のあるリンクである可能性をユーザに警告したりすることができる。あるいは、提示メカニズム３８０は、悪意のあるコンテンツの、駆除済みのキャッシュされたバージョンまたは動的に駆除されたバージョンにユーザをリダイレクトすることができる。別の代替的なアプローチでは、提示メカニズム３８０は、リンクを修正して、そのリンクがプロキシをポイントするようにすることができる。さらに、提示メカニズム３８０は、リンクを修正して、そのリンクが、ユーザブラウザに最大限の防御を促すようにすることができる。これにより、サイトの危険な部分が無効になるであろう。結果として得られるＷｅｂサイトが、悪意があることを示すインデックスがなくなれば、ステップ７１０において、検索エンジンが結果を提示する。このプロセスはステップ７１２で終了する。
【００３６】
前述の検出メカニズム３１０および３３０の実施形態は、巡回のフェーズとインデックス付けのフェーズとにおいて悪意のあるアクティビティを検出することに関するが、悪意のあるアクティビティは、リアルタイムでも検出可能である。この実施態様では、提示メカニズム３８０は、悪意のあるＷｅｂコンテンツを動的に検出して駆除するプロキシにユーザをリダイレクトするリンクを提示する。さらに、巡回中の検出と、アクセス中のリアルタイム検出とを組み合わせて実施することもできる。
【００３７】
まとめると、一般的な検索エンジンは、Ｗｅｂサイトを常時巡回して、インターネットインデックス情報を最新の状態に保つ。その訪問中に、巡回プログラムは、Ｗｅｂサイトおよび個々のＷｅｂページから、テキスト記述などのインデックス互換情報を取得する。本発明のシステムの実施形態は、Ｗｅｂサイトの訪問中に、悪意のあるアクティビティの存在を検出することができる。そのようなアクティビティの存在が検出されると、それが適切に記録され、後で既知の悪意のあるＷｅｂサイトまたはＷｅｂページが検索結果としてもたらされたときに、提示メカニズムが、感染または悪意のあるアクティビティがユーザのコンピュータに向けられるリスクを減らす方法で、ユーザに結果を提示する。前述のように、悪意のあるアクティビティの検出は、ユーザから要求された検索が実行された後、ただちにリアルタイムで行われることもできる。
【００３８】
本明細書では、本発明の特定の実施形態について詳細に図示および説明したが、本発明の範囲および趣旨を逸脱することなく、本発明に様々な変更や修正を加えることができることを理解されたい。本明細書に記載された実施形態は、あらゆる点において、制限的ではなく例示的であることを意図している。本発明の属する技術分野の当業者にとっては、代替の実施形態は、本発明の範囲を逸脱することなく自明であろう。
【００３９】
これまでの説明から、本発明は、本発明のシステムおよび方法に対して自明かつ固有の他の利点とともに、前述のすべての目的を達成するように良好に適合されていることが明らかである。特定の特徴およびサブコンビネーションは有用であり、他の特徴およびサブコンビネーションを参照することなく用いることができることを理解されたい。これは企図されており、添付の特許請求項の範囲に含まれる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態によるシステムの概要を示すブロック図である。
【図２】本発明の実施形態を実施することができるコンピュータ環境を示すブロック図である。
【図３】本発明の実施形態によるウィルス処理コンポーネントを示すブロック図である。
【図４】本発明の実施形態による検出メカニズムを示すブロック図である。
【図５】本発明の代替の実施形態による検出メカニズムを示すブロック図である。
【図６】本発明の実施形態による、悪意のあるＷｅｂサイトにインデックスを付ける方法を示すフローチャートである。
【図７】本発明の実施形態による、検索エンジンによるリンクの提示方法を示すフローチャートである。
【符号の説明】
【００４１】
３０、４０、５０    Ｗｅｂサイト
１４１  ハードディスクドライブ
１５１  磁気ディスクドライブ
１５５  光ディスクドライブ
２００  検索エンジン
【図１】
2006172484.tif 000003
【図２】
2006172484.tif 000004
【図３】
2006172484.tif 000005
【図４】
2006172484.tif 000006
【図５】
2006172484.tif 000007
【図６】
2006172484.tif 000008
【図７】
2006172484.tif 000009