Onlangs attendeerde een onafhankelijke security researcher ons een op minor security issue binnen onze corporate website. Zo nu en dan worden zaken gemeld via onze responsible disclosure. En ondanks dat het tot nu toe steeds om minor issues gaat, zijn we blij dat ook onze eigen security onder de loep wordt genomen! Tijdens het onderzoeken van het issue stuitten we echter op een meer kritisch punt: we bleken een stuk software binnen onze website te gebruiken, dat niet de officiële versie bleek te zijn.
Wat bleek? Tijdens de ontwikkeling van onze website heeft de externe bouwer code van een derde partij gebruikt, waar kwaadwillende hackers malware in verborgen hadden. Voor deze software kwamen geen updates beschikbaar en de malware was zo slim om ons te laten denken dat het om de officiële versie van de code ging. Geautomatiseerd detecteren was daardoor lastig en ook na eerdere pentesten is dit issue niet naar voren gekomen.
Het doel van de malware was om inloggegevens van de beheerders van de website buit te maken. Voor ons een behoorlijk serieuze bedreiging, want als onze eigen website gedefaced of gehackt wordt, dan levert ons dat serieuze reputatieschade op. Gelukkig draait de corporate website los van de andere Guardian360 systemen, dus verdere mogelijke impact zou er niet geweest zijn.
Dankzij onze defense in depth maatregelen heeft de malware gelukkig zijn beoogde doel niet kunnen bereiken!
Ten eerste hebben we de beheerpagina van onze website goed afgeschermd. Zou iemand inloggegevens buit gemaakt hebben, dan had hij deze niet eenvoudig kunnen gebruiken om in te loggen. De inlogpagina is namelijk niet bereikbaar voor derden.
Ten tweede gebruiken we unieke en sterke wachtwoorden, waardoor eventueel buitgemaakte wachtwoorden niet hergebruikt konden worden.
Ten derde hebben we een content security policy ingericht die het voorkomen heeft dat scripts van externe bronnen werden ingeladen en dat niet-https-sites konden worden aangeroepen.
Deze case bewijst wat mij betreft twee dingen:
- Iedereen wordt een keer gehackt, of krijgt een keer te maken met een incident
- Focussen op kwetsbaarheden alleen is niet genoeg, je moet ook (missende) defense in depth maatregelen in kaart brengen (en op orde brengen)
Na het constateren van dit issue hebben we een aantal dingen gedaan. We hebben de researcher hartelijk bedankt voor zijn melding en hem een attentie gestuurd. Ook hebben we de officiële versie van de software geïnstalleerd en de malware verwijderd. Daarnaast hebben we de hostingpartij waar de malware gehost wordt een abuse melding gestuurd. Tot slot hebben we alle beheerders preventief een nieuw wachtwoord laten kiezen door alle accounts te resetten.
Deze keer waren we de boeven te slim af, maar de volgende poging is aanstaande, daar zijn we van overtuigd. We blijven dus ook in onze eigen omgeving zoeken naar kwetsbaarheden en nieuwe mogelijkheden voor kwaadwillenden om bij ons binnen te dringen. We blijven alert!