[发明专利]一种针对移动应用地理位置访问行为的细粒度分析方法有效
| 申请号: | 202110392292.8 | 申请日: | 2021-04-13 |
| 公开(公告)号: | CN113364731B | 公开(公告)日: | 2023-01-06 |
| 发明(设计)人: | 陈思依;华景煜;夏中舟;仲盛 | 申请(专利权)人: | 南京大学 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/52 |
| 代理公司: | 南京乐羽知行专利代理事务所(普通合伙) 32326 | 代理人: | 李玉平 |
| 地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 针对 移动 应用 地理位置 访问 行为 细粒度 分析 方法 | ||
1.一种针对移动应用地理位置访问行为的细粒度分析方法,其特征在于,一个合法的基于位置的功能LBF提供一个与用户交互的UI,并且利用UI上的文本来识别服务类型;具体包括如下五个步骤:
步骤一,定位L-UIs;所述定位L-UIs的实现包括静态L-UIs定位和动态L-UI搜索;分别制定静态L-UIs的定位方法和动态L-UI搜索方法;用于获得训练样本以及在预测阶段用于进行应用程序预处理;
步骤二,提取LBF文本;所述提取LBF文本包括:①提取布局文件上下文中的文本;②提取Activity类中的文本;③提取资源文件的名称;
步骤三,定义LBF类型;根据规范以及服务来定义LBF类型;
步骤四,标记LBF样本标签;对于下载的多个应用程序,标记其中的一半作为训练数据集;
步骤五,训练基于集成学习方法的LBF文本分类模型;选择机器学习分类模型和深度学习模型作为底层基础分类器,用投票算法将分类器结果集成;使用权重调整的投票算法作为分类集成方法,对于含有k个底层基础分类器的模型,应该首先为每个基础分类器Ci学习一个投票权重wi;然后,输入文本样本x的最终预测结果Censemble是:
其中,代表分类器Ci的分类结果是否正确;重复迭代,直到分类器权重收敛;
(1)静态L-UIs定位:
在Android中,UI对应于activity类,静态方法旨在搜索那些使用位置数据的活动类,使用位置数据意味着访问被定位结果污染的某个变量,包括如下实现步骤:
步骤1:通过进行污点分析找到访问位置相关变量的所有方法;在分析中,源点是请求位置的API,定义一个关键字列表,通过匹配模糊字符串的方法来识别请求位置的API;
步骤2:为了将找出的受污染的方法与Activity类关联起来,分析APK中的清单文件,以查找应用程序声明的所有Activity;然后,收集在Activity类中声明的每个LifecycleCallback Method,并将这个Method作为入口点;
步骤3:使用深度搜索算法从Android的Activity类的入口点开始,遍历应用程序的方法调用图,直到找到之前污染的任何方法,并同时记录相关的Activity类;这样即检测到所有直接或间接调用任何受污染的方法的Activity类;
(2)动态L-UI搜索:
动态L-UI搜索方法用于确定位置请求被hook时正在运行时的LBF相关的UI类,通过钩子函数同时记录前台Activity和应用程序正在运行的服务;
①应用程序在前台运行,没有运行后台服务;在这种情况下,前台Activity就是要找的L-UI;
②应用程序在后台运行,即捕获的运行后台服务调用位置请求;首先使用类似静态定位L-UI的方法来查找所有与位置相关的后台服务,然后利用静态分析来进一步确定这些位置相关后台服务的Activity类;
③应用程序在前台运行,同时运行后台服务;此情况获取hook的API的调用栈,并将调用栈与应用程序的静态提取的调用图进行比较,以做出是否需要记录Activity类的决定。
2.根据权利要求1所述的针对移动应用地理位置访问行为的细粒度分析方法,其特征在于,提取Activity类中的文本时,需将Activity类中的自定义函数的名称记录下来。
3.根据权利要求1所述的针对移动应用地理位置访问行为的细粒度分析方法,其特征在于,通过两个方向来定义LBF分类:一方面,根据中国国家标准《信息安全技术移动互联网应用(App)收集个人信息基本规范》定义LBF分类;另一方面,审查L-UIs样本,以定义服务的分类。
4.根据权利要求1所述的针对移动应用地理位置访问行为的细粒度分析方法,其特征在于,在定义了LBF类型后,确定对于每个LBF类型其可以接受的位置精度要求的界限;每个定义的LBF类都会要求分为8个粒度选项,范围为5米到100千米,8个粒度选项为5米,2千米,5千米,10千米,30千米,50千米,100千米,以及不需要的选项,从8个选项中选择可接受提供的位置精度。
5.根据权利要求1所述的针对移动应用地理位置访问行为的细粒度分析方法,其特征在于,训练基于集成学习的LBF文本分类模型中,选择机器学习分类模型和深度学习模型作为底层基础分类器,用投票算法将分类器结果集成;
类型1机器学习模型:
分类器的第一种类型是机器学习模型,利用机器学习模型进行特征选择,选择一组关键字;首先使用NLTK中的文本分段工具将文本样本划分为短语;然后,将具有最高TF-IDF值的这些短语或每个LBF类中的信息增益识别,并对它们执行相关性过滤以确定最终的关键词组;为每个训练样本形成了一个特征向量,其中每个元素的值是关键字的频率;将文本转换成向量数据后,训练一个模型,在模型选择阶段,选择支持向量机和逻辑回归作为机器学习的分类模型;
类型2深度模型:
基于Word Embedding选择了四个深度模型:(1)Fast-Text,(2)TextCNN,(3)TextRNN,(4)TextRCNN。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110392292.8/1.html,转载请声明来源钻瓜专利网。





