Luka Janus: modyfikacja aplikacji na Androida bez naruszenia podpisu

Od pierwszego wydania Androida deweloperzy musieli podpisywać swoje aplikacje. Podczas aktualizacji zabezpieczenia systemowe porównują sygnaturę nowej wersji z już znaną, dzięki czemu nie jest możliwe zainstalowanie zmodyfikowanej aktualizacji. Zabezpieczenie to jednak nie było całkowicie skuteczne.

Obraz

Ujawnione zostały szczegóły luki Janus (CVE-2017-13156) w Androidzie, która pozwalała atakującym wprowadzenie złośliwego kodu do aplikacji bez naruszania jej podpisu. Atak można przeprowadzić z wykorzystaniem aplikacji dla Androida, podpisanych według starszego schematu. W skrócie można powiedzieć, że winę ponosi konstrukcja plików APK i DEX – ten sam plik może być jednocześnie jednym i drugim. Specjaliści z GuardSquare poinformowali Google o luce 31 lipca tego roku i jeszcze tego samego dnia otrzymali informację zwrotną. Na szczęście nie zauważono żadnych wykorzystujących tę lukę aplikacji, ponadto użytkownicy pobierający aplikacje tylko z Google Play są bezpieczni.

Janus działa dzięki temu, że dodatkowe bajty w plikach APK i DEX są pomijane. APK to technicznie rzecz biorąc ZIP i może zawierać dowolne dane na początku i pomiędzy zapisami ZIP. Schemat podpisywania plików JAR z kolei bierze pod uwagę tylko ciągi bajtów należące do archiwum i przy obliczaniu sygnatury oraz weryfikacji pliku APK pomija te dodatkowe informacje. Pliki DEX z kolei mogą zawierać dowolne dane na końcu. W uproszczeniu wystarczy więc „skleić” bajty pliku DEX na początku i APK na końcu, by otrzymać nie budzącą podejrzeń hybrydę.

Obraz

GuardSquare dodaje, że wykorzystanie ataku tego typu jest możliwe dzięki sposobowi działania maszyny wirtualnej Dalvik/ART. Według założeń ładuje ona plik APK, wypakowuje z niego DEX i następnie uruchamia jego kod. W praktyce jednak maszyna może załadować i wykonać oba typy plików. W związku z tym, jeśli dostanie spreparowany plik APK, na początku którego znajdzie nagłówki pliku DEX, załaduje go w ten właśnie sposób i wykona zawarte w nim instrukcje.

Sygnatura APK wciąż będzie poprawna i atakujący spokojnie mogą podszywać się pod aktualizacje popularnych aplikacji. Co więcej, złośliwy kod na początku pliku może mieć dostęp do szerokich uprawnień, jeśli aktualizowana aplikacja wcześniej je miała. Gdyby udało się podszyć pod którąś z aplikacji systemowych, można teoretycznie wydobyć dane osobiste użytkownika i przejąć kontrolę nad urządzeniem.

Janus jest obecny na Androidzie 5.0 i nowszych, wymaga by aplikacja była podpisana według schematu v1. Pliki APK z podpisem v2 (Android 7.0 i nowsze) są bezpieczne, gdyż biorą pod uwagę wszystkie bajty pliku.

Platformy F-Droid i APKMirror potwierdziły, że ich aplikacje zostały już zabezpieczone przed atakiem.

Źródło artykułu: www.dobreprogramy.pl
Wybrane dla Ciebie
ChatGPT ma dużą awarię. Użytkownicy zgłaszają liczne problemy
ChatGPT ma dużą awarię. Użytkownicy zgłaszają liczne problemy
CERT Polska ostrzega przed fałszywymi powiadomieniami KSeF
CERT Polska ostrzega przed fałszywymi powiadomieniami KSeF
Problem z Blikiem i kartami Visa. Od rana usterka płatności (aktualizacja)
Problem z Blikiem i kartami Visa. Od rana usterka płatności (aktualizacja)
Awaryjne aktualizacje dla Windows Server. Rozwiązują usterki
Awaryjne aktualizacje dla Windows Server. Rozwiązują usterki
Zastrzegasz PESEL? Są dwa wyjątki
Zastrzegasz PESEL? Są dwa wyjątki
Możesz stracić fanpage. Wyjątkowo autentyczny atak
Możesz stracić fanpage. Wyjątkowo autentyczny atak
Fałszywy SMS. Oszuści podszywają się pod ZUS
Fałszywy SMS. Oszuści podszywają się pod ZUS
Żabka stworzy kartę płatniczą. Wybrała dużego partnera
Żabka stworzy kartę płatniczą. Wybrała dużego partnera
PKO Bank Polski wydał komunikat. Uważaj, kto dzwoni
PKO Bank Polski wydał komunikat. Uważaj, kto dzwoni
Nowości w mObywatelu. Dodano trzy funkcje
Nowości w mObywatelu. Dodano trzy funkcje
Ważny komunikat Alior Banku. Dotyczy wszystkich klientów
Ważny komunikat Alior Banku. Dotyczy wszystkich klientów
Uznański-Wiśniewski: To AI wybiera, co warto przesłać z orbity
Uznański-Wiśniewski: To AI wybiera, co warto przesłać z orbity
ZACZEKAJ! ZOBACZ, CO TERAZ JEST NA TOPIE 🔥