Instalator prosi o dostęp do sieci, a następnie o kontakty, ułatwienia dostępu i instalację certyfikatu. Tylko pierwsza prośba należy do zadania. Drugi ekran to miejsce, w którym zapada rzeczywista decyzja.

Oceniaj każdą prośbę względem funkcji, którą wybrałeś, na platformie, której używasz. Żadna uniwersalna lista uprawnień nie obejmuje każdego produktu VPN, a długa lista sama w sobie niczego nie dowodzi.

Jedno uprawnienie, którego to zadanie naprawdę potrzebuje

Android prosi użytkownika o zatwierdzenie usługi VPN w oknie systemowym, zanim zacznie się jakikolwiek tunel, a usługa aplikacji deklaruje BIND_VPN_SERVICE, aby system mógł się do niej przywiązać. Operacyjnie aplikacja wykonuje pracę routingu. Zgodę wyraża osoba trzymająca urządzenie, w oknie, które nazywa aplikację, a późniejsze jej wycofanie jest obsługiwanym działaniem.

Platformy Apple wyrażają tę samą ideę przez rozszerzenie sieciowe plus zatwierdzenie instalacji, a nie przez ekran uprawnień. Windows używa sterownika wirtualnego adaptera i monitu o podniesienie uprawnień. Dwa kształty, jedno znaczenie: ten program może obsługiwać pakiety. Nic w tym upoważnieniu nie obejmuje czytania książki adresowej ani wydania sobie certyfikatu urzędu certyfikacji.

Dodatkowy dostęp to odrębne uprawnienie o odrębnych skutkach. Klient routingu, który go chce, potrzebuje własnego uzasadnienia.

Gdzie dodatkowe prośby potrzebują własnej historii

Usługa ułatwień dostępu może czytać zawartość ekranu i działać w Twoim imieniu, co wykracza daleko poza routing. Administracja urządzeniem może egzekwować zasady blokady i usuwać dane. Certyfikat główny zainstalowany przez użytkownika pozwala temu, kto ma pasujący klucz, czytać ruch, który TLS chroniłby w innym razie.

Każde z nich może być uzasadnione. Produkty do zarządzanych urządzeń i kontroli rodzicielskiej mogą potrzebować uprawnień polityki, a narzędzie wsparcia może potrzebować ułatwień dostępu, aby przeprowadzić Cię przez ustawienia.

Wymogiem jest identyfikowalność: prośba wskazuje nazwaną funkcję, a ta funkcja jest widoczna w produkcie, który zainstalowałeś. Prośba o kontakty bez ekranu zwróconego ku kontaktom nie ma nic do wyjaśnienia. Argument o szyfrowaniu też nie przechodzi, bo ochrona pakietów nie mówi nic o tym, kim są Twoi znajomi. Uzasadniony produkt nadal może prosić o zbyt wiele przez dołączoną bibliotekę, a to jest wadą do zgłoszenia, nie przestępstwem do zawiadomienia.

Zapisz prośbę i funkcję, do której prowadzi, a potem zdecyduj. Ta notatka to także to, co pokazujesz wsparciu, gdy funkcja przestaje działać po odmowie.

Czytanie prośby na urządzeniu

Wpis w sklepie opisuje intencję, a zainstalowany pakiet opisuje rzeczywistość. Zapytaj menedżera pakietów, co zadeklarowano i co przyznano, zanim zatwierdzisz cokolwiek innego. Ta para ma największe znaczenie, gdy wpis i manifest się nie zgadzają.

Dwa zapytania obejmują większość z tego:

adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30
adb shell cmd appops get com.example.vpn

Pierwsze wymienia zadeklarowane uprawnienia wobec przyznanych, i to jest porównanie, które ujawnia zbyt szeroki manifest. Drugie pokazuje app-ops w czasie działania, w tym specjalne dostępy, które nigdy nie pojawiają się jako zwykłe uprawnienia. Gdzie narzędzia deweloperskie są niedostępne, odczytaj te same fakty z ekranów ustawień platformy.

Te ekrany zajmują minutę i nie wymagają oprogramowania. Ułatwienia dostępu, administracja urządzeniem i magazyn certyfikatów każdy z osobna wymienia aplikacje, które mają uprawnienie.

Decyzja, a potem ograniczenie szkód

Przyznaj upoważnienie sieciowe wybranemu klientowi, a każdą dodatkową prośbę traktuj jako własną decyzję. Odrzuć te bez pasującej funkcji, a potem zobacz, co się psuje. Klient routingu, który zawodzi, gdy odmówiono mu dostępu do kontaktów, nigdy nie prosił o kontakty w Twoim imieniu.

Wycofanie jednego uprawnienia zwykle wyłącza jedną funkcję bez odinstalowywania aplikacji czy rozbierania każdego profilu. Połącz się ponownie i potwierdź, że tunel nadal się nawiązuje.

Oddziel dwa pytania, które okno zwykle łączy: co ten program może robić na urządzeniu i co jego operator robi z ruchem, gdy tunel jest już podniesiony. Na pierwsze odpowiada się tutaj. Drugie wymaga zasady przechowywania, a żadne okno jej nie dostarcza.

Powiązane artykuły