this post was submitted on 12 Jul 2023
208 points (98.1% liked)

Technology

59197 readers
3391 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Hackers are using open source software that’s popular with video game cheaters to allow their Windows-based malware to bypass restrictions Microsoft put in place to prevent such infections from occurring.

The software comes in the form of two software tools that are available on GitHub. Cheaters use them to digitally sign malicious system drivers so they can modify video games in ways that give the player an unfair advantage. The drivers clear the considerable hurdle required for the cheat code to run inside the Windows kernel, the fortified layer of the operating system reserved for the most critical and sensitive functions.

Researchers from Cisco’s Talos security team said Tuesday that multiple Chinese-speaking threat groups have repurposed the tools—one called HookSignTool and the other FuckCertVerifyTimeValidity. Instead of using the kernel access for cheating, the threat actors use it to give their malware capabilities it wouldn’t otherwise have.

A new way to bypass Windows driver restrictions

“During our research we identified threat actors leveraging HookSignTool and FuckCertVerifyTimeValidity, signature timestamp forging tools that have been publicly available since 2019 and 2018 respectively, to deploy these malicious drivers,” the researchers wrote. “While they have gained popularity within the game cheat development community, we have observed the use of these tools on malicious Windows drivers unrelated to game cheats.”

With the debut of Windows Vista, Microsoft enacted strict new restrictions on the loading of system drivers that can run in kernel mode. The drivers are critical for devices to work with antivirus software, printers, and other kinds of software and peripherals, but they have long been a convenient inroad for hackers to run malware in kernel mode. These inroads are available to hackers post-exploit, meaning once they've already gained administrative privileges on a targeted machine. Advertisement

While attackers who gain such privileges can steal passwords and take other liberties, their malware typically must run in the Windows kernel to perform a large number of more advanced tasks. Under the policy put in place with Vista, all such drivers can be loaded only after they’ve been approved in advance by Microsoft and then digitally signed by a trusted certificate authority to verify they are safe.

Malware developers with admin privileges already had one well-known way to easily bypass the driver restrictions. The technique is known as “bring your own vulnerable driver.” It works by loading a publicly available third-party driver that has already been signed and later is found to contain a vulnerability allowing system takeover. The hackers install the driver post exploit and then exploit the driver vulnerability to inject their malware into the Windows kernel.

Although the technique has existed for more than a decade, Microsoft has yet to devise working defenses and has yet to provide any actionable guidance on mitigating the threat despite one of its executives publicly lauding the efficacy of Windows to defend against it.

The technique Talos has discovered represents a new way to bypass Windows driver restrictions. It exploits a loophole that has existed since the start of the policy that grandfathers in older drivers even when they haven’t been reviewed for safety by Microsoft. The exception, designed to ensure older software was still able to run on Windows systems, is triggered when a driver is signed by a Windows-trusted certificate authority prior to July 29, 2015.

“If a driver is successfully signed this way, it will not be prevented from being installed and started as a service,” Tuesday’s Talos post explained. “As a result, multiple open source tools have been developed to exploit this loophole. This is a known technique though often overlooked despite posing a serious threat to Windows systems and being relatively easy to perform due in part to the tooling being publicly available.”

top 42 comments
sorted by: hot top controversial new old
[–] Zeth0s@lemmy.world 82 points 1 year ago (2 children)

The article is very badly written. The problem is windows vulnerability, it is not the open source software. The open source software is just a simple vector to exploit the vulnerability. Others could be out there

[–] Molecular0079@lemmy.world 22 points 1 year ago (2 children)

Is it even a Windows vulnerability though? The article heavily implies that it's a Windows issue, but all it's saying is that hackers with admin access are installing drivers with vulnerabilities and then taking advantage of those vulnerabilities. Why is this a big surprise? If hackers already have admin access then you're already hosed. This "vulnerability" can happen in any OS.

This is such a click bait article that says absolutely nothing we haven't heard of before. It's literally basic hacking 101.

[–] LeberechtReinhold@lemmy.world 12 points 1 year ago* (last edited 1 year ago) (4 children)

Yes and no. It's an escalations issue. Even with administrator access, you are not supposed[note1] to be allowed to install drivers with invalid signature, which supposedly haven an even high chain of trust (although this really iffy unless you are using secureboot as well but that's another discussion).

That said, when the attacker already has admin privileges you are so far in the compromised chain that the kernel driver is an issue, but you are most likely completely fucked anyways.

This just makes your vulnerability state to be the same as in linux, where your drivers arent required to be signed in the first place, for example.

[note 1]: There's a caveat, with admin acess you can disable driver signatures entirely, using bcdedit, this is called test signing and leaves a visible watermark at all times with "Test signing enabled", therefore the user can already see that the computer is compromised. Its mostly useful for devs (or attacking people who dont give a fuck).

[–] meisme@lemmy.world 3 points 1 year ago

Many linux distributions require signed drivers if you enable secure boot

[–] Zeth0s@lemmy.world 2 points 1 year ago (1 children)

Why do you say that the "vulnerability state just like Linux"? Linux is the name for a family of OSes that behave differently.

Nowadays all that I know are secured by default (e.g. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/signing-a-kernel-and-modules-for-secure-boot_managing-monitoring-and-updating-the-kernel)

[–] LeberechtReinhold@lemmy.world 4 points 1 year ago (3 children)

If you have root in linux you can disable that, so you are in the same state. You could also selfsign.

This is an issue, but IMHO quite overblown.

[–] meisme@lemmy.world 3 points 1 year ago (1 children)

Self signing sends you to the bios to approve the key, and requires you to enter a password that was used when creating the key. It's all but impossible to do it accidentally, as if you have no idea what you're doing you won't know the password.

[–] LeberechtReinhold@lemmy.world 1 points 1 year ago

Yeah, the password is much better. In Windows you also realize it because the admin screen is hard to miss, but you can just go ahead and accept it, since many users run their PC as admins.

[–] Zeth0s@lemmy.world 2 points 1 year ago* (last edited 1 year ago)

If a bad actor disables it, it requires a reboot and you have a huuuge warning. You probably even need to insert some keyphrase, if I remember correctly. Anyway It doesn't go unnoticed. That is the main issue

[–] graphite@lemmy.world 1 points 1 year ago

This just makes your vulnerability state to be the same as in linux, where your drivers arent required to be signed in the first place, for example.

It's worth mentioning that, while this is true on a number of distros by default, you can modify kermel configuration parameters to enforce this.

[–] Molecular0079@lemmy.world 1 points 1 year ago (1 children)

Yeah, Ars article gave the impression that they were simply installing vulnerable versions of legit drivers and then taking advantage of that vulnerability. That's very different than installing drivers with an invalid signature. If this was the case then it's a very serious vulnerability indeed.

[–] LeberechtReinhold@lemmy.world 1 points 1 year ago (1 children)

With admin privileges you can do the first one though, as the whole revocation list on certs is a fucking general mess (and that applies to web in general, not just windows).

In general if your attacker is admin or has tricked you into executing something as admin, you are pretty much fucked, regardless of drivers.

[–] riskable@programming.dev 3 points 1 year ago* (last edited 1 year ago)

The real problem here is that the vulnerable driver has a privilege level above admin. Once you're exploited you can't even figure it out because the malware will then be running as the same privilege level of a driver and as admin you won't have the power to effectively investigate that since the malware has a higher privilege.

You have to do everything offline if you want to detect if you've been compromised or not. Otherwise you're just going to have to wait and hope Microsoft puts out a special tool to detect and remove it (which they often do).

The entire concept of anything on the OS running at a privilege level above admin (but below kernel) is absurd to begin with. It only exists because Microsoft had this grand "Trusted Computing" plan back in the day that was supposed to install them as the sole gatekeepers of all media playing back on PCs. Hardware encryption and signed everything including the damned video cable going to your monitor.

In order to facilitate that they invented this permissions level below kernel but above admin--because you can't give the end users a mechanism to work around the encryption! If the (pretend) "secure" drivers ran at the same level as admin someone with such rights could just run some debug tools to dump memory and other runtime stuff to grab the decryption keys and do all sorts of terrible things like... Copy the media being played! (The horror).

So now thanks to that effort Windows has a very unique sort of malware that no other OS has to deal with. Impossible to detect while running and extremely difficult to get rid of.

Linux doesn't have this problem because even if a malicious kernel driver is messing with all running binaries there's ways to build a binary that can detect when itself has been messed with and also identify the mechanism of action. See: chkrootkit

What's worse is that Microsoft was warned that this would happen! Security experts at the time said it over and over again: A compromised driver would be an incredibly bad situation. Microsoft didn't care! All they saw was dollar signs at the prospect of being able to take fees from anyone and everyone that wanted to play back movies and videos on their computers.

[–] Zeth0s@lemmy.world 2 points 1 year ago (1 children)
[–] Molecular0079@lemmy.world 4 points 1 year ago

Gotcha...this is a lot different than what Ars was saying. Being able to sign a maliciously modified driver is very different from using a legitimately signed driver that has a security vulnerability and taking advantage of it

[–] arandomthought@sh.itjust.works 5 points 1 year ago (1 children)

The cheating tool shouldn't have kernel privileges either, right?
So isn't this where the actual "hack" happens?

[–] LeberechtReinhold@lemmy.world 28 points 1 year ago (1 children)

The whole signing of kernel drivers and UEFI code has always felt more of a walled garden/security racket to get actual legitimate hobbyist/open source to pay a shit ton for certificates, rather than actual security. Especially with all the hoops with older version support (if you wanted to fully support win vista or early7 you needed to dual sign with sha1, and most cert companies didnt know that and you had to fight with them to provide one), and the super shitty page that was the windows development hardware center for signing.

[–] Rairii@haqueers.com 5 points 1 year ago

@LeberechtReinhold I can understand why it was done in the first place, but MS just blindly signing anything they are given is stupid, they should at least disallow binaries packed by themida or vmprotect.

vmprotect on a driver is an indicator of compromise, especially if the cert/opus info references a chinese entity.

[–] prole@sh.itjust.works 13 points 1 year ago (1 children)

Switched to Linux last week. So glad to be rid of Windows.

[–] TwoGems@lemmy.world 2 points 1 year ago* (last edited 1 year ago) (2 children)
[–] techt@lemmy.world 3 points 1 year ago* (last edited 1 year ago) (1 children)

Just start searching with your engine of choice. Here is an article that might get you started. I used Mint and it's quite true to the Windows experience in my opinion. For your second question, the answer is maybe! Sometimes it works well in a WINdows Emulator, sometimes there's a good replacement. Diving into tech forum threads is part of the process!

[–] TwoGems@lemmy.world 2 points 1 year ago* (last edited 1 year ago)
[–] prole@sh.itjust.works 2 points 1 year ago

I'm still learning. My brother has been using it for probably 15 years now, so he helped me get it running and gave me some basic info... but yeah, google is your friend. It's pretty intense tbh, but I'm getting the hang of it, and I'm so glad to be rid of Windows.

The only Windows "emulation" I've done in Linux is on my Steam Deck with Proton, but that's for gaming so I dunno how well it would work with non-gaming apps. There are other emulators and translation layers that might be able to get Adobe stuff working. There are also open source alternatives to a lot of stuff, like Gimp instead of Photoshop.

[–] hal_5700X@lemmy.world 9 points 1 year ago (1 children)
[–] LeberechtReinhold@lemmy.world 5 points 1 year ago* (last edited 1 year ago) (1 children)

No, that exploited a legitimate driver to be a point of entry and enable other attacks, and is much more problematic.

This enables attackers to make non legitimate drivers appear legitimate to windows, but they have to be installed anyway, requiring admin privileges.

[–] hal_5700X@lemmy.world 1 points 1 year ago

Okay. Thanks.

[–] GFGJewbacca@ag.batlord.org 3 points 1 year ago

Well, this is terrifying. Just what I needed today.

[–] EnterOne@lemmy.world 1 points 1 year ago

Gaping, you say?

IMHO, Windows itself is malware. 🤣 But seriously, generally signing services that have not been verified and vetted leads to bad things.

[–] samokosik@lemmynsfw.com -1 points 1 year ago (2 children)

I love how every summer a windows exploit happens

[–] AnonymousLlama@kbin.social 2 points 1 year ago

It's like the steam summer sale, except instead of bargains it's exploits!

[–] BlinkerFluid@lemmy.one -1 points 1 year ago* (last edited 1 year ago)

Good for planning your stock buys. Heard the Activision/blizzard deal went through.

That's either a sinking ship or a rising submarine, but considering Microsoft's recent track record with gaming, I'm not touching it any more than my mutual fund lightly touches it.

load more comments
view more: next ›