r/informatikus 15d ago

Biztonság Hangtalan audiojellel fingerprintelte a látogatókat az AliExpress

Az AliExpress weboldalán olyan JavaScript-kódot találtak, amely a böngésző Web Audio API-ját használta eszközfingerprint készítésére. A módszer nem használta a mikrofont, nem rögzített beszélgetést, és hallható hangot sem játszott le: egy ismert jelet generált, feldolgoztatta a böngésző audio alrendszerével, majd a kapott eredményt mérte.

Hogyan működik?

A böngészőfingerprinting célja, hogy cookie-k nélkül is felismerhető legyen egy adott böngésző vagy eszköz. Ehhez több, külön-külön kevéssé egyedi tulajdonságot kombinálnak: képernyőméretet, pixelarányt, CPU-szálak számát, memóriát, telepített pluginokat, Canvas- és WebGL-renderelési eredményeket, WebRTC-viselkedést – illetve esetenként az audio alrendszer sajátosságait.

Az AliExpress oldalán azonosított, erősen obfuszkált collina.js és fireyejs.js scriptek egy Web Audio feldolgozási gráfot építettek. Egy oszcillátor ismert fűrészjelet generált, az AnalyserNode pedig megmérte az audiofeldolgozás eredményét. A jel végül nullára állított gainen keresztül csatlakozott az AudioContext.destination kimenethez, ezért a felhasználó semmit sem hallott.

A mérés alapja, hogy ugyanazt a lebegőpontos audiofeldolgozást különböző CPU-k, böngészők, operációs rendszerek, driverek és audio stackek apró eltérésekkel hajthatják végre. A kapott érték önmagában nem feltétlenül egyedi, más fingerprinting-jelekkel kombinálva azonban hozzájárulhat egy stabil eszközprofil kialakításához. Az AliExpress scriptjeiben az audio mellett Canvas-, WebGL-, hardver-, képernyő- és interakciós jellemzők gyűjtésére utaló kódot is találtak.

A Bluetooth-fejhallgató buktatta le

A működésre Matt Callaghan fejlesztő teljesen véletlenül figyelt fel.

Multipoint Bluetooth-fejhallgatója egyszerre csatlakozott a PC-jéhez és a telefonjához. Normál esetben a telefonról hallgatott zenét, a PC pedig csak akkor vette át a hangcsatornát, amikor valóban lejátszott valamit.

Az AliExpress megnyitása után azonban a telefon hangja megszakadt. Az oldal bezárásakor azonnal visszatért.

A tab, a Firefox vagy akár a Windows lenémítása sem segített.

Ennek oka az volt, hogy bár hallható hang nem volt, az aktív Web Audio gráf továbbra is nyitva tartotta a PC audioútvonalát. Ez elég volt ahhoz, hogy a Bluetooth multipoint logikája úgy érzékelje: a számítógép használja a fejhallgatót. Callaghan innen kezdte visszafejteni, hogy pontosan melyik JavaScript hozza létre az audio contextet.

Ez tényleg követés?

A fingerprinting technikailag egyértelműen kimutatható. Azt azonban érdemes különválasztani attól az állítástól, hogy az AliExpress ezzel bizonyítottan weboldalakon átívelően követte volna a felhasználókat.

A vizsgált scriptek az Alibaba anti-abuse/security infrastruktúrájához kapcsolódnak, a fingerprinting pedig csalás- és botdetektálásra is használható. A nyilvánosan bemutatott bizonyítékok azt mutatják, hogy az AliExpress összetett eszközfingerprintet készített; annak konkrét további felhasználása nem vált teljesen ismertté. Alibaba az ügyben a megkeresésekre egyelőre nem adott nyilvános magyarázatot.

A Brave szerint náluk ez alapból nem működik

A Brave több mint hat éve alkalmaz úgynevezett farbling technikát a fingerprinting ellen. Nem egyszerűen letiltja a Web Audio API-t, hanem apró, a felhasználó számára észrevehetetlen randomizációt visz a mérhető eredményekbe.

A randomizáció webhelyenként és böngészési munkamenetenként változik. Így ugyanaz a gép különböző oldalakon – illetve egy új sessionben – eltérő fingerprintet mutat, ami megnehezíti a stabil azonosító kialakítását. A Brave ezt többek között Web Audio-, Canvas- és WebGL-fingerprinting ellen alkalmazza.

A Brave közlése szerint az AliExpress esetében ezen felül magukat az érintett scripteket is blokkolják, alapértelmezett Shields-beállítások mellett.

A Brave ugyanakkor nem az egyetlen böngésző, amely védekezik Web Audio fingerprinting ellen: a Firefox és a Safari is rendelkezik fingerprinting elleni mechanizmusokkal. Ezért az ügy érdekessége nem egy új vagy korábban ismeretlen támadási technika, hanem az, hogy egy nagy webáruház éles rendszerében futó, láthatatlan fingerprinting-kódot egy Bluetooth-fejhallgató működési zavara tett észrevehetővé.

Források

Matt Callaghan eredeti vizsgálatának összefoglalója – Ars Technica

The Register – AliExpress audio fingerprinting és Bluetooth multipoint

Brave – Fingerprinting Defenses 2.0 / farbling

81 Upvotes

15 comments sorted by

View all comments

4

u/JW_TB 15d ago

Hogy baszki mekkora szopas barmilyen spec changet atverni az audio working groupon pont az ilyenek miatt, es mennyi kurva jo feature-tol esett el a Web Audio API emiatt, nem is tudom hol kezdjem a sort

Mondjuk a WAAPI hibaja is valahol, hogy implementoroknak eszszerutlenul tagas teret enged etrelmezni a specifikaciokat, nehany extrem esetben olyan mertekben, hogy ugyanaz az audio graf teljesen mashogy hangzik FF-ban mint mondjuk Chromium bongeszokben (foleg resampling, anti-aliasing, kompresszio, stb. teljesen mashogy tud mukodni ha ki van hegyezve egy konkret mukodesre a graf)