Wat is Breach and Attack Simulation (BAS)?
Wat is Breach and Attack Simulation (BAS)?
Wat is precies breach and attack simulation?
Breach and Attack Simulation (BAS) is eigenlijk dat wat de naam suggereert. Je simuleert een aanval en een succesvolle inbraak. Veel mensen welke bekend zijn in het vak zullen zich afvragen: Maar wat is dan het verschil tussen een Red-team exercitie en BAS? Deze vraag gaan we beantwoorden in één van de volgende blogs.
Voor nu is het denk ik even belangrijk om ons te richten op de vraag: Hoe werkt een Breach and Attack Simulation oplossing?
De BAS oplossing die ik ken en waar ik over schrijf is die van Cymulate. Deze SaaS-oplossing bestaat eigenlijk uit 4 belangrijke componenten, die gebruikt worden om een 11-tal beschikbare aanvalsvectormodules hun taken te kunnen laten uitvoeren. Niet iedere component zal bij iedere module gebruikt worden.
Componenten van breach and attack simulation
De componenten zijn:
Dashboard: Dit is de grafische interface in de BAS Cloud. Aan de achterkant wordt deze met informatie gevoed door de andere componenten en zal de uitkomsten van de verschillende testen grafisch presenteren. Ook wordt het dashboard gebruikt om de verschillende modules te lanceren.
Agent: De agent is software die in de infrastructuur van de klant geïnstalleerd wordt.
Externe scanners: In de BAS Cloud draaien verschillende systemen die gebruikt worden om een omgeving van een klant aan de buitenkant te kunnen scannen. Dit kunnen zowel actieve scans (Portscans, vulnerability scans, etc.) zijn, alsmede passieve scans (OSINT). Dat laatste gebeurt met scanners die het internet, darkweb en deepweb doorzoeken naar informatie over de te scannen organisatie, echter zonder actief iets uit te sturen naar de te testen omgeving.
Extra webserver: Deze wordt gebruikt om bijvoorbeeld een phishing site te simuleren die gebruikt wordt in een van de aanvalssimulaties.
Hoe breach and attack simulation in zijn werk gaat
Met dit in het achterhoofd, stelt u zich voor dat we in het interne netwerk een agent geïnstalleerd hebben. Deze agent connecteert naar de BAS Cloud omgeving via HTTP of HTTPS (voor de techneuten onder ons, via een proxy is het ook mogelijk).
Op dat moment kan ik de agent tal van opdrachten laten uitvoeren en dingen laten controleren op bijvoorbeeld de endpoint (server, laptop e.d.).
Bijvoorbeeld, ik kan beginnen met de agent te vragen om te kijken of hij naar malafide externe sites kan verbinden; denk hierbij aan sites waarvan bekend is dat deze malware bevatten, command and control sites zijn etc. Maar ik kan deze agent ook vragen of hij bestanden kan downloaden welke gevaarlijk zijn, denk hier aan bestanden welke de handtekeningen van Trojans hebben, of aan geëncrypte kwaadaardige bestanden. Uiteraard zal dit op een veilige manier gebeuren en is er geen kans dat de omgeving daadwerkelijk besmet wordt. Alle succesvolle aanvalssimulaties, maar ook de niet gelukte aanvallen worden gerapporteerd via het dashboard. Je krijgt dan een actueel beeld over hoe security controls zoals een firewall ingeregeld zijn.
De volgende stap: Wanneer ik de agent toegang geef tot een mailbox, kan deze kijken welke informatie er wel of niet doorkomt. Vervolgens ga ik vanuit de BAS Cloud een groot aantal mails versturen welke alle karakteristieken hebben van ‘gevaarlijke’ oftewel ‘weaponized’ email. Denk aan bijvoorbeeld een attachment die een virus bevat, of Ransomware of andere duistere zaken. De agent kan controleren welke mail erdoor komt, en rapporteert hierover. Leuk om te weten dat de agent ook de rommel weer opruimt, er kunnen namelijk zeer veel mails verstuurd worden.
Kortom hiermee breng je in kaart welke mail er tegengehouden wordt, en hoe veilig het mail systeem is.
Nog een stap verder: Ik ga de agent vragen zich als “gevaarlijk” bestand te gedragen. Dus gedraag je als een virus, trojan of cryptoware. Of simuleer op de endpoint dingen zoals DLL injecteren, of probeer een aantal dummy files te versleutelen, of begin de omgeving in kaart te brengen, of kijk of je je privileges kunt verhogen. Alles wordt terug gecommuniceerd naar de BAS Cloud omgeving. Deze zal dus weergeven hoe kwetsbaar het endpoint is: wat wordt gestopt? Pikt mijn antivirus oplossing datgene wat er gebeurt? Worden zaken opgepakt door een SOC?
De volgende stap: En nu wordt het m.i. echt interessant... Kan de agent credentials op de endpoint vinden en deze gebruiken om bijvoorbeeld op andere omgevingen zichzelf te kopiëren, en zo ja, kan ik verder door de omgeving in? Niet alleen worden hiervoor gevonden credentials gebruikt, ook wordt er gekeken of de agent zich op andere manieren kan kopiëren naar een andere locatie in het netwerk. De agent rapporteert welk pad hij heeft bewandeld en zal ook de gevonden credentials (gemaskeerd) rapporteren naar het BAS dashboard.
Nog een stap verder: De agent gaat kijken of hij bestanden de omgeving uit kan sluizen, dus verbinden naar andere clouddiensten, bestanden uploaden via HTTP/HTTPS, externe verbindingen opzetten etc. Kortom testen of er bestanden ongezien de organisatie kunnen verlaten.
Daarnaast kan het dashboard gebruikt worden om een phishing mail met de bijbehorende site te genereren en te monitoren welke gebruikers er op een linkje hebben geklikt, getracht hebben op een fake login page in te loggen, of een bijlage hebben geopend.
Extern kan de omgeving met behulp van de externe scanners in kaart gebracht worden. Welke domeinen horen bij uw organisatie? Welke applicatie zijn van buitenaf benaderbaar? Welke email adressen zijn bekend, en zijn deze in het verleden wel eens naar voren gekomen in een bekende breach? Werken de op het internet gevonden wachtwoorden? En meer.
Breach and attack simulation voor continu testen van cyber security
Je kunt je voorstellen dat een oplossing als deze een organisatie in staat stelt om snel en voortdurend te kunnen testen of ze kwetsbaar zijn voor een bepaalde aanval. De centrale BAS omgeving wordt continue geüpdate met de nieuwste scenario’s en aanvalsvectoren. In plaats van het blind vertrouwen op verschillende beveiligingsoplossingen en -processen kunnen ze dus met BAS automatisch getest worden. Zo vaak je maar wilt, en wanneer je dat wilt met behulp van één virtuele druk op de knop.