(57)【要約】      （修正有）【課題】ウィルススキャンを行うローカルエージェントやオペレーティングシステム内のコンポーネントがウィルスにより変更されてしまうことがないようにする。【解決手段】装置１００はファイルを記憶する記憶媒体１０８及び管理エンジン１１６を含む。管理エンジン１１６はウィルスシグネチャファイルにアクセスする。次に、管理エンジン１１６はシグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、ファイルと比較する。次に、管理エンジン１１６はスキャンの結果を外部エージェントに報告する。【選択図】図１
2010086538.tif 000002
【特許請求の範囲】
【請求項１】
複数のファイルを記憶する記憶媒体と、
ウィルスシグネチャファイルにアクセスし、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較し、前記スキャンの結果を、前記管理エンジンの外部にあるエージェントに報告する管理エンジンと
を有する装置。
【請求項２】
前記管理エンジンは、前記複数のファイルのうちのファイルのメタデータであって、前記複数のファイルのうちのファイルを前記記憶媒体内の記憶場所にマッピングするメタデータを記憶するファームウェアをさらに有する、
請求項１に記載の装置。
【請求項３】
前記管理エンジンは、
前記メタデータでマッピングされた記憶場所を用いて、前記複数のファイルのうちのファイルに関するブロック情報を前記記憶媒体に要求し、
前記アンチウィルススキャンのために、セキュアな記憶場所に、前記ブロック情報から前記ファイルを再構成するようにさらに動作可能である、
請求項２に記載の装置。
【請求項４】
前記複数のファイルのうちのファイルがいつ変更されたか判断し、前記変更されたファイルに対応するメタデータを前記管理エンジンのファームウェアに送るフィルタドライバをさらに有する、
請求項３に記載の装置。
【請求項５】
前記ファームウェアは、前記記憶媒体からパーティションにファイルシステムをマウントするファイルシステムドライバと、前記記憶媒体と通信する記憶媒体ドライバとを記憶するようにさらに動作可能である、
請求項１に記載の装置。
【請求項６】
前記記憶媒体へのアクセスを制御するコントローラをさらに有し、
前記管理エンジンは前記記憶媒体ドライバを用いて前記コントローラと通信する、
請求項５に記載の装置。
【請求項７】
前記管理エンジンは、
前記ファイルのうち少なくとも１つにウィルススキャンを実行する、前記外部のエージェントからの要求を受け取り、
前記マウントされたパーティションを用いて前記ファイルのうち少なくとも１つに前記ウィルススキャンを実行するようにさらに動作可能である、
請求項６に記載の装置。
【請求項８】
前記ファームウェアは前記シグネチャファイルを記憶するようにさらに動作可能である、
請求項２に記載の装置。
【請求項９】
前記エージェントに割り当てられたプライベートセキュリティ鍵を用いて前記シグネチャファイルにセキュアに署名し、前記署名したシグネチャファイルを前記装置のメモリの一部に記憶するウィルス検出エージェントをさらに有する、
請求項１に記載の装置。
【請求項１０】
前記管理エンジンは、パブリックセキュリティ鍵を前記管理エンジン内にローカルに記憶し、前記メモリ内の前記署名されたシグネチャファイルの場所を決定し、前記記憶したパブリック鍵を用いて前記シグネチャファイルの有効性を決定するようにさらに動作可能である、
請求項９に記載の装置。
【請求項１１】
帯域外チャネルと、
前記チャネルを介してローカルコンピュータプラットフォームにウィルスシグネチャファイルを送る、前記帯域外チャネルに結合したリモートコンピュータプラットフォームとを有するシステムであって、
前記帯域外チャネルに結合した前記ローカルコンピュータプラットフォームは、
複数のファイルを記憶する記憶媒体と、
前記コンピュータプラットフォームから前記ウィルスシグネチャファイルを受け取り、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較する管理エンジンとを有する、
システム。
【請求項１２】
チップセットをさらに有し、
前記管理エンジンは前記チップセットに集積され、前記複数のファイルのうちのファイルのメタデータであって、前記ファイルを前記記憶媒体内の記憶場所にマッピングするメタデータを記憶するファームウェアを含む、
請求項１１に記載のシステム。
【請求項１３】
前記管理エンジンは、
前記メタデータでマッピングされた記憶場所を用いて、前記複数のファイルのうちのファイルに関するブロック情報を前記記憶媒体に要求し、
前記アンチウィルススキャンのために、セキュアな記憶場所に、前記ブロック情報から前記ファイルを再構成するようにさらに動作可能である、
請求項１２に記載のシステム。
【請求項１４】
前記ローカルコンピュータプラットフォームは、前記複数のファイルのうちのファイルがいつ変更されたか判断し、前記変更されたファイルに対応するメタデータを前記管理エンジンのファームウェアに送るフィルタドライバをさらに有する、
請求項１３に記載のシステム。
【請求項１５】
前記ファームウェアは、前記記憶媒体からパーティションにファイルシステムをマウントするファイルシステムドライバと、前記記憶媒体と通信する記憶媒体ドライバとを記憶するようにさらに動作可能である、
請求項１１に記載のシステム。
【請求項１６】
前記ローカルコンピュータプラットフォームは、前記記憶媒体へのアクセスを制御するコントローラをさらに有し、
前記管理エンジンは前記記憶媒体ドライバを用いて前記コントローラと通信する、
請求項１５に記載のシステム。
【請求項１７】
前記管理エンジンは、
前記ファイルのうち少なくとも１つにウィルススキャンを実行する、前記外部のエージェントからの要求を受け取り、
前記マウントされたパーティションを用いて前記ファイルのうち少なくとも１つに前記ウィルススキャンを実行するようにさらに動作可能である、
請求項１６に記載のシステム。
【請求項１８】
前記ファームウェアはさらに前記シグネチャファイルを記憶するように動作可能である、
請求項１２に記載のシステム。
【請求項１９】
前記ローカルコンピュータプラットフォームは、
前記エージェントに割り当てられたプライベートセキュリティ鍵を用いて前記シグネチャファイルにセキュアに署名し、前記署名したシグネチャファイルを前記ローカルコンピュータプラットフォームのメモリの一部に記憶するウィルス検出エージェントをさらに有する、
請求項１１に記載のシステム。
【請求項２０】
前記管理エンジンは、
パブリックセキュリティ鍵を前記管理エンジン内にローカルに記憶し、前記メモリ内の前記署名されたシグネチャファイルの場所を決定し、前記記憶したパブリック鍵を用いて前記シグネチャファイルの有効性を決定するようにさらに動作可能である、
請求項１９に記載のシステム。
【請求項２１】
ローカルコンピュータプラットフォームからリモートコンピュータプラットフォームに、前記ローカルコンピュータプラットフォームの記憶媒体に記憶されたファイルにウィルススキャンを実行する要求を送る段階と、
前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームの管理エンジンに、前記ファイルに対する要求を送る段階と、
前記管理エンジンが前記記憶媒体から前記ファイルを読み出す段階と、
前記管理エンジンから前記リモートコンピュータプラットフォームに前記ファイルを送る段階と、
前記ファイルが前記リモートコンピュータプラットフォームに到着したとき、前記ファイルをスキャンしてウィルスを探す段階と、
前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームに前記ウィルススキャンの結果を送る段階と
を含む方法。
【請求項２２】
前記ローカルコンピュータプラットフォームにあるフィルタドライバにより、前記ローカルコンピュータプラットフォームの記憶媒体にアクセスする段階をさらに含む、
請求項２１に記載の方法。
【請求項２３】
前記管理エンジンで実行されているサービスを用いて前記フィルタドライバを評価して、前記フィルタドライバがセキュアか決定する段階をさらに含む、
請求項２２に記載の方法。
【請求項２４】
前記管理エンジンで実行されているサービスを用いて前記ローカルコンピュータプラットフォーム内の重要なランタイムコンポーネントを評価して、前記重要なランタイムコンポーネントがセキュアであるか決定する段階をさらに含む、
請求項２１に記載の方法。
【請求項２５】
前記重要なランタイムコンポーネントのうち少なくとも１つがセキュアでないと決定されたとき、前記記憶媒体からの前記ファイルの読み出しを中止する段階と、
前記リモートコンピュータプラットフォームにセキュリティ侵害通知を送る段階とをさらに含む、
請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラットフォーム内のセキュアハードウェアコンポーネントを用いたアンチウィルススキャンサービスに関する。
【背景技術】
【０００２】
ユーザがアプリケーションを完全に買うのではなく、期間を限定してアプリケーションにアクセスする権利を購入する（subscribe  for  periodic  access）、アクセス権（subscription）ベースのソフトウェアアプリケーションを用いるビジネスは多い。アンチウィルスソフトウェアアプリケーションについて言えば、コンピュータプロットフォームのハードディスクドライブ等の記憶媒体に記憶されたファイルを変更（modify）できるルートキット（rootkit）やその他のウィルスに対して、システムを監視したいユーザにとっては、このモデルは魅力的である。オンラインスキャンモデルでは、リモートアンチウィルスサービスがローカルコンピュータプラットフォームにエージェントをインストールする（例えば、ソフトウェアアプリケーションプッシュモデル）。このエージェントは、プロットフォームのオペレーティングシステムサービスを利用して、ローカルにスキャンを実行し、その結果をリモート装置（remote  entity）に送信し、最新のシグネチャパターンファイルと比較する。このモデルは、リモート装置によりエージェントがインストールされ、スキャンに利用するオペレーティングシステムサービスがどれも変更されていない場合には、概して正確な結果を得ることができる。しかし、この仮定は常に正しいわけではない。場合によっては、ローカルエージェントとオペレーティングシステム内のその他のコンポーネントとが変更（compromise）されていて、それにより結果も変わってしまう。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明の一態様による装置は、複数のファイルを記憶する記憶媒体と、ウィルスシグネチャファイルにアクセスし、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較し、前記スキャンの結果を、前記管理エンジンの外部にあるエージェントに報告する管理エンジンとを有する。
【０００４】
本発明の他の一態様によるシステムは、帯域外チャネルと、前記チャネルを介してローカルコンピュータプラットフォームにウィルスシグネチャファイルを送る、前記帯域外チャネルに結合したリモートコンピュータプラットフォームとを有するシステムであって、前記帯域外チャネルに結合した前記ローカルコンピュータプラットフォームは、複数のファイルを記憶する記憶媒体と、前記コンピュータプラットフォームから前記ウィルスシグネチャファイルを受け取り、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較する管理エンジンとを有する。
【０００５】
本発明のさらに他の一態様による方法は、ローカルコンピュータプラットフォームからリモートコンピュータプラットフォームに、前記ローカルコンピュータプラットフォームの記憶媒体に記憶されたファイルにウィルススキャンを実行する要求を送る段階と、前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームの管理エンジンに、前記ファイルに対する要求を送る段階と、前記管理エンジンが前記記憶媒体から前記ファイルを読み出す段階と、前記管理エンジンから前記リモートコンピュータプラットフォームに前記ファイルを送る段階と、前記ファイルが前記リモートコンピュータプラットフォームに到着したとき、前記ファイルをスキャンしてウィルスを探す段階と、前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームに前記ウィルススキャンの結果を送る段階とを含む。
【図面の簡単な説明】
【０００６】
本発明は、例を挙げて説明するが、図面によっては限定されない。図面中、同じ要素には同じ参照符号を付した。
【図１】実施形態による帯域外ローカルアンチウィルススキャンを管理するシステムを示すブロック図である。
【図２】実施形態による帯域外リモートアンチウィルススキャンを管理するシステムを示すブロック図である。
【図３】実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントウィルススキャンを実行する方法を示すフロー図である。
【図４】実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントレスウィルススキャンを実行する方法を示すフロー図である。
【図５】実施形態によるシステムメモリにセキュアなウィルスパターンを記憶するプラットフォームを示すブロック図である。
【図６】実施形態によるシステムメモリにセキュアなウィルスパターンを記憶する方法を示すフロー図である。
【発明を実施するための形態】
【０００７】
セキュアプラットフォームベースのハードウェアによるアンチウィルススキャンサービスをする装置、システム、及び方法の実施形態を説明する。
【０００８】
ローカルコンピュータプラットフォームは、帯域外管理を介してリモートコンピュータプラットフォームと通信できる管理エンジンを含む。帯域外（ＯＯＢ）管理は、装置及びコンピュータシステムの管理及び一般的メンテナンスのために専用通信チャネルを用いる。管理者は、帯域外通信チャネルによる帯域外管理により、装置及びコンピュータシステムをリモートに関し及び管理できる。コンピュータの帯域外管理は、一般的に、そのコンピュータのパワーがオンであるかどうかにかかわらず行われる。
【０００９】
リモートコンピュータプラットフォームは、ローカルコンピュータプラットフォームに、ウィルスパターンを含むウィルスシグネチャファイルを送信する。ローカルコンピュータプラットフォームは、シグネチャファイルをセキュアに記憶し、供給されたパターンを基準として用いて、管理エンジンを用いて、ローカルに記憶したファイルのスキャンを実行する。このスキャンは、ローカルコンピュータプラットフォームのオペレーティングシステム及び／またはその他のコンポーネントが動作していない時に帯域外及びセキュアに実行できる。そうでなければ、悪意のウィルスやプログラムにより変更される可能性がある。スキャン結果は、リモートコンピュータプラットフォームに帯域外インタフェースにより報告される。
【００１０】
本明細書及び請求項において、開示した技術の「一実施形態」とは、その実施形態に関して説明する具体的な機能、構造、特徴などが開示した技術の少なくとも１つの実施形態に含まれることを意味している。よって、本明細書ではいろいろな箇所で「一実施形態では」と記載するが、必ずしも同じ実施形態を指すものではない。
【００１１】
以下の説明及び請求項において、「含む」や「有する」やその変化形を用いるが、互いに同意語として用いている。また、以下の説明及び請求項において、「結合された」や「接続された」やその変化形を用いる。言うまでもなく、これらの用語は互いに同意語として使用したものではない。例えば、一部の実施形態では、「接続された」という用語を用いて、２以上の要素が互いに物理的または電気的に直接的に接触していることを示している。「結合された」という用語は、２つ以上の要素が物理的または電気的に直接的に接触していることを示している。しかし、「結合された」という用語は、複数の要素が互いに直接的には接触してないが、互いに協働または相互作用することを示している。
【００１２】
図１は、実施形態による帯域外ローカルアンチウィルススキャンを管理するシステムを示すブロック図である。このシステムは、多くの実施形態では、ローカルコンピュータプラットフォーム１００を含む。ローカルコンピュータプラットフォーム１００は、別の実施形態では、インテル（登録商標）ベースの中央処理装置などの１つまたは複数のプロセッサを含んでいてもよい。各プロセッサは１つまたは複数のコアを有していてもよい。図１にはローカルコンピュータプラットフォーム１００内のプロセッサは示していない。各プロセッサはそのプロセッサにより実行される命令を記憶するメモリサブシステムに結合されている。メモリサブシステムのメモリデバイスは、ダブルデータレート（ＤＤＲ）シンクロナスＤＲＡＭなどの任意タイプの揮発性ダイナミックランダムアクセスメモリ（ＤＲＡＭ）であってもよいし、フラッシュメモリなどの任意タイプの不揮発性メモリであってもよい。プロセッサはプロセッサメモリインタフェースによりメモリと結合されている。このプロセッサメモリインタフェースは、プロセッサとメモリとの間でデータ、アドレス、制御情報、その他の情報を送信できる個別ラインを含むリンク（すなわち、相互接続／バス）であってもよい。多くの実施形態では、メモリサブシステムハードウェア（すなわち、メモリデバイス）は図１に示していない。
【００１３】
メモリサブシステムのハードウェアは示していないが、ホストオペレーティングシステム（ＯＳ）１０２はローカルコンピュータプラットフォーム１００のメモリにロードされるオペレーティングシステムを代表し、プラットフォームはそのプラットフォーム及びそれに付属する周辺装置に一般的な動作制御を提供するように動作する。ホストＯＳ１０２はマイクロソフト（登録商標）ウィンドウズ（登録商標）、ユニックス、リナックスその他のＯＳであってもよい。ホストＯＳ１０２は、プログラム、サービス、またはエージェントが実行される環境を提供する。アンチウィルスソフトウェアエージェントすなわちブラウザ（ＡＶエージェント）１０４は、ホストＯＳ１０２において実行されているプログラム／エージェントの１つである。ＡＶエージェント１０４は、リモートウィルスプロテクションサービスがローカルコンピュータプラットフォーム１００上で実行し、ユーザにウィルスのスキャンとレポートに関する入力とフィードバックさせる独自仕様のプログラムであってもよい。実施形態によっては、ＡＶエージェント１０４は、ホストＯＳ１０２環境内においてバックグラウンドで実行されるサービスである。他の実施形態では、ＡＶエージェントはＪａｖａ（登録商標）、ＸＭＬ（eXtensible  Markup  Language）、ＨＴＭＬ（HyperText  Markup  Language）、またはその他のブラウザベースのウェブアプリケーションである。
【００１４】
また、多くの実施形態では、ホストＯＳ１０２はファイルシステム１０６を含む。ファイルシステム１０６は、ファイルが記憶媒体１０８にいかに記憶されるかその構成を提供する。記憶媒体１０８は、実施形態によっては、ハードディスクドライブである。他の実施形態では、記憶媒体１０８は大規模不揮発性メモリドライブであってもよい。さらに別の実施形態では、記憶媒体はテープドライブ、光ディスクドライブ、その他のドライブ等の媒体であってもよい。記憶媒体１０８は、ローカルコンピュータプラットフォーム１００内にあるファイルの多くを記憶している。上記のように、ファイルシステム１０６はこれらのファイルを記憶する構成を提供する。例えば、ファイルシステム１０６はマイクロソフト（登録商標）ＮＴＦＳベースのファイルシステムである。
【００１５】
ロジックコンプレックス１１０は、ローカルコンピュータプラットフォーム１００内のメモリサブシステムとＩ／Ｏサブシステムを管理する統合された複数のコントローラを含む。ロジックコンプレックス１１０に結合された各サブシステムは、１つまたは複数のコントローラを用いてローカルコンピュータプラットフォーム１００内の残りのハードウェアとインタフェースする。例えば、記憶媒体１０８がＳＡＴＡ（serial  advanced  technology  attachment）ハードディスクドライブである場合、記憶コントローラ１１２はＳＡＴＡコントローラである。ＳＡＴＡコントローラはハードディスクドライブとローカルコンピュータプラットフォーム１００の残りのコンポーネントとの間で通信インタフェースを提供する。ローカルコンピュータプラットフォーム１００内で実行されるドライバは、記憶媒体１０８にアクセスするために記憶コントローラ１１２と通信する。
【００１６】
多くの実施形態では、ローカルコンピュータプラットフォーム１００は仮想化エンジン１１４を利用する。仮想化エンジン１１４によりプラットフォームを複数の仮想プラットフォームに分割できる。プロセッサは、これらの複数の仮想プラットフォームの間で実行を切り替えることができる。仮想化エンジン１１４は、（記憶媒体を含む）ローカルコンピュータプラットフォーム１００の残りの構成要素が複数の仮想プラットフォームをサポートできるロジックを含む。実施形態によっては、仮想化エンジン１１４は記憶コントローラ１１２のドライバを含む。
【００１７】
多くの実施形態において、ロジックコンプレックス１１０は管理エンジン１１６も含む。別の実施形態では、管理エンジンは、プラットフォームに関するリモート管理プロセスを支援する管理デバイス、管理ファームウェア、その他のローカルコンピュータプラットフォーム１００内の管理ロジックを含む。多くの実施形態では、管理エンジンは、ローカルコンピュータプラットフォーム１００のプロセッサと並行してかつ独立に動作する本コンピュータシステムの帯域外管理コ・プロセッサである。
【００１８】
多くの実施形態では、ロジックコンプレックス１１０はチップセットである。チップセットは、システムメモリへのアクセスを提供するメモリコントローラや、I/O相互接続（すなわち、リンク／バス）へのアクセスを提供するI/Oコントローラなどの制御ロジックを含んでいてもよい。これらの実施形態では、管理エンジン１１６はチップセットに組み込まれている。実施形態によっては、管理エンジン１１６は、チップセットのメモリコントローラハブ（ＭＣＨ）部分に組み込まれていてもよい。他の実施形態では、チップセット（すなわち、ロジックコンプレックス）は、ローカルコンピュータプラットフォームの中央プロセッサに組み込まれている。
【００１９】
多くの実施形態において、管理エンジン１１６は記憶媒体１０８に記憶されたファイルにアクセスするファイルシステムに関するロジックを含む。また、管理エンジンは、仮想化エンジン１１４を介して記憶媒体１０８にアクセスするロジックを含む。
【００２０】
具体的に、多くの実施形態では、ファイルシステムドライバ１１８は管理エンジン１１６において実行される。別の実施形態では、ファイルシステムドライバ１１８はＮＴＦＳドライバやその他のファイルシステムのドライバであってもよい。ドライバのタイプは記憶媒体１０８にファイルを記憶するのに用いるファイルシステムに応じて決まる。ファイルシステムドライバ１１８のロジックは、ファイルシステムデータ構成に関係し、記憶媒体からパーティションにファイルシステムをマウントするために用いられる。多くの実施形態では、パーティションは管理エンジン１１６のファームウェアにある。他の実施形態では、パーティションはロジックコンプレックス１１０内の他のマイクロコントローラ（図示せず）内にある。さらに他の実施形態では、マイクロコントローラはＬｉｎｕｘやＴｈｒｅａｄＸなどの組み込みオペレーティングシステムを実行するものであってもよい。
【００２１】
また、管理エンジン１１６は、多くの実施形態においてファイルメタデータリスト１２０を含む。ファイルメタデータリスト１２０はファイルを記憶媒体１０８中の対応する記憶場所（locations）にマッピングするエントリーを有する。例えば、記憶媒体１０８がハードディスクドライブである場合、ファイルメタデータリスト１２０は、ファイルをそのハードディスクドライブ内の対応する記憶場所にマッピングするエントリーを有する。さらに、一部の実施形態では、ファイルメタデータリスト１２０はすべてのファイルに対するエントリーを有していなくてもよい。むしろ、リストはcreate、destroy、open、closeの動作により変更されたファイルのエントリーを有していてもよい。このように、このリストは、記憶媒体１０８に記憶され、上記の動作やファイルを変更できるその他の動作により何らかの変更をされたファイルエントリーを有する。他の実施形態では、ファイルメタデータリストは記憶媒体に記憶されたすべてのファイルのエントリーを有していてもよい。
【００２２】
また、管理エンジン１１６は、多くの実施形態において記憶ドライバ１２２を有する。記憶ドライバ１２２を用いて、仮想化エンジン１１４を介した記憶媒体１０８との通信を行うこともできる。例えば、管理エンジンが記憶媒体１０８内の記憶場所からファイルを読み出すよう要求する場合、記憶ドライバ１２２はその要求を仮想化エンジン１１４に送る。仮想化エンジン１１４は、その仮想化エンジン１１４の内部の記憶コントローラインタフェースドライバを用いて記憶コントローラ１１２と通信することにより、記憶媒体１０８へのインタフェースを提供する。
【００２３】
多くの実施形態では、リモートコンピュータプラットフォーム１２４はローカルコンピュータプラットフォーム１００の外部にある。リモートコンピュータプラットフォーム１２４は、実施形態によっては、デスクトップ、ラップトップ、ワークステーション、サーバその他の任意のタイプのコンピュータプラットフォームである。多くの実施形態では、リモートコンピュータプラットフォーム１２４は、少なくとも帯域外通信チャネル（ＯＯＢ  ＣＣ）１２６を介してローカルコンピュータプラットフォームに結合されている。他の実施形態では、帯域外通信チャネルは相互接続や無線ネットワークであってもよい。これらのチャネルは、ローカルコンピュータプラットフォーム１００とリモートコンピュータプラットフォーム１２４との間で情報をやりとりするセキュアインタフェースとなる。チャネルは帯域外のものゆえ、多くの実施形態では、ローカルコンピュータプラットフォーム１００が機能していないかパワーが入っていない状態のときに帯域外通信チャネルがローカルコンピュータプラットフォームとの間で情報を送受信できる。例えば、リモートコンピュータプラットフォーム１２４は帯域外通信チャネル１２４を介してローカルコンピュータプラットフォーム１００に情報を送信できる。この情報は、ローカルコンピュータプラットフォーム１００にパワーが供給されていなくても、ローカルコンピュータプラットフォーム１００の管理エンジン１１６が受信する。
【００２４】
多くの実施形態では、リモートコンピュータプラットフォーム１２４はリモートアンチウィルスサービス１２８を含む。一部の実施形態では、このリモートアンチウィルスサービス１２８はウィルスのパターンや定義を含むシグネチャファイルを管理エンジンに提供する。多くの実施形態では、管理エンジンまたはローカルコンピュータプラットフォームのその他の部分にあるロジックが、記憶媒体１０８に記憶されたファイルのスキャンを実行して、ウィルスその他の悪意のプログラムがあるか判断する。このスキャンを実行するロジックは、一般的に、ウィルスがあるか判断するために、そのファイル内のパターンと比較するシグネチャファイルのウィルスの定義を必要とする。このように、一部の実施形態では、リモートアンチウィルスサービス１２８は、要求に応じて、または決まった時間に自動的に、シグネチャファイルのウィルスパターンを管理エンジンにアップロードする。他の実施形態では、管理エンジンは、リモートアンチウィルスサービスからシグネチャファイルを直接的にプル（pull）してもよい。例えば、リモートサービスに最新パターンのアップデートを要求してもよい。多くの実施形態では、管理エンジンは、ファームウェアを含み、ウィルスシグネチャファイル用のファームウェア記憶空間を有している。他の多くの実施形態では、管理エンジンは、シグネチャファイルを記憶するのに十分な空間を含んでいないので、ローカルコンピュータプラットフォーム１００の汎用メモリサブシステムを用いてシグネチャファイルを記憶してもよい。大容量記憶サブシステムによるシグネチャファイルの記憶は、図３を参照して後で詳細に説明する。
【００２５】
一部の実施形態では、管理エンジンがシグネチャファイルの記憶に用いるパーティションを生成する。他の実施形態では、管理エンジンはオペレーティングシステムと共用するパーティションをスキャンしてシグネチャファイルの記憶場所（location）を探す。
【００２６】
図１に戻り、多くの実施形態では、ウィルススキャンは管理エンジン１１６において行われる。管理エンジン１１６は帯域外ウィルススキャンシナリオを生成する。例えば、リモートアンチウィルスサービス１２８は管理エンジン１１６のファームウェア記憶空間にシグネチャファイルをアップロードする。次に、管理エンジン１１６は、記憶ドライバ１２２を用いて仮想化エンジン１１４を介して記憶媒体１０８にアクセスし、ファイルシステムドライバ１１８を用いて管理エンジン１１６にローカルにファイルシステムをマウントする。管理エンジン１１６は、ウィルススキャンロジックに、ホストＯＳ１０２からの関与（interaction）なしに、記憶媒体１０８に記憶されたファイルにウィルススキャンを実行する。管理エンジン１１６から記憶媒体１０８への直接アクセスを可能とすることにより、ウィルススキャンを帯域外で行うことができる。換言すると、管理エンジン１１６は、ホストOS１０２について関知せずにウィルススキャンを実行でき、ホストＯＳ１０２がウィルスに感染した可能性がありセキュアにまたはまったく動作していなくてもウィルススキャンを実行できる。
【００２７】
あるいは、他の実施形態では、ウィルススキャンが管理エンジン１１６内、すなわち管理エンジンにおいてローカルに行われても、スキャンするファイルは、ホストＯＳ１０２のフィルタドライバ１３０により管理エンジン１１６に最初に送られたファイルメタデータ記憶１２０に基づき決定される。例えば、フィルタドライバ１３０は、ホストＯＳ１０２内に常駐し、ファイル変更を報告するメカニズムとして機能する。具体的には、ファイルを生成、破棄（destroyed）、オープン、クローズ等した時は、フィルタドライバ１３０がそのファイル変更動作を管理エンジン１１６に報告する。管理エンジン１１６にはこのメタデータが送られる。このメタデータは基本的には記憶媒体１０８内に記憶されたファイルのファイル変更ログである。管理エンジン１１６はこのメタデータをファイルメタデータ記憶１２０に保存する。次に、管理エンジン１１６が記憶媒体１０８内のファイルのウィルススキャンの実行を決定すると、前回のスキャン以降に変更されたファイルに関する情報がファイルメタデータ記憶１２０に記憶される。このように、ウィルスに感染した可能性のあるファイルのみに絞ることにより、管理エンジン１１６によるウィルススキャンが効率的になる。
【００２８】
フィルタドライバ１３０を利用する実施形態では、フィルタドライバ１３０が危険にさらされていないか確認するためにセキュリティプロトコルを用いる。例えば、管理エンジン１１６がホワイトリスト（すなわち、管理エンジン１１６が、このファイル変更監視サービスを実行してもよいとみなしたプログラムのリスト）を有していてもよい。管理エンジン１１６は、メモリインテグリティマニフェスト（memory  integrity  manifest）やその他の標準的なソフトウェアセキュリティ確認プロセスにより、フィルタドライバ１３０に信頼性をチェックできる。フィルタドライバ１３０は、検証されなければ、管理エンジン１１６にメタデータを送る許可を得られない。ローカルコンピュータプラットフォームで実行されているアンチウィルスソフトウェアエージェントまたはブラウザアプリケーション、及び／またはリモートアンチウィルスサービス１２８にはこの問題が通知される。フィルタドライバ１２８が検証されると、管理エンジン１１６のアンチウィルススキャンプロセスは継続される。
【００２９】
図２は、実施形態による帯域外リモートアンチウィルススキャンを管理するシステムを示すブロック図である。図２に示した構成要素の多くは図１に示したものと同様または同一である。多くの実施形態では、ローカルコンピュータプラットフォーム２００はホスト環境２０２を有する。ホスト環境２０２は、アンチウィルスソフトウェアエージェント及び／またはブラウザアプリケーション２０４、フィルタドライバ２０６、ファイルシステム２０８、及びオペレーティングシステム２１０を含む。
【００３０】
多くの実施形態では、ホスト環境はホスト組み込みコントローラインタフェース（ＨＥＣＩ）２１４により、管理可能性エンジン２１２と通信する。ＨＥＣＩ２１４により、ホスト環境２０２中のオペレーティングシステム２１０やその他の構成要素は管理エンジン２１２と直接通信できる。システム管理情報及びイベントはＨＥＣＩインタフェースを介して送られる。ＨＥＣＩは管理エンジンインタフェース（ＭＥＩ）とも呼ばれる。図示はしてないが他の実施形態では、ホスト環境２０２はＨＥＣＩ２１４とは別のインタフェースにより管理エンジン２１２と通信する。
【００３１】
セキュリティサービス２１６は、管理エンジン内で実行され、重要なＯＳのコンポーネント及びフィルタドライバ２０６を検証し測定し、プラットフォームのインテグリティを維持する。最後に、リモートアンチウィルスサービス２１８は、リモートコンピュータプラットフォーム２２０上で実行され、リモートウィルススキャン機能その他を提供する。
【００３２】
図２に示したリモートアンチウィルススキャンプロセスでは、最初に、ローカルコンピュータプラットフォーム２００のホスト環境２０２のユーザが、ウェブブラウザ２０４その他のソフトウェアアプリケーションを開き、リモートアンチウィルスサービス２１８と通信する。ユーザはスキャンするファイルを選択し、またはオプションの１つを選択し、あるファイルタイプやディレクトリの自動スキャンを実行またはスケジュールする。
【００３３】
リモートアンチウィルスサービス２１８は、このファイルスキャン要求を受け取り（通信Ａ）、要求元マシン（すなわち、ローカルコンピュータプラットフォーム２００）の管理エンジン２１２にその要求を転送する（通信Ｂ）。管理エンジン２１２は、フィルタドライバ２０６にその要求を送る（通信Ｃ）。多くの実施形態において、フィルタドライバ２０６は管理エンジン２１２で実行されるセキュリティサービス２１６により保護されている（クロスハッチングはセキュリティサービス２１６により保護されているホスト環境内のコンポーネントを表す。セキュリティサービス２１６はフィルタドライバ２０６を評価（measure）して、フィルタドライバ２０６が実行時に悪意のプログラムやウィルスにより変更（modified）されていないことを検証する。
【００３４】
セキュリティサービス２１６は、ホスト環境のＯＳ２１０内にあるオペレーティングシステムの重要なコンポーネントも評価して、これらの重要なサービスが悪意のコードにより変更されていないことを確認してもよい（通信Ｄ）。すべての主要なホスト環境のコンポーネントがセキュリティサービス２１６によりセキュアであると検証されると、フィルタドライバは、要求のあったファイルを記憶媒体から読み出す（この記憶媒体は図２には示していないが、図１に参照符号１０８として示した）。記憶媒体から読み出した情報は、フィルタドライバ２０６からＨＥＣＩ２１４を介して管理エンジン２１２に送られる（通信Ｅ）。次に、管理エンジン２１２はそのファイルをリモートアンチウィルスサービスに送る（通信Ｆ）。リモートアンチウィルスサービスは、そのファイルに関する情報を受け取ると、そのファイルのウィルススキャンを実行し、スキャンした各ファイルがクリーンであるか、または感染していないかに関し結果を計算する。スキャンの結果はブラウザ２０４に送られる（通信Ｇ）。ブラウザ２０４は最初に要求を出したユーザにその結果をレポートする。
【００３５】
図３は、実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントウィルススキャンを実行する方法を示すフロー図である。このプロセスは処理ロジックにより実行される。処理ロジックは、ハードウェア（例えば、汎用コンピュータシステム内のコンポーネント）、ソフトウェア（例えば、メモリ内に記憶された命令）、またはハードウェアとソフトウェアの組み合わせである。図３に戻り、本プロセスは、最初に、管理エンジン（ＭＥ）の処理が、メモリインテグリティマニフェストを用いてフィルタドライバのホワイトリストを作成する（処理ブロック３００）。ＭＥは、少なくともフィルタドライバの実行可能コードが記憶されたメモリのセグメントを評価する。次に、既知のインテグリティチェック値に対して、現在実行されているフィルタドライバを評価する。値が一致すれば、フィルタドライバのインテグリティが検証され、ＭＥはそのフィルタドライバをホワイトリストに含めることができる。値が一致しなければ、本プロセスは終了し、リモートサービス／サーバにフィルタドライバの問題が通知される。これは、リモートサービス／サーバに、システムの潜在的な危険状態を示すものである。
【００３６】
フィルタドライバのインテグリティを検証すると、フィルタドライバ内の処理ロジックは、ファイルの生成、破棄、読み出し、書き込み、オープン、クローズ等の機能の際に、ファイルシステムメタデータをＭＥに送る（処理ブロック３０２）。ファイルを変更する機能はどれも、関連するファイルメタデータを報告する機能としてターゲットにできる。
【００３７】
次に、ＭＥはメタデータリストをセキュアな記憶場所に記憶する（処理ブロック３０４）。一部の実施形態では、ＭＥに付随するファームウェアに、ファイルメタデータのセキュアな記憶場所がある。他の実施形態では、セキュアな記憶場所（storage  location）は、ＭＥがアクセスできる他のセキュアなマイクロコントローラまたは記憶デバイスである。
【００３８】
この後、本プロセスでは、ＭＥの処理ロジックがリモートサーバまたはサービスからアンチウィルス（ＡＶ）スキャン要求を受け取る。スキャン要求は、スキャンするウィルスパターンを含むシグネチャファイルも含んでいてもよい。
【００３９】
多くの実施形態において、スキャンはハードディスクドライブ内に記憶されたファイルに対して行う。他の実施形態では、スキャンは他の形体の記憶媒体内に記憶されたファイルに対して行う。ハードディスクドライブの実施形態では、ＭＥの処理ロジックは、次に、ハードディスクドライブから、記憶されたメタデータへのマッピングをするディスクブロックを読み出すよう、仮想化エンジンに要求する。
【００４０】
ＭＥの処理ロジックは、読み出したディスクブロックからファイルを再構成して、再構成したファイルにＡＶスキャンを実行する（処理ブロック３１０）。次に、ＭＥの処理ロジックは、スキャンしたファイルのパターンがシグネチャファイルのウィルスパターンと一致するか判断する（処理ブロック３１２）。一致したら、リモートＡＶサーバまたはサービスにアラート（alert）を送る。一部の実施形態では、ＭＥの処理ロジックは、アラートを送ると、他のスキャン要求を待つ（処理ブロック３１６）。他の実施形態では、一致すると、ＭＥは検出したウィルスを処理するまで、別のスキャンは実行しない。一致しなければ、ＭＥの処理ロジックは、ブロック３１２に戻り、他のスキャン要求を待つ（処理ブロック３１６）。次に、本プロセスは処理ブロック３０６に戻る。
【００４１】
図３には示していないが多くの実施形態では、処理ブロック３０２と３０４において、ファイルが変更されるたびにメタデータリストが更新される。このように、ブロック３１６から３０６に戻った時、前回ブロック３０６を実行した時と比較して、メタデータリストは更新されている。
【００４２】
図４は、実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントレスウィルススキャンを実行する方法を示すフロー図である。このプロセスは処理ロジックにより実行される。処理ロジックは、ハードウェア（例えば、汎用コンピュータシステム内のコンポーネント）、ソフトウェア（例えば、メモリ内に記憶された命令）、またはハードウェアとソフトウェアの組み合わせである。このプロセスに出てくるコンポーネントは、図１と２に示したコンポーネントに関連している。ここで図４を参照するに、このプロセスは、最初に、管理エンジン（ＭＥ）の処理ロジックが、ファイルシステムと、仮想化エンジンと通信する記憶ドライバとを用いて、ハードディスクを読み取り専用パーティションとしてマウントする。図１を参照して説明したように、ＶＥは（図４ではハードディスクドライブである）記憶媒体にアクセスする。
【００４３】
次に、ＭＥの処理ロジックは、ファイルシステムドライバを用いてハードディスクからファイルを読み出す（処理ブロック４０２）。次に、ＭＥの処理ロジックがリモートサーバまたはサービスからＡＶスキャン要求を受け取る（処理ブロック４０４）。スキャン要求は、スキャンするウィルスパターンを含むシグネチャファイルも含んでいてもよい。
【００４４】
ＭＥ内の処理ロジックは、次に、ファイルシステムドライバを用いて読み取り専用パーティションから、スキャンするファイルを読み出し、そのファイルにＡＶスキャンを実行する（処理ブロック４０６）。ＭＥの処理ロジックは、スキャンしたファイルでウィルスパターンとの一致が見つかるか判断する（処理ブロック４０８）。一致したら、ＭＥの処理ロジックは、リモートＡＶサーバまたはサービスにアラート（alert）を送る（処理ブロック４１０）。一部の実施形態では、ＭＥの処理ロジックは、アラートを送ると、他のスキャン要求を待つ（処理ブロック４１２）。他の実施形態では、一致すると、ＭＥは検出したウィルスを処理するまで、別のスキャンは実行しない。一致しなければ、ＭＥの処理ロジックは、ブロック４０８に戻り、他のスキャン要求を待つ（処理ブロック４１２）。次に、本プロセスは処理ブロック４０４に戻る。
【００４５】
図５は、実施形態によるシステムメモリにセキュアなウィルスパターンを記憶するプラットフォームを示すブロック図である。ローカルコンピュータプラットフォーム５００のコンポーネントは、図１と２のローカルコンピュータプラットフォームのコンポーネントと同一または同様である。多くの実施形態では、ローカルコンピュータプラットフォーム５００はオペレーティングシステム５０２を含み、このオペレーティングシステム５００はコンポーネントをユーザ及びシステムのレベルで制御する。上記の通り、オペレーティングシステムは、マイクロソフト（登録商標）ウィンドウズ（登録商標）ベースのオペレーティングシステム、リナックスベースのオペレーティングシステム、ユニックスベースのオペレーティングシステム、その他多数の利用可能なオペレーティングシステムでよい。
【００４６】
オペレーティングシステム５０２はシステムメモリ５０４にアクセスできる。システムメモリは、ＤＲＡＭやフラッシュメモリでもよく、プロセッサ用の命令やデータの記憶に利用できるその他の形態のメモリでもよく、メモリにアクセスするその他のコンポーネントでもよい。プラットフォームはウィルス検出ソフトウェア５０６も含む。別の実施形態では、ウィルス検出ソフトウェアは、オペレーティングシステム５０２上で実行されるソフトウェアアプリケーション、オペレーティングシステムのバックグラウンドで実行されるソフトウェアエージェントまたはサービス、ウェブブラウザアプリケーション、またはローカルコンピュータプラットフォーム５００上で実行される他の形体のソフトウェアである。
【００４７】
また、ローカルコンピュータプラットフォーム５００は管理エンジン５０８を含む。管理エンジン５０８は、図１と２を参照して説明したように、多くのプラットフォーム管理タスクを実行し、帯域外で動作してリモートコンピュータプラットフォーム５１０と通信する。リモートコンピュータプラットフォーム５１０は、シグネチャファイルを更新するとともにその他のウィルス評価を支援するリモートアンチウィルスサービス５１２を含む。また、管理エンジンは、リモートでの管理をするために、ローカルコンピュータプラットフォーム５００にリモートアクセスする。管理エンジン５０８はコマンドインタフェース５１４を含む。管理エンジン５０８は、このコマンドインタフェース５１４により、プラットフォーム上やリモートで実行されているソフトウェアエージェントからコマンドを受け取る。また、管理エンジン５０８は、プラットフォームのシステムメモリに直接アクセスするためのダイレクトメモリアクセス（ＤＭＡ）インタフェース５１６を含んでいてもよい。ＤＭＡインタフェースにより、管理エンジン５０８は、オペレーティングシステム５０２のアクセスの許可を要求しなくても、メモリ５０４を利用できる。
【００４８】
多くの実施形態では、ウィルス検出ソフトウェア５０６は、ウィルスパターンを含むファイルまたはデータブロックを求める。ウィルスパターンファイルは、ウィルスシグネチャファイルとも呼ぶ。説明を容易にするため、複数のウィルスパターンを１つのシグネチャファイルと呼ぶ。ウィルス検出ソフトウェア５０６はリモートコンピュータプラットフォーム５１０のリモートアンチウィルスサービス５１２からシグネチャファイルを受け取る。多くの実施形態では、管理エンジン５０８は、シグネチャファイルを用いて、そのシグネチャファイル内のパターンをプラットフォームに記憶された他のファイル内のパターンと比較する。パターンが一致するファイルがあれば、管理エンジン５０８はそのファイルにはウィルスが含まれていると判断する。多くのウィルスが存在し既知のパターンをすべてシグネチャファイルに格納するので、シグネチャファイルは大きなファイルとなる。図１と２を参照して説明した多くの実施形態では、管理エンジン５０８は、シグネチャファイルをローカルの管理エンジン５０８のファームウェア記憶に格納する。
【００４９】
ローカルファームウェア記憶は大きなシグネチャファイルを記憶するにはサイズが十分でないかも知れない。それゆえ、シグネチャファイルはシステムメモリ５０４に格納してもよい。シグネチャファイルをシステムメモリ５０４に格納する場合、オペレーティングシステム５０２で実行されている悪意のプログラムやウィルスによりそのシグネチャファイルを危険にさらさないように、シグネチャファイルを守るセキュリティメカニズムがあると望ましい。
【００５０】
多くの実施形態では、シグネチャファイルは記憶媒体５２０などのハードディスクドライブその他の大規模記憶装置に記憶できる。これらの実施形態では、管理エンジン５０８は、ウィルススキャンを開始すると、記憶媒体５２０からメモリ５０４にシグネチャファイルをロードする。
【００５１】
多くの実施形態では、リモートコンピュータプラットフォーム５１０は、ベンダープライベート鍵５１８でシグネチャファイルに署名（sign）して、そのシグネチャファイルをローカルコンピュータプラットフォーム５００にプッシュする。このように、署名されたシグネチャファイルは、署名されたシグネチャファイル５２２ａとして記憶媒体５２０に記憶され、または署名されたシグネチャファイル５２２ｂとしてメモリ５０４に記憶される。ベンダープライベート鍵はウイルスソフトウェアベンダーに割り当てられた鍵である。ここで署名するとは、リモートコンピュータプラットフォーム５１０がファイルにプライベート鍵でハッシュをかけることを含む。ハッシュにより一意的なパターンが得られ、パブリック鍵を用いてこのパターンを検証できる。
【００５２】
サインしたシグネチャファイル５２２は記憶媒体５２０（ファイル５２２ａ）またはメモリ５０４（ファイル５２２ｂ）に送られる（通信Ａ）。シグネチャファイルは、まず記憶媒体５２０に送られ、管理エンジン５０８がウィルススキャンに利用する時に、記憶媒体５２０からメモリ５０４に送られる。ウィルススキャンソフトウェア５０６は、署名されたシグネチャファイル５２２ｂがメモリ５０４にロードされたことを管理エンジン５０８に通知する。多くの実施形態では、ウィルス検出ソフトウェア５０６は、シグネチャファイル５２２ｂがロードされたメモリ中の具体的な場所（location）も通知してもよい。
【００５３】
管理エンジン５０８は、メモリ５０４をチェックしてシグネチャファイル５２２ｂを探し（通信Ｃ）、管理エンジン５０８に記憶されたトラステッドパブリック鍵（trusted  public  key）５２４を用いてシグネチャファイルの信頼性を検証する。多くの実施形態では、トラステッドパブリック鍵５２４はＩＴ管理者等のトラステッドパーティ（trusted  part）により管理エンジン５０８内に格納される。シグネチャファイル５２２ｂが有効なら、管理エンジン５０８はシグネチャファイル内に格納されたパターンを用いてファイルにウィルススキャンを実行する。スキャンするファイルは、記憶媒体５２０内に格納されていてもよいし、メモリ５０４内に格納されていてもよいし（例えば、通信Ｄ）、プラットフォームの別の場所に格納されていてもよい。多くの実施形態では、管理エンジン５０８は、シグネチャファイルのブラックリスト（既知の悪意のパターン）を検索して、プラットフォームに記憶されているそのパターンを探す。
【００５４】
多くの実施形態では、管理エンジン５０８は、ウィルスその他の悪意のコードがあることを見つけると、帯域外（ＯＯＢ）チャネルを介してユーザまたはリモートエージェントにウィルス／悪意のコードがあることを警告する。
【００５５】
図６は、実施形態によるシステムメモリにセキュアなウィルスパターンを記憶する方法を示すフロー図である。このプロセスは処理ロジックにより実行される。処理ロジックは、ハードウェア（例えば、汎用コンピュータシステム内のコンポーネント）、ソフトウェア（例えば、メモリ内に記憶された命令）、またはハードウェアとソフトウェアの組み合わせである。このプロセスに出てくるコンポーネントは、図５に示したコンポーネントに関連している。ここで図６を参照するに、本プロセスでは、最初に、ウィルス検出ソフトウェアの処理ロジックがソフトウェアベンダープライベート鍵により署名されたウィルスパターンをメモリにロードする（処理ブロック６００）。
【００５６】
ウィルス検出ソフトウェアの処理ロジックは、ウィルスパターン（署名されたファイル）をメモリにロードすると、ウィルスパターンをメモリにロードしたことをＭＥに通知する（処理ブロック６０２）。多くの実施形態では、この通知により、パターンを置いたメモリの場所も通知する。次に、ＭＥの処理ロジックがリモートサーバまたはサービスからＡＶスキャン要求を受け取る（処理ブロック６０４）。
【００５７】
ＭＥの処理ロジックは、要求を受け取ると、ＭＥ内に記憶されたパブリック鍵を用いて、（例えば、パターンのインテグリティを検証して）有効な署名があるかメモリのシグネチャファイルをチェックする（処理ブロック６０６）。処理ロジックは、このチェックに基づきシグネチャがいるが有効か判断する（処理ブロック６０８）。
【００５８】
ＭＥの処理ロジックは、シグネチャファイルが有効でなければ、リモートＡＶサーバまたはサービスにアラート（alert）を送る。
【００５９】
シグネチャファイルが有効であれば、ＭＥの処理ロジックはそのシグネチャファイルを用いてウィルススキャンを実行する（処理ブロック６１２）。処理ロジックは、スキャン後、ブロック６０４に戻る。
【００６０】
セキュアプラットフォームベースのハードウェアによるアンチウィルススキャンサービスをする装置、システム、及び方法の実施形態を説明した。これらの実施形態を具体的な例を参照して説明した。ここに説明した実施形態の幅広い精神と範囲から逸脱することなく、これらの実施形態に様々な修正や変更をできることは、本開示の利益を享受する者には明らかであろう。したがって、明細書と図面は例示であって限定ではないと考えるべきである。
【図１】
2010086538.tif 000003
【図２】
2010086538.tif 000004
【図３】
2010086538.tif 000005
【図４】
2010086538.tif 000006
【図５】
2010086538.tif 000007
【図６】
2010086538.tif 000008
【外国語明細書】
2010086538000001.pdf
2010086538000002.pdf
2010086538000003.pdf
2010086538000004.pdf