摘要:本文扼要介绍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]三类深度学习算法。

Sechunter移动应用隐私合规检测详解

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

1. Convlayers。作为一种CNN网络方针检测办法,Faster RCNN首先使用一组根底的conv+relu+pooling层提取image的feature maps。该feature maps被同享用于后续RPN层和全衔接层。

2. RegionProposal 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获得检测框最终的准确方位。

Sechunter移动应用隐私合规检测详解

2.1 使用点

在UI自动化中,常常存在根据uiautomator的东西无法辨认的UI布局。首要有两种原因导致这种状况:1、UI内容由整张图片烘托而成;2、UI控件原因,某些用户编写的UI控件没有支撑无障碍服务,导致uiautomator无法获取UI布局。此时,使用UI图片方针辨认,能够判别可点击的有用区域。

Sechunter移动应用隐私合规检测详解

如上图所示,在Sechunter的UI自动化中,咱们需要获取使用的隐私声明文件链接,以及相应的“同意”、“不同意”的方位。在uiautomator无法获得UI布局的状况下,能够进行方针辨认,经过图像获得可点击方位,然后推进UI自动化测试的持续履行。

2.2 方针检测技能的使用

在模型练习中,首要困难在于数据集收集。Sechunter的解决计划是,先经过传统的图片处理计划获取初步的数据集,这儿咱们使用了图片处理范畴的明显区域辨认。这个进程的关键是要有一个验证模块,对隐私声明链接而言,即验证该区域点击跳转后内容的确是隐私声明。咱们使用了LDA主题模型来判别文本内容是否是隐私方针。经过验证的样本都收纳到数据会集,然后用这些标注数据进行第一版的方针辨认模型练习。

练习出来的模型只是使用传统图像处理能够辨认成功的图片进行学习。关于不成功的图片,咱们进一步使用OCR。OCR能够辨认出图像中的文字内容及其方位。结合第一阶段的方针辨认模型进行成果交融,能够得到更为准确的可点击区域成果,并且这个时候的交融计划现已初步能够使用了。跟着数据集的堆集,方针检测模型的检测成果也变得更准确。最终能够只使用方针辨认计划。

3、小结

移动使用隐私合规检测对维护个人信息安全有着重要作用。但现在市场上的东西自动化检测能力遍及都还比较有限。Sechunter在自动化隐私合规检测范畴做了一些积极探索,进行了很多跨范畴技能调研,本文介绍的方针辨认技能能够帮助自动化东西更快更准地辨认UI可点击区域。

文末福利:华为云漏洞扫描服务VSS 根底版限时免费体会>>>

引证:

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

【2】 Dex2jar:github.com/pxb1988/dex…

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

【4】 Flowdroid: blogs.uni-paderborn.de/sse/tools/f…

【5】 Monkey:developer.android.com/studio/test…

【6】 uiautomator2:github.com/openatx/uia…

【7】 AndroidViewClient:github.com/dtmilano/An…

【8】 YOLO3:github.com/ultralytics…

【9】 SSD:github.com/amdegroot/s…

【10】 FasterR-CNN:arxiv.org/abs/1506.01…

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