1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.

Slides:



Advertisements
Similar presentations
Wei Lu 1, Kate Keahey 2, Tim Freeman 2, Frank Siebenlist 2 1 Indiana University, 2 Argonne National Lab
Advertisements

Interactive lesson about operating system
RAMP Gold : An FPGA-based Architecture Simulator for Multiprocessors Zhangxi Tan, Andrew Waterman, David Patterson, Krste Asanovic Parallel Computing Lab,
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Chapter 8-1 : Multiple Processor Systems Multiple Processor Systems Multiple Processor Systems Multiprocessor Hardware Multiprocessor Hardware UMA Multiprocessors.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
 Alexandra Constantin  James Cook  Anindya De Computer Science, UC Berkeley.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Multiple Processor Systems
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Secure web browsers, malicious hardware, and hardware support for binary translation Sam King.
SCRUB: Secure Computing Research for Users’ Benefit David Wagner 1.
NoHype: Virtualized Cloud Infrastructure without the Virtualization Eric Keller, Jakub Szefer, Jennifer Rexford, Ruby Lee ISCA 2010 Princeton University.
S oftware- H ardware I nformation F low T racking + M ulticore Colleen Lewis & Cynthia Sturton SHIFT+M.
Multiprocessors ELEC 6200: Computer Architecture and Design Instructor : Agrawal Name: Nam.
TRANSFORMATION HARDWARE SYSTEM ARCHITECTURES SVA Binary translation and emulation Formal methods Hardware support for isolation Dealing with malicious.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Computer Organization and Architecture
Murali Vijayaraghavan MIT Computer Science and Artificial Intelligence Laboratory RAMP Retreat, UC Berkeley, January 11, 2007 A Shared.
Virtualization and the Cloud
1 OS & Computer Architecture Modern OS Functionality (brief review) Architecture Basics Hardware Support for OS Features.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
TitleEfficient Timing Channel Protection for On-Chip Networks Yao Wang and G. Edward Suh Cornell University.
Tanenbaum 8.3 See references
Virtualization Concept. Virtualization  Real: it exists, you can see it.  Transparent: it exists, you cannot see it  Virtual: it does not exist, you.
Computer System Architectures Computer System Software
WEB ENGINEERING LECTURE 4 BY Kiramat Rahman. outline  In this Lecture you will learn about:  Term “Software” and its relationship with “Hardware” 
Secure Virtual Architecture John Criswell, Arushi Aggarwal, Andrew Lenharth, Dinakar Dhurjati, and Vikram Adve University of Illinois at Urbana-Champaign.
Systems Security & Audit Operating Systems security.
1 9. Circuit Switching. Prof. Sang-Jo Yoo 2 Contents  Switching Networks  Circuit-Switching Networks  Switching Concepts  Routing in Circuit-Switching.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
1 Hardware Security Mechanisms Krste Asanovic U.C. Berkeley August 20, 2009.
Xen I/O Overview. Xen is a popular open-source x86 virtual machine monitor – full-virtualization – para-virtualization para-virtualization as a more efficient.
An approach to on the fly activation and deactivation of virtualization-based security systems Denis Efremov Pavel Iakovenko
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Tessellation: Space-Time Partitioning in a Manycore Client OS Rose Liu 1,2, Kevin Klues 1, Sarah Bird 1, Steven Hofmeyr 3, Krste Asanovic 1, John Kubiatowicz.
Chapter 6 Multiprocessor System. Introduction  Each processor in a multiprocessor system can be executing a different instruction at any time.  The.
1 CHAPTER 8 TELECOMMUNICATIONSANDNETWORKS. 2 TELECOMMUNICATIONS Telecommunications: Communication of all types of information, including digital data,
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
Next Generation Operating Systems Zeljko Susnjar, Cisco CTG June 2015.
Hardware, Languages, and Architectures for Defense Against Hostile Operating Systems (DHOSA) Vikram Adve, Krste Asanović, David Evans, Sam King, Greg Morrisett,
Operating System Organization Chapter 3 Michelle Grieco.
Distributed System Services Fall 2008 Siva Josyula
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  What Operating Systems Do  Computer-System Organization  Computer-System Architecture  Operating-System Structure.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
1 Xen and the Art of Binary Modification Lies, Damn Lies, and Page Frame Addresses Greg Cooksey and Nate Rosenblum, March 2007.
Background Computer System Architectures Computer System Software.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Introduction to Operating Systems Concepts
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Lynn Choi School of Electrical Engineering
Xen and the Art of Virtualization
Multiprocessing.
Chapter 1: Introduction
Distributed Processors
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
Meeting Service Traffic Requirements in SOA
Sai Krishna Deepak Maram, CS 6410
Shielding applications from an untrusted cloud with Haven
Maria Méndez Real, Vincent Migliore, Vianney Lapotre, Guy Gogniat
Presentation transcript:

1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011

TRANSFORMATION HARDWARE SYSTEM ARCHITECTURES SVA Binary translation and emulation Formal methods Hardware support for isolation Dealing with malicious hardware Cryptographic secure computation Data-centric security Secure browser appliance Secure servers WEB-BASED ARCHITECTURES e.g., Enforce properties on a malicious OS e.g., Prevent data exfiltration e.g., Enable complex distributed systems, with resilience to hostile OS’s

TRANSFORMATION HARDWARE SYSTEM ARCHITECTURES SVA Binary translation and emulation Formal methods Hardware support for isolation Dealing with malicious hardware Cryptographic secure computation Data-centric security Secure browser appliance Secure servers WEB-BASED ARCHITECTURES e.g., Enforce properties on a malicious OS e.g., Prevent data exfiltration e.g., Enable complex distributed systems, with resilience to hostile OS’s

Target Scenario Trusted Hardware Trusted Hypervisor Valuable Data Normal Execution Environment Untrusted OS Noncritical App Secure Execution Environment Approved information flow Desirable App Untrusted OS Undesirable information leak

Hardware Isolation Techniques  Fine-grain Memory Protection  Dynamic Information Flow Tracking  Secure Messaging  Timing Isolation

Hardware Isolation Techniques  Fine-grain Memory Protection  Dynamic Information Flow Tracking  Secure Messaging  Timing Isolation

Modern Multicore Systems Many shared resources:  Last-level Cache Interconnect  Last-Level Cache Capacity  DRAM & I/O Interconnects CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM L2 Interconnect DRAM & I/O Interconnect All shared hardware resources can be used to build high-bandwidth timing-based covert channels

Timing-Based Covert Channel using shared interconnect Time Unit message time on interconnect  Sending core modulates traffic on shared interconnect (e.g., writes to given memory location over bus) Covert “1”Covert “0” Writes by sending core   Receiving core attempts to saturate bus with requests and observes how much bandwidth is available Time Writes by receiving core

Multicore & Timing-Based Attacks  Concurrent execution on different cores and high-performance on-chip interconnect allows higher-bandwidth covert channels  Ability to quickly train attacker using timing gathered when running on a subset of machine  E.g., calibrate using two unsecured cores, before using between secured and unsecured cores.

Hardware Partitioning for Timing Isolation Partition can contain own:  Cores  L1 and L2 $ capacity  Off-chip DRAM bandwidth  On-chip interconnect bandwidth allocation CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM CPU L1 L2Bank DRAM L2 Interconnect DRAM & I/O Interconnect Partition 2 Partition 1 How to isolate while retaining high efficiency?

Interconnect Partitioning  Off-chip DRAM bandwidth and on-chip interconnect bandwidth are among most expensive resources in system.  Static partitioning would require dedicated, and hence under-utilized, interconnect.  Multiplexing interconnect among multiple requesters increases system efficiency, but enables timing attacks.

Secure Interconnect Multiplexing: Time-Division Multiplexing  Statically allocate bus time slots between different cores. Time Insecure traffic allocation (1/3) Secure traffic allocation (2/3) Repeating fixed allocation within frame

Secure Interconnect Multiplexing: Time-Division Multiplexing TimeInsecure traffic allocation (1/3) Secure traffic allocation (2/3) If one core cannot use slot, it is left idle even if other core has traffic to send. Cores cannot see each other’s traffic level. Secure, but wasteful. Idle slots

Secure Interconnect Multiplexing: One-Sided Bandwidth Recycling  Allow secure traffic to use unclaimed insecure bus slots, but not vice versa.  Insecure app cannot view timing of secure app. TimeInsecure traffic allocation (1/3) Secure traffic allocation (2/3) Recycled idle slots

Real System Interconnects  Multihop interconnection networks  Rings, meshes  Cache-coherence protocols  Single load or store instruction can generate dozens of individual interconnect messages  Multiple interconnection networks for memory system  Separate physical networks for initial requests, snoop traffic, responses, data payloads

Intel Sandy Bridge

Globally Synchronized Frames for Memory System Extending our earlier work on GSF for point-point networks:  Divide time into discrete “frames”.  Each core receives allocation of credits each frame time to perform memory operations.  Credit is permission to cause worst-case traffic on every network for one memory operation.  Reclaim unused credits to boost bandwidth.  For secure system, only secure cores reclaim unused bandwidths.

FPGA Emulation of Hardware Concepts  RAMP Gold: Initial version models 64 cores of SPARC v8 with shared memory system on $750 board Cost Performance (MIPS) Simulations per day Software Simulator $2, RAMP Gold$2,000 + $

GSFm Status on RAMP Gold  Working GSF-style memory bandwidth reservation system on RAMP Gold  Working Tessellation OS partition-based operating system can adjust allocations to control bandwidth partitioning  Also partitions cores and cache capacity.  Ongoing: investigating hardware cost/efficiency loss of asymetric bandwidth recycling.

Adoption path  Hardware vendors already considering partitioning support for performance isolation  Real-time guarantees (e.g., media playback)  Service-level guarantees (e.g., cloud computing)  Performance tuning (e.g., repeatable timing)  Small tweak could also prevent timing channels

Other Hardware Isolation Mechanisms in Progress  Fine-grained memory protection and protection domains  Fine-grain dynamic information flow tracking  User-level protected message passing  Direct protected communication between trusted app components and trusted services

Questions?