UCF STIG Viewer Logo

The audit system must be configured to audit the loading and unloading of dynamic kernel modules.


Finding ID Version Rule ID IA Controls Severity
V-22383 GEN002825 SV-64505r1_rule Medium
Actions concerning dynamic kernel modules must be recorded as they are substantial events. Dynamic kernel modules can increase the attack surface of a system. A malicious kernel module can be used to substantially alter the functioning of a system, often with the purpose of hiding a compromise from the SA.
Oracle Linux 5 Security Technical Implementation Guide 2016-12-20


Check Text ( C-52921r1_chk )
Determine if the init_module syscall is audited.

# cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "init_module"

If the result does not contain "-S init_module", this is a finding.
Fix Text (F-55103r2_fix)
The "-F arch=" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules.

On single architecture systems, the "-F arch=" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details.

Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately.

The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding.

Configure auditing of the init_module syscalls.
Add the following to the "etc/audit/audit.rules" or "etc/audit.rules" file:

-a exit,always -S init_module

Restart the auditd service.
# service auditd restart