Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shim 15.4 + bugfixes for UOS #173

Closed
8 tasks done
uos-secureboot opened this issue May 8, 2021 · 7 comments
Closed
8 tasks done

Shim 15.4 + bugfixes for UOS #173

uos-secureboot opened this issue May 8, 2021 · 7 comments
Labels
accepted Submission is ready for sysdev

Comments

@uos-secureboot
Copy link

Make sure you have provided the following information:

What organization or people are asking to have this signed:

UOS V20:https://www.chinauos.com/resource/download-personal

What product or service is this for:

UOS V20.

Please create your shim binaries starting with the 15.4 shim release tar file:
https://github.com/rhboot/shim/releases/download/15.4/shim-15.4.tar.bz2
This matches https://github.com/rhboot/shim/releases/tag/15.4 and contains
the appropriate gnu-efi source.
Please confirm this as the origin your shim.

Yes, we are using the source from https://github.com/rhboot/shim/releases/download/15.4/shim-15.4.tar.bz2

What's the justification that this really does need to be signed for the whole world to be able to boot it:

What's the justification that this really does need to be signed for the whole world to be able to boot it:
UOS is yet another linux distribution based on Debian GNU/Linux. It has been actively maintained since 2019 It is an amazing distribution, and for compatible reason, we here submit our siging request for shim.

How do you manage and protect the keys used in your SHIM?

The key is stored in isolated standalone server which is placed in secure area with limited access.

Do you use EV certificates as embedded certificates in the SHIM?

No.

If you use new vendor_db functionality, are any hashes allow-listed, and if yes: for what binaries ?

No.

Is kernel upstream commit 75b0cea7bf307f362057cc778efe89af4c615354 present in your kernel, if you boot chain includes a Linux kernel ?

Yes, we use kernel 4.19 with this patch included

if SHIM is loading GRUB2 bootloader, are CVEs CVE-2020-14372,
CVE-2020-25632, CVE-2020-25647, CVE-2020-27749, CVE-2020-27779,
CVE-2021-20225, CVE-2021-20233, CVE-2020-10713, CVE-2020-14308,
CVE-2020-14309, CVE-2020-14310, CVE-2020-14311, CVE-2020-15705,
( July 2020 grub2 CVE list + March 2021 grub2 CVE list )
and if you are shipping the shim_lock module CVE-2021-3418
fixed ?

Yes

"Please specifically confirm that you add a vendor specific SBAT entry for SBAT header in each binary that supports SBAT metadata
( grub2, fwupd, fwupdate, shim + all child shim binaries )" to shim review doc ?
Please provide exact SBAT entries for all SBAT binaries you are booting or planning to boot directly through shim

We keep all upstream SBAT entries and also append Uos specific.
Since most packages in Uos are based on Debian we also keep Debian specific entries.

sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
grub,1,Free Software Foundation,grub,2.04,https://www.gnu.org/software/grub/
grub.uos,1,Uos,grub2,2.04-17,mail:secureboot@uniontech.com
sbat,1,UEFI shim,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
fwupd,1,Firmware update daemon,fwupd,1.5.7,https://github.com/fwupd/fwupd
fwupd-uos,1,Uos,fwupd,1.5.7-3,mail:secureboot@uniontech.com
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
shim,1,UEFI shim,shim,1,https://github.com/rhboot/shim
shim.uos,1,Uos,shim,15.4-1,mail:secureboot@uniontech.com

All new UEFI binaries that are yet to be built with SBAT support will
follow the agreed SBAT variable pattern and we will add Uos specific
entries for them.

Were your old SHIM hashes provided to Microsoft ?

This is the first submission

Did you change your certificate strategy, so that affected by CVE-2020-14372, CVE-2020-25632, CVE-2020-25647, CVE-2020-27749,
CVE-2020-27779, CVE-2021-20225, CVE-2021-20233, CVE-2020-10713,
CVE-2020-14308, CVE-2020-14309, CVE-2020-14310, CVE-2020-14311, CVE-2020-15705 ( July 2020 grub2 CVE list + March 2021 grub2 CVE list )
grub2 bootloaders can not be verified ?

New grub2 builds with CVE fix will be signed with new signing EV certificate.

What exact implementation of Secureboot in grub2 ( if this is your bootloader ) you have ?
* Upstream grub2 shim_lock verifier or * Downstream RHEL/Fedora/Debian/Canonical like implementation ?

Downstream RHEL/Fedora/Debian/Canonical like implementation

What is the origin and full version number of your bootloader (GRUB or other)?

upstream Debian Bullseye 2.04 version

If your SHIM launches any other components, please provide further details on what is launched

It will load fwupdate, fwupd as already mentioned above.

If your GRUB2 launches any other binaries that are not Linux kernel in SecureBoot mode,
please provide further details on what is launched and how it enforces Secureboot lockdown

grub2 launches Linux kernel

If you are re-using a previously used (CA) certificate, you
will need to add the hashes of the previous GRUB2 binaries
exposed to the CVEs to vendor_dbx in shim in order to prevent
GRUB2 from being able to chainload those older GRUB2 binaries. If
you are changing to a new (CA) certificate, this does not
apply. Please describe your strategy.

Not applicable, grub2 leaf certificate rotated in Uos shim

How do the launched components prevent execution of unauthenticated code?

Will not start unsigned programs

Does your SHIM load any loaders that support loading unsigned kernels (e.g. GRUB)?

No

What kernel are you using? Which patches does it includes to enforce Secure Boot?
  1. 19 with secure boot supported.
What changes were made since your SHIM was last signed?

Bug and security fixes.
Changelog (since version 15-4).
Don-t-call-QueryVariableInfo-on-EFI-1.10-machines.patch
fix-broken-ia32-reloc.patch
fix-import_one_mok_state.patch
MOK-BootServicesData.patch

What is the SHA256 hash of your final SHIM binary?

9ed42ee3903b37f07548855b29b95b62b11f64863022faeee2374470ad3db0f7 shimx64.efi

@uos-secureboot
Copy link
Author

@christopherco Please review the submission again

@christopherco
Copy link
Contributor

  • shim reproducible? Yes
root@da563565e63c:/build# sha256sum shim/shimx64.efi
9ed42ee3903b37f07548855b29b95b62b11f64863022faeee2374470ad3db0f7  shim/shimx64.efi

shim-review$ sha256sum shimx64.efi
9ed42ee3903b37f07548855b29b95b62b11f64863022faeee2374470ad3db0f7  shimx64.efi
  • shim .sbat contents accurate? Yes
shim-review$ objdump -s -j .sbat shimx64.efi

shimx64.efi:     file format pei-x86-64

Contents of section .sbat:
 cd000 73626174 2c312c53 42415420 56657273  sbat,1,SBAT Vers
 cd010 696f6e2c 73626174 2c312c68 74747073  ion,sbat,1,https
 cd020 3a2f2f67 69746875 622e636f 6d2f7268  ://github.com/rh
 cd030 626f6f74 2f736869 6d2f626c 6f622f6d  boot/shim/blob/m
 cd040 61696e2f 53424154 2e6d640a 7368696d  ain/SBAT.md.shim
 cd050 2c312c55 45464920 7368696d 2c736869  ,1,UEFI shim,shi
 cd060 6d2c312c 68747470 733a2f2f 67697468  m,1,https://gith
 cd070 75622e63 6f6d2f72 68626f6f 742f7368  ub.com/rhboot/sh
 cd080 696d0a73 68696d2e 756f732c 312c556f  im.shim.uos,1,Uo
 cd090 732c7368 696d2c31 352e342d 312c6d61  s,shim,15.4-1,ma
 cd0a0 696c3a73 65637572 65626f6f 7440756e  il:secureboot@un
 cd0b0 696f6e74 6563682e 636f6d0a           iontech.com.

@christopherco
Copy link
Contributor

Will just need another reviewer to check and confirm.

@uos-secureboot
Copy link
Author

@steve-mcintyre Please review the submission again, thank you

@Doncuppjr
Copy link

How does the PC storing you key meet FIPS 140-2 Level 2 security standards?

@uos-secureboot
Copy link
Author

How does the PC storing you key meet FIPS 140-2 Level 2 security standards?

Purchase a certified HSM

@steve-mcintyre
Copy link
Collaborator

All looks good here - checked patches, SBAT, reproduces OK.

@steve-mcintyre steve-mcintyre added the accepted Submission is ready for sysdev label May 20, 2021
@Zeno-sole Zeno-sole mentioned this issue Aug 19, 2021
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Submission is ready for sysdev
Projects
None yet
Development

No branches or pull requests

5 participants