Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 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

2 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

3 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!

4 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?

5 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

6 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

7 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

8 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

9 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

10 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

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

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

13 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

14 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

15 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

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

17 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


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

Similar presentations


Ads by Google