Android представила App Links with Android 6.0 Marshmallow, чтобы обеспечить более безопасный способ запуска конкретного приложения по ссылке (https).
Кроме того, я думал, что ссылки на приложения для Android охватывают основные уязвимости, обнаруживаемые пользовательскими схемами.
Одной из основных уязвимостей является то, что вредоносное приложение ожидает перехвата того же URL-адреса с помощью аналогичного фильтра намерений. И тогда ОС покажет пользователю «Неоднозначный диалог», чтобы выбрать, в каком приложении открывать ссылку.
См .: Измерение ненадежности мобильных глубоких ссылок Android
URL-адрес ссылки на приложение должен перенаправлять пользователя прямо в приложение, если ссылка на приложение настроена правильно в соответствии с документацией для Android AppLinks .
Однако я обнаружил, что это не всегда так. Для некоторых устройств может отображаться «Неоднозначный диалог» при первом использовании URL-адреса ссылки на приложение.
Почему ?
Эта странная настройка называется «Перейти к поддерживаемым URL-адресам» в разделе «Настройки приложения» -> «Установить по умолчанию» под подзаголовком «Ссылки на приложения», от которого зависит ссылка на приложение. Этот параметр позволяет пользователю изменять поведение ссылки на приложение. Это дает три варианта, как показано ниже.
- В этом приложении
- Всегда спрашивай
- В другом приложении
Самое странное, что значение по умолчанию для этого параметра будет отличаться от устройств каждого производителя.
Если настройка не «В этом приложении», то ОС покажет «Неоднозначный диалог» хотя бы с вашим собственным приложением и браузером.
Вопрос
- Есть ли способ предотвратить изменение настройки (предотвратить перехват URL-адреса любым другим приложением)?
- Есть ли способ установить значение по умолчанию «В этом приложении» или программно изменить значение «В этом приложении», чтобы предотвратить его перехват другими приложениями?