APP下载

基于优化CS-SVM算法的DGA域名检测研究

2023-08-01卢加奇吕广旭魏先燕冯燕茹王小英

现代信息科技 2023年11期
关键词:支持向量机特征选择

卢加奇 吕广旭 魏先燕 冯燕茹 王小英

摘  要:近年来恶意软件融合域名生成算法,生成大量的恶意域名严重威胁网络安全。目前现有的恶意域名检测方法大多都存在检测效率低等问题。提出一种通过采用优化后的布谷鸟搜索算法(CS)对支持向量机(SVM)进行优化,即BCS-SVM方法,该方法能够适应DGA域名检测场景。实验采用开放域名数据作为样本集,对文章提出的DGA域名检测方法进行训练,并通过域名向量转换、检测模型训练、参数调优,最终完成了一种较为高效的DGA域名检测模型。

关键词:特征选择;DGA域名;布谷鸟搜索算法;支持向量机

中图分类号:TP393.0  文献标识码:A  文章编号:2096-4706(2023)11-0077-03

Research on DGA Domain Name Detection Based on Optimized CS-SVM Algorithm

LU Jiaqi, LYU Guangxu, WEI Xianyan, FENG Yanru, WANG Xiaoying

(Institute of Disaster Prevention, Langfang  065201, China)

Abstract: In recent years, malware integrates domain name to generate algorithms, and generates a large number of malicious domain names which is a serious threat to network security. Most of the existing malicious domain name detection methods have problems of low detection efficiency. This paper proposes a Support Vector Machine (SVM) optimization method by using an optimized Cuckoo Search algorithm (CS), namely the BCS-SVM method, which can be adapted to the DGA domain name detection scenario. The experiment uses open domain name data as the sample set, trains the DGA domain name detection method proposed in this paper, and an efficient DGA domain name detection model is realized through domain name vector conversion, detection model training and parameter tuning finally.

Keywords: feature selection; DGA domain name; Cuckoo Search algorithm; Support Vector Machine

0  引  言

近些年来,各种网络恶意行为不断出现,网络入侵事件层出不穷,网络攻击随时发生,如僵尸网络和勒索软件,这些攻击严重依赖命令与控制渠道远程进行恶意活动。为了逃避通道检测,攻击者不断尝试使用不同的隐蔽通信技术。其中最常见的一种技术是域名生成算法,它允许恶意软件随机生成大量域名,直到找到其相应的C&C服务器。它对检测系统和逆向工程具有高度的弹性,同时允许C&C服务器拥有多个冗余域名。随着恶意软件动态生成域名的速度和方式越来越多,使得现有的检测措施变得越来越困难,因此对恶意域名的动态检测和阻止其与C&C服务器进行通信具有重要的意义。基于此提出了优化CS-SVM算法的恶意域名检测方法,该方法对恶意域名的检测准确率达到97.2%,检测效果较优。

1  研究概述

用于恶意域名检测方面的无监督方法获得了大量的关注和研究,为后续研究提供大量的理论基础。传统的检测方法基于黑名单技术以及启发式规则识别分析技术对恶意域名进行检测,随着机器学习技术的发展,2015年,Truong和Cheng提出了一种检测域名流动的系统,通过分析DNS流量,从恶意和良性域名的字符串中提取詞汇特征进行识别[1]。2016年,Song等人提出了一种基于随机森林分类器的方法来检测算法生成的域名,一些特征基于n-gram计算。对恶意域名进行检测取得了较好的结果[2]。2020年,赵宏提出一种基于深度自编码和决策树的恶意域名检测算法,利用域名特征作为输出构建深度自编码网络模型,实现对域名的检测[3]。2022年,李晓冬提出一种基于融合嵌入层的恶意域名检测方法,采用融合向量与神经网络相结合的方法,实现恶意域名检测[4]。从上述研究发现对恶意域名检测时多数方法都依赖于语言特性,需要复杂的计算,尤其是对字符级恶意域名来说,一些检测方法的检测效果较差。深度神经网络模型参数较多、计算复杂、模型运行时间长。

2  改进布谷鸟搜索的支持向量机方法

因网络域名数据中所涉及的特征较为复杂,另一方面众多的机器学习方法在训练高维数据中具有很大的困难,因而导致模型的训练时间长,训练效果不佳,尤其是对于有监督的训练造成很大的困扰。本文采用改进布谷鸟搜索的支持向量机方法针对恶意域名检测进行研究,主要分为两部分构成,一是使用改进布谷鸟搜索算法对于网络恶意域名特征进行特征筛选,二是将筛选好的特征利用支持向量机方法进行分类,从而实现对与恶意域名的发现和甄别。

2.1  基于优化的布谷鸟搜索算法

传统的布谷鸟搜索算法(CS算法)是由Yang等在2010年根据布谷鸟的繁殖生活习性受到的启发提出的[5]。该算法迭代地使用Lévy飞行随机游走来探索搜索空间。针对布谷鸟的生活习性,传统布谷鸟算法的具有以下三条基本规则:

1)在初始化过程中,随机选择鸟窝产蛋并孵化,每次只产出一枚蛋。

2)利用Lévy飞行进行位置更新选择最优的鸟窝,并将最优鸟窝保留。

3)宿主的巢数量是固定的,宿主发现布谷鸟下的蛋的概率为P,此概率值在0到1之间,但发现布谷鸟蛋时候,会将巢穴丢弃建立新巢穴或将布谷鸟蛋丢弃。

布谷鸟搜索算法利用Lévy飞行来更新自己的位置,该飞行表达式为:

其在这里,这些步驟基本上形成了一个随机行走过程,具有幂律分布和沉重的尾部,这将加快本地搜索速度,这将确保系统不会陷入局部最优。寻找的计算式为:

由此可见, 的位置由上一个路径  所得到的,分别代表t+1和t的鸟窝位置。其中α>0表示其步长,上述方程本质上是随机行走的随机方程。通常,随机游动是一个马尔可夫链,其下一个位置仅取决于当前位置(上述方程中的第一项)和转移概率(第二项)。 代表的点乘积,也就是所谓的逐项乘法。

布谷鸟搜索算法迭代的使用Lévy飞行随机游走来探索搜索空间。Lévy飞行机制突然转弯90度,因此布谷鸟搜索策略没有在布谷鸟巢周围仔细搜索,因此收敛速度慢,优化精度低。并且布谷鸟搜索算法一般是面对连续性的优化问题,将布谷鸟搜索算法应用到特征选择中就需要将我们的算法进行离散化改进。图1为改进布谷鸟搜索算法的流程图。

2.2  支持向量机算法

支持向量机(SVM)是一种采用监督学习方式的分类模型。SVM的优点在于其可解释性强、不依靠传统的统计方法,从而简化分类和回归问题,在分类评价中具有较高的精度和计算效率。对于一个二分类问题,假设特征空间Rn,其中n表示特征空间中每个样本点都是n维的,并且该特征空间中有m个训练样本点。训练数据集表(xi,yi),i = 1, 2, …, m,其中xi ∈ Rn表示样本特征向量,yi{+1, -1}表示其对应的类别。具体的算法步骤如下:

显然,对于二分类评价SVM的优劣主要有所采取的核心函数以及惩罚参数所决定。

在对样本的特征维数较低,样本数量较多的情况,一般选用高斯核函数,同时在处理数据时可以先对特征进行缩放,可以减少后续出现过拟合的现象。基于此提出一种采用BCS算法提取域名特征,将提取到的特征作为SVM的输入,最终构建BCS-SVM分类模型。

3  实验与结果分析

3.1  实验数据集

本次实验的恶意域名是从已知的真实数据集DGArchive中选取,其中包含bep、dircrypt、emotet、pregozi、oderoor等在内的50个恶意域名家族数据。正常域名来自Alexa网站,使用Alexa 的排名相对比较靠前的域名作为正常域名。选择恶意域名是按照比例从每个恶意域名家族中随机抽取一定数量的样本,然后将随机抽取的样本组合成恶意域名样本集。最终将正常域名与恶意域名的样本合并得到最终的数据集。合并后的数据集共99万条数据,数据集详情如表1所示。

3.2  数据处理及指标

在进行检测模型训练前,需要对数据进行预处理,对每条域名进行分类标识。本文主要讨论恶意域名的检测方法,不对恶意域名家族进行分类,其中,域名分为正常域名和恶意域名两类,其中正常域名标记为0,恶意域名标记为1。

对于二分类任务,通常使用下述几种评估指标。

其中TP表示样本预测值与真实值相符且均为正;FP表示样本预测值为正而真实值为负;FN表示样本预测值为负而真实值为正;TN表示样本预测值与真实值相符且均为负。

3.3  实验结果与分析

实验首先对处理完的数据使用布谷鸟搜索算法进行特征筛选择优,表2是筛选后的结果。

采用的对比实验模型分别为支持向量机[6]、多层感知机[7]、CS-SVM、BCS-SVM算法。表2是四种模型的性能指标。实验过程中,本文分别采用的传统的机器学习方法(SVM)、深度学习(MLP)和CS-SVM方法以及提出的BCS-SVM算法进行分类。分析表3,可以看出改进后的BCS-SVM模型比CS-SVM的准确率提高了3.9%,对比SVM和MLP准确率上均有所提升。采用BCS-SVM对域名进行检测取得了较优的效果,说明了本文的检测方法,对恶意域名与正常域名具有良好检测的效果。

图2是不同算法在数据集上的实验结果。实验结果表明,采用BCS-SVM对域名进行检测,在各项评价指标均优于SVM和MLP以及改进前的CS-SVM算法。

4  结  论

恶意域名检测成为检测钓鱼网站、勒索病毒的重要方式。本文基于公开的恶意域名数据集域名和Aleax全球网站排名信息构建域名样本数据,提出一种基于BCS-SVM算法的分类检测方法,该方法用布谷鸟搜索算法(CS算法)进行特征筛选和组合,然后将筛选后的特征输入到支持向量机(SVM)中,减少了一定量的参数,计算速率上有明显提升。实验结果表明,该方法能够有效检测出恶意域名,相较于SVM、MLP以及改进前的CS-SVM检测方法,各项指标更高,检测效果更优。

参考文献:

[1] TRUONG D,CHENG G.Detecting domain‐flux botnet based on dns traffic features in managed network [J].Security and Communication Networks,2016,9(14):2338-2347.

[2] SONG W J,LI B. A Method to Detect Machine Generated Domain Names Based on Random Forest Algorithm [C]//2016 International Conference on Information System and Artificial Intelligence (ISAI).Hong Kong:IEEE,2017:509-513.

[3] 趙宏,常兆斌,王伟杰.基于深度自编码和决策树的恶意域名检测 [J].微电子学与计算机,2020,37(5):13-17.

[4] 李晓冬,李育强,宋元凤,等.新的基于融合向量的DGA域名检测方法 [J].计算机应用研究,2022,39(6):1834-1837+1844.

[5] YANG X S,DEB S. Cuckoo Search via Levy Flights [J/OL].arXiv:1003.1594 [math.OC].(2010-05-08).https://arxiv.org/abs/1003.1594.

[6] WANG Z,JIA Z,ZHANG B. A Detection Scheme for DGA Domain Names Based on SVM [C]//Science and Engineering Research Center.Proceedings of 2018 International Conference on Mathematics,Modelling,Simulation and Algorithms(MMSA2018).Chengdu:Atlantis Press,2018:268-274.

[7] 王辉,周忠锦,王世晋,等.基于MLP深度学习算法的DGA准确识别技术研究 [J].信息安全研究,2019,5(6):495-499.

[8] CHEN T,CUESTRIN C. XGBoost:A Scalable Tree Boosting System [C]//KDD '16:The 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.San Francisco:Association for Computing Machinery,2016:785-794.

作者简介:卢加奇(1997—),男,汉族,江苏徐州人,硕士研究生在读,研究方向:网络安全、APT攻击;吕广旭(1998—),男,汉族,山东德州人,硕士研究生在读,研究方向:网络安全、数据挖掘;魏先燕(1996—),女,汉族,湖北襄阳人,硕士研究生在读,研究方向:语音安全、数据分析;冯燕茹(1985—),女,汉族,山西长治人,副教授,博士研究生,研究方向:语音安全、网络工程;通讯作者:王小英(1979—),女,汉族,陕西咸阳人,教授,硕士,研究方向:无线通信、WSN技术、网络安全。

收稿日期:2023-01-08

基金项目:防灾科技学院教育研究与教学改革项目(JY2022B31)

猜你喜欢

支持向量机特征选择
Kmeans 应用与特征选择
基于改进支持向量机的船舶纵摇预报模型
基于SVM的烟草销售量预测
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
基于熵技术的公共事业费最优组合预测
基于支持向量机的金融数据分析研究
基于GA和ELM的电能质量扰动识别特征选择方法
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统