JP5736090B2 - 仮想ゲストのメモリ保護の方法、システムおよびコンピュータプログラム - Google Patents
仮想ゲストのメモリ保護の方法、システムおよびコンピュータプログラム Download PDFInfo
- Publication number
- JP5736090B2 JP5736090B2 JP2014517066A JP2014517066A JP5736090B2 JP 5736090 B2 JP5736090 B2 JP 5736090B2 JP 2014517066 A JP2014517066 A JP 2014517066A JP 2014517066 A JP2014517066 A JP 2014517066A JP 5736090 B2 JP5736090 B2 JP 5736090B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- guest
- virtual guest
- computing system
- memory
- 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
Links
- 238000000034 method Methods 0.000 title claims description 55
- 238000004590 computer program Methods 0.000 title claims description 8
- 230000004044 response Effects 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 8
- 238000013508 migration Methods 0.000 claims 1
- 230000005012 migration Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 32
- 230000008901 benefit Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 230000001010 compromised effect Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000011835 investigation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6281—Protecting 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 at program execution time, where the protection is within the operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
105:ホスト・コンピューティング・システム
110:仮想マシン・マネージャ
115a、115b:仮想マシン
120a、120b:仮想ゲスト
130a、130b、130c:クライアント
125:ネットワーク
Claims (25)
- ホスト・コンピューティング・システム上の仮想ゲストのランタイム・メモリを保護する方法であって、前記ホスト・コンピューティング・システムが、仮想ゲスト、仮想マシン・マネージャ、及びランタイム・メモリを備えており、前記仮想ゲストは、前記仮想マシン・マネージャによって提供される仮想動作プラットフォーム内で実行される別個の動作環境を含み、前記仮想マシン・マネージャは、前記仮想ゲストの動作を管理し、前記仮想ゲストは、当該仮想ゲスト上で実装されるソフトウェアである仮想ゲスト・メモリ装置を含み、前記仮想ゲスト・メモリ装置は、前記ランタイム・メモリを前記仮想マシン・マネージャがアクセスできないように前記仮想ゲストによって設定することによって、前記ランタイム・メモリを保護することを可能にし、前記方法は、前記ホスト・コンピューティング・システムが、
前記ホスト・コンピューティング・システム上の前記仮想ゲストを初期化するステップと、
前記仮想ゲストに対するランタイム・メモリの割当てを受け取るステップであって、前記ランタイム・メモリの割当てが、前記ホスト・コンピューティング・システムの前記ランタイム・メモリの一部分を含む、前記受け取るステップと、
前記ランタイム・メモリの割当ての少なくとも一部分を前記仮想マシン・マネージャによるアクセスができないように当該ランタイム・メモリの割当てに対するアクセス許可を前記仮想ゲストによって設定するステップと
を含む、前記方法。 - 前記ホスト・コンピューティング・システムが、
前記仮想マシン・マネージャによるアクセスのための共有メモリ部分を確立するステップ
をさらに含み、
前記共有メモリ部分は、前記仮想ゲストの前記ランタイム・メモリの割当ての一部分を含む、
請求項1に記載の方法。 - 前記ランタイム・メモリの割当てに対するアクセスが、前記仮想ゲストによって決定される、請求項2に記載の方法。
- 前記ホスト・コンピューティング・システムが、
前記仮想マシン・マネージャとは無関係に、前記仮想ゲストが前記ホスト・コンピューティング・システムのプロセッサと直接通信していることを検証するステップをさらに含む、請求項1に記載の方法。 - 前記仮想ゲストが前記ホスト・コンピューティング・システムのプロセッサと直接通信していることを検証するステップは、
前記ホスト・コンピューティング・システムと通信するトラステッド・プラットフォーム・モジュール(「TPM」)からのメトリクスに基づいて、前記仮想ゲストが前記プロセッサと直接通信していることを検証するステップ
をさらに含む、請求項4に記載の方法。 - 前記ランタイム・メモリの割当ての少なくとも一部分を前記仮想マシン・マネージャによるアクセスができないように当該ランタイム・メモリの割当てに対するアクセス許可を前記仮想ゲストによって設定するステップは、
前記仮想マシン・マネージャとは無関係に、前記ホスト・コンピューティング・システムのプロセッサと直接に通信して、前記仮想ゲストの前記ランタイム・メモリの割当てのアクセス許可を前記仮想ゲストによって設定するステップ
をさらに含む、請求項1に記載の方法。 - 前記ランタイム・メモリの割当ての少なくとも一部分を前記仮想マシン・マネージャによるアクセスができないように当該ランタイム・メモリの割当てに対するアクセス許可を前記仮想ゲストによって設定するステップは、
1つ又は複数の仮想ゲスト識別子を、前記ランタイム・メモリの割当ての特定のランタイム・メモリ・ページに関連付けるステップ
をさらに含み、
前記仮想ゲスト識別子の少なくとも1つは、前記仮想ゲストを識別するものであり、
前記ホスト・コンピューティング・システムのプロセッサは、リクエスタからの前記特定のランタイム・メモリ・ページへのアクセス要求を、前記リクエスタが前記特定のランタイム・メモリ・ページに関する対応する仮想ゲスト識別子を有しないことに応答して拒否する、
請求項1に記載の方法。 - 前記仮想マシン・マネージャから前記仮想ゲストに、前記アクセスできないランタイム・メモリの少なくとも一部分にアクセスする要求を送るステップをさらに含む、請求項1に記載の方法。
- 前記ホスト・コンピューティング・システムが、
前記仮想マシン・マネージャから、前記アクセスできないランタイム・メモリの少なくとも一部分にアクセスする要求を受け取るステップと、
前記要求が1つ又は複数の所定の基準を満たすことを判断するステップと、
前記要求が前記1つ又は複数の所定の基準を満たすとの判断に応答して、前記仮想マシン・マネージャに対して、前記アクセスできないランタイム・メモリの少なくとも一部分へのアクセスを承諾するステップと
をさらに含む。請求項1に記載の方法。 - 前記1つ又は複数の所定の基準は、メモリ・ダンプ・データに関する要求及び仮想ゲスト移動に関する要求の1つ又は複数を含む、請求項9に記載の方法。
- 前記ホスト・コンピューティング・システムが、
前記仮想マシン・マネージャに対して前記アクセスできないランタイム・メモリの少なくとも一部分のアクセスを承諾する前に、前記アクセスできないランタイム・メモリの特定のデータを暗号化するステップ
をさらに含む、請求項9に記載の方法。 - 前記ホスト・コンピューティング・システムが、
前記仮想ゲストに対する前記ランタイム・メモリの割当てを、前記仮想マシン・マネージャが前記ランタイム・メモリの割当てにアクセスすることなく無効化するための所定のコマンドを呼び出すステップ
をさらに含み、
前記ホスト・コンピューティング・システムは、前記所定のコマンドの呼び出しに応答して前記ランタイム・メモリの割当てを無効化する、
請求項1に記載の方法。 - 前記ホスト・コンピューティング・システムが、
前記仮想ゲストが応答しないことを検出するステップ
をさらに含み、
前記所定のコマンドを呼び出すステップは、
前記仮想ゲストが応答しないことの検出に応じて前記所定のコマンドを呼び出すステップ
をさらに含む、請求項12に記載の方法。 - ホスト・コンピューティング・システムであって、
仮想ゲストであって、当該仮想ゲスト上で実装されるソフトウェアである仮想ゲスト・メモリ装置を含む、前記仮想ゲストと、
前記仮想ゲストの動作を管理する仮想マシン・マネージャと、
ランタイム・メモリと
を備えており、
前記仮想ゲストは、前記仮想マシン・マネージャによって提供される仮想動作プラットフォーム内で実行される別個の動作環境を含み、
前記仮想ゲスト・メモリ装置は、前記ランタイム・メモリを前記仮想マシン・マネージャがアクセスできないように前記仮想ゲストによって設定することによって、前記ランタイム・メモリを保護することを可能にし、
前記仮想ゲスト・メモリ装置は、
前記ホスト・コンピューティング・システム上の前記仮想ゲストを初期化する初期化モジュールと、
前記仮想ゲストに対するランタイム・メモリの割当てを受け取る受信モジュールであって、前記ランタイム・メモリの割当てが、前記ホスト・コンピューティング・システムのランタイム・メモリの一部分を含む、前記受信モジュールと、
前記ランタイム・メモリの割当ての少なくとも一部分を前記仮想マシン・マネージャによるアクセスができないように当該ランタイム・メモリの割当てに対するアクセス許可を前記仮想ゲストによって設定する保護モジュールと
を含む、
前記ホスト・コンピューティング・システム。 - 前記保護モジュールはさらに、
前記仮想マシン・マネージャによるアクセスのための共有メモリ部分を確立し、
前記共有メモリ部分は、前記仮想ゲストの前記ランタイム・メモリの割当ての一部分を含む、
請求項14に記載のホスト・コンピューティング・システム。 - 前記仮想ゲスト・メモリ装置が、
前記仮想マシン・マネージャとは無関係に、前記仮想ゲストが前記ホスト・コンピューティング・システムのプロセッサと直接通信していることを検証する検証モジュール
をさらに含む、請求項14又は15に記載のホスト・コンピューティング・システム。 - 前記仮想ゲスト・メモリ装置が、
前記仮想マシン・マネージャから、前記アクセスできないランタイム・メモリの少なくとも一部分にアクセスする要求を受け取る要求受信モジュールと、
前記要求が1つ又は複数の所定の基準をみたすことを判断する判断モジュールと、
前記要求が前記1つ又は複数の所定の基準をみたすとの判断に応答して、前記仮想マシン・マネージャに対して、前記アクセスできないランタイム・メモリの少なくとも一部分へのアクセスを承諾するアクセス・モジュールと
をさらに含む、請求項14〜16のいずれか一項に記載のホスト・コンピューティング・システム。 - 前記仮想ゲスト・メモリ装置が、
前記仮想ゲストに対する前記ランタイム・メモリの割当てを、前記仮想マシン・マネージャが前記ランタイム・メモリの割当てにアクセスすることなく無効化するための所定のコマンドを呼び出す無効化コマンド・モジュール
をさらに含み、
前記ホスト・コンピューティング・システムは、前記無効化コマンド・モジュールが前記所定のコマンドを呼び出したことに応答して前記ランタイム・メモリの割当てを無効化する、
請求項17に記載のホスト・コンピューティング・システム。 - 前記仮想ゲスト・メモリ装置が、
前記仮想ゲストが応答しないことを検出する検出モジュールと、
前記検出モジュールが、前記仮想ゲストが応答しないことを検出したことに応答して、前記仮想ゲストに対する前記ランタイム・メモリの割当てを、前記仮想マシン・マネージャが前記ランタイム・メモリの割当てにアクセスすることなく、無効化するための所定のコマンドを呼び出す無効化コマンド・モジュールと
をさらに含み、
前記ホスト・コンピューティング・システムは、前記無効化コマンド・モジュールが前記所定のコマンドを呼び出したことに応答して、前記ランタイム・メモリの割当てを無効化する、
請求項14〜18のいずれか一項に記載のホスト・コンピューティング・システム。 - 前記仮想ゲスト・メモリ装置が、
1つ又は複数の仮想ゲスト識別子を、前記ランタイム・メモリの割当ての特定のランタイム・メモリ・ページに関連づける関連付けモジュールであって、少なくとも1つの前記仮想ゲスト識別子が前記仮想ゲストを識別する、前記関連付けモジュールと、
リクエスタからの前記特定のランタイム・メモリ・ページへのアクセス要求を、前記リクエスタが前記特定のランタイム・メモリ・ページに関する対応する仮想ゲスト識別子を有することに応答して承諾するアクセス要求モジュールと
をさらに含む、請求項14〜19のいずれか一項に記載のホスト・コンピューティング・システム。 - 前記仮想ゲスト・メモリ装置が、
前記仮想マシン・マネージャから、前記仮想ゲストに対する前記ランタイム・メモリの割当てを無効化するための所定のコマンドに対する呼び出しを受取り、前記所定のコマンドに対する呼び出しを受け取ったことに応答して前記ランタイム・メモリの割当てを無効化する無効化コマンド・モジュール
をさらに含む、請求項14〜18のいずれか一項に記載のホスト・コンピューティング・システム。 - 前記仮想マシン・マネージャは、前記ホスト・コンピューティング・システムの仮想動作プラットフォームを提供する、請求項14〜21のいずれか一項に記載のホスト・コンピューティング・システム。
- 前記ホスト・コンピューティング・システムが、
プロセッサと、
前記プロセッサによる実行のためのモジュールを格納するメモリと、
を含むシステムと
をさらに備えている、請求項14〜22のいずれか一項に記載のホスト・コンピューティング・システム。 - ホスト・コンピューティング・システム上の仮想ゲストのランタイム・メモリを保護する方法であって、前記ホスト・コンピューティング・システムが、仮想ゲスト、仮想マシン・マネージャ、及びランタイム・メモリを備えており、前記仮想マシン・マネージャは、前記仮想ゲストの動作を管理し、前記仮想ゲストは、当該仮想ゲスト上で実装されるソフトウェアである仮想ゲスト・メモリ装置を含み、前記仮想ゲスト・メモリ装置は、初期化モジュール、受信モジュール及び保護モジュールを含み、前記仮想ゲスト・メモリ装置は、前記ランタイム・メモリを前記仮想マシン・マネージャがアクセスできないように前記仮想ゲストによって設定することによって、前記ランタイム・メモリを保護することを可能にし、前記方法は、前記ホスト・コンピューティング・システムが、
前記初期化モジュールを用いて、前記ホスト・コンピューティング・システム上の前記仮想ゲストを初期化するステップと、
前記受信モジュールを用いて、前記仮想ゲストに対するランタイム・メモリの割当てを受け取るステップであって、前記ランタイム・メモリの割当てが、前記ホスト・コンピューティング・システムの前記ランタイム・メモリの一部分を含む、前記受け取るステップと、
前記保護モジュールを用いて、前記ランタイム・メモリの割当ての少なくとも一部分を前記仮想マシン・マネージャによるアクセスができないように当該ランタイム・メモリの割当てに対するアクセス許可を前記仮想ゲストによって設定するステップと
を含む、前記方法。 - ホスト・コンピューティング・システムに、請求項1〜13のいずれか一項に記載の方法の各ステップを実行させるコンピュータ・プログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/272,780 US8782351B2 (en) | 2011-10-13 | 2011-10-13 | Protecting memory of a virtual guest |
US13/272,780 | 2011-10-13 | ||
US13/482,782 | 2012-05-29 | ||
US13/482,782 US8788763B2 (en) | 2011-10-13 | 2012-05-29 | Protecting memory of a virtual guest |
PCT/JP2012/006528 WO2013054528A1 (en) | 2011-10-13 | 2012-10-11 | Protecting memory of a virtual guest |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014532201A JP2014532201A (ja) | 2014-12-04 |
JP5736090B2 true JP5736090B2 (ja) | 2015-06-17 |
Family
ID=48081595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014517066A Active JP5736090B2 (ja) | 2011-10-13 | 2012-10-11 | 仮想ゲストのメモリ保護の方法、システムおよびコンピュータプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US8788763B2 (ja) |
JP (1) | JP5736090B2 (ja) |
CN (1) | CN103858113B (ja) |
DE (1) | DE112012003988B4 (ja) |
GB (1) | GB2508553B (ja) |
WO (1) | WO2013054528A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102152B2 (en) | 2015-11-06 | 2018-10-16 | International Business Machines Corporation | Protecting a memory from unauthorized access |
WO2023191195A1 (ko) * | 2022-03-31 | 2023-10-05 | 엘지전자 주식회사 | 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304945B2 (en) * | 2013-01-24 | 2016-04-05 | Raytheon Company | Synchronizing parallel applications in an asymmetric multi-processing system |
US8793628B1 (en) * | 2013-03-11 | 2014-07-29 | Cadence Design Systems, Inc. | Method and apparatus of maintaining coherency in the memory subsystem of an electronic system modeled in dual abstractions |
US9563569B2 (en) | 2014-01-28 | 2017-02-07 | Red Hat Israel, Ltd. | Memory transformation in virtual machine live migration |
US9785378B2 (en) | 2014-01-28 | 2017-10-10 | Red Hat Israel, Ltd. | Tracking transformed memory pages in virtual machine chain migration |
US9792448B2 (en) | 2014-02-28 | 2017-10-17 | Advanced Micro Devices, Inc. | Cryptographic protection of information in a processing system |
CN103995732B (zh) * | 2014-05-26 | 2017-02-22 | 华为技术有限公司 | 一种虚拟可信平台模块功能实现方法和管理设备 |
GB2539436B (en) * | 2015-06-16 | 2019-02-06 | Advanced Risc Mach Ltd | Secure initialisation |
GB2539433B8 (en) * | 2015-06-16 | 2018-02-21 | Advanced Risc Mach Ltd | Protected exception handling |
GB2539429B (en) | 2015-06-16 | 2017-09-06 | Advanced Risc Mach Ltd | Address translation |
GB2539435B8 (en) * | 2015-06-16 | 2018-02-21 | Advanced Risc Mach Ltd | Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level |
GB2539428B (en) | 2015-06-16 | 2020-09-09 | Advanced Risc Mach Ltd | Data processing apparatus and method with ownership table |
US20160371106A1 (en) * | 2015-06-18 | 2016-12-22 | Microsoft Technology Licensing, Llc | Virtual machine data protected from host |
KR102584506B1 (ko) * | 2015-06-24 | 2023-10-04 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 가상 기계들을 위한 상태 정보 보호 |
US10075296B2 (en) * | 2015-07-02 | 2018-09-11 | Intel Corporation | Loading and virtualizing cryptographic keys |
JP6257844B2 (ja) * | 2015-09-07 | 2018-01-10 | 三菱電機株式会社 | 実行制御装置及び実行制御方法及び実行制御プログラム |
US10019279B2 (en) | 2015-12-17 | 2018-07-10 | International Business Machines Corporation | Transparent secure interception handling |
US9841987B2 (en) | 2015-12-17 | 2017-12-12 | International Business Machines Corporation | Transparent secure interception handling |
CN106997315B (zh) * | 2016-01-25 | 2021-01-26 | 阿里巴巴集团控股有限公司 | 一种用于虚拟机的内存转储的方法和装置 |
US10963280B2 (en) * | 2016-02-03 | 2021-03-30 | Advanced Micro Devices, Inc. | Hypervisor post-write notification of control and debug register updates |
GB2547912B (en) * | 2016-03-02 | 2019-01-30 | Advanced Risc Mach Ltd | Register access control |
CN107203411B (zh) * | 2017-04-18 | 2020-02-28 | 中国科学院计算技术研究所 | 一种基于远程ssd的虚拟机内存扩展方法及系统 |
CN109144403B (zh) * | 2017-06-19 | 2021-10-01 | 阿里巴巴集团控股有限公司 | 一种用于云盘模式切换的方法与设备 |
CN107392043A (zh) * | 2017-06-30 | 2017-11-24 | 天脉聚源(北京)传媒科技有限公司 | 一种保护系统中用户的私人对象的方法及装置 |
CN109815001A (zh) * | 2017-11-20 | 2019-05-28 | 阿里巴巴集团控股有限公司 | 应用处理方法、装置及托管系统 |
CN109739613B (zh) * | 2018-11-22 | 2021-08-13 | 海光信息技术股份有限公司 | 嵌套页表的维护方法、访问控制方法及相关装置 |
US11182192B2 (en) | 2019-03-08 | 2021-11-23 | International Business Machines Corporation | Controlling access to secure storage of a virtual machine |
US11176054B2 (en) | 2019-03-08 | 2021-11-16 | International Business Machines Corporation | Host virtual address space for secure interface control storage |
US11283800B2 (en) * | 2019-03-08 | 2022-03-22 | International Business Machines Corporation | Secure interface control secure storage hardware tagging |
US11068310B2 (en) | 2019-03-08 | 2021-07-20 | International Business Machines Corporation | Secure storage query and donation |
US10956188B2 (en) * | 2019-03-08 | 2021-03-23 | International Business Machines Corporation | Transparent interpretation of guest instructions in secure virtual machine environment |
US11455398B2 (en) | 2019-03-08 | 2022-09-27 | International Business Machines Corporation | Testing storage protection hardware in a secure virtual machine environment |
CN112965789B (zh) * | 2021-03-25 | 2024-05-03 | 绿盟科技集团股份有限公司 | 一种虚拟机内存空间处理方法、装置、设备和介质 |
US11900142B2 (en) | 2021-06-16 | 2024-02-13 | Red Hat, Inc. | Improving memory access handling for nested virtual machines |
US20230044731A1 (en) * | 2021-08-05 | 2023-02-09 | International Business Machines Corporation | Attestation of a secure guest |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496847B1 (en) * | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
US7103529B2 (en) * | 2001-09-27 | 2006-09-05 | Intel Corporation | Method for providing system integrity and legacy environment emulation |
US7069442B2 (en) * | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7278030B1 (en) | 2003-03-03 | 2007-10-02 | Vmware, Inc. | Virtualization system for computers having multiple protection mechanisms |
US7975117B2 (en) | 2003-03-24 | 2011-07-05 | Microsoft Corporation | Enforcing isolation among plural operating systems |
US8079034B2 (en) * | 2003-09-15 | 2011-12-13 | Intel Corporation | Optimizing processor-managed resources based on the behavior of a virtual machine monitor |
WO2005036806A2 (en) * | 2003-10-08 | 2005-04-21 | Unisys Corporation | Scalable partition memory mapping system |
US7424601B2 (en) | 2004-07-07 | 2008-09-09 | Yongyong Xu | Methods and systems for running multiple operating systems in a single mobile device |
US7281102B1 (en) | 2004-08-12 | 2007-10-09 | Vmware, Inc. | Restricting memory access to protect data when sharing a common address space |
US7886126B2 (en) | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
JP2007004661A (ja) | 2005-06-27 | 2007-01-11 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
US7748037B2 (en) * | 2005-09-22 | 2010-06-29 | Intel Corporation | Validating a memory type modification attempt |
US20070067590A1 (en) * | 2005-09-22 | 2007-03-22 | Uday Savagaonkar | Providing protected access to critical memory regions |
US8380987B2 (en) * | 2007-01-25 | 2013-02-19 | Microsoft Corporation | Protection agents and privilege modes |
JP2008250387A (ja) * | 2007-03-29 | 2008-10-16 | Toshiba Corp | 情報処理装置 |
US8769207B2 (en) * | 2008-01-16 | 2014-07-01 | Via Technologies, Inc. | Caching method and apparatus for a vertex shader and geometry shader |
US8099541B2 (en) | 2008-01-22 | 2012-01-17 | Globalfoundries Inc. | Minivisor entry point in virtual machine monitor address space |
US8886838B2 (en) | 2008-02-29 | 2014-11-11 | Oracle America, Inc. | Method and system for transferring packets to a guest operating system |
CN101593258B (zh) * | 2008-05-28 | 2010-09-08 | 北京飞天诚信科技有限公司 | 一种在软件保护装置中实现.Net虚拟机的系统和方法 |
US8954897B2 (en) | 2008-08-28 | 2015-02-10 | Microsoft Corporation | Protecting a virtual guest machine from attacks by an infected host |
US9213566B2 (en) | 2008-11-26 | 2015-12-15 | Red Hat, Inc. | Implementing security in process-based virtualization |
US8799879B2 (en) | 2009-06-30 | 2014-08-05 | Oracle America, Inc. | Method and apparatus for protecting translated code in a virtual machine |
JP2011076504A (ja) | 2009-09-30 | 2011-04-14 | Brother Industries Ltd | 仮想マシン、仮想マシンのプログラム、アプリケーションサービス提供システム及びアプリケーションサービス提供方法 |
JP2011076505A (ja) | 2009-09-30 | 2011-04-14 | Brother Industries Ltd | 情報処理システム及び情報処理方法 |
US8873866B2 (en) * | 2009-12-14 | 2014-10-28 | New Bis Safe Luxco S.A R.L | Method and system for calculating breakpoints in a data visualization system |
US8650565B2 (en) | 2009-12-14 | 2014-02-11 | Citrix Systems, Inc. | Servicing interrupts generated responsive to actuation of hardware, via dynamic incorporation of ACPI functionality into virtual firmware |
US20110225459A1 (en) | 2010-03-09 | 2011-09-15 | Microsoft Corporation | Generating a debuggable dump file for a virtual machine |
-
2012
- 2012-05-29 US US13/482,782 patent/US8788763B2/en active Active
- 2012-10-11 DE DE112012003988.2T patent/DE112012003988B4/de active Active
- 2012-10-11 CN CN201280049932.4A patent/CN103858113B/zh active Active
- 2012-10-11 GB GB1404280.8A patent/GB2508553B/en active Active
- 2012-10-11 JP JP2014517066A patent/JP5736090B2/ja active Active
- 2012-10-11 WO PCT/JP2012/006528 patent/WO2013054528A1/en active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102152B2 (en) | 2015-11-06 | 2018-10-16 | International Business Machines Corporation | Protecting a memory from unauthorized access |
US10102151B2 (en) | 2015-11-06 | 2018-10-16 | International Business Machines Corporation | Protecting a memory from unauthorized access |
WO2023191195A1 (ko) * | 2022-03-31 | 2023-10-05 | 엘지전자 주식회사 | 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치 |
Also Published As
Publication number | Publication date |
---|---|
GB201404280D0 (en) | 2014-04-23 |
WO2013054528A1 (en) | 2013-04-18 |
DE112012003988T5 (de) | 2014-06-18 |
US8788763B2 (en) | 2014-07-22 |
GB2508553B (en) | 2014-09-10 |
CN103858113B (zh) | 2016-02-24 |
US20130097392A1 (en) | 2013-04-18 |
CN103858113A (zh) | 2014-06-11 |
DE112012003988B4 (de) | 2021-09-02 |
JP2014532201A (ja) | 2014-12-04 |
GB2508553A (en) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5736090B2 (ja) | 仮想ゲストのメモリ保護の方法、システムおよびコンピュータプログラム | |
US8782351B2 (en) | Protecting memory of a virtual guest | |
US10831886B2 (en) | Virtual machine manager facilitated selective code integrity enforcement | |
CN109783188B (zh) | 用于安全公共云的密码存储器所有权表 | |
US7836299B2 (en) | Virtualization of software configuration registers of the TPM cryptographic processor | |
US8220029B2 (en) | Method and system for enforcing trusted computing policies in a hypervisor security module architecture | |
US20180046479A1 (en) | On-demand disposable virtual work system | |
US10685119B2 (en) | Trusted malware scanning | |
US8213618B2 (en) | Protecting content on client platforms | |
US9424430B2 (en) | Method and system for defending security application in a user's computer | |
Peinado et al. | NGSCB: A trusted open system | |
US8464252B2 (en) | Per process virtual machines | |
US7693838B2 (en) | Method and apparatus for securely accessing data | |
EP2973171B1 (en) | Context based switching to a secure operating system environment | |
Litty et al. | Manitou: a layer-below approach to fighting malware | |
Vasudevan et al. | Lockdown: Towards a safe and practical architecture for security applications on commodity platforms | |
Rocha et al. | Defense-in-depth against malicious insiders in the cloud | |
Sani et al. | The case for I/O-device-as-a-service | |
US20230401081A1 (en) | Software isolation of virtual machine resources | |
Gutstein | Towards Efficient and Effective IOMMU-based Protection from DMA Attacks | |
WO2019148447A1 (zh) | 数据保护方法和数据保护装置 | |
ISSA | SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20140916 |
|
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: 20141120 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141120 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20141120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150226 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150226 |
|
TRDD | Decision of grant or rejection written | ||
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150325 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20150325 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150325 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5736090 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
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 |