Embodiment
Referring to description of drawings principle of the present invention and embodiment.
Principle summary of the present invention
Fig. 2 illustrates principle sketch of the present invention.As shown in Figure 2, in using virtualized environment of the present invention, many virtual machines (VM) are connected with virtual network (VNet).For example, virtual machine VM1, VM2, VM3 are positioned on the Same Physical machine.The VM PowerShadow 220 that virtualized environment of the present invention also is provided with secure virtual machine manager 200 and is coupled with it.Between secure virtual machine manager and PowerShadow, be provided with physical security equipment 210, such as fire compartment wall, anti-virus equipment, security gateway or IPS equipment etc.Wherein, the VM security manager will be for example VM3 remain in the shared drive to the bag that VM1 sends, copy this bag, and should wrap by physical security equipment 210 and be transmitted to VM PowerShadow 220.
If VM PowerShadow 220 receives this bag, then return a response message to secure virtual machine manager 200.Secure virtual machine manager 200 is determined to transmit this bag according to the response message that returns.The bag that secure virtual machine manager 200 will keep discharges, to obtain this bag by VM1 from shared drive.
If the time that secure virtual machine manager 200 surpasses appointment does not receive the response message of returning from VM PowerShadow 220, then abandon this bag, do not transmit to VM1.
Alternatively, if the time that secure virtual machine manager 200 surpasses appointment does not receive the response message of returning from VM PowerShadow 220, can adjust virtual network VNet.For example, from VNet, mark off the sub-network (not shown) of a separation, VM3 is divided in this sub-network.The bag that is in virtual machine (for example VM3) transmission in this sub-network always passes through physical security equipment 210 to be checked by physical security equipment 210 and to filter.
According to the present invention, send traditional physical security equipment to by the bag of will communicate by letter between the virtual machine and filter inspection, strengthened the fail safe of communicating by letter between the virtual machine.In addition, by according to the result who checks feedback original virtual network being divided into new sub-network, implement the safety isolation, force the virtual machine communication from now on that once sends attack code bag for example all by the inspection of external safe physical equipment, further improved fail safe and the efficient of virtual machine communication.In other execution mode of the present invention, can also after the virtual machine isolation that will have potential hazard, send an indication to control desk and carry out respective handling with the reporting system keeper.
3-6 describes embodiments of the invention referring to accompanying drawing.
Embodiment 1
Fig. 3 illustrates the schematic block diagram according to the dummy machine system of the safety enhancing of present embodiment.
As shown in the figure, comprise a plurality of virtual machines according to the dummy machine system 350 of present embodiment, for example VM1, VM2 and VM3.Describe with three virtual machine instances although note that present embodiment, it only is for the ease of explanation that those skilled in the art can understand this, and unrestricted.The virtual machine that in fact can comprise as required arbitrary number.In the present embodiment, these virtual machines are positioned on the Same Physical machine (such as server, large-scale computer, work station etc.).
Dummy machine system 350 also comprises virtual network (VNet) security manager 300 and the VM PowerShadow 320 that is coupled with it.VM PowerShadow 320 is positioned on another physical machine different from the physical machine at virtual machine VM1, VM2 and VM3 place.
Between VNet security manager 300 and VM PowerShadow 320, be provided with physical security equipment 310.The present invention to physical security equipment 310 without limits.For example, physical security equipment 310 can be traditional fire compartment wall, anti-virus equipment, security gateway, IPS equipment one or a combination set of.Those skilled in the art can understand, in IT architecture, a plurality of physical security equipment such as fire compartment wall can be set, communicating by letter between the equipment that these physical security equipment not only can be used for protected network inside and the external equipment can also be used for the communication between the equipment (comprising virtual machine) of protected network inside.
In the process of virtual machine communication, for example, when virtual machine VM3 sent bag to VM1, VNet security manager 300 copied the bag that virtual machine VM3 sends to VM1, and the bag that will copy is forwarded to VM PowerShadow 320 by physical security equipment 310.VM PowerShadow 320 returns the response message that indication receives this bag to VNet security manager 300.VNet security manager 300 wraps in this between virtual machine according to the response message of returning and sends.
More specifically, except the module (for clear statement the present invention not shown) identical with virtual machine manager (Hypervisor) in the traditional dummy machine system, VNet security manager 300 further comprises VNet communication controler 301.VNet communication controler 301 is configured to be handled as follows: the bag that detects communication between the different virtual machine (for example VM3 and VM1) that is positioned on the Same Physical machine; In shared drive, keep and copy detected bag; The bag that copies is forwarded to VM PowerShadow 320 by physical security equipment 310; Wait for and receive the response message of returning from VM PowerShadow 320; And discharge the bag that keeps in the situation of response message to finish the communication between the different virtual machine receiving.Alternatively, each bag of communicating by letter between 301 pairs of virtual machines of VNet communication controler carries out above-mentioned processing, realizes the whole controls to secure virtual machine communication.Perhaps, VNet communication controler 301 can extract the bag of communicating by letter between the virtual machine according to pre-defined rule and carry out above-mentioned processing, realizes sampling Detection and Partial controll to secure virtual machine communication.Described pre-defined rule can be set as required, for example can extract according to the certain hour interval, perhaps extracts the bag of predefined type etc.
In addition, VNet communication controler 301 can also be the bag mark universal unique identifier (UUID) that keeps, and should wrap and UUID together is forwarded to VM PowerShadow 320.UUID can be used for locating corresponding bag.It should be appreciated by those skilled in the art that the UUID here only is an example, and the present invention can adopt the identifier of other type to identify bag.
As shown in Figure 3, the VM PowerShadow 320 VM shadow manager 325 that comprises VM simulator 321 and be coupled with it.
VM shadow manager 325 is configured to receive the bag that is forwarded by physical security equipment 310 from VNet communication controler 301, and the bag that receives is distributed to VM simulator 321.
VM simulator 321 can be set up corresponding virtual machine shadow according to the virtual machine topological structure of VNet security manager 300 notices.The virtual machine shadow is the mirror image of respective virtual machine on the physical machine at PowerShadow place, also can be called the pseudo-mirror image of virtual machine.But, should be noted that virtual machine shadow herein is not copying fully the respective virtual machine.In fact, it is the controller that comprises the control information (for example UUID) of bag for feedback that the virtual machine shadow can be understood as, and the logic function that it only need be configured to have the control information of the bag that receives corresponding virtual machine transmission and return the response that contains this control information gets final product.After the clear and definite restriction and function of virtual machine shadow, specifically how setting up the virtual machine shadow is that those skilled in the art adopt its general knowledge just can implement, and is not described in detail in this.
In addition, when a virtual machine VM added VNet, VNet security manager 300 can notify VM PowerShadow 320 to increase the virtual machine shadow for it.As shown in phantom in FIG., VM simulator 321 is set up the virtual machine shadow for each virtual machine.For example, the shadow that virtual machine VM1, VM2 and VM3 are corresponding is VM1 ', VM2 ' and VM3 '.VM simulator 321 is resolved bag from VM shadow manager 325 to obtain the UUID of bag.Except UUID, also comprise body matter from the bag of VM shadow manager 325, i.e. the data division of bag.VM simulator 321 does not obtain the body matter from the bag of VM shadow manager 325.VM simulator 321 checks whether set up virtual machine shadow VM3 ' for the virtual machine VM3 that for example sends bag.If not then simulate new virtual machine shadow VM3 '.Then, VM simulator 321 is forwarded to relevant virtual machine shadow VM3 ' with UUID.
As an example, relevant virtual machine shadow VM3 ' can generate only comprise UUID bag as above-mentioned response message, and this bag sent to VM shadow manager 325.
Alternatively, VM simulator 321 can also obtain the IP address of the virtual machine VM3 that sends bag.In this case, virtual machine shadow VM3 ' can have the IP address identical with the IP address of virtual machine VM3.And relevant virtual machine shadow VM3 ' generates the bag that comprises UUID and IP address and sends to VM shadow manager 325 as response message.
VM shadow manager 325 will feed back to VNet communication controler 301 by the response message that associated virtual machine shadow VM3 ' generates.
Embodiment 2
Fig. 4 illustrates the according to another embodiment of the present invention schematic block diagram of the dummy machine system of safety enhancing.In Fig. 4, adopt identical label to represent the device identical with Fig. 3, and omit its detailed description.
The dummy machine system 350 ' of present embodiment is that with dummy machine system 350 differences of embodiment 1 VNet security manager 300 ' comprises that also VNet divides controller 305.
VNet divides controller 305 and is coupled with VNet communication controler 301.If the time that VNet communication controler 301 surpasses appointment does not receive the response message of returning from VM PowerShadow 320, then notify VNet to divide controller 305 and adjust VNet.VNet divides controller 305 and adjusts VNet and be divided in the virtual subnetwork (not shown) that separates with other virtual machine with the virtual machine VM3 that will send bag, and so that the bag that the virtual machine in this virtual subnetwork (for example VM3) sends always passes through physical security equipment 310 with by its inspection and filtration.Specifically how marking off a virtual subnetwork from VNet is that those skilled in the art adopt its general knowledge just can implement, and is not described in detail in this.
In this case, the bag that the virtual machine in the virtual subnetwork that marks off sends will no longer be forwarded to VM PowerShadow 320.Can think the virtual machine in this virtual subnetwork is isolated, before corresponding virtual machine (for example VM3) being processed the safety problem elimination that makes wherein existence, the bag that this virtual machine sends can be filtered by physical security equipment 310, thereby can not realize communicating by letter with other virtual machine.
Embodiment 3
Fig. 5 illustrates the flow chart according to the virtual machine communication method of the safety enhancing of further embodiment of this invention.
Virtual machine communication method according to present embodiment can be realized at embodiment 1 described dummy machine system.As shown in Figure 5, at first, in step 501, the bag that is sent to VM1 such as the virtual machine VM3 that is positioned on the Same Physical machine by VNet communication controler test example.
Then, in step 510, detected bag is remained in the shared drive, and copy this bag.
Then, in step 520, can be the bag mark universal unique identifier UUID that keeps.
Then, in step 530, bag and the UUID that copies is forwarded to the VM PowerShadow by for example fire compartment wall.This PowerShadow is positioned on another physical machine of the physical machine that is different from the virtual machine place.
Afterwards, receive the response message of this bag in the indication that step 540 is waited for and reception is returned from PowerShadow.This response message can only comprise the UUID that marks.
If receive this response message in step 540, then process and advance to step 560.In step 560, discharge this bag that keeps, send it to another virtual machine.
If receive this response message in step 540 above the fixed time, then process and advancing to step 550.In step 550, abandon the bag that keeps, and this bag is not sent to another virtual machine.
More than be described from the angle of the VNET communication controler method to embodiment 3.Fig. 6 illustrates the flow chart of the processing of being undertaken by the VM PowerShadow in the method for Fig. 5.
As shown in Figure 6, in step 531, the VM PowerShadow receives the bag that is forwarded by for example fire compartment wall from the VNET communication controler.
Then, in step 532, process this and wrap to generate the response message that comprises UUID.Particularly, can the bag that obtain be distributed to the VM simulator by VM shadow manager.The VM simulator is resolved bag from VM shadow manager 325 to obtain the UUID of bag.Whether the inspection of VM simulator has set up virtual machine shadow VM3 ' for the virtual machine VM3 that for example sends bag.If not then simulate new virtual machine shadow VM3 '.Then, VM simulator 321UUID is forwarded to relevant virtual machine shadow VM3 '.As an example, relevant virtual machine shadow VM3 ' can generate only comprise UUID bag as above-mentioned response message.Alternatively, the VM simulator can also obtain the IP address of the virtual machine VM3 that sends bag.And relevant virtual machine shadow VM3 ' generates and comprises the bag of UUID and IP address as above-mentioned response message.Then, response message is sent to VM shadow manager.
Then, in step 533, VM shadow manager will feed back to the VNet communication controler by the response message that associated virtual machine shadow VM3 ' generates.
Embodiment 4
Fig. 7 illustrates the flow chart of virtual machine communication method according to yet another embodiment of the invention.In Fig. 7, adopt identical label to represent the step identical with Fig. 5, and omit its detailed description.
Virtual machine communication method according to present embodiment can be realized at embodiment 2 described dummy machine systems.The difference of the method for present embodiment and embodiment 1 is also carry out step 570 after step 550.
As shown in Figure 7, if receive response message in step 540 above the fixed time, and after step 550 abandons the bag that keeps, process advancing to step 570.In step 570, divide controller by VNet for example and adjust VNet with in the virtual subnetwork that virtual machine VM3 is divided into other virtual machine separates that will send bag, and so that the bag that the virtual machine in this virtual subnetwork sends always passes through physical security equipment (for example fire compartment wall) with by its inspection and filtration.
In this case, the bag that the virtual machine in the virtual subnetwork that marks off sends will no longer be forwarded to the VM PowerShadow.Can think the virtual machine in this virtual subnetwork is isolated, before corresponding virtual machine (for example VM3) being processed the safety problem elimination that makes wherein existence, the bag that this virtual machine sends can be filtered by physical security equipment, thereby can not realize communicating by letter with other virtual machine.
Fig. 8 has schematically shown the block diagram that can realize according to the computer system of each embodiment of the present invention.
Computer system shown in Fig. 8 comprises CPU (CPU) 801, RAM (random access memory) 802, ROM (read-only memory) 803, system bus 804, hard disk controller 805, keyboard controller 806, serial interface controller 807, parallel interface controller 808, display controller 809, hard disk 810, keyboard 811, serial external equipment 812, parallel external equipment 813 and display 814.In these parts, what link to each other with system bus 804 has CPU 801, RAM 802, ROM 803, hard disk controller 805, keyboard controller 806, serial interface controller 807, parallel interface controller 808 and a display controller 809.Hard disk 810 links to each other with hard disk controller 805, keyboard 811 links to each other with keyboard controller 806, serial external equipment 812 links to each other with serial interface controller 807, and parallel external equipment 813 links to each other with parallel interface controller 808, and display 814 links to each other with display controller 809.
The function of each parts is being well-known in the art among Fig. 8, and structure shown in Figure 8 also is conventional.This structure not only is used for personal computer and server, and is used for handheld device, such as Palm PC, PDA (personal digital assistant), mobile phone etc.In different application, for example be used for to realize including according to the user terminal of client modules of the present invention or when including server host according to dummy machine system of the present invention, can add some parts to the structure shown in Fig. 8, perhaps some parts among Fig. 8 can be omitted.Whole system shown in Fig. 8 by usually be stored in the hard disk 810 as software or be stored in EPROM or other nonvolatile memory in computer-readable instruction control.Software also can be downloaded from the network (not shown).Perhaps be stored in the hard disk 810, the software of perhaps downloading from network can be loaded into the RAM 802, and is carried out by CPU 801, in order to finish the function of being determined by software.
Although the computer system of describing among Fig. 8 can be provided by the technical scheme that provides according to of the present invention, this computer system is an example of computer system.It will be apparent to those skilled in the art that many other Computer System Design also can realize embodiments of the invention.
The present invention for example can also be embodied as by the employed computer program of system shown in Figure 8, and it can include for realizing dummy machine system that safety according to the present invention strengthens or the part or all of code of virtual machine communication method.Before using, can code storage in the memory of other computer system, for example, be stored in hard disk or the movably memory such as CD or floppy disk, perhaps download via internet or other computer network.
Disclosed method of the present invention can realize in the combination of software, hardware or software and hardware.Hardware components can utilize special logic to realize; Software section can be stored in the memory, and by suitable instruction execution system, for example microprocessor, personal computer (PC) or large-scale computer are carried out.
The preferred embodiments of the present invention have more than been described.The above description of specific embodiment has intactly represented general characteristic of the present invention, and each application of these specific embodiments can easily revise and/or adapt to by being used current knowledge to other side in the situation that does not break away from General Principle.Therefore these application and modification should and be intended to be understood to be in the implication and equivalency range of disclosed embodiment.
Should be appreciated that the wording that adopts and term are the purposes of explanation, rather than restriction here.Therefore, although described the present invention according to embodiment, persons of ordinary skill in the art will recognize that within the scope of the appended claims and can realize the present invention by revising.