第三方密码自动填充扩展

问题描述 投票:0回答:1

苹果如何确保黑客无法使用假域推送虚假应用来使用iOS密码自动填充功能?

例如,如果黑客创建的应用程序的域名为linkedin.com,则用户可能正在使用密码自动填充功能,假应用程序会将linkedin.com作为服务标识符传递给自动填充扩展程序。

我找到了一些关于关联域如何用于通用链接的文档,以确保确保服务标识符或域的真实性。

这是我读到的文档的链接:qazxsw poi

此外,如果密码自动填充使用与通用链接相同的机制,并在应用程序中使用相关域,允许多个域。当我们尝试使用本机应用程序使用自动填充扩展时,哪个域会自动填充扩展程序?

ios autofill
1个回答
1
投票

应用程序和网站之间存在双向链接。

该应用程序在https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains文件中列出其关联的域。关联域中的网站在info.plist文件中提供其支持的应用程序的包ID。

为了使密码自动填充起作用,链接的两个部分都需要到位。

看看你为linkedin.com提出的例子。

  • 攻击者可以发布将apple-app-site-association列为关联域的应用程序。
  • 该应用程序有一个包ID,比如linkedin.com
  • 此包ID不会列在linkedin.com com.badapple.trickyapp文件中,因为攻击者无法更改该文件;它由链接控制。
  • 由于没有匹配项,因此不会自动触发自动填充。

另一种方式呢?

  • linkedin.com apple-app-site-association将包含其应用程序的软件包ID,例如apple-app-site-association
  • 攻击者无法发布具有该包ID的应用程序,因为商店中已存在具有该ID的应用程序(LinkedIn官方应用程序),因此他们必须使用不同的包ID。
  • 此外,捆绑包ID需要包含团队标识符,因此只有LinkedIn团队中的应用程序可能匹配
  • 这又回到了第一种情况;没有自动填充

基本上,您需要控制应用程序和网站内容才能触发自动填充。

如果应用程序中列出了多个域,并且相关的站点关联已就位,则iOS将在快速类型栏上提供多个密码选项。如果钥匙串(或用户使用的任何密码提供商)中有更多匹配,则他们可以使用“密码...”按钮查看表格视图中的所有匹配项并选择相关的帐户详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.