ATS(App Transport Security)配置及安全评估

ATS简介

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

iOS9中ATS配置

iOS9中默认强制使用https,但是如果Info.plist文件中加入以下节点,就可以关闭这个安全项,允许app使用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>

以小米运动的ipa包看一下iOS10中的ATS配置项,查看Info.plist文件,可以看到NSAppTransportSecurity和NSExceptionDomains,NSExceptionDomains下的域名就是允许使用http的域名。
小米运动ATS安全配置

ATS安全评估

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

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

  1. iOS9中将NSAllowsArbitraryLoads设置为true。
  2. iOS10中将未知的域名排除在ATS的限制之外。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值