SlideShare a Scribd company logo
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
EFI Secure Boot, shim and Xen
Current Status and Developments
Daniel Kiper
Software Developer, GRUB2 upstream maintainer
July 11th, 2017
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Presentation Agenda
UEFI Secure Boot - General Overview
Digital Signatures
UEFI Secure Boot - Databases and Boot Modes
shim and Linux Foundation PreLoader
UEFI Secure Boot, shim, GRUB2, Xen and dom0 kernels
Documentation & Resources
1
2
3
4
5
2
6
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
UEFI Secure Boot - General Overview
• UEFI secure boot was introduced in UEFI 2.0 spec,
• UEFI verifies the Portable Executable (PE) executables/drivers integrity
before the execution and this way provides protection against some
viruses, rootkits and other threats,
• Verification cannot be done outside the UEFI load/exec functions, i.e. it is
not possible to verify the file/buffer using UEFI secure boot infrastructure
on your own,
• UEFI spec does not impose any integrity requirements on the bootloaders,
kernels, kernel modules, applications, etc., though some signing parties
may impose some.
3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Creating a Digital Signature
Excerpt from UEFI 2.7 spec
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Verifying a Digital Signature
Excerpt from UEFI 2.7 spec
5
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How generic signature algorithms applies to UEFI secure boot
• The message is a PE file loaded/executed by UEFI,
• The hashing algorithm belongs to a Secure Hash Algorithm (SHA) family,
• The signature algorithm is the X.509 (RFC 5280, Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List (CRL) Profile)
RSA-2048 (PKCS #1 v2.2: RSA Cryptography Standard),
• The signature can be attached to the PE file in PKCS #7 format (PKCS #7:
Cryptographic Message Syntax, Version 1.5).
6
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Embedding Digital Certificate/Signature into PE application
Excerpt from UEFI 2.7 spec
7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Digital Signature embedded into PE application
# objdump –x <signed_pe_file>
[…]
The Data Directory
Entry 0 0000000000000000 00000000 Export Directory [.edata (or where ever we found it)]
Entry 1 0000000000000000 00000000 Import Directory [parts of .idata]
Entry 2 0000000000000000 00000000 Resource Directory [.rsrc]
Entry 3 0000000000000000 00000000 Exception Directory [.pdata]
Entry 4 0000000000240040 000005d8 Security Directory
Entry 5 0000000000000000 00000000 Base Relocation Directory [.reloc]
[…]
8
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
PE Security Directory with PKCS #7 signature
typedef struct _WIN_CERTIFICATE {
// The length of the entire certificate, including the length of the header, in bytes.
UINT32 dwLength;
UINT16 wRevision; // 0x0200
UINT16 wCertificateType; // 0x0002 (WIN_CERT_TYPE_PKCS_SIGNED_DATA)
//UINT8 bCertificate[ANYSIZE_ARRAY];
} WIN_CERTIFICATE;
# dd if=<signed_pe_file> of=signature.der bs=1 skip=2359368 count=1488
# openssl pkcs7 -inform DER -in signature.der -print_certs -text –noout
9
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
UEFI Secure Boot - Platform Key (PK)
The platform key establishes a trust relationship between the platform owner
and the platform firmware. The platform owner enrolls the public half of the
key (PKpub) into the platform firmware. The platform owner can later use the
private half of the key (PKpriv) to change platform ownership or to enroll a
Key Exchange Key. For UEFI, the recommended Platform Key format is
RSA-2048.
…
The public key must be stored in non-volatile storage which is tamper and
delete resistant.
Excerpt from UEFI 2.7 spec
10
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
UEFI Secure Boot - Key Exchange Key (KEK)
Key exchange keys establish a trust relationship between the operating
system and the platform firmware. Each operating system (and potentially,
each 3rd party application which need to communicate with platform
firmware) enrolls a public key (KEKpub) into the platform firmware.
…
The public key must be stored in non-volatile storage which is tamper
resistant.
Excerpt from UEFI 2.7 spec
11
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
UEFI Secure Boot - db, dbx, dbt, dbr Databases
• db – the authorized signature database (hash or certificate),
• dbx – the forbidden signature database (hash or certificate),
• dbt – the timestamp signature database,
• dbr – the recovery signature database.
• The signature database variables db, dbt, dbx, and dbr must be stored in
tamper-resistant non-volatile storage. (UEFI 2.7 spec)
12
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
UEFI Secure Boot Modes of Operation
Excerpt from UEFI 2.7 spec
13
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
UEFI Secure Boot Deficiencies
• Only signed drivers, bootloaders, kernels, etc. by well known signing parties
(e.g. Microsoft) can be run on the most UEFI platforms; Some vendors,
e.g. Oracle, provide their own keys for own platforms and OSes,
• Signing process is cumbersome and lengthy,
• The UEFI secure boot infrastructure is only available through the UEFI
load/exec functions which usually are not used by the bootloaders or
kernels to load additional modules, etc. Hence, it is not easy to use it
outside the UEFI,
• GnuPG signatures are not supported.
14
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
shim – Signed Minimal Bootloader
• shim is the signed PE application whose sole purpose is to be a minimal bootloader
which loads, verifies integrity and starts a full blown bootloader or an OS kernel,
• shim is able to verify the signatures and hashes looking into the UEFI secure boot
databases, db*, into its own Machine Owner Key (MOK) database and into .vendor_cert
PE section of itself,
• shim provides the UEFI protocol, known as SHIM_LOCK (SHIM_LOCK_GUID:
{0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23}}, which
can be used by the bootloaders, kernels, etc. to verify integrity of the loaded modules,
etc.,
• The SHIM_LOCK protocol is not used by the UEFI load/exec functions,
• shim is provided by major Linux distributions.
15
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Linux Foundation PreLoader – Signed Minimal Bootloader
• Linux Foundation PreLoader is another signed PE application whose sole purpose is to
be a minimal bootloader which loads, verifies integrity and starts a full blown
bootloader or an OS kernel,
• The LF loader hooks into the low-level security architecture (it uses UEFI Platform
Initialization interface) and installs its own handlers, which means the standard UEFI
interfaces work. The upshot is that you can use bootloaders like Gummiboot or efilinux
without having to modify them to call out to Shim. Matthew Garrett (mjg59)
• Linux Foundation PreLoader is able to verify hashes only from Machine Owner Key
(MOK) database,
• There were plans to merge the shim and the PreLoader functionality,
• Linux Foundation PreLoader is provided by some Linux distributions, e.g. Arch Linux.
16
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
shim – Xen and Linux dom0 kernel verification chain
• shim integrity is verified by the UEFI secure boot and if verification
succeeds, then it is executed,
• shim checks the integrity of xen.efi using the SHIM_LOCK protocol and if
check succeeds, then it is executed,
• xen.efi verifies the integrity of the dom0 kernel using the SHIM_LOCK
protocol and if verification succeeds, then it is executed,
• dom0 kernel should check the modules integrity using its own methods,
e.g. X.509 or GnuPG signatures.
17
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
shim – GRUB2, Xen and Linux dom0 kernel verification chain
• shim integrity is verified by the UEFI secure boot and if verification succeeds, then it is
executed,
• shim checks the integrity of GRUB2 core using the SHIM_LOCK protocol and if check
succeeds, then it is executed,
• GRUB2 verifies the integrity of xen.efi using the SHIM_LOCK protocol and if verification
succeeds, then it is executed via Multiboot2 protocol (this is under development),
• xen.efi checks the integrity of dom0 kernel using the SHIM_LOCK protocol and if check
succeeds, then it is executed,
• dom0 kernel should verify the modules integrity using its own methods, e.g. X.509 or
GnuPG signatures.
18
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
shim – GRUB2 changes needed
• Add the verifiers framework
(git://git.savannah.gnu.org/grub.git phcoder/verifiers branch),
• Build the SHIM_LOCK protocol verification functions on top of verifiers
framework,
• Disable the GRUB2 modules load/unload,
• Disable the dangerous modules, e.g. iorw, memrw.
• https://lists.xen.org/archives/html/xen-devel/2017-07/msg00985.html
• Note: The SHIM_LOCK protocol verification code (e.g. linuxefi command)
provided in GRUB2 by various distros does not use verifiers framework.
19
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
shim – Xen changes needed
• Add the Multiboot address and entry_addr fields,
• Add the Multiboot2 MULTIBOOT2_HEADER_TAG_ADDRESS and
MULTIBOOT2_HEADER_TAG_ENTRY_ADDRESS tags,
• Add the PE header to xen/arch/x86/boot/head.S,
• Extract the SHIM_LOCK verification to separate function and call it from
efi_multiboot2(),
• Change the relocation method for trampoline (TODO),
• Generate the xen.efi from xen-syms using objcopy.
• https://lists.xen.org/archives/html/xen-devel/2017-07/msg00982.html
20
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Xen boot and SHIM_LOCK changes - Gains
• One binary which can be loaded by the EFI loader, Multiboot and
Multiboot2 protocols,
• If we wish, in the future we can drop xen/xen.gz and build xen.efi only,
• Crash dumps generated by the xen.efi loaded from the EFI loader can be
analyzed by crash tool,
• Simpler code,
• Simpler build,
• Xen build no longer depends on ld i386pep support.
21
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
shim – UEFI x64 Platform Manual Setup - Example
• Install the following packages: efibootmgr, openssl, mokutil, shim, shim-signed, sbsigntool or pesign
• # cp /usr/lib/shim/shim64.efi.signed /boot/efi/efi/shim/shim64.efi
• # cp /usr/lib/shim/mm64.efi.signed /boot/efi/efi/shim/mm64.efi
• # cp /usr/lib/shim/fb64.efi.signed /boot/efi/efi/shim/fb64.efi
• # efibootmgr -cL SHIM -d /dev/sda -p 2 -l 'efishimshim.efi'
• Build your UEFI bootloader, kernel, Xen or anything else and name it grubx64.efi
• # openssl req -new -x509 -newkey rsa:2048 -days 5000 
-subj '/CN=SHIM TEST/' -passout pass:<password> 
-out shim-test-cert.pem -keyout shim-test-key.pem
• # openssl x509 -outform DER -in shim-test-cert.pem 
-out shim-test-cert.crt
22
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
shim – UEFI x64 Platform Manual Setup – Example
• # mokutil -import shim-test-cert.crt
• # sbsign --cert shim-test-cert.pem --key shim-test-key.pem grubx64.efi
• # cp grubx64.efi.signed /boot/efi/efi/shim/grubx64.efi
• Reboot the machine and enroll „CN=SHIM TEST” public key into MOK database
• Enable the UEFI secure boot
23
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Documentation & Resources
• Unified Extensible Firmware Interface Specification, Version 2.7
• http://www.uefi.org/
• http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
• https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-
secure-boot-key-creation-and-management-guidance
• https://en.altlinux.org/UEFI_SecureBoot_mini-HOWTO
• http://www.rodsbooks.com/efi-bootloaders/secureboot.htm
• https://mjg59.dreamwidth.org/23113.html
24
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Documentation & Resources
• https://www.cs.cornell.edu/courses/cs5430/2015sp/notes/rsa_sign_vs_dec.php
• https://www.itu.int/rec/T-REC-X.509
• https://tools.ietf.org/html/rfc5280
• https://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs-rsa-cryptography-
standard.htm
• https://tools.ietf.org/html/rfc3447
• https://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs-7-cryptographic-
message-syntax-standar.htm
• https://tools.ietf.org/html/rfc2315
• FIPS 180-4, Secure Hash Standard (SHS)
25
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The preceding is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
26
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 27
XPDDS17:  EFI Secure Boot, Shim and Xen: Current Status and Developments - Daniel Kiper - Oracle

More Related Content

What's hot

Review paper on bios vs uefi
Review  paper on bios vs uefiReview  paper on bios vs uefi
Review paper on bios vs uefi
Faizan Mushtaq
 
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
Linaro
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
Linaro
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
Linaro
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
Linaro
 
LCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solutionLCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solution
Linaro
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8
Linaro
 
Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605
benavrhm
 
[Wroclaw #3] Trusted Computing
[Wroclaw #3] Trusted Computing[Wroclaw #3] Trusted Computing
[Wroclaw #3] Trusted Computing
OWASP
 
UEFI Spec Version 2.4 Facilitates Secure Update
UEFI Spec Version 2.4 Facilitates Secure UpdateUEFI Spec Version 2.4 Facilitates Secure Update
UEFI Spec Version 2.4 Facilitates Secure Update
insydesoftware
 
Q2.12: Power Management Across OSs
Q2.12: Power Management Across OSsQ2.12: Power Management Across OSs
Q2.12: Power Management Across OSs
Linaro
 
Distro Recipes 2013: Secure Boot and Linux: several issues, one solution
Distro Recipes 2013: Secure Boot and Linux: several issues, one solutionDistro Recipes 2013: Secure Boot and Linux: several issues, one solution
Distro Recipes 2013: Secure Boot and Linux: several issues, one solution
Anne Nicolas
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
Chris Simmonds
 
LCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platformLCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platform
Linaro
 
Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)
Yannick Gicquel
 
Lcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future Enhancements
Linaro
 
Cisco ios
Cisco iosCisco ios
Cisco ios
Teja Babu
 
Uefi and bios
Uefi and biosUefi and bios
Uefi and bios
Shubham Pendharkar
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
Linaro
 
Implementing a UEFI BIOS into an Embedded System
Implementing a UEFI BIOS into an Embedded SystemImplementing a UEFI BIOS into an Embedded System
Implementing a UEFI BIOS into an Embedded System
insydesoftware
 

What's hot (20)

Review paper on bios vs uefi
Review  paper on bios vs uefiReview  paper on bios vs uefi
Review paper on bios vs uefi
 
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304Demystifying Security Root of Trust Approaches for IoT/Embedded  - SFO17-304
Demystifying Security Root of Trust Approaches for IoT/Embedded - SFO17-304
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
LCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solutionLCA14: LCA14-502: The way to a generic TrustZone® solution
LCA14: LCA14-502: The way to a generic TrustZone® solution
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8
 
Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605Tkos secure boot_lecture_20190605
Tkos secure boot_lecture_20190605
 
[Wroclaw #3] Trusted Computing
[Wroclaw #3] Trusted Computing[Wroclaw #3] Trusted Computing
[Wroclaw #3] Trusted Computing
 
UEFI Spec Version 2.4 Facilitates Secure Update
UEFI Spec Version 2.4 Facilitates Secure UpdateUEFI Spec Version 2.4 Facilitates Secure Update
UEFI Spec Version 2.4 Facilitates Secure Update
 
Q2.12: Power Management Across OSs
Q2.12: Power Management Across OSsQ2.12: Power Management Across OSs
Q2.12: Power Management Across OSs
 
Distro Recipes 2013: Secure Boot and Linux: several issues, one solution
Distro Recipes 2013: Secure Boot and Linux: several issues, one solutionDistro Recipes 2013: Secure Boot and Linux: several issues, one solution
Distro Recipes 2013: Secure Boot and Linux: several issues, one solution
 
Userspace drivers-2016
Userspace drivers-2016Userspace drivers-2016
Userspace drivers-2016
 
LCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platformLCU14 302- How to port OP-TEE to another platform
LCU14 302- How to port OP-TEE to another platform
 
Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)
 
Lcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future EnhancementsLcu14 306 - OP-TEE Future Enhancements
Lcu14 306 - OP-TEE Future Enhancements
 
Cisco ios
Cisco iosCisco ios
Cisco ios
 
Uefi and bios
Uefi and biosUefi and bios
Uefi and bios
 
HKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting ReviewHKG15-311: OP-TEE for Beginners and Porting Review
HKG15-311: OP-TEE for Beginners and Porting Review
 
Implementing a UEFI BIOS into an Embedded System
Implementing a UEFI BIOS into an Embedded SystemImplementing a UEFI BIOS into an Embedded System
Implementing a UEFI BIOS into an Embedded System
 

Similar to XPDDS17: EFI Secure Boot, Shim and Xen: Current Status and Developments - Daniel Kiper - Oracle

EFI Secure Key
EFI Secure KeyEFI Secure Key
EFI Secure Key
SUSE Labs Taipei
 
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleXPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
The Linux Foundation
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
Nagaraju Repala
 
SUSE shim and things related to it
SUSE shim and things related to itSUSE shim and things related to it
SUSE shim and things related to it
SUSE Labs Taipei
 
Upgrade Ubuntu 18.04 Security with Secureboot
Upgrade Ubuntu 18.04 Security with SecurebootUpgrade Ubuntu 18.04 Security with Secureboot
Upgrade Ubuntu 18.04 Security with Secureboot
Jonathan MICHEL-VILLAZ
 
Windows 7 professional Vs Windows 7 enterprise
Windows 7 professional Vs Windows 7 enterpriseWindows 7 professional Vs Windows 7 enterprise
Windows 7 professional Vs Windows 7 enterprise
247infotech
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
Denis Gundarev
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Qualcomm Developer Network
 
Securing Your Resources with Short-Lived Certificates!
Securing Your Resources with Short-Lived Certificates!Securing Your Resources with Short-Lived Certificates!
Securing Your Resources with Short-Lived Certificates!
All Things Open
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-release
Eric Koeppen
 
Looking into trusted and encrypted keys
Looking into trusted and encrypted keysLooking into trusted and encrypted keys
Looking into trusted and encrypted keys
SUSE Labs Taipei
 
NSC #2 - D3 05 - Alex Ionescu- Breaking Protected Processes
NSC #2 - D3 05 - Alex Ionescu- Breaking Protected ProcessesNSC #2 - D3 05 - Alex Ionescu- Breaking Protected Processes
NSC #2 - D3 05 - Alex Ionescu- Breaking Protected Processes
NoSuchCon
 
Linux booting process, Dual booting, Components involved
Linux booting process, Dual booting, Components involvedLinux booting process, Dual booting, Components involved
Linux booting process, Dual booting, Components involved
divyammo
 
Slimline Open Firmware
Slimline Open FirmwareSlimline Open Firmware
Slimline Open Firmware
Heiko Joerg Schick
 
Chromium os architecture report
Chromium os  architecture reportChromium os  architecture report
Chromium os architecture report
Amr Abd El Latief
 
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdfFiner Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
Marna Walle
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
The Linux Foundation
 
[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework
ICS
 
Bootkits: Past, Present & Future - Virus Bulletin
Bootkits: Past, Present & Future - Virus BulletinBootkits: Past, Present & Future - Virus Bulletin
Bootkits: Past, Present & Future - Virus Bulletin
ESET
 
Creating an Embedded System Lab
Creating an Embedded System LabCreating an Embedded System Lab
Creating an Embedded System Lab
Nonamepro
 

Similar to XPDDS17: EFI Secure Boot, Shim and Xen: Current Status and Developments - Daniel Kiper - Oracle (20)

EFI Secure Key
EFI Secure KeyEFI Secure Key
EFI Secure Key
 
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, OracleXPDS14 - Xen in EFI World - Daniel Kiper, Oracle
XPDS14 - Xen in EFI World - Daniel Kiper, Oracle
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
 
SUSE shim and things related to it
SUSE shim and things related to itSUSE shim and things related to it
SUSE shim and things related to it
 
Upgrade Ubuntu 18.04 Security with Secureboot
Upgrade Ubuntu 18.04 Security with SecurebootUpgrade Ubuntu 18.04 Security with Secureboot
Upgrade Ubuntu 18.04 Security with Secureboot
 
Windows 7 professional Vs Windows 7 enterprise
Windows 7 professional Vs Windows 7 enterpriseWindows 7 professional Vs Windows 7 enterprise
Windows 7 professional Vs Windows 7 enterprise
 
Hypervisor and VDI security
Hypervisor and VDI securityHypervisor and VDI security
Hypervisor and VDI security
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
 
Securing Your Resources with Short-Lived Certificates!
Securing Your Resources with Short-Lived Certificates!Securing Your Resources with Short-Lived Certificates!
Securing Your Resources with Short-Lived Certificates!
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-release
 
Looking into trusted and encrypted keys
Looking into trusted and encrypted keysLooking into trusted and encrypted keys
Looking into trusted and encrypted keys
 
NSC #2 - D3 05 - Alex Ionescu- Breaking Protected Processes
NSC #2 - D3 05 - Alex Ionescu- Breaking Protected ProcessesNSC #2 - D3 05 - Alex Ionescu- Breaking Protected Processes
NSC #2 - D3 05 - Alex Ionescu- Breaking Protected Processes
 
Linux booting process, Dual booting, Components involved
Linux booting process, Dual booting, Components involvedLinux booting process, Dual booting, Components involved
Linux booting process, Dual booting, Components involved
 
Slimline Open Firmware
Slimline Open FirmwareSlimline Open Firmware
Slimline Open Firmware
 
Chromium os architecture report
Chromium os  architecture reportChromium os  architecture report
Chromium os architecture report
 
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdfFiner Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework
 
Bootkits: Past, Present & Future - Virus Bulletin
Bootkits: Past, Present & Future - Virus BulletinBootkits: Past, Present & Future - Virus Bulletin
Bootkits: Past, Present & Future - Virus Bulletin
 
Creating an Embedded System Lab
Creating an Embedded System LabCreating an Embedded System Lab
Creating an Embedded System Lab
 

More from The Linux Foundation

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
The Linux Foundation
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
The Linux Foundation
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
The Linux Foundation
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
The Linux Foundation
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
The Linux Foundation
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
The Linux Foundation
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
The Linux Foundation
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
The Linux Foundation
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
The Linux Foundation
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
The Linux Foundation
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
The Linux Foundation
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
The Linux Foundation
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
The Linux Foundation
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
The Linux Foundation
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
The Linux Foundation
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
The Linux Foundation
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
The Linux Foundation
 
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
The Linux Foundation
 

More from The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
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: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
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: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
 

Recently uploaded

Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
Fwdays
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
ScyllaDB
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 

Recently uploaded (20)

Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
"What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w..."What does it really mean for your system to be available, or how to define w...
"What does it really mean for your system to be available, or how to define w...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
A Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's ArchitectureA Deep Dive into ScyllaDB's Architecture
A Deep Dive into ScyllaDB's Architecture
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 

XPDDS17: EFI Secure Boot, Shim and Xen: Current Status and Developments - Daniel Kiper - Oracle

  • 1. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | EFI Secure Boot, shim and Xen Current Status and Developments Daniel Kiper Software Developer, GRUB2 upstream maintainer July 11th, 2017
  • 2. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Presentation Agenda UEFI Secure Boot - General Overview Digital Signatures UEFI Secure Boot - Databases and Boot Modes shim and Linux Foundation PreLoader UEFI Secure Boot, shim, GRUB2, Xen and dom0 kernels Documentation & Resources 1 2 3 4 5 2 6
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | UEFI Secure Boot - General Overview • UEFI secure boot was introduced in UEFI 2.0 spec, • UEFI verifies the Portable Executable (PE) executables/drivers integrity before the execution and this way provides protection against some viruses, rootkits and other threats, • Verification cannot be done outside the UEFI load/exec functions, i.e. it is not possible to verify the file/buffer using UEFI secure boot infrastructure on your own, • UEFI spec does not impose any integrity requirements on the bootloaders, kernels, kernel modules, applications, etc., though some signing parties may impose some. 3
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Creating a Digital Signature Excerpt from UEFI 2.7 spec 4
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Verifying a Digital Signature Excerpt from UEFI 2.7 spec 5
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How generic signature algorithms applies to UEFI secure boot • The message is a PE file loaded/executed by UEFI, • The hashing algorithm belongs to a Secure Hash Algorithm (SHA) family, • The signature algorithm is the X.509 (RFC 5280, Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile) RSA-2048 (PKCS #1 v2.2: RSA Cryptography Standard), • The signature can be attached to the PE file in PKCS #7 format (PKCS #7: Cryptographic Message Syntax, Version 1.5). 6
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Embedding Digital Certificate/Signature into PE application Excerpt from UEFI 2.7 spec 7
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Digital Signature embedded into PE application # objdump –x <signed_pe_file> […] The Data Directory Entry 0 0000000000000000 00000000 Export Directory [.edata (or where ever we found it)] Entry 1 0000000000000000 00000000 Import Directory [parts of .idata] Entry 2 0000000000000000 00000000 Resource Directory [.rsrc] Entry 3 0000000000000000 00000000 Exception Directory [.pdata] Entry 4 0000000000240040 000005d8 Security Directory Entry 5 0000000000000000 00000000 Base Relocation Directory [.reloc] […] 8
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | PE Security Directory with PKCS #7 signature typedef struct _WIN_CERTIFICATE { // The length of the entire certificate, including the length of the header, in bytes. UINT32 dwLength; UINT16 wRevision; // 0x0200 UINT16 wCertificateType; // 0x0002 (WIN_CERT_TYPE_PKCS_SIGNED_DATA) //UINT8 bCertificate[ANYSIZE_ARRAY]; } WIN_CERTIFICATE; # dd if=<signed_pe_file> of=signature.der bs=1 skip=2359368 count=1488 # openssl pkcs7 -inform DER -in signature.der -print_certs -text –noout 9
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | UEFI Secure Boot - Platform Key (PK) The platform key establishes a trust relationship between the platform owner and the platform firmware. The platform owner enrolls the public half of the key (PKpub) into the platform firmware. The platform owner can later use the private half of the key (PKpriv) to change platform ownership or to enroll a Key Exchange Key. For UEFI, the recommended Platform Key format is RSA-2048. … The public key must be stored in non-volatile storage which is tamper and delete resistant. Excerpt from UEFI 2.7 spec 10
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | UEFI Secure Boot - Key Exchange Key (KEK) Key exchange keys establish a trust relationship between the operating system and the platform firmware. Each operating system (and potentially, each 3rd party application which need to communicate with platform firmware) enrolls a public key (KEKpub) into the platform firmware. … The public key must be stored in non-volatile storage which is tamper resistant. Excerpt from UEFI 2.7 spec 11
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | UEFI Secure Boot - db, dbx, dbt, dbr Databases • db – the authorized signature database (hash or certificate), • dbx – the forbidden signature database (hash or certificate), • dbt – the timestamp signature database, • dbr – the recovery signature database. • The signature database variables db, dbt, dbx, and dbr must be stored in tamper-resistant non-volatile storage. (UEFI 2.7 spec) 12
  • 13. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | UEFI Secure Boot Modes of Operation Excerpt from UEFI 2.7 spec 13
  • 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | UEFI Secure Boot Deficiencies • Only signed drivers, bootloaders, kernels, etc. by well known signing parties (e.g. Microsoft) can be run on the most UEFI platforms; Some vendors, e.g. Oracle, provide their own keys for own platforms and OSes, • Signing process is cumbersome and lengthy, • The UEFI secure boot infrastructure is only available through the UEFI load/exec functions which usually are not used by the bootloaders or kernels to load additional modules, etc. Hence, it is not easy to use it outside the UEFI, • GnuPG signatures are not supported. 14
  • 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | shim – Signed Minimal Bootloader • shim is the signed PE application whose sole purpose is to be a minimal bootloader which loads, verifies integrity and starts a full blown bootloader or an OS kernel, • shim is able to verify the signatures and hashes looking into the UEFI secure boot databases, db*, into its own Machine Owner Key (MOK) database and into .vendor_cert PE section of itself, • shim provides the UEFI protocol, known as SHIM_LOCK (SHIM_LOCK_GUID: {0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23}}, which can be used by the bootloaders, kernels, etc. to verify integrity of the loaded modules, etc., • The SHIM_LOCK protocol is not used by the UEFI load/exec functions, • shim is provided by major Linux distributions. 15
  • 16. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Linux Foundation PreLoader – Signed Minimal Bootloader • Linux Foundation PreLoader is another signed PE application whose sole purpose is to be a minimal bootloader which loads, verifies integrity and starts a full blown bootloader or an OS kernel, • The LF loader hooks into the low-level security architecture (it uses UEFI Platform Initialization interface) and installs its own handlers, which means the standard UEFI interfaces work. The upshot is that you can use bootloaders like Gummiboot or efilinux without having to modify them to call out to Shim. Matthew Garrett (mjg59) • Linux Foundation PreLoader is able to verify hashes only from Machine Owner Key (MOK) database, • There were plans to merge the shim and the PreLoader functionality, • Linux Foundation PreLoader is provided by some Linux distributions, e.g. Arch Linux. 16
  • 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | shim – Xen and Linux dom0 kernel verification chain • shim integrity is verified by the UEFI secure boot and if verification succeeds, then it is executed, • shim checks the integrity of xen.efi using the SHIM_LOCK protocol and if check succeeds, then it is executed, • xen.efi verifies the integrity of the dom0 kernel using the SHIM_LOCK protocol and if verification succeeds, then it is executed, • dom0 kernel should check the modules integrity using its own methods, e.g. X.509 or GnuPG signatures. 17
  • 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | shim – GRUB2, Xen and Linux dom0 kernel verification chain • shim integrity is verified by the UEFI secure boot and if verification succeeds, then it is executed, • shim checks the integrity of GRUB2 core using the SHIM_LOCK protocol and if check succeeds, then it is executed, • GRUB2 verifies the integrity of xen.efi using the SHIM_LOCK protocol and if verification succeeds, then it is executed via Multiboot2 protocol (this is under development), • xen.efi checks the integrity of dom0 kernel using the SHIM_LOCK protocol and if check succeeds, then it is executed, • dom0 kernel should verify the modules integrity using its own methods, e.g. X.509 or GnuPG signatures. 18
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | shim – GRUB2 changes needed • Add the verifiers framework (git://git.savannah.gnu.org/grub.git phcoder/verifiers branch), • Build the SHIM_LOCK protocol verification functions on top of verifiers framework, • Disable the GRUB2 modules load/unload, • Disable the dangerous modules, e.g. iorw, memrw. • https://lists.xen.org/archives/html/xen-devel/2017-07/msg00985.html • Note: The SHIM_LOCK protocol verification code (e.g. linuxefi command) provided in GRUB2 by various distros does not use verifiers framework. 19
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | shim – Xen changes needed • Add the Multiboot address and entry_addr fields, • Add the Multiboot2 MULTIBOOT2_HEADER_TAG_ADDRESS and MULTIBOOT2_HEADER_TAG_ENTRY_ADDRESS tags, • Add the PE header to xen/arch/x86/boot/head.S, • Extract the SHIM_LOCK verification to separate function and call it from efi_multiboot2(), • Change the relocation method for trampoline (TODO), • Generate the xen.efi from xen-syms using objcopy. • https://lists.xen.org/archives/html/xen-devel/2017-07/msg00982.html 20
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Xen boot and SHIM_LOCK changes - Gains • One binary which can be loaded by the EFI loader, Multiboot and Multiboot2 protocols, • If we wish, in the future we can drop xen/xen.gz and build xen.efi only, • Crash dumps generated by the xen.efi loaded from the EFI loader can be analyzed by crash tool, • Simpler code, • Simpler build, • Xen build no longer depends on ld i386pep support. 21
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | shim – UEFI x64 Platform Manual Setup - Example • Install the following packages: efibootmgr, openssl, mokutil, shim, shim-signed, sbsigntool or pesign • # cp /usr/lib/shim/shim64.efi.signed /boot/efi/efi/shim/shim64.efi • # cp /usr/lib/shim/mm64.efi.signed /boot/efi/efi/shim/mm64.efi • # cp /usr/lib/shim/fb64.efi.signed /boot/efi/efi/shim/fb64.efi • # efibootmgr -cL SHIM -d /dev/sda -p 2 -l 'efishimshim.efi' • Build your UEFI bootloader, kernel, Xen or anything else and name it grubx64.efi • # openssl req -new -x509 -newkey rsa:2048 -days 5000 -subj '/CN=SHIM TEST/' -passout pass:<password> -out shim-test-cert.pem -keyout shim-test-key.pem • # openssl x509 -outform DER -in shim-test-cert.pem -out shim-test-cert.crt 22
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | shim – UEFI x64 Platform Manual Setup – Example • # mokutil -import shim-test-cert.crt • # sbsign --cert shim-test-cert.pem --key shim-test-key.pem grubx64.efi • # cp grubx64.efi.signed /boot/efi/efi/shim/grubx64.efi • Reboot the machine and enroll „CN=SHIM TEST” public key into MOK database • Enable the UEFI secure boot 23
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Documentation & Resources • Unified Extensible Firmware Interface Specification, Version 2.7 • http://www.uefi.org/ • http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx • https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows- secure-boot-key-creation-and-management-guidance • https://en.altlinux.org/UEFI_SecureBoot_mini-HOWTO • http://www.rodsbooks.com/efi-bootloaders/secureboot.htm • https://mjg59.dreamwidth.org/23113.html 24
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Documentation & Resources • https://www.cs.cornell.edu/courses/cs5430/2015sp/notes/rsa_sign_vs_dec.php • https://www.itu.int/rec/T-REC-X.509 • https://tools.ietf.org/html/rfc5280 • https://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs-rsa-cryptography- standard.htm • https://tools.ietf.org/html/rfc3447 • https://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs-7-cryptographic- message-syntax-standar.htm • https://tools.ietf.org/html/rfc2315 • FIPS 180-4, Secure Hash Standard (SHS) 25
  • 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 26
  • 27. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 27