Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot...

20
presented by Improving Platform Security with UEFI Secure Boot and UEFI Variables UEFI Spring Plugfest – March 29-31, 2016 Presented by David Chen (Insyde Software) UEFI Plugfest March 2016 www.uefi.org 1 Updated 2011-06-01

Transcript of Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot...

Page 1: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

presented by

Improving Platform Security with UEFI Secure Boot and UEFI

VariablesUEFI Spring Plugfest – March 29-31, 2016

Presented by David Chen (Insyde Software)

UEFI Plugfest – March 2016 www.uefi.org 1

Updated 2011-06-01

Page 2: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Agenda

• Introduction

• UEFI Variables

• New Secure Boot Model

• Call For Action

UEFI Plugfest – March 2016 www.uefi.org 2

Page 3: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Introduction

UEFI Plugfest – March 2016 www.uefi.org 3

Page 4: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Variables may be attacked

POST RT

UEFI Plugfest – March 2016 www.uefi.org 4

VarA

VarB

Page 5: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Current Secure Boot Model

UEFI Plugfest – March 2016 www.uefi.org 5

PKpub == NULL

SetupMode == 1

SecureBoot == 0

Setup Mode User Mode

PKpub != NULL

SetupMode == 0

SecureBoot == 1

1. Delete PKpub

2. Platform-Specific

PKpub Clear

Enroll PKpub

Secure Boot OffSecure Boot

Ready To Go

Page 6: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

UEFI Variables

UEFI Plugfest – March 2016 www.uefi.org 6

Page 7: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Protect the Variables

• Set Variable without RT attribute

• Variable Lock

UEFI Plugfest – March 2016 www.uefi.org 7

BS+RT BS

Critical Variables

Page 8: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

UEFI Secure Boot Database

UEFI Plugfest – March 2016 www.uefi.org 8

PK KEK

db

dbx

dbt

dbrUpdate

Enable

Update

Enable

Update

Enable

Update

Enable

Update

Enable

2.3.1 2.3.1

2.3.1

2.3.1

2.4

2.5

If signed by key in db,

driver/loader can Run!

If signed by key in dbx,

driver/loader forbidden!

If signed by key in dbt,

Check cert’s timestamp!

If signed by key in dbr,

loader can Run for

recovery!

Page 9: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Scenario to use dbtBefore UEFI Specification v2.4

UEFI Plugfest – March 2016 www.uefi.org 9

Images

(signed earlier)

Images

(signed later)

KeyPriv

Certification

dbx

If signed by key in dbr,

loader can Run for

recovery!

Page 10: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Scenario to use dbtAfter UEFI Specification v.2.4

UEFI Plugfest – March 2016 www.uefi.org 10

Images

(signed earlier)

Images

(signed later)

KeyPriv

Certification

dbt

Page 11: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

UEFI VariablesSecure Boot Modes

SetupMode

AuditMode

DeployedModeUEFI Plugfest – March 2016 www.uefi.org 11

2.3.1

2.5

2.5

Page 12: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

New Secure Boot Model

UEFI Plugfest – March 2016 www.uefi.org 12

Page 13: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Why Audit/Deployed Mode?

• Customers (ex: data center, government, etc.) have different requirement for secure boot database.

• But the Secure Boot Database isn’t easy to be customized with the old model!

UEFI Plugfest – March 2016 www.uefi.org 13

Page 14: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Audit Mode

UEFI Plugfest – March 2016 www.uefi.org 14

PKpub == NULL

AuditMode==0 (RW)

SetupMode == 1

SecureBoot == 0

Audit ModeUser Mode

PKpub != NULL

AuditMode==0 (RW)

SetupMode == 0

SecureBoot == 1

1. Delete PKpub

2. Platform-Specific

PKpub Clear

Enroll PKpub

PKpub == NULL

AuditMode==1 (RO)

SetupMode == 1

SecureBoot == 0

Log more info

to IEIT

Set AuditMode to1

Page 15: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Deployed Mode

UEFI Plugfest – March 2016 www.uefi.org 15

PKpub == NULL

AuditMode == 0 (RW)

DeployedMode==0 (RO)

SetupMode == 1

SecureBoot == 0

Setup Mode

User Mode

PKpub != NULL

AuditMode == 0 (RW)

DeployedMode==0 (RW)

SetupMode == 0

SecureBoot == 1

1. Delete PKpub

2. Platform-Specific

PKpub Clear

Enroll PKpub

PKpub == NULL

AuditMode == 1 (RO)

DeployedMode==0 (RO)

SetupMode == 1

SecureBoot == 0Set AuditMode to1

Audit Mode

Enroll PKpub

Deployed Mode

PKpub != NULL

AuditMode == 0 (RO)

DeployedMode==1 (RO)

SetupMode == 0

SecureBoot == 1

Set DeployedMode to1

Platform-Specific DeployedMode Clear

Page 16: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Call For Action

UEFI Plugfest – March 2016 www.uefi.org 16

Page 17: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Call For Action

• Critical variables need to be protected

• Customers need more flexible customized secure boot databases

• Update your spec to adopt new secure implementation to enhance your platform’s security

UEFI Plugfest – March 2016 www.uefi.org 17

Page 18: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Thanks for attending the UEFI Spring Plugfest 2016

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

presented by

UEFI Plugfest – March 2016 www.uefi.org 18

Page 19: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

Backup

UEFI Plugfest – March 2016 www.uefi.org 19

Page 20: Improving Platform Security with UEFI Secure Boot and UEFI ......Mar 18, 2016  · UEFI Secure Boot Database UEFI Plugfest –March 2016 8 PK KEK db dbx dbt dbr Update Enable Update

UEFI VariablesSecure Boot Databases

• Platform Key (PK)• Key Exchange Key Database (KEK)• Secure Boot Signature Database (db)• Secure Boot Blacklist Signature Database

(dbx)• Secure Boot Timestamp Signature Database

(dbt)• Secure Boot Authorized Recovery Signature

Database (dbr)

UEFI Plugfest – March 2016 www.uefi.org 20

2.3.1

2.3.1

2.5

2.4

2.3.1

2.3.1