收藏 分销(赏)

基于代价敏感Char-CNN的Web威胁识别方案.pdf

上传人:自信****多点 文档编号:2172096 上传时间:2024-05-21 格式:PDF 页数:10 大小:1.35MB
下载 相关 举报
基于代价敏感Char-CNN的Web威胁识别方案.pdf_第1页
第1页 / 共10页
基于代价敏感Char-CNN的Web威胁识别方案.pdf_第2页
第2页 / 共10页
基于代价敏感Char-CNN的Web威胁识别方案.pdf_第3页
第3页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、引用格式:张光华,张凯迪,齐林基于代价敏感 Char-CNN 的 Web 威胁识别方案J.微电子学与计算机,2023,40(10):64-73ZHANG G H,ZHANG K D,QI L.Web threat identification scheme based on cost-sensitive Char-CNNJ.Microelectron-ics&Computer,2023,40(10):64-73.DOI:10.19304/J.ISSN1000-7180.2022.0842基于代价敏感 Char-CNN 的 Web 威胁识别方案张光华,张凯迪,齐林(河北科技大学 信息科学与工程学

2、院,河北 石家庄 050018)摘要:随着互联网技术的迅速发展,网络安全面临的威胁越发严峻,Web 攻击量连年翻倍增长.针对当前 Web 威胁识别方法手动提取特征识别准确率低、正常和恶意类别样本分布不均衡的问题,本文提出了基于代价敏感的字符级卷积神经网络(Character-level Convolutional Neural Networks,Char-CNN)的 Web 威胁识别方案.首先分析 Web请求特征,将原始数据统一格式,读取数据并拼接成字符序列,根据预先指定的索引字典将字符序列进行编码;其次利用字符级别 CNN 提取请求信息,对字符编码进行特征提取和特征选择用于模型训练;最后嵌入

3、代价敏感学习,修改神经网络模型交叉熵损失函数,增加恶意样本分类错误的代价,通过反向传播调整模型参数及权值,进而利用Softmax 层进行威胁识别.实验表明,基于代价敏感的字符级卷积神经网络进行 Web 威胁识别方案的准确率达到 98.99%,相比已有威胁识别方案,在精确率、召回率和 F1 分数均有提升,并验证了本方案在不平衡数据集上的有效性.关键词:代价敏感;Char-CNN;Web 威胁;威胁识别中图分类号:TP393.0 文献标识码:A 文章编号:1000-7180(2023)10-0064-10Web threat identification scheme based on cost-

4、sensitive Char-CNNZHANG Guanghua,ZHANG Kaidi,QI Lin(School of Information Science and Engineering,Hebei University of Science Technology,Shijiazhuang 050018,Hebei,China)Abstract:With the rapid development of Internet technology,the threats to network security have become more and moreserious,and the

5、 number of web attacks has doubled year after year.Aiming at the problems of low accuracy of manualfeature extraction and uneven distribution of normal and malicious category samples by current web threat identificationmethods,this paper proposes a web threat identification scheme based on cost-sens

6、itive character-level convolutional neuralnetworks(Char-CNN).Firstly,the characteristics of the Web request are analyzed,the original data is unified in format,thedata is read and spliced into a character sequence,and the character sequence is encoded according to the pre-specifiedindex dictionary.S

7、econdly,the character-level CNN is used to extract the request information,and the character encoding isextracted and feature selected for model training.Finally,cost-sensitive learning is embedded,the cross-entropy lossfunction of the neural network model is modified,the cost of malicious sample cl

8、assification error is increased,and themodel parameters and weights are adjusted through backpropagation,and then the Softmax layer is used for threatidentification.Experiments show that the accuracy of the Web threat identification scheme based on cost-sensitive character-level convolutional neural

9、 network reaches 98.99%,which improves the accuracy,recall rate and F1 score compared withthe existing threat identification scheme,and verifies the effectiveness of the proposed scheme on unbalanced datasets.Key words:cost sensitivity;Char-CNN;web threats;threat identification 收稿日期:2022-12-10;修回日期:

10、2023-01-11基金项目:国家自然科学基金资助项目(U1836210)40 卷 第 10 期微 电 子 学 与 计 算 机http:/Vol.40No.102023 年 10 月MICROELECTRONICS&COMPUTEROctober 2023 1引言Web 应用面临着恶意攻击者的大量威胁,据最新 OWASP 报告1指出,高达 94%的 Web 应用程序都经过了不同形式的访问控制中断测试.身份验证2和拒绝服务攻击3会造成可持续性伤害,因此,对Web 威胁进行识别和检测刻不容缓.针对 Web 威胁的识别,传统的方法是基于规则进行检测.工具 Snort4根据已知威胁构建特定领域的规则,

11、将提取的签名与预定义规则进行比较来发现恶意威胁.尽管基于规则的方法对已知威胁有效,但其高度依赖于深入的专家知识,将专家知识传输到计算机来进行利用越来越困难.近年来,Web 威胁识别和人工智能的结合取得了重大进展,研究人员和信息安全专业人员已经转向利用人工智能来检测和识别威胁5.在威胁识别领域,通常应用浅层机器学习模型,文献 6 通过朴素贝叶斯、逻辑回归、决策树和支持向量机四个模型来识别常见的 Web 威胁.文献 7 使用 LGBM 算法并利用 IBM Watson 进行训练和评估,召回率达到 92.9%.文献 8 通过内置过滤器进行数据处理,利用朴素贝叶斯分类器达到最高的 F1 分数 93.9

12、%.然而,这些方法的性能在很大程度上取决于复杂的特征工程,需要深入的专业知识,且特征选择覆盖不全.为了避免复杂特征工程,越来越多学者应用改进后的深度学习模型进行 Web 威胁识别,文献 9 通过正则化深度自动编码器来检测请求信息中的恶意威胁.文献 10 通过 n-gram 构造特征,利用 SAE 方法从 HTTP 请求日志中提取相关特征用于识别 Web 威胁.文献 11 提出了一种基于递归神经网络的有效载荷分类方法(PL-RNN)用于威胁识别.基于深度学习模型进行 Web 威胁识别,减少了人工处理特征的工作,但已有深度学习模型大多忽略了错分代价12,文献 13 提出了一种成本敏感的堆叠式自动编

13、码器CSSAE 来处理 IDS 中的类不平衡问题.文献 14 提出了一种代价敏感的深度神经网络,使用差分进化方法自动生成和优化错误分类代价.文献 15 结合成本敏感型主动学习,解决主动学习过程中的不平衡问题.为了解决现有 Web 威胁识别方法中人工提取特征不够准确、特征工程较为复杂、模型识别准确率较低以及不平衡数据情况下模型威胁识别准确率下降等问题,本文提出一种基于代价敏感 Char-CNN的 Web 威胁识别方案,将代价敏感学习和卷积神经网络相结合,主要贡献包括 3 个方面:1)引入字典对原始的 Web 请求数据进行处理,对数据中的字符逐个进行索引,将原始数据转变为编码序列,充分利用原始数据

14、信息,来改善模型检测性能.2)引入 Char-CNN 模型进行特征提取及分类,利用模型自动进行特征提取,无需复杂特征工程,提取高阶特征,特征覆盖全面,在 CSIC2010 数据集中,模型准确率高达98.99%.3)将代价敏感嵌入神经网络模型,修改交叉熵损失函数,提高恶意样本错误分类的代价,从而调节整个神经网络模型的参数和权值,降低模型整体损失,相比较未嵌入代价敏感的模型,本方法在数据不平衡的情况下仍能保持模型高性能.2Web 威胁识别模型本文提出的基于代价敏感 Char-CNN 的 Web 威胁识别方案主要分为三个阶段:在第一阶段 Web 请求分析中,读取原始数据并进行数据预处理,然后经过特征

15、处理得到字符序列,再对字符序列进行编码.在第二阶段 Char-CNN 特征提取中,对字符编码进行字符嵌入,再利用卷积层进行特征提取,利用池化层进行特征选择.在第三阶段代价敏感分类中,在损失函数中嵌入代价敏感学习,调整神经网络各层的参数和权重,最后通过 Softmax 层实现威胁分类,整个模型框架图如图 1 所示.数据预处理特征处理字符嵌入卷积层代价敏感嵌入威胁分类代价敏感分类Char-CNN 特征提取Web 请求分析池化层图 1整体模型框架图Fig.1 Integral model frame 2.1Web 请求分析Web 请求分析阶段分为数据预处理和特征处理两部分.数据预处理部分对原始数据进

16、行处理,去除无关信息列,选取特征列表.再经过特征处理部分,请求信息转换为定长序列作为神经网络的输入.2.1.1数据预处理数据预处理部分对数据进行适当的清理与预处理工作,将原始数据中请求头部的方法和 URL 进行分离,作为不同的特征列,根据样本的标记打上标第 10 期张光华,等:基于代价敏感 Char-CNN 的 Web 威胁识别方案65 签,normal 记为 0,unnomal 记为 1,并将原始数据处理为标准化格式的 CSV 文件.格式化后的数据样本特征如表 1 所示.表 1 格式化后的数据样本特征表Tab.1 Formatted data sample feature table特征含义

17、mark样本标记类别Method请求方式User-Agent用户代理Pragma用来包含实现特定的指令Cache-Control指定指令来实现缓存机制Accept描述客户端希望接收的响应数据类型Accept-encodingHttp响应是否进行压缩Accept-charset消息包体的内容约束Language消息包的语言Host域名访问的站点Cookie维持服务端会话状态content-type响应头和请求头的字段connection请求连接属性length消息实体的传输长度classification样本标签URL统一资源定位符 2.1.2特征处理根据以上对数据进行预处理后,全部样本具有统一

18、的格式,然而利用卷积神经网络进行文本分类需要输入一个定长的序列,为此,本文对 CSV 格式的数据依次进行读取后,再进行特征处理,特征处理过程如图 2 和算法 1 所示.原始样本字符序列序列编码神经网络输入读取并拼接按字典进行字符编码序列对齐图 2特征处理图Fig.2 Feature processing diagram步骤 1:定义索引字典.为了让每一个字符对应一个正整数,根据样本中所有可以覆盖到的字母,数字以及特殊字符等建立一个索引字典,字典中所有字符都建立一个对应的数字.步骤 2:根据索引字典处理字符序列.对于每一个样本,首先按照 2.1.1 节提出的特征列依次进行读取,将每个样本所有特征

19、值拼接成字符序列.然后获取步骤 1 中定义的字典,依次读取每个字符序列,把每个字符按照字典进行字符编码,将每个样本原始字符序列转化成序列编码.步骤 3:序列对齐.训练数据没有对齐,每个序列都有不同的长度,然而深度学习模型的输入向量需要统一长度,这就需要把序列对齐,使每条序列都有相同的长度.编码序列的长度统一为固定的值,如果长度大于定值则截断,小于则用零填充.经过特征处理的所有样本都会转变成定长的编码序列,然后作为卷积神经网络嵌入层的输入开始训练.算法算法1 特征处理算法特征处理算法输入:原始样本xseq输出:定长的编码序列xa)读取原始样本char_dictb)读取预定义字典lc)定义系列长度

20、columnsstring.append()xd)根据特征列利用方法将原始样本 拼接成字符序列char_dicte)通过进行字符编码pad_sequence()f)利用进行序列填充padding0g)通过进行序列对齐,不足补0returnlseqh)一个长度为 的编码序列 2.2Char-CNN 特征提取Char-CNN 特征提取阶段包括字符嵌入、卷积层构造和池化层构造三部分.嵌入层对模型的输入进行处理,将输入的序列转化成矩阵.卷积层的卷积核对矩阵进行卷积操作,卷积操作相当于特征提取的过程.池化层对卷积后的矩阵去除冗余,相当于特征选择的过程,经过卷积池化操作以后,选取出来的特征拼接成特征向量用

21、于下一阶段的分类.Char-CNN特征提取生成特征向量的过程如图 3 所示.字符嵌入、卷积层和池化层的构造如算法 2 所示.2.2.1字符嵌入Lkkk在字符嵌入部分,接收经过处理的编码序列,将其转换为矩阵以便进行卷积操作来提取特征.经过特征嵌入,原始编码序列转变为的字符矩阵,表示转换后矩阵的维数,即为每个字符创建一个 维的66微电子学与计算机2023 年LLL向量,为嵌入层处理序列的最大长度,大于 的序列被截断,小于 的序列用零向量填充.字符矩阵将Web 请求各字符之间的上下文关系用矩阵表示,并且作为神经网络卷积层输入进行下一步训练,提高威胁识别的准确率.2.2.2卷积层构造cic=c1,c2

22、,cnh+1在卷积层构造部分,将字符嵌入得到的字符矩阵进行卷积操作来提取特征.通过卷积核对字符矩阵进行一维卷积操作得到特征值,然后将特征值拼接起来得到的即提取出的特征向量,每一次卷积操作相当于一次特征提取,可以捕获过滤后的语法和语义特征,提取出的特征向量则用于模型的训练.卷积操作产生特征如公式(1)所示.ci=f(wxi:i+h1+b)(1)xi:i+h1ii+h1hkhwhkbf式中,为由字符矩阵的第 行到第行所组成的一个大小为的窗口;为窗口中的字符数;为维的权重矩阵;为偏置参数;为非线性函数.卷积操作加入了修正线性单元(ReLU)激活函数对矩阵进行非线性激活操作,从卷积层获得的特征作为激活

23、函数被馈送到 ReLU,函数的计算如公式(2)所示.f=max(0,x)(2)ReLU 激活会使一部分神经元的输出为 0,这样就造成了网络的稀疏性,并且减少参数的相互依存关系,缓解过拟合问题的发生.2.2.3池化层构造卷积层提取的特征作为池化层的输入,通过池化操作来捕获最重要的特征.利用最大池化(Max-pooling)从每个滑动窗口产生的特征向量进行筛选,然后将这些特征拼接起来构成向量表示,最大池化按公式(3)处理输入.Maxpoolingx1,x2,x3,x4=max(x1,x2,x3,x4)(3)式中,最大池化的步长为 1.通过池化层对冗余信息进行去除,进行特征选择,减少矩阵规模,提高模

24、型效率.算法算法2 字符嵌入和卷积池化算法字符嵌入和卷积池化算法seq输入:编码序列f输出:特征向量seqa)读取编码序列nn.Embedding()b)通过对编码序列进行字符嵌入得到字符矩阵Conv1d()c)利用对字符矩阵进行卷积特征提取nn.ReLU()d)通过进行非线性激活操作nn.MaxPool1d()fae)利用进行最大池化特征选择得到特征fbfcfnf)多次卷积池化得到、returnffafbfng)特征向量=,2.3代价敏感分类在代价敏感分类阶段,分为代价敏感嵌入和威胁分类两部分.代价敏感嵌入部分,通过修改损失函数调整模型的参数和权重,提高少数类错误分类的代价.威胁分类部分,通

25、过全连接层和 Softmax 层接收经过多次卷积池化操作后的特征向量作为输入,并对其进行分类.模型进行 Web 威胁识别的结果有两种,恶意或者正常,因此模型输出即两种分类结果.代价敏感分类过程如算法 3 所示.算法算法3 代价敏感分类算法代价敏感分类算法f输入:特征向量输出:概率值fa)读取特征向量nn.Linear()b)通过进行全连接特征选择nn.Dropout()c)利用控制模型过拟合CrossEntropyLoss()d)通过修改后的代价敏感交叉熵损失函数调整模型参数nn.logSoftmax()e)通过将分类结果归一化return(a,b)f)样本对应两个类别的概率值 2.3.1代价

26、敏感嵌入.在代价敏感嵌入部分,修改传统交叉熵损失函数,提高对少数样本分类错误的代价.对于 Web 威胁进行识别,本质上是二分类问题.二分类对于批量样本的平均交叉熵计算公式如公式(4)所示loss=1mmi=1yilogai+(1yi)log(1ai)(4)池化层(Max-pooling)编码序列字符嵌入卷积层(ReLU)特征向量kL图 3Char-CNN 特征提取Fig.3 Char-CNN feature extraction第 10 期张光华,等:基于代价敏感 Char-CNN 的 Web 威胁识别方案67 myilogai(1yi)log(1ai)yy上述为标准的二元交叉熵损失函数,二分

27、类问题中,可以分解个样本的平均交叉熵函数为两项,即和,其中一项用于多数类(正样本),另一项用于少数类(负样本).在 Web 威胁识别中,真实环境下正常的请求会远多于恶意请求,将正常请求记为正样本(多数类)即标签值 为 0,恶意请求记为负样本(少数类)即标签值 为 1.标准的交叉熵损失函数多数类和少数类两项的系数都为 1,意味着标准交叉熵损失函数对于无论是多数类还是少数类都同等看待,然而在 Web 威胁识别中,将一个恶意的请求错判为正常的请求,相比较将一个正常的请求错分为恶意的请求会造成更大的威胁.因此,本文修改标准交叉熵损失函数,定义两个不同的类的权重,将每个类的重要性纳入损失函数中,从而更多

28、的关注到代表性不足的类.修改后的损失函数如公式(5)所示.loss=1mmi=1w1yilogai+w0(1yi)log(1ai)(5)wj=m2mjwjmjj式中,为每个类别对应的权重;为类别中的样本数.w0w1m0=910m m1=110mw0=59 1 w1=5在本文模型中,代表多数类对应的权重,代表少数类对应的权重.在改进的交叉熵损失函数下,假设正负样本的比例为 91,那么,.可以看出,在两类样本数据不均衡时,经过损失函数分配不同的权重,可以提高少数类在损失函数中占的比例.模型在训练过程中,少数类的损失值乘上少数类对应的权重系数,然后经过神经网络反向传播,再调整各层的参数,最终达到整个

29、模型的最小损失值,修改后的权重系数可以增强模型对于少数类样本错误分类的关注.2.3.2威胁分类在威胁分类部分,利用全连接层和 Softmax 层对分类结果进行输出.本文将卷积层和池化层得到的特征向量作为全连接层的输入,并在全连接层应用Dropout 技术来控制模型的过度拟合,Dropout 公式如公式(6)所示.Dropout(x)=0,r px/(1 p),r p(6)rrand()p式中,为一个随机数生成函数,每一次调用都会重新生成一个 01 之间的小数,每一次 Dropout 都以 的概率随机丢弃一个节点,Dropout 的引入直接提升了模型的泛化能力.y1,y2,yn输出层 Softm

30、ax 将分类结果归一化到(0,1)区间内,即每个类别对应的概率.若神经网络的原始输出为,那么经过 Softmax 回归处理之后的输出如公式(7)所示.softmax(yi)=yi=eyinj=1eyi(7)nj=1yi=1式中,单个节点的输出变成一个概率值,经过全连接层和 Softmax 层的处理,最初的样本序列转换成各类别对应的概率值,从而得出分类结果.3实验评价 3.1实验环境及数据集实验运行环境:windows 10,Intel(R)Core(TM)i5-7200U CPU2.50 GHz,12GB RAM,模 型 基 于PyTorch 开源深度学习框架.早期用于 Web 威胁识别的数据

31、集 DARPA16已经过时,缺少许多实际攻击数据.本文采用由西班牙研究委员会(CSIC)信息安全研究所制作的公开数据集 HTTPDatasetCSIC2010 数据集17,包含 36,000 个正常请求和超过 25,000 个异常请求,数据集包括SQL 注入,缓冲区溢出,信息收集,文件泄漏,参数篡改等攻击.原始数据集中单个样本的例子如表 2 所示.表 2 原始数据集样例表Tab.2 Sample table of the original dataset样本字段对应值POSThttp:/localhost:8080/tienda1/publico/anadir.jsp HTTP/1.1User

32、-AgentMozilla/5.0(compatible;Konqueror/3.5;Linux)KHTML/3.5.8(like Gecko)Pragmano-cacheCache-Controlno-cacheAccepttext/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5Accept-encodingx-gzip,x-deflate,gzip,deflateAccept-charsetutf-8,utf-8;q=0.5,*;q=0.5Accep

33、t-LanguageenHostlocalhost:8080CookieJSESSIONID=788887A0F479749C4CEEA1E268B4A501Content-Typeapplication/x-www-form-urlencodedConnectioncloseContent-Length7468微电子学与计算机2023 年 3.2评价指标实验采用定量指标比较分类结果,基于二分类问题中的混淆矩阵如表 3 所示.表中TP(True Positive),FP(False Positive),FN(FalseNegative),TN(True Negative)分别表示真阳性、假阳性

34、、假阴性、真阴性的数量,即被分类器识别为正的正样本、被分类器识别为正的负样本、被分类器识别为负的正样本、被分类器识别为负的负样本.采用四个指标来对模型进行评估,即准确率(Accuracy),精确率(Precision),召回率(Recall)以及F1 分数(F1_score),分别如公式(8)公式(11)所示.准确率表示预测正确的数据占总样本的比例,精确率表示预测正确的样本占实际正确样本的比例,召回率表示实际为正的样本占预测为正样本的比例,F1 分数为精密度和召回率的调和平均值.Accuracy=TP+TNTP+TN+FN+FP(8)Precision=TPTP+FP(9)Recall=TPT

35、P+FN(10)F1_score=2PrecisionRecallPrecision+Recall(11)ROC 曲线下方的面积(Area Under Curve,AUC)体现了算法的泛化性,值越大说明分类器的性能越好.Web 威胁识别模型中,AUC 值越大,恶意样本错误分类成正常样本的比例越小,泛化能力越好.FPR(False Positive Rate)表示假正类率,即负类数据被分为正类的比例,TPR(True Positive Rate)表示真正类率,即正类数据被分为正类的比例,计算公式分别如公式(12)、公式(13)所示.ROC 曲线则是以 TPR为纵轴,以 FPR 为横轴的曲线.FP

36、R=FPFP+TN(12)TPR=TPTP+FN(13)3.3实验结果分析为了验证本文方案的效果,将数据集按照 82划分训练集和测试集,再将训练集按照 91 划分训练集和验证集.通过模型性能分析、对比实验和模型在不平衡数据集上分析来验证本方案的有效性.3.3.1性能分析实验设置学习率和 epoch 数分别设置为 0.001和 40.每一个批次的训练样本数量为 128,字符向量的维度为 64,为了防止过拟合,dropout 层设置为 0.5用于正则化,改进的交叉熵损失函数用于调整权值.采用损失值、准确率、AUC-ROC 曲线、精确率、召回率和 F1 分数作为衡量模型性能的评价指标.模型损失值和准

37、确率的结果,如图 4、图 5 所示,模型的 AUC-ROC 曲线如图 6 所示,模型在其他指标下的评估结果,如表 4 所示.00.00.10.20.30.40.50.61020轮数/轮损失值训练集验证集304050图 4模型的损失值Fig.4 The loss value of the model 00.650.700.750.800.850.900.951.001020轮数/轮准确率304050训练集验证集图 5模型的准确率Fig.5 The accuracy of the model模型使用改进的代价敏感二元交叉熵函数作为损失函数.图 4 显示在不同轮次的训练下,训练集和验证集的损失值变化

38、.从图 4 可以看出,超过 40 轮之后,训练集的损失值趋于稳定,验证集的损失值开始逐渐升高,说明模型开始产生过拟合,因此模型选择40 个轮次进行训练以达到最优性能,对于 40 个epoch 中的 CSIC2010 数据集,模型最低损失值为0.0471.从结果可以看出,在交叉熵损失函数中嵌入代价信息,提高少数类错误分类的代价,从而调整整 表 3 混淆矩阵Tab.3 Confusion matrix样本数正类(预测)负类(预测)正类(真实)真阴性(TN)假阳性(FP)负类(真实)假阴性(FN)真阳性(TP)第 10 期张光华,等:基于代价敏感 Char-CNN 的 Web 威胁识别方案69 个神

39、经网络各层之间的权重和参数,降低了模型整体损失值,能够以低损失值识别 Web 威胁.图 5 显示在不同轮次的训练下,训练集和验证集的准确率变化,可以看出训练集和验证集的准确率都趋于稳定且训练集和验证集的准确率相差较少,说明准确率已达到最优性能.对于 40 个 epoch 中的CSIC2010 数据集,模型最佳验证准确率为 0.989 8.这表明根据索引字典分析 Web 请求,将原始请求数据索引得到编码序列,再利用字符级别的卷积神经网络进行特征提取,能够学习更加全面和深层次的特征,高准确率地识别 Web 威胁.AUC 表示可分离性的程度,值越接近 1,表明将负类判断为正类的比例越小,模型的泛化能

40、力越好.在图 6 中,模型在数据集 CSIC2010 的 AUC 值为0.9724.从结果可以看出,负类判断为正类的比例极低,这是由于代价敏感的引入,为正类样本和负类样本在迭代过程中分配不同惩罚因子,增加负类样本在整体误差函数中的比重,使模型更加关注负类样本,从而降低了负类样本错误分类的比例.由表 4 可以看出,模型在精确率、召回率、F1分数指标表现均较好,达到 98%以上,其中,精确度高达 99.12%.这是由于 Char-CNN 能够提取数据深层特征,利用卷积窗口进行局部特征提取,不同卷积窗口提取的特征组合成特征向量,实现从局部到整体的特征提取.其次字符级别的卷积神经网络可以充分利用 CN

41、N 良好的局部特征捕捉,更好地进行特征学习.3.3.2对比实验将本文提出的模型与其他模型进行对比实验,分别与传统机器学习模型以及其他论文所提出的改进后的深度学习模型进行对比,验证本文模型性能.1)与传统机器学习模型对比表 5 给出了各传统机器学习模型与本文模型的实验对比结果.5 种机器学习18模型分别为最近邻(K-nearest Neighbor,KNN)、逻辑回归(LogisticRegression,LR)、决策树(Decision Tree,DT)、随机森林(Random Forest,RF)、支持向量机(Support VectorMachine,SVM).表 5 提出的模型与传统机器

42、学习模型对比Tab.5 The proposed model is compared to the traditionalmachine learning model模型准确率(%)精确率(%)召回率(%)F1分数(%)KNN0.923 30.919 40.887 20.903 0LR0.968 00.992 20.941 90.966 4DT0.900 80.951 90.793 60.865 5RF0.964 70.961 80.950 10.955 9SVM0.961 90.962 30.942 10.952 1本文模型本文模型0.989 90.991 20.983 70.987 4 机

43、器学习模型统一采用 TF-IDF 进行特征提取,将数据集按照 82 划分训练集和验证集,采用五折交叉验证进行网格训练.其中 KNN 模型,RF 模型和SVM 模型均采用默认参数进行训练;LR 模型利用L2 正则化进行训练;DT 模型,树的深度取值定在 1-10,子节点最少训练样本定在 1-20,分支节点最少训练样本定在 10-30,根据预定参数迭代完成训练,输出最优结果.由表 5 可知,大多数传统机器模型可以达到95%左右的高精度,但本文模型精确度为 99.12%优于机器学习.基于传统机器学习的分类模型召回率都较低,因此分类性能一般.准确率方面,SVM 在机器学习模型中准确率最高,本文模型准确

44、率比较 SVM高出 2.8%.与上述五种机器学习模型相比,本文的F1 分数最高,表明本文模型整体综合性能最优.这是由于本文模型提出的基于字符级别的卷积神经网络能够自动进行特征提取,相比较传统的机器学习依靠专业领域知识手动选择输入特征,能够覆盖到更全面的特征进行训练.根据字符序列进行提取,可以捕捉到 Web 请求数据上下文的联系,更好地处理特殊符号之间的关系,从而提高威胁识别性能.0.00.00.20.40.60.81.00.20.4False positive rateTrue positive rate0.6ROC curve(area=0.972 4)0.81.0图 6AUC-ROC 曲线

45、Fig.6 AUC-ROC curve 表 4 实验结果Tab.4 Experimental results模型精确率(%)召回率(%)F1分数(%)代价敏感Char-CNN0.991 20.983 70.987 470微电子学与计算机2023 年2)与其他改进的深度学习模型对比表 6 给出了其他改进的深度学习模型与本文模型的实验对比结果.几种改进的模型分别为 LGBM7、RDA9、SAE10、PL-RNN11、CNN19以及传统Char-CNN20模型.表 6 提出的模型与其他深度学习模型对比Tab.6 The proposed model is compared with other de

46、eplearning models模型准确率(%)精确率(%)召回率(%)F1分数(%)LGBM7-0.939 00.929 00.934 0RDA9-0.946 40.946 20.946 3SAE100.883 20.802 90.883 40.841 2PL-RNN110.961 30.944 10.977 90.960 7CNN190.970 70.974 3-0.975 1Char-CNN200.971 30.969 50.962 70.966 1本文模型本文模型0.989 90.991 20.983 70.987 4 由表 6 可知,本文的模型与改进的 LGBM、RDA、SAE、R

47、NN、CNN 深度学习模型相比,具有更好的性能.本文提出的基于代价敏感 Char-CNN 检测模型取得的准确率最高,为 98.99%,相比较 Char-CNN 在未嵌入代价敏感之前,取得的检测准确率提高了 1.86%.比 PL-RNN 模型高 2.86%,比 SAE 模型高 10.67%,比 CNN 模型高 1.92%.除准确率外,本文模型在精确率、召回率、F1 分数均高于其他模型,精确率达到 99.12%、召回率达到 98.37%、F1 分数达到 98.74%.本文的模型利用代价敏感分类进行威胁识别,相比较其他深度学习模型,对于正类和负类样本默认按照数据平衡进行决策分类,嵌入代价敏感增加负类

48、样本决策权重,从而减少负样本检测错误比例,威胁识别性能更好.3.3.3数据不平衡分析为了验证本文模型对于不平衡数据的威胁识别有改进效果,构建数据集正负样本比例为 101.根据此数据集分别对传统 Char-CNN 模型与本文代价敏感模型进行训练,设置训练迭代轮次为 40,两个模型除代价敏感嵌入部分不同,其余实验设置均一致.比较两种模型性能,训练结果在同样的评价指标下呈现的效果如图 7 所示.由图 7 可以看出,在不平衡数据集上进行训练传统 Char-CNN 模型时,模型性能整体有明显下降,模型的检测准确率下降了 5.12%.在数据集不平衡的情况下,传统的 Char-CNN 模型和本文提出的基于代

49、价敏感 Char-CNN 检测模型各项指标差距更加明显,这表明代价敏感的嵌入可以缓解数据不平衡对检测结果的影响.这是由于引入代价敏感策略可以分配给多数类样本和少数类样本不同的决策权重,增加少数类样本错误分类的代价,等同于对少数样本进行了数据增强,改善了数据不平衡效果.图 8 显示了传统 Char-CNN 模型与本文模型的损失值对比结果图.可以看出,本文提出的基于代价敏感 Char-CNN 检测模型明显降低模型整体的损失,代价敏感模型修改了传统的交叉熵损失函数,对于少数类样本错误分类的代价进行提升,再进行迭代调整模型参数,减少少数类样本分类错误的情况,从而降低整体的错误分类比例,减少模型损失值.

50、对比来看,代价敏感策略对于不平衡数据集一方面维持了威胁识别各指标值,另一方面尽可能地降低了模型的整体损失.00.00.10.20.30.40.50.60.70.81020轮数/轮本文模型Char-CNN损失值3040图 8两种模型损失值对比Fig.8 Comparison of the loss values of the two models 4结束语本文提出的基于代价敏感 Char-CNN 的 Web 威胁识别方案,将神经网络和代价敏感应用于 Web 威 0.980.960.940.920.920 10.972 80.923 70.982 50.970 40.914 90.919 30.9

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服