310 likes | 460 Views
Securing Virtual Machines in Cloud. BY Muhammad Kazim SUPERVISOR: Dr. Awais Shibli. Agenda. Introduction Literature Survey Problem Statement OpenStack Proposed Solution and Design Major Challenges Roadmap References. Introduction.
E N D
Securing Virtual Machines in Cloud BY Muhammad Kazim SUPERVISOR: Dr. Awais Shibli
Agenda • Introduction • Literature Survey • Problem Statement • OpenStack • Proposed Solution and Design • Major Challenges • Roadmap • References
Introduction The core of Cloud services, Infrastructure-as-a-Service (IaaS) model provides the capability to provision; • Processing • Storage • Networks
Virtualization • In Cloud computing, Virtualization is the basis of providing IaaS. • Virtualization is benefiting companies by reducing their operating costs and increasing the flexibility of their own infrastructures.
Virtual Machines • Virtual machine (VM) is a software container that has its own OS, virtual CPU, RAM and behaves like a physical machine. • Cloud usually contains a large number of VMs. • Every 6 seconds a new VM in Cloud is born.
Attacks on Virtual Machines Communication between Virtual Machines • Two VMs in the same network may communicate by covert channel. • Shared clipboard maybe used secretly for communication between VMs. • VM Escape attack • Used by attacker to gain root privileges. Jenni Susan Reuben, “A Survey on Virtual Machine Security”, TKK T-110.5290 Seminar on Network Security, 2007.
Compromised Hypervisor • Hypervisor is responsible for all the interaction between hardware and the virtual machines (VM’s). • A malicious Hypervisor can change any virtual machine code to run it in a way attacker wants, and can access or tamper all data in the VM.
Compromised Host • XEN the type-1 Hypervisor, contains a privileged VM called Dom0 along with guest VMs DomUs. • By compromising Dom0 boot process of the VM can get tampered as well as all guest virtual machines can be accessed including their memory, disk space and network traffic. Jinzhu Kong, “Protecting the confidentiality of virtual machines against untrusted host”, International Symposium on Intelligence Information Processing and Trusted Computing, Washington, DC, USA, 2010.
VM Storage and Restore Attacks • VM state can be stored in a disk file to be restored later. • The compromised host or malicious VM may tamper saved state of virtual machine and when restored it may not function as desired. Jinzhu Kong, “Protecting the confidentiality of virtual machines against untrusted host”, International Symposium on Intelligence Information Processing and Trusted Computing, Washington, DC, USA, 2010.
Virtual Machine Checkpoint Attacks • VM checkpoint is a feature that allows users to take snapshot of virtual machine image. • VM checkpoint may result in exposing sensitive information of VM state if anyone has access to snapshot of VM image. • Attacker may load his created checkpoint as VM to compromise the system. Mikhail I. Gofman, RuiqiLuo, Ping Yang, KartikGopalan, “SPARC: A security and privacy aware Virtual Machine checkpointing mechanism”, Proceedings of the 10th annual ACM workshop on Privacy in the electronic society, New York, USA, 2011, pp. 115-124
DOS Attacks through VMs • Network DOS attacks • Creating too many guest VMs Attacker can create too many guest virtual machines to consume all resources of the system. • Destroying useful VMs and their data
How to prevent VMs from Attacks? • Proper isolation to prevent from inter VM communication. • Access control and Firewalls to prevent from DOS attacks. • Protocols designed to address specific VM attacks. • No unified solution exists!!
Problem Statement In order to secure virtual machines from infrastructure, hypervisor and virtualization level attacks, we intend to provide security mechanism for IaaS layer by proposing virtual machines encrypted execution based on the proposed security architecture.
OpenStack • OpenStack is collection of open source technology that provides massively scalable open source cloud computing software. • Currently a large number of organizations around 87 different countries have deployed their Cloud on OpenStack. • OpenStack technology is written in Python with SDKs available for java and php developers by jcloud.
OpenStack Components • Dashboard ("Horizon") provides a web front end to the other OpenStack services. • Compute ("Nova") stores and retrieves virtual disks ("images") and associated metadata in Image. • Network ("Quantum") provides virtual networking for Compute. • Block Storage ("Cinder") provides storage volumes for Compute. • Image ("Glance") provides catalog and repository for disk images. • All the services authenticate with Identity ("Keystone").
Disk Images and Instances • Images are disk images which are templates for virtual machine file systems. The image service, Glance, is responsible for the storage and management of images within OpenStack. • Instances are the individual virtual machines running on physical compute nodes. The compute service, Nova, manages instances. Each instance is run from a copy of the base image.
Launching an instance • The image store fronted by the image service, Glance, has some number of predefined images. • To launch an instance the user selects an image, a flavor (resources) and optionally other attributes.
Qcow2 • QEMU Copy-on-write QEMU can use a base image which is read-only, and store all writes to the qcow2 image. Its major features include • Smaller images • AES encryption • zlib based compression • Support of multiple VM snapshots.
Issues in VM Encryption • Encryption will result in increase in image size and performance overhead on the Cloud system. • Key management is another major issue.
References [1] Shubhashis Sengupta, Vikrant Kaulgud, Vibhu Saujanya Sharma, “Cloud Computing Security - Trends and Research Directions”, IEEE World Congress on Services, Washington, DC, USA, 2011. [2] Jakub Szefer, Ruby B. Lee, “A Case for Hardware Protection of Guest VMs from Compromised Hypervisors in Cloud Computing”, 31st International Conference on Distributed Computing Systems Workshops, Washington, DC, USA, 2011. [3] Jinzhu Kong, “Protecting the confidentiality of virtual machines against untrusted host”, International Symposium on Intelligence Information Processing and Trusted Computing, Washington, DC, USA, 2010. [4] Farzad Sabahi, “Secure Virtualization for Cloud Environment Using Hypervisor-based Technology”, International Journal of Machine Learning and Computing vol. 2, no. 1, February 2012, pp.39-45. [5] Jenni Susan Reuben, “A Survey on Virtual Machine Security”, TKK T-110.5290 Seminar on Network Security, 2007.
[6] Seongwook Jin, Jeongseob Ahn, Sanghoon Cha, and Jaehyuk Huh, “Architectural Support for Secure Virtualization under a Vulnerable Hypervisor”, Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture, USA, 2011. [7] Ryan Shea, Jiangchuan Liu, “Understanding the Impact of Denial of Service on Virtual Machines”, IEEE 20th International Workshop on Quality of Service (IWQoS), Burnaby, BC, Canada, 2012. [8] Wu Zhou, Peng Ning, Xiaolan Zhang, “Always up-to-date: scalable offline patching of VM images in a compute cloud”, Proceedings of the 26th Annual Computer Security Applications Conference, New York, USA, 2010, pp. 377-386. [9] Trent Jaegar, Reiner Sailer, Yogesh Sreenivasan, “Managing the Risk of Covert Information Flows in Virtual Machine Systems”, Proceedings of the 12th ACM symposium on Access control models and technologies, New York, USA, pp. 81-90, 2007. [10] Mikhail I. Gofman, Ruiqi Luo, Ping Yang, Kartik Gopalan, “SPARC: A security and privacy aware Virtual Machine checkpointing mechanism”, Proceedings of the 10th annual ACM workshop on Privacy in the electronic society, New York, USA, 2011, pp. 115-124.
[11] Zhi Wang, Xuxian Jiang, “HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity” IEEE Symposium on Security and Privacy, Oakland, CA, USA, 2010, pp. 380-385. [12] Mohamad Rezaei et al., “TCvisor: a Hypervisor Level Secure Storage”, TCvisor: a Hypervisor Level Secure Storage”, Internet Technology and Secured Transactions (ICITST), London, 2010, pp. 1-9. [13] Dan Pelleg, Muli Ben-Yehuda, Rick Harper, “Vigilant—Out-of-band Detection of Failures in Virtual Machines”, ACM SIGOPS Operating Systems Review, New York, NY, USA, Volume 42 Issue 1, 2008, pp. 26-31. [14] Sandra Rueda, Rogesh Sreenivasan, Trent Jaeger, “Flexible Security Configuration for Virtual Machines”, Proceedings of the 2nd ACM workshop on Computer Security Architectures, New York, NY, USA, 2008, pp. 35-44. [15] Koichi Onone, Yoshihiro Oyama, Akinori Yonezawa, “Control of System Calls from Outside of Virtual Machines”, Proceedings of the 2008 ACM symposium on Applied Computing, New York, NY, USA, 2008, pp. 2116-2221.