В середине августа 2018 года специалисты компании Check Point описали новый вектор атак на Android-устройства — Man-in-the-Disk (MitD). Данной проблеме могут быть подвержены самые разные приложения, включая, например, продукты Google и Яндекс или браузер Xiaomi. Корень обнаруженной проблемы кроется в том, что приложения могут использовать внешнее хранилище данных (External Storage).
Тогда исследователям удалось создать PoC-приложение, выдававшее себя за обычный фонарик и запрашивавшее разрешение на установку во внешнее хранилище (на карту памяти). На самом деле после установки это приложение атаковало соседние приложения двумя способами: либо могло провоцировать отказ в обслуживании, не давая другим приложениям нормально работать, либо могло вообще подменять их вредоносными версиями.
Эксперты Check Point предупреждали, что перед проблемой MitD может быть уязвимо множество популярных продуктов, если не большая часть современных приложений вообще.
Теперь специалисты Google подтвердили серьезность заявлений своих коллег. Оказалось, что MitD представляет угрозу для мобильного приложения популярнейшей игры Fortnite. Исследователи выяснили, что приложение Fortnite для Android – это не более чем установщик, а сама игра загружается и устанавливается во внешнее хранилище.
«Любое приложение с разрешением WRITE_EXTERNAL_STORAGE может подменить APK сразу же после загрузки и верификации “отпечатков”. Это легко сделать с помощью FileObserver. В итоге Fortnite Installer продолжит установку подмененного (фальшивого) APK, — пишут специалисты. — Если фальшивое APK имеет targetSdkVersion 22 или ниже, оно получит все необходимые разрешения на время установки. Эта уязвимость позволяет приложению на устройстве обмануть Fortnite Installer, заставив его установить фальшивый APKс любыми разрешениями, которые обычно необходимо запросить у пользователя».
Видеоролик ниже демонстрирует описанную атаку в действии.
Однако разработчики Fortnite, компания Epic Games, уже назвали обнаружение уязвимости «рекламным трюком». Глава компании Тим Суини (Tim Sweeney) пишет у себя в Twitter, что представителей Google просили не публиковать информацию о проблеме как можно дольше, чтобы больше пользователей успели установить обновление (проблема устранена в приложении версии 2.1.0). Однако ИБ-специалисты не стали молчать и тем самым, по мнению Суини, повергли пользователей Android ненужному риску.
We asked Google to hold the disclosure until the update was more widely installed. They refused, creating an unnecessary risk for Android users in order to score cheap PR points.
— Tim Sweeney (@TimSweeneyEpic) August 25, 2018
Напомню, что корень проблемы в том, что представители Epic Games решили распространять Fortnite для Android в обход каталога приложений Google Play, чтобы не платить за это проценты Google и сохранить всю прибыль, которую приносит игра. Тогда ИБ-специалисты уже критиковали Epic Games из-за потенциальных проблем с безопасностью, которые может повлечь за собой такой подход. Судя по всему, теперь в Epic Games уверены, что раскрыв данные об уязвимости, представители Google «мстят» компании.
Также Тим Суини пишет, что специалисты Google в частном порядке уведомили разработчиков игры о том, что согласно их данным, до раскрытия информации об уязвимости большинство пользователей Android уже обновили свои установки Fortnite до безопасной версии. Впрочем, отсюда Суини делает вывод, что Google пристально следит за установками Fortnite на всех Android-устройствах.
Google did privately communicate something to the effect that they’re monitoring Fortnite installations on all Android devices(!) and felt that there weren’t many unpatched installs remaining.
— Tim Sweeney (@TimSweeneyEpic) August 25, 2018