UCF STIG Viewer Logo

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


Overview

Finding ID Version Rule ID IA Controls Severity
V-29281 GEN002825-2 SV-64499r1_rule Medium
Description
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.
STIG Date
Oracle Linux 5 Security Technical Implementation Guide 2020-02-25

Details

Check Text ( C-52917r2_chk )
Determine if the delete_module syscall is audited.

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

If the result does not contain "-S delete_module", this is a finding.
Fix Text (F-55095r4_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.

Procedure:
Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of kernel loadable module deletions:

-a exit,always -F arch= -S delete_module

Restart the auditd service:
# service auditd restart