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