System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及恶意软件检测,具体而言,涉及一种结合动静态分析的android恶意软件检测方法。
技术介绍
1、随着智能手机的普及,android系统已成为最受欢迎的移动操作系统之一。近年来,随着android系统用户数量的增加,恶意软件也日益增多,恶意软件不仅会窃取用户的个人隐私数据,甚至会控制用户的手机,造成用户的经济损失。因此,基于android系统的恶意软件检测已成为一个重要的研究领域。就目前而言,现有的研究主要通过分析恶意软件的应用程序行为、流量等动态特征以及权限、api调用、操作码等静态特征,结合机器学习和深度学习模型提出各种检测方法和工具,以保护用户的手机安全。然而,恶意软件开发者也在不断地提高其恶意软件的隐蔽性,因此导致了恶意软件的代码变得难以理解和分析,从而使检测工具难以识别其真正的行为,也难以被反汇编和分析。基于此,针对上述问题,我们设计了一种结合动静态分析的android恶意软件检测方法。
技术实现思路
1、本专利技术的目的在于提供一种结合动静态分析的android恶意软件检测方法,其通过结合动态分析手段及静态分析手段,不仅能够自动化运行android应用程序提取动态特征,消除混淆和加壳技术对应用程序的影响;而且能够分析apk文件的代码提取静态特征,保证代码的高覆盖率,进一步提高了恶意应用的检测能力。
2、本专利技术的实施例通过以下技术方案实现:
3、一种结合动静态分析的android恶意软件检测方法,该方法的步骤包括:
4、
5、通过六度分隔理论对标记函数调用图进行挖掘,得到敏感子图及反射子图,基于tf-idf算法分别计算求得敏感api的恶意系数以及反射api的恶意系数,并通过敏感api的恶意系数将敏感子图映射为敏感特征向量,通过反射api的恶意系数将反射子图映射为反射特征向量,结合敏感特征向量、反射特征向量与全连接神经网络,构建android应用程序的静态恶意分类模型;
6、将android应用程序的静态恶意分类模型与预设的android应用程序的动态恶意分类模型进行结合,以完成android恶意软件的精准检测。
7、可选的,所述对待检测android应用程序样本集文件进行反编译,具体为通过apktool模块对待检测android应用程序样本集文件进行反编译。
8、可选的,所述标记函数调用图的数学表达式如下:
9、tfcg=(v,e)
10、
11、vi=(namei,typei)
12、其中,v为函数调用图的结点,e为函数调用图的边,namei为结点vi的函数名,typei为标记,代表该函数是否属于敏感api或者反射api。
13、可选的,所述基于tf-idf算法分别计算求得敏感api的恶意系数以及反射api的恶意系数,其中,在计算敏感api的恶意系数前,还包括将所述敏感api的功能归类到不同的敏感权限中,再基于所述tf-idf算法计算求得敏感权限的恶意系数,其计算公式为:
14、
15、其中,pi为某个敏感权限,mc(pi)为恶意应用数据集中敏感权限pi对应敏感api的数量,p为恶意应用数量,c为所有应用数量,bc(pi)为良性应用数据集中权限pi对应api的数量。
16、可选的,所述基于所述tf-idf算法计算求得反射api的恶意系数,其计算公式为:
17、
18、其中,mc(ari)为恶意应用数据集中rai的数量,bc(rai)为良性应用数据集中rai的数量。
19、可选的,所述通过敏感api的恶意系数将敏感子图映射为敏感特征向量,其计算公式为:
20、
21、
22、其中,vsl为敏感权限pi对应的敏感api结点集合,vk为vsi中的各个结点,vi为敏感特征向量中第i维特征值,malcoe(pi)为敏感权限pi的恶意系数,count(vk)为结点vk对应敏感api被调用的总次数,pred(vk)为结点vk的前驱结点集合,vj为每个前驱结点,e[vj,vk].w为源结点为vj且目标结点为vk的边e的权重w,表征为调用次数。
23、可选的,所述预设的android应用程序的动态恶意分类模型,其构建过程为:
24、运行android应用程序样本集文件,并授予全部权限,监控并抓取明文请求流量以及行为日志;
25、对明文请求流量进行url解码,并提取明文请求流量中的有效载荷,将有效载荷转换为二维图像,并对二维图像进行填充;
26、基于tf-idf算法分别计算行为日志中各个行为的敏感系数,通过阈值机制对敏感行为进行识别,并统计敏感行为在行为日志中的执行次数,求得固定维度向量,将固定维度向量与二维图像进行拼接,形成特征向量;
27、结合特征向量与机器学习算法,构建android应用程序的动态恶意分类模型。
28、可选的,所述基于tf-idf算法分别计算行为日志中各个行为的敏感系数,其计算公式为:
29、
30、其中,sencoe(ai)为某个行为ai的敏感系数,fre in mal(ai)、fre in ben(ai)分别为行为ai分别在恶意应用数据集和良性应用数据集中的出现频率。
31、可选的,所述通过阈值机制对敏感行为进行识别,具体为:给定阈值θ,并设定敏感系数sencoe(ai)≥θ的行为作为敏感行为。
32、可选的,所述将有效载荷转换为二维图像,具体为:通过ascii码十六进制将有效载荷转换为二维图像。
33、本专利技术实施例的技术方案至少具有如下优点和有益效果:
34、本专利技术实施例通过结合动态分析手段及静态分析手段,不仅能够自动化运行android应用程序提取动态特征,消除混淆和加壳技术对应用程序的影响;而且能够分析apk文件的代码提取静态特征,保证代码的高覆盖率,进一步提高了恶意应用的检测能力。
本文档来自技高网...【技术保护点】
1.一种结合动静态分析的Android恶意软件检测方法,其特征在于,该方法的步骤包括:
2.根据权利要求1所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述对待检测Android应用程序样本集文件进行反编译,具体为通过apktool模块对待检测Android应用程序样本集文件进行反编译。
3.根据权利要求1所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述标记函数调用图的数学表达式如下:
4.根据权利要求1所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述基于TF-IDF算法分别计算求得敏感API的恶意系数以及反射API的恶意系数,其中,在计算敏感API的恶意系数前,还包括将所述敏感API的功能归类到不同的敏感权限中,再基于所述TF-IDF算法计算求得敏感权限的恶意系数,其计算公式为:
5.根据权利要求4所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述基于所述TF-IDF算法计算求得反射API的恶意系数,其计算公式为:
6.根据权利要求5所
7.根据权利要求1-6任一项所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述预设的Android应用程序的动态恶意分类模型,其构建过程为:
8.根据权利要求7所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述基于TF-IDF算法分别计算行为日志中各个行为的敏感系数,其计算公式为:
9.根据权利要求7所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述通过阈值机制对敏感行为进行识别,具体为:给定阈值θ,并设定敏感系数sencoe(ai)≥θ的行为作为敏感行为。
10.根据权利要求7所述的结合动静态分析的Android恶意软件检测方法,其特征在于,所述将有效载荷转换为二维图像,具体为:通过ASCII码十六进制将有效载荷转换为二维图像。
...【技术特征摘要】
1.一种结合动静态分析的android恶意软件检测方法,其特征在于,该方法的步骤包括:
2.根据权利要求1所述的结合动静态分析的android恶意软件检测方法,其特征在于,所述对待检测android应用程序样本集文件进行反编译,具体为通过apktool模块对待检测android应用程序样本集文件进行反编译。
3.根据权利要求1所述的结合动静态分析的android恶意软件检测方法,其特征在于,所述标记函数调用图的数学表达式如下:
4.根据权利要求1所述的结合动静态分析的android恶意软件检测方法,其特征在于,所述基于tf-idf算法分别计算求得敏感api的恶意系数以及反射api的恶意系数,其中,在计算敏感api的恶意系数前,还包括将所述敏感api的功能归类到不同的敏感权限中,再基于所述tf-idf算法计算求得敏感权限的恶意系数,其计算公式为:
5.根据权利要求4所述的结合动静态分析的android恶意软件检测方法,其特征在于,所述基于所述tf-idf算法计算求得反射api的恶意...
【专利技术属性】
技术研发人员:崔艳鹏,胡建伟,胡业晗,
申请(专利权)人:成都西电网络安全研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。