(57)【要約】【課題】  メモリを直接的にスキャンするためのアクセスをウィルス対策エージェントに提供し得るコンピュータ・プラットフォームを提供する。【解決手段】  コンピュータ・プラットフォームは、マネージャビリティ・エンジン３４０及びバーチャライザ・エンジン３５０を有するプラットフォーム・コントローラ・ハブ３３０を有する。マネージャビリティ・エンジンは、オペレーティングシステム３０５から隔離されたプラットフォームハードウェア空間に、ウィルス対策エージェントがダウンロードされることを可能にする。マネージャビリティ・エンジンは、ウィルス対策エージェントを認証し、プラットフォームハードウェアに結合されたメモリ３７０又は記憶装置３９０を直接的にスキャンするためのアクセスをウィルス対策エージェントに提供する。【選択図】  図３
2011096253.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・プラットフォームにおける方法であって：
前記コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間にウィルス対策エージェントがダウンロードされることを可能にするステップと、
前記ウィルス対策エージェントを認証するステップと、
前記ウィルス対策エージェントに、前記コンピュータ・プラットフォームに結合されたメモリを直接的にスキャンするためのアクセスを提供するステップと、
を有する方法。
【請求項２】
前記ウィルス対策エージェントは、前記ウィルス対策エージェントがダウンロードされる出所を検証することによって認証され、前記ウィルス対策エージェントは、前記プラットフォームハードウェア内に設けられたサードパーティデータ記憶部にダウンロードされる、請求項１に記載の方法。
【請求項３】
前記ウィルス対策エージェントの認証が失敗した場合、前記ウィルス対策エージェントは処理を行うことを禁止される、請求項２に記載の方法。
【請求項４】
前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントは、前記プラットフォームハードウェアに結合された記憶装置をスキャンするための直接アクセスを提供される、請求項２に記載の方法。
【請求項５】
前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントは、直接メモリアクセスエンジンを介して前記メモリをスキャンする直接アクセスを提供される、請求項４に記載の方法。
【請求項６】
スクリプト記述エンジンを認証した後に、前記ウィルス対策エージェントが前記直接メモリアクセスエンジンを介して前記メモリをスキャンすることを支援するために該スクリプト記述エンジンを用いること、を有する請求項５に記載の方法。
【請求項７】
フラッシュデバイスに格納されたキーを用いて前記スクリプト記述エンジンのシグナチャを検証することによって、前記スクリプト記述エンジンを認証すること、を有する請求項６に記載の方法。
【請求項８】
前記スクリプト記述エンジンの前記シグナチャが、前記フラッシュデバイスに格納された前記キーと合致しなかった場合、前記スクリプト記述エンジンはスタティックランダムアクセスメモリから消去される、請求項７に記載の方法。
【請求項９】
前記ウィルス対策エージェントは、バーチャライザ・エンジンを介して記憶装置をスキャンする直接アクセスを提供される、請求項２に記載の方法。
【請求項１０】
プロセッサ状態情報を用いて前記オペレーティングシステムをスキャンするステップを更に有し、該スキャンは、前記プロセッサ状態情報を受信したことに応答して遠隔サーバによって実行される、請求項１に記載の方法。
【請求項１１】
マネージャビリティ・エンジンを有するプラットフォーム・コントローラ・ハブを有する装置であって：
前記マネージャビリティ・エンジンは、
コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間に、ダウンロードされたウィルス対策エージェントを格納し、
前記ウィルス対策エージェントを認証し、且つ
前記ウィルス対策エージェントに、プラットフォームハードウェアに結合されたメモリを直接的にスキャンするためのアクセスを提供する、
装置。
【請求項１２】
前記マネージャビリティ・エンジンは認証エンジンを有し、該認証エンジンは、前記ウィルス対策エージェントがダウンロードされた出所を検証することによって前記ウィルス対策エージェントを認証し、前記ウィルス対策エージェントは、前記プラットフォームハードウェア内に設けられたサードパーティデータ記憶部にダウンロードされる、請求項１１に記載の装置。
【請求項１３】
前記マネージャビリティ・エンジンは更にコントローラブロックを有し、該コントローラブロックは、前記ウィルス対策エージェントの認証が失敗した場合、前記ウィルス対策エージェントが処理を行うことを禁止する、請求項１２に記載の装置。
【請求項１４】
前記コントローラは、前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントに、前記コンピュータ・プラットフォームに結合された記憶装置をスキャンするための直接アクセスを提供する、請求項１２に記載の装置。
【請求項１５】
前記マネージャビリティ・エンジンは更に直接メモリアクセスエンジンを有し、該直接メモリアクセスエンジンは、前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントが前記メモリをスキャンすることを支援する、請求項１４に記載の装置。
【請求項１６】
前記コントローラはスクリプト記述エンジンを有し、前記ウィルス対策エージェントが前記直接メモリアクセスエンジンを介して前記メモリをスキャンすることを支援するために該スクリプト記述エンジンを用いる前に、前記認証エンジンが該スクリプト記述エンジンを認証する、請求項１５に記載の装置。
【請求項１７】
前記認証エンジンは、フラッシュデバイスに格納されたキーを用いて前記スクリプト記述エンジンのシグナチャを検証することによって、前記スクリプト記述エンジンを認証する、請求項１６に記載の装置。
【請求項１８】
前記スクリプト記述エンジンの前記シグナチャが、前記フラッシュデバイスに格納された前記キーと合致しなかった場合、前記コントローラは前記スクリプト記述エンジンをスタティックランダムアクセスメモリから消去する、請求項１７に記載の装置。
【請求項１９】
バーチャライザ・エンジンを更に有し、該バーチャライザ・エンジンは、前記ウィルス対策エージェントに、該バーチャライザ・エンジンを介して記憶装置をスキャンする直接アクセスを提供する、請求項１２に記載の装置。
【請求項２０】
前記マネージャビリティ・エンジンは、前記オペレーティングシステムをスキャンするために用いられるプロセッサ状態情報を遠隔サーバに提供する、請求項１１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ウィルス対策エージェントにメモリをスキャンするためのアクセスを提供する技術に関する。
【背景技術】
【０００２】
最近のマルウェア攻撃は、セキュリティ・ソフトウェア（セキュリティソフト）を標的とし、ひいては、ホストオペレーティングシステムを危険にさらす。残念ながら、例えば“コンフリッカー”などのコンピュータ・ウィルスは、セキュリティソフトを損ねることに成功し、ひいては、ダウンロード用にウィルス対策ソフトを提供するウェブサイトへのアクセスを妨げることがある。独立系ソフトベンダー（ＩＳＶ）は、ウィルス対策ソフトをダウンロードで入手可能にするウェブサイトを提供することがある。その他のマルウェア攻撃は、ローカルのウィルス対策エージェントをシムあるいはルートキットし、それらエージェントが、例えばウィルスのシグナチャを調べるためにディスク又はメモリをスキャンするなどの機能を実行することを妨げるものもある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の実施形態は、認証されたウィルス対策エージェントにメモリをスキャンするための直接アクセスを提供する方法及び装置を提供する。
【課題を解決するための手段】
【０００４】
一態様によれば、コンピュータ・プラットフォームにおける方法は、コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間にウィルス対策エージェントがダウンロードされることを可能にするステップと、ウィルス対策エージェントを認証するステップと、コンピュータ・プラットフォームに結合されたメモリを直接的にスキャンするためのアクセスをウィルス対策エージェントに提供するステップとを含む。
【０００５】
他の一態様によれば、マネージャビリティ・エンジンを有するプラットフォーム・コントローラ・ハブを有する装置が提供される。マネージャビリティ・エンジンは、コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間に、ダウンロードされたウィルス対策エージェントを格納し、ウィルス対策エージェントを認証し、且つプラットフォームハードウェアに結合されたメモリを直接的にスキャンするためのアクセスをウィルス対策エージェントに提供する。
【図面の簡単な説明】
【０００６】
ここに記載される発明は、例示であり、添付の図面に限定されるものではない。説明の簡便性及び明瞭性のため、図示される要素は必ずしも縮尺通りに描かれていない。例えば、一部の要素の寸法は、明瞭性のために、その他の要素より誇張されていることがある。また、適切であると考えられる場合、参照符号は、複数の図の間で対応する要素又は類似の要素を指し示すために繰り返されている。
【図１】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートし得るコンピュータ・プラットフォームを例示する図である。
【図２】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供することを例示するフローチャートである。
【図３】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供することをサポートし得るプラットフォームに基づくアーキテクチャを例示する図である。
【図４】一実施形態に従って、図３の構成要素群があわさって、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術を例示するフローチャートである。
【図５】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供するシステム５００を例示する図である。
【発明を実施するための形態】
【０００７】
以下の説明は、一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供するコンピュータ・プラットフォームの実施形態を説明するものである。以下の記載において、本発明の一層完全なる理解を提供するために、例えばロジック実装、リソースの区分け／共有／重複実装、システムコンポーネントの種類及び相互関係、並びにロジックの区分け／統合選択などの数多くの具体的細部を説明する。しかしながら、当業者に認識されるように、本発明はそのような具体的細部を用いずに実施されることも可能である。また、発明を不明瞭にしないよう、制御構造、ゲートレベル回路、及び完全なソフトウェア命令シーケンスについては詳細に示していない。当業者は、ここに含まれる説明を用いることにより、過度の実験を行うことなく適切な機能を実現することができるであろう。
【０００８】
明細書中での“一実施形態”、“一実施形態例”などへの言及は、そこで説明される実施形態が特定の特徴、構造又は特性を含み得ることを指し示すものであるが、必ずしも、全ての実施形態がその特定の特徴、構造又は特性を含むことを指し示すものではない。また、そのような言い回しは必ずしも同一の実施形態に言及するものではない。さらに、特定の特徴、構造又は特性が１つの実施形態との関連で説明されるとき、明示されているか否かにかかわらず、その特徴、構造又は特性を他の実施形態との関連で実現することは当業者の知識の範囲内であろう。
【０００９】
本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにて実現され得る。本発明の実施形態はまた、１つ以上のプロセッサによって読み出されて実行され得る機械読み取り可能媒体に格納された命令として実現され得る。機械読み取り可能媒体は、機械（例えば、コンピューティング装置）によって読み取り可能な形態で情報の記憶又は伝送を行う如何なる機構を含んでいてもよい。
【００１０】
例えば、機械読み取り可能媒体は、読み出し専用メモリ（ＲＯＭ）；ランダムアクセスメモリ（ＲＡＭ）；磁気ディスク記憶媒体；光記憶媒体；フラッシュメモリデバイス；電気的、光学的、音響的あるいはその他同様の信号；を含み得る。また、ここでは、ファームウェア、ソフトウェア、ルーチン、及び命令は或る特定の動作を実行するものとして記述される。しかしながら、認識されるように、それらの説明は単に便宜上のものであり、それらの動作は実際には、ファームウェア、ソフトウェア、ルーチン及び命令を実行するコンピューティング装置、プロセッサ、コントローラ及びその他の装置によるものである。
【００１１】
一実施形態において、コンピュータ・プラットフォームのハードウェアロジックは、認証されたウィルス対策エージェントを安全に実行しながら、該認証されたウィルス対策エージェントに、メモリ及び記憶装置をスキャンするための直接アクセスを提供するように用いられ得る。このような手法は、認証されたウィルス対策エージェントがホストオペレーティングシステムをスキャンすることを可能にし得る。一実施形態において、プラットフォームハードウェアに付随するサードパーティデータストレージ（３ｐｄｓ）又は拡張（extended）サードパーティデータストレージス（ｅ３ｐｄｓ）に、１つ以上のウィルス対策エージェントがダウンロードされ得る。一実施形態において、ウィルス対策エージェントは、オペレーティングシステム上で作動しているマルウェアによってインストールが妨害されないことを確保するように、ＨＥＣＩを通じてローカルに、あるいは帯域外（アウト・オブ・バンド）機構上でリモートにダウンロードされ得る。
【００１２】
ウィルス対策エージェントをダウンロードした後、プラットフォームハードウェアのファームウェアは、例えばウィルス対策エージェントのバイトコードをインタープリタにロードして実行する前に、そのウィルス対策エージェントを認証し、そのウィルス対策エージェントが信用できるベンダーからのものであるかを検証し得る。ウィルス対策エージェントが検証されると、プラットフォームハードウェアは、ウィルス対策エージェントがアプリケーション・プログラマブル・インタフェース（ＡＰＩ）及びＭＥＣＩにアクセスすることを可能にし得る。一実施形態において、ＡＰＩへのアクセスは、ＤＭＡエンジンによるメモリの直接スキャンを可能にし、ＨＥＣＩへのアクセスは、ウィルス対策エージェントが仮想エンジン（ＶＥ）を介して記憶装置をスキャンすることを可能にし得る。
【００１３】
結果として、一実施形態において、認証されたウィルス対策エージェントは、不正使用できないプラットフォームハードウェアによって支援されながら、コンピュータシステムにローカルな記憶装置及びメモリへのアクセスを許可され得る。また、ウィルス対策ソリューションを提供するＩＳＶが、ウィルスを有するデータファイル及びホワイトリストのウィルスシグナチャを直接的にダウンロードすることが可能にされ得るとともに、ウィルス対策エージェントが、特定されたウィルス及び／又は駆除されたウィルスの事例のログを生成することが可能にされ得る。
【００１４】
認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートし得るコンピュータ・プラットフォーム１００の一実施形態を図１に示す。一実施形態において、コンピュータ・プラットフォーム１００は、アプリケーション１１０、ホストオペレーティングシステム（ＯＳ）１２０、プラットフォームハードウェア１５０、及びＩ／Ｏデバイス１９０を有し得る。一実施形態において、アプリケーション１１０は、ホストＯＳ１２０及びプラットフォームハードウェア１５０によってサポートされる１つ以上のアプリケーションを有し得る。
【００１５】
一実施形態において、プラットフォームハードウェア１５０は、１つ以上の処理コア、チップセット、メモリ、及びその他同様のハードウェアコンポーネントを有し得る。一実施形態において、プラットフォームハードウェア１５０は、例えばファームウェア、マネージャビリティ・エンジン（ＭＥ）及びバーチャライザ・エンジン（ＶＥ）などのコンポーネントをサポートし得る。一実施形態において、プラットフォームハードウェア１５０は、ローカルあるいはリモートにダウンロードされたウィルス対策エージェントを認証した後に、認証されたウィルス対策エージェントを安全に実行しながら、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供し得る。
【００１６】
このような手法は、認証されたウィルス対策エージェントがホストオペレーティングシステムをスキャンすることを可能にし得る。一実施形態において、Ｉ／Ｏデバイス１９０−Ａ乃至１９０−Ｎのうちの１つは、例えばハードディスクやユニバーサル・シリアル・バス（ＵＳＢ）ベースのデバイスなどの記憶装置を含み得る。また、例えばネットワークインタフェースカード（ＮＩＣ）など、Ｉ／Ｏデバイス１９０−Ａ乃至１９０−Ｎのうちの１つは、帯域外通信機構をサポートし得る。
【００１７】
ウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートし得るコンピュータ・プラットフォーム１００の動作の一実施形態を図２のフローチャートに示す。
【００１８】
ブロック２１０において、プラットフォームハードウェア１５０が、当該プラットフォームハードウェア１５０にダウンロードされるウィルス対策エージェントを認証し得る。一実施形態において、コンピュータ・プラットフォーム１５０は、署名照合又は挙動に基づく照合に基づいて、ウィルス対策エージェントを認証し得る。
【００１９】
ブロック２５０において、プラットフォームハードウェア１５０は、認証されたウィルス対策エージェントを安全に実行しながら、ホストメモリ及び記憶装置をスキャンするための直接アクセスを該ウィルス対策エージェントに提供し得る。一実施形態において、ウィルス対策エージェントが当該ウィルス対策エージェントのバイトコードの実行に先立って認証されているとき、プラットフォームハードウェア１５０は、ウィルス対策エージェントがホストメモリ及び記憶装置を直接的にスキャンすることを可能にし得る。
【００２０】
ウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートするハードウェアコンポーネント及びファームウェアコンポーネントを有するプラットフォームアーキテクチャ３００の一実施形態を図３に示す。一実施形態において、プラットフォームハードウェア１５０は、中央演算処理ユニット（ＣＰＵ）３２０と、プラットフォーム・コントローラ・ハブ（ＰＣＨ）３３０をサポートし得るチップセット３２５とを含み得る。一実施形態において、ＣＰＵ３２０は、プラットフォームハードウェア１５０内で利用可能な資源を管理するホストＯＳ３０５をサポートし得る。
【００２１】
一実施形態において、プラットフォーム・コントローラ・ハブ（ＰＣＨ）３３０は、マネージャビリティ・エンジン（ＭＥ）３４０、バーチャライザ・エンジン（ＶＥ）３５０、Ｉ／Ｏコントローラ３６０、ＤＭＡエンジン３６５、及びメモリ３７０を有し得る。一実施形態において、プラットフォームハードウェア１５０に、記憶装置３９０及び遠隔サーバ３９２が結合され得る。一実施形態において、マネージャビリティ・エンジン（ＭＥ）３４０は、ＭＥインタフェース３４１、ＭＥコントローラ３４２、データ記憶ブロック３４３、認証エンジン３４５、インタープリタ３４６、スキャン−ＤＭＡインタフェース３４７、及び帯域外（out-of-band；ＯＯＢ）通信ブロック３４８を有し得る。
【００２２】
一実施形態において、バーチャライザ・エンジン（ＶＥ）３５０は、バーチャライザ・エンジン（ＶＥ）コントローラ３５４及びＶＥインタフェース３５５を有し得る。一実施形態において、ＶＥインタフェース３５５は、ＶＥ３５０とＭＥ３４０及びＩ／Ｏコントローラ３６０との間での情報の交換を支援し得る。一実施形態において、ＶＥインタフェース３５５はウィルス対策エージェントのダウンロードを支援し、ＶＥコントローラ３５４は、マネージャビリティ・エンジン制御インタフェース（ＭＥＣＩ）上で、ウィルス対策エージェントを表すバイトコードをＭＥ３４０に送信し得る。一実施形態において、ＶＥコントローラ３５４及びＶＥインタフェース３５５は、例えばＵＳＢ記憶装置などの装置にローカルに格納されたウィルス対策エージェントが、ホスト組込制御インタフェース（host  embedded  control  interface；ＨＥＣＩ）上でダウンロードされることを可能にしてもよい。他の実施形態においては、遠隔サーバ３９２によってサポートされるウィルス対策エージェントが、ＯＯＢブロック３４８によってサポートされる帯域外通信チャネル上で、ＭＥ３４０に遠隔ダウンロードされてもよい。
【００２３】
一実施形態において、ＭＥインタフェース３４１は、ウィルス対策エージェントを表すバイトコードを受信し、該バイトコードをデータ記憶ブロック３４３に格納し得る。一実施形態において、ＭＥインタフェース３４１は、ウィルス対策エージェントのバイトコードを、ＶＥ３５０又はＯＯＢブロック３４８の何れかから受信してもよい。一実施形態において、ＭＥインタフェース３４１は、上記バイトコードをデータ記憶ブロック３４３に格納した後、ＭＥコントローラ３４２に第１の信号を与え得る。一実施形態において、ＭＥインタフェース３４１は、遠隔サーバ３９２によって生成されてＯＯＢブロック３４８上で送られ得るホストＯＳ３０５のスキャン要求を受信し得る。一実施形態において、ＭＥインタフェース３４１は、遠隔サーバ３９２からの要求を受信したことに応答して、ＭＥコントローラ３４２に第２の信号を与え得る。
【００２４】
一実施形態において、データ記憶ブロック３４３は、サードパーティデータストレージ（３ｐｄｓ）又は拡張サードパーティデータストレージを表し得る。一実施形態において、データ記憶ブロック３４３に格納されたバイトコードは、ウィルス対策エージェントを認証するために使用され得る。一実施形態において、独立系ソフトベンダー（ＩＳＶ）は、データ記憶ブロック３４３及びＯＯＢ通信ブロック３４８を用いて、ウィルスを有するデータファイル及びホワイトリストのシグナチャを直接的にダウンロードし得る。これらは、データファイルをスキャンし、特定された、あるいは駆除された事例のログを提供するためにウィルス対策エージェントによって使用され得る。一実施形態において、ウィルス対策エージェントは、バーチャライザ・エンジン３５０によって私的に使用され得るストールン（stolen）ハードディスク空間にダウンロードされ得る。
【００２５】
一実施形態において、認証エンジン３４５は、１つ以上の認証基準を用いることによってウィルス対策エージェントを認証し、例えばＭＥコントローラ３４２によってサポートされるスクリプト記述エンジン３３４などのスクリプト記述エンジンを有効にし得る。一実施形態において、認証エンジン３４５は、スクリプト記述エンジン３３４を有効にした後に、例えばＳＲＡＭなどのマネージャビリティ・エンジン３４０のメモリに格納されたスクリプト記述エンジン３３４を実行し得る。一実施形態において、認証エンジン３４５は、スクリプト記述エンジン３３４のシグナチャを、製造中に結合されるマネージャビリティ・エンジンのフラッシュメモリ３４９に格納され得る、あるいはホストドライバによってオプションＲＯＭにロードされ得るキーと比較し得る。一実施形態において、スクリプト記述エンジン３３４を有効にすることは、悪質なコードがマネージャビリティ・エンジン３４０の隔離環境内で実行されることを阻止し得る。一実施形態において、スクリプト記述エンジン３３４の有効化が成功した後、認証エンジン３４５は、ネットワークＯＯＢ上で送られる身元不明あるいは悪意のシグナチャを検出するため、ウィルス対策エージェントによって指示されるスキャン処理を実行し得る。
【００２６】
一実施形態において、ウィルス対策エージェントを認証するために認証エンジン３４５によって用いられる認証基準は、ウィルス対策エージェントがライセンスされたエージェントであるかと、そのウィルス対策エージェントのソース（出所）とを検査することを含み得る。一実施形態において、認証エンジン３４５はファームウェアスタックを有し、一実施形態において、そのファームウェアスタックは、ダウンロードされたウィルス対策エージェントが信用できる独立系ソフトベンダーからのものであるか、そして、そのウィルス対策エージェントが有効なライセンスを伴っているか、ウィルス対策エージェントを検査し得る。一実施形態において、認証エンジン３４５は、ウィルス対策エージェントが認証基準に合格した場合に、そのウィルス対策エージェントを認証し得る。一実施形態において、認証エンジン３４５は、ウィルス対策エージェントが認証されたことを決定した後に第１のインジケーションを生成し、ウィルス対策エージェントが認証されなかった場合には第２のインジケーションを生成し得る。
【００２７】
一実施形態において、インタープリタ３４６は、ウィルス対策エージェントを表す認証されたバイトコードを解釈し、そのウィルス対策エージェントを実行し得る。一実施形態において、インタープリタ３４６は、ウィルス対策エージェントを表すバイトコードの実行を完了した後、ＭＥコントローラ３４２に信号を送り得る。
【００２８】
一実施形態において、ＭＥコントローラ３４２は、スクリプト記述エンジン３３４、制御ロジック３３５、及びプロセッサ状態提供部３４４を有し得る。一実施形態において、スクリプト記述エンジン３３４は、オペレーティングシステムの状態に関係なく処理されるべきウィルス対策エージェントのために隔離環境を提供し得る。一実施形態において、スクリプト記述エンジン３３４は、認証エンジン３４５によって検証され得るものであるＪａｖａ（登録商標）アプレットを用いて実装され得る。一実施形態において、制御ロジック３３５は、認証エンジン３４５によって行われる認証にスクリプト記述エンジン３３４が合格しなかった場合に、ＳＲＡＭからスクリプト記述エンジン３３４を消去し得る。
【００２９】
一実施形態において、ウィルス対策エージェントの認証を開始するため、制御ロジック３３５は認証エンジン３４５に信号を送信し得る。一実施形態において、制御ロジック３３５は、ＭＥインタフェース３４１から第１の信号を受信したことに応答して、データ記憶ブロック３４３にウィルス対策エージェントを格納し得る。一実施形態において、制御ロジック３３５は、認証エンジン３４５によって生成されたインジケーションを使用し、インタープリタ３４６によって生成された、解釈されたバージョンのバイトコードを処理し得る。一実施形態において、制御ロジック３３５は、第１のインジケーションを受信したことに応答して、インタープリタ３４６にバイトコードを与え得る。
【００３０】
第１のインジケーションを受信し、且つインタープリタ３４６にバイトコードを与えた後、一実施形態において、制御ロジック３３５は、インタープリタ３４６によって解釈されたバイトコードを処理し得る。一実施形態において、制御ロジック３３５は、ウィルス対策エージェントの認証されたバイトコードを処理し、ウィルス対策エージェントがスキャン−ＤＭＡエンジンインタフェース３４７にアクセスすることを可能にし得る。一実施形態において、制御ロジック３３５は、認証エンジン３４５から第２のインジケーションを受信したことに応答して、インタープリタ３４６にバイトコードを与えることを禁止し得る。
【００３１】
一実施形態において、制御ロジック３３５は、ＭＥインタフェース３４１から第２の信号を受信したことに応答して、プロセッサ状態提供部３４４を起動し得る。一実施形態において、上記第２の信号は、遠隔サーバ３９２からのホストＯＳ３０５のスキャン要求を受信したことに応答して生成され得る。一実施形態において、ホストＯＳ３０５のスキャン要求は、ＭＥ３４０の計算能力が制限されている場合に遠隔サーバ３９２によって生成され得る。しかしながら、他の実施形態において、ローカルスキャンエンジンをサポートするのに十分な計算リソースをＭＥ３４０が含んでいる場合、ローカルスキャンエンジンは、ＣＰＵ３２０のプロセッサ状態を用いてホストＯＳ３０５のスキャンを実行してもよい。一実施形態において、スキャンエンジンは、ＭＥ３４０内でローカルにサポートされていようと、遠隔サーバ３９２によってサポートされていようと、ホストＯＳ３０５のスキャンを実行するためにプロセッサ状態を必要とし得る。
【００３２】
一実施形態において、プロセッサ状態提供部３４４は、ＣＰＵレジスタ３２２に直接的にアクセスすることによってプロセッサ状態を収集し得る。他の実施形態において、プロセッサ状態提供部３４４は、プロセッサ状態が格納されるメモリ位置にアクセスすることによってプロセッサ状態を収集してもよく、プロセッサ状態情報はスキャン−ＤＭＡインタフェース３４７を介して取り出され得る。一実施形態において、プロセッサ状態は、例えば、ＣＰＵ制御レジスタＣＲ０−ＣＲ４、インタラプト・デスクリプタ・テーブル・レジスタ（ＩＤＴＲ）、グローバル・デスクリプタ・テーブル・レジスタ（ＧＤＴＲ）、及びエクステンディド・ページ・テーブル・ポインタ（ＥＰＴＰ）を含み得る。一実施形態において、制御レジスタは仮想／線形メモリ・マップ／ページ・ディレクトリのゲスト物理アドレスを指し示し、ＩＤＴＲはインタラプト・デスクリプタ・テーブルの線形アドレスを指し示し、ＧＤＴＲ及びＥＰＴＰはゲスト物理−物理メモリマップのルートディレクトリを保持する物理アドレスを指し示す。一実施形態において、プロセッサ状態提供部３４４はプロセッサ状態を制御ロジック３３５に提供し、制御ロジック３３５が、ＭＥ３４０によってトーカルにサポートされるか遠隔サーバ３９２によってサポートされるかの何れかであり得るスキャンエンジンに提供し、それにより、スキャンエンジンがホストＯＳ３０５をスキャンすることが可能にされ得る。
【００３３】
一実施形態において、スキャン−ＤＭＡエンジンインタフェース３４７は、ウィルス対策エージェントが直接メモリアクセス（direct  memory  access；ＤＭＡ）チャネル３６５を用いてメモリ３７０をスキャンすることを可能にし得る。一実施形態において、スキャン−ＤＭＡエンジンインタフェース３４７は、ウィルス対策エージェントがメモリ３７０の妨げのない眺めを取得することを可能にし得る。一実施形態において、スキャン−ＤＭＡエンジンインタフェース３４７は、所与のアドレスにある物理メモリを読み取り、シグナチャパターンを与えられた物理メモリページの直接スキャンを可能にし得る。一実施形態において、スキャン−ＤＭＡエンジンインタフェース３４７は、Ｊａｖａ（登録商標）仮想マシン（ＪＶＭ）環境内のベースクラスとして実装され得る。一実施形態において、スキャン−ＤＭＡエンジンインタフェース３４７はまた、ウィルス対策エージェントがバーチャライザ・エンジン３５０を用いて記憶装置３９０をスキャンすることを可能にし得る。一実施形態において、スキャン−ＤＭＡエンジンインタフェース３４７は、ＤＭＡチャネル３６５又はバーチャライザ・エンジン３５０にアクセスするためのインタフェースを提供し得る。
【００３４】
一実施形態において、ＤＭＡエンジン３６５は、メモリ３７０への直接的且つ妨げのないアクセスを提供し得る。一実施形態において、ＤＭＡエンジン３６５はＭＥカーネル内のドライバを表し得る。一実施形態において、ＤＭＡエンジン３６５は、ＰＣＩ−ｅ要求トランザクションの‘トランスレイティド・ビット’を設定してメモリ３７０にアクセスし、ＶＴ−ｄ（virtualization  technology  for  directed  I／O）によって妨げを取り除かれ得る。
【００３５】
一実施形態において、遠隔サーバ３９２は、ウィルス対策サービス３９５及びブラックリストウィルスデータベース３９６を有し得る。一実施形態において、ウィルス対策サービス３９５は、複雑なスキャンアルゴリズム及び複数のスキャンエンジンがウィルス対策エージェントを認証することを支援し得る。そのような複雑なスキャンアルゴリズムは、存在するかもしれない悪意のコードの存在を検出するために実行される。一実施形態において、ブラックリストウィルスデータベース３９６は、スキャンエンジンを認証するためにウィルス対策サービス３９５によって使用され得るウィルスのシグナチャを有し得る。一実施形態において、遠隔サーバ３９２は、当該遠隔サーバ３９２上でスキャンエンジンがサポートされている場合に、ホストＯＳ３０５をスキャンする要求をＭＥ３４０に送信したことに応答して、プロセッサ状態を受信し得る。一実施形態において、遠隔サーバ３９２はプロセッサ状態を使用してホストＯＳ３０５をスキャンし得る。
【００３６】
ウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートする図３のプラットフォーム・コンポーネント群の動作を例示するフローチャートを図４に示す。
【００３７】
ブロック４１０において、プラットフォームハードウェア１５０は、サードパーティデータ記憶部若しくは拡張サードパーティデータ記憶部、又はストールン・ハードディスク空間への解釈可能なウィルス対策エージェントのダウンロードを可能にし得る。一実施形態において、プラットフォームハードウェア１５０は、ＶＥ３５０を介しての、あるいはＯＯＢ通信チャネル３４８上での、ローカル装置からのウィルス対策エージェントのダウンロードをサポートし得る。
【００３８】
ブロック４２０において、プラットフォームハードウェア１５０は、ＯＳ３０５内で作動中のマルウェアによってウィルス対策エージェントのダウンロードが妨げられることがないことを確実にし得る。一実施形態において、プラットフォームハードウェア１５０は、ＯＳ３０５内で作動中のマルウェアによって影響を及ぼされることのない隔離されたＭＥ環境でウィルス対策エージェントが格納されることを可能にし得る。
【００３９】
ブロック４３０において、プラットフォームハードウェア１５０は、解釈可能なウィルス対策エージェント及びスキャンエンジンを認証し得る。一実施形態において、マネージャビリティ・エンジン３４０の認証エンジン３４５が、ウィルス対策エージェント及びスキャンエンジンを認証する前に、出所、ライセンス及びその他同様の認証基準を検証あるいは検査し得る。
【００４０】
ブロック４４０において、プラットフォームハードウェア１５０は、ウィルス対策エージェント及びスキャンエンジンが認証されたかを確認し、ウィルス対策エージェント及びスキャンエンジンが認証テストに合格している場合、制御はブロック４５０へと進む。
【００４１】
ブロック４５０において、プラットフォームハードウェア１５０は、ウィルス対策エージェントがインタープリタ３４６にロードされることを可能にし得る。ブロック４６０において、プラットフォームハードウェア１５０はウィルス対策エージェントを実行し得る。一実施形態において、ＭＥコントローラ３４２が、解釈されたウィルス対策エージェントを処理し得る。一実施形態において、ＭＥコントローラ３４２は、ウィルス対策エージェントがメモリ３７０及び記憶装置３９０を直接的にスキャンすることを可能にし得るスキャン−ＤＭＡインタフェース３４７のＡＰＩにウィルス対策エージェントがアクセスすることを可能にし得る。
【００４２】
図５を参照するに、コンピュータシステム５００は、単一命令複数データ（ＳＩＭＤ）プロセッサを含む汎用プロセッサ５０２と、グラフィックス・プロセッサ・ユニット（ＧＰＵ）５０５とを含み得る。プロセッサ５０２は、一実施形態において、様々なその他のタスクを実行することに加えて増強処理を実行したり、あるいは、機械読み取り可能記憶媒体５２５にて増強処理を提供する命令シーケンスを格納したりすることができる。しかしながら、そのような命令シーケンスはメモリ５２０又はその他の好適な記憶媒体に格納されてもよい。
【００４３】
図５には別個のグラフィックス・プロセッサ・ユニット５０５が描かれているが、一部の実施形態においては、他の一例として、グラフィックス・プロセッサ・ユニット５０５は増強処理を実行するために用いられてもよい。コンピュータシステム５００を操作するプロセッサ５０２は、ロジック５３０に結合された１つ以上のプロセッサコアとし得る。ロジック５３０は、コンピュータシステム５００にインタフェースを提供し得る１つ以上のＩ／Ｏデバイス５６０に結合され得る。ロジック５３０は、例えば、一実施形態においてチップセットロジックとし得る。ロジック５３０は、光記憶装置、磁気記憶装置又は半導体記憶装置を含む如何なる種類の記憶装置であってもよいメモリ５２０に結合されている。グラフィックス・プロセッサ・ユニット５０５は、フレームバッファ５１０を介してディスプレイ５４０に結合される。
【００４４】
ロジック５３０は、マネージャビリティ・エンジン（ＭＥ）５３２及びバーチャライザ・エンジン（ＶＥ）５３５をサポートし得る。一実施形態において、ＭＥ５３２は、図３を参照して説明したＭＥ３４０と同様のものとすることができ、ＶＥ５３５は、図３を参照して説明したＶＥ３５０と同様のものとすることができる。一実施形態において、ロジック５３０は、独立系ソフトベンダーからウィルス対策エージェントを受信し、ウィルス対策エージェントがメモリ又は記憶装置を直接的にスキャンすることを可能にする前に、ウィルス対策エージェントを認証し得る。一実施形態において、ロジック５３０は、ウィルス対策エージェントのダウンロードを支援し、ダウンロードされたウィルス対策エージェントを認証し、ホストオペレーティングシステム５０３から独立したＭＥ５３２内の隔離環境内でウィルス対策エージェントがメモリ及び記憶装置を直接的にスキャンすることを可能にし得る。一実施形態において、ウィルス対策エージェントは、例えばＵＳＢデバイスなどの装置からローカルに、あるいは帯域外通信チャネル上で遠隔サーバからリモートにダウンロードされ得る。
【００４５】
一実施形態において、遠隔コンソール５８０が、ホストＯＳ５０３をスキャンする要求を送信してもよく、ロジック５３０上のＭＥ５３２は、ＣＰＵ制御レジスタ５０４のプロセッサ状態情報を収集した後、遠隔コンソール５８０にプロセッサ状態情報を提供し得る。一実施形態において、遠隔コンソール５８０はプロセッサ状態情報を用いてホストＯＳ５０３をスキャンし得る。
【００４６】
以上、本発明の特定の特徴を、実施形態例を参照しながら説明した。しかしながら、ここでの説明は限定的な意味で解釈されるべきものではない。当業者に明らかなこれらの実施形態例の様々な変形例及び本発明のその他の実施形態も、本発明の精神及び範囲内にあるものと見なされる。
【符号の説明】
【００４７】
１００  コンピュータ・プラットフォーム
１１０  アプリケーション
１２０  オペレーティングシステム（ＯＳ）
１５０  プラットフォームハードウェア
１９０、５５０  Ｉ／Ｏデバイス
３００  プラットフォームアーキテクチャ
３０５  ホストＯＳ
３２０  中央演算処理ユニット（ＣＰＵ）
３２２、５０４  ＣＰＵ制御レジスタ
３３０  プラットフォーム・コントローラ・ハブ（ＰＣＨ）
３３４  スクリプト記述エンジン
３３５  制御ロジック
３４０、５３２  マネージャビリティ・エンジン（ＭＥ）
３４１  ＭＥインタフェース
３４２  ＭＥコントローラ
３４３  データ記憶ブロック
３４４  プロセッサ状態提供部
３４５  認証エンジン
３４６  インタープリタ
３４７  スキャンエンジン−ＤＭＡエンジンインタフェース
３４８  帯域外（ＯＯＢ）通信ブロック
３５０、５３５  バーチャライザ・エンジン（ＶＥ）
３５４  ＶＥコントローラ
３５５  ＶＥインタフェース
３６０  Ｉ／Ｏコントローラ
３６５  直接メモリアクセス（ＤＭＡ）エンジン
３７０  メモリ
３９０  記憶装置
３９２  遠隔サーバ
３９５  ウィルス対策サービス
５００  コンピュータシステム
５０２  プロセッサ
５０３  ホストＯＳ
５０５  グラフィックス・プロセッサ・ユニット（ＧＰＵ）
５２０  メモリ
５２５  機械読み取り可能媒体
５３０  ロジック
５６０  ネットワークインタフェース
５７０  ネットワーク
５８０  遠隔コンソール
【図１】
2011096253.tif 000003
【図２】
2011096253.tif 000004
【図３】
2011096253.tif 000005
【図４】
2011096253.tif 000006
【図５】
2011096253.tif 000007