Effects of Memory Randomization, Sanitization and Page Cache on Memory Deduplication



Similar documents
Effects of Memory Randomization, Sanitization and Page Cache on Memory Deduplication

Rethink Package Components on De-Duplication: From Logical Sharing to Physical Sharing

Security on cloud storage and IaaS

Virtualization. Explain how today s virtualization movement is actually a reinvention

VMDedup: Memory De-duplication in Hypervisor

Analysis of Disk Access Patterns on File Systems for Content Addressable Storage

Deduplication in VM Environments Frank Bellosa Konrad Miller Marc Rittinghaus

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Are Cache Attacks on Public Clouds Practical?

Security Implications of Memory Deduplication in a Virtualized Environment

Enabling Technologies for Distributed and Cloud Computing

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

HPSA Agent Characterization

Enabling Technologies for Distributed Computing

OS-Circular : A Framework of Internet Client with Xen

Network Virtualization Model - Planet Lab

IOS110. Virtualization 5/27/2014 1

StACC: St Andrews Cloud Computing Co laboratory. A Performance Comparison of Clouds. Amazon EC2 and Ubuntu Enterprise Cloud

How To Create A Cloud Based System For Aaas (Networking)

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Full and Para Virtualization

Cloud Computing CS

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Memory Resource Management in VMware ESX Server

What s New with VMware Virtual Infrastructure

Virtualization. Pradipta De

CS 695 Topics in Virtualization and Cloud Computing. Introduction

Virtualization. Types of Interfaces

COS 318: Operating Systems. Virtual Machine Monitors

RPM Brotherhood: KVM VIRTUALIZATION TECHNOLOGY

Tech Tip: Understanding Server Memory Counters

Virtualization: Know your options on Ubuntu. Nick Barcet. Ubuntu Server Product Manager

How To Stop A Malicious Process From Running On A Hypervisor

Introduction to Virtual Machines

COM 444 Cloud Computing

Technical Investigation of Computational Resource Interdependencies

Deploying Business Virtual Appliances on Open Source Cloud Computing

VIRTUALIZATION, The next step for online services

Performance Comparison of VMware and Xen Hypervisor on Guest OS

Data Centers and Cloud Computing

Virtual Switching Without a Hypervisor for a More Secure Cloud

Dynamic Resource allocation in Cloud

Virtualization in Linux KVM + QEMU

Cloud Computing through Virtualization and HPC technologies

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Understanding Memory Resource Management in VMware vsphere 5.0

Performance Management in the Virtual Data Center, Part II Memory Management

Virtualization. Dr. Yingwu Zhu

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

Virtualization for Cloud Computing

Panoramica su Cloud Computing targata Red Hat AIPSI Meeting 2010

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

Intro to Virtualization

Chapter 5 Cloud Resource Virtualization

Monitoring Databases on VMware

Distributed System Monitoring and Failure Diagnosis using Cooperative Virtual Backdoors

Hyper-V vs ESX at the datacenter

Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June

RED HAT ENTERPRISE VIRTUALIZATION

Technology and Cost Considerations for Cloud Deployment: Amazon Elastic Compute Cloud (EC2) Case Study

Analysis of VDI Storage Performance During Bootstorm

CS 695 Topics in Virtualization and Cloud Computing and Storage Systems. Introduction

Survey On Hypervisors

Computer Science. About PaaS Security. Donghoon Kim Henry E. Schaffer Mladen A. Vouk

Long term analysis in HEP: Use of virtualization and emulation techniques

Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Virtualization and Other Tricks.

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

Lecture 2 Cloud Computing & Virtualization. Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Computing in High- Energy-Physics: How Virtualization meets the Grid

Data Centers and Cloud Computing. Data Centers

Cloud^H^H^H^H^H Virtualization Technology. Andrew Jones May 2011

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: COMPETITIVE FEATURES

International Journal of Computer & Organization Trends Volume20 Number1 May 2015

Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1

Confinement Problem. The confinement problem Isolating entities. Example Problem. Server balances bank accounts for clients Server security issues:

The future is in the management tools. Profoss 22/01/2008

Benchmarking Hadoop & HBase on Violin

Cloud Computing #6 - Virtualization

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Pete s All Things Sun: Comparing Solaris to RedHat Enterprise and AIX Virtualization Features

Avoiding Performance Bottlenecks in Hyper-V

Multi-core Programming System Overview

Hyper-V R2: What's New?

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

nanohub.org An Overview of Virtualization Techniques

How to Secure Infrastructure Clouds with Trusted Computing Technologies

Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment

COS 318: Operating Systems

Why your next Phone System should be software based and running on a mainstream operating system

Virtualization with Windows

Hybrid Virtualization The Next Generation of XenLinux

Comparing major cloud-service providers: virtual processor performance. A Cloud Report by Danny Gee, and Kenny Li

Options in Open Source Virtualization and Cloud Computing. Andrew Hadinyoto Republic Polytechnic

Virtual Computing and VMWare. Module 4

Maximizing VMware ESX Performance Through Defragmentation of Guest Systems. Presented by

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

Unifying Information Security

Transcription:

Effects of Memory Randomization, Sanitization and Page Cache on Memory Deduplication Kuniyasu Suzaki, Kengo Iijima, Toshiki Yagi, Cyrille Artho Research Institute for Secure Systems EuroSec 2012 at Bern, April 10

Background 1/2 Infrastructure as a Service(IaaS) type cloud computing offers OS hosting service and runs many virtual machines. Examples: Amazon EC2, Rackspace,... Physical resources are very important. Many techniques are developed to save resources. We concentrate on memory. Memory Deduplication is utilized to share same contents and reduces consumption of physical memory. Venders want to use this function, but

Background 2/2 Some attacks are appeared on IaaS, and users want to increase security of Guest OS. For example, Cross VM Side channel attack [CSS2009] Guest OSes have some choices of security function. Some of them change the behavior of memory and will work to increase or decrease performance of memory deduplication. d i Our paper measures the affects of security functions on real memory deduplication (KSM with KVM).

Contents 1) Background 2) Memory deduplication 3) OS security functions Address Space Layout randomization, Memory Sanitization, Page Cache flashing 4) Experimental results On Linux s KSM (Kernel Samepage Merging) with KVM virtual machine monitor 5)Discussion and Conclusion

Memory Deduplication 1/2 Memory deduplication is a technique to share same contents page. Mainly used for virtual machines. Very effective when same guest OS runs on many virtual machines. Many virtual machine monitors include deduplication with different implementations. Guest Pseudo Memory VM1 VM2 VM(n) Real Physical Memory

Memory Deduplication 2/2 Content-aware deduplication Check contents when data is loaded from disk to memory. Transparent Page Sharing on Disco [OSDI97] Satori on Xen[USENIX09] Periodical memory-scan deduplication Scan memory pages and merge when pages are same. It can treat dynamically created contents pages. Content-Based Page Sharing on VMWare ESX [SOSP02] Differential Engine on Xen[OSDI08] KSM (Kernel Samepage Merging) [LinuxSymp09] General-purpose memory deduplication for Linux. Used mainly for KVM. Our paper uses KSM with KVM virtual machine.

KSM: Kernel Samepage Merging KSM has 3 states for pages. Volatile : contents change frequently (not to be candidate) Unshared: candidate pages for deduplication (unique at present) Shared: deduplicated pages with same contents. Pages are scanned (default: 20msec) All pages are not scanned at a trial. The maximum is 25% of the available memory. The time to be deduplicated depends on the situation.

Contents 1) Background 2) Memory deduplication 3) OS security functions Address Space Layout randomization, Memory Sanitization, Page Cache flashing 4) Experimental results On Linux s KSM (Kernel Samepage Merging) with KVM virtual machine monitor 5)Discussion and Conclusion

OS Security functions Modern OSes have security functions that modify memory contents dynamically. 1. Address Space Layout Randomization (ASLR) with Position Independent Executable (PIE) 2. Memory Sanitization 3. Page Cache flashing

Address Space Layout Randomization(ASLR) Normal binary has fixed Memory layout, and has vulnerability for overflow attack. ASLR gives randomized offset (aligned page) to code, library, and stack. Early ASLR for Linux is implemented on PaX and Exec Shield Linux. Linux 2.6.12 (June 2005), Windows VISTA. Binaries have to be Position Independent Executable (PIE). GCC has options to compile a code for PIE-ELF binary. y( ( -fpie for compiler and pie for linker) Disadvantage: PIE binaries become fat, because the all addressing are relocatable. ASLR and PIE binaries will affect memory deduplication. Normal ELF Stack 0xBFFFF000 PIE-ELF on ASLR Stack 0x???????? Library 0x???????? Library 0x40000000 Code Position Independent 0x08048000 PIE code 0x???????? The address is changed for each process on ASLR

Memory sanitization Technique for zero-clearing pages after use. Sensitive data remain for long periods after use, and Chow proposed Secure deallocation [USENIX Security 04, 05]. It prevents information leak. Linux has unconditional page sanitization patch. Increased zero-cleared pages will be deduplicated. As a result, it will reduces consumption of physical memory. Disadvantage: Linux s sanitization requires zero-clearing all physical pages at boot time. Do not treat page cache, because cashed pages are not released from a kernel. Physical Memory 0xXXXX0000 000000 0000000 00000000 Zero-cleared 0x00000000

Page Cache flushing Page Cache flushing reduces possibility of information leak. Page Cache reduces I/O overhead when pages are accessed repeatedly. However, the page cache may include sensitive data. Linux kernel has DropCache for page cache flushing. DropCache released all cached pages from the kernel. cron is used to flush page cache at certain intervals (1 sec). The flushed memory region is reused for other processes. As a result, it will reduce consumption of physical memory. DropCache does not zero-clear the released pages. We need to enable sanitization to zero-clear the pages. Disadvantage: Re-loaded data from disk when the same contents are accessed again.

Contents 1) Background 2) Memory deduplication 3) OS security functions Address Space Layout randomization, Memory Sanitization, Page Cache flashing 4) Experimental results On Linux s KSM (Kernel Samepage Merging) with KVM virtual machine monitor 5)Discussion and Conclusion

Experiments Measure the effects of 3 security functions (ALSR, memory sanitization, DropCache: page cache flushing) on memory deduplication (KSM with KVM). Test environment Intel Core2Quad (Q9650) 3.0GHz processor Host OS: Ubuntu 9.10 (kernel: vanilla-2.6.32.1) with memory deduplication KSM and virtual machine monitor KVM 2 type of Guest OSes Normal Gentoo Linux (1.12.13, kernel 2.6.31) on a 32GB virtual disk (31GB ext3, 1GB swap) Gentoo Linux which is built as PIE binaries It utilize ALSR

Effects of Position Independent Executable (PIE) Gentoo Linux has 1,469 ELF binary files in /bin, /sbin, /usr/bin, and /usr/sbin. On Normal Gentoo the total is 88.4MB On PIE Gentoo the total is 94.6MB (7% more). The biggest change: pampop9 5,396B -> 9,440B (75% more). The smallest change: wall from 9,624B to 9,392B (2% less). From after PIE Gentoo is mainly used.

With and without ASLR, DropCache and Security function Sanitization on 4VMs 1Peak Mem (MB) ASLR DropCache Sanitize Virtual/Physical 2 Physical Mem (MB) Stable State 3 Sharing (MB (%)) 4 Unshared+ Volatile (MB (%)) 5Guest OS Boot Time (sec) 574/458 234.9 106.4(45.3) 128.5(54.7) 62 431/332 206.9 70.7(34.1) 136.3(65.9) 83 2063/1661 204.6 82.1(40.1) 122.5(59.9) 61 2063/1616 186.5 39.4(21.1) 147.1(78.9) 83 574/455 199.0 120.1(60.4) 78.9(39.6) 62 429/316 169.5 83.1(49.0) 86.5(51.0) 82 2063/1661 171.2 94.0(54.9) 77.2(45.1) 62 2063/1161 129.9 50.4(38.8) 79.5(61.2) 85

With and without ASLR, DropCache and Security function Sanitization on 4VMs 1Peak Mem (MB) ASLR DropCache Sanitize Virtual/Physical 2 Physical Mem (MB) +18% Stable State 3 Sharing (MB (%)) 4 Unshared+ Volatile (MB (%)) 5Guest OS Boot Time (sec) 574/458 234.9 106.4(45.3) 128.5(54.7) 62 431/332 206.9 70.7(34.1) 136.3(65.9) 83-12% 2063/1661 204.6 82.1(40.1) 122.5(59.9) 61-13% +43% -21% DropCache delayed the boot time. 2063/1616 186.5 39.4(21.1) 147.1(78.9) 83 574/455 199.0 120.1(60.4) 78.9(39.6) 62 429/316 169.5 83.1(49.0) 86.5(51.0) 82-15% 2063/1661 171.2 94.0(54.9) 77.2(45.1) 62-14% 2063/1161 129.9 50.4(38.8) 79.5(61.2) 85-35% Decrease Increase Sanitization uses all virtual memory, but consumption of physical memory is reduced by deduplication. ASLR increases physical memory consumption Others (DropCache, Sanitization, and Both) decrease. ASLR decreases deduplication and increases unique pages. It means ASLR reduces opportunities for memory deduplication.

Virtual and Physical memory consumption MB 2500 2000 1VM, 2VMs, 4VMs Sanitization use all memory Virtual Max Physical Max 1500 1000 Smallest Smallest 500 0 Sanitization uses all virtual memory. KSM depress the consumption of physical memory but it is still large. DropCache, (2) and (6), shows the smallest consumptions, because the flushed pages are reused. They shows enabling DropCahe is the best from the view of memory, but DropCache affects the time performance of GuestOS.

DropCache: Page Flushing DropCache was issued every second. It takes 10-20 microseconds (1% or 2%), thus it does not affect performance severely. However, the boot time with DropCache increases by about 20 seconds (30% more). The other boot procedures read 65MB of data from disk. DropCache increases this to 99MB (52% more). PIE Gentoo (seconds) No DropCache 61 62 DropCache 82 85 Disk Read (MB) Normal 65 DropCache 99 Sanitize 65

Memory Usage in KSM: PIE Gentoo at a stable state after booting 1, 2, and 4 VMs MB 250 Shared 200 1VM,2VMs,4VMs Unshare Volatile 150 100 50 0 Total memory(volatile+unshared+sharing) with ASLR are larger than without ASLR. Volatile and Sharing pages are almost the same. ASLR increases the number of unshared pages. It means that ASLR increases pages with different contents. However, it is strange because ASLR dons not change the contests. The reason is not well analyzed.

Trace of Memory usage on KSM with 4VMs Sanitization sets memory contents to zero on all memory pages at boot time. KSM could not catch up. However, the performance of Guest OS is not effected, because KSM limits the number of pages at a trial, and postpone deduplication. After booting, KSM deduplicates memory pages. MB 2000 sharing MB 2000 1500 1000 shared unshared volatile 1500 1000 sharing shared unshared volatile 500 500 0 0 100 200 300 sec 0 0 100 200 300 sec Without Sanitization(PIE Gentoo on ASLR) With Sanitization

Contents 1) Background 2) Memory deduplication 3) OS security functions Address Space Layout randomization, Memory Sanitization, Page Cache flashing 4) Experimental results On Linux s KSM (Kernel Samepage Merging) with KVM virtual machine monitor 5)Discussion and Conclusion

Discussions Co-Design of GuestOS and VMM Some VMMs offers zero-cleared pseudo memory to a VM. If memory sanitization recognizes it, the zero-clearing process may be removed. If VMM control page flushing (balance page cache and I/O), it can achieve global l optimization i among many VMs. It will be a counter part of ballon memory of VMM. Consider Scalability on IaaS DropCache reduces the consumption of memory, but it also reduce time performance. If a server (IaaS) hosts OSes which don t care time performance, DropCache is effective.

Related Works Memory deduplication has potential to change structure of OS. Memory deduplication is used to increase security SLINKY[USENIX ATC 2005] encourages static-linking, because memory deduplication reduces the increase memory. Instead of static-linking, Self-contained ELF binaries (binaries which include shared libraries) is used for generalization [HotSec 2010] Attack on memory deduplication Memory disclosure attack for Copy-On-Write [EuroSec 2011] OS Fingerprint [IPCCC2011] Memory deduplication is improved. KSM++ [RESoLVE 2012] HICAMP [APSOLS 2012] Hardware memory deduplication. The size is very small (16-256 Byte).

Conclusions Our paper measures the affects of security functions (ASLR, sanitization, page cache flushing) on real memory deduplication (KSM with KVM). ASLR increases consumption of physical memory, which is more than anticipated. Memory sanitization has to initialize all memory, but the CPU overhead for GuestOS is low, because memory merging is postponed at heavy load. Page cache flushing (DropCache) reduces consumption of physical memory by reusing released pages. However, the overhead is large, which is caused by re-loading data from a disk. We should consider co-design of VMM and security function of guestos and increase the scalability of IaaS.