Хакер #305. Многошаговые SQL-инъекции
Голландский исследователь Тийс Броенинк (Thijs Broenink) заинтересовался приложением AnalyticsCore.apk, которое обнаружил на своем смартфоне Xiaomi Mi4. Приложение противостояло любым попыткам остановить его или удалить, но какие функции оно выполняет, понять не удавалось. Не дождавшись никакого ответа от официальных лиц, исследователь отреверсил код AnalyticsCore и обнаружил, что приложение может быть попросту опасно.
Пытаясь удовлетворить свой интерес, исследователь сначала обратился со своим вопросом в официальную поддержку MIUI, но так и не получил ответа, хотя этим приложением до него интересовались и другие пользователи. Тогда Броенинк отреверсил код приложения и узнал, что каждые 24 часа AnalyticsCore связывается с официальным сервером Xiaomi и проверяет наличие обновлений. В ходе этой проверки приложение каждый раз отправляет на сервер информацию о модели устройства, IMEI, MAC-адресе, модели девайса, Nonce и так далее. Если обновление на сервере найдено, то оно автоматически скачивается и устанавливается в фоновом режиме, без участия пользователя. Исследователь пишет, что ему не удалось обнаружить в коде какие-либо доказательства, однако подобный трюк явно требует повышенных привилегий.
Исследователь пишет, что при этом AnalyticsCore никак не проверяет подлинность источника данных, а также сам загруженный файл.
«Похоже, никакая валидация устанавливаемого APK не проводится. Выходит, что каждые 24 часа Xiaomi имеет возможность тайно заменить любое (подписанное?) приложение на вашем устройстве», — пишет Броенинк.
Хотя данную проблему можно назвать бэкдором, вряд ли он появился на устройствах Xiaomi умышленно. Так, исследователь пишет, что в довершении всего AnalyticsCore скачивает апдейты и передает пользовательские данные через HTTP, что делает возможной атаку man-in-the-middle. Любой желающий может перехватить запрос приложения и подменить APK модифицированной версией.
Броенинк так и не смог выяснить, какой цели служит AnalyticsCore, так как приложение не делает на устройстве ничего, только запрашивает обновления. Поиск в Google и на официальных сайтах компании тоже не дали никакой конкретной информации о предназначении AnalyticsCore. В итоге исследователь посоветовал пользователям заблокировать на своих устройствах все запросы к доменам xiaomi.com и xiaomi.net, просто на всякий случай.