Баг в Android отправляет телефон в бесконечную перезагрузку и стирает данные
- среда, 26 марта 2014 г. в 14:12:36
Турецкий хакер Ибрагим Балич (Ibrahim Baliç) во время фаззинга на баги операционной системы Android случайно наткнулся на очень интересный баг, который вызывает повреждение памяти и рушит операционную систему. Он проверил сгенерированный APK на разных версиях Android (4.2.2, 4,3, 2.3) — тот везде срабатывал.
Сбой ОС инициирует любое приложение с названием длиной более 387000 символов (поле appname в strings.xml). Проверить это может каждый на свой риск, если установит это приложение. Интересно, что APK рушит и «песочницу» Google Play Bouncer — эмулятор Android, в котором автоматически проверяются все приложения перед их регистрацией в Google Play. Более того, после «диверсии» Балича Google Play Bouncer прекратил работу, и регистрация новых приложений в каталоге приостановилась на несколько дней.
Антивирусная компания TrendMicro провела анализ и выяснила, что данный баг способен причинить значительный вред смартфонам и планшетам под Android. После повреждения памяти по такому сценарию устройство уходит в циклическую перезагрузку, что может закончиться даже необратимым выходом из строя.
Повреждение памяти происходит в интерфейсе WindowManager из-за переполнения данными поля Activity, в котором хранится название «окна». Злоумышленнику ничто не мешает внедрить в программу триггер, который по указанным условиям будет запускать приложение с таким полем. Смартфон прекратит нормально работать и уйдет в перезагрузку. В худшем случае такую программу прописывают в автозагрузку, в этом случае придется загружаться через Recovery с потерей всей пользовательской информации (контакты, фотографии и проч.).
Специалисты TrendMicro выяснили, что аналогичный баг присутствует не только в менеджере окон, но также в PackageManager и ActivityManager. Если через интерфейс ADB записать на смартфон приложение с таким APK, то смартфон сразу выходит из строя с теми же печальными последствиями для личных файлов.
TrendMicro рекомендует пользователям не устанавливать программы из сомнительных источников через ADB.