Вы ўключылі бесправадную адладку, падключылі ноўтбук, і сесія працягвала працаваць, пакуль VPN быў уключаны. Гэта выглядае так, нібы нешта праслізнула міма тунеля. Хутчэй за ўсё, не. Сесія адладкі і запыт праграмы да вэб-сайта — розныя сеткавыя стасункі, і толькі адны з іх павінны перасякаць тунель.

Я сутыкаўся з гэтым няправільным прачытаннем двойчы: аднойчы, калі тэлефон і ноўтбук былі ў адной Wi-Fi-сетцы, і аднойчы пасля перазагрузкі, калі спарванне захавалася. У абодвух выпадках VPN рабіў менавіта тое, для чаго быў наладжаны.

Назавіце назіранне, перш чым назваць памылку

Перад заявай пра ўцечку могуць адбыцца тры падзеі, і яны не ўзаемазаменныя. Інструмент можа выявіць службу, прылада можа адабрыць працоўную станцыю, або аўтарызаваная сесія можа фактычна перадаваць каманды і байты. Запішыце, што менавіта вы бачылі, бо кожная з іх даказвае менш, чым людзі мяркуюць.

Выяўленне — гэта звычайна mDNS або сканаванне портаў. Спарванне — рашэнне аб рэгістрацыі, прынятае на тэлефоне і пацверджанае кодам, які ўводзіць карыстальнік. Жывая сесія азначае, што трафік рухаўся паміж двума спараннымі канцавымі пунктамі. Нішто з гэтага не апісвае, куды ідзе HTTPS-запыт праграмы.

Трымайце пункт прызначэння, інтэрфейс, сямейства адрасоў, адзнаку часу і профіль карыстальніка прывязанымі да падзеі. Без гэтых дэталяў назіранне нельга параўнаць з мэтавай палітыкай лакальнай сеткі або з той зборкай VPN, што тады працавала.

Чаму два шляхі ніколі не сустракаюцца

Бесправадная адладка — гэта ўваходнае злучэнне да прылады. adbd слухае порт, прывязаны да Wi-Fi-інтэрфейса, і працоўная станцыя падключаецца да яго пасля спарвання. Кірунак важны: ваш ноўтбук дацягваецца да тэлефона, а не наадварот. Гэта процілегласць уцечцы на выхадзе.

Інтэрнэт-трафік праграмы выходзіць праз тунельны інтэрфейс, які стварае VpnService, з супастаўленнем па UID і правілах маршрутызацыі. adbd — гэта сістэмны дэман, які працуе ад імя карыстальніка shell, а не праграма ўнутры гэтага набору маршрутаў. Ён застаецца на базавым Wi-Fi-звяне, нават калі кожная праграма прымацавана да тунеля.

Рэжым блакіроўкі ўводзіць тунель для ахопленых праграм. Ён не ператварае слухаючы сокет у шлях выхаду.

Менавіта таму працуючая сесія ADB і працуючы выключальнік суіснуюць без супярэчнасці. Каб даказаць уцечку, трэба назіраць за кірункам, які павінен быць заблакаваны.

Як насамрэч выглядае тэст на выхад

Тэстуйце ахопленую праграму, а не канал адладкі. Свядома стварыце ўмову збою, затым зрабіце адзін новы запыт і запішыце, што адбылося.

  1. Пераканайцеся, што VPN — адзіны шлях: уключыце пастаянна ўключаны VPN з блакіроўкай злучэнняў без VPN.
  2. Спыніце VPN падтрыманым спосабам і пераканайцеся, што праграма паведамляе пра адсутнасць злучэння.
  3. Адпраўце адзін бясшкодны запыт з гэтай праграмы і адзначце, ці ён не ўдаўся, ці ўдаўся.
  4. Паўтарыце з уключанай, а затым выключанай бесправадной адладкай, каб ізаляваць зменную.

Заблакаваны запыт пры такіх умовах — гэта доказ. Паспяховая сесія ADB — не, як і адзін ping з тэрмінальнай праграмы.

Калі запыт усё ж удаецца, пакуль рэжым блакіроўкі ўключаны, зафіксуйце UID праграмы і яе дазвол VPN, актыўную сетку і версію кліента. Гэтае спалучэнне — рэальная знаходка.

Спарванне перажывае сесію

Спарванне — гэта пастаянны стан, а не рукапацісканне, пра якое можна забыць пасля тэсту з кабелем. Дакументацыя Android па адладцы апісвае бесправадны працэс і адзначае, што стасункі захоўваюцца, пакуль пра іх не забудуць яўна або пакуль не адклічуць дазволы.

Праверце, што яшчэ аўтарызавана, перш чым вінаваціць тунель. Адкрыйце Бесправадную адладку, паглядзіце на Спараныя прылады і забудзьце ўсё, чаго больш не пазнаеце. Запусціце adb devices з працоўнай станцыі, каб убачыць, якія запісы яшчэ адказваюць, і adb disconnect, каб скінуць састарэлы. Выключэнне бесправадной адладкі цалкам закрывае слухаючы порт.

У агульнай або недаверанай сетцы пакіньце яе выключанай. Пастаянная аўтарызацыя ў сетцы, якую вы не кантралюеце, — большая праблема, чым гіпатэтычны абыход TUN.

Перш чым паведаміць пра гэтую памылку

Карысная справаздача называе дакладную мяжу, якая зламалася. Уключыце мадэль прылады і версію Android, VPN-кліент і версію, ці быў уключаны рэжым блакіроўкі, пакет праграмы і UID, а таксама сетку, у якой быў тэлефон. Дадайце каманду або запыт, які выклікаў назіранне, і час, калі гэта адбылося. Без гэтага ніхто не зможа прайграць мяжу, якую вы называеце зламанай.

Не адключайце прымусовае выкананне і не адкрывайце адладку ў недаверанай сетцы, каб тэст выглядаў эфектней. Гэта змяняе сістэму, якую вы вымяраеце, і пакідае доказы, якія ніхто не зможа паўтарыць.

Калі ваш адзіны доказ — гэта тое, што ADB падключыўся, пакуль працаваў VPN, вы вымералі не той шлях. Спачатку паўтарыце тэст на ўзроўні праграм; адказ звычайна прыходзіць менавіта там.

Падобныя артыкулы