CN103106365B - 一种移动终端上的恶意应用软件的检测方法 - Google Patents

一种移动终端上的恶意应用软件的检测方法 Download PDF

Info

Publication number
CN103106365B
CN103106365B CN201310029515.XA CN201310029515A CN103106365B CN 103106365 B CN103106365 B CN 103106365B CN 201310029515 A CN201310029515 A CN 201310029515A CN 103106365 B CN103106365 B CN 103106365B
Authority
CN
China
Prior art keywords
sample
training sample
feature
software
subset
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.)
Expired - Fee Related
Application number
CN201310029515.XA
Other languages
English (en)
Other versions
CN103106365A (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201310029515.XA priority Critical patent/CN103106365B/zh
Publication of CN103106365A publication Critical patent/CN103106365A/zh
Application granted granted Critical
Publication of CN103106365B publication Critical patent/CN103106365B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

一种移动终端上的恶意应用软件的检测方法用于手机信息安全领域,其特征在于:首先,采用放回的抽样方法从正常的应用下载软件中独立的抽取多个样本子集,每次随机抽取的样本数量与恶意的应用下载软件的数量相同。这些子集分别与恶意的应用下载软件结合,组成一系列新的训练样本子集;之后,解压新的训练样本子集中的各个样本文件,读取可执行文件和配置文件的内容,进而采用特征选择算法抽取能够代表样本文件的特征,得到特征子集;紧接着,选取在所有特征子集均出现的特征组合得到最终的特征集;然后对训练样本集中的样本重新训练,得到特征向量;最后,通过贝叶斯等分类算法进行分类,检测恶意应用软件。

Description

一种移动终端上的恶意应用软件的检测方法
技术领域:
本发明针对应用软件类别分布不均衡情况,采用重复抽样方法提高了对恶意应用软件的识别能力,避免用户手机遭受恶意应用软件的攻击。属于信息安全领域。
背景技术:
手机恶意应用软件可能会导致用户手机死机、关机、资料被删、向外发送垃圾邮件、拨打电话等,甚至还会损毁SIM卡、芯片等硬件。随着Android开放式操作系统的出现,用户可自行安装、添加应用程序,将造成该平台恶意应用软件数量呈爆炸式增长。
目前恶意应用软件检测方案主要有,基于特征代码的检测方案和基于行为的检测方案。基于特征代码的检测方案,通过抽取正常或恶意应用软件的代码特征来判断是否为恶意文件。基于行为的检测方案则是通过监视正常或恶意应用软件的行为或获取系统调用的函数序列,结合已知的恶意行为模式进行匹配,判断是否含有恶意行为。与基于行为的检测方案相比,基于特征代码的检测方案能耗更低,风险性更小,对实时性要求更低。在Android系统中广泛采用基于特征代码的检测方案,即静态分析方法检测恶意应用软件。静态分析方法需要运用机器学习算法对训练样本进行学习。但是由于信息安全法律约束,个人通过公开渠道获取大规模的恶意应用软件样本十分困难,缺乏足够的恶意应用软件样本。很多研究人员采用替代方案或者自行开发的方式来研究Android系统中的未知恶意应用软件。Shabtai等人利用机器学习方法对Android平台上的游戏和工具程序进行分类来评估对恶意程序的检测能力;BoSe等人通过自行开发恶意应用软件(提供了5种恶意应用软件)用于检测。检测结果的可靠性有待评估。
考虑到由于收集到的正常应用软件比恶意应用软件多,造成类别分布不均衡,当采用机器学习方法,使得分类器性能的大幅度下降,表现为小类别样本的识别率远低于大类别。而在实际的应用中,人们往往关注的是少数类的样本是否被正确识别,因此在该应用环境中,类别分布不均衡问题成为一个必须要考虑的问题。
发明内容:
本发明的目的在于尽量避免由于数据集不均衡造成的分类器性能下降的问题,提供一种在尽量不降低分类精度的前提下,有效地检测未知恶意应用软件的方法。在给出具体步骤之前,先给出相关定义:
定义1:数据集分布不均衡是指正常训练样本集中的样本数量要多于恶意训练样本集中的样本,至少为恶意训练样本数量的10倍;
定义2:数据集比例是指正常训练样本集与恶意训练样本集中的样本的数量之比;
定义3:放回抽样是指从训练样本集中随机抽取一定数量的样本,进行训练,并将每次被抽到的样本放回到训练样本集中,再进行下次抽样;
定义4:采用特征选择算法选取对分类贡献大的字符串作为特征,字符串是文件的重要组成部分,能够在一定程度上有效地表达文件;特征选择算法是去除表现力不强的字符串,筛选出针对恶意软件文件的特征项集合;
定义5:CHI方法是一种常用的特征选择算法,通过计算特征t与类别Ci(i=1,2...)的相关程度来进行特征选择过程。CHI公式如下的相关性:
CHI ( t , C i ) = n [ P ( t , C i ) × P ( t ‾ , C i ‾ ) - P ( t , C i ‾ ) × P ( t _ , C i ) ] 2 P ( t ) × P ( C i ) × P ( t ‾ ) × P ( C i ‾ )
其中,n为训练样本子集中的样本数;P(t,Ci)为训练样本子集中出现特征t并且属于类别Ci的样本出现的概率;为训练样本子集中出现特征t并且不属于类别Ci的样本出现的概率;是训练样本子集中属于类别Ci但不包含特征t的样本出现的概率;是训练样本子集中既不包含特征t并且不属于类别Ci的样本出现的概率;P(t)表示训练样本子集中包含特征t的样本的概率;表示训练样本子集中不包含特征t的样本的概率;P(Ci)表示属于Ci类别的样本在训练样本子集中出现的概率;是训练样本子集中不属于Ci类别的样本的概率;
定义6:采用朴素贝叶斯分类方法对未知文件进行分类。文件由属性值的合取来描述,假设文件F由其特征的合取来描述,即F=<t1,t2,…,tn>,根据朴素贝叶斯公式可得:
P ( C i | F ) &Proportional; P ( C i ) * &Pi; k = 1 K P ( t K | C i ) ( k = 1,2 , &CenterDot; &CenterDot; &CenterDot; K )
其中P(Ci)表示属于Ci类别的样本在训练样本集中出现的概率;P(tk|Ci)表示在属于Ci类别的条件下出现特征tk的样本的概率;
本发明的特征在于是在计算机中一次按以下步骤实现的:
步骤(1)、利用杀毒软件对手机的应用软件进行分类
从网络上搜集手机应用的下载软件,分别利用卡巴斯基杀毒软件、网秦在线安全检测软件、360手机安全检测软件以及安全侠在线检测软件共四款杀毒软件对手机上的应用下载软件进行检测,得到正常应用软件和恶意应用软件两种类型;从中选取4份正常应用软件作为正常训练样本集,选取4份恶意应用软件作为恶意训练样本集,余下的一份正常应用软件作为正常测试样本集,余下的一份恶意应用软件作为恶意测试样本集;
步骤(2)、按以下步骤利用相关性CHI算法从正常、恶意训练样本集中每个训练样本中提取共有的字符串信息作为特征集中的特征
步骤(2.1)按以下步骤生成S个训练样本子集,利用所述的相关性CHI算法得到S个特征子集,S是对所述训练样本子集进行放回抽样的次数;
步骤(2.1.1)从步骤(1)中所述的正常应用软件中随机抽取n1个样本构成正常训练样本子集,从所述的恶意应用软件中随机抽取n2个样本构成恶意训练样本子集,n1=n2,两者组合成一个新的训练样本子集,有n1+n2个样本;
步骤(2.1.2)对所述新的训练样本子集中的每个训练样本进行解压缩,从可执行文件中获取应用程序所需调用的系统库函数和该系统库函数所属的类名称,以及两者所对应的字符串信息,从配置文件中获得应用程序向系统申请的访问权限所对应的字符串信息,各除去重复的字符串信息后,得到各自惟一的字符串信息,经过拼合后,用N表示字符串信息的总数;
步骤(2.1.3)统计步骤(2.1.2)中两种字符串信息拼合成后的N个字符串信息t在所述正常训练样本子集中共同出现的样本数m1,以及在所述恶意样本中集中共同出现的样本数m2,其中t简称为特征;
步骤(2.1.4)按以下公式分别计算相关性
步骤(2.1.4.1)按以下公式计算所述字符串信息t与正常类别C1的相关性,用CHI(t,C1)表示:
CHI ( t , C 1 ) = n [ P ( t , C 1 ) &times; P ( t &OverBar; , C 2 ) - P ( t , C 2 ) &times; P ( t _ , C 1 ) ] 2 P ( t ) &times; P ( C 1 ) &times; P ( t &OverBar; ) &times; P ( C 2 )
其中,n为步骤(2.1.1)中训练样本子集中的样本数,n=n1+n2;P(t,Ci)为所述训练样本子集中出现特征t并且出现在类别Ci的样本子集中的概率,i=1,2,C1类别即步骤(2.1.3)中所述正常训练样本子集简称正常类别,C2类别即恶意训练样本子集简称恶意类别,其中: P ( t , C 1 ) = m 1 n 1 + n 2 , P ( t , C 2 ) = m 2 n 1 + n 2 ; 为所述训
练样本子集中出现特征t并且不出现在类别Ci中的样本的概率,其中: P ( t , C 1 &OverBar; ) = P ( t , C 2 ) , P ( t , C 2 &OverBar; ) = P ( t , C 1 ) ; 为所述训练样本子集中属于类别Ci但不包含特征t的样本的出现概率,其中: P ( t &OverBar; , C 1 ) = n 1 - m 1 n 1 + n 2 , P ( t , C 2 ) = n 2 - m 2 n 1 + n 2 ; 为所述训练样本子集中既不包含特征t又不属于类别Ci的样本出现的概率,其中: P(t)为所述训练样本子集中包含特征t的样本的出现概率, 为所述训练样本子集中不包含特征t的样本的出现概率,P(Ci)为所述训练样本子集中属于类别Ci的样本出现的概率, 为所述训练样本子集中不属于类别Ci
样本的出现概率,其中: P ( C 1 ) &OverBar; = P ( C 2 ) = n 2 n 1 + n 2 , P ( C 2 &OverBar; ) = P ( C 1 ) = n 1 n 1 + n 2 , 因而,
CHI ( t , C 1 ) = ( n 1 + n 2 ) [ m 1 ( n 1 + n 2 ) &times; ( n 2 - m 2 ) ( n 1 + n 2 ) - m 2 ( n 1 + n 2 ) &times; ( n 1 - m 1 ) ( n 1 + n 2 ) ] 2 ( m 1 + m 2 ) ( n 1 + n 2 ) &times; n 1 ( n 1 + n 2 ) &times; ( ( n 1 + n 2 ) - ( m 1 + m 2 ) ) ( n 1 + n 2 ) &times; n 2 ( n 1 + n 2 ) ;
步骤(2.1.4.2)按以下公式计算所述字符串信息t与恶意类别C2的相关性,用CHI(t,C2)表示:
CHI ( t , C 2 ) = ( n 1 + n 2 ) [ m 2 ( n 1 + n 2 ) &times; ( n 1 - m 1 ) ( n 1 + n 2 ) - m 1 ( n 1 + n 2 ) &times; ( n 2 - m 2 ) ( n 1 + n 2 ) ] 2 ( m 1 + m 2 ) ( n 1 + n 2 ) &times; n 2 ( n 1 + n 2 ) &times; ( ( n 1 + n 2 ) - ( m 1 + m 2 ) ) ( n 1 + n 2 ) &times; n 1 ( n 1 + n 2 ) ;
步骤(2.1.5)按以下步骤构造特征子集
步骤(2.1.5.1)对步骤(2.1.4.1)得到的CHI(t,C1)值由大到小排序,顺序选取N/2个字符串信息作为正常训练样本的特征;
步骤(2.1.5.2)对步骤(2.1.4.2)得到的CHI(t,C2)值由大到小排序,顺序选取N/2个与步骤(2.1.5.1)所选取的N/2个字符串信息不同的字符串信息作为恶意训练样本的特征;
步骤(2.1.5.3)把步骤(2.1.5.1)得到的N/2个正常训练样本的特征与从步骤(2.1.5.2)得到的N/2个恶意训练样本的特征合并得到N个字符串信息,作为特征选入特征子集;
步骤(2.1.6)把步骤(2.1.1)得到的正常训练样本子集放回到步骤(2.1.1)所述的正常训练样本集中;
步骤(2.1.7)重复操作步骤(2.1.1-2.1.6)S次,进行S次随机抽样,得到S个训练样本子集以及对应的S个特征子集,S是步骤(1)中所述的正常应用软件与恶意应用软件之间的数量比,设定S=20;
步骤(2.2)把步骤(2.1.7)中得到的S个特征子集中均出现的特征组成最终的特征集中的特征
步骤(3)、统计步骤(2.1.6)得到的各个特征t在所述的正常训练样本集中出现的样本数n(t,C1),以及在所述恶意训练样本集中出现的样本数n(t,C2)
步骤(4)、把步骤(3)中得到的n(t,C1)、n(t,C2)和所述正常训练样本集中的样本数n(C1)、恶意训练样本集中的样本数n(C2)保存
步骤(5)、按以下步骤对步骤(1)中所述的从网络上搜集的手机应用下载软件中的测试软件进行分类检测验证,所述测试软件包括所述的一个恶意测试样本集
步骤(5.1)计算属于类别Ci的样本在训练样本集中出现的概率: P ( C 1 ) = n ( C 1 ) n ( C 1 ) + n ( C 2 ) , P ( C 2 ) = n ( C 2 ) n ( C 1 ) + n ( C 2 ) ;
步骤(5.2)计算特征tk所在类别的条件概率P(tk|Ci),是指类别Ci中出现特征tk的样本在类别Ci的样本集中出现的概率: P ( t k | C 1 ) = n ( t k | C 1 ) n ( C 1 ) , ( t k | C 2 ) = n ( t k | C 2 ) n ( C 2 ) ;
步骤(5.3)计算所述测试软件属于正常类别C1的概率P(C1|F),F为特征tk的集合,k=1,2…K, P ( C 1 | F ) &Proportional; P ( C 1 ) * &Pi; k = 1 K P ( t k | C 1 ) ;
步骤(5.4)计算所述测试软件属于恶意类别C2的概率P(C2|F),F为特征tk的集合,k=1,2...K, P ( C 2 | F ) &Proportional; P ( C 2 ) * &Pi; k = 1 K P ( t k | C 2 ) ;
步骤(5.5)对步骤(5.3)和步骤(5.4)得到的P(C1|F)和P(C2|F)进行比较,选取概率值较大者作为验证测试软件的类别,给出提示。
本发明方法能够应用在资源有限的移动系统中的未知恶意应用软件检测的环境中。优点如下:
1.采用静态分析检测方法,从应用程序中抽取特征,不需要运行程序,能耗小,风险性更小。
2.通过放回抽样方法,重复抽样的方法减弱了大类样本对整个训练集的影响,提高了对小类样本的识别能力。
3.选取特征子集中均存在的特征,既保留具有较强类别区分能力的特征,同时降低特征集维数。
附图说明
图1是本发明实现不均衡数据集上应用下载恶意应用软件的检测方法的流程图。
具体实施方式
数据集不均衡指训练样本集中正常和恶意训练样本的数量存在数量级的差距,在本发明中规定当正常训练软件中的软件数量至少为恶意训练软件中的软件数量的10倍时,才被认可为不均衡数据集。
以Android平台为例,介绍本发明包含的步骤:
步骤(1)、利用杀毒软件对手机的应用软件进行分类
从网络上搜集手机应用的下载软件,分别利用卡巴斯基杀毒软件、网秦在线安全检测软件、360手机安全检测软件以及安全侠在线检测软件共四款杀毒软件对手机上的应用下载软件进行检测,得到2000个正常应用软件和100个恶意应用软件;从中选取1600个正常应用软件作为正常训练样本集,选取80个恶意应用软件作为恶意训练样本集,余下的400个正常应用软件作为正常测试样本集,余下的20个恶意应用软件作为恶意测试样本集;
步骤(2)、按以下步骤利用相关性CHI算法从正常、恶意训练样本集中每个训练样本中提取共有的字符串信息作为特征集中的特征
步骤(2.1)按以下步骤生成20个训练样本子集,利用所述的相关性CHI算法得到20个特征子集
步骤(2.1.1)从步骤(1)中所述的正常应用软件中随机抽取80个样本构成正常训练样本子集,从所述的恶意应用软件中随机抽取80个样本构成恶意训练样本子集,两者组合成一个新的训练样本子集,有160个样本;
步骤(2.1.2)对所述新的训练样本子集中的每个训练样本进行解压缩,从可执行文件中获取应用程序所需调用的系统库函数和该系统库函数所属的类名称,以及两者所对应的字符串信息,从配置文件中获得应用程序向系统申请的访问权限所对应的字符串信息,各除去重复的字符串信息后,得到各自惟一的字符串信息,用N表示字符串信息的总数;
以软件样本“365日历”为例,第一步:对该样本进行解压缩,可看到其包含META-INF目录、res目录、assets目录、classes.dex文件、AndroidManifest.xml文件以及resources.arsc文件;从中读取classes.dex可执行文件和AndroidManifest.xml配置文件的内容;第二步:从classes.dex可执行文件抽取应用程序需要调用的系统库函数以及库函数所属的类名称等字符串信息;第三步:从AndroidManifest.xml文件从获得应用程序向系统申请的访问权限信息;第四步:去除重复的字符串信息,保证得到的字符串信息的唯一出现;最后:统计所有字符串信息出现在正常训练样本子集中的样本数,以及在恶意训练样本子集中出现的样本数,例如:得到字符串“getRunningServices”在4个正常训练样本中出现,在46个恶意训练样本中出现;
步骤(2.1.3)已知训练样本子集中正常训练样本数(80)和恶意训练样本数(80),根据字符串信息在正常、恶意训练样本子集中出现的样本数,利用公式CHI(t,C1)计算上面得到的每个字符串信息t与正常类别(C1)的相关性,CHI(t,C2)计算字符串信息t与恶意类别(C2)的相关性,以步骤(2.1.2)中的软件样本“365日历”中的字符串“getRunningServices”为例:
CHI ( t , C 1 ) = n [ P ( t , C 1 ) &times; P ( t &OverBar; , C 2 ) - P ( t , C 2 ) &times; ( t &OverBar; , C 1 ) ] 2 P ( t ) &times; P ( C 1 ) &times; P ( t &OverBar; ) &times; P ( C 2 ) = 160 * [ 4 160 &times; 34 160 - 46 160 &times; 76 160 ] 2 50 160 &times; 80 160 &times; 80 160 &times; ( 160 - 50 ) 160
CHI ( t , C 2 ) = n [ P ( t , C 2 ) &times; P ( t &OverBar; , C 1 ) - P ( t , C 1 ) &times; ( t &OverBar; , C 2 ) ] 2 P ( t ) &times; P ( C 1 ) &times; P ( t &OverBar; ) &times; P ( C 2 ) = 160 * [ 46 160 &times; 76 160 - 4 160 &times; 34 160 ] 2 50 160 &times; 80 160 &times; 80 160 &times; ( 160 - 50 ) 160 ;
步骤(2.1.4)按以下步骤构造特征子集
步骤(2.1.4.1)对步骤(2.1.4.1)得到的CHI(t,C1)值由大到小排序,顺序选取N/2个字符串信息作为正常训练样本的特征;
步骤(2.1.4.2)对步骤(2.1.4.2)得到的CHI(t,C2)值由大到小排序,顺序选取N/2个与步骤(2.1.4.1)所选取的N/2个字符串信息不同的字符串信息作为恶意训练样本的特征;
步骤(2.1.4.3)把步骤(2.1.4.1)得到的N/2个正常训练样本的特征与从步骤(2.1.4.2)得到的N/2个恶意训练样本的特征合并得到N个字符串信息,作为特征选入特征子集;
步骤(2.1.5)把步骤(2.1.1)得到的正常训练样本子集放回到步骤(2.1.1)所述的正常训练样本集中;
步骤(2.1.6)重复操作步骤(2.1.1-2.1.5)20次,进行20次随机抽样,得到20个训练样本子集以及对应的20个特征子集;
步骤(2.2)把步骤(2.1.6)中得到的20个特征子集中均出现的特征组成最终的特征集中的特征;
步骤(3):统计步骤(2.1.6)得到的各个特征t在所述的正常训练样本集中出现的样本数n(t,C1),以及在所述恶意训练样本集中出现的样本数n(t,C2)
假定步骤(2.1.3)中的字符串信息“getRunningServices”在20个特征子集中均出现,作为特征集中的特征,得到字符串“getRunningServices”在1600个正常训练样本中出现,在46个恶意训练样本中出现;
步骤(4):把步骤(3)中得到的n(t,C1)、n(t,C2)和所述正常训练样本集中的样本数n(C1)=1600、恶意训练样本集中的样本数n(C2)=80保存
步骤(5):按以下步骤对步骤(1)中所述的从网络上搜集的手机应用下载软件中的测试软件进行分类检测验证,所述测试软件包括所述的一个恶意测试样本集
步骤(5.1)计算属于类别Ci的样本在训练样本集中出现的概率: P ( C 1 ) = n ( C 1 ) n ( C 1 ) + n ( C 2 ) , P ( C 2 ) = n ( C 2 ) n ( C 1 ) + n ( C 2 ) ;
步骤(5.2)计算特征tk所在类别的条件概率P(tk|Ci),是指类别Ci中出现特征tk的样本在类别Ci的样本集中出现的概率: P ( t k | C 1 ) = n ( t k , C 1 ) n ( C 1 ) , P ( t k | C 2 ) = n ( t k , C 2 ) n ( C 2 ) ;
步骤(5.3)计算所述测试软件属于正常类别C1的概率P(C1|F),F为特征tk的集合,k=1,2…K, P ( C 1 | F ) &Proportional; P ( C 1 ) * &Pi; k = 1 K P ( t k | C 1 ) ;
步骤(5.4)计算所述测试软件属于恶意类别C2的概率P(C2|F),F为特征tk的集合,k=1,2...K, P ( C 2 | F ) &Proportional; P ( C 2 ) * &Pi; k = 1 K P ( t k | C 2 ) ;
步骤(5.5)对步骤(5.3)和步骤(5.4)得到的P(C1|F)和P(C2|F)进行比较,选取概率值较大者作为验证测试软件的类别,给出提示;
假定一个待测样本,得到的字符串信息与特征集中的所有特征匹配成功的只有字符串信息“getRunningServices”,则可知步骤(5.3)中的k=1,该字符串属于正常类别的概率是属于恶意类别的概率是正常类别概率是恶意类别概率是因此可以知道该样本属于正常类别的概率是该样本属于正常类别的概率是比较可以知道属于正常类别的概率更大,因此该样本属于正常样本。

Claims (1)

1.一种移动终端上的恶意应用软件的检测方法,其特征在于是在计算机中依次按以下步骤实现的:
步骤(1)、利用杀毒软件对手机的应用软件进行分类
从网络上搜集手机应用的下载软件,分别利用卡巴斯基杀毒软件、网秦在线安全检测软件、360手机安全检测软件以及安全侠在线检测软件共四款杀毒软件对手机上的应用下载软件进行检测,得到正常应用软件和恶意应用软件两种类型;从正常应用软件中按比例选取4份正常应用软件作为正常训练样本集,余下的一份正常应用软件作为正常测试样本集,从恶意应用软件中按比例选取4份恶意应用软件作为恶意训练样本集,余下的一份恶意应用软件作为恶意测试样本集;
步骤(2)、按以下步骤利用相关性CHI算法从正常、恶意训练样本集中每个训练样本中提取共有的字符串信息作为特征集中的特征
步骤(2.1)按以下步骤生成S个训练样本子集,利用所述的相关性CHI算法得到S个特征子集,S是对所述训练样本子集进行放回抽样的次数;
步骤(2.1.1)从步骤(1)中所述的正常应用软件中随机抽取n1个样本构成正常训练样本子集,从所述的恶意应用软件中随机抽取n2个样本构成恶意训练样本子集,n1=n2,两者组合成一个新的训练样本子集,有n1+n2个样本;
步骤(2.1.2)对所述新的训练样本子集中的每个训练样本进行解压缩,从可执行文件中获取应用程序所需调用的系统库函数和该系统库函数所属的类名称,以及两者所对应的字符串信息,从配置文件中获得应用程序向系统申请的访问权限所对应的字符串信息,各除去重复的字符串信息后,得到各自惟一的字符串信息,经过拼合后,用N表示字符串信息的总数;
步骤(2.1.3)统计步骤(2.1.2)中两种字符串信息拼合成后的N个字符串信息t在所述正常训练样本子集中共同出现的样本数m1,以及在所述恶意样本子集中共同出现的样本数m2,其中t简称为特征;
步骤(2.1.4)按以下公式分别计算相关性
步骤(2.1.4.1)按以下公式计算所述字符串信息t与正常类别C1的相关性,用CHI(t,C1)表示:
C H I ( t , C 1 ) = n &lsqb; P ( t , C 1 ) &times; P ( t &OverBar; , C 2 ) - P ( t , C 2 ) &times; P ( t &OverBar; , C 1 ) &rsqb; 2 P ( t ) &times; P ( C 1 ) &times; P ( t &OverBar; ) &times; P ( C 2 )
其中,n为步骤(2.1.1)中训练样本子集中的样本数,n=n1+n2;P(t,Ci)为所述训练样本子集中出现特征t并且出现在类别Ci的样本子集中的概率,i=1,2,C1类别即步骤(2.1.3)中所述正常训练样本子集简称正常类别,C2类别即恶意训练样本子集简称恶意类别,其中: 为所述训练样本子集中出现特征t并且不出现在类别Ci中的样本的概率,其中: 为所述训练样本子集中属于类别Ci但不包含特征t的样本的出现概率,其中: 为所述训练样本子集中既不包含特征t又不属于类别Ci的样本出现的概率,其中:P(t)为所述训练样本子集中包含特征t的样本的出现概率, 为所述训练样本子集中不包含特征t的样本的出现概率,P(Ci)为所述训练样本子集中属于类别Ci的样本出现的概率, 为所述训练样本子集中不属于类别Ci的样本的出现概率,其中: P ( C 1 &OverBar; ) = P ( C 2 ) = n 2 n 1 + n 2 , P ( C 2 &OverBar; ) = P ( C 1 ) = n 1 n 1 + n 2 , 因而,
C H I ( t , C 1 ) = ( n 1 + n 2 ) &lsqb; m 1 ( n 1 + n 2 ) &times; ( n 2 - m 2 ) ( n 1 + n 2 ) - m 2 ( n 1 + n 2 ) &times; ( n 1 - m 1 ) ( n 1 + n 2 ) &rsqb; 2 ( m 1 + m 2 ) ( n 1 + n 2 ) &times; n 1 ( n 1 + n 2 ) &times; ( ( n 1 + n 2 ) - ( m 1 + m 2 ) ) ( n 1 + n 2 ) &times; n 2 ( n 1 + n 2 ) ;
步骤(2.1.4.2)按以下公式计算所述字符串信息t与恶意类别C2的相关性,用CHI(t,C2)表示:
C H I ( t , C 2 ) = ( n 1 + n 2 ) &lsqb; m 2 ( n 1 + n 2 ) &times; ( n 1 - m 1 ) ( n 1 + n 2 ) m 1 ( n 1 + n 2 ) &times; ( n 2 - m 2 ) ( n 1 + n 2 ) &rsqb; 2 ( m 1 + m 2 ) ( n 1 + n 2 ) &times; n 2 ( n 1 + n 2 ) &times; ( ( n 1 + n 2 ) - ( m 1 + m 2 ) ) ( n 1 + n 2 ) &times; n 1 ( n 1 + n 2 ) ;
步骤(2.1.5)按以下步骤构造特征子集
步骤(2.1.5.1)对步骤(2.1.4.1)得到的CHI(t,C1)值由大到小排序,顺序选取N/2个字符串信息作为正常训练样本的特征;
步骤(2.1.5.2)对步骤(2.1.4.2)得到的CHI(t,C2)值由大到小排序,顺序选取N/2个与步骤(2.1.5.1)所选取的N/2个字符串信息不同的字符串信息作为恶意训练样本的特征;
步骤(2.1.5.3)把步骤(2.1.5.1)得到的N/2个正常训练样本的特征与从步骤(2.1.5.2)得到的N/2个恶意训练样本的特征合并得到N个字符串信息,作为特征选入特征子集;
步骤(2.1.6)把步骤(2.1.1)得到的正常训练样本子集放回到步骤(2.1.1)所述的正常训练样本集中;
步骤(2.1.7)重复操作步骤(2.1.1-2.1.6)S次,进行S次随机抽样,得到S个训练样本子集以及对应的S个特征子集,S是步骤(1)中所述的正常应用软件与恶意应用软件之间的数量比,设定S=20;
步骤(2.2)把步骤(2.1.7)中得到的S个特征子集中均出现的特征组成最终的特征集中的特征
步骤(3)、统计步骤(2.1.6)得到的各个特征t在所述的正常训练样本集中出现的样本数n(t,C1),以及在所述恶意训练样本集中出现的样本数n(t,C2)
步骤(4)、把步骤(3)中得到的n(t,C1)、n(t,C2)和所述正常训练样本集中的样本数n(C1)、恶意训练样本集中的样本数n(C2)保存
步骤(5)、按以下步骤对步骤(1)中所述的从网络上搜集的手机应用下载软件中的测试软件进行分类检测验证,所述测试软件包括所述的一个恶意测试样本集
步骤(5.1)计算属于类别Ci的样本在训练样本集中出现的概率: P ( C 1 ) = n ( C 1 ) n ( C 1 ) + n ( C 2 ) , P ( C 2 ) = n ( C 2 ) n ( C 1 ) + n ( C 2 ) ;
步骤(5.2)计算特征tk所在类别的条件概率P(tk|Ci),是指类别Ci中出现特征tk的样本在类别Ci的样本集中出现的概率:
步骤(5.3)计算所述测试软件属于正常类别C1的概率P(C1|F),F为特征tk的集合,k=1,2…K, P ( C 1 | F ) &Proportional; P ( C 1 ) * &Pi; k = 1 K P ( t k | C 1 ) ;
步骤(5.4)计算所述测试软件属于恶意类别C2的概率P(C2|F),F为特征tk的集合,k=1,2…K, P ( C 2 | F ) &Proportional; P ( C 2 ) * &Pi; k = 1 K P ( t k | C 2 ) ;
步骤(5.5)对步骤(5.3)和步骤(5.4)得到的P(C1|F)和P(C2|F)进行比较,选取概率值较大者作为验证测试软件的类别,给出提示。
CN201310029515.XA 2013-01-25 2013-01-25 一种移动终端上的恶意应用软件的检测方法 Expired - Fee Related CN103106365B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310029515.XA CN103106365B (zh) 2013-01-25 2013-01-25 一种移动终端上的恶意应用软件的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310029515.XA CN103106365B (zh) 2013-01-25 2013-01-25 一种移动终端上的恶意应用软件的检测方法

Publications (2)

Publication Number Publication Date
CN103106365A CN103106365A (zh) 2013-05-15
CN103106365B true CN103106365B (zh) 2015-11-25

Family

ID=48314216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310029515.XA Expired - Fee Related CN103106365B (zh) 2013-01-25 2013-01-25 一种移动终端上的恶意应用软件的检测方法

Country Status (1)

Country Link
CN (1) CN103106365B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348795B (zh) * 2013-07-30 2019-09-20 深圳市腾讯计算机系统有限公司 通用网关接口业务入侵防护的方法及装置
CN104424437B (zh) * 2013-08-28 2018-07-10 贝壳网际(北京)安全技术有限公司 多文件样本的测试方法、装置和客户端
CN103473506B (zh) * 2013-08-30 2016-12-28 北京奇虎科技有限公司 用于识别恶意apk文件的方法和装置
CN103530562A (zh) * 2013-10-23 2014-01-22 腾讯科技(深圳)有限公司 一种恶意网站的识别方法和装置
CN104915596B (zh) * 2014-03-10 2018-01-26 可牛网络技术(北京)有限公司 apk病毒特征库构建方法、装置及apk病毒检测系统
CN105468977A (zh) * 2015-12-14 2016-04-06 厦门安胜网络科技有限公司 一种基于朴素贝叶斯的Android恶意软件分类方法和装置
CN105426762B (zh) * 2015-12-28 2018-08-14 重庆邮电大学 一种android应用程序恶意性的静态检测方法
CN105740709B (zh) * 2016-01-29 2018-09-28 博雅网信(北京)科技有限公司 一种基于权限组合的安卓恶意软件检测方法
CN107103171B (zh) * 2016-02-19 2020-09-25 阿里巴巴集团控股有限公司 机器学习模型的建模方法及装置
CN109002710B (zh) * 2017-06-07 2021-06-22 中国移动通信有限公司研究院 一种检测方法、装置及计算机可读存储介质
CN107222511B (zh) * 2017-07-25 2021-08-13 深信服科技股份有限公司 恶意软件的检测方法及装置、计算机装置及可读存储介质
CN108197474A (zh) * 2017-12-29 2018-06-22 北京交通大学 移动终端应用的分类和检测方法
CN108960561A (zh) * 2018-05-04 2018-12-07 阿里巴巴集团控股有限公司 一种基于不平衡数据的风控模型处理方法、装置及设备
CN108959919A (zh) * 2018-05-25 2018-12-07 合肥利元杰信息科技有限公司 一种技术服务程序下载系统
CN112417447B (zh) * 2020-11-11 2021-07-20 北京京航计算通讯研究所 一种恶意代码分类结果的精确度验证方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485575A (en) * 1994-11-21 1996-01-16 International Business Machines Corporation Automatic analysis of a computer virus structure and means of attachment to its hosts
CN102034043A (zh) * 2010-12-13 2011-04-27 四川大学 基于文件静态结构属性的恶意软件检测新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485575A (en) * 1994-11-21 1996-01-16 International Business Machines Corporation Automatic analysis of a computer virus structure and means of attachment to its hosts
CN102034043A (zh) * 2010-12-13 2011-04-27 四川大学 基于文件静态结构属性的恶意软件检测新方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Android恶意软件静态检测方案的研究;童振飞;《中国优秀硕士学位论文全文数据库》;20120715;全文 *
satic analysis of executables for collaborative malware detection on android;Schmidt等;《IEEE International Conference on Communication,ICC2009》;20090617;全文 *
一种基于级联模型的类别不平衡数据分类方法;刘胥影;《南京大学学报(自然科学)》;20060331;第42卷(第3期);全文 *
选择性集成学习算法综述;张春霞等;《计算机学报》;20110815;第34卷(第8期);全文 *

Also Published As

Publication number Publication date
CN103106365A (zh) 2013-05-15

Similar Documents

Publication Publication Date Title
CN103106365B (zh) 一种移动终端上的恶意应用软件的检测方法
CN109753801B (zh) 基于系统调用的智能终端恶意软件动态检测方法
CN109753800A (zh) 融合频繁项集与随机森林算法的Android恶意应用检测方法及系统
CN105205397B (zh) 恶意程序样本分类方法及装置
CN111428231A (zh) 基于用户行为的安全处理方法、装置及设备
CN107577942A (zh) 一种用于Android恶意软件检测的混合特征筛选方法
CN110795732A (zh) 基于SVM的Android移动网络终端恶意代码的动静结合检测方法
CN109598124A (zh) 一种webshell检测方法以及装置
CN108009425A (zh) 文件检测及威胁等级判定方法、装置及系统
CN106599688B (zh) 一种基于应用类别的安卓恶意软件检测方法
CN105740707A (zh) 恶意文件的识别方法和装置
CN111639337A (zh) 一种面向海量Windows软件的未知恶意代码检测方法及系统
CN104915596B (zh) apk病毒特征库构建方法、装置及apk病毒检测系统
CN102324007B (zh) 基于数据挖掘的异常检测方法
CN107315956A (zh) 一种用于快速准确检测零日恶意软件的图论方法
CN109711163A (zh) 基于api调用序列的安卓恶意软件检测方法
CN107180190A (zh) 一种基于混合特征的Android恶意软件检测方法及系统
CN106951782A (zh) 一种面向安卓应用的恶意代码检测方法
CN106845220A (zh) 一种Android恶意软件检测系统及方法
CN108197474A (zh) 移动终端应用的分类和检测方法
CN113468524A (zh) 基于rasp的机器学习模型安全检测方法
CN109413047A (zh) 行为模拟的判定方法、系统、服务器及存储介质
CN115292674A (zh) 一种基于用户评论数据的欺诈应用检测方法及系统
Le et al. Software vulnerability prediction in low-resource languages: An empirical study of codebert and chatgpt
CN112016088A (zh) 生成文件检测模型的方法、装置、检测文件的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
CB03 Change of inventor or designer information

Inventor after: Lai Yingxu

Inventor after: Qiao Jingjing

Inventor after: Yang Zhen

Inventor after: Liu Jing

Inventor after: Li Jian

Inventor after: Xu Zhuangzhuang

Inventor after: Wu Jingzheng

Inventor after: Wu Zhifei

Inventor before: Lai Yingxu

Inventor before: Qiao Jingjing

Inventor before: Yang Zhen

Inventor before: Liu Jing

Inventor before: Li Jian

Inventor before: Xu Zhuangzhuang

COR Change of bibliographic data
TR01 Transfer of patent right

Effective date of registration: 20151202

Address after: 100124 Chaoyang District, Beijing Ping Park, No. 100

Patentee after: Beijing University of Technology

Patentee after: Institute of Software, Chinese Academy of Sciences

Address before: 100124 Chaoyang District, Beijing Ping Park, No. 100

Patentee before: Beijing University of Technology

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20210125