System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于混合特征的加固安卓恶意应用鲁棒检测方法技术_技高网

一种基于混合特征的加固安卓恶意应用鲁棒检测方法技术

技术编号:40903506 阅读:4 留言:0更新日期:2024-04-18 14:35
本发明专利技术涉及一种基于混合特征的加固安卓恶意应用鲁棒检测方法,包括以下步骤:1、收集恶意软件数据集;2、流量行为特征和动态运行时特征提取并融合,将两种特征混合后转换为灰度图;3、搭建深度学习框架,框架里面训练所采用的深度学习模型为EfficientNet v2+Attention模型;4、重复多次迭代得到最终的预测效果。本发明专利技术使用了流量行为特征和动态运行时特征结合的特征混合手段,通过训练模型,可以显著提高恶意软件分类的鲁棒性。

【技术实现步骤摘要】

本专利技术涉及安卓恶意应用的检测方法领域,具体涉及的是一种基于混合特征的加固安卓恶意应用鲁棒检测方法


技术介绍

1、近年来,随着移动互联网的快速发展和智能手机在各种安全敏感操作中的广泛应用,出现了大量android应用程序。使用恶意软件的网络攻击和网络犯罪急剧增加,恶意软件是在没有用户同意的情况下渗透和破坏计算机的计算机程序。由于android的大市场份额及其开源开发生态系统的特点,许多恶意软件开发人员通过躲避android沙箱或其他现有反病毒机制提供的检测,将其恶意应用程序上传到第三方市场,甚至谷歌的官方市场。在android操作系统中,应用程序可以很容易地被反编译以进行代码分析。在合法的上下文中,混淆和加固可以有效防止攻击者复制甚至修改源代码,然而在非合法上下文中,攻击者可以利用加固构建出伪装性较强的恶意软件用来逃避安全系统或者安全软件的检查。

2、在移动应用领域,尤其是android平台上的蓬勃发展也伴随着一系列的问题,其中之一便是知识产权保护和安全性的平衡。为了保护知识产权,防止应用程序被恶意盗用和逆向工程,开发者们开始采用加固技术来加强应用程序的安全性。加固技术可以使应用程序的代码变得更加难以被反编译和逆向分析,从而保护了开发者的知识产权和商业机密。加固技术在保护知识产权方面取得了显著成效,但它也引发了新的问题,不法分子开始滥用加固技术,将其应用于恶意软件(malware)的开发中。这种情况给移动应用生态系统带来了严重的安全威胁。恶意开发者利用加固技术来隐藏恶意代码,使其难以被传统的恶意软件检测方法所察觉,从而增加了恶意软件传播和潜藏的难度。

3、基于机器学习的方法也被广泛用于恶意软件检测领域,这些方法通过训练模型来识别恶意行为的模式,可以适应不断变化的恶意软件形态。然而,已有的恶意应用检测方法和模型可能在面对具有对抗分析特征的恶意应用(如加固恶意应用)等失效。


技术实现思路

1、本专利技术要解决的技术问题是针对以上问题和要求,提供一种基于混合特征的加固安卓恶意应用鲁棒检测方法。

2、为解决以上技术问题,本专利技术采用以下技术方案:

3、一种基于混合特征的加固安卓恶意应用鲁棒检测方法,包括以下步骤:

4、步骤1、建立包含多种良性和恶意安卓应用的数据集,对数据集进行加固签名,并划分为训练集、验证集和测试集,其中训练集和验证集用于训练,测试集用于测试;

5、步骤2、针对于数据集中的样本进行动态运行时特征和流量数据特征的获取;

6、步骤3、将每个样本的流量特征与动态运行时特征进行拼接,形成融合调用序列特征,并转换为灰度图;

7、步骤4、构建深度学习分类模型,所述深度学习分类模型集成了自定义的注意力机制,深度学习分类模型的输出为输入数据的分类类别,将训练集中样本对应的灰度图输入深度学习分类模型,对深度学习分类模型进行训练,并利用验证集进行验证,得到训练好的分类模型;

8、步骤5、利用测试集对上一步得到的训练好的分类模型进行测试,并根据测试结果对模型参数进行调整,得到最终的安卓恶意应用检测模型;

9、步骤6、获取待测安卓应用的动态运行时特征和动态运行时特征进行拼接并转换为灰度图,输入最终的安卓恶意应用检测模型,得到检测结果。

10、进一步的,所述步骤1中的加固方法具体包括以下步骤:

11、步骤1-1、将apk文件的静态代码分析特征与动态运行时特征构造成对应的映射表,当存在某个特征时标记为1,当不存在某个特征时则标记为0,得到静态代码分析特征与动态运行时特征分别对应的映射表;

12、步骤1-1、反编译apk文件,获取到原apk文件的application:name;

13、步骤1-2、准备一个壳dex,将壳源码中配置文件android:name字段修改为原apk文件的application:name,壳dex用于保护原apk的dex,解密和加载原dex的任务交给壳dex,防止反编译进行分析;

14、步骤1-3、将原apk的dex文件通过aes加密保存到壳dex尾部;

15、步骤1-4、将原apk文件中的原dex文件替换为壳dex,并修改原apk文件里androidmanifest.xml的applicationandroid:name字段,实现从壳dex启动;

16、步骤1-5、对上一步处理后的apk进行重新签名打包,得到加固后的签名。

17、进一步的,所述步骤2中获取流量数据特征的方法包括以下步骤:

18、步骤2-1、将样本apk文件安装到android虚拟机上;

19、步骤2-2、采用adb shell monkey模拟用户与对应安装的app进行随机交互多次;

20、步骤2-3、模拟用户在进行交互时,采用scapy库进行流量获取,在提取过程中同时过滤出http、tcp和udp数据包,并保存为文件,即为样本的流量数据特征。

21、进一步的,获取动态运行时特征的方法为,利用andropytool生成样本apk文件对应的动态运行时特征文件。

22、进一步的,所述步骤3包括以下步骤:

23、步骤3-1、将流量特征与动态运行时特征对应的二进制比特流连接,得到一个融合特征表示;

24、步骤3-2、通过频率线性映射,将融合特征表示映射到灰度图的强度值范围内;

25、步骤3-3、在将流量特征和动态运行时特征融合后,采用频率映射策略表达不同特征的分布情况,最终生成的灰度图呈现了流量特征和动态运行时特征的叠加效果,其中图像的横向维度对应于特征数据的顺序排列,纵向维度则对应于特征的幅度或强度。

26、进一步的,所述步骤4中的深度学习分类模型为添加了注意力机制的efficientnet模型。

27、本专利技术采用以上技术方案后,与现有技术相比,具有以下优点:

28、(1)本专利技术设计并实现了一种自动化批量加固的方法,通过利用壳dexclassloader来动态加载原始dex的方式,实现了android应用的批量加固;

29、(2)本专利技术同时实现了一个自动化批量获取流量的工具autotraffictool,用来获取每个样本的运行时产生的流量数据。同时用动态分析程序来获取动态运行时特征数据。

30、(3)提出了一种能够对抗代码加固的恶意应用检测方法。基于模糊测试和网络流量包提取的方法自动的抓取目标样本的网络流量特征;同时通过监控相应的运行时函数调用和系统状态,获取目标应用的动态运行时特征。进而将提取出的两类特征进行上下文拼接混合并转换为灰度图,基于深度学习模型进行检测;

31、(4)本专利技术采用的深度学习模型是efficientnet v2和attention,基于efficientnet v2的深度学习模型以及引入attention机制,着重在模型轻量化和性能优化上取得了显本文档来自技高网...

【技术保护点】

1.一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,所述步骤1中的加固方法具体包括以下步骤:

3.根据权利要求1所述的一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,所述步骤2中获取流量数据特征的方法包括以下步骤:

4.根据权利要求1所述的一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,获取动态运行时特征的方法为,利用AndroPyTool生成样本APK文件对应的动态运行时特征文件。

5.根据权利要求1所述的一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,所述步骤3包括以下步骤:

6.根据权利要求1所述的一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,所述步骤4中的深度学习分类模型为添加了注意力机制的EfficientNet模型。

【技术特征摘要】

1.一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,所述步骤1中的加固方法具体包括以下步骤:

3.根据权利要求1所述的一种基于混合特征的加固安卓恶意应用鲁棒检测方法,其特征在于,所述步骤2中获取流量数据特征的方法包括以下步骤:

4.根据权利要求1所述的一种基于混合特征的加固安卓恶意...

【专利技术属性】
技术研发人员:汤俊伟周思杰彭涛胡新荣皮乔森许子龙
申请(专利权)人:武汉纺织大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1