Check ID:
Provider: AWS
Service:
Severity: HIGH
Resource type:
guardduty_ec2_malware_protection_enabledProvider: AWS
Service:
guarddutySeverity: HIGH
Resource type:
AwsGuardDutyDetectorWhat this check verifies
GuardDuty detectors with Malware Protection for EC2 enabled perform agentless scans of EBS volumes attached to EC2 instances and container workloads. Scans can be triggered by suspicious activity or run on-demand to identify malicious files within restored volume snapshots.Risk
Absent this coverage, malware on EC2 or containers can remain undetected, enabling:- Confidentiality loss via data exfiltration/credential theft
- Integrity compromise through tampering and backdoors
- Availability impact from ransomware/cryptominers
Recommendation
Enable Malware Protection for EC2 across all accounts and Regions under centralized administration. Apply least privilege to findings access, define scan scope with tags and minimize exclusions, and retain snapshots based on data sensitivity. Integrate alerts with IR/SIEM and pair with hardening and vulnerability scanning for defense in depth.Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://www.infoq.com/news/2022/08/aws-guardduty-malware-detection/
- https://docs.aws.amazon.com/guardduty/latest/ug/malware-protection.html
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/GuardDuty/enable-malware-protection-for-ec2.html
- https://medium.com/@shashank.kulkarni0708/get-juiced-how-i-hacked-owasp-juice-shop-and-let-guardduty-catch-me-537f7064a1d5
- https://docs.aws.amazon.com/guardduty/latest/ug/configure-malware-protection-single-account.html
- https://docs.aws.amazon.com/securityhub/latest/userguide/guardduty-controls.html#guardduty-8
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = guardduty_ec2_malware_protection_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks