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.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. State satisfies the discretionary security axiom, if and only if , is always true, where is one of four access attributes: Read-only (), write-only (), read-write (), or execute ().
Axiom 2(PVMH-* Axiom).S' is a subset of
S. A state
satisfies the
PVMH-* axiom, if and only if for all
, there exists:
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 (), write-only (), read-write (), or execute (). Therefore, when the Hypervisor plays the role of subject, it is in the trusted subject set , 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 as , where . The domain of the rule is denoted as . The output result is defined as the set, 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 ((get-read)). Subject virtual machine
accesses object virtual machine
in read-only (
) mode. The definition is
. This pseudo code is as follow:
If the decision is “yes”, add a new rule that is allowed to access in read-only () mode into current access set.
Rule 2 ((get-append)). Subject virtual machine
accesses object virtual machine
in write-only or append (
) mode. The definition is
The pseudo code is as follow:
If the decision is “yes”, add a new rule that is allowed to access in write-only or append () mode into current access set.
Rule 3 ((get-write)). Subject virtual machine
accesses object virtual machine
or
(trusted subject) accessed object virtual machine
in read–write (
) mode. The definition is
. This pseudo code is as follow:
If the decision is “yes”, add a new rule that is allowed to access in read-write () mode into current access set.
Rule 4 ((give-read/append/write)). Hypervisor (
) needs to set permission for subject virtual machine
accessing object virtual machine
in a certain mode, including read-only, write-only or read–write. The definition is
. This pseudo code is as follow:
If the decision is “yes”, add a new element that is allowed to access in mode into access matrix.
Rule 5 ((create-object)). Subject
(Hypervisor or privileged virtual machine) needs to create object virtual machine
. The definition is
. The pseudo code is as follow:
Notation
is assignment, which means assigning
to
. Pair
refers to mapping relation
while pair
refers to another relation
. Notation
means set security level of
to
in security level vector (see
Section 4.1.3). This expression is also used in the following rules.
If the decision is “yes”, is created and meanwhile, the related element is added into the security level and object level.
Rule 6 ((delete-object)). Subject
(Hypervisor or privileged virtual machine) needs to delete object virtual machine
(
,
virtual machines in total). The definition is
. The pseudo code is as follow:
In this function, , with virtual machines in total. Notation refers to all access associated with in current access set while notation refers to all access from to the deleted virtual machine in current access set .
If the decision is “yes”, is deleted and, meanwhile, the related element is removed from current access , access matrix , and object level .
Rule 7 ((rescind-read/append/write)). The Hypervisor (
) needs to revoke permission for subject virtual machine
accessing object virtual machine
, including read-only, write-only, or read–write. The definition is
. The pseudo code is as follow:
If the decision is “yes”, remove the element that can access in mode from access matrix, and, meanwhile, remove the rule that can access in mode from current access set.
Rule 8 ((modify-object-l)). The Hypervisor needs to modify , the security level of object virtual machine.
In the following, is the characteristic function, which guarantees that if it outputs “true” and state satisfies the PVMH-* characteristic with respect to , the state after this transition also satisfies the PVMH-* characteristic. The strict mathematic definition is as follows:
The definition is. The pseudo code is as follows:
If the decision is “yes”, set security level of to .
Rule 9 ((modify-)). The trusted subject needs to modify the highest writing-up level for a certain subject virtual machine. The definition is
. The pseudo code is as follows:
Notation refers to the highest writing-up level of the subject, while “ 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 “.
Rule 10 ((modify-)). The trusted subject needs to modify the lowest writing-up level for a certain subject virtual machine. The definition is
. The pseudo code is as follows:
Notation refers to the lowest writing-up level of the subject, while 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 “.
Rule 11 (discretionary access control). The access matrix allows the subject virtual machine to access the object virtual machine in mode only if is contained in both the row element of and column element of in the access control matrix. The state satisfies the discretionary security characteristic if and only if .
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.