200 likes | 287 Views
802.11 User fingerprinting. Jeffrey Pang Ben Greenstein Ramakrishna Gummadi Srinivasan Seshan David Wetherall. Bánsághi Csaba 2009 ELTE. A probléma. A 802.11i szabvány biztosítja a: Felhasználó/szolgáltatás hitelesítést Az adatok bizalmasságát és integritását
E N D
802.11 User fingerprinting Jeffrey Pang Ben Greenstein Ramakrishna Gummadi Srinivasan Seshan David Wetherall Bánsághi Csaba 2009 ELTE
A probléma A 802.11i szabvány biztosítja a: • Felhasználó/szolgáltatás hitelesítést • Az adatok bizalmasságát és integritását NEM biztosítja az anonimitást/helytitkosságot (location privacy): • pl.: a reklámozott MAC cím alapján követhető az eszköz Ötlet: álnevek használata, pl. ideiglenes, periodikusan változó MAC cím Ebben a cikkben: Az álnevek használata nem elég az anonimitás biztosításához Implicit azonosítók alapján nagy valószínűséggel lehet a felhasználókat azonosítani Mindezt életből vett mintákon végzett mérésekkel igazoljuk
Implicit azonosítók 1. Példák a 2004-es SIGCOMM konferencia 802.11 forgalmának archívumából: • Egy résztvevő laptopja a „University of Washington” és „djw” nevű hálózatokat keresi • „djw” -> David J. Wetherall • A Wigle nevű online adatbázis szerint Seattle környékén egy ilyen nevű hálózat van • Mi több: a forrását Wetherall otthonának 60 méteres körzetébe teszi • Ki volt az, aki a konferencia során 512MB adatot töltött le BitTorrenttel? • A „roofnet” hálózatot keresi -> Cambridge/MIT • Mi van, ha váltogatja a MAC címét? • Óránként kapcsolódott ugyanahhoz az SSH és IMAP szerverhez, és egyedül ő tett ilyet • És ha link-rétegű titkosítás is lenne? • A frame-ek mérete egyedi; a management frame-ekben reklámozott 802.11 képességek egyeznek • Még így is elég információnk van, hogy Cambridgehez kössük
Implicit azonosítók 2. A probléma gyökere(i): • A protokoll magasabb rétegeiből származó információ nincs megfelelően elrejtve (pl. csomagméretek, akár titkosítás mellett is) • A kapcsolatépítéskor közzétett információ nyilvános Nagyobb probléma része: hogyan tud két eszköz titokban kapcsolatot fölépíteni? • Implementációfüggő viselkedéskülönbségekből információ nyerhető (operációs rendszer, illesztőprogram, stb.) Nem csak a 802.11-ben fölmerülő problémák: BlueTooth, ZigBee, stb. Protokoll szinten megoldandó kérdések
Kísérleti körülmények • Gyenge „ellenség”: mindennapos eszközökkel (laptop, tcpdump, stb.), passzív módban (üzenetek küldése nélkül) figyeli a forgalmat • Háromféle hálózattípus: ∙ publikus (pl. reptér): a fizikai, link és hálózati rétegek forgalma is nyilvános (ez a leggyakoribb) ∙ otthoni: link rétegű titkosítás (WEP/WPA), de a frame-ek mérete/időzítése valamint a management frame-ek tartalma látszik ∙ vállalati: link rétegű titkosítás, azonos hálózati eszközök; a felhasználók által használt hálózatok/alkalmazások láthatóak • Forgalomminta: egy álnévhez rendelt hálózati forgalom (max. 1 óra) • Tréning minta: a célfelhasználótól gyűjtött forgalomminta • Validációs minta: az ellenség által tesztelni kívánt forgalomminta • Két fő kérdést kell tudni eldönteni: ∙ 1. kérdés: Ez a minta az U felhasználótól jött? ∙ 2. kérdés: Járt itt ma az U felhasználó?
Tesztadatok • sigcomm: SIGCOMM 2004 • ucsd: University of California San diegoi épületében, 2006 november 17-én gyűjtött forgalom • apt: a cikk szerzői által gyűjtött 19 napos minta egy bérház közelében, csak broadcast management csomagok
Azonosító forgalomjellemzők • netdests: (IP, port) párok halmaza felhasználónként∙ a weboldalak népszerűsége Zipf-eloszlású∙ kevés, jellegzetes szolgáltatás (email, kedvenc weboldalak) • ssids: Service Set Identifier (SSID) keresések halmaza∙ WinXP és OS X automatikusan és titkosítatlanul küldi∙ ritka előfordulás, időben változhat • bcast: broadcast csomagok méreteinek halmaza∙ több program (NetBIOS, MS Office, stb.) automatikusan küldi∙ a csomagméret utalhat a tartalomra, a tartalom pedig azonosít∙ a méretek egyedül közel olyan jó azonosítók, mint az (alkamazás, méret) párok • fields: protokoll mezők tartalma a MAC header-ben∙ információ a wireless eszközről, driverről, konfigurációról∙ gyengén azonosít, de majdnem minden 802.11 frame-ből kinyerhető Ezeket vizsgáljuk külön-külön és kombinálva is a három tesztadaton
1. kérdés: Ez a minta U-tól jött? • Implicit azonosítók számszerűsítésefields: minden kombináció külön értéka többi azonosítót halmazként tekintjük • A tréning minták alapján fölépítjük a felhasználók profiljátProfileU: a tréning során észlelt összes halmaz uniója • Számszerűsítjük két minta egyezésének mértékétSúlyozott Jaccard hasonlósági index ( J(X,Y) = |X∩Y|/|XUY| )Súlyok: w(e): az e elem felhasználók közötti előfordulásának reciproka • Egyezés eldöntése:(A képletben szereplő valószínűségeket a tréning mintákból becsüljük) Ha ez az érték meghalad egy T küszöböt, akkor Igen a válasz, egyébként Nem
Pontosság A döntésnek két tulajdonságát vizsgáljuk: • TPR (True Positive Rate)Mekkora arányban ismertük fel helyesen, hogy az adott minta az U felhasználóé • FPR (False Positive Rate)Mekkora arányban tulajdonítottuk valaki más forgalmát U-nak A T küszöbérték változtatásával lehet elérni egy kitűzött TPR/FPR értéket Az adott FPR-hez tartozó T a különböző tréning minták miatt felhasználónként változhat
Átlag TPR önálló azonosítók esetén • Vízszintes vonalak: elméleti maximum (ha van implicit azonosító, akkor fölismeri, különben találgat) • ssids a ritkasága miatt elméletileg is alacsony • fields csak magasabb FPR mellett azonosít: csoportokba osztásra alkalmas • a többi azonosító kis FPR mellett is vagy egyedien azonosít, vagy egyáltalán nem
TPR változása felhasználók között • FPR = 0.01: netdests, ssids, bcast a felhasználók 65, 11 ill. 24%-ára 0.5-ös TPR-t ad! • DE: a felhasználók 12, 29 ill. 56%-ára 0.1-es FPR mellett sem tudunk 0.1-es TPR-t adni∙ ők gyakorlatilag azonosíthatatlanok: lehúzták az előző átlagot∙ tehát a többieket viszont az átlagnál jóval nagyobb arányban tudjuk azonosítani
Mennyit kell tanulni? sigcomm minta FPR = 0.01 • netdests az első 3 minta után stabilizálódik • a többi azonosítóban nincs jelentős fejlődés, valószínűleg mert automatikusak
Azonosítók kombinálása A gyakorlatban a támadó több azonosítót együttesen vizsgálhat • publikus hálózat: netdists, ssids, bcast, fields∙ titkosítás/hitelesítés legfeljebb magasabb szinteken (pl. bejelentkezés weboldalon) • otthoni hálózat: ssids, bcast, fields∙ WEP/WPA, de különböző eszközök kapcsolódnak • vállalati hálózat: ssids, bcast∙ titkosított közeg, homogén hardverkörnyezet ∙ a különbségek kizárólag a felhasználók/programok eltérő viselkedéséből erednek Ezeket a kombinációkat alkalmazzuk a sigcomm mintára ∙ a sigcomm és ucsd mintákban közel ugyanolyan implicit azonosítók találhatók ∙ különböző méretű populációkban is mérünk: nagyobb populációban nagyobb eséllyel van „hasonmás”
Az eredmények Nem meglepő: több jellemzőből pontosabban azonosítunk
2. kérdés: Járta ma itt U? Előfordulhat-e, hogy a Q felhasználótól jövő mintákat rendszeresenU-nak tulajdonítjuk? A jelek szerint nem: A felhasználók 60%-a legfeljebb 1, 95%-a legfeljebb 3 hibás azonosításért (false positive) felelős
2. kérdés: Járta ma itt U? Van-e időbeli összefüggés a helyes/helytelen azonosítások között? Ha van, akkor a valószínűségnek jelentősen el kell térnie 1-től Az esetek 60 ill. 70%-ában a két valószínűség aránya ½ és 2 között van: nem jelentős eltérés (t = 2)
A legfontosabbak • 90%-os bizonyosság mellett:∙ publikus hálózatban még 100 felhasználónak is legalább a felét azonosítani tudjuk∙ legfeljebb 25 felhasználónak a 27%-át azonosíthatjuk hálózattípustól függetlenül∙ ez a korlát 100 felhasználónál is csak 12%-ra megy le∙ csak annyi kell, hogy a felhasználók aktívak legyenek • legfeljebb 25 felhasználós hálózatban az elég aktív felhasználók12-37%-át még 99%-os bizonyosság mellett is azonosítani tudjuk • az otthoni ill. vállalati hálózatokra jellemzőbb a populációdiagramok bal ill. felső fele (felhasználók/aktív órák száma)
Konklúzió • Implicit azonosítók segítségével hatékonyan tudunk felhasználókat azonosítani és követni • Egyes felhasználók könnyebben követhetők, mint mások • Az álnevek bevezetése önmagában nem elég • Már egy önálló implicit azonosító is tud pontos lenni∙ Ráadásul gyorsan, 1-3 mintából tanulható • A problémát a 802.11 szabvány hibái okozzák A cikkben leírt módszerek, statisztikák csak alsó korlátok: erősebb ellenségek, újabb implicit azonosítók jobb eredményeket érhetnek el.
Kapcsolódó kutatások • Helytitkosság (location privacy)∙ Elsősorban az RFID és GPS technológiákkal kapcsolatban merül fel∙ A „benyomuló számítástechnika” (pervasive/ubiquitous computing) fejlődésével a 802.11-et is egyre jobban érinti: egyre nagyobb lefedettség, egyre könnyebb lenyomozni egy eszközt • Anonimitás (identity hiding)∙ Álneveket széles körben használnak (pl. GSM rendszerekben)∙ Mint láttuk, ez szükséges de nem elégséges a lenyomozhatatlanság biztosításához • Implicit azonosítók (implicit identifiers)Korábbi kutatások sikeresen azonosítottak:∙ alkalmazást, titkosított forgalom alapján∙ drivert, a 802.11 probe-ok időzítése alapján∙ eszközt, a TCP timestamp-ek elcsúszása alapján∙ felhasználót, clickprint-ek vagy gépelés alapján∙ operációs rendszert, a network stack viselkedése alapján (nmap, p0f)∙ weboldalt, a forgalom mérete és időzítése alapján (titkos csatornán keresztül is)