UEFI Firmware Security Best Practices



Similar documents
The UEFI Security Response Team (USRT)

Attacking Hypervisors via Firmware and Hardware

Dell Client BIOS: Signed Firmware Update

Threat Modeling. Categorizing the nature and severity of system vulnerabilities. John B. Dickson, CISSP

DELL. Unified Server Configurator Security Overview. A Dell Technical White Paper. By Raja Tamilarasan, Wayne Liles, Marshal Savage and Weijia Zhang

Overview of Windows 10 Requirements for TPM, HVCI and SecureBoot

Strategies for Firmware Support of Self-Encrypting Drives

Attacking Hypervisors via Firmware and Hardware

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

LinuxCon Europe UEFI Mini-Summit 7 October 2015

Intel Tunnel Mountain Software Development Platform Overview, IHV Tools Update

Reboot the ExtraHop System and Test Hardware with the Rescue USB Flash Drive

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

INLICHTINGEN DIENSTEN INLICHTINGEN DIENSTEN

UNCLASSIFIED Version 1.0 May 2012

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

Hi and welcome to the Microsoft Virtual Academy and

Post-Access Cyber Defense

Management (CSM) Capability

Microsoft STRIDE (six) threat categories

Adjusting Prevention Policy Options Based on Prevention Events. Version 1.0 July 2006

A Tour Beyond BIOS Supporting an SMM Resource Monitor using the EFI Developer Kit II

BEST PRACTICES FOR SECURITY TESTING TOP 10 RECOMMENDED PRACTICES

Understanding and evaluating risk to information assets in your software projects

Telecom Testing and Security Certification. A.K.MITTAL DDG (TTSC) Department of Telecommunication Ministry of Communication & IT

UEFI Implications for Windows Server

Security Testing. How security testing is different Types of security attacks Threat modelling

Windows Phone 8 Security Overview


What is Really Needed to Secure the Internet of Things?

Bomgar Corporation. Bomgar Application Security Assessment Summary January 26, This document is the property of Bomgar Corporation.

A Tale of One Software Bypass of Windows 8 Secure Boot. Yuriy Bulygin Andrew Furtak Oleksandr Bazhaniuk

Secure Web Application Coding Team Introductory Meeting December 1, :00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

Security within a development lifecycle. Enhancing product security through development process improvement

installing UEFi-based Microsoft Windows Vista SP1 (x64) on HP EliteBook and Compaq Notebook PCs

KASPERSKY SECURITY INTELLIGENCE SERVICES. EXPERT SERVICES.

Protecting Data with Short- Lived Encryption Keys and Hardware Root of Trust. Dan Griffin DefCon 2013

Threat Modeling: The Art of Identifying, Assessing, and Mitigating security threats

Web Application Security

UEFI SECURE BOOT IN MODERN COMPUTER SECURITY SOLUTIONS

ICSA Labs Web Application Firewall Certification Testing Report Web Application Firewall - Version 2.1 (Corrected) Radware Inc. AppWall V5.6.4.

Windows Remote Access

Attacking Intel Trusted Execution Technology

The Panoptix Building Efficiency Solution: Ensuring a Secure Delivery of Building Efficiency

CDM Software Asset Management (SWAM) Capability

Virtualization System Security

Optimizing Windows Security Features to Block Malware and Hack Tools on USB Storage Devices

Dell EqualLogic Red Hat Enterprise Linux 6.2 Boot from SAN

SECURITY B-SIDES: ATLANTA STRATEGIC PENETRATION TESTING. Presented by: Dave Kennedy Eric Smith

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF PUBLIC WELFARE, INSURANCE AND AGING

Testing Control Systems

DeltaV System Cyber-Security

UEFI PXE Boot Performance Analysis

Penetration Testing in Romania

Medical Device Security Health Imaging Digital Capture. Security Assessment Report for the Kodak Capture Link Server V1.00

5 Steps to Advanced Threat Protection

UEFI Driver Development Guide for All Hardware Device Classes

S E C U R I T Y A S S E S S M E N T : B o m g a r A p p l i a n c e s

Improving Web Application Security by Eliminating CWEs Weijie Chen, China INFSY 6891 Software Assurance Professor Dr. Maurice Dawson 15 December 2015

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

Effective Software Security Management

How To Secure Your System From Cyber Attacks

External Supplier Control Requirements

Introduction to Web Application Security. Microsoft CSO Roundtable Houston, TX. September 13 th, 2006

Cyber Security In High-Performance Computing Environment Prakashan Korambath Institute for Digital Research and Education, UCLA July 17, 2014

The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.

Testing for Security

Chapter 4 Application, Data and Host Security

Making UEFI Secure Boot Work With Open Platforms

Software Security Touchpoint: Architectural Risk Analysis

PCI Data Security Standard 3.0

Classification of Security Issues

Implementation Vulnerabilities in SSL/TLS

Elevation of Mobile Security Risks in the Enterprise Threat Landscape

W ith an estimated 14 billion devices connected to

Trustworthy Computing

iscsi Boot for PRIMERGY Servers with Intel Network Controllers Installation and Configuration with Linux

Intro to Firewalls. Summary

SECURITY ASPECTS OF OPEN SOURCE

Dell Lifecycle Controller Graphical User Interface Version For 13 th Generation Dell PowerEdge Servers User's Guide

Threat Modelling for Web Application Deployment. Ivan Ristic (Thinking Stone)

Agilent Technologies Electronic Measurements Group Computer Virus Control Program

Thick Client Application Security

HACKERS & ATTACK ANATOMY

IBM Managed Security Services Vulnerability Scanning:

BitLocker Network Unlock & BitLocker support for Encrypted Drives

Cyber R &D Research Roundtable

Dual-boot Windows 10 alongside Windows 8

State of Security. Top Five Critical Issues Affecting Servers. Decisive Security Intelligence You Can Use. Read Our Predictions for 2013 and Beyond

Introduction to Information Security

Cisco FlexFlash: Use and Manage Cisco Flexible Flash Internal SD Card for Cisco UCS C-Series Standalone Rack Servers

User Manual. HitmanPro.Kickstart User Manual Page 1

UEFI on Dell BizClient Platforms

Security Implications Associated with Mass Notification Systems

8 Steps for Network Security Protection

Transcription:

UEFI Firmware Security Best Practices Presented by: Dick Wilkins, PhD Principal Technology Liaison presented by UEFI Plugfest May 2014

Agenda Introduction Threats and Vulnerabilities Mitigation Guidelines Validation Guidelines Next Steps Questions www.uefi.org 2

Introduction UEFI firmware is now being widely deployed and is becoming a target for hackers and security analysts Poor implementations affect the credibility of the UEFI brand and market perception of all implementations As with all software implementations, there are going to be faults (Ours are not perfect by any means) Phoenix would like to share some of our best practices in the interest of increasing communication and raising the quality and security of all our implementations www.uefi.org 3

Threats and Vulnerabilities Firmware is software, and is therefore vulnerable to the same threats that typically target software Maliciously crafted input Elevation of privilege Data tampering Unauthorized access to sensitive data Information disclosure Denial of Service Key Management Etc. www.uefi.org 4

Threats and Vulnerabilities Firmware-Specific Threats Maliciously crafted input Buffer overflows to inject malicious code Elevation of privilege SMM code injection Data tampering Modifying UEFI variables (SecureBoot, Configuration, etc.) Unauthorized access to sensitive data Disclosure of SMM contents Information disclosure OpenSSL 1.0.1 through 1.0.1f (Heartbleed) Denial of Service Corrupting UEFI variables to brick the system Key Management Private Key Management for signed capsule updates www.uefi.org 5

Threats and Vulnerabilities We Are All At Risk! Disclosures regarding UEFI BIOS security vulnerabilities look bad for the whole UEFI community! So how to protect against Firmware attacks? www.uefi.org 6

Mitigation Guidelines Many organizations have provided disclosures and guidelines for developing more secure firmware! Examples come from Intel, Microsoft, Mitre, NIST, Linux distros and others. Some are public and some are available only under NDA via direct communications with the involved companies. www.uefi.org 7

Mitigation Guidelines Key areas for concern BIOS Flash Regions UEFI Variables in Flash Capsule Updates SMRAM Secure Boot www.uefi.org 8

Mitigation Guidelines BIOS Flash Regions Lock System Firmware regions as early as possible Set SMM BIOS Write Protect Set BIOS Lock Enable and Implement SMI handler Lock Protected Range Registers for SPI Flash www.uefi.org 9

Mitigation Guidelines UEFI Variables in Flash Lock Authenticated Variable regions as early as possible Separate integral configuration and security-based variables from more widely modifiable variables Reduce permissions to only what is needed Remove RT access for Firmware-usage-only variables Set variables as Read-Only if they are not intended to be modified Verify non-authenticated variable values before usage Fallback to defaults if corrupted www.uefi.org 10

Mitigation Guidelines OEMs and ODMs want to be able to modify variables after boot in manufacturing Adding security controls to these variables needs to be managed carefully to not break critical manufacturing infrastructure But this is not an excuse for leaving these variables unprotected Consider adding extra variable integrity validity checks on critical values to prevent bricking of systems should a value be improperly changed www.uefi.org 11

Mitigation Guidelines Capsule Updates Enforce Signed Capsule Updates by default Enforce Rollback Protection by default Private Key Protection HSM or Signing Authority used to create Signed Capsules www.uefi.org 12

Mitigation Guidelines SMRAM Enable Hardware Protections Lock SMRAM as early as possible Lock SMIs Never execute code outside SMRAM from within SMM Always validate data and address region limits when copying data to and from buffers www.uefi.org 13

Mitigation Guidelines Secure Boot Disable CSM Set image verification defaults to secure values: DENY_EXECUTE_ON_SECURITY_VIOLATION QUERY_USER_ON_SECURITY_VIOLATION Disallow fallback to legacy boot Store CSM Enable and all Secure Boot variables as Authenticated Variables in protected flash Require User-Presence to disable Secure Boot www.uefi.org 14

Validation Guidelines For complex systems, Bug-Free does not exist! Bugs provide a means to compromise a system! www.uefi.org 15

Validation Guidelines Challenges of developing Bug-Free Firmware There are thousands and thousands of lines of code Manual review of code and code paths is impractical There are multiple settings that must all be configured properly Test case matrixes for all use-cases can be overwhelming Even widely-accepted safe code can be found vulnerable OpenSSL 1.0.1 through 1.0.1f (Heartbleed) Systems rarely use the most current and secure code base Customers nearing production will not risk source code changes www.uefi.org 16

Validation Guidelines Many organizations have provided disclosures of known issues and guidelines for validating firmware security! i.e. Intel, NIST, Mitre, Microsoft The UEFI security sub teams and Board are discussing the possibility of providing security validation suites to supplement the existing SCT tests. If you have thoughts on this, please let your representatives know www.uefi.org 17

Validation Guidelines Targeted Code Reviews Variable Separation Firmware Usage Only Read Only Security Controls External Facing code and SMI Handlers Validate input parameters Proper bounds checking www.uefi.org 18

Validation Guidelines Validation Tools real-time security testing Intel CHIPSEC utility Manually test variable access in Win8/8.1 UEFI Shell DMPSTORE Review variable accessibilities UEFI Shell SetVar Corrupt variables, reboot, and verify system behavior Fill variable area, reboot, and verify system behavior Erase all accessible variables, reboot, and verify system behavior www.uefi.org 19

Validation Guidelines Verify EFI variable-space-full handling History shows that this is a problematic area Thoroughly test on all platforms Secure Boot Support Take another look Review latest disclosures and findings Verify implementation and fix any vulnerabilities www.uefi.org 20

Next Steps What Phoenix is Doing Performing targeted code reviews Developing security test tools and integrating into our QA process Reviewing disclosures and guidelines, and verifying our implementations Back porting security fixes to previous codebases Working with customers to educate them on important security fixes Monitoring the EDK2 codebase for important security fixes Investigating emerging specifications, such as NIST SP800-155 www.uefi.org 21

Next Steps Everyone that provides pre-os code, and that includes firmware OptionROM code and EFI applications, needs to follow similar steps to validate their implementations The UEFI forum working groups and the board are discussing steps that can be taken to insure the quality and security of implementations to minimize any negative effects on our customers and end users. This will serve to reduce negative press and perceptions of UEFI and our products in the marketplace. www.uefi.org 22

Additional Reading and References Intel Documents released to the UEFI USST (see the group docs page) Mitre UEFI Variable Usage Technical Advisory Overview April 2014 UEFI-USST-Variable-Usage-001.pdf - April 2014 BIOS Chronomancy: Fixing the Static Root of Trust for Measurement 2013 Defeating Signed BIOS Enforcement 2014 Setup For Failure: Defeating Secure Boot - 2014 Black Hat A Tale of One Software Bypass of Windows 8 Secure Boot 2013 Invisible Things Lab Attacking Intel BIOS July 30, 2009 www.uefi.org 23

Questions? www.uefi.org 24

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