A telefonos alkalmazás és a távoli kiszolgáló különböző tényekkel indul, és egyik sem kölcsönözheti a másikét. Az alkalmazás megkérdezheti az operációs rendszert az általa használt hálózatról, miközben a kiszolgáló csak azt tudja, ami a kapcsolaton keresztül megérkezik. A saját végpont futtatása átírja a másodikat, és érintetlenül hagyja az elsőt. Hogy melyik válaszol a kérdésére, magától a kérdéstől függ.

Két megfigyelési pont, kétféle bizonyíték

A helyi bizonyíték az eszközt írja le. Kiterjed a forgalmat vivő interfészre, a platform által jelentett átvitelre és arra, amit a hívó alkalmazás lekérdezhet. A távoli bizonyíték a kapcsolatot írja le: forrás cím, protokoll, időzítés és minden, amit az alkalmazás elküldeni dönt. Egyik megfigyelési pont sem a másik felülhalmaza.

A kettő keverése pontosnak hangzó, ellenőrizhetetlen állításokat szül. A jelölő valamit az eszközön lévő hálózati objektumról bizonyít, nem arról, hogyan sorolja be a kérést egy távoli szolgáltatás.

Mielőtt az észlelésről vitatkozna, írja le, melyik pontra vonatkozik a kérdés. Arról van szó, hogy egy adott alkalmazás észleli-e, hogy egy alagút aktív, vagy arról, hogy egy szolgáltatás kikövetkeztetheti-e, honnan jött a kérés? Ezek külön vizsgálatok, és az egyikre adott válasz semmit nem mond a másikról.

Mit jelenthet egy helyi platforminterfész

Az Android egy konkrét jelölőt kínál. A NetworkCapabilities objektum jelezheti a TRANSPORT_VPN értéket, és a hasTransport azt vizsgálja, hogy ez az átvitel jelen van-e az objektumon. Az alkalmazás a kapcsolódási szolgáltatástól kapja meg az objektumot és olvassa ki, a hálózati állapot engedélyének függvényében.

Az eredmény helyi platforminformáció, nem pedig egy szolgáltató címtartományában végzett keresés. Azt a hálózatot írja le, amelyet a hívó alkalmazás használ.

Két korlát számít. Egy osztott alagút szabály, amely kizár egy alkalmazást, ugyanazon a telefonon más választ adhat, mint amit egy kolléga lát, mert az alkalmazás máshol lehet hozzákötve. A jelölő azért is létezik, mert az operációs rendszer VPN-interfészeket modellez, nem azért, mert egy adott alkalmazás gyűjti. Hogy egy alkalmazás olvassa-e a mezőt, továbbadja-e vagy figyelmen kívül hagyja, az adott alkalmazás tulajdonsága. A manifestje és a dokumentációja az egyetlen megbízható forrás erre a kérdésre.

adb shell dumpsys connectivity | grep -i -m5 vpn

Mit láthat egy távoli szolgáltatás

A kiszolgáló látja a kapcsolat forráscímét, az átvitelt és az időzítést, és a címet nyilvántartási vagy útválasztási adatokkal gazdagíthatja. Megkaphat mindent is, amit az alkalmazás küld, beleértve a helyzetet, amikor az alkalmazás kéri és a felhasználó beleegyezik. Ezek a csatornák elkülönülnek, és csak az egyik hasonlít egy címkeresésre.

Egy tárhelyszolgáltatónál regisztrált cím alagútra utal, míg egy lakóhálózaton regisztrált cím otthoni kapcsolatra. Mindkettő statisztikai nyom, nem tény az eszközről.

A lakócím nem helyezi a személyt arra a címre, és a tárhelycím nem nevezi meg az üzemeltetőt vagy az országot. Egy szolgáltatás, amely a következtetést bizonyosságként kezeli, néha tévedni fog anélkül, hogy ezt fel tudná ismerni. Ha a követelmény a megbízhatóság és nem egy heurisztika, a címadatok ezt nem tudják nyújtani, és az a terv, amely ezt kimondja, őszintébb, mint amely elrejti a találgatást.

BizonyítékMire válaszolMit nem mutathat meg
Helyi átviteljelölőHogy ez a hálózati objektum VPN-eKi üzemelteti a kilépést, vagy hol van az eszköz
Távoli forráscímMelyik cím érte el a szolgáltatástHogy az eszköz alagutat is hordoz-e
Alkalmazás hasznos terhelésMit döntött úgy az alkalmazás, hogy küldMinden, amit az alkalmazás nem küldött el

Miért változtat a saját tárhelyű kilépés csak az egyik oldalon

A saját végpont futtatása megváltoztatja azt a forráscímet, amelyet egy távoli szolgáltatás lát, ami kiviheti azokból a tartományokból, amelyeket a szolgáltatás kereskedelmi szolgáltatókhoz társít. A helyi hálózati modellben semmit nem változtat, mert az alagút alagút marad, és az operációs rendszer továbbra is jelenti.

A bizonyíték egyik oldala mozog, a másik rögzített marad. A kettő közötti rés az, ahol a várakozások eltörnek.

A böngésző harmadik eset, saját interfészekkel és korlátozásokkal. A webes tartalom nem tud natív képességobjektumot olvasni, és egy mobil operációs rendszer funkcióját weboldal számára elérhetőnek tekinteni kategóriahiba. Ha a kérdés egy webhelyre vonatkozik, vizsgálja meg, mit tud egy webhely valóban megszerezni, ahelyett hogy egy platform API-t átírna.

A feltett kérdéssel döntsön

Ha a kérdés az, hogy egy adott alkalmazás megfigyelheti-e az alagút állapotát, a platforminterfész a megfelelő hely, és a válasz az adott alkalmazás kódjában és engedélyeiben van. Ha a kérdés az, mit következtethet ki egy szolgáltatás, a kapcsolat metaadatai a bizonyíték. Jogi vagy szerződéses kérdést egyik sem dönt el.

Nevezze meg a kérdést egy mondatban, mielőtt bármit gyűjtene. Az a mondat dönti el, melyik megfigyelési pont számít, és tartja vissza a vizsgálatot attól, hogy más vitába sodródjon.

Címkézze meg minden megfigyelését a forrása szerint, amikor beszámol róla, mert a címkézetlen állítás nem bírálható felül. A helyi jelölő és a címre vonatkozó következtetés egyaránt hasznos, és egyik sem döntő, ezért hiba őket egyetlen ítéletbe olvasztani.

Amikor egy szolgáltatás elutasít egy engedélyezett kapcsolatot, használja a támogatott felülvizsgálati útvonalát, ahelyett hogy egy helyi beállítást módosítana egy jel elrejtésére. Egy megfigyelés eltávolítása soha nem bizonyítja, hogy a többi eltűnt.

Kapcsolódó cikkek