Расширение автозаполнения паролей сторонних производителей - PullRequest
0 голосов
/ 18 марта 2019

Как Apple следит за тем, чтобы хакеры не могли подтолкнуть поддельные приложения с поддельными доменами для работы с функцией автозаполнения паролей iOS?

Например, если хакер создает приложение со своим доменом как linkedin.com, пользователь может использовать функцию автозаполнения пароля, а поддельное приложение передаст linkedin.com в качестве идентификатора службы расширению автозаполнения.

Я нашел некоторую документацию о том, как связанные домены работают для универсальной ссылки, чтобы убедиться, что подлинность идентификатора службы или домена гарантирована.

Вот ссылка на документацию, которую я прочитал: https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains

Также, если автозаполнение пароля использует тот же механизм, что и универсальная ссылка, и со связанными доменами в приложении, допускающем использование нескольких доменов. какой домен будет использовать расширение автозаполнения, когда мы пытаемся использовать расширение автозаполнения с собственным приложением?

1 Ответ

1 голос
/ 19 марта 2019

Существует двусторонняя связь между приложением и веб-сайтом.

Приложение перечисляет связанные домены в файле info.plist.Веб-сайт в соответствующем домене предоставляет идентификаторы комплекта поддерживаемых приложений в файле apple-app-site-association.

Чтобы автозаполнение пароля работало, обе части ссылки должны быть на месте.

Рассматривая пример, предложенный вами для linkedin.com.

  • Злоумышленник может опубликовать приложение, в котором в качестве связанного домена указан linkedin.com.
  • Приложение имеет идентификатор пакета,скажем, com.badapple.trickyapp
  • Этот идентификатор пакета не будет указан в файле linkedin.com apple-app-site-association, поскольку злоумышленник не может изменить этот файл;Он управляется связанными входами.
  • Поскольку совпадений нет, автозаполнение не будет запускаться автоматически.

Как насчет другого способа?

  • Linkedin.com apple-app-site-association будет содержать идентификатор пакета для своего приложения, скажем, com.linkedin.app.
  • Злоумышленник не может опубликовать приложение с этим идентификатором пакета, поскольку в нем уже есть приложениехранить с этим идентификатором (официальное приложение LinkedIn), поэтому они должны использовать другой идентификатор пакета.
  • Кроме того, идентификатор пакета должен включать идентификатор команды, поэтому только приложения из команды LinkedIn team может совпадать
  • Это возвращается к первому случаю;нет автозаполнения

По сути, вам нужно контролировать как приложение, так и содержимое веб-сайта для запуска автозаполнения.

Если в приложении указано несколько доменов и соответствующих ассоциаций сайтовна месте, тогда iOS предложит несколько вариантов выбора пароля на панели быстрого ввода.Если в цепочке для ключей есть больше совпадений (или любого другого поставщика паролей, который использует пользователь), они могут использовать кнопку «пароли ...», чтобы просмотреть все совпадения в табличном представлении и выбрать соответствующие данные учетной записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...