| name | SI-16_memory-protection |
| description | Implement the following controls to protect the system memory from unauthorized code execution: [organization-defined]. |
| category | input-validation |
| version | 5.2.0 |
| author | cyberstrike-official |
| tags | ["nist","sp800-53","rev5","si-16","si"] |
| tech_stack | ["aws","azure","gcp","linux","windows"] |
| cwe_ids | ["CWE-20"] |
| chains_with | ["AC-25","SC-3","SI-7"] |
| prerequisites | [] |
| severity_boost | {"AC-25":"Chain with AC-25 for comprehensive security coverage","SC-3":"Chain with SC-3 for comprehensive security coverage","SI-7":"Chain with SI-7 for comprehensive security coverage"} |
SI-16 Memory Protection
High-Level Description
Family: System and Information Integrity (SI)
Framework: NIST SP 800-53 Rev 5
Some adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited. Controls employed to protect memory include data execution prevention and address space layout randomization. Data execution prevention controls can either be hardware-enforced or software-enforced with hardware enforcement providing the greater strength of mechanism.
What to Check
How to Test
Step 1: Review Documentation
Examine the System Security Plan (SSP) and related artifacts for SI-16 implementation details. Verify the organization has documented how this control is satisfied.
Step 2: Validate Implementation
# For cloud environments, use cloud-audit-mcp tools
# For on-premises, review system configurations directly
# Example: Check if account management policies exist
grep -r "account.management\|access.control" /etc/security/ 2>/dev/null
Step 3: Test Operating Effectiveness
Verify the control is actively functioning, not just documented. Check logs, configurations, and operational evidence.
Tools
| Tool | Purpose | Usage |
|---|
| cloud-audit-mcp | Check integrity monitoring | cloud_audit_monitoring |
| AWS CLI | Review GuardDuty/Inspector | aws guardduty list-detectors |
Remediation Guide
Control Statement
Implement the following controls to protect the system memory from unauthorized code execution: [organization-defined].
Implementation Guidance
Some adversaries launch attacks with the intent of executing code in non-executable regions of memory or in memory locations that are prohibited. Controls employed to protect memory include data execution prevention and address space layout randomization. Data execution prevention controls can either be hardware-enforced or software-enforced with hardware enforcement providing the greater strength of mechanism.