OAuth 2.0
Met OAuth 2.0 kunnen apps gebruikers verifiëren met behulp van Facebook- LinkedIn of Google accounts. Eén probleem: meer dan 41% van de apps die OAuth 2.0 gebruiken valideren de gebruikersgegevens niet echt. Daardoor is het mogelijk om de accounts te kapen.
Je kent die apps en sites wel waarop je je kunt aanmelden met behulp van je Facebook of Google account. De achterliggende technologie heet Oauth.
Eenmalige aanmelding via Single Sign On (SSO) is zeker handig. De kans is groot dat je het tegenkomt. Meer dan 600 van de top1000 apps op Google Play maken gebruik van het OAuth 2.0-protocol. Denk aan de webshop Wish en verzekeraar Aegon.
Het is zeker handig voor ontwikkelaars om het registreren van een account voor elke afzonderlijke app achterwege te laten. Het scheelt veel programmeerwerk en de achterliggende technologie werkt goed. Bovendien kan je de gebruikers toegang tot gegevens zoals locatie vragen. Vaak wordt zo data ingewonnen die niet eens voor de werking van de App nodig is. Deze vorm van SSO blijkt nu niet zonder risico’s. In dit geval is het een ernstig risico. 41,2% van de genoemde 600 apps brengen hun gebruikers in gevaar omdat hun Facebook- of Google-accounts gekaapt kunnen worden.
Het gaat om ongeveer 250 top-apps die samen alleen al goed zijn voor meer dan een miljard downloads op Android. De kans is groot dat je een app op je smartphone hebt met dit beveiligingslek.
Ook voor gebruikers is OAuth 2.0 bijzonder handig. Ze hoeven geen wachtwoorden meer te onthouden. Bovendien veranderen je logingegevens gewoon mee als je je wachtwoord bij Facebook of Google veranderd. Maar als je wachtwoord gekraakt wordt heeft de aanvaller wel gelijk overal toegang toe.
OAuth 2.0 werkt in principe als volgt: een gebruiker voert zijn SSO-accountgegevens in en de app controleert bij Google of Facebook of die informatie juist is. Nadat Google of Facebook heeft vastgesteld dat de gebruiker de juiste informatie heeft gegeven, sturen ze een inlogtoken terug. Dit token gebruikt de app vervolgens om de gebruiker binnen te laten.
Meer dan de helft van de apps verifieert de geldigheid van het token dat de Google- of Facebook-server terugstuurt, maar 41% doet dat niet. De app kan dan op geen enkele manier weten of een combinatie van de gebruikersnaam en het wachtwoord geldig is.
De ontdekking van dit ernstige datalek is te danken aan drie onderzoekers van de Chinese universiteit van Hong Kong. Het zijn Ronghai Yang, Wing Cheong Lau en Tianyu Liu. Het onderzoeksteam heeft een server geïnstalleerd die inlogfouten kan genereren. Het werkt als volgt:
De potentiële gevolgen van deze OAuth 2.0 exploit zijn enorm. Veel van de betrokken apps slaan privacy gevoelige gegevens op in de cloud. Als een aanvaller zich als jouw met een gecompromiteerde app aanmeld, liggen al je gegevens op straat.
Er zijn geen getroffen apps bekend, maar het kan verstrekkende gevolgen hebben. Aanvallers kunnen in-app-aankopen uitvoeren, hotels boeken, bankrekeningen plunderen. In essentie kan elke app die je hebt geïnstalleerd en die SSO gebruikt, mogelijk tegen je worden gebruikt. Hetzelfde geldt voor websites die deze technologie gebruiken.
Zodra er meldingen komen van inbreuk op de privacy zullen de Apps zich in het kader van de GDPR bij de Privacy Autoriteiten moeten melden.
De ontdekkers hebben Google, Facebook en andere identiteitsproviders op de hoogte gesteld van de exploit en ze proberen actie te ondernemen met externe ontwikkelaars om de gaten te dichten.
Voor de bijna 250 getroffen apps zal tijd nodig zijn om alles aan te passen. Het lijkt een goed idee om SSO een tijdje niet te gebruiken.
Discussieer mee op LinkedIn.
Mogelijk is dit een vertaling van Google Translate en kan fouten bevatten. Klik hier om mee te helpen met het verbeteren van vertalingen.