BÖNGÉSZŐFÜGGETLEN RENDSZERUJJLENYOMAT MINT WEBES NYOMKÖVETÉSI MÓDSZER KIDOLGOZÁSA ÉS VIZSGÁLATA Boda Károly, 2012 Konzulens: Gulyás Gábor György
Web privacy Alapprobléma: Felhasználó Internet szolgáltató Cenzúrázó szervek Hirdetők Webes üzletek Adatgyűjtők Kutatók, elemzők Több milliárd $-os iparág!
Nyomkövetés a weben IP IPv4: NAT, dinamikus IP IPv6: MAC GUID Süti (Cookie) EU: Cookie-directive Flash sütik (LSO) Böngészőfüggetlen Evercookie LSO, IS, HTTP ETag, cache, HTML5 tárolók, …
Nyomkövetés a weben (2) URL-referer Kereső kifejezések HTTPS History stealing Az előzmény lista nem érhető el explicit módon Lista alapú próba a linkek látogatottságának meghatározására Érdeklődési kör is feltérképezhető általa A vezető böngészőgyártók befoltozták a hibát Új, hatékony módszer kell, amely nem igényel kliens oldali tárolást
Ujjlenyomat módszer Böngészőn és pluginokon keresztül elérhető információk HTTP fejlécek Elfogadott média tulajdonságok Böngészőprogram leíró karakterlánc JavaScript leíró objektumok Operációs rendszer Képernyő felbontás Nyelvi beállítás Pluginok listája Időzóna beállítás
Ujjlenyomat módszer (2) 1280x1024x24, -60, Chrome , Windows 7 Arial, Webdings, Helvetica, … Acrobat , Flash , … […] 1920x1080x24, 120, Firefox 9.0.1, Linux i686 Bitstream Vera Serif, Liberation Mono, … Java , … […] A B A A5D7BB58… B E33B9D13…
Ujjlenyomat előzmények Információ alapú módszerek Panopticlick Böngésző egyediségének mérése 94,2% egyedi (Flash vagy Java esetén) Gyors, pontos Böngésző és plugin függő BlueCava (Cookie-directive)
Rendszerujjlenyomat Weboldal:
Rendszerujjlenyomat (2) Kísérlet böngészőfüggetlen ujjlenyomat előállítására Böngésző- és pluginfüggetlen legyen Fő információforrás: betűkészlet lista Bekapcsolódásom: a gyűjtött adatok elemzése Kb ujjlenyomat 72% egyszeri próbálkozás Böngészőfüggetlenség nem derült ki A font lista megfelelő forrás NordSec 2011 cikk (Springer a kiadó) 4 független hiv. NordSec 2011 cikk (Springer a kiadó) 4 független hiv.
Rendszerujjlenyomat (3) JavaScript betűtípus detektálási módszer elemzése Böngészőfüggetlen betűtípuslista javítása Szoftver specifikus fontok OS függő hatékonyság UAS vizsgálata (30% teljesen egyedi) Részletes komponensek, verziószámok Ujjlenyomatok változásának nyomon követése Pl. dinamikus IP cím változás, felbontás vagy időzóna módosítás
Böngészőfüggetlen ujjlenyomat teszt 2.0 Cél a böngészőfüggetlenség tesztelése, további elemzés „Font feature-set” újraválogatása Explicit követhetőség: felhasználónév Evercookieban tárolva IP összetevő eltávolítása hálózatfüggetlen „Tracking ID” módszer a változáskövetésre További finomítások, fejlesztések
Böngészőfüggetlen ujjlenyomat teszt 2.0 (2) Adatgyűjtés Új weboldal Belső tesztelés Sajtóesemény kb lenyomat! Előzetes statisztika User ID entrópia javulás (1 nagyságrend) UAS entrópia csökkenés Navigator objektum nagyon pontos egyedi azonosító (de böngészőfüggő) Folytatás: adatok feldolgozása, fejlesztés.
Böngészőfüggetlen ujjlenyomat teszt 2.0 (3)
Védekezési módszerek Alulszabályozás (nem véd) Böngésző beállítások Túlszabályozás (felhasználói élmény) Kapcsoljunk ki mindent… Nincs teljes értékű megoldás A legbiztonságosabb a JonDoFox használata Rossz felhasználói élmény (betűtípusok, scriptek, pluginok tiltása)
Védekezési módszerek (2) Szükséges egy módszer, amely félrevezeti az ujjlenyomatozó algoritmust az adatok meghamisításával Korlátoz, de nem tilt. Ezáltal megmarad a felhasználói élmény!
FireGloves Firefox kiterjesztés (OS független), nyílt Saját ötlet alapján Védekezési eszköz az információ alapú ujjlenyomatozás ellen Adatokat hamisít: véletlen, vagy beállítások Cél: a nagyobb anonimitási halmaz(ok) Működése: A HTML letöltése és feldolgozása között módosítja a JavaScript API objektumait A módosító kód fut legelőször, a továbbiakban már csak az új értékek olvashatók ki.
Rejtőzés beállításai FireGloves gomb és lenyíló menü Lap statisztika ablak „bevetés” alatt FireGloves (2)
FireGloves (3) HTTP cache kikapcsolásával: BlueCava azonosító hamisítás Mások is dolgoznak hasonlón TOR: browser.display.max_font_count browser.display.max_font_attempts Firefox: use_generic_fonts_only első betöltés 2F3D D B4B4-01F2-65BD újratöltés 7E16-E44E A A2D-B50C-9FB5 újratöltés 8D6F-4A0E-2FBF-2B D68A-478D
FireGloves (4) Megjelenés óta letöltés Utolsó 30 napban átlagosan több, mint napi felhasználó A felhasználók csupán 10%-a hazai, és több, mint 60%-uk amerikai Folyamatosan érkeznek visszajelzések hazai és külföldi felhasználóktól egyaránt, amely nagy mértékben segíti a továbbfejlesztést Szakmai segítségünk Georg Koppen, a JonDoFox anonim böngésző fejlesztője, aki több jelentős problémára is felhívta a figyelmünket, ezzel hatékonyabbá téve a védekezést
Köszönöm a figyelmet! Böngészőfüggetlen ujjlenyomat teszt 2.0: FireGloves: