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

网友投稿 285 2022-10-05


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

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

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

概述:

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

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

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

1.1 静态检测

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

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

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

1.2 动态检测

1.2.1 敏感行为监测

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

1.2.2 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. 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获得检测框最终的精确位置。

2.1 应用点

2.2 目标检测技术的应用

3、小结

文末福利:华为云漏洞扫描服务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】 FasterR-CNN:​​https://arxiv.org/abs/1506.01497​


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:#yyds干货盘点# web安全day12:PKI
下一篇:Java中自己如何实现log2(N)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~