苹果如何确保黑客无法将具有假域名的假应用程序与iOS密码自动填充功能配合使用?
例如,如果黑客创建的域名为linkedin.com的应用程序,则用户可能正在使用密码自动填充功能,假冒的应用程序会将linkedin.com作为服务标识符传递给自动填充扩展程序。
我找到了一些有关通用域关联域如何工作的文档,以确保确保服务标识符或域的真实性。
以下是我阅读的文档的链接:https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains
如果密码自动填充使用与通用链接相同的机制,并且在允许多个域的应用程序中具有关联的域。当我们尝试对本机应用程序使用自动填充扩展功能时,哪个域会自动填充扩展程序?
答案 0 :(得分:1)
应用程序和网站之间存在双向链接。
该应用在info.plist
文件中列出了其关联的域。
关联域中的网站在apple-app-site-association
文件中提供其受支持的应用程序的捆绑软件ID。
要使密码自动填充正常工作,链接的两个部分都必须安装到位。
查看您为linkedin.com提出的示例。
linkedin.com
列为关联域的应用。com.badapple.trickyapp
apple-app-site-association
文件中列出,因为攻击者无法更改该文件;它由链接输入控制。反过来呢?
apple-app-site-association
将包含其应用的捆绑包ID,例如com.linkedin.app
。本质上,您需要同时控制应用程序和网站内容才能触发自动填充。
如果应用程序中列出了多个域,并且存在相关的网站关联,则iOS将在快速类型栏上提供多个密码选择。如果钥匙串中有更多匹配项(或用户正在使用的任何密码提供者),则他们可以使用“密码...”按钮在表格视图中查看所有匹配项,然后选择相关的帐户详细信息。