Deanonymizačné útoky - Nethemba

BLOG

Deanonymizačné útoky

Predstavte si nasledujúcu situáciu – z úplne náhodnej IP adresy (pokojne aj z anonymnej P2P siete) otvoríte svojim obľúbeným prehliadačom stránku www.zistiktosom.com bez toho, aby ste sa kdekoľvek prihlasovali, počkáte pár sekúnd a uvedená stránka vám detailne vypíše – ako sa voláte na každej sociálnej sieti, akú používate prezývku, vašich známych, vaše záujmy a kopec iných verejne dostupných informácií, ktoré o vás archivujú vaše obľúbené sociálne siete. Na základe toho vám spustí úzko cielenú reklamu na sushi, ktoré máte určite radi, odporučí vám najnovšie homeopatiká, lebo vie, že normálnym liekom nedôverujete, zistí, že ste z Bratislavy a ponúkne vám na predaj lístky na koncert vašej obľúbenej kapely, ktorá bude vystupovať o týžden.

Znie to ako nevydarené sci-fi?

Publikácia A Practical Attack to De-Anonymize Social Network Users vás presvedčí o tom, že je to úplne reálne a relatívne ľahko realizovateľné! A funguje to minimálne u veľkých sociálnych sieťach ako je Xing, Facebook, LinkedIn, či iných, ktoré nepoužívajú kompletné náhodne URL linky, podporujú verejné skupiny, ktorých je relatívne dost veľa a veľa sa používajú. A čím ste vo viac skupinách alebo tieto skupiny sú viac špecifické, tým viac sa vás deanonymizačný útok dotýka…

Princíp je relatívne jednoduchý:

1. Stránka www.zistiktosom.com spustí javascript s funkcionalitou „CSS history stealing“, ktorý lokálne hrubou silou zistí, ktoré presne URL z daného obrovského zoznamu URL danej sociálnej siete ste v minulosti navštívili (ide o HTTP GET žiadosti, lebo HTTP POST žiadosti sa do histórie prehliadača neukladajú) – použije sa na to jednoduchý CSS hack – URL stránky, ktorú ste v minulosti už navštivili má inú farbu ako stránka, ktorá navštívená ešte nebola (t.j. má nastavený „a:visited“ štýl v danom URL). Toto správanie sa v prehliadačoch pokladá za „feature“, určite nie za chybu.
Pekná demonštrácia (dokonca bez použitia javascriptu) je CSS history hack, prípadne stránky CaughtYouWatching.com alebo didyouwatchporn.com, ktoré vám vypíšu zoznam známych porno stránok, ktoré ste v minulosti prezerali.

2. Z uvedeného zoznamu HTTP GET žiadostí, ktoré ste v minulosti určite zavolali nad Facebookom, či inou sociálnou sieťou je možné determinovať do ktorých záujmových skupín, či fór ste sa pridali (nakoľko sú obvykle statické a dajú sa automatizovane enumerovať)

3. Na základe veľkého prieniku špecifických záujmových skupín je už relatívne jednoduché zistiť o akého človeka presne ide, podľa spomínanej publikácie a sociálnej siete Xing je to možné zistiť exaktne až pre 42% všetkých používateľov danej sociálne siete a až 90% používateľov niekoľko miliónovej sociálnej siete je možné zúžiť na množinu 2912 používateľov.

Samozrejme platí, že čím viac pestrých skupín daná sociálna sieť poskytuje a čím viac ľudí v nich participuje, tým je pravdepodobnosť presnejšej identifikácie vyššia.

Čo si možno málokto uvedomuje je fakt, že uvedený deanonymizačný útok je možné aplikovať takmer na akékoľvek webové stránky (nielen sociálne siete), ktoré umožňujú akékoľvek profilovanie používateľov a zaradzovanie do skupín. Súčasne je možné takto získané výsledky z rôznych sociálnych sietí a webových stránok navzájom korelovať a získavať ešte presnejšie informácie o ich používateľoch.

Napríklad takýto sofistikovaný útok na www.zistiktosom.com by dokázal odhaliť to, že používate odlišné falošné identity, napríklad že vaša identita na LinkedIn je Jozef Mak, na Facebook.com vystupujete ako Anča Oblačná na Xing ako Dezider Hrubý (samozrejme teraz odhliadnuc od faktu, že daný jeden prehliadač používa viacero používateľov naraz). A keby daný útok robil ešte koreláciu s ďalšími vašimi navštívenými stránkami, tak dokáže identifikovať aj vaše oblúbené sexuálne praktiky, vašu politickú, či náboženskú orientáciu všetko len na základe toho, ktoré stránky ste v minulosti otvorili.

Samozrejme prevádzkovatelia služby www.zistiktosom.com sú šikovní – hneď ako získajú váš kompletný osobnostný profil, tak vám ponúknu na mieru ušitú cielenú reklamu – podľa vašich záujmových skupín Facebooku zistia, že máte radi sushi, ste z Bratislavy, takže vám rovno ponúknu donáškovu službu sushi v Bratislave…

Samozrejme uvedený útok ide rozšíriť o twitter.com (nakoľko cez HTTP GET žiadosti sledujete vašich obľúbencov), či akékoľvek iné služby, ktoré používaju HTTP GET žiadosti s akoukoľvek „užitočnou“ informáciou.

Ochrana voči uvedeným útokom:

  • na strane servera – pokým daná aplikácia nepoužíva výhradne HTTP POST žiadosti, tak by mala HTTP GET žiadosti dostatočne „randomizovať“, teda zabezpečiť, aby boli úplne náhodné a unikátne a nepredstavovali skrytú „užitočnú“ informáciu (ako napríklad pridanie do skupiny)
  • na strane klienta – toto je zatiaľ ťažké, lebo by sa musela mierna upraviť funkcionalita súčasných prehliadačov, autori uvedeného deanonymizačného útoku navrhujú rozšíriť SOP (Same Origin Policy) aj na zoznam už navštívených liniek. Problem spočíva v tom, že súčasné riešenia ako vypnutie javascriptu, či nasadenie NoScript pluginu sú voči uvedenému útoku neučinné (resp. nedostatočne účinné). Isté riešenie predstavuje kompletné alebo dočasné vypnutie histórie prehliadača, prípadne použitie „private browsing“ módu bez akejkoľvek histórie.

V každom prípade uvedený útok je veľmi perspektívny a dá sa predpokladať, že v blízkej dobe sa začne masívne využívať špeciálne na cielenú reklamu a data mining.