Movatterモバイル変換


[0]ホーム

URL:


Next Article in Journal
A Study on Join Operations in MongoDB Preserving Collections Data Models for Future Internet Applications
Previous Article in Journal
Nonlinear Analysis of Built-in Sensor in Smart Device under the Condition of Voice Actuating
 
 
Search for Articles:
Title / Keyword
Author / Affiliation / Email
Journal
Article Type
 
 
Section
Special Issue
Volume
Issue
Number
Page
 
Logical OperatorOperator
Search Text
Search Type
 
add_circle_outline
remove_circle_outline
 
 
Journals
Future Internet
Volume 11
Issue 3
10.3390/fi11030082
Font Type:
ArialGeorgiaVerdana
Font Size:
AaAaAa
Line Spacing:
Column Width:
Background:
Article

An Access Control Model for Preventing Virtual Machine Hopping Attack

School of Computer Engineering and Science, Shanghai University, Shanghai 200444, China
*
Author to whom correspondence should be addressed.
Future Internet2019,11(3), 82;https://doi.org/10.3390/fi11030082
Submission received: 27 February 2019 /Revised: 16 March 2019 /Accepted: 23 March 2019 /Published: 26 March 2019

Abstract

:
As a new type of service computing model, cloud computing provides various services through the Internet. Virtual machine (VM) hopping is a security issue often encountered in the virtualization layer. Once it occurs, it directly affects the reliability of the entire computing platform. Therefore, we have thoroughly studied the virtual machine hopping attack. In addition, we designed the access control model PVMH (Prevent VM hopping) to prevent VM hopping attacks based on the BLP model and the Biba model. Finally, we implemented the model on the Xen platform. The experiments demonstrate that our PVMH module succeeds in preventing VM hopping attack with acceptable loss to virtual machine performance.

    1. Introduction

    Cloud computing is an Internet-based, emerging network computing model. It is another new computing concept after parallel computing, grid computing, and utility computing [1]. It is regarded as another revolution in the computer field. With the gradual development and advantages of cloud computing, the core technologies and applications of cloud computing have been highly valued by governments, companies, and scientific research institutions. Many IT companies such as Google [2], Amazon [3], Azure and Alibaba have taken cloud computing as an important direction for future technological innovation and invested heavily in research and development. Many countries even regard cloud computing as an important opportunity to develop and upgrade the information industry and promote the development of the information society. In the investigation report of the RightScale 2018 status, 96% of IT professionals surveyed said that their company was adopting cloud computing services, and 92% said they used public clouds. As companies move more applications to the cloud, the cloud computing market is increasingly booming. According to research firm Gartner, the public cloud market value will reach 186.4 billion US dollars in 2018, an increase of 21.4% over last year. While IT leaders decided to adopt cloud computing because of the benefits they bring, they still face a very important cloud computing challenge, one of which is security.
    The virtual machine (VM) hopping attack [4,5] studied in this paper mainly involves the security between different virtual machines on the same host and the security between the virtual machine and the host. In a cloud platform, multiple virtual machines are distributed together on the same physical machine. If a virtual machine is compromised or an illegal intruder obtains the highest authority of a virtual machine by some means, there is a security risk that an illegal user uses the virtual machine as a springboard to attack other virtual machines and even attack the virtual machine manager to illegally obtain data files on the virtual machine. There are various vulnerabilities in different virtualization platforms. A Xen official announced a major security vulnerability, codenamed "Dome Breaking" (XSA-148/CVE-2015-7835). It shows that there is exploitable vulnerability in virtual machines running in the Para-Virtualized (PV) mode of the Xen platform, which is prone to virtual machine hopping attacks and virtual machine escaping attacks. Jason Geffner of CrowdStrike found a security vulnerability related to the virtual floppy controller in the open source computer emulator QEMU, codenamed “VENOM” (CVE-2015-3456). It existed in many computer virtualization platforms (notably Xen, KVM, VirtualBox, and the native QEMU client). This vulnerability could allow an attacker to get rid of the guest identity restrictions from an infected virtual machine and likely to gain code execution rights from the host. In addition, an attacker can use it to access the host system and all virtual machines running on the host, and can elevate access permissions so that attackers can access the host's local network and neighboring systems. Another vulnerability (CVE-2018-10853) indicated that KVM 4.10 and later versions in the Linux kernel have security flaws in implementation due to the failure to detect the CPL (the privilege level of the currently executing task or program). An attacker could exploit this vulnerability to elevate privileges and cause virtual machine hopping attacks. Since the virtual machine hopping attack is a security risk of the virtualization layer, the security risks in the virtualization layer may cause the security system of the entire cloud computing platform to collapse. Therefore, if a virtual machine hopping attack occurs in the cloud platform, huge damage is brought to the entire cloud platform.
    In summary, research on how to improve the security of the cloud computing platform itself and prevent malicious attacks in the cloud computing environment has theoretical and practical significance for promoting the healthy development of cloud computing platforms and their applications. The VM hopping attack is a very harmful attack method. Researchers should pay enough attention to the prevention of VM hopping attacks to make the cloud platform more stable and reliable.
    In this paper, we study the related content of virtual machine hopping attacks. According to the BLP model and the Biba model, the prevent VM hopping (PVMH) model is proposed by combining the integrity and confidentiality of computer security, and strives to prevent virtual machine hopping attacks.
    The rest of this paper is organized as follows:Section 2 describes several studies that are closely related to our research;Section 3 introduces some background knowledge, including virtual machine hopping attacks and access control techniques;Section 4 details the design and implementation of our proposed PVMH model; by several experiments inSection 5, we demonstrate the effectiveness of our PVMH model; and, finally, we conclude the paper and discuss future work inSection 6.

    2. Related Works

    Cloud computing and traditional IT technologies have different service models, operating modes, forms of information exchange, and technologies that provide cloud services, which makes cloud computing face different threats and risks from traditional IT technologies. Virtualization plays an important role in the construction of cloud computing. However, there are various vulnerabilities in current virtualization implementations, and the virtualization layer [6] faces various security challenges. With the help of network virtualization, a single network infrastructure can be divided into several virtual architectures. This benefits a wide range of applications, including cloud computing infrastructures. In [7], Bays et al. discussed several main challenges and threats related to the virtual network security, and presented the corresponding solutions, as well as the security aspects that had not yet been approached. In a cloud environment, security is vital to detecting intrusions into the virtual network layer. Nathiya et al. [8] proposed a hybrid intrusion detection system (H-IDS) to monitor security in a virtual network layer, but they did not deploy and verify the experiment.
    The security problems in virtualization can be divided into two categories: Virtualization security risks and virtualization security attacks. Common virtualization attacks [9] include virtual machine stealing and tampering, virtual machine hopping, virtual machine escape, virtual-machine based rootkit (VMBR) attacks, and denial of service attacks. Based on the BLP model, Jiang et al. [10] proposed PVME to prevent virtual machine escape from the aspects of access control. They added two new access properties (execute (e*) and control (c*)) to the PVME model and formulated several rules for different VM states. Nguyen et al. [11] showed that the virtual switch itself can retransmit TCP packets, which can be abused for amplification attacks by internal attackers. Rakotondravony et al. [12] presented a new classification of malware attacks in IaaS cloud environments, which helps practitioners at early stages of the design of virtual machine introspection based mitigation mechanisms by identifying relevant attacks.
    Central to the cloud environment is virtualization technology, the core of which is the virtual machine (VM). Therefore, the communication capabilities between VMs are paramount. For cloud users, poor VM communication extends tenant tasks and VM lease time, eventually increasing their costs. On the other hand, the poor communication between VMs also introduces security vulnerabilities [13]. Al-Said et al. [14] outlined security challenges that exist in virtualization techniques and which are used to support several customers on one shared physical infrastructure. Ren et al. [15] analyzed the security threats and challenges virtual machines faced and presented several typical attacks to virtual machine on the Xen platform. Elmrabet et al. [16] proposed a new three-layer security architecture, which is composed of virtual switch, virtual firewall, and VLANs, to prevent attacks to virtual machines, such as sniffing, spoofing, and mac flooding. Sathya et al. [17] introduced a trusted model for VM security in cloud computing. They encrypted the VM images and used snapshot technique and a third-party monitor, all of which improves the confidentiality, integrity, and availability of VM in cloud. Mohammad-Mahdi et al. [18] presented an approach to efficiently detect side-channel attacks based on cross-VM cache, using hardware fine-grained information provided by Intel Cache Monitoring Technology (CMT) and Hardware Performance Counters (HPCs).
    These studies on virtualization security have achieved relatively satisfying results in virtualization security prevention. However, when focusing on the problem of virtual machine hopping attack, these studies are relatively one-sided and do not solve this problem well. Once virtual machine hopping attacks occurs, the files on the attacked virtual machine are completely exposed to the attacker, and even the entire virtualization layer is implicated, resulting in a larger-scale leak. Therefore, preventing virtual machine hopping attacks has very high research value.

    3. Preliminaries

    3.1. VM Hopping

    3.1.1. VM Hopping Analysis

    VM hopping is a common attack mode in virtualization security attacks. It means that an attacker attempts to gain access to other virtual devices on the same Hypervisor based on one virtual machine, and then attacks it. According to the implementation of virtualization, virtual machines on the same Hypervisor can communicate with each other by network connections, shared memory or other shared resources. However, it’s the implementation of virtualization that results in VM hopping. VM hopping can be divided into the following two situations:
    In one case, an attacker might use a malicious virtual machine to quietly access or control other virtual machines on the Hypervisor by those communication between virtual machines.
    Another situation is that if an attacker from virtual machine VM1 illegally oversteps the Hypervisor layer and gains access to the host operating system, he can even destroy virtual machine VM2.

    3.1.2. VM Hopping Hazard

    The two situations of VM hopping attacks pose a great threat to the virtualization layer and even the entire cloud platform from different aspects.
    In the first situation, an attacker uses a malicious virtual machine and quietly accesses or controls other virtual machines on the same host by virtual machine communication. On the one hand, since the attacker can monitor the flow through the attacked virtual machine, he can attack the virtual machine by controlling or changing the flow. On the other hand, the attacker can modify the configuration of the controlled virtual machine, so that the running virtual machine is forced to shut down, resulting in interruption of communication and incomplete communication. The entire attacked virtual machine is exposed to the attacker, and all files stored on it are unprotected, causing immeasurable losses to users of this virtual machine.
    When the VM hopping attack succeeds, the attacker directly lands on the host by overstepping the Hypervisor layer. Inevitably, the attacker can intercept the I/O data flow of other virtual machines on this host machine, analyze and obtain relevant data of other users, and then carry out further attacks on sensitive information. If the default user, or even the administrator's basic information is modified, the host machine will be unprotected as well. What's more, if a virtual machine on the host runs as a basic service, the attacker can forcibly shut down or delete the virtual machine through Hypervisor privileges, causing the interruption of basic services and an unrecoverable disaster to the entire virtualization platform.

    3.1.3. VM Hopping Defense

    At present, VM hopping defense is mainly solved by building healthier Hypervisors and designing more robust access control policies.
    (1) Build lightweight Hypervisor. In most computer systems, TCB (trusted computing base) is a combination of all the security devices that constitute a secure system. TCB, which provides security for the entire system, is highly reliable and is the basis for ensuring the safety of high-level application operations. However, the larger the TCB, the more code, the higher probability of vulnerability, and the harder it is to ensure its own credibility. Therefore, the design of lightweight Hypervisors should be as simple as possible. A lightweight Hypervisor, such as Trustvisor, Secvisor, and Cloudvisor, only retains the key feature and implements the other features in other virtualization layers. To our knowledge, ARCN, the latest lightweight Hypervisor, only has 25,000 lines of code.
    (2) Design access control policy [19]. Access control is a common technical means for system security and information security, ensuring the confidentiality and integrity of data from all aspects. In the field of virtualization, the security risks are mainly caused by illegal resource access, and the design of access control is aimed at the access rights of resources between the subject and the object. Therefore, the access control policy is used to solve the related problems in the virtualized domain. Due to the more complex state transitions and hazards of virtual machine hopping attacks, a set of access control policies should be designed specifically.
    In this paper, we assume the host system is trusted, and only concentrate on the access control policy of guest machines.

    3.2. Access Control

    Access control consists of three entities: The subject (sending the access request), the object (being accessed), and the security access policy (the access rules of the subject accessing the object).
    Traditional access control has three access policies: (1) Discretionary Access Control [20] (DAC), which allows a subject to impose specific restrictions on access control. (2) Mandatory Access Control [21] (MAC), which does not allow subject interference to some extent. (3) Role-based access control policy [22] (RBAC), which assigns access rights according to user roles. With the rapid development of cloud computing, mobile computing, and other application scenarios, there is also an attribute-based access control [23] (ABAC).

    3.2.1. BLP Model

    The Bell-LaPadula security model [24] (BLP model), proposed by D.E. Bell and L.J. LaPadula in 1973, is a multi-level security model simulating military security strategy and is the most famous multi-level security model. The BLP model is used to control access to classified information. As the first mathematical model to formalize the security policy, it is a state machine indeed, which uses state variables to represent the security state of the system, and state transition rules to describe the change process of the system.
    The BLP model has many advantages: (1) The BLP model is one of the earliest models to describe multi-level security policy. (2) The BLP model is a strictly formalized model, and has the formalized proof. (3) The BLP model is a safe model with both discretionary access control and mandatory access control. (4) Control information can only flow from low security to high security, which meets the military department and other institution with high data confidentiality demand.
    However, it also has some disadvantages: (1) Low-security information flows to high-security objects, which may damage the data integrity of high-security objects and be used by viruses or hackers. (2) As long as it is legal for the information to flow from low security to high security, it does not conform to the minimum privilege principle, no matter whether there is demand for work. (3) The BLP model focuses on confidentiality control, but lacks integrity control, so it cannot solve the problem of hidden channels, which means high-level processes can convey information to low-level processes by sharing resources.

    3.2.2. Biba Model

    The Biba model [25], proposed by K.J. Biba in 1977, is the first model that involves the integrity of computer systems. The Biba model was developed after the BLP model and was used to address application data integrity issues.
    The Biba model supports five kinds of control policy: (1) Low-water-mark mandatory access control policy (LOMAC), (2) low-water-mark mandatory access control policy for object (LOMAC-O), (3) low-water-mark integrity audit policy (LO-IA), (4) ring policy (RP), and (5) strict integrity policy (SIP). Among these security policies, strict integrity is the most famous one, which is mathematically dual with the BLP security policy model. Since the strict integrity policy is most frequently used, the Biba model refers to this specific policy in most instances.
    Strict integrity policy is a mathematical dual of the confidentiality strategy based on Trusted Computer System Evaluation Criteria (TCSEC). The strict integrity policy provides No Read Down (NRD) and No Write Up (NWU) characteristics. From these two characteristics, the Biba and BLP models have exactly opposite characteristics. The BLP model provides confidentiality, while the Biba model guarantees the integrity of data.

    4. Methods

    The BLP model allows information to flow from low security to high security, and prohibits the flow of information in the opposite direction. The Biba model allows information to flow from high integrity to low integrity, and prohibits the flow of information in the opposite direction. If the BLP model is directly combined with the Biba model, which implements strict integrity policy, entities at different levels are not able to communicate with each other, resulting in "information islands" in the system. Therefore, in practical application, these two models cannot be directly applied, one model has to be made with corresponding modifications to the other model.

    4.1. PVMH Model Design

    The application background of the BLP and Biba models was aimed at the traditional operating system environment. Considering that the scenario studied in this paper is a virtualization environment, the PVMH access control model is designed based on the characteristics of virtualization environments and the differences between virtualization environments and traditional operating systems. To a large extent, the PVMH model borrows from the BLP model. As a model to prevent virtual machine hopping attack, it also integrates the characteristics of the Biba model into the BLP model.

    4.1.1. Model Elements

    Basically, the PVMH model inherits most notations of the BLP model; its main model elements include: Subject, object, access attribute, access control matrix, security level, etc., as follows:
    • Subject: The capital S represents the subject set, while the lowercase s is a single subject, namelyS={s1, s2, , sn}.
    • Object: The capital O represents the object set, while the lowercase o represents a single object, namelyO={o1, o2, , on}.
    • Access Attribute SetA={r, a, w, e}: The PVMH model has different attributes: Read-only (r), write-only (a), read-write (w), and execute (e).
    • Access MatrixM: Each elementmij inM represents the access permission of subjectSi to objectOj in current state.
    • Security LevelR=(C, I,K): The capital C indicates the confidentiality level, the capital I indicates the integrity level, and the capital K indicates the security category. The PVMH model has several functions associated with security level:fsc for subject confidentiality,fsi for subject integrity,fsk for subject security category,foc for object confidentiality, foi for object integrity,fok for object security category,fht for the highest writing-up level, andflt for the lowest writing-up level. Functionfrole represents user identity, that is, whether the user is a trusted subject (Hypervisor or the privileged virtual machine) or a general subject. The notations and> represent the partially ordered relationship of confidentiality between subject and object, while the notation represents the inclusion relationship of the security category between subject and object. The security level set R=(R1,R2,,Rp ) is a partial order set, and each item Ri=(Ci, Ii,Ki') in the set represents a security level, whereCiCIiIKi'K 1 ≤ip. Ri dominatesRj, denoted as RiRj, if and only ifCiCjIiIjKi'Kj'. The functionsfsr stands for the security levels of the subject andfor represents for the security levels of the object.
    • Subject–object Security Label: The subject security label includes security level, information category (optional), and the highest writing-up level. The highest writing-up level of the subject indicates the highest security level of the object that allows the subject to perform the append or write-only access. The object security label includes security level, information category (optional), and lowest writing-up level. The lowest writing-up level of the object represents the lowest security level of the subject that allows append or write-only access to the object.
    • Request ElementRA={g, r}: The lowercaseg represents a get or give request while the lowercaser represents a release or rescind request.
    • The system state setV is represented by a quaternionV = {B×M×F×H}, whereB = P(S×O×A) is the current access set,b represents the current access set,M is the access control matrix,F is the access function, andH is the hierarchical structure between objects, representing the subordinate relationship between objects. In object hierarchy, there is at most one node and only one parent node, and there is no ring in the structure.

    4.1.2. Security Axioms

    All security axioms of the PVMH model are named with PVME- as a prefix.
    Axiom 1(PVMH-ds Axiom). The PVMH-ds axiom is improved from BLP’s ds-characteristic security axiom. Statev=(b×M×f×H) satisfies the discretionary security axiom, if and only if (s, o, x)b,xMij is always true, wherex is one of four access attributes: Read-only (r), write-only (a), read-write (w), or execute (e).
    Axiom 2(PVMH-* Axiom).S' is a subset ofS. A statev=(b×M×f×H) satisfies thePVMH-* axiom, if and only if for all(s,o,x) b, there exists:
    ss{(Ob(s:r))(fsr (S)>for(O))(Ob(s:a))(fsr (S)<for(O) and fht (S)for(O) and fsr (S)flt(O) )(Ob(s:w))(fsr (S)=for(O))(Ob(s:e))(SiST)
    According to BLP’s ss-characteristic, the PVMH-ss-characteristic should exist in the PVMH model. However, the Hypervisor needs to communicate with the guest virtual machines, and it has full access permission to all guest virtual machines, that is, read-only (r), write-only (a), read-write (w), or execute (e). Therefore, when the Hypervisor plays the role of subject, it is in the trusted subject setST, which obviously violates the PVMH-ss-characteristic; but, for all guest virtual machines, they satisfy the PVMH-*-characteristic, and it is easy to deduce that they also satisfy the PVMH-ss-characteristic. Therefore, due to the existence of the Hypervisor, the so-called PVMH-ss-characteristic needs to be removed from the PVME model.

    4.1.3. State Transition Rules

    Based on BLP security criterion and Biba model, the PVMH model improves the integrity and confidentiality of the BLP model to a certain extent. The PVMH model includes 11 state transition rules, which are expressed asPVMHRi, where1 i11. The domain of the rule is denoted asdom(PVMHRi). The output result is defined as the set D={yes,no,?}, where“yes” accepts the request,“no” rejects the request and“?” means the request is illegal, which does not belong to any request domain.
    Rule 1 (PVMHR1(get-read)). Subject virtual machineSi accesses object virtual machine Oj in read-only (r) mode. The definition isdom(PVMHR1)={Rk | (g, Si, Oj, r)R(1)}. This pseudo code is as follow:
     PVMHR1 (Rk , v)={(?, v)if Rkdom(PVMHR1)(yes,(b {(Si ,  Oj , r)},M,f,H))if [Rkdom(PVMHR1)]and [rMij ]and [fsr (Si)>for(Oj) or SiST](no, v)otherwise
    If the decision is “yes”, add a new rule thatSi is allowed to accessOj in read-only (r) mode into current access set.
    Rule 2 (PVMHR2(get-append)). Subject virtual machineSi accesses object virtual machineOj in write-only or append (a) mode. The definition isdom(PVMHR2)={Rk | (g, Si, Oj,a)R(1)}. The pseudo code is as follow:
     PVMHR2 (Rk , v)={(?, v)if Rkdom(PVMHR2)(yes,(b {(Si ,  Oj , a)},M,f,H))if [Rkdom(PVMHR2)] and [aMij]and [fsr (Si)<for(Oj) ]and [fht (Si)foc(Oj) ]and [fsc (Si)flt(Oj) ]or [ SiST ](no, v)otherwise
    If the decision is “yes”, add a new rule thatSi is allowed to accessOj in write-only or append (a) mode into current access set.
    Rule 3 (PVMHR3(get-write)). Subject virtual machineSi accesses object virtual machineOj orST (trusted subject) accessed object virtual machineOj in read–write (w) mode. The definition isdom(PVMHR3)={Rk | (g, Si, Oj, w) R(1)}. This pseudo code is as follow:
     PVMHR3 (Rk , v)={(?, v)if Rkdom(PVMHR3)(yes,(b {(Si ,  Oj , w)},M,f,H))if [Rkdom(PVMHR3)] and [wMij]and [fsr (Si)=for(Oj)]or [ SiST ](no, v)otherwise
    If the decision is“yes”, add a new rule thatSi is allowed to accessOj in read-write(w) mode into current access set.
    Rule 4 (PVMHR4(give-read/append/write)). Hypervisor (Sλ) needs to set permission for subject virtual machineSi accessing object virtual machineOj in a certain mode, including read-only, write-only or read–write. The definition isdom(PVMHR4)={Rk | (Sλ, g, Si, Oj, x)R(2)}, xA. This pseudo code is as follow:
     PVMHR4 (Rk , v)={(?, v)if Rkdom(PVMHR4)(yes,(b,M\Mij{x},f,H))if [Rkdom(PVMHR4)]and [ SλST ] and [ OjOR ](no, v)otherwise
    If the decision is “yes”, add a new element thatSi is allowed to accessOj inx mode into access matrix.
    Rule 5 (PVMHR5(create-object)). SubjectSi (Hypervisor or privileged virtual machine) needs to create object virtual machineOj. The definition isdom(PVMHR5)={Rk | (g, Si, Oj, Lu) R(3)}. The pseudo code is as follow:
     PVMHR5 (Rk , v)={(?, v)if Rkdom(PVMHR5)(yes,(b,M,f\fofo(Oj,Lu)))if [Rkdom(PVMHR5)]and [ SλST ](no, v)otherwise
    Notation is assignment, which means assigningfo (Oj, Lu) tofo. Pair(Oj, Lu) refers to mapping relationfo(Oj)= Lu while pair(OR, Oj) refers to another relationH(OR)= Oj. Notationf\fofo(Oj, Lu) means set security level ofOj toLu in security level vector (seeSection 4.1.3). This expression is also used in the following rules.
    If the decision is “yes”,Oj is created and meanwhile, the related element is added into the security level and object level.
    Rule 6 (PVMHR6(delete-object)). SubjectSi (Hypervisor or privileged virtual machine) needs to delete object virtual machineOj (1jn),n virtual machines in total). The definition isdom(PVMHR6)={Rk | (Si, Oj) R(4)}. The pseudo code is as follow:
     PVMHR6 (Rk , v)={(?, v)if Rkdom(PVMHR6)(yes,((bACC(Oj)OPE(Sj)),M\{Muj,Mju},f,H(OR,Oj)))if [Rkdom(PVMHR6)] and [SλST ]and[ SjST ] and [OjOR](no, v)otherwise
    In this function,1un, withn virtual machines in total. NotationACC(Oj)=(S ×{Oj}×A)b refers to all access associated withOj in current access setb while notationOPE(Si)=({S}×Oj×A)b refers to all access fromSi to the deleted virtual machine in current access setb.
    If the decision is“yes”,Oj is deleted and, meanwhile, the related element is removed from current accessb, access matrixM, and object levelH.
    Rule 7 (PVMHR7(rescind-read/append/write)). The Hypervisor (Sλ) needs to revoke permission for subject virtual machineSi accessing object virtual machineOj, including read-only, write-only, or read–write. The definition isdom(PVMHR7)={Rk | (Sλ,r, Si,Oj,x)R(2)}, xA. The pseudo code is as follow:
     PVMHR7 (Rk , v)={(?, v)if Rkdom(PVMHR7)(yes,(b(Si,Oj,x),M\Mij{x},f,H))if [Rkdom(PVMHR7)]and [SλST ] and [OjOR](no, v)otherwise
    If the decision is“yes”, remove the element thatSi can accessOj inx mode from access matrix, and, meanwhile, remove the rule thatSi can accessOj inx mode from current access set.
    Rule 8 (PVMHR8(modify-object-l)). The Hypervisor needs to modifyLu, the security level of object virtual machine.
    In the following,PVMH*(Rk, v) is the characteristic function, which guarantees that if it outputs “true” and statev satisfies the PVMH-* characteristic with respect toS*(S*S), the statev after this transition also satisfies the PVMH-* characteristic. The strict mathematic definition is as follows:
    PVMH*(Rk , v)= true
    SλS, [(Sλ , Oj, a )bLufsr(Sλ) &fsc(Sλ)flt]
    &[(Sλ , Oj, w )bLu=fsr(Sλ)]
    &[(Sλ , Oj, r )bLufsr(Sλ)] 
    Oλ O, [(Sλ , Oj, a )bfor(Oλ)Lu&foc(Oλ)fht]
    &[(Sλ , Oj, w )bfor(Oλ)=Lu]
    &[(Sλ , Oj, r )bfor(Oλ) Lu]
    The definition isdom(PVMHR8)={Rk | (r, Si, Oj, Lu)R(3)}. The pseudo code is as follows:
     PVMHR8 (Rk , v)={(?, v)if Rkdom(PVMHR8)(yes,(b,M,f\fofo(Oj,Lu),H(OR,Oj)))if [Rkdom(PVMHR8)]and [SiST ] and [OjOR]and [PVMH*(Rk , v)=true](no, v)otherwise
    If the decision is “yes”, set security level ofOj toLu.
    Rule 9 (PVMHR9(modify-fsc)). The trusted subject needs to modify the highest writing-up level for a certain subject virtual machine. The definition isdom(PVMHR9)={Rk | (r, Si, Oj, fht)  R(5)}. The pseudo code is as follows:
     PVMHR9 (Rk , v)={(?, v)if Rkdom(PVMHR9)(yes,(fht=Highest))if [Rkdom(PVMHR9)]and [frole(Si)=admin ]and[(Sm,Oj,a)b]and[fsc(Si)Highest](no, v)otherwise
    Notationfht refers to the highest writing-up level of the subject, while “Highest" refers to the highest writing-up level of the subject granted by administration. If the decision is “yes”, the highest writing-up level of the subject is updated to “Highest".
    Rule 10(PVMHR10(modify-foc)). The trusted subject needs to modify the lowest writing-up level for a certain subject virtual machine. The definition isdom(PVMHR10)={Rk | (r, Si, Oj, flt)R(5)}. The pseudo code is as follows:
     PVMHR10 (Rk , v)={(?, v)if Rkdom(PVMHR10)(yes,(fht=Lowest))if [Rkdom(PVMHR10)]and [frole(Si)=admin ]and[(Sm,Oj,a)b]and[foc(Oj)Lowest](no, v)otherwise
    Notationflt refers to the lowest writing-up level of the subject, while"Lowest" refers to the lowest writing-up level of the subject granted by administration. If the decision is “yes”, the lowest writing-up level of the subject is updated to “Lowest".
    Rule 11(discretionary access control). The access matrix allows the subject virtual machineSi to access the object virtual machineOj inx mode only ifx is contained in both the row element ofSi and column element ofOj in the access control matrix. The statev satisfies the discretionary security characteristic if and only if(Si, Oj, x)bxMij.
    By setting the highest writing-up level and the lowest writing-up level that each subject can write into, the PVMH model implements stricter integrity restrictions, while keeping most security characteristics of the BLP model, so it also has higher security.

    4.2. PVMH Model Mapping

    4.2.1. Subject–Object Mapping

    This paper takes Xen as the virtualization platform. In Xen, the privileged virtual machine is denoted as Domain0, the ordinary virtual machine is denoted as DomainU, and the virtual machine manager is denoted as Hypervisor. Domain0 and Hypervisor are the trusted subjects, which manage all virtual machines on the same host. In the BLP model, both subject and object are abstract words, while in the cloud platform system, the subject may be Hypervisor, Domain0, or DomainU, and the object may be Hypervisor, DomainU, or a specific file, memory snip, data unit, etc. When access control is Hypervisor-related, the Hypervisor is at the highest level of confidentiality and integrity.

    4.2.2. Access Attribute Mapping

    In Xen, read and write operations between guest virtual machines are accomplished through communication mechanisms. The interaction between guest virtual machines corresponds to the access properties of the PVMH model. In the PVMH model, event channels can be established and event notifications sent as long as one guest virtual machine has some access to attribute to another guest virtual machine. The corresponding operation can be found in state transitions of the PVMH model, as shown inTable 1.

    4.2.3. Access Matrix Mapping

    In our framework designed with the PVMH model, the access matrix is stored as a binary file in the virtual machine manager, while a backup file is also stored in the privileged virtual machine. Each element of the access matrix is a one-dimensional ordered tuple (SID, OID, R, A, W, Flag) where SID is the subject security ID number, OID is the object security ID number, R is read-only access attribute, A is write-only access attribute, W is read–write access attribute, and Flag is used to indicate whether the rule is valid; "1" is valid and "0" is invalid. The security ID number is set by the system administrator, and the ID number of the virtual machine in the cloud platform is allocated by the cloud system when the virtual machine starts up. For a virtual machine, both the SID and the OID are equal to its security ID number, that is, SID = OID = ID. In the cloud platform, the ID number is a 13-bit binary number, and R, A, and W are represented by 1-bit binary numbers. When R (or A or W) is set to 1, the subject has the access attribute for the object, and when the value is set to 0, the subject does not have the access attribute for the object. It can be seen that the six-element tuple has a total of 30 binary digits (13 bits for SID and OID, 1 bit for R, A, and W, and 1 bit for Flag), and the default access matrix is sorted by pair (SID, OID) in ascending order, which is very efficient for searching later.

    4.2.4. Current Access Set

    The current access setb (bS×O×A) includes all access that the subject has for the object in some certain modes. The current access set can be used to determine whether the state of the system is secure. In the PVMH model, each subject has its own current access setb, denoted asb(S)O×A. The elements in the object setO are represented by OID, and the access attribute setA includes three elements: Read-only (r), write-only (a), and read–write (w).

    4.2.5. Security Level

    The PVMH model has 8 confidentiality levels and 8 integrity levels. The confidentiality set is defined asC={C1, C2, , C8}, whereC1>C2>>C8, while the integrity set is defined asI={I1, I2,,I8}, whereI1>I2>>I8. Both the confidentiality level and integrity level are 3-bit binary numbers, as shown inTable 2.
    PVMH has 16 security categories or access permissions. The security category set is defined asK={K1, K2, , K16}. The security category is a 16-bit binary number, where each bit is a specific access permission. When theith bit from the left is set to 1, the subject gains access to the object inKi mode. When it is set to 0, the subject loses this access.

    4.3. PVMH Model Implementation

    We designed the PVMH architecture according to the security control module of the cloud computing platform, as shown inFigure 1.
    The PVMH framework prototype system is divided into two parts, with the core part in the hypervisor and the other part in the Host OS. The Host OS has an Access Management module. The hypervisor includes an Access Matrix module, an access control module (PVMH-ACM), a PVMH Information module, and an Access Decision module.
    • Access Management Module: The Access Management module is located in the Host OS, which is the entrance for the system administrator managing the entire PVMH module. When creating a virtual machine, the administrator can set the confidentiality level and integrity level according to specific requirements, and manage both the access matrix and information structure, according to the actual situation.
    • Access Decision Module: The main task of the Access Decision module is to check the access request sent by the virtual machine, to determine whether the access attribute of the PVMH module is satisfied, and filter requests that are illegal or have malicious data. Only legitimate requests are sent to PVMH-ACM module.
    • Access Matrix Module: The Access Matrix module is located in the virtual machine manager and stores all the required access matrices.
    • PVMH-ACM Module: The PVMH-ACM module is a concrete implementation of the security hook function interface provided by the Linux Security module (LSM). In addition, this module implements the specific functions of the PVMH model.
    • PVMH Information Module: Each virtual machine has its own information structure (PVMH Information), which is responsible for recording information about running virtual machines. The information includes the ID number of the virtual machine, the confidentiality level, the integrity level and the security category, and the pointer to the entry of the access matrix list entry and the current access set b(s), which was gradually established in the process from virtual machine starting-up to running.
    • Linux Security Module (LSM): LSM is the basis for implementing the PVMH-ACM module. When the underlying operating system starts, the LSM starts to function. When the corresponding security hook function is called, the user-implemented security module is called immediately.
    When the virtual machine issues an access request, the PVMH-ACM module determines whether to allow access to the resource according to the corresponding access control rules. The access control flowchart is shown inFigure 2:
    According to PVMH architecture, the specific implementation process is as follow:
    Step 1: The subject virtual machine sends a request to access the object virtual machine in a certain mode. The Access Decision module intercepts these requests, checks whether they conform to the access attributes of PVMH module, filters the illegal or malicious data requests directly, returns "Error", and sends the requests that conform to the access attributes to the PVMH-ACM module in Hypervisor.
    Step 2: The PVMH-ACM module queries in the Access Matrix and PVMH Information by resolving the incoming message, and makes decisions according to the state transition rules.
    Specifically, it takes it as an example that the subject virtual machine (SID) accesses the object virtual machine (OID) in read-only (R) mode.
    (1)
    The PVMH-ACM module queries the current access setb(S) of the subject virtual machine from the PVMH Information module. If it finds the target pair (OID, R), the PVMH-ACM module accepts the request and returns "yes" directly; otherwise, it jumps to (2) to continue.
    (2)
    All access matrix items associated with SID and OID are stored into a linked list. The PVMH-ACM module searches the linked list from the head node. If it finds the target tuple (SID, OID, 1XXX) (X is 0 or 1), it jumps to (3) for a further decision; otherwise, it rejects the request and returns “no” directly.
    (3)
    The PVMH-ACM module finds the information of the object virtual machine in the PVMH Information module, and compares the confidentiality level of the subject virtual machine with that of the object virtual machine. If rulePVMHR1 is satisfied, the PVMH-ACM returns "yes" as a decision result and adds the value pair (OID, R) into the current access setb(S); otherwise, it rejects the request and returns "no".
    The entire access process is stored in the PVMH Information module, and when the same access is repeated in the future, the PVMH-ACM access control module will directly output the result, instead of matching the subject and object security level and other Information.
    Step 3: The PVMH-ACM module sends the decision result to the LSM module. If the PVMH-ACM module outputs “yes”, the LSM module allows the subject virtual machine to access the object virtual machine, and carries out the security access control according to the specific hook function; otherwise, access is rejected.

    5. Experiments

    5.1. Basic Environment

    The experiment is performed on a Dell PC with the following configuration, as shown inTable 3.
    In this experiment, Xen is used as the private cloud platform driven by the virtualization environment, and the “virt-manager” tool is used to manage virtual machines. For convenience, the host operating system is configured with the graphical interface, and since the virtual machine requires only a basic environment, the graphical interface is removed from the guest operating system. The details are shown inTable 4.

    5.2. The Initialization of PVMH Module

    The PVMH module needs to be initialized before it can run. After initialization, the legal access attributes are stored in the Access Decision module, and the initial access matrix is stored in the Access Matrix module. The system administrator can modify the access matrix according to the access request at any time.
    The PVMH-ACM module registers its initialization function through the interface provided by the Linux security module LSM, which is called during the initialization of LSM. The initialization function loads the access matrix into the memory address space of Hypervisor. Based on memory-efficient consideration, such as searching, adding, or deleting elements, an ordered bidirectional linked list is used. In addition, the PVMH-ACM initialization function provides the LSM with information about the security hook functions. The PVMH-ACM module runs at one of these two modes: Mandatory access control or discretionary access control, which depends on the access information returned from the Access Decision module. The PVMH Information module records the information of each virtual machine. PVMH Information is a bidirectional linked list in Hypervisor, and each node holds the relevant information of a specific running virtual machine, which includes the security ID number, confidentiality level, integrity level, security category, and the pointers to the access matrix linked list entry and the current access set b(s). After initialization, only an empty table exists in the PVMH Information module. When a certain virtual machine starts, the corresponding security ID number, confidentiality level, integrity level, and security category are assigned. These four items are read by the PVMH Information module and saved into the bidirectional linked list, which forms the first four elements of this virtual machine.

    5.3. Experiments and Results

    There are many cases of virtual machine hopping attacks. Two of the possible scenarios of virtual machine hopping attacks have been selected here to verify the role of the PVMH module.
    Attack scenario 1: Virtual machine hopping attacks between virtual machines due to shared memory communication. Typical communication through shared memory is as follows: VM1 creates shared memory and transfers its grant reference to both virtual machines VM2 and VM3; VM2 and VM3 respectively map the authorized memory pages to their respective address spaces; By address mapping, VM2 and VM3 can read or write the shared page as it is exactly in their own memory address. When VM2 and VM3 have finished accessing this shared memory, they revoke the memory page address. At last, VM1 revokes the authorization and reclaims the grant reference. In the experiment, shared memory communication is implemented by dynamic kernel.
    Expected result: After the PVMH module is started, if VM2 and VM3 do not satisfy the access control rules, the shared memory cannot be used, thus the dynamic kernel fails and cannot be inserted in VM2 and VM3.
    Create virtual machines with the virt-manager tool, as shown inFigure 3.
    After creation, list all running virtual machines, as shown inFigure 4.
    The security level and category of virtual machines are given inTable 5.
    Obviously, VM1 > VM2 > VM3 when comparing confidentiality and VM1 > VM2 = VM3 when integrity is concerned. Without PVMH, VM1, VM2, and VM3 can access each other. After PVMH is configured, however, VM1 can access VM2 and VM3 while VM2 and VM3 cannot access VM1.
    The access matrix is given inTable 6.
    The shared memory is created in VM1 and the key log is printed, as shown inFigure 5.
    The function of the kernel in VM1: First take a physical page of 4K size; then write "Hello, by DY in DOM#1" into this page; the starting memory address is 0xdb566000 in the address space of VM1; then authorize according to the ID number of VM2 and VM3 and return the corresponding grant reference identifier, which is 797 for VM2 and 798 for VM3.
    According to the ID number of VM1 and the grant reference identifier mentioned above, the shared memory is referenced in the VM2 through dynamic kernel. Without PVMH, VM2 successfully reads the shared information written by VM1, as shown inFigure 6.
    The function of the kernel in VM2: First, the 4K size is divided from the address space for mapping the shared page. Then VM2 maps the shared page to its own address space according to the ID number of VM1 and the grant reference identifier; in VM2, the starting address of this mapped page is 0xe19c0000; after that, the information "Hello, by DY in DOM#1" written by VM1 can be read and the access is completed.
    In order to verify the role of the PVMH module, the dynamic kernel needs to be removed from VM2 at first, then the PVMH module enabled and the dynamic kernel reinserted in VM2, as shown inFigure 7 andFigure 8 respectively.
    After starting the PVMH module, VM2 loses its permission to access the shared memory, which results in the failure of the dynamic kernel insertion. Similar results can be observed in VM3 with and without the PVMH module. This is consistent with PVMH rules, because VM2 has lower confidentiality and lower integrity than VM1.
    Attack scenario 2: The attacker uses the VM4 to mount and modify the /boot partition of VM5 through Hypervisor. As a result, VM5 cannot be started, causing the virtual machine hopping attack.
    Expected result: After the PVMH module is started, if the access control rule is not satisfied, VM4 cannot access the/boot partition of VM5, even using the privileged virtual machine Dom0.
    Set the security level and category of VM4 and VM5, as shown inTable 7.
    Obviously, VM4 < VM5 when comparing both confidentiality and integrity. Without PVMH, VM4 can mount the/boot partition of VM5 through Dom0. After PVMH is started, however, VM4 cannot access VM5 anymore.
    The access matrix is given inTable 8.
    VM4 uses the privileged virtual machine Dom0 to view the partition of VM5, as shown inFigure 9.
    The disk of VM5 is divided into two partitions: /and/boot. Before the PVMH module is enabled, VM4 mounts and accesses the/boot partition of VM5 through Dom0. The “Start” value of the partition/boot, 2048, is used to calculate the offset in command mount, as shown inFigure 10:
    Since VM4 can modify the/boot partition of VM5, it can attack VM5 easily. Unmount the partition, enable the PVMH module and remount the/boot partition of VM5. The results are as given inFigure 11.
    After the PVMH module is enabled, VM4 cannot mount the/boot partition of VM5. It should be noted that the mount operation corresponds to a series of Linux system calls. In our implementation, after the PVMH module interception, it affects the input of subsequent system calls, so the error message is “No such file or directory”.
    Through these two specific scenario experiments, it can be seen that the PVMH module has played a role in preventing virtual machine hopping attacks. In addition to the above experimental results, performance cost testing of PVMH is required to understand the impact of integrating PVMH into the original virtualization platform.
    Performance overhead experiment: Taking attack scenario 1 as an example, the most critical and time-consuming step in shared memory communication is to generate a system interruption through the HYPERVISOR_grant_table_op function, and then call a set of hypercalls. Before and after the PVMH module is enabled, the actual time of the function call is tested separately to measure the performance impact of the PVMH module on the original virtualization platform.
    As shown inFigure 12, without PVMH module, it takes 853 microseconds to call a set of hypercalls via HYPERVISOR_grant_table_op. After loading the PVMH module, the average time is 932 microseconds, which results in an additional time loss of 9%.
    It can be seen from the above analysis that the PVMH module can effectively prevent the virtual machine hopping problem in the cloud computing environment without significantly reducing the system performance.

    6. Conclusions

    By analyzing the above experimental results, it is clear that PVMH can effectively prevent Virtual Machine hopping attacks and ensure the security between different virtual machines on the same host. Since the PVMH module needs to call the system function when it is running, it consumes a certain amount of system performance, but for the overall effect, the additional loss is within an acceptable range.
    In future research, the safety rules of PVMH could be further streamlined, making the PVMH model more suitable for preventing Virtual Machine hopping attacks. In addition, we need to strengthen the connection between the PVMH module and the LSM module, which could reduce the workload and achieve better preventive effects.

    Author Contributions

    Ying Dong and Zhou Lei conceived and designed the PVMH model; Ying Dong performed the experiments and wrote the paper; Zhou Lei revised the paper.

    Funding

    This research received no external funding.

    Conflicts of Interest

    The authors declare no conflict of interest.

    References

    1. Gulati, G. Multi-Tenant Architecture. InA Private Cloud; LAP Lambert Academic Publishing: Saarbrücken, Germany, 2012. [Google Scholar]
    2. Dean, J.; Ghemawat, S. MapReduce: A flexible data processing tool.Commun. ACM2010,53, 72–77. [Google Scholar] [CrossRef]
    3. DeCandia, G.; Hastorun, D.; Jampani, M.; Kakulapati, G.; Lakshman, A.; Pilchin, A.; Sivasubramanian, S.; Vosshall, P.; Vogels, W. Dynamo: Amazon’s highly available key-value store. In Proceedings of the Twenty-First ACM SIGOPS Symposium on Operating Systems Principles (SOSP’07), Stevenson, WA, USA, 14–17 October 2007; ACM: New York, NY, USA, 2007; pp. 205–220. [Google Scholar]
    4. Catteddu, D.; Hogben, G. Cloud Computing - Benefits, risks and recommendations for information security. In Proceedings of the 2009 Iberic Web Application Security Conference, Madrid, Spain, 10–11 December 2009; Springer: Berlin Heidelberg, 2010. [Google Scholar]
    5. Ormandy, T. An empirical study into the Security exposure to hosts of hostile virtualized environments. In Proceedings of the CanSecWest Applied Security Conference, Vancouver, Canada, 18 March 2007; pp. 1–18. [Google Scholar]
    6. Modi, C.N.; Acha, K. Virtualization layer security challenges and intrusion detection/prevention systems in cloud computing: A comprehensive review.J. Supercomput.2017,73, 1192–1234. [Google Scholar] [CrossRef]
    7. Bays, L.R.; Oliveira, R.R.; Barcellos, M.P.; Gaspary, L.P.; Madeira, E.R. Virtual network security: Threats, countermeasures, and challenges.J. Internet Serv. Appl.2015,6, 1. [Google Scholar] [CrossRef]
    8. Nathiya, T.; Suseendran, G. An Effective Hybrid Intrusion Detection System for Use in Security Monitoring in the Virtual Network Layer of Cloud Computing Technology. InData Management, Analytics and Innovation. Advances in Intelligent Systems and Computing; Balas, V., Sharma, N., Chakrabarti, A., Eds.; Springer: Singapore, 2019; Volume 839. [Google Scholar]
    9. Pan, W.; Zhang, Y.; Yu, M.; Jing, J. Improving virtualization security by splitting hypervisor into smaller components. InIFIP Annual Conference on Data and Applications Security and Privacy, Paris, France, 11–13 July 2012. Lecture Notes in Computer Science (including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Springer Nature: Basel, Switzerland, 2012; Volume 7371, pp. 298–313. [Google Scholar]
    10. Wu, J.; Lei, Z.; Chen, S.; Shen, W. An Access Control Model for Preventing Virtual Machine Escape Attack.Future Internet2017,9, 20. [Google Scholar] [CrossRef]
    11. Nguyen, S.D.; Mimura, M.; Tanaka, H. Abusing TCP retransmission for DoS attack inside virtual network. InInformation Security Applications. WISA 2017; Lecture Notes in Computer Science; Kang, B., Kim, T., Eds.; Springer: Cham, Switzerland, 2018; Volume 10763. [Google Scholar]
    12. Rakotondravony, N.; Taubmann, B.; Mandarawi, W.; Weishäupl, E.; Xu, P.; Kolosnjaji, B.; Protsenko, M.; De Meer, H.; Reiser, H.P. Classifying malware attacks in IaaS cloud environments.J. Cloud Comput.2017,6, 26. [Google Scholar] [CrossRef]
    13. Mthunzi, S.N.; Benkhelifa, E.; Alsmirat, M.A.; Jararweh, Y. Analysis of VM communication for VM-based cloud security systems. In Proceedings of the 2018 Fifth International Conference on Software Defined Systems (SDS), Barcelona, Spain, 23–26 April 2018; pp. 182–188. [Google Scholar]
    14. Said, T.A.; Rana, O.F. Analysing Virtual Machine Security in Cloud Systems. In Proceedings of the International Conference on Intelligent Cloud Computing, Muscat, Oman, 24–26 February 2014. [Google Scholar]
    15. Ren, X.; Zhou, Y. A Review of Virtual Machine Attack Based on Xen. In Proceedings of the International Seminar on Applied Physics, Optoelectronics and Photonics (APOP 2016), Shanghai, China, 28–29 May 2016. [Google Scholar]
    16. Elmrabet, Z.; Elghazi, H.; Sadiki, T.; Elghazi, H. A New Secure Network Architecture to Increase Security among Virtual Machines in Cloud Computing. InAdvances in Ubiquitous Networking; Lecture Notes in Electrical Engineering; Sabir, E., Medromi, H., Sadik, M., Eds.; Springer: Singapore, 2016; Volume 366. [Google Scholar]
    17. Sathya Narayana, K.; Pasupuleti, S.K. Trusted Model for Virtual Machine Security in Cloud Computing. InProgress in Computing, Analytics and Networking. Advances in Intelligent Systems and Computing; Pattnaik, P., Rautaray, S., Das, H., Nayak, J., Eds.; Springer: Singapore, 2018; Volume 710. [Google Scholar]
    18. Bazm, M.-M.; Sautereau, T.; Lacoste, M.; Südholt, M.; Menaud, J.-M. Cache-Based Side-Channel Attacks Detection through Intel Cache Monitoring Technology and Hardware Performance Counters. In Proceedings of the Third IEEE International Conference on Fog and Mobile Edge Computing (FMEC 2018), Barcelona, Spain, 23–26 April 2018; pp. 1–6. [Google Scholar]
    19. Silva, E.F.; Muchaluat-Saade, D.C.; Fernandes, N.C. ACROSS: A generic framework for attribute-based access control with distributed policies for virtual organizations.Future Gener. Comput. Syst.2017,78, 1–7. [Google Scholar] [CrossRef]
    20. Graham, G.S.; Denning, P.J. Protection: Principles and Practice. In Proceedings of the Spring Joint Computer Conference (AFIPS ’72), Atlantic City, NJ, USA, 16–18 May 1972; ACM: New York, NY, USA, 1972; pp. 417–429. [Google Scholar]
    21. Bell, D.E.; La Padula, L.J.Secure Computer System: Unified Exposition and Multics Interpretation; DTIC Document; Mitre Corp.: Bedford, MA, USA, 1976. [Google Scholar]
    22. Sandhu, R.S. Role-based access control models.Computer1996,29, 38–47. [Google Scholar] [CrossRef] [Green Version]
    23. Jha, S.; Sural, S.; Atluri, V.; Vaidya, J. Specification and Verification of Separation of Duty Constraints in Attribute-Based Access Control.IEEE Trans. Inf. Forensics Secur.2018,13, 897–911. [Google Scholar] [CrossRef]
    24. Bell, D.E.; La Padula, L.J.Secure Computer Systems: Mathematical Foundations; Technical Report MTR-2457; Mitre Corporation: McLean, VA, USA, 1973. [Google Scholar]
    25. Biba, K.J.Integrity Considerations for Secure Computer System; ESD-76-372; PSAF Electronic System Division, Hanscom Air Force Base: Bedford, MA, USA, 1977. [Google Scholar]
    Futureinternet 11 00082 g001 550
    Figure 1. The PVMH architecture.
    Figure 1. The PVMH architecture.
    Futureinternet 11 00082 g001
    Futureinternet 11 00082 g002 550
    Figure 2. Access flowchart. high-res figure
    Figure 2. Access flowchart. high-res figure
    Futureinternet 11 00082 g002
    Futureinternet 11 00082 g003 550
    Figure 3. Create VM1.
    Figure 3. Create VM1.
    Futureinternet 11 00082 g003
    Futureinternet 11 00082 g004 550
    Figure 4. Command listing all running virtual machines.
    Figure 4. Command listing all running virtual machines.
    Futureinternet 11 00082 g004
    Futureinternet 11 00082 g005 550
    Figure 5. Create shared memory in VM1.
    Figure 5. Create shared memory in VM1.
    Futureinternet 11 00082 g005
    Futureinternet 11 00082 g006 550
    Figure 6. Refer shared memory in VM2, without PVMH module.
    Figure 6. Refer shared memory in VM2, without PVMH module.
    Futureinternet 11 00082 g006
    Futureinternet 11 00082 g007 550
    Figure 7. Enable the PVMH module.
    Figure 7. Enable the PVMH module.
    Futureinternet 11 00082 g007
    Futureinternet 11 00082 g008 550
    Figure 8. Refer shared memory in VM2, with PVMH enabled.
    Figure 8. Refer shared memory in VM2, with PVMH enabled.
    Futureinternet 11 00082 g008
    Futureinternet 11 00082 g009 550
    Figure 9. Partition of VM5.
    Figure 9. Partition of VM5.
    Futureinternet 11 00082 g009
    Futureinternet 11 00082 g010 550
    Figure 10. Mount and view the/boot partition of VM5, without PVMH.
    Figure 10. Mount and view the/boot partition of VM5, without PVMH.
    Futureinternet 11 00082 g010
    Futureinternet 11 00082 g011 550
    Figure 11. Mount and view the/boot partition of VM5, with PVMH enabled.
    Figure 11. Mount and view the/boot partition of VM5, with PVMH enabled.
    Futureinternet 11 00082 g011
    Futureinternet 11 00082 g012 550
    Figure 12. Performance with and without the PVMH module.
    Figure 12. Performance with and without the PVMH module.
    Futureinternet 11 00082 g012
    Table
    Table 1. State transition rules.
    Table 1. State transition rules.
    Virtual Machine StateCorresponding FunctionEffectCorresponding Transition Rules
    virtual machine managementmodifying access permissionHypervisor modifies access permission for a certain virtual machine.Rule 8
    modifying object security levelHypervisor modifies security level of a certain subject virtual machine.Rule 10
    modifying subject security levelHypervisor modifies security level of a certain object virtual machine.Rule 9
    authorizing access attributeHypervisor grants some access attribute to a certain subject virtual machine.Rule 4
    releasing access attributeHypervisor revokes some access attribute from a certain subject virtual machine.Rule 7
    creating a guest virtual machinecreating a subjectHypervisor creates a subject virtual machine and sets its security level.Rule 5
    creating an objectHypervisor creates an object virtual machine and sets its security level.Rule 5
    deleting a guest virtual machinedeleting a subjectHypervisor deletes a subject virtual machine and its related data.Rule 6
    deleting an objectHypervisor deletes an object virtual machine and its related data.Rule 6
    virtual machine communication (access to shared data, etc.)writing an objectSubject virtual machine writes data into and reads data from object virtual machine.Rule 2
    reading an objectSubject virtual machine only reads data from object virtual machine.Rule 1
    appending an objectSubject virtual machine only writes data into object virtual machine.Rule 3
    Table
    Table 2. Secret level.
    Table 2. Secret level.
    Confidentiality LevelIntegrity LevelBinarySecret Level
    C1I1111Level-1
    C2I2110Level-2
    C3I3101Level-3
    C4I4100Level-4
    C5I5011Level-5
    C6I6010Level-6
    C7I7001Level-7
    C8I8000Level-8
    Table
    Table 3. Hardware parameters.
    Table 3. Hardware parameters.
    HardwareParameter
    CPUIntel Core i7-6700, 3.4 GHz
    Memory8GB
    Hard disk1TB
    Table
    Table 4. Operating system environment.
    Table 4. Operating system environment.
    MachineSystem VersionKernel VersionGraphical Interface
    Host machineUbuntu 16.04.54.15.0-42-genericYes
    Virtual machineCentOS-6.104.4.163-1.el6.elrepo.i686No
    Xen HypervisorN/Axen-hypervisor-4.6-amd64N/A
    Table
    Table 5. Security settings of VM1, VM2, and VM3.
    Table 5. Security settings of VM1, VM2, and VM3.
    Subject/ObjectSID = OID = IDConfidentiality LevelIntegrity LevelSecurity Category
    VM10000 0000 0000 1C1 (111)I2(110))0011 0100 1000 1010
    VM20000 0000 0001 0C3(101)I5(011)0000 1011 1001 0110
    VM30000 0000 0001 1C5(100)I5(011)0010 1011 1010 0011
    Table
    Table 6. Access matrix of VM1, VM2, and VM3.
    Table 6. Access matrix of VM1, VM2, and VM3.
    Subject/ObjectSID=OIDAccess AttributeFlag
    RAW
    VM10000 0000 0000 11111
    VM20000 0000 0001 00001
    VM30000 0000 0001 10000
    Table
    Table 7. Security settings of VM4 and VM5.
    Table 7. Security settings of VM4 and VM5.
    Subject/ObjectSID = OID = IDConfidentiality LevelIntegrity LevelSecurity Category
    VM40000 0000 0010 0C4(100)I6(010)0011 0000 1010 1000
    VM50000 0000 0010 1C3(101)I5(011)0000 0011 1001 1000
    Table
    Table 8. Access Matrix of VM4 and VM5.
    Table 8. Access Matrix of VM4 and VM5.
    Subject/ObjectSID = OIDAccess AttributeFlag
    RAW
    VM40000 0000 0010 01011
    VM50000 0000 0010 11001

    © 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

    Share and Cite

    MDPI and ACS Style

    Dong, Y.; Lei, Z. An Access Control Model for Preventing Virtual Machine Hopping Attack.Future Internet2019,11, 82. https://doi.org/10.3390/fi11030082

    AMA Style

    Dong Y, Lei Z. An Access Control Model for Preventing Virtual Machine Hopping Attack.Future Internet. 2019; 11(3):82. https://doi.org/10.3390/fi11030082

    Chicago/Turabian Style

    Dong, Ying, and Zhou Lei. 2019. "An Access Control Model for Preventing Virtual Machine Hopping Attack"Future Internet 11, no. 3: 82. https://doi.org/10.3390/fi11030082

    APA Style

    Dong, Y., & Lei, Z. (2019). An Access Control Model for Preventing Virtual Machine Hopping Attack.Future Internet,11(3), 82. https://doi.org/10.3390/fi11030082

    Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further detailshere.

    Article Metrics

    No
    No

    Article Access Statistics

    For more information on the journal statistics, clickhere.
    Multiple requests from the same IP address are counted as one view.
    Future Internet, EISSN 1999-5903, Published by MDPI
    RSSContent Alert

    Further Information

    Article Processing Charges Pay an Invoice Open Access Policy Contact MDPI Jobs at MDPI

    Guidelines

    For Authors For Reviewers For Editors For Librarians For Publishers For Societies For Conference Organizers

    MDPI Initiatives

    Sciforum MDPI Books Preprints.org Scilit SciProfiles Encyclopedia JAMS Proceedings Series

    Follow MDPI

    LinkedIn Facebook X
    MDPI

    Subscribe to receive issue release notifications and newsletters from MDPI journals

    © 1996-2025 MDPI (Basel, Switzerland) unless otherwise stated
    Terms and Conditions Privacy Policy
    We use cookies on our website to ensure you get the best experience.
    Read more about our cookieshere.
    Accept
    Back to TopTop
    [8]ページ先頭

    ©2009-2025 Movatter.jp