Proste aplikacje mobilne - dlaczego potrzebują aż tylu uprawnień?
Jak nie ACTA, to teraz Prism, więc trudno się dziwić człowiekowi, że zaczyna martwić się, nawet zwykłymi aplikacjami na telefon, gdzie przed instalacją proszeni jesteśmy o potwierdzenie - często przesadnych uprawnień dla aplikacji.
Do tego wszystkiego dochodzą informacje na temat błędów w sklepie Google Play, gdzie często pojawiały się programy, które, będąc na danych urządzeniach, były bardzo niebezpieczne (głównie dla naszych portfeli).
Uprawnienia:
Pewnie nie raz spotkaliście się z ogromnymi wymaganiami, dotyczącymi uprawnień. I to nawet - jak mogłoby się wydawać - bardzo prostej aplikacji (można by rzec, że jak przecinak).
Przykładowo w Marketplace wygląda to tak:
Aplikacja wymaga:
- identyfikacji telefonu
- identyfikacji właściciela
- biblioteki zdjęć, muzyki i filmów
- usług dotyczących danych
- czujników ruchu i kierunku
Jednak dlaczego, akurat teraz postanowiłem o tym napisać?
Temat wrócił w momencie, kiedy zacząłem uczyć się podstaw programowania. Nie byłoby w tym nic dziwnego, gdyby nie fakt, że naukę zacząłem właśnie od platform mobilnych - w tym przypadku mowa jest o platformie Windows Phone.
Ponadto, przypomniała mi się pewna rozmowa (którą przypadkowo podsłuchałem), kiedy byłem na praktykach w pewnej firmie - dlaczego zwykła latarka wymaga ode mnie aż tylu uprawnień? W międzyczasie coraz częściej się natykam na podobne tematy, kiedy ciągle ktoś narzeka, że musi coś zaakceptować:
Choć sam niezbyt wiele wiem - chciałbym coś wytłumaczyć w tym temacie (są to podstawowe problemy, które ja napotkałem):
1. Darmowe aplikacje:
Bardzo często tego typu programy wymagają dostępu do sieci - choć w praktyce okazać by się mogło, że przecież jest im to zbyteczne. Jednak... programista chce na czymś zarobić - są to reklamy, które nie wyświetlą się w momencie, kiedy nie ma dostępu do internetu. Prosta zależność. Do tego - często reklamy są dostosowywane do naszego miejsca zamieszkania. No wiadomo - trudno, żebyśmy będąc w Polsce oglądali reklamy ubrań w zagranicznym sklepie - więc już samo to wymaga dostępu do naszej lokalizacji.
2. Problemy z ustawieniami regionalnymi:
Pewnie wiecie, że w naszym kraju tzw. separatorem dziesiętnym jest przecinek, ale znów w wielu krajach jest to kropka - powoduje to problemy w operacjach na liczbach w momencie, kiedy zmienimy ustawienia regionalne telefonu. Wtedy może dojść do zawieszenia aplikacji. Rozwiązaniem jest wczytanie ustawień z telefonu i ustalenie swoich manualnie.
3. Zapisywanie danych:
Jeśli aplikacja ma dodać jakieś wydarzenie do kalendarza, kontaktów. Czy ma wyświetlić informacje o położeniu, a do tego ma być darmowa - to wtedy aplikacje będzie potrzebować naprawdę mnóstwo uprawnień.
Skąd bierze się lista wymaganych uprawnień
Wedle tego, co planuje robić dany programista - ustala się potrzebne uprawnienia co do działania aplikacji. A tak dokładniej, wygląda to tak:
W standardzie zaznaczone jest tutaj wszystko, możemy też wszystko odznaczyć. I właściwie to, co nam się wyświetli przy instalacji aplikacji zależne jest tylko od tego. Ja odznaczyłem wszystko - aplikacja się uruchamia. Pierwsze, co zauważyłem - nawet reklama testowa przestała się wyświetlać - dlatego należy zaznaczyć to z czego będziemy korzystać lub będziemy planować korzystać. Jednak dużo osób obiera inną drogę: zaznacza wszystko, żeby później nie martwić się o brak uprawnień dla tworzonej aplikacji.
Tak więc nie jesteśmy w stanie określić, czy program rzeczywiście korzysta ze wszystkiego czy też nie - dany programista mógł po prostu zostawić te dane bez zmian.
Podsumowanie
Tak więc jaki jest werdykt ? Nie mając kodu źródłowego, nie jesteśmy w stanie określić tego, co robi dana aplikacja w rzeczywistości. A to, co nam się wyświetla to tylko efekt zaznaczenia konkretnych danych w programie np. Visual Studio. Do tego wiele osób, które "produkują" takie proste aplikacje - nie są super programistami, jednak chcąc uniknąć wielu problemów postanawiają zaznaczyć wszystko.
Chcę Wam przekazać, że nie możemy przesadzać z osądami, bo z pewnością, gdyby ktoś chciał nam coś wykraść z telefonu, to by znalazł sposób na ominięcie problemów z opcją akceptacji (pomijając fakt, że to system miał mieć zintegrowane w sobie elementy do szpiegowania - więc o niczym nas nie informował, głupio by to wyglądało ). No raczej trudno sobie wyobrazić, żeby rządy współpracowały z programistami, którzy robią aplikacje bo to tylko ich hobby.
Kolejna sprawa jest taka, że instalując programy ze znanych źródeł - będziemy znacznie rzadziej narażeni na szkody wywołane przez niepożądane działanie aplikacji.
0 komentarzy
Rekomendowane komentarze
Brak komentarzy do wyświetlenia