Why VT-d Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing.

Slides:



Advertisements
Similar presentations
Content Overview Virtual Disk Port to Intel platform
Advertisements

Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines J. LeVasseur V. Uhlig J. Stoess S. G¨otz University of Karlsruhe,
Virtualization Technology
Crucial Security Programs Ring -1 vs. Ring -2: Containerizing Malicious SMM Interrupt Handlers on AMD-V Pete Markowsky Senior Security Researcher
G Robert Grimm New York University Disco.
Disco Running Commodity Operating Systems on Scalable Multiprocessors.
Lesson 9: Creating and Configuring Virtual Networks
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
虛擬化技術 Virtualization and Virtual Machines
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
Introduction to Virtual Machines. Administration Presentation and class participation: 40% –Each student will present two and a half times this semester.
CSE 451: Operating Systems Winter 2012 Module 18 Virtual Machines Mark Zbikowski and Gary Kimura.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
1 UCR Firmware Attacks and Security introduction.
1 Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines Joshua LeVasseur, Volkmar Uhlig, Jan Stoess, and Stefan G¨otz University.
CS533 Concepts of Operating Systems Jonathan Walpole.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Input/Output. I/O Initiation & Control  Transfer of data between circuitry external to the microprocessor and the microprocessor itself.  Transfer of.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
Virtualization Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
IO Memory Management Hardware Goes Mainstream
System Virtualization 1 Learning Objective: –To understand the implementation choices and details of System Virtualization COMP
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Full and Para Virtualization
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Device Driver Concepts Digital UNIX Internals II Device Driver Concepts Chapter 13.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Virtualization Neependra Khare
Virtualization Overview Date: 8/7/2012 SCF-FEF-SSS Author: Tyler Parsons.
Virtualization.
Virtualization Technology
CSC 482/582: Computer Security
Virtualization Dr. Michael L. Collard
Input/Output 1 1.
Virtualization overview
Lecture 1 Runtime environments.
Virtual Machines Calum Aldridge.
Xen: The Art of Virtualization
XenFS Sharing data in a virtualised environment
Running other code under LINUX
Group 8 Virtualization of the Cloud
CIT 480: Securing Computer Systems
CS 140 Lecture Notes: Virtual Machines
OS Virtualization.
Virtualization Layer Virtual Hardware Virtual Networking
Virtualization Techniques
Operating System Support for Virtual Machines
Windows Virtual PC / Hyper-V
Computer Security: Art and Science, 2nd Edition
Introduction to Virtual Machines
Lecture 1 Runtime environments.
Introduction to Virtual Machines
CS 140 Lecture Notes: Virtual Machines
Xen and the Art of Virtualization
System Virtualization
4.3 Virtual Memory.
Memory Addresses.
Test Optimization Using Software Virtualization
Interrupt Message Store
Presentation transcript:

Why VT-d Direct memory access (DMA) is a method that allows an input/output (I/O) device to send or receive data directly to or from the main memory, bypassing the CPU to speed up memory operations. The process is managed by a chip known as a DMA controller (DMAC). Performance vs Security DMA Attack : An attacker exploits the presence of high-speed expansion ports that permit direct memory access to penetrate a system. Ex : Firewire device - No hardware / operating system mediation - Wide availability of devices with ports to transfer data at high speed. - Manifest as social engineering attack, offering a device as gift. Solution Installation of signed device drivers and restricted access to devices, IOMMU technology 1

Virtualization Technology for directed IO - Overview Intel VT-d : Hardware support for isolation of devices and restriction of device accesses to the owner of the device. Capabilities of VT-d IO device assignment - Assignment of devices to VMs DMA remapping - Address translation for device DMA transfers Interrupt remapping - Isolation and routing of device interrupts 2 2

DMA remapping Domain – Abstract isolated environment to which a subset of physical memory is allotted. DMA remapping hardware Assigns a device to a domain through a set of paging structures Any access by a device to system memory is intercepted and determined whether access is permitted [ RVM ]. 3 3

Different models of IO virtualization Emulation of device functionality in software Direct assignment of devices to VM Sharing of devices A device itself has multiple functional interfaces and each of which may be assigned to individual VMs 4

OS usage of DMA remapping OS protection : An OS may define a domain with its critical code and data structures, restricting its access from all IO devices DMA isolation : An OS could define multiple domains and assign one or more IO devices to each domain. Shared virtual memory : It is possible to share virtual address space of applications with IO devices, enabling sharing of data with devices. 5 5

VMM usage of DMA remapping Direct assignment of devices : Driver for an assigned device runs in the partition to which it is assigned Guest software interacts with hardware directly, with no or minimal VMM involvement. VMM is invoked only when guest software performs configuration access, interrupt management 6

DMA address translation A domain has a view of the address space, that is different from host physical address space, similar to that of virtual machine address space. A DMA request would have information such as Device identity originating the request Type of access Target address Remapping hardware translates the address in DMA request to HPA before forwarding to memory controllers. 7

Address translation structures Source Identifier : For PCI express devices, the device identifier is composed of bus/device/function Top level structure is called root-table (4k bytes) and consists of 256 entries. Each entry in root table consist of fields such as ‘present flag’ and ‘context table pointer’ Second level structures is called context table and each entry consist of Translation type – which type of requests are allowed Domain identifier – software assigned field that identifies a domain 8

How does a device is assigned to a VM How does a device is assigned to a VM ? - Assign the same memory range exported to VM to a domain ‘d’. - Mark domain identifier in the context table entry for the device. 9