一种基于BLCNA模型的恶意URL检测技术

2024-01-12 04:39沈伍强张金波许明杰杨春松
微型电脑应用 2023年12期
关键词:注意力语义神经网络

沈伍强, 张金波, 许明杰, 杨春松

(1.广东电网有限责任公司信息中心, 广东, 广州 510000;2.国电南瑞科技股份有限公司, 江苏, 南京 210000)

0 引言

电网的智能化建设依赖于高质量软件的运行,随着电网Web应用服务的不断增加,维护网络安全变得越来越重要。目前,良性与恶意URL混合以引起用户混淆并实现对主机的入侵攻击是最常见的攻击方法之一,这种类型的攻击利用浏览器及其插件的漏洞诱使用户点击恶意URL,使系统受到一定程度的伤害[1]。随着电网信息化的发展,面对成千上万个不同的恶意URL,用户总是难以作出正确的判断和决策,因此有效快速地识别这些恶意网站一直是电网安全领域的重要问题。

为了保护电网信息系统在线业务免受网络钓鱼攻击,需要一种恶意URL检测机制进而克服安全漏洞。为了更好地提取URL的隐藏信息,本文引入词嵌入方法提取URL潜在的语义信息,同时将URL转换为灰度图像提取URL的视觉信息,由此提出一种基于注意力机制的神经网络联合模型(BLCNA)。通过BiLSTM和CapsNet[2]同步提取URL的文本序列特征和视觉图像特征并合并,同时使用注意力机制进一步关注有效特征,提高检测的有效性。

1 国内外研究

在漏洞防御检测方面,国内外学者和专家进行了大量研究,为开发改进恶意URL检测模型提供了基础,目前主要通过黑名单、机器学习、深度学习等方法对恶意URL进行检测。基于黑名单的检测方法[3-4]虽然简单高效,但存在严重的局限性,如依赖于已知恶意URL、更新困难、对于新生成的恶意URL无法检测等。为了解决这个问题,研究人员应用了机器学习来检测恶意URL,通过分析URL及其相关网页信息提取特征,根据统计属性学习预测模型,并将URL分类为恶意或良性[5-6]。LI等[7]提出了一种结合线性和非线性空间变换的URL识别检测方法,结合支持向量机和神经网络提高URL识别和检测的准确性。这几种机器学习方法具有良好的检测性能,但手动提取特征的方法在特征提取和选择上会耗费大量时间,且提取的特征向量只能表达数据浅层特征。

近年来,基于深度学习的恶意URL检测已成为一个新的研究方向。杨吉鹏等[8]结合Spark-ML和Conv-LSTM构建了一种混合入侵检测的平台;WANG等[9]采用基于字符嵌入的词嵌入方法作为向量嵌入的方式来改进深度卷积神经网络,设计了恶意URL检测系统;田乔鑫等[10]基于文本语义信息提出了一种结合双向循环神经网络和卷积神经网络的并行模型,可以有效进行分类。总的来说,利用深度学习模型的恶意URL检测技术通常会产生更好的结果。

2 基于BLCNA模型的恶意URL检测

本文提出一种基于BLCNA模型的恶意URL检测方法。在该模型中,首先提取URL的语义信息和视觉信息,并通过BLCNA模型有效完成特征提取,其次利用注意力机制加强关键特征的权重,最后由Sigmoid分类器进行分类。模型的具体网络结构如图1所示。

图1 基于BLCNA模型的恶意URL检测

2.1 URL特征

URL具有许多特征,当特征数量过多时会出现维度灾难和过拟合,当数量太少时,URL信息不能充分表达。为了提高恶意URL检测能力,从电网不同类型应用系统实际需求出发,提取对恶意URL识别有用的语义信息和视觉信息。

语义特征。语义特征包括主机特征和词汇特征,具体如表1所示。本文通过词嵌入方法将URL编码为二维张量映射到多维特征空间中。

表1 语义特征和含义

视觉特征。将恶意URL转换为灰度图像(见图2)可以直观地了解URL的空间格局和结构,也更容易识别同一家族生成的URL空间相似性。首先,将给定URL中的每个字符转换为十进制整数 (ASCII),以获得表示恶意数据的新十进制向量,将其重新整形为二维矩阵并可视化为灰度图像。因此,整个URL可以用灰度图像表示,作为后续模型的有效输入。

图2 URL可视化过程

2.2 BLCNA模型的构建

BLCNA模型共包含3个部分,即BiLSTM、CapsNet和Attention。将基于词嵌入的向量序列作为BiLSTM的输入,灰度图像作为CapsNet的输入。此外,将2个网络的输出特征融合后通过注意力机制增强有效特征的权重,最终使用Sigmoid分类器完成对恶意URL的分类。

2.2.1 BiLSTM网络

LSTM是一种具有较长时间跨度记忆功能的神经网络,其克服了RNN梯度消失的问题。LSTM结构如图3所示。

图3 LSTM单元结构

图3中,Ii、Fi和Oi分别表示LSTM中的输入门、遗忘门和输出门。具体说明如下:

Ii=f(waIhi+ωbIyi-1+bI)

(1)

Fi=f(waFhi+ωbFyi-1+bF)

(2)

Oi=f(waohi+ωboyi-1+bo)

(3)

为了建立更准确的预测模型,本文采用BiLSTM网络充当每个训练序列的前向和后向LSTM网络,并将2个LSTM网络连接到同一个输出层,为每个序列点提供完整的上下文信息。图4为BiLSTM的结构。

图4 BiLSTM结构图

输入S={s1,s2,…,st},其中st表示URL中第t个字符的嵌入向量。BiLSTM的隐藏层结果如下:

(4)

(5)

接着对正反向隐藏层状态进行拼接得到最终的隐藏层状态。

2.2.2 CapsNet网络

CapsNet网络(见图5)使用向量胶囊替换CNN中的神经元,动态路由替换池化操作,Sigmoid函数替换ReLU激活函数。去除CNN池化层造成的特征损失,充分利用各特征之间的空间关系,得到高层特征与低层特征的位置关系作为一种分类特征。

图5 CapsNet网络结构

首先,使用一个简单的卷积层对URL图像进行处理:

mi=f(W1∘Xl:l+k-1+b1)

(6)

Mk1=[m1,m2,…,m(L+N-1)]

(7)

其中,f表示ReLU激活函数,W1∈RN×d表示卷积滤波器,b1表示偏差。

通过在图像上滑动过滤器,将提取的局部特征拼接在一起形成特征图,然后初级胶囊层将特征图中相同位置的特征封装到相应的胶囊中:

pi=g(W2Mi+b2)

(8)

其中,W2∈Rk×1×l表示变换矩阵,其中k表示胶囊的维度。Mi表示特征图的第i行向量,b2表示偏差,g表示Sigmoid函数:

(9)

数字胶囊层是最后一层,每个胶囊通过式(10)获得:

(10)

(11)

2.2.3 注意力机制

注意力机制的作用是对目标数据进行加权,从众多输入信息中为当前任务目标选择更关键的信息。恶意URL检测精度对当前URL特征输入的依赖程度越大,当前特征输入的权重就越大。

使用注意力机制来融合网络的输出,有效提高了视觉和语义关键特征的表征能力。主要步骤如下:

对语义特征(S)和视觉特征(V)分配不同的注意力权重,如式(12)~式(14):

uSem,i=tanh(WSemSj+bSem)

(12)

uVis,i=tanh(WVisVj+bVis)

(13)

uCon=[uSem,uVis]

(14)

其中,WSem和Wvis表示权重参数矩阵,bSem和bVis表示偏差,ui表示第i个隐藏表示,“[]”表示串联操作。

对注意力权重进行归一化处理,得到特征的注意力分数ai,如式(15):

(15)

基于权重计算多模态向量的加权和,得到经过注意力机制融合网络输出后的最终向量V,并作为最终分类的输入:

(16)

接着通过Sigmoid函数计算每个标签的类别概率:

(17)

最终,根据设置的阈值threshold执行URL分类:

(18)

3 实验分析

3.1 实验环境及数据集

本文实验均在Ubuntu 18.04环境中进行,使用Python 3.5.4和Keras 2.1.2神经网络库构建网络,以TensorFlow 2.0作为后端计算框架。本文从电网业务系统护网行动、github.com等开源网站中收集了大量URL实验数据集来验证模型的有效性和可行性,总共获取了76 635个URL,其中,37 428个是良性的,39 207个是恶意的。

3.2 实验评价标准

实验均采用五折交叉验证技术,并以准确度(Acc)、精度(P)、召回率(R)和F1值等作为性能指标,其中,准确度(Acc)表示正确分类样本在总样本中的占比,精度(P)表示正确分类URL样本的比例,召回率(R)表示正确预测样本的比例,F1值表示基于精确度和召回率的综合评价指标。

(19)

(20)

(21)

(22)

式(19)~式(22)中,TP表示正确分类为恶意的样本数,TN表示正确分类为良性的样本数,FP表示错误分类为恶意的样本数,FN表示错误分类为良性的样本数。

3.3 实验结果分析

3.3.1 验证特征维度对实验结果的影响

参数设置不仅影响特征的有效使用,还影响模型对恶意URL的检测结果。因此,为了优化实验结果,在同一数据集下调整变量参数,根据预测精度确定最优参数。为避免其他因素对实验结果的影响,每次实验均在其他参数固定甚至最优时进行。

为了确定特征向量的最佳维度,将视觉特征(纹理)和语义特征(字符、词汇)的维度从低到高组合起来(见表2)进行实验,实验结果如图6所示。由图6可知,F1值在总维度为100和180时最高,且总维度为180时,召回率达到99.98%,优于前者。综合来看,维度180可以作为特征维度的最优参数。

表2 特征维度组合

图6 特征维度对实验结果的影响

3.3.2 不同模型的比较实验

为了验证本文模型是否具有更好的识别和检测能力,将其与不同的神经网络模型进行比较实验,实验结果如图7所示。由图7可知,本文方法的性能普遍优于其他方法,其准确率可以达到99.79%。与CNN、LSTM、CapsNet和Bi-LSTM相比,本文结合URL的语义和视觉信息可以提高预测准确性,在识别具有复杂结构的恶意URL方面性能更好,而CapsNet+BiLSTM模型,当特征被提取出来后,容易过滤掉一些关键特征信息,不利于节省模型的计算时间,因此本文引入了注意力机制,进一步加强了关键特征的权重。实验结果表明,本文方法可以更好地提取URL的隐藏信息,相比其他方法更有利于未知恶意URL的识别。

图7 基于不同模型的实验结果

4 总结

随着电力信息化的发展,恶意URL的变异种类更加丰富,为了更好地适应电力安全防御应用场景的需求,本文结合BiLSTM、CapsNet和注意力机制来检测恶意URL的可能性,同时通过实验验证了本文方法比其他方法具有更好的检测效果。在未来的工作中,在有效保持检测性能不变的前提下,根据URL恶意类型优化模型结构执行多个分类是下一步研究的重点。

猜你喜欢
注意力语义神经网络
让注意力“飞”回来
语言与语义
神经网络抑制无线通信干扰探究
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
“上”与“下”语义的不对称性及其认知阐释
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
认知范畴模糊与语义模糊