muchener's blogs

App安全合规-part9:隐私合规产品调研

字数统计: 1.7k阅读时长: 5 min
2021/05/28 Share

Freebuf:https://www.freebuf.com/articles/compliance/275273.html

0 前言

随着监管越来越严格,企业对App安全合规的重视,很多乙方安全公司也都分分推出了自己的检测产品,像百度、钱信、通付盾、爱加密等等。App隐私合规产品大概都需要什么样的功能呢?哪些功能是一个使用人最需要的呢?试用了一些产品做了竞品分析工作,从一个需求方来分享下隐私合规产品都需要哪些硬性的功能。

1 产品功能

其实从产品架构上来讲,各家的实现方式都大同小异,各家产品白皮书上也都放了产品架构图,可以自行查看,下边主要一些功能和问题。

1.1 产品对比

用途:同一产品不同版本进行检测结果对比,可以清晰看出版本间的变化。

功能建议:以产品为一个 整体,产品中的不同包体做对比,比较清晰明了。

1.2 静态分析&动态分析

  • 静态分析:其实就是XML/DEX/bin反编译,静态解析一些权限、SDK、函数使用等等,图片文字识别等(比如通过登录的页面得知需要获取手机号)。
  • 自动化快速动态分析:把包扔进去进行模拟点击等过程抓包分析,优点不需要人工干预,缺点就是部分功能无法触发从而测试不到。
  • 人工干预的动态分析:人工点击,可以人工判断一些问题是否合规,触发点可控。

选择建议:主要根据公司业务,如果公司业务的app都很大,建议选择真机测试。如果是业务app都很小可以选择模拟器的方式。

1.3 个人信息收集

1.3.1 实现方法

  • 用户输入内容的页面分析:其实就是比如我app嵌了三个页面,通过对页面内容进行分析,从而得出获取的个人信息。优点:可以抓取到一些个人信息收集情况,有些很深层的填写页面可以抓取到。缺点:误报率高,文本识别不智能、页面可能有不用的情况
  • 网络数据包分析:通过将设备打标识的信息与抓取网络数据包的内容作对比,从而判断获取信息情况。
  • hook底层方法:hook底层方法可以解决网络监控中无法识别加密数据,但是函数执行并不代表收集上传,所以还是不太准确的。

1.3.2 收集内容明细

  • 获取频率
  • 触发方式/上传或存储地址
  • 静默个人信息获取情况:这块必然是未来检查的重点,部分产品已实现检测功能;
  • 是否显示出境情况
  • 是否区分第三方及应用自身

选择建议:规范其实对获取频率是有要求的,建议选择有此功能的,此外,有些产品只列出了上传的数据,而忽略了一些本地存储或获取(可能加密上传)的内容,可以仔细检查功能。

1.3.3 信息泄露问题

  • 明文存储
  • 明文传输

功能建议:这个检测是应该的,是不是还可以做下接口的冗余数据检测???这个也很用必要。

1.4 第三方SDK检测

  • SDK名称
  • SDK版本:目前没看到能有SDK版本的产品,感觉有版本在合规测试里还是很重要的,同一产品不同版本手机个人信息和权限的情况还是会有差别的。
  • SDK描述:对于SDK有个大致的功能描述,如推送、统计等等,可以让合规人员对此SDK有些大致了解。
  • SDK收集的数量:SDK收集的数量和SDK识别率挂钩,如何更多更全面的收集第三方SDK入库也十分重要。
  • SDK隐私政策:有些产品还把第三方SDK的隐私政策放上去了,感觉这个做法好温馨,可以减少合规人员的重复劳动力。

问题:SDK嵌套问题很多。例如第三方SDK A中用用了第三方SDK B,最后的结果会把A B都列出来,这里需要人工去和开发沟通做删减的办法解决。

1.5 权限检测

  • 权限申请

  • 权限使用

  • 一揽子授权

  • 权限敏感程度

  • 是否区分第三方及应用自身:如果应用自身获取了权限,第三方SDK也偷偷使用这种情况不及时发现并披露,可能会存在很大风险,这个功能很有用。

  • 静默权限调用情况

1.6 隐私政策检测

  • 文本分析:基于nlp,对比上述检测出来的个人信息及权限去做比对。
  • 对标条款:《APP违法违规收集使用个人信息自评估指南》、《信息安全技术 个人信息安全规范》、164号文……:其实并不是越多越好,这块其实针对中小型企业可用,大厂一般都有很多的专业人员,哪项条款符合哪项不符合还是人来判断更准确。
  • 人工检测
  • 自定义检测

1.6 报告导出

  • word
  • pdf

好看就完事了,要是支持自定义删减导出就更好了。

1.7 基于规范的检测

这里就不说了,就是勾勾选选截个图,没有任何含金量,谁都能根据规范梳理出来。

2 后台及权限管理

2.1 权限划分

  • 基于角色划分
  • 基于业务划分

很多公司存在不同业务线,合规、法务、业务角色均不同,通过角色和业务划分,可以解决权限划分问题。

2.2 后台其他功能

  • App检测统计
  • 高频问题统计
  • 基于同一产品的统计

这些可以帮助合规人员快速规则汇总问题,方便针对性的培训或检查业务提包流程规范等等。

3 运维部署及接口支持

3.1 运维部署

  • 本地部署:本地部署可以把数据留存本地,风险小。但是现在此类产品升级迭代块,升级维护需要远程或者公司人员做。
  • 在线使用:数据存在云端,风险大一些。

3.2 接口支持

现在很多公司有自己的测试产品,如果能够提供接口支持,可以更方便的接入现有平台做二次开发,更加贴合公司需求。但目前来看,稍有产品可以支持。

CATALOG
  1. 1. 0 前言
  2. 2. 1 产品功能
    1. 2.1. 1.1 产品对比
    2. 2.2. 1.2 静态分析&动态分析
    3. 2.3. 1.3 个人信息收集
      1. 2.3.1. 1.3.1 实现方法
      2. 2.3.2. 1.3.2 收集内容明细
      3. 2.3.3. 1.3.3 信息泄露问题
    4. 2.4. 1.4 第三方SDK检测
      1. 2.4.1. 1.5 权限检测
    5. 2.5. 1.6 隐私政策检测
    6. 2.6. 1.6 报告导出
    7. 2.7. 1.7 基于规范的检测
  3. 3. 2 后台及权限管理
    1. 3.1. 2.1 权限划分
    2. 3.2. 2.2 后台其他功能
  4. 4. 3 运维部署及接口支持
    1. 4.1. 3.1 运维部署
    2. 4.2. 3.2 接口支持