TPM, UEFI, Trusted Boot, Secure Boot How Does a PC Boot? • First: History – http://en.wikipedia.org/wiki/Booting – Code entered on Hand Switches – Non-Volatile Memory; infrequent cold boot – Development of ROM-based IPL – PC developed multi-stage boot process Power Up Sequence • POST – Power On Self Test • http://en.wikipedia.org/wiki/Power-on_self-test • • • • • • First code that runs Part of the BIOS Checks hardware to prevent boot failure Runs BIOS/POST code in other devices BIOS must know how to operate devices Each BIOS crafted for each motherboard Initial Program Load - IPL • Original PC booted each device in fixed order – Floppy, CD, HDD, Net • Newer BIOS now can change boot order • Loads boot code from device – Secondary boot loader – Stored in particular track of FDD/HDD – Independent of software architecture Boot Loader • Knows about device architecture • HDD – Partition tables, block size, – File Structure: FAT16, FAT32, NTFS etc • Finds the OS boot program – MS Boot loader • From a particular named file – Linux loader OS Loader • What you see when the Operating System Starts • Launches and configures the OS for the hardware • Installs relevant device drivers • Checks license and file system • Gets network operating etc Security • BIOS is in Flash – can be changed – User code can write to flash memory • Attacker can control machine from 1st power • HDD Boot sector can be changed – (boot sector virus) • OS Loader can be changed TPM and BIOS • BIOS is in control from POST • BIOS asks TPM for verification • BIOS can still be attacked – OS/CPU must protect BIOS • BIOS chip could still be changed • BIOS asks TPM to verify Boot Loader • BIOS could still boot something if verify failed – Hardware still usable if BIOS permits Secure Boot • • • • • BIOS will only boot authenticated boot loader Boot loader only boots authentic OS BitLocker must be enabled to secure disk BIOS cannot then override TPM signing BIOS could still boot another device unless locked • BIOS could be replaced to use another disc • Original disc still cryptographically secured TPM Weakness • • • • • • • Should be tamperproof Used in Games Console Gamers motivated to break-in Hardware attack details publish Split chip open and collect key from Bus Use brute force decryption for game keys Manufacture problem not design problem? UEFI • Duplication between BIOS and OS – Both need device drivers • BIOS – TPM secure boot is optional • UEFI addresses this – – – – – – UEFI is part of BIOS Performs Boot Loader function Checks OS signature without TPM Will refuse to boot Knows file structure Drivers come from OS disk Features • Larger disks / Newer Hardware • Eliminates boot virus attacks • Secures OS – Gives manufactures' control of hardware use • Can still work with BitLocker/TPM • Still vulnerable – Contains buffer overflow error (Samsung) – BIOS reflashable/rechipable Unified Extensible Firmware Interface Fully Trustworthy? • Anti-Evil Maid method • Store signatures of BIOS etc in TPM • User checks TPM signature using: – Password – Physical device (USB stick with crypto key) • All signatures checked – Detects any non-authentic code – BitLocker not needed – Detects compromise on any component