Атакуващите могат да вкарат Android устройства в непрекъснат цикъл на рестартиране (boot loop) с помощта на специално създадено приложение, което не изисква разрешения и само трябва да бъде инсталирано.

За да предизвика постоянен отказ от услуга (DoS), приложението задейства уязвимост, която изследователите наричат „GhostMap“ и която кара Android да съпостави файл с неразпределена област от паметта. Засегнатият процес се срива, когато се опита да чете от тази област.

Румънската компания за киберсигурност Bitdefender е открила уязвимостта, докато е анализирала банкерски троянски кон за Android, който непрекъснато сривал нейните емулатори при опит за четене на ресурс на приложението.

изображение

Изследователите демонстрираха уязвимостта, като създадоха приложение, което не съдържа изпълним код, не изисква разрешения при инсталация и не е необходимо да бъде стартирано на устройството.

Според компанията Google е наясно с GhostMap от август, но е затворила казуса без да пусне корекция за сигурност, класифицирайки го като „невъзпроизводим“.

Правене на телефоните неизползваеми

В доклад от днес Bitdefender обяснява, че GhostMap произтича от две библиотеки на Android, които интерпретират методите за ZIP компресия по различен начин. Това позволява на деформиран APK (пакетен файл за Android) да заобиколи проверките за размер и да бъде съпоставен в паметта извън действителното съдържание на файла.

„Четенето на такъв запис предизвиква SIGBUS (сигнал, изпращан от процесора за спиране на процес, който осъществява достъп до невалидно пространство в паметта) във всеки процес, който докосне файла“, казват изследователите.

За да демонстрира ефекта на цикличните сривове, Bitdefender създаде приложение, съдържащо ресурс, който основната услуга на Android „system_server“ автоматично се опитва да прочете след инсталацията.

Четенето задейства уязвимостта и рестартира процеса, карайки го да прочете същия ресурс и да се срине отново в безкраен цикъл.

По време на тестовете изследователите са използвали устройство Pixel 10, работещо с Android 17 и корекцията за сигурност от 5 август. Устройството е започнало поредицата от сривове около една секунда след инсталирането на приложението, като цикълът се е повторил 110 пъти в нормален режим на стартиране и 72 пъти в безопасен режим (Safe Mode).

Bitdefender предупреждава, че цикълът на рестартиране също така пречи на потребителите да получат достъп до Safe Mode, който обикновено би предоставил начин за отстраняване на проблема и възстановяване на устройството.

Спирането на сривовете е възможно по два начина: връщане към фабричните настройки, което изтрива всички локално съхранени данни, и чрез изтриване на деформирания файл през ADB.

Използването на ADB обаче изисква опцията за отстраняване на грешки (debugging) вече да е активна на устройството. Освен това възстановяването чрез ADB изисква скриптовете да подействат, преди системата да се срине.

Отговорът на Google

Bitdefender е докладвала за проблема на Google на 20 август, но е получила отговор „Won’t Fix (Not Reproducible)“ (Няма да бъде поправено – Невъзпроизводимо), като проблемът е определен като извън обхвата.

Изследователите са подали разширена версия на 25 август, смятайки, че Google погрешно е класифицирала първоначалния доклад. Технологичният гигант все пак е сметнал проблема за извън обхвата на обновяване за сигурност, въпреки че го е запазил за разглеждане в бъдещо обновяване.

BleepingComputer се свърза с Google с въпрос относно статуса на корекцията за GhostMap, но все още очакваме отговор.

Bitdefender казва, че единственият шанс за блокиране на атаката е по време на инсталацията, като отбелязва, че инструментите за сигурност на трети страни могат да помогнат за откриване на възможна заплаха и да покажат предупреждение, но нямат разрешение да блокират инсталацията.