Alibi: Attested Instruction Tracing as a Secure Thin Intermediate Layer (STIL) Primitive Vyas Sekar, Petros Maniatis ISTC for Secure Computing 1 Amit Vasudevan,

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

Verifiable Resource Accounting for Cloud Computing Services Vyas Sekar, Petros Maniatis ISTC for Secure Computing 1.
Secure In-VM Monitoring Using Hardware Virtualization Monirul Sharif, Wenke Lee, Weidong Cui, and Andrea Lanzi Presented by Tyler Bletsch.
Information Security and Cloud Computing Naresh K. Sehgal, Sohum Sohoni, Ying Xiong, David Fritz, Wira Mulia, and John M. Acken 1 NKS.
Accountability in Hosted Virtual Networks Eric Keller, Ruby B. Lee, Jennifer Rexford Princeton University VISA 2009.
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Computer Organization and Architecture
Computer Science HyperSentry: Enabling Stealthy In-context Measurement of Hypervisor Integrity Ahmed M. Azab, Peng Ning, Zhi Wang, Xuxian Jiang North Carolina.
1 Minimal TCB Code Execution Jonathan McCune, Bryan Parno, Adrian Perrig, Michael Reiter, and Arvind Seshadri Carnegie Mellon University May 22, 2007.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
Continuously Recording Program Execution for Deterministic Replay Debugging.
Architectural Support for OS March 29, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Multiprocessing Memory Management
OS Spring’03 Introduction Operating Systems Spring 2003.
Chapter 8 Operating System Support
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
Computer Organization and Architecture
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Chapter 2 The OS, the Computer, and User Programs Copyright © 2008.
Layers and Views of a Computer System Operating System Services Program creation Program execution Access to I/O devices Controlled access to files System.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Trusted Computing Technologies for Embedded Systems and Sensor Networks Adrian Perrig Carnegie Mellon University.
Bootstrapping Trust in Commodity Computers Bryan Parno, Jonathan McCune, Adrian Perrig 1 Carnegie Mellon University.
Review of Memory Management, Virtual Memory CS448.
G53SEC 1 Reference Monitors Enforcement of Access Control.
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
Analyzing parallel programs with Pin Moshe Bach, Mark Charney, Robert Cohn, Elena Demikhovsky, Tevi Devor, Kim Hazelwood, Aamer Jaleel, Chi- Keung Luk,
1 Hardware Security Mechanisms Krste Asanovic U.C. Berkeley August 20, 2009.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
Accountability in Hosted Virtual Networks Eric Keller, Ruby B. Lee, Jennifer Rexford Princeton University.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
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.
Midterm Meeting Pete Bohman, Adam Kunk, Erik Shaw.
1 CSE451 Architectural Supports for Operating Systems Autumn 2002 Gary Kimura Lecture #2 October 2, 2002.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
15-410, S’ Hardware Overview Jan. 19, 2004 Dave Eckhardt Bruce Maggs L04_Hardware “Dude, what were you thinking?”
Full and Para Virtualization
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  What Operating Systems Do  Computer-System Organization  Computer-System Architecture  Operating-System Structure.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Introduction to Operating Systems Concepts
Virtual Machine Monitors
Outline What does the OS protect? Authentication for operating systems
Lecture 24 Virtual Machine Monitors
William Stallings Computer Organization and Architecture
Outline What does the OS protect? Authentication for operating systems
Lecture Topics: 11/1 General Operating System Concepts Processes
Architectural Support for OS
Chapter 2: Operating-System Structures
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Sai Krishna Deepak Maram, CS 6410
Shielding applications from an untrusted cloud with Haven
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
CS510 Operating System Foundations
Architectural Support for OS
Chapter 2: Operating-System Structures
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Presentation transcript:

Alibi: Attested Instruction Tracing as a Secure Thin Intermediate Layer (STIL) Primitive Vyas Sekar, Petros Maniatis ISTC for Secure Computing 1 Amit Vasudevan, Chen Chen, Adrian Perrig CyLab, Carnegie Mellon University

Ubiquity of Outsourcing Computation Fundamental advantage of cloud paradigm is computation outsourcing Trend shows we are increasingly placing trust on remote parties for computation To be sustainable we need stronger assurances 2

State of cloud computing today.. 3 It's that dreaded time of the month again, the time of the month that we, the 400,000+ Amazon Web Service consumers await with great anticipation / horror. What I'm talking about is the Amazon Web Services Billing Statement sent at beginning of each month. As it turns out, Microsoft's doesn't disclose revenues related to its cloud services. And on that matter, it's not alone. Neither do Amazon, Google, or IBM. Need stronger, verifiable resource accounting!

What capabilities do we want? 4 Provider (P) Task (T) Attribution Model (A) Report (R) Witness (W) Verifier T,R,W,A Trusted Layer 1.Did I use the resources billed?  e.g., T did physically consume X cycles Is P double counting or overcharging? 2. Should I have used these resources?  e.g., Was it because of poor scheduling by P? Did T consume more due to “contention” with T’ on same CPU?

EpochResource1Resource2 1T1=5, T2=0T1=1, T2=2 2T1=1, T2=10 T1=0, T2=10 …. Did-I/Should-I Clean Slate Solution 5 Task1 Task2 Resource 1 Resource 2 EpochResource1Resource2 1T1=5, T2=0 T1=1, T2=2 2T1=1, T2=10 T1=0, T2=10 …. Hardware-root-of-trust Visibility into low-level No spurious reports “Witness” “Trusted” Decisions Allocator Template Allocator Template Requests Interrupts Allocator Template Allocator Template Decisions Private Policy Private Policy Hidden Log of Requests, interrupts Log of Requests, interrupts Log of Decisions Log of Decisions Verifier Customer Provider Resource 1 Resource 2 “Trusted” Task1 Task2

Lack of suitable h/w accounting primitives – Most resources have “allocators” within the OS (or VMM). E.g., memory, scheduler, disk etc. – Use a s/w monitoring layer that can deliver required measurements How does the provider justify what it did? 6 Challenges Attested Instruction Tracing

Attested Instruction Trace Atomic component of any program is an instruction Enables precise reasoning of what the program did during runtime What You See Is What Executed (WYSIWE) if the collection mechanism is robust to tampering 7 void alibi(int p, int v, int a){ if( (p+v) >= a) printf("\nGreater/Equal"); else printf("\nLesser"); } Program … leal(%edx,%eax), %eax cmpl16(%ebp), %eax jle.L2 movl$.LC0, (%esp) callprintf jmp.L4.L2: movl$.LC1, (%esp) callprintf.L4: leave ret Instruction Trace … leal(%edx,%eax), %eax cmpl16(%ebp), %eax jle.L2 movl$.LC0, (%esp) callprintf jmp.L4.L2: movl$.LC1, (%esp) callprintf.L4: leave ret Instruction Trace

Why the resource accounting problem is not solved by * ? Client-side sanity checks – Useful, but can’t really use it to justify anything Launch-time Attestation – E.g., TPM++, Flickr++ – Need run time, not just load time Deterministic replay – E.g., AVM – Too much to trust, might give away too much info Control Flow Integrity++ – Want actual run time accounting, not plausible flows! 8

Operating System Process Callback Alibi: Architectural Overview 9 2. Register 3. Entry /Exit 5. Reporting 1. Trusted Launch Alibi Hypervisor Customer Provider Verifier Report Alibi Hypervisor Process Callback 4. Instruction Trace Collection

Attested Instruction Tracing Benefits and Applications A strong general primitive – Attesting actual execution vs. launch-time attestation Benefits – fine-grained and accurate – minimal-TCB approach -> robust to tampering – can be used on commodity x86 platforms today! Applications – Attested Read from an input port – Attested accesses to disk – Attested CPU cycle counter read – Malware detection – … 10

Alibi: Attested Instruction Tracing as a Secure Thin Intermediate Layer (STIL) Primitive Introduction and Motivation Attested Instruction Tracing Machinery Summary and Discussion 11

Prior work from CMU: XTRec 12 Shaded = Trusted Leverage Branch Trace Message (BTM) feature

Branch Trace Messages 13 Emitted by the CPU for all branch instructions decoded at the Instruction Pointer Available on commodity x86 class CPUs; primarily used for debugging purposes Generated irrespective of the code privilege level (Ring 0-3, SMM and even the hypervisor!)‏ Usually sent out on the system bus, BUT can be stored to system memory

Dynamic Code Capture BTMs record only control-flow instructions – What about other instructions? Hardware managed physical memory page tables – W XOR X policy on physical memory pages – Record contents of page prior to converting it to executable status – Superimpose BTMs over corresponding code page contents 14

Alibi: Current status Port XTRec primitives to IA-32 Addressing performance issues – Selective logging, BTM cache, LBA-style offload Using Alibi for Did-I verifiability – e.g., challenges with dynamic libraries, sys-calls Using Alibi for Should-I verifiability – Guarantee privacy (code + data) – API for selective logging 15

Alibi: Attested Instruction Tracing as a Secure Thin Intermediate Layer (STIL) Primitive Introduction and Motivation Attested Instruction Tracing Machinery Summary and Discussion 16

Summary and Discussion Attested Instruction tracing – A strong general primitive Attesting actual execution vs. launch-time attestation – fine-grained, accurate, minimal-TCB approach, robust to tampering and applicable to commodity x86 platforms! Verifiable Resource Accounting – Did-I and Should-I properties – Provider incentives Adoption to avoid underutilization, less conservative in accounting, prevent customers from gaming the system 17