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 EgoSecure #169

Closed
9 tasks done
EgoSecure opened this issue Apr 22, 2021 · 3 comments
Closed
9 tasks done

Shim 15.4 for EgoSecure #169

EgoSecure opened this issue Apr 22, 2021 · 3 comments
Labels
accepted Submission is ready for sysdev custom second-stage Second-stage image is not GRUB

Comments

@EgoSecure
Copy link

EgoSecure commented Apr 22, 2021

Make sure you have provided the following information:

What organization or people are asking to have this signed:

EgoSecure is European software vendor developing Data Security products
https://egosecure.com

What product or service is this for:

EgoSecure Full Disk Encryption

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 use 15.4 shim release 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:

EgoSecure Full Disk Encryption secures data on laptops by applying sector level encryption with Pre-boot authentication. We need to be signed because we want to distribute our product to our end users across the world. Our Pre-boot authentication has to support Secure Boot. We have used a Microsoft SecureBoot signed Shim since 2018

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

The private key is stored on hardware token with restricted 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 ?

Not used

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

Yes, this patch is included and applied

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 ?

GRUB bootloader is not used

"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

shim:
shim.egosecure,1,EgoSecure GmbH a Matrix42 Company,shim,15.4,https://egosecure.com

Were your old SHIM hashes provided to Microsoft ?

Yes

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 ?

GRUB bootloader is not used

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 ?

GRUB bootloader is not used

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

GRUB bootloader is not used

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

The SHIM launches our pre-boot authentication component (custom second-state loader) that can perform user verification, system decryption actions, and boot a Windows OS or Linux kernel.

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

GRUB bootloader is not used

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.

GRUB bootloader is not used

How do the launched components prevent execution of unauthenticated code?

The integrity of each file in our boot chain is verified by checking the validity of the digital signature using shim's protocol. All our componets have digital signature

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?

Linux kernel 5.5.7, which has the all the required patches to enforce the secure boot

What changes were made since your SHIM was last signed?

Update shim version to 15.4

What is the SHA256 hash of your final SHIM binary?

2995bb22bf65facfe0601214dba68e05cca8647c79e8461e320b8983d6067077

@steve-mcintyre steve-mcintyre added the custom second-stage Second-stage image is not GRUB label Apr 24, 2021
@steve-mcintyre
Copy link
Collaborator

Shim build is reproducible
SBAT data looks ok
Obviously, no grub to look at

You might want to check on the shim 15.4 issues list (#165) - do you care about any of the issues there?

Happy to approve once you've checked on those

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

EgoSecure commented Apr 26, 2021

Shim build is reproducible
SBAT data looks ok
Obviously, no grub to look at

You might want to check on the shim 15.4 issues list (#165) - do you care about any of the issues there?

* You're not building for ia32, so #357 won't matter for you

* No aarch64, so ditto not #366

* You're not going to be playing with mokutil I guess? (#362)

* Do you care about older EFI implementations booting OK? (#357)

* You might need to pull the fix for #361

Happy to approve once you've checked on those

@steve-mcintyre
Thank you. We have checked this issue list and added some patches from shim upstream:
Don't call QueryVariableInfo() on EFI 1.10 machines
Fix a broken file header on ia32
Fix handling of ignore_db and user_insecure_mode
mok: allocate MOK config table as BootServicesData
Now we need shim only for x64 platform and without mokutils. But we have added these patches too (maybe it will necessary in the future).
Scripts were updated to build shim with added patches. So you can check the reproducible build again.
New shim.efi sha256 is 2995bb22bf65facfe0601214dba68e05cca8647c79e8461e320b8983d6067077

@steve-mcintyre steve-mcintyre added accepted Submission is ready for sysdev and removed question Reviewer(s) waiting on response labels Apr 26, 2021
@steve-mcintyre
Copy link
Collaborator

All done :-)

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 custom second-stage Second-stage image is not GRUB
Projects
None yet
Development

No branches or pull requests

3 participants