摘要:本文简要介绍Sechunter移动应用隐私合规检测的方法步骤,以及目标检测技术在其中的应用。

本文分享自华为云社区《移动应用隐私合规检测简介及目标检测技术的应用》,作者:wolfrevo 。

概述:

受益于移动设备的广泛普及,移动应用近年来得到了蓬勃发展。基于移动设备集成的各类传感器,众多功能丰富的移动应用被开发出来,聚集了大量高价值用户隐私数据,包括用户身份信息、地理位置信息、账户资料信息等。用户在享受移动应用带来便利的同时,其隐私安全也受到了重大威胁。在这样的背景下,移动应用隐私合规检测应运而生。本文简要介绍Sechunter移动应用隐私合规检测的方法步骤,以及目标检测技术在其中的应用。

1 移动应用隐私合规检测背景简介

移动应用的隐私合规检测,从技术形态上可以分为静态检测方案与动态检测方案。以下分别作简要介绍。

1.1 静态检测

静态检测方案通过对移动应用的安装包进行反编译,进而通过静态数据流、控制流分析等技术,检测移动应用中可能存在的隐私泄露问题。在该领域中,常用到以下工具:

  • Apktool [1]: 反编译安卓Apk,可以反编译资源,并在进行修改之后重新打包Apk
  • dex2jar [2]: 将Apk反编译成Java源码(classes.dex转化成jar文件)
  • Soot [3]:Soot最初是Java优化框架,发展至今已广泛应用于分析优化和可视化Java和Android应用程序。
  • Flowdroid [4]: 基于IFDS算法实现的针对Android的静态污点分析框架

利用上述工具,开发者可以制定相应的规范检测项,从而检测到应用中存在的隐私泄露隐患。

1.2 动态检测

动态检测方案通过运行待检测应用于真实手机或者模拟器沙箱,通过监控移动应用对系统内敏感资源的访问,结合移动应用的隐私政策声明分析,检测移动应用是否包含隐私违规行为。应用运行则可以由人工进行或者UI自动化。

1.2.1 敏感行为监测

运行时敏感行监测实时监控应用对用户隐私敏感数据的访问。在实现上分为两种:一种是直接在源码中添加监控代码。如在AOSP代码中的getLastLocation中直接添加代码,记录API访问行为。另一种则是通过hook方案,不直接修改源码,而是在系统运行APP时添加逻辑钩子,在APP调用特定敏感API时,先跳转至hook函数,最后再返回调用原敏感API。其中,hook函数负责记录应用的API访问行为。

1.2.2 UI自动化

移动应用自动化即通过程序控制移动应用UI交互。该领域典型的工具有: monkey [5],进行UI界面随机点击以及系统级事件。第三方UI自动化工具:uiautomator2 [6]和AndroidViewClient [7], 基于系统工具uiautomator实现,能够实现基本的自动化UI测试功能编程。

2 目标检测技术在隐私合规检测领域的应用

深度学习中的目标检测,主要用于在视图中检测出物体的类别和位置,如下图所示。目前业界主要有YOLO [7],SSD [8]和RCNN [9]三类深度学习算法。

以Faster RCNN为例,该算法是RCNN算法的演进。在结构上,Faster RCNN将特征抽取(feature extraction),proposal提取,bounding box regression(rect refine),classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。Faster RCNN主要分为4个主要内容:

1. Conv layers。作为一种CNN网络目标检测方法,Faster RCNN首先使用一组基础的conv+relu+pooling层提取image的feature maps。该feature maps被共享用于后续RPN层和全连接层。

2. Region Proposal Networks。RPN网络用于生成region proposals。该层通过softmax判断anchors属于positive或者negative,再利用bounding box regression修正anchors获得精确的proposals。

3. Roi Pooling。该层收集输入的feature maps和proposals,综合这些信息后提取proposal feature maps,送入后续全连接层判定目标类别。

4. Classification。利用proposal feature maps计算proposal的类别,同时再次bounding box regression获得检测框最终的精确位置。

2.1 应用点

在UI自动化中,常常存在基于uiautomator的工具无法识别的UI布局。主要有两种原因导致这种情况:1、UI内容由整张图片渲染而成;2、UI控件原因,某些用户编写的UI控件没有支持无障碍服务,导致uiautomator无法获取UI布局。此时,使用UI图片目标识别,可以判断可点击的有效区域。

如上图所示,在Sechunter的UI自动化中,我们需要获取应用的隐私声明文件链接,以及相应的“同意”、“不同意”的位置。在uiautomator无法获得UI布局的情况下,可以进行目标识别,通过图像获得可点击位置,从而推进UI自动化测试的继续执行。

2.2 目标检测技术的应用

在模型训练中,主要困难在于数据集收集。Sechunter的解决方案是,先通过传统的图片处理方案获取初步的数据集,这里我们使用了图片处理领域的显著区域识别。这个过程的关键是要有一个验证模块,对隐私声明链接而言,即验证该区域点击跳转后内容的确是隐私声明。我们使用了LDA主题模型来判断文本内容是否是隐私政策。通过验证的样本都收纳到数据集中,然后用这些标注数据进行第一版的目标识别模型训练。

训练出来的模型只是利用传统图像处理能够识别成功的图片进行学习。对于不成功的图片,我们进一步使用OCR。OCR能够识别出图像中的文字内容及其位置。结合第一阶段的目标识别模型进行结果融合,可以得到更为精确的可点击区域结果,并且这个时候的融合方案已经初步可以使用了。随着数据集的积累,目标检测模型的检测结果也变得更精确。最终能够只使用目标识别方案。

3 小结

移动应用隐私合规检测对保护个人信息安全有着重要作用。但目前市场上的工具自动化检测能力普遍都还比较有限。Sechunter在自动化隐私合规检测领域做了一些积极探索,进行了众多跨领域技术调研,本文介绍的目标识别技术能够帮助自动化工具更快更准地识别UI可点击区域。

文末福利:华为云漏洞扫描服务VSS 基础版限时免费体验>>>

引用:

【1】 Apktool:https://ibotpeaches.github.io/Apktool/

【2】 Dex2jar:https://github.com/pxb1988/dex2jar

【3】 Soot:http://soot-oss.github.io/soot/

【4】 Flowdroid: https://blogs.uni-paderborn.de/sse/tools/flowdroid/

【5】 Monkey:https://developer.android.com/studio/test/monkey?hl=zh-cn

【6】 uiautomator2:https://github.com/openatx/uiautomator2

【7】 AndroidViewClient:https://github.com/dtmilano/AndroidViewClient

【8】 YOLO3:https://github.com/ultralytics/yolov3

【9】 SSD:https://github.com/amdegroot/ssd.pytorch

【10】 Faster R-CNN:https://arxiv.org/abs/1506.01497

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

Sechunter移动应用隐私合规检测详解相关推荐

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

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

  2. 移动应用中的第三方SDK隐私合规检测,早知道

    摘要: 在移动应用隐私合规检测中,第三方SDK隐私声明由于其展现位置展现形式的多样性,自动化提取与解析是比较困难的任务. 本文分享自华为云社区<移动应用中的第三方SDK隐私合规检测>,作者 ...

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

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

  4. camille下的frida与mumu模拟器连接,进行隐私合规检测

    环境: mumu模拟器最新版本(官网自行下载) camille(最新版) python3 详细过程 frida 本机确保在python3的环境下,安装frida: pip install frida ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. IOS单例的两种实现方式
  2. Property with #39;retain (or strong)#39; attribute must be of object type
  3. ImageLightbox.js – 响应式的图片 Lightbox 插件
  4. java定时器 多线程_Java多线程 定时器
  5. arm平台linux移植ethtool工具
  6. 为什么Redis 单线程却能支撑高并发?
  7. Ubuntu设置Root用户开机启动
  8. 快速开发 HTML5 交互式地铁线路图
  9. 盘点百位富豪读过的大学:土鳖比海龟更有优势
  10. 最喜欢的科技资讯类英文网站
  11. Flowplayer基于视频流的免费web视频播放器
  12. Linux-常见命令(二)
  13. Python基本语法学习小结
  14. 计算机器和智能-阿兰图灵(转帖)
  15. python-第一章 计算机基础知识
  16. 多线程实现主机端口扫描
  17. 一个数可以由哪些数相加得到
  18. tomcat 关闭catalina.out日志
  19. Windows系统 winver命令详解,Windows系统使用命令行查看系统版本
  20. OSChina 周四乱弹 ——儿子,和女班长的爱情纸条

热门文章

  1. php形状特征提取方法,LowB沙箱-PHP动态特征提取
  2. 三十种共识算法,直抵背后的灵魂
  3. GitHub开源组件集锦
  4. C++学习(一五九)Qt的场景图Scene Graph
  5. Ubuntu18.04设置自动连接WIFI
  6. scikit-learn初级
  7. 制作ROS移动机器人地盘
  8. 计算机需要权限来执行此操作 win7,win7系统删除提示“文件夹访问被拒绝,需要权限执行此操作”怎么办...
  9. v2021年烷基化工艺考试题及烷基化工艺考试试卷
  10. 熏蒸也要有讲究,蒸妙十三坊让熏蒸更有针对性