[发明专利]安卓应用程序中非权限相关隐私数据的识别方法有效
| 申请号: | 201510374683.1 | 申请日: | 2015-07-01 | 
| 公开(公告)号: | CN104966031B | 公开(公告)日: | 2018-02-27 | 
| 发明(设计)人: | 杨珉;杨哲慜;南雨宏;周顺帆;张源 | 申请(专利权)人: | 复旦大学 | 
| 主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F17/30;G06F17/27 | 
| 代理公司: | 上海正旦专利代理有限公司31200 | 代理人: | 陆飞,盛志范 | 
| 地址: | 200433 *** | 国省代码: | 上海;31 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | 本发明属于程序信息安全检测技术领域,具体为安卓应用程序中非权限相关隐私数据的识别方法。本发明方法分为数据预处理、隐私相关文本的分析、非权隐私相关界面元素的识别、基于代码静态信息流分析的果过滤四个阶段,主要针对处于Android系统的权限模型的保护范围之外的Android应用程序中非权限相关的隐私数据,将机器学习技术与传统静态信息流分析技术相结合进行识别。通过对此类隐私数据识别,能够将其标记为敏感数据源,进一步结合传统静态信息流分析检测技术或者动态污点信息跟踪检测技术,为此类隐私数据的监控和保护提供基础,从而降低用户隐私数据的泄露风险。 | ||
| 搜索关键词: | 应用程序 中非 权限 相关 隐私 数据 识别 方法 | ||
【主权项】:
                一种安卓应用程序中非权限相关隐私数据的识别方法,将用户隐私数据分为三类:账户相关的认证信息以及用户数据、地理位置数据、金融支付类隐私数据;其特征在于识别的具体步骤分为四个阶段:一、数据预处理,包括:提取资源文件、文本预处理;其中:提取资源文件:首先采用Apktool对Android应用程序进行逆向工程,提取得到描述界面的资源文件;对于逆向工程后的Android应用程序,其描述界面的XML文件散布于不同的文件夹中;其中,用以描述用户交互界面(UI)的布局文件位于res/layout文件夹下;界面元素和其16进制ID的对应关系存储于res/value/public.xml文件中;界面中所展示的文本即界面文本位于/res/values/strings.xml文件中;文本预处理:使用Python的NLTK工具包进行文本预处理,包括文本分词、文本过滤、词干提取;其中:文本分词:对于上述获得的资源文件中,以变量名形式存在的文本,根据其分隔符或大小写对其进行分词;对于一些文本常量是由几个单词简单拼接而成的,从WordNet上获取词表,并不断从文本中切分出词表中所能匹配到的最长词;文本过滤:对于处理后的资源文件,去除其中的数字和符号,仅保留单词;同时去除其中的停用词;词干提取:通过Porter词干提取算法,剔除时态、词性的影响,减小单词形态变化;二、隐私相关文本的分析通过设定少量“种子词”,借助卡方检验,提取训练集文本中与其相关的词,从而扩展敏感词列表,获取更加完整的隐私相关文本:种子词是指定一系列能够准确描述用户隐私的词汇;由于每个界面布局样本文件中都包含了界面文本,通过判断界面文本当中是否包含种子词,以及下面的约束条件来判定一个界面布局样本文件是否为隐私相关的界面:(1)存在“动词+种子词”的模式;(2)存在“物主代词+种子词”的模式;满足上述两个条件之一的界面布局样本文件,将其标记为隐私相关界面即正样本,同时由于Android系统允许界面布局文件相互嵌套,将其中所嵌套的其他界面布局文件也标记为正样本;反之,若界面布局样本文件未满足这两个条件,则标记其为非隐私相关界面即负样本;对于正样本中出现的所有单词进行卡方检验,并将结果按数值从高到低进行排序;单词具有高数值意味着其能够更好的表征其所在的界面或界面元素是隐私相关的;噪声过滤:卡方检验能够拓展隐私相关的词表,却不可避免的引入噪声,为此,在噪声过滤阶段引入少许人工干预,通过遍历卡方检验结果剔除与隐私无关的词汇;三、非权隐私相关界面元素的识别使用机器学习的方法,基于对界面元素的文本语义分析,实现非权隐私相关界面元素的自动识别;通过训练集训练获得分类器,对于给定的未分类界面元素,判定其文本语义是否是与隐私相关;其中包括:特征选取:选取隐私相关文本分析中所挑选出的隐私相关单词作为特征;并通过多个单词的组合,有效地评判一个界面是否为与隐私相关;对于每个界面元素,其特征向量的长度为词表的长度,特征向量的每一维度为对应单词的词频,此处的词频为元素自身和其前后兄弟节点的词频之和;训练集:对于Android应用而言, Android系统提供了inputType属性;在inputType的取值范围中,有一些属性值表征了对应输入框将接收所关注的隐私数据;对于那些具有inputType属性,且属性值包含“password”,“email”,“postaladdress”,“phonenumber”的元素,将其标记为训练集中的正样本;同时,人工选取部分Financial相关隐私输入元素作为正样本的补充;负样本选取与正样本等量,包含任意敏感词但是不属于隐私相关的界面元素;分类器选择:选用支持向量机SVM作为分类器;四、基于代码静态信息流分析的结果过滤对于上一步中获得的所有界面元素,通过静态信息流分析确定其是否真正接受用户输入,进一步剔除只具有隐私相关语义,但不具备隐私获取能力的静态界面元素;过滤条件:对于步骤三中分析得出的任意界面元素,以其唯一元素ID作为信息流分析源点,查看其在Android生命周期中的相应代码特征;如果该元素存在以getText()函数为终点之一, 且处在包含Onclick()函数的下游,即可判断为该元素确实接受了用户的数据输入;经过过滤后,所获得到的符合上述代码特征的界面元素ID集合即对应于界面上接收非权限相关的隐私数据的界面元素集合。
            
                    下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
                
                
            该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510374683.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种用于获取图像数据的条码识读引擎
- 下一篇:数据保护系统、方法和装置





