CN113343242A - 一种恶意Android应用在线检测方法及装置 - Google Patents
一种恶意Android应用在线检测方法及装置 Download PDFInfo
- Publication number
- CN113343242A CN113343242A CN202110845557.5A CN202110845557A CN113343242A CN 113343242 A CN113343242 A CN 113343242A CN 202110845557 A CN202110845557 A CN 202110845557A CN 113343242 A CN113343242 A CN 113343242A
- Authority
- CN
- China
- Prior art keywords
- application
- malicious
- incremental
- data set
- online detection
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 51
- 230000003068 static effect Effects 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000010276 construction Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Virology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种恶意Android应用在线检测方法及装置,其中方法包括:步骤1:构建应用数据集;步骤2:提取所述应用数据集包含的静态特征,并对所述静态特征进行特征选择,得到特征子集;步骤3:将所述特征子集输入所述增量学习算法中,训练增量学习模型进行恶意应用检测;本发明基于移动应用市场检测场景,实现有效并且快速的恶意Android应用在线检测方法。
Description
技术领域
本发明涉及恶意软件检测技术领域,更具体的说是涉及一种恶意Android应用在线检测方法及装置。
背景技术
目前,随着智能手机和移动设备的快速发展,Android平台服务已经成为大部分网络用户不可或缺的要素,与此同时,移动恶意软件也快速增长成为威胁网络安全和隐私的重要源头。
但是,现有的恶意Android应用检测技术主要有动态检测和静态检测两种方法,其中在线检测场景中使用静态检测存在以下问题:新增待检测应用中良性应用和恶意应用类别分布不平衡;静态分析提取的特征数量庞大,模型训练效率低;新应用样本不断增多,为保证模型检测准确率,模型不断重新更新,消耗大量时间和计算机算力。
因此,如何提供一种能够解决上述问题的恶意Android应用在线检测方法是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种恶意Android应用在线检测方法及装置,基于移动应用市场检测场景,实现有效并且快速的恶意Android应用在线检测方法。
为了实现上述目的,本发明采用如下技术方案:
一种恶意Android应用在线检测方法,包括:
步骤1:构建应用数据集;
步骤2:提取所述应用数据集包含的静态特征,并对所述静态特征进行特征选择,得到特征子集;
步骤3:将所述特征子集输入增量学习算法中,训练增量学习模型进行恶意应用检测。
优选的,步骤2具体包括:
步骤21:遍历所述应用数据集,提取所述应用数据集中的静态特征;
步骤22:计算所述静态特征对应的Droid-TF-IDF值;
步骤23:分别将所述静态特征按Droid-TF-IDF值降序排序,形成特征集,选择所述Droid-TF-IDF值前k个排名对应的所述静态特征作为特征子集。
优选的,还包括步骤4:实时检测新增应用数据集,利用所述增量学习模型对所述新增应用数据集进行恶意应用检测,并更新模型。
优选的,所述步骤3具体包括:
步骤31:输入初始训练集,对所述初始训练集提取对应的静态特征;
步骤32:将所述特征作为所述增量学习算法的输入,设置恶意应用标签为0,良性应用为1,利用增量学习算法训练所述增量学习模型,并保存训练好的模型。
优选的,所述步骤4具体包括:
步骤41:使用所述增量学习模型检测输入的新增量样本集,并对所述新增量样本集设置标签;
步骤42:将经过所述步骤41处理的所述新增量样本集输入到增量学习模型中进行再训练,实现模型增量更新;
步骤43:多次执行所述步骤42和所述步骤43,直到没有待检测样本时停止检测。
优选的,所述步骤1具体包括:
步骤11:输入应用集,判断所述应用集中的一个应用是否为恶意应用;
步骤12:若是恶意应用,提取所述应用的所有权限,若是良性应用则将该应用加入良性应用集合;
步骤13:遍历所述应用的所有权限,对所述权限进行分组,形成敏感权限组;
步骤14:选择任意一个敏感权限组,对应生成多个恶意应用,并将其加入恶意应用集合;步骤15:统计恶意应用集合和良性应用集合数量,计算两者的比例,利用随机欠采样方法按比例删除良性应用,使样本类别均衡,结合恶意应用数据集和良性应用数据集形成新的应用数据集。
进一步,本发明提供一种恶意Android应用在线检测装置,包括:
应用数据构建模块,所述应用数据构建模块用于构建应用数据集;
应用特征选择模块,所述特征选择模块用于对所述应用数据集进行提取特征,选择Droid-TF-IDF值排名前k个特征作为特征子集;
应用检测模块,所述应用检测模块用于利用增量学习模型对恶意应用进行检测。
优选的,还包括:增量应用构建模块,所述增量应用构建模块与所述应用检测模块连接,所述增量应用构建模块用于输入的增量样本集进行构建,并增量更新模型。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种恶意Android应用在线检测方法及装置,针对样本类别不平衡的问题构建数据集,为增量学习模型提供数据样本;然后,针对特征维度灾难的问题,采用静态分析方法提取特征,对特征进行特征选择;最后,针对新样本数据持续增加模型频繁重新更新的问题,使用增量学习算法构造模型分类器检测恶意应用;
针对恶意Android应用在线场景随着Android操作系统版本变化和恶意应用更新,导致检测准确率变低,多次重新构建模型又会消耗大量时间和计算机算力的问题,本发明基于移动应用市场检测场景,实现有效并且快速的恶意Android应用在线检测方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1附图为本发明提供的一种恶意Android应用在线检测方法流程图;
图2附图为本发明实施例提供的构建应用数据集流程图;
图3附图为本发明实施例提供的得到特征子集流程图;
图4附图为本发明实施例提供的新增应用数据集检测流程图;
图5附图为本发明提供的一种恶意Android应用在线检测装置结构原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见附图1所示,本发明实施例公开了一种恶意Android应用在线检测方法,包括:
步骤1:构建应用数据集;
步骤2:提取所述应用数据集包含的静态特征,并对所述静态特征进行特征选择,得到特征子集;
步骤3:将所述特征子集输入增量学习算法中,训练增量学习模型进行恶意应用检测。
其中,在机器学习算法中,其中一部分算法可以进行增量学习,在学习新知识的同时保留原有的知识,这些算法称为增量学习算法,训练出的模型就是增量学习模型,在模型训练过程中,模型学习到新知识的同时自行实现增量更新。
在一个具体的实施例中,还包括步骤4:实时检测新增应用数据集,利用增量学习模型对新增应用数据集进行恶意应用检测,并更新增量学习模型。
参见附图2所示,在一个具体的实施例中,步骤1具体包括:
步骤11:输入应用集T={t1,t2,t1,...},判断应用集T中的一个应用ti是否为恶意应用;
步骤12:若是恶意应用,提取该应用的所有权限P={pi,1,pi,2,pi,3,...pi,x},pi代表ti包含x个权限的集合;若是良性应用则将ti加入恶意应用集合Tb;
步骤13:遍历该应用的所有权限,权限和权限组的对应关系可以如表1所示,对权限pi进行分组,形成敏感权限组Gi={Gi,1,Gi,2,Gi,3,...Gi,x};
步骤14:该权限组中拥有权限数为Gi,j,该权限组中拥有权限数为n(1≤n≤5)生成该权限组中所有权限的组合,共有2n-1种权限组合逐一使用权限组合中的每个权限组合替换中属于Gi,j的权限,以生成新的恶意应用该权限组合生成扩增恶意应用成为扩增恶意应用集合Tm;
步骤15:统计Tm和Tb的数量,计算两者的比例,利用随机欠采样方法按比例从Tb中删除部分良性应用,使样本类别均衡,将Tm和Tb合并,形成应用数据集T'。
表1部分权限和权限组对应关系表
参见附图3所示,在一个具体的实施例中,步骤2具体包括:
步骤21:遍历应用数据集T',提取T'中每个应用ti的静态特征,其中静态特征可以包括权限、API和操作码3类。
具体的,对应用进行静态分析提取特征,APK文件由APKBuilder合成,使用Apktool对其进行反编译,可得到*.smali、AndroidManifest.xml、res、META-INF和lib库等文件,然后从AndroidManifest.xml文件中提取应用权限特征,在*.smali文件中提取API和操作码特征。
步骤22:分别计算静态特征对应的Droid-TF-IDF值,在应用集合T'中,|T'|为全部应用数量,应用ti中的权限特征集为P(ti),则:
T'pw={ti|ti∈T'∧pw∈P(ti)}T'pw={ti|ti∈T'∧pw∈P(ti)}
式中,|T'pw|为出现权限特征pw的应用数量,权限特征pw在应用ti中出现Count(pw,p(ti))次,则该权限特征pw的TF-IDF值计算结果如下式所示:
API和操作码特征的Droid-TF-IDF值计算方法与权限特征类似。
步骤23:分别将3类特征按Droid-TF-IDF值降序排序,形成特征集合,选择Droid-TF-IDF值排名前k个特征作为特征子集。
参见附图4所示,在一个具体的实施例中,步骤3具体包括:
步骤31:输入初始训练集,对初始训练集提取对应的静态特征;
步骤32:将所述特征作为所述增量学习算法的输入,设置恶意应用标签为0,良性应用为1,利用增量学习算法训练所述增量学习模型,并保存训练好的模型。
其中,增量学习模型是现有算法训练出的模型。
在一个具体的实施例中,步骤4具体包括:
步骤41:使用所述增量学习模型检测输入的增量样本集,并对所述增量样本集设置标签,其中设置标签的方法与步骤32的过程一致,利用步骤11-15的方法再构建成新的增量样本集;
步骤42:将经过步骤41处理的增量样本集输入到增量学习模型中进行再训练,实现模型增量更新;
步骤43:多次执行步骤42和步骤43,直到没有待检测样本时停止检测。
进一步,参见附图5所示,本发明实施例还提供一种恶意Android应用在线检测装置,包括:
应用数据构建模块,应用数据构建模块用于构建应用数据集;
应用特征选择模块,特征选择模块用于对应用数据集提取特征,并选择Droid-TF-IDF值排名前k个特征作为特征子集;
应用检测模块,应用检测模块用于对特征子集进行检测。
在一个具体的实施例中,还包括:
增量应用构建模块,增量应用构建模块与应用检测模块连接,增量应用构建模块用于对输入的增量样本集构建新增量样本数据集,并增量更新模型。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种恶意Android应用在线检测方法,其特征在于,包括:
步骤1:构建应用数据集;
步骤2:提取所述应用数据集包含的静态特征,并对所述静态特征进行特征选择,得到特征子集;
步骤3:将所述特征子集输入增量学习算法中,训练增量学习模型进行恶意应用检测。
2.根据权利要求1所述的一种恶意Android应用在线检测方法,其特征在于,步骤2具体包括:
步骤21:遍历所述应用数据集,提取所述应用数据集中的静态特征;
步骤22:计算所述静态特征对应的Droid-TF-IDF值;
步骤23:分别将所述静态特征按Droid-TF-IDF值降序排序,形成特征集合,选择所述Droid-TF-IDF值前k个排名对应的所述静态特征作为特征子集。
3.根据权利要求1所述的一种恶意Android应用在线检测方法,其特征在于,还包括步骤4:实时检测新增应用数据集,利用所述增量学习模型对所述新增应用数据集进行恶意应用检测,并增量更新模型。
4.根据权利要求3所述的一种恶意Android应用在线检测方法,其特征在于,步骤3具体包括:
步骤31:输入初始训练集,对所述初始训练集提取对应的静态特征;
步骤32:将所述特征作为所述增量学习算法的输入,设置恶意应用标签为0,良性应用为1,利用增量学习算法训练所述增量学习模型,并保存训练好的模型。
5.根据权利要求4所述的一种恶意Android应用在线检测方法,其特征在于,所述步骤4具体包括:
步骤41:使用增量学习模型检测输入的新增量样本集,并对所述新增量样本集设置标签;
步骤42:将经过所述步骤41处理的所述新增量样本集输入到增量学习模型中进行再训练,实现模型增量更新;
步骤43:多次执行所述步骤42和所述步骤43,直到没有待检测样本时停止检测。
6.根据权利要求1所述的一种恶意Android应用在线检测方法,其特征在于,步骤1具体包括:
步骤11:输入应用集,判断所述应用集中的一个应用是否为恶意应用;
步骤12:若是恶意应用,提取所述应用的所有权限,若是良性应用则将该应用加入良性应用集合;
步骤13:遍历所述应用的所有权限,对所述权限进行分组,形成敏感权限组;
步骤14:选择任意一个敏感权限组,对应生成多个恶意应用,并将生成的恶意应用加入恶意应用集合;
步骤15:统计恶意应用集合和良性应用集合的数量,计算两者的比例,利用随机欠采样方法按比例删除良性应用,使样本类别均衡,结合恶意应用数据集和良性应用数据集形成对应新的应用数据集。
7.一种恶意Android应用在线检测装置,其特征在于,包括:
应用数据构建模块,所述应用数据构建模块用于构建应用数据集;
应用特征选择模块,所述特征选择模块用于对所述应用数据集进行提取特征,并选择Droid-TF-IDF值排名前k个特征作为特征子集;
应用检测模块,所述应用检测模块用于对所述特征子集进行检测。
8.根据权利要求7所述的一种恶意Android应用在线检测装置,其特征在于,还包括:
增量应用构建模块,所述增量应用构建模块与所述应用检测模块连接,所述增量应用构建模块用于对输入的增量样本集进行构建,并增量更新模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845557.5A CN113343242A (zh) | 2021-07-26 | 2021-07-26 | 一种恶意Android应用在线检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110845557.5A CN113343242A (zh) | 2021-07-26 | 2021-07-26 | 一种恶意Android应用在线检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113343242A true CN113343242A (zh) | 2021-09-03 |
Family
ID=77480305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110845557.5A Pending CN113343242A (zh) | 2021-07-26 | 2021-07-26 | 一种恶意Android应用在线检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343242A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845240A (zh) * | 2017-03-10 | 2017-06-13 | 西京学院 | 一种基于随机森林的Android恶意软件静态检测方法 |
CN106919841A (zh) * | 2017-03-10 | 2017-07-04 | 西京学院 | 一种高效的基于旋转森林的Android恶意软件检测模型DroidDet |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、系统、装置及计算机可读存储介质 |
CN110197068A (zh) * | 2019-05-06 | 2019-09-03 | 广西大学 | 基于改进灰狼算法的Android恶意应用检测方法 |
WO2020051018A1 (en) * | 2018-09-04 | 2020-03-12 | Carrier Corporation | System and method for detecting malicious activities and anomalies in building systems |
CN111695626A (zh) * | 2020-06-10 | 2020-09-22 | 湖南湖大金科科技发展有限公司 | 基于混合采样与特征选择的高维度不平衡数据分类方法 |
CN112132179A (zh) * | 2020-08-20 | 2020-12-25 | 中国人民解放军战略支援部队信息工程大学 | 基于少量标注样本的增量学习方法及系统 |
CN112860303A (zh) * | 2021-02-07 | 2021-05-28 | 济南大学 | 一种模型增量更新的方法及系统 |
-
2021
- 2021-07-26 CN CN202110845557.5A patent/CN113343242A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845240A (zh) * | 2017-03-10 | 2017-06-13 | 西京学院 | 一种基于随机森林的Android恶意软件静态检测方法 |
CN106919841A (zh) * | 2017-03-10 | 2017-07-04 | 西京学院 | 一种高效的基于旋转森林的Android恶意软件检测模型DroidDet |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、系统、装置及计算机可读存储介质 |
WO2020051018A1 (en) * | 2018-09-04 | 2020-03-12 | Carrier Corporation | System and method for detecting malicious activities and anomalies in building systems |
CN110197068A (zh) * | 2019-05-06 | 2019-09-03 | 广西大学 | 基于改进灰狼算法的Android恶意应用检测方法 |
CN111695626A (zh) * | 2020-06-10 | 2020-09-22 | 湖南湖大金科科技发展有限公司 | 基于混合采样与特征选择的高维度不平衡数据分类方法 |
CN112132179A (zh) * | 2020-08-20 | 2020-12-25 | 中国人民解放军战略支援部队信息工程大学 | 基于少量标注样本的增量学习方法及系统 |
CN112860303A (zh) * | 2021-02-07 | 2021-05-28 | 济南大学 | 一种模型增量更新的方法及系统 |
Non-Patent Citations (4)
Title |
---|
G¨OK¸CER PEYNIRCI 等: "Feature Selection for Malware Detection on the Android Platform Based on Differences of IDF Values", 《JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY》, vol. 35, no. 4, pages 4 * |
伍拉迪斯罗·霍曼达(WLADYSLAW HOMENDA) 等: "模式识别 数据质量视角", vol. 1, 30 April 2020, 机械工业出版社, pages: 227 - 229 * |
李向军;孔珂;魏智翔;王科选;肖聚鑫;: "面向Android恶意应用静态检测的特征频数差异增强算法", 计算机工程与科学, no. 06, pages 46 - 55 * |
熊祖涛;: "基于增量学习SVM的Android恶意应用检测方法", 嘉应学院学报, no. 05, pages 3 - 5 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111382430B (zh) | 用于对计算机系统的对象进行分类的系统和方法 | |
Jung et al. | Accounttrade: Accountable protocols for big data trading against dishonest consumers | |
Cen et al. | A probabilistic discriminative model for android malware detection with decompiled source code | |
Yadav | Effective analysis of malware detection in cloud computing | |
CN106055574A (zh) | 一种识别非法统一资源标识符url的方法与装置 | |
Mehtab et al. | AdDroid: rule-based machine learning framework for android malware analysis | |
CN105205397B (zh) | 恶意程序样本分类方法及装置 | |
Yang et al. | Characterizing malicious android apps by mining topic-specific data flow signatures | |
CN106599688B (zh) | 一种基于应用类别的安卓恶意软件检测方法 | |
CN106874253A (zh) | 识别敏感信息的方法及装置 | |
Turcotte et al. | Poisson factorization for peer-based anomaly detection | |
CN109598124A (zh) | 一种webshell检测方法以及装置 | |
CN106803039B (zh) | 一种恶意文件的同源判定方法及装置 | |
CN111382434A (zh) | 用于检测恶意文件的系统和方法 | |
CN114328640A (zh) | 一种基于移动用户动态敏感数据的差分隐私保护与数据挖掘方法和系统 | |
CN106569860A (zh) | 一种应用管理方法及终端 | |
CN112968872B (zh) | 基于自然语言处理的恶意流量检测方法、系统、终端 | |
CN110298171A (zh) | 移动互联网大数据应用的智能检测与安全防护方法 | |
CN113254988A (zh) | 高维敏感数据隐私分级保护发布方法、系统、介质及设备 | |
CN113901465A (zh) | 一种基于异质网络的Android恶意软件检测方法 | |
Zegzhda et al. | Detecting Android application malicious behaviors based on the analysis of control flows and data flows | |
Hu et al. | Single-shot black-box adversarial attacks against malware detectors: A causal language model approach | |
Dia et al. | A closed sets based learning classifier for implicit authentication in web browsing | |
Fang et al. | A hybrid detection method for android malware | |
CN113343242A (zh) | 一种恶意Android应用在线检测方法及装置 |
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 |