os_implement_memory_protection Configure the System to Protect Memory from Unauthorized Code Execution
All changes in this version
Title
Configure the System to Protect Memory from Unauthorized Code Execution
Control
The technology supports this requirement and cannot be configured to be out of compliance. The technology inherently meets this requirement.
Discussion
The information system _IS_ configured to implement non-executable data to protect memory from code execution.
Some adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited (e.g., buffer overflow attacks). Security safeguards (e.g., data execution prevention and address space layout randomization) can be employed to protect non-executable regions of memory. Data execution prevention safeguards can either be hardware-enforced or software-enforced; hardware-enforced methods provide the greater strength of mechanism.
macOS supports address space layout randomization (ASLR), position-independent executable (PIE), Stack Canaries, and NX stack and heap protection.
link:https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/64bitPorting/transition/transition.html[]
link:https://developer.apple.com/library/archive/qa/qa1788/_index.html[]
link:https://www.apple.com/macos/security/[]
Related controls
si-16
Fix
The technology inherently meets this requirement. No fix is required.