Skip to main content

Detection

Detection is a layered capability: GuardDuty finds behaviour, Security Hub aggregates and scores posture, Inspector finds vulnerabilities, and Prowler independently assesses against benchmarks. No single source is sufficient.

The detection stack​

ServiceWhat it detectsScope
GuardDutyMalicious behaviour — credential misuse, crypto-mining, C2 traffic, port scanning, anomalous API callsAccount-wide, continuous
Security HubAggregated findings and compliance posture against enabled standardsOrganisation-wide
InspectorVulnerabilities in EC2, container images and LambdaPer resource, continuous
MacieSensitive data in S3Per bucket
ConfigConfiguration drift and rule violationsOrganisation-wide
ProwlerIndependent posture assessment against CIS, ISO, SOC 2 and othersOn demand or scheduled
CloudTrail + metric filtersSpecific API events that should never happen silentlyOrganisation-wide

GuardDuty​

Enablement​

  • Enabled in every account and every governed region.
  • Delegated administrator in the security account; member accounts enrolled automatically by the organisation.
  • All data sources on: CloudTrail management events, S3 data events, VPC Flow Logs, DNS logs, EKS audit logs, Lambda network activity, RDS login activity, EBS malware protection.
  • S3 protection and malware scanning enabled where the workload stores uploads.

Finding routing​

GuardDuty finding
→ EventBridge rule
├── severity ≥ 7 → SNS → security on-call (page)
├── severity 4–6 → ticket
└── severity < 4 → daily digest

Automated containment​

FindingAutomated response
Credential misuse (UnauthorizedAccess:IAMUser)Deactivate the access key or attach a deny-all policy to the role
EC2 instance compromised (UnauthorizedAccess:EC2)Replace security group with an isolation group; snapshot volumes
Crypto-mining (CryptoCurrency:EC2)Isolate the instance; open an incident
S3 anomalous accessBlock public access on the bucket; alert
EKS anomalous behaviourCordon the node; preserve logs

Automation contains. A human decides whether to terminate, restore or investigate further.

Security Hub​

Standards​

StandardUse
AWS Foundational Security Best PracticesDefault baseline
CIS AWS Foundations BenchmarkCustomers with a CIS obligation
PCI DSSPayment workloads
NIST 800-53Public sector and regulated customers

Aggregation​

  • Delegated administrator in the security account.
  • Findings from all member accounts and regions aggregated.
  • Cross-region aggregation to a single home region.

Workflow​

Findings move through NEW → NOTIFIED → RESOLVED or SUPPRESSED. A finding suppressed without a recorded justification is a finding ignored.

SeverityResponse target
CriticalSame day
HighWithin 3 days
MediumWithin 30 days
LowNext maintenance cycle

Inspector​

AssetEnabledScan
EC2YesContinuous, on launch
ECR imagesYesOn push and continuous rescan
LambdaYesOn deploy and continuous

Findings are prioritised by network reachability and exploitability, so a vulnerability on an internet-facing instance outranks the same CVE on an isolated one.

Prowler​

Prowler provides an independent assessment — a second opinion that does not depend on the same configuration that the posture is being measured against.

# Organisation-wide assessment, CIS 1.5, all regions
prowler aws \
--profile security-audit \
--compliance cis_1.5_aws \
--output-directory ./reports \
--output-formats json-ocsf,html,csv

Cadence​

AssessmentFrequencyConsumer
CIS benchmarkMonthlySecurity team
Well-Architected security pillarQuarterlyDelivery lead and customer
Custom control setOn changePlatform team

Results are compared against the previous run. A regression is more informative than a score.

CloudTrail-derived alarms​

Independent of the managed services, a small set of API events is alarmed directly because it should never happen quietly:

EventReason
Root loginRoot should not be used
StopLogging / DeleteTrailCovering tracks
AuthorizeSecurityGroupIngress to 0.0.0.0/0Exposure
PutBucketPolicy making a bucket publicData exposure
ScheduleKeyDeletionIrreversible data loss
CreateAccessKey on a userLong-lived credential
ConsoleLogin without MFACredential compromise
LeaveOrganizationGuardrail escape

See API activity tracking.

Triage​

A finding is not an incident until it is triaged. The triage questions:

  1. Is it real? Check the resource, the principal and the timing against CloudTrail.
  2. Is it exposed? Public-facing, or isolated?
  3. What is the blast radius? Which data, which accounts, which customers?
  4. Is it contained? If not, contain first and investigate second.
  5. What is the root cause? A misconfiguration, a credential, a vulnerable dependency, or an insider?

The outcome is recorded against the finding so the next occurrence benefits.

Evidence​

  • GuardDuty configuration and member account list.
  • Security Hub standards enabled and current score.
  • Inspector coverage and open findings.
  • Prowler report with the comparison to the previous period.
  • Finding triage records with resolution.
  • Automated response configuration.