Popularne aplikacje na Androida podatne na atak z pamięci zewnętrznej

Strona główna Aktualności

O autorze

Niektóre aplikacje dla Androida, w tym te ze szczytów rankingów popularności, mogą być podatne na nowy wektor ataku Man-in-the-Disk. Wykorzystując ten scenariusz atakujący zdobędzie możliwość zakończenia pracy aplikacji zainstalowanej na smartfonie i uruchomienia szkodliwego kodu.

Android przechowuje dane na dwa sposoby. Pamięć wewnętrzna (systemowa) zajmują pliki systemu, aplikacje systemowe, sterowniki i dane aplikacji zainstalowanych przez użytkownika. Aplikacje uruchamiane z tej pamięci będą objęte izolowanym środowiskiem, by żadna inna aplikacja nie miała do nich dostępu bez pośrednictwa systemowych API. Jednak wielu programistów uważa, że lepiej nie korzystać z pamięci wewnętrznej, gdyż może to zniechęcać użytkownika do instalowania większych aplikacji. Zamiast tego zapisują część danych w pamięci zewnętrznej, współdzielonej przez różne aplikacje i pliki użytkownika, dzięki czemu nie są one wliczane do całkowitego rozmiaru aplikacji. To podejście aż prosi się o kłopoty. Badacze pokazali nam, że nawet programiści Google'a nie podążają za wytycznymi dotyczącymi bezpieczeństwa Androida i nie wprowadzają bezpiecznych sposobów na korzystanie z pamięci zewnętrznej.

Atak Man-in-the-Disk, wykorzystujący pamięć zewnętrzną smartfonu (External Storage), został odkryty przez zespół Check Point. Jego działanie jest możliwe z dwóch powodów – po pierwsze, dowolna aplikacja może uzyskać dostęp do plików innej aplikacji za pośrednictwem pamięci zewnętrznej. Po drugie dlatego, że niemal każda aplikacja prosi o dostęp do tej pamięci i użytkownicy chętnie im te uprawnienia przydzielają, w przeciwieństwie do prawa do nagrywania dźwięku bądź wysyłania SMS-ów.

Badacze z Check Point przygotowali szkodliwą aplikację, która wyglądała jak „latarka”, uruchamiająca lampę doświetlającą smartfonu. Aplikacja oczywiście prosiła o dostęp do danych w pamięci zewnętrznej i użytkownik musiał jej je nadać, by atak był skuteczny. Jeśli się to udało, można było przeprowadzić dwa typy złośliwych działań – zakończyć pracę innej aplikacji albo podmienić ją na wcześniej przygotowaną, złośliwą wersję.

Pierwszy scenariusz ataku wymagał jedynie umieszczenia źle sformatowanych danych w plikach aplikacji w pamięci zewnętrznej. Zastosowania komercyjne mogą obejmować sabotowanie produktów konkurencji albo do otwarcia drogi exploitom. Jeśli aplikacja, której praca została zakończona z błędem, miała więcej uprawnień niż atakująca aplikacja, możliwe jest podniesienie uprawnień i dostęp do bardziej wrażliwych informacji i funkcji smartfonu.

Drugi scenariusz zakłada wykorzystanie aplikacji atakującej (w tym przypadku latarki) do monitorowania pamięci zewnętrznej w celu wykrycia momentu aktualizowania którejś z zainstalowanych aplikacji. Warto wiedzieć, że wiele z nich przechowuje pliki tymczasowe w pamięci zewnętrznej, nawet jeśli są zainstalowane w pamięci systemowej. Można podmienić te pliki w odpowiednim momencie i oszukać proces instalacji, by podmienić aplikację na taką zawierającą złośliwy kod. Poniżej możecie zobaczyć przykładowy atak na Google Translate.

Odkrywcy luki twierdzą, że podatnych na ten atak jest sporo bardzo popularnych aplikacji, w tym Tłumacz Google (preinstalowany na wielu urządzeniach, łatka już została wydana), wyszukiwarka i tłumacz Yandex oraz przeglądarka Xiaomi (tu łatki nie będzie). Oczywiście znalezienie wszystkich zajęłoby badaczom długie miesiące, podali więc tylko kilka pozycji z listy. Badacze uważają, że dobrze by było zabezpieczyć Androida na poziomie systemu przed tym wektorem ataku, skoro dla programistów weryfikacja wczytywanych danych i kryptograficzne podpisywanie plików to za dużo.

© dobreprogramy