JP5539445B2 - ハードウェアベースのアンチウィルススキャンサービス - Google Patents

ハードウェアベースのアンチウィルススキャンサービス Download PDF

Info

Publication number
JP5539445B2
JP5539445B2 JP2012134622A JP2012134622A JP5539445B2 JP 5539445 B2 JP5539445 B2 JP 5539445B2 JP 2012134622 A JP2012134622 A JP 2012134622A JP 2012134622 A JP2012134622 A JP 2012134622A JP 5539445 B2 JP5539445 B2 JP 5539445B2
Authority
JP
Japan
Prior art keywords
management engine
file
computing device
system memory
signed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012134622A
Other languages
English (en)
Other versions
JP2012198926A (ja
Inventor
ナイドゥ コラー スンダル ディヴヤ
コスラヴィ ホルムズド
オー. モファット サミュエル
ファルジニティ ドミニク
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2012198926A publication Critical patent/JP2012198926A/ja
Application granted granted Critical
Publication of JP5539445B2 publication Critical patent/JP5539445B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

本発明は、プラットフォーム内のセキュアハードウェアコンポーネントを用いたアンチウィルススキャンサービスに関する。
ユーザがアプリケーションを完全に買うのではなく、期間を限定してアプリケーションにアクセスする権利を購入する(subscribe for periodic access)、アクセス権(subscription)ベースのソフトウェアアプリケーションを用いるビジネスは多い。アンチウィルスソフトウェアアプリケーションについて言えば、コンピュータプロットフォームのハードディスクドライブ等の記憶媒体に記憶されたファイルを変更(modify)できるルートキット(rootkit)やその他のウィルスに対して、システムを監視したいユーザにとっては、このモデルは魅力的である。オンラインスキャンモデルでは、リモートアンチウィルスサービスがローカルコンピュータプラットフォームにエージェントをインストールする(例えば、ソフトウェアアプリケーションプッシュモデル)。このエージェントは、プロットフォームのオペレーティングシステムサービスを利用して、ローカルにスキャンを実行し、その結果をリモート装置(remote entity)に送信し、最新のシグネチャパターンファイルと比較する。このモデルは、リモート装置によりエージェントがインストールされ、スキャンに利用するオペレーティングシステムサービスがどれも変更されていない場合には、概して正確な結果を得ることができる。しかし、この仮定は常に正しいわけではない。場合によっては、ローカルエージェントとオペレーティングシステム内のその他のコンポーネントとが変更(compromise)されていて、それにより結果も変わってしまう。
本発明の一態様による装置は、複数のファイルを記憶する記憶媒体と、ウィルスシグネチャファイルにアクセスし、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較し、前記スキャンの結果を、前記管理エンジンの外部にあるエージェントに報告する管理エンジンとを有する。
本発明の他の一態様によるシステムは、帯域外チャネルと、前記チャネルを介してローカルコンピュータプラットフォームにウィルスシグネチャファイルを送る、前記帯域外チャネルに結合したリモートコンピュータプラットフォームとを有するシステムであって、前記帯域外チャネルに結合した前記ローカルコンピュータプラットフォームは、複数のファイルを記憶する記憶媒体と、前記コンピュータプラットフォームから前記ウィルスシグネチャファイルを受け取り、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較する管理エンジンとを有する。
本発明のさらに他の一態様による方法は、ローカルコンピュータプラットフォームからリモートコンピュータプラットフォームに、前記ローカルコンピュータプラットフォームの記憶媒体に記憶されたファイルにウィルススキャンを実行する要求を送る段階と、前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームの管理エンジンに、前記ファイルに対する要求を送る段階と、前記管理エンジンが前記記憶媒体から前記ファイルを読み出す段階と、前記管理エンジンから前記リモートコンピュータプラットフォームに前記ファイルを送る段階と、前記ファイルが前記リモートコンピュータプラットフォームに到着したとき、前記ファイルをスキャンしてウィルスを探す段階と、前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームに前記ウィルススキャンの結果を送る段階とを含む。
本発明は、例を挙げて説明するが、図面によっては限定されない。図面中、同じ要素には同じ参照符号を付した。
実施形態による帯域外ローカルアンチウィルススキャンを管理するシステムを示すブロック図である。 実施形態による帯域外リモートアンチウィルススキャンを管理するシステムを示すブロック図である。 実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントウィルススキャンを実行する方法を示すフロー図である。 実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントレスウィルススキャンを実行する方法を示すフロー図である。 実施形態によるシステムメモリにセキュアなウィルスパターンを記憶するプラットフォームを示すブロック図である。 実施形態によるシステムメモリにセキュアなウィルスパターンを記憶する方法を示すフロー図である。
セキュアプラットフォームベースのハードウェアによるアンチウィルススキャンサービスをする装置、システム、及び方法の実施形態を説明する。
ローカルコンピュータプラットフォームは、帯域外管理を介してリモートコンピュータプラットフォームと通信できる管理エンジンを含む。帯域外(OOB)管理は、装置及びコンピュータシステムの管理及び一般的メンテナンスのために専用通信チャネルを用いる。管理者は、帯域外通信チャネルによる帯域外管理により、装置及びコンピュータシステムをリモートに関し及び管理できる。コンピュータの帯域外管理は、一般的に、そのコンピュータのパワーがオンであるかどうかにかかわらず行われる。
リモートコンピュータプラットフォームは、ローカルコンピュータプラットフォームに、ウィルスパターンを含むウィルスシグネチャファイルを送信する。ローカルコンピュータプラットフォームは、シグネチャファイルをセキュアに記憶し、供給されたパターンを基準として用いて、管理エンジンを用いて、ローカルに記憶したファイルのスキャンを実行する。このスキャンは、ローカルコンピュータプラットフォームのオペレーティングシステム及び/またはその他のコンポーネントが動作していない時に帯域外及びセキュアに実行できる。そうでなければ、悪意のウィルスやプログラムにより変更される可能性がある。スキャン結果は、リモートコンピュータプラットフォームに帯域外インタフェースにより報告される。
本明細書及び請求項において、開示した技術の「一実施形態」とは、その実施形態に関して説明する具体的な機能、構造、特徴などが開示した技術の少なくとも1つの実施形態に含まれることを意味している。よって、本明細書ではいろいろな箇所で「一実施形態では」と記載するが、必ずしも同じ実施形態を指すものではない。
以下の説明及び請求項において、「含む」や「有する」やその変化形を用いるが、互いに同意語として用いている。また、以下の説明及び請求項において、「結合された」や「接続された」やその変化形を用いる。言うまでもなく、これらの用語は互いに同意語として使用したものではない。例えば、一部の実施形態では、「接続された」という用語を用いて、2以上の要素が互いに物理的または電気的に直接的に接触していることを示している。「結合された」という用語は、2つ以上の要素が物理的または電気的に直接的に接触していることを示している。しかし、「結合された」という用語は、複数の要素が互いに直接的には接触してないが、互いに協働または相互作用することを示している。
図1は、実施形態による帯域外ローカルアンチウィルススキャンを管理するシステムを示すブロック図である。このシステムは、多くの実施形態では、ローカルコンピュータプラットフォーム100を含む。ローカルコンピュータプラットフォーム100は、別の実施形態では、インテル(登録商標)ベースの中央処理装置などの1つまたは複数のプロセッサを含んでいてもよい。各プロセッサは1つまたは複数のコアを有していてもよい。図1にはローカルコンピュータプラットフォーム100内のプロセッサは示していない。各プロセッサはそのプロセッサにより実行される命令を記憶するメモリサブシステムに結合されている。メモリサブシステムのメモリデバイスは、ダブルデータレート(DDR)シンクロナスDRAMなどの任意タイプの揮発性ダイナミックランダムアクセスメモリ(DRAM)であってもよいし、フラッシュメモリなどの任意タイプの不揮発性メモリであってもよい。プロセッサはプロセッサメモリインタフェースによりメモリと結合されている。このプロセッサメモリインタフェースは、プロセッサとメモリとの間でデータ、アドレス、制御情報、その他の情報を送信できる個別ラインを含むリンク(すなわち、相互接続/バス)であってもよい。多くの実施形態では、メモリサブシステムハードウェア(すなわち、メモリデバイス)は図1に示していない。
メモリサブシステムのハードウェアは示していないが、ホストオペレーティングシステム(OS)102はローカルコンピュータプラットフォーム100のメモリにロードされるオペレーティングシステムを代表し、プラットフォームはそのプラットフォーム及びそれに付属する周辺装置に一般的な動作制御を提供するように動作する。ホストOS102はマイクロソフト(登録商標)ウィンドウズ(登録商標)、ユニックス、リナックス(登録商標)その他のOSであってもよい。ホストOS102は、プログラム、サービス、またはエージェントが実行される環境を提供する。アンチウィルスソフトウェアエージェントすなわちブラウザ(AVエージェント)104は、ホストOS102において実行されているプログラム/エージェントの1つである。AVエージェント104は、リモートウィルスプロテクションサービスがローカルコンピュータプラットフォーム100上で実行し、ユーザにウィルスのスキャンとレポートに関する入力とフィードバックさせる独自仕様のプログラムであってもよい。実施形態によっては、AVエージェント104は、ホストOS102環境内においてバックグラウンドで実行されるサービスである。他の実施形態では、AVエージェントはJava(登録商標)、XML(eXtensible Markup Language)、HTML(HyperText Markup Language)、またはその他のブラウザベースのウェブアプリケーションである。
また、多くの実施形態では、ホストOS102はファイルシステム106を含む。ファイルシステム106は、ファイルが記憶媒体108にいかに記憶されるかその構成を提供する。記憶媒体108は、実施形態によっては、ハードディスクドライブである。他の実施形態では、記憶媒体108は大規模不揮発性メモリドライブであってもよい。さらに別の実施形態では、記憶媒体はテープドライブ、光ディスクドライブ、その他のドライブ等の媒体であってもよい。記憶媒体108は、ローカルコンピュータプラットフォーム100内にあるファイルの多くを記憶している。上記のように、ファイルシステム106はこれらのファイルを記憶する構成を提供する。例えば、ファイルシステム106はマイクロソフト(登録商標)NTFSベースのファイルシステムである。
ロジックコンプレックス110は、ローカルコンピュータプラットフォーム100内のメモリサブシステムとI/Oサブシステムを管理する統合された複数のコントローラを含む。ロジックコンプレックス110に結合された各サブシステムは、1つまたは複数のコントローラを用いてローカルコンピュータプラットフォーム100内の残りのハードウェアとインタフェースする。例えば、記憶媒体108がSATA(serial advanced technology attachment)ハードディスクドライブである場合、記憶コントローラ112はSATAコントローラである。SATAコントローラはハードディスクドライブとローカルコンピュータプラットフォーム100の残りのコンポーネントとの間で通信インタフェースを提供する。ローカルコンピュータプラットフォーム100内で実行されるドライバは、記憶媒体108にアクセスするために記憶コントローラ112と通信する。
多くの実施形態では、ローカルコンピュータプラットフォーム100は仮想化エンジン114を利用する。仮想化エンジン114によりプラットフォームを複数の仮想プラットフォームに分割できる。プロセッサは、これらの複数の仮想プラットフォームの間で実行を切り替えることができる。仮想化エンジン114は、(記憶媒体を含む)ローカルコンピュータプラットフォーム100の残りの構成要素が複数の仮想プラットフォームをサポートできるロジックを含む。実施形態によっては、仮想化エンジン114は記憶コントローラ112のドライバを含む。
多くの実施形態において、ロジックコンプレックス110は管理エンジン116も含む。別の実施形態では、管理エンジンは、プラットフォームに関するリモート管理プロセスを支援する管理デバイス、管理ファームウェア、その他のローカルコンピュータプラットフォーム100内の管理ロジックを含む。多くの実施形態では、管理エンジンは、ローカルコンピュータプラットフォーム100のプロセッサと並行してかつ独立に動作する本コンピュータシステムの帯域外管理コ・プロセッサである。
多くの実施形態では、ロジックコンプレックス110はチップセットである。チップセットは、システムメモリへのアクセスを提供するメモリコントローラや、I/O相互接続(すなわち、リンク/バス)へのアクセスを提供するI/Oコントローラなどの制御ロジックを含んでいてもよい。これらの実施形態では、管理エンジン116はチップセットに組み込まれている。実施形態によっては、管理エンジン116は、チップセットのメモリコントローラハブ(MCH)部分に組み込まれていてもよい。他の実施形態では、チップセット(すなわち、ロジックコンプレックス)は、ローカルコンピュータプラットフォームの中央プロセッサに組み込まれている。
多くの実施形態において、管理エンジン116は記憶媒体108に記憶されたファイルにアクセスするファイルシステムに関するロジックを含む。また、管理エンジンは、仮想化エンジン114を介して記憶媒体108にアクセスするロジックを含む。
具体的に、多くの実施形態では、ファイルシステムドライバ118は管理エンジン116において実行される。別の実施形態では、ファイルシステムドライバ118はNTFSドライバやその他のファイルシステムのドライバであってもよい。ドライバのタイプは記憶媒体108にファイルを記憶するのに用いるファイルシステムに応じて決まる。ファイルシステムドライバ118のロジックは、ファイルシステムデータ構成に関係し、記憶媒体からパーティションにファイルシステムをマウントするために用いられる。多くの実施形態では、パーティションは管理エンジン116のファームウェアにある。他の実施形態では、パーティションはロジックコンプレックス110内の他のマイクロコントローラ(図示せず)内にある。さらに他の実施形態では、マイクロコントローラはLinux(登録商標)やThreadXなどの組み込みオペレーティングシステムを実行するものであってもよい。
また、管理エンジン116は、多くの実施形態においてファイルメタデータリスト120を含む。ファイルメタデータリスト120はファイルを記憶媒体108中の対応する記憶場所(locations)にマッピングするエントリーを有する。例えば、記憶媒体108がハードディスクドライブである場合、ファイルメタデータリスト120は、ファイルをそのハードディスクドライブ内の対応する記憶場所にマッピングするエントリーを有する。さらに、一部の実施形態では、ファイルメタデータリスト120はすべてのファイルに対するエントリーを有していなくてもよい。むしろ、リストはcreate、destroy、open、closeの動作により変更されたファイルのエントリーを有していてもよい。このように、このリストは、記憶媒体108に記憶され、上記の動作やファイルを変更できるその他の動作により何らかの変更をされたファイルエントリーを有する。他の実施形態では、ファイルメタデータリストは記憶媒体に記憶されたすべてのファイルのエントリーを有していてもよい。
また、管理エンジン116は、多くの実施形態において記憶ドライバ122を有する。記憶ドライバ122を用いて、仮想化エンジン114を介した記憶媒体108との通信を行うこともできる。例えば、管理エンジンが記憶媒体108内の記憶場所からファイルを読み出すよう要求する場合、記憶ドライバ122はその要求を仮想化エンジン114に送る。仮想化エンジン114は、その仮想化エンジン114の内部の記憶コントローラインタフェースドライバを用いて記憶コントローラ112と通信することにより、記憶媒体108へのインタフェースを提供する。
多くの実施形態では、リモートコンピュータプラットフォーム124はローカルコンピュータプラットフォーム100の外部にある。リモートコンピュータプラットフォーム124は、実施形態によっては、デスクトップ、ラップトップ、ワークステーション、サーバその他の任意のタイプのコンピュータプラットフォームである。多くの実施形態では、リモートコンピュータプラットフォーム124は、少なくとも帯域外通信チャネル(OOB CC)126を介してローカルコンピュータプラットフォームに結合されている。他の実施形態では、帯域外通信チャネルは相互接続や無線ネットワークであってもよい。これらのチャネルは、ローカルコンピュータプラットフォーム100とリモートコンピュータプラットフォーム124との間で情報をやりとりするセキュアインタフェースとなる。チャネルは帯域外のものゆえ、多くの実施形態では、ローカルコンピュータプラットフォーム100が機能していないかパワーが入っていない状態のときに帯域外通信チャネルがローカルコンピュータプラットフォームとの間で情報を送受信できる。例えば、リモートコンピュータプラットフォーム124は帯域外通信チャネル124を介してローカルコンピュータプラットフォーム100に情報を送信できる。この情報は、ローカルコンピュータプラットフォーム100にパワーが供給されていなくても、ローカルコンピュータプラットフォーム100の管理エンジン116が受信する。
多くの実施形態では、リモートコンピュータプラットフォーム124はリモートアンチウィルスサービス128を含む。一部の実施形態では、このリモートアンチウィルスサービス128はウィルスのパターンや定義を含むシグネチャファイルを管理エンジンに提供する。多くの実施形態では、管理エンジンまたはローカルコンピュータプラットフォームのその他の部分にあるロジックが、記憶媒体108に記憶されたファイルのスキャンを実行して、ウィルスその他の悪意のプログラムがあるか判断する。このスキャンを実行するロジックは、一般的に、ウィルスがあるか判断するために、そのファイル内のパターンと比較するシグネチャファイルのウィルスの定義を必要とする。このように、一部の実施形態では、リモートアンチウィルスサービス128は、要求に応じて、または決まった時間に自動的に、シグネチャファイルのウィルスパターンを管理エンジンにアップロードする。他の実施形態では、管理エンジンは、リモートアンチウィルスサービスからシグネチャファイルを直接的にプル(pull)してもよい。例えば、リモートサービスに最新パターンのアップデートを要求してもよい。多くの実施形態では、管理エンジンは、ファームウェアを含み、ウィルスシグネチャファイル用のファームウェア記憶空間を有している。他の多くの実施形態では、管理エンジンは、シグネチャファイルを記憶するのに十分な空間を含んでいないので、ローカルコンピュータプラットフォーム100の汎用メモリサブシステムを用いてシグネチャファイルを記憶してもよい。大容量記憶サブシステムによるシグネチャファイルの記憶は、図3を参照して後で詳細に説明する。
一部の実施形態では、管理エンジンがシグネチャファイルの記憶に用いるパーティションを生成する。他の実施形態では、管理エンジンはオペレーティングシステムと共用するパーティションをスキャンしてシグネチャファイルの記憶場所(location)を探す。
図1に戻り、多くの実施形態では、ウィルススキャンは管理エンジン116において行われる。管理エンジン116は帯域外ウィルススキャンシナリオを生成する。例えば、リモートアンチウィルスサービス128は管理エンジン116のファームウェア記憶空間にシグネチャファイルをアップロードする。次に、管理エンジン116は、記憶ドライバ122を用いて仮想化エンジン114を介して記憶媒体108にアクセスし、ファイルシステムドライバ118を用いて管理エンジン116にローカルにファイルシステムをマウントする。管理エンジン116は、ウィルススキャンロジックに、ホストOS102からの関与(interaction)なしに、記憶媒体108に記憶されたファイルにウィルススキャンを実行する。管理エンジン116から記憶媒体108への直接アクセスを可能とすることにより、ウィルススキャンを帯域外で行うことができる。換言すると、管理エンジン116は、ホストOS102について関知せずにウィルススキャンを実行でき、ホストOS102がウィルスに感染した可能性がありセキュアにまたはまったく動作していなくてもウィルススキャンを実行できる。
あるいは、他の実施形態では、ウィルススキャンが管理エンジン116内、すなわち管理エンジンにおいてローカルに行われても、スキャンするファイルは、ホストOS102のフィルタドライバ130により管理エンジン116に最初に送られたファイルメタデータ記憶120に基づき決定される。例えば、フィルタドライバ130は、ホストOS102内に常駐し、ファイル変更を報告するメカニズムとして機能する。具体的には、ファイルを生成、破棄(destroyed)、オープン、クローズ等した時は、フィルタドライバ130がそのファイル変更動作を管理エンジン116に報告する。管理エンジン116にはこのメタデータが送られる。このメタデータは基本的には記憶媒体108内に記憶されたファイルのファイル変更ログである。管理エンジン116はこのメタデータをファイルメタデータ記憶120に保存する。次に、管理エンジン116が記憶媒体108内のファイルのウィルススキャンの実行を決定すると、前回のスキャン以降に変更されたファイルに関する情報がファイルメタデータ記憶120に記憶される。このように、ウィルスに感染した可能性のあるファイルのみに絞ることにより、管理エンジン116によるウィルススキャンが効率的になる。
フィルタドライバ130を利用する実施形態では、フィルタドライバ130が危険にさらされていないか確認するためにセキュリティプロトコルを用いる。例えば、管理エンジン116がホワイトリスト(すなわち、管理エンジン116が、このファイル変更監視サービスを実行してもよいとみなしたプログラムのリスト)を有していてもよい。管理エンジン116は、メモリインテグリティマニフェスト(memory integrity manifest)やその他の標準的なソフトウェアセキュリティ確認プロセスにより、フィルタドライバ130に信頼性をチェックできる。フィルタドライバ130は、検証されなければ、管理エンジン116にメタデータを送る許可を得られない。ローカルコンピュータプラットフォームで実行されているアンチウィルスソフトウェアエージェントまたはブラウザアプリケーション、及び/またはリモートアンチウィルスサービス128にはこの問題が通知される。フィルタドライバ128が検証されると、管理エンジン116のアンチウィルススキャンプロセスは継続される。
図2は、実施形態による帯域外リモートアンチウィルススキャンを管理するシステムを示すブロック図である。図2に示した構成要素の多くは図1に示したものと同様または同一である。多くの実施形態では、ローカルコンピュータプラットフォーム200はホスト環境202を有する。ホスト環境202は、アンチウィルスソフトウェアエージェント及び/またはブラウザアプリケーション204、フィルタドライバ206、ファイルシステム208、及びオペレーティングシステム210を含む。
多くの実施形態では、ホスト環境はホスト組み込みコントローラインタフェース(HECI)214により、管理可能性エンジン212と通信する。HECI214により、ホスト環境202中のオペレーティングシステム210やその他の構成要素は管理エンジン212と直接通信できる。システム管理情報及びイベントはHECIインタフェースを介して送られる。HECIは管理エンジンインタフェース(MEI)とも呼ばれる。図示はしてないが他の実施形態では、ホスト環境202はHECI214とは別のインタフェースにより管理エンジン212と通信する。
セキュリティサービス216は、管理エンジン内で実行され、重要なOSのコンポーネント及びフィルタドライバ206を検証し測定し、プラットフォームのインテグリティを維持する。最後に、リモートアンチウィルスサービス218は、リモートコンピュータプラットフォーム220上で実行され、リモートウィルススキャン機能その他を提供する。
図2に示したリモートアンチウィルススキャンプロセスでは、最初に、ローカルコンピュータプラットフォーム200のホスト環境202のユーザが、ウェブブラウザ204その他のソフトウェアアプリケーションを開き、リモートアンチウィルスサービス218と通信する。ユーザはスキャンするファイルを選択し、またはオプションの1つを選択し、あるファイルタイプやディレクトリの自動スキャンを実行またはスケジュールする。
リモートアンチウィルスサービス218は、このファイルスキャン要求を受け取り(通信A)、要求元マシン(すなわち、ローカルコンピュータプラットフォーム200)の管理エンジン212にその要求を転送する(通信B)。管理エンジン212は、フィルタドライバ206にその要求を送る(通信C)。多くの実施形態において、フィルタドライバ206は管理エンジン212で実行されるセキュリティサービス216により保護されている(クロスハッチングはセキュリティサービス216により保護されているホスト環境内のコンポーネントを表す。セキュリティサービス216はフィルタドライバ206を評価(measure)して、フィルタドライバ206が実行時に悪意のプログラムやウィルスにより変更(modified)されていないことを検証する。
セキュリティサービス216は、ホスト環境のOS210内にあるオペレーティングシステムの重要なコンポーネントも評価して、これらの重要なサービスが悪意のコードにより変更されていないことを確認してもよい(通信D)。すべての主要なホスト環境のコンポーネントがセキュリティサービス216によりセキュアであると検証されると、フィルタドライバは、要求のあったファイルを記憶媒体から読み出す(この記憶媒体は図2には示していないが、図1に参照符号108として示した)。記憶媒体から読み出した情報は、フィルタドライバ206からHECI214を介して管理エンジン212に送られる(通信E)。次に、管理エンジン212はそのファイルをリモートアンチウィルスサービスに送る(通信F)。リモートアンチウィルスサービスは、そのファイルに関する情報を受け取ると、そのファイルのウィルススキャンを実行し、スキャンした各ファイルがクリーンであるか、または感染していないかに関し結果を計算する。スキャンの結果はブラウザ204に送られる(通信G)。ブラウザ204は最初に要求を出したユーザにその結果をレポートする。
図3は、実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントウィルススキャンを実行する方法を示すフロー図である。このプロセスは処理ロジックにより実行される。処理ロジックは、ハードウェア(例えば、汎用コンピュータシステム内のコンポーネント)、ソフトウェア(例えば、メモリ内に記憶された命令)、またはハードウェアとソフトウェアの組み合わせである。図3に戻り、本プロセスは、最初に、管理エンジン(ME)の処理が、メモリインテグリティマニフェストを用いてフィルタドライバのホワイトリストを作成する(処理ブロック300)。MEは、少なくともフィルタドライバの実行可能コードが記憶されたメモリのセグメントを評価する。次に、既知のインテグリティチェック値に対して、現在実行されているフィルタドライバを評価する。値が一致すれば、フィルタドライバのインテグリティが検証され、MEはそのフィルタドライバをホワイトリストに含めることができる。値が一致しなければ、本プロセスは終了し、リモートサービス/サーバにフィルタドライバの問題が通知される。これは、リモートサービス/サーバに、システムの潜在的な危険状態を示すものである。
フィルタドライバのインテグリティを検証すると、フィルタドライバ内の処理ロジックは、ファイルの生成、破棄、読み出し、書き込み、オープン、クローズ等の機能の際に、ファイルシステムメタデータをMEに送る(処理ブロック302)。ファイルを変更する機能はどれも、関連するファイルメタデータを報告する機能としてターゲットにできる。
次に、MEはメタデータリストをセキュアな記憶場所に記憶する(処理ブロック304)。一部の実施形態では、MEに付随するファームウェアに、ファイルメタデータのセキュアな記憶場所がある。他の実施形態では、セキュアな記憶場所(storage location)は、MEがアクセスできる他のセキュアなマイクロコントローラまたは記憶デバイスである。
この後、本プロセスでは、MEの処理ロジックがリモートサーバまたはサービスからアンチウィルス(AV)スキャン要求を受け取る。スキャン要求は、スキャンするウィルスパターンを含むシグネチャファイルも含んでいてもよい。
多くの実施形態において、スキャンはハードディスクドライブ内に記憶されたファイルに対して行う。他の実施形態では、スキャンは他の形体の記憶媒体内に記憶されたファイルに対して行う。ハードディスクドライブの実施形態では、MEの処理ロジックは、次に、ハードディスクドライブから、記憶されたメタデータへのマッピングをするディスクブロックを読み出すよう、仮想化エンジンに要求する。
MEの処理ロジックは、読み出したディスクブロックからファイルを再構成して、再構成したファイルにAVスキャンを実行する(処理ブロック310)。次に、MEの処理ロジックは、スキャンしたファイルのパターンがシグネチャファイルのウィルスパターンと一致するか判断する(処理ブロック312)。一致したら、リモートAVサーバまたはサービスにアラート(alert)を送る。一部の実施形態では、MEの処理ロジックは、アラートを送ると、他のスキャン要求を待つ(処理ブロック316)。他の実施形態では、一致すると、MEは検出したウィルスを処理するまで、別のスキャンは実行しない。一致しなければ、MEの処理ロジックは、ブロック312に戻り、他のスキャン要求を待つ(処理ブロック316)。次に、本プロセスは処理ブロック306に戻る。
図3には示していないが多くの実施形態では、処理ブロック302と304において、ファイルが変更されるたびにメタデータリストが更新される。このように、ブロック316から306に戻った時、前回ブロック306を実行した時と比較して、メタデータリストは更新されている。
図4は、実施形態によるコンピュータプラットフォームにおいてハードウェアベースのエージェントレスウィルススキャンを実行する方法を示すフロー図である。このプロセスは処理ロジックにより実行される。処理ロジックは、ハードウェア(例えば、汎用コンピュータシステム内のコンポーネント)、ソフトウェア(例えば、メモリ内に記憶された命令)、またはハードウェアとソフトウェアの組み合わせである。このプロセスに出てくるコンポーネントは、図1と2に示したコンポーネントに関連している。ここで図4を参照するに、このプロセスは、最初に、管理エンジン(ME)の処理ロジックが、ファイルシステムと、仮想化エンジンと通信する記憶ドライバとを用いて、ハードディスクを読み取り専用パーティションとしてマウントする。図1を参照して説明したように、VEは(図4ではハードディスクドライブである)記憶媒体にアクセスする。
次に、MEの処理ロジックは、ファイルシステムドライバを用いてハードディスクからファイルを読み出す(処理ブロック402)。次に、MEの処理ロジックがリモートサーバまたはサービスからAVスキャン要求を受け取る(処理ブロック404)。スキャン要求は、スキャンするウィルスパターンを含むシグネチャファイルも含んでいてもよい。
ME内の処理ロジックは、次に、ファイルシステムドライバを用いて読み取り専用パーティションから、スキャンするファイルを読み出し、そのファイルにAVスキャンを実行する(処理ブロック406)。MEの処理ロジックは、スキャンしたファイルでウィルスパターンとの一致が見つかるか判断する(処理ブロック408)。一致したら、MEの処理ロジックは、リモートAVサーバまたはサービスにアラート(alert)を送る(処理ブロック410)。一部の実施形態では、MEの処理ロジックは、アラートを送ると、他のスキャン要求を待つ(処理ブロック412)。他の実施形態では、一致すると、MEは検出したウィルスを処理するまで、別のスキャンは実行しない。一致しなければ、MEの処理ロジックは、ブロック408に戻り、他のスキャン要求を待つ(処理ブロック412)。次に、本プロセスは処理ブロック404に戻る。
図5は、実施形態によるシステムメモリにセキュアなウィルスパターンを記憶するプラットフォームを示すブロック図である。ローカルコンピュータプラットフォーム500のコンポーネントは、図1と2のローカルコンピュータプラットフォームのコンポーネントと同一または同様である。多くの実施形態では、ローカルコンピュータプラットフォーム500はオペレーティングシステム502を含み、このオペレーティングシステム500はコンポーネントをユーザ及びシステムのレベルで制御する。上記の通り、オペレーティングシステムは、マイクロソフト(登録商標)ウィンドウズ(登録商標)ベースのオペレーティングシステム、リナックス(登録商標)ベースのオペレーティングシステム、ユニックスベースのオペレーティングシステム、その他多数の利用可能なオペレーティングシステムでよい。
オペレーティングシステム502はシステムメモリ504にアクセスできる。システムメモリは、DRAMやフラッシュメモリでもよく、プロセッサ用の命令やデータの記憶に利用できるその他の形態のメモリでもよく、メモリにアクセスするその他のコンポーネントでもよい。プラットフォームはウィルス検出ソフトウェア506も含む。別の実施形態では、ウィルス検出ソフトウェアは、オペレーティングシステム502上で実行されるソフトウェアアプリケーション、オペレーティングシステムのバックグラウンドで実行されるソフトウェアエージェントまたはサービス、ウェブブラウザアプリケーション、またはローカルコンピュータプラットフォーム500上で実行される他の形体のソフトウェアである。
また、ローカルコンピュータプラットフォーム500は管理エンジン508を含む。管理エンジン508は、図1と2を参照して説明したように、多くのプラットフォーム管理タスクを実行し、帯域外で動作してリモートコンピュータプラットフォーム510と通信する。リモートコンピュータプラットフォーム510は、シグネチャファイルを更新するとともにその他のウィルス評価を支援するリモートアンチウィルスサービス512を含む。また、管理エンジンは、リモートでの管理をするために、ローカルコンピュータプラットフォーム500にリモートアクセスする。管理エンジン508はコマンドインタフェース514を含む。管理エンジン508は、このコマンドインタフェース514により、プラットフォーム上やリモートで実行されているソフトウェアエージェントからコマンドを受け取る。また、管理エンジン508は、プラットフォームのシステムメモリに直接アクセスするためのダイレクトメモリアクセス(DMA)インタフェース516を含んでいてもよい。DMAインタフェースにより、管理エンジン508は、オペレーティングシステム502のアクセスの許可を要求しなくても、メモリ504を利用できる。
多くの実施形態では、ウィルス検出ソフトウェア506は、ウィルスパターンを含むファイルまたはデータブロックを求める。ウィルスパターンファイルは、ウィルスシグネチャファイルとも呼ぶ。説明を容易にするため、複数のウィルスパターンを1つのシグネチャファイルと呼ぶ。ウィルス検出ソフトウェア506はリモートコンピュータプラットフォーム510のリモートアンチウィルスサービス512からシグネチャファイルを受け取る。多くの実施形態では、管理エンジン508は、シグネチャファイルを用いて、そのシグネチャファイル内のパターンをプラットフォームに記憶された他のファイル内のパターンと比較する。パターンが一致するファイルがあれば、管理エンジン508はそのファイルにはウィルスが含まれていると判断する。多くのウィルスが存在し既知のパターンをすべてシグネチャファイルに格納するので、シグネチャファイルは大きなファイルとなる。図1と2を参照して説明した多くの実施形態では、管理エンジン508は、シグネチャファイルをローカルの管理エンジン508のファームウェア記憶に格納する。
ローカルファームウェア記憶は大きなシグネチャファイルを記憶するにはサイズが十分でないかも知れない。それゆえ、シグネチャファイルはシステムメモリ504に格納してもよい。シグネチャファイルをシステムメモリ504に格納する場合、オペレーティングシステム502で実行されている悪意のプログラムやウィルスによりそのシグネチャファイルを危険にさらさないように、シグネチャファイルを守るセキュリティメカニズムがあると望ましい。
多くの実施形態では、シグネチャファイルは記憶媒体520などのハードディスクドライブその他の大規模記憶装置に記憶できる。これらの実施形態では、管理エンジン508は、ウィルススキャンを開始すると、記憶媒体520からメモリ504にシグネチャファイルをロードする。
多くの実施形態では、リモートコンピュータプラットフォーム510は、ベンダープライベート鍵518でシグネチャファイルに署名(sign)して、そのシグネチャファイルをローカルコンピュータプラットフォーム500にプッシュする。このように、署名されたシグネチャファイルは、署名されたシグネチャファイル522aとして記憶媒体520に記憶され、または署名されたシグネチャファイル522bとしてメモリ504に記憶される。ベンダープライベート鍵はウイルスソフトウェアベンダーに割り当てられた鍵である。ここで署名するとは、リモートコンピュータプラットフォーム510がファイルにプライベート鍵でハッシュをかけることを含む。ハッシュにより一意的なパターンが得られ、パブリック鍵を用いてこのパターンを検証できる。
サインしたシグネチャファイル522は記憶媒体520(ファイル522a)またはメモリ504(ファイル522b)に送られる(通信A)。シグネチャファイルは、まず記憶媒体520に送られ、管理エンジン508がウィルススキャンに利用する時に、記憶媒体520からメモリ504に送られる。ウィルススキャンソフトウェア506は、署名されたシグネチャファイル522bがメモリ504にロードされたことを管理エンジン508に通知する。多くの実施形態では、ウィルス検出ソフトウェア506は、シグネチャファイル522bがロードされたメモリ中の具体的な場所(location)も通知してもよい。
管理エンジン508は、メモリ504をチェックしてシグネチャファイル522bを探し(通信C)、管理エンジン508に記憶されたトラステッドパブリック鍵(trusted public key)524を用いてシグネチャファイルの信頼性を検証する。多くの実施形態では、トラステッドパブリック鍵524はIT管理者等のトラステッドパーティ(trusted part)により管理エンジン508内に格納される。シグネチャファイル522bが有効なら、管理エンジン508はシグネチャファイル内に格納されたパターンを用いてファイルにウィルススキャンを実行する。スキャンするファイルは、記憶媒体520内に格納されていてもよいし、メモリ504内に格納されていてもよいし(例えば、通信D)、プラットフォームの別の場所に格納されていてもよい。多くの実施形態では、管理エンジン508は、シグネチャファイルのブラックリスト(既知の悪意のパターン)を検索して、プラットフォームに記憶されているそのパターンを探す。
多くの実施形態では、管理エンジン508は、ウィルスその他の悪意のコードがあることを見つけると、帯域外(OOB)チャネルを介してユーザまたはリモートエージェントにウィルス/悪意のコードがあることを警告する。
図6は、実施形態によるシステムメモリにセキュアなウィルスパターンを記憶する方法を示すフロー図である。このプロセスは処理ロジックにより実行される。処理ロジックは、ハードウェア(例えば、汎用コンピュータシステム内のコンポーネント)、ソフトウェア(例えば、メモリ内に記憶された命令)、またはハードウェアとソフトウェアの組み合わせである。このプロセスに出てくるコンポーネントは、図5に示したコンポーネントに関連している。ここで図6を参照するに、本プロセスでは、最初に、ウィルス検出ソフトウェアの処理ロジックがソフトウェアベンダープライベート鍵により署名されたウィルスパターンをメモリにロードする(処理ブロック600)。
ウィルス検出ソフトウェアの処理ロジックは、ウィルスパターン(署名されたファイル)をメモリにロードすると、ウィルスパターンをメモリにロードしたことをMEに通知する(処理ブロック602)。多くの実施形態では、この通知により、パターンを置いたメモリの場所も通知する。次に、MEの処理ロジックがリモートサーバまたはサービスからAVスキャン要求を受け取る(処理ブロック604)。
MEの処理ロジックは、要求を受け取ると、ME内に記憶されたパブリック鍵を用いて、(例えば、パターンのインテグリティを検証して)有効な署名があるかメモリのシグネチャファイルをチェックする(処理ブロック606)。処理ロジックは、このチェックに基づきシグネチャがいるが有効か判断する(処理ブロック608)。
MEの処理ロジックは、シグネチャファイルが有効でなければ、リモートAVサーバまたはサービスにアラート(alert)を送る。
シグネチャファイルが有効であれば、MEの処理ロジックはそのシグネチャファイルを用いてウィルススキャンを実行する(処理ブロック612)。処理ロジックは、スキャン後、ブロック604に戻る。
セキュアプラットフォームベースのハードウェアによるアンチウィルススキャンサービスをする装置、システム、及び方法の実施形態を説明した。これらの実施形態を具体的な例を参照して説明した。ここに説明した実施形態の幅広い精神と範囲から逸脱することなく、これらの実施形態に様々な修正や変更をできることは、本開示の利益を享受する者には明らかであろう。したがって、明細書と図面は例示であって限定ではないと考えるべきである。
なお、上記の実施形態に関し、以下の付記を記す。
(付記1)複数のファイルを記憶する記憶媒体と、
ウィルスシグネチャファイルにアクセスし、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較し、前記スキャンの結果を、前記管理エンジンの外部にあるエージェントに報告する管理エンジンと
を有する装置。
(付記2)前記管理エンジンは、前記複数のファイルのうちのファイルのメタデータであって、前記複数のファイルのうちのファイルを前記記憶媒体内の記憶場所にマッピングするメタデータを記憶するファームウェアをさらに有する、
付記1に記載の装置。
(付記3)前記管理エンジンは、
前記メタデータでマッピングされた記憶場所を用いて、前記複数のファイルのうちのファイルに関するブロック情報を前記記憶媒体に要求し、
前記アンチウィルススキャンのために、セキュアな記憶場所に、前記ブロック情報から前記ファイルを再構成するようにさらに動作可能である、
付記2に記載の装置。
(付記4)前記複数のファイルのうちのファイルがいつ変更されたか判断し、前記変更されたファイルに対応するメタデータを前記管理エンジンのファームウェアに送るフィルタドライバをさらに有する、
付記3に記載の装置。
(付記5)前記ファームウェアは、前記記憶媒体からパーティションにファイルシステムをマウントするファイルシステムドライバと、前記記憶媒体と通信する記憶媒体ドライバとを記憶するようにさらに動作可能である、
付記1に記載の装置。
(付記6)前記記憶媒体へのアクセスを制御するコントローラをさらに有し、
前記管理エンジンは前記記憶媒体ドライバを用いて前記コントローラと通信する、
付記5に記載の装置。
(付記7)前記管理エンジンは、
前記ファイルのうち少なくとも1つにウィルススキャンを実行する、前記外部のエージェントからの要求を受け取り、
前記マウントされたパーティションを用いて前記ファイルのうち少なくとも1つに前記ウィルススキャンを実行するようにさらに動作可能である、
付記6に記載の装置。
(付記8)前記ファームウェアは前記シグネチャファイルを記憶するようにさらに動作可能である、
付記2に記載の装置。
(付記9)前記エージェントに割り当てられたプライベートセキュリティ鍵を用いて前記シグネチャファイルにセキュアに署名し、前記署名したシグネチャファイルを前記装置のメモリの一部に記憶するウィルス検出エージェントをさらに有する、
付記1に記載の装置。
(付記10)前記管理エンジンは、パブリックセキュリティ鍵を前記管理エンジン内にローカルに記憶し、前記メモリ内の前記署名されたシグネチャファイルの場所を決定し、前記記憶したパブリック鍵を用いて前記シグネチャファイルの有効性を決定するようにさらに動作可能である、
付記9に記載の装置。
(付記11)帯域外チャネルと、
前記チャネルを介してローカルコンピュータプラットフォームにウィルスシグネチャファイルを送る、前記帯域外チャネルに結合したリモートコンピュータプラットフォームとを有するシステムであって、
前記帯域外チャネルに結合した前記ローカルコンピュータプラットフォームは、
複数のファイルを記憶する記憶媒体と、
前記コンピュータプラットフォームから前記ウィルスシグネチャファイルを受け取り、前記シグネチャファイル中のパターンを用いてアンチウィルススキャンを実行し、前記記憶媒体に記憶された前記複数のファイルのうちのファイルと比較する管理エンジンとを有する、
システム。
(付記12)チップセットをさらに有し、
前記管理エンジンは前記チップセットに集積され、前記複数のファイルのうちのファイルのメタデータであって、前記ファイルを前記記憶媒体内の記憶場所にマッピングするメタデータを記憶するファームウェアを含む、
付記11に記載のシステム。
(付記13)前記管理エンジンは、
前記メタデータでマッピングされた記憶場所を用いて、前記複数のファイルのうちのファイルに関するブロック情報を前記記憶媒体に要求し、
前記アンチウィルススキャンのために、セキュアな記憶場所に、前記ブロック情報から前記ファイルを再構成するようにさらに動作可能である、
付記12に記載のシステム。
(付記14)前記ローカルコンピュータプラットフォームは、前記複数のファイルのうちのファイルがいつ変更されたか判断し、前記変更されたファイルに対応するメタデータを前記管理エンジンのファームウェアに送るフィルタドライバをさらに有する、
付記13に記載のシステム。
(付記15)前記ファームウェアは、前記記憶媒体からパーティションにファイルシステムをマウントするファイルシステムドライバと、前記記憶媒体と通信する記憶媒体ドライバとを記憶するようにさらに動作可能である、
付記11に記載のシステム。
(付記16)前記ローカルコンピュータプラットフォームは、前記記憶媒体へのアクセスを制御するコントローラをさらに有し、
前記管理エンジンは前記記憶媒体ドライバを用いて前記コントローラと通信する、
付記15に記載のシステム。
(付記17)前記管理エンジンは、
前記ファイルのうち少なくとも1つにウィルススキャンを実行する、前記外部のエージェントからの要求を受け取り、
前記マウントされたパーティションを用いて前記ファイルのうち少なくとも1つに前記ウィルススキャンを実行するようにさらに動作可能である、
付記16に記載のシステム。
(付記18)前記ファームウェアはさらに前記シグネチャファイルを記憶するように動作可能である、
付記12に記載のシステム。
(付記19)前記ローカルコンピュータプラットフォームは、
前記エージェントに割り当てられたプライベートセキュリティ鍵を用いて前記シグネチャファイルにセキュアに署名し、前記署名したシグネチャファイルを前記ローカルコンピュータプラットフォームのメモリの一部に記憶するウィルス検出エージェントをさらに有する、
付記11に記載のシステム。
(付記20)前記管理エンジンは、
パブリックセキュリティ鍵を前記管理エンジン内にローカルに記憶し、前記メモリ内の前記署名されたシグネチャファイルの場所を決定し、前記記憶したパブリック鍵を用いて前記シグネチャファイルの有効性を決定するようにさらに動作可能である、
付記19に記載のシステム。
(付記21)ローカルコンピュータプラットフォームからリモートコンピュータプラットフォームに、前記ローカルコンピュータプラットフォームの記憶媒体に記憶されたファイルにウィルススキャンを実行する要求を送る段階と、
前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームの管理エンジンに、前記ファイルに対する要求を送る段階と、
前記管理エンジンが前記記憶媒体から前記ファイルを読み出す段階と、
前記管理エンジンから前記リモートコンピュータプラットフォームに前記ファイルを送る段階と、
前記ファイルが前記リモートコンピュータプラットフォームに到着したとき、前記ファイルをスキャンしてウィルスを探す段階と、
前記リモートコンピュータプラットフォームから前記ローカルコンピュータプラットフォームに前記ウィルススキャンの結果を送る段階と
を含む方法。
(付記22)前記ローカルコンピュータプラットフォームにあるフィルタドライバにより、前記ローカルコンピュータプラットフォームの記憶媒体にアクセスする段階をさらに含む、
付記21に記載の方法。
(付記23)前記管理エンジンで実行されているサービスを用いて前記フィルタドライバを評価して、前記フィルタドライバがセキュアか決定する段階をさらに含む、
付記22に記載の方法。
(付記24)前記管理エンジンで実行されているサービスを用いて前記ローカルコンピュータプラットフォーム内の重要なランタイムコンポーネントを評価して、前記重要なランタイムコンポーネントがセキュアであるか決定する段階をさらに含む、
付記21に記載の方法。
(付記25)前記重要なランタイムコンポーネントのうち少なくとも1つがセキュアでないと決定されたとき、前記記憶媒体からの前記ファイルの読み出しを中止する段階と、
前記リモートコンピュータプラットフォームにセキュリティ侵害通知を送る段階とをさらに含む、
付記24に記載の方法。

Claims (23)

  1. コンピューティングデバイスであって、
    中央プロセッサと、
    システムメモリと、
    前記中央プロセッサとは独立に動作する第2のプロセッサを有し、前記中央プロセッサのパワー状態にかかわらず帯域外通信を受け取ることができる管理エンジンとを有し、前記管理エンジンは、
    帯域外通信チャネルを介して、リモートコンピューティングデバイスの秘密鍵で署名されたウィルスシグネチャファイルを受け取り、
    前記署名されたウィルスシグネチャファイルを前記システムメモリに記憶し、
    前記リモートコンピューティングデバイスの前記秘密鍵に対応する、前記管理エンジンに記憶された公開鍵を用いて、前記署名されたウィルスシグネチャファイルを確認し、
    前記署名されたウィルスシグネチャファイル中の1つ以上のパターンを用いて、前記コンピューティングデバイスに記憶された1つ以上のファイルにアンチウィルススキャンを実行する、コンピューティングデバイス。
  2. 前記コンピューティングデバイスの前記システムメモリはそれに記憶されたオペレーティングシステムを含む、請求項1に記載のコンピューティングデバイス。
  3. 前記管理エンジンは、さらに、前記システムメモリに記憶された複数のファイルのうちの1つ以上のファイルのメタデータであって、前記1つ以上のファイルを前記システムメモリ内の1つ以上の記憶場所にマッピングするメタデータを記憶するファームウェアを有する、請求項1に記載のコンピューティングデバイス。
  4. さらに、前記システムメモリのファイルがいつ変更されたか判断し、前記変更されたファイルに対応するメタデータを前記管理エンジンファームウェアに送るフィルタドライバを有する、請求項3に記載のコンピューティングデバイス。
  5. 前記管理エンジンは、前記システムメモリのファイルがいつ変更されたか判断できるプログラムのホワイトリストを含む、請求項4に記載のコンピューティングデバイス。
  6. 前記管理エンジンは前記フィルタドライバを前記ホワイトリストと比較する、請求項5に記載のコンピューティングデバイス。
  7. 前記管理エンジンは、前記ホワイトリストの関数としてセキュリティ確認プロセスにより前記フィルタドライバの信頼性を確認する、請求項5に記載のコンピューティングデバイス。
  8. 前記フィルタドライバは、前記セキュリティ確認プロセスで確認されないと、前記管理エンジンに前記メタデータを送る許可を拒否される、請求項7に記載のコンピューティングデバイス。
  9. 前記管理エンジンは、前記フィルタドライバが前記セキュリティ確認プロセスで確認されないと、前記管理エンジンの外部のエージェントに通知する、請求項8に記載のコンピューティングデバイス。
  10. 前記管理エンジンは、前記管理エンジンの外部にあるエージェントに、前記アンチウィルススキャンの結果をレポートする、請求項9に記載のコンピューティングデバイス。
  11. 前記ファームウェアは、前記システムメモリ内のセキュアパーティションに、前記システムメモリのファイルシステムをマウントするファイルシステムドライバと、前記署名されたウィルスシグネチャファイルとを、前記セキュアパーティションに記憶する、請求項4に記載のコンピューティングデバイス。
  12. 前記コンピューティングデバイスのオペレーティングシステムは前記システムメモリに記憶される、請求項11に記載のコンピューティングデバイス。
  13. 前記フィルタドライバは、前記管理エンジンにより許可されたプログラムであることを確認するセキュリティ確認プロセスにより確認されないと、前記管理エンジンへのアクセスを拒否される、請求項12に記載のコンピューティングデバイス。
  14. 前記管理エンジンは、前記フィルタドライバが前記セキュリティ確認プロセスで確認されないと、前記管理エンジンの外部のエージェントに通知する、請求項13に記載のコンピューティングデバイス。
  15. 前記管理エンジンは、前記管理エンジンの外部にあるエージェントに、前記アンチウィルススキャンの結果をレポートする、請求項1に記載のコンピューティングデバイス。
  16. システムであって、
    帯域外チャネルに結合されたリモートコンピューティングデバイスであって、
    前記リモートコンピューティングデバイスの秘密鍵でウィルスシグネチャファイルに署名し、
    前記署名したウィルスシグネチャファイルを、前記帯域外チャネルを介して、ローカルコンピューティングデバイスの管理エンジンに送るリモートコンピューティングデバイスを有し、
    前記ローカルコンピューティングデバイスは、
    中央プロセッサと、
    システムメモリと、
    前記中央プロセッサとは独立に動作する第2のプロセッサを有し、前記中央プロセッサのパワー状態にかかわらず帯域外通信を受け取ることができる管理エンジンとを有し、前記管理エンジンは、
    前記署名されたウィルスシグネチャファイルを前記システムメモリに記憶し、
    前記リモートコンピューティングデバイスの前記秘密鍵に対応する、前記管理エンジンに記憶された公開鍵を用いて、前記署名されたウィルスシグネチャファイルを認証し、
    前記署名されたウィルスシグネチャファイル中の1つ以上のパターンを用いて、前記コンピューティングデバイスに記憶された1つ以上のファイルにアンチウィルススキャンを実行する、システム。
  17. 記システムメモリのファイルがいつ変更されたか判断し、前記変更されたファイルに対応するメタデータを前記管理エンジンの管理エンジンファームウェアに送るフィルタドライバをさらに有し、
    前記管理エンジンファームウェアは、前記システムメモリの複数のファイルのうちの1つ以上のファイルのメタデータであって、前記1つ以上のファイルを前記システムメモリ内の1つ以上の記憶場所にマッピングするメタデータを、前記管理エンジンに記憶する、請求項16に記載のシステム。
  18. 前記フィルタドライバは、前記管理エンジンにより許可されたプログラムであることを確認するセキュリティ確認プロセスにより確認されないと、前記管理エンジンへのアクセスを拒否され、
    前記管理エンジンは、前記フィルタドライバが前記セキュリティ確認プロセスで確認されないと、前記管理エンジンの外部のエージェントに通知する、請求項17に記載のシステム。
  19. 前記ファームウェアは、前記システムメモリ内のセキュアパーティションに、前記システムメモリのファイルシステムをマウントするファイルシステムドライバと、前記署名されたウィルスシグネチャファイルとを、前記セキュアパーティションに記憶する、
    請求項17に記載のシステム。
  20. 前記フィルタドライバは、前記管理エンジンにより許可されたプログラムであることを確認するセキュリティ確認プロセスにより確認されないと、前記管理エンジンへ前記メタデータを送る許可を拒否される、請求項19に記載のシステム。
  21. コンピューティングデバイスの管理エンジンで、帯域外通信チャネルを介して、リモートコンピューティングデバイスの秘密鍵で署名されたウィルスシグネチャファイルを受け取るステップと、
    前記署名されたウィルスシグネチャファイルを、前記コンピューティングデバイスのシステムメモリに記憶するステップと、
    前記リモートコンピューティングデバイスの前記秘密鍵に対応する、前記管理エンジンに記憶された公開鍵を用いて、前記署名されたウィルスシグネチャファイルを確認するステップと、
    前記署名されたウィルスシグネチャファイル中の1つ以上のパターンを用いて、前記システムメモリに記憶された1つ以上のファイルにアンチウィルススキャンを実行するステップと、を有する方法。
  22. 前記コンピューティングデバイスのフィルタドライバを確認して、前記システムメモリのファイルがいつ変更されたか判断するステップと、
    前記フィルタドライバが確認されないと、(i)前記管理エンジンにデータを送る許可を前記フィルタドライバに対して拒否し、(ii)前記管理エンジンの外部のエージェントに通知するステップとをさらに有する、請求項21に記載の方法。
  23. 前記署名されたウィルスシグネチャファイルは、前記システムメモリ内のセキュアパーティションに記憶される、請求項21に記載の方法。
JP2012134622A 2008-09-30 2012-06-14 ハードウェアベースのアンチウィルススキャンサービス Expired - Fee Related JP5539445B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/286,634 US20100083381A1 (en) 2008-09-30 2008-09-30 Hardware-based anti-virus scan service
US12/286,634 2008-09-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009224629A Division JP5021706B2 (ja) 2008-09-30 2009-09-29 ハードウェアベースのアンチウィルススキャンサービス

Publications (2)

Publication Number Publication Date
JP2012198926A JP2012198926A (ja) 2012-10-18
JP5539445B2 true JP5539445B2 (ja) 2014-07-02

Family

ID=41503717

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009224629A Expired - Fee Related JP5021706B2 (ja) 2008-09-30 2009-09-29 ハードウェアベースのアンチウィルススキャンサービス
JP2012134622A Expired - Fee Related JP5539445B2 (ja) 2008-09-30 2012-06-14 ハードウェアベースのアンチウィルススキャンサービス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009224629A Expired - Fee Related JP5021706B2 (ja) 2008-09-30 2009-09-29 ハードウェアベースのアンチウィルススキャンサービス

Country Status (5)

Country Link
US (1) US20100083381A1 (ja)
EP (1) EP2169584A3 (ja)
JP (2) JP5021706B2 (ja)
KR (1) KR101079910B1 (ja)
CN (2) CN103400075B (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177145B2 (en) * 2009-03-24 2015-11-03 Sophos Limited Modified file tracking on virtual machines
US8635705B2 (en) * 2009-09-25 2014-01-21 Intel Corporation Computer system and method with anti-malware
US8640241B2 (en) * 2009-11-16 2014-01-28 Quatum Corporation Data identification system
US8555393B2 (en) * 2009-12-03 2013-10-08 Verizon Patent And Licensing Inc. Automated testing for security vulnerabilities of devices
US8578161B2 (en) 2010-04-01 2013-11-05 Intel Corporation Protocol for authenticating functionality in a peripheral device
US20110283358A1 (en) * 2010-05-17 2011-11-17 Mcafee, Inc. Method and system to detect malware that removes anti-virus file system filter driver from a device stack
US8856534B2 (en) * 2010-05-21 2014-10-07 Intel Corporation Method and apparatus for secure scan of data storage device from remote server
KR101201622B1 (ko) * 2010-08-19 2012-11-14 삼성에스디에스 주식회사 보안 기능을 가진 시스템 온 칩 및 이를 이용한 디바이스 및 스캔 방법
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
WO2012119218A1 (en) * 2011-03-09 2012-09-13 Irdeto Canada Corporation Method and system for dynamic platform security in a device operating system
KR101626424B1 (ko) * 2011-03-28 2016-06-01 맥아피 인코퍼레이티드 가상 머신 모니터 기반 안티 악성 소프트웨어 보안 시스템 및 방법
TWI546690B (zh) * 2011-04-21 2016-08-21 hong-jian Zhou Antivirus system
CN102819694B (zh) * 2011-06-09 2015-12-02 国民技术股份有限公司 一种tcm芯片、查毒方法及运行tcm芯片的设备
CN102208002B (zh) * 2011-06-09 2015-03-04 国民技术股份有限公司 一种新型计算机病毒查杀装置
CN102867148B (zh) * 2011-07-08 2015-03-25 北京金山安全软件有限公司 一种电子设备的安全防护方法及装置
JP5714446B2 (ja) * 2011-08-18 2015-05-07 株式会社オプティム ウィルス対策端末、ウィルス対策方法、及びウィルス対策用プログラム
EP2795505A4 (en) 2011-12-22 2015-09-02 Intel Corp ACTIVATION AND MONETIZATION OF INTEGRATED FUNCTIONS IN STORAGE SUBSYSTEMS USING A RELIABLE CONNECTION SERVICE BACKPACK INFRASTRUCTURE
US10019574B2 (en) 2011-12-22 2018-07-10 Intel Corporation Systems and methods for providing dynamic file system awareness on storage devices
US9529805B2 (en) * 2011-12-22 2016-12-27 Intel Corporation Systems and methods for providing dynamic file system awareness on storage devices
US9110595B2 (en) 2012-02-28 2015-08-18 AVG Netherlands B.V. Systems and methods for enhancing performance of software applications
US9407653B2 (en) 2012-04-10 2016-08-02 Mcafee, Inc. Unified scan management
US9516451B2 (en) 2012-04-10 2016-12-06 Mcafee, Inc. Opportunistic system scanning
US8800046B2 (en) 2012-04-10 2014-08-05 Mcafee, Inc. Unified scan engine
US9081960B2 (en) * 2012-04-27 2015-07-14 Ut-Battelle, Llc Architecture for removable media USB-ARM
US9043920B2 (en) 2012-06-27 2015-05-26 Tenable Network Security, Inc. System and method for identifying exploitable weak points in a network
US9088606B2 (en) 2012-07-05 2015-07-21 Tenable Network Security, Inc. System and method for strategic anti-malware monitoring
CN103679013B (zh) * 2012-09-03 2017-10-31 腾讯科技(深圳)有限公司 系统恶意程序检测方法及装置
US9769123B2 (en) * 2012-09-06 2017-09-19 Intel Corporation Mitigating unauthorized access to data traffic
JP5987913B2 (ja) 2012-09-26 2016-09-07 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
KR101558054B1 (ko) * 2012-11-19 2015-10-06 삼성에스디에스 주식회사 안티 멀웨어 시스템 및 안티 멀웨어 시스템에서의 패킷 처리 방법
US9467464B2 (en) 2013-03-15 2016-10-11 Tenable Network Security, Inc. System and method for correlating log data to discover network vulnerabilities and assets
US9491193B2 (en) * 2013-06-27 2016-11-08 Secureage Technology, Inc. System and method for antivirus protection
KR101489142B1 (ko) * 2013-07-12 2015-02-05 주식회사 안랩 클라이언트시스템 및 클라이언트시스템의 동작 방법
CN106686599B (zh) * 2015-11-05 2020-10-20 创新先进技术有限公司 一种用于应用信息的风险管理的方法与设备
JP6518795B2 (ja) * 2016-01-15 2019-05-22 株式会社日立製作所 計算機システム及びその制御方法
US11368472B2 (en) 2016-12-28 2022-06-21 Digital Arts Inc. Information processing device and program
KR102276912B1 (ko) * 2017-06-07 2021-07-13 삼성전자주식회사 스토리지 시스템 및 이의 동작 방법
US11005879B2 (en) * 2017-06-29 2021-05-11 Webroot Inc. Peer device protection
JP7196556B2 (ja) * 2018-11-20 2022-12-27 コニカミノルタ株式会社 画像形成装置、情報処理装置及びプログラム
CN109992510B (zh) * 2019-03-25 2021-04-13 联想(北京)有限公司 一种远程调试装置及方法
KR102265129B1 (ko) * 2019-10-24 2021-06-15 한국전력공사 저장매체 통제 시스템 및 통제 방법
US11416607B2 (en) * 2019-11-04 2022-08-16 Dell Products L.P. Security risk indicator and method therefor
US11916930B2 (en) * 2021-06-29 2024-02-27 Acronis International Gmbh Non-invasive virus scanning using remote access

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826012A (en) * 1995-04-21 1998-10-20 Lettvin; Jonathan D. Boot-time anti-virus and maintenance facility
JP4162099B2 (ja) * 1995-06-02 2008-10-08 富士通株式会社 ウィルス感染に対処する機能を持つ装置及びその記憶装置
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
US6094731A (en) * 1997-11-24 2000-07-25 Symantec Corporation Antivirus accelerator for computer networks
JP2000089992A (ja) * 1998-09-11 2000-03-31 Fujitsu Ltd 記憶装置
US7085934B1 (en) * 2000-07-27 2006-08-01 Mcafee, Inc. Method and system for limiting processor utilization by a virus scanner
US6799197B1 (en) * 2000-08-29 2004-09-28 Networks Associates Technology, Inc. Secure method and system for using a public network or email to administer to software on a plurality of client computers
US20020166059A1 (en) * 2001-05-01 2002-11-07 Rickey Albert E. Methods and apparatus for protecting against viruses on partitionable media
US20020199116A1 (en) * 2001-06-25 2002-12-26 Keith Hoene System and method for computer network virus exclusion
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US7302706B1 (en) * 2001-08-31 2007-11-27 Mcafee, Inc Network-based file scanning and solution delivery in real time
JP2003216448A (ja) * 2002-01-17 2003-07-31 Ntt Docomo Inc 移動通信端末及びデータ送信方法
JP2003216445A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd コンピュータウイルスのチェック方法
US20040047299A1 (en) * 2002-05-31 2004-03-11 Dorundo Alan D. Diskless operating system management
US8090836B1 (en) * 2002-06-10 2012-01-03 Symantec Operating Corporation TCP connection migration
WO2004075056A1 (ja) * 2003-02-21 2004-09-02 National Institute Of Advanced Industrial Science And Technology ウイルスチェック装置及びシステム
US7941659B2 (en) * 2003-05-05 2011-05-10 Peter Ar-Fu Lam External memory enabling a user to select an application program to be launched before launching an operating system
US20050044505A1 (en) * 2003-08-19 2005-02-24 Laney Clifton W. Creating an opaque graphical user interface window when a display unit is in an off state
US20050177571A1 (en) * 2004-02-09 2005-08-11 Adams Aland B. Systems, methods, and computer-readable mediums for accessing local and remote files
JP2007226277A (ja) * 2004-04-02 2007-09-06 Matsushita Electric Ind Co Ltd 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置
US7370188B2 (en) * 2004-05-17 2008-05-06 Intel Corporation Input/output scanning
US7383406B2 (en) * 2004-11-19 2008-06-03 International Business Machines Corporation Application transparent autonomic availability on a storage area network aware file system
EP1684151A1 (en) * 2005-01-20 2006-07-26 Grant Rothwell William Computer protection against malware affection
US7581250B2 (en) * 2005-02-17 2009-08-25 Lenovo (Singapore) Pte Ltd System, computer program product and method of selecting sectors of a hard disk on which to perform a virus scan
US7703037B2 (en) * 2005-04-20 2010-04-20 Microsoft Corporation Searchable task-based interface to control panel functionality
US20070011491A1 (en) * 2005-06-30 2007-01-11 Priya Govindarajan Method for platform independent management of devices using option ROMs
WO2007044250A2 (en) * 2005-09-28 2007-04-19 Wisconsin Alumni Research Foundation Computer storage device providing implicit detection of block liveness
US20070174916A1 (en) * 2005-10-28 2007-07-26 Ching Peter N Method and apparatus for secure data transfer
US8732824B2 (en) * 2006-01-23 2014-05-20 Microsoft Corporation Method and system for monitoring integrity of running computer system
US9015501B2 (en) * 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
US8806228B2 (en) * 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
US8099786B2 (en) * 2006-12-29 2012-01-17 Intel Corporation Embedded mechanism for platform vulnerability assessment
US8341428B2 (en) * 2007-06-25 2012-12-25 International Business Machines Corporation System and method to protect computing systems
US20080320423A1 (en) * 2007-06-25 2008-12-25 International Business Machines Corporation System and method to protect computing systems
US8010815B2 (en) * 2008-05-01 2011-08-30 International Business Machines Corporation Computational device power-savings
US8683247B2 (en) * 2008-06-12 2014-03-25 Advanced Micro Devices, Inc. Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor

Also Published As

Publication number Publication date
JP2012198926A (ja) 2012-10-18
JP2010086538A (ja) 2010-04-15
JP5021706B2 (ja) 2012-09-12
KR101079910B1 (ko) 2011-11-04
CN101714197A (zh) 2010-05-26
CN103400075B (zh) 2018-01-26
CN103400075A (zh) 2013-11-20
US20100083381A1 (en) 2010-04-01
KR20100037016A (ko) 2010-04-08
EP2169584A3 (en) 2010-07-14
EP2169584A2 (en) 2010-03-31
CN101714197B (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
JP5539445B2 (ja) ハードウェアベースのアンチウィルススキャンサービス
US11503030B2 (en) Service processor and system with secure booting and monitoring of service processor integrity
US10528740B2 (en) Securely booting a service processor and monitoring service processor integrity
JP5362767B2 (ja) リモートサーバからデータ記憶装置の安全性を検査する方法および装置
CN103299311B (zh) 用于可信引导优化的方法和设备
US9455955B2 (en) Customizable storage controller with integrated F+ storage firewall protection
CN109446815B (zh) 基本输入输出系统固件的管理方法、装置和服务器
US8984265B2 (en) Server active management technology (AMT) assisted secure boot
US8474032B2 (en) Firewall+ storage apparatus, method and system
US7693838B2 (en) Method and apparatus for securely accessing data
US20150244559A1 (en) Migration of full-disk encrypted virtualized storage between blade servers
US9396329B2 (en) Methods and apparatus for a safe and secure software update solution against attacks from malicious or unauthorized programs to update protected secondary storage
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
US10255438B2 (en) Operating system agnostic validation of firmware images
EP3271818A1 (en) Dynamic firmware module loader in a trusted execution environment container
US20230342472A1 (en) Computer System, Trusted Function Component, and Running Method
Kaczmarek et al. Operating system security by integrity checking and recovery using write‐protected storage
KR20200041639A (ko) 차량용 소프트웨어 업데이트 장치 및 그 제어 방법
JP2004152251A (ja) セキュリティに関する情報を更新する方法、クライアント、サーバ、及び管理端末
CN115878122A (zh) 对构建服务器使用的数据项的损坏确定

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140206

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140401

R150 Certificate of patent or registration of utility model

Ref document number: 5539445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140430

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees