Wszystko na temat uprawnień aplikacji dla systemu Android

Aktualizacja, 10 października 2018 r.: Firma Google zmieniła ustawienia uprawnień aplikacji w systemie Android Oreo: została dodana nowa grupa o nazwie „Specjalny dostęp do aplikacji”. Więcej informacji na ten temat

Aktualizacja, 10 października 2018 r.: Firma Google zmieniła ustawienia uprawnień aplikacji w systemie Android Oreo: została dodana nowa grupa o nazwie „Specjalny dostęp do aplikacji”. Więcej informacji na ten temat znajduje się w poście „Uprawnienia aplikacji w systemie Android 8: kompleksowy poradnik„.

Jeśli chodzi o szkodliwe programy, Android posiada bardzo dobry mechanizm zabezpieczający — system nadawania uprawnień aplikacjom. Definiuje on działania, które aplikacja może wykonywać (lub które są dla niej zabronione). Domyślnie wszystkie aplikacje dla systemu Android działają w piaskownicy — środowisku wyizolowanym. Jeśli chcą uzyskać dostęp do danych znajdujących się poza piaskownicą, zmienić je lub usunąć, muszą uzyskać na to zgodę systemu.

Uprawnienia dzielą się na kilka kategorii, ale ja omówię tylko dwie z nich: normalne i niebezpieczne. Do uprawnień normalnych należy na przykład dostęp do internetu, tworzenie ikony, połączenie poprzez Bluetooth itp. Są one nadawane domyślnie i nie wymagają zgody użytkownika.

Jeśli aplikacja wymaga uprawnienia „niebezpiecznego”, wymagana jest zgoda użytkownika. Dlaczego niektóre uprawnienia są uważane za niebezpieczne? W jakich przypadkach można na nie zezwolić?

Niebezpieczne uprawnienia

W kategorii „niebezpieczne” znajduje się dziewięć grup uprawnień. Aplikacje, które ich żądają, w jakiś sposób wpływają na prywatność lub bezpieczeństwo użytkownika. W każdej grupie znajdują się takie uprawnienia, których może żądać dana aplikacja.

Jeśli użytkownik zatwierdzi jakieś uprawnienie, aplikacja uzyskuje wszystkie uprawnienia z tej samej grupy automatycznie, bez dodatkowego potwierdzenia. Na przykład jeśli aplikacja uzyskuje zgodę na odczyt wiadomości SMS, będzie mogła także wysyłać wiadomości SMS, odczytywać MMS-y i wykonywać inne działania zaliczające się do tej grupy.

Kalendarz

Możliwości:

  • Odczytywanie wydarzeń przechowywanych w kalendarzu (READ_CALENDAR).
  • Edytowanie starszych wydarzeń i tworzenie nowych (WRITE_CALENDAR).

Zagrożenia: Jeśli aktywnie korzystasz z kalendarza, aplikacja pozna Twoją codzienną rutynę i może te informacje udostępnić przestępcom. Ponadto dziurawa aplikacja może przypadkowo wymazać z kalendarza ważne spotkania.

Aparat

Możliwości:

  • Dostęp do aparatu (CAMERA) umożliwia aplikacji wykorzystywanie telefonu w celu wykonywania zdjęć i nagrywania filmów.

Zagrożenia: Aplikacja może potajemnie nagrywać filmy lub wykonywać zdjęcia w dowolnym momencie.

Kontakty

Możliwości:

  • Odczytywanie kontaktów (READ_CONTACTS).
  • Edycja kontaktów lub dodawanie nowych (WRITE_CONTACTS).
  • Dostęp do listy kont (GET_ACCOUNTS).

Zagrożenia: Aplikacja może uzyskiwać dostęp do książki adresowej. Dane te są bardzo atrakcyjnym łupem dla spammerów i oszustów. Uprawnienie to umożliwia także dostęp do listy wszystkich kont, z których korzystasz na danym urządzeniu — Google, Facebook, Instagram itp.

Lokalizacja

Możliwości:

  • Dostęp do przybliżonej lokalizacji (ACCESS_COARSE_LOCATION), dostarczonej na podstawie danych ze stacji komórkowych i hotspotów Wi-Fi.
  • Dostęp do dokładnej lokalizacji (ACCESS_FINE_LOCATION) dostarczonej na podstawie danych GPS.

Zagrożenia: Aplikacja wie, gdzie jesteś, przez cały czas. Może na przykład dać znać włamywaczom, gdy nie ma Cię w domu.

Mikrofon

Możliwości:

  • Nagrywanie dźwięku z mikrofonu (RECORD_AUDIO).

Zagrożenia: Aplikacja może nagrywać wszystko, co dzieje się w pobliżu telefonu. Wszystkie rozmowy. Nie tylko wtedy, gdy rozmawiasz przez telefon, ale przez cały dzień.

Telefon

Możliwości:

  • Odczytywanie informacji na temat telefonu (READ_PHONE_STATE) umożliwia aplikacji poznanie numeru telefonu, aktualnej sieci komórkowej, stan bieżących połączeń itp.
  • Wykonywanie połączeń (CALL_PHONE).
  • Odczytywanie listy połączeń (READ_CALL_LOG).
  • Zmiana listy połączeń (WRITE_CALL_LOG).
  • Dodawanie skrzynki głosowej (ADD_VOICEMAIL).
  • Używanie VoIP (USE_SIP).
  • Przetwarzanie uprawnień połączeń wychodzących (PROCESS_OUTGOING_CALLS) daje aplikacji dostęp do informacji, kto dzwoni, umożliwia jej zawieszenie telefonu lub przekierowanie go na inny numer.

Zagrożenia: Gdy nadajesz uprawnienia związane z telefonem, zezwalasz aplikacji na wykonanie niemal dowolnego działania powiązanego z komunikacją głosową. Aplikacja będzie wiedzieć, kiedy i do kogo dzwonisz — a także może zadzwonić wszędzie, w tym na numery płatne, na Twój koszt.

Czujniki ciała

Możliwości:

  • (BODY_SENSORS) — uprawnienia te zapewniają dostęp do danych związanych ze zdrowiem gromadzonych przez pewne czujniki, takie jak czujnik tętna.

Zagrożenia: Jeśli korzystasz z akcesoriów wyposażonych w czujniki ciała (nie z wbudowanych w telefon czujników ruchu), aplikacja otrzymuje dane o tym, co się dzieje z Twoim ciałem.

SMS

Możliwości:

  • Wysyłanie wiadomości SMS (SEND_SMS).
  • Odczytywanie zapisanych wiadomości SMS (READ_SMS).
  • Odbieranie wiadomości SMS (RECEIVE_SMS).
  • Odbieranie wiadomości WAP Push (RECEIVE_WAP_PUSH).
  • Odbieranie przychodzących wiadomości MMS (RECEIVE_MMS).

Zagrożenia: Umożliwia aplikacji odbieranie i odczytywanie przychodzących SMS-ów oraz wysyłanie ich (oczywiście na Twój koszt). Na przykład przestępcy mogą wykorzystać to uprawnienie, aby zapisać ofiarę do niechcianych serwisów płatnych.

Pamięć

Możliwości:

  • Odczytywanie karty SD lub innej pamięci (READ_EXTERNAL_STORAGE).
  • Zapisywanie rekordów w pamięci lub na karcie SD (WRITE_EXTERNAL_STORAGE).

Zagrożenia: Aplikacja może odczytywać, zmieniać lub usuwać dowolne pliki przechowywane na telefonie.

Jak skonfigurować uprawnienia aplikacji

Jeśli uprawnienia, jakich żąda aplikacja, wydają Ci się podejrzane, nie instaluj jej — a przynajmniej nie zgadzaj się na nie.

Nad każdym nadawanym uprawnieniem należy się dokładnie zastanowić. Na przykład jeśli jakaś gra lub narzędzie do edycji zdjęć chce uzyskać dostęp do bieżącej lokalizacji, nie jest to typowe. Tymczasem mapy i nawigacje rzeczywiście potrzebują danych GPS — ale nie dostępu do listy kontaktów czy SMS-ów.

W systemie Android 6 i nowszym aplikacje pytają użytkowników o zgodę za każdym razem, gdy wymagają jednego z niebezpiecznych uprawnień. Jeśli nie chcesz ich nadawać, zawsze możesz odrzucić żądanie. Oczywiście jeśli aplikacja naprawdę ich potrzebuje, wyświetli komunikat o błędzie i nie będzie działać poprawnie.

Aplikacja żąda odpowiednich uprawnień, aby móc wykonywać i zarządzać połączeniami telefonicznymi

Możesz także sprawdzić listę uprawnień i zmienić je dla dowolnej aplikacji. W tym celu wybierz Ustawienia → Aplikacje (w zależności od wersji Androida te i kolejne elementy menu mogą mieć różne nazwy).

Teraz masz do wyboru dwie drogi. Możesz sprawdzić wszystkie uprawnienia przyznane danej aplikacji. W tym celu kliknij nazwę aplikacji i wybierz Uprawnienia.

Innym sposobem jest przejrzenie listy wszystkich aplikacji, które już żądały lub mogą żądać jednego z niebezpiecznych uprawnień. Na przykład dobrym pomysłem jest sprawdzenie, które aplikacje chcą mieć dostęp do listy kontaktów, i cofnięcie uprawnienia w przypadku wątpliwości. W tym celu kliknij opcję Skonfiguruj aplikacje (ikona koła zębatego w prawym górnym rogu) i wybierz Uprawnienia aplikacji.

Uprawnienia specjalne

Oprócz niebezpiecznych pozwoleń aplikacja może także żądać uprawnień specjalnych. W takim przypadku zachowaj ostrożność: tak postępują często trojany.

Dostępność

Uprawnienie to upraszcza pracę z aplikacjami i urządzeniami osobom posiadającym problemy ze wzrokiem i słuchem. Funkcji tych może nadużywać szkodliwe oprogramowanie.

Po uzyskaniu takich uprawnień dostępu trojany mogą przechwytywać dane z aplikacji (w tym wprowadzanie tekstu — głównie hasła). Poza tym szkodliwe programy mogą kupować aplikacje w Sklepie Google Play.

Domyślne aplikacje do komunikowania

Trojany bankowe chcą być domyślnymi aplikacjami SMS, ponieważ w ten sposób mogą odczytywać wiadomości SMS i ukrywać je — nawet w nowszych wersjach Androida. Na przykład trojany mogą używać tej funkcji do przechwytywania haseł przesyłanych przez banki w wiadomościach SMS i potwierdzać szkodliwe transakcje bez wiedzy użytkownika (pamiętaj, że mogą ukrywać SMS-y).

Zawsze na wierzchu

Uprawnienie nakładania okien na inne aplikacje umożliwia trojanom wyświetlanie okien phishingowych na oryginalnych aplikacjach (zwykle dotyczy to aplikacji bankowości mobilnej lub sieci społecznościowych). Ofiara myśli, że wprowadza swoje hasło w formularzu prawdziwej aplikacji, lecz w rzeczywistości wszystko dzieje się w fałszywym oknie wyświetlanym przez trojana, a wrażliwe dane wędrują do przestępców.

Uprawnienia administratora urządzenia

Uprawnienia te umożliwiają użytkownikom zmianę hasła, zablokowanie aparatu lub wymazanie wszystkich danych z urządzenia. Szkodliwe aplikacje często próbują uzyskać takie uprawnienia, ponieważ trudno jest je wtedy odinstalować.

Uprawnienia root

Są to najbardziej niebezpieczne uprawnienia. Domyślnie system Android nigdy nie nadaje ich aplikacjom, lecz niektóre trojany mogą wykorzystywać luki w systemie, aby je zdobyć. Wtedy wszystkie pozostałe zabezpieczenia stają się bezużyteczne — szkodliwy program może użyć uprawnień root do wykonania wszystkiego, bez względu na to, jakie uprawnienia zostały przez ofiarę przypisane lub odrzucone.

Warto wspomnieć, że nawet nowy system uprawnień (w systemie Android 6) nie chroni w pełni przed szkodliwymi programami. Na przykład trojan Gugi wielokrotnie infekuje ofiary, wielokrotnie żądając (aż do skutku) uprawnienia nakładania swojej wersji interfejsu. Ostatecznie malware nakłada się na wszystkie inne aplikacje, dopóki nie otrzyma żądanych uprawnień.

Wnioski

Aplikacje nie powinny robić wszystkiego, co tylko chcą na Twoim telefonie — zwłaszcza jeśli bez powodu chcą uprawnień z kategorii niebezpiecznych.

Istnieją jednak aplikacje, które naprawdę potrzebują wiele uprawnień. Na przykład programy antywirusowe skanujące system i chronią go proaktywnie przed zagrożeniami.

Zanim nadasz pewne uprawnienia, zastanów się, czy aplikacja naprawdę ich potrzebuje. Jeśli nie masz pewności, poszukaj tych informacji w internecie.

Na koniec muszę dodać, że nawet najbardziej czujny użytkownik nie jest chroniony przed malware wykorzystującym luki systemowe. To dlatego tak ważne jest właściwe zarządzanie uprawnieniami aplikacji (pomaga chronić prywatność przed aplikacjami szpiegującymi) oraz zainstalowanie solidnego produktu zabezpieczającego (który ochroni urządzenie przed nawet najbardziej niebezpiecznymi trojanami i wirusami).

Aktualizacja, 10 października 2018 r.: Firma Google zmieniła ustawienia uprawnień aplikacji w systemie Android Oreo: została dodana nowa grupa o nazwie „Specjalny dostęp do aplikacji”. Więcej informacji na ten temat znajduje się w poście „Uprawnienia aplikacji w systemie Android 8: kompleksowy poradnik„.

Porady