-
Notifications
You must be signed in to change notification settings - Fork 130
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.7 for 10ZiG Linux #326
Comments
|
Hi Dennis, thanks for your time. |
Hi all, I just changed the certificate (as reported by https://github.com/dennis-tseng99), changing the validity from 100 years to 10 years. The new tag is https://github.com/ClaudioGranatiero-10zig/shim-review/tree/10zig-shim-x64-20230328. If I understood correctly, we need to provide proof of our PGP identity, so we're waiting for a verification message. Thank you. |
Hi all, please, can someone (@dennis-tseng99, maybe) check our contact references, so we can advance on the review queue? |
If I understand correctly, you're using Debian's GRUB2 implementation as well as the mainline 5.15 kernel with only these tweaks:
If this is correct, then I'd like to remind that they need to have NX support as issue #307 says. Debian shall have this in their GRUB2 builds soon so keep an eye out for it, but the mainline kernel 5.15 will need to have an additional patch. Use the Also, I know that there is indeed a demand for the Debian's GRUB2 implementation to support NX and just FYI, I've been asking around, what can be done to speed up the process. |
Thank you @aronowski! |
Forced NX_COMPAT in kernel 5.15.39:
Updated README.md and referenced tag. |
@aronowski , do you think a binary-modified GRUB is a viable solution in the meantime? I've found a way to change the DllCharacteristics of GRUB2 from the extern (with this program: https://blog.didierstevens.com/2010/10/17/setdllcharacteristics/).
Do you (or any other reviewer) think that this is acceptable as a temporary solution until Debian implements it natively? |
Both the kernel and grub need very substantial patch sets to enable NX support. |
@julian-klode , thanks to comment. |
@ClaudioGranatiero-10zig Debian got their shims signed 2 months ago so the conclusion is that the support needs to be promised to be added in the future. Or, if that's not acceptable, a permission needs to be obtained from Microsoft like Oracle got in their reviews (1, 2). |
You might run into issues with your embedded certificate because:
Also as already mentioned the validity is rather long. While no component to my knowledge enforces the time validation, can you limit it 20-30 years, which seems to be common. |
Hi @THS-on, thanks for taking the time to look at our request.
Thanks. |
@ClaudioGranatiero-10zig indeed the new certificate has a lifetime of 10 years. Regarding CA certificates) What you refer to are EV certificates. Those are used to prove that your legal entity exists, e.g. for singing software. You'll need one for submitting the shim to MS. How did you generate the certificates? Here is an example OpenSSL configuration that sets the attributes:
Now to generate an test key and certificate which is self-signed from that you can use:
I've tested a shim + GRUB2 using such a certificate using QEMU and EDK2 and it seems to work fine. |
@THS-on thank you for your exposition on certificates, I'm quite new to all this, but I'm trying to learn. By the way, I'm trying to arrange to be in Brusselles for Fosdem in February, hope to see some of you guys there. |
rhboot#326 (comment) as reviewed from https://github.com/THS-on: - New certificate (CA, keyUsage and extendedKeyUsage) - smoe updates to Dockerfile deleted: 10ZiG_SecureBoot2023.der new file: 10ZiG_SecureBootCA_RootCA.der modified: Dockerfile modified: build.log modified: shimx64.efi
Please @THS-on (or everyone else reviewing), take a look at https://github.com/ClaudioGranatiero-10zig/shim-review/tree/10zig-shim-x64-20231006, where I updated the certificate as suggested. |
@ClaudioGranatiero-10zig thanks for updating the certificate. Doing an initial look at the submission, can you explain in more detail why you cannot use the shim + GRUB2 + kernel from another distribution?
|
Sure: the reasons for a custom kernel are mainly three:
|
Yeah I think point 3 is the main thing here. There is a trade-off between splitting the products in two and maintaining your own builds of shim, grub and kernel. |
Please @THS-on, there's something else I need to answer? I see the tag "question" is still there... |
For now that's all. I'll try to do a full review in the next couple of days. |
Review for
|
Hi @THS-on, sorry for the inconvenience regarding the cert's validity, I missed the "-days" parameter on generating the new cert... Amended on the new commit. Regarding GRUB: as you suggested, I downloaded the package 2.06-13+deb12u1 from debian repositories (http://security.debian.org/debian-security/pool/updates/main/g/grub2/grub-efi-amd64-bin_2.06-13+deb12u1_amd64.deb ): I extracted and signed directly the monolithic binary as is, no need to change modules or recompile, just the binary. I add this to git. grubx64.efi: file format pei-x86-64
And this is the shimx64 one:
As for the kernel source: at the moment we don't have a public repository for sources, but I think that if it's needed we can arrange something. Please, update your review to the latest 10zig-shim-x64-20231017 tag. Thank you Thore for your time and patience. |
|
Hi @THS-on, thanks for the review. |
I just amended the README.md with the link to our Linux kernel repo (https://github.com/10ZiG-Technology/linux). |
@THS-on, there is something else I can do to go further on? Thanks. |
@ClaudioGranatiero-10zig I'll try to take a closer look hopefully this week again. What you can do is to look at the issues with "extra review wanted" and check their submissions (is the shim reproducible, does the SBAT entries look good, where does the GRUB come from, does the certificate match and how are keys managed etc.). |
@THS-on: message received, I'll try to squeeze some review between my "official" tasks. |
Review of
|
Thore, thanks for the updated review.
|
For my contact verification: computerization |
Resend contact verification for Kevin Greenway [email protected] with new PGP key (1D7E 0F09 AF6C 117F 9914 BFF3 4AFD D3B9 069C D9C2) |
Kevin's verification: savers |
Please, can some of the peer reviewers take a final look at this issue? We're waiting only for an extra review before we're ready to go... thanks to all for the work already done. |
@ClaudioGranatiero-10zig, I'll try to write a review this week. Have been struggling with several personal things, but most of them have been resolved and I should have more time for that. Thank you for the updates and for helping out with peer-reviewing other applications. I appreciate that. |
Review done, checksum matches, seems alright! Accepting. Thank you for the patience. |
Thank you all for your effort! |
What is the status of this? Did you get a signed shim back or are you creating a new submission for 15.8? |
Hi Thore, not yet uploaded to Microsoft (we're trying to obtain an EV certificate and have a bunch of other priorities). So, I think we'll create a new submission as soon as the EV cert arrives. |
New submission created here: #376 |
Yes I'll close this one. |
Confirm the following are included in your repo, checking each box:
What is the link to your tag in a repo cloned from rhboot/shim-review?
https://github.com/ClaudioGranatiero-10zig/shim-review/tree/10zig-shim-x64-20231120
What is the SHA256 hash of your final SHIM binary?
102a7ba88a13c3bc88cd6d4c30e39d78946c62776779bc228a5d309edb4a84d8
What is the link to your previous shim review request (if any, otherwise N/A)?
N/A
The text was updated successfully, but these errors were encountered: