Bastion secure processor architecture

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
Virtualisation From the Bottom Up From storage to application.
1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Tamper Evident Microprocessors Adam Waksman Simha Sethumadhavan Computer Architecture & Security Technologies Lab (CASTL) Department of Computer Science.
Dancing with Giants: Wimpy Kernels for On-demand Isolated I/O Presenter: Probir Roy Computer Science Department College of William & Mary.
Accountability in Hosted Virtual Networks Eric Keller, Ruby B. Lee, Jennifer Rexford Princeton University VISA 2009.
 Alexandra Constantin  James Cook  Anindya De Computer Science, UC Berkeley.
Chapter 6 User Protections in OS. csci5233 computer security & integrity (Chap. 6) 2 Outline User-level protections 1.Memory protection 2.Control of access.
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.
Trusted Computing Initiative Beyond trustworthy. Trusted Computing  Five Key Concepts >Endorsement Key >Secure Input and Output >Memory Curtain / Protected.
1 How Low Can You Go? Recommendations for Hardware- Supported Minimal TCB Code Execution Bryan Parno Arvind Seshadri Adrian Perrig Carnegie Mellon University.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
outline Purpose Design Implementation Market Conclusion presentation Outline.
TrustVisor: Efficient TCB Reduction and Attestation Jonathan M
Processes Part I Processes & Threads* *Referred to slides by Dr. Sanjeev Setia at George Mason University Chapter 3.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Virtual Machines Xen and Terra Rajan Palanivel. Xen and Terra : Papers Xen and the art of virtualization. -Univ. of Cambridge Terra: A VM based platform.
Jakub Szefer, Eric Keller, Ruby B. Lee Jennifer Rexford Princeton University CCS October, 2011 報告人:張逸文.
Systems Security & Audit Operating Systems security.
Trusted Computing BY: Sam Ranjbari Billy J. Garcia.
Operating System Support for Virtual Machines Samuel T. King, George W. Dunlap,Peter M.Chen Presented By, Rajesh 1 References [1] Virtual Machines: Supporting.
Architecture for Protecting Critical Secrets in Microprocessors Ruby Lee Peter Kwan Patrick McGregor Jeffrey Dwoskin Zhenghong Wang Princeton Architecture.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
An approach to on the fly activation and deactivation of virtualization-based security systems Denis Efremov Pavel Iakovenko
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
CS533 Concepts of Operating Systems Jonathan Walpole.
IT253: Computer Organization
CS533 Concepts of Operating Systems Jonathan Walpole.
Accountability in Hosted Virtual Networks Eric Keller, Ruby B. Lee, Jennifer Rexford Princeton University.
G53SEC 1 Reference Monitors Enforcement of Access Control.
Next Generation Operating Systems Zeljko Susnjar, Cisco CTG June 2015.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
Chapter 3 Operating System Organization
Operating Systems Security
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Protecting The Kernel Data through Virtualization Technology BY VENKATA SAI PUNDAMALLI id :
Enforcing Executing-Implies-Verified with the Integrity-Aware Processor Michael LeMay Carl A. Gunter University of Illinois at Urbana-Champaign Modified.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
CS533 Concepts of Operating Systems Jonathan Walpole.
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
Embedded Real-Time Systems
Trusted? 05/4/2016 Charles Sheehe, CCSDS Security Working Group GRC POC All information covered is from public sources 1.
Introduction to Operating Systems Concepts
Trusted? 05/4/2016 Charles Sheehe, CCSDS Security Working Group GRC POC All information covered is from public sources.
Chapter 6: Securing the Cloud
Cyber Physical System Security
Hardware-rooted Trust for Secure Key Management & Transient Trust
Trusted Computing and the Trusted Platform Module
Windows Server 2016 Secure IaaS Microsoft Build /1/2018 4:00 AM
4. NCdisk SP-based SoC Architecture 5. NCdisk Security Protocol
Outline What does the OS protect? Authentication for operating systems
Tools and Services Workshop Overview of Atmosphere
Operating System Structure
Sami Alsouri Özgür Dagdelen Stefan Katzenbeisser
Outline What does the OS protect? Authentication for operating systems
Threads & multithreading
Virtualization Techniques
AEGIS: Secure Processor for Certified Execution
User-mode Secret Protection (SP) architecture
Operating System Introduction.
Sai Krishna Deepak Maram, CS 6410
SCONE: Secure Linux Containers Environments with Intel SGX
Shielding applications from an untrusted cloud with Haven
Lecture 13 Harvard architecture Coccone OS demonstrator
Presentation transcript:

Bastion secure processor architecture Ruby B. Lee Princeton University

Bastion’s Goals Protect security-critical software modules within an untrusted software stack O.S. as a potential adversary Physical attacks in addition to software attacks Set up secure compartments for trusted code, rather than sandbox for untrusted code Secure setup, execution and termination Resilient execution of security-critical tasks even in the presence of malware and (unrelated) corrupted code in software stack Enable scalability to multiple mutually suspicious trust domains Provide a mechanism for reporting trust evidence

Bastion: secure processor-hypervisor architecture Secure compartments for trusted code and data rather than sandboxes for untrusted code End with threat model: CPU chip is trusted successful internal probe is hard All other hardware is untrusted memory chips, external buses, hard drives, etc. Hypervisor and small Trusted Software Modules are trusted All other software (OS and applications) is untrusted D. Champagne, R.B. Lee, "Scalable Architectural Support for Trusted Software", IEEE Intl. Symp. on High-Performance Computer Architecture (HPCA), Jan. 2010

Bastion’s Trusted Software Modules Each TSM has a security segment, module_ID & identity Securely launched by new SECURE_LAUNCH hypercall Assigns module_id Computes module identity Hash of code & static data, and Hash of security segment Sets up module memory protection Security segment

Bastion Virtual Memory Mappings (SW attacks) Set up by hypervisor during SECURE_LAUNCH hypercall Hypervisor provides data to CPU on TLB miss module_id zero reserved for untrusted software

Secure Physical Memory (HW attacks) hash_tree_root register

Scalable Secure Storage (SS) sealed to each Trusted Software Module or Hypervisor Talk about how you only need one set of (Hash, Key) registers to protect the hyperviser, but then thru the hyperviser’s SSA you can protect arbitrary number of SSAs for arbitrary number of TSMs.

Minimal Layer-skipping Trust Chains Provide firm anchor (in hardware) for Trust Chains Prevents “attacks from below” Enable Minimal trust chains for integrity Today: Full trust chain Tomorrow: Minimal trust chain Enable trusted application execution -- even with a compromised OS and/or malware in an untrusted SW stack Enabling technology: SP or Bastion architecture How to level the playing field for Cyber Security? Allow security-critical execution even in the presence of malware

Layer-skipping Integrity Checking 27. November 2018 Layer-skipping Integrity Checking hardware can measure every layer of software, then that software measures other parts of system, or directly measure only trusted software in question |

Attestation of Remote System 27. November 2018 Attestation of Remote System Customers need attestation that correct code is executing on good platform untrusted subjects have not attempted to compromise the platform, code or data customer has secure means to connect to the remote code and data |

Bastion’s Tailored Attestation

Bastion Architectural Concepts Bastion architecture is a co-designed Processor-Hypervisor Trusted Computing Base (TCB) Minimal, layer-skipping trust chain with HW trust anchors Processor hardware protects Hypervisor Hypervisor protects Trusted Software Modules Runtime Protection Shadow access control for enhanced virtual-to-physical memory mappings (protection from SW attacks) physical memory authentication (protection from HW attacks) Secure inter-module control flow Secure storage sealed to trusted module Scalability with hypervisor-protected “soft” registers for module-specific trust anchors Only 2 hardware trust anchors required Efficient Processor-based Tailored Attestation Measurement of SW identities at Secure Launch Runtime protection and Reporting of Trust Evidence with Attest instruction

New Security Mechanisms Protecting the different phases of security-critical software

Bastion: security mechanisms Hypervisor Protection Secure Launch of Hypervisor Protecting Hypervisor at Runtime Trusted Software Module Protection Secure Launch Secure Virtual-to-Physical Memory Mapping Secure Physical Memory Secure Inter-Module Control Flow Trusted Computing Primitives Tailored Attestation Secure Storage sealed to each Trusted Software Module

Instructions needed Because of trusted software layer above the hardware, the hypervisor, Bastion only needs 2 new instructions: Hyperviser secure launch Attest hypervisor Rest can be done with software Hypercalls.

Bastion Supports Flexible Trust Domains

Summary: Bastion Security Hardware-protected hypervisor Fine-grained module isolation and sharing Can provide Secure Execution Environments for Trusted Software Modules in App and OS spaces Authenticated module transitions Resilient attestation Secure Memory Module-specific secure storage

Extras

Beyond SP and TPM How to scale SP to support multiple simultaneous Trusted Software Modules (TSM) from different trust-domains? What best security functions provided by TPM can be built into microprocessor? How? Enable resilient execution of security-critical tasks Provide resilient attestation

Extending SP: Design Goals Provide application-level security without trust in OS (SP philosophy) Extend the SP architecture to support multiple TSMs (main thrust) Support full-blown memory integrity Offer each TSM a piece of secure storage Multiple TSM support means we need to: identify TSMs at launch distinguish between TSMs at runtime manage multiple contexts provide remote attestation

The Hypervisor as a “Super TSM” Managing multiple secure contexts in hardware is hard Hardware has poor visibility into software contexts Very limited on-chip storage Complex, “software-type” management functionalities required A thin hypervisor is great as a secure context manager: Fits in a few thousand lines of code Decent visibility into software context Quasi-unlimited secure storage Can easily handle whole range of critical tasks TSM launch runtime identification secure context switch etc…

Secure Module Transitions Asynchronous transitions: Triggered by: module preemption/resumption Hypervisor action: save/restore module registers Synchronous transitions: Triggered by: call_module/return_module instructions Hypervisor action: check call/return sequence, authenticate caller/callee

Conclusions Bastion TCB provides Tailored Attestation: resilient, functional attestation This is enabled by TCB mechanisms providing core security functions: Hardware-protected hypervisor Fine-grain module isolation and sharing Authenticated module transitions Module-specific secure storage An implementation on OpenSPARC demonstrates feasibility and improved performance over TPM attestation and secure storage