28/08/2018

Man-in-the-Disk: nowy i niebezpieczny sposób na zhakowanie Androida

Informacje

Android to dobry system operacyjny, którego autorzy naprawdę dbają o kwestie bezpieczeństwa; jednak ze względu na tak wiele jego wersji i aplikacji pilnowanie, aby wszystko było w najlepszym porządku, to dosyć wymagające zadanie. Nic więc dziwnego, że co jakiś czas pojawiają się nowe sposoby obejścia tych wbudowanych mechanizmów zabezpieczających. Najnowsza metoda hakowania Androida nosi nazwę „Man-in-the-Disk” i to właśnie o niej dziś porozmawiamy.

„Piaskownice”, podstawa ochrony w systemie Android

Kluczową zasadą w systemie Android jest odizolowanie od siebie wszystkich aplikacji. Jest to realizowane poprzez użycie tzw. piaskownic. Każda aplikacja, wraz z jej prywatnymi plikami, działa w „piaskownicy”, do której dostępu nie ma żaden inny program.

Ideą tego podejścia jest powstrzymanie szkodliwych aplikacji przed kradzieżą danych przechowywanych przez inne, nieszkodliwe aplikacje — np. nazwy użytkownika i hasła do aplikacji do bankowości internetowej czy historii wiadomości. Jak można się domyśleć, hakerzy ciężko pracują, aby obejść ten mechanizm — dążą do „ucieczki z piaskownicy” (ang. sandbox escape). I od czasu do czasu im się to udaje.

Slava Makawiew opowiedział podczas wydarzenia DEF CON 26 o tym, w jaki sposób aplikacja niestwarzająca jakiegoś szczególnego zagrożenia i nieżądająca żadnych podejrzanych uprawnień może wydostać się z piaskownicy. Metodę tę nazwał „Man-in-the-Disk„, nawiązując do ataków typu Man-in-the-Middle.

Jak działa atak Man-in-the-Disk

Oprócz obszarów piaskownic, w których przechowywane są pliki aplikacji, Android korzysta ze współdzielonej pamięci zewnętrznej. Aby uzyskać do niej dostęp, aplikacja musi poprosić użytkownika o pozwolenie: „Dostęp do zdjęć, mediów i plików na telefonie”. To w rzeczywistości dwie zgody – na odczyt i zapis (READ_EXTERNAL_STORAGE i WRITE_EXTERNAL_STORAGE). W normalnej sytuacji uprawnienia te nie są uważane za niebezpieczne i prosi o nie niemal każda aplikacja, zatem nie ma tu niczego podejrzanego.

Aplikacje używają pamięci zewnętrznej do wielu przydatnych rzeczy, np. do wymiany plików czy przesyłania ich między smartfonem a komputerem. Jednak pamięć ta jest również często używana do tymczasowego przechowywania danych pobranych z internetu: najpierw są one zapisywane we współdzielonej części dysku, a dopiero wówczas przesyłane do izolowanego obszaru, do którego dostęp ma tylko konkretna aplikacja.

Na przykład aplikacja może tymczasowo używać tego obszaru do przechowywania modułów dodatkowych, które ma zamiar zainstalować w celu rozszerzenia swojej funkcjonalności czy dodatkowej zawartości, np. słowników czy aktualizacji. Problem w tym, że każda aplikacja posiadająca możliwość odczytu/zapisu w pamięci zewnętrznej może uzyskać dostęp do tych plików i je zmodyfikować, dodając do nich coś szkodliwego.

Mówiąc w skrócie, możesz instalować aplikację, która wygląda na nieszkodliwą (np. grę), ale ktoś dołączył do niej niepożądane moduły.

Twórcy Androida wiedzą, że korzystanie z pamięci zewnętrznej może być niebezpieczne, a programiści tej platformy Android podają kilka przydatnych porad dla osób tworzących aplikacje.

Niestety zasad tych nie przestrzegają wszyscy producenci aplikacji, a nawet sami pracownicy Google’a czy producenci smartfonów. Sława Makawiew zaprezentował przykłady wykorzystania luk w takich aplikacjach jak tłumacz, program służący do dyktowania głosowego i zamiany tekstu na mową — wszystkie trzy od firmy Google, w aplikacji Yandex.Translate, jak również aplikacji systemowych w telefonie LG i przeglądarce w urządzeniu marki Xiaomi.

Nawiasem mówiąc, badacze z firmy Google odkryli niedawno, że ten sam atak — Man-in-the-Disk — można zastosować w aneroidowej wersji bardzo popularnej gry — Fortnite. Aby pobrać grę, należy zainstalować najpierw aplikację, której zadaniem jest pobranie plików gry. Jak się okazuje, korzystając z ataku Man-in-the-Disk, ktoś może sprawić, aby zainstalowana została szkodliwa aplikacja. Autor gry Fortnite – firma Epic Games – wie o tej luce i wydał już nową wersję instalatora. Zatem jeśli grasz w Fortnite, korzystaj z wersji 2.1.0, która zapewnia większe bezpieczeństwo. Jeśli masz już zainstalowaną tę grę, usuń ją i zainstaluj ponownie jej najnowszą wersję.

Jak zabezpieczyć swoje urządzenie z platformą Android przed atakiem Man-in-the-Disk

Makawiew omówił zaledwie kilka bardzo popularnych aplikacji w celu pokazania problemu, jednak aplikacji podatnych na ten atak jest znacznie więcej.

Jak się zabezpieczyć? Wystarczy pamiętać o kilku zasadach:

  • Aplikacje instaluj wyłącznie z oficjalnych sklepów, np. Google Play. Chociaż zdarza się, że szkodliwe oprogramowanie i tak czasami przedostaje się do nich, są to rzadkie przypadki — i są one od razu usuwane.
  • W ustawieniach smartfona lub tabletu wyłącz możliwość instalacji aplikacji ze źródeł zewnętrznych — z reguły są one dosyć niebezpieczne. W tym celu przejdź do ekranu Ustawienia -> Bezpieczeństwo i usuń zaznaczenie pola Nieznane źródła.
  • Wybieraj aplikacje od zweryfikowanych programistów. Sprawdzaj oceny aplikacji i czytaj opinie. Staraj się unikać instalowania wszystkiego, co wygląda podejrzanie.
  • Nie instaluj tego, czego nie potrzebujesz. Im mniej aplikacji mas zna swoim urządzeniu, tym lepiej.
  • Pamiętaj o usuwaniu aplikacji, z których już nie korzystasz.
  • Korzystaj z niezawodnego antywirusa na urządzenia mobilne, który powiadomi Cię, gdy jakaś szkodliwa aplikacja będzie próbowała przedostać się do Twojego urządzenia.