CN110096867B - 一种面向Android应用功能的权限推荐方法及系统 - Google Patents

一种面向Android应用功能的权限推荐方法及系统 Download PDF

Info

Publication number
CN110096867B
CN110096867B CN201910392589.7A CN201910392589A CN110096867B CN 110096867 B CN110096867 B CN 110096867B CN 201910392589 A CN201910392589 A CN 201910392589A CN 110096867 B CN110096867 B CN 110096867B
Authority
CN
China
Prior art keywords
permission
theme
authority
text description
topic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910392589.7A
Other languages
English (en)
Other versions
CN110096867A (zh
Inventor
许静
高红灿
过辰楷
吴彦峰
候晓磊
朱静雯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nankai University
Original Assignee
Nankai University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nankai University filed Critical Nankai University
Priority to CN201910392589.7A priority Critical patent/CN110096867B/zh
Publication of CN110096867A publication Critical patent/CN110096867A/zh
Application granted granted Critical
Publication of CN110096867B publication Critical patent/CN110096867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向Android应用功能的权限推荐方法及系统。所述权限推荐方法包括:获取高于数量阈值的应用程序的文本描述;所述文本描述为描述应用程序功能的文本;根据所述文本描述建立多主题模型;从所述应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到与所述危险权限相关的权限组,确定危险权限集合;根据所述多主题模型以及所述危险权限集合建立多主题‑权限映射模型;根据所述多主题‑权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐。采用本发明所提供的权限推荐方法及系统能够为用户提供合理安全的权限推荐,保护用户的隐私安全。

Description

一种面向Android应用功能的权限推荐方法及系统
技术领域
本发明涉及保护数据隐私安全的技术领域,特别是涉及一种面向Android应用功能的权限推荐方法及系统。
背景技术
随着信息技术的发展,智能手机在人们的日常生活中已经成为必不可少的一部分。其中,安卓Android智能手机的用户占比达到85.1%,在移动应用领域占据着最大的市场份额。作为Android最重要的安全措施之一,权限管理机制用于保护用户的隐私数据信息。2015年5月,Android6.0系统出现,安卓权限机制由传统的“安装时权限”转换为“运行时权限”。Android6.0的权限机制重新对权限进行了划分,主要分为与用户敏感数据相关的危险权限和不直接威胁到用户隐私的常用权限。除此之外,危险权限以组的形式存在,每个权限组包含了与用户敏感信息相关的若干个权限,共分为九大类,如附图1所示。2018年初,Google公布了最新的安卓系统各大版本的市场份额,Android6.0以28.6%的份额占据首位,说明了Android6.0机制的重要性。
Android6.0之后的应用程序的权限的授权更加依赖于用户操作。作为使用体验,用户对应用的权限授权决策主要取决于用户认为该应用是否需要该权限,也就是该应用本身的功能是否于此权限相关。然而,由于用户在授权过程中缺乏权限意识和追求快速操作等原因,很少有用户关注这些机制,并且很难做出正确的决策,从而造成敏感信息的泄露。Android6.0的权限机制虽然在很大程度上为用户提供了选择的自由,却也对数据的安全性和隐私性造成威胁。因此,帮助用户进行安卓应用程序的权限的授权管理是Android安全性研究的重要内容。
2016年之后才有了对Android6.0的初步研究,主要集中在动态环境下的用户授权推荐和根据用户隐私偏好的权限推荐,但是需要依赖用户提供大量的历史决策,而且忽略了用户本身缺乏权限意识而造成的安全问题;尽管这些研究对用户的授权进行了辅助,但是并没有从用户最关注的角度出发辅助授权,即应用的功能是否需要该权限,权限推荐准确性低,使得用户难以做出正确的授权决策,容易造成敏感信息的泄露。
发明内容
本发明的目的是提供一种面向Android应用功能的权限推荐方法及系统,以解决现有的权限辅助方法权限推荐准确性低,使得用户难以做出正确的授权决策,容易造成敏感信息泄露的问题。
为实现上述目的,本发明提供了如下方案:
一种面向Android应用功能的权限推荐方法,包括:
获取高于数量阈值的应用程序的文本描述;所述文本描述为描述应用程序功能的文本;
根据所述文本描述建立多主题模型;
从所述应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到与所述危险权限相关的权限组,确定危险权限集合;
根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型;
根据所述多主题-权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐。
可选的,所述根据所述文本描述建立多主题模型,具体包括:
利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述;
利用文档主题生成模型LDA进行主题挖掘,将所述预处理后的文本描述解析生成主题-词汇集合的对应关系;
根据所述主题-词汇集合的对应关系建立多主题模型。
可选的,所述利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述,具体包括:
利用langid包检测所述文本描述,并删除所有非英文文本的段落,确定过滤后的文本描述;
删除所述过滤后的文本描述的无意义参数,确定删除后的文本描述;所述无意义参数包括所有标点符号以及无相关权限信息的超文本标记语言HTML标签、链接以及电子邮件地址;
利用自然语言处理工具包NLTK对所述删除后的文本描述进行去停用词和词干化处理,确定预处理后的文本描述。
可选的,所述根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型,具体包括:
基于互信息法、T检验法以及皮尔逊Pearson相关系数根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型。
可选的,所述根据所述多主题-权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐,具体包括:
根据公式Score(PG,app)=∑topicP(T|app)Relevance(T,PG)生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;其中,Score(PG,app)为应用程序和权限请求所属的权限组之间的相关性;PG为危险权限组,app为应用程序;T为LDA模型中生成的主题topic;P(T|app)为应用程序属于某个主题的概率;Relevance(T,PG)为权限组与主题的相关性。
一种面向Android应用功能的权限推荐系统,包括:
文本描述获取模块,用于获取高于数量阈值的应用程序的文本描述;所述文本描述为描述应用程序功能的文本;
多主题模型建立模块,用于根据所述文本描述建立多主题模型;
危险权限集合确定模块,用于从所述应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到与所述危险权限相关的权限组,确定危险权限集合;
多主题-权限映射模型确定模块,用于根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型;
权限推荐模块,用于根据所述多主题-权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐。
可选的,所述多主题模型建立模块具体包括:
预处理单元,用于利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述;
主题-词汇集合的对应关系生成单元,用于利用文档主题生成模型LDA进行主题挖掘,将所述预处理后的文本描述解析生成主题-词汇集合的对应关系;
多主题模型建立单元,用于根据所述主题-词汇集合的对应关系建立多主题模型。
可选的,所述预处理单元具体包括:
过滤后的文本描述确定子单元,用于利用langid包检测所述文本描述,并删除所有非英文文本的段落,确定过滤后的文本描述;
删除后的文本描述确定子单元,用于删除所述过滤后的文本描述的无意义参数,确定删除后的文本描述;所述无意义参数包括所有标点符号以及无相关权限信息的超文本标记语言HTML标签、链接以及电子邮件地址;
预处理后的文本描述确定子单元,用于利用自然语言处理工具包NLTK对所述删除后的文本描述进行去停用词和词干化处理,确定预处理后的文本描述。
可选的,所述多主题-权限映射模型建立模块具体包括:
多主题-权限映射模型建立单元,用于基于互信息法、T检验法以及皮尔逊Pearson相关系数根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型。
可选的,所述权限推荐模块具体包括:
权限推荐单元,用于根据公式Score(PG,app)=∑topicP(T|app)Relevance(T,PG)生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;其中,Score(PG,app)为应用程序和权限请求所属的权限组之间的相关性;PG为危险权限组,app为应用程序;T为LDA模型中生成的主题topic;P(T|app)为应用程序属于某个主题的概率;Relevance(T,PG)为权限组与主题的相关性。
根据本发明提供的具体实施例,本发明公开了以下技术效果:由于Android应用的描述文本是开发者在发布时,用来对应用进行描述的一段文字,包括应用的名称、功能和特色等,本发明提供了一种面向Android应用功能的权限推荐方法及系统,通过对文本描述进行分析,挖掘应用程序的主要功能,继而建立主题-权限映射模型,从而为用户提供合理安全的权限推荐,保护用户的隐私安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的面向Android应用功能的权限推荐方法流程图;
图2为本发明所提供的抓取的音乐播放器应用云雀播放器Lark Player的文本描述示意图;
图3为本发明所提供的安卓应用的权限推荐流程图;
图4为本发明所提供的评估数据集中各个危险权限组所占比例示意图;
图5为本发明所提供的面向Android应用功能的权限推荐系统流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种面向Android应用功能的权限推荐方法及系统,能够为用户提供合理安全的权限推荐,保护用户的隐私安全。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明所提供的面向Android应用功能的权限推荐方法流程图,如图1所示,一种面向Android应用功能的权限推荐方法,包括:
步骤101:获取高于数量阈值的应用程序的文本描述;所述文本描述为描述应用程序功能的文本。
本发明中使用到的数据集主要分为两部分:用于训练模型的数据集和用于评估的数据集。训练模型的数据集主要包括Android安装包APK文件和文本描述文件。
从Googleplay商店收集了覆盖30个分类的25180个应用程序,每个应用程序包括一个APK文件和用于描述应用程序的源文件。其中,包名是应用的唯一表示,APK是一种用于安装Android应用软件的安装包,包含代码和清单文件等,文本描述则来自于Googleplay商店每个应用的详情页面,用来介绍应用程序的基本功能和特点,例如一个音乐播放器应用Lark Player的文本描述如图2所示,这些数据直接利用计算机程序设计语言python爬虫程序获取。对于下载到本地的应用安装包,使用谷歌提供的APK编译工具APKTool反编译Android安装包.apk文件,并使用自动化工具AAPT提取应用程序的信息描述文件Manifest.xml中的危险权限,存储到数据库中,作为权限分析阶段的输入。最终在数据库中保存了每个APP的包名、类别、文本描述和权限属性。
第二部分是用于评估权限推荐的数据集,采用与训练集同样的方法,从Googleplay上爬取了不同于训练集的230个应用;除了包名、类别、文本描述和权限的提取之外,为了验证基于主题挖掘和权限分析的安卓应用授权模型的有效性,邀请具有专业Android开发经验的人员和相关领域的研究者对230个应用进行人工标注。
研究人员通过查看应用程序的文本描述、隐私策略和评论等对每一个应用程序的8个权限组进行手工标注,标注决策分为“ALLOW”,“DENY”和“ASK”三种,例如对于一个以照相为主要功能的APK,相机CAMERA权限被认为是与其紧密相关的,因此当动态申请CAMERA时,应该帮助用户授权,人工标注为“ALLOW”,相反,对于RECEIVE_SMS(收信息)等并没有直接关系的权限,并不建议授权,人工标注为“DENY”,并将标记为“ALLOW”和“DENY”之外的剩余危险权限标注为“ASK”;在标注过程中,每次评估平均耗时6分钟;最终在数据库中保存了用于评估实验的230个应用信息。
步骤102:根据所述文本描述建立多主题模型。
所述步骤102具体包括:利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述;利用文档主题生成模型LDA进行主题挖掘,将所述预处理后的文本描述解析生成主题-词汇集合的对应关系;根据所述主题-词汇集合的对应关系建立多主题模型。
所述利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述,具体包括:利用python的文本语言检測和判别工具langid包检测所述文本描述,并删除所有非英文文本的段落,确定过滤后的文本描述;删除所述过滤后的文本描述的无意义参数,确定删除后的文本描述;所述无意义参数包括所有标点符号以及无相关权限信息的超文本标记语言(HyperText Markup Language,HTML)标签、链接以及电子邮件地址;利用自然语言处理工具包(Natural Language Toolkit,NLTK)对所述删除后的文本描述进行去停用词和词干化处理,确定预处理后的文本描述。
如图3所示,本发明主要分为四个阶段,第一阶段是基于文本描述的主题挖掘,其作用是挖掘可能描述应用程序的主要功能,用于后期的权限推荐。首先从Google play应用市场上进行数据集的收集,应用自然语言处理(Neuro-Linguistic Programming,NLP)技术对功能描述的文本进行预处理,并通过文档主题生成模型(Latent DirichletAllocation,LDA)模型进行主题挖掘,确定当前应用程序所属不同主题的概率,从而将功能描述解析成<主题-词汇集合>的形式;其中,LDA模型可以将文档集中的每篇文档按照概率分布的形式给出。
作为一种无监督学习,LDA在训练时不需要手工标注的训练集,但是需要输入文档集和指定主题的个数;由于本发明从Google Play商店中收集30个类别的应用程序,将LDA主题的个数确立为30;LDA也是一种典型的词袋模型,一篇文章是有多个主题的,而每个主题又对应着不同的词,因此,通过LDA模型,可以挖掘出文章的主题,以及与这些主题相对应的词;第二阶段是权限分析阶段,由于Android6.0的权限机制将权限划分为与用户敏感数据相关的危险权限和不直接威胁到用户隐私的常用权限,本发明只关注与危险权限相关的24个权限,如表1所示,并从应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到相关的权限组;第三阶段是基于互信息、student t检验(T检验)和皮尔逊相关系数(Pearson相关系数)方法建立<多主题-权限>映射,确立与30个主题相关的危险权限集合;最后,基于第一阶段和第二阶段获取的应用程序属于某个主题的概率和权限组与主题的相关性,得到应用程序文本描述与权限之间的关系,并根据推荐的权限排名,将权限决策推荐给用户。
表1
Figure BDA0002057068120000081
Figure BDA0002057068120000091
数据集的预处理
数据集的预处理主要包括文本描述的预处理和权限的预处理;文本的预处理在主题挖掘阶段进行。
对于文本主题,由于Google play上的应用程序来发布于不同的国家,文本描述由不同的语言构成,同一个应用程序经常包含多种语言的段落,例如,应用程序的主要描述是用英语编写的,而在描述的末尾,开发人员添加了一个用不同语言编写的简短句子来简要描述应用程序;为了对应用程序的主题功能进行挖掘,本发明只保留了英文文本,使用python的文本语言检測和判别工具langid包来检测他们最可能的语言并删除所有的非英文文本的所有段落;基于过滤后的文本,删除所有标点符号和无分析意义的HTML标签、链接和电子邮件地址等,并使用自然语言处理工具包NLTK对文本进行去停用词的处理;此外,不同于汉语,在英语中同一个单词有多种变形,诸如同一个单词后面加上表示复数的s和表示进行时的ing等等。
对于同一个单词,也会有不同的变体,例如like,likeness和liker等。因此,找出这些变形的单词,有利于对信息的检索和处理。
本发明利用自然语言处理工具包NLTK的Porter Stemmer工具来完成这项工作,经过处理的文本,作为后期LDA主题模型的输入。
对于权限的处理在权限分析阶段完成。在经过自动化工具AAPT提取应用程序的信息描述文件Manifest.xml中的危险权限后,只保留危险权限,并根据表1中的权限组与权限的映射表,将应用申请的权限映射到相应的权限组;在权限分析过程中,将应用请求的权限映射到相应的9个权限组,由于“SENSOR”的申请权限数量少于0.5%,为了减少异常值对实验的影响,我们的实验中没有考虑该权限组;经过预处理之后的文本描述作为LDA主体模型的训练集,文本描述和权限属性共同作为多主题-权限映射模型的训练集。本发明列出了在训练集中,危险权限组的种类、数量和百分比,如图4所示。
步骤103:从所述应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到与所述危险权限相关的权限组,确定危险权限集合。
步骤104:根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型。
所述步骤104具体包括:基于互信息法、T检验法以及皮尔逊Pearson相关系数根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型。
模型的训练主要分为两个部分:第一部分是LDA主题模型训练,第二部分是多主题-权限映射模型训练,分别在主题挖掘阶段和<多主题-权限>映射阶段完成。
为了对当前应用程序的多种功能进行描述,使用LDA进行主题挖掘,从应用程序的文本描述中提取出多个主题用来描述应用程序的多个功能。基于某一个主题T,计算文章与主题之间的概率P,同时将文章划分为若干个词汇,划分为{word1,word2,word3,....wordn},对划分后的某一个词汇,放置于相应的topic集合中,计算该词汇属于某一个词汇的概率Q,则该词汇在文章中的概率为PQ。
由于本发明从Google Play商店中收集30个类别的应用程序,因此将LDA主题的个数确立为30,此外,将得到的主题概率进行排序,排名越靠前的词汇越能表达该主题;本发明对25180个文本描述的进行主题挖掘,如表2所示,表2列举出其中10个主题以及相关的排名前5个词汇,包含主题名称及其属性词;除此之外,表3列举出了有关MP3播放器、天气预报和美图相机三个应用程序的LDA主题模型结果;其中,包名唯一地标识了Android应用,从应用程序的信息描述文件Manifest.xml文件中进行提取,这里列举了APK所属排名前三个的主题概率;本发明使用APKTool工具反编译.apk文件,并使用自动化工具AAPT检查它是否声明访问给定资源的权限,这些权限都在应用程序的信息描述文件Manifest.xml列表中声明。
表2
Figure BDA0002057068120000101
Figure BDA0002057068120000111
表3
Figure BDA0002057068120000112
Figure BDA0002057068120000121
建立多主题-权限映射模型
LDA主题模型训练得到的30个主题用于构建多主题-权限映射模型;由于权限是用来描述应用程序功能或者应用程序行为的特征,对于已经标记好主题的变量,通过测量特征变量与类变量之间的相关性来评估危险权限与主题之间的相关性;关联越强表明此权限与主题的联系越紧密。
本发明采用互信息,Pearson相关系数和T检验三种方法挖掘主题与权限的相关性Relevance(T,PG),用公式1表示
Figure BDA0002057068120000122
本发明分别通过上面三种方法来评估每个主题与危险权限组之间的相关性,建立<多主题—权限>映射,并对权限进行排序,得到与主题相关的危险权限的组合;表4显示了Map主题相关的权限组排名,其中,排序结果代表权限与主题关系的紧密程度。
表4
Figure BDA0002057068120000123
Figure BDA0002057068120000131
步骤105:根据所述多主题-权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐。
所述步骤105具体包括:
根据公式Score(PG,app)=∑topicP(T|app)Relevance(T,PG)生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;其中,Score(PG,app)为应用程序和权限请求所属的权限组之间的相关性;PG为危险权限组,app为应用程序;T为LDA模型中生成的主题topic;P(T|app)为应用程序属于某个主题的概率;Relevance(T,PG)为权限组与主题的相关性。
在本发明中,根据应用程序和权限组之间的关系对授权决策进行推荐;应用程序和权限请求所属的权限组之间的相关性可以表示为Score(PG,app);PG代表危险权限组,app代表了Android应用。相关性主要受两个因素影响:应用程序属于某个主题的概率,即P(T|app)和权限组与主题相关性(T,PG);对于每个应用程序,考虑大于5%的主题;给定一个应用程序和一个权限请求,Score(PG,app)的计算公式表示如下:
Score(PG,app)=∑topicP(T|app)Relevance(T,PG) (2)
在公式中,P(T|app)和Relevance(T,PG)分别在主题挖掘阶段和<多主题—权限>模型产生;其中,T是LDA主题模型中生成的topic,PG代表Android6.0之后,新的权限机制划分的危险权限组,P(T|app)是Android应用属于某个主题的概率,Relevance(T,PG)是权限组与主题的相关性;对于每一个输入的应用程序,通过在权限决策阶段产生与应用相关的一组权限排列Rank(PG,app),并对权限进行降序排名;最终根据申请权限在推荐序列中的位置进行推荐,如果申请权限位于k1个位置,进行相应的“ALLOW”推荐,如果位于k2个位置及之后的位置,进行“DENY”推荐,除此之外,采取第三种策略“ASK”由用户进行决策;由于本发明考虑了8个危险权限组,k1和k2的和不能大于8,因此,总共有28种有效方法;通过在实验中计算不同参数组合的准确率(Accuracy),讨论并取性能组好的参数组合,在本发明中(k1,k2)取(2,3)。
图5为本发明所提供的面向Android应用功能的权限推荐系统流程图,如图5所示,一种面向Android应用功能的权限推荐系统,包括:
文本描述获取模块501,用于获取高于数量阈值的应用程序的文本描述;所述文本描述为描述应用程序功能的文本。
多主题模型建立模块502,用于根据所述文本描述建立多主题模型。
所述多主题模型建立模块502具体包括:预处理单元,用于利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述;主题-词汇集合的对应关系生成单元,用于利用文档主题生成模型LDA进行主题挖掘,将所述预处理后的文本描述解析生成主题-词汇集合的对应关系;多主题模型建立单元,用于根据所述主题-词汇集合的对应关系建立多主题模型。
所述预处理模块具体包括:过滤后的文本描述确定单元,用于利用langid包检测所述文本描述,并删除所有非英文文本的段落,确定过滤后的文本描述;删除后的文本描述确定单元,用于删除所述过滤后的文本描述的无意义参数,确定删除后的文本描述;所述无意义参数包括所有标点符号以及无相关权限信息的超文本标记语言HTML标签、链接以及电子邮件地址;预处理后的文本描述确定单元,用于利用自然语言处理工具包NLTK对所述删除后的文本描述进行去停用词和词干化处理,确定预处理后的文本描述。
危险权限集合确定模块503,用于从所述应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到与所述危险权限相关的权限组,确定危险权限集合.
多主题-权限映射模型确定模块504,用于根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型.
所述多主题-权限映射模型建立模块504具体包括:多主题-权限映射模型建立单元,用于基于互信息法、T检验法以及皮尔逊Pearson相关系数根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型。
权限推荐模块505,用于根据所述多主题-权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐。
所述权限推荐模块505具体包括:权限推荐单元,用于根据公式Score(PG,app)=∑topicP(T|app)Relevance(T,PG)生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;其中,Score(PG,app)为应用程序和权限请求所属的权限组之间的相关性;PG为危险权限组,app为应用程序;T为LDA模型中生成的主题topic;P(T|app)为应用程序属于某个主题的概率;Relevance(T,PG)为权限组与主题的相关性。
根据本发明方法,实现面向安卓应用功能的权限推荐需要基于文本挖掘和权限分析建立安卓应用与权限之间的关系,并进行权限推荐,包括主题挖掘、权限分析、主题与权限映射和决策推荐。
安卓应用的权限推荐实流程例如图3所示,首先,对于训练数据集,,从GooglePlay上收集下载25,180个应用程序,包括文本描述和.apk文件,并进行预处理,通过LDA模型,确定了30个主题,例如:Map,Phone和Photography等。对于一个需要申请权限的应用,例如包名为br.com.easytaxi的应用程序是一个打车应用,其文本描述部分片段如下所示:
WelcometothenewEasyTaxiDriver,yourmostlovedtaxi app.
Believe it,your experience in accepting rides hasjust been taken to awhole new level.ThenewEasyTaxiDriverappnowdelivers everythingyouaskedfor:
In app mapping
In-app payment
Renewed user experience:the new design allows for the best usabilityof the app,so nowyou getto yourpassenger even faster.
Enjoy!It was all made foryou.
Join now to increase the number of your rides and advance to a newlevel of performance with Easy,a Cabify app.We have more than 400,000driversin our network,serving20million users inmore than30countries.
下载Android安装包.apk文件和文本描述之后,从应用程序的信息描述文件Manifest.xml里面提取该应用的权限信息,如下所示:
["android.permission.ACCESS_COARSE_LOCATION","android.permission.ACCESS_FINE_LOCATION","android.permission.ACCESS_NETWORK_STATE","android.permission.ACCESS_WIFI_STATE","android.permission.AUTHENTICAT E_ACCOUNTS","android.permission.CHANGE_NETWORK_STATE","android.permission.CHANGE_WIFI_STATE","android.permission.INTERNET","android.permission.MANAGE_ACCOUNTS","android.permission.READ_PHONE_STATE","android.permission.RECEIVE_BOOT_COMPLETED","android.permission.VIB RATE","android.permission.WAKE_LOCK","com.google.android.c2dm.permissio n.RECEIVE","com.google.android.providers.gsf.permission.READ_GSERVICES","br.com.easytaxi.permission.C2D_MESSAGE","android.permission.WRITE_EXT ERNAL_STORAGE","android.permission.READ_EXTERNAL_STORAGE","android.permission.CAMERA"]
在权限分析阶段,过滤并映射到对应的危险权限组,即:PHONE,LOCATION,CAMERA和STORAGE(电话,位置,相机和存储);在主题挖掘阶段,通过文本描述提取出该APK属于的主题为“Map”和“Internet”,并具有一定的概率值。由于在在模型训练过程中,基于不同的主题,通过MI,互信息和T-test挖掘出于30个主题相关的权限组合,因此,在决策推荐阶段,得到与该APK相关的权限序列为:
LOCATION,CONTACTS,PHONE,SMS,STORAGE,CALENDAR,MICROPHONE CAMERA。
(位置,联系人,电话,短信,存储,日历,麦克风,相机)
根据模型参数的设置(k1,k2)为(2,3),因此,对LOCATION和CONTACTS权限进行“ALLOW”推荐,对“PHONE”和“STORAGE”采取“ASK”模式,最终将权限建议推荐给用户。
本发明提出了一种面向Android应用功能的权限推荐方法及系统,即基于主题挖掘模型和信息检索技术来为安卓应用程序提供安全的权限推荐;作为安卓应用的授权者,用户可以在应用运行时对危险权限进行自主授权;Android6.0的权限机制虽然在很大程度上为用户提供了选择的自由,但由于用户缺乏安全的授权意识和专业的权限知识,容易因授权不当而引起隐私数据泄露,从而对数据的安全性和隐私性造成威胁;由于用户对应用的权限授权决策主要取决于用户认为该应用是否需要该权限,也就是该应用本身的功能是否于此权限相关;本发明从用户的角度出发,通过开发者提供给应用市场的应用的文本描述,挖掘应用程序功能,为用户提供合理安全的权限推荐,保护用户的隐私数据安全。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本发明中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (2)

1.一种面向Android6.0应用功能的权限推荐方法,其特征在于,包括:
步骤101:获取高于数量阈值的应用程序的文本描述;所述文本描述为描述应用程序功能的文本;
使用到的数据集分为两部分:用于训练模型的数据集和用于评估的数据集;
训练模型的数据集包括Android安装包APK文件和文本描述文件;从Google play商店收集了覆盖30个分类的25180个应用程序,每个应用程序包括一个APK文件和用于描述应用程序的源文件;其中,包名是应用的唯一表示,APK是一种用于安装Android应用软件的安装包,包含代码和清单文件,文本描述则来自于Google play商店每个应用的详情页面,用来介绍应用程序的基本功能和特点;
对于下载到本地的应用安装包,使用谷歌提供的APK编译工具APK Tool反编译Android安装包.apk文件,并使用自动化工具AAPT提取应用程序的信息描述文件Manifest.xml中的危险权限,只保留危险权限,存储到数据库中,作为权限分析阶段的输入;最终在数据库中保存了每个APP的包名、类别、文本描述和权限属性;
用于评估的推荐集,采用与训练模型的数据集同样的方法,从Google play上爬取了不同于训练模型的数据集的230个应用;除了包名、类别、文本描述和权限的提取之外,为了验证基于主题挖掘和权限分析的安卓应用授权模型的有效性,邀请具有专业Android开发经验的人员和相关领域的研究者对230个应用进行人工标注;研究人员通过查看应用程序的文本描述、隐私策略和评论对每一个应用程序的8个权限组进行手工标注,标注决策分为“ALLOW”,“DENY”和“ASK”三种;最终在数据库中保存了用于评估实验的230个应用信息;
步骤102:利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述;
具体包括:利用langid包检测所述文本描述,并删除所有非英文文本的段落,确定过滤后的文本描述;删除所述过滤后的文本描述的无意义参数,确定删除后的文本描述;所述无意义参数包括所有标点符号以及无相关权限信息的超文本标记语言HTML标签、链接以及电子邮件地址;利用自然语言处理工具包NLTK对所述删除后的文本描述进行去停用词和词干化处理,确定预处理后的文本描述;步骤103:根据所述文本描述建立多主题模型;
利用文档主题生成模型LDA进行主题挖掘,将所述预处理后的文本描述解析生成主题-词汇集合的对应关系;根据所述主题-词汇集合的对应关系建立多主题模型;
具体包括:为了对当前应用程序的多种功能进行描述,使用LDA进行主题挖掘,从应用程序的文本描述中提取出多个主题用来描述应用程序的多个功能;基于某一个主题T,计算文章与主题之间的概率P,同时将文章划分为若干个词汇,划分为{word1,word2,word3,....wordn},对划分后的某一个词汇,放置于相应的topic集合中,计算该词汇属于某一个词汇的概率Q,则该词汇在文章中的概率为PQ;从Google Play商店中收集30个类别的应用程序,因此将LDA主题的个数确立为30,此外,将得到的主题概率进行排序,排名越靠前的词汇越能表达该主题;步骤104:从所述应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到与所述危险权限相关的权限组,确定危险权限集合;
步骤105:根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型;
具体包括:LDA主题模型训练得到的30个主题用于构建多主题-权限映射模型;由于权限是用来描述应用程序功能或者应用程序行为的特征,对于已经标记好主题的变量,通过测量特征变量与类变量之间的相关性来评估危险权限与主题之间的相关性;关联越强表明此权限与主题的联系越紧密;
基于互信息法、T检验法以及皮尔逊Pearson相关系数三种方法,根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型;
具体地,采用上述三种方法来评估每个主题与危险权限组之间的相关性,建立多主题-权限映射,并对权限进行排序,得到与主题相关的危险权限的组合;
步骤106:根据所述多主题-权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;
具体包括:根据公式Score(PG,app)=∑topicP(T|app)Relevance(T,PG)生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;其中,Score(PG,app)为应用程序和权限请求所属的权限组之间的相关性;PG为危险权限组,app为应用程序;T为LDA模型中生成的主题topic;P(T|app)为应用程序属于某个主题的概率;Relevance(T,PG)为权限组与主题的相关性;
对于每一个输入的应用程序,通过在权限决策阶段产生与应用相关的一组权限排列Rank(PG,app),并对权限进行降序排名;最终根据申请权限在推荐序列中的位置进行推荐,如果申请权限位于k1个位置,进行相应的“ALLOW”推荐,如果位于k2个位置及之后的位置,进行“DENY”推荐,除此之外,采取第三种策略“ASK”由用户进行决策;采用8个危险权限组,k1和k2的和不能大于8,因此,总共有28种有效方法;通过在实验中计算不同参数组合的准确率,讨论并取性能组好的参数组合,选取(k1,k2)为(2,3)。
2.一种如权利要求1所述面向Android6.0应用功能的权限推荐方法的权限推荐系统,其特征在于,包括:
文本描述获取模块,用于获取高于数量阈值的应用程序的文本描述;所述文本描述为描述应用程序功能的文本;
多主题模型建立模块,用于根据所述文本描述建立多主题模型;
所述多主题模型建立模块具体包括:预处理单元,用于利用自然语言处理技术对所述文本描述进行预处理,确定预处理后的文本描述;主题-词汇集合的对应关系生成单元,用于利用文档主题生成模型LDA进行主题挖掘,将所述预处理后的文本描述解析生成主题-词汇集合的对应关系;多主题模型建立单元,用于根据所述主题-词汇集合的对应关系建立多主题模型;
所述预处理单元具体包括:过滤后的文本描述确定子单元,用于利用langid包检测所述文本描述,并删除所有非英文文本的段落,确定过滤后的文本描述;删除后的文本描述确定子单元,用于删除所述过滤后的文本描述的无意义参数,确定删除后的文本描述;所述无意义参数包括所有标点符号以及无相关权限信息的超文本标记语言HTML标签、链接以及电子邮件地址;预处理后的文本描述确定子单元,用于利用自然语言处理工具包NLTK对所述删除后的文本描述进行去停用词和词干化处理,确定预处理后的文本描述;
危险权限集合确定模块,用于从所述应用程序的信息描述文件Manifest.xml文件中提取危险权限并映射到与所述危险权限相关的权限组,确定危险权限集合;多主题-权限映射模型确定模块,用于根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型;
权限推荐模块,用于根据所述多主题-权限映射模型生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;
所述多主题-权限映射模型建立模块具体包括:多主题-权限映射模型建立单元,用于基于互信息法、T检验法以及皮尔逊Pearson相关系数,根据所述多主题模型以及所述危险权限集合建立多主题-权限映射模型;
所述权限推荐模块具体包括:权限推荐单元,用于根据公式Score(PG,app)=∑topicP(T|app)Relevance(T,PG)生成推荐权限决策,对需安装的应用程序的权限进行授权权限推荐;其中,Score(PG,app)为应用程序和权限请求所属的权限组之间的相关性;PG为危险权限组,app为应用程序;T为LDA模型中生成的主题topic;P(T|app)为应用程序属于某个主题的概率;Relevance(T,PG)为权限组与主题的相关性。
CN201910392589.7A 2019-05-13 2019-05-13 一种面向Android应用功能的权限推荐方法及系统 Active CN110096867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910392589.7A CN110096867B (zh) 2019-05-13 2019-05-13 一种面向Android应用功能的权限推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910392589.7A CN110096867B (zh) 2019-05-13 2019-05-13 一种面向Android应用功能的权限推荐方法及系统

Publications (2)

Publication Number Publication Date
CN110096867A CN110096867A (zh) 2019-08-06
CN110096867B true CN110096867B (zh) 2021-10-08

Family

ID=67447779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910392589.7A Active CN110096867B (zh) 2019-05-13 2019-05-13 一种面向Android应用功能的权限推荐方法及系统

Country Status (1)

Country Link
CN (1) CN110096867B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259139A (zh) * 2020-01-08 2020-06-09 南开大学 一种基于安卓应用文本挖掘的权限推荐方法及系统
CN113434186A (zh) * 2021-07-13 2021-09-24 支付宝(杭州)信息技术有限公司 用于推荐应用程序的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123500A (zh) * 2014-07-22 2014-10-29 卢永强 一种基于深度学习的Android平台恶意应用检测方法及装置
CN106897604A (zh) * 2017-03-01 2017-06-27 福建中金在线信息科技有限公司 一种权限适配方法及装置
US9769208B2 (en) * 2015-05-28 2017-09-19 International Business Machines Corporation Inferring security policies from semantic attributes
CN107239694A (zh) * 2017-05-27 2017-10-10 武汉大学 一种基于用户评论的Android应用权限推理方法及装置
CN108804912A (zh) * 2018-06-15 2018-11-13 北京大学 一种基于权限集差异的应用程序越权检测方法
CN109284370A (zh) * 2018-08-20 2019-01-29 中山大学 一种基于深度学习的移动应用描述与权限保真性判定方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916206B2 (en) * 2014-09-30 2018-03-13 Code 42 Software, Inc. Deduplicated data distribution techniques
CN105183833B (zh) * 2015-08-31 2020-05-19 天津大学 一种基于用户模型的微博文本推荐方法及其推荐装置
US10210201B2 (en) * 2016-05-13 2019-02-19 TCL Research America Inc. Method and system for App page recommendation via inference of implicit intent in a user query
CN106484764A (zh) * 2016-08-30 2017-03-08 江苏名通信息科技有限公司 基于人群画像技术的用户相似度计算方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104123500A (zh) * 2014-07-22 2014-10-29 卢永强 一种基于深度学习的Android平台恶意应用检测方法及装置
US9769208B2 (en) * 2015-05-28 2017-09-19 International Business Machines Corporation Inferring security policies from semantic attributes
CN106897604A (zh) * 2017-03-01 2017-06-27 福建中金在线信息科技有限公司 一种权限适配方法及装置
CN107239694A (zh) * 2017-05-27 2017-10-10 武汉大学 一种基于用户评论的Android应用权限推理方法及装置
CN108804912A (zh) * 2018-06-15 2018-11-13 北京大学 一种基于权限集差异的应用程序越权检测方法
CN109284370A (zh) * 2018-08-20 2019-01-29 中山大学 一种基于深度学习的移动应用描述与权限保真性判定方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于功能与权限关系的Android应用风险评估;韩金晶;《中国优秀硕士论全文数据库信息科技辑》;20180615(第6期);I138-952 *

Also Published As

Publication number Publication date
CN110096867A (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
CN111417950B (zh) 用于提供自动文档填写功能的系统和方法
Moon et al. Automated construction specification review with named entity recognition using natural language processing
Rosen et al. What are mobile developers asking about? a large scale study using stack overflow
CN107909494A (zh) 保险数据信息的配置方法、装置、计算机设备和存储介质
CN106155686B (zh) 界面生成方法、装置和系统
CN112199506B (zh) 一种应用程序的信息检测方法、装置及设备
Olsina et al. Updating quality models for evaluating new generation web applications
CN108171073B (zh) 一种基于代码层语义解析驱动的隐私数据识别方法
CN111737499B (zh) 基于自然语言处理的数据搜索方法及相关设备
US8671110B1 (en) Collaborative modeling environment
CN111783016B (zh) 一种网站分类方法、装置及设备
CN110096867B (zh) 一种面向Android应用功能的权限推荐方法及系统
CN105787366A (zh) 基于组件关系的安卓软件可视化安全分析方法
Jaafar et al. Enhancing Arabic stemming process using resources and benchmarking tools
US20090259928A1 (en) Systems and methods for employee compensation planning
Bemmann et al. LanguageLogger: A mobile keyboard application for studying language use in everyday text communication in the wild
Goree et al. Investigating the homogenization of web design: A mixed-methods approach
CN113392306B (zh) 信息交互方法、信息交互装置、终端及存储介质
CN110688460B (zh) 风险识别的方法、装置、可读存储介质以及电子设备
CN111488510A (zh) 小程序相关词的确定方法、装置、处理设备及搜索系统
Kim et al. A privacy scoring framework: Automation of privacy compliance and risk evaluation with standard indicators
CN113961811A (zh) 基于事件图谱的话术推荐方法、装置、设备及介质
CN114492584A (zh) 一种针对安卓中文应用市场的自动内容分级方法
CN111259139A (zh) 一种基于安卓应用文本挖掘的权限推荐方法及系统
CN112307371A (zh) 小程序子服务识别方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant