掌桥专利:专业的专利平台
掌桥专利
首页

基于神经网络和焦点损失的攻击检测方法

文献发布时间:2023-06-19 11:29:13


基于神经网络和焦点损失的攻击检测方法

技术领域

本发明涉及网络信息安全技术领域,具体涉及一种基于神经网络和焦点 损失的攻击检测方法。

背景技术

随着科学技术水平的不断发展,电脑设备以及国产化的操作系统被越来 越多的人们所使用,当电脑接入网络后也使得人们的通信越来越方便,当然 这也就产生了大量的数据,如果这些大量数据被人们有效的利用起来,则会 给社会和人们带来极大的便利。当然如果这些有价值的数据被一些不法分子 使用,则不管对个人还是整个社会都会造成不良的影响。因而当我们的系统 在进行数据传输的过程中,应该做好网络系统的防护工作,防止黑客通过各 种攻击手段来窃取一些国家机密、商业秘密和用户隐私等重要的数据。虽然 人们也在通过各种手段来保护自己的重要信息,但由于人们所使用的系统存 在各种的漏洞以及黑客的攻击手段的越来越多,因而造成各种攻击事件层出 不穷。由于以上情况的出现,一种更加智能和高效的漏洞攻击检测方法显得 至关重要。

目前根据操作系统所检测出的所有漏洞的检测结果表明,缓冲区溢出漏 洞占据着相当大的比例,因而黑客经常会利用操作系统中的这种类型漏洞进 行缓冲区溢出攻击,对操作系统的危害非常大。如何对缓冲区溢出攻击进行 有效的检测一直以来都受到广大学者的关注。针对缓冲区溢出攻击的防御检 测技术已有很多研究成果,入侵检测技术主要可以分为异常入侵检测技术和 误用入侵检测技术两种类别。而异常入侵检测技术又包含了决策树、朴素贝 叶斯、随机森林等传统的机器学习算法和现如今较为火热的神经网络算法。

神经网络是一种模仿生物神经网络的结构和功能的数学计算模型。神经 网络在攻击检测中的处理过程主要包括两个方面,其一是能够通过自主学习 数据本身的重要特征进而不断的调整自身的参数,最终形成一个最优攻击检 测模型。其二是将测试数据输入到攻击检测模型中,通过与模型学习的特征 做相似度的比较最终得到该测试数据的分类结果。其优势在于能够更加全面 学习到攻击样本数据的本质特征,整个流程无需人工干预,极大的提高了检 测的准确率和效率。

网络入侵检测是网络安全的重要组成部分,目前比较流行的检测技术都 是采用了与深度学习相关的算法对入侵样本进行训练从而获得入侵检测模 型,但是其采用的传统卷积神经网络算法对于数据特征的提取能力不够强, 并且其参数较多,同时针对正负样本数据不平衡的问题不能很好地解决,从 而导致其检测的准确率和效率都比较低。

发明内容

为解决已有技术存在的不足,本发明提供了一种基于神经网络和焦点损 失的攻击检测方法,包括如下步骤:

步骤S1:对攻击数据样本进行预处理;

步骤S2:利用基于深度可卷积神经网络的缓冲区算法对预处理后的攻击 数据样本进行特征提取,并构建检测模型;

步骤S3:使用焦点损失函数进行模型训练与优化;

步骤S4:利用测试数据对训练好的模型进行测试,以衡量分类算法的好 坏。

其中,所述步骤S1包括如下步骤:

步骤S11:将数据中特征属性为字符型的特征向量数据转化为数值型特 征向量数据;

步骤S12:删除特征属性变化不明显的数据;

步骤S13:对最终的数值型特征向量变量进行归一化处理。

其中,所述步骤S11中,通过独热向量编码方法将特征属性为字符型的 向量数据转化为数值型向量数据。

其中,所述步骤S2中,基于深度可卷积神经网络包括多层逐通道卷积 及多层逐点卷积,各逐通道卷积使用3×3卷积核,各逐点卷积使用1×1卷 积核。

其中,所述步骤S2中,每层逐通道卷积及每层逐点卷积后进行批量正 则化,并通过一个Relu激活函数。

其中,所述步骤S2中,每一层神经网络的输入保持相同分布。

其中,所述步骤S3中,焦点损失函数如下公式所示:

其中,p

其中,所述步骤S4中,通过如下公式对训练好的模型进行测试:

其中,α是参数,P为准确率,R为召回率,F的值越高则说明该 检测方法的性能越好。

本发明在一定程度上弥补了在缓冲区溢出漏洞攻击检测方面准确率不 够高的问题,同时针对正负样本数据不平衡问题提出了一种焦点损失函数, 不仅提高了攻击检测的准确率,而且也提高了攻击检测的效率。

附图说明

图1:本发明的基于神经网络和焦点损失的攻击检测方法总体流程示意 图。

图2:本发明的基于神经网络和焦点损失的攻击检测方法中深度可卷积 神经网络的的结构图。

具体实施方式

为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图 详细说明本发明的技术方案及其产生的有益效果。

针对传统卷积神经网路对于入侵检测准确率不高的情况,本发明提出了 一种基于深度可卷积神经网络的攻击检测方法,具体提供一种基于神经网络 和焦点损失的缓冲区溢出漏洞检测的方法,相比较传统的机器学习方法由于 使用的数据量少而导致攻击检测识别的准确性不够高的问题,深度学习是基 于大数据下的一种方法,学习数据特征的能力较强;本发明基于神经网络进 行深度学习,可自动提取攻击样本的重要特征,能够防止人为在做特征工程 时数据特征处理不够充分而产生的影响,能够有效的提高攻击类型的识别准 确率和识别效率;同时,由于缓冲区溢出攻击类型与正常类型数据不均衡, 本发明设计了焦点损失函数来解决这一类不平衡问题,在保证准确率的基础 上还能够提高检测方法的效率。

图1为发明所提供的一种基于神经网络和焦点损失的缓冲区溢出漏洞的 攻击检测方法的流程示意图,该方法的处理流程主要包括以下四个部分:

1、对攻击数据样本进行数据预处理

在深度学习中,数据预处理的过程对于模型的构建和优化是至关重要 的。由于数据集中某些特征属性为字符型,因而需要将其转化为数值型数据, 同时有些数据特征属性变化不明显,对于模型训练会起到一定的干扰作用, 则会将其去掉。

2、利用基于深度可卷积神经网络的缓冲区算法对其进行特征提取

本步骤的主要目的是将预处理后的数据集输入到模型中,利用神经网络 模型自主学习的方式对数据进行特征提取。通过对攻击样本数据的特征学习 来训练模型,最终实现缓冲区漏洞攻击检测模型的构建。将数据预处理后的 样本数据转化为特征向量后输入到模型中进行训练,模型通过学习这些特征 向量进而不断调整参数,从而得到最终的训练模型。与传统的卷积神经网络 相比,深度可分离卷积的参数和运算成本都很低,因而利用深度可分离卷积 能够更加高效地识别出攻击的类型。

3、通过使用焦点损失函数来进行模型训练及优化

该检测方法最终将检测结果分为两类,在神经网络的最后一层使用 softmax层输出不同类别预测的概率值,针对正负样本数据不平衡的问题通 过使用焦点损失函数的方法来不断优化参数而达到训练模型的目的分类。

4、利用测试数据对训练好的模型进行测试,使用F度量值来衡量分类 算法的好坏。

本步骤的主要目的是测试该训练模型识别的准确率和效率。待模型训练 完成之后,将测试数据集输入到模型中,输出分类的结果。为了对未知的攻 击进行检测,以确定该攻击的类型,通过将测试数据输入到模型后,利用 softmax分类器输出预测的概率,通过使用精确度、召回率来计算F度量值 来判断该方法的好坏。

本发明的一个具体的实施方式如下:

在第一部分,首先使用的数据集为麻省理工学院林肯实验室发布的用于 评估网络入侵检测系统的标准语料库10%的KDD99数据集,每条记录由42 个属性变量组成,其中41个属性为特征属性,后一个属性为类别属性,我 们将针对普通用户对本地超级用户特权的非法访问(U2R)中的 Buffer_overflow类别进行检测。为了能够更加方便的对缓冲区漏洞进行检 测,将实验数据集的攻击类型主要分为了两大类,其中一类为需要检测到缓 冲区溢出攻击(Buffer_overflow),除此之外将其他攻击类型统一归为一 类处理(Normal)。数据具体分布如下表所示:

同时也要对这些特征进行预处理,预处理过程包含一下两个部分:

(1)首先需要将字符型变量转化为数值型变量。由于该语料库是由很 多条网络数据连接流组成,因而其特征属性中会包括tcp,udp,icmp等相关 属性。对于这种字符型的特征采用独热向量编码的方法将其转化为数值型的 变量。

(2)其次需要对数值型特征变量进行归一化处理.对于特征属性中数 值型特征,由于属性特征以及计算方式的不同,导致不同数值特征之间大小 差异很大,如不进行归一化处理则会影响检测结果的准确性,因此为了消除 由于不同数值特征幅度差异过大带来的影响,需要将数值型特征统一进行归 一化的处理。

(3)将一些特征属性变化不明显的数据去掉。

在第二部分,设计了一个高效的深度可分离卷积神经网络。其具体结构 如图2所示,

该检测方法使用了一种基于深度可分离卷积的神经网络方法,深度可分 离卷积的优势在于它是由逐通道卷积和逐点卷积两个部分结合起来,用来提 取特征,相比传统的神经网络,其不仅参数数量少,而且运算效率也很高。 如果将逐通道卷积和逐点卷积当作不同层计算,整个网络由3层逐通道卷积 和3层逐点卷积构成,每个逐通道卷积之后都会进行批量正则化,并通过一 个Relu激活函数。该网络结构中逐通道卷积全部使用了3x3的卷积核,而 逐点卷积则采用1x1的卷积核,由于在训练的过程中,很容易使得数据的分 布发生偏移,导致神经网络收敛的越来越慢,为了防止上述情况发生,使神 经网络在训练过程中使每一层神经网络的输入保持相同分布,因而在每层中 都加入了批量正则化,这使得神经网络的学习收敛速度加快,也大大加快了 训练速度。

在第三部分,该检测方法在最后一层逐点卷积后经过了一层均值池化层 和全连接层,最终使用焦点损失函数来优化神经网络的参数,焦点损失函数 不仅能够优化不同类别之间数据数量不平衡的影响,而且还能够对不同难易 程度的数据不平衡问题进行优化,针对本发明中正常攻击类型和缓冲区溢出 攻击类型数据量差距大的问题,采用了焦点损失函数来进行优化,它的原理 基于一种常见的做法就是给正负样本加上权重,负样本出现的频次多,那么 就降低负样本的权重,正样本数量少,就相对提高正样本的权重。而在本发明中数量较少的缓冲区溢出攻击类型为正样本类别,数量较多的正常攻击类 型为负样本类。因此可以通过设定

其中,p

第四部分中,为了检测模型方法的有效性,通过利用测试数据对该方法 进行测试,并通过使用精确度、召回率来计算F度量值来判断该方法的好坏。 F度量值的计算公式如下所示:

其中α是参数,P为准确率,R为召回率,如果F的值越高则说明该 检测方法的性能越好。

本发明中,所谓的“神经网络”,是人工神经网络的一种简称,该网络 结构是由多个神经元相互连接而成,能够自主的进行学习和信息处理。它是 一种模仿人脑结构及其功能的自适应系统,是对人脑的一种高度的抽象、简 化。现如今,神经网络被当作一种基于大数据的建模工具,经常被用来处理 一些人为难以发现的数据特征和数据之间的复杂关系。

本发明中,所谓的“缓冲区溢出漏洞攻击”,其含义为:当程序员在使 用计算机的过程中,向缓冲区内输入的字符长度超过了缓冲区本身的存储空 间,从而导致数据溢出的部分将原来正常数据覆盖,造成缓冲区的溢出,使 得程序因堆栈遭到破坏而执行其它指令,最终达到攻击的目的。

本发明的有益效果如下:

1、本发明提供的检测方法中首次将神经网络应用到缓冲区溢出漏洞攻 击检测,通过学习缓冲区溢出攻击的特征,有效提高了缓冲区溢出攻击检测 的准确率。

2、本发明提供的神经网络结构中使用了深度可分离卷积,提高了缓冲 区溢出漏洞攻击的检测效率。

3、本发明针对正常攻击类型和缓冲区溢出攻击类型数据量差距大的问 题,采用了焦点损失函数来进行优化,提高了缓冲区溢出攻击检测的准确率。

虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明 的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对 上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保 护范围以权利要求书所界定的为准。

相关技术
  • 基于神经网络和焦点损失的攻击检测方法
  • 基于焦点损失和多任务级联的人脸检测方法
技术分类

06120112941195