На конференции Black Hat Europe исследователи из Международного института информационных технологий в Хайдарабаде заявили, что большинство менеджеров паролей для Android уязвимы перед атакой AutoSpill, которая позволяет похитить учетные данные во время автозаполнения.
Как объясняют исследователи, зачастую Android-приложения используют WebView для рендеринга веб-контента, например страниц входа в систему внутри приложения, вместо перенаправления пользователей в основной браузер, что было бы более неудобно на устройствах с небольшим экраном.
Менеджеры паролей для Android тоже используют фреймворк WebView для автоматического ввода учетных данных пользователя, когда приложение загружает страницу входа в такие сервисы, как Apple, Microsoft или Google.
По словам экспертов, даже без использования JavaScript-инъекций можно эксплуатировать слабые места этого процесса для перехвата автоматически вводимых учетных данных. А если JavaScript-инъекции возможны, то вообще все менеджеры паролей для Android становятся уязвимы перед AutoSpill.
В корне проблемы AutoSpill лежит тот факт, что в Android не предусмотрены и определены правила для безопасной обработки автоматически заполняемых данных, что может привести к их утечке или перехвату хост-приложением. Так, мошенническое приложение, предоставляющее форму для входа, может перехватить учетные данные пользователя, не оставив при этом никаких следов компрометации.
Исследователи протестировали AutoSpill против нескольких менеджеров паролей на Android 10, 11 и 12 и обнаружили, что 1Password 7.9.4, LastPass 5.11.0.9519, Enpass 6.8.2.666, Keeper 16.4.3.1048 и Keepass2Android 1.09c-r0 уязвимы перед атаками.
В свою очередь Google Smart Lock 13.30.8.26 и DashLane 6.2221.3 используют другой подход к процессу автозаполнения. Они не передают конфиденциальные данные хост-приложению, если не использовалась JavaScript-инъекция.
Исследователи сообщили о своих выводах разработчикам ПО и команде безопасности Android, а также поделились с ними своими предложениями по устранению проблемы. Хотя отчет экспертов был признан достоверным, о планах по устранению этой уязвимости пока ничего неизвестно.
Журналисты издания Bleeping Computer связались с разработчиками нескольких менеджеров паролей, которые уязвимы перед AutoSpill, а также с компанией Google, чтобы узнать об их планах по решению проблемы.
Представители 1Password сообщили, что уже работают над исправлением для AutoSpill. В компании отметили, что люди привыкли использовать автозаполнение для быстрого ввода учетных данных, но с помощью вредоносного приложения, установленного на устройстве, хакер может вынудить пользователя осуществить автозаполнение. А AutoSpill лишь подчеркивает эту проблему.
«Функция автозаполнения в 1Password реализована таким образом, чтобы требовать от пользователя явных действий», — подчеркивают в 1Password.
В LastPass заявили, что уже связывались с авторами исследования в 2022 году, и «пришли к выводу, что это уязвимость с низким уровнем риска из-за механизмов, требуемых для ее эксплуатации».
«Важно отметить, что для использования этой уязвимости необходимо иметь возможность установить вредоносное приложение на целевое устройство, а это уже означает полную компрометацию, или возможность выполнить код на целевом устройстве, — говорят в LastPass. — Еще до получения результатов исследования в LastPass была предусмотрена защита при помощи всплывающего предупреждения, когда приложение обнаруживало попытку эксплуатации. Проанализировав результаты исследования, мы добавили во всплывающее окно более информативную формулировку».
О наличии аналогичного предупреждения сообщили и разработчики Keeper, которые тоже подчеркивают, что перед вводом информации пользователю предлагается подтвердить привязку приложения к Keeper. Также отмечается, что для эксплуатации проблемы все же требуется предварительная установка вредоносного приложения, что тоже усложняет проведение атаки.
Что касается компании Google, ее специалисты предоставили журналистам следующий комментарий:
«WebView используется разработчиками Android в различных целях, в том числе для размещения в своих приложениях страниц входа в систему для собственных сервисов. Проблема [AutoSpill] связана с тем, как менеджеры паролей используют API автозаполнения при взаимодействии с WebView.
Мы рекомендуем сторонним менеджерам паролей быть внимательными к тому, где вводятся пароли, и у нас есть передовые методы работы с WebView, которые мы рекомендуем применять всем менеджерам паролей. <…> К примеру, при использовании Google Password Manager для автозаполнения на Android пользователи получают предупреждение, если они вводят пароль для домена, который, по мнению Google, может не принадлежать хост-приложению, и пароль заполняется только в надлежащем поле. Google реализует защиту на стороне сервера для входа в систему через WebView».