System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种基于互信息法特征选择的sql注入攻击检测方法、系统、设备及可读存储介质,属于网络安全。
技术介绍
1、web技术通过web采用http或https协议访问外部并对外部请求提供服务和响应的应用程序,客户端通过浏览器请求访问web服务器,通过统一资源标识符标识、定位服务器上的数据信息。在我国针对网站sql注入漏洞的检测和研究,普遍存在着对sql注入漏洞检测的高漏报率、低准确率等现象。利用sql注入攻击,恶意攻击者就可以获得并且掌控整个网站的内容,同时可以篡改网站后端及底层数据库数据,甚至可以给整个网站注入木马程序,从而通过获取的管理员权限任意浏览获取网站上的文件数据或给网页挂上木马和各种恶意程序,最终达到控制整个服务器的目的。
2、传统的特征检测方法系统通过识别特定的模式或特征检测攻击,针对已知的sql注入漏洞进行编写检测规则。规则的制定通常基于对特定web服务器类型和版本的了解,用于检测不同环境中的sql注入攻击。这种方法的局限性在于规则只能防御已知的web服务器上的sql注入攻击。对于新的、未知的漏洞,这种方法可能无法提供足够的防御。
技术实现思路
1、为解决现有技术中存在的问题,本专利技术提供一种基于互信息法特征选择的sql注入攻击检测方法,该方法利用互信息度量特征与目标变量(正常或注入攻击)之间的关联性,确定哪些特征对于检测sql注入攻击最为关键;根据选定的特征训练与优化sql注入检测模型;针对新的sql请求数据,通过训练好的模型进行预测,判断新的
2、(1)收集包含正常sql请求和sql注入攻击请求的数据集。
3、(2)将原始数据集转换为机器学习模型可以处理的格式,使用互信息法测量变量间的相互依赖程度识别出与目标变量最相关的特征。
4、(3)使用选定特征建立机器学习模型,提供给朴素贝叶斯分类器进行训练,得到sql注入检测模型。
5、(4)通过运用经过充分训练的sql注入检测模型,对新输入的sql请求数据进行分析,判断新的sql请求是否存在sql注入攻击行为。
6、进一步地,步骤(2)中,特征提取时,计算每个特征xi与目标变量之间的信息其中,p(xi,y)是xi与y同时取值xi和y的概率,p(xi)和p(y)分别是xi和y的边缘概率。
7、进一步地,步骤(3)中,构建朴素贝叶斯分类模型时,对于样本x=(x1,x2,x3,...,xn),其中xi为样本的一个特征,有类别集合y=(y1,y2,y3,...,yn),yi为类别集合中的一个类别,该分类模型会从训练集中学习到的样本的特征xi在类别yi下的条件概率,得到集合c1={(xi,p(x|yi))|1≤i≤n,1≤j≤m};朴素贝叶斯分类器按以下步骤对输入集x进行分类:
8、3.1对x=(x1,x2,x3,...,xn),计算条件概率集合c2={p(yi|x)|1≤j≤m},得到
9、3.2计算
10、3.3计算其中,ni为类别y在训练集中的样本数量,n为训练集中的总样本数量,|i|为类别总数,α为平滑参数;
11、3.4计算得到集合c2中的最大值其中1≤k≤m,yk为样本x所属的类别。
12、本专利技术还提供一种基于互信息法特征选择的sql注入攻击检测系统,该系统包括以下模块:
13、(1)数据集搭建模块,模块该收集包含正常sql请求和sql注入攻击请求的数据集;
14、(2)特征提取模块,该模块将原始数据集转换为机器学习模型可以处理的格式,使用互信息法测量变量间的相互依赖程度识别出与目标变量最相关的特征。
15、(3)朴素贝叶斯分类模型构建模块,该模块使用选定特征建立机器学习模型,提供给朴素贝叶斯分类器进行训练,得到sql注入检测模型。
16、(4)模型预测模块,该模块通过运用经过充分训练的sql注入检测模型,对新输入的sql请求数据进行分析,判断新的sql请求是否存在sql注入攻击行为。
17、进一步地,特征提取模块中,特征提取时,计算每个特征xi与目标变量之间的信息其中,p(xi,y)是xi与y同时取值xi和y的概率,p(xi)和p(y)分别是xi和y的边缘概率。
18、进一步地,朴素贝叶斯分类模型构建模块中,构建朴素贝叶斯分类模型时,对于样本x=(x1,x2,x3,...,xn),其中xi为样本的一个特征,有类别集合y=(y1,y2,y3,...,yn),yi为类别集合中的一个类别,该分类模型会从训练集中学习到的样本的特征xi在类别yi下的条件概率,得到集合c1={(xi,p(x|yi))|1≤i≤n,1≤j≤m};朴素贝叶斯分类器按以下步骤对输入集x进行分类:
19、3.1对x=(x1,x2,x3,...,xn),计算条件概率集合c2={p(yi|x)|1≤j≤m},得到
20、3.2计算
21、3.3计算其中,ni为类别y在训练集中的样本数量,n为训练集中的总样本数量,|i|为类别总数,α为平滑参数;
22、3.4计算得到集合c2中的最大值其中1≤k≤m,yk为样本x所属的类别。
23、本专利技术使用朴素贝叶斯分类器对数据进行训练,训练过程中,根据已知的标签数据,让模型学习如何区分正常的sql查询和潜在的sql注入攻击。完成训练后,利用训练得到的数据集生成sql注入检测模型;通过及时准确预测,该模型能够主动采取必要的安全措施,保障数据库免受潜在威胁的侵害,从而提高整体系统的安全性。这种方法不仅能够防范sql注入攻击,还具有主动性和实时性,为系统安全性的维护提供了强有力的支持。此外,根据计算得到的互信息值,对特征进行排序,以确定哪些特征与目标变量关联性较高。根据排序结果,可以识别出与sql注入攻击相关性较高的特征。最后,设定一个阈值,确定选择的特征数量,选择与目标变量相关性较高的特征,形成新的特征集合。这种基于互信息值排序的特征选择方法有助于提高模型的精确性和效率,从而增强了对sql注入攻击的检测和预防能力。
24、本专利技术又提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行上述任一项方法。
25、本专利技术又提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行上述任一项方法。
26、本专利技术采用互信息法进行特征选择,利用互信息度量特征与目标变量(正常或注入攻击)之间的关联性,确定哪些特征对于检测sql注入攻击最为关键。根据选定的特征选择朴素贝叶斯分类器作为分类模型,通过大量数据集,模型学习如何区分正常的sql查询和潜在的sql注入攻击,最后实现对输入的sql语句进行分类,判断新的sql请求是否存在sql注入攻击行为。采用本发本文档来自技高网...
【技术保护点】
1.一种基于互信息法特征选择的SQL注入攻击检测方法,利用互信息度量特征与目标变量(正常或注入攻击)之间的关联性,确定哪些特征对于检测SQL注入攻击最为关键;根据选定的特征训练与优化SQL注入检测模型;针对新的SQL请求数据,通过训练好的模型进行预测,判断新的SQL请求是否存在SQL注入攻击行为,其特征在于:该方法具体步骤为:
2.如权利要求1所述的一种基于互信息法特征选择的SQL注入攻击检测方法,其特征在于:步骤(2)中,特征提取时,计算每个特征Xi与目标变量之间的信息其中,p(xi,y)是Xi与Y同时取值xi和y的概率,p(xi)和p(y)分别是Xi和Y的边缘概率。
3.如权利要求1所述的一种基于互信息法特征选择的SQL注入攻击检测方法,其特征在于:步骤(3)中,构建朴素贝叶斯分类模型时,对于样本x=(x1,x2,x3,...,xn),其中xi为样本的一个特征,有类别集合y=(y1,y2,y3,...,yn),yi为类别集合中的一个类别,该分类模型会从训练集中学习到的样本的特征xi在类别yi下的条件概率,得到集合C1={(xi,p(x|yi))|1≤i
4.一种基于互信息法特征选择的SQL注入攻击检测系统,其特征在于:该系统包括:
5.如权利要求4所述的一种基于互信息法特征选择的SQL注入攻击检测系统,其特征在于:特征提取模块中,特征提取时,计算每个特征Xi与目标变量之间的信息其中,p(xi,y)是Xi与Y同时取值xi和y的概率,p(xi)和p(y)分别是Xi和Y的边缘概率。
6.如权利要求4所述的一种基于互信息法特征选择的SQL注入攻击检测系统,其特征在于:朴素贝叶斯分类模型构建模块中,构建朴素贝叶斯分类模型时,对于样本x=(x1,x2,x3,...,xn),其中xi为样本的一个特征,有类别集合y=(y1,y2,y3,...,yn),yi为类别集合中的一个类别,该分类模型会从训练集中学习到的样本的特征xi在类别yi下的条件概率,得到集合C1={(xi,p(x|yi))|1≤i≤n,1≤j≤m};朴素贝叶斯分类器按以下步骤对输入集x进行分类:
7.一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行上述1-3任一项方法。
8.一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行上述1-3任一项方法。
...【技术特征摘要】
1.一种基于互信息法特征选择的sql注入攻击检测方法,利用互信息度量特征与目标变量(正常或注入攻击)之间的关联性,确定哪些特征对于检测sql注入攻击最为关键;根据选定的特征训练与优化sql注入检测模型;针对新的sql请求数据,通过训练好的模型进行预测,判断新的sql请求是否存在sql注入攻击行为,其特征在于:该方法具体步骤为:
2.如权利要求1所述的一种基于互信息法特征选择的sql注入攻击检测方法,其特征在于:步骤(2)中,特征提取时,计算每个特征xi与目标变量之间的信息其中,p(xi,y)是xi与y同时取值xi和y的概率,p(xi)和p(y)分别是xi和y的边缘概率。
3.如权利要求1所述的一种基于互信息法特征选择的sql注入攻击检测方法,其特征在于:步骤(3)中,构建朴素贝叶斯分类模型时,对于样本x=(x1,x2,x3,...,xn),其中xi为样本的一个特征,有类别集合y=(y1,y2,y3,...,yn),yi为类别集合中的一个类别,该分类模型会从训练集中学习到的样本的特征xi在类别yi下的条件概率,得到集合c1={(xi,p(x|yi))|1≤i≤n,1≤j≤m};朴素贝叶斯分类器按以下步骤对输入集x进行分类:
4.一种基于互信息法特征选择的sql注入攻击检测系统...
【专利技术属性】
技术研发人员:陈传凯,王伟斌,刘宁,
申请(专利权)人:北京新数科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。