The Reduced Address Space (RAS) for Application Memory Authentication



Similar documents
Certifying Program Execution with Secure Processors

Architectural Support for Secure Virtualization under a Vulnerable Hypervisor

Patterns for Secure Boot and Secure Storage in Computer Systems

Secure Cloud Storage and Computing Using Reconfigurable Hardware

Trusted Platforms for Homeland Security

Lecture 17: Virtual Memory II. Goals of virtual memory

An Overview of Common Adversary Models

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

SecureME: A Hardware-Software Approach to Full System Security

USB Portable Storage Device: Security Problem Definition Summary

Problems of Security in Ad Hoc Sensor Network

Secure Key Management Architecture Against Sensor-node Fabrication Attacks

USB Portable Storage Device: Security Problem Definition Summary

Pervasive Computing und. Informationssicherheit

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Embedding Trust into Cars Secure Software Delivery and Installation

IoT Security Platform

TPM Key Backup and Recovery. For Trusted Platforms

Electronic Contract Signing without Using Trusted Third Party

Chapter 7 Memory Management

Driving force. What future software needs. Potential research topics

Vehicular Security Hardware The Security for Vehicular Security Mechanisms

CHANCES AND RISKS FOR SECURITY IN MULTICORE PROCESSORS

Tufts University. Department of Computer Science. COMP 116 Introduction to Computer Security Fall 2014 Final Project. Guocui Gao

SECURE MOBILE APP DEVELOPMENT: DIFFERENCES FROM TRADITIONAL APPROACH

Memory Management Outline. Background Swapping Contiguous Memory Allocation Paging Segmentation Segmented Paging

OPERATING SYSTEMS MEMORY MANAGEMENT

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

Chapter 1: Introduction

Offline HW/SW Authentication for Reconfigurable Platforms

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

Public Key Infrastructure (PKI)

Privacy and Security in library RFID Issues, Practices and Architecture

CryptoFirewall Technology Introduction

IBM Crypto Server Management General Information Manual

Hardware Trojans Detection Methods Julien FRANCQ

A Secure Decentralized Access Control Scheme for Data stored in Clouds

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Protocols for Secure Cloud Computing

Privacy Protection in Virtualized Multi-tenant Cloud: Software and Hardware Approaches

Intel Software Guard Extensions(Intel SGX) Carlos Rozas Intel Labs November 6, 2013

Hardware Security Modules for Protecting Embedded Systems

Secure Data Management in Trusted Computing

PUF Physical Unclonable Functions

Binary search tree with SIMD bandwidth optimization using SSE

A Framework for Secure and Verifiable Logging in Public Communication Networks

Technical Brief Distributed Trusted Computing

Vehicular On-board Security: EVITA Project

International Journal of Advanced Research in Computer Science and Software Engineering

Performance evaluation

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Scalable Security for Large, High Performance Storage Systems

Strengthen RFID Tags Security Using New Data Structure

RIGOROUS PUBLIC AUDITING SUPPORT ON SHARED DATA STORED IN THE CLOUD BY PRIVACY-PRESERVING MECHANISM

Memory management basics (1) Requirements (1) Objectives. Operating Systems Part of E1.9 - Principles of Computers and Software Engineering

Security Considerations in Cloud Deployments Matthew Garrett

CHASE Survey on 6 Most Important Topics in Hardware Security

WIRELESS PUBLIC KEY INFRASTRUCTURE FOR MOBILE PHONES

PrivyLink Cryptographic Key Server *

Lecture slides by Lawrie Brown for Cryptography and Network Security, 5/e, by William Stallings, Chapter 14 Key Management and Distribution.

IOMMU: A Detailed view

Lecture 7: Privacy and Security in Mobile Computing. Cristian Borcea Department of Computer Science NJIT

Encrypted File Systems. Don Porter CSE 506

B) Using Processor-Cache Affinity Information in Shared Memory Multiprocessor Scheduling

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

Windows Server Virtualization & The Windows Hypervisor

COS 318: Operating Systems. Virtual Memory and Address Translation

Securing Network Input via a Trusted Input Proxy

SoC: Security-on-chip!

A Secure & Efficient Data Integrity Model to establish trust in cloud computing using TPA

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

Overview Most of the documentation out there on the transition from SHA-1 certificates to SHA-2 certificates will tell you three things:

Building Blocks Towards a Trustworthy NFV Infrastructure

Cloud Data Storage Services Considering Public Audit for Security

RSA SecurID Ready Implementation Guide

How To Protect Your Network From Attack

Energy Efficiency in Secure and Dynamic Cloud Storage

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

SAFE: A Social Based Updatable Filtering Protocol with Privacy-preserving in Mobile Social Networks

Performance Oriented Management System for Reconfigurable Network Appliances

SEMANTIC SECURITY ANALYSIS OF SCADA NETWORKS TO DETECT MALICIOUS CONTROL COMMANDS IN POWER GRID

How to Secure Infrastructure Clouds with Trusted Computing Technologies

An Architecture for Concurrent Future Networks

Computer Science. About PaaS Security. Donghoon Kim Henry E. Schaffer Mladen A. Vouk

1 File Management. 1.1 Naming. COMP 242 Class Notes Section 6: File Management

IoT Security Concerns and Renesas Synergy Solutions

Sync Security and Privacy Brief

Wireless Sensor Networks Chapter 14: Security in WSNs

Transcription:

The Reduced Address Space (RAS) for Application Memory Authentication David Champagne, Reouven Elbaz and Ruby B. Lee Princeton University, USA

Introduction Background: TPM, XOM, AEGIS, SP, SecureBlue want to provide trust in an application s computations and protect private information. An adversary corrupting the memory space of an application can affect the trustworthiness of its computations. Security Model: Threats: Objective Physical attacks: Tampering with bus data or memory chip Software (SW) Attacks: Compromised OS Assumptions: Processor chip is the security perimeter Application to protect is correctly written (no SW vulnerabilities) On-chip engine can authenticate initial state of application Provide application memory authentication: What the application reads from a memory location is what it last wrote there.

Outline Introduction to memory integrity trees Past Work: Building a tree over the physical address space (PAS Tree) Insecure: branch splicing attack Building a tree over the virtual address space (VAS Tree) Impractical Proposed Approach A novel Reduced Address Space (RAS) Building a tree over the RAS (RAS Tree) Managing the RAS Tree with the Tree Management Unit (TMU) Performance evaluation Conclusion

Addressing Nodes in an Integrity Tree P-1 Leaf nodes to protect must be contiguous in the address space P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13

Outline Introduction to memory integrity trees Past Work: Building a tree over the physical address space (PAS Tree) Insecure: branch splicing attack Building a tree over the virtual address space (VAS Tree) Impractical Proposed Approach A novel Reduced Address Space (RAS) Building a tree over the RAS (RAS Tree) Managing the RAS Tree with the Tree Management Unit (TMU) Performance evaluation Conclusion

Physical Address Space (PAS) Tree Majority of past work implements a PAS Tree, where nodes form a contiguous memory region in the PAS Problem: with untrusted OS, branch splicing attack can be carried out Branch splicing attack: substitution of a leaf data block for another via page table corruption

On-Chip Root Recomputation

Branch Splicing Attack on PAS Tree

Outline Introduction to memory integrity trees Past Work: Building a tree over the physical address space (PAS Tree) Insecure: branch splicing attack Building a tree over the virtual address space (VAS Tree) Impractical Proposed Approach A novel Reduced Address Space (RAS) Building a tree over the RAS (RAS Tree) Managing the RAS Tree with the Tree Management Unit (TMU) Performance evaluation Conclusion

Virtual Address Space (VAS) Tree is Too Wide When OS is untrusted, VAS trees are implemented: - Tree nodes form a contiguous memory region in the VAS Problem: Tree must cover huge segment of memory space This leads to huge integrity trees: - Very large memory capacity overhead - Very large initialization latencies 4-ary hash tree @ 2GHz

Branch Splicing Fails on VAS Tree

Outline Introduction to memory integrity trees Past Work: Building a tree over the physical address space (PAS Tree) Insecure: branch splicing attack Building a tree over the virtual address space (VAS Tree) Impractical Proposed Approach A novel Reduced Address Space (RAS) Building a tree over the RAS (RAS Tree) Managing the RAS Tree with the Tree Management Unit (TMU) Performance evaluation Conclusion

Proposed Approach The Reduced Address Space (RAS): a novel address space containing only pages necessary to the application s execution - RAS expands dynamically to fit the application s memory needs - RAS contains compact descriptions of memory regions not mapped in RAS, the Unmapped Page Ranges (UPRs) Compute integrity tree over RAS (a RAS tree) for dramatic reduction of memory and initialization overheads When application touches a previously unused page, on-chip logic expands RAS and adds branch to RAS tree

The Reduced Address Space (RAS) RAS initially contains the application image authenticated at load-time. - The RAS index maps a virtual page into the Reduced Address Space Tree is built over RAS so it spans only useful pages Page mapped into RAS when application touches it for the first time. Tree root expanded to span new page Tree Root Unused segment (arbitrarily large) @ 4 S = shared library @ 0 @ 2 @ 4 @ 6 @ 1 @ 3 @ 5 @ 7 Intermediate Tree Nodes @ 0 @ 2 @ @ 4 @ 6 @ 1 @ 3 @ 5 @ 7 Code Data S OS

Tree Expansion Full Tree T 1 Partial Tree T 3 3 1 a b c d a RAS_i=0 b RAS_i=1 c RAS_i=2 ghost nodes d RAS_i=3

Branch Splicing Fails on RAS Tree RAS index select branch D2 D1 vaddr D3 D4 D5 D6 D7 D8 Protected app D1 v.addr. TLB D1 p.addr.? Root = branch 61 D6, D1, D1 vaddr

Tree Management Unit excluded bit mapped bit RAS indices RAS addr = RAS_index offset

Cost Evaluation Low memory overhead (3 to 10 orders of magnitude reduction over 64-bit VAS!) Reductions in initialization latency proportional to memory overhead reduction Performance hit: 5% vs. no integrity tree, 2.5% vs. VAS tree, < 2.5% vs. PAS tree

Conclusions We described the branch splicing attack on memory integrity trees. We provided practical application memory authentication resistant to branch splicing despite an untrusted OS We reduced memory capacity overhead by 3 to 10 orders of magnitude We reduced initialization latency by 3 to 10 orders of magnitude

Thank you Questions?

References [D. Champagne, R. Elbaz et al.] The Reduced Address Space (RAS) for Application Memory Authentication In Proceedings of the 11th Information Security Conference (ISC 08), September 2008. [R. Elbaz, D. Champagne et al.] TEC-Tree: A Low Cost and Parallelizable Tree for Efficient Defense against Memory Replay Attacks, Cryptographic Hardware and embedded systems (CHES), September 2007. [B. Gassend et al.] Caches and Merkle Trees for Efficient Memory Authentication, High Performance Computer Architecture (HPCA-9), February 2003. [R. Merkle] Protocols for Public Key Cryptosystems, IEEE Symposium on Security and Privacy, 1980. [G. E. Suh et al.] AEGIS: Architecture for Tamper-Evident and Tamper-Resistant Processing, Proc. of the 17th Int l Conf. on Supercomputing (ICS), 2003. [C. Yan et al.] Improving Cost, Performance, and Security of Memory Encryption and Authentication, Int l Symposium on Computer Architecture (ISCA 06), June 2006.

BACKUP SLIDES

Root Recomputation Equations Leaf Position to Verify 1 2 3 4 5 6 7 8 Root Recomputation Performed by On-chip Authentication Engine COMP1 = h h h COMP2 = h h h COMP3 = h h h COMP4 = h h h COMP5 = h h h COMP6 = h h h COMP7 = h h h COMP8 = h h h X recomputed on-chip X fetched from memory X leaf to verify (fetched from memory) COMPi = root recomputation equation for leaf position i

Branch Splicing Attack PAS Tree Branch Recomputation: CPU chip Core Protected application P(D1) Compute COMP1 Compute COMP7 OK VAS Tree Branch Recomputation: Node addr. Node addr. Memory Memory CPU chip D1, D2, H4, H2 Root Register Core Protected application TLB translation Compute COMP1 re-comp d root? = re-comp d root? =