Araua sinplea zen: trafikoa filtratu soilik bulegoko Wi-Fiari konektatuta zauden bitartean. Hilabeteak iraun zituen, eta gero, goiz batean, telefonoa SSID berean zegoen gako-ikono berarekin eta filtratzea gelditu zen. Sarean ez zen ezer aldatu; aldatu zena aplikazioak sarearen izena ikusi ahal izatea zen. Androiden, «zein Wi-Fi-n nagoen» eta «blokeatu trafiko hau» bi lan bereiziak dira, eta biak nahasten dituen suebaki batek irekita huts egiten du izena erabilgarri ez denean.

Sintoma: identitatea desagertu eta politika atzetik

SSID arau batek balio bat irakurri eta gero adar bat aukeratzen du. Irakurketak ezer erabilgarririk itzultzen ez duenean, kodeak zerbait egin behar du, eta ohiko lehenetsia «ez da espero den sarea, beraz ez filtratu» da. Lehenetsi horrek baimen-arazo bat trafiko-isuri bihurtzen du. Gako-ikonoa ikusgai jarraitzen du VPN zerbitzua oraindik martxan dagoelako; besterik gabe beste adar bat betearazten ari da.

Begiratu gertaeren ordenari, ez sareari. Ukatutako baimen-gonbita bat, SSIDrako sarbidea beste baimen baten atzera eraman zuen sistema-eguneratze bat, itzalitako kokapen-zerbitzuak edo lan-profilaren politikaren aldaketa batek emaitza bera eman dezakete, telefonoa sarbide-puntu berean geratzen den bitartean.

Zergatik itzul daitekeen izena ezezagun gisa

WifiInfo.getSSID() uneko sarearen zerbitzu-multzoaren identifikatzailea itzultzen du, eta Androidek dokumentatzen du kokapenarekiko sentikorrak diren eremuetarako sarbidea baimenaren mende dagoela. Sarbidea erabilgarri ez dagoenean, deiak UNKNOWN_SSID itzultzen du, ozen huts egin beharrean. Beraz, balio hutsa edo ezezaguna ez da telefonoa Wi-Fi-tik atera denaren froga; aplikazioak sarea sailkatu ezin duenaren froga da.

Bi egiaztapenek kasuak bereizten dituzte. Berretsi telefonoa konektatuta dagoela eta ikusi sistemak zer jakinarazten duen, eta gero berretsi aplikazioak Android bertsio honetan behar duen baimena benetan duela:

adb shell cmd wifi status
adb shell dumpsys package <your.app> | grep -i -E "ACCESS_FINE_LOCATION|NEARBY_WIFI_DEVICES"

Egoera-lerroak konektatutako sarea erakusten badu aplikazioak izen ezezaguna ikusten duen bitartean, baimen-arazo bat edo API mailako arazo bat duzu, ez Wi-Fi arazoa. Konpondu hori suebaki-arauak ukitu aurretik, ondorengo arau bakoitza aplikazioak irakurri ezin duen balio baten aurka ebaluatzen delako.

Non exekutatzen da filtratzea benetan

Android suebaki lokalak VpnService eredua erabili ohi du trafikoa urruneko zerbitzarira bidali gabe: interfaze birtuala hartu, bere arauak aplikatu eta uzten duena birbidaltzen du. Plataformak VPN zerbitzu aktibo bat onartzen du erabiltzaile-profila bakoitzeko, eta bigarrenak lehenengoa ordezkatzen du gainean pilatu beharrean. Beraz, suebaki-aplikazio bereizi batek eta laneko VPN bereizi batek ez dute bi etapako katea osatzen; bat nagusitzen da.

Horrek garrantzia du SSID arau baterako, betearazpen-puntua eta behaketa-puntua osagai desberdinak direlako. VpnService-k erabakitzen du zer ateratzen den gailutik; Wi-Fi APIak etiketa bat soilik ematen du. Aplikazio batek zuzen betearazi eta gaizki sailka dezake, eta horixe da artikulu honetako hutsegitea.

Eman ezezagunari bere politika

Hartu sarearen identitatea hiru egoera gisa, eta idatzi bakoitzaren politika araua kaleratu aurretik. Hirugarren egoera ahazten dena da, eta erasotzaile batek edo konfigurazio oker batek hor jarriko zaitu.

ObservationPolicy to specify
Expected SSID is readableThe explicit filtering policy you designed
A different SSID is readableThe default policy for untrusted networks
Unknown, changing or unreadableFail closed until classification is reliable

Itxita huts egiteak esan nahi du egoera ezezagunak politika zentzuzko zorrotzena heredatzen duela, erosoenaren ordez. Hori dela eta telefonoa sare berri batean erabilgaitza bihurtzen bada, konponbide egokia nahitaezko eta ikusgai dagoen salbuespen bat da, balio hutsaren egiaztapenean ezkutatutako konfiantza-erabaki isil bat ez.

SSID ezagun bat etiketa da, ez sarearen operadorearen froga. Edonork jar dezake sarbide-puntu bat bulegoaren izenarekin, beraz, izenaren bat-etortzea ez litzateke inoiz saio sentikor baten eta segmentu ez-fidagarrilaren artean egon behar den gauza bakarra.

Probatu trantsizioak, ez egoera egonkorra

Egoera egonkorreko probek araua eraiki zenuen sarean gainditzen dute. Hutsegiteak trantsizioetan bizi dira: ukatuako baimena, Wi-Fi-tik mugikorrera, SSID batetik bestera, VPN zerbitzua berrabiaraztea eta interfazea hartzen duen beste VPN aplikazio bat. Bakoitzarentzat, erabaki lehendik dauden konexioak berrikusten diren eta trafiko babestua blokeatuta jarraitzen duen egoera ezezaguna den bitartean.

Idatzi emaitza hiru esalditan: behaketutako baldintza, erabakia betearazten duen osagaia eta nahitaezko atzera-egitea. Hiruretako bat falta bada, araua oraindik ez da politika; bulegoko sarean kasualitatez funtzionatzen duen susmo bat da.

Erlazionatutako artikuluak