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 for Deepin #151

Closed
8 tasks done
deepin-secureboot opened this issue Apr 4, 2021 · 8 comments
Closed
8 tasks done

Shim 15.4 for Deepin #151

deepin-secureboot opened this issue Apr 4, 2021 · 8 comments
Labels
superseded Vendor has added a new review which makes this obsolete

Comments

@deepin-secureboot
Copy link

deepin-secureboot commented Apr 4, 2021

Make sure you have provided the following information:

What organization or people are asking to have this signed:

Deepin: https://www.deepin.org/en/

What product or service is this for:

Deepin 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:

Deepin is yet another linux distribution based on Debian GNU/Linux. It has been actively maintained since 2011. Deepin has kept in the top 20 on distrowatch for last few years. 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 5.10 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 Deepin specific.
Since most packages in Deepin 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.debian,1,Debian,grub2,2.04-17,https://tracker.debian.org/pkg/grub2
grub.deepin,1,Deepin,grub2,2.04-17,https://www.deepin.org/en/
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-debian,1,Debian,fwupd,1.5.7-3,https://tracker.debian.org/pkg/fwupd
fwupd-deepin,1,Deepin,fwupd,1.5.7-3,https://www.deepin.org/en/
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.debian,1,Debian,shim,15.4,https://tracker.debian.org/pkg/shim
shim.deepin,1,Deepin,shim,15.4,https://www.deepin.org/en/

All new UEFI binaries that are yet to be built with SBAT support will
follow the agreed SBAT variable pattern and we will add Deepin 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 grub2 2.04-17 , from Debian bullseye

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 Deepin 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?

5.10 with secure boot supported.

What changes were made since your SHIM was last signed?

No.

What is the SHA256 hash of your final SHIM binary?

fb250586f3f3079fd45e3e673f564e06f70a3ea98b710238428ff3641dcc348c shimx64.efi

@deepin-secureboot
Copy link
Author

Can the submission be reviewed

@miray-tf
Copy link

Looking at this issue and the commit 824902aa38fb2252a93d1f1d170534c90385faf4 https://github.com/deepin-secureboot/shim-review/tree/deepin-shim-15.4

Please use a tag to reference the commit in the review tree.
Please add the full version number of Debian Grub you use.
You mentioned that you keep Debian specific sbat entries. This is not this does not match with the sbat sections specified.

README.md:
Please use the latest Readme.md file and answer all questions in it.
Please add PGP keys to your security contacts.
The shim repo and commit hash do not reference Shim 15.4.
The referenced build log is different and seems to point to a shim 15.3 build

@deepin-secureboot
Copy link
Author

Thanks for your review, README.md has been updated.

We use grub2 2.04-17 , from Debian bullseye

We use Shim 15.4 to build

@steve-mcintyre
Copy link
Collaborator

Build reproduces fine here.

SBAT looks good in the shim binary, without the debian entry (good, I think it's better to stay separate).

Embedded CA cert looks OK, I think. Most people tend to use 2K RSA keys here but I don't expect problems with a 4K key. Have you tested this shim build to make sure things work OK?

You don't have any patches applied on top of 15.4, which is probably OK. But I'd recommend you review the list linked in #165 and double-check you're happy with that. You're only building for amd64, so the ia32 and aarch64 issues won't bother you. But you might care more about:

@steve-mcintyre steve-mcintyre added the question Reviewer(s) waiting on response label Apr 24, 2021
@steve-mcintyre
Copy link
Collaborator

oh, minor nit - your README.md says "Debian buster" but you're clearly using Bullseye. :-)

@deepin-secureboot
Copy link
Author

Thank you for your review, I will update the submission and README.md

@haobinnan
Copy link

New issue: #172

@steve-mcintyre steve-mcintyre added superseded Vendor has added a new review which makes this obsolete and removed question Reviewer(s) waiting on response labels Apr 25, 2021
@steve-mcintyre
Copy link
Collaborator

Superseded y #172

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
superseded Vendor has added a new review which makes this obsolete
Projects
None yet
Development

No branches or pull requests

4 participants