JP5637934B2 - Virtualization device, virtualization device control method, virtualization device control program - Google Patents

Virtualization device, virtualization device control method, virtualization device control program Download PDF

Info

Publication number
JP5637934B2
JP5637934B2 JP2011124246A JP2011124246A JP5637934B2 JP 5637934 B2 JP5637934 B2 JP 5637934B2 JP 2011124246 A JP2011124246 A JP 2011124246A JP 2011124246 A JP2011124246 A JP 2011124246A JP 5637934 B2 JP5637934 B2 JP 5637934B2
Authority
JP
Japan
Prior art keywords
processing request
virtual machine
kernel
processing
unit
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
JP2011124246A
Other languages
Japanese (ja)
Other versions
JP2012252492A (en
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.)
NTT Data Corp
Original Assignee
NTT Data 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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2011124246A priority Critical patent/JP5637934B2/en
Publication of JP2012252492A publication Critical patent/JP2012252492A/en
Application granted granted Critical
Publication of JP5637934B2 publication Critical patent/JP5637934B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、仮想化支援機能を有するCPUを備えた仮想化装置に関する。   The present invention relates to a virtualization apparatus including a CPU having a virtualization support function.

物理マシンのコンピュータリソースを複数の論理リソースに分割して複数の仮想マシンを起動し、仮想マシン毎にOS(Operating System)を動作させる仮想化技術が存在する(例えば、特許文献1、2)。例えば、OSからハードウェアへの処理要求をソフトウェアによってエミュレートすることにより、単一の物理マシン上に複数のOSを動作させることができる。ここで、ソフトウェアによるハードウェアのエミュレート処理には相当のオーバーヘッドがかかる。そこで、ハードウェアレベルでこのような仮想化を支援する仮想化支援機能を有するCPU(Central Processing Unit)が利用されている。物理マシン上で動作する仮想マシンは、CPUが備えるこのような仮想化支援機能を介して処理要求を行うことにより、効率良く動作することができる。   There are virtualization technologies that divide a computer resource of a physical machine into a plurality of logical resources, start a plurality of virtual machines, and operate an OS (Operating System) for each virtual machine (for example, Patent Documents 1 and 2). For example, by emulating processing requests from the OS to the hardware by software, a plurality of OSs can be operated on a single physical machine. Here, considerable hardware overhead is required for hardware emulation processing by software. Therefore, a CPU (Central Processing Unit) having a virtualization support function that supports such virtualization at the hardware level is used. A virtual machine operating on a physical machine can operate efficiently by making a processing request through such a virtualization support function provided in the CPU.

特開2010−238044号公報JP 2010-238044 A 国際公開第2007/108065号公報International Publication No. 2007/108065

しかしながら、このように物理マシン上に起動した仮想マシンが、外部からの不正アクセス等により乗っ取られて制御されてしまうことが起こり得ないとはいえない。このようなことが起きれば、その仮想マシンが何らかの不正行為の踏み台にされたり、その物理マシン上で動作する他の仮想マシンに対して攻撃がされたり、物理マシンの何らかの情報が抜き取られたりするような脅威になると考えられる。そこで、このような乗っ取りが行われた場合、そのことを検出することが望ましい。   However, it cannot be said that a virtual machine started up on a physical machine in this way can be taken over and controlled by unauthorized access from outside. If this happens, the virtual machine can be used as a stepping stone for some kind of fraud, other virtual machines running on the physical machine can be attacked, or some information about the physical machine can be extracted It seems to be a threat. Therefore, when such takeover is performed, it is desirable to detect that.

本発明は、このような状況に鑑みてなされたもので、物理マシン上に起動する仮想マシンが乗っ取られた可能性があることを検出する仮想化装置、仮想化装置制御方法、仮想化装置制御プログラムを提供する。   The present invention has been made in view of such a situation, and a virtualization apparatus, a virtualization apparatus control method, and a virtualization apparatus control for detecting that a virtual machine to be booted on a physical machine may be hijacked Provide a program.

上述した課題を解決するために、本発明は、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するCPUを備えた仮想化装置であって、CPUにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部と、カーネルに入力された処理要求を検出する処理要求検出部と、処理要求検出部が検出した処理要求が、カーネルにおいて動作する仮想マシンからの処理要求か否かを判定するプロセス判定部と、プロセス判定部により仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する処理要求判定部と、処理要求判定部による判定結果に基づいて、警告を出力する警告部と、を備えることを特徴とする。 To solve the problems described above, the present invention provides a virtualization apparatus having a CPU with virtualization support functions for performing parallel processing of the virtual machine efficiently, are entered in the kernel operating in CPU a processing request storing unit pattern processing request is stored in advance, a processing request detection unit that detects a processing request input to the kernel, the processing request detection unit detects the processing request, to operate the kernel virtual machine A process determination unit that determines whether the request is a process request from a virtual machine, and the process request that is determined by the process determination unit to be a process request from a virtual machine is a process request that is predetermined as a virtual machine operation pattern whether, based on the process and the process of determining the request determination unit based on the pattern of the request storage unit that is stored in the processing request, that by the processing request determination unit determination result , Characterized in that it and a warning unit that outputs a warning.

また、本発明は、仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、仮想マシンの起動要求を受付け、起動要求に応じて、カーネル上に仮想マシンを起動させ、仮想マシンを識別するプロセス識別情報をプロセス記憶部に記憶させるプロセス管理部と、を備え、プロセス判定部は、処理要求検出部が処理要求を検出すると、処理要求を入力したプロセスを識別するプロセス識別情報が、プロセス記憶部に記憶されているか否かを判定することにより、前記処理要求検出部が検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定することを特徴とする。 In addition, the present invention accepts a process storage unit that stores process identification information for identifying a virtual machine, a virtual machine activation request, activates the virtual machine on the kernel in response to the activation request, A process management unit that stores process identification information to be identified in the process storage unit, and when the process request detection unit detects a process request , the process determination unit includes process identification information that identifies the process that has input the process request. Determining whether the processing request detected by the processing request detection unit is a processing request from a virtual machine operating in the kernel by determining whether the processing is stored in a process storage unit; To do.

また、本発明は、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するCPUを備え、CPUにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置の仮想化装置制御方法であって、カーネルに入力された処理要求を検出する第1ステップと、第1ステップにおいて検出した処理要求が、カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第2ステップと、第2ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第3ステップと、第3ステップにおける判定結果に基づいて、警告を出力する第4ステップと、を含むことを特徴とする。 The present invention also efficiently performs a CPU with virtualization support feature, the pattern of processing requests are entered into the kernel operating in the CPU is stored in advance and the processing request storing concurrent operation of the virtual machine part a virtualization apparatus control method of the virtualization apparatus equipped with a first step of detecting a processing request input to kernel processing request detected in the first step, the virtual machine operating in kernel The second step of determining whether or not the processing request is a processing request, and whether or not the processing request determined as a processing request from the virtual machine in the second step is a processing request predetermined as a virtual machine operation pattern as to whether or not a third step of determining, based on the pattern of the processing request storage unit that is stored in the processing request, based on the determination result in the third step A fourth step of outputting a warning, characterized in that it comprises a.

また、本発明は、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するCPUを備え、CPUにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置のコンピュータに、カーネルに入力された処理要求を検出する第1ステップと、第1ステップにおいて検出した処理要求が、カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第2ステップと、第2ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第3ステップと、第3ステップにおける判定結果に基づいて、警告を出力する第4ステップと、を実行させるための仮想化装置制御プログラムである。 The present invention also efficiently performs a CPU with virtualization support feature, the pattern of processing requests are entered into the kernel operating in the CPU is stored in advance and the processing request storing concurrent operation of the virtual machine Department to computer virtualization apparatus equipped with, mosquitoes: a first step of detecting an input processing request to the kernels, the processing request detected in the first step, whether or not the processing request from the virtual machine operating in kernel A second processing step for determining whether or not the processing request determined to be a processing request from the virtual machine in the second step is a processing request predetermined as a virtual machine operation pattern. a third step of determining, based on the pattern of the storage unit that has stored the processing request, based on the determination result in the third step, outputting a warning That the fourth step, a virtualization apparatus control program for causing execution.

以上説明したように、本発明によれば、仮想マシンの並行動作を効率的に行う仮想化支援機能を有するCPUを備えた仮想化装置が、CPUにおいて動作するカーネル上で動作する仮想マシンから、カーネルに入力されることが定められた複数の処理要求を予め記憶し、仮想マシンからカーネルに入力された処理要求を検出し、検出した処理要求と一致する処理要求が、予め記憶されているか否かを判定し、記憶されていないと判定された場合、警告を出力するようにしたので、物理マシン上に起動する仮想マシンが乗っ取られた可能性があることを検出することが可能となる。   As described above, according to the present invention, a virtualization apparatus including a CPU having a virtualization support function that efficiently performs parallel operations of virtual machines can be executed from a virtual machine that operates on a kernel that operates on the CPU. Multiple processing requests that are defined to be input to the kernel are stored in advance, processing requests that are input from the virtual machine to the kernel are detected, and whether processing requests that match the detected processing requests are stored in advance If it is determined that the virtual machine is not stored, a warning is output. Therefore, it is possible to detect that a virtual machine to be activated on the physical machine may be hijacked.

本発明の一実施形態による仮想化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the virtualization apparatus by one Embodiment of this invention. 本発明の一実施形態によるカーネルに入力される処理要求の例を示す図である。It is a figure which shows the example of the process request input into the kernel by one Embodiment of this invention. 本発明の一実施形態によるカーネルに入力される処理要求の例を示す図である。It is a figure which shows the example of the process request input into the kernel by one Embodiment of this invention. 本発明の一実施形態によるプロセス記憶部に記憶されるプロセス情報のデータ例を示す図である。It is a figure which shows the example of data of the process information memorize | stored in the process memory | storage part by one Embodiment of this invention. 本発明の一実施形態による処理要求記憶部に記憶されるデータ例を示す図である。It is a figure which shows the example of data memorize | stored in the process request memory | storage part by one Embodiment of this invention. 本発明の一実施形態による仮想化装置の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the virtualization apparatus by one Embodiment of this invention.

以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態による仮想化装置100の構成を示すブロック図である。仮想化装置100は、ハードウェア110を備えたコンピュータ装置であり、ハードウェア110として、例えばCPU111と、HD113と、メモリ114と、NIC115とを備えている。CPU111は、複数の仮想マシンにおける複数のOSの並行動作をより効率的に行うための仮想化支援機能であるVT(Virtualization Technology)112を有する中央演算処理装置である。VT112としては、例えばIntel VT(Intelは登録商標)や AMD−V(AMDは登録商標)などが適用できる。VT112は、例えば、OSカーネル自体を仮想マシンのハイパーバイザとする仮想化技術に基づくKVM(Kernel-based Virtual Machine)のようなプログラムからの処理要求に応じて動作する。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating the configuration of the virtualization apparatus 100 according to the present embodiment. The virtualization apparatus 100 is a computer apparatus including hardware 110, and includes, as the hardware 110, for example, a CPU 111, an HD 113, a memory 114, and a NIC 115. The CPU 111 is a central processing unit having a VT (Virtualization Technology) 112 that is a virtualization support function for more efficiently performing parallel operations of a plurality of OSs in a plurality of virtual machines. As the VT 112, for example, Intel VT (Intel is a registered trademark) or AMD-V (AMD is a registered trademark) can be applied. The VT 112 operates in response to a processing request from a program such as a KVM (Kernel-based Virtual Machine) based on a virtualization technology in which the OS kernel itself is a hypervisor of a virtual machine.

HD(Hard Disk)113は、データが記憶される磁気ディスクであり、補助記憶装置である。メモリ114は、データが記憶される半導体メモリであり、主記憶装置である。NIC(Network Interface Card)115は、ネットワーク通信を行う拡張カードである。仮想化装置100は、この他にもハードウェア110として様々な要素を備えていて良い。
ここでは、ハードウェアレベルでの仮想化支援機能として、CPU111がVT112を備える例を説明するが、他のハードウェア110の要素においても、ハードウェアレベルでの仮想化支援機能を有していても良い。
An HD (Hard Disk) 113 is a magnetic disk in which data is stored, and is an auxiliary storage device. The memory 114 is a semiconductor memory that stores data, and is a main storage device. A NIC (Network Interface Card) 115 is an expansion card that performs network communication. In addition to this, the virtualization apparatus 100 may include various elements as hardware 110.
Here, an example will be described in which the CPU 111 includes the VT 112 as a virtualization support function at the hardware level. However, the other hardware 110 elements may have a virtualization support function at the hardware level. good.

このようなハードウェア110上でカーネル120が動作し、カーネル120上でアプリケーションプログラム等のプロセスが動作する。カーネル120は、OSの中核となるプログラムである。本実施形態では、Linux(登録商標)カーネルを想定して説明するが、他のOSカーネルでも良い。カーネル120は、コンピュータリソースやデータ等をファイル単位で管理するファイルシステム121の機能を有し、このようなファイルに対する処理要求を行うためのシステムコールをプロセスに公開している。システムコールは、カーネル120と、カーネル120上で動作するプロセスとのインタフェースである。   The kernel 120 operates on such hardware 110, and processes such as application programs operate on the kernel 120. The kernel 120 is a program that is the core of the OS. In the present embodiment, description will be made assuming a Linux (registered trademark) kernel, but another OS kernel may be used. The kernel 120 has a function of a file system 121 that manages computer resources, data, and the like in units of files, and publishes system calls for making processing requests for such files to processes. The system call is an interface between the kernel 120 and a process operating on the kernel 120.

ここでは、プロセスがカーネル120のシステムコールを呼び出すことを、プロセスがカーネル120に処理要求を入力するという。図2、図3は、カーネル120に入力される処理要求の例を示す図である。処理要求としては、例えば、ファイルからデータを読み出す「read」、ファイルにデータを書き込む「write」、デバイスを制御する「ioctl」などが存在する。カーネル120は、カーネル120上で動作するプロセスから、このような処理要求の入力を受付け、入力された処理要求に応じてハードウェア110を動作させる。処理要求としては、例えば、ファイルの読み書き、VT112を含む各種ハードウェア要素への制御コマンド発行、プロセスやスレッドの新規生成、プロセスで使用するメモリの確保などが存在する。   Here, a process calls a system call of the kernel 120, and a process inputs a processing request to the kernel 120. 2 and 3 are diagrams showing examples of processing requests input to the kernel 120. FIG. Examples of processing requests include “read” for reading data from a file, “write” for writing data to the file, and “ioctl” for controlling the device. The kernel 120 accepts input of such processing requests from processes operating on the kernel 120 and operates the hardware 110 in accordance with the input processing requests. Processing requests include, for example, reading and writing files, issuing control commands to various hardware elements including the VT 112, creating new processes and threads, and securing memory used in the processes.

例えば、図1において符号aに示されるプロセスAが、システムコールを介してファイル「/tmp」のデータを読み出すreadの処理要求を入力したり、符号bに示されるプロセスBが、システムコールを介してファイル「/usr/harada」にデータを書き込むwriteの処理要求を入力したりすることができる。カーネル120は、処理要求に応じてハードウェア110にアクセスし、ファイルの読み書き等の処理を行う。   For example, the process A indicated by symbol a in FIG. 1 inputs a read processing request for reading the data of the file “/ tmp” via a system call, or the process B indicated by symbol b via a system call. Thus, a write processing request for writing data to the file “/ usr / harada” can be input. The kernel 120 accesses the hardware 110 in response to the processing request, and performs processing such as file reading and writing.

符号dに示されるプロセスDと、符号eに示されるプロセスEとは仮想マシンである。カーネル120にとって、仮想マシンは、他のアプリケーションプログラムと同様の1プロセスである。このような仮想マシンがカーネル120に対して入力する処理要求としては、自身のイメージファイル(プロセスDであればファイル「/data/imgD」、プロセスEであればファイル「/data/imgE」)に対する読み書き(readまたはwrite)を行うものと、VT112にアクセスするファイル「/dev/kvm」に対する制御(ioctl)を行うものとが存在する。ここで、仮想マシンがカーネル120に入力する処理要求は、基本的に、このような自身のイメージファイルに対する読み書きと、VT112に対する処理要求等、ある程度パターン化できるものである。すなわち、仮想マシンが行う処理要求のパターンを予め定めて記憶しておき、定められたパターン以外の処理要求を仮想マシンがカーネル120に入力したことを検出することにより、仮想マシンがパターン通りの動作をしていないことが検出できる。このような動作を行った場合、仮想マシンが乗っ取られた可能性があると考えられる。このような検出処理を行うために、カーネル120は、処理要求検出部122を備えている。この機能部は、例えばカーネル120に対するパッチプログラムとして提供できる。   A process D indicated by a symbol d and a process E indicated by a symbol e are virtual machines. For the kernel 120, the virtual machine is one process similar to other application programs. The processing request input to the kernel 120 by such a virtual machine is for its own image file (file “/ data / imgD” for process D, file “/ data / imgE” for process E). There are those that perform reading and writing (read or write) and those that perform control (ioctl) for the file “/ dev / kvm” accessing the VT 112. Here, the processing request input to the kernel 120 by the virtual machine can basically be patterned to some extent, such as reading / writing with respect to its own image file and processing request to the VT 112. That is, a pattern of processing requests made by the virtual machine is determined and stored in advance, and the virtual machine operates according to the pattern by detecting that the processing request other than the determined pattern is input to the kernel 120. You can detect that you are not. When such an operation is performed, the virtual machine may have been hijacked. In order to perform such detection processing, the kernel 120 includes a processing request detection unit 122. This functional unit can be provided as a patch program for the kernel 120, for example.

処理要求検出部122は、プロセスから、システムコールを介してカーネル120に入力された処理要求を検出し、検出した処理要求を処理要求判定部143に通知する。ここで、処理要求には、処理要求元のプロセスを識別するプロセスIDが含まれる。   The processing request detection unit 122 detects a processing request input to the kernel 120 via a system call from the process, and notifies the processing request determination unit 143 of the detected processing request. Here, the process request includes a process ID for identifying the process request source process.

カーネル120で動作するプロセスFは、カーネル120上に仮想マシンを起動する場合、ユーザから入力されるコマンド等に応じて仮想マシンを起動させ、起動した複数の仮想マシンの状態等を管理する仮想マシン管理プログラムであり、プロセス記憶部141と、プロセス管理部142と、プロセス判定部143と、処理要求記憶部144と、処理要求判定部145と、警告部146とを備えている。   When the virtual machine is activated on the kernel 120, the process F operating on the kernel 120 activates the virtual machine according to a command input from the user, and manages the statuses of the activated virtual machines. The management program includes a process storage unit 141, a process management unit 142, a process determination unit 143, a processing request storage unit 144, a processing request determination unit 145, and a warning unit 146.

プロセス記憶部141には、プロセス管理部142によって起動され管理されている仮想マシンのプロセスを識別するプロセスIDが記憶されている。仮想マシンは、VT112に対する処理要求をカーネルに入力することが予め定められたプロセスである。図4は、プロセス記憶部141に記憶されるプロセス情報のデータ例を示す図である。プロセス記憶部141には、VM(Virtual Machine)名と、イメージファイルパスと、OSと、メモリと、CPUと、ステータスと、プロセスIDとが対応付けられて記憶される。VM名は、仮想マシンの名称である。イメージファイルパスは、ファイルシステムにおいて仮想マシンのイメージファイルが記憶された場所を識別する情報である。OSは、対応する仮想マシンにおいて動作するOSの種別を示す情報である。メモリは、対応する仮想マシンに割り振られたメモリリソースの容量を示す情報である。CPUは、対応する仮想マシンに割り振られたCPUリソースの個数を示す情報である。ステータスは、対応する仮想マシンの動作状態を示す情報であり、例えば「停止」や「実行中」等の情報が対応付けられる。プロセスIDは、カーネル120における仮想マシンのプロセスを識別する識別情報である。   The process storage unit 141 stores a process ID that identifies a process of a virtual machine that is activated and managed by the process management unit 142. The virtual machine is a predetermined process for inputting a processing request for the VT 112 to the kernel. FIG. 4 is a diagram illustrating a data example of process information stored in the process storage unit 141. The process storage unit 141 stores a VM (Virtual Machine) name, an image file path, an OS, a memory, a CPU, a status, and a process ID in association with each other. The VM name is the name of the virtual machine. The image file path is information for identifying a location where a virtual machine image file is stored in the file system. The OS is information indicating the type of OS operating in the corresponding virtual machine. The memory is information indicating the capacity of the memory resource allocated to the corresponding virtual machine. The CPU is information indicating the number of CPU resources allocated to the corresponding virtual machine. The status is information indicating the operating state of the corresponding virtual machine, and is associated with information such as “stopped” or “running”, for example. The process ID is identification information for identifying a virtual machine process in the kernel 120.

プロセス管理部142は、仮想マシンの起動要求を受付け、受付けた起動要求に応じて、カーネル120上に仮想マシンを起動させ、起動させた仮想マシンを識別するプロセスIDをプロセス記憶部141に記憶させる。また、プロセス管理部142は、仮想マシンの停止要求を受付け、受付けた停止要求に応じた仮想マシンを停止させると、停止された仮想マシンに対応付けられてプロセス管理部142に記憶されたステータスを「停止」に更新する。   The process management unit 142 accepts a virtual machine activation request, activates the virtual machine on the kernel 120 in response to the accepted activation request, and stores a process ID for identifying the activated virtual machine in the process storage unit 141. . In addition, when the process management unit 142 receives a virtual machine stop request and stops the virtual machine according to the received stop request, the process management unit 142 displays the status stored in the process management unit 142 in association with the stopped virtual machine. Update to “Stop”.

プロセス判定部143は、処理要求検出部122から、カーネル120に入力された処理要求を検出したことが通知されると、その処理要求を入力したプロセスを識別するプロセスIDが、プロセス管理部142に記憶されているか否かを判定する。すなわち、その処理要求を入力したプロセスが仮想マシンであるか否かを判定する。プロセス判定部143は、判定結果を処理要求判定部145に通知する。   When the process determination unit 143 is notified by the processing request detection unit 122 that the processing request input to the kernel 120 has been detected, the process ID identifying the process that has input the processing request is sent to the process management unit 142. It is determined whether or not it is stored. That is, it is determined whether or not the process that has input the processing request is a virtual machine. The process determination unit 143 notifies the processing request determination unit 145 of the determination result.

処理要求記憶部144には、CPU111において動作するカーネル120上で動作する仮想マシンから、カーネル120に入力されることが定められた複数の処理要求が予め記憶されている。予め定められた複数の処理要求とは、例えば、上述のように、仮想マシン自身のイメージファイルに対する読み書きと、VT112に対する処理要求等である。図5は、仮想マシンがカーネル120に入力することが予め定められた複数の処理要求の例を示す図である。処理要求記憶部144には、このような処理要求が記載された定義ファイルが記憶される。定義ファイルには、例えばワイルドカード(*)の記号を使って処理要求を表現して記憶しておくこともできる。   The processing request storage unit 144 stores in advance a plurality of processing requests that are determined to be input to the kernel 120 from a virtual machine that operates on the kernel 120 that operates on the CPU 111. The plurality of predetermined processing requests are, for example, reading / writing with respect to the image file of the virtual machine itself, processing requests to the VT 112, and the like as described above. FIG. 5 is a diagram illustrating an example of a plurality of processing requests that are predetermined by the virtual machine to be input to the kernel 120. The processing request storage unit 144 stores a definition file in which such processing requests are described. In the definition file, for example, a processing request can be expressed and stored using a wild card (*) symbol.

処理要求判定部145は、処理要求検出部122が検出した処理要求に基づくプロセス判定部143の判定結果が、処理要求を入力したプロセスが仮想マシンであることを示す場合、その処理要求と一致する処理要求が、処理要求記憶部144に記憶されているか否かを判定する。すなわち、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを判定する。   The processing request determination unit 145 matches the processing request when the determination result of the process determination unit 143 based on the processing request detected by the processing request detection unit 122 indicates that the process that has input the processing request is a virtual machine. It is determined whether or not the processing request is stored in the processing request storage unit 144. That is, it is determined whether or not the processing request is predetermined as a virtual machine operation pattern.

警告部146は、プロセス記憶部141により、処理要求検出部122が検出した処理要求を入力したプロセスを識別するプロセスIDがプロセス記憶部141に記憶されていると判定され、かつ、処理要求判定部145により、処理要求検出部122が検出した処理要求と一致する処理要求が、処理要求記憶部144に記憶されていないと判定された場合、警告を出力する。ここで、警告を出力するとは、例えば、仮想化装置100のディスプレイに警告文を出力するようにしても良いし、警告文を含むログファイルを出力して記憶領域に記憶させるようにしても良いし、定められたメールアドレスを宛先として警告文をメール送信するようにしても良い。また、警告部146は、カーネル120に対して警告を出力し、カーネル120は、警告部146から出力された警告に応じて、VT112に対して入力された処理要求に応じた処理を実行しないようにしても良い。あるいは、例えば仮想化装置100のディスプレイに、処理要求に応じた処理を実行させるか否かを選択するダイアログを表示させることもできる。この場合、カーネル120は、処理要求を実行させると選択されたことが入力されれば、処理要求を実行させ、処理要求を実行させないと選択されたことが入力されれば、処理要求を実行させずに、そのプロセスを停止させるようにしても良い。   The warning unit 146 is determined by the process storage unit 141 that the process ID for identifying the process that has input the processing request detected by the processing request detection unit 122 is stored in the process storage unit 141, and the processing request determination unit When it is determined by 145 that a processing request that matches the processing request detected by the processing request detection unit 122 is not stored in the processing request storage unit 144, a warning is output. Here, for example, outputting a warning may output a warning text on the display of the virtualization apparatus 100, or may output a log file including the warning text and store it in a storage area. Then, a warning message may be sent by e-mail with a predetermined e-mail address as a destination. In addition, the warning unit 146 outputs a warning to the kernel 120, and the kernel 120 does not execute processing according to the processing request input to the VT 112 in response to the warning output from the warning unit 146. Anyway. Alternatively, for example, a dialog for selecting whether or not to execute processing according to the processing request can be displayed on the display of the virtualization apparatus 100. In this case, the kernel 120 executes the processing request if the selection is made to execute the processing request, and executes the processing request if the selection is made not to execute the processing request. Instead, the process may be stopped.

次に、本実施形態による仮想化装置100の動作例を説明する。図6は、このような仮想化装置100が警告を出力する動作例を示すフローチャートである。何らかのプロセスによりカーネル120に処理要求が入力されると(ステップS1)、処理要求検出部122は、入力された処理要求を検出する(ステップS2)。処理要求検出部122は、検出した処理要求をプロセス判定部143に通知する(ステップS3)。プロセス判定部143は、処理要求に含まれるプロセスIDが、プロセス記憶部141に記憶されているか否かを判定する(ステップS4)。   Next, an operation example of the virtualization apparatus 100 according to the present embodiment will be described. FIG. 6 is a flowchart showing an operation example in which the virtualization apparatus 100 outputs a warning. When a processing request is input to the kernel 120 by any process (step S1), the processing request detection unit 122 detects the input processing request (step S2). The process request detection unit 122 notifies the process determination unit 143 of the detected process request (step S3). The process determination unit 143 determines whether or not the process ID included in the processing request is stored in the process storage unit 141 (step S4).

プロセス判定部143が、処理要求に含まれるプロセスIDはプロセス記憶部141に記憶されていないと判定すると(ステップS4:NO)、処理を終了する。一方、プロセス判定部143が、処理要求に含まれるプロセスIDはプロセス記憶部141に記憶されていると判定すると(ステップS4:YES)、処理要求判定部145は、処理要求記憶部144に記憶された処理要求を読み出し、ステップS2において検出された処理要求が、処理要求記憶部144に記憶されているか否かを判定する(ステップS5)。   If the process determination unit 143 determines that the process ID included in the processing request is not stored in the process storage unit 141 (step S4: NO), the process ends. On the other hand, when the process determination unit 143 determines that the process ID included in the processing request is stored in the process storage unit 141 (step S4: YES), the processing request determination unit 145 is stored in the processing request storage unit 144. It is determined whether or not the processing request detected in step S2 is stored in the processing request storage unit 144 (step S5).

処理要求判定部145が、ステップS2において検出された処理要求が、処理要求記憶部144に記憶されていると判定すると(ステップS5:YES)、処理を終了する。一方、処理要求判定部145が、ステップS2において検出された処理要求が、処理要求記憶部144に記憶されていないと判定すると(ステップS5:NO)、警告部146は、警告を出力する(ステップS6)。   When the process request determination unit 145 determines that the process request detected in step S2 is stored in the process request storage unit 144 (step S5: YES), the process ends. On the other hand, when the processing request determination unit 145 determines that the processing request detected in step S2 is not stored in the processing request storage unit 144 (step S5: NO), the warning unit 146 outputs a warning (step S6).

このようにすれば、仮想化装置100の管理者は、例えばカーネル120上で動作する仮想マシンが乗っ取られることなどにより、仮想マシンが意図しない動作を行っていることを知ることができる。
なお、本実施形態では、プロセス記憶部141とプロセス管理部142とを備える仮想マシン管理プログラムのプロセスが、プロセス判定部143と処理要求記憶部144と処理要求判定部145と警告部146とを備える例を説明したが、プロセス記憶部141とプロセス管理部142とを備える仮想マシン管理プログラムのプロセスとは別に、プロセス判定部143と処理要求記憶部144と処理要求判定部145と警告部146とを備えるプロセスを起動させる構成としても良い。
In this way, the administrator of the virtualization apparatus 100 can know that the virtual machine is performing an unintended operation, for example, by taking over a virtual machine that operates on the kernel 120.
In this embodiment, the process of the virtual machine management program including the process storage unit 141 and the process management unit 142 includes a process determination unit 143, a processing request storage unit 144, a processing request determination unit 145, and a warning unit 146. Although an example has been described, a process determination unit 143, a processing request storage unit 144, a processing request determination unit 145, and a warning unit 146 are provided separately from the process of the virtual machine management program including the process storage unit 141 and the process management unit 142. It is good also as a structure which starts the process with which it is provided.

なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想マシンの管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   It should be noted that the program for realizing the function of the processing unit in the present invention is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into the computer system and executed to manage the virtual machine. May be performed. Here, the “computer system” includes an OS and hardware such as peripheral devices. The “computer system” includes a WWW system having a homepage providing environment (or display environment). The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Further, the “computer-readable recording medium” refers to a volatile memory (RAM) in a computer system that becomes a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

100 仮想化装置
110 ハードウェア
111 CPU
112 VT
113 HD
114 メモリ
115 NIC
120 カーネル
121 ファイルシステム
122 処理要求検出部
130 システムコール
141 プロセス記憶部
142 プロセス管理部
143 プロセス判定部
144 処理要求記憶部
145 処理要求判定部
146 警告部
100 Virtualization device 110 Hardware 111 CPU
112 VT
113 HD
114 Memory 115 NIC
120 Kernel 121 File System 122 Processing Request Detection Unit 130 System Call 141 Process Storage Unit 142 Process Management Unit 143 Process Determination Unit 144 Processing Request Storage Unit 145 Processing Request Determination Unit 146 Warning Unit

Claims (4)

仮想マシンの並行動作を効率的に行う仮想化支援機能を有するCPUを備えた仮想化装置であって、
前記CPUにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部と、
記カーネルに入力された処理要求を検出する処理要求検出部と、
前記処理要求検出部が検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定するプロセス判定部と、
前記プロセス判定部により前記仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、前記処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する処理要求判定部と、
前記処理要求判定部による判定結果に基づいて、警告を出力する警告部と、
を備えることを特徴とする仮想化装置。
A virtualization apparatus including a CPU having a virtualization support function for efficiently performing parallel operations of virtual machines,
A processing request storing unit pattern of processing requests are entered into kernel operating is stored in advance in the CPU,
A processing request detection unit that detects a processing request input before Symbol kernel,
A process determination unit that determines whether the processing request detected by the processing request detection unit is a processing request from a virtual machine operating in the kernel;
Said process determining unit by processing the determined processing request as a request from the virtual machine, whether the predetermined processing request as a pattern of operation of the virtual machine, pre Symbol processing request storage unit in the storage and determining processing request determination unit based on the pattern of which do that processing request,
A warning unit which on the basis of the by that determination result to the processing request determining unit and outputs a warning,
A virtualization apparatus comprising:
前記仮想マシンを識別するプロセス識別情報が記憶されているプロセス記憶部と、
前記仮想マシンの起動要求を受付け、当該起動要求に応じて、前記カーネル上に仮想マシンを起動させ、当該仮想マシンを識別するプロセス識別情報を前記プロセス記憶部に記憶させるプロセス管理部と、
を備え、
前記プロセス判定部は、前記処理要求検出部が前記処理要求を検出すると、当該処理要求を入力した前記プロセスを識別するプロセス識別情報が、前記プロセス記憶部に記憶されているか否かを判定することにより、前記処理要求検出部が検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する
ことを特徴とする請求項1に記載の仮想化装置。
A process storage unit storing process identification information for identifying the virtual machine;
A process management unit that accepts a startup request for the virtual machine, starts a virtual machine on the kernel in response to the startup request, and stores process identification information for identifying the virtual machine in the process storage unit;
With
Said process determination unit determines when the processing request detection unit detects the processing request, the process identification information for identifying the process entered the processing request, whether stored in said process storage unit Thus, the virtualization apparatus according to claim 1 , wherein it is determined whether the processing request detected by the processing request detection unit is a processing request from a virtual machine operating in the kernel .
仮想マシンの並行動作を効率的に行う仮想化支援機能を有するCPUを備え、前記CPUにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置の仮想化装置制御方法であって、
記カーネルに入力された処理要求を検出する第1ステップと、
前記第1ステップにおいて検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第2ステップと、
前記第2ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、前記処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第3ステップと、
前記第3ステップにおける判定結果に基づいて、警告を出力する第4ステップと、
含むことを特徴とする仮想化装置制御方法。
A CPU with virtualization support functions for performing parallel processing of the virtual machine efficiently, with a processing request storage unit in which the pattern of processing requests are entered into kernel operating is stored in advance in the CPU virtual Virtualization device control method for virtualization apparatus,
A first step of detecting the processing request inputted before Symbol kernel,
A second step of determining whether or not the processing request detected in the first step is a processing request from a virtual machine operating in the kernel;
Whether or not the processing request determined as a processing request from the virtual machine in the second step is a processing request predetermined as a virtual machine operation pattern is stored in the processing request storage unit. A third step of determining based on the processing request pattern
A fourth step of outputting a warning based on the determination result in the third step ;
The virtualization apparatus control method characterized by including .
仮想マシンの並行動作を効率的に行う仮想化支援機能を有するCPUを備え、前記CPUにおいて動作するカーネルに入力される処理要求のパターンが予め記憶されている処理要求記憶部を備えた仮想化装置のコンピュータに、
記カーネルに入力された処理要求を検出する第1ステップと、
前記第1ステップにおいて検出した処理要求が、前記カーネルにおいて動作する仮想マシンからの処理要求か否かを判定する第2ステップと、
前記第2ステップにおいて仮想マシンからの処理要求であると判定された処理要求が、仮想マシンの動作のパターンとして予め定められた処理要求であるか否かを、前記処理要求記憶部に記憶されている処理要求のパターンに基づいて判定する第3ステップと、
前記第3ステップにおける判定結果に基づいて、警告を出力する第4ステップと、
を実行させるための仮想化装置制御プログラム。
A CPU with virtualization support functions for performing parallel processing of the virtual machine efficiently, with a processing request storage unit in which the pattern of processing requests are entered into kernel operating is stored in advance in the CPU virtual Computer
A first step of detecting the processing request inputted before Symbol kernel,
A second step of determining whether or not the processing request detected in the first step is a processing request from a virtual machine operating in the kernel;
Whether or not the processing request determined as a processing request from the virtual machine in the second step is a processing request predetermined as a virtual machine operation pattern is stored in the processing request storage unit. A third step of determining based on the processing request pattern
A fourth step of outputting a warning based on the determination result in the third step ;
Virtualization device control program for executing
JP2011124246A 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program Active JP5637934B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011124246A JP5637934B2 (en) 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011124246A JP5637934B2 (en) 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program

Publications (2)

Publication Number Publication Date
JP2012252492A JP2012252492A (en) 2012-12-20
JP5637934B2 true JP5637934B2 (en) 2014-12-10

Family

ID=47525260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011124246A Active JP5637934B2 (en) 2011-06-02 2011-06-02 Virtualization device, virtualization device control method, virtualization device control program

Country Status (1)

Country Link
JP (1) JP5637934B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990844B (en) * 2019-10-25 2022-04-08 浙江大华技术股份有限公司 Cloud data protection method based on kernel, cloud server and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719936B2 (en) * 2008-02-01 2014-05-06 Northeastern University VMM-based intrusion detection system

Also Published As

Publication number Publication date
JP2012252492A (en) 2012-12-20

Similar Documents

Publication Publication Date Title
US11310286B2 (en) Mechanism for providing external access to a secured networked virtualization environment
JP5904514B1 (en) Method of automatically applying an update to a snapshot of a virtual machine, and its computer system and computer system program
EP2443553B1 (en) Annotating virtual application processes
US8850442B2 (en) Virtual machine allocation in a computing on-demand system
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
JP5387415B2 (en) Virtual computer system, policy enforcement system, policy enforcement method, and virtual computer control program
US20110231839A1 (en) Virtual machine homogenization to enable migration across heterogeneous computers
WO2015175671A1 (en) Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management
US20150033220A1 (en) System and method for emulating shared storage
KR20070100367A (en) Method, apparatus and system for dynamically reassigning memory from one virtual machine to another
US20130332921A1 (en) Virtual machine image write leasing
WO2018184701A1 (en) Method for operating virtual machines on a virtualization platform and corresponding virtualization platform
JP2016110183A (en) Information processing system and control method thereof
JP2009075877A (en) Information processing system and monitoring method
US9195518B1 (en) System and method for communicating production virtual machine access events to a service appliance in a virtualized environment
JP5819350B2 (en) Computer system and startup method
JP5637934B2 (en) Virtualization device, virtualization device control method, virtualization device control program
US11635970B2 (en) Integrated network boot operating system installation leveraging hyperconverged storage
JP2009266027A (en) Information processing apparatus and control method
JP5564466B2 (en) Virtualization device, virtualization device control method, virtualization device control program
WO2018184698A1 (en) Method and system for supporting creation of virtual machines on a virtualization platform
JP5478372B2 (en) Guest OS control system
JP6653786B2 (en) I / O control method and I / O control system
CN113791873B (en) Virtual machine creating method, computing device and storage medium
JP4730386B2 (en) Virtual computer device, computing resource utilization method, and program

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141021

R150 Certificate of patent or registration of utility model

Ref document number: 5637934

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

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

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