JP2014516191A - 仮想パーティションを監視するためのシステムおよび方法 - Google Patents

仮想パーティションを監視するためのシステムおよび方法 Download PDF

Info

Publication number
JP2014516191A
JP2014516191A JP2014514848A JP2014514848A JP2014516191A JP 2014516191 A JP2014516191 A JP 2014516191A JP 2014514848 A JP2014514848 A JP 2014514848A JP 2014514848 A JP2014514848 A JP 2014514848A JP 2014516191 A JP2014516191 A JP 2014516191A
Authority
JP
Japan
Prior art keywords
event
virtual
auxiliary agent
virtual partition
handler
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.)
Granted
Application number
JP2014514848A
Other languages
English (en)
Other versions
JP5861228B2 (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 JP2014516191A publication Critical patent/JP2014516191A/ja
Application granted granted Critical
Publication of JP5861228B2 publication Critical patent/JP5861228B2/ja
Active 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
    • 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
    • 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/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

一実施形態の方法は、仮想パーティションのイベントに関するイベント通知を、外部ハンドラで受信する段階を含む。イベントを生じさせた仮想パーティションのプロセスのスレッドを保留する段階も含む。他のスレッドおよびプロセスは、セキュリティハンドラが潜在的な脅威がないかイベントを評価している間に、再開を許される。仮想パーティションにあの補助エージェントに命令して、仮想パーティション内のイベントコンテキストを収集してアセンブルする、といったタスクを実行させてよく、タスクに基づく結果を外部ハンドラに戻させてよい。補助エージェントが返した結果に基づいてポリシーアクションを取ることができ、ポリシーアクションには、イベントを生じさせたプロセスを終了するように、補助エージェントに命令することが含まれてよい。
【選択図】図1

Description

本明細書は、概して、情報技術セキュリティに関しており、より詳しくは、仮想パーティションを監視するためのシステムおよび方法に関する。
情報技術において仮想技術が進化して、モバイルフォンに埋め込まれたシステムに対してクラウドベースの計算技術をはじめとする様々なアプリケーションが生成された。概して、仮想化によって、コンピューティングプラットフォームのハードウェアの特徴が覆い隠され、替わりに、他のプラットフォーム(完全なオペレーティングシステムを含む)をホストすることができる抽象化されたプラットフォームが提示される。よく利用される仮想化技術の1つに、ハイパーバイザ(仮想マシンマネージャとしても知られている)を利用する技術があり、これにより、ゲストソフトウェア(完全なオペレーティングシステムを含む)を抽象化されたホストプラットフォームと同時に実行可能となる。ハイパーバイザは、ゲストソフトウェアのためのシミュレーションされたコンピューティング環境(「仮想マシン」と称される場合もある)を提供することができる。したがって、複数の異種(disparate)のオペレーティングシステムを、1つのシャーシ上のハイパーバイザのもとで実行することができる。
しかし、仮想マシンは、配置される仮想マシンの数が増えるにつれて、悪意のある攻撃の標的になってしまう可能性が高い。仮想化は数多くの利点を提供するとはいえ、独特のセキュリティ面の課題がある。たとえば、外部のセキュリティソフトウェアが、仮想マシンのイベント(たとえばメモリの読み取り、書き込み、または実行アクセス等)を監視することができるとはいえ、これらイベントのコンテキストを理解するのは実質的に困難である場合がある。イベントのコンテキストを適切に理解しなくては、セキュリティ措置の内容は限られたものとなる。したがい、セキュアな仮想化プラットフォームを提供するためには問題が多い。
本開示の完全な理解、およびその特徴および利点の理解を促すべく、以下では、添付図面を参照しつつ記載が行われるが、図面において、同様の参照番号は同様の部材を示す。
本明細書により仮想化パーティションを監視することができる仮想化プラットフォームの一実施形態を示す簡略化されたブロック図である。
仮想化プラットフォームの1つの潜在的な実施形態におけるものであってよいさらなる詳細を示す簡略化されたブロック図である。
仮想化プラットフォームの一実施形態におけるものであってよい潜在的な処理を示す簡略化されたフローチャートである。 仮想化プラットフォームの一実施形態におけるものであってよい潜在的な処理を示す簡略化されたフローチャートである。
一実施形態では、外部ハンドラで、仮想パーティションにおけるイベントに関するイベント通知を受信する段階を含む方法が提供される。イベントを生じさせた仮想パーティションのプロセスのスレッドを保留する(park)ことができる他のスレッドおよびプロセスは再開を許され、一方で、セキュリティハンドラが、潜在的な脅威がないかイベントを評価する。仮想パーティション内の補助エージェントに、仮想パーティション内のイベントコンテキストを集める、アセンブルする、等のタスクを実行するよう命令して、タスクに基づく結果を、外部のハンドラに戻すことができる。補助エージェントが返した結果に基づいて、ポリシーアクション(たとえば、補助エージェントに、イベントを生じさせたプロセスを終了させる等)をとってよい。
より具体的な実施形態では、外部のハンドラが、たとえば、第2の仮想パーティションで、仮想ホストで、またはハイパーバイザエクステンションとして動作してよい。仮想パーティションは、仮想化プラットフォームの仮想ゲスト(たとえば、仮想マシンのインスタンス)であってよく、イベント通知をハイパーバイザエクステンションからセキュリティハンドラに送信してよい。
図1は、本明細書により仮想パーティションを監視することができる仮想化プラットフォーム100の一実施形態を示す簡略化されたブロック図である。仮想化プラットフォーム100は、ハードウェア105、ハイパーバイザ110、およびハイパーバイザエクステンションモジュール115を含む。概してハードウェア105は、データを受け付けたり、データに論理演算を行ったり、データを格納したり、データを表示したりすることができるマシンまたは装置を表しており、これらに限定はされないがプロセッサ105aおよびメモリ105bを含んでよい。仮想化プラットローム100は、1を超える数の仮想パーティション(たとえば仮想ゲスト120およびセキュリティモニタ125等)を有してよい。一部の実施形態では、ハイパーバイザ110が、ハードウェア105で直接実行されるネーティブの、または、「ベアメタル(bare metal)」のハイパーバイザであってもよいが(図1に示す)、ハードウェア105上で実行されるホストソフトウェア(たとえば仮想ホスト)で実行されてもよい。セキュリティモニタ125は、登録されているコールバックによってハイパーバイザエクステンション120と通信し、且つ、たとえば、補助エージェント210と直接、ネットワーク通信によって通信してもよい(つまり、ハイパーバイザエクステンション120をバイパスする)。
概して、仮想パーティションは、内部で実行するソフトウェアを有しうる、仮想マシン、サンドボックス、コンテナ、その他の隔離された環境のインスタンスであってよい。ソフトウェアは、オペレーティングシステムとアプリケーションソフトウェアとを含んでよい。しかし、仮想パーティション内で実行されるソフトウェア全てにとって、仮想パーティションは、別の(distinct)物理マシンに見えてよい。
プラットフォーム100等の仮想化プラットフォームの仮想パーティションを監視する原理を示すためには、これらプラットフォーム内に生じるアクティビティおよび通信を理解することが重要である。以下の基本的な情報は、本開示を適切に説明するための基礎としてみなしてほしい。これら情報は、純粋に説明の目的から提示されているのであって、本開示およびその潜在的な用途の広範な範囲を制限する意図で受け取られるべきではない。
プロセスは通常、常に変わるコンテキスト(または状態)で動作する(たとえば、プロセスレジスタ、制御レジスタ、メモリ、テーブル、またはリストのデータなど)。ここで利用される「プロセス」という用語は、概して、プロセス、アプリケーション、スレッド、タスク、命令セット、コードブロック、その他類似した動作ユニットのことを指す。そのコンテキストは、基礎となるハードウェアおよびオペレーティングシステムソフトウェアに基づくが、一般的には、プロセスに割り込みが入ったときに実行を再開するために必要となる最小限のデータセットが含まれる。しかし、割り込まれたイベントの環境または状況を理解するために有用と思われるいずれの情報のことであっても構わない。あるプロセスのコンテキストデータは、1つのオペレーティング環境内にあるが(例としては仮想パーティション内のプロセス)、そのプロセスのオペレーティング環境外から(たとえば同じ仮想化プラットフォーム上の別の仮想パーティションのプロセスから)のアクセスが難しい、他のプロセス(仮想パーティション内のプロセスを含む)にも簡単に適用することができる。
ハイパーバイザエクステンション、中央処理装置エクステンション、チップセットエクステンション等は、異なるコンテキストをもつプロセスの監視機能を向上させるために利用することができる。たとえば、ハイパーバイザエクステンションは、外部のコンテキスト(たとえばセキュリティモニタとして機能する第2の仮想ゲスト等)からの仮想ゲストの監視機能(たとえば、読み取り、書き込み、または実行アクセスについてのメモリの監視)を向上させることができる。
エクステンションセットはさらに、他のタイプのイベント(他のタイプのメモリアクセスまたはメモリ属性に対する変更(書き込み可能または実行可能な領域の作成等))の監視のサポートを行ってよい。特定のCPU命令またはメモリのタイプの実行(たとえばCPU「呼び出し」または「セット」命令)を監視することもできる。監視は、より対象を絞って行うこともできる(たとえば、特定のプロセスがトリガするイベントについて、特定の領域(1または複数)内のコードについて、特定のアドレスの実行について、特定のアドレスへの書き込みについて、CPUレジストリの変更について、またはCPUリング状態の変更について、など)。
コンテキスト情報のアセンブルには、たとえば、割り込まれたイベントをトリガしたプロセス内にロードされている列挙型モジュール(enumerating module)(たとえばダイナミックリンクライブラリまたは「DLL」)が含まれてよい。ゲストオペレーティングシステム(列挙型等)は、オペレーティングシステムのアプリケーションプログラミングインタフェース(API)セットによりサポートされている可能性が高いので、重要ではない(trivial)ものであることもある。しかしゲストオペレーティングシステムの外部の列挙型モジュールは、モジュールを探すために、一連の内部のオペレーティングシステム構造を検索する(traipse)必要がある場合がある。
ゲストオペレーティングシステム内部の構造のテンプレートは、一部のコンテキストを提供すべく維持することができるが、ゲストオペレーティングシステムそれぞれのテンプレートのバージョンを維持することは非常に負担のかかる作業である。さらに、一部のシステム(たとえばMicrosoft Windows(登録商標))では文書が入手できないこともあり、これにより負担がさらに増える。
エクステンションセット(たとえばハイパーバイザエクステンション)によりサポートされる監視は、登録されているハンドラまたはエージェントに対するコールバックを含んでよい。したがって、監視メモリ領域内でアクセスが検知される場合、イベントは、イベントコンテキストとともに登録されているコールバックをトリガすることができる。コールバックは、イベントが完了する前、または、完了した後に行われてよい。イベントを生じさせたプロセスは、コールバックを行っている間は停止されていてよく、または、コールバックがイベントの完了と同期されなくてもよい。コールバックに渡される情報は、イベントコンテキスト(イベントの対象物(たとえばアクセス中のメモリ領域)およびイベントをトリガした実行コンポーネント(たとえばプロセス)の実体(identity)(たとえばプロセス識別子、スレッド、またはコードの位置))を含んでよい。
概して、仮想パーティションの監視は、(1)内部イベント処理および(2)外部イベント処理という2つのカテゴリに分類される。内部イベント処理では、監視中のメモリにアクセスする、等の仮想パーティションにおけるイベントに関する通知を、同じ仮想パーティション内のハンドラに、通知をトリガしたイベントとして送信する。これに対して、仮想パーティションの外部監視は、監視中の監視パーティション外で実行されているハンドラに、監視中の仮想パーティションのイベントの通知を提供する。ハンドラは、仮想ホスト(存在する場合)内や、ハイパーバイザ内で実行されてもよいし、別の仮想パーティション内で実行されてもよい。現在のハイパーバイザエクステンションは、ハンドラが、監視中のメモリ外で、たとえばセキュリティモニタとして機能している別の仮想ゲスト内で実行されることを要求してよい。
しかし、ハンドラが、監視中の仮想パーティション外で実行される場合、割り込まれたイベントのコンテキストの理解によって、実質的に問題が生じる場合がある。イベントコンテキストへのアクセスなくして、割り込まれたイベントの正当性に関するセキュリティに関する決定を行うのは難しい場合がある。したがって、割り込まれたイベントの発信元のコンテキスト全体を提供しつつ、仮想化パーティションの監視を外部から行うことにより、多大な価値(significant value)を提供することができる。
イベントのコンテキスト情報をアセンブルする際の問題に加えて、仮想パーティション外で実行している、登録されたコールバックに、監視イベントを提供すると、さらなる問題が生じる場合がある。このイベント提供モードでは、たとえば、監視イベントをトリガした仮想パーティションの仮想プロセッサが、イベントを処理するコールバックハンドラを外部で実行している間に、完全に止まってしまう場合がある。利用可能な仮想プロセッサがこの他にある場合を除いて、仮想パーティションでは他のアクティビティが行われないことになる。他の仮想プロセッサがある場合であっても、これらも監視イベントをトリガする場合には、仮想パーティション全体が停止する可能性が依然としてある。したがって、このタイプの提供によって、ハイパーバイザベースの監視にパフォーマンス上のパネルティが課され、仮想ゲストが、外部のコールバックハンドラの補助(たとえばコンテキスト情報の発見など)を行うことができなくなる可能性がある。
外部イベントハンドラは、内部イベントハンドラに比して、いくつかの利点を提供することができると思われる。利点には、イベントハンドラおよび関連する決定部を、監視中の仮想パーティション内で実行されているマルウェアからの直接の攻撃から守ることができる点が含まれる。他の利点には、セキュリティエージェントを内部に配置せずに、仮想パーティションを保護することができる、エージェントなしのセキュリティを提供することができることが含まれる。したがって、妨害された処理の発信元のより完全なコンテキストを、ここで説明した外部イベントハンドラが典型的に有する数々の問題なしに提供することができる場合には、仮想パーティションの監視の外部からの提供の価値を顕著に高めることが可能となる。
ここに記載する実施形態では、仮想化プラットフォーム100がこれら(およびその他)の欠点を克服しつつも、同時に、内部のオペレーティングシステムの構造の理解を必要とすることなく外部からの監視を可能とすることで、外部イベント処理の利点を維持することができる。たとえば仮想化プラットフォーム100は、ハイパーバイザで実行中の監視中の仮想ゲスト等の、監視中の仮想パーティション内で妨害(intercepted)されたイベントの通知を受信することができる外部ハンドラで、ハイブリッド仮想パーティション監視を提供してよい。仮想パーティション内に配置された内部補助エージェントは、外部ハンドラの代わりに一定のタスクを実行することができ、一定のタスクには、妨害されたイベントに関するコンテキスト情報のアセンブル、および、その結果の外部ハンドラへの提供が含まれてよい。内部補助エージェントには、監視中のプロセス内に常駐しているコンポーネント、および、別個に実行可能なコンポーネントが含まれてよい。外部ハンドラは内部エージェントの情報およびアクティビティを利用して、ポリシーの決定(たとえば、セキュリティポリシーに違反している場合にイベントをブロックしたりイベントプロセスまたはスレッドを終了させたりする)を行ってよい。一部の実施形態では、外部ハンドラが、内部エージェントが一定のポリシーアクションを実行するよう、命令(direct)してよい。
仮想化プラットフォーム100の一部の実施形態では、仮想パーティションの妨害されたイベントに関する処理を、イベントの評価中に保留、停止することで、仮想パーティションで、他のプロセスおよびスレッドを実行させてもよい。関連する処理の停止によって、仮想パーティションに対するパフォーマンスの影響が最小限に抑えられ、さらには、内部エージェントを仮想パーティション内で時刻して、外部ハンドラのタスクを実行させることもできる。さらには、これらのタスクは、妨害されたイベントを生じさせたスレッドとは異なるスレッドで実行されることで、相互運用およびデッドロックの問題を生じさせる危険性を回避することができる。
より具体的な実施形態では、外部セキュリティハンドラまたはエージェントが、拡張されたハイパーバイザに登録されて、仮想ゲストのイベントの通知を受け取ることができる。仮想ゲスト内で実行されている補助エージェントは、セキュリティハンドラからタスク要求を受信するために待ち状態のスレッドを作成することができる。補助エージェントはさらに、監視中のプロセス内にメモリ領域を作成して、セキュリティハンドラと通信するために利用されるデータおよびセキュリティハンドラが制御することができるコードを含む。イベントが妨害されると、セキュリティハンドラは、イベントをトリガするスレッドを保留状態にして(holding state)、補助エージェントが、監視中の仮想ゲスト内で実行するタスクを開始させることができる。
図2を参照すると、図2は、仮想化プラットフォームの1つの潜在的な実施形態におけるものであってよいさらなる詳細を示す簡略化されたブロック図である。図2は、ハイパーバイザエクステンションモジュール115、仮想ゲスト120、およびセキュリティモニタ125を含んでいる。セキュリティモニタ125は、ハイパーバイザ110内の仮想ゲストであってよい(特に、さらなる特権をもつ、信頼されているゲストであってよい)。仮想ゲスト120およびセキュリティモニタ125はそれぞれ、仮想プロセッサ205a‐b、メモリ素子(memory element)205a‐b、および、様々なソフトウェア素子(実施形態によっては別個のオペレーティングシステムを含む)を含んでよい。より詳しくは、仮想ゲスト120が、補助エージェント210、イベント保留モジュール215、および監視中のプロセス220を含んでよい。データ領域225は、イベント保留モジュール215と通信するために利用されてよい。補助エージェント210の埋め込まれたコンポーネント230も、監視中のプロセス220に常駐していてよい。セキュリティモニタ125は、セキュリティハンドラ235および検知モジュール240を有してよい。ハイパーバイザエクステンション115は、監視中のプロセス220に対して監視および制御を実行して、イベントが通知をトリガした場合には、セキュリティモニタ125にイベントのコールバックを提供してよい。ゲスト内通信メカニズムによって、補助エージェント210とセキュリティハンドラ235との間で直接通信が実行されてよい。
別の実施形態では、セキュリティモニタ125(ハンドラ235および検知モジュール240を含む)が、ハイパーバイザ110内に、または、ハイパーバイザのエクステンションとして、常駐していてよい。また別の実施形態では、たとえばハイパーバイザ110が埋め込みハイパーバイザではない場合に、セキュリティモニタ125がホストオペレーティングシステムの実行環境内で動作してよい。
仮想化プラットフォーム100に関する内部構造に関し、ハードウェア105が、ここで概要を示す処理で利用される情報を格納するためのメモリ素子(図1に示されている)を含んでよい。加えて、仮想化プラットフォーム100は、ここで記載するアクティビティを実行するためのソフトウェアまたはアルゴリズムを実行することができるプロセッサと1以上の仮想プロセッサとを含んでよい。これらデバイスはさらに、適宜、および、必要に応じて、任意の適切なメモリ素子(RAM、ROM,EPROM、EEPROM、ASIC等)、ソフトウェア、ハードウェア、または任意の他の適切なコンポーネント、デバイス、素子、またはオブジェクトに情報を保持することができる。ここで説明するメモリ素子はいずれも、広義の「メモリ素子」の範囲内に含まれるものとする。ハイパーバイザ110、ハイパーバイザエクステンション115、仮想ゲスト120、またはセキュリティモニタ235が追跡または送信する情報は、任意のデータベース、レジスタ、制御リスト、または格納構造(すべて、任意の適切なタイムフレームにおいて参照することができる)内に提供されてよい。これら格納の選択肢はいずれも、ここで利用される広義の「メモリ素子」の範囲内に含まれるものとする。同様に、ここに記載する潜在的な処理部材、モジュール、およびマシンも、広義の「プロセッサ」の範囲内に含まれるものとする。
一定の実装例では、ここで概略を示した機能は、1以上の有形の非一時的媒体(たとえば、特定用途向け回路(ASIC)、デジタル信号プロセッサ(DSP)命令、プロセッサその他の類似したマシンが実行するソフトウェア(オブジェクトコードおよびソースコードを潜在的に含む))、にエンコードされた論理により実装されてよい。これらインスタンスの一部においては、メモリ素子(図1に示す)が、ここで記載する処理のために利用されるデータを格納することができる。これには、ここで記載されるアクティビティを実行するために実行されるソフトウェア、論理、コード、または、プロセッサ命令を格納することができるメモリ素子が含まれる。プロセッサは、ここで詳述する処理を達成するためのデータに関する任意のタイプの命令を実行することができる。一例では、プロセッサ(図1に示す)または仮想プロセッサ(図2に示す)が、素子または物品(たとえばデータ)をある状態または物(thing)から別の状態または物に変換することができる。別の例では、ここで概略を示すアクティビティが、固定論理またはプログラム可能な論理(たとえばプロセッサが実行するソフトウェア/コンピュータ命令)およびここで特定される素子が、デジタル論理、ソフトウェア、コード、電子命令、またはこれらの適切な組み合わせを含む、一定のタイプのプログラム可能なプロセッサ、プログラム可能なデジタル論理(たとえば、フィールドプログラム可能なゲートアレイ(FPGA)、EPROM,EEPROM、またはASIC)であってよい。
図3Aおよび図3Bは、仮想化プラットフォーム100の一実施形態におけるものであってよい潜在的な処理を示す簡略化されたフローチャートである。より詳しくは、図3Aは、仮想化プラットフォーム100を構成するために利用可能な予備処理を示しており、図3Bは、実行される可能性のある、イベントの評価に関する処理、および、イベントに実行する処理を示している。
図3Aを参照すると、セキュリティモニタ125が、ハイパーバイザエクステンション115に登録して(305)、特定のイベントのためのイベント通知(たとえばコールバック)を受信してよい。加えて、補助エージェント210が、310で、ハンドラからのタスク要求(たとえば、ハンドラ235からのネットワーク通信による要求)を待つスレッドを生成してよい。イベント保留モジュール215およびデータ領域225も315および320で作成されてよい。たとえば、イベント保留モジュール215は、オペレーティングシステムがサポートする信号メカニズムを待つことができる。
埋め込みコンポーネント(たとえば埋め込みコンポーネント230)も、325で、各監視中のプロセス内(各監視中のプロセスのアドレススペース内に常駐しているメモリ領域を含む)に作成されてよい。たとえば、実行中のプロセスに対して実行可能コードを挿入するために、コードインジェクションを用いてよい(code injection)が、これには、プロセスに実行可能なモジュール(たとえばDLL)をロードすることが含まれてよい。通常は、インジェクションの第1の段階として、インジェクションされたコードが配置および実行されるメモリ領域を作成するプロセスに対して十分なアクセスを確保する。アクセストークンは、実行中のプロセスに対するアクセスを得るために取得される場合が多い。アクセストークンには、プロセス内にメモリを割り当てる、メモリに書き込む、および、メモリの属性を変更するための(たとえば実行を可能とする)特権が含まれてよい。プロセスへのアクセスが得られると、そのプロセス内にメモリが作成されてよい。コードがそのメモリに書き込まれ、メモリ内からの実行を可能とするように属性がセットされる。他の実施形態では、オペレーティングシステムが、プロセスがモジュールを各インスタンスにロードすべきであると特定するためのメカニズムを提供してよい。たとえば、Windows(登録商標)のオペレーティングシステムにおける「rundll」レジストリキーは、プロセスに、キーにリストされているすべてのモジュールをロードさせる。
次に、インジェクションされたコードが実行されてよい。モジュールがプロセス開始時にロードされた場合には、インジェクションされたコードは、モジュールのロード時に実行されているはずである。DLLは、Windows(登録商標)の自身の「dllmain」エクスポート内でコードを実行することができる。この代わりに、インジェクションされたコードが、インジェクションされたメモリ領域でコードを実行するためにプロセス内に新たなスレッドを作成することで、開始されてもよい。インジェクションされたコードに実行をリダイレクトするために、コードのフックが利用されてもよい。コードのフックによって、プロセス内のコードの実行を、インジェクションされたメモリ領域内のコードに分岐することができる。たとえば、インタフェースの開始時の命令が、インジェクションされたコード内に実行を転送することができる「ジャンプ」命令に置き換えられてよい。コードのインジェクションおよびコードのフックを利用することで、さもなくば可能とならないプロセスの処理の監視機能を向上させることができる。
図3Bを参照すると、プロセス(たとえばプロセス220)が、たとえば、セキュリティモニタ125がコールバックを受信するよう登録されているメモリ領域に対してアクセスしようと試みることで、監視中のイベントおよびハイパーバイザエクステンション115からのコールバックをトリガしてよい(330)。セキュリティハンドラ235は、335でイベントデータとともにコールバックを受信して、ハイパーバイザエクステンション115を利用して、仮想プロセッサ205aを、イベント保留モジュール215を実行するようダイレクトしてよい(340)。コールバックが完了して、仮想ゲスト120が実行状態に戻り、プロセス220のみが保留されるようにする。ビジーループを利用しないので、システムの残りの部分は通常実行を続けることができ、補助エージェント210を実行することができる。
たとえばイベントがデータ領域225で特定され、イベント保留モジュール215が、埋め込みコンポーネント230を介して通信したタスクを実行してよい。たとえばタスクには、命令ポインタまたはスタックを一定の値にセットして、制御転送を実行することが含まれてよい。タスクはさらに、任意の他のレジスタをある値にセットする(たとえばAPIの戻り値を設定する)ことを含んでよい。したがって、補助エージェント210は、コールバックをトリガしたスレッドまたはプロセスを保留して、スレッドに、仮想ゲスト120(たとえばゲストオペレーティングシステムが提供したAPI)内で利用可能なメカニズムの利用により、セキュリティハンドラ235の代わりにタスクを実行させることができ、これによって、顕著に安定性および互換性を向上させることができる。仮想ゲストは、345で、他のプロセス、スレッドの実行を再開してよい。
セキュリティハンドラ235は、補助エージェント210に、(たとえばゲスト内通信メカニズムを利用して)タスク要求を送信してよい(350)。補助エージェント210(または、補助エージェント210内のスレッド)は、要求を受信して、要求からデータペイロードを取得してよい。データペイロードは、実行するタスクの記述を含んでよい(たとえばプロセッサ内にロードされたすべてのモジュール(たとえばDLL)を列挙する等)。したがってセキュリティハンドラ235は、たとえば、350で、イベントのためのコンテキストデータを要求してよい。コンテキストデータの例には、イベントをトリガしたプロセスに関する情報、イベントをトリガしたアクションのタイプ(たとえば特定のメモリ領域に対する書き込みアクセス)、アクセスされた特定のメモリ領域を保持しているプロセス、またはファイル処理に関する詳細(たとえばファイルのサイズ、名称、修正日など)が含まれてよい。補助エージェント210は、記述されているタスクを実行して、結果をセキュリティハンドラ235に戻すことができる(たとえば、プロセス220のためのコンテキストデータを戻す)(355)。
コンテキストデータおよびイベントデータに基づいて、検知モジュール240は、イベントが悪意のものか、またはセキュリティポリシーに違反しているかを判断してよい。セキュリティポリシーの違反がない場合、セキュリティハンドラ235は、ハイパーバイザエクステンション115を利用して、360で、たとえば仮想プロセッサ205aの命令ポインタをリセットして、トリガイベントが生じた時点から実行を再開するよう、プロセス220を続行させる。命令ポインタのリセットによって、プロセス220が通常のスレッドで処理されていれば遭遇したであろう問題を最小限に抑えることができるようになる。この代わりに、データ領域225が、トリガイベントが生じた時点に実行を戻す値に命令ポインタおよびスタックポインタを戻すコマンドを設定されてもよい。
しかし、検知モジュール240が、355でセキュリティポリシー違反を特定した場合には、セキュリティハンドラ235は、補助エージェント210に命令して、アクション(たとえば、プロセス220がさらなる実行を行わないようブロックする)を実行させる(365)。アクションは、補助エージェント210が実行してもよいし、埋め込まれたコンポーネント230により実行されてもよい。たとえばトリガ処理のブロックは、埋め込みコンポーネント230により実行されると最良であり、監視中のプロセス220の終了は、(監視プロセス220の外部で実行されている)補助エージェント210により実行されると最良であると思われる。イベント保留モジュール215は、アクションのタイプに応じて、アクションを実行することもできる。アクション(たとえばプロセスの終了)が非同期である場合には、セキュリティハンドラ235は、これを補助エージェント210に伝え、トリガイベントの処理を完了させる。アクションが同期性である場合には、アクションを補助エージェント210に信号を送るよう、データ領域255で示してから、監視中のイベントの処理を完了させてよい。たとえば370で、違反をログに記録したり、管理者に電子メールで報告したりすることができる。
添付図面の段階は、仮想化プラットフォーム100によって、またはこの内部で実行可能なシナリオおよびパターンの一部のみを示していることを理解されたい。ここに記載する教示の範囲内から逸脱しなければ、これら段階の一部は、適宜削除することが可能であり、または、これら段階を修正、変更したりすることも可能である。加えて、これらの処理の多くが、1以上の更なる処理と同時に、または並行して実行されるものとして記載された。しかし、これら処理のタイミングは大幅に変更してもよい。前述した処理フローは、例示および説明の便宜上、提供されたものである。仮想化プラットフォーム100にはかなり柔軟性を与えることが可能であり、ここに提供する教示の範囲を逸脱しなければ、任意の適切な配置、時間的経緯、構成、およびタイミングメカニズムを提供してもよい。
さらに、ここに記載する原理は、コールバックまたはその他のイベント通知をゲストまたは専用コンテナから、異なるコンテキスト(たとえば、文書制御、監査、犯罪科学(forensic)、パフォーマンス監視等)をもつハンドラに提供することができる他の監視システムに適用することもできる。
当業者には数多くの他の変形例、代替例、変更例等が自明であり、本開示は、添付請求項の範囲に含まれるすべてのこれら変形例、代替例、変更例等を含むことを意図している。米国特許商標庁(USPTO)、および、本願に基づいて発行される特許を読む読者たちが、添付されている請求項を理解できるように、出願人は、(a)添付請求項のいずれもが、「ための手段」「ための段階」といった言い回しが請求項で明示されている場合を除き、米国特許法112条のパラグラフ6に該当しないと理解されることを望み、且つ、(b)添付請求項には反映されていない、明細書のいずれの箇所におけるいかなる他の方法で本開示を制限することがないよう望む。

Claims (26)

  1. 仮想パーティションのイベントに関するイベント通知を、外部ハンドラで受信する段階と、
    前記仮想パーティション内の補助エージェントに、タスクを実行して、前記タスクに基づく結果を前記外部ハンドラに戻すよう命令する段階と、
    前記補助エージェントが返した前記結果に基づいてポリシーアクションをとる段階と
    を備える方法。
  2. 前記外部ハンドラは、第2の仮想パーティションで動作する、請求項1に記載の方法。
  3. 前記外部ハンドラは、仮想ホストで動作する、請求項1に記載の方法。
  4. 前記外部ハンドラは、仮想化プラットフォームの第1の仮想ゲストで動作し、
    前記仮想パーティションは、前記仮想化プラットフォームの第2の仮想ゲストである、請求項1に記載の方法。
  5. 前記イベント通知は、仮想化プラットフォームのハイパーバイザエクステンションから受信される、請求項1から4のいずれか一項に記載の方法。
  6. 前記イベントを生じさせた前記仮想パーティションのプロセスのスレッドを保留する段階と、
    前記イベントを生じさせた前記スレッドを保留した後に、前記仮想パーティションの他のプロセスを再開する段階とをさらに備える、請求項1から5のいずれか一項に記載の方法。
  7. 前記補助エージェントから戻された前記結果は、前記イベントに関するイベントコンテキストを含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記ポリシーアクションは、前記イベントを生じさせたプロセスを終了することを含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記ポリシーアクションは、前記イベントを生じさせたプロセスを終了するように、前記補助エージェントに命令することを含む、請求項1から8のいずれか一項に記載の方法。
  10. 前記外部ハンドラは、仮想化プラットフォームの第1の仮想ゲストで動作して、
    前記仮想パーティションは、前記仮想化プラットフォームの第2の仮想ゲストであり、
    前記イベント通知は、前記仮想化プラットフォームのハイパーバイザエクステンションから受信され、
    前記仮想パーティションの他のプロセスは、前記イベントを生じさせたプロセスのスレッドを保留した後に再開され、
    前記補助エージェントからの前記結果は、前記イベントに関するイベントコンテキストを含み、
    前記ポリシーアクションは、前記イベントを生じさせた前記プロセスを終了するように、前記補助エージェントに命令する、請求項1に記載の方法。
  11. 1以上のプロセッサとメモリとを備えるシステムであって、さらに、
    仮想パーティションのイベントに関するイベント通知を、外部ハンドラで受信する手段と、
    前記仮想パーティション内の補助エージェントに、タスクを実行して、前記タスクに基づく結果を前記外部ハンドラに戻すよう命令する手段と、
    前記補助エージェントが返した前記結果に基づいてポリシーアクションをとる手段と
    を備える、システム。
  12. 前記外部ハンドラは、第2の仮想パーティションで動作する、請求項11に記載のシステム。
  13. 前記外部ハンドラは、仮想ホストで動作する、請求項11に記載のシステム。
  14. 前記外部ハンドラは、仮想化プラットフォームの第1の仮想ゲストで動作し、
    前記仮想パーティションは、前記仮想化プラットフォームの第2の仮想ゲストである、請求項11に記載のシステム。
  15. 前記イベント通知は、仮想化プラットフォームのハイパーバイザエクステンションから受信される、請求項11から14のいずれか一項に記載のシステム。
  16. 前記イベントを生じさせた前記仮想パーティションのプロセスのスレッドを保留する手段をさらに備える、請求項11から15のいずれか一項に記載のシステム。
  17. 前記補助エージェントから戻された前記結果は、前記イベントに関するイベントコンテキストを含む、請求項11から16のいずれか一項に記載のシステム。
  18. 前記ポリシーアクションは、前記イベントを生じさせたプロセスを終了することを含む、請求項11から17のいずれか一項に記載のシステム。
  19. 前記ポリシーアクションは、前記イベントを生じさせたプロセスを終了するように、前記補助エージェントに命令することを含む、請求項11から18のいずれか一項に記載のシステム。
  20. 仮想パーティション内の補助エージェントと、
    前記仮想パーティション外のセキュリティハンドラと、
    前記セキュリティハンドラと前記補助エージェントとに関する命令を実行する1以上のプロセッサと
    を備える装置であって、
    前記命令は、
    前記仮想パーティションのイベントに関するイベント通知を、前記セキュリティハンドラで受信することと、
    前記イベントを生じさせた前記仮想パーティションのプロセスのスレッドを保留することと、
    前記補助エージェントに、前記仮想パーティション内でタスクを実行して、前記タスクに基づく結果を前記セキュリティハンドラに戻すよう命令することと、
    前記補助エージェントが返した前記結果に基づいてポリシーアクションをとることと
    を含む処理を実行する、装置。
  21. 前記セキュリティハンドラは、仮想化プラットフォームの第1の仮想ゲストで動作し、
    前記仮想パーティションは、前記仮想化プラットフォームの第2の仮想ゲストである、請求項20に記載の装置。
  22. 前記イベント通知は、仮想化プラットフォームのハイパーバイザエクステンションから受信される、請求項20または21に記載の装置。
  23. 前記処理はさらに、
    前記イベントを生じさせたプロセスのスレッドを保留した後に、前記仮想パーティションの他のプロセスを再開することを含む、請求項20から22のいずれか一項に記載の装置。
  24. 前記補助エージェントから戻された前記結果は、前記イベントに関するイベントコンテキストを含む、請求項20から23のいずれか一項に記載の装置。
  25. 前記ポリシーアクションは、前記イベントを生じさせた前記プロセスを終了することを含む、請求項20から24のいずれか一項に記載の装置。
  26. 前記ポリシーアクションは、前記イベントを生じさせた前記プロセスを終了するように、前記補助エージェントに命令することを含む、請求項20から25のいずれか一項に記載の装置。
JP2014514848A 2011-06-08 2012-06-07 仮想パーティションを監視するためのシステム、装置、プログラムおよび方法 Active JP5861228B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/155,572 2011-06-08
US13/155,572 US9298910B2 (en) 2011-06-08 2011-06-08 System and method for virtual partition monitoring
PCT/US2012/041384 WO2012170709A2 (en) 2011-06-08 2012-06-07 System and method for virtual partition monitoring

Publications (2)

Publication Number Publication Date
JP2014516191A true JP2014516191A (ja) 2014-07-07
JP5861228B2 JP5861228B2 (ja) 2016-02-16

Family

ID=47294263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014514848A Active JP5861228B2 (ja) 2011-06-08 2012-06-07 仮想パーティションを監視するためのシステム、装置、プログラムおよび方法

Country Status (6)

Country Link
US (2) US9298910B2 (ja)
EP (1) EP2718867A4 (ja)
JP (1) JP5861228B2 (ja)
KR (1) KR101626398B1 (ja)
CN (1) CN103827882B (ja)
WO (1) WO2012170709A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102823A (ja) * 2015-12-04 2017-06-08 日本電信電話株式会社 解析装置、解析方法および解析プログラム
JP2017111794A (ja) * 2015-12-18 2017-06-22 エーオー カスペルスキー ラボAO Kaspersky Lab 障害のあるユーザのためのapiを使用したデータへのアクセスを制御するためのシステムおよび方法
JP2018129019A (ja) * 2017-02-08 2018-08-16 エーオー カスペルスキー ラボAO Kaspersky Lab 仮想マシンにおける悪意のあるファイルを分析するシステム及び方法
JP2018538633A (ja) * 2015-12-19 2018-12-27 ビットディフェンダー アイピーアール マネジメント リミテッド 複数のネットワークエンドポイントをセキュアにするためのデュアルメモリイントロスペクション
JP2022104878A (ja) * 2020-12-30 2022-07-12 アクロニス・インターナショナル・ゲーエムベーハー ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US9311126B2 (en) 2011-07-27 2016-04-12 Mcafee, Inc. System and method for virtual partition monitoring
CN102768629B (zh) * 2012-04-16 2017-02-08 中兴通讯股份有限公司 基于调度层实现虚拟机间通讯的方法和装置
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US10033693B2 (en) 2013-10-01 2018-07-24 Nicira, Inc. Distributed identity-based firewalls
US9619346B2 (en) * 2013-10-31 2017-04-11 Assured Information Security, Inc. Virtual machine introspection facilities
US10255093B2 (en) * 2013-12-17 2019-04-09 Intel Corporation Techniques for portable computing device virtualization
US9973531B1 (en) * 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US11496606B2 (en) 2014-09-30 2022-11-08 Nicira, Inc. Sticky service sessions in a datacenter
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US9825810B2 (en) 2014-09-30 2017-11-21 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
US10606626B2 (en) 2014-12-29 2020-03-31 Nicira, Inc. Introspection method and apparatus for network access filtering
SG10201500698YA (en) * 2015-01-29 2016-08-30 Huawei Internat Pte Ltd Method for data protection using isolated environment in mobile device
CN104766006B (zh) * 2015-03-18 2019-03-12 百度在线网络技术(北京)有限公司 一种确定危险文件所对应的行为信息的方法和装置
US10594743B2 (en) 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
KR102319661B1 (ko) * 2015-08-07 2021-11-03 삼성전자주식회사 전자 장치 및 전자 장치의 보안 정보 저장 방법
US10324746B2 (en) 2015-11-03 2019-06-18 Nicira, Inc. Extended context delivery for context-based authorization
US10938837B2 (en) 2016-08-30 2021-03-02 Nicira, Inc. Isolated network stack to manage security for virtual machines
US20180082053A1 (en) * 2016-09-21 2018-03-22 Telefonaktiebolaget Lm Ericsson (Publ) Application token through associated container
WO2018106612A1 (en) 2016-12-06 2018-06-14 Nicira, Inc. Performing context-rich attribute-based services on a host
US10635479B2 (en) 2016-12-19 2020-04-28 Bitdefender IPR Management Ltd. Event filtering for virtual machine security applications
US10805332B2 (en) 2017-07-25 2020-10-13 Nicira, Inc. Context engine model
US10812451B2 (en) 2016-12-22 2020-10-20 Nicira, Inc. Performing appID based firewall services on a host
US11032246B2 (en) 2016-12-22 2021-06-08 Nicira, Inc. Context based firewall services for data message flows for multiple concurrent users on one machine
US10581960B2 (en) 2016-12-22 2020-03-03 Nicira, Inc. Performing context-rich attribute-based load balancing on a host
US10803173B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Performing context-rich attribute-based process control services on a host
US10802858B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Collecting and processing contextual attributes on a host
US10248469B2 (en) 2017-01-19 2019-04-02 International Business Machines Corporation Software based collection of performance metrics for allocation adjustment of virtual resources
EP3361406A1 (en) * 2017-02-08 2018-08-15 AO Kaspersky Lab System and method of analysis of files for maliciousness in a virtual machine
RU2651196C1 (ru) 2017-06-16 2018-04-18 Акционерное общество "Лаборатория Касперского" Способ обнаружения аномальных событий по популярности свертки события
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10546120B2 (en) * 2017-09-25 2020-01-28 AO Kaspersky Lab System and method of forming a log in a virtual machine for conducting an antivirus scan of a file
US10797966B2 (en) * 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
KR102505996B1 (ko) * 2017-11-08 2023-03-08 한국전자통신연구원 가상 머신 프로세서의 원격 처리 장치 및 방법
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US10802893B2 (en) 2018-01-26 2020-10-13 Nicira, Inc. Performing process control services on endpoint machines
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10862773B2 (en) * 2018-01-26 2020-12-08 Nicira, Inc. Performing services on data messages associated with endpoint machines
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
CN109684148B (zh) * 2018-11-08 2022-03-15 中国航空工业集团公司洛阳电光设备研究所 一种基于arinc653的机载嵌入式软件虚拟总线通信构建方法
US11360796B2 (en) 2019-02-22 2022-06-14 Vmware, Inc. Distributed forwarding for performing service chain operations
US11537581B2 (en) * 2019-03-22 2022-12-27 Hewlett Packard Enterprise Development Lp Co-parent keys for document information trees
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11539718B2 (en) 2020-01-10 2022-12-27 Vmware, Inc. Efficiently performing intrusion detection
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11438257B2 (en) 2020-04-06 2022-09-06 Vmware, Inc. Generating forward and reverse direction connection-tracking records for service paths at a network edge
US11108728B1 (en) 2020-07-24 2021-08-31 Vmware, Inc. Fast distribution of port identifiers for rule processing
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02201543A (ja) * 1989-01-30 1990-08-09 Nec Corp 仮想計算機特権命令処理方式
JP2006178936A (ja) * 2004-12-21 2006-07-06 Microsoft Corp 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理
US20090241109A1 (en) * 2008-03-24 2009-09-24 International Business Machines Corporation Context Agent Injection Using Virtual Machine Introspection
JP2009253811A (ja) * 2008-04-09 2009-10-29 Nec Corp 端末装置、ネットワーク接続方法及びプログラム

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075938A (en) 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US6378072B1 (en) 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6363421B2 (en) 1998-05-31 2002-03-26 Lucent Technologies, Inc. Method for computer internet remote management of a telecommunication network element
US6684329B1 (en) 1999-07-13 2004-01-27 Networks Associates Technology, Inc. System and method for increasing the resiliency of firewall systems
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
FR2804564B1 (fr) 2000-01-27 2002-03-22 Bull Sa Relais de securite multiapplicatif
AU2001243365A1 (en) 2000-03-02 2001-09-12 Alarity Corporation System and method for process protection
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US6691113B1 (en) 2000-09-28 2004-02-10 Curl Corporation Persistent data storage for client computer software programs
US7660902B2 (en) 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
JP3953273B2 (ja) 2000-12-27 2007-08-08 独立行政法人科学技術振興機構 大豆繊維体及びその製造方法
US20040117658A1 (en) 2002-09-27 2004-06-17 Andrea Klaes Security monitoring and intrusion detection system
US7181744B2 (en) 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US20040158730A1 (en) 2003-02-11 2004-08-12 International Business Machines Corporation Running anti-virus software on a network attached storage device
US8209680B1 (en) 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7100205B2 (en) 2003-10-22 2006-08-29 The United States Of America As Represented By The Secretary Of The Navy Secure attention instruction central processing unit and system architecture
US8122361B2 (en) 2003-10-23 2012-02-21 Microsoft Corporation Providing a graphical user interface in a system with a high-assurance execution environment
US7783891B2 (en) 2004-02-25 2010-08-24 Microsoft Corporation System and method facilitating secure credential management
US7581253B2 (en) 2004-07-20 2009-08-25 Lenovo (Singapore) Pte. Ltd. Secure storage tracking for anti-virus speed-up
US7644287B2 (en) 2004-07-29 2010-01-05 Microsoft Corporation Portion-level in-memory module authentication
US8332653B2 (en) 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US20060089984A1 (en) * 2004-10-22 2006-04-27 International Business Machines Corporation Process and implementation for autonomous probe enablement
ITMI20050063A1 (it) * 2005-01-20 2006-07-21 Atmel Corp Metodo e sistema per la gestione di una richiesta di sospensione in una memoria flash
US7685635B2 (en) 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US8619971B2 (en) 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
US7735136B2 (en) 2005-04-18 2010-06-08 Vmware, Inc. 0-touch and 1-touch techniques for improving the availability of computer programs under protection without compromising security
US7239166B2 (en) 2005-06-15 2007-07-03 Microsoft Corporation Portable multi-purpose toolkit for testing computing device hardware and software
US8713667B2 (en) 2005-07-08 2014-04-29 Hewlett-Packard Development Company, L.P. Policy based cryptographic application programming interface in secure memory
US20070074192A1 (en) 2005-08-30 2007-03-29 Geisinger Nile J Computing platform having transparent access to resources of a host platform
US20070106986A1 (en) 2005-10-25 2007-05-10 Worley William S Jr Secure virtual-machine monitor
US7496727B1 (en) 2005-12-06 2009-02-24 Transmeta Corporation Secure memory access system and method
US20070180509A1 (en) 2005-12-07 2007-08-02 Swartz Alon R Practical platform for high risk applications
US8321859B2 (en) 2005-12-22 2012-11-27 Alan Joshua Shapiro Method and apparatus for dispensing on a data-storage medium customized content comprising selected assets
US7845009B2 (en) 2006-05-16 2010-11-30 Intel Corporation Method and apparatus to detect kernel mode rootkit events through virtualization traps
US20080016314A1 (en) 2006-07-12 2008-01-17 Lixin Li Diversity-based security system and method
US9003000B2 (en) 2006-07-25 2015-04-07 Nvidia Corporation System and method for operating system installation on a diskless computing platform
US8458695B2 (en) 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8949826B2 (en) 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US9038062B2 (en) 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9015703B2 (en) 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8356361B2 (en) 2006-11-07 2013-01-15 Spansion Llc Secure co-processing memory controller integrated into an embedded memory subsystem
US8380987B2 (en) * 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US8561204B1 (en) 2007-02-12 2013-10-15 Gregory William Dalcher System, method, and computer program product for utilizing code stored in a protected area of memory for securing an associated system
US8171485B2 (en) 2007-03-26 2012-05-01 Credit Suisse Securities (Europe) Limited Method and system for managing virtual and real machines
US8024790B2 (en) 2007-04-11 2011-09-20 Trend Micro Incorporated Portable secured computing environment for performing online confidential transactions in untrusted computers
US20080271019A1 (en) 2007-04-24 2008-10-30 Stratton Robert J System and Method for Creating a Virtual Assurance System
US8806479B2 (en) 2007-06-05 2014-08-12 International Business Machines Corporation Creating an application virtual machine image by isolating installation artifacts in shadow area
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
US8205194B2 (en) 2007-06-29 2012-06-19 Microsoft Corporation Updating offline virtual machines or VM images
US8621610B2 (en) 2007-08-06 2013-12-31 The Regents Of The University Of Michigan Network service for the detection, analysis and quarantine of malicious and unwanted files
US9459984B2 (en) 2007-10-29 2016-10-04 Intel Corporation Method and systems for external performance monitoring for virtualized environments
US8352939B1 (en) 2007-12-03 2013-01-08 Mcafee, Inc. System, method and computer program product for performing a security or maintenance operation in association with virtual disk data
US7797748B2 (en) * 2007-12-12 2010-09-14 Vmware, Inc. On-access anti-virus mechanism for virtual machine architecture
US8261254B2 (en) * 2008-03-31 2012-09-04 Symantec Corporation Dynamic insertion and removal of virtual software sub-layers
WO2009151888A2 (en) * 2008-05-19 2009-12-17 Authentium, Inc. Secure virtualization system software
US8151032B2 (en) 2008-06-26 2012-04-03 Microsoft Corporation Direct memory access filter for virtualized operating systems
US8738932B2 (en) 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8356285B2 (en) * 2009-03-31 2013-01-15 Oracle America, Inc. Facilitated introspection of virtualized environments
US8219990B2 (en) 2009-05-28 2012-07-10 Novell, Inc. Techniques for managing virtual machine (VM) states
US8813069B2 (en) 2009-05-29 2014-08-19 Red Hat, Inc. Migration of functionalities across systems
US8621460B2 (en) 2009-11-02 2013-12-31 International Business Machines Corporation Endpoint-hosted hypervisor management
US8528091B2 (en) 2009-12-31 2013-09-03 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for detecting covert malware
US8549648B2 (en) * 2011-03-29 2013-10-01 Mcafee, Inc. Systems and methods for identifying hidden processes
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
US9311126B2 (en) 2011-07-27 2016-04-12 Mcafee, Inc. System and method for virtual partition monitoring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02201543A (ja) * 1989-01-30 1990-08-09 Nec Corp 仮想計算機特権命令処理方式
JP2006178936A (ja) * 2004-12-21 2006-07-06 Microsoft Corp 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理
US20090241109A1 (en) * 2008-03-24 2009-09-24 International Business Machines Corporation Context Agent Injection Using Virtual Machine Introspection
JP2009253811A (ja) * 2008-04-09 2009-10-29 Nec Corp 端末装置、ネットワーク接続方法及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG200700826004; 尾上 浩一: '仮想マシンモニタによる仮想マシン内プロセスの制御' 情報処理学会研究報告 Vol.2007 No.83 , 20070803, 31〜38頁, 社団法人 情報処理学会 *
JPN6014039639; 尾上 浩一: '仮想マシンモニタによる仮想マシン内プロセスの制御' 情報処理学会研究報告 Vol.2007 No.83 , 20070803, 31〜38頁, 社団法人 情報処理学会 *
JPN6015021594; Payne, B.D.: 'Lares: An Architecture for Secure Active Monitoring Using Virtualization' [online] [retrieved on 2015-05-26], 200805, p.223-247, IEEE *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017102823A (ja) * 2015-12-04 2017-06-08 日本電信電話株式会社 解析装置、解析方法および解析プログラム
JP2017111794A (ja) * 2015-12-18 2017-06-22 エーオー カスペルスキー ラボAO Kaspersky Lab 障害のあるユーザのためのapiを使用したデータへのアクセスを制御するためのシステムおよび方法
JP2018538633A (ja) * 2015-12-19 2018-12-27 ビットディフェンダー アイピーアール マネジメント リミテッド 複数のネットワークエンドポイントをセキュアにするためのデュアルメモリイントロスペクション
JP2018129019A (ja) * 2017-02-08 2018-08-16 エーオー カスペルスキー ラボAO Kaspersky Lab 仮想マシンにおける悪意のあるファイルを分析するシステム及び方法
JP2022104878A (ja) * 2020-12-30 2022-07-12 アクロニス・インターナショナル・ゲーエムベーハー ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法
JP7353346B2 (ja) 2020-12-30 2023-09-29 アクロニス・インターナショナル・ゲーエムベーハー ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法

Also Published As

Publication number Publication date
EP2718867A4 (en) 2014-11-05
JP5861228B2 (ja) 2016-02-16
CN103827882A (zh) 2014-05-28
WO2012170709A3 (en) 2013-01-31
EP2718867A2 (en) 2014-04-16
US20120317570A1 (en) 2012-12-13
KR101626398B1 (ko) 2016-06-01
US10032024B2 (en) 2018-07-24
WO2012170709A2 (en) 2012-12-13
CN103827882B (zh) 2017-03-29
KR20140031947A (ko) 2014-03-13
US20160224792A1 (en) 2016-08-04
US9298910B2 (en) 2016-03-29

Similar Documents

Publication Publication Date Title
JP5861228B2 (ja) 仮想パーティションを監視するためのシステム、装置、プログラムおよび方法
US10489187B2 (en) Systems and methods for auditing a virtual machine
US9465652B1 (en) Hardware-based mechanisms for updating computer systems
US8893222B2 (en) Security system and method for the android operating system
CN107690645B (zh) 使用解释器虚拟机的行为恶意软件检测
JP6063941B2 (ja) システム管理要求のための仮想高特権モード
US8117435B2 (en) Method and system for secured dynamic bios update
CN110622138B (zh) 一种数据迁移方法及装置
US8707417B1 (en) Driver domain as security monitor in virtualization environment
US9298484B2 (en) Encapsulation of an application for virtualization
US10140448B2 (en) Systems and methods of asynchronous analysis of event notifications for computer security applications
US9596261B1 (en) Systems and methods for delivering context-specific introspection notifications
US9536084B1 (en) Systems and methods for delivering event-filtered introspection notifications
US11442770B2 (en) Formally verified trusted computing base with active security and policy enforcement
US9864708B2 (en) Safely discovering secure monitors and hypervisor implementations in systems operable at multiple hierarchical privilege levels
US9535772B2 (en) Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple levels hierarchical privilege levels
US9531735B1 (en) Systems and methods for delivering introspection notifications from a virtual machine
US11995452B2 (en) Firmware memory map namespace for concurrent containers
US20230025126A1 (en) Virtualization layer assisted upgrading of in-guest agents
US20230146526A1 (en) Firmware memory map namespace for concurrent containers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150827

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: 20151124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151203

R150 Certificate of patent or registration of utility model

Ref document number: 5861228

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250