Digital security is a constant cat-and-mouse game, with new vulnerabilities being discovered just as quickly (if not faster) as older problems are fixed. Lately, “Bring Your Own Vulnerable Driver” attacks are becoming a complex problem for Windows PCs.
Most Windows drivers are designed for interacting with specific hardware — for example, if you buy a headset from Logitech and plug it in, Windows might automatically install a driver made by Logitech. However, there are many drivers at the Windows kernel level that aren’t intended for communicating with external devices. Some are used for debugging low-level system calls, and in recent years, many PC games have started installing them as anti-cheat software.
Windows doesn’t allow unsigned kernel-mode drivers to run by default, starting with 64-bit Windows Vista, which has significantly cut down on the amount of malware that can gain access to your entire PC. That has led to the growing popularity of “Bring Your Own Vulnerable Driver” vulnerabilities, or BYOVD for short, which take advantage of existing signed drivers instead of loading new unsigned drivers.
So, how does this work? Well, it involves malware programs finding a vulnerable driver that is already present on a Windows PC. The vulnerability looks for a signed driver that doesn’t validate calls to Model-specific registers (MSRs), and then takes advantage of that to interact with the Windows kernel through the compromised driver (or use it to load an unsigned driver). To use a real-life analogy, it’s like how a virus or parasite uses a host organism to spread itself, but the host in this case is another driver.
This vulnerability has already been used by malware in the wild. ESET researchers discovered that one malicious program, nicknamed ‘InvisiMole,’ used a BYOVD vulnerability in the driver for Almico’s ‘SpeedFan’ utility to load a malicious unsigned driver. Video game publisher Capcom also released some games with an anti-cheat driver that could be easily hijacked.
Microsoft’s software mitigations for the infamous Meltdown and Spectre security flaws from 2018 also prevent some BYOVD attacks, and other recent improvements in x86 processors from Intel and AMD close some gaps. However, not everyone has the newest computers or the latest fully-patched versions of Windows, so malware that uses BYOVD is still an ongoing problem. The attacks are also incredibly complicated, so it’s difficult to fully mitigate them with the current driver model in Windows.
The best way to protect yourself from any malware, including BYOVD vulnerabilities discovered in the future, is to keep Windows Defender enabled on your PC and allow Windows to install security updates whenever they are released. Third-party antivirus software might also provide additional protection, but the built-in Defender is usually enough.