MSR Summer Institute

Download Report

Transcript MSR Summer Institute

Next Generation Secure
Computing Base
John Manferdelli
[email protected]
Security Business Unit
Microsoft Corporation
The Problem
Remote
Edge
IPsec
Network level
Encryption
Core
data, IP, apps, “secrets”
“Using encryption on
the Internet is the
equivalent of
arranging an
armored car to
deliver credit-card
information from
someone living in a
cardboard box to
someone living on a
park bench.”
Professor
Gene Spafford
Perdue
CERIAS
SSL
ACL
VA tools
Reporting
tools
Monitoring
tools
Air gap network
VPN
Config and
patch mgt
Encryption
HSM
Network
IDS
Content
screening
Network
Firewall,
segmentationCorp network Proxy server
2-factor authentication, one time
password, digital signature
Antivirus software
Personal firewall
Next Generation Secure
Computing Base Defined

Microsoft’s Next-Generation Secure
Computing Base (NGSCB) is a bad
name for a new security technology for
the Microsoft Windows platform


Uses a unique hardware and software
design
New kind of security model for integrity,
confidentiality and trust negotiation in an
interconnected world
NGSCB Security Goals
• Protect data and processing against software
attack
 Provide
a strong way to authenticate machines and
software.
 Provide
“compartmentalization” of secure applications
Small, dynamically materialized security perimeters with
unspoofable TCBs

 Provide
safe haven in “network rich” environment
Key NGSCB Components




NGSCB Quadrants
Standard-Mode (“std-mode”/LHS)
Nexus-Mode (RHS)
Agent
User
Agent
Agent
Trusted User
Engine (TUE)
User Apps.
TSP
TSP
TSP
NCA Runtime Library
Main OS
Nexus
Kernel
USB
NexusMgr.sys
Driver
NAL
HAL
Hardware
Secure Input
Secure Video
SSC
CPU
Chipset
Attestation extends TCB


Program generates public/private key
pair
Platform signs statement “The
following public key is in an isolated
program with hash H under Nexus N.”



Another program can rely on this key
without a central authority
Don’t try this at home, safe protocol is
more complicated
May be replaced by Zero Knowledge
Protocol
Attestation Caveat

Attestation is NOT a judgment of code
quality or fitness



Code could still be malicious
Code could still have bugs affecting
security
Attestation leaves judgment up to
challenger

Done with high confidence
What Runs On The LHS




Windows as you know it today
Applications and Drivers still run
Viruses too
Any software with minor exceptions

The new hardware (HW) memory
controller won’t allow certain “bad”
behaviors, e.g., code which

Puts the CPU into real mode
What the RHS Needs From
The LHS




Memory Management changes to allow
nexus to participate in memory
pressure and paging decisions
Window Manager coordination
IPC, scheduling, communication
NGSCB management software and
services
Business Scenarios

Secure
Communication
Secure Remote
Access
Secure Network
Access
Secure Machine
Policy











Secure Real Time Messaging
Secure Mail
Secure Distributed Processing
Employee use of Enterprise Programs
Employee use of Enterprise Data
Doctors access hospital records
Guard machines from untrusted network
Guard network from untrusted machines
Guard programs from untrusted services
Secure machine monitor
Lock-down and monitor machine policy
Sandbox execution
Business Scenarios
Confidentiality
Enforcement



“Small” Rights
Management

“Big” Rights
Management

Secure
Collaboration







Protect data on user machine
Protect spoofed machines and users
Provide Secure Audit
Protect personal data at Amazon
Secure RMS from software attack
Protect Corporate Partner Information
Books, movies, audio, software
Flexible use models: Differential pricing
Content not “orphaned” by new devices
Auctions
Negotiations
On-line Games
NGSCB: Threat Models

Our Threat Model



No Software-Only Attacks means…



No Software-Only Attacks Against RHS
No Break-Once/Break-Everywhere (BOBE) attacks
No attacks based on micro-code, macro-code,
adapter card scripts, etc.
Any attacks launched from the Web or e-mail are
“software only”
Protection only applies to the release
of secrets
HW Keys: Whose are they?

Answer: The Hardware


Used only under explicit user policy.
NGSCB uses two hardware keys directly:

One key is used by Sealed Storage




One key is an RSA key used for Attestation


Generated when user “takes ownership”
Only available to TPM
Randomizing
Only signs statements like “Nexus with hash x asked me to sign
the following statement: y.”
Privacy safeguards built into hardware



Opt-in
Disclosure of (public) signing key components is restricted
Use of keys in sole control of machine owner
Other Keys: Whose are
they?

Answer: Entities authorized by users to access
key services




User’s personal Keys
Service provider’s Keys
Shared Keys
Microsoft neither owns nor has access to any
HW keys.

Key ownership is circumscribed and may not even
be known to entity relying on it.
Machine owner is in
complete control

Hardware cannot be used without
explicit user permission

No nexus can run without explicit user
permission

No NCA can run without explicit user
permission

No NCA can use key services without
user permission
Policies

Everything that runs today will run on NGSCB
systems

The platform will run any nexus


The user will be in charge of what nexuses he
chooses to run
The MS nexus will run any application

The user will be in charge of the applications that he
chooses to run

The MS nexus will interoperate with any
network service provider

The MS nexus source code will be made
available for review
Misconceptions: NGCSB

NGSCB will censor or disable content without
user permission


NGSCB will lock out vendors


NGSCB applications do no run at elevated privilege
NGSCB NCA is not debuggable


No permission (signatures) required to use NGSCB
NGSCB is “super” virus spreader


No policy (except user policy) in NGSCB
Yes it is.
This will hurt smart card vendors

No, it increases portable smart card value
Misconceptions: TCPA/TCG

It’s the Fritz chip
 Nope.

TCPA/TCG refuses to run unlicensed software


Nope. Statement publicly denied by MS, HP and
IBM.
Control will be exercised centrally



It’s an anti-Fritz chip.
No central authorities required
Need for central authorities diminished
TC will remove effective control of PC from its
owner

Strengthens owner control
NGSCB Quadrants
Standard-Mode (“std-mode” / LHS)
Nexus-Mode (RHS)
Agent
User
Agent
Agent
Trusted User
Engine (TUE)
User Apps.
TSP
TSP
TSP
NCA Runtime Library
Main OS
Nexus
Kernel
USB
NexusMgr.sys
Driver
NAL
HAL
Hardware
Secure Input
Secure Video
SSC
CPU
Chipset
“Booting” The Nexus



Nexus is like an OS kernel, so it must
boot sometime
Can boot long after main OS
Can shut down long before main OS
(and restart later)
Boot a Nexus
Nexus: Basic Environment

Section 1 of Intro to Operating Systems Textbook






But no Section 2







Process and Thread Loader/Manager
Memory Manager
I/O Manager
Security Reference Monitor
Interrupt handing/Hardware abstraction
No File System
No Networking
No Kernel Mode/Privileged Device Drivers
No Direct X
No Scheduling
No…
Kernel mode has no pluggables

All of the kernel loaded at boot and in the PCR
Nexus: Basic Environment

Virtualization of hardware fundamentals for Agents


Sealed storage, attestation, etc.
Minimal Services

Trusted UI Engine






XML Based Graphical Services for UI
Input Routing/Focus Management
Minimum Fonts (inc. Multiple Languages…)
Windows Manager
IPC
TSPs (Trusted Service Provider)



Run in User Mode RHS
Provide Services
Are “Drivers” for Trusted Input/Video
Close-Up Of Nexus
Nexus.exe
Nx* Functions
NGSCB
Calls
Syscall Dispatcher
(Nexus Callable Interfaces)
ATC
Module
Handle
Mgr
Nexus Abstraction Layer (NAL)
Runtime
Library
Nexus Core
Native SRM
IO Manager
Thread Manager
Process
Manager
Traps
Process Loader
Memory
Manager
Sync
Objects
Porch
Kernel
debug
Crypto
SSC
Abstractor
Int
Handler
Code Identity

Nexus


Cryptographic Hash
Agents

Manifest (or rather hash of manifest)




Debugging Policy
Public Key
Corresponding Private key authorized to name
cryptographic hashes of binaries that identify
“this program”
Metadata
Debugging The Nexus



The retail nexus cannot be debugged
The debug nexus can be debugged
Since these two nexuses are different
in at least one bit, their attestations are
different as well
User Mode Debugging

No agents are debuggable without a change to their
code identity


Debugging the LHS Shadow Process means
debugging the Agent




Attestation reflects this change
We’ve redirected the functions to Get and Set Thread
Context and Read and Write Process Memory
We’ve redirected RHS debug events to the LHS process
Thread control “just works”
Well behaved debuggers that work with LHS
processes will also with agents
NGSCB: Seal

Here’s a good mental model

Seal(secret) → cryptoblob(secret)


The call is really



Crytoblob(secret) may be stored anywhere
Seal(secret, DigestOfTargetEnvironment) →
cryptoblob(secret)
Unseal(cryptoblob(somesecret)) →
somesecret
Unseal is really

Unseal(cryptoblob(somesecret),
DigestOfTargetEnvironment) → somesecret
Secret Migration

Caller gets to specify certain properties





What agents may unseal the secret
What hardware may unseal the secret
What nexus may unseal the secret
What users may unseal the secret
Agents shouldn’t seal against the SSC

They should seal against the nexus


which seals against the SSC
Backup, restore, migration are all
possible using intermediate keys
and certificates
WIIFM: Credential Based
Security

Single simple, flexible, scalable, distributed, credential based
security model




Manageable and Flexible




Non brittle
Administrable
Projects Security Perimeter outside Enterprise
Framework for policy enforcement



Programs, users, machines, channels as principals
Fine-grained, persistent, declarative claim/assertion/authorization
language
General authentication and authorization primitives
Desktop Lockdown
Policy assurance (Virus policy, IDS, …)
Supports migration of existing Windows security services