System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机信息处理,具体为一种基于网络数据包上下文的sql注入攻击检测方法。
技术介绍
1、在保护存储在数据库中的敏感信息时。最常见和持久的对数据库安全构成威胁的问题之一是sql注入攻击。这些攻击利用与数据库交互的web应用程序中的漏洞,使恶意行为者能够操纵sql查询,从而未经授权地访问或操纵底层数据,近年来,许多研究采用了各种机器学习算法来检测sql注入攻击,包括支持向量机、决策树、随机森林、神经网络等。这些算法可以从大量的训练数据中学习sql注入攻击的模式,并用于对新的查询进行分类和判断。这些机器学习方法可以学习复杂的特征和关系,从而更好地捕捉sql注入攻击的模式。相比之下,传统方法可能无法捕捉到隐藏在数据中的细微差异或非明显的攻击特征,目前的sql注入攻击数据集中通常包含了一系列已知的sql注入攻击网络数据包负载样本,这些网络数据包负载样本代表了各种不同类型的注入攻击向量。这些样本可以是手动构造的,也可以是从实际攻击中收集的,在现有的研究中,用于检测sql注入攻击的数据集主要集中在有效负载语句或静态网络流量数据包上,rnn模型能够处理序列数据,并且理论上可以处理任意长度的序列。它能够捕获到一定程度的上下文信息;
2、现有技术中的,公开号为cn111737289a提供的一种sql注入攻击的检测方法、装置,其中,所述方法包括:获取待检测的目标sql语句;对所述目标sql语句进行特征工程处理,得到所述目标sql语句的特征数据;将所述特征数据输入预先训练完毕的sql注入攻击检测模型中得到检测结果;若所述检测结
3、公开号为cn113343235a提供的一种基于transformer的应用层恶意有效负载检测方法、系统、设备及介质,其方法为:构建应用层用户请求样本集,每个样本包括一条应用层用户请求及其恶意有效负载信息,恶意有效负载信息包括一组或多组具体恶意有效负载及其类别;对样本集进行数据预处理得到用户请求及各词元的类别真实标签;使用预处理后的样本集训练预先构建的基于transformer的深度神经网络模型;使用训练得到的模型对待检测的应用层用户请求中的各词元,预测其恶意有效负载类别;最终合并连续且相同类别的词元,确定用户请求中的恶意有效负载信息,能够准确有效地对应用层用户请求中的恶意有效负载信息进行检测。
4、存在的不足之处有:攻击者会使用各种数据编码技术(如url编码、十六进制编码或base64编码)来屏蔽或更改注入语句中的特殊字符或关键字,此外,通过http参数污染,攻击者可以为具有相同名称的参数分配多个值,导致应用程序以意想不到的方式运行,从而引入漏洞,大多数关于sql注入攻击的数据集主要集中在攻击请求数据包的有效负载上,如使用不同的数据编码方法或http参数污染,在响应数据包中表现出更明显的特征,当攻击者使用url编码来隐藏注入语句时,响应包可能会显示解码错误或其他异常,这为识别和反击这些攻击提供了一个新的视角,如何利用请求-响应网络数据包上下文数据集训练的基于transformer的sql注入攻击检测模型,来识别融合数据编码技术sql注入攻击是当下需要改进的方向;
5、在所述
技术介绍
部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本专利技术的目的在于提供一种基于网络数据包上下文的sql注入攻击检测方法,以解决上述
技术介绍
中提出的问题。
2、为实现上述目的,本专利技术提供如下技术方案:
3、一种基于网络数据包上下文的sql注入攻击检测方法,具体步骤包括:
4、s1、采集公开数据集中sql注入攻击语句对应的负载数据与起始行还有头部字段,并拼接为请求报文,搭建一个使用mysql数据库的模拟网站,使用python语言的requests库的方法向模拟网站发送构造好的请求报文,模拟网站接收到请求报文后在数据库中查询数据并返回响应报文;
5、s2、使用wireshark在网络层捕获http请求报文和响应报文数据后进行保存,并依次对捕获的数据进行数据拼接和数据标记,从捕获的sql注入数据集中提取攻击语句、标签、http请求报文和响应报文数据,用户接收wireshark捕获网络流量中的http请求报文和响应报文后,将正常数据和sql注入攻击数据整理为新数据集,所述新数据集包括训练数据集和测试数据集,获取新数据集后依次进行数据清洗和数据编码;
6、s3、通过使用递增学习算法对新型sql注入攻击模式进行实时模型更新,并基于模拟网站和递增学习算法构建在线学习模型;
7、s4、对每对网络数据包的http请求报文和响应报文进行联合分析,提取特征,引入时间序列分析,捕捉请求和响应之间的时间关系;并分析http请求报文和响应报文的内容上下文,提取sql注入攻击的特征标志;
8、s5、利用bert模型深度编码请求-响应对应的上下文本内容,以捕获sql注入攻击的复杂特征;
9、s6、利用bert模型捕获长距离的依赖关系,并自适应调整以适应新型攻击模式,并利用bert模型基于的transformer模型自注意力机制,来捕捉请求和响应之间的长距离依赖,结合bert的编码向量,进行深层次的上下文分析;
10、s7、通过不断训练模型以适应新出现的sql注入攻击模式,实现模型的动态更新和学习,以应对网络环境中的变化;
11、s8、使用bert模型对训练数据集进行训练,以调整模型参数,同时,通过交叉验证和参数调整来优化模型性能,并使用训练好的模型在测试数据集上进行验证;
12、s9、将自适应transformer模型的输出与传统以及其他异常检测方法结合,以提高准确率和鲁棒性,使用集成学习方法,结合多种模型的预测结果进行最终判断;
13、s10、在上下文感知的异常检测过程中,考虑请求和响应之间的上下文信息,利用上下文分析提高检测的灵敏度和准确性。
14、与现有技术相比,本专利技术的有益效果是:通过收集请求-响应网络数据包上下文的sql注入攻击检测的数据集,并在此基础上训练了一个基于transformer的sql注入攻击检测模型,具体通过利用bert模型深度编码请求-响应对应的上下文本内容,以捕获sql注入攻击的复杂特征,并利用bert模型基于的transformer模型自注意力机制,通过对输入序列的每个部分进行加权平均,可以动态地选择与当前任务最相关的信息,在上下文感知的异常检测过程中,考虑请求和响应之间的上下文信息,利用上下文分析提高检测的灵敏度和准确性,具有根据网络数据包请求报文和本文档来自技高网...
【技术保护点】
1.一种基于网络数据包上下文的SQL注入攻击检测方法,其特征在于,具体步骤包括:
2.根据权利要求1所述的一种基于网络数据包上下文的SQL注入攻击检测方法,其特征在于:所述搭建一个使用MySQL数据库的模拟网站包括,
3.根据权利要求2所述的一种基于网络数据包上下文的SQL注入攻击检测方法,其特征在于:所述通过对每对网络数据包的HTTP请求报文和响应报文进行联合分析,提取特征,引入时间序列分析,捕捉请求和响应之间的时间关系包括,
4.根据权利要求3所述的一种基于网络数据包上下文的SQL注入攻击检测方法,其特征在于:所述利用BERT模型深度编码请求-响应对应的文本内容,以捕获SQL注入攻击的复杂特征包括,
5.根据权利要求4所述的一种基于网络数据包上下文的SQL注入攻击检测方法,其特征在于:所述利用BERT模型基于的Transformer模型自注意力机制,来捕捉请求和响应之间的长距离依赖,并自适应调整以适应新型攻击模式包括,
6.根据权利要求5所述的一种基于网络数据包上下文的SQL注入攻击检测方法,其特征在于:所述使用客户
7.根据权利要求6所述的一种基于网络数据包上下文的SQL注入攻击检测方法,其特征在于:所述将自适应Transformer模型的输出与传统的异常检测方法结合,以提高检测的准确性和鲁棒性包括以下结合公式,
...【技术特征摘要】
1.一种基于网络数据包上下文的sql注入攻击检测方法,其特征在于,具体步骤包括:
2.根据权利要求1所述的一种基于网络数据包上下文的sql注入攻击检测方法,其特征在于:所述搭建一个使用mysql数据库的模拟网站包括,
3.根据权利要求2所述的一种基于网络数据包上下文的sql注入攻击检测方法,其特征在于:所述通过对每对网络数据包的http请求报文和响应报文进行联合分析,提取特征,引入时间序列分析,捕捉请求和响应之间的时间关系包括,
4.根据权利要求3所述的一种基于网络数据包上下文的sql注入攻击检测方法,其特征在于:所述利用bert模型深度编码请求-响应对应的文本内容,以捕获sql注入攻击的复杂特征包括,...
【专利技术属性】
技术研发人员:李挥,陈雨红,彭明,
申请(专利权)人:江苏数一互联网有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。