Omdat cloudinfrastructuur de ruggengraat van moderne ondernemingen wordt, is het van het grootste belang om de beveiliging van deze omgevingen te waarborgen. Omdat AWS (Amazon Web Services) nog steeds de dominante cloud is, is het voor elke beveiligingsprofessional belangrijk om te weten waar ze moeten zoeken naar tekenen van inbreuk. AWS CloudTrail onderscheidt zich als een essentiële tool voor het volgen en loggen van API-activiteit, en biedt een uitgebreid overzicht van acties die binnen een AWS-account zijn uitgevoerd. Beschouw AWS CloudTrail als een audit of gebeurtenislogboek voor alle API-aanroepen die in uw AWS-account zijn gedaan. Voor beveiligingsprofessionals is het bewaken van deze logs van cruciaal belang, met name als het gaat om het detecteren van potentiële ongeautoriseerde toegang, zoals via gestolen API-sleutels. Deze technieken en vele andere heb ik geleerd door de incidenten waarmee ik bij AWS heb gewerkt en die we hebben ingebouwd in SANS FOR509, Enterprise Cloud Forensics.
1. Ongebruikelijke API-aanroepen en toegangspatronen
A. Plotselinge piek in API-verzoeken
Een van de eerste tekenen van een mogelijke beveiligingsinbreuk is een onverwachte toename van API-aanvragen. CloudTrail registreert elke API-aanroep die binnen uw AWS-account wordt gedaan, inclusief wie de aanroep heeft gedaan, wanneer deze is gedaan en waarvandaan. Een aanvaller met gestolen API-sleutels kan in een kort tijdsbestek een groot aantal aanvragen starten, door het account te onderzoeken op informatie of door te proberen bepaalde services te exploiteren.
Waar moet je op letten:
- Een plotselinge, ongebruikelijke toename van API-activiteit.
- API-aanroepen vanaf ongebruikelijke IP-adressen, met name vanuit regio’s waar legitieme gebruikers niet actief zijn.
- Probeer toegang te krijgen tot een breed scala aan services, vooral als deze doorgaans niet door uw organisatie worden gebruikt.
Houd er rekening mee dat Guard Duty (indien ingeschakeld) dit soort gebeurtenissen automatisch markeert, maar u moet wel opletten om ze te vinden.
B. Ongeautoriseerd gebruik van Root-account
AWS raadt ten zeerste aan om het gebruik van het root-account voor dagelijkse handelingen te vermijden vanwege het hoge niveau van privileges. Elke toegang tot het root-account, met name als API-sleutels die eraan zijn gekoppeld, worden gebruikt, is een significante rode vlag.
Waar moet je op letten:
- API-aanroepen worden uitgevoerd met root-accountreferenties, vooral als het root-account doorgaans niet wordt gebruikt.
- Wijzigingen in accountinstellingen, zoals het wijzigen van factureringsgegevens of accountconfiguraties.
2. Afwijkende IAM-activiteit
A. Verdachte aanmaak van toegangssleutels
Aanvallers kunnen nieuwe toegangssleutels maken om permanente toegang tot het gecompromitteerde account te verkrijgen. Het is cruciaal om CloudTrail-logs te monitoren op het maken van nieuwe toegangssleutels, vooral als deze sleutels worden gemaakt voor accounts die ze doorgaans niet nodig hebben.
Waar moet je op letten:
- Aanmaken van nieuwe toegangssleutels voor IAM-gebruikers, met name voor hen die deze nog niet eerder nodig hadden.
- Onmiddellijk gebruik van nieuw aangemaakte toegangssleutels, wat erop kan duiden dat een aanvaller deze sleutels test of gebruikt.
- API-aanroepen gerelateerd aan `CreateAccessKey`, `ListAccessKeys` en `UpdateAccessKey`.
C. Rolveronderstellingspatronen
AWS stelt gebruikers in staat rollen aan te nemen, door ze tijdelijke credentials te geven voor specifieke taken. Het monitoren van ongebruikelijke rolaannamepatronen is essentieel, omdat een aanvaller rollen kan aannemen om binnen de omgeving te draaien.
Waar moet je op letten:
- Ongebruikelijke of frequente `AssumeRole` API-aanroepen, vooral naar rollen met verhoogde rechten.
- Rolveronderstellingen op basis van IP-adressen of regio’s die doorgaans niet aan uw legitieme gebruikers worden gekoppeld.
- Rolveronderstellingen die worden gevolgd door acties die niet in overeenstemming zijn met de normale bedrijfsvoering.
3. Anomale gegevenstoegang en -beweging
A. Ongebruikelijke S3-buckettoegang
Amazon S3 is vaak een doelwit voor aanvallers, aangezien het enorme hoeveelheden potentieel gevoelige gegevens kan opslaan. Het monitoren van CloudTrail op ongebruikelijke toegang tot S3-buckets is essentieel bij het detecteren van gecompromitteerde API-sleutels.
Waar moet je op letten:
- API-aanroepen met betrekking tot `ListBuckets`, `GetObject` of `PutObject` voor buckets waarin dergelijke activiteit doorgaans niet voorkomt.
- Grootschalige gegevensdownloads of -uploads van en naar S3-buckets, vooral als dit buiten de normale kantooruren gebeurt.
- Er wordt geprobeerd toegang te krijgen tot buckets waarin gevoelige gegevens zijn opgeslagen, zoals back-ups of vertrouwelijke bestanden.
B. Pogingen tot data-exfiltratie
Een aanvaller kan proberen om data uit uw AWS-omgeving te verplaatsen. CloudTrail-logs kunnen helpen bij het detecteren van dergelijke exfiltratiepogingen, vooral als de datatransferpatronen ongebruikelijk zijn.
Waar moet je op letten:
- Grote gegevensoverdrachten van services zoals S3, RDS (Relational Database Service) of DynamoDB, vooral naar externe of onbekende IP-adressen.
- API-aanroepen met betrekking tot services zoals AWS DataSync of S3 Transfer Acceleration die doorgaans niet in uw omgeving worden gebruikt.
- Pogingen om configuraties voor gegevensreplicatie te maken of te wijzigen, zoals configuraties waarbij S3-replicatie tussen regio’s plaatsvindt.
4. Onverwachte wijzigingen in de beveiligingsgroep
Beveiligingsgroepen beheren inkomend en uitgaand verkeer naar AWS-resources. Een aanvaller kan deze instellingen wijzigen om extra aanvalsvectoren te openen, zoals het inschakelen van SSH-toegang vanaf externe IP-adressen.
Waar moet je op letten:
- Wijzigingen in de beveiligingsgroepregels die binnenkomend verkeer van IP-adressen buiten uw vertrouwde netwerk toestaan.
- API-aanroepen met betrekking tot `AuthorizeSecurityGroupIngress` of `RevokeSecurityGroupEgress` die niet overeenkomen met normale bewerkingen.
- Het creëren van nieuwe beveiligingsgroepen met te permissieve regels, zoals het toestaan van al het binnenkomende verkeer op gemeenschappelijke poorten.
5. Stappen om het risico van gestolen API-sleutels te beperken
A. Handhaaf het principe van de minste privileges
Om de schade die een aanvaller kan aanrichten met gestolen API-sleutels te minimaliseren, moet u het principe van de minste privileges op uw AWS-account toepassen. Zorg ervoor dat IAM-gebruikers en -rollen alleen de machtigingen hebben die nodig zijn om hun taken uit te voeren.
B. Implementeer multi-factorauthenticatie (MFA)
Vereist MFA voor alle IAM-gebruikers, met name die met beheerdersrechten. Dit voegt een extra beveiligingslaag toe, waardoor het voor aanvallers moeilijker wordt om toegang te krijgen, zelfs als ze API-sleutels hebben gestolen.
C. Regelmatig toegangssleutels roteren en controleren
Draai toegangssleutels regelmatig en zorg ervoor dat ze gekoppeld zijn aan IAM-gebruikers die ze daadwerkelijk nodig hebben. Controleer daarnaast het gebruik van toegangssleutels om te zorgen dat ze niet worden misbruikt of vanaf onverwachte locaties worden gebruikt.
D. CloudTrail en GuardDuty inschakelen en bewaken
Zorg ervoor dat CloudTrail in alle regio’s is ingeschakeld en dat logs gecentraliseerd zijn voor analyse. Bovendien kan AWS GuardDuty realtime monitoring bieden voor kwaadaardige activiteiten, wat een extra beschermingslaag biedt tegen gecompromitteerde credentials. Overweeg AWS Detective om wat intelligentie te bouwen op basis van de bevindingen.
E. Gebruik AWS Config voor nalevingsbewaking
AWS Config kan worden gebruikt om naleving van best practices voor beveiliging te controleren, inclusief het juiste gebruik van IAM-beleid en beveiligingsgroepen. Deze tool kan helpen bij het identificeren van verkeerde configuraties die uw account kwetsbaar kunnen maken voor aanvallen.
Conclusie
De beveiliging van uw AWS-omgeving hangt af van waakzame monitoring en snelle detectie van anomalieën in CloudTrail-logs. Door de typische patronen van legitiem gebruik te begrijpen en alert te zijn op afwijkingen van deze patronen, kunnen beveiligingsprofessionals potentiële inbreuken, zoals die met gestolen API-sleutels, detecteren en erop reageren voordat ze aanzienlijke schade veroorzaken. Naarmate cloudomgevingen zich blijven ontwikkelen, is het essentieel om een proactieve houding ten opzichte van beveiliging te behouden om gevoelige gegevens te beschermen en de integriteit van uw AWS-infrastructuur te waarborgen. Als u meer wilt weten over waar u op moet letten in AWS voor tekenen van inbraak, samen met Microsoft- en Google-clouds, kunt u mijn cursus FOR509 overwegen die wordt gegeven op SANS Cyber Defense Initiative 2024. Ga naar for509.com voor meer informatie.