Co se stalo 50.000.000 uživatelům Facebooku?

V pátek, 28. září zveřejnil Facebook informaci o chybě v zabezpečení, která zasáhla 50.000.000 uživatelů. Co se stalo?

Zjednodušeně řečeno, útočníci mohli zneužít funkci Facebooku “Zobrazit jako jiný uživatel”, která umožňovala uživatelům otestovat si nastavení soukromí tím, že se mohli podívat na svůj profil jako jiný uživatel a zjistit, co opravdu vidí jejich přátelé a co ostatní. Ta ovšem také umožnila útočníkům získat tzv. přístupový token, pomocí kterého Facebook ověřuje přihlášeného uživatele. Zajišťuje to, že se nemusíte při každém otevření prohlížeče znovu přihlašovat. Stránka Facebooku se po otevření nejprve podívá, zda je v prohlížeči uloženo cookie s tímto tokenem a pokud ano, nemusíte se již přihlašovat. Toto není specialita Facebooku, tuto možnost využívá mnoho stránek. Tento token musí být proto dobře zabezpečen, aby byl k dispozici pouze majiteli účtu. Což se právě nepovedlo vývojářům Facebooku. Token byl totiž součástí kódu stránky, která byla zobrazena pomocí funkce “Zobrazit jako jiný uživatel”. Ve zkratce – pokud se někdo podíval na svůj profil pomocí této funkce a zadal, že ho chce zobrazit tak, jak tento profil vidíte vy, v kódu stránky byl zobrazen i váš přístupový token. Útočník tak mohl vložit tento token do svého prohlížeče a tím se pro Facebook stal vámi. Korektně přihlášeným i bez toho, aby zadával jméno a heslo.

Následné kroky Facebooku

Po objevení této chyby vývojáři nejprve opravili kód tak, aby se token nezobrazoval. Poté navíc funkci “Zobrazit jako jiný uživatel” (podle vlastních slov dočasně) vypnuli. Zároveň došlo k automatickému odhlášení uživatelů, kteří byli touto chybou zasaženi. Token se totiž mění při každém přihlášení, tudíž byly tokeny, které mohli útočníci získat, zneplatněny a není možné je použít.

Co se mohlo stát, pokud útočníci získali “váš” přístupový token?

V podstatě získali kontrolu nad vaším profilem. Mohli mazat či přidávat příspěvky, komunikovat po Messengeru, přidávat/odebírat přátele a mnoho dalších věcí. Získali také údaje, které máte v profilu uloženy: emailovou adresu, telefonní číslo, datum narození a další.

Několik rychlých dotazů/odpovědí:

Mohl/a jsem útoku zabránit?
Ne. Chyba byla na straně Facebooku, uživatelé ji nijak ovlivnit nemohli.

Musím si změnit heslo?
Ne. I když mohl být útočník k vašemu profilu přihlášen, heslo nepotřeboval. To navíc není v profilu nikde viditelné.

Přihlašuji se pomocí Facebookového profilu k dalším službám (Instagram, Spotify, Tinder…), byly tyto účty také napadeny/ohroženy?
Ano, přístupový token mohl být použit i pro přihlášení k dalším účtům.

Co může útočník dělat, pokud získal moji emailovou adresu či telefonní číslo?
Emailová adresa nebo telefonní číslo může být zneužita pro phishing, spam nebo pro obejití dvoufázového zabezpečení.

Milan

Jmenuji se Milan Půlkrábek, pamatuji si počítače bez internetu, Internet bez Google a mobilní komunikaci bez šifrování. Mám za sebou více než dvacet let profesionální praxe v IT, přednáším a píšu články o IT bezpečnosti, kryptoměnách a nových technologiích. Od roku 2014 jsem součástí nezikové organizace Paralelní Polis v Praze.