JP2013545208A - 仮想マシンのアンチ・マルウェア保護 - Google Patents

仮想マシンのアンチ・マルウェア保護 Download PDF

Info

Publication number
JP2013545208A
JP2013545208A JP2013543292A JP2013543292A JP2013545208A JP 2013545208 A JP2013545208 A JP 2013545208A JP 2013543292 A JP2013543292 A JP 2013543292A JP 2013543292 A JP2013543292 A JP 2013543292A JP 2013545208 A JP2013545208 A JP 2013545208A
Authority
JP
Japan
Prior art keywords
guest
malware
agent
scan
partition
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.)
Pending
Application number
JP2013543292A
Other languages
English (en)
Other versions
JP2013545208A5 (ja
Inventor
ショーン ジャレット マイケル
ジャレド ジョンソン ジョセフ
カプーア ヴィシャル
フランシス トーマス アニル
ジョン ネイシュタット ユージン
スコット バッチェルダー デニス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013545208A publication Critical patent/JP2013545208A/ja
Publication of JP2013545208A5 publication Critical patent/JP2013545208A5/ja
Pending legal-status Critical Current

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
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

本発明は、リソースを効率的に利用する方法で、ゲスト・パーティション上の仮想マシンをマルウェアから保護することに関する。アンチ・マルウェアのソフトウェアが、それぞれのマルウェア保護されたゲスト・パーティション上で作動する軽量のエージェント、共有スキャン署名更新機構、および管理コンポーネントに分割される。各エージェントは、例えばスクリプトを作動させることにより、当該スキャン機構にマルウェアをスキャンするためのファイルを提供し、実施すべき可能な是正措置を含む結果を当該スキャン機構から受け取る。管理コンポーネントは、スキャン機構により要求される、ゲスト・パーティションの一時停止、再開、スナップショット取得、およびロールバックのような、仮想マシンのサービスへのアクセスを当該スキャン機構に提供する。

Description

仮想マシン(VM)は、ホストのコンピュータ・システムのゲスト・パーティションで実行され、一般にあたかも独立の物理マシンであるかのように動作するソフトウェアを含む。コンピュータ・システムは複数の仮想マシンをホストすることもある。当該複数の仮想マシンは、各々、ハイパバイザとも呼ばれる仮想マシン・モニタ(VMM)上で作動し、仮想マシン間でコンピュータ・システムのリソースの共有が制御される。一般に、仮想マシンは、物理マシンのハードウェア・リソースを従来式のプログラムが行い得るよりも十分利用するように作動し、かつ/または、様々なオペレーティング・システムを同一の物理マシン上で同時に作動させるように作動する。
仮想マシンはますます普及しており、任意のコンピュータ・システムと同様に、仮想マシンは悪意あるソフトウェア、即ちマルウェアに対して脆弱である。従って、仮想マシンを保護するためのアンチ・マルウェア製品のニーズが存在する。これは、伝統的なアンチ・マルウェアのソフトウェアを各ゲスト・パーティションで作動させることにより実現することができる。
しかし、このように運用することには欠点がある。その欠点には、アンチ・マルウェアのコンポーネントが各ゲスト・パーティションに複製され、それにより各パーティションが当該アンチ・マルウェアのコンポーネントのためにネットワーク、メモリ、およびCPUリソースを消費することが含まれる。さらに、ゲストのアンチ・マルウェア製品は、スナップショット機能やロールバック機能といった、仮想マシンのサービスを利用することができない。
本要約は、選択した代表的な概念を簡潔な形で説明するために提供するものである。当該概念は、下記の発明を実施するための形態においてさらに説明する。本要約は、特許請求の範囲に記載された主題の主要な特徴または本質的な特徴を特定しようとするものではなく、特許請求の範囲に記載された主題の範囲を限定するように使用しようとすることを意図するものでもない。
簡潔に述べると、本明細書で説明する発明の主題の様々な態様は、アンチ・マルウェアのスキャン機構(例えば、スキャン・コンポーネント)が仮想マシン環境における仮想マシンに対応する複数のゲスト・パーティションにより共有される技術に関する。この目的のため、ゲスト・パーティションはゲストのアンチ・マルウェア・エージェントを含むことができる。ゲストのアンチ・マルウェア・エージェントは、上記スキャン機構と通信してその共有アンチ・マルウェア・スキャン・リソースと共有アンチ・マルウェア・スキャン機能を利用する。例えば、アンチ・マルウェア・スキャン機構のリソースが、各パーティションが自分自身の署名を保持する必要がないように、アンチ・マルウェア署名を含んでもよい。共有アンチ・マルウェア・スキャン機能は、ゲストのアンチ・マルウェア・エージェントから受け取ったオブジェクト(例えば、ファイル)のようなデータのスキャン(例えば、当該スキャンを行うコード)を含むことができる。ゲスト・オペレーティング・システムの能力を利用するために、ゲストのアンチ・マルウェア・エージェントは、追加のスキャン情報またはテレメトリ情報を収集し、または、検出されたマルウェアに対して是正措置を取るための、アンチ・マルウェア・スキャン・コンポーネントが提供した命令を実行してもよい。
一態様では、管理コンポーネントをアンチ・マルウェア・スキャン機構に接続して、仮想マシン管理サービスをアンチ・マルウェア・スキャン機構に提供する。例えば、アンチ・マルウェア・スキャン機構が管理コンポーネントと通信して、ゲスト・パーティションを一時停止し、ゲスト・パーティションを再開し、ゲスト・パーティションのスナップショットを取得し、または、ゲスト・パーティションを過去のスナップショットにロールバックしてもよい。管理コンポーネントがまた、任意のゲスト・パーティションをスキャンするための共有オーケストレーション(shared orchestration)を提供してもよい。
一実装形態では、アンチ・マルウェア・スキャン機構は、アンチ・マルウェア・スキャン機構を共有する他のゲスト・パーティションから独立したゲスト・パーティションに存在する。代替的な実装形態では、アンチ・マルウェア・スキャン機構は仮想マシン環境のルート・パーティションに存在する。
他の利点は、添付図面と関連して検討すると、下記の詳細な説明から明らかになろう。
本発明は例として示され、添付図面に限定されない。添付図面では、同様の参照番号は同様の要素を示す。
アンチ・マルウェア・スキャン機構がゲスト・パーティションで作動して、ゲスト・エージェントを介してゲスト・パーティションにより共有される、例示的な仮想マシン環境を表すブロック図である。 アンチ・マルウェア・スキャン機構がルート・パーティションで作動して、ゲスト・エージェントを介してゲスト・パーティションにより共有される、例示的な仮想マシン環境を表すブロック図である。 共有アンチ・マルウェア・スキャン機構を仮想マシン環境で実装するための例示的なステップを表す流れ図である。 ゲスト・パーティションをオフライン状態でスキャンするための例示的なステップを表す流れ図である。 本明細書に記載の様々な実施形態を実装できる例示的で非限定的なネットワーク環境を表すブロック図である。 本明細書に記載の様々な実施形態の1つまたは複数の態様を実装できる、例示的で非限定的なコンピューティング・システムまたは動作環境を表すブロック図である。
本明細書に記載の技術の様々な態様は、一般に、仮想マシンをマルウェアから保護する効率的な方法に関し、各仮想マシンはゲスト・パーティションで作動する。一実装形態では、アンチ・マルウェア・ソフトウエアは別々のコンポーネントに分割される。当該コンポーネントには、軽量エージェント、共有スキャン署名更新コンポーネント、および管理コンポーネントが含まれる。エージェントは、サポートされるゲスト・パーティションで作動し、リアルタイムでオンラインのオペレーティング・システム対話サービスを提供する。スキャン署名更新コンポーネントは、独立したゲスト・パーティションまたはルート・パーティションに存在してもよく、他のゲスト・エージェントの各々が使用するように構成される。管理コンポーネントは、仮想マシンのサービスに対する集約されたレポーティングとアクセスを提供し、例えば、ルート・パーティションに存在してもよい。
理解されるように、本明細書に記載の技術は、共有スキャン・コンポーネントを介して仮想マシン環境における複数のゲスト仮想マシンに対して集約されたアンチ・マルウェアの能力を提供する。これにより、スキャン要求を共有スキャン・コンポーネントに向けることでリアルタイムなアンチ・マルウェア保護が促進される。当該保護には、例えば共有スキャン・コンポーネントが提供する単純なスクリプトを使用した、ゲスト・パーティションでのオンデマンドのスキャンと是正が含まれ得る。
さらに、管理コンポーネントは、ルート・パーティションで作動することにより、スキャン・コンポーネントに対して一時停止/再開/スナップショット取得/ロールバックおよび検査のサービスを提供する。これにより、ゲスト・パーティションが管理コンポーネントを介して一時停止されている間、または、ゲスト・パーティションが作動していない(オフラインである)間に、ゲスト・エージェントと直接連携せずに(例えば、ゲスト・エージェントが危険に晒されているかまたは利用不能である場合)スキャン・コンポーネントによるゲスト・パーティションでのオンデマンドのスキャンと是正が促進される。当該オンデマンドのスキャンと是正を用いて、ゲスト・エージェントの視点からステルス能力または保護能力を有するマルウェアを検出することができる。
本明細書の例の何れも非限定的であることは理解されたい。例えば、ファイルのようなオブジェクトのスキャンを説明しているが、ネットワーク侵入保護、データ漏洩、ゲスト検証、等のような他の内容のセキュリティ評価も、本明細書に記載の技術から利益を受けることができる。従って、本発明は、本明細書で説明するどの特定の実施形態、態様、概念、構造、機能、または例にも限定されない。寧ろ、本明細書で説明する実施形態、態様、概念、構造、機能、または例の何れも非限定的であり、一般に仮想コンピューティングおよび/またはマルウェアに対する保護において利益と利点を提供する様々な方法で、本発明を使用することができる。
図1は、仮想マシン分散アンチ・マルウェアで構成されたコンピュータ・システム102の例示的なコンポーネントを示す。この例示的な実装形態におけるコンポーネントは、専用スキャン・ゲスト・パーティション106内に存在する(1つまたは複数のアンチ・マルウェア・コンポーネントを備える)スキャン機構104と、ルート・パーティション112上のゲスト管理サービス110の一部としての(ローカルまたはリモートの管理コンソール109を介してインタフェースできる)アンチ・マルウェア管理コンポーネント108とを備える。図1は可能な配置構成の非限定的な例を示すにすぎず、他も可能であり、これには図2に表す例示的な配置構成が含まれる。
一般に、ルート・パーティション112はオペレーティング・システム作動環境を備え、当咳環境から、他の仮想マシンのゲスト・パーティション106および114〜114の状態を制御することができる。各ゲスト・パーティション106および114〜114は、任意の仮想マシン、または、ルート・パーティション112ではないマシン・パーティションに対応する。
リアルタイムなアンチ・マルウェアのサポートが提供される各ゲスト・パーティション114〜114は、それぞれ、ゲスト・エージェント116〜116を備える。ゲスト・エージェント116〜116は、そのゲスト・パーティションに対して、場合によっては他のサービスとともに、リアルタイムな保護サービスを提供するソフトウェアを備える。各ゲスト・エージェント116〜116は、そのそれぞれのゲスト・パーティション114〜114で作動しているオペレーティング・システムに固有である。図1には示していないが、アンチ・マルウェア・スキャン機構104を含むゲスト・パーティション106がかかるゲスト・エージェントを備えてもよいことに留意されたい。
ゲスト・エージェントを、ゲスト・パーティションを危険に晒すことに成功した悪意あるコードで改竄されることから保護するために、(例えば、ルート・パーティションまたは専用のセキュリティ仮想マシンの内部で作動している)「特権」保護コンポーネントが、ゲスト・エージェントの完全性およびゲスト仮想マシンの他の関連するコンポーネントの完全性を監視してもよい。
各ゲスト・エージェント(例えば、116)は、オブジェクトへのアクセスを検出しブロックする能力を有するリアルタイムなシステム監視を提供する。この目的のため、ゲスト・エージェント116は、スキャン・ゲスト・パーティション106と双方向に(例えば、高速に)通信する。任意の通信機構、例えば、ルート・パーティションを介したもの、シミュレートされたネットワーク・インタフェースを介したもの、等が可能であるが、1実装形態では、通信は、パーティション間に存在する高速バスまたは共有メモリ・ブロックを介して行われることに留意されたい。任意のゲスト・エージェント(例えば、116)を、ゲスト・パーティションがしばしば対話的に用いられる場合のように、ユーザ・インタフェースで構成してもよい。かかるユーザ・インタフェースは、ゲストの対話ユーザに当該ゲストの最新のセキュリティ状況に対する可視性を提供してもよく、または、対話ユーザが、アンチ・マルウェア・コンポーネントが特定のオンデマンドのスキャンを開始することを要求できるようにしてもよい。
エージェント116のような各ゲスト・エージェントを(場合によっては)、例えば本明細書で一般的に説明する適切な双方向通信機構を介してスキャン・ゲスト・パーティション106により提供される、単純なスクリプトを作動させる機能で構成してもよい。エージェントをスクリプトを作動させる機能で構成することで、何をスキャンすべきか、マルウェアが検出されたときに何をすべきか、等に関する決定に関して独自のロジックでエージェントをコーディングする必要性が回避される。例えば、ゲスト・パーティションのファイルをスキャンするために、スクリプトが、エージェントがそのファイルまたはその何らかのサブセットをアンチ・マルウェア・スキャン機構104に送ることを要求してもよい。アンチ・マルウェア・スキャン機構104は、当該ファイルまたはその何らかのサブセットをスキャンし、ファイルの掃除のような何らかの必要な是正を行い、スキャン/是正の結果をエージェントに返してもよい。当該結果には、取るべき措置、例えば、削除または隔離すべきファイルを伴うスクリプトが含まれる。かかるスクリプトが、リソースにタッチする(例えば、リアルタイム転送プロトコルの能力をトリガする)機能を含んでもよく、リソースを修正または終了/削除する機能を含んでもよい。
アンチ・マルウェア・スキャン機構104は、スキャン、是正、署名更新の動作を実施し、一般に、ゲスト・エージェントおよび/または管理コンポーネントの連携によりセキュリティ・ポリシーのアンチ・マルウェアの態様を実施する。一般に、アンチ・マルウェア・スキャン機構104はアンチ・マルウェアのスキャンを、ゲスト・エージェント116〜116に対するサービスとして提供する。さらに、アンチ・マルウェア・スキャン機構104はまた、例えば、ゲスト・エージェントのサービスを連携して用いて、あるいは、ゲスト・パーティションが知ることなくまたは同意せずに、(例えば、ゲスト・パーティションが一時停止/オフラインである間に)、管理コンポーネント108のサポートを通じて、ゲスト・パーティションに対するスキャンまたは是正措置を開始してもよい。
リアルタイムな監視に関して、アンチ・マルウェア・スキャン機構104はゲスト・エージェント116〜116と双方向に通信する。これには、1実装形態では、当該ゲスト・パーティションから送信されたコンテンツ内の任意のマルウェアを特定することが含まれる。一般に、リアルタイムな監視に関して、各エージェントは、(ファイル、レジストリ・データ、プロセス、等のような1つまたは複数のオブジェクトを含む)オブジェクト・セットのようなデータをアンチ・マルウェア・スキャン機構104に送り、次いでアンチ・マルウェア・スキャン機構104は、当該データをアンチ・マルウェア署名に対して評価し、結果を返し、場合によっては、是正措置(例えば、オブジェクトの掃除)を取り、かつ/または、エージェントが例えばスクリプトを介して是正措置(例えば、ファイルの除去またはファイルの隔離)を取るためのスクリプト化された命令を含む。
ゲスト・エージェント116〜116の一部または全部に、単純にオブジェクトを転送してスクリプト化された結果を受け取って当該結果に基づいて行動させるのではなく、何らかのスキャン能力/インテリジェンス自体を提供することが可能であることに留意されたい。例えば、特定のウィルスが現在蔓延している場合には、アンチ・マルウェア・スキャン機構104はゲスト・エージェントに、所与のファイルまたはファイル・タイプに関して探索するための署名のサブセットをゲスト・エージェントに提供してもよく、それにより、ゲスト・エージェントは、かかるファイルに遭遇した場合に自分でスキャンまたは是正を扱うことができる。これを、スクリプトを介して、および/または、場合によってはある程度、基本的なスキャン機能をエージェントにコーディングすることで行ってもよい。
共有スキャン機構104の別の利点は、署名ならびに他のスキャン・コンポーネントを、スキャンによる長時間の停止時間を経験することなく、更新できることである。さらに、後で分析するために、データ、レポート、およびサンプル・オブジェクトの提出、等のような情報を、リモートの場所にアップロードしてもよい。共有スキャン機構104のこの態様は、図1で署名/テレメトリ/クラウドのサービス118により表してある。他のゲスト・パーティション114〜114はインターネットにアクセスする必要はなく、例えば、依然として共有ゲスト・パーティション106の更新およびテレメトリへのアクセスの利益を受けることができることに留意されたい。
さらに、アンチ・マルウェア・スキャン機構104のリモート・アクセス能力が、未だ署名によって照合されていない疑わしいコンテンツに関する決定(感染、または、問題なし)のための共有「クラウド・スキャン」サービスと通信することを含んでもよい。ゲストが直接的なインターネット・アクセスを必要とせずにクラウド・サービスの利益を得るように、アンチ・マルウェア・スキャン機構104がかかる問合せを複数のゲストの代わりに行ってもよい。また、アンチ・マルウェア・スキャン機構104が結果をキャッシュして、複数のゲストが同じ疑わしいコンテンツを参照している場合であってもアンチ・マルウェア・スキャン機構104がクラウド・サービスへ要求を1つ生成すればよいようにしてもよい。
アンチ・マルウェア・スキャン機構104はまた、アンチ・マルウェア管理コンポーネント108との通信接続を有する。上述のように、これにより、アンチ・マルウェア・スキャン機構104に、アンチ・マルウェアのスキャンを仮想マシンの管理能力と統合する機能が提供される。例えば、アンチ・マルウェア・スキャン機構104が、管理コンポーネント108がゲスト・パーティションを一時停止し、それによりスキャン機構104にゲスト・パーティション(またはそのスナップショット)をオフラインでスキャンする機能、および/または、オフラインでパーティション(またはそのスナップショット)を操作してマルウェアを除去する機能を提供するよう要求してもよい。深刻な問題が検出された場合、即ち、ゲストがクラッシュした場合のように受身的に、掃除できなかったオペレーティング・システムのファイルが感染したがオペレーティング・システムを作動させるのに当該ファイルが必要であるためオンラインで置き換えられない場合に、オフラインのスキャンを実施してもよい。オフラインのスキャンを積極的に、例えば、ゲスト・パーティションを起動する前に、実施してもよい。パーティションが起動時に感染していないことが分かっているが、後で実行中に感染した場合には、迅速な診断を行ってもよい。この統合能力によりまた、ゲスト・エージェントによってはサポートされない、ゲスト上のスキャンと是正を行うための機能が提供される。
したがって、管理コンポーネント108は、仮想マシン管理サービス110へアクセスするコンポーネントを備える。図1の例示的な実装形態では、管理コンポーネント108は仮想マシン管理サービス110の一部であり、スキャン機構104と通信するが、個々のゲストのエージェント116〜116とは通信しない。その動作の中でも、管理コンポーネント108はスキャン・コンポーネントのハートビートを監視し、スキャン・コンポーネントおよび/またはスキャン・パーティションが応答しなくなった場合に管理コンポーネント108がスキャン・コンポーネントまたはスキャン・パーティションを再起動し、かつ/または、警告を通知できるようにしてもよい。マルウェアにはアンチ・マルウェア保護を積極的に無効化しようとするものもあるが、共有スキャン・サービスにゲストを監視させることで、エージェントが当該ゲスト内でタンパー・レジスタントに作動することを支援していることに留意されたい。
さらに、管理コンポーネント108は、セキュリティ管理コンソール109を行き来する通信に対する中央収集点および中間体として動作することができる。管理コンポーネント108は、スキャン・パーティション106に、ゲスト・パーティションを操作するオンラインの機能を提供してもよい。当該機能には、感染したゲストを停止する機能、または、ゲスト・パーティションをスナップショットに復帰させる機能が含まれる。管理コンポーネント108は、スキャン機構104に、ゲスト・パーティションをオフラインで操作する機能を提供してもよい。
管理コンポーネント108は、スキャン機構104と調整する機能、任意の中央セキュリティ管理サービスによりレポート(および潜在的には再構成)する機能をもって仮想マシン管理サービス110へアクセスできるが、管理コンポーネント108は、仮想マシン管理、アンチ・マルウェア管理、およびスキャン機構104とは相違するコンポーネントであることに留意されたい。これらのコンポーネントが例えばネットワーク接続を介して通信できる限り、管理コンポーネント108は、これらのコンポーネントと同じコンピュータ・システム上にある必要さえない。しかし、管理コンポーネント108を(図1に例示するように)ルート・パーティション112に展開することで、一般に、スキャン・パーティション106と仮想マシン管理サービス110との通信の待ち時間が減る。
図1に示すように、スキャン機構104が専用スキャン・ゲスト・パーティション106に存在してもよい(本明細書で使用する「専用」は、リソースをスキャン機能に対して予約しておくことを指し、かかるパーティションを他の目的で使用できないことも意味しないことに留意されたい)。この実装では、(そのコンポーネントがしばしばセキュリティ脆弱性によりターゲットとされる)アンチ・マルウェア・スキャン機構104とルート・パーティション112との間のセキュリティ境界が提供される。明示的には示していないが、フェールオーバ能力のような、複数のスキャン・パーティションを使用することができる。例えば、或るスキャン・パーティションが故障した場合、別のスキャン・パーティションを素早く再開して当該或るスキャン・パーティションを引き継いでもよい。負荷分散および/または作業負荷分散は、例えば単一のスキャン・パーティションがスキャン要求を満たすことができない場合など、複数のスキャン・パーティションを使用できる別の場合である。
代替的な実装形態では、(同様なコンポーネントに、図1の1××の代わりに2××を付してある)図2で一般的に表すように、1つの(または複数の)スキャン・コンポーネント204をルート・パーティション212に展開してもよい。これには、大幅な最適化の可能性があり、ゲスト・パーティション/オペレーティング・システム全体のオーバヘッドが削減され、管理コンポーネント、および、格納されたゲスト・パーティションの状態に直接アクセスすることができる。しかし、これには、ルート・パーティション212に展開したオペレーティング・システムがスキャン・コンポーネントを利用できるようにする必要があり、ゲスト・パーティション内に見つかったコンテンツからの潜在的なエクスプロイトからのルート・パーティション212の保護が弱まる。
概要として、図3は、上述のコンポーネントを用いてマルウェア保護を提供するために行いうる例示的なステップを示す。ステップ302および304は、それぞれ、ゲスト・パーティションおよびアンチ・マルウェア・エージェントを作動させること、共有アンチ・マルウェア・スキャン機構を作動させることを表す。1つのみのエージェントを示しているが、同様なステップを、作動している複数のエージェントの各々で実施されることが分かることに留意されたい。さらに、ステップ302および304は仮想マシン管理により図1と同様の実装で実施されるが、ステップ304を、他のルート・パーティションのソフトウェアにより、共有アンチ・マルウェア・スキャン機構がゲスト・パーティションで作動していない図2と同様の実装で実施してもよい。
ステップ306〜318は、アンチ・マルウェア・スキャン機構により、および、アンチ・マルウェア・スキャン機構の視点から実施される例示的な動作を表し、この場合、エージェントがスキャンに関してアンチ・マルウェア・スキャン機構に依存する。ステップ306は、エージェントに対するスクリプトのような情報を提供することを表す。リアルタイムなスキャンではないスキャンにおいては、当該スクリプトが、どのファイル、フォルダ、または他のオペレーティング・システムのリソースをスキャンに提供すべきか、どのファイル・タイプを提供すべきか、等を特定してもよい。リアルタイムなスキャンでは、当該情報が、スキャンが開始されたこと、および、エージェントがそれぞれの適切なオブジェクトをリアルタイムなスキャンのためにアンチ・マルウェア・スキャン機構に提供すべきであることをエージェントに通知する命令等であってもよい。
ステップ308は、エージェントが、オブジェクト・セット(例えば、1つまたは複数のファイル、レジストリ・データまたは他のデータ・ブロブ)のようなデータをアンチ・マルウェア・スキャン機構に提供することを表す。アンチ・マルウェア・スキャン機構は、ステップ310で表すように、当該データを受け取ってスキャンする。当該データがマルウェアを含む場合は、ステップ314で表すように、ステップ312が当該データに関して措置を講ずる。上述のように、これをアンチ・マルウェア・スキャン機構において是正を行うこと、例えば、データを返す前に掃除すること、および/または、エージェントに何らかの是正措置(例えば、ファイルの削除、ファイルの隔離、掃除したファイルの書戻し)を取るように命令する結果を構築すること、により行ってもよい。
場合によっては、マルウェアを、危険に晒された仮想マシンから掃除できないことに留意されたい。仮想環境として構成されていないコンピュータ・システムでは、通常はマシンを再インストールすることによる、人間の操作者の介入が必要である。しかし、仮想環境では、管理コンポーネントが自動的に(場合によっては、管理者の承認を求めた後に)仮想マシンを過去の既知の良好なスナップショットへ、または、仮想マシンのイメージを再構築することによって、復元することができる。
ステップ316で、結果をエージェントに返す。当該結果は、エージェントが実施するための1つまたは複数の動作からなるスクリプト、および/または、次のデータ・セットの要求を含んでもよい。ステップ318は、スキャンが完了した場合にスキャン・プロセスを終了すること、または、スキャンすべきデータ・セットが少なくともまだ1つ存在するため、または、スキャンがリアルタイムな監視動作であり、次のデータ・セットまで待機することにより無限に継続するため、さらにスキャンが必要である場合にスキャン・プロセスを継続することを表す。
図4は、ゲスト・パーティションのオフライン・スキャンの1例であり、ステップ402で開始し、そこで管理コンポーネント108がゲスト・パーティションをオフライン状態に移す(ステップ404)要求を(例えば、アンチ・マルウェア・スキャン機構104から)受け取る。オフライン状態に入ると、ステップ406〜412は、アンチ・マルウェア・スキャン機構104により、および、アンチ・マルウェア・スキャン機構104の視点から実施される例示的な動作を表す。スキャン(ステップ406)中にステップ408でマルウェアに遭遇した場合は、ステップ410で是正を実施する。エージェントがオフラインであり、したがって、是正に参加できないことに留意されたい。当該是正には、ファイルの掃除、削除または隔離、ならびに、場合によっては、オンライン状態中は置き換えることができない壊れたオペレーティング・システムのファイルを置き換えることを含めてもよい。また、ステップ410が、マルウェアの是正結果を、分析のため、何が発生したかをゲスト・パーティションに知らせるため、テレメトリ・データをアップロードするため、等で保存することを表す。ステップ412では、スキャンが完了するまで、例えば、全ての適切なファイル・システムのファイルがスキャンされるまで、スキャンを繰り返す。
完了すると、例えばアンチ・マルウェア・スキャン機構104の要求により、ステップ414および416を管理コンポーネント108により実施して、ゲスト・パーティションをオンライン状態に復元する。
(例示的なネットワーク環境および分散環境)
当業者は、本明細書に記載の様々な実施形態と方法を任意のコンピュータまたは他のクライアント装置もしくはサーバ装置と関連して実装できることを理解することができるだろう。当該任意のコンピュータまたは他のクライアント装置もしくはサーバ装置を、コンピュータ・ネットワークの一部としてまたは分散コンピューティング環境において展開することができ、いかなるデータストア(複数可)にも接続することができる。この点、本明細書に記載の様々な実施形態を、任意数のメモリまたは記憶ユニットを有する任意のコンピュータ・システムまたは環境で実施することができ、任意数の記憶ユニットにわたって生ずる任意数のアプリケーションおよびプロセスで実施することができる。これには、リモートまたはローカルの記憶域を有する、サーバ・コンピュータおよびクライアント・コンピュータがネットワーク環境または分散コンピューテイング環境に展開された環境が含まれるがこれに限らない。
分散コンピューティングは、コンピューティング装置とシステムとの間での通信交換(communicative exchange)によってコンピュータのリソースとサービスの共有を提供する。これらのリソースとサービスには、情報の交換、ファイルのようなオブジェクトのキャッシュ記憶とディスク記憶が含まれる。これらのリソースとサービスはまた、負荷分散、リソース拡張、処理の特化、等のために処理能力を複数の処理ユニットで共有することを含む。分散コンピューティングはネットワーク接続を利用し、クライアントがその集約能力を利用して企業全体を利することを可能とする。この点、様々な装置が、本開示の様々な実施形態で説明したリソース管理機構に参加できる、アプリケーション、オブジェクト、またはリソースを有してもよい。
図5は、例示的なネットワーク環境または分散コンピューティング環境の概略図を提供する。分散コンピューティング環境は、例示的なアプリケーション530、532、534、536、538により表したプログラム、方法、データストア、プログラム可能論理、等を含みうる、コンピューティング・オブジェクト510、512、等、およびコンピューティング・オブジェクトまたは装置520、522、524、526、528、等を備える。コンピューティング・オブジェクト510、512、等およびコンピューティング・オブジェクトまたは装置520、522、524、526、528、等が、PDA(personal digital assistant)、オーディオ/ビデオ装置、携帯電話、MP3プレイヤ、パーソナル・コンピュータ、ラップトップ、等のような様々な装置を備えてもよいことは理解されよう。
各コンピューティング・オブジェクト510、512、等およびコンピューティング・オブジェクトまたは装置520、522、524、526、528、等は、1つまたは複数の他のコンピューティング・オブジェクト510、512、等およびコンピューティング・オブジェクトまたは装置520、522、524、526、528、等と、通信ネットワーク540により、直接的にまたは間接的に通信することができる。図5では単一の要素として示したが、通信ネットワーク540が、図5のシステムにサービスを提供する他のコンピューティング・オブジェクトおよびコンピューティング装置を備えてもよく、かつ/または、図示していない複数の相互接続されたネットワークを表してもよい。各コンピューティング・オブジェクト510、512、等またはコンピューティング・オブジェクトもしくは装置520、522、524、526、528、等はまた、本開示の様々な実施形態に従って提供されたアプリケーションとの通信または当該アプリケーションの実装に適した、API、または他のオブジェクト、ソフトウェア、ファームウェアおよび/もしくはハードウェアを利用できる、アプリケーション530、532、534、536、538のようなアプリケーションを含むことができる。
分散コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成が存在する。例えば、コンピューティング・システムを、有線または無線のシステムによって、ローカル・ネットワークまたは広域分散ネットワークによって、互いに接続することができる。現在、多数のネットワークがインターネットに接続され、広域の分散コンピューティングの基盤を提供し、多種多様なネットワークを包含しているが、任意のネットワーク基盤を、様々な実施形態で説明したシステムに伴う例示的な通信に使用することができる。
したがって、クライアント/サーバ、ピア・ツー・ピア、またはハイブリッド・アーキテクチャのような多数のネットワーク・トポロジおよびネットワーグ基盤を利用することができる。「クライアント」とは、それが関係しない別のクラスまたはグループのサービスを利用する、クラスまたはグループのメンバである。クライアントは、別のプログラムまたはプロセスが提供するサービスを要求するプロセス、例えば、大まかには1組の命令またはタスクであることができる。クライアント・プロセスは、他のプログラムまたはサービス自体に関する動作の詳細を何ら「知る」必要なしに、要求されたサービスを利用する。
クライアント/サーバのアーキテクチャ、特にネットワーク・システムでは、クライアントは通常、別のコンピュータ、例えばサーバにより提供される共有ネットワーク・リソースにアクセスするコンピュータである。図5の例では、非限定的な例として、コンピューティング・オブジェクトまたは装置520、522、524、526、528、等をクライアントと考えることができ、コンピューティング・オブジェクト510、512、等をサーバと考えることができる。この場合、サーバとして動作するコンピューティング・オブジェクト510、512、等は、クライアントコンピューティング・オブジェクトまたは装置520、522、524、526、528、等からのデータの受信、データの格納、データの処理、クライアントコンピューティング・オブジェクトまたは装置520、522、524、526、528、等へのデータの送信のようなデータ・サービスを提供するが、状況に応じて、任意のコンピュータをクライアント、サーバ、またはその両方と考えることができる。
サーバは一般に、インターネットまたは無線ネットワーク基盤のような、リモートまたはローカルのネットワークを介してアクセス可能なリモートのコンピュータ・システムである。クライアント・プロセスが第1のコンピュータ・システムでアクティブであり、サーバ・プロセスが第2のコンピュータ・システムでアクティブであり、通信媒体を介して互いに通信し、したがって分散機能を提供し複数のクライアントがサーバの情報収集能力を利用できるようにしてもよい。
通信ネットワーク540またはバスがインターネットであるネットワーク環境では、例えば、コンピューティング・オブジェクト510、512、等がウェブ・サーバであることができる。他のコンピューティング・オブジェクトまたは装置520、522、524、526、528、等は、HTTP(hypertext transfer protocol)のような幾つかの公知のプロトコルの何れかを介して当該ウェブ・サーバと通信する。サーバとして動作するコンピューティング・オブジェクト510、512、等はまた、クライアント、例えば、コンピューティング・オブジェクトまたは装置520、522、524、526、528、等の役割を果たしてもよく、これは分散コンピューティング環境の特徴でありうる。
(例示的なコンピューティング装置)
述べたように、有利に、本明細書に記載の技法を任意の装置に適用することができる。したがって、あらゆる種類のハンドヘルド、ポータブル、および他のコンピューティング装置およびコンピューティング・オブジェクトが様々な実施形態と関連した使用に対して考慮されていることは理解されよう。したがって、図6で後述する下記の汎用目的のリモート・コンピュータはコンピューティング装置の1例にすぎない。
装置またはオブジェクトに対するサービスの開発者が使用するために実施形態を部分的にオペレーティング・システムを介して実装することができ、かつ/または、実施形態を、本明細書で説明した様々な実施形態の1つまたは複数の機能的態様を実施するように動作するアプリケーション・ソフトウェアに含めることができる。ソフトウェアを、クライアント・ワークステーション、サーバまたは他の装置のような1つまたは複数のコンピュータにより実行されているプログラム・モジュールのようなコンピュータ実行可能命令の一般的なコンテキストで説明してもよい。コンピュータ・システムはデータ通信に使用できる様々な構成とプロトコルとを有し、したがって、どの特定の構成またはプロトコルも限定とは考えられないことは当業者には理解されよう。
このように、図6は、本明細書に記載の実施形態の1つまたは当該実施形態の諸態様を実装できる適切なコンピューティング・システム環境600の1例を示すが、上で明らかにしたように、コンピューティング・システム環境600は適切なコンピューティング環境の1例にすぎず、使用範囲または機能範囲に関して何ら限定を示唆しようとするものではない。さらに、コンピューティング・システム環境600は、例示的なコンピューティング・システム環境600で示したコンポーネントのどの1つまたは組合せに関してどのような依存性を有すると意図しようとするものでもない。
図6を参照すると、1つまたは複数の実施形態を実装するための例示的なリモート装置が汎用目的のコンピューティング装置をコンピュータ610の形で含む。コンピュータ610のコンポーネントは、演算装置620、システム・メモリ630、および当該システム・メモリを含む様々なシステム・コンポーネントを演算装置620に接続するシステム・バス622を含んでもよいが、これらに限らない。
コンピュータ610は、一般に、様々なコンピュータ読取可能媒体を備え、コンピュータ610がアクセスできる任意の利用可能な媒体であることができる。システム・メモリ630は、ROM(read only memory)および/またはRAM(random access memory)のような揮発性および/または不揮発性のメモリの形でコンピュータ記憶媒体を含んでもよい。限定ではなく例として、システム・メモリ630がまた、オペレーティング・システム、アプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを含んでもよい。
ユーザは、入力装置640を介してコマンドおよび情報をコンピュータ610に入力することができる。モニタまたは他種の表示装置も、出力インタフェース650のようなインタフェースを介してシステム・バス622に接続される。モニタに加えて、コンピュータはまた、スピーカおよびプリンタのような他の周辺出力装置を備えることができ、これらを出力インタフェース650を介して接続してもよい。
コンピュータ610は、リモート・コンピュータ670のような1つまたは複数の他のリモート・コンピュータへの論理接続を用いてネットワーク環境または分散環境で動作してもよい。リモート・コンピュータ670は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイス、または他の共通ネットワーク・ノード、または他の任意のリモート媒体消費装置または送信装置であってもよく、コンピュータ610に関して上述した要素の一部または全てを含んでもよい。図6に示した論理接続は、LAN(local area network)またはWAN(wide area network)のようなネットワーク672を含むが、他のネットワーク/バスを含んでもよい。かかるネットワーキング環境は家庭、職場、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットで一般的である。
上述のように、例示的な実施形態を様々なコンピューティング装置およびネットワーク・アーキテクチャと関連して説明したが、基礎となる概念を、リソース利用の効率性を改善するのが望ましい任意のネットワーク・システムおよび任意のコンピューティング装置またはシステムに適用してもよい。
また、同一または同様の機能を実装するための複数の方法がある。例えば、適切なAPI、ツール・キット、ドライバ・コード、オペレーティング・システム、コントロール、スタンドアロンまたはダウンロード可能なソフトウェア・オブジェクト、等であり、これらによりアプリケーションおよびサービスが本明細書で提供した技法を利用することができる。したがって、本明細書の実施形態は、API(または他のソフトウェア・オブジェクト)の観点から、ならびに、本明細書で説明した1つまたは複数の実施形態を実装するソフトウェア・オブジェクトまたはハードウェア・オブジェクトの観点から検討される。このように、本明細書で説明した様々な実施形態が、全体としてハードウェアの態様、部分的にハードウェアの態様、部分的にソフトウェアの態様、ならびにソフトウェアの態様を有することができる。
本明細書で使用する「例示的な」という単語は、例、事例、または実例の役割を果たすことを意味する。疑義を回避するため、本明細書で開示した発明の主題はかかる例に限定されない。さらに、「例示的」として本明細書で説明した任意の態様または設計は必ずしも他の態様または設計に対して好適または有利であるとは解釈すべきでなく、当業者に公知である均等な例示的構造および技法を排除することを意味するものでもない。さらに、「含まれる」、「有する」、「含む」という用語、および他の同様の単語を使用する限り、疑義を回避するため、かかる用語は、請求項で使用された場合にどの追加または他の要素も排除しないオープンな移行語としての用語「備える」と同様に包括的であることを意図している。
述べたように、本明細番で説明した様々な技法をハードウェアもしくはソフトウェアと関連して、または、必要に応じて、その両方の組合せと関連して実装してもよい。本明細書で使用する際、「コンポーネント」、「モジュール」、「システム」、等の用語は同様に、コンピュータ関連の実体、即ち、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアの何れかを指すことを意図している。例えば、コンポーネントは、プロセッサで作動しているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよいが、これらに限らない。例として、コンピュータで作動しているアプリケーションおよびコンピュータの両方がコンポーネントであることができる。1つまたは複数のコンポーネントがプロセスおよび/または実行スレッド内に存在してもよく、コンポーネントを1つのコンピュータに局在化させてもよく、かつ/または、複数のコンピュータに分散させてもよい。
上述のシステムを、幾つかのコンポーネント間の対話に関連して説明した。かかるシステムおよびコンポーネントが、これらのコンポーネントまたは指定のサブ・コンポーネント、指定のコンポーネントまたはサブ・コンポーネントの一部、および/または追加のコンポーネントを、以上の様々な並びおよび組合せに従って含むことができることは理解されよう。サブ・コンポーネントを、親コンポーネントに含める(階層的にする)のではなく、他のコンポーネントと通信可能に接続されたコンポーネントとして実装することもできる。さらに、1つまたは複数のコンポーネントを、集約機能を提供する単一のコンポーネントに結合してもよく、または、幾つかの独立したサブ・コンポーネントに分割してもよく、管理層のような任意の1つまたは複数の中間層を提供して、かかるサブ・コンポーネントと通信可能に接続し、統合化された機能を提供してもよいことに留意されたい。本明細書で説明した任意のコンポーネントはまた、本明細書では具体的に説明していないが、一般に当業者に公知である1つまたは複数の他のコンポーネントと対話してもよい。
本明細書で説明した例示的なシステムを考慮すると、説明した発明の主題に従って実装できる方法を、様々な図の流れ図を参照して理解することもできる。説明の簡単さのため、当該方法を一連のブロックとして示し説明したが、一部のブロックを、本明細書で図示し説明したものとは異なる順序で実施でき、かつ/または、他のブロックと並列に実施できるため、様々な実施形態は上記ブロックの順序によっては限定されないことは理解されよう。非逐次的な流れ、または、分岐された流れを流れ図により示す場合は、同一または同様の結果を実現する他の様々な分岐、流路、およびブロックの順序を実装してもよいことは理解されよう。さらに、示したブロックの一部は、本明細書で説明する方法を実装するにおいては任意である。
(結語)
本発明に対しては様々な修正および代替構成が可能であるが、その特定の例示的な実施形態が図面に示され、詳細に上述されている。しかし、本発明を開示した特定の形態に限定する意図はなく、反対に、本発明の趣旨と範囲に含まれる全ての修正、代替構成、および均等物を網羅することを意図していることは理解されよう。
本明細書で説明した様々な実施形態に加えて、そこから逸脱しない、他の同様な実施形態を使用し、修正および追加を説明した実施形態(複数可)に対して行って、対応する実施形態(複数可)の同一のまたは均等な機能を実施できることは理解されよう。さらに、複数の処理チップまたは複数の装置が、本明細書で説明した1つまたは複数の機能の性能を共有することができ、同様に、複数の装置にわたって記憶域を実現することができる。したがって、本発明はどの実施形態にも限定されず、むしろ、添付の特許請求の範囲に従う広い趣旨および範囲で解釈すべきである。

Claims (10)

  1. コンピューティング環境において、
    仮想マシン環境における複数の仮想マシンに対応する複数のゲスト・パーティションであって、各々がゲスト・アンチ・マルウェア・エージェントを含む複数のゲスト・パーティションと、
    1つまたは複数のアンチ・マルウェア関連のコンポーネントを含むアンチ・マルウェア・スキャン機構であって、前記ゲスト・パーティション上で前記ゲスト・アンチ・マルウェア・エージェントと通信するように構成され、さらに、共有アンチ・マルウェア・スキャン・リソースと共有アンチ・マルウェア・スキャン機能を、前記ゲスト・アンチ・マルウェア・エージェントを介して前記ゲスト・パーティションに提供するように構成された、アンチ・マルウェア・スキャン機構と
    を備えるシステム。
  2. ルート・パーティションに存在し、前記仮想マシンを一時停止し、再開し、復旧し、再構築して感染のスキャンと是正を可能とするように構成され、前記ゲスト・エージェントを保護するように構成された管理コンポーネント、または、仮想マシン管理サービスを前記アンチ・マルウェア・スキャン機構に提供するように構成された、前記アンチ・マルウェア・スキャン機構に接続された管理コンポーネント、または、その両方をさらに含む、請求項1に記載のシステム。
  3. 前記アンチ・マルウェア・スキャン機構によるスキャンのために、前記アンチ・マルウェア・スキャン機構が前記管理コンポーネントと通信して、前記管理サービスを使用してゲスト・パーティションを一時停止し、ゲスト・パーティションを再開し、ゲスト・パーティションのスナップショットを取得し、ゲスト・パーティションを過去の既知の良好なスナップショットにロールバックし、前記仮想マシンのイメージを再構築し、またはゲスト・パーティションをオフライン状態にする、請求項2に記載のシステム。
  4. 前記アンチ・マルウェア・スキャン機構がさらに、署名の更新情報をリモートのデータ位置から取得し、テレメトリ・データをリモートのデータ位置にアップロードし、または疑わしいコンテンツに関する決定を取得することに関してクラウド・サービスと通信するように構成され、または、署名の更新情報をリモートのデータ位置から取得し、テレメトリ・データをリモートのデータ位置にアップロードし、または疑わしいコンテンツに関する決定を取得することに関してクラウド・サービスと通信するようにさらに構成されていることの任意の組合せである、請求項1に記載のシステム。
  5. コンピューティング環境において、少なくとも1つのプロセッサ上で少なくとも部分的に実施される方法であって、
    複数のゲスト・パーティションを仮想マシン環境で作動させるステップと、
    ゲスト・パーティションをスキャンまたは復元するために、共有オーケストレーション機構を実行するステップと
    を含む方法。
  6. 前記共有オーケストレーション機構を実行するステップが、
    ゲスト・パーティションをオフライン状態にし、前記オフライン状態中に前記オフラインのゲスト・パーティションをスキャンし、前記オフライン状態に対して任意の必要な是正措置を取るステップ、または、
    前記共有オーケストレーション機構とスキャン・コンポーネントとの間で通信してゲスト・パーティションを過去の状態に復元するステップ、または、
    ゲスト・パーティションをオフライン状態にし、前記オフライン状態中に前記オフラインのゲスト・パーティションをスキャンし、前記オフライン状態に対して任意の必要な是正措置を取り、前記共有オーケストレーション機構とスキャン・コンポーネントとの間で通信してゲスト・パーティションを過去の状態に復元するステッ、
    を含む、請求項5に記載の方法。
  7. ゲスト・アンチ・マルウェア・エージェントをゲスト・パーティション上で作動させるステップと、前記ゲスト・エージェントにより提供されたデータをスキャン機構で受け取るステップと、前記データを前記スキャン機構でスキャンするステップと、スキャン結果に対応する情報を前記ゲスト・エージェントに返すステップとをさらに含み、前記データを受け取るステップと前記データをスキャンするステップとが、リアルタイムな監視動作またはオフラインの動作を実施するステップを含む、請求項5に記載の方法。
  8. スキャンすべき少なくとも1つのオブジェクトを要求する命令を含めて、または、前記ゲスト・アンチ・マルウェア・エージェントが実施するための是正措置を指定する少なくとも1つの命令を含めて、または、スキャンすべき少なくとも1つのオブジェクトを要求する命令および前記ゲスト・アンチ・マルウェア・エージェントが実施するための是正措置を指定する少なくとも1つの命令の両方を含めて、前記ゲスト・アンチ・マルウェア・エージェントが実行するための命令を前記スキャン機構から前記ゲスト・アンチ・マルウェア・エージェントに提供するステップをさらに含む、請求項5に記載の方法。
  9. コンピュータ実行可能命令を有する1つまたは複数のコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は実行時に、
    1つまたは複数のオブジェクトを含む第1のオブジェクト・セットを、共有アンチ・マルウェア・スキャン機構で、仮想マシン環境の第1のゲスト・パーティションで作動する第1のゲスト・エージェントから受け取るステップと、
    前記第1のオブジェクト・セットのアンチ・マルウェア・スキャンを前記共有スキャン機構で実施し、前記スキャンの結果に対応する情報を前記第1のゲスト・エージェントに返すステップと、
    1つまたは複数のオブジェクトを含む第2のオブジェクト・セットを、前記共有アンチ・マルウェア・スキャン機構で、仮想マシン環境の第2のゲスト・パーティションで作動する第2のゲスト・エージェントから受け取るステップと、
    前記第2のオブジェクト・セットのアンチ・マルウェア・スキャンを前記共有スキャン機構で実施し、前記スキャンの結果に対応する情報を前記第2のゲスト・エージェントに返すステップと、
    を実行する、1つまたは複数のコンピュータ読取可能媒体。
  10. 少なくとも1つのオブジェクトに対する是正を前記共有スキャン機構で実施するか、前記第1のエージェントに少なくとも1つのオブジェクトに対する是正を実施するよう命令する結果を前記共有スキャン機構で構築するか、もしくは、少なくとも1つのオブジェクトに対する是正を前記共有スキャン機構で実施することと、前記第1のエージェントに少なくとも1つのオブジェクトに対する是正を実施するよう命令する結果を前記共有スキャン機構で構築することの両方を行う、ステップを含むコンピュータ実行可能命令をさらに有する、請求項9に記載の1つまたは複数のコンピュータ読取可能媒体。
JP2013543292A 2010-12-07 2011-12-06 仮想マシンのアンチ・マルウェア保護 Pending JP2013545208A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/961,854 2010-12-07
US12/961,854 US20120144489A1 (en) 2010-12-07 2010-12-07 Antimalware Protection of Virtual Machines
PCT/US2011/063615 WO2012078690A1 (en) 2010-12-07 2011-12-06 Antimalware protection of virtual machines

Publications (2)

Publication Number Publication Date
JP2013545208A true JP2013545208A (ja) 2013-12-19
JP2013545208A5 JP2013545208A5 (ja) 2015-01-29

Family

ID=46163556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013543292A Pending JP2013545208A (ja) 2010-12-07 2011-12-06 仮想マシンのアンチ・マルウェア保護

Country Status (7)

Country Link
US (1) US20120144489A1 (ja)
EP (1) EP2649548B1 (ja)
JP (1) JP2013545208A (ja)
CN (1) CN102542207A (ja)
AU (1) AU2011338482B2 (ja)
CA (1) CA2817245A1 (ja)
WO (1) WO2012078690A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215923A (ja) * 2016-05-31 2017-12-07 エーオー カスペルスキー ラボAO Kaspersky Lab 分散ネットワークにおけるバーチャルマシン上の悪意のあるファイルを検出するシステム及び方法

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959555B (zh) * 2011-04-27 2015-09-02 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机控制方法及半导体集成电路
US10546118B1 (en) 2011-05-25 2020-01-28 Hewlett-Packard Development Company, L.P. Using a profile to provide selective access to resources in performing file operations
US8819062B2 (en) * 2012-01-03 2014-08-26 Yext, Inc. Providing enhanced business listings with structured lists to multiple search providers from a source system
US9203862B1 (en) * 2012-07-03 2015-12-01 Bromium, Inc. Centralized storage and management of malware manifests
CN103634366A (zh) * 2012-08-27 2014-03-12 北京千橡网景科技发展有限公司 用于识别网络机器人的方法和设备
US8984641B2 (en) * 2012-10-10 2015-03-17 Honeywell International Inc. Field device having tamper attempt reporting
US9571507B2 (en) 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure
US8925085B2 (en) 2012-11-15 2014-12-30 Microsoft Corporation Dynamic selection and loading of anti-malware signatures
US9954757B2 (en) 2013-01-23 2018-04-24 Hewlett Packard Enterprise Development Lp Shared resource contention
US9104455B2 (en) 2013-02-19 2015-08-11 International Business Machines Corporation Virtual machine-to-image affinity on a physical server
US9565202B1 (en) * 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
US9430647B2 (en) * 2013-03-15 2016-08-30 Mcafee, Inc. Peer-aware self-regulation for virtualized environments
KR101901911B1 (ko) 2013-05-21 2018-09-27 삼성전자주식회사 악성 프로그램을 탐지하는 방법 및 장치
US9736179B2 (en) * 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9065854B2 (en) * 2013-10-28 2015-06-23 Citrix Systems, Inc. Systems and methods for managing a guest virtual machine executing within a virtualized environment
US9258324B2 (en) 2013-11-26 2016-02-09 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for protecting a communication network against internet enabled cyber attacks through use of screen replication from controlled internet access points
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
US9866581B2 (en) * 2014-06-30 2018-01-09 Intuit Inc. Method and system for secure delivery of information to computing environments
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
RU2568282C2 (ru) * 2014-04-18 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде
US11294700B2 (en) 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
RU2580030C2 (ru) 2014-04-18 2016-04-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ распределения задач антивирусной проверки между виртуальными машинами в виртуальной сети
RU2573789C2 (ru) 2014-04-18 2016-01-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ запуска виртуальной машины
US9009836B1 (en) * 2014-07-17 2015-04-14 Kaspersky Lab Zao Security architecture for virtual machines
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
US10178073B2 (en) * 2015-02-20 2019-01-08 Toucanh Llc Method to split data operational function among system layers
WO2016137505A1 (en) * 2015-02-27 2016-09-01 Hewlett-Packard Development Company, L.P. Facilitating scanning of protected resources
US9652612B2 (en) * 2015-03-25 2017-05-16 International Business Machines Corporation Security within a software-defined infrastructure
US10417031B2 (en) * 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10395029B1 (en) 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US10216927B1 (en) 2015-06-30 2019-02-26 Fireeye, Inc. System and method for protecting memory pages associated with a process using a virtualization layer
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
US9977894B2 (en) 2015-11-18 2018-05-22 Red Hat, Inc. Virtual machine malware scanning
CN105631320B (zh) * 2015-12-18 2019-04-19 北京奇虎科技有限公司 虚拟机逃逸的检测方法及装置
US10630643B2 (en) * 2015-12-19 2020-04-21 Bitdefender IPR Management Ltd. Dual memory introspection for securing multiple network endpoints
CN105844162B (zh) * 2016-04-08 2019-03-29 北京北信源软件股份有限公司 一种虚拟化平台下windows虚拟机漏洞扫描的方法
US20180173526A1 (en) 2016-12-20 2018-06-21 Invensys Systems, Inc. Application lifecycle management system
RU2665911C2 (ru) * 2017-02-08 2018-09-04 Акционерное общество "Лаборатория Касперского" Система и способ анализа файла на вредоносность в виртуальной машине
EP3361406A1 (en) * 2017-02-08 2018-08-15 AO Kaspersky Lab System and method of analysis of files for maliciousness in a virtual machine
WO2020026228A1 (en) * 2018-08-01 2020-02-06 Vdoo Connected Trust Ltd. Firmware verification
US11385766B2 (en) 2019-01-07 2022-07-12 AppEsteem Corporation Technologies for indicating deceptive and trustworthy resources
IL275098A (en) * 2020-06-03 2022-01-01 Kazuar Advanced Tech Ltd A multi-computing environment with the fewest loopholes
US11930019B2 (en) * 2021-04-21 2024-03-12 Saudi Arabian Oil Company Methods and systems for fast-paced dynamic malware analysis
US11954333B2 (en) * 2021-06-23 2024-04-09 Western Digital Technologies, Inc. Secured firmware with anti-malware
US20230367877A1 (en) * 2022-05-12 2023-11-16 Vmware, Inc. In-memory scanning for fileless malware on a host device
CN116150797B (zh) * 2023-04-21 2023-08-01 深圳市科力锐科技有限公司 数据保护方法、系统、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136720A1 (en) * 2004-12-21 2006-06-22 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US20060224930A1 (en) * 2005-03-31 2006-10-05 Ibm Corporation Systems and methods for event detection
JP2008152796A (ja) * 2008-01-11 2008-07-03 Nec Corp データ複製システム、およびストレージ内のデータを複製するためのプログラム
JP2008538249A (ja) * 2005-04-02 2008-10-16 マイクロソフト コーポレーション コンピュータの状態のモニタリング及びサポート
US20090158432A1 (en) * 2007-12-12 2009-06-18 Yufeng Zheng On-Access Anti-Virus Mechanism for Virtual Machine Architecture
JP2010044613A (ja) * 2008-08-13 2010-02-25 Fujitsu Ltd ウイルス対策方法、コンピュータ、及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619971B2 (en) * 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
WO2008048665A2 (en) * 2006-10-18 2008-04-24 University Of Virginia Patent Foundation Method, system, and computer program product for malware detection analysis, and response
US9098347B2 (en) * 2006-12-21 2015-08-04 Vmware Implementation of virtual machine operations using storage system functionality
US9354927B2 (en) * 2006-12-21 2016-05-31 Vmware, Inc. Securing virtual machine data
US9189265B2 (en) * 2006-12-21 2015-11-17 Vmware, Inc. Storage architecture for virtual machines
US7765374B2 (en) * 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources
US8380987B2 (en) * 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US20080320594A1 (en) * 2007-03-19 2008-12-25 Xuxian Jiang Malware Detector
US8011010B2 (en) * 2007-04-17 2011-08-30 Microsoft Corporation Using antimalware technologies to perform offline scanning of virtual machine images
CN101039177A (zh) * 2007-04-27 2007-09-19 珠海金山软件股份有限公司 一种在线查毒的装置和方法
US8601124B2 (en) * 2007-06-25 2013-12-03 Microsoft Corporation Secure publishing of data to DMZ using virtual hard drives
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
US8839237B2 (en) 2007-12-31 2014-09-16 Intel Corporation Method and apparatus for tamper resistant communication in a virtualization enabled platform
US8954897B2 (en) * 2008-08-28 2015-02-10 Microsoft Corporation Protecting a virtual guest machine from attacks by an infected host
US20100169972A1 (en) * 2008-12-31 2010-07-01 Microsoft Corporation Shared repository of malware data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136720A1 (en) * 2004-12-21 2006-06-22 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
JP2006178936A (ja) * 2004-12-21 2006-07-06 Microsoft Corp 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理
US20060224930A1 (en) * 2005-03-31 2006-10-05 Ibm Corporation Systems and methods for event detection
JP2008538249A (ja) * 2005-04-02 2008-10-16 マイクロソフト コーポレーション コンピュータの状態のモニタリング及びサポート
US20090158432A1 (en) * 2007-12-12 2009-06-18 Yufeng Zheng On-Access Anti-Virus Mechanism for Virtual Machine Architecture
JP2008152796A (ja) * 2008-01-11 2008-07-03 Nec Corp データ複製システム、およびストレージ内のデータを複製するためのプログラム
JP2010044613A (ja) * 2008-08-13 2010-02-25 Fujitsu Ltd ウイルス対策方法、コンピュータ、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017215923A (ja) * 2016-05-31 2017-12-07 エーオー カスペルスキー ラボAO Kaspersky Lab 分散ネットワークにおけるバーチャルマシン上の悪意のあるファイルを検出するシステム及び方法

Also Published As

Publication number Publication date
WO2012078690A1 (en) 2012-06-14
AU2011338482A1 (en) 2013-05-30
CA2817245A1 (en) 2012-06-14
CN102542207A (zh) 2012-07-04
EP2649548A4 (en) 2014-07-30
EP2649548B1 (en) 2018-08-08
AU2011338482B2 (en) 2016-11-03
EP2649548A1 (en) 2013-10-16
US20120144489A1 (en) 2012-06-07

Similar Documents

Publication Publication Date Title
JP2013545208A (ja) 仮想マシンのアンチ・マルウェア保護
US11354414B2 (en) Method to scan a forensic image of a computer system with multiple malicious code detection engines simultaneously from a master control point
Choudhary et al. A critical survey of live virtual machine migration techniques
JP5446167B2 (ja) ウイルス対策方法、コンピュータ、及びプログラム
US10162661B2 (en) Interdependent virtual machine management
JP6772270B2 (ja) 複数のネットワークエンドポイントをセキュアにするためのデュアルメモリイントロスペクション
US20190265968A1 (en) Integrity Assurance and Rebootless Updating During Runtime
JP4406627B2 (ja) 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理
US9021008B1 (en) Managing targeted scripts
JP2014225302A (ja) ウイルス検出プログラム、ウイルス検出方法、及びコンピュータ
US10528375B2 (en) Maintaining security system information in virtualized computing environments
CN110049065B (zh) 安全网关的攻击防御方法、装置、介质和计算设备
RU2702053C1 (ru) Способ снижения нагрузки на сканирующую подсистему путем дедупликации сканирования файлов
JP2013061994A (ja) ウイルス検出プログラム、ウイルス検出方法、監視プログラム、監視方法、及びコンピュータ
GB2548147A (en) Self-propagating cloud-aware distributed agents for benign cloud exploitation
CN113656241A (zh) 一种容器终端全生命周期管控系统及方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130813

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141203

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160421

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160830

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160908

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160930