[发明专利]基于动态克隆选择算法的SQL注入攻击检测方法有效
申请号: | 201810217008.1 | 申请日: | 2018-03-16 |
公开(公告)号: | CN108337268B | 公开(公告)日: | 2019-08-30 |
发明(设计)人: | 兰方鹏;张泽华 | 申请(专利权)人: | 太原理工大学 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 030000 *** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了基于动态克隆选择算法的SQL注入攻击检测方法,步骤是提取客户浏览器端提交的SQL语句,把该SQL语句提交给规则库检测模块进行“SQLIAs”快速模式匹配;将模式匹配失败的语句提交给动态检测模块进行更深层次的检测,在动态检测模块运行之前引入局部离群因子作为适应度函数来优化检测器之间的距离,构造高效检测器识别正常数据和异常数据;运行动态检测模块进行检测;调用克隆选择算法进行学习识别;根据检测结果更新系统模块。解决现有WAF检测性能下降以及无法识别未知特征和各种变形攻击的问题。 | ||
搜索关键词: | 克隆选择算法 检测器 动态检测模块 检测 快速模式匹配 规则库检测 客户浏览器 适应度函数 更新系统 检测结果 检测模块 模式匹配 性能下降 异常数据 运行动态 正常数据 语句 调用 变形 攻击 引入 失败 优化 学习 | ||
【主权项】:
1.基于动态克隆选择算法的SQL注入攻击检测方法,其特征在于,按照以下步骤进行:步骤S1:提取客户浏览器端提交的SQL语句,把该SQL语句提交给规则库检测模块进行“SQLIAs”快速模式匹配,如果匹配成功,表明该语句包含注入攻击代码,系统终止用户提交的请求;步骤S2:将模式匹配失败的语句提交给动态检测模块进行更深层次的检测,在动态检测模块运行之前引入局部离群因子作为适应度函数来优化检测器之间的距离,从而构造高效检测器来识别正常数据和异常数据;步骤S3:运行动态检测模块进行检测,具体过程如下:将检测细胞初始化为记忆检测抗体集合Sm,然后读取从规则库检测模块中提交过来的可疑数据;如果记忆检测抗体集合Sm中的某个抗体的亲和力大于预设的阈值ε,说明该抗体识别数据抗原,这表明该数据是已知的异常数据,然后将该异常数据交给克隆选择算法学习识别;选取加权欧几里得距离来表示亲和力,加权欧几里得距离越小,表明亲和力越高,抗体和抗原之间越“匹配”;加权欧几里得距离见公式(6),其中抗体的坐标用<λ1A1,λ2A2,…,λiAi>表示,抗原的坐标用<λ1g1,λ2g2,…,λigi>表示;
如果记忆检测抗体集合Sm中的所有抗体都不能识别该数据且该数据和所有检测抗体的亲和力都小于预设的阈值ε,说明该数据是正常数据,直接提交给数据库服务器执行;如果记忆检测抗体集合Sm中的所有抗体都不能识别该数据且该数据和检测抗体中的某个抗体的亲和力大于预设的阈值ε,说明该数据是异常数据,然后采用步骤S4的调用克隆选择算法学习识别;步骤S4:调用克隆选择算法进行学习识别,具体过程如下:根据公式(6)计算抗体集中所有抗体和待检测数据之间的亲和力;选择和该异常数据的亲和力大于α的n个抗体进行克隆,假定克隆的总规模数为Nc,则抗体ai的克隆数量为
式中总克隆规模Nc>n,Int(.)为上取整函数,抗体ai的克隆数量qi和抗原亲和力f(ai)成正比;对克隆后的抗体进行变异操作;克隆后的抗体根据公式(8)对n个抗体进行变异:
式中
是初始变异概率;
为抗体ai的变异概率,f(ai)是抗体ai的亲和力,抗体ai的变异概率能够动态调节,且和亲和力f(ai)成反比;随机产生若干个抗体,利用步骤S2构造高效检测器进行自体耐受处理,并将通过自体耐受处理后的抗体和克隆、变异后的抗体共同加入到记忆检测抗体集合Sm中,从而实现免疫算法的二次应答;步骤S5:根据检测结果更新系统模块:将检测出的异常数据直接丢弃,并给出系统异常警告提示,同时为了保持规则库的更新,将异常数据的样本添加到规则库匹配测模块列表中,便于系统下次识别该异常数据。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于太原理工大学,未经太原理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810217008.1/,转载请声明来源钻瓜专利网。