NGSCB The Next-Generation Secure Computing Base. Ellen Cram Lead Program Manager Windows Security Microsoft Corporation

Similar documents
Lecture Embedded System Security Introduction to Trusted Computing

Lecture Embedded System Security Introduction to Trusted Computing

Windows IoT Security. Jackie Chang Sr. Program Manager

Terra: A Virtual Machine-Based Platform for Trusted Computing by Garfinkel et al. (Some slides taken from Jason Franklin s 712 lecture, Fall 2006)

CLASS AGENDA. 9:00 9:15 a.m. 9:15 10:00 a.m. 10:00 12:00 p.m. 12:00 1:00 p.m. 1:00 3:00 p.m. 3:00 5:00 p.m.

Intel s s Security Vision for Xen

Smart Grid Embedded Cyber Security: Ensuring Security While Promoting Interoperability

Systems View -- Current. Trustworthy Computing. TC Advantages. Systems View -- Target. Bootstrapping a typical PC. Boot Guarantees

TERRA. Boneh. A virtual machine-based platform for trusted computing. Presented by: David Rager November 10, 2004

Trusted Computing and O/S Security

RISCV with Sanctum Enclaves. Victor Costan, Ilia Lebedev, Srini Devadas

TCG TPM2 Software Stack & Embedded Linux. Philip Tricca

Windows 10 IoT Core Azure Connectivity and Security

Trusted Computing Use Cases and the TCG Software Stack (TSS 2.0) Lee Wilson TSS WG Chairman OnBoard Security November 20, 2017

Mastering VB.NET using Visual Studio 2010 Course Length: 5 days Price: $2,500

Architectural Support for A More Secure Operating System

Trusted Mobile Keyboard Controller Architecture

Introduction. CS3026 Operating Systems Lecture 01

Identity-Based Cyber Defense. March 2017

Platform Configuration Registers

Technical Brief Distributed Trusted Computing

Threat Modeling. Bart De Win Secure Application Development Course, Credits to

New Approaches to Connected Device Security

Trusted Computing Group

Certifying Program Execution with Secure Processors. Benjie Chen Robert Morris Laboratory for Computer Science Massachusetts Institute of Technology

Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module

Creating the Complete Trusted Computing Ecosystem:

Lecture Notes 12 : TCPA and Palladium. Lecturer: Pato/LaMacchia Scribe: Barrows/DeNeui/Nigam/Chen/Robson/Saunders/Walsh

Software Vulnerability Assessment & Secure Storage

Lecture Secure, Trusted and Trustworthy Computing Trusted Platform Module

SentinelOne Technical Brief

C# 6.0 in a nutshell / Joseph Albahari & Ben Albahari. 6th ed. Beijin [etc.], cop Spis treści

Enforcing Trust in Pervasive Computing. Trusted Computing Technology.

TNC EVERYWHERE. Pervasive Security

Security Fundamentals

CSE543 - Computer and Network Security Module: Trusted Computing

Dawn Song

ARM TrustZone for ARMv8-M for software engineers

Welcome to the. Migrating SQL Server Databases to Azure

Old, New, Borrowed, Blue: A Perspective on the Evolution of Mobile Platform Security Architectures

Organization information. When you create an organization on icentrex, we collect your address (as the Organization Owner), your

Decentralised Communication: The challenge of balancing interoperability and privacy.

Secure Sharing of an ICT Infrastructure Through Vinci

WEB-202: Building End-to-end Security for XML Web Services Applied Techniques, Patterns and Best Practices

Configuring the Android Manifest File

TRESCCA Trustworthy Embedded Systems for Secure Cloud Computing

Colin Turfus, Symbian Developer Network. Developer essentials for Symbian OS

Hypervisor Security First Published On: Last Updated On:

Configuring the Cisco APIC-EM Settings

Lecture Embedded System Security Trusted Platform Module

Credant CmgCryptoLib Version 1.7 Credant Cryptographic Kernel Version 1.5 FIPS Non-Proprietary Security Policy, Version 1.7 Level 1 Validation

Lecture Embedded System Security Introduction to Trusted Computing

--Microsoft-- --Windows Phone--

GSE/Belux Enterprise Systems Security Meeting

Expert Reference Series of White Papers. BitLocker: Is It Really Secure? COURSES.

IMPLEMENTING MICROSOFT CREDENTIAL GUARD FOR ISO 27001, PCI, AND FEDRAMP

Lecture 9a: Secure Sockets Layer (SSL) March, 2004

ARM Security Solutions and Numonyx Authenticated Flash

Ch 1: The Mobile Risk Ecosystem. CNIT 128: Hacking Mobile Devices. Updated

Survey of Cyber Moving Targets. Presented By Sharani Sankaran

DICE: Foundational Trust for IoT

National Information Assurance Partnership. Common Criteria Evaluation and Validation Scheme Validation Report

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Migrate Your Skills to Microsoft.NET Framework 2.0 and 3.0 using Visual Studio 2005 (C#)

CERTIFICATE POLICY CIGNA PKI Certificates

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

IBM KeyWorks Accelerate Development of your Secure e-business Solutions Sekar Chandersekaran IBM

WINDOWS 10 ENTERPRISE New Security Features

Intelligent Terminal System Based on Trusted Platform Module

Intel Software Guard Extensions

TRUSTED SUPPLY CHAIN & REMOTE PROVISIONING WITH THE TRUSTED PLATFORM MODULE

C1: Define Security Requirements

Key Threats Melissa (1999), Love Letter (2000) Mainly leveraging social engineering. Key Threats Internet was just growing Mail was on the verge

Confirmed VPN Privacy Audit and Open Watch Analysis Summary Report and Documentation

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD

Connecting Securely to the Cloud

Brian Russell, Chair Secure IoT WG & Chief Engineer Cyber Security Solutions, Leidos

GlobalPlatform Trusted Execution Environment (TEE) for Mobile

Exam : Title : Security Solutions for Systems Engineers. Version : Demo

Solutions Business Manager Web Application Security Assessment

OVAL + The Trusted Platform Module

Department of Computer Science Institute for System Architecture, Operating Systems Group TRUSTED COMPUTING CARSTEN WEINHOLD

BEYOND AUTHENTICATION IDENTITY AND ACCESS MANAGEMENT FOR THE MODERN ENTERPRISE

ISA 767, Secure Electronic Commerce Xinwen Zhang, George Mason University

Exam : Title : Security Solutions for Systems Engineers(SSSE) Version : Demo

WAVE: A Decentralized Authorization Framework with Transitive Delegation

Trusted Computing and O/S Security. Aggelos Kiayias Justin Neumann

Stealth Measurements for Cheat Detection in On-line Games. Ed Kaiser Wu-chang Feng Travis Schluessler

The Open Application Platform for Secure Elements.

Trusted Platform for Mobile Devices: Challenges and Solutions

Overview of Akamai s Personal Data Processing Activities and Role

TPM Entities. Permanent Entities. Chapter 8. Persistent Hierarchies

IEEE P1735. Why Do We Need P1735? P1735 Scope. Agenda

Flicker: An Execution Infrastructure for TCB Minimization

DreamFactory Security Guide

& Cross-Channel Customer Engagement RFP Guide

ArcGIS Server and Portal for ArcGIS An Introduction to Security

This presentation covers Gen Z s Security capabilities.

Trusted Computing Today: Benefits and Solutions

Computer Security. 04r. Pre-exam 1 Concept Review. Paul Krzyzanowski. Rutgers University. Spring 2018

Transcription:

NGSCB The Next-Generation Secure Computing Base Ellen Cram Lead Program Manager Windows Security Microsoft Corporation ellencr@microsoft.com

Agenda NGSCB Features Writing NGSCB Agents NGSCB development Tools and Considerations What You Can Do Today Summary Q & A

Next-Generation Secure Computing Base Defined Microsoft s Next-Generation Secure Computing Base (NGSCB) is a new security technology for the Microsoft Windows platform Uses both hardware and software to protect data Offers new kinds of security and privacy protections in an interconnected world

Threats Mitigated in V1 Tampering with Data Strong process isolation prevents rogue applications from changing our data or code while it is running Sealed storage verifies the integrity of data when unsealing it Information Disclosure Sealed storage prevents rogue applications from getting at your encrypted data Repudiation Attestation enables you to verify that you are dealing with an application and machine configuration you trust Spoofing Identity Secure path enables you to be sure that you re dealing with the real user, not an application spoofing the user

Version 1 Details Fully aligned with Longhorn Ships as part of Longhorn Betas and other releases in synch with and delivered with Longhorn s Focused on enterprise applications Example opportunities: Document signing Secure IM Internal applications for viewing secure data Secure email plug-in

Four NGSCB Features Groups

History of Operating Systems In early operating systems, all process were truly isolated As we ve expanded the flexibility of the system, we ve enabled applications to share resources Window messages Debugging services Memory Even making it possible to see any memory on the system. Many of the exploits we see today exploit this flexibility This requires a special section of memory that can be managed separately than Standard mode

Strong Process Isolation How do you protect agents from Standard mode processes and each other? All of NGSCB runs in isolated memory Enforced by LT hardware Not accessible by the standard Windows kernel Not accessible by hardware DMA Not accessible by other agents The nexus manages all memory for agents Enforces that each agent has a protected memory space Enforces that an agent cannot go outside of its memory space No work is required to utilize strong process isolation Process isolation is inherent in NGSCB All communication between agents must be done through an IPC layer Memory cannot be shared in NGSCB

Attestation We know code is running in an isolated world, but how can we tell if the code is good or bad? And how do we know it hasn t been altered? Solution 1: We only sign code we trust, and configure the system to only run what we sign This is not the NGSCB solution What one company trusts, another may not Not scalable Solution 2: Provide guaranteed identity statements about what is running, and allow a third party to determine what it wants to trust. All agents can run This is the NGSCB solution

Attestation When requested, the nexus can prepare a chain of hashes that authenticates: Agent by digest, signed by the nexus Nexus by digest, signed by the TPM TPM by public key, signed by OEM or IT department Other forms of attestation are possible that provide less information Using a trusted third party Using a zero-knowledge proof The machine owner/administrator sets policy to control which forms of attestation each NCA or group of NCAs can use Secure communications agent provides higher-level services to agent developers Open a secure channel to a service using a secure session key Respond to an attestation challenge from the service based on user policy

Sealed Storage How do you protect data from unauthorized access? Sealed storage provides a method for encrypting data with a key rooted in the hardware Each nexus generates a random keyset on first load TPM chip on motherboard protects the nexus keyset Nexus uses TPM facilities to seal (encrypt and sign) private data The nexus returns a sealed blob, which the agent can persist as it wishes The nexus protects the key from any other agent/application, and the hardware prevents any other nexus from gaining access to the key. Note that an agent can specify other agents that have access to the data Future versions of the same agent Other agents the agent trusts Basic formula Seal(Data) = Blob Ks (Data x Hash) UnSeal(Blob) = (Hash nexus == Hash blob )? Data Error;

Secure Path To User How do you enable secure software and users to interact? Secure input Secure session between device and nexus Protects both keyboard and mouse Secure output Secure channel between graphics adaptor and nexus Secure I/O is inherent in NGSCB Trusted User Engine (TUE) offers higher-level services for agent developers Window layout is defined by the agent using an XML based format Window interaction is managed by TUE Events are passed to the agent

Types of Agents Application agents : stand-alone applications The entire application runs on the RHS Application agents are good for clients in multi-tier applications Example: online banking client Factored agents : components of a larger application Most of the app runs on the LHS Agents are used for specific trusted operations A LHS proxy translates between COM or.net and NGSCB IPC Good for adding trusted features to existing Windows apps Example: document signing component of a word processor

Factored Agents Agents are monolithic - no DLLs Code can be shared using statically-linked libraries Composition of agents is based on IPC IPC is blocking and message-oriented Agents and LHS processes can both use IPC Agents can communicate with other agents LHS applications can communicate with agents they start Access to IPC is controlled by policy

Factoring an Agent When factoring an agent, consider: What data you need to protect, and from what and whom What functionality you need, and whether that s available on NGSCB The amount of data you want to pass between components, and the work/time necessary to do so Fundamental principle: A piece of data or function should be moved to NGSCB if it will benefit from one or more of the four key features, and the functionality it requires is available on the RHS

Writing NGSCB Agents Languages APIs Agents may be written in C or C++, using any compiler Agents can be instantiated from managed or unmanaged code Once we have a RHS CLR, agents will be able to be written in any.net language The RHS CLR is planned to ship subsequently All NGSCB APIs are reviewed for security Some functions are fundamentally more secure on NGSCB Memory management Other functions add security, but developers must manage their usage carefully to prevent accidental data leakage File read/write Sockets

Agent Manifest Provides the information about an application that a machine user uses to determine if the app should run Signed XML document that defines: Agent components Agent properties System requirements Enforced by NGSCB E.g. Debuggable = FALSE Descriptive properties Not interpreted nor enforced by the system E.g. Version = 1.1.2.2 Agent policy requests E.g. access to trusted output, write access to a counter, etc. XML schema is an NGSCB-specific extension to the standard Longhorn manifest

System Policy NGSCB Policy is merely the observation that since the system directly and accurately knows what code is running. With NGSCB a machine owner can also set access control on the code itself The machine owner/admin determines what agents can run, and what they can do on the system. The owner may allow users the ability to override or extend The owner may choose to delegate policy and trust decisions to a 3rd party Use Foo Org s policies for any agent signed by Bar Use my IT department s policies for all agents Resources controlled by system policy include Responding to an attestation challenge Accessing a specific secret Accessing NGSCB API sets (such as the network API) Creating a child process Accessing the TUE Policy is checked at run-time for every request

User Mode Debugging Agents are only debuggable if set in the manifest Changing the manifest to enable debugging changes the identity of the agent Attestation reflects this change Policy calculations based on this identity NGSCB shadow processes are used as debug proxies for the agent being debugged Each NGSCB agent has a corresponding shadow process Each thread within an agent also has a corresponding thread in the shadow process. The Windows kernel in Longhorn can differentiate between a Standard mode process and a NGSCB shadow process The kernel redirects the Windows debugging APIs to the nexus for agents. For example, ReadProcessMemory on a shadow process will result in a request for a read of agent memory, rather than the memory of the shadow Some changes to existing debuggers may be necessary to support NGSCB

Inter-Process Communication IPC is asynchronous and message-oriented Agents and LHS processes can both use IPC Agents can communicate with other agents LHS applications can communicate with agents they start Access to IPC is controlled by policy

What You Can Do Today The Longhorn releases available on MSDN contain the NGSCB developer preview The Longhorn SDK also contains APIs for NGSCB The developer preview SDK is provided so that developers can understand the features and APIs we are providing It does not demonstrate the security of NGSCB The NGSCB developer preview will enable you to prototype most applications you might write on NGSCB V1 The SDK may change before we RTM The developer preview includes a software emulator which simulates the NGSCB environment You do not need new hardware to run it

NGSCB Developer Preview The developer preview supports: Creating an agent in Visual Studio Debugging must be done on the command line at this point Simulated Sealed Storage Simulated Attestation IPC Standard mode and CRT style APIs The developer preview does not provide: Secure Path Strong Process Isolation

Summary NGSCB enhances the security of your programs though Strong process isolation Attestation Sealed Storage Secure Path to User Agents will typically span both Standard mode and Nexus mode Careful planning must go into your program s architecture to enable this You can start prototyping NGSCB agents today

Resources NGSCB preview and SDK available now to MSDN subscribers; details at http://msdn.microsoft.com/longhorn/ Visit our site, read our white papers & specs http://www.microsoft.com/ngscb Send questions to our Q&A alias ngscb_qa@microsoft.com Sign up for e-mail updates Subscribe to the NGSB information newsletter for ongoing updates send blank e- mail to: wtpiinfo-subscribe@pens.tm500.com Participate in TCG (TPM and PC Client WGs) www.trustedcomputinggroup.org