应用ATS(App Transport Security)

详细描述

iOS 9中的新功能,ATS(App Transport Security)有助于确保应用程序和任何后端服务器之间的安全连接。 默认情况下,当应用程序与iOS 9.0 SDK或更高版本链接时,它会启用。 启用ATS后,HTTP连接将强制使用HTTPS(TLS v1.2),并且使用不安全HTTP连接的任何尝试都将失败。

应用ATS包括几个方案:

  • 开发人员可以 启用 全局ATS(通过链接到iOS 9.0或更高版本的SDK),然后选择使用例外减少特定服务器上的ATS限制
  • 开发人员可以 禁用 全局ATS(通过将NSAllowsArbitraryLoads键设置为YES),然后使用例外来增加特定服务器上的ATS限制

建议

对于在iOS 9.0或更高版本上运行的应用程序,最佳做法是通过链接到iOS 9.0或更高版本的SDK来启用ATS,并且不要NSAllowsArbitraryLoads键设置为“Yes”或“True”。 苹果目前允许开发人员为任何不能实施TLS的域设置为例外。 可以使用NSExceptionAllowsInsecureHTTPLoadsNSThirdPartyExceptionAllowsInsecureHTTPLoads键来设置例外。 重要的是要注意,从2017年1月开始,苹果将要求开发人员对应用程序中声明的任何异常(在App Store审核期间)提供合理的理由。 否则,所有通信必须使用ATS。

参考

CWE/OWASP