Iemand hoeft uw wachtwoorden niet te weten als ze in plaats daarvan uw browsercookies stelen.
Multi-factor authenticatie voegt extra beveiligingslagen toe aan cloudservices, maar is niet altijd onfeilbaar. Mensen voeren nu pass-the-cookie-aanvallen uit om MFA te omzeilen en toegang te krijgen tot uw cloudservices. Als ze eenmaal binnen zijn, kunnen ze uw gevoelige gegevens stelen, exfiltreren of versleutelen.
Maar wat is een pass-the-cookie-aanval precies, hoe werkt het en wat kun je doen om jezelf ertegen te beschermen? Dat zoeken we uit.
Wat is een Pass-the-Cookie-aanval?
Het gebruik van een sessiecookie om authenticatie te omzeilen wordt een pass-the-cookie-aanval genoemd.
Wanneer een gebruiker zich probeert aan te melden bij een webtoepassing, vraagt de toepassing de gebruiker om zijn gebruikersnaam en wachtwoord in te voeren. Als de gebruiker meervoudige authenticatie heeft ingeschakeld, moet hij een extra authenticatiefactor invoeren, zoals een code die naar zijn e-mailadres of telefoonnummer wordt gestuurd.
Zodra de gebruiker meervoudige authenticatie heeft doorstaan, wordt er een sessiecookie aangemaakt en opgeslagen in de webbrowser van de gebruiker. Met deze sessiecookie kan de gebruiker ingelogd blijven in plaats van het authenticatieproces steeds opnieuw te moeten doorlopen wanneer hij naar een nieuwe pagina van de webapplicatie navigeert.
Sessiecookies vereenvoudigen de gebruikerservaring omdat de gebruiker zich niet elke keer opnieuw hoeft te authenticeren wanneer hij naar de volgende pagina van de webapplicatie gaat. Maar sessiecookies vormen ook een ernstige bedreiging voor de veiligheid.
Als iemand sessiecookies kan stelen en die cookies in zijn browser kan injecteren, zullen webapplicaties sessiecookies vertrouwen en de dief volledige toegang verlenen.
Als een aanvaller toegang krijgt tot uw Microsoft Azure-, Amazon Web Services- of Google Cloud-account, kan deze onherstelbare schade aanrichten.
Hoe een Pass-the-Cookie-aanval werkt
Hier is hoe iemand een pass-the-cookie-aanval uitvoert.
De sessiecookie extraheren
De eerste stap bij het uitvoeren van een pass-the-cookie-aanval is het extraheren van de sessiecookie van een gebruiker. Er zijn verschillende methoden die hackers gebruiken om sessiecookies te stelen, waaronder cross-site scripting, phishing, Man-in-the-middle (MITM)-aanvallen, of trojaanse aanvallen.
Kwaadwillenden verkopen tegenwoordig gestolen sessiecookies op het dark web. Dit betekent dat cybercriminelen geen moeite hoeven te doen om sessiecookies van gebruikers te extraheren. Door gestolen cookies te kopen, kunnen cybercriminelen gemakkelijk een pass-the-cookie-aanval plannen om toegang te krijgen tot de vertrouwelijke gegevens en gevoelige informatie van een slachtoffer.
Het koekje doorgeven
Zodra de infiltrant de sessiecookie van de gebruiker heeft, injecteert hij de gestolen cookie in zijn webbrowser om een nieuwe sessie te starten. De webapplicatie zal denken dat een legitieme gebruiker een sessie start en toegang verlenen.
Elke webbrowser gaat anders om met sessiecookies. Sessiecookies die zijn opgeslagen in Mozilla Firefox zijn niet zichtbaar voor Google Chrome. En wanneer een gebruiker uitlogt, verloopt de sessiecookie automatisch.
Als een gebruiker de browser sluit zonder uit te loggen, kunnen sessiecookies worden verwijderd, afhankelijk van uw browserinstellingen. Een webbrowser verwijdert mogelijk geen sessiecookies als de gebruiker de browser heeft ingesteld om verder te gaan waar hij was gebleven. Dit betekent dat uitloggen een betrouwbaardere manier is om sessiecookies te wissen dan het afsluiten van de browser zonder uit te loggen bij de webapplicatie.
Hoe Pass-the-Cookie-aanvallen te beperken
Hier zijn een paar manieren om pass-the-cookie-aanvallen te voorkomen.
Clientcertificaten implementeren
Als u uw gebruikers wilt beschermen tegen pass-the-cookie-aanvallen, kan het een goed idee zijn om ze een persistent token te geven. En dit token wordt aan elk serververbindingsverzoek toegevoegd.
U kunt dit mogelijk maken door clientcertificaten te gebruiken die op het systeem zijn opgeslagen om vast te stellen of ze zijn wie ze beweren te zijn. Wanneer een client een serververbindingsverzoek doet met behulp van zijn certificaat, gebruikt uw webtoepassing de certificaat om de bron van het certificaat te identificeren en te bepalen of de client toegang moet krijgen.
Hoewel dit een veilige methode is om pass-the-cookie-aanvallen tegen te gaan, is het alleen geschikt voor webapplicaties met een beperkt aantal gebruikers. Webapplicaties met een enorm aantal gebruikers vinden het een behoorlijke uitdaging om clientcertificaten te implementeren.
Een e-commerce website heeft bijvoorbeeld gebruikers over de hele wereld. Stelt u zich eens voor hoe moeilijk het zou zijn om klantcertificaten voor elke klant te implementeren.
Voeg meer contexten toe aan verbindingsverzoeken
Het toevoegen van meer contexten aan serververbindingsverzoeken om het verzoek te verifiëren, kan een andere manier zijn om pass-the-cookie-aanvallen te voorkomen.
Sommige bedrijven hebben bijvoorbeeld het IP-adres van een gebruiker nodig voordat ze toegang verlenen tot hun webapplicaties.
Een nadeel van deze methode is dat een aanvaller zich in dezelfde openbare ruimte kan bevinden, zoals een luchthaven, bibliotheek, coffeeshop of organisatie. In dat geval krijgen zowel de cybercrimineel als de legitieme gebruiker toegang.
Gebruik browservingerafdrukken
Terwijl je dat normaal gesproken misschien wel wilt verdedigen tegen browservingerafdrukken, kan het u daadwerkelijk helpen pass-the-cookie-aanvallen te bestrijden. Met browservingerafdrukken kunt u meer context toevoegen aan verbindingsverzoeken. Informatie zoals browserversie, besturingssysteem, apparaatmodel van de gebruiker, voorkeurstaalinstellingen en browserextensies kunnen worden gebruikt om de context van elk verzoek te identificeren om ervoor te zorgen dat de gebruiker precies is wie hij beweert zijn.
Cookies hebben een slechte naam gekregen omdat ze vaak worden gebruikt om gebruikers te volgen, maar het zijn opties om ze uit te schakelen. Wanneer u daarentegen browservingerafdrukken implementeert als een element van identiteitscontext voor elke verbindingsverzoek verwijdert u de gewenste optie, wat betekent dat gebruikers de browser niet kunnen uitschakelen of blokkeren vingerafdrukken.
Het gebruik van een tool voor het detecteren van bedreigingen is een uitstekende manier om accounts te detecteren die kwaadwillig worden gebruikt.
Een goede cyberbeveiligingstool scant proactief uw netwerk en waarschuwt u voor ongebruikelijke activiteiten voordat deze aanzienlijke schade kan aanrichten.
Versterk de beveiliging om Pass-the-Cookie-aanvallen te beperken
Pass-the-cookie-aanvallen vormen een ernstige bedreiging voor de veiligheid. Aanvallers hoeven uw gebruikersnaam, wachtwoord of andere aanvullende authenticatiefactor niet te kennen om toegang te krijgen tot gegevens. Ze hoeven alleen maar uw sessiecookies te stelen en ze kunnen uw cloudomgeving binnendringen en gevoelige gegevens stelen, versleutelen of exfiltreren.
Wat erger is, in sommige gevallen kan een hacker een pass-the-cookie-aanval uitvoeren, zelfs als een gebruiker zijn browser heeft gesloten. Het wordt dus van cruciaal belang dat u de nodige beveiligingsmaatregelen neemt om pass-the-cookie-aanvallen te voorkomen. Informeer uw gebruikers ook over MFA-vermoeidheidsaanvallen waarbij hackers gebruikers een spervuur van pushmeldingen sturen om ze uit te putten.