Az előző bejegyzésben saját, JavaScript sebességmérési eredményeinket ismertettük, a második részben pedig külföldi kutatók erre épülő böngészőazonosítási módszerét mutatjuk be.
Az amerikai kutatók két tesztet készítettek és publikáltak a böngészők azonosítására. Az első teszt célja a böngésző teljesítményalapú azonosítása. Ez egyszerű műveleteken alapszik, így böngészőfüggetlen műveletkészlettel dolgozik, és nem csupán a böngésző detektálására alkalmas: könnyen kideríthetőek vele olyan architekturális jellegzetességek is, amelyek egyébként JavaScriptből nem lennének elérhetőek.
A második teszt kissé hasonlít a history stealing technikára, ugyanis először kiszivárogtat a felhasználói beállításaiból egy domén listát, majd ez alapján azonosítja egyedileg a felhasználót. A technika a NoScript Firefox kiegészítőre épül, az ebbe tárolt whitelist egy részét szivárogtatják ki, úgy hogy megpróbálnak ismertebb oldalakról betölteni JavaScript-eket. Mivel a felhasználók a kedvenc oldalaikat teljes funkcionalitásban szeretnék használni, ezért a sikeres vagy sikertelen betöltés elárulja, hogy a felhasználó látogatója-e az oldalnak, vagy sem.
Az első teszt egy komplex utasítássorozatból áll össze, ami több oldalról is teszteli a böngészőt, azaz összesen 39 különféle tesztet is tartalmaz; Firefox 3.6 alatt a teszt kb. 190 másodperc futásidejű, ami a komplexitását méltó módon jelzi. Miután lefutott mindegyik teszt, az így kapott eredményvektort osztályozzák, és ez alapján sorolják be a böngésző alkalmazást. A következő ábrán jól látható, hogy az egyes verziók között is már jelentős eltérések lehetnek.
![]()
Sebességeltérések különböző Chrome változatok között (forrás)
Azonban a technika nem csak a böngésző típusának, hanem az operációs rendszer detektálására is alkalmas.
![]()
Azonosítás különböző böngésző és operációs rendszer változatoknál (forrás)
Ez a technika sem tökéletes: bár sok esetben jól tippel, néha mégis mellé lő. Az alábbi táblázaton jól látszik: az oszlopok a tippelt típust, a sorok pedig a valóságot jelölik (az user agent string alapján).
![]()
Helyes és helytelen találatok száma (forrás)
A NoScript tesztelési technikájáról kiderül, hogy több szempontból is nehézségbe ütközik: ha egyáltalán a kliensen fel van telepítve a NoScript kiegészítő, akkor is még több tényező miatt is előfordulhat, hogy nem tesztelhető egy oldal, ráadásul a tesztelési időelég hosszú lehet (ld. a következő ábrát).
![]()
A NoScript technika futásidejének függvényében látható a tesztelt oldalak aránya (forrás)
Bár a technika elvileg működőképes, de sajnos nem univerzális, azaz relatíve kevés felhasználó és weboldal esetében alkalmazható (szemben mondjuk a history stealing-gel!), emiatt valószínűleg nem kell tartanunk attól, hogy túl sok helyen alkalmaznák majd velünk szemben.
További érdekességekért ajánljuk Olvasóink figyelmébe a teljes eredeti cikket.
Összesen 0 hozzászólás látható.
Nincsenek hozzászólások.
Bárki hozzászólhat, nem regisztrált beküldő esetén egyik adat megadása sem kötelező - a hozzászólás akár névtelen is lehet.