Разделы

Безопасность

Два гиперпопулярных приложения под Android «слепо доверяли» входящим файлам

Ошибки в реализации мер безопасности приводили к тому, что Xiaomi File Manager и WPS Office позволяли перезаписывать входящими файлами свои собственные системные. Аналогичная проблема может затрагивать не только эти приложения.

Поток грязи

Приложения Xiaomi File Manager и WPS Office содержат уязвимость класса path traversal (обход пути), позволяющую перезаписывать произвольные файлы в папке приложения в системе Android.

«Баг», поименованный Dirty Stream («Поток грязи»), в конечном счёте может приводить к краже токена или запуску произвольного кода в уязвимой системе, в зависимости от того, как реализовано и внедрено приложение, указывает эксперт по информационной безопасности подразделения Microsoft Threat Intelligence Димитриос Валсамарас (Dimitrios Valsamaras).

Как следствие, злоумышленник может получить полный контроль над поведением приложения или использовать украденные токены для несанкционированного доступа к онлайн-аккаунтам пользователя и другим данным.

Гиперпопулярные приложения содержат уязвимость, позволяющую перезаписывать произвольные файлы в папке приложения в системе Android

Приложения Xiaomi File Manager и WPS Office можно смело назвать гиперпопулярными: первое скачано 1 млрд раз, у второго - 500 млн загрузок.

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

Проблема, как правило, заключается именно в ошибках разработчиков, которые забывают внедрить инструменты проверки содержимого входящих файлов. Более того, как отметил Валсамарас, наихудший вариант - это когда приложение кэширует полученный файл в своём каталоге, оставляя название.

В результате злоумышленники могут воспользоваться ошибками реализации внутреннего файлообмена для подмены критических файлов для атакуемого приложения. Всё это произойдёт без ведома пользователя.

Сценарии атак

В конечном счёте злоумышленник может перезаписать файл совместных настроек (shared preferences) целевого приложения, заставить его обращаться к серверу под контролем атакующего и вывести значимую информацию. Или, при ещё худшем сценарии, произвести перезапись программных библиотек атакуемого приложения их вредоносной версией и добиться запуска произвольного кода в контексте приложения при каждой загрузке соответствующей библиотеки.

Мониторинг, диагностика и управление базами данных в одном окне: как устроен Postgres Pro Enterprise Manager
postgrespro

Разработчики Xiaomi File Manager и WPS Office устранили проблемы ещё в феврале 2024 г. Но, как утверждают эксперты Microsoft, этими двумя приложениями дело может и не ограничиваться.

«Сейчас всем разработчикам мобильных приложений, которые поддерживают обмен файлами, необходимо было бы проверить свои продукты на наличие таких же уязвимостей», - считает Никита Павлов, эксперт по информационной безопасности компании SEQ. По его словам, наибольшую угрозу, конечно, представляет отсутствие механизма принудительной смены идентификатора (названия файла) приложением: это буквально приглашение для атаки.

Google, со своей стороны, также выпустил рекомендации для разработчиков, в которых указывается на необходимость генерировать уникальное название для каждого входящего файла и хранить его только под ним. В случае, если генерация уникального имени оказывается непрактичной, должна производиться его очистка - чтобы избежать перезаписи критических файлов в каталоге внутренних данных.

Роман Георгиев