Why load someone else's legitimately signed but vulnerable kernel driver?
answer
- the scarce asset is the signature
- nothing was forged here
- a real vendor, a real driver
- revocation versus blocklisting
- adoption lags the list
basics
~20 sBecause it is already signed. Reaching kernel level needs a signing identity the system trusts - scarce, attributable, dead once revoked. A real vendor's signed driver exposing an unchecked memory or process primitive supplies the same crossing for free.
solid answer
~40 sA 64-bit operating system will only load kernel drivers carrying a signature its code-integrity policy accepts, so the crew's scarce asset is a signing identity, not code. Buying or stealing one is expensive, finite, attributable, and dies the moment it is revoked. Borrowing costs nothing: install a genuinely signed driver from a real vendor that exposes an unchecked primitive - arbitrary physical memory mapping, an unrestricted register write, or the ability to terminate any process - and drive it from an ordinary user-mode program to do the kernel work. The signature is valid, the vendor is real, and nothing was forged. Removing the technique is therefore not a revocation problem but a blocklisting problem: the platform has to refuse that specific known-bad driver, and blocklist adoption across a real fleet lags badly.
go deeper
Know that kernel drivers must be signed, and that an operator can reach kernel level using a real vendor's genuinely signed driver rather than one of their own.
Explain why the signature is the scarce asset, what kind of unchecked primitive makes a driver worth borrowing, and why administrative rights are still required to install it.
Show why signature enforcement is not the control here and articulate the difference between revoking an identity and blocklisting a specific driver, including why adoption lags.
Own the supply-side view: the technique persists because vulnerable signed drivers are a public, growing inventory, so plan for enforcement mode and exception handling rather than for the list ever being complete.
## The constraint that creates the technique On 64-bit Windows the kernel will not load an unsigned driver: the code-integrity policy requires a signature chaining to a root it trusts, and for modern drivers that effectively means one issued through the platform vendor's own signing programme. Linux distributions with module signing enforced impose the same shape of rule. So the operator's problem is not writing kernel code - that is easy - it is **producing a signature the machine will accept**. That reframes the whole thing as a supply question, and there are only three answers. ## Route one: obtain a signing identity Steal a vendor's private key, or stand up a shell company convincing enough to be issued a certificate. This works, and crews with real budgets do it. It is also the worst asset a crew can own: - It is **finite**. There is one key, and every use of it is a use of the same identity. - It is **attributable**. Signed artefacts from that identity cluster together, tying otherwise unrelated operations to one crew. - It **dies on revocation**, and once dead it cannot be resurrected. There is a nuance about revocation worth knowing. Code signatures are usually countersigned with a trusted timestamp so they keep validating after the certificate expires - otherwise every shipped program would stop working when a certificate rolled over. That same property means simple revocation does not necessarily invalidate signatures already made; the revocation has to carry a compromise date so that anything timestamped after it is rejected. And a client only acts on any of this when it fetches and honours the revocation data, which is not universal. ## Route two: borrow a signature that already exists This is the technique the question is about, usually named `bring your own vulnerable driver`. Real vendors ship real, properly signed kernel drivers - for overclocking utilities, firmware flashers, hardware diagnostics, backup products, anti-cheat systems. Some of them expose extremely powerful operations to any caller that can open the device, because the vendor assumed only their own privileged tool would ever talk to it. Typical primitives: - **Map arbitrary physical memory** into a user-mode process, which is a read/write of anything on the machine. - **Write an arbitrary model-specific register or control register**, which can switch off enforcement the kernel relies on. - **Terminate or open a handle to any process**, from the kernel, ignoring the protections a user-mode caller would hit. The operator installs the vendor's driver - which requires administrative rights, so this is still privilege being spent rather than won - and then drives it from an ordinary user-mode program. Nothing is forged, the signature is genuine, the vendor is legitimate, and the driver on disk is byte-identical to the one the vendor published. ## Route three: do not go to kernel at all Worth naming because it is the most common outcome. If administrative rights already give the operator what they need, the kernel crossing is an expense with a real downside: a bug in kernel code stops the machine, and a fleet of stopped machines ends the operation. Plenty of intrusions never bother. ## Why this changes what removes the technique Because the signature is valid, signature enforcement is not the control. The platform has to refuse **specific known-bad drivers** by identity - a vulnerable-driver blocklist maintained by the platform vendor and shipped to machines - and that changes the economics in two ways: 1. **The blocklist is a race.** New abusable drivers are found faster than fleets adopt list updates, and a driver only enters the list once somebody has characterised it. 2. **Adoption lags and is uneven.** Enforcement may be off by default on older installations, tied to other platform features, or disabled because it broke something. A control that ships is not a control that runs. A second, structurally different control raises the bar rather than enumerating badness: enforcing kernel code integrity from a layer the kernel cannot modify - a hypervisor-backed policy - so that even a driver running in the kernel cannot install arbitrary executable kernel code. That does not stop a vulnerable driver from being loaded, but it narrows what the abused primitive can convert into. ## The wrong answer to avoid The reflex is `they must have stolen a certificate`. Often nobody stole anything. The scarce asset was never the code and frequently was not a certificate either - it was administrative rights on the host, spent on installing a perfectly genuine driver whose author never imagined a hostile caller.
- Why is revoking the certificate not the fix for an abused but legitimately signed driver?Because the vendor did nothing wrong and their whole product line depends on that identity, and because timestamped signatures are designed to keep validating after certificate expiry - so revocation has to be dated to a compromise that did not occur. The workable control is refusing that specific driver by identity through a vulnerable-driver blocklist, which is a different mechanism with different adoption problems.
- What kind of primitive makes a signed driver worth borrowing?Anything that hands an unprivileged caller a kernel capability without checking who is asking: mapping arbitrary physical memory into user space, writing arbitrary control or model-specific registers, or opening and terminating any process from kernel context. The common defect is the vendor assuming only their own tool would ever open the device.
- Does this technique let an adversary skip getting administrative rights?No. Installing any kernel driver is an administrative operation, so the crossing bought is administrator to kernel, not unprivileged to administrator. It is still privilege being spent. What it removes is the need to own a signing identity, which is the expensive and attributable part.
saying these in an interview costs you the question
- Assumes the certificate must have been stolen
- Says the driver was modified or the signature forged
- Thinks signature enforcement stops this technique
- Confuses revoking a certificate with blocklisting a driver
- Believes a shipped blocklist is an enforced blocklist