APP下载

基于迁移学习的站间XSS入侵检测方法

2023-10-24吴亚玲张震李婷妤刘芳李智勇

科技资讯 2023年19期
关键词:测试数据训练样本公式

吴亚玲 张震 李婷妤 刘芳 李智勇

(1.湖南开放大学 湖南 长沙 410004; 2.湖南工商大学 湖南 长沙410205)

网络安全威胁中,XSS 攻击是一种常见的威胁之一。尽管近年来XSS攻击的检测技术得到了很大的改进和发展,但其仍然存在着技术性挑战。传统的入侵检测方法是通过已有的大量标记数据集进行检测,然而大多数网站在开发初期并没有这样的数据集。为了解决此类问题,可以借助其他项目的数据集进行检测。迁移学习是一种有效的机器学习技术,具有解决数据不平衡性和知识缺失性的能力。因此,本文采用迁移学习来解决没有标记数据集的问题。

1 相关工作

针对XSS(Cross-Site Scripting)的检测方法目前面临着严峻的挑战。SONEWAR P A 等人[1]提出建立静态和动态映射模型检测XSS 攻击中的异常; SEYYAR M B 等人[2]提出规则集来检测XSS 攻击; DWIVEDI B[3]提出适配算法;范禹辰[4]提出基于BERT的Web攻击检测方法;卢明星等人[5]提出非监督学习的深度自编码器并实现检测;林雍博[6]提出字符级卷积预处理方法;李钊等人[7]使用模式匹配Sunday 算法实现检测;张哲铭[8]提出基于误用的无监督自适应IDS 模型。以上文献提出多种不同方法检测XSS 入侵,虽然在一定程度上提高了XSS 检测率,但都没有考虑数据样本集不足的问题;马樱[9]提出了TNB算法,该方法考虑了数据样本不足的问题,但该模型只考虑了目标样本集属性里的最大值和最小值,反映的目标数据集没有包含其所有的特征,只在属性特征的差异不大时才可以取得比较好的检测效果。

本文结合前述研究成果,采用迁移学习技术,提出了一种基于迁移学习的跨站点脚本攻击检测方法。该方法适用于目标公司的数据不足的情况,避免了过去必须在相同分布的数据集上建立模型的问题。

2 迁移学习改进的MLWNB算法

2.1 迁移学习

迁移学习是指将A 任务开发的模型作为起点,在B任务开发模型的过程中重新利用机器学习方法的一种技术。基于迁移学习的朴素贝叶斯检测算法(MLWNB)是一种建立入侵检测模型的方法,它使用不同公司的Web应用程序的XSS入侵数据作为目标公司Web应用程序项目的数据集。可以在开发环境和数据集分布不同的情况下进行检测,该算法极大地提高了检测的实时性、鲁棒性和准确性。

2.2 欧式距离

为了实现迁移学习,该研究引入了数据度量的概念来获取目标数据集的相关信息。在分类过程中,通常需要估计非同类样本之间的相似度,此时会计算样本之间的“距离”。本文使用欧式距离来度量属性之间的相似度。

在二维空间中,向量A(x1,y1)与向量B(x2,y2)之间的欧式距离可以表示为式(1)。

同理,将欧氏距离推广到n维空间,距离可以表示为式(2)。

2.3 迁移学习改进的MLWNB算法

本文为了迁移目标数据的信息,首先获取测试集的信息,然后计算每个训练样本与测试集的相似度,基于万有引力计算各训练数据的权重,最终建立基于迁移学习改进的MLWNB算法预测模型。

为了获取目标集的数据信息,先计算测试集中属性的中间值mid向量。假设每个属性对目标分类预测的贡献相同,通过计算样本属性值在中间的位置,使用欧氏距离公式计算测试数据集和每个训练样本之间的相似度。求测试数据集的所有属性之和的平均值,并计算训练数据集的每个样本属性和测试数据集的平均属性值之间的欧式距离。取0.5为分界点值,当两者之间的距离d小于或等于0.5时,视为相似属性,当d大于0.5时,视为非相似属性。将各个样本看作zi={ai1,ai2,…,aik},这里,样本zi中第j个属性值为aij。对各个训练集的样本zi,相似属性个数如式(3)所示:

假如有3个训练数据:z1={1,2,3,’false’};z2={3,1,1,’true’};z3={2,3,3,’false’}。2个目标数据:x1={1,2,3};x2={3,1,1}。通过上述,可以计算得到测试数据的Mid向量,Mid={3/2,3/2,3}。其次可以通过式(1)和式(3)来算得各个训练样本之间的相似度sgli。

同理可得:sl2=1;sl3=2。

权重wi会随着测试数据集和样本zi的类似度增加而增加。当属性个数k等于相似度sli时,所有这些属性都会和中间值向量之间的距离在(0,0.5]之间,此时相似度等于(k-sli+1),也就是属性被赋予最大的权重。

在训练数据和测试集数据的研究中,模拟万有引力。通过一个“引力”,两个物体的质量与距离R的平方成反比,和万有引力大小成正比,具体在式(4)中体现。

根据公式,得到训练数据的权重式(5)。

图1 基于迁移学习改进的朴素贝叶斯分类算法

根据基于加权的数据计算得到的先验概率计算公式,可以看出测试数据集的类分布在先验概率公式的变化中得到反映。如果测试数据集和训练样本相似,那么就会给予更大的权重给训练数据,同时,因为测试集中该类的概率更大,所以该训练数据所对应的类也会被给予更大的权重。因此,我们可以重新表述t类加权先验概率公式见式(6)。

式(6)中,wi为训练样本zi的权重,ti为训练样本zi类属值,h为训练样本总个数,ht为总类别数。在预测模型中n=2。

指示函数ε(x,y)中,假若x≠y,那么ε(x,y) =0;x=y,那么ε(x,y) =1。给定测试样本zi,运用文献给出的样本加权方法,第j个属性ai的条件概率如公式(7)所示:

式(7)中,aij为第i个训练数据集第j个属性的值,hj为第j个属性不同值的数量则。如果训练数据中有和z相同类属性值的情况,那么可以计算出条件概率P(aj|t)。

对属性都为数字型的软件入侵数据进行离散化。结合上述公式,可以使用预测模型对测试数据进行分类。根据上述例子,利用式(5)将测试数据x1=(1,2,3,?)计算相应权重。

依据式(6),可以求得P(t),由以上可知,n=3(包含3个训练样本),ht=2(包含两个类别),所以:

依据公式(7),可以求得P(aj|t),由以上可知,h1=2,h2=3,h3=3,所以:

同理有

其中,u1可以依据公式(7)得

因0.888>0.112,可得u1通过以上预测是类'false'。

3 实验结果与分析

为验证算法可行性,定义所有训练数据直接建立的检测模型为ATD(All Training Data);而相似训练数据建立的检测模型则为STD(Similar Training Data)。本实验用kc1和NSL-KDD数据集进行训练,使用StatLib 数据集进行检测,评估指标为ACC 和F-measure,可通过查全率、查准率、调和平均值和精确率公式求得。分类结果详见表1。

表1 MLWNB分类结果(χˉ±s)

据表1所示,MLWNB 算法在3个不同的数据集中表现出了卓越的精确率,甚至在跨站模型上,其ACC也接近或超过了入侵数据集的训练模型。这就表明该算法具有可行性。此外,表中的标准差数值较小,表明MLWNB具有较好的稳定性。

图2展示了同一算法在不同比例的数据集中使用时,数据指标F-measure的值。该值反映了MLWNB检测XSS攻击的综合准确性。

图2 MLWNB分类的F-measure结果图

由图2可知,MLWNB算法在两个站内数据集和一个站外数据集上具有良好的适应性。随着数据集百分比的增加,站外数据StatLib 的F-measure 值也在稳定增长。

4 结语

本文首先分析了迁移学习技术,结合贝叶斯分析方法的优点和不足,提出了一种基于迁移学习的XSS入侵检测分类算法。该算法能够最大限度地利用跨项目数据信息,避免现有数据集不够以及现有模型丢弃大量训练数据的问题。文章对提出的方法进行详细分析,并通过关键代码或伪代码辅助说明各个模块的核心技术。实验结果表明:采用迁移学习改进的MLWNB算法,训练数据和测试数据具有相似的分布,MLWNB算法能显著提高跨项目入侵检测性能。

猜你喜欢

测试数据训练样本公式
组合数与组合数公式
排列数与排列数公式
等差数列前2n-1及2n项和公式与应用
人工智能
测试数据管理系统设计与实现
例说:二倍角公式的巧用
宽带光谱成像系统最优训练样本选择方法研究
基于自适应粒子群优化算法的测试数据扩增方法
融合原始样本和虚拟样本的人脸识别算法
基于稀疏重构的机载雷达训练样本挑选方法