Oznaka VPN-a na uređaju ili adresa izlaza: što dokazuje što?
Mrežna oznaka pročitana na uređaju i adresa koju vidi server različiti su dokazi. Odredite koja od njih treba vašem pitanju.
Aplikacija na telefonu i udaljeni server počinju s različitim činjenicama i nijedan ne može posuditi tuđe. Aplikacija može pitati operativni sistem o mreži koju koristi, dok server zna samo ono što stigne kroz vezu. Pokretanje vlastite izlazne točke prepisuje drugo i ostavlja prvo netaknutim. Koje će od njih odgovoriti na vaše pitanje zavisi od samog pitanja.
Dvije točke promatranja, dvije vrste dokaza
Lokalni dokazi opisuju uređaj. Pokrivaju interfejs koji nosi promet, transport koji platforma prijavljuje i ono što aplikacija koja poziva smije tražiti. Udaljeni dokazi opisuju vezu: izvorna adresa, protokol, vrijeme i sve što aplikacija odluči poslati. Nijedna točka promatranja nije nadskup one druge.
Miješanje dvoga daje tvrdnje koje zvuče tačno i ne mogu se provjeriti. Oznaka dokazuje nešto o mrežnom objektu na uređaju, ne o tome kako udaljena usluga klasifikuje zahtjev.
Prije rasprave o otkrivanju, zapišite na koju se točku pitanje odnosi. Je li pitanje može li određena aplikacija uočiti da je tunel aktivan, ili može li usluga zaključiti odakle zahtjev dolazi? To su odvojena istraživanja i odgovor na jedno ne govori ništa o drugom.
Šta lokalni interfejs platforme može prijaviti
Android nudi posebnu oznaku. Objekt NetworkCapabilities može prijaviti TRANSPORT_VPN, a hasTransport provjerava je li taj transport prisutan na objektu. Aplikacija dobija objekt od usluge povezivosti i čita ga, uz dozvolu za stanje mreže.
Rezultat je lokalna informacija platforme, a ne pretraga raspona adresa pružatelja. Opisuje mrežu koju aplikacija koja poziva koristi.
Dvije granice su važne. Pravilo podijeljenog tunela koje isključuje aplikaciju može dati drugačiji odgovor na istom telefonu od onoga koji kolega vidi, jer aplikacija može biti vezana negdje drugdje. Oznaka postoji i zato što OS modelira VPN interfejse, a ne zato što je prikuplja neka određena aplikacija. Čita li aplikacija to polje, prosljeđuje li ga ili ga ignorira, svojstvo je te aplikacije. Njezin manifest i dokumentacija jedini su pouzdan izvor za to pitanje.
adb shell dumpsys connectivity | grep -i -m5 vpn
Šta udaljena usluga može vidjeti
Server vidi izvornu adresu veze, transport i vrijeme, a adresu može obogatiti podacima registra ili rutiranja. Može primiti i sve što aplikacija pošalje, uključujući lokaciju kada je aplikacija zatraži i korisnik pristane. Ti su kanali odvojeni i samo jedan liči na pretragu adrese.
Adresa registrovana kod hosting pružatelja upućuje na tunel, dok adresa registrovana na stambenoj mreži upućuje na kućnu vezu. Obje su statistički nagovještaji, ne činjenice o uređaju.
Stambena adresa ne smješta osobu na tu adresu, a hosting adresa ne imenuje operatera ni zemlju. Usluga koja zaključak tretira kao sigurnost ponekad će pogriješiti, a da to ne može otkriti. Ako se traži pouzdanost, a ne heuristika, podaci o adresi to ne mogu pružiti, i dizajn koji to priznaje iskreniji je od onoga koji skriva nagađanje.
| Dokaz | Na što odgovara | Šta ne može pokazati |
|---|---|---|
| Lokalna oznaka transporta | Je li ovaj mrežni objekt VPN | Tko upravlja izlazom ili gdje je uređaj |
| Udaljena izvorna adresa | Koja je adresa stigla do usluge | Nosi li uređaj i tunel |
| Sadržaj aplikacije | Šta je aplikacija odlučila poslati | Sve što aplikacija nije poslala |
Zašto samostalno hostovan izlaz mijenja samo jednu stranu
Pokretanje vlastite izlazne točke mijenja izvornu adresu koju udaljena usluga vidi, što je može pomjeriti izvan raspona koje ta usluga povezuje s komercijalnim pružateljima. U lokalnom mrežnom modelu ne mijenja ništa, jer tunel ostaje tunel i OS ga i dalje prijavljuje.
Jedna strana dokaza se kreće, druga ostaje nepomična. Jaz između njih mjesto je gdje se očekivanja lome.
Pregledač je treći slučaj sa svojim interfejsima i ograničenjima. Web sadržaj ne može čitati izvorni objekt mogućnosti, a tretirati funkciju mobilnog OS-a kao dostupnu web stranici je greška u kategoriji. Ako se pitanje tiče web stranice, proučite što web stranica zaista može dobiti umjesto da preslikavate API platforme.
Odlučite prema pitanju koje postavljate
Ako je pitanje može li određena aplikacija promatrati stanje tunela, interfejs platforme je pravo mjesto za pogled, a odgovor je u kodu i dozvolama te aplikacije. Ako je pitanje što usluga može zaključiti, dokaz su metapodaci veze. Pravno ili ugovorno pitanje ne rješava nijedno od toga.
Imenujte pitanje jednom rečenicom prije nego što bilo što prikupite. Ta rečenica odlučuje koja je točka promatranja važna i čuva istraživanje od skretanja u drugu raspravu.
Označite svako promatranje po njegovom izvoru kada ga izvještavate, jer tvrdnja bez oznake ne može se pregledati. Lokalna oznaka i zaključak iz adrese oboje su korisni i nijedno nije konačno, zato je njihovo spajanje u jedan sud greška.
Kada usluga odbije ovlaštenu vezu, koristite njen podržani put za pregled umjesto da mijenjate lokalnu postavku kako biste sakrili signal. Uklanjanje jednog promatranja nikada ne dokazuje da su ostala nestala.