Vir Tech
Vir Tech
net/publication/326696873
CITATIONS READS
0 817
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Roberto Di Pietro on 03 August 2018.
1 INTRODUCTION
The advances in virtualization technology of the past decade have rendered the Cloud
approach feasible and convenient. Nevertheless, the main limitation of virtual machines
is that they were born as a means to easily migrate from physically deployed services
to more compact and manageable images. In fact, each and every VM runs its own full
operating system together with the various libraries required by the application (see
Fig. 1) [36]. Such an approach multiplicates the usage of RAM, CPU, and storage with
respect to simply hosting multiple services as separate processes on a single piece of
bare metal.
Containerization technology is intended to replace hypervisor and VMs, and de-
ploys each application in its own process-like environment running on the physical
machine on a single operating system [43]. Containers can be provisioned (and depro-
visioned) in a few seconds and make a more efficient usage of resources, achieving a
much higher application density (orders of magnitude [38]) than virtualization. This
renders containers much more convenient than virtual machines.
Nevertheless, as we will show along this paper, virtualization is not on a dead path.
In fact, virtual machines provide additional security mechanisms and isolation benefits
in many application scenarios that are often worth the additional resource usage [28,
40].
2 R. Di Pietro et al.
2 Technology Background
Various different virtualization technologies are currently deployed in the Cloud, mostly
for x86 64 architectures (e.g., Xen, KVM, VMware, VirtualBox, and HyperV). Most
relevant details on virtualization frameworks and on supporting hardware (CPU/GPU)
features are given and discussed in the following sections.
Apps
Content Collaboration
Communication
Runtime
Object
Storage Database
Guest OS
Guest Kernel
Hypervisor
HW (CPU/GPU/Disk/Net)
detect and possibly block unauthorized or malicious access to virtual resources. Never-
theless, no virtualization framework is immune to bugs. The virtualization platform can
be an additional attack surface.
CPUs are required to support some advanced extensions in order to allow the hy-
pervisor to leverage them, as can be seen in Table 1. More in detail:
– Intel VT-x AMD-V: These two CPU capability sets are the basic ingredients of
hardware-supported virtualization. They introduce Ring -1 allowing a guest virtual
machine to run its kernel at standard privilege level (i.e., Ring 0);
– Intel EPT, AMD RVI: Rapid Virtualization Indexing and Extended Page Tables,
i.e., the Support for Second Level Address Translation (SLAT) that can signifi-
cantly improve performance;
– Intel VT-d, AMD-Vi: These CPU capabilities (directed I/O) allow faster I/O re-
source virtualization.
Ring 3
Ring 1
Ring 0
Ring -1
Hyperv
Guest Kernel
Device drivers
Applications
Fig. 2. Execution Rings for the x86 64 Architecture. See also [19]
The virtualization paradigm also applies to Graphics Processing Units (GPUs). Vir-
tual machines can be given mediated or full access to GPU computing and memory
resources. This allows offering a GPU-based Cloud similar to what is already in place
for CPU-based computing resource sharing. Hypervisor support for GPU virtualization
features (see Table 2) is still somehow limited as relevant GPU technology is still re-
served for high-end GPUs. In fact, GPU virtualization is usually implemented following
one of these main approaches [24]:
– time-sharing: a single VM at a time is given direct access to the GPU. Time-slots
are handled by the hypervisor;
– passthrough: the GPU is directly and permanently connected to a single VM that
has direct access to it;
Virtualization Technologies and Cloud Security 5
– partitioned: the GPU resources are split into smaller virtual GPUs, assigned to
single VMs.
Once VMs have access to the GPU, the interaction between the guest and the real
resource can be achieved in two different ways: backend virtualization or frontend vir-
tualization [17]. Backend virtualization gives a direct connection between the VM and
the GPU hardware. Frontend virtualization poses an intermediate layer between the
guest and the hardware that has to leverage some kind of intermediate APIs to access
the GPU. Some frontend virtualization examples are gVirt [57], vCUDA [54], GViM
[22] and VOCL [60].
– privileged user access: access to sensitive data in the Cloud has to be restricted to
a subset of trusted users (to mitigate the risk of abuse of high privilege roles);
– lack of data/computation isolation: one instance of customer data has to be fully
isolated from data belonging to other customers;
– reliability/availability: the Cloud provider has to setup an effective replication
and recovery mechanism to restore services, should a security issue occur;
Co-location of virtual machines by different tenants on the same physical host is par-
ticularly frequent in Cloud computing. Virtual resources assigned to a tenant might get
hacked by other virtual resources assigned to different tenants that are co-located within
the same physical machine. Co-location can lead to different issues as follows:
– information leakage: by reusing the same physical hardware to allocate virtual
resources, tenants might be able to exploit forensic tools to recover sensitive data
from previous tenants;
– performance degradation: malicious tenants co-located in the same physical host
might be able to make an uneven/widely varying use of computational power with
high cpu-intensive co-located virtual machines with the final goal of degrading
victim’s performances;
– service disruption: malicious tenants sharing physical resources with their victim
might be able to lead the hardware to unexpected behaviors thus causing a service
disruption against the victim.
A large number of research results have highlighted the actual existence of co-
location vulnerabilities [49, 62]. Such papers show that completely preventing tenants
from sharing the same physical resources is practically unfeasible (due to rising costs).
A viable solution [3] might be an attribute-based approach where tenants can express
constraints over both virtual and physical resource allocation. Tenants would be able
to indicate an high data sensitivity, thus requesting to avoid co-location. In this way,
co-location will not be allowed for virtual resources working on high sensitive informa-
tion thus lowering the chance of data leakage. As a consequence, virtual resource cost
would be increased. This could be an acceptable trade-off in most sensitive scenarios.
Cloud providers usually deploy identical VM clones when needed to satisfy request
load. As such, it can happen that very similar (oftentimes the very same) images are
(re)used for different tenants. As a consequence, the internal random pool for clone
VMs is most probably the same/very similar for different VMs [20]. An adversary might
exploit this weakness and try to guess the value of VM cryptographic keys [50]. In order
to address such issue, the Cloud or Service providers should try to increase the number
of events fed to the entropy pool of VM operating systems as soon as they are deployed,
so as to provide an adequate level of security.
The need for cost savings and shorter development cycles enabled the succes of contain-
ers in the Cloud. Containers are lighter than virtual machines and provide near-native
performance. Docker[18] is the current market leader, providing a fully-featured pack-
aging tool. Nevertheless, as introduced above, Containers provide much less isolation
to applications, as such mechanisms are not based on hardware features but on process
8 R. Di Pietro et al.
isolation approaches. Among other interesting works, Martin et al. [10] discuss Docker
security real-world implications define an adversary model and describe several vulner-
abilities affecting current Docker usage. The very same authors [41] detail Docker vul-
nerabilities and identify several vulnerabilities present by design or introduced by some
original use-cases. Albeit some practical countermeasures are proposed, it is clear the
containerization approach cannot guarantee an adequate level of security and protection
in many multi-tenant scenarios.
A core set of requirements that a security monitoring system for the Cloud should meet
can be summarized as follows [36]:
– effectiveness: the system should be able to detect attacks and integrity violations.
– accuracy: the system should be able to avoid false-positives, i.e., mistakenly de-
tecting malware attacks where authorized activities are taking place.
– transparency: the system should minimize detectability from inside guests, i.e.,
potential intruders should not be able to detect the presence of the monitoring
system.
– robustness: the host system, Cloud infrastructure and the sibling VMs should be
protected from attacks proceeding from a compromised guest and it should not be
possible to disable or alter the monitoring system itself.
– reactivity: the system should either be able to take action against both the attempt
and the compromised guest, or notify other security-management components.
– accountability: the system should not interfere with Cloud and Cloud application
actions, but collect data and snapshots to enforce accountability policies.
Monitoring key Cloud components that would be targeted or affected by attacks is vital
in order to protect the VMs and the Cloud infrastructure [2]. By either actively or pas-
sively monitoring key VM components any possible modification to VM data and code
can be traced and recorded.
In fact, virtual machine introspection is a process that allows observing the state of
a VM from outside of it. Syringe [7] is one example of a monitoring system making use
of virtualization to observe and monitor guest kernel code integrity from a privileged
10 R. Di Pietro et al.
APP1 APPn
VM1 VMn
Emulation/Isolation Layer
Event Monitor and Recorder
VM1 Data VMn Data
Detector/Actuaror
Event Queue
Hypervisor
Hardware/Physical Layer
VM or from the VMM. However, it is quite simple for guest code to realize it is running
inside a VM that can potentially be a honeypot VM [34].
The approach depicted in Fig. 3 is an example of advanced transparent passive trac-
ing and recording of VM events from the hypervisor [36]. Any relevant event or status
change is recorded by an event interceptor and it is then stored in a pool of recorder
warnings where the collected information is asynchronously evaluated (evaluator) and,
if needed, a reaction is triggered (act) according to a chosen policy.
An interesting VM-introspection-based approach is CloRExPa [15], providing vari-
ous kinds of customizable resilience service solutions for Cloud guests, using execution
path analysis. CloRExPa can trace, analyze and control live VM activity, and intervened
code and data modifications, possibly due to either malicious attacks or software faults.
Execution path analysis allows the VMM to trace the VM state and to prevent such a
guest from reaching faulty states, leveraging scenario graphs.
This trend towards semantic introspection of VM activity is a very active field also
as regards mobile devices in the Cloud [27]. This is the way to go for enabling control
over possibly untrusted mobile Cloud nodes/applications. In fact, as will be detailed in
the following for Bring Your Own Device (BYOD) untrusted devices, either they have
to be banned altogether from the enterprise or enhanced semantics-aware introspection
has to be put in place to prevent them from leaking sensitive information. Outside of
the enterprise, semantic introspection allows legitimate users to regain control over their
device internals. This approach will help detect and react to malware and to backdoors
that are put in place even by trusted software or apps.
Virtualization Technologies and Cloud Security 11
The main problem with introspection is that it requires knowing the internals and se-
mantics of guest operating systems and running applications. This is especially difficult
in case of closed-source OS and application such as in Windows and Mac environments.
In fact, Windows OSes have always been the main target of malware that have exploited
numerous bugs and vulnerabilities exposed by its implementations [37]. Recent trusted
boot technology plus additional integrity checks have rendered the Windows OS less
vulnerable to kernel-level rootkits [30]. Nevertheless, guest Windows Virtual Machines
are becoming an increasingly interesting attack target. HyBIS [14] is the only exam-
ple of introspection system protecting present Windows OS Guests from malware and
rootkits.
Another interesting work is by Cazalas et al. [8]. They study whether integrity of ex-
ecution can be preserved for process-level virtualization protection schemes in the face
of adversarial analysis. Their approach considers exploits that target the virtual execu-
tion environment itself and how it interacts with the underlying host operating system
and hardware. Results indicate that such protection mechanisms may be vulnerable at
the level where the virtualized code interacts with the underlying operating system,
undermining security and calling for additional mitigation techniques using hardware-
based integration or hybrid virtualization techniques that can better defend legitimate
uses of virtualized software protection.
Intel SGX [55] is an hardware technology aimed at protecting guest code and data
from the hypervisor. It is an architecture extension designed to increase the security of
software through an “inverse sandbox” mechanism. Legitimate software can be sealed
inside an “enclave” and protected from unauthorized access, even when malware has
hypervisor privileges. SGX was designed to comply with some clear requirements/ob-
jectives [9]:
– protecting sensitive data from unauthorized access or modification by rogue soft-
ware running at higher privilege levels;
– supporting legitimate software allowing them to continue using platform re-
sources;
– maintaining consumer freedom allowing them to retain control of their platforms
and the freedom to install and uninstall applications and services as they choose;
– allow certifying an applications trusted code and produce a signed attestation,
rooted in the processor, that includes this measurement and other certification that
the code has been correctly initialized in a trustable environment;
3 Software Guard Extensions
4 Secure Encrypted Virtualization
Virtualization Technologies and Cloud Security 13
Albeit beneficial and promising in theory, the SGX approach has proven vulnerable to
(mostly side-channel) attacks from its early days. As an example, CacheZoom [44] can
track all memory accesses of SGX enclaves with high spatial and temporal precision.
Further, AES key recovery attacks have been proven possible on SGX enclaves.
Hertzelt et al. [23] analyse to what extent the proposed features can resist a ma-
licious hypervisor and discuss the tradeoffs imposed by additional protection mecha-
nisms. They developed a model of SEV’s security capabilities and found three design
shortcomings. Firstly, the virtual machine control block is not encrypted and handled
directly by the hypervisor, allowing it to bypass VM memory encryption by execut-
ing conveniently chosen gadgets. Secondly, the general purpose registers are not en-
crypted upon vmexit, leaking potentially sensitive data. Finally, the control over the
nested pagetables allows a malicious hypervisor to closely monitor the execution state
of a VM and attack it with memory replay attacks.
Schwarts et al [52] have found that SGX can be used to Conceal Cache Attacks.
They demonstrate software-based side-channel attacks from a malicious SGX enclave
targeting co-located enclaves, and abusing SGX protection features to conceal itself.
The attack is fully functional even across multiple Docker containers. In fact the real
issue with cache attacks lies with stealing information (such as private keys) rather that
controlling a system.
Cloak [21] is another technique leveraging hardware transactional memory to pre-
vent adversarial observation of cache misses on sensitive code and data. Cloak provides
protection against cache-based side-channel attacks for SGX enclaves.
14 R. Di Pietro et al.
Constan’s Sanctum [12] achieves stronger security guarantees under software at-
tacks than SGX with an equivalent programming model. In fact, Sanctum offers the
same promise as Intels Software Guard Extensions (SGX), namely strong provable iso-
lation of software modules running concurrently and sharing resources, but protects
against an important class of additional software attacks that infer private information
from a programs memory access patterns. Sanctum reduces attack surface through iso-
lation, rather than plugging attack-specific privacy leaks. Most of Sanctums logic is
implemented in trusted software, which does not perform cryptographic operations us-
ing keys, and is easier to analyze than SGXs opaque microcode. Sanctum prototype
leverages a RISC-V [58] core but is quite flexible in that it adds hardware at the in-
terfaces between generic building blocks, replacing SGXs microcode with a software
security monitor that runs at a higher privilege level than the hypervisor and the OS. On
RISC-V, the security monitor runs at machine level, leveraging one privileged enclave,
similarly to SGXs Quoting Enclave. The really interesting idea behind Sanctum is that
it leverages a principled, transparent, and well-scrutinized approach to secure system
design.
SGX may be vulnerable to other side channel attacks, such as cache access pattern
monitoring (see also [5] by Brasser et al.). In fact, [5] proves that cache-based attacks
are a serious threat to the confidentiality of SGX-protected programs by showing an at-
tack without interrupting enclave execution. Brasser et al. also stress their approach has
major technical challenges, since the existing cache monitoring techniques experience
significant noise when the victim process is not interrupted.
The SGX-based branch shadowing attack is described in [33] which can reveal fine-
grained control flows (i.e., each branch) of an enclave program running on real SGX
hardware. In fact, SGX does not clear the branch history when switching from enclave
mode to non-enclave mode, leaving the fine-grained traces to the outside world through
a branch-prediction side channel. They developed two exploitation techniques: Intel PT-
and LBR-based history-inferring techniques and APIC-based technique to control the
execution of enclave programs in a fine-grained manner. As a result, their attack could
brake ORAM, Sanctum, SGX-Shield, and T-SGX. A software-based countermeasure,
called Zigzagger, was introduced by [33] to mitigate the branch shadowing attack in
practice.
Brasser et al. [4] propose a data location randomization as a novel defensive ap-
proach against side-channel attacks. Their compiler-based tool called DR.SGX instru-
ments enclave code to permute data locations at the granularity of cache lines. Brasser’s
solution protects most, but not all enclaves from typical SGX cache attacks.
fact, malware can be analyzed and dissected based on the interaction with the emulated
virtual environment.
Personal mobile devices often enter enterprise boundaries. They can potentially hide
malware or eavesdrop sensitive data to the outside world. At present, there is little or
no control over an enterprise personnel mobile device data and application content and
integrity. Banning such devices altogether from within enterprise boundaries does not
seem a viable approach. A better one would imply remote attestation of the integrity
and compliance of the employees mobile device to the desired security policies. Secure
virtualization mechanisms based on a trusted transparent monitoring hypervisor would
help. In fact, software integrity attestation future perspectives are good, given that ARM
CPUs increasingly support virtualization extensions that allow implementing hypervi-
sors that can run and monitor trusted VMs even on mobile/handheld devices [13]. The
hypervisor would be able to enforce the exclusive execution of an enterprise VM when
the device is inside well defined boundaries. The same VM can be disabled outside such
boundaries in order to limit/prevent data breaches.
Increasingly often, smart mobile phones are relevant sources of information for inves-
tigations. Most currently available tools able to acquire forensic evidence from smart-
phones require destructive physical access to the device. This is one use case where
secure virtualization can be used to access live data without interfering with regular
phone activity and thus allowing live mobile forensics. LiveSD Forensics [6] is an ex-
ample of on-device live data acquisition of the RAM and the EEPROM of Windows
mobile devices. LiveSD Forensics uses a standard SD-card equipped with tailored code
to perform the data acquisition. Unfortunately, LiveSD generates a memory alteration,
albeit small.
In addition, virtualization allows creating mobile honeypots able to study and clas-
sify malware in a controlled way. In fact, similarly to mobile forensics, mobile virtual-
ization can be used to collect malware and study its behavior, in a mostly transparent
way. As mobile hardware is increasingly capable of running multiple VMs in parallel,
different levels of security can be associated to different VMs to limit malware activity.
Future virtualization trends are mostly related to novel technological developments that
aim at better isolation and performance. One such example is represented by ARM
CPUs that, apart from being dominant in the mobile market, are increasingly present in
the server arena. A second example is represented by Cloud-provided GPU access that
is increasingly common. Finally, novel x86 64 processors integrate both CPU and GPU
cores. Nevertheless, they have to provide additional security guarantees. Efficiently vir-
tualizing distributed heterogeneous computing in the Cloud is an opportunity to improve
16 R. Di Pietro et al.
Cloud security and reliability. Further, in order to allow efficient secure usage of mul-
ticores, such resources have to be constantly monitored for anomalous usage patterns,
since sharing resources also introduces additional security and privacy issues. Finally,
the availability of an increasingly large amount of computing cores allows using them
for a number of novel applications, such as computation replication for reliability and
availability or proactive computing for most different possible scenarios.
7 Conclusion
Virtualization is at the heart of Cloud computing. Albeit more lightweight approaches
such as Containerization and Unikernels exist, hardware-supported isolation mecha-
nisms provide beneficial in many different scenarios where security requirements are
relevant. Nevertheless, security vulnerabilities are still a major issue, as highlighted by
recently discovered exploits. Enhanced virtualization approaches and more effective
isolation and monitoring technologies, that can also leverage additional computing re-
sources of recent CPUs and GPUs, are still in their infancy. Such advances, coupled
with appropriate software counterparts, will possibly improve the integrity and security
of resources in Cloud, server farms, and in mobile scenarios.
References
1. AMD: Secure virtual machine architecture reference manual. http://www.0x04.net/doc/
amd/33047.pdflast accessed 2018-02-02 (2005)
2. Baiardi, F., Maggiari, D., Sgandurra, D., Tamberi, F.: Transparent process monitoring in a
virtual environment. Electr. Notes Theor. Comput. Sci. 236, 85–100 (2009), http://dx.
doi.org/10.1016/j.entcs.2009.03.016
3. Bijon, K., Krishnan, R., Sandhu, R.: Mitigating multi-tenancy risks in iaas cloud through
constraints-driven virtual resource scheduling. In: Proc. of the 20th ACM Symp. on Access
Control Models and Technologies. pp. 63–74. SACMAT ’15, ACM, New York, NY, USA
(2015)
4. Brasser, F., Capkun, S., Dmitrienko, A., Frassetto, T., Kostiainen, K., Müller, U., Sadeghi, A.:
DR.SGX: hardening SGX enclaves against cache attacks with data location randomization.
CoRR abs/1709.09917 (2017)
5. Brasser, F., Müller, U., Dmitrienko, A., Kostiainen, K., Capkun, S., Sadeghi, A.: Software
grand exposure: SGX cache attacks are practical. CoRR abs/1702.07521 (2017)
6. Canlar, E.S., Conti, M., Crispo, B., Di Pietro, R.: Windows mobile livesd forensics. J. Netw.
Comput. Appl. 36(2), 677–684 (Mar 2013)
7. Carbone, M., Conover, M., Montague, B., Lee, W.: Secure and robust monitoring of vir-
tual machines through guest-assisted introspection. In: Research in Attacks, Intrusions, and
Defenses Intl. Symp., RAID 2012. pp. 22–41 (2012), https://doi.org/10.1007/978-3-
642-33338-5_2
8. Cazalas, J., McDonald, J.T., Andel, T.R., Stakhanova, N.: Probing the limits of virtualized
software protection. In: Proc. of the 4th Program Protection and Reverse Engineering Work-
shop. pp. 5:1–5:11. PPREW-4, ACM, New York, NY, USA (2014)
Virtualization Technologies and Cloud Security 17
9. Chakrabarti, S., Leslie-Hurd, R., Vij, M., McKeen, F., Rozas, C., Caspi, D., Alexandrovich,
I., Anati, I.: Intel software guard extensions (intel; sgx) architecture for oversubscription of
secure memory in a virtualized environment. In: Proc Hardware and Architectural Support
for Security and Privacy. pp. 7:1–7:8. HASP ’17, ACM, New York, NY, USA (2017)
10. Combe, T., Martin, A., Di Pietro, R.: To docker or not to docker: A security perspective.
IEEE Cloud Computing 3(5), 54–62 (2016)
11. Costan, V., Lebedev, I., Devadas, S.: Secure processors part i: Background, taxonomy for
secure enclaves and intel sgx architecture. Foundations and Trends in Electronic Design
Automation 11(1-2), 1–248 (2017)
12. Costan, V., Lebedev, I.A., Devadas, S.: Sanctum: Minimal hardware extensions for strong
software isolation. In: USENIX Security Symp. pp. 857–874 (2016)
13. Dall, C., Nieh, J.: Kvm/arm: The design and implementation of the linux arm hypervisor.
SIGARCH Comput. Archit. News 42(1), 333–348 (Feb 2014)
14. Di Pietro, R., Franzoni, F., Lombardi, F.: HyBIS: Advanced introspection for effective
windows guest protection. In: ICT Systems Security and Privacy Protection. pp. 189–204.
Springer Intl. Publishing (2017)
15. Di Pietro, R., Lombardi, F., Signorini, M.: CloRExPa: Cloud Resilience via Execution Path
Analysis. Future Gener. Comput. Syst. 32, 168–179 (mar 2014)
16. Di Pietro, R., Lombardi, F., Villani, A.: CUDA Leaks: A detailed hack for cuda and a (partial)
fix. ACM Trans. Embed. Comput. Syst. 15(1), 15:1–15:25 (Jan 2016)
17. Dowty, M., Sugerman, J.: GPU virtualization on vmware’s hosted i/o architecture. SIGOPS
Oper. Syst. Rev. 43(3), 73–82 (Jul 2009)
18. Dua, R., Raja, A.R., Kakadia, D.: Virtualization vs containerization to support paas. In: 2014
IEEE Intl. Conf. on Cloud Engineering. pp. 610–614 (March 2014)
19. By Hertzsprung at English Wikipedia, C.B.S..: Execution rings.
https://commons.wikimedia.org/w/index.php?curid=8950144
20. Fernandes, D.A.B., Soares, L.F.B., Freire, M.M., Incio, P.R.M.: Randomness in virtual ma-
chines. In: 2013 IEEE/ACM 6th Intl. Conf. on Utility and Cloud Computing. pp. 282–286
(Dec 2013)
21. Gruss, D., Lettner, J., Schuster, F., Ohrimenko, O., Haller, I., Costa, M.: Strong and efficient
cache side-channel protection using hardware transactional memory. In: 26th USENIX Se-
curity Symp. (USENIX Security 17). pp. 217–233. USENIX Association, Vancouver, BC
(2017)
22. Gupta, V., Gavrilovska, A., Schwan, K., Kharche, H., Tolia, N., Talwar, V., Ranganathan, P.:
GViM: GPU-accelerated virtual machines. In: Proc. of the 3rd ACM Workshop on System-
level Virtualization for High Performance Computing. pp. 17–24. HPCVirt ’09, ACM, New
York, NY, USA (2009)
23. Hetzelt, F., Buhren, R.: Security analysis of encrypted virtual machines. SIGPLAN Not.
52(7), 129–142 (Apr 2017)
24. Hong, C.H., Spence, I., Nikolopoulos, D.S.: Gpu virtualization and scheduling methods: A
comprehensive survey. ACM Comput. Surv. 50(3), 35:1–35:37 (Jun 2017)
25. Intel: Intel virtualization technology specification for the ia-32 intel architec-
ture. http://dforeman.cs.binghamton.edu/˜foreman/550pages/Readings/
intel05virtualization.pdflast accessed 2018-02-02 (2005)
26. Jason, G.: VENOM: Virtualized Environment Neglected Operations Manipulation. Available
from MITRE, CVE-ID CVE-2015-3456. (May 2015)
27. Jia, L., Zhu, M., Tu, B.: T-vmi: Trusted virtual machine introspection in cloud environments.
In: Proc. of the 17th IEEE/ACM Intl. Symp. on Cluster, Cloud and Grid Computing. pp.
478–487. CCGrid ’17, IEEE Press, Piscataway, NJ, USA (2017)
18 R. Di Pietro et al.
28. Jian, Z., Chen, L.: A defense method against docker escape attack. In: Proc. of the 2017 Intl.
Conf. on Cryptography, Security and Privacy. pp. 142–146. ICCSP ’17, ACM, New York,
NY, USA (2017)
29. Kaplan, D., Powell, J., Woller, T.: AMD memory encryption. White paper (2016),
https://developer.amd.com/wordpress/media/2013/12/AMD_Memory_Encryption_
Whitepaper_v7-Public.pdf
30. Kauer, B.: Oslo: Improving the security of trusted computing. In: USENIX Security Sympo-
sium. pp. 229–237 (2007)
31. Kocher, P., Genkin, D., Gruss, D., Haas, W., Hamburg, M., Lipp, M., Mangard, S., Prescher,
T., Schwarz, M., Yarom, Y.: Spectre attacks: Exploiting speculative execution. ArXiv e-prints
1801.01203 (Jan 2018)
32. Lee, R.B.: Hardware-enhanced access control for cloud computing. In: Proc. of the 17th
ACM Symp. on Access Control Models and Technologies. pp. 1–2. SACMAT ’12, ACM,
New York, NY, USA (2012)
33. Lee, S., Shih, M., Gera, P., Kim, T., Kim, H., Peinado, M.: Inferring fine-grained control flow
inside SGX enclaves with branch shadowing. CoRR abs/1611.06952 (2016)
34. Lengyel, T.K.: Malware collection and analysis via hardware virtualization, doctoral disser-
tations. 964 (2015), https://opencommons.uconn.edu/dissertations/964
35. Lipp, M., Schwarz, M., Gruss, D., Prescher, T., Haas, W., Mangard, S., Kocher, P., Genkin,
D., Yarom, Y., Hamburg, M.: Meltdown. ArXiv e-prints 1801.01207 (Jan 2018)
36. Lombardi, F., Di Pietro, R.: Secure virtualization for cloud computing. J. Netw. Comput.
Appl. 34(4), 1113–1122 (Jul 2011)
37. Lombardi, F., Pietro, R.D., Soriente, C.: Crew: Cloud resilience for windows guests through
monitored virtualization. In: Proc. of the 2010 29th IEEE Symp. on Reliable Distributed
Systems. pp. 338–342. SRDS ’10, IEEE Computer Society, Washington, DC, USA (2010)
38. M, J.A.: Performance comparison between linux containers and virtual machines. In: Intl.
Conf. on Advances in Computer Engineering and Applications. pp. 342–346 (March 2015)
39. Madhavapeddy, A., Mortier, R., Rotsos, C., Scott, D., Singh, B., Gazagnaire, T., Smith, S.,
Hand, S., Crowcroft, J.: Unikernels: Library operating systems for the cloud. SIGPLAN Not.
48(4), 461–472 (Mar 2013)
40. Manu, A.R., Patel, J.K., Akhtar, S., Agrawal, V.K., Murthy, K.N.B.S.: A study, analysis and
deep dive on cloud paas security in terms of docker container security. In: 2016 Intl. Conf.
on Circuit, Power and Computing Technologies (ICCPCT). pp. 1–13 (March 2016)
41. Martin, A., Raponi, S., Combe, T., Di Pietro, R.: Docker ecosystem vulnerability analysis.
Computer Communications 122, 30 – 43 (2018)
42. Maurice, C., Neumann, C., Heen, O., Francillon, A.: Confidentiality issues on a GPU in
a virtualized environment. In: Financial Cryptography and Data Security, Lecture Notes in
Computer Science, vol. 8437, pp. 119–135. Springer Berlin Heidelberg (2014)
43. Merkel, D.: Docker: Lightweight linux containers for consistent development and deploy-
ment. Linux J. 2014(239) (Mar 2014)
44. Moghimi, A., Irazoqui, G., Eisenbarth, T.: Cachezoom: How sgx amplifies the power of
cache attacks. In: Cryptographic Hardware and Embedded Systems, CHES 2017. pp. 69–90.
Springer Intl. Publishing, Cham (2017)
45. Pan, Z., He, Q., Jiang, W., Chen, Y., Dong, Y.: Nestcloud: Towards practical nested virtu-
alization. In: Proc. of the 2011 Intl. Conf. on Cloud and Service Computing. pp. 321–329.
CSC ’11, IEEE Computer Society, Washington, DC, USA (2011)
46. Payer, M., Gross, T.R.: Fine-grained user-space security through virtualization. SIGPLAN
Not. 46(7), 157–168 (Mar 2011)
47. Perez-Botero, D., Szefer, J., Lee, R.B.: Characterizing hypervisor vulnerabilities in cloud
computing servers. In: Proc. of the 2013 Intl. Workshop on Security in Cloud Computing.
pp. 3–10. Cloud Computing ’13, ACM, New York, NY, USA (2013)
Virtualization Technologies and Cloud Security 19
48. Ray, E., Schultz, E.: Virtualization security. In: Proc. of the 5th Annual Workshop on Cyber
Security and Information Intelligence Research: Cyber Security and Information Intelligence
Challenges and Strategies. pp. 42:1–42:5. CSIIRW ’09, ACM (2009)
49. Ristenpart, T., Tromer, E., Shacham, H., Savage, S.: Hey, you, get off of my cloud: Exploring
information leakage in third-party compute clouds. In: Proc. of the 16th ACM Conf. on
Computer and Communications Security. pp. 199–212. CCS ’09, ACM, New York, NY,
USA (2009)
50. Ristenpart, T., Yilek, S.: When good randomness goes bad: Virtual machine reset vulnerabil-
ities and hedging deployed cryptography. In: NDSS. pp. 212 – 224 (2010)
51. Sabahi, F.: Cloud computing security threats and responses. In: 2011 IEEE 3rd Intl. Conf. on
Communication Software and Networks. pp. 245–249 (May 2011)
52. Schwarz, M., Weiser, S., Gruss, D., Maurice, C., Mangard, S.: Malware guard extension:
Using SGX to conceal cache attacks. CoRR abs/1702.08719 (2017)
53. Sfyrakis, I., Grosß, T.: Virtuscap: capability-based access control for unikernels. In: Cloud
Engineering (IC2E), 2017 IEEE Intl. Conf. on. pp. 226–237. IEEE (2017)
54. Shi, L., Chen, H., Sun, J.: vCUDA: GPU accelerated high performance computing in virtual
machines. In: IEEE Intl. Symp. on Parallel Distributed Processing. pp. 1–11 (May 2009)
55. Strackx, R., Jacobs, B., Piessens, F.: Ice: A passive, high-speed, state-continuity scheme. In:
Proc. of the 30th Annual Computer Security Applications Conf. pp. 106–115. ACSAC ’14,
ACM, New York, NY, USA (2014)
56. Suzaki, K., Yagi, T., Tanaka, A., Oiwa, Y., Shibayama, E.: Rollback mechanism of nested
virtual machines for protocol fuzz testing. In: Proc. of the 29th Annual ACM Symp. on
Applied Computing. pp. 1484–1491. SAC ’14, ACM, New York, NY, USA (2014)
57. Tian, K., Dong, Y., Cowperthwaite, D.: A full GPU virtualization solution with mediated
pass-through. In: 2014 USENIX Annual Technical Conf. (USENIX ATC 14). pp. 121–132.
USENIX Association, Philadelphia, PA (2014)
58. Waterman, A., Asanovic, K.: The RISC-V instruction set manual.
https://riscv.org/specifications last accessed 2018-02-02
59. Wong, T.: AMD multiuser GPU. https://www.amd.com/Documents/Multiuser-GPU-
White-Paper.pdf(2016)
60. Xiao, S., Balaji, P., Zhu, Q., Thakur, R., Coghlan, S., Lin, H., Wen, G., Hong, J., chun Feng,
W.: VOCL: An optimized environment for transparent virtualization of graphics processing
units. In: Innovative Parallel Computing. pp. 1–12 (May 2012)
61. Zhang, F., Chen, J., Chen, H., Zang, B.: Cloudvisor: Retrofitting protection of virtual ma-
chines in multi-tenant cloud with nested virtualization. In: Proc. of the Twenty-Third ACM
Symp. on Operating Systems Principles. pp. 203–216. SOSP ’11, ACM, New York, NY,
USA (2011)
62. Zhang, Y., Juels, A., Reiter, M.K., Ristenpart, T.: Cross-tenant side-channel attacks in paas
clouds. In: Proc. of the 2014 ACM SIGSAC Conf. on Computer and Communications Secu-
rity. pp. 990–1003. CCS ’14, ACM, New York, NY, USA (2014)