8.1.17 Collect Kernel Module Loading and Unloading - '32bit init_module/delete_module'

Information

Monitor the loading and unloading of kernel modules. The programs insmod (install a
kernel module), rmmod (remove a kernel module), and modprobe (a more sophisticated
program to load and unload modules, as well as some other features) control loading and
unloading of modules. The init_module (load a module) and delete_module (delete a
module) system calls control loading and unloading of modules. Any execution of the
loading and unloading module programs and system calls will trigger an audit record with
an identifier of 'modules'.

*Rationale*

Monitoring the use of insmod, rmmod and modprobe could provide system administrators with
evidence that an unauthorized user loaded or unloaded a kernel module, possibly
compromising the security of the system. Monitoring of the init_module and delete_module
system calls would reflect an unauthorized user attempting to use a different program to
load and unload modules.

Solution

Add the following lines to the /etc/audit/audit.rules file.

-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules

For 32 bit systems, add
-a always,exit arch=b32 -S init_module -S delete_module -k modules

For 64 bit systems, add
-a always,exit arch=b64 -S init_module -S delete_module -k modules

See Also

https://workbench.cisecurity.org/files/91

Item Details

Category: AUDIT AND ACCOUNTABILITY

References: 800-53|AU-12c.

Plugin: Unix

Control ID: ebe39cd53e628fef97e0669594d81e4a102280ac4b2e62ffc184069ca45ea623