Kernel Level Drivers: Difference between revisions
Couple of typos |
add notice |
||
Line 1: | Line 1: | ||
{{Incomplete|Issue 1=No references}} | |||
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 unrestricted since it runs inside of the kernel, meaning drivers have the highest privilege level— higher than even the traditional administrator role. If kernel code fails, the entire system crashes. In comparison, 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 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 unrestricted since it runs inside of the kernel, meaning drivers have the highest privilege level— higher than even the traditional administrator role. If kernel code fails, the entire system crashes. In comparison, 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. |