1 Hardware Security Mechanisms Krste Asanovic U.C. Berkeley August 20, 2009.

Slides:



Advertisements
Similar presentations
RAMP Gold : An FPGA-based Architecture Simulator for Multiprocessors Zhangxi Tan, Andrew Waterman, David Patterson, Krste Asanovic Parallel Computing Lab,
Advertisements

Technology Drivers Traditional HPC application drivers – OS noise, resource monitoring and management, memory footprint – Complexity of resources to be.
1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.
Secure web browsers, malicious hardware, and hardware support for binary translation Sam King.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Dawson R. Engler, M. Frans Kaashoek, and James O'Tool Jr.
UC Berkeley 1 Time dilation in RAMP Zhangxi Tan and David Patterson Computer Science Division UC Berkeley.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Figure 1.1 Interaction between applications and the operating system.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
1 Last Class: Introduction Operating system = interface between user & architecture Importance of OS OS history: Change is only constant User-level Applications.
RAMP Gold: ParLab InfiniCore Model Krste Asanovic UC Berkeley RAMP Retreat, January 16, 2008.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
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.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
What do operating systems do? manage processes manage memory and computer resources provide security features execute user programs make solving user.
Hypervisor, Virtualization Stack, And Device Virtualization Architectures Mike Neil Product Unit Manager Windows Virtualization Microsoft Corporation.
Windows Server 2008 R2 CSIT 320 (Blum) 1. Server Consolidation – Today’s chips have enhanced capabilities compared to those of the past. In particular.
Processes Part I Processes & Threads* *Referred to slides by Dr. Sanjeev Setia at George Mason University Chapter 3.
MultiPARTES Towards Model-Driven Engineering for Mixed- Criticality Systems: MultiPARTES Approach A. Alonso, C. Jouvray, S. Trujillo, M.A. de Miguel, C.
Tanenbaum 8.3 See references
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Chapter 3 Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
OS provide a user-friendly environment and manage resources of the computer system. Operating systems manage: –Processes –Memory –Storage –I/O subsystem.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS Design.
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.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
OS 2020: Slide 1December 6 th, 2011Swarm Lab Opening Tessellation OS: an OS for the Swarm John Kubiatowicz
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
(a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same. So please give three examples.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
Chapter 2 Introduction to OS Chien-Chung Shen CIS, UD
Next Generation Operating Systems Zeljko Susnjar, Cisco CTG June 2015.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
Full and Para Virtualization
Operating-System Structures
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Security Architecture and Design Chapter 4 Part 2 Pages 319 to 357.
Chapter 2 Introduction to OS Chien-Chung Shen CIS/UD
Tessellation: Space-Time Partitioning in a Manycore Client OS 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
CS5204 Fall 20051Oct. 26, 2005 Mondrix: Memory Isolation for Linux using Mondriaan Memory Protection Emmett Witchel Junghwan Rhee Krste Asanovic Sreeram.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
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.
Operating Systems: History, Hardware & Concepts Ch 1.4 & 1.5 Thursday, January 18, 2007.
Introduction to Operating Systems Concepts
Agenda Hardware Virtualization Concepts
Current Generation Hypervisor Type 1 Type 2.
Virtualization overview
OS Virtualization.
Operating Systems: A Modern Perspective, Chapter 3
Operating Systems Structure
Presentation transcript:

1 Hardware Security Mechanisms Krste Asanovic U.C. Berkeley August 20, 2009

Target Systems  Trusted app wants to use functionality in legacy libraries and legacy OS Untrusted interactions Trusted interactions Hardware Thin Trusted Hypervisor Legacy OS Trusted App Legacy Apps Legacy Libraries Trusted Service Trusted App I/O Custom OS

Hardware Security Mechanisms  Functional isolation and QoS performance isolation through hardware partitioning  E.g., isolate legacy OS from custom trusted OS and services  Fine-grained memory protection and protection domains  Isolated trusted portion of application from untrusted legacy libraries (and legacy OS?)  User-level protected message passing  Direct protected communication between trusted app components and trusted services

Hardware Partitioning Support  Partition can contain own cores, L1 and L2 $/RAM, DRAM, and interconnect bandwidth allocation  Inter-partition communication through protected shared memory and user-level messages  Benefits:  Security  Efficiency (fewer layers, custom OS)  Enables new exposed HW primitives  Performance isolation/predictability  Robustness to faults/errors 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 Protected Shared Memory

5 Wireless radio Memory Media PlayerNetwork Driver Filesystem Browser Video decoder GUI Windows VM De-scheduled Partitions Space-Time partitioning basis for manycore OS QoS Allocations

System Structure 6 Hypervisor Kernel Partition Management Layer Hardware Partitioning Mechanisms CPUs Physical Memory Interconnect Bandwidth Cache Performance Counters Partition Mechanism Layer (Trusted) Application Or Legacy OS Local Scheduler Library OS Functionality Configure HW-supported Communication Message Passing Configure Partition Resources enforced by HW at runtime Partition Allocator Partition Scheduler Comm. Reqs Sched Reqs. Partition Resizing Callback API Res. Reqs.

Fine-Grained Memory Protection Mainlib1 12 Memory Addresses 0x000… 0xFFF… lib2lib3 34 No perm Read-write Read-only Execute-read Multiple protection domains Selectively enable legacy library access to main app data.Selectively enable legacy library access to main app data. Can also restrict legacy OS accessCan also restrict legacy OS access Permissions established with hypercalls (direct trap to hypervisor)Permissions established with hypercalls (direct trap to hypervisor)

Secure User-Level Messaging  Allow trusted code to directly send messages to trusted services or other trusted applications  Message channels established through hypercalls and buffering set aside in memory  Message send is atomic append-only to queue (cannot overwrite earlier message)  Message receive is atomic dequeue  Needs to interact with software schedulers at each end

Target Systems  Trusted app wants to use functionality in legacy libraries and legacy OS Hardware Thin Trusted Hypervisor Legacy OS Trusted App Legacy Apps Legacy Libraries Trusted Service Trusted App I/O Custom OS Hardware Partitions Fine-Grained Memory Protection Secure User- Level Messages

FPGA Emulation of Hardware Concepts  Rapid accurate simulation of manycore security ideas using FPGAs  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 + $

Why Hardware?  Performance matters  Energy matters  Legacy codes  “we lost the source”  Can’t recompile  Someone else’s source code  “QA costs $5M”  Multicore adds new security concerns  Speed up or reduce size of trusted software  There will always be hardware at bottom of stack - how should it change for security?