Эксперты Microsoft рассказали о новой технике path traversal атак Dirty Stream, которая позволяет вредоносным приложениям для Android перезаписывать файлы в домашней директории других приложений. Это может привести к выполнению произвольного кода и краже секретов. Проблеме подвержены такие популярные приложения, как Xiaomi File Manager и WPS Office, насчитывающие более 1,5 млрд установок.
Проблема возникает из-за некорректного использования системы контент-провайдер (Content Provider) в Android, которая управляет безопасным доступом к структурированным наборам данных, предназначенным для совместного использования различными приложениями.
Эта система использует защитные меры, включая изоляцию данных, URI-разрешения и валидацию путей для предотвращения несанкционированного доступа, утечек данных и атак типа path traversal. Однако исследователи предупредили, что защиту можно обойти путем некорректной имплементации кастомных намерений (intent). Примерами неправильной имплементации могут служить использование невалидированных имен файлов и путей в намерениях, некорректное использование компонента FileProvider и недостаточная валидация путей.
Атака Dirty Stream позволяет вредоносным приложениям отправлять файл с подмененным именем или путем другому приложению, используя пользовательское намерение. Целевое приложение вводится в заблуждение, доверяя имени файла или пути, а в итоге выполняет или сохраняет файл в критически важном каталоге.
Манипуляция потоком данных между двумя приложениями превращает обычную функцию ОС в инструмент для атак, что может привести к несанкционированному выполнению кода, краже данных, захвату полного контроля над поведением приложения и прочим последствиям.
Исследователь Димитриос Валсамарас (Dimitrios Valsamaras) пишет, что таких некорректных имплементаций, к сожалению, очень много, и суммарно они затрагивают приложения, установленные более четырех миллиардов раз.
«Мы публикуем это исследование, чтобы разработчики и издатели могли проверить свои приложения на наличие подобных проблем, исправить их в случае необходимости и предотвратить появление подобных уязвимостей в новых приложениях и релизах», — пишет Валсамарас.
В отчете Microsoft упоминаются лишь два приложения, уязвимые перед Dirty Stream:
- Xiaomi File Manager (com.mi. Android.globalFileexplorer) — более 1 миллиарда установок;
- WPS Office (cn.wps.moffice_eng) — более 500 миллионов установок.
Сообщается, что в обоих случаях разработчики оперативно отреагировали на предупреждение Microsoft и внедрили исправления для снижения рисков в свои продукты.
Кроме того, компания Google уже обновила свое руководство по безопасности приложений, указав на распространенные ошибки при использовании системы контент-провайдер, которые позволяют обойти защиту.