Sześciu ekspertów z różnych uniwersytetów w pracy pt. „50 Ways to Leak Your Data: An Exploration of Apps’ Circumvention of the Android Permissions System” pokazali, że aplikacje pobrane z Google Play mogą, pomimo braku przyznanych uprawnień, ominąć zabezpieczenia i uzyskać dostęp do danych bez zgody użytkownika, używając ataków typu covert channels i side channels. W wyniku ataków system uprawnień pozwala aplikacjom uzyskać dostęp do chronionych danych i zasobów systemowych, a także komunikować się dwóm różnym aplikacjom — jedna aplikacja może udostępniać dane drugiej, która ma inne uprawnienia. Oba rodzaje ataków są nadużywane przez twórców oprogramowania umieszczanego w Google Play i mogą stanowić duże zagrożenie dla prywatności użytkownika.
System uprawnień w Androidzie
System uprawnień Androida opiera się na zasadzie — „jak najmniej”. Oznacza to, że oprogramowanie powinno posiadać takie i tylko takie uprawnienia, które są niezbędne do działania. Rozpatrując to na przykładzie szkodliwego oprogramowania, wprowadzone do systemu złośliwe modyfikacje będą minimalne, bo ograniczone do zaakceptowanych uprawnień. Programiści kompilując aplikację, muszą wcześniej określić, jakich uprawnień potrzebuje aplikacja, a użytkownik musi mieć możliwość przejrzenia żądanych uprawnień przy instalacji.
Niestety Android nie ocenia, czy wymagane uprawnienia są absolutnie konieczne do działania, dlatego twórcy szkodliwego oprogramowania mogą żądać więcej uprawnień niż faktycznie potrzebuje aplikacja. Na samym końcu tego łańcucha jest użytkownik, który musi ocenić, czy przyznawane pozwolenia są uzasadnione.
Eksperci dokonali inżynierii wstecznej analizowanych aplikacji i bibliotek SDK. Odkryli szereg nieprawidłowości i nadużyć w postaci ataków typu covert channels i side channels. Na przykład aplikacja A, która uzyskała dostęp do IMEI telefonu i jednocześnie aplikacja B, która nie ma takich uprawnień, udostępniała te dane do aplikacji B za pośrednictwem odpowiednich interfejsów API Androida.
Aplikacje mogą również komunikować się za pomocą zewnętrznego serwera sieciowego w celu wymiany informacji, jeżeli ataki side channel i covert channel nie zadziałają lokalnie.
Badacze zgłosili swoje odkrycia do Google, za co otrzymali wynagrodzenie. Wnioski opisywane w raporcie z przeanalizowanych ponad 88 tysięcy aplikacji metodami statycznymi i dynamicznymi są następujące:
- Znaleziono mnóstwo oprogramowania w Google Play, które próbuje identyfikować użytkownika np. uzyskując dane o adresie MAC oraz podłączonych sieciach Wi-Fi. Znaleziono łącznie 42 aplikacje wykorzystujące luki do uzyskania danych oraz ponad 12 tysięcy aplikacji z odpowiednim kodem, który umożliwia takie ataki.
- Odkryto, że biblioteki firm chińskich np. Baidu i Salmonads wykorzystują kartę SD (dostęp przyznany do zapisu danych na karcie) do ataku side channels, aby zapisywać przechwycone numery IMEI.
- Znaleziono też aplikację, która używała metadanych obrazu jako pomocnika do lokalizowania użytkownika.
Cała prezentacja dostępna jest pod adresem: https://www.usenix.org/conference/usenixsecurity19/presentation/reardon
Jeden z ekspertów zaprezentował odkrycia całej grupy na konferencji „USENIX Security ’19”. Obejrzeliśmy całe wystąpienie Joela Reardona. Linkujemy do ważnych fragmentów:
- https://youtu.be/twf-sgWp5bs?t=602
- https://youtu.be/twf-sgWp5bs?t=717
- https://youtu.be/twf-sgWp5bs?t=812
Czy ten artykuł był pomocny?
Oceniono: 0 razy