基于ABC-CWXGBoost的安卓恶意应用检测方法
作者单位:哈尔滨工程大学
学位级别:硕士
导师姓名:郭方方;陈诗军
授予年度:2021年
学科分类:08[工学] 0839[工学-网络空间安全] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:安卓恶意应用检测 特征选择 XGBoost 人工蜂群算法
摘 要:随着互联网的快速发展以及5G的逐渐普及,移动设备的使用变得越来越普遍。而在移动设备中,Android操作系统是其中最流行的操作系统。Android是一个开源开发环境,有恶意的人可以开发恶意应用程序,滥用平台提供的功能,或者在合法应用程序中添加一段恶意代码。因此,如何准确、有效的检测Android恶意应用程序成为现如今研究的重点。现在的检测方法分为静态检测、动态检测和混合检测。静态检测是在安卓应用程序安装之前进行检测,主要通过收集应用程序的各种信息来进行检测。动态检测是通过执行应用程序获取动态的执行信息。混合检测则是静态检测和动态检测的组合。因为静态检测不需要环境部署和运行应用程序,花费的成本低且更加安全,所以本文选择静态检测方法。首先,针对从应用程序中直接提取出来的特征冗余的问题,本文提出了一种基于权限和API的两级特征选择方法。本文选取了安卓恶意应用检测中具有代表性的权限和API特征,因为直接从应用程序中提取出来的权限和API数量庞大且冗余,增大了检测的时间,所以需要将提取出来的特征进行选择。通过两级特征选择方法,可以有效的减少冗余特征,提高检测速度。其次,为了解决安卓恶意应用检测准确率不高以及样本不平衡的问题,本文提出了一种基于人工蜂群优化参数的类加权XGBoost安卓恶意应用检测方法。XGBoost的参数多且参数值的选取非常影响后续的检测准确率,同时,良性应用程序的数量与恶意应用程序的数量不平衡也会造成检测出来的准确率降低。因此,本文使用人工蜂群算法来对XGBoost分类算法中的参数进行寻优,来寻找一个最佳的参数组合,然后使用一种类加权的方式来修正数据集不平衡的问题,进而进一步提高安卓恶意应用程序检测的准确率。最后,通过实验证明了本文提出的基于权限和API的两级特征选择方法能够在保证准确率的同时减少检测的时间。同时,基于人工蜂群优化参数的类加权XGBoost安卓恶意应用检测方法在与其他分类算法进行对比时,展现出了更好的检测性能。