-
Notifications
You must be signed in to change notification settings - Fork 131
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 openSUSE Tumbleweed #333
Comments
I can see you shim now supports NX. Great job! When it comes to further NX support in your bootchain I hope the official reviewers as well as Microsoft won't mind that it's still in WIP state according to the official message from @julian-klode:
With the Almost everything's fine in this review apart from the one thing I must admit - the build does not reproduce. I tried both Podman and Docker and get the messages
|
ouch, not exactly a small problem. I tried it yesterday and it worked for me. I'll check it out and will report back here. Thanks for your work! |
The fixed version of the image in the Dockerfile caused this problem. I apparently still had it cached. I pushed a single line change and tested the build on a fresh Fedora VM. Can you please try again? |
Switched to the branch Great job and wish you all the best! |
The tag was already updated. Thanks for your review, I appreciate the feedback! |
I've added the aarch64 shim to this review request. For that I adjusted the Dockerfile to be arch independent, added the shim binary and build log and added the relevant hashes. |
Is there anything I can do to speed up an official review for this issue? |
Reproduced the binary with latest repo version, the hashes matches the review. |
thanks. Can an official reviewer please approve the request? This is open for over two months. If there's anything to help this along please tell me what to do |
Let me try again. Is there anything I can do to speed this along? If the project needs help openSUSE can support here, but every attempt to help out with reviews didn't work out AFAIK |
So the thing is, when I submit a shim, then I review 2-3 other shims, but if nobody is submitting shims who can accept your shim, or accepts shims out of order, it doesn't matter how far up on the queues you are. |
Thanks for the clarification, Julian. In regard to this part of the answer:
I can see there's one more thing that could be done to speed up the reviewing process, if peer reviews don't count (only helping out clearing some errors, if there are any) and some contributions take time to be brainstormed and integrated, like these ideas. In regard to what you wrote circa 3 years ago, that is:
I was surprised by being instantly recognizable when emailing some people about private things unrelated to the bootloader-related processes, so I suppose that some trust has indeed been earned throughout all this time. So right now, considering the aforementioned trust, I suppose the only way to speed up the process is to become an official reviewer myself. Please, give me a hint on how to accomplish this—is there a procedure at Microsoft somewhere that I wasn't following, or should I do something else, like attend FOSDEM, CCCamp or other meeting and present in person in real time the experience with bootloader-related technical stuff and reviewing requests for signing shims? I account for the possibility of this being allowed to only be talked about in private; therefore, both my work and private email addresses are out there (the latter being directly at my GitHub profile and throughout most contributions), and the public GPG keys are uploaded to keyserver.ubuntu.com. |
The peer reviews may help to get it in shape, but it doesn't really matter much if we never get the stamp of approval from an authorized reviewer. |
Being in the same boat as @jsegitz and @aronowski , just having crossed the 5 month mark with no "official" response whatsoever on our shim-review issue, but seemingly also no progress on other review requests, no matter whether the new vendor actively reviewed other requests or not, I feel like there is some sort of impasse reached. I (or rather, my employer) would happily allocate a few hours for updating our own request and doing spot checks and asking dumb questions on others (dumb given my limited knowledge of RHEL-based distros, and most review requests being based on that or something custom entirely) - if there was some kind of indication that those hours were well spent and the result would help. Even some sort of clarification in the form of "if you want your shim implementation to get reviewed, you need to commit X hours of review time over a certain period of time", or "review X other requests for each one you submit", or some other form of ensuring the backlog cannot grow indefinitely and then following through on that would be helpful. The backlog for new-vendor shims is now already almost 9 months (the last new vendor that got accepted was LUX 1.0, with the review started on Dec 16th last year, and acceptance in Feburary this year). I am grateful for all the time and energy people have spent and are spending on shim and secure boot related things for the FOSS world (and I know it's not a thankful job, I develop and maintain FOSS software both for a living and in Debian in my spare time ;)) - but it also seems to me that the process is (somewhat) broken at the moment, which is frustrating for both sides. This is not intended as a critique of the people involved, but rather of the current way the process works (or rather, does not). If Microsoft does not want to sign (Linux) bootloaders except via shim(-review), but shim-review makes no progress reviewing new vendors over a long period of time, this effectively means smaller or newer distros that came late(r) to the party are blocked from implementing (user-friendly/out-of-the-box) secure boot for the foreseeable future :-/ |
The submissions only mentions fwupd as an additional component (but also lists sbat for fwupdate?), but SUSE folks in Berlin today said that you started signing systemd-boot as well, can you confirm whether this applies to Tumbleweed or which other (open)SUSE flavours? |
yes, that is true nowadays. This has been in the queue for so long that now that this isn't up to date anymore. Thanks for the hint, I'll adjust it in the repo. This could apply to all openSUSE flavors, as we reuse the shim, although I think it's unlikely that this will be backported to anything besides Tumbleweed |
In regard to the recent comments, I'll perform another review as soon as possible, once I'm informed about the adjustments being right there in a fresh tag. |
Thank you. I've updated the information and force-updated the tag |
A proper review shall arrive soon. It's tough for me to test out everything in certain conditions such as boarding a train, i.e. with an unstable Internet connection and timeouts. For now let's focus on these:
|
I tried to rebuild the binaries with
AFAIK that hash should be the same as in the review application. The file build_log.x86_64 mentions May 8, 2023:
So did the build environment change in the meantime, so the result (Authenticode hash) changed too, or is there a misunderstanding on my side? |
thanks your for taking the time to look into this. As for the questions:
I used a fixed container image for a while but that actually caused some issues for me because the images vanish, so I reverted to this. I can change it for this submission, but in my experience the images will be not available after a relatively short time anyway and then the submission is "broken" even though it would properly build on a more recent image
It's the same team behind those addresses
I assume you mean: Do you use an ephemeral key for signing kernel modules?If not, please describe how you ensure that one kernel build does not load modules built for another kernel.We don't use ephemeral keys for signing kernel modules and ATM don't have a mechanism to prevent them from being loaded by another kernel. That would also be unfortunate for our setup if this would be required |
I'll look into the build issues you described. Last time I tried it worked for me, but unfortunately it can change with time, yes :( |
So the hashes you get for x86_64 are the new, correct ones with the current state. Unfortunately the aarch64 emulation is very slow so I don't have the proper hashes there yet. I'm away until Wednesday and will then update the issue with the current values and tag you here |
Thanks for the feedback! Please ping me once either everything has been fixed or I should help with some of the implementations.
I know that feeling. ;-) |
@aronowski so the long weekend (public holiday on Tuesday in Germany) helped with the awfully slow build process ;) I've updated our submission to have current build logs, hashes and a minor change in the shim package (just something in the packaging, doesn't change the resulting binary). Would be great if you could have a look again |
Apologies for the late reply. Managed to reproduce the x86_64 build, the checksum does match. 👍 I'll perform a thorough review and verify the aarch64 build as well in near future - I'll try my best to do it this Friday or next Monday. |
thank you very much :) |
Managed to reproduce the aarch64 build, the checksum does match. 👍 I'm just worried about the fact that the buildroot might change in the near future, so there'll be a need to update the checksums again. Maybe we could think of freezing the packages required to build such a crucial component, similarly to how Ctrl IQ did it? Furthermore, the same feeling in regard to the ephemeral key used for signing kernel modules. I'd be happy to help out with implementing this feature into the compilation/build process, but there's the matter of arranging time and space to work on this. I'll be kind of tied up at least the next week. Let's wait for another reviewer to take a look and suggest an optimal solution. Feel free to ping people out there for assistance. |
Thank you for your review. As for the stable repo: That would be quite a number of packages as the whole build toolchain would need to be included. The checksums are stable over months, so my hope would be that we get this review process to a speed so that changes on the distros side aren't as much of a problem. |
I'm not an authorized reviewer, I'm just trying to help and learn. sha256:
Build is reproducible, sha256 is confirmed. Obj Alignment:shim-opensuse.efi
Alignement is ok. DllCharacteristics:shim-opensuse.efi
NX_COMPAT is enabled. Sections:shim-opensuse.efi
Code section is not writable: OK SBAT:shim-opensuse.efi
SBAT seems ok to me. Certificate:
It's a CA, good ============================================ |
thank you for the review. Is there a chance that the official reviewers can approve this request? We have been without a fixed shim for a very, very long time now |
We should not be approving this shim until the systemd-boot questions have been merged which will not be happening this year, as so far we do not accept shims that trust systemd-boot. |
Without the update to the shim updating firmware with fwupd is broken
when secure-boot is enabled.
I think waiting with that for longer would hurt users experience more.
|
I am in a quite uncomfortable situation: On my company's laptop, I tried to install openSUSE Leap 15.5. After recognizing that this distro is far too old for my hardware, I switched to Tumbleweed. As a result, I cannot enable secure boot anymore. This is because Tumbleweed ships an older version of shim, which had already been revoked by the previously installed Leap distro. In order to solve this, I would have to reinstall Leap 15.5 and remove the older shim from the list of revoked shim versions (the older shim in Tumbleweed is not able to do this). After some hours of work, I (probably) could re-enable secure boot, but having a bootloader which isn't really secure anymore. I would be happy having a solution for this problem. |
@julian-klode Would you please point out the key point why this release is rejected ? Did you find something in shim.spec and changelog or anything else ? We will try to rectify them to let this release keeps going. Many thanks. |
It's not rejected but we can't approve it yet because we haven't merged the questions to be asked yet for systemd-boot. Yes you managed to backstab the process and secretly signed systemd-boot for the previous shim without approval but that doesn't mean we should just wave it through now without having the process in place to do this properly. So once #357 has been merged, some time after the holiday breaks, mid January, you'll be able to answer those additional questions. |
So much for this process than, if you take so long to review requests
users have to downgrade their security to not further downgrade their
experience and/or the security issues affected.
|
closing because we'll submit a 15.8 shortly |
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/jsegitz/shim-review/tree/SUSE-openSUSE_tumbleweed-shim-15.7-20230508
What is the SHA256 hash of your final SHIM binary?
x86_64:
hash: 3016c9a9dc256cdfa6b46e475303771621fd65bd07e5987b2a5b2b084a34e323
68f89f47ac03a1fb4428692fd95a86d46eaeee087e392725797e64605b804509
aarch64:
hash: 615aa39cfd278313c8317ae8cadd908aae25ace3edb04d8700639ad7898a952e
d47c2e2c3c28b27bbc9674a13d89818ba7455d127f0267e83cc6b0b5c3831ca2
******************************************************************************* ### What is the link to your previous shim review request (if any, otherwise N/A)?
#283
(and #329, see notes in the README)
The text was updated successfully, but these errors were encountered: