3min Security

Miljoenen gebruikers in gevaar door zwakke beveiliging sms-inloglinks

Miljoenen gebruikers in gevaar door zwakke beveiliging sms-inloglinks

Meer dan 700 endpoints verzenden authenticatielinks via sms die de privacy van miljoenen mensen in gevaar brengen. Dat blijkt uit onderzoek van de Cornell University. Dat onderzoek toont aan dat bekende diensten al jarenlang gevoelige data blootstellen. Dat komt door een mix van zwakke beveiligingstokens en links die jarenlang toegang geven.

Veel diensten sturen authenticatielinks of codes via sms wanneer gebruikers willen inloggen. Daarbij kun je denken aan onder andere verzekeraars, vacaturesites of medische platforms. Door het inloggen te vereenvoudigen, geen usernames of wachtwoorden meer invoeren, lijkt het gebruiksvriendelijk. Onderzoekers hebben echter verschillende ernstige veiligheidsproblemen gevonden.

Een recent gepubliceerd onderzoek van universiteiten in New Mexico, Arizona en Louisiana identificeerde meer dan 700 endpoints. Die werden gebruikt voor het versturen van sms’jes namens tientallen diensten. De verstuurde links die in de tekstberichten staan zijn echter makkelijk te raden. Hackers kunnen beveiligingstokens aanpassen door simpelweg getallen of letters te wijzigen, bijvoorbeeld van 123 naar 124. Zo kregen onderzoekers binnen enkele stappen toegang tot accounts van anderen en konden ze persoonlijke details bekijken waaronder verzekeringsaanvragen.

Gevoelige data jarenlang toegankelijk

Van de onderzochte diensten stelden er 125 gebruikers bloot aan ‘mass enumeration’ door te weinig willekeur in hun tokens. Aanvallers die een link ontvangen hebben, konden daardoor eenvoudig tokens aanpassen om bij accounts van anderen te komen. Daarbij blijven bepaalde links jarenlang geldig, waardoor kwaadwillenden ook lang na dato toegang kunnen krijgen.

De onderzoekers verzamelden 322.949 unieke urls uit meer dan 33 miljoen sms’jes. Via die links kon iedereen met de url persoonlijke informatie verkrijgen. Daarbij gaat het om gegevens waaronder burgerservicenummers, geboortedatums, bankrekeningnummers en kredietscores. “Deze aanvallen zijn eenvoudig te testen, verifiëren en op schaal uit te voeren”, aldus de onderzoekers.

Eerder onderzoek toonde al aan dat MFA (MultiFactorAuthenticatie) via tekstberichten vaker faalt dan verwacht door kwetsbaarheden zoals SIM-swapping. Ook zijn er publieke databases ontdekt met miljoenen eerder verstuurde berichten inclusief authenticatielinks.

Man krijgt voorwaardelijke celstraf na uitvoeren DDos-aanvallen op 112-centrale

Weinig reactie van dienstverleners

Van de 150 getroffen dienstverleners die de onderzoekers konden bereiken, reageerden er slechts 18. Nog maar zeven hebben het probleem verholpen. Hoofdonderzoeker Muhammad Danish legt uit dat de verantwoordelijkheid bij aanbieders ligt. “Onze lijst bevat zelfs gevestigde dienstverleners met miljoenen actieve gebruikers. Gebruikers kunnen helpen door problemen te melden.”

Authenticatielinks via sms of e-mail zijn niet automatisch onveilig, benadrukt Danish. Ze moeten dan wel aan strikte eisen voldoen. Daarbij gaat het onder andere om een korte geldigheidsduur, het feit dat z verlopen na eerste login en cryptografisch veilige tokens. Google stapte eerder al over van sms-codes naar veiligere alternatieven voor Gmail-verificatie.

Privacy-gerichte sites zoals DuckDuckGo en 404 Media, maar inmiddels ook veel andere partijen, gebruiken zogenaamde ‘magic links’ via e-mail. Die verlopen binnen 24 uur en voorkomen dat wachtwoorden gelekt kunnen worden. Voor diensten als Gmail of banken die omgaan met grote hoeveelheden gebruikersdata is dit type link ongeschikt zonder ook robuuste account recovery-mechanismen te implementeren.

Een extra beveiligingslaag toevoegen naast de link verhoogt de veiligheid aanzienlijk. Daarnaast kunnen organisaties rate limiting toepassen. Dat is een techniek om het aantal verzoeken aan een server, API of systeem te beperken binnen een bepaalde tijd. Zo wordt overbelasting voorkomen, misbruik tegengegaan en beschikbaarheid en prestaties voor alle gebruikers valt zo te garanderen. Het werkt door een limiet in te stellen, zoals “X verzoeken per minuut”. Extra verzoeken worden vervolgens vertraagd, geblokkeerd, of je kunt denken aan het invoeren van een captcha-code.