|
|
Subscribe / Log in / New account

"Something has gone seriously wrong," dual-boot systems warn after Microsoft update (Ars Technica)

Ars Technica covers a recent update that is causing problems for users with systems that dual-boot Windows and Linux.

"Note that Windows says this update won't apply to systems that dual-boot Windows and Linux," one frustrated person wrote. "This obviously isn't true, and likely depends on your system configuration and the distribution being run. It appears to have made some linux efi shim bootloaders incompatible with microcrap efi bootloaders (that's why shifting from MS efi to 'other OS' in efi setup works). It appears that Mint has a shim version that MS SBAT doesn't recognize."

The reports indicate that multiple distributions, including Debian, Ubuntu, Linux Mint, Zorin OS, and Puppy Linux, are all affected. Microsoft has yet to acknowledge the error publicly, explain how it wasn't detected during testing, or provide technical guidance to those affected. Company representatives didn't respond to an email seeking answers.



to post comments

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 19:17 UTC (Wed) by mokki (subscriber, #33200) [Link] (22 responses)

Do I understand correctly that:
1. bad security bug was found from grub2 2 years ago
2. fixed grub2 was released 2 years ago
3. each operating system using grub2 has to patch their own grub2 version (there can be many Linux distros installed) *)
4. after they are all patched the BIOS hash denylist has to be updated **)
5. system is protected and both Linux and Windows work again correctly with secure boot.

*) Technically one OS could try update grub2 of other operating systems, but that is not polite and thus no Linux distro nor Windows attempts to do it.

**) If step 4 is not done, the system is vulnerable to anyone with a malicious USB stick.

Both Windows and any Linux distribution with fwupd installed has been prompting for users to do step 4 now for 2 years.
But to prevent the current mess, both Microsoft and fwupd try to detect if step 3 is done correctly. If they notice that there is an unpatched grub2 from a random Linux distribution still present in the system they block the BIOS update in step 4.

And this is how we got to this mess:
1. some distributions seem to be afraid to update their packages in their boot chain
2. thus many Linux users had to automatic way to make their system secure and the distributions did not want to prompt the users to fix manually their system security
3. (speculation) Microsoft had hard coded a list of vulnerable grub2 versions that prevent the system BIOS update and added a 2 year grace period to it after which the system will be finally secured, wrote a blog about it and trusted that all is good
4. users find out their system no longer boots to Linux and have to temporarily disable secure boot, and do the 2 year late patching of their grub2 versions

If people are angry at Microsoft, then how many years of grace time should they have given to Linux distributions?

I would rather ask, which distributions need to improve their process of updating their boot packages, that are important part of the whole system security. And also their prompting/nagging of users to apply updates might need improving.

As far as I know, Fedora patched the grub2 two years ago and installs it automatically, or at least I managed to update it easily for my 4 different systems when fwupd informed that it cannot update the BIOS block list until I do so.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 19:20 UTC (Wed) by shironeko (subscriber, #159952) [Link]

yeah, reads like not Microsoft problem tbh

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 20:15 UTC (Wed) by mjg59 (subscriber, #23239) [Link] (3 responses)

This is no longer handled by updating the denylist with a list of vulnerable binaries, since that turned out to be unscaleable. Instead the SBAT variable (https://github.com/rhboot/shim/blob/main/SBAT.md) is updated, and bootloaders compare that to embedded metadata in binaries before running them. In this case Microsoft updated SBAT to require grub binaries that declare they're new enough, and shim refuses to run old ones as a result. The update was only supposed to happen on systems that only had Windows installed (leaving it up to Linux distros to push updates for dual booting environments) but that appears to have not worked as intended. Firmware updates aren't involved.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 22, 2024 4:14 UTC (Thu) by mokki (subscriber, #33200) [Link]

I understand that the SBAT variable lives in the EFI data section of the firmware.
And you are correct that in strict sense one it can be seen as not part of firmware because updating it has been standardized to not require support from motherboard manufacturer.

But from users or Linux OS point of view I would still say that we update the BIOS when SBAT is changed because the data lives in the NVRAM chip.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 22, 2024 15:12 UTC (Thu) by paulj (subscriber, #341) [Link] (1 responses)

So the security of this system is now in large controlled by a string variable in the source-code that produces the binary?

We've spent decades helping Microsoft to build a walled-garden on UEFI systems ("Oh, but you can turn it off!", uhm, so how do I do so on this ARM tablet I have here?), and now a step of the chain-boot is to verify a.... non-HMAC string?

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 22, 2024 15:17 UTC (Thu) by pizza (subscriber, #46) [Link]

> and now a step of the chain-boot is to verify a.... non-HMAC string?

That string is part of a larger, already-authenticated binary.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 20:16 UTC (Wed) by mussell (subscriber, #170320) [Link] (16 responses)

Alternatively we could just prompt users to disable the so-called "secure" boot as Jia Tan showed us that simply checking a signature is not security, and Crowdstrike has shown us that bad (properly signed) kernel drivers are a bigger threat than unsigned versions of GRUB. Anyone with enough access to plug a malicious USB stick in has enough access to reboot into setup to disable secure boot as almost every user does not set a BIOS password, so I don't see what threat this stops.

I have been running systems without secure boot for decades and I have never been hacked. What exactly am I supposed to be worried about?

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 20:36 UTC (Wed) by NightMonkey (subscriber, #23051) [Link] (1 responses)

> I have been running systems without secure boot for decades and I have never been hacked. What exactly am I supposed to be worried about?

This. Is there a clear exploited-in-the-wild path that makes "secure boot" worth the effort and risk?

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 21:08 UTC (Wed) by mjg59 (subscriber, #23239) [Link]

There's a known example of malware taking advantage of a vulnerable Windows bootloader to circumvent secure boot, something that would be entirely unnecessary if secure boot didn't exist, so yes.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 20:52 UTC (Wed) by intelfx (subscriber, #130118) [Link] (4 responses)

> I have been running systems without secure boot for decades and I have never been hacked

Are we supposed to base our security decisions on a single anonymous anecdote on the Internet?

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 22, 2024 6:25 UTC (Thu) by k3ninho (subscriber, #50375) [Link] (3 responses)

>> I have been running systems without secure boot for decades and I have never been hacked

>Are we supposed to base our security decisions on a single anonymous anecdote on the Internet?

The survivor bias needs to be called out, too, but the core rhetorical stance is at least asking "what am I missing?"

Survivor Bias: thinking a failure mode is not likely to happen to you because it's never happened to you before now.

K3n.

Not Survivor Bias

Posted Aug 22, 2024 13:38 UTC (Thu) by linuxrocks123 (subscriber, #34648) [Link] (2 responses)

This is not survivor bias at all. For this to be survivor bias, people like mussell would have to no longer have been alive to post on the Internet had their computers been infected with malware, such that we were only likely to hear anecdotes from those who hadn't been infected with malware. That is not the case here since computer viruses do not kill their operators.

Not Survivor Bias

Posted Aug 22, 2024 13:39 UTC (Thu) by linuxrocks123 (subscriber, #34648) [Link]

Also btw it's typically "survivorship bias."

Not Survivor Bias

Posted Aug 23, 2024 21:12 UTC (Fri) by NYKevin (subscriber, #129325) [Link]

Survivorship bias does not literally refer to people dying (see e.g. https://xkcd.com/1827/). It refers to objects being removed or excluded from a sample space in a way that is correlated with some pertinent variable. In the case of the linked comic, people who did not win the lottery generally do not give talks about that fact, so you're more likely to see such talks from people who did win the (literal or metaphorical) lottery. In the case of the GP comment, people who turned off Secure Boot and got hacked may or may not even recognize that that was the cause of the hack in the first place, let alone go on the internet to leave comments about it.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 20:58 UTC (Wed) by dskoll (subscriber, #1630) [Link] (7 responses)

One scenario that you might worry about is PCs that have physical access by not entirely trustworthy people. Think library catalog workstations or Internet access machines, for example.

This is very difficult to defend against for sure, but secure boot is a part of the defense.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 21:13 UTC (Wed) by yeltsin (guest, #171611) [Link] (5 responses)

What stops you from booting a signed image of any Linux distribution and doing whatever you want to that system? A more effective way would be to set a BIOS password and lock down the boot menu, which does not require "secure" boot, and I'm not sure how it can help here. Or hide USB ports completely, if possible (I've seen systems where they were filled with glue to stop people from bringing in malware on USB sticks).

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 21:16 UTC (Wed) by mb (subscriber, #50428) [Link] (4 responses)

>What stops you from booting a signed image of any Linux distribution

The UEFI boot source settings.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 21:26 UTC (Wed) by yeltsin (guest, #171611) [Link] (3 responses)

That's what I wrote though.

And "secure" boot helps here… how? Either you allow booting from USB devices (and other sources), and the bad guy can boot into any signed image, even if it's the Windows installer (where you can get a shell and do whatever to the system), or you don't snd secure boot is simply unnecessary.

I'm not claiming the world doesn't need it, but I haven't found a use case for it during the 10 or 12 years it's been around, and remembering how much concern it raised when it was introduced I have a feeling we somehow talked ourselves into believing it's a good thing since it was forced down upon us.

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 21, 2024 21:30 UTC (Wed) by mb (subscriber, #50428) [Link]

>And "secure" boot helps here… how?

It's not supposed to.

BitLocker encryption

Posted Aug 22, 2024 15:32 UTC (Thu) by pflugstad (subscriber, #224) [Link] (1 responses)

On my work laptop, secure boot uses the TPM to do BitLocker encryption of the C: drive.

If I disable secure boot, I no longer have access to the TPM keys, so I cannot access the C: drive.

I'm sure there are holes in this, but I think that's the main reason.

So this makes your basic evil maid attack more difficult.

BitLocker encryption

Posted Aug 23, 2024 21:40 UTC (Fri) by NYKevin (subscriber, #129325) [Link]

It's not just evil maid, it's (nearly) the entire category of attacks that involve physical access to storage media (i.e. almost all of the things that full disk encryption is normally designed to protect against). Your device's TPM ensures that it can only be decrypted when it is booted "properly." The operating system then demands your password before you may log in (and probably implements rate-limiting and other protections).

The upshot is that you only have to type your password once (at login time) instead of twice (once at boot to decrypt, and then once at login), while still getting nearly all of the protection of full disk encryption, plus rate-limiting and some ability to deploy additional countermeasures in software (e.g. you can remotely log all login attempts, remotely wipe lost or stolen devices, etc.). While businesses generally tend to be more interested in those use cases than consumers, end users do benefit from smartphones becoming harder to steal.

The only attack I can think of that fails against traditional full disk encryption but might succeed against TPM-based encryption is a cold boot attack. Apparently at least one group has demonstrated[1] that this is possible. But that paper was presented over 15 years ago,[2] so modern systems might use TPMs differently. On top of that, modern smartphones are accidentally highly tamper evident (because manufacturers value thinness over repairability and use glue instead of more reasonable construction techniques).

[1]: https://www.usenix.org/legacy/event/sec08/tech/full_paper...
[2]: https://www.usenix.org/legacy/events/sec08/sec08_sponsor.pdf

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 22, 2024 0:53 UTC (Thu) by raven667 (subscriber, #5198) [Link]

I don't think SB is meant to protect against an attacker with physical access, it's a minimal protection from your common malware to prevent it from routinely subverting your firmware and early boot before you can get any kind of anti-malware defense running, relegating that kind of APT to well funded nation states, rather than having every one be persistent and unremovable across wipe and reinstall. It's not intended to make Linux more difficult, just makes boot changes harder to hide

This is only a risk for Linux users that have not patched their boot packages in the last 2 years

Posted Aug 22, 2024 1:44 UTC (Thu) by geofft (subscriber, #59789) [Link]

The point of secure boot, at a first order of approximation, is to make sure that malware is removable. If something does infect your computer, you want to be able to (ask a technically knowledgeable friend to) boot off a recovery USB stick/CD/etc. and run a malware cleaner or at least wipe and reinstall the OS and recover your files from backup. If you add a layer of security between the firmware and bootloader on one side and the rest of the OS on the other side, and you make sure the attack surface of that layer is relatively small, you can be pretty confident about this.

Secure boot is not intended to protect against remote / network attacks, and it's also not intended to protect against physically-present attackers. It's intended to protect against malware that's already on your device from gaining additional local powers to make itself persistent. So the fact that you haven't been hacked isn't really relevant to whether you run secure boot; secure boot only applies once you've been hacked. And I suspect that the median LWN commenter who has skepticism about security models is unlikely to let consumer-grade malware get onto their system in the first place, for many reasons, including basic awareness that phishing is a thing. (I think this is true even given that said median commenter is much more likely than the median computer user to run random code from not-super-trustworthy sources, in the sense that the median LWN user tends to compile things from source by running a ./configure generated by someone else that they haven't read and understood in its entirety.)

However, the median Windows user very much is likely to let consumer-grade malware get onto their system despite the best efforts of UAC and code signing requirements and all that, and I think it is reasonable for the major Linux distros to consider their median user these days as closer to the median Windows user than the median LWN commenter. So it seems absolutely reasonable for Windows and mostly reasonable for Linux distros to default to setting up secure boot.

(Signatures by themselves are indeed not security, which is why secure boot has always come with a revocation mechanism, and the issue at hand is about invalidating existing bootloaders with valid signatures. On a machine with secure boot, kernel drivers do not have firmware access, so an exploit that gets you code execution in GRUB is actually more meaningful than an exploit that gets you code execution in the booted kernel. While the situation isn't really analogous in either direction, I would say that the fact that the Crowdstrike outage was resolvable by rebooting your machine about ten times to get it to download the un-botched update is an argument that protecting the integrity of the boot process is valuable even when you've lost kernel integrity.)

Users are willing to accept anything from Microsoft anyway

Posted Aug 22, 2024 6:53 UTC (Thu) by wtarreau (subscriber, #51152) [Link] (12 responses)

As long as users / consumers will find it normal that a single company dictates what is an acceptable operating system to run on your own hardware and what is not, this will never change.

I love the sentence: “You might find that older Linux distribution ISOs will not boot. If this occurs, work with your Linux vendor to get an update.”

In short: "if for any reason (data recovery, compatibility testing etc), you need to boot from a previously working system image on this machine, you may no longer be allowed to, as we're now officially making all your past software end-of-life on your own hardware, thank you very much for trusting us".

Users are willing to accept anything from Microsoft anyway

Posted Aug 22, 2024 7:46 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (11 responses)

If the security model of secure boot doesn't make sense for you, you can turn it off. If it does make sense, revoking vulnerable bootloaders is probably the desirable behaviour.

(Is secure boot being on by default a sensible choice? I think there's a perfectly reasonable argument to be had about that, but given that's where we are I don't think this is a surprising outcome)

Users are willing to accept anything from Microsoft anyway

Posted Aug 22, 2024 12:59 UTC (Thu) by wtarreau (subscriber, #51152) [Link] (10 responses)

Initially there were machines on which you couldn't turn it off. And even now, I think that its sole presence is sufficient to encourage software vendors to pressure users to enable it. It just trains users to find it normal to beg microsoft to permit them to use their OS of choice on their hardware, give full-power to some vendors whose software refuses to start without it, fearing that you might have hacked the OS (but if the OS is hacked and allows to run a hacked executable that doesn't perform the check anymore that's probably the same), and doesn't protect against real world attacks that come over the network as "security updates" (cf: the crowdstrike mess which shows how the cybertheater junkies and their lawyers managed to scare enough CISOs to make them run whatever code downloaded from the net in kernel mode on their system).

Overall users are progressively getting used to lose any rights on their hardware. If such a crap had existed 33 years ago, Linux would never had existed in the first place, windows would be mandatory everywhere and everyone would find this normal.

Users are willing to accept anything from Microsoft anyway

Posted Aug 22, 2024 13:36 UTC (Thu) by yeltsin (guest, #171611) [Link] (1 responses)

It's unfortunate we do not have a relatively neutral non-profit like the Linux Foundation to oversee these things. In a perfect world a vendor of a commercial operating system would never be allowed to gatekeep the boot process like that, especially when it maintains a monopoly on a heavily used and important subset of computing.

When it was introduced, the BIOS vendor was supposed to allow the user to disable SB or be able to install their own certificates (which is a pain in itself: my cousin recently had to go through that when installing some distro for the first time, and it was *not* trivial for a beginner. As we very well know from research published by Amazon, every insignificant roadblock loses you some users.). Unless you're running ARM, where no such requirement existed.

Then that requirement was quietly dropped just a couple of years later:

https://arstechnica.com/information-technology/2015/03/wi...

I hope that the renewed push from the FTC and the EU to force these monopolies in line will prevent them from further tightening the screws.

Users are willing to accept anything from Microsoft anyway

Posted Aug 22, 2024 13:40 UTC (Thu) by bluca (subscriber, #118303) [Link]

> It's unfortunate we do not have a relatively neutral non-profit like the Linux Foundation to oversee these things. In a perfect world a vendor of a commercial operating system would never be allowed to gatekeep the boot process like that, especially when it maintains a monopoly on a heavily used and important subset of computing.

The LF was asked to be the entity overseeing this, and refused to do so. That's because it's incredibly expensive, risky and time consuming to run a free signing service for third parties. The reason Microsoft does this, is because nobody else wanted to.

Users are willing to accept anything from Microsoft anyway

Posted Aug 22, 2024 13:43 UTC (Thu) by pizza (subscriber, #46) [Link]

> Initially there were machines on which you couldn't turn it off.

[Citation needed] -- especially since being able to disable secure boot (as well as the ability to enroll your own keys) was a requirement to getting Windows certification, and even putting that aside, unless you were installing the then-new Windows 8, it needed to be disabled completely anyway.

(Now for non-x86 systems, Microsoft did not, and still does not, impose these requirements. So those have been nearly always locked down from the outset)

> Overall users are progressively getting used to lose any rights on their hardware.

While this is true, on the other hand the entire notion of "general purpose operating systems independent of the hardware" is the exception, not the norm. In every other context the hardware maker has always been the provider of the (nearly always) sole operating system option.

Users are willing to accept anything from Microsoft anyway

Posted Aug 22, 2024 17:50 UTC (Thu) by mjg59 (subscriber, #23239) [Link] (6 responses)

> Initially there were machines on which you couldn't turn it off.

No, there weren't.

Users are willing to accept anything from Microsoft anyway

Posted Aug 24, 2024 1:12 UTC (Sat) by sobkas (subscriber, #40809) [Link] (5 responses)

Users are willing to accept anything from Microsoft anyway

Posted Aug 24, 2024 1:40 UTC (Sat) by mjg59 (subscriber, #23239) [Link] (4 responses)

"*Turn off Secure Boot.

All Certified For Windows PCs allow you to turn off Secure Boot so that you can run any software."

So, no?

Users are willing to accept anything from Microsoft anyway

Posted Aug 24, 2024 7:38 UTC (Sat) by Wol (subscriber, #4433) [Link]

Certainly back in the day it was widely understood that you could only turn off secure boot for x86. (Precisely because loads of other OS's used x86.)

When the Windows Surface came out (Arm-based) I remember a load of stuff about how the windows spec said secure boot was required and couldn't be disabled for these things. I never went near one, so I never found out if it was true ...

Cheers,
Wol

Users are willing to accept anything from Microsoft anyway

Posted Aug 24, 2024 19:28 UTC (Sat) by sobkas (subscriber, #40809) [Link] (2 responses)

"Like most mobile devices, Arm-based devices, such as the Microsoft Surface RT device, are designed to run only Windows 8.1. Therefore, Secure Boot can't be turned off, and you can't load a different OS. Fortunately, there's a large market of ARM processor devices designed to run other operating systems."

So there were machines that didn't allowed to turn off Secure Boot, right?

Users are willing to accept anything from Microsoft anyway

Posted Aug 24, 2024 19:35 UTC (Sat) by mb (subscriber, #50428) [Link]

>are designed to run only

That statement used to be a challenge rather than a fact for the Open Source community.

With locked down boot the challenge becomes really large, though.
So today it's more of a fact than a challenge.
Which is a loss.

Users are willing to accept anything from Microsoft anyway

Posted Aug 24, 2024 19:46 UTC (Sat) by mjg59 (subscriber, #23239) [Link]

There were a tiny number of Windows RT devices that were designed with the same model as iPads, but those appeared some time after secure boot first appeared and then went away again. Modern Windows ARM systems are required to have it be user configurable.


Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds