SURFconext wordt gehackt!

Het SURFconext-team heeft een paar weken geleden een zogenaamde purple team-oefening gedaan, waarbij is geprobeerd om in te breken in de systemen van SURFconext. Deze oefening deden we samen met Chapter8. Dit bedrijf reikt een munt uit aan klanten bij wie ze niet in staat zijn om de van tevoren vastgestelde kroonjuwelen te bemachtigen. Wil je weten of we deze munt hebben kunnen bemachtigen? Lees dan snel verder! 

Purple team-oefening, wat is dat? 

Bij een purple team-oefening werken een ‘red team’ en een ‘blue team’ samen om een aanval op een omgeving uit te voeren. In het red team zitten de aanvallers, in het blue team de verdedigers. Rood en blauw zijn samen paars; purple dus. 

Van tevoren hebben we een lijstje met kroonjuwelen vastgesteld: gegevens die absoluut niet in handen van een aanvaller mogen komen. Het idee is dat het red team probeert binnen te komen in de systemen van het blue team en het blue team op de hoogte stelt van de vorderingen. Bijvoorbeeld door een wachtwoord te tonen dat ze hebben buitgemaakt. Het blue team kan dan op zijn beurt kijken of ze de aanvallers en sporen van de aanval kunnen vinden. Het uiteindelijke doel van een purple team-oefening is - naast het testen van zwakke plekken - om te kijken of je voorbereid bent op een (succesvolle) aanval. Zie je de aanval terug in je logs? Krijg je alerts van je logging-systeem? Zijn je procedures bij een succesvolle hack op orde? 

De oefening: twee weken van aanvallen 

De oefening duurde twee weken. Het red team probeerde tijdens deze oefening om in te breken in de systemen van SURFconext. Naast de systemen en netwerken van SURFconext werd ook getracht om in de systemen van het onderliggende platform waarop de virtuele machines draaien te komen.  Om het leven van de aanvallers wat makkelijker te maken, was het startpunt een zogenaamde assume breach. Onze systemen zijn namelijk alleen toegankelijk als je een VPN-account hebt. De aanvallers kregen een VPN-account, zodat ze in ieder geval netwerktoegang hadden tot onze systemen. 

Bij deze purple team-oefening hadden we van tevoren een aantal zogenaamde kroonjuwelen bepaald. Dat zijn gegevens die we echt niet in verkeerde handen willen laten vallen. Je kunt daarbij denken aan persoonsgegevens van onze gebruikers, of sleutelmateriaal waarmee we onze logins beveiligen.  

De aanvallers volgden het klassieke patroon van een aanval. Ze begonnen met de zogenaamde verkenningsfase; ze probeerden om zo veel mogelijk gegevens over onze systemen te verzamelen, zoals hostnames. Van tevoren hadden we wel wat grenzen aangegeven; het zou onaardig zijn als een netwerk van een van onze collega's op ons hosting platform ineens zou worden aangevallen. Het red team ontdekte al snel onze interne testomgeving. Deze omgeving is bewust heel open (al heb je wel een VPN-account nodig voor toegang). De aanvallers concentreerden zich dan ook op die omgeving. Binnen drie dagen hadden ze het voor elkaar om op onze testomgeving een zogenaamde reverse shell te installeren door gebruik te maken van standaard functionaliteit. Met een reverse shell is het mogelijk dat ze commando's op een van onze servers konden uitvoeren. Vanuit daar werd de rest van de aanval opgezet. Het idee is namelijk dat als je eenmaal binnen bent op een vertrouwd netwerk, de toegang tot andere netwerken eenvoudiger is, bijvoorbeeld het productienetwerk. Ook zochten de aanvallers naar eventuele wachtwoorden van de productiesystemen. Helaas voor het aanvallende team bleek dat niet mogelijk. De toegang tot productie was niet mogelijk en onze kroonjuwelen waren veilig. 

De onderliggende software van SURFconext is open source en dat betekent dat we de software ook ter download aanbieden. De aanvallers doorzochten ook deze server met downloads minitieus. Daarbij hebben ze een wachtwoord buitgemaakt voor een intern SURF-testsysteem. Dit wachtwoord bleek ook bruikbaar voor de productieserver. Een goede vondst, maar die viel niet onder de lijst met kroonjuwelen. Wel hebben we gezorgd dat het probleem zo snel mogelijk werd verholpen; het wachtwoord is aangepast, en we hebben een onderscheid gemaakt tussen productie en test, zodat het wachtwoord van het testsysteem niet bruikbaar is voor de productieserver.  
Omdat het een purple team-oefening was, stelden de aanvallers ons op de hoogte van de aanvalspogingen. We hebben de aanvallers af en toe van een dood spoor gehaald, zodat ze zich konden concentreren op de plekken waar wellicht meer te halen viel. Uiteindelijk is het de aanvallers niet gelukt om de kroonjuwelen te bemachtigen.

Conclusie: SURFconext is goed beveiligd 

Onze kroonjuwelen zijn goed beveiligd, alsmede de systemen waarop onze virtuele machines draaien. De persoonsgegevens van onze gebruikers en de meer dan 260.000.000 logins die per jaar over ons platform gaan, zijn goed beveiligd. Onze beveiliging is opgebouwd uit meerdere lagen, zodat we nog steeds veilig zijn voor indringers van buitenaf wanneer een systeem of een netwerk gecompromitteerd wordt. Elk netwerk is gesegmenteerd en alle omgevingen hebben een eigen set met wachtwoorden. Een wachtwoord voor de testomgeving is in principe nooit te gebruiken op de productieserver. Ook ontwikkelen we onze software zelf en is de broncode openbaar, zodat wij niet de enige gebruikers zijn van de software, en niet alleen wij naar de code kijken. We laten de code regelmatig auditen. Ook maken we gebruik van zo veel mogelijk security best practices. Beveiliging zit in ons DNA. Bij elke wijziging aan onze software of onze systemen houden we ook rekening met de beveiligingsimpact. We streven ook altijd naar verbetering; elk jaar doen we een risico-inventarisatie en pakken we de punten op met de hoogst combinatie van kans en impact. 

We hebben onze beveiliging wel zo ingericht dat we vooral gericht zijn op het buitenhouden van aanvallers. Als ze eenmaal binnen zijn, dan zien we dat niet goed. Hier zit ruimte voor verbetering. 

Verder was het interessant om te zien hoeveel tijd het twee aanvallers met flink wat ervaring kostte om de aanval uit te voeren. Vele uren werk staken zij in het vinden en uitpluizen van gegevens die min of meer publiek stonden. Dat betekent dus dat een willekeurige aanvaller die op een regenachtige zaterdagmiddag op een zolderkamertje probeert SURFconext te hacken, niet zonder meer in staat is om een succesvolle aanval op SURFconext uit te voeren. 

Het resultaat

een coin met daarop de tekst "EXERCITATI EXERCITUM TUUM"
Yes! De coin is binnen

Het team van Chapter8 heeft besloten dat we onze beveiliging dermate op orde hebben dat we de felbegeerde coin hebben verdiend. Een mooie bevestiging voor ons dat we onze beveiliging op orde hebben!

SURFpodcast over purple teaming

Naast deze blog, vertel ik ook in de SURF-podcast over purple teaming.

Auteur

Ik ben technisch product manager bij SURFconext en bij SURFmailfilter. Van…

Reacties

Dit artikel heeft 0 reacties