APP下载

基于深度学习的跨站脚本攻击检测

2022-03-24丁雪川张伟峰方菽兰郑黎黎

技术与市场 2022年3期
关键词:解码器脚本编码

丁雪川,张伟峰,方菽兰,郑黎黎

(1.成都市公安局,四川 成都 610000;2.成都赛博思安科技有限公司,四川 成都 610000)

0 引言

由于脚本语言具有灵活多变的特性以及不同浏览器之间存在的差异性,导致XSS攻击的利用方式复杂多变,传统的基于规则匹配的检测方法难以有效地进行XSS攻击检测和防御。随着机器学习的不断发展,已经有很多研究团队将机器学习算法引入XSS攻击检测中[1-4]。然而传统的机器学习算法很大程度上依赖于特征的选择提取,由于人工提取特征具有不可避免的局限性,基于传统机器学习的检测方法难以有效地满足具有混淆、复杂、多变等特征的XSS攻击检测需求。

深度学习算法可以自动化提取攻击载荷特征,从而避免人为提取特征所不可避免的局限性问题,因此将深度学习算法应用于Web攻击检测必然成为研究的趋势。针对编码混淆的XSS攻击难以检测的问题,本文构建了一个基于深度学习的跨站脚本攻击检测模型,有效提高XSS攻击检测的准确率。

1)提出一种基于深度学习的跨站脚本攻击检测模型。该模型基于Word2Vec提取输入数据保留语义特征的词向量,并基于LSTM深度神经网络算法自动提取XSS攻击的深层次特征,有效地检测跨站脚本攻击。此外,针对经过编码混淆的XSS检测困难的问题,提出循环解码器还原其原始形态,进一步提升检测效果。

2)搭建实验环境测试检测模型,在真实数据集上,通过与传统机器学习算法和常见安全防护软件进行对比,实验结果验证了检测模型的有效性。

1 基于深度学习的跨站脚本攻击检测方法

针对编码混淆的XSS攻击难以检测的问题,本文构建了一个基于深度学习的跨站脚本攻击检测模型。首先,根据XSS常见的编码混淆技术,提出基于循环解码器的数据清洗,将经过复杂编码混淆后的攻击向量解码还原其原始数据状态;其次,基于Word2Vec对预处理后的数据进行词向量提取,将输入数据构建为含有语义信息的词向量序列表示;将跨站脚本攻击检测转化为二分类,基于LSTM深度学习算法构架分类模型,根据恶意样本和正常样本训练跨站脚本攻击分类器作为攻击检测模型,实现跨站脚本检测。

1.1 基于循环解码器的数据清洗

跨站脚本攻击常用的编码混淆技术包括:URL编码、HTML编码、Base64编码、UTF-7编码、Unicode编码等,提出一种循环解码器,循环解码器对编码混淆的输入数据进行循环解码处理,直到解码后的结果不再变化为止,从而将经过混淆的攻击向量还原为其原始的数据形式。

1.2 基于Word2Vector的词向量提取

深度学习检测算法不能直接处理文本形式的输入,需要将原始URL请求文本数据转化为词向量的输入形式。图1是将文本输入转换为词向量的流程图,主要包括循环解码、范化、分词和量化几个步骤。

图1 词向量提取流程

其中,循环解码处理过程基于上一小节中提出的循环解码器;范化处理的目的是降低无意义信息对检测结果的影响,并减少分词数量,主要包括:将函数输入参数替换为“param_string”,将URL链接替换为“http://website”,数字替换为“0”;基于跨站脚本攻击的语法特征,设计相应的正则表达式进行分词提取,分词类别主要包括开始标签、结束标签、触发事件、标签属性、函数名称、脚本类型以及特殊字符等,量化过程则是基于Word2Vec进行词向量表示,从而得到输入文本的词向量。

2 实验设计与结果分析

2.1 实验过程

基于跨站脚本攻击恶意样本数据构建攻击词典,将恶意样本数据分词后按照词频降序排序后取词。随着取词数量的增长,样本覆盖率随之增加,当取词频率达到TOP10000后,对应的样本覆盖率已经达到93.1%,但随着取词数量的成倍增长,后续样本覆盖率仅少量提升。最终设定样本取词频为TOP10000的恶意样本,从而构建跨站脚本攻击的攻击词典。

为了客观地选择最优的Word2Vec训练参数,对Size、Iter、Window、Nagative参数进行调优实验。通过控制变量法,每次仅修改一个参数,并对比不同参数对LSTM检测模型的召回率、精确率、准确率和F1值的影响,从而确定Word2Vec训练参数。

2.2 实验结果与分析

为了客观地评估论文提出的检测模型,将检测模型与WangRui[18]等人提出的基于AdTree和AdaBoost传统机器学习算法检测XSS进行对比实验,该方法采用了和本文相同的XSS恶意样本数据集和正常样本数据集,此外还选择了网站安全狗[19](版本:Apache版V4.0)和XSSChop[20](版本:b6d98f6更新日期:2019-01-25)进行对比实验。

基于LSTM的跨站脚本攻击检测模型的准确率为99.5%、召回率为97.9%和F1值为98.7%。在精确率、召回率和F1值三个方面的表现均优于ADTree和AdaBoost传统机器学习算法的检测模型;论文提出的检测模型在精确率方面虽然略低于网站安全狗和XSSChop,但三者的精确率均超过了99.5%;且论文提出的LSTM检测模型在召回率和F1值方面都优越于网站安全狗和XSSChop。

综上所述,论文提出的基于LSTM的检测模型在精确率、召回率和F1值等方面具有明显的优势,证明了该模型能够有效地识别跨站脚本攻击。

3 结语

针对编码混淆的XSS攻击难以检测的问题,本文构建了一个基于深度学习的跨站脚本攻击检测模型,并证明其有效性。但是该研究仍然存在着一些问题和步骤,进一步研究和改进内容如下。

1)将检测模型封装为应用编程接口(API),提供可视化的Web检测平台。

2)深度研究其他跨站脚本攻击编码混淆方式,进一步丰富循环解码器支持解码的类型,优化解码效率。

3)扩展应用场景,将基于深度学习的攻击检测模型应用到其他网络安全领域,如SQL注入攻击检测和DDOS攻击检测等。

猜你喜欢

解码器脚本编码
酒驾
科学解码器(一)
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
科学解码器(二)
科学解码器(三)
安奇奇与小cool 龙(第二回)
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
Genome and healthcare