Proč provoz bezdrátového ladění není důkazem úniku VPN
Spárovaná relace ADB přes Wi-Fi dokazuje vztah pro ladění, ne výstupní cestu do internetu. Tady je, co toto pozorování skutečně pokrývá.
Zapnuli jste bezdrátové ladění, připojili notebook a relace fungovala dál, zatímco byla VPN aktivní. Vypadá to, že něco proklouzlo kolem tunelu. Téměř jistě ne. Relace ladění a požadavek aplikace na webovou stránku jsou různé síťové vztahy a tunel má překračovat jen jeden z nich.
Na toto chybné čtení jsem narazil dvakrát: jednou s telefonem a notebookem na stejné Wi-Fi a jednou po restartu, kdy párování přežilo. V obou případech VPN dělala přesně to, k čemu byla nastavena.
Pojmenujte pozorování, než pojmenujete chybu
Před tvrzením o úniku mohou nastat tři události a nejsou zaměnitelné. Nástroj může objevit službu, zařízení může schválit pracovní stanici nebo autorizovaná relace může skutečně přenášet příkazy a bajty. Zapište, kterou jste viděli, protože každá dokazuje méně, než lidé předpokládají.
Objev je obvykle mDNS nebo skenování portů. Párování je rozhodnutí o registraci učiněné na telefonu, potvrzené kódem, který uživatel zadá. Živá relace znamená, že provoz prošel mezi dvěma spárovanými koncovými body. Nic z toho nepopisuje, kam jde HTTPS požadavek aplikace.
Udržujte cíl, rozhraní, rodinu adres, časové razítko a uživatelský profil připojené k události. Bez těchto podrobností nelze pozorování srovnat se zamýšlenou politikou místní sítě ani s verzí VPN, která tehdy běžela.
Proč se obě cesty nikdy nesejdou
Bezdrátové ladění je příchozí připojení k zařízení. adbd naslouchá na portu navázaném na rozhraní Wi-Fi a pracovní stanice se k němu po spárování připojí. Směr je důležitý: váš notebook dosahuje do telefonu, ne naopak. To je opak výstupního úniku.
Internetový provoz aplikace vychází přes tunelové rozhraní, které instaluje VpnService, spárované podle UID a pravidel směrování. adbd je systémový démon běžící jako uživatel shell, ne aplikace v této sadě směrování. Zůstává na podkladovém Wi-Fi spoji, i když je každá aplikace připoutána k tunelu.
Režim uzamčení vynucuje tunel pro pokryté aplikace. Nepřevádí však naslouchající socket na výstupní cestu.
Proto fungující relace ADB a fungující vypínač existují vedle sebe bez rozporu. Abyste prokázali únik, musíte pozorovat směr, který má být blokován.
Jak výstupní test skutečně vypadá
Testujte pokrytou aplikaci, ne ladicí kanál. Záměrně nastavte podmínku selhání, pak odešlete jeden nový požadavek a zaznamenejte, co se stalo.
- Ověřte, že VPN je jediná cesta: zapněte trvale zapnutou VPN s blokováním připojení bez VPN.
- Zastavte VPN podporovaným způsobem a ověřte, že aplikace hlásí žádné připojení.
- Odešlete jeden neškodný požadavek z této aplikace a poznamenejte, zda selže, nebo uspěje.
- Opakujte s bezdrátovým laděním zapnutým a poté vypnutým, aby se proměnná izolovala.
Blokovaný požadavek za těchto podmínek je důkaz. Úspěšná relace ADB ne, a ani jeden ping z terminálové aplikace.
Pokud požadavek přesto uspěje, zatímco je uzamčení zapnuté, zaznamenejte UID aplikace a její povolení VPN, aktivní síť a verzi klienta. Taková kombinace je skutečné zjištění.
Párování přežívá relaci
Párování je trvalý stav, ne handshake, na který můžete po kabelovém testu zapomenout. Dokumentace Androidu k ladění popisuje bezdrátový postup a uvádí, že vztah trvá, dokud na něj výslovně nezapomenete nebo dokud nejsou oprávnění odvolána.
Než obviníte tunel, zkontrolujte, co je stále autorizováno. Otevřete Bezdrátové ladění, podívejte se na Spárovaná zařízení a zapomeňte vše, co už nepoznáváte. Spusťte adb devices z pracovní stanice, abyste viděli, které záznamy ještě odpovídají, a adb disconnect k zahození zastaralého. Vypnutí bezdrátového ladění zcela zavře naslouchající port.
Ve sdílené nebo nedůvěryhodné síti jej nechte vypnuté. Trvalá autorizace v síti, kterou nekontrolujete, je větší problém než hypotetické obejití TUN.
Než tu chybu nahlásíte
Užitečná zpráva pojmenuje přesnou hranici, která selhala. Uveďte model zařízení a verzi Androidu, klienta VPN a jeho verzi, zda bylo uzamčení zapnuté, balíček aplikace a UID a síť, ve které byl telefon. Přidejte příkaz nebo požadavek, který pozorování vyvolal, a čas, kdy se to stalo. Bez toho nikdo nemůže reprodukovat hranici, o níž tvrdíte, že je rozbitá.
Nevypínejte vynucování a nevystavujte ladění v nedůvěryhodné síti, aby test vypadal dramatičtěji. Měníte tím systém, který měříte, a zanecháváte důkazy, které nikdo nezopakuje.
Pokud je vaším jediným důkazem to, že se ADB připojil, zatímco byla VPN aktivní, měřili jste špatnou cestu. Nejprve zopakujte test na úrovni aplikace; odpověď obvykle přijde tam.