App Transport Security(ATS)配置及安全

2023-10-30  本文已影响0人  ChaosHeart

App Transport Security(ATS)简介

ATS的全称是App Transport Security,是从iOS9开始引入的安全项,目的是推广使用https,禁用http,这一安全项在iOS10得到进一步加强。

iOS9中ATS配置

iOS9中默认强制使用https,但是如果Info.plist文件中加入以下节点,就可以关闭这个安全项,允许app使用http。
true:允许使用http,
false:不允许使用http,

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
<dict>

iOS10中ATS配置

iOS10中,苹果更加坚定地推行了ATS安全项,不允许开发者全局关闭ATS安全项,但是可以添加不受ATS限制的域名。下面配置项就是允许qq.com域名使用http,这样的配置比iOS9一刀切的方法更安全一些。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>

    <key>NSExceptionDomains</key>
    <dict>
        <key>qq.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <false/>
        </dict>
    </dict>

</dict>

ATS安全评估

将ipa包上传至MobSF扫描框架,会进行ATS安全项检查。凡是有允许http使用的配置都会有风险提示,安全人员在评估风险时,要注意如果是自己的域名被允许使用http,那么风险是可控的,如果像iOS9中关闭了ATS,那么app在访问一些http链接时存在泄漏敏感数据的风险。

因此安全人员在进行评估过程中,需要提示风险的情况有:

iOS9中将NSAllowsArbitraryLoads设置为true。
iOS10中将未知的域名排除在ATS的限制之外。

参考:
https://blog.csdn.net/cjx529377/article/details/85270681
https://www.jianshu.com/p/3a9bd699e6dd

上一篇下一篇

猜你喜欢

热点阅读