Android na celowniku twórców złośliwego oprogramowania, a uprawnienia aplikacji
Przed instalacją każdej aplikacji na Androida prezentowana jest lista wymaganych przez nią uprawnień. To kuszące, aby pominąć ten krok i po prostu przejść dalej. Warto jednak oprzeć się pokusie i przeczytać ten wykaz. Pozwoli to przynajmniej częściowo zrozumieć jakich informacji ta aplikacja potrzebuje i uświadomić sobie do jakich funkcji telefonu będzie miała ona dostęp.
Uprawnienia są najlepszym przyjacielem jak i największym wrogiem użytkowników oraz deweloperów Androida. Niektóre z najlepszych aplikacji tworzonych przez renomowanych deweloperów wciąż potrzebują całkiem szerokich uprawnień, aby robić nawet podstawowe rzeczy. Z drugiej strony, kontrowersje wokół złośliwego oprogramowania na Androida (o tym w dalszej części) na pewno sprawiają, że długa lista uprawnień przed instalacją nowej aplikacji to przerażające doświadczenie.
Na celowniku twórców złośliwego oprogramowania
Od kiedy systemy mobilne zagościły na dobre w naszych smartfonach, odnotowuje się coraz bardziej dynamiczny wzrost zagrożeń, jakie czyhają na potencjalnego użytkownika. Jak się okazuje twórcy złośliwego oprogramowania skupiają się głównie na systemie z zielonym ludkiem.
79% spośród wszystkich wykrytych w ubiegłym roku zagrożeń mobilnych powstało z myślą o Androidzie, jak wynika z najnowszego raportu sporządzonego przez specjalistów z F-Secure. Jeszcze w 2010 roku odsetek szkodliwych aplikacji i wirusów, którym celem był najpopularniejszy mobilny system operacyjny wynosił zaledwie 11%, natomiast w 2011 roku już 66%. Lawinowy wzrost zainteresowania twórców oprogramowania malware systemem Google jest efektem rosnącej popularności tej platformy na rynku mobilnym. W ubiegłym roku udziały w rynku Androida wzrosły do 68,8% z 49,2% rok wcześniej.
W raporcie zagrożeń za 2 kwartał 2013 roku McAfee zanotowało ponad 17 000 nowych próbek malwaru na Androida, co oznacza, że już w połowie roku liczba złośliwego kodu prawie osiągnęła poziom z całego 2012 roku. Prognozy mówią co najmniej o podwojeniu tej liczby na koniec 2013 roku.
Natomiast raport bezpieczeństwa firmy Symantec na sierpień 2013 wymienia 6 typów złośliwego oprogramowania, które najbardziej dają się we znaki użytkownikom technologii mobilnych, a w szczególności smartfonów i tabletów:
- Śledzenie użytkowników - zbieranie wiadomości SMS i wybieranych numerów telefonu, śledzenie lokalizacji za pośrednictwem GPS, nagrywanie rozmów telefonicznych czy przechwytywanie zdjęć i filmów nagrywanych zainfekowanym urządzeniem.
- Kolekcjonowanie informacji - dane zbierane o urządzeniu, jego konfiguracji jak i dane wrażliwe dla użytkownika, np. dane bankowe.
- Tradycyjne zagrożenia - backdoory, pobieranie płatnych treści itp.
- Zmiana ustawień - podnoszenie sobie uprawnień czy modyfikowanie ustawień systemu operacyjnego.
- Niechciane reklamy - wyświetlanie reklam, które mogą wykonywać niepożądane akcje lub rozpraszać i denerwować użytkownika.
- Wysyłanie treści - wysyłanie wiadomości tekstowych na numery usług SMS PREMIUM, wysyłanie spamu.
Wraz z popularnością Androida bank aplikacji Google Play stał się popularnym kanałem dystrybucji złośliwego oprogramowania. Instalując aplikacje użytkownicy sami zezwalają na dostęp do funkcji urządzenia czy szeroko rozumianych danych osobowych, a one są bardzo łakomym kąskiem.
Aplikacje na Androida - po co wam tyle uprawnień?
Pierwszą rzeczą jaką należy zrobić to uświadomić sobie co te wszystkie uprawnienia, na które zgadzamy się przy instalacji, właściwie znaczą. Niektóre aplikacje proszą o ich ogromne ilości (tylko do prawidłowego działania, np. Facebook, Google+, Gmail, itp.), podczas gdy inne proszą o stosunkowo niewiele swobody.
Ostatecznie mniej ważne jest, aby zrozumieć CO oznacza każdy rodzaj uprawnienia, ale DLACZEGO aplikacja żąda go podczas instalacji lub aktualizacji. Zawsze należy przeczytać listę uprawnień i spróbować skorelować je z funkcjami aplikacji. Jeśli można racjonalnie powiązać uprawnienie z funkcjonalnością (np. aplikacja SMS, która musi czytać wiadomości SMS, czy klient poczty musi mieć dostęp do internetu, żeby pobierać wiadomości), to nie ma się czym martwić. Spójrzmy prawdzie w oczy. W większości przypadków, aplikacja prosi o uprawnienia dlatego, że potrzebuje ich do pracy.
Jedynym wyjątkiem od tej reguły są aplikacje, które wymagają uprawnień roota. Po zrootowaniu przyznajemy sobie najwyższy poziom dostępu do wewnętrznych mechanizmów systemu operacyjnego telefonu. Gdy aplikacja wnioskuje o dostęp do uprawnień administratora, należy poważnie zastanowić się nad tym, czy aplikacja ich rzeczywiście potrzebuje. Aplikacje takie jak ROM Manager i Titanium Backup potrzebują roota, ponieważ wykonują one zadania na poziomie systemu operacyjnego w telefonie. Jeśli jednak aplikacja zegar prosi o root, to przed kliknięciem "zainstaluj" trzeba upewnić się i zrozumieć dlaczego ona tego potrzebuje. Jeśli nie ma pewności, nie należy wyrażać zgody.
Uwaga na bezpodstawne kombinacje uprawnień
Niestety wszystkie uprawnienia są z natury niebezpieczne. Jednak większość z nich pojedynczo jest dość nieszkodliwa. Nawet samo uprawnienie do połączenia internetowego nie może wiele zrobić - w większości aplikacji jest ono potrzebne do wyświetlania reklam.
To na co trzeba naprawdę uważać, to aplikacje, które łączą różne uprawnienia i tworzą z nich niebezpieczne kombinacje. Na przykład, jeśli przeglądarka plików wymaga uprawnień do przeglądania pamięci oraz dostępu do połączenia internetowego w celu wyświetlania reklam - nie ma sposobu, aby zapobiec zbieraniu danych z systemu plików (w tym np. zdjęć) i wysyłaniu ich do Internetu. Nawet aplikacje, które wydają się mieć uzasadnienie dla posiadania wielu uprawnień mogą być niebezpieczne.
W Androidzie istnieje co najmniej 7 potencjalnie niebezpiecznych uprawnień, które w połączeniu z innymi mogą skutkować naruszeniem bezpieczeństwa naszych danych.
- 1. Dostęp do uwierzytelniania kont - mogą zostać wykradzione hasła.
- 2. Czytanie danych wrażliwych - czytanie wrażliwych logów czy zestawień systemowych czasami zawierających dane logowania jak login i hasło.
- 3. Czytanie kontaktów - zdobywanie bazy telefonów, maili czy podszywanie się pod użytkownika zainfekowanego telefonu używając danych z książki telefonicznej.
- 4. Zapisywanie ustawień systemu - daje dostęp do odczytu i zapisu ustawień systemowych, co np. w przypadku włączenia transmisji danych może nas narazić na koszty.
- 5. Analiza połączeń wychodzących - monitorowanie połączeń wychodzących, numerów telefonów czy szczegółów połączenia.
- 6. Wysyłanie SMS - wysyłanie wiadomości tekstowych i MMS na numery SMS Premium czy zapisywanie na płatne subskrypcje.
- 7. Czytanie danych społecznościowych - dostęp do danych przesyłanych przez Facebooka czy Twittera.
Chcesz uprawnienia? - Sprawdzam.
Łatwo jest się przestraszyć widząc o jak wiele informacji proszą aplikacje. Dlatego nawet w stosunku do aplikacji z zaufanych źródeł należy zadać sobie kilka pytań:
- Czy to aplikacja od zaufanego dewelopera? (Czy wygląda ona na złośliwe oprogramowanie?)
- Czy rozumiem dlaczego ta aplikacja potrzebuje tych uprawnień?
- Czy deweloper mi wytłumaczył dlaczego jego aplikacja potrzebują tych uprawnień? (Czy są one wymienione w Google Play, wraz z uzasadnieniem dla każdego z osobna? Często zdarza się, że są.)
Jeśli odpowiedź na te trzy pytania brzmi: tak, nie ma się czego obawiać. Jeśli natomiast zacznie pojawiać się odpowiedź: nie, należy zastanowić się, czy naprawdę ta aplikacja jest potrzebna. Nawet aplikacja od zaufanych deweloperów może zbierać wiele danych. Może to być w celach reklamowych i marketingowych lub dlatego, że ktoś z programistów coś zepsuł. Jeśli deweloper nie jest znany oraz nie wyjaśnia on, dlaczego aplikacja potrzebuje tylu uprawnień, należy trzymać się od niej daleka. Wyjątkiem jest sytuacja, w której rozumiemy zagrożenie i mamy pewność, że uprawnienia są konieczne dla tego rodzaju aplikacji.
Patrzenie na aplikację, który wymaga wielu uprawnień może być przerażające, ale przed wyciąganiem pochopnych wniosków na jej temat należy przejrzeć jej kartę w Google Play. Jak wspomniano powyżej, jeśli deweloper tłumaczy dlaczego każda zgoda jest wymagana dla poprawnego funkcjonowania jego aplikacji, nie ma się o co martwić. W przypadku jeśli uważamy, że aplikacja robi coś innego, za kulisami i w ukryciu, to zapewne ludzie będą o tym pisać w opiniach na jej temat.
Przeczytanie opisu aplikacji w Google Play może okazać się bardzo pomocne. Coraz więcej deweloperów wymienia uprawnienia na dole listy funkcji. Robią to częściowo w celu zwalczania paranoi oraz dlatego, żeby było jasne jakie dane ich aplikacja potrzebuje od użytkownika. Nawet jeżeli nie zostanie ta informacja umieszczona w Google Play to bardzo często można znaleźć ją na stronie internetowej dewelopera. Większość aplikacji w Google Play posiada link "Odwiedź witrynę programisty" lub "Polityka prywatności". Zawsze można też zwrócić się bezpośrednio do twórców za pomocą poczty e‑mail. Każda aplikacja ma link "Wyślij e‑maila", który można wykorzystać i zapytać dlaczego ich aplikacja wymaga tylu uprawnień i do czego one służą.
Deweloperzy muszą być transparentni w sprawie uprawnień, których żądają. A użytkownicy muszą być ostrożni, jednak nie podchodzić paranoicznie, w stosunku do twórców, którzy nie wiedzą dlaczego ich aplikacja wymaga uprawnień. Stawianie im wyzwań w postaci pytań o szczegóły może przekonać ich do zamieszczenia informacji na karcie aplikacji.
Monitorowanie na własną rękę
W przypadku chęci zainstalowania aplikacji, która ma: wątpliwe uprawnienia; jej uprawnienia są niezrozumiałe dla użytkownika; uważa on, że nie są one niezbędne do jej funkcjonowania; można zastosować specjalistyczne aplikacje. Niektóre z nich zatrzymają uciążliwe aplikacje przed uzyskiwaniem danych, a inne będą po prostu monitorować zainstalowane aplikacje czy nie robią czegoś niepożądanego.
Ukryta funkcja w Android 4.3 pozwala na całkowitą kontrolę nad uprawnieniami aplikacji
Niedawno odkryta funkcjonalność w Androidzie 4.3 pozwala na zarządzanie uprawnieniami każdej aplikacji. Oznacza to, że możemy nieco ograniczyć podejrzane programy. Szczególnie, jeśli nie jesteśmy pewni do czego tak naprawdę niektóre z uprawnień mogą służyć. W celu dotarcia do ukrytej opcji systemu należy zainstalować Permission Manager (w momencie publikacji w Google Play było już więcej dostępnych aplikacji o podobnej funkcjonalności), który ułatwia dostęp do ukrytej jeszcze opcji systemu. Nowa funkcja dostępna jest tylko w systemie Android 4.3+.
Rozwiązania uniwersalne
PermissionDog - analizuje zainstalowane aplikacje i sprawdza ich uprawnienia. Każdą z kategoryzuje ze względu na prawdopodobieństwo nadużycia oznaczając je odpowiednimi kolorami. Może też działać w tle i informować użytkownika o uprawnieniach jakie posiada uruchamiana przez niego aplikacja (gdyby zdążył już zapomnieć co akceptował przy instalacji ;‑).
W większości przypadków do zarządzania uprawnieniami aplikacji w smartfonie (poniżej Android 4.3) potrzebny jest root.
PDroid Privacy Protection (wymaga root) - ma oko na informacje o jakie proszą inne aplikacje i pozwala zezwolić lub zabronić im dostęp. Instalacja wymaga wgrania (flashowanie dla zaawansowanych użytkowników) patcha, który pozwoli na blokowanie aplikacji bez powodowania ich błędnego działania.
LBE Privacy Guard (wymaga root) - działa trochę jak firewall dla systemu Android, powiadamiając użytkownika, gdy aplikacja próbuje uzyskać dostęp do danych i daje możliwość wyboru, aby zezwolić lub odmówić jej.
DroidWall (wymaga root) - front-end dla iptables znanych Linux firewall. Pozwala ograniczać dostęp do internetu zainstalowanym aplikacjom.
Zanim spanikujesz wykonaj rekonesans
Nie ma powodu, żeby panikować i szaleć za każdym razem kiedy znalazło się aplikację, która wymaga dużej liczby uprawnień. W wielu przypadkach problemem może być brak zrozumienia dlaczego aplikacja wymaga uprawnień. Powodem może być jakaś zależność w Androidzie, która twórca musiał spełnić, żeby aplikacja działała prawidłowo. Zanim oskarżysz dewelopera o kradzież danych, sprawdź w Google Play lub poproś go bezpośrednio o informacje. Jeśli to zbyt wiele wysiłku to po prostu nie instaluj aplikacji i znaledź alternatywę, która jest bardziej przejrzysta ze swoimi uprawnieniami.
Niewiedza i niepełne zrozumienie znaczenia uprawnień, o które prosi aplikacja to nie zbrodnia, ale świadome ich ignorowanie to już głupota.