Upload
marilyn-patterson
View
221
Download
0
Tags:
Embed Size (px)
Citation preview
Dropping the Hammer on Malware Threats with Windows 10’s Device Guard Jeffrey SutherlandScott Anderson
BRK2336
Sony
White House
Anthem
Lockheed
Aramco
Bushehr nuclear reactor
NSA
Hacked
Hacked
Hacked
Hacked
Hacked
Hacked
Hacked
FacebookHackedApple,Google,Microsof
t,
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
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
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!