-
Notifications
You must be signed in to change notification settings - Fork 685
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
Update SecureDrop kernels to 4.14 series #4962
Conversation
Setting up a NUC5+NUC7 instance for extended testing now, if anyone else wants to grab the Mac Mini option please feel free. |
Note that before we merge this we have to, in order:
|
Some preliminary testing has already been done:
Once this is ready for review I will amend the test plan to clarify coverage and provide a matrix. Per the comment above, marking this as pending additional work, until steps 1 and 2 described above are completed. |
NUC5 booted and network up for me, NUC7i5BNH still failing at loading initrd. I'm gonna see if there's a BIOS update or something that I'm missing tomorrow. |
This is a huge milestone for security, as many feature flags relevant to security re: freedomofpress/kernel-builder#28 first appeared in 4.14. I see the config changed a little bit. Can we take care of freedomofpress/kernel-builder#28 with your initial release of 4.14 or should it be addressed in a follow-up? (I am considering submitting a patch to the config) |
Thanks @ageis for following up on this ticket, and for your contributions in other related threads. We have tried in the past to address most of the findings by the kconfig_check tool, but unfortunately result in a non-functional build. There are also sone settings that will always fail, as some grsecurity options replace/conflict with mainline kernel configs ( A locked down Kernel configuration provides defense-in-depth should an attacker gain code execution on the system, or exploit a known or unknown vulnerability in the software stack. While we do take every measure to prevent attacker code execution and very carefully update dependencies, it is a bit harder and more time consuming to test and improve the kernel configuration. Breakage can occur, and we have a few hardware targets that we officially support, which requires manual QA/testing on those platforms. For these reasons, I think an iterative approach is best here. You had opened in the past a PR against our build repo to improve some of those config flags in freedomofpress/ansible-role-grsecurity-build#34 . I will be porting those changes into freedomofpress/ansible-role-grsecurity-build#51 as a start. If these changes are successful, it will result in the following improvements, using https://github.com/a13xp0p0v/kconfig-hardened-check :
|
da891bc
to
0533bfb
Compare
This is now ready for review. As discussed in standup, in order to test this PR, we should:
|
Update strings to 4.14.152-grsec and speccify the localversion suffix -securedrop
Since we use CONFIG_PAX_KERNEXEC, it is recommended we pass noefi to the commandline as EFI runtime are mapped RWX.
0533bfb
to
1b9f81d
Compare
freedomofpress/securedrop-apt-test#21 has been merged, and new packages are now served via: https://apt-test.freedom.press/pool/main/l/linux-4.14.152-grsec-securedrop/ Waiting for CI to pass before proceeding with final review. |
- localname for kernel image is now <version>-grsec-securedrop, tests should now reflect this change - linux-firmware-image is no longer necessary, it is included in linux-image
5747bc9
to
aa2493d
Compare
CI is now passing @conorsch , ready for your final review. I have opened #4989 to track mitigations for CVE-2019-11135 . I propose we revert/address aa2493d there to ensure CI continues to work smoothly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. With #4989 tracking the small follow-up task, I'm satisfied with these changes going in as they are. Let's also make sure to coordinate additional hardware testing to get freedomofpress/ansible-role-grsecurity-build#52 in.
Update strings for 4.14.150-grsec, kernel configuration can be found in freedomofpress/ansible-role-grsecurity-build#51
Status
Order of operations before closing this PR:
4.14.152-grsec-securedrop
), ready for final reviewDescription of Changes
Fixes #4843
Testing
Deployment
New and existing installs will be updated via apt and unattended upgrades via cron-apt
Checklist
If you made changes to the system configuration: