基于胶囊网络的XSS攻击识别方法的研究

2022-11-02 11:37刘士博
大众标准化 2022年19期
关键词:漏洞胶囊卷积

刘士博

(景德镇陶瓷大学,江西 景德镇 333403)

随着科技进步和经济发展,网络技术在悄悄影响着每一个人的生活,给人们的衣食住行带来便利的同时,网络上的安全问题也给人们带来很多困扰。其中XSS攻击和SQL注入攻击由于其数量庞大危害严重,在OWASP列出的WEB漏洞排行中一直位列前茅。

如图1所示根据OWASP2017和OWASP2021统计的信息,XSS攻击和注入问题在近十年一直是稳居WEB漏洞问题的前列,是常见的网络攻击方式。人工智能早在1956年第一次被提出,得益于计算机硬件水平和计算力的迅速发展,人工智能技术产生了多种突破性的成就,将人工智能用于漏洞检测一直是热门话题。目前研究者使用的检测方法多是基于传统的机器学习方式和单一的深度学习模型,传统的机器学习方式在进行分类之前,需要人为对数据进行逐条标注,这一方式需要耗费大量的人力物力。而单一的深度学习模型存在样本需求量大、训练时间过长和对短文本分类效果欠佳等问题。为了解决上述问题,笔者采用深度学习方法进行实验,为了增加对比效果,增加了一组机器学习方法。

BiLSTM模型结构图如图1所示。

图1 BiLSTM模型结构图

1 相关理论知识

1.1 LSTM

LSTM模型是RNN模型的一个改良版,RNN模型的缺点在于记录信息的时候减少了对信息的筛选,导致记录了很多无效信息,造成了记忆的负担,LSTM全称为长短期记忆,把一些噪音进行了过滤,对记忆负担达成了减轻的效果。

1.2 BiLSTM

BiLSTM是正反向的LSTM通过合理有效的方式构建的,可以充分利用上下文信息。在文本分类的过程中,上下文信息会显著地影响文本分类的效果,尤其是短文本信息,如GET http://localhost:8080/tienda1/publico/anadir.jsp?id=2&nombre=Jam%F3n+Ib%E9rico&precio=85&cantidad=%27%3B+DROP+TABLE+usuarios%3B+SELE CT+*+FROM+datos+WHERE+nombre+LIKE+%27%25&B1=A%F1adir+al+carrito HTTP/1.1,如果只看到WHERE+nombre+LIKE+%27%25&B1=A%F1adir+al+carrito,或许会以为这只是查询数据库的指令,再联系前文后发现这是一条删库指令,又或 者GEThttp://localhost:8080/tienda1/publico/registro.jsp?modo=registro&l ogin=emmeline4&password=ultramun*dana&nombre=Sof%EDa&apellidos=Huitron+Escalo na&email=win%40yes123.bn&dni=95195528T&direccion=Calle+Generalife+S%2FN+12%3FD&ciudad=Santa+Cruz+de+Mudela&cp=24325&provincia=Cantabria&ntc=1891589695823279&B1=Registrar HTTP/1.1 只看中间的一系列长信息会把该请求当成恶意请求,其实结合前文这只是常规的注册请求。

1.3 CNN和胶囊网络对比

卷积神经网络(CNN),由一个个神经元组成,它是一种预测神经网络,其人工神经元可以对一定覆盖范围内的周围实体做出响应,在大规模图像处理方面具有出色的性能。

卷积神经网络由一个或多个卷积层和一个完全连接的顶层(相当于经典神经网络)以及相关的权重和一个聚类层组成。这种结构允许卷积神经网络利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面的表现更好。该模型也可以使用反向传播算法进行训练。与其他深度和前馈神经网络相比,卷积神经网络需要考虑的参数更少,这使其成为一种有吸引力的深度学习架构。

胶囊神经网络(CapsNet) 是一种机器学习系统,它是一种人工神经网络(ANN),可用于更好地建模层次关系。该方法是一种更密切地模仿生物神经组织的尝试。这个想法是在卷积神经网络(CNN) 中添加称为“胶囊”的结构,并重用其中几个胶囊的输出,为更高的胶囊形成更稳定的(相对于各种扰动)表示输出是一个向量,由观察概率和该观察的姿势组成。该向量类似于在CNN中使用定位进行分类时所做的。除了其他好处之外,CapsNets 解决了图像识别中的“毕加索问题”:图像具有所有正确的部分,但空间关系不正确(例如,在“脸”中,嘴巴和一只眼睛的位置被交换)。对于图像识别,CapsNets 利用了这样一个事实,即虽然视点变化在像素级别具有非线性效应,但它们在零件/对象级别具有线性效应,这可以与反转多个部分的对象的渲染相比较。

CNN模型和胶囊网络工作原理对比如图2和图3所示。

图2 CNN模型工作原理

图3 胶囊网络模型工作原理

1.4 XSS攻击

XSS漏洞主要分为三种类型:反射型XSS漏洞、XSS持续漏洞和基于 DOM的XSS 漏洞。

反射型XSS漏洞的特点是通过动态页面响应用户请求,通常会接受一个包含消息文本的参数,并在响应中将该文本返回给用户。

XSS 持续漏洞是跨站点脚本漏洞的一种更具恶意的变体:它发生在攻击者提供的数据被服务器记录,然后持续显示在“正常”页面上,然后发送回其他用户时。正常浏览过程,没有正确的 HTML 转义。一个典型的例子是在线留言板,它允许用户以 HTML 格式发布消息以供其他用户阅读。

基于DOM的XSS漏洞注射的方法可以有很大的不同,在某些情况下,攻击者甚至可能不需要直接与Web功能本身交互来利用这样的漏洞。Web应用程序接收到的任何可以被攻击者控制的数据(通过电子邮件、系统日志、IM 等)都可能成为注入向量。 基于DOM的XSS漏洞最初是在服务器端执行所有数据处理的应用程序中发现的。用户输入(包括 XSS 向量)将被发送到服务器,然后作为网页发送回用户。对改进用户体验的需求导致应用程序的流行,这些应用程序的大部分表示逻辑(可能用 JavaScript 编写)在客户端工作,使用 AJAX 从服务器按需提取数据。由于 JavaScript 代码也在处理用户输入并将其呈现在网页内容中,因此开始出现一种新的反射 XSS 攻击子类,称为基于 DOM 的跨站点脚本。在基于 DOM 的 XSS 攻击中,恶意数据不会触及 Web 服务器。相反,它由 JavaScript 代码完全反映在客户端。基于DOM的XSS漏洞的一个示例是2011年在许多jQuery插件中发现的错误。基于 DOM 的 XSS 攻击的预防策略包括与传统 XSS 预防策略非常相似的措施,但在JavaScript代码中实现并包含在网页中(即输入验证和转义)。 一些 JavaScript框架具有针对这种攻击和其他类型攻击的内置对策——例如 AngularJS。

2 实验

2.1 数据

文章使用HTTP DATASET CSIC2010数据集,该数据集数据内容如图4所示,首先把数据进行去噪处理,选出其中XSS攻击的数据。

图4 HTTP DATASET CSIC2010数据集内容

2.2 模型建立

使用Word2Vec把数据向量化,然后把向量化后的数据输入模型,word2Vec是把文字转化为向量的一种模型,它的关键词包括word_2 index、 word-size、inde_2_word。word_2 index统计所有不重复的词语,在Python中以字典形式储存,储存模式为关键词加序号,如{get:0,http:1}, 整个词语长度统计为word-sizeinde_2_word,与word_2_index正好相反,显示 为{0:get, 1:http},word_2_onehot把对 应关键词按照顺序转化为向量形式,如get表示为[100000000...000],http表示为[0100000...0],0的数量为统计的单词总量减一。word2Vec有两种模型,分别为CBOW模型和Skim_gram模型,两种模型本质相同,都是用一个词去预测其他词,区别在于CBOW使用当前值预测其他值,Skim用其他值预测当前值。本文使用Skim模型,Skim模型如图4所示。

2.3 试验评估方法

Accuracy表示所有被正确识别的数据的数量在所有识别数据数量中的占比,如公示(1)所示。

Capsnet结果为97.6%、CNN结果为95.6%、BiLSTM结 果 为91.2%、LSTM结 果 为88.7%、SVM结果为84.2%,由上可得胶囊网络在ACC和Precision方面均超过了其他4种算法,由此可得胶囊网络模型更适合用于识别XSS攻击。

3 结束语

文章提出把胶囊网络用于XSS攻击检测,在同一数据集下,使用CNN、LSTM、BiLSTM、SVM进行对比试验,并采用ACC和Precision指标进行评价,结果显示,胶囊网络各个方面均有更好的效果,且相比于其他几个深度学习模型,胶囊网络模型训练时间更短,因此,以后可以更多地使用胶囊网络来检测网络入侵。

猜你喜欢
漏洞胶囊卷积
漏洞
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
时光胶囊
侦探推理游戏(二)
漏洞在哪儿
视频、Office漏洞相继爆发
我有一颗神奇胶囊