基于AlexNet卷积神经网络的APT攻击检测技术研究

【摘要】本文提出了一种基于AlexNet卷积神经网络的检测方法。首先,对APT攻击恶意代码二进制样本进行解压缩、反编译等数据预处理操作,并在沙箱内运行APT攻击恶意代码样本,将获取的流量数据转化成灰度图像;然后,对预处理的图像进行特征提取和家族聚类;最后,选取8个家族的APT攻击恶意代码样本数据来训练和测试AlexNet卷积神经网络模型。实验结果表明,该方法对APT攻击恶意代码及其变体检测的平均准确率可达98.84%。

【关键词】APT攻击恶意代码灰度图像AlexNet网络

1引言

2APT攻击研究技术

纵观国内外APT攻击防护领域,主要采取的方式是针对APT攻击中所用的恶意代码进行检测。APT攻击恶意代码的检测方式主要分为动态检测和静态检测两类。

在动态检测中,主要通过沙箱收集APT攻击恶意代码的系统调用、操作,检测恶意软件的异常情况。Rieck等使用在沙箱中运行恶意样本,监控了其网络行为,通过机器学习分析APT攻击网络行为信息,实现对恶意代码的检测;Shukla等通过在应用程序和内核层创建沙箱,监视和控制应用程序的行为,同样利用了机器学习的方法实现检测。在虚拟机和沙箱中进行的虚拟检测存在的缺陷使大部分APT攻击恶意代码可通过加壳、混淆等技术躲避安全人员的虚拟执行,从而降低检测准确性。

在静态检测中,安全人员主要通过提取和分析APT攻击恶意代码,匹配恶意代码库的方式检测和分类攻击行为。Saxe等通过统计APT攻击恶意代码二进制文件中恶意软件中可打印的字符、字节数值的熵值、调用的函数表等内容,并将统计结果作为数据集训练深度神经网络获得分类模型,最终实现分类;Zhang等将二进制可执行文件分解成操作码序列并作为特征向量,以此训练神经网络分类模型。静态检测主要受到APT攻击样本集的限制,若出现新的APT攻击恶意代码变体,静态检测的准确性将大打折扣。

随着APT攻击恶意代码威胁从个人计算机扩散至工业控制系统,APT攻击恶意代码领域出现了大量已有恶意代码的变体,能够绕过传统的基于代码特征的检测系统。因此,对APT攻击恶意代码变体的检测变得至关重要。本文通过运用动态和静态检测技术,结合代码可视化和深度学习技术,检测APT攻击渗透期所用的恶意代码及其变体,切断APT攻击链条,从而实现对APT攻击的防御。

3基于AlexNet卷积神经网络的APT攻击恶意代码及其变体检测

3.1方案设计

方案设计主要包括4个步骤,图1展示了方案整体的流程。

3.1.1APT攻击恶意代码解压缩、反编译

3.1.2虚拟执行获得灰度图像

在经过解压缩、反编译等处理之后,在带有抗逃逸技术的动态沙箱中运行二进制代码,排除HTTP等正常协议,过滤出带有SSL等数据传输协议和未知可疑协议的流量会话数据。通过B2M、T2G等映射算法将APT攻击恶意代码流量会话数据映射为灰度图,实现APT攻击恶意代码可视化,图3是将APT攻击恶意代码样本及其变体映射成的灰度图。为了使灰度图更容易识别和分类,本文采用了形态学中膨胀(dilation)和腐蚀(erosion)两种基本的形态学运算,对灰度图像进行图像增强处理,保留有用信息的同时清除噪声干扰,增强灰度图的对比度。图4是灰度图经过膨胀和腐蚀处理之后的对比。

3.1.3灰度图特征提取,实现家族聚类

图像增强之后的灰度图像数据维度较高,利用降维算法(LocallyLinearEmbedding,LLE)对图像进行降维。通过Canopy-K-means聚类算法实现对灰度图像的特征提取及聚类,聚类结果如图5所示。通过微软的MSE杀毒软件实现灰度图的家族标注,本文的数据集通过MSE标记为8个APT攻击恶意代码家族,如表1所示的VBInject.WX、VBInject.gen!JD、Beebone.DN等。通过家族聚类,可以将检测到的未知APT攻击恶意代码进行同源性归类,提高代码的分析效率,如图6所示。

3.1.4APT攻击恶意代码变体识别

在将实验数据用于深度学习模型训练之前,本文先将数据进行了特征提取和聚类,并进行了APT攻击恶意代码家族的标注。将前文所获得的实验数据集分为训练和测试数据集,比例控制在8:2。利用训练数据集训练预先设好的基于AlexNet卷积神经网络的模型,通过参数调节,训练获得理想模型,再用测试数据集测试所获模型,以取得最优模型,对APT攻击恶意代码及其变体进行检测。

3.2神经网络模型构建

本文所构建的神经网络是基于AlexNet模型的卷积神经网络。AlexNet模型基于LeNet网络模型,该模型首次将线性整流函数(ReLU)用作卷积神经网络的激活函数;并采用局部响应归一化(LRN)对ReLU得到的结果进行归一化处理,如公式(1)所示;引入了数据增强技术,扩充了有限的数据;并通过引入Dropout,确保结果不会过拟合;且AlexNet模型使用多图形处理器(GPU)进行训练,具有较高的训练速度。网络由5层卷积层、3层全连接层构成,激活单元采用ReLU激活函数,为防止网络过拟合,在全连接层后连接Dropout层。图7和图8分别为卷积块网络结构和全连接块网络结构。

4实验及结果分析

4.1实验设置

4.1.1环境设置

本文所采用的设备信息如下:Intel(R)Core(TM)i7-10875HCPU@2.3GHz;32GB内存;显卡为NVIDIAGeForceRTX2070,8G显存。采用GPU计算,使用的CUDA版本为11.2。本文使用基于Python的Tensorflow框架搭建模型。

4.1.2数据集

为了避免过拟合,本文将所获得的APT攻击恶意代码及其变体样本经过处理后,映射成灰度图像,并对灰度图像进行数据增强操作,增大训练数据量,提高模型的泛化能力和鲁棒性。图9为APT攻击恶意代码样本的灰度图像经过数据增强之后的前后对比。

4.2实验评价指标

APT攻击恶意代码及其变体识别属于多分类问题,在评价该模型时,通常将总的评价任务拆分为多个二分类问题。通过将实验结果绘制成混淆矩阵,获得模型的准确度;并通过损失函数曲线来评价模型的预测值与真实值之间的误差,同时利用准确率曲线直观的展现模型预测的准确性。在验证阶段,本文采用了K-fold交叉验证的方式,K值选定为10。实验中所用的评价指标包括准确率(Accuracy)、精确率(Precision)、召回率(Recall),如公式(2)—(4)所示。

4.3实验结果分析

从实验中所绘制的准确度和损失函数图可以清晰地发现,随着训练轮次的推进,损失函数逐渐下降、准确率逐渐提高,从图10中可以发现,在第10轮之前损失函数值变化迅速,模型收敛速度较快,在10轮之后损失值趋向于稳定,并接近于0;图11展示的是准确率变化趋势图,可从图12中发现,在20轮之后,准确率值趋向于稳定,在该实验数据集上平均准确率可达到98.84%,图13展示了检测模型的混淆矩阵,可以发现大部分样本都能够被成功预测,以上都表明了本文基于深度学习的APT攻击恶意代码及其变体检测模型的检测效果较好。

4.4对比实验结果分析

为了进一步验证本文所提出模型的准确率以及泛化能力,本文选取了APT攻击恶意代码分类中常用的全连接神经网络、K近邻算法(KNN)与本文所提的基于AlexNet模型的卷积神经网络模型进行了检测实验和对比。为了使对比实验具有参考价值,对比实验所使用的数据集是来自VirusShare网站所公开的同一份APT攻击二进制恶意代码样本集合。模型的性能评价指标包括准确率、精确率、召回率和F1-score(F1值),模型对比实验的结果如图14和表2所示。

从实验结果中可以看出,选取的分类算法对本文的数据集进行分类的效果都比较好,在数据集较大的情况下都能达到九成以上的准确率,说明本文数据特征提取的方法具有可行性。且从表2中可以发现,本文所提的基于AlexNet模型的卷积神经网络在准确率、召回率、F1值和精确率方面均优于多层感知器(MLP)、KNN2种神经网络模型,说明本文所提算法在APT攻击恶意代码的分类上具有较好效果。

5结语

本文提出了一种基于深度学习的APT攻击恶意代码及其变体的检测技术,首先对样本进行解压缩、反编译等数据预处理,然后在沙箱中执行APT攻击恶意代码,将所获得的带有行为信息的流量会话数据映射为灰度图像,并利用图像增强和数据增强技术增强灰度图的特征,再通过特征提取实现APT攻击恶意代码家族聚类,利用实验数据训练预设的AlexNet卷积神经网络模型,获得最优模型。最终对比实验,验证了本文所提出的模型在APT攻击恶意代码及其变体检测问题上可实现98.84%的准确率,精确率和F1值可达到98.78%和97.98%,在APT攻击检测领域具有一定的参考意义。

THE END
1.猫狗分类,猫狗大战Cats vs. Dogs(猫狗大战)数据集下载地址为https://www.kaggle.com/c/dogs-vs-cats/data。这个数据集是Kaggle大数据竞赛某一年的一道赛题,利用给定的数据集,用算法实现猫和狗的识别。 其中包含了训练集和测试集,训练集中猫和狗的图片数量都是12500张且按顺序排序,测试集中猫和狗混合乱序图片一共12500张。 http://www.ppmy.cn/news/471394.html
2.基于卷积神经网络的车型识别系统的设计与实现基于卷积神经网络的车型识别系统的设计与实现-软件工程专业论文 优秀毕业论文精品参考文献资料山东大学硕士学位论文4 山东大学硕士学位论文 4.1.3网络训练优化设计 25 4.1.4基础识别功能设计 。.26 4.2网络通信过程的设计 .27 4.2.1通信状态设计 27 4.2.2通信过程设计 28 4.2.3Json结构定义 ..29 4.3 Web系统的...https://max.book118.com/html/2019/0113/5340232230002001.shtm
3.计算机基于全连接神经网络的手写数字识别系统的设计与实现本手写数字识别系统主要是解决用于以图象格式存在的手写体识别的问题。系统的整体可以划分为三个组成部分,第一是基于神经网络的模型设计,第部分则是基于图形界面设计,第三部分则是基于minist 的手写数据集对于神经网络的模型进行了训练,并实现手写数字识别。 https://www.jianshu.com/p/093ffe6e5662
4.基于深度学习的桃品种识别方法技术实现要素: 4.为解决上述问题,本技术提出了一种基于深度学习的桃品种识别方,能够克服resnet18网络的参数量大、推理速度慢且难以移植到移动端的问题。与传统的识别算法对比,在识别桃品种时,本技术所述的方法无需人工设计来提取特征和进行单张桃果实图像的分割和特征提取,所以本技术所述的方法在识别桃品种时省时省...https://www.xjishu.com/zhuanli/55/202210185850.html
5.基于卷积神经网络的手势识别研究AET基于卷积神经网络的手势识别研究 操小文,薄华 (上海海事大学 信息工程学院,上海201306) 摘要:传统的手势识别系统由特征提取和分类器组成,需要人工设计特征,但很难达到足够满意的效果且耗费大量的时间。将卷积神经网络应用于手势识别,能直接把图像数据输入网络,且不用进行复杂的前期预处理。卷积神经网络拥有很强的鲁棒性...http://www.chinaaet.com/article/3000019861
1.毕设项目深度学习昆虫识别系统(源码+论文)4.5 使用tensorflow中keras模块实现卷积神经网络 classCNN(tf.keras.Model):def__init__(self):super().__init__()self.conv1=tf.keras.layers.Conv2D(filters=32,# 卷积层神经元(卷积核)数目kernel_size=[5,5],# 感受野大小padding='same',# padding策略(vaild 或 same)activation=tf.nn.relu# 激活函数...https://blog.csdn.net/Leslie51233/article/details/143829687
2.基于卷积神经网络的宠物猫品种分类研究第37 卷第 6 期 河北工业科技 Vol.37,No.6 2020 年 11 月 HebeiJournalofIndustrialScienceandTechnology Nov.2020 文章编号 :1008-1534(2020)06-0407-06 基于卷积神经网络的宠物猫品种分类研究 王建霞,张成,闫双双 (河北科技大学信息科学与工程学院,河北石家庄 050018) 摘要:为了提高宠物猫品种分类的准确率,...https://keji.hebust.edu.cn/hbgykj/article/pdf/k202006005
3.基于卷积神经网络的宠物猫品种分类研究实验结果表明,利用改进后的模型对宠物猫进行分类,准确率高于对比模型,达到了84.56%,损失值为0.015 0。所提出的卷积神经网络融合方法不仅能通过丰富特征图、加深网络深度更好地表达特征,还能提高分类性能和收敛性能,较好地解决了宠物品种识别中由宠物相似所带来的识别率低的问题,还可以推广应用到其他图像相似问题的应用...https://www.cnki.com.cn/Article/CJFDTotal-HBGY202006006.htm
4.基于姿态估计及图卷积神经网络的人体行为识别系统的设计与实现基于姿态估计及图卷积神经网络的人体行为识别系统的设计与实现,行为识别,人体骨架,注意力机制,自适应图卷积网络https://mall.cnki.net/magazine/article/CMFD/1023708546.nh.htm
5.智能车竞赛技术报告智能车视觉中国矿业大学我们独立完成了控制方案及系统设计,包括电磁信号采集处理、赛道图像信号采集处理、循迹控制算法及执行、动力电机驱动、十分类神经网络训练、靶标图片识别、单片机之间通信等,最终实现了具有 AI视觉功能的基于电磁与摄像头的快速寻迹智能车控制系统。 智能车是一个软硬件与机械相结合的整体,其中硬件主要包括电源模块、电机...https://www.eefocus.com/component/503552
6.软件工程开题报告范文模板:基于深度学习的图像识别算法研究与应用- 完成文献调研,了解图像识别的现有技术及其挑战。 - 收集并准备实验数据集,进行数据预处理。 - 设计并初步实现卷积神经网络模型。 2. **第二阶段(4-6个月)**: - 深入研究并优化深度学习模型,包括超参数调优、数据增强等技术。 - 在公开数据集上进行大量实验,调整模型结构和训练策略。 https://www.fs-ky.cn/kaiti/55341.html
7.基于深度学习的图像分类:使用卷积神经网络实现猫狗分类器摘要:深度学习在计算机视觉领域中具有广泛的应用。本文将介绍如何使用卷积神经网络(CNN)实现一个猫狗分类器。我们将使用Python和TensorFlow框架搭建一个简单的卷积神经网络模型,并利用猫狗图像数据集进行训练和测试。通过本文,读者将了解到深度学习在图像分类任务中的基本原理和实践应用。 https://cloud.tencent.com/developer/article/2295567
8.BAT题库机器学习面试1000题系列(第101~200题)51CTO博客深度学习时递归的广义线性模型,神经元的激活函数,即为广义线性模型的链接函数。逻辑回归(广义线性模型的一种)的Logistic函数即为神经元激活函数中的Sigmoid函数,很多类似的方法在统计学和神经网络中的名称不一样,容易引起初学者(这里主要指我)的困惑。下图是一个对照表 ...https://blog.51cto.com/15057851/2673424