説明

認証されたウィルス対策エージェントにメモリをスキャンするための直接アクセスを提供する方法及び装置

【課題】
メモリを直接的にスキャンするためのアクセスをウィルス対策エージェントに提供し得るコンピュータ・プラットフォームを提供する。
【解決手段】
コンピュータ・プラットフォームは、マネージャビリティ・エンジン340及びバーチャライザ・エンジン350を有するプラットフォーム・コントローラ・ハブ330を有する。マネージャビリティ・エンジンは、オペレーティングシステム305から隔離されたプラットフォームハードウェア空間に、ウィルス対策エージェントがダウンロードされることを可能にする。マネージャビリティ・エンジンは、ウィルス対策エージェントを認証し、プラットフォームハードウェアに結合されたメモリ370又は記憶装置390を直接的にスキャンするためのアクセスをウィルス対策エージェントに提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ウィルス対策エージェントにメモリをスキャンするためのアクセスを提供する技術に関する。
【背景技術】
【0002】
最近のマルウェア攻撃は、セキュリティ・ソフトウェア(セキュリティソフト)を標的とし、ひいては、ホストオペレーティングシステムを危険にさらす。残念ながら、例えば“コンフリッカー”などのコンピュータ・ウィルスは、セキュリティソフトを損ねることに成功し、ひいては、ダウンロード用にウィルス対策ソフトを提供するウェブサイトへのアクセスを妨げることがある。独立系ソフトベンダー(ISV)は、ウィルス対策ソフトをダウンロードで入手可能にするウェブサイトを提供することがある。その他のマルウェア攻撃は、ローカルのウィルス対策エージェントをシムあるいはルートキットし、それらエージェントが、例えばウィルスのシグナチャを調べるためにディスク又はメモリをスキャンするなどの機能を実行することを妨げるものもある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の実施形態は、認証されたウィルス対策エージェントにメモリをスキャンするための直接アクセスを提供する方法及び装置を提供する。
【課題を解決するための手段】
【0004】
一態様によれば、コンピュータ・プラットフォームにおける方法は、コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間にウィルス対策エージェントがダウンロードされることを可能にするステップと、ウィルス対策エージェントを認証するステップと、コンピュータ・プラットフォームに結合されたメモリを直接的にスキャンするためのアクセスをウィルス対策エージェントに提供するステップとを含む。
【0005】
他の一態様によれば、マネージャビリティ・エンジンを有するプラットフォーム・コントローラ・ハブを有する装置が提供される。マネージャビリティ・エンジンは、コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間に、ダウンロードされたウィルス対策エージェントを格納し、ウィルス対策エージェントを認証し、且つプラットフォームハードウェアに結合されたメモリを直接的にスキャンするためのアクセスをウィルス対策エージェントに提供する。
【図面の簡単な説明】
【0006】
ここに記載される発明は、例示であり、添付の図面に限定されるものではない。説明の簡便性及び明瞭性のため、図示される要素は必ずしも縮尺通りに描かれていない。例えば、一部の要素の寸法は、明瞭性のために、その他の要素より誇張されていることがある。また、適切であると考えられる場合、参照符号は、複数の図の間で対応する要素又は類似の要素を指し示すために繰り返されている。
【図1】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートし得るコンピュータ・プラットフォームを例示する図である。
【図2】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供することを例示するフローチャートである。
【図3】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供することをサポートし得るプラットフォームに基づくアーキテクチャを例示する図である。
【図4】一実施形態に従って、図3の構成要素群があわさって、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術を例示するフローチャートである。
【図5】一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供するシステム500を例示する図である。
【発明を実施するための形態】
【0007】
以下の説明は、一実施形態に従って、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供するコンピュータ・プラットフォームの実施形態を説明するものである。以下の記載において、本発明の一層完全なる理解を提供するために、例えばロジック実装、リソースの区分け/共有/重複実装、システムコンポーネントの種類及び相互関係、並びにロジックの区分け/統合選択などの数多くの具体的細部を説明する。しかしながら、当業者に認識されるように、本発明はそのような具体的細部を用いずに実施されることも可能である。また、発明を不明瞭にしないよう、制御構造、ゲートレベル回路、及び完全なソフトウェア命令シーケンスについては詳細に示していない。当業者は、ここに含まれる説明を用いることにより、過度の実験を行うことなく適切な機能を実現することができるであろう。
【0008】
明細書中での“一実施形態”、“一実施形態例”などへの言及は、そこで説明される実施形態が特定の特徴、構造又は特性を含み得ることを指し示すものであるが、必ずしも、全ての実施形態がその特定の特徴、構造又は特性を含むことを指し示すものではない。また、そのような言い回しは必ずしも同一の実施形態に言及するものではない。さらに、特定の特徴、構造又は特性が1つの実施形態との関連で説明されるとき、明示されているか否かにかかわらず、その特徴、構造又は特性を他の実施形態との関連で実現することは当業者の知識の範囲内であろう。
【0009】
本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせにて実現され得る。本発明の実施形態はまた、1つ以上のプロセッサによって読み出されて実行され得る機械読み取り可能媒体に格納された命令として実現され得る。機械読み取り可能媒体は、機械(例えば、コンピューティング装置)によって読み取り可能な形態で情報の記憶又は伝送を行う如何なる機構を含んでいてもよい。
【0010】
例えば、機械読み取り可能媒体は、読み出し専用メモリ(ROM);ランダムアクセスメモリ(RAM);磁気ディスク記憶媒体;光記憶媒体;フラッシュメモリデバイス;電気的、光学的、音響的あるいはその他同様の信号;を含み得る。また、ここでは、ファームウェア、ソフトウェア、ルーチン、及び命令は或る特定の動作を実行するものとして記述される。しかしながら、認識されるように、それらの説明は単に便宜上のものであり、それらの動作は実際には、ファームウェア、ソフトウェア、ルーチン及び命令を実行するコンピューティング装置、プロセッサ、コントローラ及びその他の装置によるものである。
【0011】
一実施形態において、コンピュータ・プラットフォームのハードウェアロジックは、認証されたウィルス対策エージェントを安全に実行しながら、該認証されたウィルス対策エージェントに、メモリ及び記憶装置をスキャンするための直接アクセスを提供するように用いられ得る。このような手法は、認証されたウィルス対策エージェントがホストオペレーティングシステムをスキャンすることを可能にし得る。一実施形態において、プラットフォームハードウェアに付随するサードパーティデータストレージ(3pds)又は拡張(extended)サードパーティデータストレージス(e3pds)に、1つ以上のウィルス対策エージェントがダウンロードされ得る。一実施形態において、ウィルス対策エージェントは、オペレーティングシステム上で作動しているマルウェアによってインストールが妨害されないことを確保するように、HECIを通じてローカルに、あるいは帯域外(アウト・オブ・バンド)機構上でリモートにダウンロードされ得る。
【0012】
ウィルス対策エージェントをダウンロードした後、プラットフォームハードウェアのファームウェアは、例えばウィルス対策エージェントのバイトコードをインタープリタにロードして実行する前に、そのウィルス対策エージェントを認証し、そのウィルス対策エージェントが信用できるベンダーからのものであるかを検証し得る。ウィルス対策エージェントが検証されると、プラットフォームハードウェアは、ウィルス対策エージェントがアプリケーション・プログラマブル・インタフェース(API)及びMECIにアクセスすることを可能にし得る。一実施形態において、APIへのアクセスは、DMAエンジンによるメモリの直接スキャンを可能にし、HECIへのアクセスは、ウィルス対策エージェントが仮想エンジン(VE)を介して記憶装置をスキャンすることを可能にし得る。
【0013】
結果として、一実施形態において、認証されたウィルス対策エージェントは、不正使用できないプラットフォームハードウェアによって支援されながら、コンピュータシステムにローカルな記憶装置及びメモリへのアクセスを許可され得る。また、ウィルス対策ソリューションを提供するISVが、ウィルスを有するデータファイル及びホワイトリストのウィルスシグナチャを直接的にダウンロードすることが可能にされ得るとともに、ウィルス対策エージェントが、特定されたウィルス及び/又は駆除されたウィルスの事例のログを生成することが可能にされ得る。
【0014】
認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートし得るコンピュータ・プラットフォーム100の一実施形態を図1に示す。一実施形態において、コンピュータ・プラットフォーム100は、アプリケーション110、ホストオペレーティングシステム(OS)120、プラットフォームハードウェア150、及びI/Oデバイス190を有し得る。一実施形態において、アプリケーション110は、ホストOS120及びプラットフォームハードウェア150によってサポートされる1つ以上のアプリケーションを有し得る。
【0015】
一実施形態において、プラットフォームハードウェア150は、1つ以上の処理コア、チップセット、メモリ、及びその他同様のハードウェアコンポーネントを有し得る。一実施形態において、プラットフォームハードウェア150は、例えばファームウェア、マネージャビリティ・エンジン(ME)及びバーチャライザ・エンジン(VE)などのコンポーネントをサポートし得る。一実施形態において、プラットフォームハードウェア150は、ローカルあるいはリモートにダウンロードされたウィルス対策エージェントを認証した後に、認証されたウィルス対策エージェントを安全に実行しながら、認証されたウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供し得る。
【0016】
このような手法は、認証されたウィルス対策エージェントがホストオペレーティングシステムをスキャンすることを可能にし得る。一実施形態において、I/Oデバイス190−A乃至190−Nのうちの1つは、例えばハードディスクやユニバーサル・シリアル・バス(USB)ベースのデバイスなどの記憶装置を含み得る。また、例えばネットワークインタフェースカード(NIC)など、I/Oデバイス190−A乃至190−Nのうちの1つは、帯域外通信機構をサポートし得る。
【0017】
ウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートし得るコンピュータ・プラットフォーム100の動作の一実施形態を図2のフローチャートに示す。
【0018】
ブロック210において、プラットフォームハードウェア150が、当該プラットフォームハードウェア150にダウンロードされるウィルス対策エージェントを認証し得る。一実施形態において、コンピュータ・プラットフォーム150は、署名照合又は挙動に基づく照合に基づいて、ウィルス対策エージェントを認証し得る。
【0019】
ブロック250において、プラットフォームハードウェア150は、認証されたウィルス対策エージェントを安全に実行しながら、ホストメモリ及び記憶装置をスキャンするための直接アクセスを該ウィルス対策エージェントに提供し得る。一実施形態において、ウィルス対策エージェントが当該ウィルス対策エージェントのバイトコードの実行に先立って認証されているとき、プラットフォームハードウェア150は、ウィルス対策エージェントがホストメモリ及び記憶装置を直接的にスキャンすることを可能にし得る。
【0020】
ウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートするハードウェアコンポーネント及びファームウェアコンポーネントを有するプラットフォームアーキテクチャ300の一実施形態を図3に示す。一実施形態において、プラットフォームハードウェア150は、中央演算処理ユニット(CPU)320と、プラットフォーム・コントローラ・ハブ(PCH)330をサポートし得るチップセット325とを含み得る。一実施形態において、CPU320は、プラットフォームハードウェア150内で利用可能な資源を管理するホストOS305をサポートし得る。
【0021】
一実施形態において、プラットフォーム・コントローラ・ハブ(PCH)330は、マネージャビリティ・エンジン(ME)340、バーチャライザ・エンジン(VE)350、I/Oコントローラ360、DMAエンジン365、及びメモリ370を有し得る。一実施形態において、プラットフォームハードウェア150に、記憶装置390及び遠隔サーバ392が結合され得る。一実施形態において、マネージャビリティ・エンジン(ME)340は、MEインタフェース341、MEコントローラ342、データ記憶ブロック343、認証エンジン345、インタープリタ346、スキャン−DMAインタフェース347、及び帯域外(out-of-band;OOB)通信ブロック348を有し得る。
【0022】
一実施形態において、バーチャライザ・エンジン(VE)350は、バーチャライザ・エンジン(VE)コントローラ354及びVEインタフェース355を有し得る。一実施形態において、VEインタフェース355は、VE350とME340及びI/Oコントローラ360との間での情報の交換を支援し得る。一実施形態において、VEインタフェース355はウィルス対策エージェントのダウンロードを支援し、VEコントローラ354は、マネージャビリティ・エンジン制御インタフェース(MECI)上で、ウィルス対策エージェントを表すバイトコードをME340に送信し得る。一実施形態において、VEコントローラ354及びVEインタフェース355は、例えばUSB記憶装置などの装置にローカルに格納されたウィルス対策エージェントが、ホスト組込制御インタフェース(host embedded control interface;HECI)上でダウンロードされることを可能にしてもよい。他の実施形態においては、遠隔サーバ392によってサポートされるウィルス対策エージェントが、OOBブロック348によってサポートされる帯域外通信チャネル上で、ME340に遠隔ダウンロードされてもよい。
【0023】
一実施形態において、MEインタフェース341は、ウィルス対策エージェントを表すバイトコードを受信し、該バイトコードをデータ記憶ブロック343に格納し得る。一実施形態において、MEインタフェース341は、ウィルス対策エージェントのバイトコードを、VE350又はOOBブロック348の何れかから受信してもよい。一実施形態において、MEインタフェース341は、上記バイトコードをデータ記憶ブロック343に格納した後、MEコントローラ342に第1の信号を与え得る。一実施形態において、MEインタフェース341は、遠隔サーバ392によって生成されてOOBブロック348上で送られ得るホストOS305のスキャン要求を受信し得る。一実施形態において、MEインタフェース341は、遠隔サーバ392からの要求を受信したことに応答して、MEコントローラ342に第2の信号を与え得る。
【0024】
一実施形態において、データ記憶ブロック343は、サードパーティデータストレージ(3pds)又は拡張サードパーティデータストレージを表し得る。一実施形態において、データ記憶ブロック343に格納されたバイトコードは、ウィルス対策エージェントを認証するために使用され得る。一実施形態において、独立系ソフトベンダー(ISV)は、データ記憶ブロック343及びOOB通信ブロック348を用いて、ウィルスを有するデータファイル及びホワイトリストのシグナチャを直接的にダウンロードし得る。これらは、データファイルをスキャンし、特定された、あるいは駆除された事例のログを提供するためにウィルス対策エージェントによって使用され得る。一実施形態において、ウィルス対策エージェントは、バーチャライザ・エンジン350によって私的に使用され得るストールン(stolen)ハードディスク空間にダウンロードされ得る。
【0025】
一実施形態において、認証エンジン345は、1つ以上の認証基準を用いることによってウィルス対策エージェントを認証し、例えばMEコントローラ342によってサポートされるスクリプト記述エンジン334などのスクリプト記述エンジンを有効にし得る。一実施形態において、認証エンジン345は、スクリプト記述エンジン334を有効にした後に、例えばSRAMなどのマネージャビリティ・エンジン340のメモリに格納されたスクリプト記述エンジン334を実行し得る。一実施形態において、認証エンジン345は、スクリプト記述エンジン334のシグナチャを、製造中に結合されるマネージャビリティ・エンジンのフラッシュメモリ349に格納され得る、あるいはホストドライバによってオプションROMにロードされ得るキーと比較し得る。一実施形態において、スクリプト記述エンジン334を有効にすることは、悪質なコードがマネージャビリティ・エンジン340の隔離環境内で実行されることを阻止し得る。一実施形態において、スクリプト記述エンジン334の有効化が成功した後、認証エンジン345は、ネットワークOOB上で送られる身元不明あるいは悪意のシグナチャを検出するため、ウィルス対策エージェントによって指示されるスキャン処理を実行し得る。
【0026】
一実施形態において、ウィルス対策エージェントを認証するために認証エンジン345によって用いられる認証基準は、ウィルス対策エージェントがライセンスされたエージェントであるかと、そのウィルス対策エージェントのソース(出所)とを検査することを含み得る。一実施形態において、認証エンジン345はファームウェアスタックを有し、一実施形態において、そのファームウェアスタックは、ダウンロードされたウィルス対策エージェントが信用できる独立系ソフトベンダーからのものであるか、そして、そのウィルス対策エージェントが有効なライセンスを伴っているか、ウィルス対策エージェントを検査し得る。一実施形態において、認証エンジン345は、ウィルス対策エージェントが認証基準に合格した場合に、そのウィルス対策エージェントを認証し得る。一実施形態において、認証エンジン345は、ウィルス対策エージェントが認証されたことを決定した後に第1のインジケーションを生成し、ウィルス対策エージェントが認証されなかった場合には第2のインジケーションを生成し得る。
【0027】
一実施形態において、インタープリタ346は、ウィルス対策エージェントを表す認証されたバイトコードを解釈し、そのウィルス対策エージェントを実行し得る。一実施形態において、インタープリタ346は、ウィルス対策エージェントを表すバイトコードの実行を完了した後、MEコントローラ342に信号を送り得る。
【0028】
一実施形態において、MEコントローラ342は、スクリプト記述エンジン334、制御ロジック335、及びプロセッサ状態提供部344を有し得る。一実施形態において、スクリプト記述エンジン334は、オペレーティングシステムの状態に関係なく処理されるべきウィルス対策エージェントのために隔離環境を提供し得る。一実施形態において、スクリプト記述エンジン334は、認証エンジン345によって検証され得るものであるJava(登録商標)アプレットを用いて実装され得る。一実施形態において、制御ロジック335は、認証エンジン345によって行われる認証にスクリプト記述エンジン334が合格しなかった場合に、SRAMからスクリプト記述エンジン334を消去し得る。
【0029】
一実施形態において、ウィルス対策エージェントの認証を開始するため、制御ロジック335は認証エンジン345に信号を送信し得る。一実施形態において、制御ロジック335は、MEインタフェース341から第1の信号を受信したことに応答して、データ記憶ブロック343にウィルス対策エージェントを格納し得る。一実施形態において、制御ロジック335は、認証エンジン345によって生成されたインジケーションを使用し、インタープリタ346によって生成された、解釈されたバージョンのバイトコードを処理し得る。一実施形態において、制御ロジック335は、第1のインジケーションを受信したことに応答して、インタープリタ346にバイトコードを与え得る。
【0030】
第1のインジケーションを受信し、且つインタープリタ346にバイトコードを与えた後、一実施形態において、制御ロジック335は、インタープリタ346によって解釈されたバイトコードを処理し得る。一実施形態において、制御ロジック335は、ウィルス対策エージェントの認証されたバイトコードを処理し、ウィルス対策エージェントがスキャン−DMAエンジンインタフェース347にアクセスすることを可能にし得る。一実施形態において、制御ロジック335は、認証エンジン345から第2のインジケーションを受信したことに応答して、インタープリタ346にバイトコードを与えることを禁止し得る。
【0031】
一実施形態において、制御ロジック335は、MEインタフェース341から第2の信号を受信したことに応答して、プロセッサ状態提供部344を起動し得る。一実施形態において、上記第2の信号は、遠隔サーバ392からのホストOS305のスキャン要求を受信したことに応答して生成され得る。一実施形態において、ホストOS305のスキャン要求は、ME340の計算能力が制限されている場合に遠隔サーバ392によって生成され得る。しかしながら、他の実施形態において、ローカルスキャンエンジンをサポートするのに十分な計算リソースをME340が含んでいる場合、ローカルスキャンエンジンは、CPU320のプロセッサ状態を用いてホストOS305のスキャンを実行してもよい。一実施形態において、スキャンエンジンは、ME340内でローカルにサポートされていようと、遠隔サーバ392によってサポートされていようと、ホストOS305のスキャンを実行するためにプロセッサ状態を必要とし得る。
【0032】
一実施形態において、プロセッサ状態提供部344は、CPUレジスタ322に直接的にアクセスすることによってプロセッサ状態を収集し得る。他の実施形態において、プロセッサ状態提供部344は、プロセッサ状態が格納されるメモリ位置にアクセスすることによってプロセッサ状態を収集してもよく、プロセッサ状態情報はスキャン−DMAインタフェース347を介して取り出され得る。一実施形態において、プロセッサ状態は、例えば、CPU制御レジスタCR0−CR4、インタラプト・デスクリプタ・テーブル・レジスタ(IDTR)、グローバル・デスクリプタ・テーブル・レジスタ(GDTR)、及びエクステンディド・ページ・テーブル・ポインタ(EPTP)を含み得る。一実施形態において、制御レジスタは仮想/線形メモリ・マップ/ページ・ディレクトリのゲスト物理アドレスを指し示し、IDTRはインタラプト・デスクリプタ・テーブルの線形アドレスを指し示し、GDTR及びEPTPはゲスト物理−物理メモリマップのルートディレクトリを保持する物理アドレスを指し示す。一実施形態において、プロセッサ状態提供部344はプロセッサ状態を制御ロジック335に提供し、制御ロジック335が、ME340によってトーカルにサポートされるか遠隔サーバ392によってサポートされるかの何れかであり得るスキャンエンジンに提供し、それにより、スキャンエンジンがホストOS305をスキャンすることが可能にされ得る。
【0033】
一実施形態において、スキャン−DMAエンジンインタフェース347は、ウィルス対策エージェントが直接メモリアクセス(direct memory access;DMA)チャネル365を用いてメモリ370をスキャンすることを可能にし得る。一実施形態において、スキャン−DMAエンジンインタフェース347は、ウィルス対策エージェントがメモリ370の妨げのない眺めを取得することを可能にし得る。一実施形態において、スキャン−DMAエンジンインタフェース347は、所与のアドレスにある物理メモリを読み取り、シグナチャパターンを与えられた物理メモリページの直接スキャンを可能にし得る。一実施形態において、スキャン−DMAエンジンインタフェース347は、Java(登録商標)仮想マシン(JVM)環境内のベースクラスとして実装され得る。一実施形態において、スキャン−DMAエンジンインタフェース347はまた、ウィルス対策エージェントがバーチャライザ・エンジン350を用いて記憶装置390をスキャンすることを可能にし得る。一実施形態において、スキャン−DMAエンジンインタフェース347は、DMAチャネル365又はバーチャライザ・エンジン350にアクセスするためのインタフェースを提供し得る。
【0034】
一実施形態において、DMAエンジン365は、メモリ370への直接的且つ妨げのないアクセスを提供し得る。一実施形態において、DMAエンジン365はMEカーネル内のドライバを表し得る。一実施形態において、DMAエンジン365は、PCI−e要求トランザクションの‘トランスレイティド・ビット’を設定してメモリ370にアクセスし、VT−d(virtualization technology for directed I/O)によって妨げを取り除かれ得る。
【0035】
一実施形態において、遠隔サーバ392は、ウィルス対策サービス395及びブラックリストウィルスデータベース396を有し得る。一実施形態において、ウィルス対策サービス395は、複雑なスキャンアルゴリズム及び複数のスキャンエンジンがウィルス対策エージェントを認証することを支援し得る。そのような複雑なスキャンアルゴリズムは、存在するかもしれない悪意のコードの存在を検出するために実行される。一実施形態において、ブラックリストウィルスデータベース396は、スキャンエンジンを認証するためにウィルス対策サービス395によって使用され得るウィルスのシグナチャを有し得る。一実施形態において、遠隔サーバ392は、当該遠隔サーバ392上でスキャンエンジンがサポートされている場合に、ホストOS305をスキャンする要求をME340に送信したことに応答して、プロセッサ状態を受信し得る。一実施形態において、遠隔サーバ392はプロセッサ状態を使用してホストOS305をスキャンし得る。
【0036】
ウィルス対策エージェントにメモリ及び記憶装置をスキャンするための直接アクセスを提供する技術をサポートする図3のプラットフォーム・コンポーネント群の動作を例示するフローチャートを図4に示す。
【0037】
ブロック410において、プラットフォームハードウェア150は、サードパーティデータ記憶部若しくは拡張サードパーティデータ記憶部、又はストールン・ハードディスク空間への解釈可能なウィルス対策エージェントのダウンロードを可能にし得る。一実施形態において、プラットフォームハードウェア150は、VE350を介しての、あるいはOOB通信チャネル348上での、ローカル装置からのウィルス対策エージェントのダウンロードをサポートし得る。
【0038】
ブロック420において、プラットフォームハードウェア150は、OS305内で作動中のマルウェアによってウィルス対策エージェントのダウンロードが妨げられることがないことを確実にし得る。一実施形態において、プラットフォームハードウェア150は、OS305内で作動中のマルウェアによって影響を及ぼされることのない隔離されたME環境でウィルス対策エージェントが格納されることを可能にし得る。
【0039】
ブロック430において、プラットフォームハードウェア150は、解釈可能なウィルス対策エージェント及びスキャンエンジンを認証し得る。一実施形態において、マネージャビリティ・エンジン340の認証エンジン345が、ウィルス対策エージェント及びスキャンエンジンを認証する前に、出所、ライセンス及びその他同様の認証基準を検証あるいは検査し得る。
【0040】
ブロック440において、プラットフォームハードウェア150は、ウィルス対策エージェント及びスキャンエンジンが認証されたかを確認し、ウィルス対策エージェント及びスキャンエンジンが認証テストに合格している場合、制御はブロック450へと進む。
【0041】
ブロック450において、プラットフォームハードウェア150は、ウィルス対策エージェントがインタープリタ346にロードされることを可能にし得る。ブロック460において、プラットフォームハードウェア150はウィルス対策エージェントを実行し得る。一実施形態において、MEコントローラ342が、解釈されたウィルス対策エージェントを処理し得る。一実施形態において、MEコントローラ342は、ウィルス対策エージェントがメモリ370及び記憶装置390を直接的にスキャンすることを可能にし得るスキャン−DMAインタフェース347のAPIにウィルス対策エージェントがアクセスすることを可能にし得る。
【0042】
図5を参照するに、コンピュータシステム500は、単一命令複数データ(SIMD)プロセッサを含む汎用プロセッサ502と、グラフィックス・プロセッサ・ユニット(GPU)505とを含み得る。プロセッサ502は、一実施形態において、様々なその他のタスクを実行することに加えて増強処理を実行したり、あるいは、機械読み取り可能記憶媒体525にて増強処理を提供する命令シーケンスを格納したりすることができる。しかしながら、そのような命令シーケンスはメモリ520又はその他の好適な記憶媒体に格納されてもよい。
【0043】
図5には別個のグラフィックス・プロセッサ・ユニット505が描かれているが、一部の実施形態においては、他の一例として、グラフィックス・プロセッサ・ユニット505は増強処理を実行するために用いられてもよい。コンピュータシステム500を操作するプロセッサ502は、ロジック530に結合された1つ以上のプロセッサコアとし得る。ロジック530は、コンピュータシステム500にインタフェースを提供し得る1つ以上のI/Oデバイス560に結合され得る。ロジック530は、例えば、一実施形態においてチップセットロジックとし得る。ロジック530は、光記憶装置、磁気記憶装置又は半導体記憶装置を含む如何なる種類の記憶装置であってもよいメモリ520に結合されている。グラフィックス・プロセッサ・ユニット505は、フレームバッファ510を介してディスプレイ540に結合される。
【0044】
ロジック530は、マネージャビリティ・エンジン(ME)532及びバーチャライザ・エンジン(VE)535をサポートし得る。一実施形態において、ME532は、図3を参照して説明したME340と同様のものとすることができ、VE535は、図3を参照して説明したVE350と同様のものとすることができる。一実施形態において、ロジック530は、独立系ソフトベンダーからウィルス対策エージェントを受信し、ウィルス対策エージェントがメモリ又は記憶装置を直接的にスキャンすることを可能にする前に、ウィルス対策エージェントを認証し得る。一実施形態において、ロジック530は、ウィルス対策エージェントのダウンロードを支援し、ダウンロードされたウィルス対策エージェントを認証し、ホストオペレーティングシステム503から独立したME532内の隔離環境内でウィルス対策エージェントがメモリ及び記憶装置を直接的にスキャンすることを可能にし得る。一実施形態において、ウィルス対策エージェントは、例えばUSBデバイスなどの装置からローカルに、あるいは帯域外通信チャネル上で遠隔サーバからリモートにダウンロードされ得る。
【0045】
一実施形態において、遠隔コンソール580が、ホストOS503をスキャンする要求を送信してもよく、ロジック530上のME532は、CPU制御レジスタ504のプロセッサ状態情報を収集した後、遠隔コンソール580にプロセッサ状態情報を提供し得る。一実施形態において、遠隔コンソール580はプロセッサ状態情報を用いてホストOS503をスキャンし得る。
【0046】
以上、本発明の特定の特徴を、実施形態例を参照しながら説明した。しかしながら、ここでの説明は限定的な意味で解釈されるべきものではない。当業者に明らかなこれらの実施形態例の様々な変形例及び本発明のその他の実施形態も、本発明の精神及び範囲内にあるものと見なされる。
【符号の説明】
【0047】
100 コンピュータ・プラットフォーム
110 アプリケーション
120 オペレーティングシステム(OS)
150 プラットフォームハードウェア
190、550 I/Oデバイス
300 プラットフォームアーキテクチャ
305 ホストOS
320 中央演算処理ユニット(CPU)
322、504 CPU制御レジスタ
330 プラットフォーム・コントローラ・ハブ(PCH)
334 スクリプト記述エンジン
335 制御ロジック
340、532 マネージャビリティ・エンジン(ME)
341 MEインタフェース
342 MEコントローラ
343 データ記憶ブロック
344 プロセッサ状態提供部
345 認証エンジン
346 インタープリタ
347 スキャンエンジン−DMAエンジンインタフェース
348 帯域外(OOB)通信ブロック
350、535 バーチャライザ・エンジン(VE)
354 VEコントローラ
355 VEインタフェース
360 I/Oコントローラ
365 直接メモリアクセス(DMA)エンジン
370 メモリ
390 記憶装置
392 遠隔サーバ
395 ウィルス対策サービス
500 コンピュータシステム
502 プロセッサ
503 ホストOS
505 グラフィックス・プロセッサ・ユニット(GPU)
520 メモリ
525 機械読み取り可能媒体
530 ロジック
560 ネットワークインタフェース
570 ネットワーク
580 遠隔コンソール

【特許請求の範囲】
【請求項1】
コンピュータ・プラットフォームにおける方法であって:
前記コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間にウィルス対策エージェントがダウンロードされることを可能にするステップと、
前記ウィルス対策エージェントを認証するステップと、
前記ウィルス対策エージェントに、前記コンピュータ・プラットフォームに結合されたメモリを直接的にスキャンするためのアクセスを提供するステップと、
を有する方法。
【請求項2】
前記ウィルス対策エージェントは、前記ウィルス対策エージェントがダウンロードされる出所を検証することによって認証され、前記ウィルス対策エージェントは、前記プラットフォームハードウェア内に設けられたサードパーティデータ記憶部にダウンロードされる、請求項1に記載の方法。
【請求項3】
前記ウィルス対策エージェントの認証が失敗した場合、前記ウィルス対策エージェントは処理を行うことを禁止される、請求項2に記載の方法。
【請求項4】
前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントは、前記プラットフォームハードウェアに結合された記憶装置をスキャンするための直接アクセスを提供される、請求項2に記載の方法。
【請求項5】
前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントは、直接メモリアクセスエンジンを介して前記メモリをスキャンする直接アクセスを提供される、請求項4に記載の方法。
【請求項6】
スクリプト記述エンジンを認証した後に、前記ウィルス対策エージェントが前記直接メモリアクセスエンジンを介して前記メモリをスキャンすることを支援するために該スクリプト記述エンジンを用いること、を有する請求項5に記載の方法。
【請求項7】
フラッシュデバイスに格納されたキーを用いて前記スクリプト記述エンジンのシグナチャを検証することによって、前記スクリプト記述エンジンを認証すること、を有する請求項6に記載の方法。
【請求項8】
前記スクリプト記述エンジンの前記シグナチャが、前記フラッシュデバイスに格納された前記キーと合致しなかった場合、前記スクリプト記述エンジンはスタティックランダムアクセスメモリから消去される、請求項7に記載の方法。
【請求項9】
前記ウィルス対策エージェントは、バーチャライザ・エンジンを介して記憶装置をスキャンする直接アクセスを提供される、請求項2に記載の方法。
【請求項10】
プロセッサ状態情報を用いて前記オペレーティングシステムをスキャンするステップを更に有し、該スキャンは、前記プロセッサ状態情報を受信したことに応答して遠隔サーバによって実行される、請求項1に記載の方法。
【請求項11】
マネージャビリティ・エンジンを有するプラットフォーム・コントローラ・ハブを有する装置であって:
前記マネージャビリティ・エンジンは、
コンピュータ・プラットフォームに結合されたオペレーティングシステムから隔離されたプラットフォームハードウェア空間に、ダウンロードされたウィルス対策エージェントを格納し、
前記ウィルス対策エージェントを認証し、且つ
前記ウィルス対策エージェントに、プラットフォームハードウェアに結合されたメモリを直接的にスキャンするためのアクセスを提供する、
装置。
【請求項12】
前記マネージャビリティ・エンジンは認証エンジンを有し、該認証エンジンは、前記ウィルス対策エージェントがダウンロードされた出所を検証することによって前記ウィルス対策エージェントを認証し、前記ウィルス対策エージェントは、前記プラットフォームハードウェア内に設けられたサードパーティデータ記憶部にダウンロードされる、請求項11に記載の装置。
【請求項13】
前記マネージャビリティ・エンジンは更にコントローラブロックを有し、該コントローラブロックは、前記ウィルス対策エージェントの認証が失敗した場合、前記ウィルス対策エージェントが処理を行うことを禁止する、請求項12に記載の装置。
【請求項14】
前記コントローラは、前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントに、前記コンピュータ・プラットフォームに結合された記憶装置をスキャンするための直接アクセスを提供する、請求項12に記載の装置。
【請求項15】
前記マネージャビリティ・エンジンは更に直接メモリアクセスエンジンを有し、該直接メモリアクセスエンジンは、前記ウィルス対策エージェントの認証が成功した場合、前記ウィルス対策エージェントが前記メモリをスキャンすることを支援する、請求項14に記載の装置。
【請求項16】
前記コントローラはスクリプト記述エンジンを有し、前記ウィルス対策エージェントが前記直接メモリアクセスエンジンを介して前記メモリをスキャンすることを支援するために該スクリプト記述エンジンを用いる前に、前記認証エンジンが該スクリプト記述エンジンを認証する、請求項15に記載の装置。
【請求項17】
前記認証エンジンは、フラッシュデバイスに格納されたキーを用いて前記スクリプト記述エンジンのシグナチャを検証することによって、前記スクリプト記述エンジンを認証する、請求項16に記載の装置。
【請求項18】
前記スクリプト記述エンジンの前記シグナチャが、前記フラッシュデバイスに格納された前記キーと合致しなかった場合、前記コントローラは前記スクリプト記述エンジンをスタティックランダムアクセスメモリから消去する、請求項17に記載の装置。
【請求項19】
バーチャライザ・エンジンを更に有し、該バーチャライザ・エンジンは、前記ウィルス対策エージェントに、該バーチャライザ・エンジンを介して記憶装置をスキャンする直接アクセスを提供する、請求項12に記載の装置。
【請求項20】
前記マネージャビリティ・エンジンは、前記オペレーティングシステムをスキャンするために用いられるプロセッサ状態情報を遠隔サーバに提供する、請求項11に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−96253(P2011−96253A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2010−241803(P2010−241803)
【出願日】平成22年10月28日(2010.10.28)
【出願人】(593096712)インテル コーポレイション (931)
【Fターム(参考)】