Механизм обновления Over-the-Air подвергает опасности Android-устройства

Механизм обновления Over-the-Air подвергает опасности Android-устройства

Небезопасная реализация механизма обновления технологии Over-the-Air (OTA), используемой многими моделями смартфонов на Android делает уязвимыми почти 3 миллиона устройств к атаке посредника. Это грозит тем, что злоумышленники смогут выполнять произвольные команды с привилегиями суперпользователя.

Проблема заключается в китайской компании, занимающейся программным обеспечением Ragentek Group. Она не использовала зашифрованный канал при работе с третьими сторонами. Специалисты в области безопасности AnubisNetworks утверждают, что эта ошибка не только подвергает информацию пользователя опасности, но и может стать ключевым моментом в создании руткита, который позволит злоумышленникам выполнять команды на целевых устройствах.

Код от Ragentek включает в себя двоичный файл для проверки наличия обновления OTA и несколько методов, скрывающих его выполнение. Расположенный в /system/bin/debugs бинарный файл запускается с правами суперпользователя и осуществляет связь по незащищенным каналам с тремя хостами. Ответы, полученные от удаленного сервера включают в себя функциональные возможности для выполнения произвольных команд в корневом каталоге, код для установки приложения или конфигурации обновления.

Проблема, отслеживаемая под идентификатором CVE-2016-6564 заключается в том, что удаленный злоумышленник может провести атаку посредника (Man in the Middle), подменить ответы сервера и выполнять произвольные команды с правами суперпользователя на устройстве.

Судя по всему, затронуты смартфоны следующих производителей: BLU Products, Infinix Mobility, DOOGEE, LEAGOO, IKU Mobile, Beeline и XOLO. BLU Products уже выпустили обновление программного обеспечения, где эта уязвимость была устранена, однако устройства остальных производителей все еще могут быть в опасности.

Исследователи AnubisNetworks проанализировали ошибку, используя устройство BLU Studio G. В ходе анализа удалось обнаружить, что передача незашифрованных данных начинается во время процесса первой настройки устройства.

Исследователи также отмечают любопытный момент – факт запущенных процессов “/system/bin/debugsrun” и “/system/bin/debugs” скрывается. Более глубокий анализ показал, что структура Java тоже был изменена, чтобы скрыть ссылки на этот процесс.

На данный момент эксперты не уверены в чем причина того, что автор пожелал скрыть присутствие двух этих процессов.