Эксперты по кибербезопасности проанализировали уязвимость, позволяющую открывать любые экраны в приложении вместо пользователя
Злоумышленники могут воспользоваться данными даже в обход экрана аутентификации. Эксперты «Стингрей Технолоджис» (входит в ГК Swordfish Security) провели анализ новой проблемы безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Compose. Об этом CNews сообщили представители Swordfish Security.
Объектом исследования стали тысяча мобильных приложений различной тематики. 21% содержит данную проблему. Все приложения были скачаны из открытых источников.
Android Jetpack Navigation Component — популярная библиотека навигации из пакета Android Jetpack, которая облегчает работу с фрагментами. Фрагменты – экраны, с которыми взаимодействует пользователь при работе с тем или иным приложением. Они могут представлять из себя как весь экран, так и его часть. Чтобы открыть тот или иной экран, приложение должно обработать входящий запрос, какие данные будут доступны стороннему приложению, фактически определяет разработчик. Суть уязвимости заключается в том, что стороннее приложение может открыть абсолютно любой фрагмент и передать в него любые параметры. Лазейка для злоумышленников, рассказывают авторы исследования, стала возможной из-за отсутствия информации, что любой фрагмент в приложении становится доступным извне, даже если специально его таким не делать. Зачастую разработчики не знают об этой странной особенности и, что логично, не внедряют проверок на безопасность при взаимодействии между внутренними компонентами приложения.
«Эта уязвимость напрямую касается всех пользователей, у которых установлено уязвимое мобильное приложение. Так как благодаря этой проблеме безопасности злоумышленники могут открыть любой внутренний экран приложения в обход средств защиты (ввода пин-кода, пароля и т.д.), — сказал генеральный директор «Стингрей Технолоджис» Юрий Шабалин, — Если мы вызовем этот внутренний функционал снаружи и передадим неправильные аргументы, может случиться все что угодно, начиная от открытия произвольных URL-адресов в приложении (например, открытие Web-страницы полностью имитирующей интерфейс приложения с вводом логина и пароля,. которые отправляются злоумышленнику), заканчивая тем же чтением внутренних файлов приложения. Возможные вектора атак напрямую зависит от функциональности приложения».
Если пользователь потерял телефон, пользуясь это уязвимостью, злоумышленники могут, не подбирая паролей, просто отправить одну команду и сразу откроется нужный экран приложения. Второй вариант – при переходе по определенной ссылке в приложении владелец смартфона, сам того не зная, дает потенциальным хакерам доступ к любому фрагменту.