Gebruikers van Facebook moeten zo snel mogelijk hun wachtwoord veranderen om verder risico te vermijden, zegt beveiligingsbedrijf Symantec in een blogposting. De vele applicaties die via Facebook te gebruiken zijn, hebben minstens een jaar lang toegang gehad tot zo geheten access tokens.

Maar omdat Facebook sinds 2007 applicaties aanbiedt op zijn platform, is het lek mogelijk al ouder. De access tokens werden onbedoeld meegezonden met het dataverkeer tussen applicaties en ontvangende partijen, zoals in-app adverteerders.

Reservesleutels

Die tokens zijn een soort “reservesleutels”, zegt Symantec, die de applicaties nodig hebben om bij gebruikers bepaalde acties te kunnen uitvoeren. Bijvoorbeeld het via de applicatie posten van een bericht op Facebook (“ik draai nu dit liedje”) of het sturen van een bericht naar vrienden (“help me met dit onderdeel van een spelletje”).

Gebruikers van aan applicatie krijgen als dat gebeurt, of bij eerste gebruik van de applicatie, een iFRame waarin wordt gevraagd om toestemming. Dat is het moment dat de toegangstoken onbedoeld werd gelekt naar de makers van of adverteerders in de applicatie.

Facebook verandert protocol

Symantec heeft de werking van het lek uitgebreid beschreven in de eerder genoemde blogpost. Het bedrijf heeft na de ontdekking van het lek Facebook direct op de hoogte gesteld. Facebook gebruikt sindsdien oauth2.0 voor de authenticeren van de gebruiker. Dat protocol is veiliger. Maar daarmee is de schade nog niet ongedaan gemaakt, zegt Symantec.

Omdat de vele applicaties nog steeds in het bezit zijn van de tokens, en die tokens nog steeds automatisch worden gebruikt om toegang te geven tot die applicaties, lekt de persoonlijke informatie nog steeds weg als de gebruiker een applicatie opstart die hij al eerder heeft gebruikt.

Om dat te voorkomen, moet de gebruiker zijn wachtwoord veranderen. Daardoor worden de tokens ongeldig verklaard en vraagt de applicatie bij een volgend gebruik opnieuw toestemming om toegang te krijgen tot de persoonlijke pagina’s. Maar dan wordt dus oauth2.0 gebruikt.

Update: Naar aanleiding van de kwestie kondigt Facebook aan dat alle apps en externe diensten voor 1 oktober naar oauth2.0 moeten migreren en versleutelde access token moeten accepteren.