CN111753322A - 一种移动App权限列表自动核验方法及系统 - Google Patents
一种移动App权限列表自动核验方法及系统 Download PDFInfo
- Publication number
- CN111753322A CN111753322A CN202010635435.9A CN202010635435A CN111753322A CN 111753322 A CN111753322 A CN 111753322A CN 202010635435 A CN202010635435 A CN 202010635435A CN 111753322 A CN111753322 A CN 111753322A
- Authority
- CN
- China
- Prior art keywords
- mobile app
- vector
- actual
- permission list
- tested
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种移动App权限列表自动核验方法,包括S1、获取待测移动App实际的权限列表,转化为向量形式,得到实际权限列表向量;S2、获取待测移动App的隐私协议,通过经训练的深度学习分类模型转化为向量形式,与设定阈值进行比较,得到声明权限列表向量;S3、对比待测移动App的实际权限列表向量跟声明权限列表向量是否一致,若一致,则判定待测移动App“合规”,否则判定待测移动App“不合规”。本发明的移动App权限列表自动核验方法实现了移动APP权限列表自动核验,不需要再通过人工对App隐私协议内容进行阅读审核就能判定该App是否存在违规获取用户个人信息的问题。本发明还公开了一种移动App权限列表自动核验系统。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种移动App权限列表自动核验方法及系统。
背景技术
智能手机的普及极大的方便了人们的生活,同时,为了丰富智能手机的应用,满足人们的各种需求,各种App应运而生,一般正规的移动App在收集个人信息时,需要通过隐私政策和用户协议的形式明示需要收集使用个人信息的目的、方式和范围的情形,但是同时,有些商家为了自己的商业目的,仍有大量移动APP违规收集个人信息、过度索权等侵害用户权益的问题,给用户的人身及财产安全带来威胁。
当前,对于移动App的审核中,其中一项就是查验其“声明”需要的权利跟其“实际”索取的权利是否一致,而这部分工作,即判定App请求的用户权限与其隐私协议中规定的内容是否相符,是依赖于人工检测的形式完成,需要人工阅读当前App的权限列表后,再在该App的隐私协议中查看是否有相对应的描述,如果没有相应的描述则认为其存在违规索权行为,当前尚未有自动核验的流程方法提出。
截止到2020年2月底,我国国内市场上监测到的APP数量为352万款,如此数量众多的App采用人工核验的方式工作量非常大,将消耗大量的时间,核验效率低,所以人工核验很难大规模应用和部署。
发明内容
本发明所要解决的技术问题是:提供一种移动App权限列表自动核验方法。
为解决上述技术问题,本发明所采用的技术方案是:
一种移动App权限列表自动核验方法,包括以下步骤:
S1、获取待测移动App实际的权限列表,并表示为实际权限列表向量形式;
S2、获取待测移动App的隐私协议,通过经训练的深度学习分类模型将隐私协议文本表示为声明权限列表向量的形式;
S3、对比待测移动App的实际权限列表向量跟声明权限列表向量是否一致,若一致,则判定待测移动App“合规”,否则判定待测移动App“不合规”。
与现有技术相比,本发明具有如下技术效果:
本发明采用基于神经网络算法实现了移动APP权限列表自动核验。该算法部署后,可以自动检测发现上报异常情况,不需要再通过人工对App隐私协议内容进行阅读审核就能判定该App是否存在违规获取用户个人信息的问题。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,所述步骤S1中获取待测移动App实际的权限列表,是通过使用android反编译工具对App的安装包文件进行反编译获取AndroidManifest.xml文件和/或程序的java源码,获取AndroidManifest.xml文件内记录的权限列表和/或用权限声明的常量关键字对java源码进行匹配获得代码中动态声明的所有权限。
采用上述进一步方案的有益效果是可以全面获取权限列表,无遗漏。
优选地,所述实际权限列表向量为one-hot形式。
采用上述进一步方案的有益效果是便于后续维护处理。
进一步地,所述步骤S2中所述经训练的深度学习分类模型,具体是用如下方法训练获得:
S2-1、获取训练素材,具体地,获取训练集中一个移动App实际的权限列表,表示为one-hot形式的向量,得到实际权限列表向量,作为类别标签;获取移动App的隐私协议文本,利用预训练语言模型将隐私协议文本表示为向量的形式,作为待分类语料;
S2-2、将步骤S2-1中获得的类别标签、待分类语料一块作为输入项输入神经网络模型;
S2-3、将神经网络模型的倒数第二层的输出连接到一个全连接层,该全连接层的输出声明权限列表向量,所述声明权限列表向量的维度等于实际权限列表向量的维度;
S2-4、构建损失函数用以表示神经网络模型输出的移动App声明权限列表向量与移动App实际权限列表向量之间的损失;
S2-5、判断神经网络模型输出的声明权限列表向量与实际权限列表向量之间的损失与设定阈值的大小关系,若大于设定阈值,返回步骤S2-1继续训练迭代,直至损失小于阈值或达到指定迭代次数结束,否则执行步骤S2-6;
S2-6、输出经训练的深度学习分类模型。
采用上述进一步方案的有益效果是能学习到语义知识,并可解决一词多义的情况,具有较高的准确率。可以实现从隐私协议文本中获取索取各种权限的概率。
优选地,所述神经网络模型的训练为主动学习法,具体的,对训练集中的移动App,事先不提供正确的答案,待神经网络模型自己预判出有“不合规”的App时,人工介入核验此“不合规”结论是否正确,若结论不正确,修正预判结论并给神经网络模型进行参数优化。
采用上述进一步方案的有益效果是不需要事先准备隐私协议对应所指权限的训练数据集,不需要进行大量的人工标记标签,训练过程中只需要对极少量情况进行人工审核,使用较少的训练样本获得较好的分类效果,且分类效率高、节约了人工成本。
本发明还公开了一种移动App权限列表自动核验系统,包括待测移动App实际权限列表获取模块、待测移动App隐私协议获取模块、深度学习分类模型及权限一致性核验模块;
所述待测移动App实际权限列表获取模块用于获取待测移动App实际的权限列表,转化为向量形式,得到实际权限列表向量;
所述待测移动App隐私协议获取模块用于获取待测移动App隐私协议;
所述深度学习分类模型用于将待测移动App的隐私协议转化为向量形式,得到声明权限列表向量;
所述权限一致性核验模块用于对比实际权限列表向量与声明权限列表向量的一致性情况,若一致,则输出待测移动App“合规”,否则输出待测移动App“不合规”。
在上述基础上,本发明还可以做如下改进:
进一步地,所述深度学习分类模型包括素材模块、预训练语言模型模块、神经网络模型模块、损失函数模块、阈值设定及判断模块及模型输出模块,
所述素材模块用于获取待测移动App的实际权限列表,将其表示为one-hot形式的向量,得到实际权限列表向量,作为类别标签,输入神经网络模型模块;同时用于获取待测移动App的隐私协议,并将其输入给预训练语言模型模块;
所述预训练语言模型模块用于将待测移动App的隐私协议表示为向量的形式,作为待分类语料输送给神经网络模型模块;
所述神经网络模型模块利用类别标签及待分类语料进行自主学习,输出声明权限列表向量,所述声明权限列表向量与实际权限列表向量的每一维数据相对应;
所述损失函数模块用于获得声明权限列表向量与实际权限列表向量之间的损失;
所述阈值设定及判断模块用于设定损失阈值及训练次数阈值,并判断损失函数模块得出的损失与设定损失阈值的大小关系,若损失函数模块得出的损失大于设定的损失阈值,继续迭代训练直到损失小于损失阈值或者训练次数达到训练次数阈值;
所述模型输出模块用于输出声明权限列表向量。
附图说明
图1为本发明的移动App权限列表自动核验方法的流程示意图;
图2为本发明中深度学习分类模型的训练流程图;
图3为实施例中移动App权限列表自动核验方法关键步骤关系图;
图4为实施例中移动App涉及的26个重点权限;
图5为实施例中移动App在配置文件中声明权限示例;
图6为实施例中移动App在代码运行阶段请求权限示例;
图7为本发明的移动App权限列表自动核验系统的功能框图;
图8为本发明的移动App权限列表自动核验系统中深度学习分类模型模块的功能框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
Android操作系统权限分为原生Android操作系统权限,如ACCESS_FILE-LOCATION、READ_CONTACTS等,或者为了适配更多的Launcher自定义的权限,如uses-permission:com.huawei.launcher2.permission.READ_SETTINGS、uses-permission:com.meizu.android.launcher.permission.READ_SETTINGS等,以及各个Android开发商为了使用方便自定义权限如com.tencent.tim.music.data.permission2、com.ss.android.ugc.live.permission.READ_ACCOUNT等。目前从获取的1万个APP的权限列表中统计出自定义权限2068个,原生Android系统权限135个。
本发明中的权限列表包括自定义权限和原生Android系统权限,为了便于理解以原生Android系统权限为例加以说明。
目前常用的原生安卓操作系统有26个重点权限与个人信息收集使用密切相关如图所示,以下实施例中就以这26个重点权限为例,进行说明。
首先需要训练基于文本分类的深度学习模型,请参照图2所示,
S2-1获取训练集中的某个具体的移动App的权限列表,并将其表示为one-hot的向量形式,作为类别标签。
移动App的权限列表可以通过反编译移动App安装包,从配置文件中获取,也可以从App源码中获取。
获取依据是:如果App因业务功能需要申请系统权限,App开发者需要通过在AndroidManifest.xml配置文件中明确声明的方式(静态方式),如图5所示,以及在代码运行阶段以请求的方式(动态方式)申请系统权限,如图6所示,否则无法正常使用该权限对应的功能。
安卓开发过程中,需要将使用到的权限在AndroidManifest.xml文件中声明,否则无法正常使用该权限对应的功能。
获取方法:使用android反编译工具(如apktool、aapt等)对App的安装包文件APK进行反编译获取AndroidManifest.xml文件,即可获取权限列表:
还有,根据Android6.0及以上版本特性,涉及个人用户信息的权限需要在代码中动态申请。因此用户信息相关的权限需要在java代码中获取。
获取方法:使用android反编译工具(unzip、dex2jar、pyocyon-decompiler等)获取java源码之后,使用权限声明的常量关键字对所有java文件进行匹配,以获取动态声明的所有权限:
将该移动App的权限列表表示为one-hot的向量形式,作为类别标签,例如[1,0,1,0……0,1],其中第一个位置表示允许读取日历,1表示有该权限,0表示无该权限。第二个位置表示允许编辑日历,1表示有该权限,0表示无该权限,以此类推,维度为26维。
获取上述移动App的隐私协议,通过预训练语言模型(例如fastText、ELMo、GPT、BERT等),将该移动App的隐私协议文本表示为向量的形式,作为待分类语料,输出维度为maxlen,maxlen值可根据需要设定为128维、256维、512维、768维等,本实施例中优选为512维。
S2-2、将上述步骤中获得的类别标签、待分类语料一块作为输入项输入神经网络模型;
以bert为例,bert包括两个版本,12层transformer和24层的transformer。每一层transformer的输出值,理论上来说都可以作为句向量,根据实验数据表明,最佳结果是取倒数第二层,最后一层的值太接近于目标,前面几层的值语义还未充分的学习到。所以针对预训练语言模型神经网络选取倒数第二层连接全连接层。
S2-3、将神经网络模型的倒数第二层的输出连接到一个全连接层,该全连接层的输出维度等于权限列表向量的维度;
S2-4、构建损失函数用以表示神经网络模型输出的声明权限列表向量与实际权限列表向量之间的损失;损失函数可根据实际问题选择,如均方差损失函数、交叉熵损失函数等。本方案中采用方差损失函数即将神经网络的损失函数定义为:神经网络输出的权限表示向量与实际的权限表示向量之间的欧氏距离;
S2-5、判断神经网络模型输出的声明权限列表向量与实际权限列表向量之间的差异与设定阈值的大小关系,若大于设定阈值,返回步骤S2-1继续训练迭代,直至小于阈值或达到指定迭代次数结束,否则执行步骤S2-6;
对神经网络的训练可选择主动学习和被动学习,但是被动学习若取得较好的分类效果需要进行大规模训练样本标注,在实际场景中标记样本需要领域专家进行人工标注,将耗费大量的人力和时间成本。
如果本实施例中的神经网络的训练过程选择被动学习,由于不合规的移动App相对数量比较稀疏,以及从隐晦的隐私协议中标记权限信息,均需要耗费大量的人力成本,因此,为了使用较少的训练样本获得较好的分类效果,本方案采用主动学习方法,即事先并不对训练集进行人工标注,由神经网络自行选择需要学习的数据进行标注,并给出其判断结论,若其预判有不合规的App,人工介入核验被判不合规的App是否真的不合规,并将结果反馈给神经网络,使其据此进一步优化神经网络的可调参数,由此只需要人工介入极少数的样本既可以实现对神经网络的训练。
S2-6、输出经训练的深度学习分类模型。
得到能够对移动APP隐私协议文本进行分类的分类模型,如图4所示,本实施例中分类模型为26个类别的分类模型,此时的分类模型为对移动APP隐私协议文本进行分类的分类模型,即输入隐私协议文本,输出属于26维,每一维表示收集用户特定个人信息类别的概率,如图3所示。通过设定阈值,并将每一维的概率与阈值做比较,可以得到该隐私协议文本对应的声明权限列表向量。
获得了经训练的深度学习分类模型之后,就可以自动对海量的移动App进行权限核验。如图1所示,具体步骤如下:
S1、获取待测移动App实际的权限列表,并表示成向量形式,得到实际权限列表向量;
S2、获取待测移动App的隐私协议,通过经训练的深度学习分类模型将隐私协议文本表示为向量形式;
S3、对比待测移动App的实际权限列表向量跟声明权限列表向量是否一致,若一致,则判定待测移动App“合规”,否则判定待测移动App“不合规”。
以移动App“今日头条”为例,通过反编译其安装文件,可以获得其实际索要的权限如下;
android.permission.READ_CALENDAR 1
android.permission.WRITE_CALENDAR 1
android.permission.READ_CALL_LOG 0
android.permission.WRITE_CALL_LOG 0
android.permission.PROCESS_OUTGOING_CALLS 0
android.permission.CAMERA 1
android.permission.READ_CONTACTS 1
android.permission.WRITE_CONTACTS 0
android.permission.MANAGE_ACCOUNTS 0
android.permission.ACCESS_FINE_LOCATION 1
android.permission.ACCESS_COARSE_LOCATION 1
android.permission.RECORD_AUDIO 0
android.permission.READ_PHONE_STATE 1
android.permission.TELEPHONY_SERVICE 0
android.permission.CALL_PRIVILEGED 0
android.permission.MODIFY_PHONE_STATE 0
android.permission.ADD_VOICEMAIL 0
android.permission.USE_SIP 0
android.permission.SENSOR_INFO 1
android.permission.SEND_SMS 0
android.permission.RECEIVE_SMS 0
android.permission.READ_SMS 0
android.permission.RECEIVE_WAP_PUSH 0
android.permission.RECEIVE_MMS 0
android.permission.READ_EXTERNAL_STORAGE 1
android.permission.WRITE_EXTERNAL_STORAGE 1
将上述权限列表表示成one-hot形式的向量,则得到具有26维数据的“今日头条”的实际权限列表向量:
[1,1,0,0,0,1,1,0,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1]
其中:
位列第一的“1”表示具有android.permission.READ_CALENDAR权限,即读取日历的权限;
位列第二的“1”表示具有android.permission.WRITE_CALENDAR权限,即编辑日历的权限;
位列第三的“0”表示没有android.permission.READ_CALL_LOG权限,即没有读取通话记录的权限;
以此类推。
然后获得“今日头条”的隐私协议如下(部分):
今日头条隐私政策
更新日期:2019年12月23日
生效日期:2019年12月30日
今日头条(简称“我们”)深知个人信息对您的重要性,我们将按照法律法规的规定,保护您的个人信息及隐私安全。我们制定本“隐私政策”并特别提示:希望您在使用今日头条及相关服务前仔细阅读并理解本隐私政策,以便做出适当的选择。
本隐私政策将帮助您了解:
我们会遵循隐私政策收集、使用您的信息,但不会仅因您同意本隐私政策而采用强制捆绑的方式一揽子收集个人信息。
当您使用或开启相关功能或使用服务时,为实现功能、服务所必需,我们会收集、使用相关信息。除非是为实现基本业务功能或根据法律法规要求所必需的必要信息,您均可以拒绝提供且不影响其他功能或服务。我们将在隐私政策中逐项说明哪些是必要信息。
…………
下文将帮您详细了解我们如何收集、使用、存储、传输、共享、转让(如适用)与保护个人信息;帮您了解查询、访问、删除、更正、撤回授权个人信息的方式。其中,有关您个人信息权益的条款重要内容我们已用加粗形式提示,请特别关注。
1.我们如何收集和使用个人信息
2.我们如何使用cookie等同类技术
3.我们如何共享、转让、公开披露个人信息
4.我们如何存储个人信息
5.我们如何保护个人信息的安全
6.管理您的个人信息
7.未成年人使用条款
8.隐私政策的修订和通知
9.联系我们
1.我们如何收集和使用个人信息
我们会按照如下方式收集您在使用服务时主动提供的,以及通过自动化手段收集您在使用功能或接受服务过程中产生的信息:
1.1注册、登录、认证
1.1.1注册、登录
a.当您注册、登录今日头条及相关服务时,您可以通过手机号创建账号,并且您可以完善相关的网络身份识别信息(头像、昵称、密码),收集这些信息是为了帮助您完成注册。您还可以根据自身需求选择填写性别、生日、地区及个人介绍来完善您的信息。
…………
1.6.2设备信息与日志信息
a.为了保障软件服务的安全、运营的质量及效率,我们会收集您的硬件型号、操作系统版本号、国际移动设备识别码、唯一设备标识符、网络设备硬件地址、IP地址、WLAN接入点、蓝牙、基站、软件版本号、网络接入方式、类型、状态、网络质量数据、操作、使用、服务日志。
…………
g.支付功能:支付功能由与我们合作的第三方支付机构向您提供服务。第三方支付机构可能需要收集您的姓名、银行卡类型及卡号、有效期及手机号码。银行卡号、有效期及手机号码是个人敏感信息,这些信息是支付功能所必需的信息,拒绝提供将导致您无法使用该功能,但不影响其他功能的正常使用。
…………
6.2.2改变或撤回敏感权限设置
a.您可以在设备本身操作系统中关闭GPS地理位置、摄像头、麦克风、相册权限改变同意范围或撤回您的授权。撤回授权后我们将不再收集与这些权限相关信息。
…………
9.联系我们
…………
b.如对本隐私政策内容有任何疑问、意见或建议,您可通过登录“今日头条”客户端内的“用户反馈”页面或通过官方网站首页“联系我们—用户反馈”入口与我们联系。
可以看出,实际的隐私协议文本非常晦涩难懂,且篇幅冗长,人工阅读工作量非常大,利用预训练语言模型将上述隐私协议表示成为具有512维的向量,作为待分类语料,如下:
array([[0.8558377,0.86575764,0.13302976,-0.3925884,-0.04717652,-0.9750702,0.972964,-0.8903629,-0.9929771,…………-0.37429714]],dtype=float32)
然后将上述待分类语料输入到经训练的深度学习分类模型,得到与实际权限列表向量相同维数的中间向量,此中间向量形式如下:
[0.9,0.8,0.2,0.3,0.4,0.9,0.8,0.2,0.4,0.8,0.9,0.3,0.8,0.1,0.3,0.2,0.4,0.4,0.8,0.1,0.2,0.3,0.1,0.2,0.8,0.9],其与实际权限列表向量相同的26维数,每一维代表具有相应权限的概率,如本例中,
位于第一位的0.9表示具有“android.permission.READ_CALENDAR”权限的概率是90%,
位于第二位的0.8表示具有“android.permission.WRITE_CALENDAR”权限的概率是80%,
依次类推,设定一个阈值,比如80%,与上述中间向量进行比对,大于阈值的记为1,小于等于阈值的记为0,则上述中间向量则表示为:
[1,1,0,0,0,1,1,0,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1]
此经中间向量跟阈值比较得到的向量即为今日头条的声明权限列表向量。
进一步比对实际权限列表向量跟声明权限列表向量是否一致,有任意一条不一致,则认为具有“不合规”的可能,输出结论,人工介入审核即可。
本发明还公开了一种移动App权限列表自动核验系统,如图7所示,包括待测移动App实际权限列表获取模块1、待测移动App隐私协议获取模块2、深度学习分类模型3及权限一致性核验模块4;
所述待测移动App实际权限列表获取模块用于获取待测移动App实际的权限列表,转化为向量形式,得到实际权限列表向量;
所述待测移动App隐私协议获取模块用于获取待测移动App隐私协议;
所述深度学习分类模型用于将待测移动App的隐私协议转化为向量形式,得到声明权限列表向量;
所述权限一致性核验模块用于对比实际权限列表向量与声明权限列表向量的一致性情况,若一致,则输出待测移动App“合规”,否则输出待测移动App“不合规”。
如图8所示,所述深度学习分类模型包括素材模块2-1、预训练语言模型模块2-2、神经网络模型模块2-3、损失函数模块2-4、阈值设定及判断模块2-5及模型输出模块2-6,
所述素材模块用于获取待测移动App的实际权限列表,将其表示为one-hot形式的向量,得到实际权限列表向量,作为类别标签,输入神经网络模型模块;同时用于获取待测移动App的隐私协议,并将其输入给预训练语言模型模块;
所述预训练语言模型模块用于将待测移动App的隐私协议表示为向量的形式,作为待分类语料输送给神经网络模型模块;
所述神经网络模型模块利用类别标签及待分类语料进行自主学习,输出声明权限列表向量,所述声明权限列表向量与实际权限列表向量的每一维数据相对应;
所述损失函数模块用于获得声明权限列表向量与实际权限列表向量之间的损失;
所述阈值设定及判断模块用于设定损失阈值及训练次数阈值,并判断损失函数模块得出的损失与设定损失阈值的大小关系,若损失函数模块得出的损失大于设定的损失阈值,继续迭代训练直到损失小于损失阈值或者训练次数达到训练次数阈值;
所述模型输出模块用于输出声明权限列表向量。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种移动App权限列表自动核验方法,其特征在于,包括以下步骤:
S1、获取待测移动App实际的权限列表,转化为向量形式,得到实际权限列表向量;
S2、获取待测移动App的隐私协议,通过经训练的深度学习分类模型转化为向量形式,与设定阈值进行比较,得到声明权限列表向量;
S3、对比待测移动App的实际权限列表向量跟声明权限列表向量是否一致,若一致,则判定待测移动App“合规”,否则判定待测移动App“不合规”。
2.根据权利要求1所述的移动App权限列表自动核验方法,其特征在于,所述步骤S1中获取待测移动App实际的权限列表,是通过使用android反编译工具对App的安装包文件进行反编译获取AndroidManifest.xml文件和/或程序的java源码,获取AndroidManifest.xml文件内记录的权限列表和/或用权限声明的常量关键字对java源码进行匹配获得代码中动态声明的所有权限。
3.根据权利要求1或2所述的移动App权限列表自动核验方法,其特征在于,所述步骤S2中所述经训练的深度学习分类模型,具体训练步骤如下:
S2-1、获取训练素材,具体地,获取训练集中一个移动App实际的权限列表,表示为one-hot形式的向量,得到实际权限列表向量,作为类别标签;获取移动App的隐私协议文本,利用预训练语言模型将隐私协议文本表示为向量的形式,作为待分类语料;
S2-2、将步骤S2-1中获得的类别标签、待分类语料一块作为输入项输入神经网络模型;
S2-3、将神经网络模型的倒数第二层的输出连接到一个全连接层,该全连接层的输出声明权限列表向量,所述声明权限列表向量的维度等于实际权限列表向量的维度;
S2-4、构建损失函数用以表示声明权限列表向量与实际权限列表向量之间的损失;
S2-5、判断神经网络模型输出的声明权限列表向量与实际权限列表向量的损失与设定阈值的大小关系,若大于设定阈值,返回步骤S2-1继续训练迭代,直至损失小于阈值或达到指定迭代次数结束,否则执行步骤S2-6;
S2-6、输出经训练的深度学习分类模型。
4.根据权利要求3所述的移动App权限列表自动核验方法,其特征在于,所述预训练语言模型是fastText、ELMo、GPT、BERT中的一种。
5.根据权利要求3所述的移动App权限列表自动核验方法,其特征在于,对经训练的深度学习分类模型的训练过程为主动学习法,具体地,对训练集中的移动App,事先不对训练集进行样本标注,待神经网络模型自己预判出有“不合规”的App时,人工介入核验此“不合规”结论是否正确,若结论不正确,人工修正预判结论,神经网络模型基于人工修正的结果指导训练分类模型进行参数优化。
6.一种移动App权限列表自动核验系统,其特征在于,包括待测移动App实际权限列表获取模块、待测移动App隐私协议获取模块、深度学习分类模型及权限一致性核验模块;
所述待测移动App实际权限列表获取模块用于获取待测移动App实际的权限列表,转化为向量形式,得到实际权限列表向量;
所述待测移动App隐私协议获取模块用于获取待测移动App隐私协议;
所述深度学习分类模型用于将待测移动App的隐私协议转化为向量形式,得到声明权限列表向量;
所述权限一致性核验模块用于对比实际权限列表向量与声明权限列表向量的一致性情况,若一致,则输出待测移动App“合规”,否则输出待测移动App“不合规”。
7.根据权利要求6所述的移动App权限列表自动核验系统,其特征在于,所述深度学习分类模型包括素材模块、预训练语言模型模块、神经网络模型模块、损失函数模块、阈值设定及判断模块及模型输出模块,
所述素材模块用于获取待测移动App的实际权限列表,将其表示为one-hot形式的向量,得到实际权限列表向量,作为类别标签,输入神经网络模型模块;同时用于获取待测移动App的隐私协议,并将其输入给预训练语言模型模块;
所述预训练语言模型模块用于将待测移动App的隐私协议表示为向量的形式,作为待分类语料输送给神经网络模型模块;
所述神经网络模型模块利用类别标签及待分类语料进行自主学习,输出声明权限列表向量,所述声明权限列表向量与实际权限列表向量的每一维数据相对应;
所述损失函数模块用于获得声明权限列表向量与实际权限列表向量之间的损失;
所述阈值设定及判断模块用于设定损失阈值及训练次数阈值,并判断损失函数模块得出的损失与设定损失阈值的大小关系,若损失函数模块得出的损失大于设定的损失阈值,继续迭代训练直到损失小于损失阈值或者训练次数达到训练次数阈值;
所述模型输出模块用于输出声明权限列表向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010635435.9A CN111753322B (zh) | 2020-07-03 | 2020-07-03 | 一种移动App权限列表自动核验方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010635435.9A CN111753322B (zh) | 2020-07-03 | 2020-07-03 | 一种移动App权限列表自动核验方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753322A true CN111753322A (zh) | 2020-10-09 |
CN111753322B CN111753322B (zh) | 2021-10-01 |
Family
ID=72680414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010635435.9A Active CN111753322B (zh) | 2020-07-03 | 2020-07-03 | 一种移动App权限列表自动核验方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753322B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199506A (zh) * | 2020-11-10 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种应用程序的信息检测方法、装置及设备 |
CN112257114A (zh) * | 2020-12-02 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 一种应用程序隐私合规检测方法、装置、设备和介质 |
CN112651026A (zh) * | 2020-12-30 | 2021-04-13 | 微梦创科网络科技(中国)有限公司 | 一种具有业务安全问题的应用版本挖掘方法及装置 |
CN113051613A (zh) * | 2021-03-15 | 2021-06-29 | Oppo广东移动通信有限公司 | 隐私政策检测方法、装置、电子设备及可读存储介质 |
CN113139186A (zh) * | 2021-04-14 | 2021-07-20 | 北京开元华创信息技术有限公司 | 一种个人信息安全审计评估系统 |
CN113282748A (zh) * | 2021-04-29 | 2021-08-20 | 湘潭大学 | 基于transformer的针对隐私文本的自动检测技术 |
CN113343219A (zh) * | 2021-05-31 | 2021-09-03 | 烟台中科网络技术研究所 | 一种自动高效的高风险移动应用程序检测方法 |
CN113688033A (zh) * | 2021-07-20 | 2021-11-23 | 荣耀终端有限公司 | 一种隐私合规检测方法及计算机可读存储介质 |
CN113849852A (zh) * | 2021-08-27 | 2021-12-28 | 杭州逗酷软件科技有限公司 | 隐私权限检测方法、装置、电子设备以及存储介质 |
CN117591219A (zh) * | 2023-11-27 | 2024-02-23 | 广州文石信息科技有限公司 | 内容显示方法、电子设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284370A (zh) * | 2018-08-20 | 2019-01-29 | 中山大学 | 一种基于深度学习的移动应用描述与权限保真性判定方法及装置 |
CN109639884A (zh) * | 2018-11-21 | 2019-04-16 | 惠州Tcl移动通信有限公司 | 一种基于安卓监控敏感权限的方法、存储介质及终端设备 |
CN110162963A (zh) * | 2019-04-26 | 2019-08-23 | 肖银皓 | 一种识别过权应用程序的方法 |
-
2020
- 2020-07-03 CN CN202010635435.9A patent/CN111753322B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284370A (zh) * | 2018-08-20 | 2019-01-29 | 中山大学 | 一种基于深度学习的移动应用描述与权限保真性判定方法及装置 |
CN109639884A (zh) * | 2018-11-21 | 2019-04-16 | 惠州Tcl移动通信有限公司 | 一种基于安卓监控敏感权限的方法、存储介质及终端设备 |
CN110162963A (zh) * | 2019-04-26 | 2019-08-23 | 肖银皓 | 一种识别过权应用程序的方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199506B (zh) * | 2020-11-10 | 2021-08-24 | 支付宝(杭州)信息技术有限公司 | 一种应用程序的信息检测方法、装置及设备 |
CN112199506A (zh) * | 2020-11-10 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种应用程序的信息检测方法、装置及设备 |
CN113886584A (zh) * | 2020-11-10 | 2022-01-04 | 支付宝(杭州)信息技术有限公司 | 一种应用程序的信息检测方法、装置及设备 |
CN112257114A (zh) * | 2020-12-02 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 一种应用程序隐私合规检测方法、装置、设备和介质 |
CN112651026A (zh) * | 2020-12-30 | 2021-04-13 | 微梦创科网络科技(中国)有限公司 | 一种具有业务安全问题的应用版本挖掘方法及装置 |
CN112651026B (zh) * | 2020-12-30 | 2024-05-24 | 微梦创科网络科技(中国)有限公司 | 一种具有业务安全问题的应用版本挖掘方法及装置 |
CN113051613A (zh) * | 2021-03-15 | 2021-06-29 | Oppo广东移动通信有限公司 | 隐私政策检测方法、装置、电子设备及可读存储介质 |
CN113139186A (zh) * | 2021-04-14 | 2021-07-20 | 北京开元华创信息技术有限公司 | 一种个人信息安全审计评估系统 |
CN113282748A (zh) * | 2021-04-29 | 2021-08-20 | 湘潭大学 | 基于transformer的针对隐私文本的自动检测技术 |
CN113343219A (zh) * | 2021-05-31 | 2021-09-03 | 烟台中科网络技术研究所 | 一种自动高效的高风险移动应用程序检测方法 |
CN113343219B (zh) * | 2021-05-31 | 2023-03-07 | 烟台中科网络技术研究所 | 一种自动高效的高风险移动应用程序检测方法 |
CN113688033A (zh) * | 2021-07-20 | 2021-11-23 | 荣耀终端有限公司 | 一种隐私合规检测方法及计算机可读存储介质 |
CN113849852A (zh) * | 2021-08-27 | 2021-12-28 | 杭州逗酷软件科技有限公司 | 隐私权限检测方法、装置、电子设备以及存储介质 |
CN117591219A (zh) * | 2023-11-27 | 2024-02-23 | 广州文石信息科技有限公司 | 内容显示方法、电子设备以及存储介质 |
CN117591219B (zh) * | 2023-11-27 | 2024-06-11 | 广州文石信息科技有限公司 | 内容显示方法、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111753322B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753322B (zh) | 一种移动App权限列表自动核验方法及系统 | |
CN109479061B (zh) | 遵从性违反检测 | |
Neyaz et al. | Security, privacy and steganographic analysis of FaceApp and TikTok | |
US10715550B2 (en) | Method and device for application information risk management | |
CN105825138B (zh) | 一种敏感数据识别的方法和装置 | |
CN103002120B (zh) | 将移动设备与调查对象组成员简档关联起来的方法和装置 | |
EP2748781B1 (en) | Multi-factor identity fingerprinting with user behavior | |
CN111314306A (zh) | 接口访问方法及装置、电子设备、存储介质 | |
US20120254853A1 (en) | Customizing mobile applications | |
CN101611588A (zh) | 对于受限资源的安全访问 | |
CN110287691A (zh) | 应用程序登录方法、装置、设备及存储介质 | |
CN102077201A (zh) | 用于网页的动态及实时归类的系统及方法 | |
CN112106049A (zh) | 生成隐私数据隔离和报告的系统和方法 | |
CN104376266A (zh) | 应用软件安全级别的确定方法及装置 | |
CN105653947B (zh) | 一种评估应用数据安全风险的方法及装置 | |
Song et al. | Permission Sensitivity‐Based Malicious Application Detection for Android | |
US20160063278A1 (en) | Privacy Compliance Event Analysis System | |
CN113051613A (zh) | 隐私政策检测方法、装置、电子设备及可读存储介质 | |
CN113792307A (zh) | 印章管理方法、装置及电子设备 | |
US11675773B2 (en) | Content management | |
CN110083782B (zh) | 电子保单的查看方法、装置、计算机设备和存储介质 | |
CN108667768A (zh) | 一种网络应用指纹的识别方法及装置 | |
US9843635B2 (en) | Data replication among portable electronic devices | |
WO2017185889A1 (zh) | 应用程序安装包的检测方法、检测设备和计算机可读存储介质 | |
US20160277430A1 (en) | System and method for detecting mobile cyber incident |
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 |