防止iOS URL方案劫持

时间:2015-11-25 14:27:07

标签: ios security ios9 url-scheme

我有一个应用程序可以通过URL方案从另一个应用程序打开。该URL包含注册令牌。由于任何应用都可以注册与我的应用相同的URL方案,我担心“假”应用可以进行中间人攻击并捕获注册令牌。

我的想法是在首次打开我的应用时检查URL方案是否未打开另一个应用。

从安全角度来看,如果URL方案第一次打开我的应用程序,它将来是否会打开我的应用程序?

2 个答案:

答案 0 :(得分:5)

如何使用iOS 9通用链接?

  

与自定义网址方案不同,其他应用无法声明通用链接,因为它们使用指向您网站的标准HTTP或HTTPS链接。

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

这样“调度表”就在您的服务器上,因此没有其他应用可以劫持注册URL。 (URL分派基于AppID)

答案 1 :(得分:2)

它是一个有效(通常被忽略)的攻击媒介。它不是严格意义上的中间人攻击,因为它不会将URL转发到您的应用程序(它不能)。它几乎更糟糕,因为攻击应用程序只能真正崩溃,看起来你的应用程序已经... ...

只要您的应用在后台,就可以安装另一个应用。从技术上讲,在您的应用运行时,可能会为现有应用发布和安装更新(很难知道是否会发生这种情况)。因此,仅在首次打开您的应用时进行测试是不安全的。