Праграма VPN просіць кантакты і спецыяльныя магчымасці: што дазваляць
VPN патрэбны адзін сеткавы дазвол. Спецыяльныя магчымасці, кантакты і ўсталяванне сертыфікатаў патрабуюць уласнай прычыны, якую функцыя маршрутызацыі даць не можа.
Усталёўшчык спачатку просіць доступ да сеткі, потым да кантактаў, спецыяльных магчымасцей і ўсталявання сертыфіката. Да гэтай задачы належыць толькі першы запыт. Сапраўднае рашэнне прымаецца на другім экране.
Ацэньвайце кожны запыт адносна функцыі, якую вы абралі, на платформе, якой карыстаецеся. Універсальнага спісу дазволаў не існуе для ўсіх VPN-прадуктаў, і доўгі спіс сам па сабе нічога не даказвае.
Адзіны дазвол, які задачы сапраўды патрэбны
Android просіць карыстальніка ўхваліць службу VPN праз сістэмны дыялог, перш чым пачнецца тунель, а служба праграмы абвяшчае BIND_VPN_SERVICE, каб сістэма магла да яе падлучыцца. У працэсе праграма выконвае працу маршрутызацыі. Згоду дае чалавек, які трымае прыладу, у дыялогу з назвай праграмы, і адклікаць яе пазней — падтрымоўванае дзеянне.
Платформы Apple выражаюць тую ж ідэю праз сеткавае пашырэнне плюс ухваленне ўсталявання, а не праз экран дазволаў. Windows выкарыстоўвае драйвер віртуальнага адаптара і запыт на павышэнне правоў. Дзве формы, адзін сэнс: гэтая праграма можа апрацоўваць пакеты. Нішто ў гэтым дазволе не пакрывае чытанне вашай адраснай кнігі або выдачу сабе пасведчання цэнтра сертыфікацыі.
Дадатковы доступ — асобны дазвол з асобнымі наступствамі. Кліенту маршрутызацыі, які яго хоча, патрэбна ўласная прычына.
Дзе дадатковым запытам патрэбна ўласная гісторыя
Служба спецыяльных магчымасцей можа чытаць змест экрана і дзейнічаць ад вашага імя, што значна выходзіць за межы маршрутызацыі. Кіраванне прыладай можа ўводзіць палітыкі блакіроўкі і выдаляць даныя. Корань сертыфіката, усталяваны карыстальнікам, дазваляе таму, хто мае адпаведны ключ, чытаць трафік, які TLS інакш бы абараняў.
Любое з гэтага можа быць законным. Прадукты для кіраваных прылад і бацькоўскага кантролю могуць патрабаваць паўнамоцтваў для палітык, а інструмент падтрымкі можа патрабаваць спецыяльных магчымасцей, каб правесці вас па наладах.
Патрабаванне — прасочвальнасць: запыт указвае на названую функцыю, і гэтая функцыя бачная ў прадукце, які вы ўсталявалі. Запыт кантактаў без экрана, скіраванага на кантакты, не мае чаго патлумачыць. Аргумент пра шыфраванне таксама не пераносіцца, бо абарона пакетаў нічога не кажа пра тое, хто вашыя сябры. Законны прадукт можа ўсё ж празмерна запытваць праз убудаваную бібліятэку, і гэта дэфект, пра які варта паведаміць, а не злачынства, пра якое варта даносіць.
Запішыце запыт і функцыю, якой ён адпавядае, потым вырашайце. Гэта нататка таксама тое, што вы паказваеце падтрымцы, калі функцыя ламаецца пасля адмовы.
Як прачытаць запыт на прыладзе
Старонка крамы апісвае намер, а ўсталяваны пакет апісвае рэальнасць. Спытайце ў менеджэра пакетаў, што абвешчана і што дадзена, перш чым ухваляць што-небудзь яшчэ. Гэтая пара асабліва важная, калі старонка і маніфест супярэчаць адно аднаму.
Два запыты ахопліваюць большасць гэтага:
adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30 adb shell cmd appops get com.example.vpn
Першы супастаўляе абвешчаныя дазволы з выдадзенымі, і менавіта гэтае параўнанне выкрывае занадта шырокі маніфест. Другі паказвае аперацыі праграмы ў час выканання, уключаючы адмысловыя доступы, якія ніколі не выглядаюць як звычайныя дазволы. Калі інструменты распрацоўніка недаступныя, прачытайце тыя ж звесткі на экранах налад платформы.
Гэтыя экраны займаюць хвіліну і не патрабуюць праграмнага забеспячэння. Спецыяльныя магчымасці, кіраванне прыладай і сховішча сертыфікатаў кожнае пералічвае праграмы, якія маюць дазвол.
Вырашыць, потым абмежаваць шкоду
Дайце сеткавы дазвол абранаму кліенту і стаўцеся да кожнага дадатковага запыту як да асобнага рашэння. Адмоўце тым, што не маюць адпаведнай функцыі, потым паглядзіце, што зламалася. Кліент маршрутызацыі, які збаўляе пры адмове ў доступе да кантактаў, ніколі не прасіў кантакты ад вашага імя.
Адкліканне аднаго дазволу звычайна адключае адну функцыю без выдалення праграмы і без разбурэння кожнага профілю. Пасля гэтага падключыцеся зноў і пераканайцеся, што тунель усё яшчэ ўсталёўваецца.
Аддзяліце два пытанні, якія запыт схільны зліваць: што гэтая праграма можа рабіць на прыладзе і што яе аператар робіць з трафікам пасля ўзняцця тунеля. На першае адказ тут. Другое патрабуе палітыкі захавання, і ніякі дыялог яе не дае.