Veel cybersecurity-professionals zullen bekend zijn met The Art of War van Sun Tzu. Dit boek, dat dateert uit de vijfde eeuw voor Christus, is een tijdloze klassieker. Het is weliswaar geschreven als een verhandeling over militaire strategie en tactiek, maar veel van de concepten zijn ook toepasbaar op andere disciplines. Sterker nog, het is de basis voor mijn persoonlijke filosofie over cybersecurity.
De meeste cybersecurity-bedrijven richten zich nog steeds vooral op reactieve verdediging. Volgens mij is dat niet de juiste aanpak. Wanneer u namelijk een aanval detecteert en die onmiddellijk blokkeert, waarschuwt u de dader. Die zal vervolgens een andere aanvalsmethode proberen, waardoor u niet meer kunt zien wat zijn volgende zet zal zijn. Hiermee laat u de kans schieten om de vijand beter te leren kennen. Of in de woorden van Sun Tzu: Rouse him, and learn the principle of his activity or inactivity. Force him to reveal himself, so as to find out his vulnerable spots.
Natuurlijk kunt u niet zomaar achterover leunen en de aanvaller zijn gang laten gaan. Integendeel: ik vind dat u actieve verdediging en misleiding moet gebruiken om de vijand te vertragen, saboteren en uiteindelijk te vangen. In zekere zin verstoort u zijn businessmodel door hem bezig te houden. Hoe meer tijd en geld hij namelijk verspilt tijdens zijn aanval, hoe sneller hij zal stoppen om vervolgens een gemakkelijker doelwit te zoeken.
Opbouw van een cyberaanval
Hoe vertaalt dit zich nu naar een concrete methode voor ‘active cyber defense’? Laten we eens een stap terug doen en kijken wat we kunnen leren door onze aanvallers te bespioneren.
Veel aanvallen zijn succesvol dankzij de tools die de aanvaller helpen om kwetsbaarheden in software en systemen te vinden. Een aanval bestaat altijd uit de volgende fasen: verkennen, scannen, toegang krijgen, toegang behouden en sporen wissen. Deze acties worden vaak (gedeeltelijk) automatisch uitgevoerd met tools.
Door de activiteiten van een aanvaller te monitoren kunt u vrij goed achterhalen welke tools hij gebruikt en welke mogelijkheden u heeft om zich ertegen te verdedigen. In de meeste gevallen kunnen deze tools vrij gemakkelijk buitenspel gezet worden. Maar dat is niet het hoofddoel: u wilt dat de aanvaller veel meer informatie loslaat over zijn vaardigheden en motieven. Heeft u te maken met een willekeurige aanval door een ‘script kiddy’ of bent u het doelwit van een serieus hackercollectief?
Als u dus meer informatie wilt verzamelen blokkeer dan de aanval niet, maar probeer de aanvaller bezig te houden. U wilt hem een vals gevoel van veiligheid geven, waardoor hij zijn tools en technieken gebruikt. Dit geeft u een helder beeld van wat hij precies weet over uw applicaties, netwerken, bedrijf en medewerkers. Hiermee kunt u een zo nauwkeurig mogelijk profiel van de aanvaller creëren, wat uiteindelijk de beste mogelijkheden biedt om u te verdedigen.
Natuurlijk is er een inherent probleem met deze aanpak: de aanvaller zal uiteindelijk slagen als u hem genoeg tijd geeft. Dat betekent dat we hem langer moeten bezighouden.
Honeypots strategisch gebruiken
In het zeer veranderlijke cybersecurity-landschap vind ik dat honeypots dé manier zijn om beveiliging te verbeteren. Honeypots zijn een soort digitale glazen kooi die voor een hacker precies lijkt op een server of systeem, maar dit in feite niet is. Honeypots bieden een veilige manier om aanvallers toegang te geven tot systemen, zodat u ze bezig kunt houden en hun gedrag kan bestuderen.
Vervolgens kunt u precies zien welke tools en technieken ze gebruiken. Hoe krijgen ze toegang tot uw systemen en hoe behouden ze die? Gebruiken ze malware, en zo ja, welke? Hebben ze misschien voorkennis over het netwerk of zijn ze op zoek naar specifieke systemen of bestanden?
Om de effectiviteit en aantrekkingskracht van uw honeypot te verbeteren, moet u nog iets verder gaan. Hier betreden we het domein van ‘active cyber defense’:
- Een manier is verborgen, door Google geïndexeerde pagina’s op uw website te zetten, die specifieke nepaccounts bevatten. Deze kunnen vervolgens ingesteld worden als makkelijke doelwitten voor een hacker om toegang te krijgen tot uw honeypot, of gewoon om alarmen te activeren.
- Een andere methode is het monitoren van de opgevraagde dns-verzoeken om te kijken of iemand uw dns aan het brute-forcen is. Een actieve strategie die daar op aansluit is om specifieke items in uw dns te verbergen die naar de honeypot leiden.
- Nog een andere optie is al het kwaadaardige netwerkverkeer om te leiden naar de honeypot, in plaats van het te blokkeren.
In al deze gevallen creëert u aantrekkelijke aanvalsvectoren voor potentiële aanvallers, door ze naar uw honeypot te lokken in plaats van naar het echte netwerk. Zo krijgt u tijdig waarschuwingen over dit soort activiteiten en het levert bovendien zeer gedetailleerde informatie op.
Old-school versus active defense
Als u de tools en malware kent die een aanvaller gebruikt, bent u ze een stap voor. U kunt vervolgens de end-point security-tooling bijwerken met de nodige signatures. Maar dit is in wezen nog steeds een old-school security-aanpak. ‘Active defense’ gaat veel verder.
De volgende blogs in deze serie zullen gaan over diverse ‘active cyber defense’-technieken, big data analyse, maar ook over een aantal sluwe misleidingen waarmee u aanvallers nog langer kunt bezighouden en ontmoedigen. Ik kijk uit naar opmerkingen en suggesties.
Honeypot’s zijn inderdaad goede technieken om je aanvaller te leren kennen. Echter lijkt het me alleen zinvol deze in te zetten als je wordt belaagd door een ‘Advanced Persistent Threat’. Je hebt namelijk ook resources nodig om op de aanvallen te reageren.
Ik kijk uit naar de volgende artikelen, met hopelijk iets meer details.
Heel leuk artikel! Zo lees ik ze graag meer!
Je hele cyberdefensie inrichten is erg duur. Wat voor tips heb je waarmee je al goede resultaten boekt zonder de hoofdprijs te betalen?
@Karl wij gebruiken honeypots op verschillende manieren. We zetten ze zelf in, daarbij verzamelen we threat intelligence, bv vijandige ips, maar ook nieuwe attack methoden. Daarnaast plaatsen we ze binnen netwerken, waarbij we activiteit op iedere poort monitoren. Deze sensor mag geen verkeer verwachten, en iedere hit is dan ook het uitzoeken waard, dat is dan een kenmerk van lateral movement. Door gebruik te maken van machine learning, minimaliseren wij het aantal false positives, waardoor we meer tijd hebben om echte alerts te onderzoeken.
@Remco: Dank voor je toelichting!
@Henri Dank! Meer artikelen komen er aan. Dit is preken voor eigen parochie, maar we hebben een eigen opensource honeypot framework ontwikkeld waarbij beheer, logging en distributie eenvoudig te regelen zijn. http://github.com/honeytrap/honeytrap