SlideShare a Scribd company logo
How TrenchBoot is enabling Measured Launch
for Open-Source Platform Security
Daniel Smith, Chief Technologist, Apertus Solutions, LLC
Agenda
● Why TrenchBoot
● Relevance of Dynamic Launch and Xen
● Background and security of Dynamic Launch
● Background and goals of TrenchBoot
● Initial Capability under development
● What is next that TrenchBoot is building for Xen
● Wrap up
Why
● Launch integrity is the foundation for platform security
● If the hypervisor was corrupt from boot, how could you trust any VM integrity/introspection capabilities
that it may be running?
● Was the correct hypervisor and VMs with the necessary security and safety features loaded at launch?
● It deserves the attention needed to get it right and well integrated
● Dynamic Launch has been under utilized
● Can be initiated many times between power-on and power-off
● Each Dynamic Launch is an opportunity to establish the current integrity of the platform
● Evolving hardware categories for Launch Integrity
● Root of Trust (discrete TPM, ME PTT, PSP fTPM)
● Secure Coprocessors (ME, PSP, T2, Nitro)
● Boot SPI interposers (OpenTitan, Cerberus, SureStart)
● Hybrid (AzureSphere MCU, Arm Corstone-700 M-class Secure Enclave)
Dynamic Launch and Xen
● TrenchBoot was born out of limitations of using tboot to launch Xen for OpenXT
project
● Access to the TXT TPM event log is blocked
● Conflict over access to UEFI Boot Services
● Can only measure Multiboot modules that were loaded into memory by bootloader
● Only one attestation action: predetermined PCR manifest verification
● Only supports Intel TXT, no love for AMD’s Secure Startup
● Upstream Xen needs a good Dynamic Launch story for hardware-rooted integrity
● Google has Shielded VMs
● Microsoft has System Guard Runtime Attestation
● VMWare has ESXi Host Attestation Status
● Xen has tboot (sort of … see above)
Terminology
Description TCG Intel TXT AMD-V
A component that must always behave in the
expected manner because its misbehavior
cannot be detected.
Root of Trust (RoT)
Process of starting a software environment at
an arbitrary time in the runtime of a system
Dynamic Launch (DL) Late Launch Secure Startup
Platform dependent event that triggers the DL DL Event GETSEC[SENTER] SKINIT
Performs initial configuration actions that
are platform specific before invoking the D-
RTM CPU instruction
D-RTM Configuration
Environment (DCE)
Preamble
Software/firmware that executes from the
instantiation of the DL Event to the transfer of
control to the DLME
D-RTM Configuration
Environment (DCE)
Authenticated Code
Module (ACM)
Secure Loader (SL)
Software executed after the DCE instantiated
TCB is established
Dynamically Launched
Measured Environment
(DLME)
Measured Launch
Environment (MLE)
Security Kernel (SK)
Mapping concepts to specification and vendor terms
Setup of a Dynamic Launch
● The system must be in a very specific, quiescent state to launch
● Intel
● TPM with all localities closed
● Protected mode without paging and SMX enabled
● ACM loaded and TXT Heap configured
● MLE loaded below 4GB and compliant page table setup
● Machine check clear
● APs are rendezvous and necessary state preserved
● AMD
● Protected mode without paging
● Secure Loader loaded
● Machine check clear
● APs are rendezvous
● Qualcomm
● TBD: Rumored upcoming DRTM IP core
● This enables getting to a known good state without breaking everything
Result of a Dynamic Launch
● Provides a very controlled and protected startup
● The CPU obtains Locality 4 on the TPM and clears DRTM PCRs (17-22)
● All CPU interrupts (NMI, SMI, INIT, etc) are disabled
● The CPU protects the DCE from DMA access
● Intel uses Cache as RAM (CRAM)
● AMD uses Device Exclusion Vector (DEV)
● The DCE is measured by the CPU and stored in PCR 17 of the TPM before execution
● On Intel the ACM is authenticated before measurement
● On AMD the Secure Loader is owner provided
● The DCE ensures the DLME is DMA protected, measures, and then executes
● The results is a very high integrity assertion of the DLME
● Removes boot firmware from the TCB
TrenchBoot
● TrenchBoot is a cross-community integration project focused on launch integrity
● There is no “one thing” that is TrenchBoot
● The purpose is to develop a common, unified approach to building trust in the platform through launch
integrity
● And to work with existing Open Source ecosystem to integrate the approach into their respective projects
● This means there can now be a unified Dynamic Launch approach between Xen, KVM, other Open Source
hypervisors, and potentially proprietary hypervisors.
● The TrenchBoot approach provides for different strategies to build trust in the platform
● First Launch inspection – Establishing hardware rooted integrity during platform boot
● Runtime inspection – Establishing hardware rooted integrity during platform runtime
● SecureLaunch kexec for Linux
● Runtime Xen verification
● Re-establishing platform state after sleep or hibernate
● Update/Shutdown inspection – Reviewing platform state before platform reboot/shutdown
● Useful for checking integrity before persisting state to disk
Who is contribung to TrenchBoot
First Launch Inspecon
● The initial implementation being worked to demonstrate a common use case
● This is the traditional approach that uses Dynamic Launch to root the target
kernel in hardware
● TrenchBoot approach expands the traditional approach
● Leverages Linux existing UEFI support to handle EBS hand-off
● Provides a more flexibility means for measuring the environment
● Leverages Linux kexec interface for launching subsequent kernel
● On Intel platforms, SEXIT is called to close access to DRTM PCRs
● Implications for Xen
● Will require Xen kexec entry to function with post EBS on UEFI
● Will enable removal of tboot code
Basic Flow of First Launch
TPM
GRUB
SL
ACM
DLME
Setup Piggy Initrd
Xen
Header Kernel
vmlinux
And then comes runme inspecon
● That’s right, I want to relaunch a running Xen without rebooting!
● Why would I want to do something this crazy?
● It is actually quite logical
● A lot of work was done to make sure the right kernel is launched but that guarantee really ended after
communication with the outside world began
● Consider how often a system reboot occurs to establish the integrity of your system?
● Servers -- rarely
● Desktop -- occasionally
● Laptops -- regularly
● There are actually a few use cases of interest
● A System Owner/Administrator may want to check a system
● An OpenXT-like platform may want to check integrity before launching a critical VM
● Xen could be the first hypervisor that can at any point securely re-establish the integrity
of itself!
How will this work
● Conceptually the approach will be to,
● Bring the system to a quiescent state either by pausing or sleeping (S3) all domains
● Xen will DL into an integrity kernel
● This may be setup at boot time or as a special type of domain
● A protocol will be defined to pass necessary information such as the return address
● Integrity kernel will inspect/verify in-memory Xen
● Integrity kernel will record measurements taken and optionally create a signed quote
● Integrity kernel will then jump back to address passed to Xen
● Xen will bring the system back to a running state
● The result will be a hardware rooted runtime inspection of Xen
Timeline
● Announced at PSEC’18
● Provided an initial briefing of the work on September 2018 Xen Community Call
● First working demonstration on Intel desktop system in February 2019
● In March began engaging Linux Kernel Mailing List on boot protocol changes
● Resulted in the setup_header2 RFC submitted in June
● Remainder of 19Q3 is the completion of First Launch inspection for Intel/AMD and
upstreaming to respective projects
● Will be engaging Xen mailing list on the launching Xen via kexec post EBS
● Upon completion, will begin work on Runtime inspection
● Ideate on how to enable Xen to function as a DCE Preamble
● Architect the hand-over protocol from host to inspection kernel
● Architect the structure for quote signed evidence
● Ideally will have a Xen Design Document in 20Q1
Opportunity
● Improvements that hardware and system manufacturers might want to take to heart
● Would like to see AMD added an SKEXIT instruction
● Intent would be to close access to DRTM PCRs
● Would like to see AMD provide support for STMs or an STM-like capability
● The intent is to obtain hardware rooted measurements of SMM
● This is likely not easy ask and open to alternatives that achieve the intent
● Would like to see improvements in IOMMUs
● The intent is to have true and complete device isolation
● Would like to see OEMs incorporate an STM or an equivalent that enables a hardware rooted
measurement of SMM as part of DL
● Would like to see Device manufactures adopt Intel’s PCIe Device Security Enhancements
● Would like to see ARM and RISC-V provide a late launch instruction
● Would like to see TPMs become common an ARM boards
● And leveraging them in the BootROM
References
● Trust Computing Group Architecture Overview
● https://trustedcomputinggroup.org/wp-content/uploads/TCG_1_4_Architecture_Overview.pdf
● Trusted Computing Groub D-RTM Architecture
● https://trustedcomputinggroup.org/wp-content/uploads/TCG_D-RTM_Architecture_v1-0_Published_06172013.pdf
● Intel TXT Software Developers Guide
● https://www.intel.com/content/www/us/en/software-developers/intel-txt-software-development-guide.html
● AMD64 Architecture Programmer’s Manual Volume 2: System Programming
● https://www.amd.com/system/files/TechDocs/24593.pdf
● Inside the Octagon
● http://alex-ionescu.com/Publications/OPCDE/octagon.pdf
● PSEC 2018: TrenchBoot: Unified Approach to Harness Boot Integrity Technologies
● https://www.platformsecuritysummit.com/2018/speaker/smith/
● PCI Express Device Security Enhancements
● https://www.intel.com/content/dam/www/public/us/en/documents/reference-guides/pcie-device-security-enhancements.p
● Arm® Platform Security Architecture Firmware Framework
● https://pages.arm.com/rs/312-SAX-488/images/DEN0063-PSA_Firmware_Framework-1.0.0.pdf
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform Security - Daniel Smith, Apertus Solutions

More Related Content

PDF
Xen Project 15 Years down the Line
PPTX
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
PDF
Fosdem 18: Securing embedded Systems using Virtualization
PDF
2018 Genivi Xen Overview Nov Update
PPTX
ALSS14: Xen Project Automotive Hypervisor (Demo)
PDF
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
PDF
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
PDF
Platform Security Summit 18: Xen Security Weather Report 2018
Xen Project 15 Years down the Line
XPDDS18: Windows PV Drivers Project: Status and Updates - Paul Durrant, Citri...
Fosdem 18: Securing embedded Systems using Virtualization
2018 Genivi Xen Overview Nov Update
ALSS14: Xen Project Automotive Hypervisor (Demo)
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
Platform Security Summit 18: Xen Security Weather Report 2018

What's hot (20)

PDF
OSSNA18: Xen Beginners Training
PDF
Rootlinux17: An introduction to Xen Project Virtualisation
PDF
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
PDF
OSSEU18: NVDIMM and Virtualization - George Dunlap, Citrix
PDF
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
PDF
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
PDF
ELC2019: Static Partitioning Made Simple
PDF
XPDDS18: Xen Project Weather Report 2018
PDF
LFNW2014 Advanced Security Features of Xen Project Hypervisor
PDF
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
PDF
Xen and the art of embedded virtualization (ELC 2017)
PPTX
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
PDF
Ian Pratt Nsdi Keynote Apr2008
PDF
Unikraft Landing Page Master Slides
PDF
Xen io
PDF
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
PDF
ELC21: VM-to-VM Communication Mechanisms for Embedded
PDF
XPDS13: In-Guest Mechanism to Strengthen Guest Separation - Philip Tricca, Ci...
PDF
OSSA17 - Live patch, VMI, Security Mgmt (50 mins, no embedded demos)
PDF
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
OSSNA18: Xen Beginners Training
Rootlinux17: An introduction to Xen Project Virtualisation
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
OSSEU18: NVDIMM and Virtualization - George Dunlap, Citrix
XPDS16: A Paravirtualized Interface for Socket Syscalls - Dimitri Stiliadis, ...
XPDS14 - Zero-Footprint Guest Memory Introspection from Xen - Mihai Dontu, Bi...
ELC2019: Static Partitioning Made Simple
XPDDS18: Xen Project Weather Report 2018
LFNW2014 Advanced Security Features of Xen Project Hypervisor
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
Xen and the art of embedded virtualization (ELC 2017)
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
Ian Pratt Nsdi Keynote Apr2008
Unikraft Landing Page Master Slides
Xen io
XPDDS18: CPUFreq in Xen on ARM - Oleksandr Tyshchenko, EPAM Systems
ELC21: VM-to-VM Communication Mechanisms for Embedded
XPDS13: In-Guest Mechanism to Strengthen Guest Separation - Philip Tricca, Ci...
OSSA17 - Live patch, VMI, Security Mgmt (50 mins, no embedded demos)
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
Ad

Similar to XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform Security - Daniel Smith, Apertus Solutions (20)

PDF
Breaking hardware enforced security with hypervisors
PPTX
Hardware_root_trust_x86.pptx
DOCX
Chromium os architecture report
PDF
OffensiveCon2022: Case Studies of Fuzzing with Xen
PDF
Fuzzing_with_Xen.pdf
PDF
Lcu14 101- coresight overview
PDF
BKK16-110 A Gentle Introduction to Trusted Execution and OP-TEE
PDF
BKK16-110~---3892hnfi2r8ru94jofmcw8ujd.pdf
PPTX
Early Software Development through Palladium Emulation
PDF
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
PDF
Linux Internals - Part II
PDF
Using Xen Hypervisor for Functional Safety
PPTX
Hypervisor and VDI security
PDF
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
PDF
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
PPT
Trusted Computing security _platform.ppt
PDF
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
PDF
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar
PDF
qemu architecture and internals - How it works
PPTX
EC8791-U5-PPT.pptx
Breaking hardware enforced security with hypervisors
Hardware_root_trust_x86.pptx
Chromium os architecture report
OffensiveCon2022: Case Studies of Fuzzing with Xen
Fuzzing_with_Xen.pdf
Lcu14 101- coresight overview
BKK16-110 A Gentle Introduction to Trusted Execution and OP-TEE
BKK16-110~---3892hnfi2r8ru94jofmcw8ujd.pdf
Early Software Development through Palladium Emulation
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
Linux Internals - Part II
Using Xen Hypervisor for Functional Safety
Hypervisor and VDI security
OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
Trusted Computing security _platform.ppt
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar
qemu architecture and internals - How it works
EC8791-U5-PPT.pptx
Ad

More from The Linux Foundation (20)

PDF
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
PDF
XPDDS19 Keynote: Unikraft Weather Report
PDF
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
PDF
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
PDF
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
PDF
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
PPTX
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
PDF
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
PDF
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
PDF
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
PDF
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
PDF
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
PDF
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
PDF
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
PDF
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
PDF
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
PDF
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
PDF
XPDDS19: Application Agnostic High Availability Solution On Hypervisor Level ...
PDF
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
PDF
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
XPDDS19: Application Agnostic High Availability Solution On Hypervisor Level ...
XPDSS19: Live-Updating Xen - Amit Shah & David Woodhouse, Amazon
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...

Recently uploaded (20)

PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
L1 - Introduction to python Backend.pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
AI in Product Development-omnex systems
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
history of c programming in notes for students .pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Understanding Forklifts - TECH EHS Solution
2025 Textile ERP Trends: SAP, Odoo & Oracle
L1 - Introduction to python Backend.pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
AI in Product Development-omnex systems
Online Work Permit System for Fast Permit Processing
Odoo POS Development Services by CandidRoot Solutions
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
Operating system designcfffgfgggggggvggggggggg
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41
history of c programming in notes for students .pptx
Design an Analysis of Algorithms I-SECS-1021-03
top salesforce developer skills in 2025.pdf
CHAPTER 2 - PM Management and IT Context

XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform Security - Daniel Smith, Apertus Solutions

  • 1. How TrenchBoot is enabling Measured Launch for Open-Source Platform Security Daniel Smith, Chief Technologist, Apertus Solutions, LLC
  • 2. Agenda ● Why TrenchBoot ● Relevance of Dynamic Launch and Xen ● Background and security of Dynamic Launch ● Background and goals of TrenchBoot ● Initial Capability under development ● What is next that TrenchBoot is building for Xen ● Wrap up
  • 3. Why ● Launch integrity is the foundation for platform security ● If the hypervisor was corrupt from boot, how could you trust any VM integrity/introspection capabilities that it may be running? ● Was the correct hypervisor and VMs with the necessary security and safety features loaded at launch? ● It deserves the attention needed to get it right and well integrated ● Dynamic Launch has been under utilized ● Can be initiated many times between power-on and power-off ● Each Dynamic Launch is an opportunity to establish the current integrity of the platform ● Evolving hardware categories for Launch Integrity ● Root of Trust (discrete TPM, ME PTT, PSP fTPM) ● Secure Coprocessors (ME, PSP, T2, Nitro) ● Boot SPI interposers (OpenTitan, Cerberus, SureStart) ● Hybrid (AzureSphere MCU, Arm Corstone-700 M-class Secure Enclave)
  • 4. Dynamic Launch and Xen ● TrenchBoot was born out of limitations of using tboot to launch Xen for OpenXT project ● Access to the TXT TPM event log is blocked ● Conflict over access to UEFI Boot Services ● Can only measure Multiboot modules that were loaded into memory by bootloader ● Only one attestation action: predetermined PCR manifest verification ● Only supports Intel TXT, no love for AMD’s Secure Startup ● Upstream Xen needs a good Dynamic Launch story for hardware-rooted integrity ● Google has Shielded VMs ● Microsoft has System Guard Runtime Attestation ● VMWare has ESXi Host Attestation Status ● Xen has tboot (sort of … see above)
  • 5. Terminology Description TCG Intel TXT AMD-V A component that must always behave in the expected manner because its misbehavior cannot be detected. Root of Trust (RoT) Process of starting a software environment at an arbitrary time in the runtime of a system Dynamic Launch (DL) Late Launch Secure Startup Platform dependent event that triggers the DL DL Event GETSEC[SENTER] SKINIT Performs initial configuration actions that are platform specific before invoking the D- RTM CPU instruction D-RTM Configuration Environment (DCE) Preamble Software/firmware that executes from the instantiation of the DL Event to the transfer of control to the DLME D-RTM Configuration Environment (DCE) Authenticated Code Module (ACM) Secure Loader (SL) Software executed after the DCE instantiated TCB is established Dynamically Launched Measured Environment (DLME) Measured Launch Environment (MLE) Security Kernel (SK) Mapping concepts to specification and vendor terms
  • 6. Setup of a Dynamic Launch ● The system must be in a very specific, quiescent state to launch ● Intel ● TPM with all localities closed ● Protected mode without paging and SMX enabled ● ACM loaded and TXT Heap configured ● MLE loaded below 4GB and compliant page table setup ● Machine check clear ● APs are rendezvous and necessary state preserved ● AMD ● Protected mode without paging ● Secure Loader loaded ● Machine check clear ● APs are rendezvous ● Qualcomm ● TBD: Rumored upcoming DRTM IP core ● This enables getting to a known good state without breaking everything
  • 7. Result of a Dynamic Launch ● Provides a very controlled and protected startup ● The CPU obtains Locality 4 on the TPM and clears DRTM PCRs (17-22) ● All CPU interrupts (NMI, SMI, INIT, etc) are disabled ● The CPU protects the DCE from DMA access ● Intel uses Cache as RAM (CRAM) ● AMD uses Device Exclusion Vector (DEV) ● The DCE is measured by the CPU and stored in PCR 17 of the TPM before execution ● On Intel the ACM is authenticated before measurement ● On AMD the Secure Loader is owner provided ● The DCE ensures the DLME is DMA protected, measures, and then executes ● The results is a very high integrity assertion of the DLME ● Removes boot firmware from the TCB
  • 8. TrenchBoot ● TrenchBoot is a cross-community integration project focused on launch integrity ● There is no “one thing” that is TrenchBoot ● The purpose is to develop a common, unified approach to building trust in the platform through launch integrity ● And to work with existing Open Source ecosystem to integrate the approach into their respective projects ● This means there can now be a unified Dynamic Launch approach between Xen, KVM, other Open Source hypervisors, and potentially proprietary hypervisors. ● The TrenchBoot approach provides for different strategies to build trust in the platform ● First Launch inspection – Establishing hardware rooted integrity during platform boot ● Runtime inspection – Establishing hardware rooted integrity during platform runtime ● SecureLaunch kexec for Linux ● Runtime Xen verification ● Re-establishing platform state after sleep or hibernate ● Update/Shutdown inspection – Reviewing platform state before platform reboot/shutdown ● Useful for checking integrity before persisting state to disk
  • 9. Who is contribung to TrenchBoot
  • 10. First Launch Inspecon ● The initial implementation being worked to demonstrate a common use case ● This is the traditional approach that uses Dynamic Launch to root the target kernel in hardware ● TrenchBoot approach expands the traditional approach ● Leverages Linux existing UEFI support to handle EBS hand-off ● Provides a more flexibility means for measuring the environment ● Leverages Linux kexec interface for launching subsequent kernel ● On Intel platforms, SEXIT is called to close access to DRTM PCRs ● Implications for Xen ● Will require Xen kexec entry to function with post EBS on UEFI ● Will enable removal of tboot code
  • 11. Basic Flow of First Launch TPM GRUB SL ACM DLME Setup Piggy Initrd Xen Header Kernel vmlinux
  • 12. And then comes runme inspecon ● That’s right, I want to relaunch a running Xen without rebooting! ● Why would I want to do something this crazy? ● It is actually quite logical ● A lot of work was done to make sure the right kernel is launched but that guarantee really ended after communication with the outside world began ● Consider how often a system reboot occurs to establish the integrity of your system? ● Servers -- rarely ● Desktop -- occasionally ● Laptops -- regularly ● There are actually a few use cases of interest ● A System Owner/Administrator may want to check a system ● An OpenXT-like platform may want to check integrity before launching a critical VM ● Xen could be the first hypervisor that can at any point securely re-establish the integrity of itself!
  • 13. How will this work ● Conceptually the approach will be to, ● Bring the system to a quiescent state either by pausing or sleeping (S3) all domains ● Xen will DL into an integrity kernel ● This may be setup at boot time or as a special type of domain ● A protocol will be defined to pass necessary information such as the return address ● Integrity kernel will inspect/verify in-memory Xen ● Integrity kernel will record measurements taken and optionally create a signed quote ● Integrity kernel will then jump back to address passed to Xen ● Xen will bring the system back to a running state ● The result will be a hardware rooted runtime inspection of Xen
  • 14. Timeline ● Announced at PSEC’18 ● Provided an initial briefing of the work on September 2018 Xen Community Call ● First working demonstration on Intel desktop system in February 2019 ● In March began engaging Linux Kernel Mailing List on boot protocol changes ● Resulted in the setup_header2 RFC submitted in June ● Remainder of 19Q3 is the completion of First Launch inspection for Intel/AMD and upstreaming to respective projects ● Will be engaging Xen mailing list on the launching Xen via kexec post EBS ● Upon completion, will begin work on Runtime inspection ● Ideate on how to enable Xen to function as a DCE Preamble ● Architect the hand-over protocol from host to inspection kernel ● Architect the structure for quote signed evidence ● Ideally will have a Xen Design Document in 20Q1
  • 15. Opportunity ● Improvements that hardware and system manufacturers might want to take to heart ● Would like to see AMD added an SKEXIT instruction ● Intent would be to close access to DRTM PCRs ● Would like to see AMD provide support for STMs or an STM-like capability ● The intent is to obtain hardware rooted measurements of SMM ● This is likely not easy ask and open to alternatives that achieve the intent ● Would like to see improvements in IOMMUs ● The intent is to have true and complete device isolation ● Would like to see OEMs incorporate an STM or an equivalent that enables a hardware rooted measurement of SMM as part of DL ● Would like to see Device manufactures adopt Intel’s PCIe Device Security Enhancements ● Would like to see ARM and RISC-V provide a late launch instruction ● Would like to see TPMs become common an ARM boards ● And leveraging them in the BootROM
  • 16. References ● Trust Computing Group Architecture Overview ● https://trustedcomputinggroup.org/wp-content/uploads/TCG_1_4_Architecture_Overview.pdf ● Trusted Computing Groub D-RTM Architecture ● https://trustedcomputinggroup.org/wp-content/uploads/TCG_D-RTM_Architecture_v1-0_Published_06172013.pdf ● Intel TXT Software Developers Guide ● https://www.intel.com/content/www/us/en/software-developers/intel-txt-software-development-guide.html ● AMD64 Architecture Programmer’s Manual Volume 2: System Programming ● https://www.amd.com/system/files/TechDocs/24593.pdf ● Inside the Octagon ● http://alex-ionescu.com/Publications/OPCDE/octagon.pdf ● PSEC 2018: TrenchBoot: Unified Approach to Harness Boot Integrity Technologies ● https://www.platformsecuritysummit.com/2018/speaker/smith/ ● PCI Express Device Security Enhancements ● https://www.intel.com/content/dam/www/public/us/en/documents/reference-guides/pcie-device-security-enhancements.p ● Arm® Platform Security Architecture Firmware Framework ● https://pages.arm.com/rs/312-SAX-488/images/DEN0063-PSA_Firmware_Framework-1.0.0.pdf