-
Notifications
You must be signed in to change notification settings - Fork 0
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
Drop builtin shell from release UEFI images #1218
Comments
@mkopec at some point you have mentioned that perhaps dropping memory access command may also be a way here. Are we aware of others practical bypass methods if we exclude the memory management commands @mkopec @krystian-hebel ? |
There are few commands that allow for installation of UEFI drivers, I don't know if they can load them bypassing SB or not. |
One can even load an OptionROM. |
The default policy for images from mass storage is to I think we can remove the shell pretty safely, if it's needed by users or by us for testing, it can easily be installed to the ESP. |
IIRC we're using it also for testing SB itself, so it would have to be signed. Of course, we don't want to have it signed with release keys, so some tests or their order may require changes, so that the shell key is installed for those tests. |
SB tests are just trying to boot signed and unsigned images. This can be done from the setup menu itself |
It also compares the output, which may be fine for platforms with UART, but not for manual tests. I recall that in case of error it returns to the setup menu without any delay, but maybe I'm misremembering something. |
Hmm I think the last time I ran into this, the error message was followed by |
It retrurn immiedietly, but still I don't see reason why "Active Debug Code" would be absolutely necessary for us to do tests. If that is problem we should change tests. In most cases we want to test system in production state. Last resort one who would need shell for something have to disable secure boot or sign it plus enroll required keys. Please let me know if I'm missing something. |
One can simply plug an USB with signed and unsigned BOOTX64.efi file. The boot manager should still print Access Denied and whether signatures are missing or are invalid: https://github.com/Dasharo/edk2/blob/dasharo/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c#L2027 But it has to be booted from BootManagerMenuApp rather than setup I think. |
What about iPXE? Is version in our releases signed? Does it block attempts to boot anything else than properly signed UEFI binaries? |
IIRC it does not work with SB, but I do not remember on which stage. Probably loading OS? |
@macpijan I managed to make DTS work with SB via iPXE (on QEMU):
I think more advanced use cases could also be made to work e.g. with shim: https://ipxe.org/cmd/shim It's probably not good issue to discuss this more but maybe we could release UKI EFI binaries in e.g. wic (those would be without rootfs) and on |
This PR drops the SHell globally by default in our builds: Dasharo/coreboot#613 |
Component
Dasharo firmware
Device
other
Dasharo version
All
Dasharo Tools Suite version
No response
Test case ID
No response
Brief summary
Potential to allow for SB bypass.
Resources:
How reproducible
No response
How to reproduce
Enter boot firmware boot manager
Expected behavior
UEFI shell is not present in boot manger
Actual behavior
UEFI shell is present in boot manager
Screenshots
No response
Additional context
No response
Solutions you've tried
No response
The text was updated successfully, but these errors were encountered: