Controls
What cloud configurations do I need to worry about to implement encryption at rest?
This page maps high-level controls (NIST 800-53 r5; more frameworks to come) to the specific cloud-platform configurations that satisfy them. Future expansion: live findings from CSPM tools, CVE coverage reverse-lookup, and threat-technique mitigation paths.
Search controls
Catalogue summary
| Framework | Rows | Composition |
|---|---|---|
| NIST_800-53_r5 | 1,216 | enhancement (872), control (324), family (20) |
Risk-prioritised gaps — top 25 CVEs
The 25 highest-risk CVEs we've mapped to controls, each paired with the single strongest mitigating NIST 800-53 r5 control. A row is a gap when that control has no concrete, checkable implementation in our controls catalogue — i.e. no specific cloud or hardening control (AWS Trusted Advisor, Azure Secure Score, DISA STIG, and so on) that we can point to as enforcing it and that we could automatically verify. In plain terms, a gap is a high-risk CVE whose best-fit mitigation we have no automated way to confirm is actually in place. Currently 21 of 25 are gaps. Many of the top CVEs share the same maximum Risk, so rows tie-break on peak EPSS (exploitation likelihood); this only orders equally-risky CVEs and never lowers a Risk score, so a freshly-published critical with low EPSS keeps its rank.
| CVE | Risk /100 | CVSS | Peak EPSS | Top mitigating control | Match | Impl status |
|---|---|---|---|---|---|---|
CVE-2024-3400 KEV | 100.0 | 10.0 | 1.0000 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-45519 KEV | 100.0 | 10.0 | 0.9998 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-1709 KEV | 100.0 | 10.0 | 0.9996 | AC-25 Reference Monitor | good | ❌ gap |
CVE-2026-10520 KEV | 100.0 | 10.0 | 0.9990 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2025-55182 KEV | 100.0 | 10.0 | 0.9962 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2025-10035 KEV | 100.0 | 10.0 | 0.9961 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2025-31324 KEV | 100.0 | 10.0 | 0.9951 | SI-3 Malicious Code Protection | good | ❌ gap |
CVE-2026-48282 KEV | 100.0 | 10.0 | 0.9924 | AC-3 Access Enforcement | good | ✅ has impl |
CVE-2025-32433 KEV | 100.0 | 10.0 | 0.9859 | IA-2 Identification and Authentication (Organizational Users) | good | ✅ has impl |
CVE-2024-50603 KEV | 100.0 | 10.0 | 0.9855 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2025-34028 KEV | 100.0 | 10.0 | 0.9766 | IA-2 Identification and Authentication (Organizational Users) | good | ✅ has impl |
CVE-2025-20281 KEV | 100.0 | 10.0 | 0.9707 | SI-10 Information Input Validation | good | ❌ gap |
CVE-2025-47812 KEV | 100.0 | 10.0 | 0.9549 | SI-10 Information Input Validation | good | ❌ gap |
CVE-2024-1212 KEV | 100.0 | 10.0 | 0.9539 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-51378 KEV | 100.0 | 10.0 | 0.9488 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-29895 | 100.0 | 10.0 | 0.9438 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-2389 | 100.0 | 10.0 | 0.9435 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-31982 | 100.0 | 10.0 | 0.9431 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-51567 KEV | 100.0 | 10.0 | 0.9431 | IA-2 Identification and Authentication (Organizational Users) | good | ✅ has impl |
CVE-2024-5932 | 100.0 | 10.0 | 0.9420 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-25600 | 100.0 | 10.0 | 0.9394 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-36412 | 100.0 | 10.0 | 0.9364 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2024-21650 | 100.0 | 10.0 | 0.9348 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
CVE-2023-51409 | 100.0 | 10.0 | 0.9304 | SI-3 Malicious Code Protection | good | ❌ gap |
CVE-2024-51568 | 100.0 | 10.0 | 0.9304 | SA-11 Developer Testing and Evaluation | good | ❌ gap |
KEV coverage — controls that block actively-exploited threatsAI-assisted
For each of CISA's 1,674 Known Exploited Vulnerabilities, we pick the single strongest mitigating NIST 800-53 r5 control (per-CVE LLM annotation when available, falling back to the CWE→control mapping). The table below shows the top 20 controls ranked by how many KEV CVEs they would mitigate. 1,316 of 1,674 KEV CVEs (79%) are attributed to a control.
Coverage gaps — NIST 800-53 r5 by family
For each NIST 800-53 family: how many top-level controls exist, how many have at least one cloud-config implementation in our catalogue, and how many distinct implementations target that family. Bigger numbers and longer green bars are better. Currently 33 of 324 controls (10%) have implementations across 210 impl-spec mentions; the rest are gaps in the impl catalogue, not the controls themselves.
| Family | Controls | With impl | Total impls | Coverage |
|---|---|---|---|---|
| ACAccess Control | 25 | 6 | 37 | 24% |
| ATAwareness and Training | 6 | 0 | 0 | 0% |
| AUAudit and Accountability | 16 | 5 | 21 | 31% |
| CAAssessment, Authorization, and Monitoring | 9 | 1 | 22 | 11% |
| CMConfiguration Management | 14 | 4 | 13 | 29% |
| CPContingency Planning | 13 | 3 | 16 | 23% |
| IAIdentification and Authentication | 13 | 1 | 2 | 8% |
| IRIncident Response | 10 | 0 | 0 | 0% |
| MAMaintenance | 7 | 0 | 0 | 0% |
| MPMedia Protection | 8 | 0 | 0 | 0% |
| PEPhysical and Environmental Protection | 23 | 0 | 0 | 0% |
| PLPlanning | 11 | 0 | 0 | 0% |
| PMProgram Management | 32 | 0 | 0 | 0% |
| PSPersonnel Security | 9 | 0 | 0 | 0% |
| PTPersonally Identifiable Information Processing and Transparency | 8 | 0 | 0 | 0% |
| RARisk Assessment | 10 | 0 | 0 | 0% |
| SASystem and Services Acquisition | 24 | 1 | 2 | 4% |
| SCSystem and Communications Protection | 51 | 8 | 76 | 16% |
| SISystem and Information Integrity | 23 | 4 | 21 | 17% |
| SRSupply Chain Risk Management | 12 | 0 | 0 | 0% |
Encryption at rest — required cloud configurations
The implementations below all satisfy NIST 800-53 r5 SC-28 (Protection of Information at Rest). Pick the platforms relevant to your stack; each row is a specific check you need to keep green.
| Platform | Configuration | Implementation ID |
|---|---|---|
| AWS::ApiGateway::Stage | Api Gw Cache Enabled And Encrypted | aws-config-api-gw-cache-enabled-and-encrypted |
| AWS::CloudTrail::Trail | Cloud Trail Encryption Enabled | aws-config-cloud-trail-encryption-enabled |
| AWS::CodeBuild::Project | Codebuild Project Artifact Encryption | aws-config-codebuild-project-artifact-encryption |
| AWS::DynamoDB::Table | Dynamodb Table Encrypted Kms | aws-config-dynamodb-table-encrypted-kms |
| AWS::DynamoDB::Table | DynamoDB table uses encryption at rest with KMS | aws-config-dynamodb-table-encryption-enabled |
| AWS::EC2::Volume | EBS encryption by default is enabled | aws-config-ec2-ebs-encryption-by-default |
| AWS::EC2::Volume | EBS volumes are encrypted at rest | aws-config-encrypted-volumes |
| AWS::EFS::FileSystem | EFS file system is encrypted | aws-config-efs-encrypted-check |
| AWS::EKS::Cluster | EKS cluster encrypts Kubernetes secrets at rest with KMS | aws-config-eks-cluster-secrets-encrypted |
| AWS::Kinesis::Stream | Kinesis Stream Encrypted | aws-config-kinesis-stream-encrypted |
| AWS::OpenSearchService::Domain | Elasticsearch Encrypted At Rest | aws-config-elasticsearch-encrypted-at-rest |
| AWS::OpenSearchService::Domain | Opensearch Encrypted At Rest | aws-config-opensearch-encrypted-at-rest |
| AWS::RDS::DBInstance | Rds Snapshot Encrypted | aws-config-rds-snapshot-encrypted |
| AWS::RDS::DBInstance | RDS storage is encrypted | aws-config-rds-storage-encrypted |
| AWS::Redshift::Cluster | Redshift Cluster Configuration Check | aws-config-redshift-cluster-configuration-check |
| AWS::Redshift::Cluster | Redshift Cluster Kms Enabled | aws-config-redshift-cluster-kms-enabled |
| AWS::S3::Bucket | S3 bucket has default server-side encryption | aws-config-s3-bucket-server-side-encryption-enabled |
| AWS::S3::Bucket | S3 Default Encryption Kms | aws-config-s3-default-encryption-kms |
| AWS::SNS::Topic | SNS topic uses KMS encryption at rest | aws-config-sns-encrypted-kms |
| AWS::SQS::Queue | SQS queue has server-side encryption enabled | aws-config-sqs-queue-server-side-encryption-enabled |
| AWS::SageMaker::NotebookInstance | Sagemaker Endpoint Configuration Kms Key Configured | aws-config-sagemaker-endpoint-configuration-kms-key-configured |
| AWS::SageMaker::NotebookInstance | Sagemaker Notebook Instance Kms Key Configured | aws-config-sagemaker-notebook-instance-kms-key-configured |
| AWS::SecretsManager::Secret | Secretsmanager Using Cmk | aws-config-secretsmanager-using-cmk |
| Microsoft.Compute/disks | Managed disks are encrypted with customer-managed keys | azure-mcsb-managed-disk-encryption |
| Microsoft.DocumentDB/databaseAccounts | Cosmos DB uses customer-managed keys | azure-mcsb-cosmosdb-encryption |
| Microsoft.Sql/servers/databases | Azure SQL DB uses Transparent Data Encryption | azure-mcsb-sql-tde |
| Microsoft.Storage/storageAccounts | Storage account encrypts data at rest | azure-mcsb-dp-04-storage-encryption |
| bigquery.googleapis.com/Dataset | BigQuery datasets encrypted with CMEK | gcp-cis-bigquery-cmek |
| compute.googleapis.com/Disk | Persistent disks encrypted with CMEK | gcp-cis-compute-disk-cmek |
| sqladmin.googleapis.com/Instance | Cloud SQL instances use CMEK encryption | gcp-cis-cloudsql-encryption |
| storage.googleapis.com/Bucket | Cloud Storage buckets encrypted with CMEK | gcp-cis-storage-bucket-cmek |