Uprawnienia do aplikacji

Uprawnienia to sposób kontrolowania i regulowania dostępu oprogramowania do określonych funkcji na poziomie systemu i urządzenia . Zazwyczaj rodzaje uprawnień obejmują funkcje, które mogą mieć na prywatność , takie jak możliwość dostępu do funkcji sprzętowych urządzenia (w tym kamery i mikrofonu ) oraz danych osobowych (takich jak pamięć urządzenia, lista kontaktów i aktualna lokalizacja geograficzna użytkownika) ). Uprawnienia są zwykle deklarowane w manifeście aplikacji , a niektóre uprawnienia muszą zostać wyraźnie nadane w czasie wykonywania przez użytkownika — który może je cofnąć w dowolnym momencie.

Systemy uprawnień są powszechne w mobilnych systemach operacyjnych , gdzie uprawnienia wymagane przez określone aplikacje muszą być ujawniane za pośrednictwem sklepu z aplikacjami platformy .

Urządzenia mobilne

W mobilnych systemach operacyjnych dla smartfonów i tabletów typowe rodzaje uprawnień regulują:

Przed Androidem 6.0 „Marshmallow” uprawnienia były przyznawane aplikacjom automatycznie w czasie wykonywania i były prezentowane podczas instalacji w sklepie Google Play . Od Marshmallow niektóre uprawnienia wymagają teraz, aby aplikacja prosiła użytkownika o pozwolenie w czasie wykonywania. Uprawnienia te można również cofnąć w dowolnym momencie za pomocą menu ustawień Androida. Korzystanie z uprawnień na Androidzie jest czasami nadużywane przez twórców aplikacji do zbierania danych osobowych i dostarczania reklam; w szczególności wiadomo, że aplikacje do używania lampy błyskowej aparatu w telefonie jako latarki (które stały się w dużej mierze zbędne ze względu na integrację takiej funkcjonalności na poziomie systemu w nowszych wersjach Androida) wymagają wielu niepotrzebnych uprawnień wykraczających poza to, co jest faktycznie potrzebne do deklarowanej funkcjonalności.

iOS nakłada podobny wymóg, aby uprawnienia były przyznawane w czasie wykonywania, ze szczególnymi kontrolami oferowanymi do włączania Bluetooth, Wi-Fi i śledzenia lokalizacji.

Uprawnienia sieciowe

WebPermissions to system uprawnień dla przeglądarek internetowych . Gdy aplikacja internetowa potrzebuje pewnych danych za zezwoleniem, musi najpierw o nie poprosić. Kiedy to robi, użytkownik widzi okno z prośbą o dokonanie wyboru. Wybór jest pamiętany, ale ostatnio można go wyczyścić.

Obecnie kontrolowane są następujące zasoby:

  • geolokalizacja
  • powiadomienia na pulpicie
  • pracownicy usług
  • czujniki
    • urządzenia przechwytujące dźwięk, takie jak karty dźwiękowe , oraz ich nazwy modeli i charakterystyki
    • urządzenia do przechwytywania wideo, takie jak kamery , oraz ich identyfikatory i charakterystyki

Analiza

Model kontroli dostępu oparty na uprawnieniach przypisuje aplikacji uprawnienia dostępu do określonych obiektów danych. Jest to pochodna modelu uznaniowej kontroli dostępu. Uprawnienia dostępu nadawane są zwykle w kontekście konkretnego użytkownika na określonym urządzeniu. Uprawnienia są przyznawane na stałe z kilkoma automatycznymi ograniczeniami.

W niektórych przypadkach uprawnienia są wdrażane w podejściu „wszystko albo nic”: użytkownik albo musi udzielić wszystkich wymaganych uprawnień, aby uzyskać dostęp do aplikacji, albo nie może uzyskać dostępu do aplikacji. Dla użytkownika pozostaje niewidoczne, gdy uprawnienie jest wykorzystywane przez program lub aplikację w celu uzyskania dostępu do danych chronionych mechanizmem kontroli dostępu uprawnień. Nawet jeśli użytkownik może cofnąć pozwolenie, aplikacja może szantażować użytkownika, odmawiając działania, na przykład zawieszając się lub prosząc użytkownika o ponowne przyznanie uprawnień w celu uzyskania dostępu do aplikacji.

Mechanizm zezwoleń był szeroko krytykowany przez badaczy z kilku powodów, w tym;

  • Nieprzejrzystość pozyskiwania i nadzoru danych osobowych, w tym tworzenie fałszywego poczucia bezpieczeństwa;
  • Zmęczenie użytkowników końcowych mikrozarządzaniem uprawnieniami dostępu, prowadzące do fatalistycznej akceptacji nadzoru i nieprzejrzystości;
  • Masowa ekstrakcja danych i inwigilacja osobista przeprowadzana po przyznaniu pozwoleń.

Istnieją rozwiązania, takie jak XPrivacy, które zamiast zapewniać dostęp do żądanych danych, zamiast zgłaszać wyjątki i zawieszać aplikację, zwracają dezinformację , aby aplikacja działała tak, jakby pozwolenie zostało udzielone. Mockdroid jest kolejnym przykładem tego podejścia. Inne metody zapewniające przejrzystość obejmują podłużne profilowanie behawioralne oraz wieloźródłową analizę prywatności dostępu do danych aplikacji.