33
park the future. May 4 – 8, 2015 Chicago, IL

Sony White House Anthem Lockheed Aramco Bushehr nuclear reactor NSA Hacked Facebook Hacked Apple,Google,Microsoft,

Embed Size (px)

Citation preview

Spark the future.

May 4 – 8, 2015Chicago, IL

Dropping the Hammer on Malware Threats with Windows 10’s Device Guard Jeffrey SutherlandScott Anderson

BRK2336

The security landscape isn’t changing; it’s changed…

Sony

White House

Anthem

Lockheed

Aramco

Bushehr nuclear reactor

NSA

Hacked

Hacked

Hacked

Hacked

Hacked

Hacked

Hacked

FacebookHackedApple,Google,Microsof

t,

Information

Protection

Secure Identities

Threat Resistance

Windows 10Device Guard

Demo: Apps Gone Wild

Scott Anderson

Combination of hardware + software security features

Enables businesses to strongly control what is allowed to run

Brings mobile-like security protections to desktop OS with support for existing line of business apps

Device GuardWhat is Device Guard?

Hardware security

Configurable code integrity

Virtualization based security Protects critical parts of the OS against admin/kernel level

malware

Manageability via GP, MDM, or PowerShell

Device GuardThe Parts to the Solution

Code Integrity Secure Boot Includes Secure Firmware Updates and Platform Secure

Boot

Kernel Mode Code Integrity (KMCI)

User Mode Code Integrity (UMCI)

AppLocker

ROM/Fuses

Bootloaders Native UEFI

WindowsOS Loader

Windows Kernel and

Drivers

3rd Party Drivers

User mode code (apps, etc.)

KMCIUEFI Secure Boot

UMCIPlatform Secure Boot AppLocker

Scripts can do dangerous things Windows Script Host will require signed

scripts WSH is the scripting host for VBScript (.vbs), Jscript (.js), Windows

script file (.wsf) and Windows script component (.wsc) scripts

MSIs must be signed PowerShell will be in

“ConstrainedLanguage” mode Signed PowerShell scripts can be in full language mode

.bat & .cmd scripts are not restricted

Securing Scripts

Corporate lightly managed

Where Device Guard Is Applicable

Fixed workloads

Tightly managed

Very well-defined software and hardware configurations

Low churn

No user or standard user only

Secure Boot restricted to only boot Windows

Virtualization-based security (VBS) enabled

Kernel mode code integrity protected by VBS

User mode code integrity enforced

Where Device Guard Is Applicable

Corporate fully managed

Fixed workloads

Tightly managed

Well-defined hardware configurations

Managed software only

Ideally standard user only

Secure Boot restricted to only boot Windows

Virtualization-based security (VBS) enabled

Kernel mode code integrity protected by VBS

User mode code integrity enforced

Corporate lightly managed

Where Device Guard Is Applicable

Corporate fully managed

Fixed workloads

Multiple and varied hardware configurations

User can install “unmanaged” software

Standard or Admin users

Secure Boot may be restricted to only boot Windows

VBS enabled

KMCI may be protected by VBS

Code Integrity in audit mode

BYOD

Corporate lightly managed

Where Device Guard Is Applicable

Corporate fully managed

Fixed workloads

Personally owned devices

Highly-variable hardware and software

Secure Boot not required

No VBS

No enterprise code integrity policy

1. Know your target(s)

2. Use Powershell cmdlets to create policy from “golden” system(s) Defaults to Audit Mode Merge multiple policies OR Deploy differentiated policies

3. Deploy policy in audit mode and test

4. Use Powershell cmdlets to create policy from audit log and merge

5. Enable enforcement

Planning for Device Guard

New-CIPolicy -FilePath Destination file -Audit Create from audit log -Level Level of detail – RootCertificate, PCACertificate, LeafCertificate,

FileName, Hash, FilePublisher -ScanPath Scan Path -UserPEs Include user mode code integrity

Merge-CIPolicy -PolicyPaths Comma separated list of policy file paths -OutputFilePath Destination file

Set-RuleOption -Help List available options -Option Identifier for option to configure -Delete Remove the specified option -FilePath Policy file path

Managing Device Guard Policy

Demo: Create policies from “golden” systemsScott Anderson

Create Policy from “Golden” SystemPS C:\> #Create a ShadowCopy to avoid locksPS C:\> $s1 = (gwmi -List Win32_ShadowCopy).Create("C:\",

"ClientAccessible")PS C:\> $s2 = gwmi Win32_ShadowCopy | ? { $_.ID -eq

$s1.ShadowID }PS C:\> $d  = $s2.DeviceObject + "\"PS C:\> cmd /c mklink /d C:\scpy "$d"PS C:\> #Create policy from current systemPS C:\> New-CIPolicy -l PcaCertificate -f C:\IgnitePolicy.xml

–s C:\scpy –uPS C:\> #Remove ShadowCopyPS C:\> "vssadmin delete shadows /Shadow=""$($s2.ID.ToLower())"" /Quiet" | iex

Create and Merge Policy from Audit EventsPS C:\> #Create policy from audit log eventsPS C:\> New-CIPolicy -l PcaCertificate -f C:\AuditPolicy.xml –a –uPS C:\> #Merge audit policy with other policy/policiesPS C:\> Merge-CIPolicy –OutputFilePath C:\MergedPolicy.xml

–PolicyPaths C:\AuditPolicy.xml,C:\IgnitePolicy.xmlPS C:\> #Set policy options e.g. Audit Mode (option 3)PS C:\> Set-RuleOption –option 3 –FilePath C:\MergedPolicy.xmlPS C:\> #Compile policy as binaryPS C:\> ConvertFrom-CIPolicy C:\MergedPolicy.xml C:\MergedPolicy.binPS C:\> #Install compiled policyPS C:\> cp C:\MergedPolicy.bin

c:\Windows\System32\CodeIntegrity\SIPolicy.p7bPS C:\> #Policy takes effect after reboot

The Elephant in the Room – IT codesigning

Just as most malware is unsigned, so too are the vast majority of LOB apps

“Codesigning is hard” Decentralized LOB app development Lack of codesigning expertise

Enterprises don’t want to (and shouldn’t) blindly trust all software from an ISV even if signed

Windows 10 includes tools to enable IT to address codesigning for existing apps

Types of Digital SignaturesEmbedded Signature

The binary and signing information is self contained Required for boot-start drivers (run-time check)

Catalog Signing A signed file that identifies one or more binaries Published to Windows in a well defined path Required for driver packages (install-time check) Can be managed and deployed independently of the

packaged binaries Preserves any existing signatures

Microsoft Store signed and distributed apps Universal and Classic Windows apps

Enterprise signing via internally managed PKI Incorporated into LOB app development processes Windows 10 package inspector tool to generate catalogs for existing

apps

Microsoft Device Guard Signing Portal (coming later this year) Catalog signing with enterprise specific, unique key

Getting Apps in to the Circle of TrustAdopting Code Signing

Demo: Conforming existing apps for Device GuardJeffrey Sutherland

Raising the bar for what runs in the kernel Windows 10 drivers must be signed by Microsoft Strong driver publisher identity verification via Extended Validation

(EV) certificates Enterprises can enforce Windows 10 driver requirements via Device

Guard policy

Signed Device Guard CI policy protects from local admin Signed policy stored in pre-OS secure variable Requires a newer signed policy to update – cannot be deleted by admin Becomes a “machine” level policy which means boot from media must

be compliant Measured into the TPM and part of device health attestation

Additional Windows 10 CI Improvements

AppLocker and Code Integrity

Together, AppLocker and code integrity are the basis for enforcing code and application rules on Windows

Think of code integrity as the bouncer at the door, and AppLocker as the bartender

Code integrity best expresses high level expression of trust

AppLocker allows for granular rules

Managed through common management tools in Windows 10

Service whitelisting for managing non-interactive processes

AppLocker management now available via MDM and WMI

Additional Windows 10 AppLocker Improvements

Virtualization Based SecurityProvides a new trust boundary for system software

Leverage platform virtualization to enhance platform security Limit access to high-value security assets from supervisor mode (CPL0)

code

Provides a secure execution environment to enable: Protected storage and management of platform security assets Enhanced OS protection against attacks (including attacks from kernel-

mode) A basis for strengthening protections of guest VM secrets from the host OS

Windows 10 services protected with virtualization based security LSA Credential Isolation vTPM (server only) Kernel Mode Code Integrity

Host OS

User

Kernel

Normal World

Firmware (UEFI)

Hardware (TPM 2.0, Vt-x2, IOMMU)

KMCI in Windows 8.1

KMCIMalwar

e

Howdy Peer!

Host OS

User

Normal WorldSecure World

Hardened Boundary

KMCI with Windows 10 VBS

Hardware (TPM 2.0, Vt-x2, IOMMU)

Firmware (UEFI)

Kernel

Hypervisor

KMCI

Mea

sure

d

Malware

I thought we could be friends

KMCI protected by VBS

CI rules are still enforced even if a vulnerability allows unauthorized kernel mode memory access

Memory pages are only marked executable if CI validation succeeds

Kernel memory cannot be marked both writable and executable

BUT… not all drivers will be compatible initially

Device Guard “capable” Many existing Windows 8 devices

+ New OEM hardware options May require BIOS configuration to

fully realize the benefits of Device Guard

Driver compatibility with VBS enforced KMCI

OEM Support for Device GuardDevice Guard “ready” PCs

BIOS lockdown and configuration options “on by default”

Three deployment options: OEM custom build Onsite OS deployment Onsite runtime enablement

Visit Myignite at http://myignite.microsoft.com or download and use the Ignite Mobile App with the QR code above.

Please evaluate this sessionYour feedback is important to us!

© 2015 Microsoft Corporation. All rights reserved.