muchener's blogs

iOS权限检测方法

字数统计: 931阅读时长: 3 min
2021/10/17 Share

原文:https://www.freebuf.com/articles/compliance/292914.html

市面上的隐私合规产品针对iOS的测试能力十分有限,下文是利用iOS15隐私新功能给大家提供一个简单又能解决一定问题的iOS下权限合规检测的方法。

本身没有任何技术含量,最近简单接触了下ios下的合规测试,记个流水账,希望有大佬可以提供更好的解决方案。

0 环境及工具

环境:Mac、iphone(iOS15.0及以上)

Mac工具:Xcode、Apple Configurator 2

iphone工具:隐私洞见

1 常见权限

i1

2 info.plist 文件

2.1 info.plist

iOS应用和Android应用一样,权限列表都能在包里的文件中找到(Android:AndroidManifest.xml,iOS:info.plist)。但是iOS比Android贴心的地方在于苹果下对于权限调用的目的说明都在此文件里,对于安全合规人员审核调用权限的目的提供了便利

i2

上图中Value值就是获取权限弹窗中显示出来的内容(目的)。当然,很多时候因为功能变更导致有些权限不使用也在info.plist文件中声明,还是建议开发人员进行删除不使用的权限,避免检查过程中出现问题。

2.2 如何获取info.plist文件

2.2.1 有.ipa包

如果是上线前测试,可以对接业务组打企业证书的ipa包,可以直接解压(解压后文件夹-payload文件夹-应用程序右键显示包内容),使用xcode打开info.plist文件即可。

2.2.2 没有ipa包

合规同学在日常线上巡查时,为了不强打扰业务,可以通过Apple Configurator 2工具搞到ipa包。因为没办法放链接,可以搜Apple Configurator 2提取ipa文件https://blog.csdn.net/qq_19484963/article/details/112284365,找详细方法,这里简单说一下。

  • 打开应用,连手机,登录Apple ID。

  • 点击添加按钮,选择要测试的App(保证本机已安装)

  • 弹出本机已存在xxxx的应用时,Finder打开如下路径,复制出来ipa:

    1
    ~/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps/
  • 按2.2.1的方式

2.2.3 其他方式

如果越狱了,应该可以用爱思助手什么的肯定是可以的。

3 权限使用情况

3.1 隐私洞见

iOS15以上,也有了类似小米照明弹的功能,可以下载隐私洞见App,查看App的访问记录。网上也有很多关于网友也通过这个功能,曝光国民App滥用权限的新闻。

使用方法:设置-隐私-记录App活动-存储App活动-导入到隐私洞见,即可即可查看

3.2 测试样例

可以通过如下测试样例分别进行测试:

  • 同意前信息上传、权限使用情况

    • 下载app后,打开,不做后续操作,放置(可后台运行)
    • 查看是否有权限申请情况
    • 导出活动记录,查看是否有网络活动
  • 权限使用频率

    • 同意隐私政策后,正常使用App一段时间
    • 导出活动记录,查看访问记录,评估权限使用频率
  • 后台运行情况

    • 同意隐私政策后,登录App后,放置后台运行一段时间(记录后台放置时间点)
    • 导出活动记录,查看访问记录中,后台放置后是否有权限使用情况

4 其他

  • 企业级证书ipa包怎么安装
    • 扫码
    • 扫码装不上可以下ipa,用xcode装(window-Devices&Simulators)
  • 权限是否是基于场景触发
    • 木办法,只能安装好,一步一步找到触发点。
CATALOG
  1. 1. 0 环境及工具
  2. 2. 1 常见权限
  3. 3. 2 info.plist 文件
    1. 3.1. 2.1 info.plist
    2. 3.2. 2.2 如何获取info.plist文件
      1. 3.2.1. 2.2.1 有.ipa包
      2. 3.2.2. 2.2.2 没有ipa包
      3. 3.2.3. 2.2.3 其他方式
  4. 4. 3 权限使用情况
    1. 4.1. 3.1 隐私洞见
    2. 4.2. 3.2 测试样例
  5. 5. 4 其他