Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud...

43
presented by Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest – May 18-22, 2015 Presented by Mallik Bulusu – Microsoft and Vincent Zimmer - Intel UEFI Plugfest May 2015 www.uefi.org 1 Updated 2011-06-01

Transcript of Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud...

Page 1: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

presented by

Filling UEFI/FW Gaps in the Cloud

UEFI Spring Plugfest – May 18-22, 2015Presented by Mallik Bulusu – Microsoft

and Vincent Zimmer - Intel

UEFI Plugfest – May 2015 www.uefi.org 1

Updated 2011-06-01

Page 2: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Agenda

• Cloud Server Firmware Challenges

• What is Open Compute• Intro to UEFI • Firmware Update• Provisioning• Tools & Diagnostics • Security • Conclusion

UEFI Plugfest – May 2015 www.uefi.org 2

Page 3: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Firmware Challenges in the Cloud

UEFI Plugfest – May 2015 www.uefi.org 3

• Design constraints for the Compute –

• How to create the compute engine?

• How to deploy the compute?

• How to manage the compute?

• Key Cloud Firmware Challenges

• Firmware Updates

• Bare Metal Provisioning

• Security

• Tools & Diagnostics

CREATE

DEPLOYMANAGE

Page 4: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

What is OCP?

UEFI Plugfest – May 2015 www.uefi.org 4

Page 5: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Industry Collaboration

Page 6: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Industry Collaboration

Page 7: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Industry Collaboration

Page 8: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Industry Collaboration

Page 9: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Complex Designs

Page 10: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Complex

Simple Designs

Page 11: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Designed for Scale

Page 12: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Why Facebook loves it

Page 13: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute: Open Source

$ git clone https://github.com/facebook/opencompute.gitCloning into opencompute...

Page 14: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Open Compute and Firmware

• No recommendation for firmware

• Various solutions for boot and network provisioning

• Align on UEFI based technology

UEFI Plugfest – May 2015 www.uefi.org 14

Page 15: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Why UEFI?

UEFI Plugfest – May 2015 www.uefi.org 15

Page 16: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Timeline

UEFI Plugfest – May 2015 www.uefi.org 16

UEFI 2.0

PI 1.0

UEFI 2.1

PI 1.1

UEFI 2.3UEFI 2.2

EDK 1.01: UEFI 2.0

Shell 2.0

PI 1.2

Packaging 1.0

EDK 1.04: UEFI 2.1

PI 1.0

Sp

ecif

icati

on

sIm

ple

men

tati

on

http://uefi.org

http://tianocore.org

https://github.com/tianocore/edk2

EDK 1.06: UEFI 2.1+

PI 1.0

SCT

PI 1.0

SCT UEFI 2.0

UDK2010: UEFI 2.3

PI 1.2

All products, dates, and programs are based on current expectations and subject to change without notice.

EDK II*: UEFI 2.1+

PI 1.0

2006 2007 2008 2009 2010 2011-15

SCT UEFI 2.1

UEFI 2.3.1

UDK2010.SRxUEFI 2.3.1+PI 1.2+

SCT UEFI 2.3

UEFI 2.4

PI 1.3

FSP1.0

ACPI 5.1

FSP1.1

UEFI 2.5

PI 1.4

ACPI 6.0

UDK2014.SRxUEFI 2.4PI 1.3

Page 17: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

How to build it

UEFI Plugfest – May 2015 www.uefi.org 17

Page 18: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

New Specification advances for Cloud

UEFI Plugfest – May 2015 www.uefi.org 18

• Error support– CPER

• New memory toplogy– NVDIMM

– Reliability

• Boot from HTTP

Page 19: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Firmware Updates

UEFI Plugfest – May 2015 www.uefi.org 19

Page 20: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Firmware Update Challenges

UEFI Plugfest – May 2015 www.uefi.org 20

• Components from multiples vendors

• Delivering firmware

• Different types of devices

• Recovery from failures

• Node equivalence across datacenter

• Security, security, security……

Page 21: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Solving the firmware update Challenge

UEFI Plugfest – May 2015 www.uefi.org 21

• Reliable update story

• Fault tolerant

• Scalable & repeatable

• How can UEFI Help?

• Capsule model for binary delivery

• Bus / Device Enumeration

• Managing updates via • EFI System Resource Table

• Firmware Management Protocol

• Capsule Signing

Page 22: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Delivering firmware updates

UEFI Plugfest – May 2015 www.uefi.org 22

• UEFI supports Capsule format

• Tools for capsule generation

• Core logic for capsule handling

• Extensible Capsule format

• Self-contained

• Discrete updates

• Composite updates

• Firmware Management Protocol allows

• Reading / updating firmware

• Integrity checks

Page 23: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

EFI System Resource Table

UEFI Plugfest – May 2015 www.uefi.org 23

• Update types

• Largely OS assisted

• Largely BIOS assisted

• FW updateability rules can be encoded into the capsule

• Least version

• Signing

• Describe various updateable components on the platform

Page 24: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Bare Metal Provisioning

UEFI Plugfest – May 2015 www.uefi.org 24

Page 25: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Bare Metal ProvisioningChallenges

UEFI Plugfest – May 2015 www.uefi.org 25

• Hardware Detection

• Installation• Local / Remote

• Configuration• Local / Remote / Scriptable

• Cloning

• Automated

• Backup / Recovery• Local / Remote / Automated

Page 26: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Bare Metal ProvisioningSolutions

UEFI Plugfest – May 2015 www.uefi.org 26

• Need a ‘no-touch’, automated installation mechanism • Repurpose / Configure / Recover

• HII and IFR for consistent & scriptable configuration

• Non-blocking local disk and networking services for high throughput image delivery and recovery

• UEFI Variables for booting and Authenticated Variables for safestorage of settings, like UEFI secure boot database

Page 27: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Networking in UEFI

UEFI Plugfest – May 2015 www.uefi.org 27

Page 28: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Networking

UEFI Plugfest – May 2015 www.uefi.org 28

• UEFI offers rich set of Networking Features during pre-boot

• PXE boot support for network boot, OS installations, provisioning etc.

• Native support for IPv4 as well as IPv6

• Network file system support

• Virtual LAN support, iSCSI

• IpSec for supporting secure communication

• Evolution of networking –

• DNS

• TLS

• RFC 5970 allows for ‘boot from URI’• Boot from HTTP

HTTP, DNS, TLS

Boot from HTTP

Page 29: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Security

UEFI Plugfest – May 2015 www.uefi.org 29

Page 30: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Attacks on Firmware

UEFI Plugfest – May 2015 www.uefi.org 30

Stephen Cobb, senior security researcher at ESET North America, says that hacking firmware can

be particularly effective because it is so hard to eliminate.

It’s also particularly challenging to do, says Jean Taggart, security researcher at Malwarebytes.

“Doing this on just one brand of hard drive would be an almost Herculean task,” he says. “You

have to understand the hardware as well–if not more–than the original manufacturer.”

– Stan Alcorn, Marketplace. Feb 17, 2015

Page 31: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Security

UEFI Plugfest – May 2015 www.uefi.org 31

• Different elements in platform from many vendors

• How to establish trust anchor in the hardware

• How to protect elements

• How to protect the platform

• How to allow platform scaling

Page 32: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Security Solutions

UEFI Plugfest – May 2015 www.uefi.org 32

• Signed capsule updates

• UEFI Secure boot • local / network

• TPM on the platform • Measured boot

• Root of Trust for Reporting

• Storage

• Protect machine configuration & UEFI Secure boot trust anchors

• In-band and out-of-band network security

Page 33: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Guarding and Verifying

UEFI Plugfest – May 2015 www.uefi.org 33

• PI & UEFI complement each other to impart platform security through guarding and verification during pre-boot.

• PI facilitates platform hardening by guarding internal firmware ingredients that consume reset vector, initialization of CPU, Memory, Chipset etc.

• UEFI signing allows robust platform scaling through verified inclusion of external firmware ingredients such as OPROMS into the trust chain

Page 34: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Full UEFI Boot Flow

UEFI Plugfest – May 2015 www.uefi.org 34

Page 35: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Tools and Diagnostics

UEFI Plugfest – May 2015 www.uefi.org 35

Page 36: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Tools and diagnostics challenges

UEFI Plugfest – May 2015 www.uefi.org 36

• Platform ingredients from many vendors

• How to assess health, security, compliance of the elements

• Consistent environment to run diagnostics

• Log / Report / Journal results

• Recovery agent considerations

• Local / Remote / In-band / Out-of-band

Page 37: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Tools solutions

UEFI Plugfest – May 2015 www.uefi.org 37

• Environment for hosting tools

• UEFI Shell

• Linux UEFI Validation project

• Tools for deployment • UEFI SCT

• PI SCT

• ACPI Compliance

• SMBIOS Compliance

• Security

• Chipsec

• Copernicus

• Selftest

Page 38: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Chipsec tool

UEFI Plugfest – May 2015 www.uefi.org 38

• Platform security assessment framework for risk assessment

• Can be extended to meet specific platform security concerns

• Open sourced• https://github.com/chipsec/chipsec

• Supported Environments• Windows

• Linux

• UEFI (over Python)

Page 39: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Diagnostic solutions

UEFI Plugfest – May 2015 www.uefi.org 39

• Once in UEFI, how to assess, probe, and prod the system

– Type15 SMBIOS Records

– Dmpstore for UEFI variables, incl WHEA variable

– ACPI CA for executing/dumping/viewing namespace

– UEFI shell to run above, redirect output to file or ‘virtual file’ (e.g., volatile variable)

– PCI command to read/write/assess hardware state. Scriptable too

– Results can be installed in UEFI system table like other hand-off info, or variable, or file on ESP, or sent across the network using UEFI network stack

Page 40: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Can we do more?

UEFI Plugfest – May 2015 www.uefi.org 40

• Yes

• Working group in OCP on updates/management

• Liaison

• Group subteam in UEFI Forum?

• More open source oppty and collaboration

Page 41: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Call To Action

UEFI Plugfest – May 2015 www.uefi.org 41

• Get involved in the cloud

• Talk to Mallik and Vincent about how to do more in OCP and the UEFI Forum for Cloud

• The best ideas come from the people who do the work everyday.

Page 42: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

More information

UEFI Plugfest – May 2015 www.uefi.org 42

• www.opencompute.org – OCP specs

• www.uefi.org – UEFI, ACPI, Shell, PI Specifications

• www.Tianocore.org – open source UEFI

• http://firmware.intel.com – white papers, training

• chipsechttps://github.com/chipsec/chipsec

Page 43: Filling UEFI/FW Gaps in the Cloud Plugfest... · 2015-05-27 · Filling UEFI/FW Gaps in the Cloud UEFI Spring Plugfest –May 18-22, 2015 Presented by Mallik Bulusu –Microsoft and

Thanks for attending the UEFI Spring Plugfest 2015

For more information on the Unified EFI Forum and UEFI Specifications, visit http://www.uefi.org

presented by

UEFI Plugfest – May 2015 www.uefi.org 43