Чаму трафік бесправадной адладкі не даказвае ўцечкі праз VPN
Спаранная сесія ADB праз Wi-Fi даказвае стасункі адладкі, а не шлях выхаду ў інтэрнэт. Вось што насамрэч ахоплівае гэтае назіранне.
Вы ўключылі бесправадную адладку, падключылі ноўтбук, і сесія працягвала працаваць, пакуль VPN быў уключаны. Гэта выглядае так, нібы нешта праслізнула міма тунеля. Хутчэй за ўсё, не. Сесія адладкі і запыт праграмы да вэб-сайта — розныя сеткавыя стасункі, і толькі адны з іх павінны перасякаць тунель.
Я сутыкаўся з гэтым няправільным прачытаннем двойчы: аднойчы, калі тэлефон і ноўтбук былі ў адной Wi-Fi-сетцы, і аднойчы пасля перазагрузкі, калі спарванне захавалася. У абодвух выпадках VPN рабіў менавіта тое, для чаго быў наладжаны.
Назавіце назіранне, перш чым назваць памылку
Перад заявай пра ўцечку могуць адбыцца тры падзеі, і яны не ўзаемазаменныя. Інструмент можа выявіць службу, прылада можа адабрыць працоўную станцыю, або аўтарызаваная сесія можа фактычна перадаваць каманды і байты. Запішыце, што менавіта вы бачылі, бо кожная з іх даказвае менш, чым людзі мяркуюць.
Выяўленне — гэта звычайна mDNS або сканаванне портаў. Спарванне — рашэнне аб рэгістрацыі, прынятае на тэлефоне і пацверджанае кодам, які ўводзіць карыстальнік. Жывая сесія азначае, што трафік рухаўся паміж двума спараннымі канцавымі пунктамі. Нішто з гэтага не апісвае, куды ідзе HTTPS-запыт праграмы.
Трымайце пункт прызначэння, інтэрфейс, сямейства адрасоў, адзнаку часу і профіль карыстальніка прывязанымі да падзеі. Без гэтых дэталяў назіранне нельга параўнаць з мэтавай палітыкай лакальнай сеткі або з той зборкай VPN, што тады працавала.
Чаму два шляхі ніколі не сустракаюцца
Бесправадная адладка — гэта ўваходнае злучэнне да прылады. adbd слухае порт, прывязаны да Wi-Fi-інтэрфейса, і працоўная станцыя падключаецца да яго пасля спарвання. Кірунак важны: ваш ноўтбук дацягваецца да тэлефона, а не наадварот. Гэта процілегласць уцечцы на выхадзе.
Інтэрнэт-трафік праграмы выходзіць праз тунельны інтэрфейс, які стварае VpnService, з супастаўленнем па UID і правілах маршрутызацыі. adbd — гэта сістэмны дэман, які працуе ад імя карыстальніка shell, а не праграма ўнутры гэтага набору маршрутаў. Ён застаецца на базавым Wi-Fi-звяне, нават калі кожная праграма прымацавана да тунеля.
Рэжым блакіроўкі ўводзіць тунель для ахопленых праграм. Ён не ператварае слухаючы сокет у шлях выхаду.
Менавіта таму працуючая сесія ADB і працуючы выключальнік суіснуюць без супярэчнасці. Каб даказаць уцечку, трэба назіраць за кірункам, які павінен быць заблакаваны.
Як насамрэч выглядае тэст на выхад
Тэстуйце ахопленую праграму, а не канал адладкі. Свядома стварыце ўмову збою, затым зрабіце адзін новы запыт і запішыце, што адбылося.
- Пераканайцеся, што VPN — адзіны шлях: уключыце пастаянна ўключаны VPN з блакіроўкай злучэнняў без VPN.
- Спыніце VPN падтрыманым спосабам і пераканайцеся, што праграма паведамляе пра адсутнасць злучэння.
- Адпраўце адзін бясшкодны запыт з гэтай праграмы і адзначце, ці ён не ўдаўся, ці ўдаўся.
- Паўтарыце з уключанай, а затым выключанай бесправадной адладкай, каб ізаляваць зменную.
Заблакаваны запыт пры такіх умовах — гэта доказ. Паспяховая сесія ADB — не, як і адзін ping з тэрмінальнай праграмы.
Калі запыт усё ж удаецца, пакуль рэжым блакіроўкі ўключаны, зафіксуйце UID праграмы і яе дазвол VPN, актыўную сетку і версію кліента. Гэтае спалучэнне — рэальная знаходка.
Спарванне перажывае сесію
Спарванне — гэта пастаянны стан, а не рукапацісканне, пра якое можна забыць пасля тэсту з кабелем. Дакументацыя Android па адладцы апісвае бесправадны працэс і адзначае, што стасункі захоўваюцца, пакуль пра іх не забудуць яўна або пакуль не адклічуць дазволы.
Праверце, што яшчэ аўтарызавана, перш чым вінаваціць тунель. Адкрыйце Бесправадную адладку, паглядзіце на Спараныя прылады і забудзьце ўсё, чаго больш не пазнаеце. Запусціце adb devices з працоўнай станцыі, каб убачыць, якія запісы яшчэ адказваюць, і adb disconnect, каб скінуць састарэлы. Выключэнне бесправадной адладкі цалкам закрывае слухаючы порт.
У агульнай або недаверанай сетцы пакіньце яе выключанай. Пастаянная аўтарызацыя ў сетцы, якую вы не кантралюеце, — большая праблема, чым гіпатэтычны абыход TUN.
Перш чым паведаміць пра гэтую памылку
Карысная справаздача называе дакладную мяжу, якая зламалася. Уключыце мадэль прылады і версію Android, VPN-кліент і версію, ці быў уключаны рэжым блакіроўкі, пакет праграмы і UID, а таксама сетку, у якой быў тэлефон. Дадайце каманду або запыт, які выклікаў назіранне, і час, калі гэта адбылося. Без гэтага ніхто не зможа прайграць мяжу, якую вы называеце зламанай.
Не адключайце прымусовае выкананне і не адкрывайце адладку ў недаверанай сетцы, каб тэст выглядаў эфектней. Гэта змяняе сістэму, якую вы вымяраеце, і пакідае доказы, якія ніхто не зможа паўтарыць.
Калі ваш адзіны доказ — гэта тое, што ADB падключыўся, пакуль працаваў VPN, вы вымералі не той шлях. Спачатку паўтарыце тэст на ўзроўні праграм; адказ звычайна прыходзіць менавіта там.