JP5978365B2 - 仮想環境においてネットワークアクセス制御を行うシステムおよび方法 - Google Patents

仮想環境においてネットワークアクセス制御を行うシステムおよび方法 Download PDF

Info

Publication number
JP5978365B2
JP5978365B2 JP2015159919A JP2015159919A JP5978365B2 JP 5978365 B2 JP5978365 B2 JP 5978365B2 JP 2015159919 A JP2015159919 A JP 2015159919A JP 2015159919 A JP2015159919 A JP 2015159919A JP 5978365 B2 JP5978365 B2 JP 5978365B2
Authority
JP
Japan
Prior art keywords
virtual machine
access control
network access
network
notification
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.)
Active
Application number
JP2015159919A
Other languages
English (en)
Other versions
JP2016006670A (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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2016006670A publication Critical patent/JP2016006670A/ja
Application granted granted Critical
Publication of JP5978365B2 publication Critical patent/JP5978365B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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

Description

組織の情報技術(「IT」)インフラストラクチャおよび関連するビジネス活動の全体的なセキュリティおよびアベイラビリティにおいて、組織の個々のエンドポイントの管理状態が果たす役割はクリティカルである。最近の高度なクライムウェアは、特定の企業を標的にするだけではなく、デスクトップコンピュータやラップトップコンピュータをも、企業のビジネス活動および有価資源へのバックドア経路として標的にする。企業は、こうした、標的とされる脅威に対する自衛策として、各エンドポイントが企業のセキュリティポリシーおよび構成管理ポリシーに対してコンプライアンスを維持していることを保証する手段を持つことが必要になる。エンドポイントのポリシーコンプライアンスが保証されない場合、組織は、多様な脅威に対して脆弱なままになる。このような脅威として考えられるのは、悪質なコードの企業全体への拡散、ビジネスクリティカルサービスの混乱、ITの復旧および管理のコストの増大、機密情報の露出、企業ブランドへの打撃、および/またはコンプライアンス違反に対する規制上の罰金などである。
ネットワークアクセス制御技術を用いることにより、組織は、ユーザエンドポイント(オンサイト従業員、リモート従業員、ゲスト、契約業者、および臨時雇用者のエンドポイントを含む)に対して企業ネットワークのリソースへのアクセスを許可する前に、それらのエンドポイントの構成およびセキュリティ状態が適正であることを確認することが可能である。ネットワークアクセス制御技術によれば、エンドポイントのセキュリティポリシーおよび規格が満たされることを保証するために、エンドポイントのコンプライアンス状態の検出および評価、適切なネットワークアクセスのプロビジョニング、ならびにメディエーション機能の提供を行うことが可能である。
仮想環境は、企業環境においてセキュリティ上の困難な課題を提起する。仮想マシンは、作成、複製、記憶、および移動が比較的容易であるために、(たとえば、承認されたバージョンのソフトウェアおよびパッチレベルを有していないなど)企業ポリシーに対するコンプライアンスから逸脱することが容易に起こりうる。そのような仮想マシンに、企業ネットワーク内でのネットワーク接続の開始を許可することは、安全とは言えない。そこで、仮想環境においてネットワークアクセス制御を行うための、より効率的かつ効果的なメカニズムが必要とされている。
後で詳述するように、本開示は、主に、仮想環境においてネットワークアクセス制御を行うシステムおよび方法に関する。本開示の実施形態は、仮想環境におけるネットワークアクセス制御を、様々な様式で行う。一例として、仮想環境においてネットワークアクセス制御を行う方法は、1)ホストマシン上で動作している仮想マシンにトランジェントセキュリティエージェントを注入するステップと、2)仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を、トランジェントセキュリティエージェントから受け取るステップと、3)仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づいて、仮想マシンのネットワークアクセスを制御するステップと、を含む。
実施形態によっては、トランジェントセキュリティエージェントは、ホストマシン上の注入モジュールによって仮想マシンに注入される。仮想マシンにトランジェントセキュリティエージェントを注入するステップは、1)仮想マシンから注入モジュールに制御を移すことを促進するように構成された1つ以上のコンピュータ実行可能命令を、仮想マシンの例外ハンドラメモリロケーションに挿入するステップと、2)仮想マシンの実行中に例外をトリガして、例外ハンドラメモリロケーションにある1つ以上のコンピュータ実行可能命令を実行させるステップと、3)少なくとも1つのコンピュータ実行可能命令が実行された後に仮想マシンから制御を取得するステップと、4)仮想マシンにトランジェントセキュリティエージェントを挿入するステップと、を含む。
各種実施形態によれば、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知は、ホストマシン上のネットワークアクセス制御モジュールにおいて受け取られる。そのような実施形態では、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知は、プロセス間通信を介して、ネットワークアクセス制御モジュールに送られる。ネットワークアクセス制御モジュールは、ネットワーク通信フィルタを含み、ネットワーク通信フィルタは、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づいて、仮想マシンのネットワークアクセスを制御する。
少なくとも1つの実施形態では、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知は、ホストマシンから遠く離れているネットワークアクセス制御サーバにおいて受け取られ、ネットワークアクセス制御サーバは、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づき、仮想マシンのネットワークアクセスを制御する。
1つ以上の実施形態によれば、本方法はさらに、仮想マシンからトランジェントセキュリティエージェントを除去するステップを含む。トランジェントセキュリティエージェントは、仮想マシンがネットワークアクセスを必要としなくなった時点または他の任意の時点で仮想マシンから除去される。
第2の例として、仮想環境においてネットワークアクセス制御を行う方法は、1)ホストマシン上で動作している仮想マシンにセキュリティエージェントを与えるステップと、2)ホストマシン上に常駐するも、仮想マシンの外部に位置するネットワーク通信フィルタを与えるステップと、3)ネットワーク通信フィルタを制御するアクセス制御モジュールにおいて、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を受け取るステップであって、この通知は、セキュリティエージェントからアクセス制御モジュールに、プロセス間通信を介して送られる、受け取るステップと、4)ネットワーク通信フィルタを使用して、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づいて、仮想マシンのネットワークアクセスを制御するステップと、を含む。
実施形態によっては、仮想マシンにセキュリティエージェントを与えるステップは、セキュリティエージェントを仮想マシンに注入するステップを含む。ホストマシン上の注入モジュールが、セキュリティエージェントを仮想マシンに注入する。さらに、または代替として、仮想マシンにセキュリティエージェントを与えるステップは、セキュリティエージェントを仮想マシンにインストールするステップを含む。セキュリティエージェントは、仮想マシンのインストールプロセスにより、仮想マシンにインストールされる。
各種実施形態によれば、コンプライアンスの通知は、セキュリティエージェントからアクセス制御モジュールに、仮想マシン間通信を介して送られる。代替として、コンプライアンスの通知は、セキュリティエージェントおよびアクセス制御モジュールが共用するメモリロケーションに記憶されることによって、セキュリティエージェントからアクセス制御モジュールに送られる、
実施形態によっては、コンプライアンスの通知は、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成していないことを通知するものであり、アクセス制御モジュールは、ネットワーク通信フィルタを使用して、仮想マシンの1つ以上のネットワーク通信を阻止することにより、仮想マシンのネットワークアクセスを制御する。このような状況では、本方法は、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成するように、仮想マシンのレメディエーションを行うステップを含む。ネットワーク通信フィルタは、仮想マシンが、仮想マシンのレメディエーションに使用される1つ以上のネットワークリソースにアクセスすることを可能にする。
第3の例として、仮想環境においてネットワークアクセス制御を行う方法は、1)ホストマシン上で動作している仮想マシンを識別するステップと、2)ホストマシン上に常駐するも、仮想マシンの外部に位置するネットワーク通信フィルタを与えるステップと、3)ホストマシン上で実行されていて、仮想マシンの外部に位置するプロセスを用いて、仮想マシンの1つ以上のリソースを検査して、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定するステップと、4)ネットワーク通信フィルタを制御するアクセス制御モジュールにおいて、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を受け取るステップと、5)ネットワーク通信フィルタを使用して、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づいて、仮想マシンのネットワークアクセスを制御するステップと、を含む。
上述の実施形態のうちのいずれの実施形態の特徴も、本明細書に記載の一般原則に従って、互いに組み合わせて使用してよい。これらおよび他の実施形態、特徴、および有利点は、以下の詳細説明を、添付図面ならびに特許請求の範囲と併せて読むことによって、より詳細に理解されるであろう。
添付図面は、いくつかの例示的実施形態を図示しており、本明細書の一部分をなす。これらの図面は、以下の説明とともに、本開示の様々な原理を具体例によって説明している。
各図面を通して、同一の参照符号および記載は、同様の(ただし、必ずしも同一ではない)要素を示している。本明細書に記載の例示的実施形態は、様々な修正や代替形態を許容するものであるが、図面では、特定の実施形態を例として示しており、本明細書ではこれらについて詳細に記載する。しかしながら、本明細書に記載の例示的実施形態は、開示された特定の形態に限定されることを意図するものではない。むしろ、本開示は、添付の特許請求の範囲に含まれるあらゆる修正形態、等価形態、および代替形態を包含するものである。
仮想環境においてネットワークアクセス制御を行うための例示的システムのブロック図である。 仮想マシンにセキュリティエージェントを与えることにより、仮想環境においてネットワークアクセス制御を行うための例示的システムのブロック図である。 仮想マシンにセキュリティエージェントを与えることにより、仮想環境においてネットワークアクセス制御を行うための別の例示的システムのブロック図である。 仮想マシンにセキュリティエージェントを注入することにより、仮想環境においてネットワークアクセス制御を行うための例示的方法のフロー図である。 セキュリティエージェントとアクセス制御モジュールとの間のプロセス間通信により、仮想環境においてネットワークアクセス制御を行うための例示的方法のフロー図である。 仮想マシンのリソースを検査することにより、仮想環境においてネットワークアクセス制御を行うための例示的システムのブロック図である。 仮想マシンのリソースを検査することにより、仮想環境においてネットワークアクセス制御を行うための例示的方法のフロー図である。 本明細書に記載かつ/または図示された実施形態のうちの1つ以上を実装することが可能な例示的コンピューティングシステムのブロック図である。 本明細書に記載かつ/または図示された実施形態のうちの1つ以上を実装することが可能な例示的コンピューティングネットワークのブロック図である。
後で詳述するように、本開示は、主に、仮想環境においてネットワークアクセス制御を行うシステムおよび方法に関する。本明細書に記載のシステムおよび方法は、様々な様式でネットワークアクセス制御を行うものである。たとえば、仮想マシンの、アクセス制御ポリシーに対するコンプライアンスを評価するために、ホストマシン上で動作している仮想マシンにセキュリティエージェントを注入またはインストールする。セキュリティエージェントは、プロセス間通信および/またはネットワーク通信を用いて、ホストマシン上および/またはリモートサーバ上のネットワークアクセス制御システムと通信する。ネットワークアクセス制御システムは、セキュリティエージェントから与えられる情報に基づいて、ネットワーク通信フィルタおよび/または他の任意の好適なメカニズムを用いて仮想マシンのネットワークアクセスを制御する。実施形態によっては、ホストマシン上のネットワークアクセス制御システムは、仮想マシン内のセキュリティエージェントを用いる代わりに、仮想マシンのリソースを検査することにより、仮想マシンがアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定する。
以下では、図1〜3、および図6を参照しながら、仮想環境においてネットワークアクセス制御を行うための例示的システムを詳細に説明する。対応するコンピュータ実装方法についても、図4、図5、および図7を参照しながら詳細に説明する。さらに、本明細書に記載の実施形態のうちの1つ以上を実装することが可能な例示的コンピューティングシステムおよびネットワークアーキテクチャを、それぞれ図8および図9を参照しながら詳細に説明する。
図1は、仮想環境においてネットワークアクセス制御を行うための例示的システム100のブロック図である。図1に示したように、例示的システム100は、1つ以上のタスクを実行する1つ以上のモジュール110を含んでいる。たとえば、(後で詳細に説明するように)例示的システム100は、エージェントプロビジョニングモジュール112を含んでおり、エージェントプロビジョニングモジュール112は、注入、インストール、または他の任意の、仮想マシンに対してセキュリティエージェントのプロビジョニングを行うプロセスを通して、仮想マシンにネットワークアクセス制御セキュリティエージェントを与えるようにプログラムされている。
例示的システム100はまた、各種のネットワークアクセス制御機能を提供するようにプログラムされたアクセス制御モジュール114を含んでいる。すなわち、アクセス制御モジュール114は、ネットワークへの仮想マシンアクセスを許可したり拒否したりするゲートまたはドアとして動作する。実施形態によっては、アクセス制御モジュール114は、仮想マシンに対しエンドポイントセキュリティポリシーを施行する。たとえば、仮想マシンがネットワークセキュリティポリシーに対するコンプライアンスを達成していない場合、アクセス制御モジュール114は、仮想マシンがネットワークおよびネットワークリソースにアクセスすることを阻止する(または、仮想マシンを隔離してアクセスさせないようにする)。実施形態によっては、アクセス制御モジュール114は、仮想マシンをホストするマシン上でネットワーク通信フィルタを用いることにより、仮想マシンのネットワークアクセスを制御する。あるいは、アクセス制御モジュール114は、仮想マシンのネットワークアクセスを制御するリモートアクセス制御サーバの一部分であってもよい。
アクセス制御モジュール114はまた、仮想マシンがネットワークポリシーに対するコンプライアンスを達成していない場合には、仮想マシンのレメディエーションを行う。実施形態によっては、レメディエーションは、仮想マシンのユーザに対して完全に透過的である。他の実施形態では、アクセス制御モジュール114は、手動レメディエーションの場合に、レメディエーションの情報をユーザに提示する。
例示的システム100は、エージェント116を含んでおり、エージェント116は、エンドポイント(たとえば、仮想マシン)の状態を評価する(ポリシーに対するコンプライアンスを検査する)エンドポイント評価技術を実装する。たとえば、エージェント116は、仮想マシンのアンチウィルスソフトウェア、アンチスパイウェアソフトウェア、インストール済みパッチ、および他の様々なセキュリティ設定を検査する。実施形態によっては、エージェント116は、事前定義されたテンプレートと対照して仮想マシンの保全性を検査することにより、そのようなテンプレートで指示された、必要とされるパッチレベル、サービスパック、アンチウィルスプログラムおよび/または定義、および/またはファイアウォールステータスを仮想マシンが有しているかどうかを判定する。さらに、または代替として、エージェント116は、カスタム作成された検査項目(たとえば、管理者が作成したポリシー)を用いて、仮想マシンがネットワークアクセス制御のコンプライアンスを達成しているかどうかを判定する。
エージェント116は、仮想マシンの、ネットワークアクセス制御ポリシーに対するコンプライアンスを分析することが可能な、任意の種類または形式のコンピュータ実行可能コードを含んでいる。たとえば、エージェント116は、オペレーティングシステムの実行可能コード(たとえば、WINDOWS.exe)またはオペレーティングシステム固有のスクリプト(たとえば、LINUXまたはWINDOWSシェルスクリプト)として実装される。
実施形態によっては、図1のモジュール110のうちの1つ以上は、コンピューティング装置で実行された場合に1つ以上のタスクをコンピューティング装置に実施させる1つ以上のソフトウェアアプリケーションまたはプログラムであってよい。たとえば、後で詳細に説明するように、モジュール110のうちの1つ以上は、1つ以上のコンピューティング装置で動作するように記憶および構成されたソフトウェアモジュールであってよく、たとえば、図2に示されたシステム、図3に示されたシステムのうちの1つ以上、図6に示されたシステム、図8のコンピューティングシステム810、および/または図9の例示的ネットワークアーキテクチャ900の複数部分であってよい。図1のモジュール110の1つ以上はまた、1つ以上のタスクを実施するように構成された1つ以上の専用コンピュータのすべてまたは一部分を表すものであってもよい。
システム100は、モジュール110のうちの1つ以上を実行するプロセッサ120を含んでいる。システム100のプロセッサ120は、モジュール110のうちの1つ以上における1つ以上の命令を実行するように構成された1つ以上のマイクロプロセッサおよび/または中央処理ユニットを含んでいる。たとえば、プロセッサ120は、図8のプロセッサ814を含んでよい。
図1に示したように、例示的システム100はまた、1つ以上のデータベース130を含んでいる。データベース130は、単一のデータベースまたはコンピューティング装置に含まれるか、複数のデータベースまたはコンピューティング装置に含まれるものであってよい。一実施形態では、例示的システム100は、1つ以上のネットワークアクセス制御ポリシーを記憶するネットワークアクセス制御ポリシーデータベース132を含んでいる。ネットワークアクセス制御ポリシーデータベース132は、必要とされるアンチウィルスソフトウェア、アンチスパイウェア、インストール済みパッチ、ネットワークへのアクセスを許可されたユーザ、および/または他の様々な、仮想マシンがネットワークへのアクセスを許可されるために必要なセキュリティ設定を示す、1つ以上のルールを含んでいる。
データベース130はまた、レメディエーションデータベース134を含んでいる。レメディエーションデータベース134は、1つ以上のパッチ、アンチウィルスソフトウェア定義、アンチスパイウェアアプリケーション、および/または他の任意の、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成するために仮想マシンに与えることが必要なソフトウェアを含んでいる。
図1のデータベース130は、1つ以上のコンピューティング装置の一部分を表している。たとえば、データベース130は、図2のシステム200の一部分、図3のネットワークアクセス制御サーバ306、図6のホストマシン602、図8のコンピューティングシステム810、および/または図9の例示的ネットワークアーキテクチャ900の複数部分を表している。あるいは、図1のデータベース130は、コンピューティング装置からのアクセスが可能な1つ以上の物理的に独立した装置を表しており、たとえば、図2のシステム200、図3のネットワークアクセス制御サーバ306、図6のホストマシン602、図8のコンピューティングシステム810、および/または図9の例示的ネットワークアーキテクチャ900の複数部分を表している。
図1の例示的システム100は、様々な様式で配備可能である。たとえば、例示的システム100のすべてまたは一部分は、図3に示した例示的システム300のように、クラウドコンピューティング環境またはネットワークベース環境に含まれるものであってよい。クラウドコンピューティング環境は、各種のサービスおよびアプリケーションをインターネット経由で提供する。このようなクラウドベースのサービス(たとえば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしてのインフラストラクチャなど)は、ウェブブラウザまたは他のリモートインタフェースからアクセス可能である。本明細書に記載の各種機能は、リモートデスクトップ環境または他の任意のクラウドベースコンピューティング環境を通して提供可能である。
他の実施形態では、例示的システム100は、単一ホストマシンに実装可能である。たとえば、図2は、システム100がホストマシン上の様々な仮想マシンに実装される様子を示している。
図2は、仮想環境においてネットワークアクセス制御を行うための例示的システム200を示す。システム200は、ハイパーバイザ240上で動作しているネットワークアクセス制御仮想マシン210およびユーザ仮想マシン230を含んでいる。ネットワークアクセス制御仮想マシン210は、ユーザレベル212およびカーネルレベル218を含んでいる。ユーザレベル212は、エージェントプロビジョニングモジュール112およびアクセス制御モジュール114を含んでいる。図示したように、エージェントプロビジョニングモジュール112はエージェント挿入モジュール213を含んでおり、エージェント挿入モジュール213は、エージェントを仮想マシンに挿入することに含まれるステップのうちの1つ以上を実施するようにプログラムされている。エージェントプロビジョニングモジュール112はまた、エージェント起動モジュール214を含んでおり、エージェント起動モジュール214は、仮想マシン内のエージェントを起動することに含まれるステップのうちの1つ以上を実施するようにプログラムされている。ユーザレベル212はまた、レメディエーションデータベース134およびネットワークアクセス制御ポリシーデータベース132を含んでいる。
ユーザレベル212内のモジュールのうちの1つ以上は、ドメイン0(たとえば、システム200をブートしたときに最初に立ち上がるドメイン)で動作する。実施形態によっては、ユーザレベル212内に与えられているモジュールのうちの1つ以上は、ネットワークアクセス制御サーバ(たとえば、セキュリティアプライアンス)を含んでいる。そのようなネットワークアクセス制御サーバは、システム200上で動作している1つ以上の仮想マシン(たとえば、ユーザ仮想マシン230)に対してネットワークアクセス制御を行う。
図2に示したように、ユーザ仮想マシン230は、ユーザレベル232およびカーネルレベル238を含んでいる。カーネルレベル238はエージェント116を含んでおり、エージェント116は、エージェント挿入モジュール213によってユーザ仮想マシン230に注入される。ネットワークアクセス制御仮想マシン210内のアクセス制御モジュール114は、エージェント116と通信することにより、ユーザ仮想マシン230の、ネットワークアクセス制御ポリシーに対するコンプライアンスを評価する。
ユーザ仮想マシン230およびネットワークアクセス制御仮想マシン210は、ハイパーバイザ240上で動作する。ハイパーバイザ240は、任意の好適な仮想化ソフトウェアを含んでおり、たとえば、VMWARE、Oracle VM、ESX server、XEN、HYPER−V、LYNXSECURE、TRANGO、IBM POWER、KVM、および/または他の任意の好適なハイパーバイザを含んでいる。ハイパーバイザ240は、ネットワーク通信フィルタ242を含んでおり、ネットワーク通信フィルタ242は、ユーザ仮想マシン230からのネットワークパケットを傍受したり、阻止したり、許可したり、修正したり、かつ/または他の処理を施したりする。たとえば、ネットワーク通信フィルタ242は、ネットワークインタフェース(たとえば、仮想ネットワークインタフェースカード244)からの通信を監視したり、傍受したりする。ネットワーク通信フィルタ242は、ユーザ仮想マシン230からのネットワーク通信をフィルタリングすることにより、ユーザ仮想マシン230に対してネットワークアクセス制御を行う。ネットワーク通信フィルタ242の例として、限定ではなく、XENのdom0フィルタ、VMWAREのdvFilter、および/またはHYPER−VのNDISフィルタライブラリが挙げられる。
ハイパーバイザ240はまた、仮想スイッチ246を含んでおり、仮想スイッチ246は、仮想マシン同士(たとえば、ネットワークアクセス制御仮想マシン210とユーザ仮想マシン230)の通信を可能にするだけの論理スイッチングファブリックを有している。図示したように、システム200はまた、物理ネットワークインタフェースカード250を含んでおり、これは、ネットワークアクセス制御仮想マシン210および/またはユーザ仮想マシン230が外部機器と通信することを可能にする。
図2に示したのは、802.1x通信を必要とせずに実装可能なオンホストネットワークアクセス制御サーバの例であるが、本開示の実施形態によっては、リモートネットワークアクセス制御サーバを有する環境への実装が可能である。たとえば、図3に示したシステム300では、ネットワークアクセス制御サーバ306が、ホストマシン302から遠く離れている。ホストマシン302は、エージェントプロビジョニングモジュール112および仮想マシン303を含んでいる。エージェントプロビジョニングモジュール112は、エージェント挿入モジュール213およびエージェント起動モジュール214を含んでおり、仮想マシン303は、エージェント116を含んでいる。
ホストマシン302は、コンピュータ実行可能命令を読み取ることが可能な、任意の種類または形式のコンピューティング装置を大まかに表したものである。ホストマシン302の例としては、限定ではなく、ラップトップ、デスクトップ、サーバ、携帯電話、個人用携帯情報端末(PDA)、マルチメディアプレーヤ、埋め込みシステム、これらのうちの1つ以上のものの組み合わせ、図8の例示的コンピューティングシステム810、または他の任意の好適なコンピューティング装置が挙げられる。
ネットワークアクセス制御サーバ306は、アクセス制御モジュール114、ネットワークアクセス制御ポリシーデータベース132、およびレメディエーションデータベース134を含んでいる。ネットワークアクセス制御サーバ306は、エンドポイント装置に対するネットワークアクセス制御を実装および施行することが可能な、任意の種類または形式のコンピューティング装置を大まかに表したものである。ネットワークアクセス制御サーバ306の例としては、限定ではなく、各種のデータベースサービスを提供すること、および/または特定のソフトウェアアプリケーションを動作させることを行うように構成されたアプリケーションサーバおよびデータベースサーバが挙げられる。
ホストマシン302およびネットワークアクセス制御サーバ306は、ネットワーク304を介して互いに通信可能である。ネットワーク304は、通信またはデータ転送を促進することが可能な、任意の媒体またはアーキテクチャを大まかに表したものである。ネットワーク304の例としては、限定ではなく、イントラネット、ワイドエリアネットワーク、ローカルエリアネットワーク、パーソナルエリアネットワーク、インターネット、電力線通信、携帯電話ネットワーク(たとえば、GSMネットワーク)、図9の例示的ネットワークアーキテクチャ900などが挙げられる。ネットワーク304は、無線または有線の接続を用いる通信またはデータ転送を促進する。
図4は、仮想環境においてネットワークアクセス制御を行うための例示的コンピュータ実装方法400のフロー図である。図4に示した各ステップは、任意の好適なコンピュータ実行可能コードおよび/またはコンピューティングシステムによって実施される。実施形態によっては、図4に示した各ステップは、図1のシステム100の各コンポーネント、図2のシステム200、および/または図3のシステム300のうちの1つ以上によって実施される。
図4のステップ402において、本明細書に記載のシステムのうちの1つ以上が、ホストマシン上で動作している仮想マシンにトランジェントセキュリティエージェントを注入する。たとえば、エージェント挿入モジュール213が、ユーザ仮想マシン230にエージェント116を注入する。エージェント挿入モジュール213がユーザ仮想マシン230にエージェント116を注入する方法は、様々である。たとえば、エージェント挿入モジュール213は、制御をユーザ仮想マシン230からエージェント挿入モジュール213に移すことを促進するように構成された1つ以上のコンピュータ実行可能命令を、ユーザ仮想マシン230の例外ハンドラメモリロケーションに挿入する。
エージェント挿入モジュール213は、例外ハンドラロケーションにジャンプ命令または分岐命令を挿入する。このジャンプ命令は、エージェント116にメモリを割り当てるコード(たとえば、メモリ割り当てモジュール)にジャンプする命令であり、制御をエージェント挿入モジュール213に移すことにより、エージェント挿入モジュール213がユーザ仮想マシン230にエージェント116を挿入することを可能にする。このジャンプ命令はまた、他の任意の好適な方法で制御をエージェント挿入モジュール213に移すコードにジャンプする命令でもある。制御をユーザ仮想マシン230からエージェント挿入モジュール213に移すことを促進するように構成された1つ以上のコンピュータ実行可能命令はまた、ジャンプ命令に加えて、またはジャンプ命令の代わりに他の命令を含む場合もある。
エージェント挿入モジュール213はまた、仮想マシン230の実行中に例外をトリガすることにより、例外ハンドラメモリロケーションにある1つ以上のコンピュータ実行可能命令を実行させる。エージェント挿入モジュール213が例外をトリガする方法は、様々である。たとえば、後述するように、エージェント挿入モジュール213は、例外をトリガする命令をユーザ仮想マシン230に挿入することによって例外をトリガする。本開示の実施形態は、メモリ割り当てモジュール(または他の任意の、エージェントの挿入を可能にするように構成されたコード)が挿入されたロケーションに実行を移すことを引き起こす任意の例外を用いて実装可能である。たとえば、エージェント挿入モジュール213は、無効オペコードを有する命令をユーザ仮想マシン230に挿入することにより、「無効オペコード」例外を引き起こすことが可能である。無効オペコードを有する命令が実行されると、無効オペコードハンドラが存在すると予想されるメモリロケーション(すなわち、制御をユーザ仮想マシン230からエージェント挿入モジュール213に移すことを促進するように構成された1つ以上のコンピュータ実行可能命令をエージェント挿入モジュール213が挿入したロケーション(たとえば、例外ハンドラロケーション))に制御が移る。
エージェント挿入モジュール213は、前述のコンピュータ実行可能命令がユーザ仮想マシン230で実行された後に、仮想マシン230から制御を取得する。言い換えると、エージェント挿入モジュール213が制御を取得するのは、ユーザ仮想マシン230ではなくエージェント挿入モジュール213が下層物理システム上で実行された場合である。実施形態によっては、エージェント挿入モジュール213は、例外ハンドラロケーションにあるコンピュータ実行可能命令の実行の直接の結果として制御を取得する。他の実施形態では、例外ハンドラロケーションにある命令が実行されてからエージェント挿入モジュール213が制御を取得するまでの間に、1つ以上のステップが実施される。たとえば、例外ハンドラメモリロケーションにある命令は、挿入されたメモリ割り当てモジュールに制御を移し、そのメモリ割り当てモジュールは、エージェントを挿入してよいメモリ領域のメモリ割り当てを促進する。次に、メモリ割り当てモジュールは、エージェント挿入モジュール213に制御を移す。
エージェント挿入モジュール213は、ユーザ仮想マシン230から制御を取得した後に、エージェント116をユーザ仮想マシン230に挿入する。たとえば、エージェント挿入モジュール213は、メモリ割り当てモジュールによって割り当てられた、ユーザ仮想マシン230のメモリ領域にエージェント116をコピーすることにより、エージェント116をユーザ仮想マシン230に挿入する。このように、エージェント116の配備は、ユーザに対して透過的な様式、および/またはユーザ仮想マシン230のインストールプロセスを含まない様式で行われる。そのような実施形態では、エージェント116はトランジェントエージェントと呼ばれる。これは、エージェント116が、ユーザ仮想マシン230の外部のプロセスによって注入されるためであって、従来のインストールメカニズムでユーザ仮想マシン230にインストールされるのではないためである。トランジェントエージェントは、仮想マシンに永続的にインストールされるのではないため、永続的にインストールされるエージェントよりも攻撃を受けにくい。
仮想マシンにエージェントを挿入することのさらなる詳細および例が、2009年6月3日に出願された米国特許出願第12/477,810号明細書(件名「Methods and Systems for Inserting and Invoking Virtual Appliance Agents」)において開示されており、この開示は本参照によって全体が本明細書に組み込まれている。
図4のステップ404において、本明細書に記載のシステムのうちの1つ以上が、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を、トランジェントセキュリティエージェントから受け取る。たとえば、エージェント起動モジュール214は、エージェント116がユーザ仮想マシン230に挿入された後に、エージェント116を起動して、ユーザ仮想マシン230が1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定する。エージェント116は、ユーザ仮想マシン230のコンプライアンスを評価し、ユーザ仮想マシン230がアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかをアクセス制御モジュール114に通知する。
実施形態によっては、ユーザ仮想マシン230が1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知は、プロセス間通信を介して送られる。たとえば、この通知は、仮想マシン間プロセス(たとえば、任意の通信メカニズムを用いる仮想スイッチ246を介してなされる通信)を介して送られる。別の例では、この通知は、共用メモリページ(たとえば、エージェント116およびアクセス制御モジュール114の両方からアクセス可能なメモリページ)を用いてエージェント116からアクセス制御モジュール114に伝達される。
あるいは、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知は、図3に示した実施形態にあるような、ホストマシンから遠く離れたネットワークアクセス制御サーバにおいて受信される。
図4のステップ406において、本明細書に記載のシステムのうちの1つ以上が、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づいて、仮想マシンのネットワークアクセスを制御する。実施形態によっては、図2に示したように、ネットワーク通信フィルタ242が、ユーザ仮想マシン230のネットワークアクセスを制御する。さらに、または代替として、図3に示したように、ネットワークアクセス制御サーバ306上のアクセス制御モジュール114が、ネットワーク304内の任意の好適なポイントにおいて、仮想マシン303のネットワークアクセスを制御する。
実施形態によっては、トランジェントセキュリティエージェントは、仮想マシンから除去される。たとえば、エージェント116は、不要になった時点で、仮想マシン230および/または303から除去される。実施形態によっては、エージェント116が仮想マシンから除去されるのは、仮想マシンにおいてネットワークアクセスが不要になった時点、エージェント116が仮想マシンのネットワークアクセス制御コンプライアンスを評価した後、および/または、他の任意の好適な時点である。
実施形態によっては、図4のプロセスにおいて記載したように、セキュリティエージェントが注入によって与えられる。さらに、または代替として、インストール、および/または他の任意の好適な、仮想マシン内にソフトウェアを与えるメカニズムにより、セキュリティエージェントが与えられる。図5に示したプロセスは、注入またはインストールされたセキュリティエージェントによって促進されるプロセスの一例である。図5は、仮想環境においてネットワークアクセス制御を行うための例示的コンピュータ実装方法500のフロー図である。図5に示した各ステップは、任意の好適なコンピュータ実行可能コードおよび/またはコンピューティングシステムによって実施される。実施形態によっては、図5に示した各ステップは、図1のシステム100および/または図2のシステム200のコンポーネントのうちの1つ以上によって実施される。
図5のステップ502において、本明細書に記載のシステムのうちの1つ以上が、ホストマシン上で動作している仮想マシンにセキュリティエージェントを与える。たとえば、エージェント挿入モジュール213が、ユーザ仮想マシン230にエージェント116を挿入する。あるいは、エージェントプロビジョニングモジュール112が、ユーザ仮想マシン230に対し、ユーザ仮想マシン230の1つ以上のインストールプロセスを用いてエージェント116をインストールすることを促す。そのような実施形態では、アクセス制御モジュール114は、エージェント116の各ページを監視して、エージェント116が改竄されていないことを確認する。
図5のステップ504において、本明細書に記載のシステムのうちの1つ以上が、ホストマシン上に常駐するも、仮想マシンの外部に位置するネットワーク通信フィルタを与える。たとえば、アクセス制御モジュール114は、システム200上に常駐するも、ユーザ仮想マシン230の外部に位置するネットワーク通信フィルタ242を与える。ネットワーク通信フィルタは、仮想マシンのアドレス指定可能なアドレス空間内で動作していない場合には、仮想マシンの外部にあることになる。たとえば、ハイパーバイザまたは他の任意の、ホストマシンのドメインゼロプロセスに与えられているネットワーク通信フィルタは、ホストマシン上に常駐するも、仮想マシンの外部にあることになる。
図5のステップ506において、本明細書に記載のシステムのうちの1つ以上が、ネットワーク通信フィルタを制御するアクセス制御モジュールにおいて、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を受け取る。たとえば、アクセス制御モジュール114は、ユーザ仮想マシン230が1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを示す情報を、エージェント116から受け取る。この情報は、プロセス間通信を介して送られる。本明細書で用いる「プロセス内通信」という語句は、主に、ホストシステム上の2つのプロセスの間の任意の通信、および/または他の任意の、2つのソフトウェアモジュールの間で情報を搬送するメカニズムによってなされる任意の通信を意味する。既述のように、プロセス間通信の実装には、共用メモリ、仮想マシン間通信、および/または他の任意の好適なモジュール間通信メカニズム(たとえば、ネットワークスタック)を用いる。
図5のステップ508において、本明細書に記載のシステムのうちの1つ以上が、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づき、ネットワーク通信フィルタを使用して仮想マシンのネットワークアクセスを制御する。たとえば、アクセス制御モジュール114は、ユーザ仮想マシン230が1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づき、ネットワーク通信フィルタ242を用いてユーザ仮想マシン230のネットワークアクセスを制御する。この通知によって、ユーザ仮想マシン230が1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成していないことが示された場合、ネットワーク通信フィルタ242は、ユーザ仮想マシン230の1つ以上のネットワーク通信を阻止する。
実施形態によっては、アクセス制御モジュール114は、仮想マシンがネットワークアクセス制御ポリシーに対するコンプライアンスを達成するように、仮想マシンのレメディエーションを試行する。そのような実施形態では、ネットワーク通信フィルタ242は、仮想マシン230が、仮想マシンのレメディエーションに使用される1つ以上のネットワークリソースにアクセスすることを可能にする。たとえば、ネットワーク通信フィルタ242は、ユーザ仮想マシン230が、最新の承認済みのソフトウェアおよびパッチを提供する隔離サーバに接続することを可能にする。
同様に、ネットワーク通信フィルタ242はまた、ユーザ仮想マシン230がネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定する前に、ユーザ仮想マシン230が動的ホスト構成プロトコル(「DHCP」)、軽量ディレクトリアクセスプロトコル(「LDAP」)、および/またはアクティブディレクトリ技術を使用することを可能にする。
図2〜5に対応する議論は、仮想マシンエージェントを用いて仮想マシンのネットワークアクセス制御を行う例を与えるものであった。図6および図7に対応する議論は、仮想環境におけるエージェントレスネットワークアクセス制御の例を与えるものである。図6は、例示的ホストマシン602を示しており、これは、アクセス制御モジュール114と、ネットワーク通信フィルタ242と、エージェントプロビジョニングモジュール112と、ネットワークアクセス制御ポリシーデータベース132と、検査モジュール604とを含んでいる。検査モジュール604は、仮想マシンのリソースを検査して、仮想マシンがネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定するようにプログラムされている。
ホストマシン602は、コンピュータ実行可能命令を読み取ることが可能な、任意の種類または形式のコンピューティング装置を大まかに表したものである。ホストマシン602の例としては、限定ではなく、ラップトップ、デスクトップ、サーバ、携帯電話、個人用携帯情報端末(PDA)、マルチメディアプレーヤ、埋め込みシステム、これらのうちの1つ以上のものの組み合わせ、図8の例示的コンピューティングシステム810、または他の任意の好適なコンピューティング装置が挙げられる。ホストマシン602は、1つ以上の仮想マシン(たとえば、仮想マシン610)を動作させるようにプログラムされている。仮想マシン610のリソースとしては、仮想マシンディスク空間612、仮想マシンメモリ空間614などが挙げられる。
図7は、仮想環境においてネットワークアクセス制御を行うための例示的コンピュータ実装方法700のフロー図である。図7に示した各ステップは、任意の好適なコンピュータ実行可能コードおよび/またはコンピューティングシステムによって実施される。実施形態によっては、図7に示した各ステップは、図1のシステム100および/または図6のシステム600のコンポーネントのうちの1つ以上によって実施される。図7のステップ702において、本明細書に記載のシステムのうちの1つ以上が、ホストマシン上で動作している仮想マシンを識別する。たとえば、アクセス制御モジュール114は、ホストマシン602上で動作している仮想マシン610を識別する。アクセス制御モジュール114は、様々な状況において仮想マシン610を識別する。たとえば、アクセス制御モジュール114が仮想マシン610を識別するのは、仮想マシン610の起動時、仮想マシン610がネットワーク経由の通信を試行したとき、および/または他の任意の好適な時点である。
図7のステップ704において、本明細書に記載のシステムのうちの1つ以上が、ホストマシン上に常駐するも、仮想マシンの外部に位置するネットワーク通信フィルタを与える。たとえば、ホストマシン602は、仮想マシン610からの通信を制御するように構成されたネットワーク通信フィルタ242を含んでいる。
図7のステップ706において、本明細書に記載のシステムのうちの1つ以上が、ホストマシン上でありながら仮想マシンの外部において実行されるプロセスを用いて、仮想マシン上の1つ以上のリソースを検査して、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定する。たとえば、検査モジュール604が、仮想マシン610を検査して、仮想マシン610が1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定する。検査モジュール604は、仮想マシン610の完全に外側で動作する一方、一時的に仮想マシン610内で動作することもある。
検査モジュール604は、仮想マシン610のすべてのリソースを検査して、仮想マシン610が1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定する。たとえば、検査モジュール604は、仮想マシン610の仮想マシンディスク空間612(たとえば、ディスクブロック)および/または仮想マシンメモリ空間614(たとえば、メモリページ)を検査して、仮想マシン610がネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定する。そのような実施形態では、検査モジュール604は、仮想マシン610のリソースの検査結果に基づいて、仮想マシン610のオペレーティングシステムおよび/またはファイルシステムのデータ構造を再構成する。検査モジュール604は、再構成された、オペレーティングシステムおよび/またはファイルシステムのデータ構造を評価して、仮想マシン610がネットワークアクセス制御に対するコンプライアンスを達成しているかどうかを判定する。
一例として、検査モジュール604は、仮想マシン610の仮想マシンディスク空間612を検査して、仮想マシン610に適切なアンチウィルスソフトウェアおよび/または他のセキュリティソフトウェアがインストールされているかどうかを判定する。別の例として、検査モジュールは、仮想マシン610内の仮想マシンディスク空間612を検査して、仮想マシン610に、マルウェアによる損傷の形跡がないかどうかを判定する。
図7のステップ708において、本明細書に記載のシステムのうちの1つ以上が、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を受け取る。たとえば、アクセス制御モジュール114は、仮想マシン610が、ネットワークアクセス制御ポリシーデータベース132で定義されているネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を、検査モジュール604から受け取る。
図7のステップ710において、本明細書に記載のシステムのうちの1つ以上が、仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知に基づき、ネットワーク通信フィルタを使用して仮想マシンのネットワークアクセスを制御する。たとえば、アクセス制御モジュール114は、仮想マシン610がネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかに基づいて、ネットワーク通信フィルタ242を用いて仮想マシン610からの通信を阻止したり、かつ/または許可したりする。
図8は、本明細書に記載かつ/または図示された実施形態のうちの1つ以上を実装することが可能な例示的コンピューティングシステム810のブロック図である。コンピューティングシステム810は、コンピュータ可読命令を実行することが可能な、任意のシングル(またはマルチ)プロセッサコンピューティング装置(またはシステム)を大まかに表したものである。コンピューティングシステム810の例としては、限定ではなく、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散コンピューティングシステム、ハンドヘルド装置、または他の任意のコンピューティングシステム(または装置)が挙げられる。コンピューティングシステム810は、その最も基本的な構成において、少なくとも1つのプロセッサ814と、システムメモリ816とを含んでいる。
プロセッサ814は、データの処理や、命令の解釈および実行を行うことが可能な、任意の種類または形式の処理ユニットを大まかに表したものである。実施形態によっては、プロセッサ814は、ソフトウェアアプリケーションまたはソフトウェアモジュールから命令を受け取る。これらの命令は、本明細書に記載かつ/または図示された例示的実施形態のうちの1つ以上の実施形態の機能をプロセッサ814に実施させる。たとえば、プロセッサ814は、単独で、または他の要素との組み合わせで、本明細書に記載の、注入するステップ、受け取るステップ、制御するステップ、挿入するステップ、トリガするステップ、取得するステップ、除去するステップ、与えるステップ、使用するステップ、レメディエーションを行うステップ、識別するステップ、および/または検査するステップのうちの1つ以上を実施する(かつ/または、実施する手段となる)。プロセッサ814はまた、本明細書に記載かつ/または図示された他の任意のステップ、方法、またはプロセスを実施する(かつ/または、実施する手段となる)。
システムメモリ816は、データおよび/または他のコンピュータ可読命令を記憶することが可能な、任意の種類または形式の揮発性(または不揮発性)記憶装置(または記憶媒体)を大まかに表したものである。システムメモリ816の例としては、限定ではなく、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、または他の任意の好適なメモリ装置が挙げられる。必須ではないが、実施形態によっては、コンピューティングシステム810は、揮発性メモリユニット(たとえば、システムメモリ816など)、および不揮発性記憶装置(たとえば、後で詳述する主記憶装置832など)の両方を含む。一例では、図1のモジュール110のうちの1つ以上が、システムメモリ816にロードされる。
実施形態によっては、例示的コンピューティングシステム810はまた、プロセッサ814およびシステムメモリ816に加えて、1つ以上のコンポーネントまたは要素を含んでいる。たとえば、図8に示したように、コンピューティングシステム810は、メモリコントローラ818と、入出力(I/O)コントローラ820と、通信インタフェース822とを含んでおり、これらは、通信インフラストラクチャ812を介して相互接続されている。通信インフラストラクチャ812は、コンピューティング装置の1つ以上のコンポーネント同士の通信を促進することが可能な、任意の種類または形式のインフラストラクチャを大まかに表したものである。通信インフラストラクチャ812の例としては、限定ではなく、通信バス(たとえば、ISA、PCI、PCIeなどのようなバス)およびネットワークが挙げられる。
メモリコントローラ818は、メモリまたはデータのハンドリング、またはコンピューティングシステム810の1つ以上のコンポーネント同士の通信の制御を行うことが可能な、任意の種類または形式の装置を大まかに表したものである。たとえば、実施形態によっては、メモリコントローラ818は、プロセッサ814、システムメモリ816、およびI/Oコントローラ820の間の、通信インフラストラクチャ812を介した通信を制御する。実施形態によっては、メモリコントローラ818は、単独で、または他の要素との組み合わせで、本明細書に記載かつ/または図示したステップまたは機能(たとえば、注入すること、受け取ること、制御すること、挿入すること、トリガすること、取得すること、除去すること、与えること、使用すること、レメディエーションを行うこと、識別すること、および/または検査すること)のうちの1つ以上を実施する(かつ/または、実施する手段となる)。
I/Oコントローラ820は、コンピューティング装置の入出力機能を調整および/または制御することが可能な、任意の種類または形式のモジュールを大まかに表したものである。たとえば、実施形態によっては、I/Oコントローラ820は、コンピューティングシステム810の1つ以上の要素(たとえば、プロセッサ814、システムメモリ816、通信インタフェース822、ディスプレイアダプタ826、入力インタフェース830、および記憶装置インタフェース834)の間のデータ転送を制御または促進する。たとえば、I/Oコントローラ820は、単独で、または他の要素との組み合わせで、本明細書に記載の、注入するステップ、受け取るステップ、制御するステップ、挿入するステップ、トリガするステップ、取得するステップ、除去するステップ、与えるステップ、使用するステップ、レメディエーションを行うステップ、識別するステップ、および/または検査するステップのうちの1つ以上を実施する(かつ/または、実施する手段となる)ことに用いる。I/Oコントローラ820はまた、本開示において示される他のステップおよび機能を実施する(かつ/または、実施する手段となる)ことにも用いる。
通信インタフェース822は、例示的コンピューティングシステム810と1つ以上のその他の装置との間の通信を促進することが可能な、任意の種類または形式の通信装置または通信アダプタを大まかに表したものである。たとえば、実施形態によっては、通信インタフェース822は、コンピューティングシステム810と、別のコンピューティングシステムを含むプライベートネットワークまたはパブリックネットワークとの間の通信を促進する。通信インタフェース822の例としては、限定ではなく、有線ネットワークインタフェース(たとえば、ネットワークインタフェースカード)、無線ネットワークインタフェース(たとえば、無線ネットワークインタフェースカード)、モデム、および他の任意の好適なインタフェースが挙げられる。少なくとも1つの実施形態では、通信インタフェース822は、ネットワーク(たとえば、インターネット)との直接リンクを介する、リモートサーバとの直接接続を提供する。通信インタフェース822はまた、たとえば、ローカルエリアネットワーク(たとえば、イーサネットネットワーク)、パーソナルエリアネットワーク、電話網またはケーブル網、携帯電話接続、衛星データ接続、または他の任意の好適な接続を介した接続を間接的に提供する。
実施形態によっては、通信インタフェース822はまた、コンピューティングシステム810と、1つ以上のその他のネットワークまたは記憶装置との間の、外部バスまたは通信チャネルを介した通信を促進するように構成されたホストアダプタを表す。ホストアダプタの例としては、限定ではなく、SCSIホストアダプタ、USBホストアダプタ、IEEE1394ホストアダプタ、SATA(およびeSATA)ホストアダプタ、ATA(およびPATA)ホストアダプタ、ファイバチャネルインタフェースアダプタ、イーサネットアダプタなどが挙げられる。通信インタフェース822はまた、コンピューティングシステム810が分散コンピューティングまたはリモートコンピューティングに関与することを可能にする。たとえば、通信インタフェース822は、リモート装置から命令を受信したり、リモート装置に命令を送信して実行させたりする。実施形態によっては、通信インタフェース822は、単独で、または他の要素との組み合わせで、本明細書に記載の、注入するステップ、受け取るステップ、制御するステップ、挿入するステップ、トリガするステップ、取得するステップ、除去するステップ、与えるステップ、使用するステップ、レメディエーションを行うステップ、識別するステップ、および/または検査するステップのうちの1つ以上を実施する(かつ/または、実施する手段となる)。通信インタフェース822はまた、本開示において示される他のステップおよび機能を実施する(かつ/または、実施する手段となる)ことにも用いる。
図8に示したように、コンピューティングシステム810はまた、ディスプレイアダプタ826を介して通信インフラストラクチャ812と結合された、少なくとも1つのディスプレイ装置824を含んでいる。ディスプレイ装置824は、ディスプレイアダプタ826から転送された情報を視覚表示することが可能な、任意の種類および形式の装置を大まかに表したものである。同様に、ディスプレイアダプタ826は、通信インフラストラクチャ812(または当業者には周知のフレームバッファ)からのグラフィックス、テキスト、および他のデータを、ディスプレイ装置824での表示のために転送するように構成された、任意の種類または形式の装置を大まかに表したものである。
図8に示したように、例示的コンピューティングシステム810はまた、入力インタフェース830を介して通信インフラストラクチャ812と結合された、少なくとも1つの入力装置828を含んでいる。入力装置828は、コンピュータまたは人間が生成した入力を例示的コンピューティングシステム810に与えることが可能な、任意の種類または形式の入力装置を大まかに表したものである。入力装置828の例としては、限定ではなく、キーボード、ポインティング装置、音声認識装置、または他の任意の入力装置が挙げられる。少なくとも1つの実施形態では、入力装置828は、単独で、または他の要素との組み合わせで、本明細書に記載の、注入するステップ、受け取るステップ、制御するステップ、挿入するステップ、トリガするステップ、取得するステップ、除去するステップ、与えるステップ、使用するステップ、レメディエーションを行うステップ、識別するステップ、および/または検査するステップのうちの1つ以上を実施する(かつ/または、実施する手段となる)。入力装置828はまた、本開示において示される他のステップおよび機能を実施する(かつ/または、実施する手段となる)ことにも用いる。
図8に示したように、例示的コンピューティングシステム810はまた、主記憶装置832およびバックアップ記憶装置833を含んでおり、これらは、記憶装置インタフェース834を介して通信インフラストラクチャ812と結合されている。記憶装置832および833は、データおよび/または他のコンピュータ可読命令を記憶することが可能な、任意の種類または形式の記憶装置または記憶媒体を大まかに表したものである。たとえば、記憶装置832および833は、磁気ディスクドライブ(たとえば、いわゆるハードドライブ)、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってよい。記憶装置インタフェース834は、記憶装置832および833と、コンピューティングシステム810の他のコンポーネントとの間でデータ転送を行う、任意の種類または形式のインタフェースまたは装置を大まかに表したものである。一例では、図1のデータベース130は、主記憶装置832に記憶される。
実施形態によっては、記憶装置832および833は、コンピュータソフトウェア、データ、または他のコンピュータ可読情報を記憶するように構成されたリムーバブル記憶ユニットにおいて読み出しおよび/または書き込みを行うように構成されている。好適なリムーバブル記憶ユニットの例としては、限定ではなく、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリ装置などが挙げられる。また、記憶装置832および833は、コンピュータシステム810にコンピュータソフトウェア、データ、または他のコンピュータ可読命令をロードすることを可能にする、他の同様の構造または装置を含んでいる。たとえば、記憶装置832および833は、ソフトウェア、データ、または他のコンピュータ可読情報の読み書きを行うように構成されている。記憶装置832および833はまた、コンピューティングシステム810の一部分であってよく、あるいは、他のインタフェースシステムを介してアクセスされる独立した装置であってもよい。
実施形態によっては、記憶装置832および833は、たとえば、単独で、または他の要素との組み合わせで、本明細書に開示の、注入するステップ、受け取るステップ、制御するステップ、挿入するステップ、トリガするステップ、取得するステップ、除去するステップ、与えるステップ、使用するステップ、レメディエーションを行うステップ、識別するステップ、および/または検査するステップのうちの1つ以上を実施する(かつ/または、実施する手段となる)ことに用いる。記憶装置832および833はまた、本開示において示される他のステップおよび機能を実施する(かつ/または、実施する手段となる)ことにも用いる。
コンピューティングシステム810には、他の様々な装置やサブシステムを接続してよい。逆に、本明細書に記載かつ/または図示された実施形態を実践するのに、図8に示したコンポーネントおよび装置がすべて必要というわけではない。上述の装置およびサブシステムは、図8に示したものとは異なる様式で相互接続してもよい。コンピューティングシステム810はまた、任意の数のソフトウェア構成、ファームウェア構成、および/またはハードウェア構成を採用してよい。たとえば、本明細書に開示の例示的実施形態のうちの1つ以上を、コンピュータ可読媒体上でコンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、またはコンピュータ制御論理とも称される)としてコード化してよい。「コンピュータ可読媒体」という語句は、コンピュータ可読命令を記憶または搬送することが可能な、任意の形式の装置、キャリア、または媒体を大まかに意味している。コンピュータ可読媒体の例としては、限定ではなく、伝送型媒体および物理媒体が挙げられ、伝送型媒体は、たとえば、搬送波であり、物理媒体としては、たとえば、磁気記憶媒体(たとえば、ハードディスクドライブやフロッピーディスク)、光記憶媒体(たとえば、CD−ROMやDVD−ROM)、電子記憶媒体(たとえば、固体ドライブやフラッシュ媒体)、または他の分配システムが挙げられる。
コンピュータプログラムを収容するコンピュータ可読媒体は、コンピュータシステム810にロードされる。その、コンピュータ可読媒体に記憶されているコンピュータプログラムのすべてまたは一部分が、システムメモリ816、および/または記憶装置832および833の様々な部分に記憶される。コンピューティングシステム810にロードされたコンピュータプログラムは、プロセッサ814によって実行されると、本明細書に記載および/または図示された例示的実施形態のうちの1つ以上の実施形態の機能をプロセッサ814に実施させるか、かつ/または、プロセッサ814を、それらの機能を実施する手段にする。さらに、または代替として、本明細書に記載または図示された例示的実施形態のうちの1つ以上を、ファームウェアおよび/またはハードウェアの形で実装する。たとえば、コンピューティングシステム810は、本明細書に開示の例示的実施形態のうちの1つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成可能である。
図9は、例示的ネットワークアーキテクチャ900のブロック図である。ここでは、クライアントシステム910、920、および930と、サーバ940および945とがネットワーク950と結合されている。クライアントシステム910、920、および930は、任意の種類または形式のコンピューティング装置またはコンピューティングシステム(たとえば、図8の例示的コンピューティングシステム810)を大まかに表したものである。一例では、クライアントシステム910は、図1のシステム100を含んでいる。
同様に、サーバ940および945は、様々なデータベースサービスを提供したり、かつ/または、特定のソフトウェアアプリケーションを動作させたりするように構成されたコンピューティング装置またはコンピューティングシステム(たとえば、アプリケーションサーバやデータベースサーバ)を大まかに表したものである。ネットワーク950は、任意の電気通信ネットワークまたはコンピュータネットワークを大まかに表したものであり、例としては、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、またはインターネットが挙げられる。
図9に示したように、1つ以上の記憶装置960(1)−(N)が、サーバ940に直接接続されている。同様に、1つ以上の記憶装置970(1)−(N)が、サーバ945に直接接続されている。記憶装置960(1)−(N)および記憶装置970(1)−(N)は、データおよび/または他のコンピュータ可読命令を記憶することが可能な、任意の種類または形式の記憶装置または記憶媒体を大まかに表したものである。実施形態によっては、記憶装置960(1)−(N)および記憶装置970(1)−(N)は、様々なプロトコル(たとえば、NFS、SMB、またはCIFS)を用いてサーバ940および945と通信するように構成されたネットワーク接続記憶(NAS)装置を表している。
[0001]サーバ940および945はまた、記憶エリアネットワーク(SAN)ファブリック980に接続されている。SANファブリック980は、複数の記憶装置同士の通信を促進することが可能な、任意の種類または形式のコンピュータネットワークまたはコンピュータアーキテクチャを大まかに表したものである。SANファブリック980は、サーバ940および945と、複数の記憶装置990(1)−(N)および/またはインテリジェント記憶装置アレイ995との間の通信を促進する。SANファブリック980はまた、ネットワーク950とサーバ940および945とを介して、クライアントシステム910、920、および930と、記憶装置990(1)−(N)および/またはインテリジェント記憶装置アレイ995との間の通信を促進する。これは、記憶装置990(1)−(N)およびアレイ995が、クライアント910、920、および930から、ローカル接続された装置として見えるように行われる。記憶装置960(1)−(N)および記憶装置970(1)−(N)の場合と同様に、記憶装置990(1)−(N)およびインテリジェント記憶装置アレイ995は、データおよび/または他のコンピュータ可読命令を記憶することが可能な、任意の種類または形式の記憶装置または記憶媒体を大まかに表したものである。
実施形態によっては、また、図8の例示的コンピューティングシステム810を参照すると、通信インタフェース(たとえば、図8の通信インタフェース822)は、各クライアントシステム910、920、および930とネットワーク950との間の接続性を与えることに使用される。クライアントシステム910、920、および930は、サーバ940または945にある情報に、たとえば、ウェブブラウザまたは他のクライアントソフトウェアを用いてアクセスすることが可能である。そのようなソフトウェアは、クライアントシステム910、920、および930が、サーバ940、サーバ945、記憶装置960(1)−(N)、記憶装置970(1)−(N)、記憶装置990(1)−(N)、またはインテリジェント記憶装置アレイ995によってホストされているデータにアクセスすることを可能にする。図9ではデータ交換にネットワーク(たとえば、インターネット)を使用することを示しているが、本明細書に記載および/または図示された実施形態は、インターネットまたは何らかの特定のネットワークベースの環境に限定されない。
少なくとも1つの実施形態では、本明細書に開示の例示的実施形態のうちの1つ以上の実施形態のすべてまたは一部分を、コンピュータプログラムとしてコード化し、サーバ940、サーバ945、記憶装置960(1)−(N)、記憶装置970(1)−(N)、記憶装置990(1)−(N)、インテリジェント記憶装置アレイ995、またはこれらの任意の組み合わせにロードし、これらに実行させる。また、本明細書に開示の例示的実施形態のうちの1つ以上の実施形態のすべてまたは一部分を、やはりコンピュータプログラムとしてコード化し、サーバ940に記憶させ、サーバ945で動作させ、ネットワーク950を介してクライアントシステム910、920、および930に分配してもよい。したがって、ネットワークアーキテクチャ900は、単独で、または他の要素との組み合わせで、本明細書に開示の、注入するステップ、受け取るステップ、制御するステップ、挿入するステップ、トリガするステップ、取得するステップ、除去するステップ、与えるステップ、使用するステップ、レメディエーションを行うステップ、識別するステップ、および/または検査するステップのうちの1つ以上を実施する(かつ/または、実施する手段となる)。ネットワークアーキテクチャ900はまた、本開示において示される他のステップおよび機能を実施する(かつ/または、実施する手段となる)ことにも用いる。
上述のように、コンピューティングシステム810、および/またはネットワークアーキテクチャ900の1つ以上のコンポーネントは、単独で、または他の要素との組み合わせで、仮想環境においてネットワークアクセス制御を行うための例示的方法の1つ以上のステップを実施する(かつ/または、実施する手段となる)。
前述の開示は、具体的なブロック図、フローチャート、および実施例を用いて各種実施形態を説明しているが、本明細書に記載かつ/または図示された、ブロック図の各コンポーネント、フローチャートの各ステップ、各動作、および/または各コンポーネントは、広範なハードウェア構成、ソフトウェア構成、またはファームウェア構成(またはこれらの組み合わせの構成)を用いて、個別に、かつ/またはひとまとめにして実装してよい。さらに、他のコンポーネントに含まれるコンポーネントのいかなる開示も、本質的に例示的であると見なされたい。これは、他の様々なアーキテクチャの実装によっても同じ機能性が達成可能であるためである。
本明細書に記載かつ/または図示されたプロセスパラメータおよびステップのシーケンスは、実施例としてのみ与えられており、必要に応じて変更可能である。たとえば、本明細書に図示かつ/または記載された各ステップは、特定の順序で図示または説明されているが、これらのステップを実施する順序は、必ずしも、図示または説明されたとおりでなくてもよい。本明細書に記載および/または図示された各種の例示的方法は、本明細書に記載または図示されたステップのうちの1つ以上を省略してもよく、開示されたステップに加えて新たなステップを含んでもよい。
本明細書では、完全に機能するコンピューティングシステムの文脈で各種実施形態を記載および/または図示してきたが、これらの例示的実施形態のうちの1つ以上は、様々な形式のプログラム製品として配布してよく、この配布を実際に行う際に用いるコンピュータ可読媒体の具体的な種類は問わない。本明細書に開示の実施形態はまた、特定タスクを実施するソフトウェアを用いて実装してよい。このようなソフトウェアモジュールは、スクリプト、バッチ、または他の、コンピュータ可読記憶媒体またはコンピューティングシステムに記憶可能な実行可能ファイルを含んでよい。実施形態によっては、このようなソフトウェアモジュールは、コンピューティングシステムを、本明細書に開示の例示的実施形態のうちの1つ以上を実施するように構成してよい。
さらに、本明細書に記載のモジュールのうちの1つ以上が、データ、物理装置、および/または物理装置の表現を、ある形式から別の形式に変換してよい。たとえば、本明細書に開示のモジュールのうちの1つ以上が、ホスト装置をネットワークアクセス制御サーバに変換することを、そのホスト装置上の仮想マシンの通信をネットワーク通信フィルタでフィルタリングすることにより行ってよい。
前述の説明は、当業者が本明細書に開示の例示的実施形態の各種態様を最大限利用できることを目的としたものである。この例示的説明は、網羅的であることを意図したものではなく、また、開示されたどの厳密な形式にも限定されるものではない。本開示の趣旨および範囲から逸脱することなく、様々な修正および変更が可能である。本明細書に開示の実施形態は、あらゆる点で説明的であって、制限的ではないと見なされたい。本開示の範囲を確定するには、添付の特許請求の範囲ならびにこれらの均等物を参照されたい。
特に断らない限り、本明細書および特許請求の範囲で用いる用語「a」または「an」は、「〜のうちの少なくとも1つ」を意味するものと解釈されたい。さらに、使いやすさのために、本明細書および特許請求の範囲で用いる「including(含む)」および「having(有する)」という単語は、区別なく使用されており、「comprising(備える)」という単語と同じ意味を有する。

Claims (15)

  1. 仮想環境においてネットワークアクセス制御を行うコンピュータ実装方法であって、前記方法の少なくとも一部分は、少なくとも1つのプロセッサを備えるコンピューティング装置によって実施され、
    ホストマシン上で動作している仮想マシンにトランジェントセキュリティエージェントを注入するステップと、
    前記仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を、前記トランジェントセキュリティエージェントから受け取るステップと、
    前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知に基づいて、前記仮想マシンのネットワークアクセスを制御するステップと、
    前記通知を受け取ったことに応じて、前記仮想マシンから前記トランジェントセキュリティエージェントを除去するステップと、を含む、
    方法。
  2. 前記トランジェントセキュリティエージェントは、前記ホストマシン上の注入モジュールによって前記仮想マシンに注入される、
    請求項1に記載の方法。
  3. 前記仮想マシンに前記トランジェントセキュリティエージェントを注入する前記ステップは、
    前記仮想マシンから前記注入モジュールに制御を移すことを促進するように構成された1つ以上のコンピュータ実行可能命令を、前記仮想マシンの例外ハンドラメモリロケーションに挿入するステップと、
    前記仮想マシンの実行中に例外をトリガして、前記例外ハンドラメモリロケーションにある前記1つ以上のコンピュータ実行可能命令を実行させるステップと、
    前記少なくとも1つのコンピュータ実行可能命令が実行された後に前記仮想マシンから制御を取得するステップと、
    前記仮想マシンに前記トランジェントセキュリティエージェントを挿入するステップと、
    を含む、請求項2に記載の方法。
  4. 前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知は、前記ホストマシン上のネットワークアクセス制御モジュールにおいて受け取られ、
    前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知は、プロセス間通信を介して、前記ネットワークアクセス制御モジュールに送られ、
    前記ネットワークアクセス制御モジュールは、ネットワーク通信フィルタを備え、前記ネットワーク通信フィルタは、前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知に基づいて、前記仮想マシンのネットワークアクセスを制御する、
    請求項1に記載の方法。
  5. 前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知は、前記ホストマシンから遠く離れているネットワークアクセス制御サーバにおいて受け取られ、
    前記ネットワークアクセス制御サーバは、前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知に基づいて、前記仮想マシンのネットワークアクセスを制御する、
    請求項1に記載の方法。
  6. 前記通知は、前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成していないことを通知するものであり、
    前記仮想マシンのレメディエーションを行うステップをさらに含む、
    請求項1に記載の方法。
  7. 前記レメディエーションは、前記仮想マシンのユーザに対して透過的である、
    請求項6に記載の方法。
  8. 仮想環境においてネットワークアクセス制御を行うシステムであって
    ホストマシン上で実行されている仮想マシンにトランジェントセキュリティエージェントを注入する、メモリに記憶されたエージェント挿入モジュールと、
    記仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を前記トランジェントセキュリティエージェントから受け取る、メモリに記憶されたエージェント起動モジュールと、
    メモリに記憶されたアクセス制御モジュールであって、
    記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知に基づいて、前記仮想マシンのネットワークアクセスを制御
    前記通知を受け取ることに応じて、前記トランジェントセキュリティエージェントを前記仮想マシンから除去する、アクセス制御モジュールと、
    前記エージェント挿入モジュールと前記エージェント起動モジュールと前記アクセス制御モジュールとを実行するよう構成された少なくとも1つのハードウェアプロセッサと、
    を含むシステム。
  9. 前記仮想マシンから制御を移すことを促進するように構成された1つ以上のコンピュータ実行可能命令を、前記仮想マシンの例外ハンドラメモリロケーションに挿入し、
    前記仮想マシンの実行中に例外をトリガして、前記例外ハンドラメモリロケーションにある前記1つ以上のコンピュータ実行可能命令を実行させ、
    前記少なくとも1つのコンピュータ実行可能命令が実行された後に前記仮想マシンから制御を取得し、
    前記仮想マシンに前記トランジェントセキュリティエージェントを挿入する、
    ことによって、前記エージェント挿入モジュールは前記仮想マシンに前記トランジェントセキュリティエージェントを注入する、
    請求項8に記載のシステム。
  10. 前記通知は、前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成していないことを通知するものであり、
    前記アクセス制御モジュールは前記仮想マシンのレメディエーションを行う、
    請求項8に記載のシステム
  11. 前記レメディエーションは、前記仮想マシンのユーザに対して透過的である、
    請求項10に記載のシステム
  12. 前記アクセス制御モジュールは、ネットワーク通信フィルタを使用して前記仮想マシンの1つ以上のネットワーク通信を阻止することによって、前記仮想マシンの前記ネットワークアクセスを制御する、
    請求項8に記載のシステム
  13. 仮想環境においてネットワークアクセス制御を行うコンピュータ実装方法であって、前記方法の少なくとも一部分は、少なくとも1つのプロセッサを備えるコンピューティング装置によって実施され、
    ホストマシン上で動作している仮想マシンを識別するステップと、
    前記ホストマシン上に常駐するも、前記仮想マシンの外部に位置するネットワーク通信フィルタを与えるステップと、
    前記ホストマシン上で実行されていて、前記仮想マシンの外部に位置するプロセスを用いて、前記仮想マシンの1つ以上のリソースを検査するステップと、
    前記仮想マシンのリソースの前記検査の結果に基づいて、前記仮想マシンのオペレーティングシステムおよび/またはファイルシステムのデータ構造を再構成するステップと、
    前記再構成された、オペレーティングシステムおよび/またはファイルシステムのデータ構造を評価して、前記仮想マシンが1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかを判定するステップと、
    前記ネットワーク通信フィルタを制御するアクセス制御モジュールにおいて、前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの通知を受け取るステップと、
    前記ネットワーク通信フィルタを使用して、前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成しているかどうかの前記通知に基づいて、前記仮想マシンのネットワークアクセスを制御するステップと、
    を含む方法。
  14. 前記仮想マシンの前記1つ以上のリソースを検査する前記ステップは、前記仮想マシンのディスク空間およびメモリの読み出しを行うステップを含む、
    請求項13に記載の方法。
  15. 前記通知は、前記仮想マシンが前記1つ以上のネットワークアクセス制御ポリシーに対するコンプライアンスを達成していないことを通知するものであり、
    前記ネットワーク通信フィルタは、前記仮想マシンの1つ以上のネットワーク通信を阻止することにより、前記仮想マシンのネットワークアクセスを制御する、
    請求項13に記載の方法。
JP2015159919A 2010-03-15 2015-08-13 仮想環境においてネットワークアクセス制御を行うシステムおよび方法 Active JP5978365B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/724,414 2010-03-15
US12/724,414 US8938782B2 (en) 2010-03-15 2010-03-15 Systems and methods for providing network access control in virtual environments

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013500041A Division JP2013522761A (ja) 2010-03-15 2010-12-28 仮想環境においてネットワークアクセス制御を行うシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2016006670A JP2016006670A (ja) 2016-01-14
JP5978365B2 true JP5978365B2 (ja) 2016-08-24

Family

ID=43733942

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013500041A Pending JP2013522761A (ja) 2010-03-15 2010-12-28 仮想環境においてネットワークアクセス制御を行うシステムおよび方法
JP2015159919A Active JP5978365B2 (ja) 2010-03-15 2015-08-13 仮想環境においてネットワークアクセス制御を行うシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013500041A Pending JP2013522761A (ja) 2010-03-15 2010-12-28 仮想環境においてネットワークアクセス制御を行うシステムおよび方法

Country Status (5)

Country Link
US (1) US8938782B2 (ja)
EP (1) EP2548149A1 (ja)
JP (2) JP2013522761A (ja)
CN (1) CN102792307B (ja)
WO (1) WO2011115655A1 (ja)

Families Citing this family (247)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8281363B1 (en) * 2008-03-31 2012-10-02 Symantec Corporation Methods and systems for enforcing network access control in a virtual environment
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
WO2011142753A1 (en) * 2010-05-12 2011-11-17 Hewlett-Packard Development Company, L.P. Methods, apparatus and articles of manufacture to update virtual machine templates
US8010992B1 (en) * 2010-07-14 2011-08-30 Domanicom Corp. Devices, systems, and methods for providing increased security when multiplexing one or more services at a customer premises
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US9292324B2 (en) * 2011-02-18 2016-03-22 Telefonaktiebolaget L M Ericsson (Publ) Virtual machine supervision by machine code rewriting to inject policy rule
JP5505654B2 (ja) * 2011-04-04 2014-05-28 日本電気株式会社 検疫ネットワークシステム及び検疫方法
US8881258B2 (en) 2011-08-24 2014-11-04 Mcafee, Inc. System, method, and computer program for preventing infections from spreading in a network environment using dynamic application of a firewall policy
US8959572B2 (en) 2011-10-28 2015-02-17 Google Inc. Policy enforcement of client devices
US8813169B2 (en) * 2011-11-03 2014-08-19 Varmour Networks, Inc. Virtual security boundary for physical or virtual network devices
US9529995B2 (en) 2011-11-08 2016-12-27 Varmour Networks, Inc. Auto discovery of virtual machines
US9787681B2 (en) 2012-01-06 2017-10-10 Optio Labs, Inc. Systems and methods for enforcing access control policies on privileged accesses for mobile devices
US9609020B2 (en) * 2012-01-06 2017-03-28 Optio Labs, Inc. Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
US9712530B2 (en) 2012-01-06 2017-07-18 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
US9256742B2 (en) 2012-01-30 2016-02-09 Intel Corporation Remote trust attestation and geo-location of servers and clients in cloud computing environments
CN104081713B (zh) * 2012-01-30 2018-08-17 英特尔公司 云计算环境中的服务器和客户机的远程信任认证和地理位置
US9032014B2 (en) * 2012-02-06 2015-05-12 Sap Se Diagnostics agents for managed computing solutions hosted in adaptive environments
CN103379481B (zh) * 2012-04-26 2015-05-06 腾讯科技(深圳)有限公司 一种实现安全防护的方法
EP2696303B1 (en) * 2012-08-03 2017-05-10 Alcatel Lucent Mandatory access control (MAC) in virtual machines
US9509553B2 (en) * 2012-08-13 2016-11-29 Intigua, Inc. System and methods for management virtualization
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9773107B2 (en) 2013-01-07 2017-09-26 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US20140282992A1 (en) 2013-03-13 2014-09-18 Optio Labs, Inc. Systems and methods for securing the boot process of a device using credentials stored on an authentication token
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
JP6036464B2 (ja) * 2013-03-26 2016-11-30 富士通株式会社 プログラム、診断方法及び診断システム
US9336384B2 (en) * 2013-04-24 2016-05-10 Symantec Corporation Systems and methods for replacing application methods at runtime
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
GB2515757A (en) 2013-07-02 2015-01-07 Ibm Managing virtual machine policy compliance
US20150052614A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation Virtual machine trust isolation in a cloud environment
US20150058926A1 (en) * 2013-08-23 2015-02-26 International Business Machines Corporation Shared Page Access Control Among Cloud Objects In A Distributed Cloud Environment
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
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US10033693B2 (en) 2013-10-01 2018-07-24 Nicira, Inc. Distributed identity-based firewalls
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9223964B2 (en) * 2013-12-05 2015-12-29 Mcafee, Inc. Detecting JAVA sandbox escaping attacks based on JAVA bytecode instrumentation and JAVA method hooking
US9438506B2 (en) * 2013-12-11 2016-09-06 Amazon Technologies, Inc. Identity and access management-based access control in virtual networks
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9740857B2 (en) 2014-01-16 2017-08-22 Fireeye, Inc. Threat-aware microvisor
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9560081B1 (en) 2016-06-24 2017-01-31 Varmour Networks, Inc. Data network microsegmentation
US9973472B2 (en) 2015-04-02 2018-05-15 Varmour Networks, Inc. Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
US10091238B2 (en) 2014-02-11 2018-10-02 Varmour Networks, Inc. Deception using distributed threat detection
US10264025B2 (en) 2016-06-24 2019-04-16 Varmour Networks, Inc. Security policy generation for virtualization, bare-metal server, and cloud computing environments
JP2015166952A (ja) * 2014-03-04 2015-09-24 順子 杉中 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
RU2580030C2 (ru) 2014-04-18 2016-04-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ распределения задач антивирусной проверки между виртуальными машинами в виртуальной сети
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
CN104601568B (zh) * 2015-01-13 2019-05-21 深信服科技股份有限公司 虚拟化安全隔离方法和装置
US10095534B2 (en) * 2015-02-24 2018-10-09 Red Hat Israel, Ltd. Guest controlled virtual device packet filtering
US10193929B2 (en) 2015-03-13 2019-01-29 Varmour Networks, Inc. Methods and systems for improving analytics in distributed networks
US9467476B1 (en) 2015-03-13 2016-10-11 Varmour Networks, Inc. Context aware microsegmentation
US10178070B2 (en) 2015-03-13 2019-01-08 Varmour Networks, Inc. Methods and systems for providing security to distributed microservices
US9609026B2 (en) 2015-03-13 2017-03-28 Varmour Networks, Inc. Segmented networks that implement scanning
US9294442B1 (en) 2015-03-30 2016-03-22 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9438634B1 (en) 2015-03-13 2016-09-06 Varmour Networks, Inc. Microsegmented networks that implement vulnerability scanning
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US10009381B2 (en) 2015-03-30 2018-06-26 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US9380027B1 (en) 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9525697B2 (en) 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
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
US10140140B2 (en) 2015-06-30 2018-11-27 Microsoft Technology Licensing, Llc Cloud virtual machine customization using extension framework
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
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
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
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10395029B1 (en) 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US9553891B1 (en) 2015-07-27 2017-01-24 Bank Of America Corporation Device blocking tool
US9736152B2 (en) 2015-07-27 2017-08-15 Bank Of America Corporation Device blocking tool
US9628480B2 (en) 2015-07-27 2017-04-18 Bank Of America Corporation Device blocking tool
WO2017019061A1 (en) 2015-07-29 2017-02-02 Hewlett Packard Enterprise Development Lp Firewall to determine access to a portion of memory
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US9483317B1 (en) 2015-08-17 2016-11-01 Varmour Networks, Inc. Using multiple central processing unit cores for packet forwarding in virtualized networks
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10324746B2 (en) 2015-11-03 2019-06-18 Nicira, Inc. Extended context delivery for context-based authorization
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10191758B2 (en) 2015-12-09 2019-01-29 Varmour Networks, Inc. Directing data traffic between intra-server virtual machines
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US9965313B2 (en) 2016-01-05 2018-05-08 Bitdefender IPR Management Ltd. Systems and methods for auditing a virtual machine
US9762599B2 (en) 2016-01-29 2017-09-12 Varmour Networks, Inc. Multi-node affinity-based examination for computer network security remediation
US9680852B1 (en) 2016-01-29 2017-06-13 Varmour Networks, Inc. Recursive multi-layer examination for computer network security remediation
US9521115B1 (en) 2016-03-24 2016-12-13 Varmour Networks, Inc. Security policy generation using container metadata
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US9787639B1 (en) 2016-06-24 2017-10-10 Varmour Networks, Inc. Granular segmentation using events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10755334B2 (en) 2016-06-30 2020-08-25 Varmour Networks, Inc. Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors
US10938837B2 (en) * 2016-08-30 2021-03-02 Nicira, Inc. Isolated network stack to manage security for virtual machines
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
KR102511451B1 (ko) 2016-11-09 2023-03-17 삼성전자주식회사 리치 실행 환경에서 보안 어플리케이션을 안전하게 실행하는 컴퓨팅 시스템
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10803173B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Performing context-rich attribute-based process control services on a host
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
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
US10812451B2 (en) 2016-12-22 2020-10-20 Nicira, Inc. Performing appID based firewall services on a host
US10805332B2 (en) 2017-07-25 2020-10-13 Nicira, Inc. Context engine model
US10802858B2 (en) 2016-12-22 2020-10-13 Nicira, Inc. Collecting and processing contextual attributes on a host
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10511631B2 (en) * 2017-01-25 2019-12-17 Microsoft Technology Licensing, Llc Safe data access through any data channel
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
CN110461452B (zh) 2017-03-24 2022-06-24 旭化成株式会社 膜蒸馏用多孔质膜和膜蒸馏用组件的运转方法
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10567379B2 (en) 2017-06-26 2020-02-18 Bank Of America Corporation Network switch port access control and information security
US10462134B2 (en) 2017-06-26 2019-10-29 Bank Of America Corporation Network device removal for access control and information security
US10484380B2 (en) 2017-06-26 2019-11-19 Bank Of America Corporation Untrusted network device identification and removal for access control and information security
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10567433B2 (en) 2017-07-06 2020-02-18 Bank Of America Corporation Network device authorization for access control and information security
US10609064B2 (en) 2017-07-06 2020-03-31 Bank Of America Corporation Network device access control and information security
US10462141B2 (en) 2017-07-26 2019-10-29 Bank Of America Corporation Network device information validation for access control and information security
US10375076B2 (en) 2017-07-26 2019-08-06 Bank Of America Corporation Network device location information validation for access control and information security
US10320804B2 (en) 2017-07-26 2019-06-11 Bank Of America Corporation Switch port leasing for access control and information security
US10469449B2 (en) 2017-07-26 2019-11-05 Bank Of America Corporation Port authentication control for access control and information security
US10383031B2 (en) 2017-07-28 2019-08-13 Bank Of America Corporation Zone-based network device monitoring using a distributed wireless network
US10104638B1 (en) 2017-07-28 2018-10-16 Bank Of America Corporation Network device location detection and monitoring using a distributed wireless network
US10609672B2 (en) 2017-07-28 2020-03-31 Bank Of America Corporation Network device navigation using a distributed wireless network
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US10802893B2 (en) 2018-01-26 2020-10-13 Nicira, Inc. Performing process control services on endpoint machines
US10862773B2 (en) 2018-01-26 2020-12-08 Nicira, Inc. Performing services on data messages associated with endpoint machines
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US11055444B2 (en) * 2018-06-20 2021-07-06 NortonLifeLock Inc. Systems and methods for controlling access to a peripheral device
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11743290B2 (en) 2018-12-21 2023-08-29 Fireeye Security Holdings Us Llc System and method for detecting cyberattacks impersonating legitimate sources
US11176251B1 (en) 2018-12-21 2021-11-16 Fireeye, Inc. Determining malware via symbolic function hash analysis
US11601444B1 (en) 2018-12-31 2023-03-07 Fireeye Security Holdings Us Llc Automated system for triage of customer issues
EP3694174B1 (en) * 2019-02-07 2021-09-01 AO Kaspersky Lab Systems and methods for protecting automated systems using a gateway
US11310238B1 (en) 2019-03-26 2022-04-19 FireEye Security Holdings, Inc. System and method for retrieval and analysis of operational data from customer, cloud-hosted virtual resources
US11677786B1 (en) 2019-03-29 2023-06-13 Fireeye Security Holdings Us Llc System and method for detecting and protecting against cybersecurity attacks on servers
US11636198B1 (en) 2019-03-30 2023-04-25 Fireeye Security Holdings Us Llc System and method for cybersecurity analyzer update and concurrent management system
US11290493B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Template-driven intent-based security
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
US11310284B2 (en) 2019-05-31 2022-04-19 Varmour Networks, Inc. Validation of cloud security policies
US11290494B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Reliability prediction for cloud security policies
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
US11838300B1 (en) 2019-12-24 2023-12-05 Musarubra Us Llc Run-time configurable cybersecurity system
US11436327B1 (en) 2019-12-24 2022-09-06 Fireeye Security Holdings Us Llc System and method for circumventing evasive code for cyberthreat detection
US11522884B1 (en) 2019-12-24 2022-12-06 Fireeye Security Holdings Us Llc Subscription and key management system
US11539718B2 (en) 2020-01-10 2022-12-27 Vmware, Inc. Efficiently performing intrusion detection
US11108728B1 (en) 2020-07-24 2021-08-31 Vmware, Inc. Fast distribution of port identifiers for rule processing
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2378535A (en) 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US7249187B2 (en) * 2002-11-27 2007-07-24 Symantec Corporation Enforcement of compliance with network security policies
US7757231B2 (en) 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US8706877B2 (en) * 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7647589B1 (en) 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
US8572604B2 (en) 2005-11-12 2013-10-29 Intel Corporation Method and apparatus to support virtualization with code patches
US8887241B2 (en) * 2006-02-22 2014-11-11 International Business Machines Corporation Virtual roles
US8886929B2 (en) 2006-03-29 2014-11-11 Intel Corporation Generating a chain of trust for a virtual endpoint
JP2008077558A (ja) 2006-09-25 2008-04-03 Mitsubishi Electric Corp 検疫ネットワークシステム
WO2008039506A2 (en) * 2006-09-27 2008-04-03 Cipheroptics, Inc. Deploying group vpns and security groups over an end-to-end enterprise network and ip encryption for vpns
US9038062B2 (en) 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US20090007100A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Suspending a Running Operating System to Enable Security Scanning
CN101334825B (zh) * 2007-06-29 2011-08-24 联想(北京)有限公司 应用程序管理和运行系统及方法
US20090007218A1 (en) 2007-06-30 2009-01-01 Hubbard Scott M Switched-Based Network Security
JP5387415B2 (ja) 2007-12-26 2014-01-15 日本電気株式会社 仮想計算機システム、ポリシ強制システム、ポリシ強制方法及び仮想計算機制御用プログラム
WO2009087702A1 (ja) * 2008-01-09 2009-07-16 Fujitsu Limited 仮想マシン実行プログラム、ユーザ認証プログラムおよび情報処理装置
US9015704B2 (en) * 2008-03-24 2015-04-21 International Business Machines Corporation Context agent injection using virtual machine introspection
US20090328030A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Installing a management agent with a virtual machine
US9910688B2 (en) 2008-11-28 2018-03-06 Red Hat, Inc. Implementing aspects with callbacks in virtual machines
US8225317B1 (en) 2009-04-17 2012-07-17 Symantec Corporation Insertion and invocation of virtual appliance agents through exception handling regions of virtual machines
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system

Also Published As

Publication number Publication date
JP2016006670A (ja) 2016-01-14
CN102792307A (zh) 2012-11-21
WO2011115655A1 (en) 2011-09-22
US8938782B2 (en) 2015-01-20
CN102792307B (zh) 2015-09-02
EP2548149A1 (en) 2013-01-23
JP2013522761A (ja) 2013-06-13
US20110225624A1 (en) 2011-09-15

Similar Documents

Publication Publication Date Title
JP5978365B2 (ja) 仮想環境においてネットワークアクセス制御を行うシステムおよび方法
JP6166839B2 (ja) 実行時のアプリケーションメソッドを置き換えるためのシステム及び方法
CN107949846B (zh) 恶意线程挂起的检测
US9223966B1 (en) Systems and methods for replicating computing system environments
US9009836B1 (en) Security architecture for virtual machines
EP3692440B1 (en) Systems and methods for preventing malicious applications from exploiting application services
US8490086B1 (en) Filtering I/O communication of guest OS by inserting filter layer between hypervisor and VM and between hypervisor and devices
EP2864876B1 (en) Systems and methods involving features of hardware virtualization such as separation kernel hypervisors, hypervisors, hypervisor guest context, hypervisor context, rootkit detection/prevention, and/or other features
EP3335146B1 (en) Systems and methods for detecting unknown vulnerabilities in computing processes
US20150271139A1 (en) Below-OS Security Solution For Distributed Network Endpoints
US9111089B1 (en) Systems and methods for safely executing programs
US20130333033A1 (en) Software protection mechanism
US8910155B1 (en) Methods and systems for injecting endpoint management agents into virtual machines
US9813443B1 (en) Systems and methods for remediating the effects of malware
JP2011070654A (ja) アンチマルウェアを有するコンピュータシステムおよび方法
US9330254B1 (en) Systems and methods for preventing the installation of unapproved applications
US9912528B2 (en) Security content over a management band
Wueest Threats to virtual environments
US10803167B1 (en) Systems and methods for executing application launchers
US9942268B1 (en) Systems and methods for thwarting unauthorized attempts to disable security managers within runtime environments
US9552481B1 (en) Systems and methods for monitoring programs
US10846405B1 (en) Systems and methods for detecting and protecting against malicious software
US10243963B1 (en) Systems and methods for generating device-specific security policies for applications
Aarseth Security in cloud computing and virtual environments

Legal Events

Date Code Title Description
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: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5978365

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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