ROS (Robot Operating System)
TMA-ROS1-1.6.1
Ensure XD/NX support is enabled
Description
Recent processors in the x86 family support the ability to prevent code execution on a per memory page basis. Generically and on AMD processors, this ability is called No Execute (NX), while on Intel processors it is called Execute Disable (XD). This ability can help prevent exploitation of buffer overflow vulnerabilities and should be activated whenever possible. The audit requires the nx CPU flag (or the kernel "NX (Execute Disable) protection: active" message) and no noexec=off on the kernel command line. Host-level control from the CIS ROS Melodic benchmark (Ubuntu 18.04 robot hosts); run as root.
How it is checked
Audit method: Shell command
grep -Eq 'noexec[0-9]*=off' /proc/cmdline && { echo 'NX disabled on the kernel command line'; exit 1; }
grep -Eqw 'nx' /proc/cpuinfo && echo compliant || { journalctl -k 2>/dev/null | grep -q 'protection: active' && echo compliant || echo 'NX/XD protection not active'; }- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
On 32 bit systems install a kernel with PAE support, no installation is required on 64 bit systems: If necessary configure your bootloader to load the new kernel and reboot the system. You may need to enable NX or XD support in your bios.
Properties
- Operating systems
- Any
- Tags
- rosros1melodicsystem
- Reference
- CIS ROS Melodic Benchmark v1.0.0 - 1.6.1 Ensure XD/NX support is enabled
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target ros