System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Transformer和对比学习的无监督Web攻击检测方法技术_技高网

一种基于Transformer和对比学习的无监督Web攻击检测方法技术

技术编号:40308690 阅读:4 留言:0更新日期:2024-02-07 20:52
一种基于Transformer和对比学习的无监督Web攻击检测方法,该方法关注HTTP请求中的URL,利用Transformer提取复杂语义特征,并利用超球损失函数和对比损失函数代替交叉熵损失函数识别未知攻击,这有利于用更少的训练数据进行无监督检测。为了捕获长期依赖和处理复杂的语义关系,UWADT利用Word2vec和Transformer模型来检测攻击,该模型提取语义特征并利用自我注意机制来有效地挖掘长请求的正常日志模式。为了避免对异常标签的需求,使用无监督超球损失函数将正常日志的特征封闭到超球中。远离超球中心的日志可以被视为攻击。为了处理不足的Web日志数据,UWADT利用对比学习来比较一对正常日志的特征相似性,并进一步接近正常日志的特征。减少了训练web日志的数量和训练时间,具有实用性。

【技术实现步骤摘要】

本专利技术属于web数据异常检测,涉及一种基于transformer和对比学习的无监督web攻击检测方法。


技术介绍

1、web日志数据:web应用广泛,用户和web服务器使用http(s)协议来交换信息和数据。http请求包括get和post请求。http中的get方法主要用于检索资源(如网页、图像等)并允许通过url参数传递少量数据。另一方面,post方法主要用于提交数据(如表单数据、文件上传等)发送到服务器,并允许传递大量数据。图1(a)和(b)分别给出了csic 2010数据集中get和post http请求的示例。

2、get请求通常由两部分组成,即请求行和请求头。请求行包含http方法“get”、url(方案、主机、端口、路径和查询字符串)和http版本。请求头包含cookie和连接等信息。

3、post请求通常由三部分组成,即请求行、请求头和请求体。请求行包含http方法“post”、url(方案、主机、端口、路径)和http版本。请求头与get方法一致。请求体包含要发布或修补的数据。

4、请求体是可选的,因为在一些请求体中可能没有什么要表达的,比如使用get方法的资源检索。图2显示了一个典型的url,它由方案、主机、端口、路径和查询字符串组成。查询字符串包括键和值。不受控制的用户输入可能会导致web攻击,这些输入通常包含在httpget查询字符串和post请求体中。攻击者可以利用它们来创建或操纵对web服务器的请求,并执行恶意操作。因此,为了检测攻击,关注get请求中的url,以及post请求中的url和请求体。为了简单起见,仍然使用url来指代post请求的url和请求体。

5、传统的web攻击检测方法可以分为两类:基于规则的检测方法和基于行为的检测方法。基于规则的方法根据已知攻击建立检测模型,将任何具有相应攻击特征的行为识别为攻击。相反,基于行为的方法开发了一个可接受行为的配置文件,并将任何偏离标记为攻击。

6、深度学习和机器学习能够从数据中提取模式和特征,以自动区分各种对象类型。各种机器学习方法已被用于检测web攻击,如hqtn、svm optimization、开源one-classsvm。这些方法手动选择特征,例如属性名、属性值、属性长度、属性字符分布、结构推理、属性顺序等。为了自动提取特征,深度学习被应用于web攻击检测。由于web日志包含大量的单词,许多方法使用自然语言处理(natural language processing)技术,如n-gram、单词嵌入来提取特征,并利用lstm、自动编码器和rnn来检测异常行为,如elsv、logbert-bilstm、deepwaf和autoencoder。

7、传统的web攻击检测方法需要足够的异常或正常行为的特征和表现,而针对新攻击更新规则是一项耗费人力和时间的任务。机器学习方法需要手工提取特征,而这依赖于专家知识,并且消耗大量的时间和资源。同时这些方法通常为每种类型的url训练一个单独的模型,并且一个模型仅适合一种类型的url,导致大量的模型降低了效率。深度学习很难检测未知的web攻击,同时检测模型需要处理长序列数据,然而大多数方法利用cnn和lstm模型,它们不能有效地捕捉长的长期依赖性。现实生活中往往web日志的标签很少,人工标记消耗了大量的劳动和时间;web日志数据不足,用大量的数据训练一个合理的模型,既不实际,也没有效率。

8、现有的深度学习存在的问题是很难检测到未知攻击。虽然大多数基于深度学习的方法考虑了语义特征,但是这些方法是有监督的,需要异常标记,并且不能识别新的攻击。autoencoder是无监督的,但它直接用ascii码替换字符,并忽略语义特征。与有监督的方法相比,它实现了较低的性能。可以知道,恶意查询具有更大的值长度。检测模型需要处理长序列数据。然而,大多数方法利用cnn和lstm模型,它们不能有效地捕捉长系列的长期依赖性。

9、现有的监督方法存在的问题是web日志的标签更少。一般来说,正常的授权访问行为可能会留下相对较多的web日志。此外,在许多情况下,攻击者和普通用户生成的web日志是相似的,这使得没有丰富知识和经验的专家很难区分这两者。web日志数据的人工标记消耗了大量的劳动和时间。

10、现有方法在模型训练上存在的问题是web日志数据不足。现实中公共和私有web日志数据集的数量比计算机视觉和自然语言处理数据集的数量要少。用大量的数据训练一个合理的模型,既不实际,也没有效率。因此,模型需要用较少的数据进行训练。


技术实现思路

1、现有的监督的深度学习的方法只能粗浅的学习语义特征,不能处理自然语言的长期依赖和复杂的语义关系,并需要大量的标签和web日志数据才能训练出一个较好的模型。本专利技术提出了一种基于transformer和对比学习的无监督web攻击检测方法解决了上述问题。

2、一个web日志数据集d={s1,s2,...,sn}包含n个url,其中数据集d的url都正常,随机分成数据量相等的d1和d2两部分,其中si代表d1的第i个url,sj代表d2的第j个url。训练一个分类器c:si→[0,1],去判断新到达的url是否异常,其中0为正常,1为异常。

3、步骤1:建立web攻击检测框架

4、为了识别未知的web攻击,提高攻击检测的准确性,提出了一种基于transformer和对比学习的无监督web攻击检测方法。uwadt利用transform代替lstm,后者捕获长期依赖关系并处理复杂的语义关系。uwadt利用超球损失函数代替交叉熵损失函数,避免了对异常标记的要求。对比学习的好处,uwadt用较少的数据达到与大量数据同样好的效果。uwadt由预处理、特征提取和攻击检测三个模块组成。图3是uwadt的框架。

5、一是预处理:它删除特殊字符,如“/、=”,并将url转换为单词序列。因此,si可以用表示,其中表示第i条url中的第j个单词,ni是url中包含的单词数。单词数不一样。

6、二是特征提取:提取url的特征表示。word2vec用于获取单词的向量表示,即每个单词都转换成一个d维向量一个url可以用url中单词的向量序列来表示。url中的字数是不同的。因此,为了适合下面的转换器模型,url通过截断或填充与w个单词对齐,这由

7、三是基于transformer的攻击检测:通过超球面和对比学习,训练transformer模型,让正常日志相互靠近。那么对于新到达的url,它远离超球中心的形式被视为异常。

8、步骤2:预处理模块

9、在自然语言中,url被视为一个字符串,繁琐且不方便处理。因此,为了便于处理和捕获url的语义,通过预处理将url分成一个单词串(单词序列)。主要步骤包括小写、拆分和解码。

10、1)小写。因为url不关心大小写,将每个字符都小写以使词汇量更小。

11、2)本文档来自技高网...

【技术保护点】

1.一种基于Transformer和对比学习的无监督Web攻击检测方法,其特征在于,

2.如权利要求1所述的一种基于Transformer和对比学习的无监督Web攻击检测方法,其特征在于,

3.如权利要求1所述的一种基于Transformer和对比学习的无监督Web攻击检测方法,其特征在于,

4.如权利要求1所述的一种基于Transformer和对比学习的无监督Web攻击检测方法,其特征在于,

5.如权利要求1所述的一种基于Transformer和对比学习的无监督WEB攻击检测方法,其特征在于,

6.如权利要求1所述的一种基于Transformer和对比学习的无监督WEB攻击检测方法,其特征在于,

【技术特征摘要】

1.一种基于transformer和对比学习的无监督web攻击检测方法,其特征在于,

2.如权利要求1所述的一种基于transformer和对比学习的无监督web攻击检测方法,其特征在于,

3.如权利要求1所述的一种基于transformer和对比学习的无监督web攻击检测方法,其特征在于,

4...

【专利技术属性】
技术研发人员:何施茗张颖刘瑞汤强李妍王进
申请(专利权)人:长沙理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1