From: "Peter Müller" <peter.mueller@ipfire.org>
To: development@lists.ipfire.org
Subject: Can/should we prospectively drop various kernel capabilities related to firmware access?
Date: Sun, 05 Jun 2022 15:58:46 +0000 [thread overview]
Message-ID: <bfa5c6de-ffce-ce66-d252-f10a2c3ac743@ipfire.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 3629 bytes --]
Hello *,
a while ago, we tried to enforce an "integrity" lockdown of the kernel by enabling
LSM, and enforcing this mode through the kernel configuration. Ultimately, the latter
was reverted due to firmware flashing rendered unusable, since direct PCI access,
/dev/mem and various other sensitive functionalities were crippled by LSM.
The other day, I stumbled across https://eclypsium.com/2022/06/02/conti-targets-critical-firmware/,
and would like to take this article as an opportunity to discuss the kernel capabilities
we prospectively want to support in IPFire again. (A news comprehension of that article
is, for example, available through https://www.bleepingcomputer.com/news/security/conti-ransomware-targeted-intel-firmware-for-stealthy-attacks/.)
It is not news that ordinary threat actors are capable of deploying UEFI/BIOS rootkits.
The first UEFI rootkit used in the wild was spotted in 2018, and TrickBot features such
capabilities since 2020 at the latest. To the best of my knowledge, non-state backed
miscreants targeting things like Intel ME in "production", however, is a new development,
and certainly a worrying one.
When asked, we regularly state IPFire is not a general-purpose distribution, and
anything being too far from the duties of a firewall should be run elsewhere. (In my
perception, we do not state this bold enough, but let's leave that as it is for the
time being.) Following this principle, I would like to see things such as the multimedia
stack we currently support in IPFire 2.x go in IPFire 3.x. As for kernel capabilities and
attack surface, dropping virtualisation support would cause a more noticeable improvement,
but I am not sure if this is feasible even for IPFire 3.x.
However, with regards to firmware flashing capabilities, I am quite torn: On the one
hand, as stated in the aforementioned report, the threat of firmware implants being deployed
by cybercrooks en masse particularly _stems_ from firmware being outdated, and even
sensitive environments often remain vastly unpatched. Providing IPFire users with an
easy possibility of updating their firmware therefore is a good thing, presumed they
actually do so. (Which I doubt, given that even after five weeks, merely 40% of all IPFire
installations run on an up-to-date Core Update, according to Fireinfo. With less than
half of our userbase installing updates in a somewhat timely manner, I doubt the majority
of them will even consider firmware updating.)
On the other hand, if IPFire's kernel would lack abilities required to flash firmware,
deployment of UEFI/BIOS rootkits and eventually Intel ME/SMM implants would be significantly
hampered. From an academic standpoint, the little we support, the better.
Though, again, regarding post-compromisation activity, we have always preached that
IPFire is not intended to have any 3rd party code run on it. If an attacker manages to
do this somehow, it's curtains either way. More skilled threat actors are likely to bring
their own toolkit.
In my opinion, making decisions for IPFire 3.x is a bit too early, with the Pakfire Build
System being somewhat-ish working, and something like an 1.0 version of IPFire 3.x anticipated
by the end of the year (unforeseen incidents not taken into account). However, I think it
is good to have such debates on principles solved sooner rather than later, to avoid breaking
changes to security concepts being introduced in production. :-)
If anybody has some thoughts and opinions to share on this front, I am happy to hear them.
Thanks, and best regards,
Peter Müller
next reply other threads:[~2022-06-05 15:58 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-05 15:58 Peter Müller [this message]
2022-06-06 1:52 ` Tom Rymes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bfa5c6de-ffce-ce66-d252-f10a2c3ac743@ipfire.org \
--to=peter.mueller@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox