Discovery of New UEFI Rootkit Exposes an Ugly Truth: The Attacks Are Invisible To Us (arstechnica.com) 118
joshuark writes: Dan Goodin of Ars Technica reports that security researchers have found that rootkits for Unified Extensible Firmware Interface (UEFI) are not rare, and difficult to detect. Kaspersky researchers profiled CosmicStrand, the security firm's name for a sophisticated UEFI rootkit that the company detected and obtained through its antivirus software. They state: "The most striking aspect of this report is that this UEFI implant seems to have been used in the wild since the end of 2016 -- long before UEFI attacks started being publicly described." The researchers warned that "the multiple rootkits discovered so far evidence a blind spot in our industry that needs to be addressed sooner rather than later."
We need physical switches to flash firmware (Score:5, Insightful)
Re:We need physical switches to flash firmware (Score:4, Interesting)
The computers at my first tech job required a jumper on the MOBO to be moved, to write to the BIOS.
Re:We need physical switches to flash firmware (Score:4, Informative)
Even in large enterprises the BIOS or UEFI rarely plays a role in remote management.
Primary reason I have seen for doing an upgrade of the BIOS or UEFI is the ability to install latest version of the OS image over the net. In other cases such updates have resulted in headache - like dropping support for a third monitor for no reason that worked fine in previous version.
But I do understand that especially the UEFI offers a whole new set of attack vectors that can be very hard to identify by the OS, even to the level of doing a Blue Pill [wikipedia.org].
Re: (Score:3)
Yep it was a common feature on mainboards until the early 2000s, and would still be useful today. It could even be a large thumb switch on the mainboard's back panel rather than a jumper for easy access. Instead we've taken the first step on the "6,000 hulls" approach to the problem.
Re: (Score:1)
Yep it was a common feature on mainboards until the early 2000s, and would still be useful today.
In theory, signed firmware updates make this a non-issue.
In reality, signed firmware updates plus authentication by an administrator for non-physical-access-required firmware update plus no bugs in the hardware or software plus no compromises to firmware-signing keys are a safe substitution for requiring a hardware switch.
In practice, well, in practice it's not an adequate substitute. But it is a necessary one if you need to remotely install firmware updates.
Re: (Score:2)
Also, the signed updates crap means jack shit. If you're an enterprise, you're not pushing out a random firmware blob to every device on your network with
Re: (Score:1)
The computers at my first tech job required a jumper on the MOBO to be moved, to write to the BIOS.
You must be young. At my first tech job, upgrading the BIOS required replacing a chip. That's if you were lucky. Otherwise, it wasn't possible.
Re: (Score:1)
desoldering and replacing the otp prom or maskrom was always possible.
These days it is becoming more and more im-probable/possible due to the integration into the main soc.
Re:We need physical switches to flash firmware (Score:5, Funny)
Kids these days, In my day, we had to manually input each one and zero with a tiny pair of tweezers.
Re: (Score:3, Funny)
You could do it with tweezers? You lucky bastard! We had to un-pot the core rope memory and rewire the cores.
Re:Abacus Finch (Score:4, Funny)
Re: Abacus Finch (Score:2)
You and your fancy toes. In my day, we hadn't evolved to have toes yet, and we had to do all computations mentally!
Re: (Score:2)
you and your fancy brain ... you ... you ... brain!
Re: (Score:2)
photon,carbon dioxide ...sugar,oxygen ... sugar,oxygen ...sugar, oxygen ...sugar, oxygen ....sugar,oxygen ....sugar,oxygen ...sugar,oxygen
photon,carbon dioxide
photon, carbon dioxide
photon, carbon dioxide
photon,carbon dioxide
photon, carbon dioxide
photon, carbon dioxide
urge to divide
Re: (Score:1)
All joking aside, I did toggle switches to enter a program. The biggest problem is that once entered you weren't sure what you had entered. There was no way to dump the program to see if you got it right.
Re: (Score:2)
Re: (Score:1)
Well, I had to make my own tweezers first.
Re: (Score:1)
Wait, you had zeroes? Such a luxury. In my days, we had to do it with just 1s.
Re: (Score:2)
Well, that puts you either before 1970, or stuck with a really bad board design. (I'm not sure how much before 1970, because I seem to remember jumpers from sometime in the 1960's, and I always tried to stay at a distance from hardware. (I mean, the EAM machines had jumpers!)
Re: (Score:2)
Yes, jumpers existed long before electrically reprogrammable non-volatile memory was commercially available.
Re: (Score:1)
The BIOS on my 286 was socketed. I remember installing a replacement my dad ordered from Computer Shopper magazine to get support for larger hard drives ... no wait .. I think that was the 486.
Re:We need physical switches to flash firmware (Score:4, Interesting)
Part of the answer is that such machines would be excluded from purchase by large enterprises that rely on remote management.
They're free to flip the switch to "enable" when they install the machines.
They probably order in the hundreds anyway so they can order them pre-flipped.
Re: (Score:2)
Re: (Score:2)
And if it does, why would it be a problem for them to have their MOBOs on R/W all the time while I put mine on RO?
Re: (Score:2)
Re: (Score:2)
Organizations don't want to pay people to visit each workstation to flip a switch so they update the firmware.
"Organizations" can order machines with the switch pre-flipped.
They probably don't update the firmware much anyway.
Re: (Score:2)
Some of them may not, if they don't care about security, or reliability.
In practice, when you manage a large fleet of servers, firmware updates ought to be at least a quarterly thing, if nothing else because it makes your test efforts possible. Do you have any idea how hard it is to do adequate testing of a new version of an OS/kernel if you have 20,000 possible permutations of system firmware? It's not just BIOS one has to be concerned with... it's BIOS, NIC(s), CPLD, storage controller(s), storage devic
Re: (Score:2)
In practice, when you manage a large fleet of servers, firmware updates ought to be at least a quarterly thing,
What the hell. You literally should never need to update your firmware. Why would you do that?
Re: (Score:1)
What the hell. You literally should never need to update your operating system. Why would you do that?
Oh wait.. because updates are released to fix bugs, including security issues, and compatibility issues, and sometimes even bring features you want to make use of. In the case of firmware, also because some firmware can't be downgraded, and you don't want 20 different versions of firmware running on the same type of component spread across your datacenter, each with its own peculiarities.
Re: (Score:2)
What the hell. You literally should never need to update your operating system. Why would you do that?
I hope someday you wake up and realize there is a difference between an operating system and a firmware. Until you realize that, your point is invalid (to be more specific it's a strawman, and a perfect example of why arguing by analogy is always an incomplete argument. To make it complete, you need to show why the analogy applies in this particular case, which you did not)
Re: (Score:2)
To be more specific, you should never need to update your bootstrap firmware. The only reason it has a security problem at all is because UEFI can be updated remotely.
Re: (Score:2)
Your bootstrap firmware also talks on the network - iSCSI boot? PXE boot? NVMe boot (well, hopefully one day really soon)? What if there's a security vuln in one of those boot protocols that needs to be updated?
If your security model relies on network boot being secure, then your security model has failed, because it's not secure.
The basic point is, if the bootstrap code doesn't need to be updated (we can make a special case for CPU microcode, consider it as a different problem), then you've gotten rid of a whole bunch of security problems automatically. As soon as you make it updateable like this, then you've opened pandora's box.
Re: (Score:2)
20,000 possible permutations of system firmware? It's not just BIOS one has to be concerned with... it's BIOS, NIC(s), CPLD, storage controller(s), storage device(s) (possibly some mix of SATA and NVMe, even SAS still for those edge cases), BMC, CPU microcode, even power supplies
Well, that's an exaggerated number. Either said companies don't actually care about the testing and gleefully count their savings when ordering hardware, or they have a very small number of vetted hardware / firmware combinations and only allow updates to the specific versions they've whitelisted via testing. (Which if they are testing all of that crap, I'd imagine they have their own testing division.)
If an "organization" orders several thousand of the same server config, over the course of 2 years or so, and they all come in with different firmware and aren't normalized, it creates endless system management and compatibility headaches.
Which means the "organization" has much bigger problems. I.e. Their "solution" is garbage and so fragil
Re: (Score:1)
You're right, 20,000 is far too low. The actual number if you assume 10 different types of components with 5 potential firmware versions each would be 9,765,625 permutations. Thanks for catching that.
You seem to be wanting to make the same point I made, I think. If a company doesn't test firmware, and simply accepts what the mfg sends them, instead of normalizing to a known set of firmware, their solution is garbage. I've known people who wouldn't update disk firmware even after the manufacturer said "t
Re: (Score:2)
Re: (Score:1)
Right... they're not necessarily that sensitive, but they do need to be tested. If there are one or two baseline sets of firmware to test against, this isn't terribly difficult. If there are 50 permutations of firmware, it's a much larger test effort.
Generating a quarterly list of "current firmware for our platform" and installing it as a tested package makes life a hell of a lot simpler than just throwing whatever the vendor sends you into a production environment and hoping for the best. I've found tha
Re: (Score:2)
Now compute how many additional employees Google would have to hire to update their 900,000 (yes, really) servers for a critical security update.
Exactly One (Score:2)
Re: (Score:2)
Presently that's about 6 servers per existing employee, so if what we're talking about is flipping a r/w switch it would take a few minutes with some pre-planning. Write a script to send evey employee a customized message saying:
"Report to at UTC 3:00 on September 20"
"Enter building and walk to and wait for further instructions".
Re: (Score:2)
Re: (Score:2)
We do not know how the machines were infected in the first place. Maybe they came with the problem and a physical switch wouldn't help.
Re: (Score:2)
Re: (Score:2)
You can make changes permanent and lock it which is the same thing
UEFI: was it worth it? (Score:5, Insightful)
So all the extra complexity brought about by UEFI hasn't actually resulted in increased security.
Cynically, this tends to confirm that the point of UEFI was never about the user's security, but the security of Microsoft's business model.
Re: UEFI: was it worth it? (Score:1)
Re: (Score:2)
Even under Windows 10 I have used MFA with TPM on a PIN to sign in since 2017. So much easier and much secure. I don't understand the fuss as you do the same with your phones everyday.
That is not UEFI by the way but something that was added to it just like our mobile devices have chips to store tokens so they are not on the storage where a hacker can crack it.
Yep. TPM 2.0 for Windows 11 has a reason to. (Score:2)
To lock you in to your subscription, you know the one you will soon need to use "your" own property. Now get back to work you fucking serf, the company store has your soul and you owe back payments.
Re: Yep. TPM 2.0 for Windows 11 has a reason to. (Score:2)
Couldn't a destructive virus just zero out your TPM, then Windows 11 won't boot and can't be reinstalled?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
None of that avoids the scammer / social engineering potential t
Re: (Score:2)
You are much more likely for a cracker to get it from your PC through malware than through the TPM chip. This increases security. FYI if you disable TPM in your bios on your Windows 11 PC you will simply get a message that your pin can't be activated and to sign in with your usual password instead.
No re-installation.
Re: (Score:2)
We all knew this but were mocked and ignored.
Re: (Score:1)
We all knew this but were mocked and ignored.
That's also what the Monkeypox researcher in Nigeria said [nature.com] about his repeated warnings for the past few years. Well, maybe not the "mocked" part, but definitely the "ignored" part.
Re: (Score:1)
It will only get solved when Nadella's chub-porn collection is exposed to the world.
Re: (Score:2)
So all the extra complexity brought about by UEFI hasn't actually resulted in increased security.
Cynically, this tends to confirm that the point of UEFI was never about the user's security, but the security of Microsoft's business model.
EFI/UEFI was a replacement for BIOS, and the first EFI system many of you would have laid hands on were the first generation Intel Macs, because Apple wouldn't touch your legacy BIOS with someone else's dick and they required it for fancy stuff like target disk, target display modes, etc. Or maybe you got to play with an Itanium server, but let's agree Macs are more likely. PC servers started shipping with UEFI to support 2TB+ disks sometime after that, and eventually Windows PCs started shipping with UEF
Re: (Score:3)
It may have addressed that problem, but that clearly wasn't the REASON. There were lots of simpler ways to address the problem.
I can see it being so that businesses could to a "mass simultaneous upgrade". I can see it being so that MS could lock out people it didn't like. There are other plausible reasons. It wasn't for the purpose of allowing larger disks anymore than we switched to 64 bit cpus to avoid a 2038 problem.
Re: (Score:2)
If it has "fuck all" to do with security, what is Secure Boot doing in the spec and a requirement for Windows?
Re: (Score:2)
Re: (Score:2)
> Cynically, this tends to confirm that the point of UEFI was never about the user's security, but the security of Microsoft's business model.
And Hollywood's.
Remember when all the stories here were about MPAA and RIAA. They wanted to control the computer industry?
The current approach to boot-layer code signing enforcement was born from that.
It's not inherently evil - I use an open source UEFI to rehab old chromebooks and it works great there. But complex boot code that can be flashed from inside it's g
Re: (Score:2)
Funny that the globally hailed corporate panopticon is the one to implement firmware updates in a sane way that doesn't lock out the
Re:UEFI: was it worth it? Absolutely (Score:2)
So all the extra complexity brought about by UEFI hasn't actually resulted in increased security.
Cynically, this tends to confirm that the point of UEFI was never about the user's security, but the security of Microsoft's business model.
Yes it was worth and no it wasn't an evil conspiracy theory by MS to force out Linux. It was Intel/HP who write UEFI for their failed Itanium line.
Firmware and eproms have been used in Unix workstations and servers since the 1980s and are FAARR more advanced than the 1981 pc bios which takes 1 minute to boot up and still has hard coded cylinders and boot sector flags to load an OS ... it's 2022 we don't even use hard drives anymore!
UEFI enables the user or admin to lock down a system, pxe boot, manage many
Color me surprised (Score:2)
Color me surprised. I still use BIOS and hope to continue as long as possible. Boot process should be small and compact and needed only to bring up the OS. Let the OS to all the heavy lifting.
Re: Color me surprised (Score:1)
Re: Color me surprised (Score:3)
No it isnt. A BIOS is a much smaller binary with a far smaller attack surface that does 1 main job, not a mini OS cum security arbitrator. If you think complexity mitigates against attacks I've got a bridge for sale you might like.
Re: (Score:1)
that does 1 main job
Well, maybe now it's main job is just to load some code from a boot device, but back in the days of 16-bit DOS running in a 16-bit mode or even on 16-bit chips it did a lot more.
Re: (Score:2)
BIOS viruses were rare back when you needed a chip puller and a UV source to modify the code...
Re: (Score:2)
Hello,
The Win95/CIH [wikipedia.org] virus begs to differ.
Regards,
Aryeh Goretsky
Re: (Score:2)
Re: (Score:2)
I had to look this one up. If your OS needs a "resizable bar" to boot, you need to move to another OS fast. Once booted, BIOS irrelevant, I would really hope the the same is true for UEFI.
Re: (Score:2)
Not true. You are thinking of it as a bios still. UEFI firmware is integrated between the hardware and OS and part of the chipset. For things like wake up on lan, chipset settings, ethernet and memory settings and management, you need UEFI. Example the latest Intel chips have big P and small E cores. Intel's thread directory needs to tell the OS which core to put a heavy hitting thread like a game and which light service thread that just does interrurpts and monitors on an E core? This can't be done on Wind
Re: (Score:2)
For things like wake up on lan, chipset settings, ethernet and memory settings and management, you need UEFI.
Yet another good reason to avoid UEFI :)
This can't be done on Windows unless the OS its coded for it in the kernel.
Requiring UEFI access/calls in the OS kernel opens up a nice hole, thus the Article. And who's fault is that ?
Windows 11 does support this better than Windows 10 but a large part of this juggling is interaction between the UEFI to assist Windows/Linux on real time hardware info.
Since I boot legacy, Linux works fine without UEFI. Once Linux needs UEFI it is off to a BSD full time, depending on why Linux needs UEFI. Note, my spare/backup laptop runs BSD so not a big deal to move. Just Linux supports video a bit better.
Re: (Score:2)
Re: (Score:2)
How is the OS going to know hardware details about the GPU memory lanes in use accessing memory, which thread should go to a physical core vs a hyper threaded one, or if it is a new 12xxx series which core is a P core and which is a smaller energy efficient E core? The kernel can only do so much guessing.
UEFI can provide all this manage things in hardware. It is how Intel RST which somehow is still referred as fake raid can go against real raid cards in performance. Brain dead 1981 bioses from 40 years ago
Re: (Score:2)
GPU memory lanes in use accessing memory, which thread should go to a physical core vs a hyper threaded one, or if it is a new 12xxx series which core is a P core and which is a smaller energy efficient E core?
Which GPU lane is accessing system memory is handled either by the DMA controller, or orchestrated by the OS kernel. The OS kernel is in charge of CPU scheduling on a per thread level. (With some decisions made internally by the CPU itself. AKA branch prediction / speculative execution.) CPUID, or the equivalent instruction, will return the info for which core is what to the currently executing code.
None of that requires firmware intervention or setup. It's all determinable at runtime whenever it's need
Sounds familiar... (Score:2)
Re: (Score:1)
No, not a dupe.. just something most of us have realized will come to pass at some point. Pretty sure people have been UEFI isn't secure for ages.
Re: (Score:2)
Re: (Score:2)
This story needs to be repeated a lot, because it seems those with power haven't understood it.
UEFI: Good idea, somewhat shaky in reality (Score:1)
Re: (Score:2)
The boot prom in a Sparc 1 from 1989 was miles ahead of anything in the pc world until the late 1990s. You could boot from ethernet, scsi cdrom, any device, you name it. Hell it was a complete forth interpreter. Grub just made everything way more complicated than it needs to be. Open up grub.conf and what do you see at the very top? DO NOT EDIT.
Re: (Score:2)
OpenBIOS also had a Forth interpreter. Suspect it's based off the Sun SPARC approach.
Re: (Score:2)
I edit my Grub1 and GRUB4DOS config files with impunity. For Grub2 you're right, though.
Re: (Score:3)
I used to be able to call a random grandma and talk her through booting a linux CD.
UEFI was there to make sure each system had different menus and no universal hotkeys like BIOSes did.
The goal was to place very scary menu options all in the same area with warnings to scare casuals from trying out linux.
Prior to UEFI I could without looking anything up, get into the bios of a machine or use the F8 tricks to boot 3rd party installers.
UEFI disables the F8 thing until deep menu-diving is done that is not the sa
Re: (Score:1)
UEFI was there to make sure each system had different menus and no universal hotkeys like BIOSes did.
Different BIOSes had different menus and different hotkeys. Yes, probably 90% of the x86 "it runs DOS and/or Windows" computers sold in any given 5-year stretch in the United States used one of a small number of makes/models of BIOS, and within a given make/model, there was consistency, there was inconsistency between BIOS vendors: They had different hotkeys and sometimes radically-different-looking screens/menus.
I used to be able to call a random grandma and talk her through booting a linux CD.
Point taken - 90% of the time, it wasn't hard. However, if Grandma is one of those rare bird
Re: (Score:2)
Windows is already installed. UEFI actually makes this easier. Go to Windows Settings, choose Advanced Startup under Recovery. From there, you can choose to boot from a device. If secure boot is enabled and the installer you have doesn't have a signed bootloader, you might have to use this same menu to get to the EFI settings to turn off secure boot or enroll a key.
The instructions have become more universal with this change. And fully graphical point and click.
Re: (Score:1)
Re: (Score:2)
In fairness, you can easily do that with a boot selector like Grub or LILO, too, and not need any UEFI to do it. That assumes you :want: a multiboot system which most people do not.
Considering the context was an existing system and multiboot wasn't desired, something like Grub would be more complex.
I'm not sure how UEFI is causing security issues here. The fact that it's vulnerable in the same ways as BIOS?
Re: (Score:1)
I'm not sure how UEFI is causing security issues here.
Then you simply aren't reading the articles. The added complexity in UEFI versus BIOS is the reason. Add more features and you increase the attack surface. The functionality being exploited is specific not present on BIOS systems, making them immune. BIOS hacks exist, but not in the volume or severity of UEFI hacks. Considering BIOS is older, that's not a good sign of quality for UEFI.
The fact that it's vulnerable in the same ways as BIOS?
The fact is that it's not the same. Just like in this situation, most hacks involve a scenario where BIOS is fine, UEFI is
Re: (Score:2)
They are both just flashed with modified versions. The main difference is really just simplicity of compatibility - that the same code can run on more systems with less modification. That's actually mostly a plus for UEFI. Making sure it doesn't get maliciously flashed is the same end goal for either.
Hardware reset to factory state (Score:1)
A physical-access-required way to factory-reset a device to a known-good-state is a must unless there is a good reason not to allow it.
High-theft and high-risk-of-evil-maid-problem situations are obvious exceptions (laptops, phones, etc.). Logging data like "odometers" and other "wear/usage indicators" may need to be stored in a part of the device that is not be reset-able. But when it comes to anything that's physically secure against hostile access, I should be able to open up the case, press a button o
Re: (Score:2)
A physical-access-required way to factory-reset a device to a known-good-state
That used to exist. It was called a Recovery Disc, and as a bonus it also survived a malware infection through the virtue of being non-writable and detached from the rest of the system when not in use. Sadly it went the way of the dodo because of profits.
A physical-access-required way to factory-reset a device to a known-good-state is a must unless there is a good reason not to allow it.
As for phones, laptops, etc. - there's a huge risk in allowing a factory reset,
It's safer just to shred the device and buy a new one.
So which is it? A must have feature or something that should be banned to encourage the filling of garbage dumps worldwide?
I should be able to open up the case, press a button or enable a jumper or flip a switch, and be back to a known-good state. I might lose all my data, but at least I still have hardware I can trust.
So only authorized and "trusted" personnel should be able to do such things. Tell me who gets to decide who is worthy of "trust"?
Also, I would recommend a tamper-evident seal of some sort on devices, so you know if you are dealing with a device that has been reset after it left the factory.
I
Re: (Score:1)
A physical-access-required way to factory-reset a device to a known-good-state
That used to exist. It was called a Recovery Disc
We are talking about firmware compromises. Reset disks by themselves don't do anything for firmware compromises. Now, a reset disk plus a way to force the firmware to go back to a known-good-state (say, a very simple state that does nothing more than read and authenticate a firmware image that is on the reset disk) would be very useful. It would also make the "factory reset boot sequence" much simpler and therefore easier to check for bugs.
A physical-access-required way to factory-reset a device to a known-good-state is a must unless there is a good reason not to allow it.
As for phones, laptops, etc. - there's a huge risk in allowing a factory reset,
It's safer just to shred the device and buy a new one.
So which is it? A must have feature or something that should be banned to encourage the filling of garbage dumps worldwide?
It depends, and that is my point. It's a must-have except in cas
Re: (Score:2)
We are talking about firmware compromises. Reset disks by themselves don't do anything for firmware compromises. Now, a reset disk plus a way to force the firmware to go back to a known-good-state (say, a very simple state that does nothing more than read and authenticate a firmware image that is on the reset disk) would be very useful. It would also make the "factory reset boot sequence" much simpler and therefore easier to check for bugs.
Originally, most systems that came with recovery discs didn't have firmware that could be easily upgraded by the system itself. Yes, my point was there should be some non-writable emergency mode that can be used to safely reset the device even if the OS is compromised. That includes the firmware. If the firmware is compromised, there should be a way to disable it, or reset it to a known good state. Ideally the firmware shouldn't be updatable short of a physical chip replacement / JTAG out of band upgrade.
It always was. (Score:1)
That is why it is called a rootkit.
Initial vector?? (Score:5, Interesting)
Re: (Score:2)
You need an exploit in UEFI. You also need some kind of access to the computer, so either a remote exploit or phishing attack or something. Secure boot does nothing to prevent this.