Jakie jest Google Play, wie każdy – dowolny deweloper może wrzucać tam swoje aplikacje, które nie są wieloetapowo sprawdzane pod kątem bezpieczeństwa. Wiele niszowych rozwiązań posiada niewiele opinii – wtedy samodzielne określenie bezpieczeństwa tego, co pobieramy staje się niemal niemożliwe. Z pomocą przychodzi ekipa z Mountain View, która pracuje nad automatyczną analizą uprawnień wymaganych przez aplikacje.
Z podejściem użytkowników do uprawnień wymaganych przez aplikacje pobrane z Google Play bywa różnie. Są tacy, którzy wręcz bezmyślnie zgadzają się na wszystko, a inni są na tyle przeczuleni, że na wszelki wypadek nie chcą przyznać zgody na korzystanie z aparatu aplikacji służącej do robienia zdjęć. Trudno powiedzieć, które podejście jest gorsze – z jednej strony zdarza się, że aplikacje wymagają pozornie niepotrzebnych uprawnień, bez których rzeczywiście nie funkcjonują prawidłowo.
Na przykład notatnik wymagający dostępu do aparatu, mikrofonu oraz możliwości wysyłania wiadomości wygląda podejrzanie. Ale przecież notatkę można wysłać SMS-em, a chętni mogą do niej dodać zdjęcia i nagrania głosowe, prawda? Sami widzicie, że sprawa jest bardzo zawiła ;)
Programiści z Google postanowili podjąć się wyzwania, jakim jest odnalezienie i blokowanie zbyt ciekawskich aplikacji. Z pomocą ma przyjść – uwielbiany w tym roku przez giganta z Mountain View – machine learning.
Pomysł polega na tym, że aplikacje zostaną pogrupowane w functional peers, co można przetłumaczyć jako funkcjonalne odpowiedniki. Łatwo się domyślić, że wszystkie notatniki zostaną skorelowane ze sobą, zaś do osobnej, wirtualnej szuflady trafią aplikacje aparatu. Od tego momentu sprawa jest pozornie banalna – wystarczy porównać jakie są różnice w uprawnieniach między aplikacjami o podobnych cechach i funkcjonalności, aby dosyć łatwo wyłonić zbędne wymagania programistów.
Wszystko brzmi nieźle, pytanie jak się będzie miało do praktyki
Na początku bardzo ucieszyłem się z samego pomysłu, bo choć sam kontroluję uprawnienia, o jakie na bieżąco proszą mnie aplikacje, tak nie wszyscy zwracają na to uwagę – a jeśli mają starszego Androida, to zarządzanie nimi nie jest podane na tacy. Pojawia się jednak jeden, ogromny wręcz problem – „sztywność” rozwiązania.
Załóżmy, że w Google Play jest dziesięć tysięcy aplikacji gromadzących tapety. Wystarczy, że jedna z nich ma jakąś oryginalną funkcję – niech będzie przewijanie przybliżonej grafiki za pomocą przechylania telefonem. Z tego powodu potrzebuje ona zgody na dostęp do czujników, a sama funkcja przyjęła się w Google Play bardzo dobrze. Po czym Wielki Brat blokuje dewelopera, gdyż jest podejrzany o wyłudzanie danych – kto to widział, żyroskop i akcelerometr przy aplikacji z tapetami! Swoją drogą, o tym, jakie niebezpieczeństwo może płynąć z przyznawania uprawnień do żyroskopu rozmawiałem z Adrianem w czternastym hehTechu.
Zgodzę się, że wymyślony przeze mnie przykład jest dosyć absurdalny, ale takie sytuacje mogą się przecież zdarzyć – jeszcze nie każda aplikacja na świecie została wymyślona i różne pomysły krążą po głowach programistów. Przed Google stoi naprawdę trudne zadanie – machine learning musi zostać poprowadzony tak, aby system nie był zbyt czujny, ale nie przymykał też oka na odstępstwa od normy. Trzymam kciuki!
źródło: Android Authority
grafika: Pixabay, Android Developers