Abstract
Cloud computing, while becoming more and more popular as a dominant computing platform, introduces new security challenges. When virtual machines are deployed in a cloud environment, virtual machine placement strategies can significantly affect the overall security risks of the entire cloud. In recent years, the attacks are specifically designed to co-locate with target virtual machines in the cloud. The virtual machine placement without considering the security risks may put the users, or even the entire cloud, in danger. In this paper, we present a comprehensive approach to quantify the security risk of cloud environments from network, host and VM. Accordingly, we propose a Security-aware Multi-Objective Optimization based virtual machine Placement scheme (SMOOP) to seek a Pareto-optimal solution that reduces the overall security risks of a cloud, while considering workload balance, resource utilization on CPU, memory, disk, and network traffic. New placement strategies are designed and our evaluation results demonstrate their effectiveness. The security of clouds could be improved with affordable overheads. The latest VM allocation policies are further studied and integrated into our designs to defeat the co-residence attacks.
Keywords
Introduction
Cloud computing is the basis of many services in our daily life, such as email services and file sharing services. In an Infrastructure as a Service (IaaS) cloud like Amazon EC2 [4], many virtual machines (VMs) share a physical server. The placement of virtual machines can employ different strategies, leading to different computing performance, energy consumption, and resource utilization. Therefore, given different resource constraints, how to achieve multiple objectives is a very important problem in cloud computing. Such a problem has attracted extensive attention recently [9,27,30].
With resource and other constraints, the virtual machine placement (VMP) is essentially a multiple objectives optimization problem. Phan et al. [30] used an Evolutionary Multi-Objective Optimization (EMOA) algorithm to build Green Clouds when considering energy consumption, cooling energy consumption and user-to-service distance in the VMP optimization. Xu and Fortes [39] proposed a genetic algorithm with fuzzy multi-objective evaluation to minimize the total resource wastage, power consumption and thermal dissipation costs in VM placement. Shigeta et al. [36] suggested to assign different weights to multi-objective on cost and performance and built a cost evaluation plug-in module to search for the optimal VM placement. Some other research focused on minimizing the overall network cost while considering the communication requirements [3,29], or applying the constraint programming (CP) engine to optimize VMP [2,12]. While these multi-objective optimization placement schemes greatly improved the overall performance of the cloud, the security risk of the entire cloud environment was not considered as an objective or at most considered as one constraint in the initialization phase.
At the same time, there are new types of attacks [7,14,15,19,26,31,32] targeting the cloud infrastructure. In consequence, the security risk exposed to the user depends not only on how secure the VM itself is, such as the operating system and applications running inside, but also on the Virtual Machine Monitor (VMM or Hypervisor), running underlying the VMs, and other VMs co-residing on the same node.
We believe that security should be considered as one key objective, the same as the energy and performance, in VM placement. In our previous work [27], we proposed a VMP scheme based on the security risk of each VM. However, the security analysis of our previous work mainly focused on dependency relations. Yuchi and Shettey [43] extended our previous work to the VM placement initialization. Yu et al. [42] proposed isolation rules to formulate the VMP behavior based on the Chinese wall policy. Unfortunately, this work mainly focused on improving security and overlooked other objectives, such as energy saving and resource utilization. Besides, the security measurements in this work mainly considered the vulnerabilities of VMs, the hypervisor, or security regulations, without considering the security assessment of a VMP.
When comparing different VMP schemes, the security metrics can only be evaluated after a placement is specified. For example, a specific placement scheme has a unique attack path exposed by co-residence that may disappear in a different placement. Therefore, there is no generic function to map a placement scheme into a security assessment value. We cannot simply apply any existing evolutionary multi-objective optimization algorithm (EMOA) to solve our problem directly. Furthermore, the low efficiency and the complicated security assessment require us to design our own crossover and mutation procedures in the EMOA algorithm.
In the past few years, co-residence attacks have attracted a lot of attention. The straightforward solution to such attacks is to eliminate the side channel directly [5,35,38]. However, this solution requires the modification of the hardware or the cloud platforms, which is not practical. Most recent work [6,20,21] tried to use the VM allocation policy to make the co-residence infeasible to achieve. Motivated by their designs, we also aim to integrate these objectives into our design in order to mitigate co-resident attacks.
To this end, in this paper, we propose a VM placement specific security measurement of the cloud, and a new VMP approach to provide better intrusion resilience, workload balance, resource utilization, and network performance. In the proposed VM placement specific security assessment, we consider the vulnerabilities not only on VMs and the hypervisor themselves, but also the co-resident VMs and the network connections that will be changed with the VM placement. Based on the proposed security measurement scheme, we design an evolutionary multi-objective optimization algorithm, named as Security-aware Multi-Objective Optimization based virtual machine Placement algorithm (SMOOP), to seek a Pareto-optimal solution balancing the multiple objectives on security, resource utilization, network traffic and workload.
Our proposed scheme features an innovative combination of the following contributions.
We conduct security assessment of the cloud from four aspects: networking, co-residence, hypervisor vulnerabilities, and VM vulnerabilities. The proposed security risk assessment is placement specific and crosses multiple dimensions. We provide detailed metrics and an approach to measure the security of the cloud in the case study and experiments.
We consider security as one objective in VMP strategies, with other objectives and constraints at the same time. To the best of our knowledge, this is the first work that includes a placement specific security assessment in the context of multi-objective optimization based VMP.
We propose a highly scalable scheme, SMOOP with five placement strategies, to seek the Pareto-optimal placement to balance multiple objectives. Users could adjust the weight list according to their own preferences. The experimental results confirm the effectiveness of our strategies and SMOOP can provide an overall improved security of the cloud with reasonable overhead.
We study the latest VM allocation policies and integrate them into our design to defeat co-residence attacks. Thus, our algorithm is compatible with up-to-date VM allocation policies. Besides, our placement strategies can be configured by the users to fit for different business needs.
The rest of the paper is organized as follows. In Section 2, we discuss the related work. Section 3 describes the formulation of the VMP optimization problem. Section 4 describes the design and implementation of SMOOP. The evaluation results are discussed in Section 5 and Section 6 summarizes our work.
Related work
As cloud computing becomes more popular, virtual machine placement (VMP) has become one of the most critical problems in clouds. Several studies have observed the similarity between the VMP problem and the bin-packing problem [28]. There are some simple but effective heuristics for this problem, such as First Fit, Best Fit, and Worst Fit. Based on these policies, First Fit Decreasing (FFD) could improve the approximation ratio if the objects are first sorted in decreasing order of their weights. If OPT denotes the optimal number of bins, then FFD is guaranteed to use no more than 11/9 OPT + 6/9 bins [17,18].
As time passed, new types of attacks targeting the cloud infrastructure appeared. For example, some attacks, such as those discussed in [14,15,19,32], exploit vulnerabilities of the hypervisor (or Virtual Machine Monitor, VMM), e.g., Xen [7] or KVM [26]. Once an attacker compromises the hypervisor, he or she can take over all the VMs running on it. In [31] (the HYG attack), the initial stage of the attack is to locate a target VM. Upon success, the attacker will try to launch a VM on the same physical server. It is a placement based attack and the success of the attack depends on the placement strategies of the cloud, or the configuration policy of the cloud. Apparently, collocating with vulnerable virtual machines, or “bad neighbors”, on the same physical server does increase the security risks of the cloud users. Thus, a lot of research on cloud computing has set the goal to improve the security level of data centers [1]. At the same time, some existing research on the co-residence based attacks, e.g., side channel attacks, demonstrates the real threat to the normal users if they are co-located with a vulnerable or malicious VM [31,40,41,45]. Thus, the security aware VMP has been investigated as a practical solution to mitigate such attacks [2,27,34].
Saeed et al. [2] presented a security-aware approach for resource allocation in clouds which allowed for effective enforcement of defense-in-depth for cloud VMs. Ravi et al. [24] proposed a framework that allowed providers to impose restrictions on the allocations to be made to their hosts and users to express constraints on the placement of their virtual machines (VMs). Both of them tried to enhance the security level by modeling the cloud provider’s constraints or customer’s requirements as a constraint satisfaction problem (CSP). However, the placement generated by these methods can only satisfy the input constraints, rather than being an optimal placement to meet multiple objectives.
Some other research utilized isolation rules in the VMP. Afoulki et al. [1] proposed a VMP algorithm which improved the security of clouds by performing isolation among users. Each user can submit a list of adversary users with whom it does not want to share a physical machine. Yu et al. [42] also proposed isolation rules to formulate the VMs placement behavior based on Chinese wall policies.
Our previous work [27] proposed a VM placement scheme based on security risk of each VM, and Yuchi and Shettey [43] extended it to the VM placement initialization. Both of them mainly focused on the dependency relations. Yuchi and Shettey’s method also oversimplified the problem and did not reflect the potential risk caused by co-resident VMs, whose importance was discussed in [37,44]. In [44], the author studied the characteristics of different PaaS cloud and the co-resident threat in placement policies. They implemented a memory-bus based covert-channel detection for co-residence and presented an efficient launch strategy. Their experiment concluded that the risk caused by co-residency was real in popular PaaS clouds. Previously, we have investigated to periodically migrate VMs based on the game theory, making it much harder for the adversaries to locate the target VMs in terms of survivability measurement [46]. But we did not consider the risk caused by the co-resident VMs in the same physical machine.
Our work in this paper differs from the existing research mainly in two aspects. First, existing work simplifies the security consideration in the placement. They mainly consider the security constraints or regulations, or vulnerabilities of the VMs or hypervisor in the placement. They often overlook co-residence attacks, which is a key factor in VM placement. In our security-aware VMP, we comprehensively consider security assessment associated with placement, including the security risks in the network connection, co-residence, VMs and hypervisor. Second, existing work often emphasizes on security while overlooking other performance factors. We propose an optimal solution satisfying multiple objectives on security, resource utilization, and network traffic.
To the best of our knowledge, there are only two existing solutions using VM allocation policies to defeat the co-resident attacks. In [6], the authors proposed a Co-Location Resistant (CLR) algorithm. All servers are labelled either in open or closed state and can switch the state as needed. Open (closed) means the server can (cannot) receive more VMs. CLR would try to maintain a fixed amount (
Problem formulation
In this section, we describe our system and metrics to model the objectives, and constraints of virtual machine placement in a cloud.
Threat model and security assumptions
In this paper, we mainly consider co-residence based attacks, such as cross-VM side channel attacks. Also, we assume that the attackers are capable of utilizing vulnerabilities in both VMs and virtual machine monitors (VMMs, or hypervisor) of the clouds.
We have the following assumptions for the cloud: 1 ◯ the cloud management, placement related software components, and the migration process are all secure; 2 ◯ for simplicity, each migration of a VM will result in affordable cost in terms of service interruption and consume the same amount of resources; 3 ◯ the cloud provider has enough CPU, network bandwidth, and other resources to perform arbitrary migration of VMs; and 4 ◯ the cloud provider has sufficient resources as the reward, e.g., extra memory or CPUs, to incentivize VM migrations. The above assumptions ensure that a change of VM placement is both acceptable and affordable for cloud provider and clients.
Security assessment
In a cloud, an attacker can compromise a VM through different attack paths. They can compromise a VM through the vulnerabilities (in the operating system, or applications) carried by the VM, the co-resident VMs, the host VMM, or VMs on different physical machines having network connections with. Therefore, we cannot simply use the vulnerabilities of VMs, or the vulnerabilities of the hypervisor to evaluate the security risk of an entire cloud. We need a comprehensive approach to measure the security risks of a specific placement scheme.

Security risk metrics.
For this purpose, we propose a four dimensional security risk evaluation model, as shown in Fig. 1, to assess the security risk of a cloud. The new evaluation model covers all possible attack paths in a cloud. Four different types of security risks are described as follows.
VM risk (
VMM/hypervisor risk (
Co-residence risk (
Network risk (
Using the proposed security risk assessment model, we can assign or calculate the values of each type of the risks based on specific hardware, software, and network configuration. In this section, we provide an example to show how to quantify the values of each type of security risks, and also how to calculate the overall security risk of the entire cloud. In the example, we assume we have N VMs and M physical machines.
The CVSS score uses an interval scale of
For a VM
There are different ways to calculate how the guest VMs can affect the security of hypervisors. In this paper, we mainly consider the VM with the highest risk since this may be the most vulnerable attacking surface to the hypervisor. Assume VM
With all types of risks defined as above, we define the security risk,
Assurance level of a physical machine. Once we have the security risk of each VM, we can further calculate the assurance level of a physical machine J using the following equation.
In general, the higher the assurance level is, the more secure physical machine will be, and the harder it is to be compromised by the attacker. However, the network communication from physical machines with lower assurance level to physical machines with higher assurance level may open an attacking channel for the attacker. Therefore, we should minimize the traffic between the low assurance physical machines and the high assurance physical machines. Besides, it can also be used as related information for potential cascade vulnerability correction [10,22,33]. Note that our algorithm does not include the clearance level of information stored in each physical machine.
Objectives in VM placement
Assume that we have N VMs and M physical machines. There are four values to optimize: security risk (SR), resource wastage (RW), network traffic (NT) and workload balance (WB). Our goal is to find solutions to minimize these values.
Security risk. Minimizing the security risk of the entire cloud is our first objective. The security risk of a VM
Resource wastage. Minimizing resource wastage, while complying with the constraints, is the second objective in the VMP optimization. In this paper, we consider the wastage of multiple resources, including CPU, memory, and disk. Instead of using one value to measure the resource wastage, we use a vector to represent the resource wastage.
Assume the CPU, memory and disk capacity for a host J as
For a physical machine J, we choose the maximum value from
Network traffic. The third optimization objective is to minimize the network traffic in cloud. One way to reduce the network traffic is to identify correlated VMs that exchange high volume of data with each other, and then put them on the same physical machine if possible. We use the following equation to measure the network traffic from VM
As we discussed earlier, we should minimize the network communication from the low assurance physical machines to the high assurance ones. We use the following equation to measure the related traffic from physical machine I to J:
Workload balance. The fourth optimization objective is to maintain the workload balance in the cloud. The importance of workload balance is twofold [23]. For cloud providers, evenly distributing VMs helps to decrease the probability of over-utilizing specific servers. The best scenario is that all physical machines are active and workloads are distributed evenly among them. However, that will be conflicting with the goal of energy consumption saving. Thus, in our algorithm, we focus on spreading workload evenly among active physical machines after the number of active physical machines is determined. For the customers, they may prefer that their VMs are not all located together on the server for better survivability and availability. So far, our algorithm does not consider this requirement, but it could be easily integrated into our algorithm according to the users’ preferences.
In cloud computing, over-subscription is a common practice which allows the service providers to allocate more resources to users than the servers’ actual capacity [8]. As the most critical resource, the over-subscription of CPU capacity is always enabled, which would make the RAM capacity a bottleneck. In this paper, we choose the RAM usage level as the criteria of workload balance measurement.
Assume the memory usage of the host j is
The variance of the workload balance of all active physical machines can be calculated using the following equation.
In our placement strategy, we consider the security risk, resource wastage, network traffic and workload balance as the placement objectives. Note that our system does not limit the number of objectives or constraints. The users can add more objectives or constraints, such as energy or migration cost, based on their preferences.
SMOOP design
With the proposed security metric of VMs, we can quantify the risk level of a cloud. As a typical multi-objective optimization problem, the objectives may conflict with each other. For example, if we place more VMs on a physical server, it will be less secure due to the co-residence problem. However, it can reduce the resource wastage and network traffic. It is impractical to always find the optimal solution minimizing all objectives. The evolutionary multi-objective algorithms (EMOA), such as NSGAII [16], are popular solutions to such multi-objective optimization problems. Using EMOA, we can obtain Pareto-optimal solutions balancing the objectives of security, network traffic, resource utilization and workload balance.
Challenges. In the bin-packing problem, objects of different volumes must be packed into a finite number of bins of volume V in a way that minimizes the number of bins used. The Virtual Machine Placement (VMP) can be considered as a bin-packing problem, where each VM needs to be placed on a physical server once and only once, with multiple dimensions of volume constraint, such as CPU, Memory and Disk. As a regular bin-packing problem, VMP is also a
Security-aware multi-objective optimization based VMP
In this section, we present our Security-aware Multi-Objective Optimization based virtual machine Placement (SMOOP). The algorithm is shown in Algorithm 1. Table 1 describes the variables used in the algorithm.

SMOOP
In practice, FFD (First-Fit with the possible fullest node) has been widely used in VMP. It can quickly provide a placement with consideration on resource utilization. Thus, we use it to generate a baseline for future comparison in the algorithm. As shown in Algorithm 1, SMOOP generates hundreds of placements and passes those with high fitness value to the next iteration. In each iteration, randomly chosen parents are applied to crossover and mutation operations. An elite choosing function is designed to improve efficiency. For each generated temporary placement in an iteration, we apply a multi-objective evaluation function to assign ranking values. The highly ranked placements are put into a candidate pool, and used as the parents for next iteration. The preference of multi-objective evaluation can be adjusted (described in Section 4.3) in our algorithm.
Variable definition
In the initialization phase, the consideration for the migration cost can be avoided. Our goal is to search for the best possible placement plan based on the multi-objectives requirement. The crossover operation is used to improve the overall efficiency. In the re-optimization phase, which is triggered by adding VMs or removing VMs, the migration cost is considered as an important factor in the mutation operation to limit the number of migrating VMs (in
The crossover operation, shown in Algorithm 2, is one of the key elements in our algorithm. The main purpose of the crossover operation is to guarantee that there is always a chance to generate newly improved placement based on the existing placement in the current iteration.

Crossover(X, Y)
Since the security is a key factor in the placement generation, we introduce isolated zones in our algorithm to accommodate different security demand. Physical machines with the highest hypervisor risk levels are put into isolated zones. The most dangerous VMs and VMs connected to them are placed into the isolated zones by priorities. The purpose of the isolated zones is to isolate the most dangerous VMs first and reduce the number of attack paths through network connections.
If all physical machines use the same copy of hypervisor, the vulnerabilities of all the hypervisors will also be the same. In such a situation, we have the following assumptions. 1 ◯ The possibility to compromise any physical machine through the hypervisor attack surface for a specific VM is the same. 2 ◯ If the communication bandwidth between two VMs is larger than zero, the possibility to compromise one VM through another VM will be non-zero.
We propose five security related strategies to reduce security risk during each placement generation.
Placement strategy I: Deploying a VM into a physical machine which has network connections with it.
Placement strategy II: The high risk VMs should be deployed into the isolated zones.
Placement strategy III: The low risk VM without any connection with VMs in isolated zones should be deployed into low risk physical machines. Strategy II and III generate physical machines that contain only low risk VMs and have no network connections with high risk VMs in isolated zones.
Placement strategy IV: The marked lowest and highest hypervisor risk physical machines should have a higher probability to be kept during crossover operation. This is based on our strategy II and III.
Placement strategy V: If a VM on one physical machine has connection with a VM on a different physical machine, we should migrate one of them to the same physical machine.
We use Placement strategy I as an example to explain how the placement strategy can reduce the security risk. The motivation of this strategy is to reduce
Assume that physical machine
If
According to the security metrics defined earlier, in this case, the co-residence risk of each VM
Therefore, following strategy 1, allocating VM
In our implementation, Strategies I, II, III are applied for VM deployment and Strategies IV and V are applied for crossover and mutation procedure. When a VM need to be deployed,
Mutation operation
Mutation operations, shown in Algorithm 3, operate on a randomly-chosen temporary placement, trying to obtain an improved result. Its purpose is to keep evolving the existing placement with limited migration cost.
Mutation(X)
When a Pareto-optimal solution is generated, our algorithm checks the workload balance in every physical machine, migrating marked VMs among physical machines. In the
In our current fitness function, we have four objectives, including minimizing the security risk, minimizing the resource wastage, minimizing network traffic and minimizing the variance of the workload balance. Our algorithm tries to provide a Pareto-optimal solution which can be as good as possible in every degree based on the four objectives. To enable users to prioritize the objectives according to their business preference, we can add weight factors into the fitness function.
Currently, our algorithm can optimize and balance security, the utilization of CPU, memory and disk, the network traffic and workload. Our algorithm can be easily extended to support more objectives and constraints, such as energy consumption saving.
Evaluation
We implemented our solution in Java and conduct all experiment in a simulation environment. All input data are provided through configuration files. Multiple threads are used to improve the performance. We randomly generate a large number of VMs with different parameters to evaluate SMOOP. Every VM needs to be deployed into one physical machine, without considering the migration cost. In our evaluation, for each VM, we randomly assign the requirement of CPU, memory, and disk. The vulnerability score is assigned based on the uniform distribution. Following the same method, we configure the physical machine. The numbers of VMs and physical machines vary between experiments.
Computing complexity
Assume that there are M physical servers and a total of N VMs. Our algorithm iterates for k times with candidate pool size of P in each iteration. In our case, N is far larger than other factors here. The value of our objectives for each Virtual Machine Placement (VMP) could be calculated in bounded by

Scalability.
We test our implementation in a 8 core processor with 16 GB memory. The overall performance of our algorithm is affected by the number of VMs, the number of physical machines, and the number of candidate placement generated in each generation. Figure 2 shows the computing time for each generation under the following setting: 1 ◯ 100 different placements are generated for each generation. 2 ◯ 270 operations are done in each generation. With 10000 VMs and 500 physical machines, each generation takes about 15–20 minutes. If we reduce the number of VMs to 3000, each generation takes about 2 minutes.
The security risk is a key consideration in VMP. To evaluate if our strategies can improve the security level of the entire cloud, we conduct the experiments considering the risk level as the only objective in the placement. Figure 3 shows the security risk with 800 VMs and 60 physical machines.

Comparing with random-FFD.
At the beginning of each simulation, we always generate 100 placement with the random-FFD algorithm and use the lowest risk level as the baseline reference. We collect the placement with the lowest risk level in each generation. Within 20 generations, the risk level of the entire cloud can be reduced by 25% to 30%.

Non-secure network traffic.
As we discussed before, the network from low assurance level physical machines to higher ones would always be minimized to make the network more secure. Figure 4 shows the non-secure network traffic bandwidth is also dropped about 3% to 5% with other multiple objectives optimized.

Security improvement with different number of VMs.
Figure 5 shows the security risk with different number of VMs and physical machines in each generation. Despite the increased number of the VMs, the median value of the risk level of VMs is stable within the range of 0.82 to 0.84. If we check the placement with the lowest risk level in the first generation, our algorithm improves with the increased number of the VMs. We repeat our experiment 20 times with different numbers of VMs and physical machines. The reduced risk level is from 5% (400 VMs and 20 physical machines) to 15% (6400 VMs and 400 physical machines) just in the first generation.
In our algorithm, we focus on spreading workload evenly among active physical machines once the number of active physical machines is determined.
Figure 6 shows experimental results with weight setting: (0.4 (risk level), 0.4 (Workload Balance), 0.1 (Resource Wastage), 0.1 (Network Traffic)) in an environment of 400 VMs and 60 physical machines. Per the setting of our experiment, the memory request of a VM ranges from 4 GB to 40 GB and each physical machine could provide 256 GB memory. Figure 7 demonstrates the usage of memory in active physical machines with the best fitness value. VMs are aggregated into 31 active physical machines and the usage of memory in those physical machines achieves 92% and higher, which ranges from 237 GB to 255 GB.

Multi-objective optimization with workload balance.

Memory usage in cloud after balanced.
In this experiment, we consider multi-objectives on risk level, resource wastage, and the network traffic.

Multi-objective optimization.

Multi-objective optimization 2.
Figure 8 shows experimental results with weight setting (0.8 (risk level), 0.1 (Resource Wastage), 0.1 (Network Traffic)) in an environment of 800 VMs and 60 physical machines. The risk level has weight of 80%, resource wastage and network traffic have weight of 10% for each in the fitness function. We collect the placement with the best fitness value. The baseline is still the best placement chosen from 100 random-FFD placements. If a physical machine can hold hundreds of VMs, the placement generated by FFD will be using the minimum number of physical machines. With setting of (0.8, 0.1, 0.1), the active number of physical machines and resource wastage are limited, with much improved security.
We also run the experiment with weight setting (0.4 (risk level), 0.3 (Resource Wastage), 0.3 (Network Traffic)) in an environment of 3000 VMs and 200 physical machines, and the results are shown in Fig. 9. Since the resource wastage and network traffic have higher weights, the allowance of resource wastage was controlled and it also affects security improvement we can achieve. A cloud provider can always change the optimization preferences by changing the weights of different objectives.
In the experiment, we use with 1600 VMs and 120 physical machines, and we generate 100 placements with the random-FFD algorithm. We choose the placement with the lowest median value of risk level. After running our algorithm to reduce the risk level, we choose the best placement. As shown in Fig. 10 and Fig. 11, we can see that the risk level of the entire VM set has been effectively reduced. In the figure, the X-axis is the risk level value of VMs. For example,

Comparison with distribution in 1600 VMs and 120 physical machines.

Accumulative risk value.
The nature of our algorithm makes it more suitable to the VMP initialization and re-optimization procedure. When a VM is deployed or re-activated, the new placement will be generated based on the current one to achieve the multi-objective optimization, while keeping the low migration cost in mind. To suit the request, we modify our original SMOOP algorithm. As presented in Algorithm 4, the crossover operation is removed and the mutation operation is modified to adapt the latest VM allocation policy. The mutation operation will always operate based on the current placement, in order to limit the number of migrated VMs.

SMOOP-phase2
Also, we considered two currently existing VM allocation policies in the mutation operation to defeat the co-residence attack. The CLR (Co-located Resistant) could be easily implemented into our mutation operation without major modification. The mutation operation is revised as Algorithm 5.

Mutation(X)
In our previous work, we did not consider VMs with their associated user account. All VMs were treated as the same. This setting simplifies the modeling, and it well fits for the situation of not-knowing the advisor’s account. However, it makes PSSF (Previous-Selected-Server-First) hard to be adapted. To adapt PSSF, two preliminary settings should be supported. The VM deployment history for a particular user should be maintained and all VMs need to be grouped by their owner’s account. Afterwards, PSSF can be integrated as other VM allocation policies in our mutation operation.
In this paper, we have studied the comprehensive security assessment of virtual machine placement strategies and presented an approach to comprehensively quantify the security risks of the cloud based on the vulnerabilities caused by various factors, including the network, the physical machines, the VMs, and the co-residence of VMs. To optimize these objectives, we have designed a new scheme to generate VMP based on multiple objective optimization with the given resources and other constraints. Our proposed strategy seeks the Pareto-optimal placement while considering multiple optimization objectives and constraints. The experimental results demonstrate the effectiveness of our approach and the improvement compared to existing solutions. On the other hand, our current experiments are simulation based. In the future, we plan to continue our study and experiment in a real-world environment. As we discussed, the priority of strategies can be adjusted in real-time and new strategy might need to be added, in response to the runtime environment. In this way, our system could keep evolving to fit real-world situations.
Footnotes
Acknowledgment
This project is partially supported by ARO grant W911NF-15-1-026 and NSF grants under CNS-163441 and CNS-1524462.
