trusted computing and openstack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf ·...

15
Trusted Computing & OpenStack Steve Weis PrivateCore OpenStack Security Meetup July 2014

Upload: others

Post on 29-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Trusted Computing & OpenStack

Steve Weis! PrivateCore!

!

OpenStack Security Meetup!July 2014

Page 2: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

How safe are bare-metal clouds?

Page 3: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Attacks in the wild

Page 4: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Exploit all the things!• Operating Systems

• BIOS / EFI

• Device firmware / Option ROMs

• Master boot records

• Keyboard controllers

• Management engines and controllers

Page 5: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

“Provide for the recovery of an !information system to a known state”

Source: NIST 800-53

Page 6: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Trusted Execution Technology

Kernel OS Config

BIOSSINITPlatform Config

Option ROMs

MeasureRemote Attest

CPUTPM

Firmware and software needed to boot

Page 7: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Example Measurements

OS

Credentials

MLE☚Config☚

ACM☚

BIOS☚

Page 8: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Gaps in Trusted Execution

Spoof CPU

PastHypotheticalCurrent

Kernel OS Config

BIOSSINITPlatform Config

Option ROMs

CPUTPM

Overflow

ForgeProvenance

Extract Keys

Hashcollision

Paperclip

Spoof Bus

Page 9: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Attestation in OpenStack

Page 10: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Trusted Compute PoolsNova

Scheduler

Attestation Server

UserNova

Compute ANova

Compute B

1. Run my payload on a trusted compute node

2. Which nodes are trusted?

3. TPM Quote

4. Node A is good

5. Run payload on compute node A

Nova Compute A

Nova Compute B

Page 11: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Implementations

• Open Attestation (OAT): https://01.org/openattestation

• Open source Java attestation server. Mostly developed by Intel.

• Intel Trust Attestation Solution (Mt. Wilson): Enterprise OAT

• PrivateCore vCage: Python / Django / Horizon attestation server

Page 12: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Gaps in Trusted Pool Model

Nova

Attestation Server

Nova ComputeGlanceSwiftCinder

Bad Compute

Compute PoolSeparate Trusted Environment?

Bad nodes already have control plane access?

Nova Compute

Page 13: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

OpenStack Components

Compute Node

Toward a Better Model

Attestation Server

1. AttestOpenStack

Components

Credential Storage 3. Provision

1. Attest

Compute Node🔑

4. Enroll2. Authorize

Trust Perimeter

Page 14: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Suggested Improvements

1. Attest all servers in OpenStack: Not just compute nodes

2. Cloud providers should provide TPMs and compatible firmware

3. Vendors need to provide authoritative lists of measurement values

4. CPU vendors should ultimately remove dependency on TPMs

Page 15: Trusted Computing and OpenStack - saweis.net › pdfs › weis-trusted-computing-openstack.pdf · Trusted Computing & OpenStack Steve Weis! PrivateCore!! OpenStack Security Meetup!

Thank you!Questions?!

!

[email protected]!@sweis