Copyright © 2015 Miao Yu, Virgil D. Gligor, and Zongwei Zhou CyLab and ECE Department Carnegie Mellon University {miaoy1,

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
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
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
Secure In-VM Monitoring Using Hardware Virtualization Monirul Sharif, Wenke Lee, Weidong Cui, and Andrea Lanzi Presented by Tyler Bletsch.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
MACHINE-INDEPENDENT VIRTUAL MEMORY MANAGEMENT FOR PAGED UNIPROCESSOR AND MULTIPROCESSOR ARCHITECTURES R. Rashid, A. Tevanian, M. Young, D. Golub, R. Baron,
Dancing with Giants: Wimpy Kernels for On-demand Isolated I/O Presenter: Probir Roy Computer Science Department College of William & Mary.
Chapter 6 Security Kernels.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Chapter 6 User Protections in OS. csci5233 computer security & integrity (Chap. 6) 2 Outline User-level protections 1.Memory protection 2.Control of access.
Virtualization in HPC Minesh Joshi CSC 469 Dr. Box Feb 1, 2012.
1 Minimal TCB Code Execution Jonathan McCune, Bryan Parno, Adrian Perrig, Michael Reiter, and Arvind Seshadri Carnegie Mellon University May 22, 2007.
G Robert Grimm New York University Disco.
Chapter 1 Introduction. Chapter Overview Overview of Operating Systems Secure Operating Systems Basic Concepts in Information Security Design of a Secure.
Network Implementation for Xen and KVM Class project for E : Network System Design and Implantation 12 Apr 2010 Kangkook Jee (kj2181)
Towards Application Security On Untrusted OS
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Virtual Machines. Virtualization Virtualization deals with “extending or replacing an existing interface so as to mimic the behavior of another system”
Virtualization for Cloud Computing
Xen and the Art of Virtualization. Introduction  Challenges to build virtual machines Performance isolation  Scheduling priority  Memory demand  Network.
Basics of Operating Systems March 4, 2001 Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard.
CSE598C Virtual Machines and Their Applications Operating System Support for Virtual Machines Coauthored by Samuel T. King, George W. Dunlap and Peter.
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.
Secure Virtual Architecture John Criswell, Arushi Aggarwal, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve University of Illinois at Urbana-Champaign.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Jonathan Walpole (based on a slide set from Vidhya Sivasankaran)
CS533 Concepts of Operating Systems Jonathan Walpole.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
An approach to on the fly activation and deactivation of virtualization-based security systems Denis Efremov Pavel Iakovenko
Virtual Machine Monitors: Technology and Trends Jonathan Kaldor CS614 / F07.
Virtual Machine and its Role in Distributed Systems.
The Entropia Virtual Machine for Desktop Grids Brad Calder, Andrew A. Chien, Ju Wang, Don Yang – VEE-2005 Raju Kumar CS598C: Virtual Machines.
Our work on virtualization Chen Haogang, Wang Xiaolin {hchen, Institute of Network and Information Systems School of Electrical Engineering.
Revisiting Hardware-Assisted Page Walks for Virtualized Systems
Author: Monirul Sharif, Wenke Lee, Weidong Cui, Andrea Lanzi Reportor: Chun-Chih Wu Advisor: Hsing-Kuo Pao Select: CCS09’
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Edouard et al. Madhura S Rama.
G53SEC 1 Reference Monitors Enforcement of Access Control.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Motivation 2 Static Acquisition Live Acquisition Static AcquisitionLive Acquisition In-Disk Evidence In-Memory Evidence 24/7 Availability Servers.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
1 Virtual Machine Memory Access Tracing With Hypervisor Exclusive Cache USENIX ‘07 Pin Lu & Kai Shen Department of Computer Science University of Rochester.
Midterm Meeting Pete Bohman, Adam Kunk, Erik Shaw.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
SECURING SELF-VIRTUALIZING ETHERNET DEVICES IGOR SMOLYAR, MULI BEN-YEHUDA, AND DAN TSAFRIR PRESENTED BY LUREN WANG.
Operating Systems Security
Full and Para Virtualization
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Dynamic Memory and Remote Fx Perumal Raja Dell India R & D Centre.
Embedded Real-Time Systems
Virtualization-optimized architectures
Breaking Up is Hard to Do
L2- Virtualization Technology
Presented by Yoon-Soo Lee
Operating System Structure
OS Virtualization.
Shanghai Jiao Tong University
Page Replacement.
The Design & Implementation of Hyperupcalls
SCONE: Secure Linux Containers Environments with Intel SGX
Shielding applications from an untrusted cloud with Haven
System Virtualization
Virtual Machine Migration for Secure Out-of-band Remote Management in Clouds T.Unoki, S.Futagami, K.Kourai (Kyushu Institute of Technology) OUT-OF-BAND.
Presentation transcript:

Copyright © 2015 Miao Yu, Virgil D. Gligor, and Zongwei Zhou CyLab and ECE Department Carnegie Mellon University {miaoy1, ACM CCS Denver, Colorado October 14, 2015 Trusted Display on Untrusted Commodity Platforms 1

Copyright © Picture: GEEK.COM. Insensitive Application (App) Insensitive Application (App) Sensitive Application (SecApp) Sensitive Application (SecApp) Sensitive Application (SecApp) Sensitive Application (SecApp) Sensitive Application (SecApp) Sensitive Application (SecApp) Security: no malicious scrapping/painting of SecApps output on Shared Displays Secure Display Sharing

Copyright ©  Security while maintaining: Sec- App 1 Operating System (unmodified) App Graphics Processing Unit (GPU) … Sec- App 2 App SecApp  User Perception Ideal Trusted Display  Compatibility Trusted Computing Base  Assurance Graphics Processing Unit (GPU)

Copyright © 2015  Security while maintaining:  Compatibility  Assurance  User Perception App SecApp Sec- App 1 Operating System (unmodified) App Graphics Processing Unit (GPU) … Sec- App 2 Commodity OS X GPU Managed by: Related Work Full Virtualization Hypervisor Full Virtualization Hypervisor X X ✓ ✓ Graphics Processing Unit (GPU) TCB X X Trusted Computing Base (TCB) Graphics Processing Unit (GPU)

Copyright © GPU Instructions Local Page Tables CPU Programs (e.g., drivers, Apps) Data (e.g., frame buffers) GPU Address Spaces  Objects Global Page Table (GGTT) Config. Registers Commands Background: GPU

Copyright © GPU Config. Registers CommandsInstructions Local Page Tables Display Engine Processing Engine CPU Programs (e.g., drivers, Apps) Other Engines GPU Address Spaces  Objects  Engines Global Page Table (GGTT) Data (e.g., frame buffers) Background: GPU

Copyright ©  Multiplexes GPU among VMs => Access mediation & emulation for GPU objects, e.g. GPU configuration registers  Reduces complexity => “address space ballooning” * Derived from Figure 7 of Tian et al. “A Full GPU Virtualization Solution with Mediated Pass-Through” Background: Full GPU Virtualization VM 2VM 1 GPU Global Page Table (GGTT) Ballooned

Copyright © VM 2VM 1 GPU Global Page Table (GGTT) * Derived from Figure 7 of Tian et al. “A Full GPU Virtualization Solution with Mediated Pass-Through” Ballooned  Multiplexes GPU among VMs => Access mediation & emulation for GPU objects, e.g. GPU configuration registers  Reduces complexity => “address space ballooning” => non-contiguous GPU address space Background: Full GPU Virtualization

Copyright ©  GPU instructions could be malicious => base & bound registers High Base Bound VM2 VM1 Low Base Bound High GGTT VM1 VM2 VM1 VM2  Inadequate GPU HW - single register pair for non-contiguous address spaces Insecurity of Full GPU Virtualization

Copyright ©  Insecure: Inadequate GPU HW - malicious GPU instructions break GPU address space separation  Lacks assurance: unverifiable code base - multiplexing GPU among VMs is complex e.g., emulating accesses to all GPU configuration registers Full GPU Virtualization In Summary Trusted Computing Base  Incompatible with commodity OS/Apps - require OS/Apps redesign  TCB loses its assurance - code becomes large and complex

Copyright © Step 1: Separate Step 2: Mediate Step 3: Emulate GPU Separation Kernel (GSK)

Copyright ©  Separate security-sensitive from insensitive GPU objects => security model (informal) GSK: Separation App 1 OS (unmodified) Apps GPU

Copyright © 2015 Insensitive (vast majority) 13 GSK: Separation Sensitive Object Insensitive Object App 1 OS (unmodified) Apps  Separate security-sensitive from insensitive GPU objects => security model (informal) GSK Sensitive (very few) GPU Addressed: Large and complex (unverifiable) code base

Copyright ©  ALL accesses to security-sensitive objects by ALL GPU instructions inadequate GPU HW for mediation and complex instruction behavior Interfaces for trusted display GSK: Mediation GPU App 1 OS (unmodified) Apps Access Mediation SecApp 1 GSK

Copyright ©  cannot be intercepted by GPU during execution  can access global memory via global page table (GGTT) can access all frame buffers  have complex behaviors when accessing sensitive objects  Assign GPU instructions to separate address spaces  Prevent GPU instruction access to sensitive objects while maintaining compatibility.  Map GPU instruction behaviors to Read/Write & Config. Change accesses. Enforce access invariants. Inadequate GPU HW & complex behaviors Solutions Instructions GSK: Mediation

Copyright © GPU Address Space Separation GPU Instructions Global Page Table (GGTT) Physical Memory Sensitive Object Insensitive Object

Copyright © GPU Address Space Separation GPU Instructions Global Page Table (GGTT) Physical Memory Sensitive Object Insensitive Object

Copyright © GPU Address Space Separation GPU Instructions Global Page Table (GGTT) Physical Memory Shadow GGTT (GGTT’) Sensitive Object Insensitive Object Addressed: Inadequate GPU HW and access mapping

Copyright ©  Preserves compatibility of access to shared objects e.g., both OS/Apps and GSK access the frame buffer base register GSK: Emulation Interfaces for trusted display GPU App 1 Apps SecApp 1 GSK Access Mediation Emulation OS (unmodified) Addressed: Incompatibility with commodity platforms

Copyright ©  Relies on existing primitives of formally verified μHV - access control to CPU physical memory GSK: Design GPU App 1 OS (unmodified) Apps Access Mediation SecApp 1 Emulation GSK Addressed: Maintain assurance of underlying code micro-Hypervisor

Copyright © GSK: Design OS/Apps frame buffer SecApps’ frame buffer Screen Addressed: Maintain Users’ Perception  Screen Overlay: displays SecApps over OS/Apps

Copyright © 2015 GPU ObjectAll Objects Mediation in Full GPU Virtualization GSK Data (e.g., frame buffer, input/output for processing) 2 GBdata “out-of-the-VM” ~6 MB Configuration Registers Page TableAll Commands Instructions6614 (Ignored)0 22  Only few GPU objects require mediation  Much smaller trusted code size << GSK + μHV << Full GPU Virtualization ~36K SLoC >10M SLoC Evaluation: Size & Complexity

Copyright © μHV-only μHV + trusted display Un-optimized μHV causes most overhead Evaluation: Performance (Throughput)

Copyright © Evaluation: Performance (Latency) Native μHV + trusted display (ms) μHV only (ms) Un-optimized μHV causes most frame jitters (frame)

Copyright © Take-Away Points  Trusted display: Secure Compatible with commodity software/hardware Preserve assurance of underlying trusted code Maintain a typical user's perception  Approach: Separate  Mediate  Emulate GPU accesses Screen overlay

Copyright © Backup

Copyright © Security Protection Sensitive App (SecApp) Operating System (OS) App Keyboard Graphic Controller … Network (w/ crypto) Server ! Sec- App

Copyright © Discussion  SecApps require GPU acceleration Need to extend the scope of sensitive GPU objects Still simpler than full GPU virtualization  GPU hardware enhancement Separate sensitive and insensitive GPU registers and memory into different aligned pages Support R/W access control in all GPU page tables

Copyright © OS/App frame buffer 1 Screen SecApp frame buffer 2 Challenge: Ideal Trusted Display when Screen & GPU are Shared at Any Time (not exclusively) SecApp frame buffer 3 … Screen Sharing

Copyright © Evaluation: Performance (Latency) Native μHV + trusted display (ms) μHV only max acceptable latency (ms) Un-optimized μHV further degrades user experience (frame)