xpds16: hypervisor enforced data loss prevention - neil sikka, a1logic

18
Hypervisor Enforced Data Loss Prevention Presented by: Neil Sikka

Upload: the-linux-foundation

Post on 14-Apr-2017

500 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Hypervisor EnforcedData Loss Prevention

Presented by:Neil Sikka

Page 2: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Outline

• Problem Statement

• Goals

• Technical Architecture• Messaging Subsystem

• Graphics Subsystem

• Storage Subsystem

• Crypto Subsystem

• Security Architecture

Page 3: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Problem: Data Breach

Causes:• Sensitive data is unencrypted in memory for processing by the application.

Modern malware is capable of stealing data out of memory in this decrypted

state.

• External Attackers can steal data via:

• 0Day exploits/malware • Stolen credentials

• Malicious Insiders can steal data via:

• Email • USB Storage • DVDs • Deliberate Malware Installation

• Copy/Paste functionality • Device Theft • Kernel Malware/Debugger

Page 4: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Detection is Dead

• Malicious insider wants to exfiltrate this Social Security Number out of organization: 999-96-1770

“(GreAtest tHr33 d1G1t iNtegeR) - (nUmbEr oF C3nts in A doLLar - 4) - (YeAr tHe

US DecLaRati0n of INd3P3Nd3NC3 was sIgNeD - )”

“I can see nine hundred and ninety nine green ducks sitting in a row. 96 of them have extra long beaks. There are one thousand seven hundred and seventy ducks total in the flock of ducks.

• Detections, heuristics, pattern matching and behavioral analysis can be bypassed in an infinite number of ways

• Same reason why signature based antivirus is outdated

• Its even easier for reverse engineers to bypass detections when the vendor distributes the binaries/signatures of the DLP system to run on endpoints

• Hardware enforced algorithmic approach is not vulnerable to anomalous attack patterns

Page 5: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Goals

• Protect Data under assumption of compromised:• Users(Kernel debuggers)

• Devices(Kernel rootkits)

• Networks(Routers)

• Algorithmic rather than Heuristic DLP

• Transparent to legacy applications and unmodified popular applications and Users

• Use “military grade” approaches• Hardware-enforced Hypervisor isolation

• High strength cryptography

Page 6: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Solution: Hypervisor Enforced DLP

• Endpoint Security Software• “Look But Don’t Touch”• Use the Hypervisor’s Containerization capability to isolate data from user,

network and external attacks, preventing Data Breaches (Hypervisor Enforced DLP)

• Decrypt cypher text inside of hardware-isolated VM Containers, process the data and then re-encrypt the same before it is sent out of the VM Container for storage or distribution

• The end user experience is largely unchanged• Keep data within an organization by locking down data to:

• Authorized users/groups AND• Authorized device(s)

• Software only solution - No additional hardware required

Page 7: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Desktop Experience

Page 8: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Environment

• Windows 7 64 bit Untrusted Domain

• Windows 7 64 bit Trusted Domain

• Xen-4.4.0

• Paravirtual drivers in Untrusted Domain/Trusted Domain

• Dom0: x86_64 Linux 3.19.1

Page 9: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Messaging Subsystem

• No network connection in Trusted Domain• Security risk

• Configuration and small messages passed in XenStore

• Large data passed via grant pages & event channels

• 2 separate protocols over Xenstore:• Seamless Protocol

• Shunt Protocol

Page 10: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Graphics Subsystem

• Similar to VirtualBox’s “Seamless Mode”

• Seamless Protocol: Trusted Domain QEMU<--->Display Domain Seamless.exe

• Trusted Domain userland Window Hooks (Windows 7)• User32!SetWinEventHook• Write Window coordinates to VGA device IO ports, sent over Seamless protocol• XPDM display driver architecture

• Heavy modifications to Trusted Domain’s QEMU’s SDL layer• Hooked Keyboard/Mouse events are received over Seamless Protocol from

Destination Domain’s Seamless.exe• DisplaySurface on grant pages shared with Display Container• Event Channel fired for rendered surfaces ready to display• Event Channel fired for Keyboard/Mouse IO from Seamless.exe

Page 11: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Graphics Subsystem (2)

• Custom Seamless SDL application• Display surface grant pages mapped

• Mouse/Keyboard events written to Seamless Protocol

• Windows clipped out of display surface

• Custom LALR grammars defined to handle large screen surface grant reference allocations• ~3MB of surface grant pages

• XenStore only handles strings, not integers

Page 12: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Seamless Protocol Diagram

Page 13: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Storage Subsystem

• Shunt Model• Need to share files• No SMB because Trusted Domain is offline• OCFS for Windows, IBM GPFS, etc. require complex configurations

• NTFS virtual disk

• Mutually Exclusive mount to Trusted/Untrusted Domains• Runs over Messaging Subsystem• Always mounted in one of the two Domains

• Filesystem Minifilter in Trusted Domain• Encrypt Data before writing to disk• Decrypt Data after reading from disk

• Shunt Protocol for communicating Untrusted Domain/Trusted Domain

Page 14: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Shunt Protocol

• Protocol Commands• Open: Dom0 passes through message Untrusted Domain->Trusted Domain

• Detach: initiated from inside DomU, Dom0 does block-detach after DomUgraceful unmount

• Application Exit: Dom0 passes through message Trusted Domain->Untrusted Domain

• Protocol endpoints in Untrusted Domain/Trusted Domain execute relevant Windows APIs

Page 15: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Shunt Protocol Diagram

Page 16: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Crypto Subsystem

• PGP: DLP Key (Asymmetric) protects File Key (Symmetric)• DLP Key unique per user per device

• Multiple Trusted Domain instances on a machine have same DLP key for a given user

• Each Trusted Domain’s vTPM protects DLP Key

• DLP Key decrypts File Key

• File Key decrypts File• handed to minifilter driver

Page 17: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Security Architecture

• Domains containing unencrypted Data, Keys or graphics are sensitive• Trusted Domain (multiple)

• Don’t forward to Untrusted Domain because of screen scraping malware

• Display Domain

• Dom0

• Trusted Domain image based on known good hashes

• IO Encryption VM (similar to OpenXT VPN VM)• File Key is combination of secrets in Trusted Domain & IO Encryption VM

Page 18: XPDS16: Hypervisor Enforced Data Loss Prevention - Neil Sikka, A1LOGIC

Questions

We are Hiring

Neil Sikka

[email protected]

202-888-7765 x 121

www.A1Logic.com

@A1Logic