Jump to content

Kernel Level Drivers: Difference between revisions

From Consumer Rights Wiki
Fireye (talk | contribs)
Init
 
JP (talk | contribs)
Reword and format the article to flow better. Also corrected some terminology.
Line 1: Line 1:
Use of Kernel Level Drivers as a mandatory component of userspace software, such as for cybersecurity or [[Kernel Level Anti-Cheats]], is a process in which software companies will release proprietary drivers to be installed to the end user's kernel along with a piece of software, and in many cases will not allow that software to function without them.


==How it works==
Kernel drivers allow the computer to communicate with devices such as keyboards, mice, storage, network cards, and more. Such communication requires kernel level access to the operating system as these drivers each manage hyper specific hardware. However in order to gain this privileged access to end user machines, companies have begun writing drivers as a component of their userspace software and in some cases requiring it to load on boot.


==Why it is a problem==
Kernel drivers, kernel modules, or drivers are modules of code that run inside the kernel of an operating system. Kernel drivers allow the computer to communicate with hardware devices such as keyboards, mice, storage, and network cards. Kernel access is required since these drivers usually manage hardware directly, which isn't possible in user space. This code is unresricted since it runs inside of the kernel, meaning drivers have the highest privledge level— higher than even the traditional administrator role. If kernel code fails, the entire system crashes. In comparision, user processes can gracefully exit without affecting other processes. Also, if a kernel driver has any vulnerabilities, these can be exploited by bad actors to gain kernel access and bypass any security measures the user has in place.
Kernel access allows full system monitoring, which creates numerous privacy concerns.  


Further, allowing third parties to define unnecessary drivers creates further points of failure that could end up bricking the operating system.
== Consumer Impact ==
Code running in the kernel presents numerous privacy and security concerns. Code running in the kernel can read the memory of any running process, including apps and websites used for banking, passwords, and other highly sensitive actions. Additionally, it has full control over all hardware, including the capability to permantely damage or disable hardware components.
 
Many companies now require the use of proprietary drivers in order to use applications that would work fine in user space, like [[Kernel Level Anti-Cheats]]. This gives these companies unrestricted access to a consumer's system, allowing for unmoderated data collection and control.


==Examples==
==Examples==


* [[wikipedia:CrowdStrike|CrowdStrike]]
* [[wikipedia:Cheating_in_online_games#Anti-cheating_methods_and_limitations|Anti-cheats]], like Easy Anti Cheat and EA Anti Cheat
== Incidents ==
* [[wikipedia:2024_CrowdStrike-related_IT_outages|2024 CrowdStrike-related IT outages]]
== See Also ==
* [[Kernel Level Anti-Cheats]]


The 2024 Crowdstrike outage<ref>{{Cite web |last=Warren |first=Tom |date=2024-07-19 |title=Major Windows BSOD issue hits banks, airlines, and TV broadcasters |url=https://www.theverge.com/2024/7/19/24201717/windows-bsod-crowdstrike-outage-issue |url-status=live |access-date=2025-06-18 |website=The Verge}}</ref> shows the potential consequences of allowing third party kernel-level access.
==References==
==References==
{{reflist}}
{{reflist}}


[[Category:Common terms]]
[[Category:Common terms]]

Revision as of 16:49, 21 June 2025


Kernel drivers, kernel modules, or drivers are modules of code that run inside the kernel of an operating system. Kernel drivers allow the computer to communicate with hardware devices such as keyboards, mice, storage, and network cards. Kernel access is required since these drivers usually manage hardware directly, which isn't possible in user space. This code is unresricted since it runs inside of the kernel, meaning drivers have the highest privledge level— higher than even the traditional administrator role. If kernel code fails, the entire system crashes. In comparision, user processes can gracefully exit without affecting other processes. Also, if a kernel driver has any vulnerabilities, these can be exploited by bad actors to gain kernel access and bypass any security measures the user has in place.

Consumer Impact

Code running in the kernel presents numerous privacy and security concerns. Code running in the kernel can read the memory of any running process, including apps and websites used for banking, passwords, and other highly sensitive actions. Additionally, it has full control over all hardware, including the capability to permantely damage or disable hardware components.

Many companies now require the use of proprietary drivers in order to use applications that would work fine in user space, like Kernel Level Anti-Cheats. This gives these companies unrestricted access to a consumer's system, allowing for unmoderated data collection and control.

Examples

Incidents

See Also

References