Objavljeno: 26.6.2024 | Avtor: Matej Huš | Monitor Julij-avgust 2024 

Google in Apple poznata vsa omrežja Wi-Fi

Največja proizvajalca operacijskih sistemov za mobilne telefone imata ogromni zbirki podatkov, v katerih so shranjene lokacije vseh brezžičnih dostopnih točk na svetu. Če imate brezžični usmerjevalnik za dostop do interneta, mimo katerega se je kadarkoli sprehodil kdorkoli s pametnim telefonom, Apple in Google vesta za njegovo lokacijo. To pa predstavlja tudi varnostna tveganja, ki se jim lahko tudi enostavno izognemo.

Lokacije BSSID, ki so jih raziskovalci našli med lociranjem 490 milijonov BSSID. Slika: Erik Rye, Dave Levin

Kot samoumevno smo sprejeli sposobnost pametnega telefona, da (skoraj) v vsakem trenutku pozna naš položaj. Najsibo na ulicah med visokimi nebotičniki zahodnih metropol ali sredi mongolskih puščav, telefon nam bo na zemljevidu pokazal, kje stojimo. Pogosto površno predpostavljamo, da je edini način določanja lokacije GPS. To ne drži na dveh ravneh zaradi dvojega. Prvič, GPS je zgolj eden izmed globalnih satelitskih navigacijskih sistemov, resda prvi in najbolj razširjen. Evropa ima svoj Galileo, Rusija ima GLONASS, Kitajska Baidou. Novejši telefoni že podpirajo vsa dva izmed njih ali več, kar načelno izboljša določanje lokacije, ki je tako bodisi natančnejša bodisi hitreje določena.

Drugič, kar pa je splošni javnosti še manj poznano, četudi telefon sploh nima vključenega GPS, bosta Google ali Apple še vedno vedela, kje smo. Lokacijo bosta poznala precej natančneje od operaterja, ki lahko iz povezljivosti z baznimi postajami zgolj bolj ali manj natančno triangulira našo lokacijo. Google in Apple imata svoji bazi, v katerih so vse dostopne točke tega sveta, zato mora telefon zgolj »pogledati«, katere dostopne točke »vidi«, pa bo z veliko natančnostjo »vedel«, kje je.

Pozicioniranje z Wi-Fi

Tehnologija se imenuje WPS (Wi-Fi positioning system) in ima povsem legitimen ter koristen namen. Obstajajo namreč območja in okoliščine, ko satelitska navigacija ni najprimernejše ali sploh uporabno orodje za določanje lokacije. To se zgodi na ulicah med visokimi nebotičniki, kjer je kakovost signalov GPS zaradi odbojev (multi-path error) slaba. To vidimo kot »skakanje« lokacije in zelo dolgo iskanje vidnih satelitov (fix). Drugi, še očitnejši primer je notranjost stavb, kjer so signali GPS prešibki ali premalo natančni, da bi si lahko z njimi kakorkoli pomagali. In včasih podatek o lokaciji v zaprtih prostorih potrebujemo. Še bolj pragmatičen razlog pa je poraba energije, saj je pridobivanje lokacije iz GPS energetsko preveč potratno, da bi ga majhne naprave – tu ne govorimo o pametnih telefonih – pogosto izvajale.

Odstotek BSSID v Gazi in Tel Avivu, ki niso več aktivne. Kaj to pomeni na področju, kjer letijo rakete in padajo bombe, si lahko predstavljamo brez težav. Slika: Erik Rye, Dave Levin

Kaj zbirata Apple in Google

Mobilne naprave z operacijskim sistemom iOS ali Android večino časa zaradi vgrajenega sprejemnika GPS »vedo«, kje so. Hkrati lovijo signale Wi-Fi, torej »vidijo« usmerjevalnike oziroma dostopne točke v okolici. Te podatke sproti pošiljajo Applu in Googlu, ki sta zgradila vsak svojo bazo vseh vidnih dostopnih točk na svetu in njihovih fizičnih lokacij.

Če je mimo vaše dostopne točke Wi-Fi kadarkoli šel kdo s pametnim telefonom, zanjo Apple in Google vesta. Zaklepanje z geslom ali na zgolj dovoljene naslove odjemalcev MAC ne pomaga.

Konkretno gre za BSSID (basic service set identifier), ki izvira iz fizičnega naslova (MAC) dostopne točke ali pa je temu kar enak, odvisno od implementacije usmerjevalnika. Končni uporabniki pa se ukvarjajo s SSID, ki je ime omrežja – večja omrežja sestavlja več dostopnih točk, ki se razlikujejo po BSSID, medtem ko je njihov SSID enak. Ekstremen primer je izobraževalno omrežje eduroam, ki se razteza po več kontinentih in omogoča uporabo raziskovalcem, profesorjem in študentom. V resnici je BSSID v enakem formatu kot MAC, torej v 48 bitih, ni pa ista številka. Navadno je tudi nespremenljiva.

Primer naslova MAC je 08:4A:93:2F:B1:07. Ko dostopna točka za Wi-Fi ustvari omrežje 802.11, nastane BSS (basic service set), ki ga sestavljajo dostopna točka in vse povezane naprave. Ker lahko posamezna dostopna točka ustvari več omrežij 802.11, ima lahko tudi več BSSID. Številk BSSID je torej več kot fizičnih dostopnih točk.

Ciljani napad

Če poznamo dostopne točke BSSID, ki je v lasti točno določenega uporabnika, denimo televizorja s podporo za Wi-Fi, potovalne dostopne točke ali česa podobnega, lahko s poizvedbami prek geolokacijskih API na Googlu ali Applu sledimo njegovim premikom. Čeprav v praksi tak napad ni zelo pogost, ker je težko izvedeti BSSID točno določene naprave, do katere nimamo fizičnega dostopa, to ni nemogoče. Denimo, zamislimo si lahko izsleditev nekdanje partnerice, ki se je odselila od nasilnega partnerja na neznano lokacijo.

Vrnimo se torej k mobilnim napravam. Pametni telefon bo redno preverjal, kje je lociran (z GPS ali iz podatka bazne postaje), in hkrati Applu ali Googlu poslal svojo lokacijo ter seznam vidnih dostopnih točk skupaj z BSSID. Tadva bosta vse te podatke vestno shranjevala. Poudarimo, da se temu skorajda ne moremo izogniti. Naprave namreč poročajo o vseh vidnih dostopnih točkah, četudi se z njimi nikoli niso povezale. Če je torej mimo vaše dostopne točke v njenem dometu kadarkoli šel kdo s pametnim telefonom, zanjo Apple in Google vesta. Zaklepanje z geslom ali na zgolj dovoljene naslove odjemalcev MAC ne pomaga.

Apple in Google pa teh podatkov ne uporabljata le zase, temveč jih delita naokoli. Če naprava z Androidom želi izvedeti svojo lokacijo brez uporabe GPS, lahko pošlje Googlu standardizirano zahtevo prek API, v kateri naniza BSSID vidnih dostopnih točk in relativno jakost njihovega signala. Že dva BSSID zadostujeta, da Google približno določi lokacijo in jo posreduje napravi. To je uporabno, četudi ima naprava vključen GPS, saj bo tako hitreje našla satelite in natančno lokacijo.

BSSID na otoku Maui na Havajih, ki mesec dni po požarih leta 2023 niso bile več aktivne (rdeče). Slika: Erik Rye, Dave Levin

Applov pristop pa je nekoliko drugačen. Ko naprava z iOS pošlje Applovim strežnikom podatek o vidnih dostopnih točkah, ta v odgovoru ne dobi lokacije, temveč lokacijo za vse vidne dostopne točke. Naprava z iOS nato iz njih izračuna, kje je. S tem ni nič narobe, a Apple gre še dlje. Poleg lokacij dostopnih točk, ki jih odjemalec vidi, mu strežnik pošlje še seznam več kot sto dostopnih točk BSSID v okolici skupaj z njihovo lokacijo v Applovi bazi. Poenostavljeno povedano Apple vsaki napravi razkrije del baze, ki vsebuje dostopne točke blizu njene lokacije, iz česar mora naprava sama izluščiti, kje je, Google pa to stori namesto nje. Applov pristop je mogoče zlorabiti zato, ker pošilja ogromne količine informacij, ki jih odjemalec sam nima (in v resnici ne potrebuje). Applova logika je do neke mere razumljiva: odjemalec je mobilna naprava, ki se bo verjetno premikala, zato je koristno vedeti, kaj bo srečala vzdolž ulice.

Streljanje na slepo

Raziskovalci z Univerze v Marylandu so pokazali, kako je Applov sistem moč zlorabiti. Ustvarili so več kot milijardo BSSID, za katere niso vedeli, ali sploh obstajajo. Nato so prek API za geolokacijo Applu pošiljali te BSSID in spraševali za lokacijo. Večina BSSID je bila neuporabnih, saj jih nima nobena naprava na svetu in jih v Applovi bazi ni. Za približno tri milijone BSSID pa so dobili odgovor, kar je zaradi njegove obsežnosti razkrilo lokacijo 490 milijonov BSSID. Ne pozabimo, da Apple vrne lokacijo več sto BSSID v okolici BSSID, za katerega sprašujemo v API.

Pametnim telefonom (oz. dostopnim točkam na njih) na ta način ni mogoče slediti, ker ustvarijo vsakokrat drugačen, naključen BSSID.

To so počeli od novembra 2022 do novembra 2023. Pri tem so uspešnost naključnega prečesavanja baze povečali tako, da so BSSID generirali glede na seznam, ki ga vzdržuje IEEE. Na njem so namreč bloki BSSID, ki jih uporabljajo naprave posameznih proizvajalcev, zato so se lahko omejili na proizvajalce strojne opreme za dostopne točke. Prav tako imajo določeni biti BSSID še druge pomene, denimo, ali je omrežje multicast ali unicast.

Ko enkrat tak seznam pridobijo, pa lahko zbirajo še številne druge podatke. Opazovati je moč, kako se posamezne dostopne točke premikajo. Načelno so te nepremične, ni pa to vedno res. V vojni v Ukrajini obe strani uporabljata terminale Starlink za dostop do satelitskega interneta. Ti so vidni v bazi, ker se obnašajo tudi kot dostopna točka za Wi-Fi. Raziskovalci so pokazali, da lahko enostavno spremljajo, kako se posamezne enote s terminali Starlink premikajo po Ukrajini oziroma bojišču. Samo v Ukrajini so odkrili skoraj štiri tisoč teh terminalov, ki so bili na vojaškem območju. Spremljali so lahko tako njihov izvor kakor premike. Opazovali so lahko tudi tujce, ki so se pridružili ukrajinskim silam, in od kod so, če so seveda s seboj prinesli mobilne dostopne točke.

Geolocirane točke BSSID v Ukrajini v resnici ponazarjajo aktivne terminale Starlink. Slika: Erik Rye, Dave Levin

Podobno so lahko spremljali dogajanje v Gazi. Tam so Starlinkove dostopne točke izginjale, saj je Izrael bombardiral območje, uničeval infrastrukturo in prekinjal dostopnost električne energije. To ni pomembno le za omenjeni vojni območji, temveč tudi za domače uporabnike na razvitem Zahodu. Raziskovalci so opazili tudi vzorce, kako se usmerjevalniki gibljejo med kampi, marinami in podobno. Marsikateri turist ima prenosno dostopno točko, da se lahko več njegovih naprav povezuje s spletom – in prav ta iste naprave nato izdajajo njegovo lokacijo.

Applov API ima tudi nekaj očitnih pomanjkljivosti, je namreč povsem odprt in brezplačen. Za pošiljanje poizvedb ne potrebujemo nobenega certifikata, zagotavljanja pristnosti, niti Applove naprave. Raziskovalci so uporabljali program, napisan v Goju, ki je tekel na Linuxu. Prav tako dopušča nesmiselne poizvedbe, denimo po BSSID, ki se nahajajo na drugem kontinentu kot poizvedovalec.

Ko so Starlinku marca letos sporočili izsledke analize, so jim ti zagotovili, da so že lani začeli pošiljati posodobitve, ki so uvedle anonimizacijo in naključno generiranje BSSID. Iz SpaceX uradnega odziva ni bilo, a aprila letos je res za 70 odstotkov upadlo število terminalov Starlink, ki jih je bilo mogoče locirati na tak način. Popravek so torej res poslali in deluje.

Kaj lahko storimo

Marca letos je Apple brez najave posodobil pogoje uporabe na svoji spletni strani. Po novem so jasno zapisali, da se lastniki dostopnih točk lahko izognejo vključitvi v Applovo bazo s preprostim trikom. Imenu omrežja (SSID) naj pripnejo oznako _nomap, pa se v bazi ne bo shranjevala. Isto velja tudi za Googlovo bazo, kar pa je znano že dlje. Tudi Apple je to zastavico upošteval že pred tem, le da nikjer niso javno izpostavili, da je to mogoče.

Raziskovalci pričakujejo tudi, da bosta Apple in Google omejila dostop do API na razumno število poizvedb. To bi preprečilo, da bi posameznik zbral informacije o milijonih dostopnih točk v kratkem času. Za zdaj tega še nista storila. Google poizvedbe prek njegovega API sicer zaračunava.

V nevarnosti so sicer le »nepremične« oziroma stalne dostopne točke, torej usmerjevalniki in podobno. Mobilne naprave, kot so pametni telefoni, ki lahko delujejo kot ad hoc dostopna točka (hotspot), teh težav nimajo, ker ustvarijo vsakokrat drugačen, naključen BSSID.

Ob prebiranju članka bi lahko dobili napačno predstavo, da imata tovrstne baze le Apple in Google, saj to ne drži. Še ena tovrstna baza se imenuje WiGLE, v preteklosti pa je Apple uporabljal Skyhook, preden je vzpostavil svojo. Svojo bazo ima tudi Microsoft. Za zdaj se lahko iz baz odstranimo tako, da omrežje ustrezno poimenujemo z _nomap, a tudi takrat smo odvisni od dobre volje upravljavcev baz, ali bodo naše želje res upoštevali. A če tega ne moremo storiti sami, ima več moči država. Kitajskih BSSID v Applovi bazi praktično ni najti – z izjemo Hongkonga in Makava. Bodisi jih Apple ne beleži bodisi jih ne razkriva, a za končnega uporabnika je učinek enak.

Druge rešitve za zagotavljanje zasebnosti na ravni uporabnika so kompleksnejše. Odsvetuje se premikanje dostopnih točk med lokacijami, kar je relevantno zlasti za podjetja in velike uporabnike. Najbolj tehnično vešči pa lahko uporabijo programsko opremo, ki bo dostopni točki redno menjala BSSID, podobno kot velja za naslove odjemalcev MAC. Tak primer programske opreme je hostapd, ki omogoča ustrezno nastavitev.

Na ravni proizvajalcev dostopnih točk pa lahko le prosimo, da se sčasoma uveljavi standard za njihovo naključno generiranje. Potrebna je le volja.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji