摘要: 在移动应用隐私合规检测中,第三方SDK隐私声明由于其展现位置展现形式的多样性,自动化提取与解析是比较困难的任务。

本文分享自华为云社区《移动应用中的第三方SDK隐私合规检测》,作者: wolfrevo。

概述:

工信部164号文[1]要求对SDK违规处理用户个人信息进行整治,包括违规收集个人信息、超范围收集个人信息、违规使用个人信息、强制用户使用定向推送功能等违规内容。相关整治内容的检测需要结合第三方SDK隐私声明与SDK运行时行为进行判断。本文简要介绍如何提取与解析第三方SDK相关的隐私政策内容以及如何在运行时监控第三方SDK处理个人隐私数据。

工信部164号文中对于SDK违规处理个人信息的检测内容:

(一)APP、SDK违规处理用户个人信息方面。
1.违规收集个人信息。重点整治APP、SDK未告知用户收集个人信息的目的、方式、范围且未经用户同意,私自收集用户个人信息的行为。
2.超范围收集个人信息。重点整治APP、SDK非服务所必需或无合理应用场景,特别是在静默状态下或在后台运行时,超范围收集个人信息的行为。
3.违规使用个人信息。重点整治APP、SDK未向用户告知且未经用户同意,私自使用个人信息,将用户个人信息用于其提供服务之外的目的,特别是私自向其他应用或服务器发送、共享用户个人信息的行为。
4.强制用户使用定向推送功能。重点整治APP、SDK未以显著方式标示且未经用户同意,将收集到的用户搜索、浏览记录、使用习惯等个人信息,用于定向推送或广告精准营销,且未提供关闭该功能选项的行为。

第三方SDK隐私政策提取与解析

针对第三方SDK隐私声明的提取,按照应用隐私政策呈现的方式,可以分为两种主要形式:1、直接在应用隐私声明中陈述(如图1所示)。2、在隐私声明中提供跳转形式单独表述(如图2所示)。针对第2种情况,需要对第三方SDK隐私声明的文本跳转内容进行提取。

调研表明,当第三方SDK的隐私声明以跳转方式另行表述时,目标跳转页面通常通过webview进行呈现,并且当前应用的隐私声明也由webview进行呈现。原因可能在于使用url借助webview进行跳转,不需要另行开发跳转过程,否则需要通过封装intent进行不同应用页面之间的跳转。

对第三方SDK隐私声明内容进行提取,存在两种可行方案。一、获取第三方SDK超链接,进而通过url解析文本。二、获取第三方SDK超链接文字在页面上的位置,通过模拟点击跳转,然后通过uiautomator获取页面文字。第二种方案可由《移动应用隐私合规检测简介及目标检测技术的应用》 中所述的方案进行文本定位。但是考虑到部分应用使用表格形式展示接入的第三方SDK的情形,如果通过uiautomator获取页面文字将丢失表格样式信息,增加解析难度。因此优先采用第一种方案,具体步骤为:

1、利用hook技术添加代码 webView.setWebContentsDebuggingEnabled(true);

2、获取第三方SDK超链接,并跳转;

3、基于Chrome DevTools Protocol [2]获得带样式的文本。

按照第三方SDK内容展示的形式,可以分为三类:1、以表格形式(如图3);2、无样式列表(如图1);3、无固定格式。对于第1种形式,根据前文所述可以使用基于Chrome DevTools Protocol的方案可以解决。对于第2种形式,我们开发了一个启发式重复格式行查找算法,找出相邻SDK隐私陈述的分界。而对于第3中形式,除在单行中陈述单个SDK隐私政策的情况外,其余情况目前难以关联SDK主体与其对应的隐私陈述,这种情形在实际的应用中出现较少。

至此,我们完成了隐私政策中的第三方SDK隐私声明的提取与解析,方案小结如下表:

小结:

在移动应用隐私合规检测中,第三方SDK隐私声明由于其展现位置展现形式的多样性,自动化提取与解析是比较困难的任务。我们通过调研统计,对常见的第三方SDK隐私声明展现方式进行总结,归纳出一套自动化的解析方案,以增强对第三方SDK隐私违规行为的检测能力。

文末福利:华为云移动应用安全服务新品特惠,了解详情>>>

引用:

【1】 工业和信息化部关于开展纵深推进APP侵害用户权益专项整治行动的通知, http://www.gov.cn/zhengce/zhengceku/2020-08/02/content_5531975.htm

【2】 Chrome DevTools Protocol,https://chromedevtools.github.io/devtools-protocol/

点击关注,第一时间了解华为云新鲜技术~

移动应用中的第三方SDK隐私合规检测,早知道相关推荐

  1. 移动应用中的第三方SDK隐私合规检测

    [摘要] 概述:工信部164号文[1]要求对SDK违规处理用户个人信息进行整治,包括违规收集个人信息.超范围收集个人信息.违规使用个人信息.强制用户使用定向推送功能等违规内容.相关整治内容的检测需要结 ...

  2. 安卓端自行实现工信部要求的隐私合规检测一(教你手写Xposed模块代码)

    前言 友情提示:文章较长,源码及相关使用教程都在文尾. 之所以写这篇文章,是因为不久前,我们公司上架的app被打回来了.信通院那边出了个报告,里面说我们app未经授权就自动获取了手机的mac地址.当时 ...

  3. EMAS隐私合规检测专项服务,从确保形式合规及实质合规规避风险

    一.App数据安全,主流商业模式下的新挑战 近年来随着信息技术快速发展,大数据时代已经来临.大数据为我们带来信息共享.便捷生活的同时,还存在着数据安全问题. 目前不少公司依托于推送等采集数据工具沉淀用 ...

  4. 安卓APP:隐私合规检测常见问题建议总结

    1.1 违规收集个人信息 1).APP隐私政策必须非常清楚.全面地说明(不要用可能收集.了解用户信息这种模糊不清晰的词语)收集用户个人信息的目的.方式和范围,用户个人信息包括但不限于mac地址.设备序 ...

  5. App 不想被“点名”,mPaaS 隐私合规检测为开发者护航数字生态建设

    简介:<个人信息保护法>的即将落地,无疑是近年来政策法规及监管标准不断细化深化.监管查处力度不断加大.处置通报常规化的又一里程碑式的具象体现,App 开发企业如若违规将会面临的各类损失也在 ...

  6. 正式开源 无恒实验室推出 appshark 自动化漏洞及隐私合规检测工具

    一.开源背景 随着移动互联网的高速发展,人们的生产生活也逐渐从 PC 电脑端转移到手机等移动端,各类移动 App 也如雨后春笋般产生.受限于代码的开发质量等原因, App 中或多或少的会存在安全漏洞或 ...

  7. 小米隐私合规检测之违规收集IP地址

    近一段时间,小米应用市场率先进行了比较严格的隐私合规检测,检测未通过的应用面临着下架风险,我们的APP在面对隐私政策检测时,被打回了很多次,每次小米应用市场会发一个日志文本让我们自检. 一般来说这个日 ...

  8. App隐私监管新规实施 隐私合规检测要注意这几点?

    5月1日,国家四部委联合制定的<常见类型移动互联网应用程序必要个人信息范围规定>(简称<规定>)将正式实施. <规定>明确移动互联网应用程序(App)运营者不得因用 ...

  9. 安卓端自行实现工信部要求的隐私合规检测二(使用Xposed/VirtualXposed进行监测)

    一.准备条件 1.编译合规检测的Xposed模块源码 下载源码,修改设置白名单,编译成apk,安装到手机 相关操作参考<安卓端自行实现工信部要求的隐私合规检测一(教你手写Xposed模块代码)& ...

最新文章

  1. s5 android5.0内存泄漏,android-最初从位图泄漏了未引用的byte [],但被回收的()导致内存泄漏(直到活动停止)...
  2. 【理论】红黑树的实现原理
  3. 阿德:我在去哪儿干了些什么,3个月业绩400%提升
  4. 判断三角形java代码_java基础编程题之异常处理
  5. Java通过Executors提供四种线程池
  6. Git之创建远程分支和删除远程分支
  7. LAMP源代码编译整理
  8. 用学生编程记录预测学习成果,第二届计算机教育数据挖掘大赛, 赢取现金奖励+顶刊发表机会!...
  9. 用nifi把hdfs数据导到hive
  10. VALSE学习(七):跨媒体分析-Cross-Media Analysis and Intelligence
  11. 书籍推荐:《Java数据结构与算法》
  12. Struts2中的ValueStack类
  13. 记忆模糊知识点5-11
  14. 专为前端开发者准备的 15 款优秀的 Sublime Text 插件
  15. xml标记语言-概述
  16. xss.haozi.me靶场详解
  17. XP IIS5.1安装文件
  18. 域名服务商自曝行业内幕:用户面临层层陷阱
  19. ZBlog支持ppt一键导入
  20. Home Assistant系列 -- 接入手机摄像头做实时监控和人脸识别

热门文章

  1. 从北京到新加坡再到阿姆斯特丹,他去公布了一个惊天的“秘密”
  2. opencv需要安装mysql吗_OpenCV2.4.3的新特征以及安装方法
  3. win10 网络重置后WIFI不见了
  4. 资产初探:理财直接融资工具
  5. 乐鑫ESP32-C3开发(一)简述和目录
  6. html body language,关于BODY LANGUAGE
  7. useragent怎么获取
  8. 秋招春招,1v1面试技巧和常见问题
  9. 使用gb2312乱码,utf-8正常
  10. lombok get/set 方法未生效,解决办法