App安全合规的思考(五)隐私合规产品调研 – 作者:Moench

App安全合规的思考(一):APP安全认证的工作流程梳理

App安全合规的思考(二) 监管的重点变化梳理

App安全合规的思考(三)如何做好App整改应急响应工作

App安全合规的思考(四) 权限问题

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.7 基于规范的检测

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

1.6 报告导出

  • word

  • pdf

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

2 后台及权限管理

2.1 权限划分

  • 基于角色划分

  • 基于业务划分

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

2.2 后台其他功能

  • App检测统计

  • 高频问题统计

  • 基于同一产品的统计

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

3 运维部署及接口支持

3.1 运维部署

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

  • 在线使用:数据存在云端,风险大一些。

3.2 接口支持

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

看完相信你已经有评判标准啦~

来源:freebuf.com 2021-05-27 19:58:59 by: Moench

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论