[发明专利]一种基于CNN和海量日志的SQL注入识别方法在审
| 申请号: | 201811473916.3 | 申请日: | 2018-12-04 |
| 公开(公告)号: | CN109670307A | 公开(公告)日: | 2019-04-23 |
| 发明(设计)人: | 谢鑫;邓金城 | 申请(专利权)人: | 成都知道创宇信息技术有限公司 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57;G06F16/242;G06F16/955 |
| 代理公司: | 成都信博专利代理有限责任公司 51200 | 代理人: | 王沙沙 |
| 地址: | 610000 四川省成*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 海量日志 预处理 查询参数 查询语句 实时检测 网站日志 自动提取 漏报率 误报率 网络 攻击 检测 记录 | ||
本发明提供一种基于CNN和海量日志的SQL注入识别方法,包括以下步骤:步骤1:从网站日志中提取URL访问记录,提取URL中的查询参数部分;步骤2:对步骤1中提取的数据进行预处理;步骤3:搭建CNN网络,根据步骤2得到的数据对CNN网络进行训练,得到CNN模型;步骤4:根据步骤3得到的模型进行实时检测基于查询语句的SQL注入攻击;本发明能自动提取SQL注入的隐藏共有特征,对SQL注入检测效果好,速度快,漏报率和误报率低。
技术领域
本发明涉及SQL注入识别方法,具体涉及一种基于CNN和海量日志的SQL注入识别方法。
背景技术
SQL注入形式多样,不可避免的出现新的方法绕过传统检测;现有检测方法主要包括支持向量机(SVM),正则匹配、决策树、朴素贝叶斯方法等;其中正则匹配应用广泛,效果较好;但是SQL注入形式多样,不可避免的出现新的方法绕过正则匹配技术,同时由于基于现有规则,很难识别新的攻击;传统的机器学习技术(SVM、朴素贝叶斯和决策树等统计学习方法)需要人为的给出特征,不易得到其最好的特征且不能判断其是否是最好特征以及不易判断是否有更好的特征,造成识别准确率不高,容易出现大量误报漏报。
发明内容
本发明提供一种可提取SQL注入的隐藏共有特征,识别出绕过正则的SQL注入攻击流量的基于CNN和海量日志的SQL注入识别方法。
本发明采用的技术方案是:一种基于CNN和海量日志的SQL注入识别方法,包括以下步骤:
步骤1:从网站日志中提取URL访问记录,提取URL中的查询参数部分;
步骤2:对步骤1中提取的数据进行预处理;
步骤3:搭建CNN网络,根据步骤2得到的数据对CNN网络进行训练,得到CNN模型;
步骤4:根据步骤3得到的模型进行实时检测基于查询语句的SQL注入攻击。
进一步的,所述步骤1中提取的URL访问记录为网站日志中已标记好的具有查询语句且请求方法为GET的URL访问记录。
进一步的,所述步骤1中提取URL中的查询参数部分之后还需要对样本进行去重处理。
进一步的,所述步骤2中的预处理包括以下过程:
S1:统计每条样本的平均长度,即字符数量;
S2:对样本进行词向量化训练,得到词向量化模型;
S3:根据步骤2中的模型对样本进行向量化,每个样本均转化为一个二维矩阵;
S4:将步骤3得到的二维矩阵转化为指定大小矩阵。
进一步的,所述步骤3具体过程如下:
S11:将正负样本打乱,一部分样本作为训练集,剩余的作为测试集;
S12:搭建CNN网络进行训练;
S13:通过验证集对步骤S12得到的模型进行测试,若误差满足预设要求则停止,否则调整CNN网络参数后继续进行训练。
本发明的有益效果是:
(1)本发明能自动提取SQL注入的隐藏共有特征,识别出绕过正则的SQL注入攻击流量,且速度快;
(2)本发明基于单个字符进行向量化,词量较少,可保留query语句所有信息,可降低训练难度和训练成本。
附图说明
图1为本发明流程示意图。
图2为本发明实施例中ROC曲线。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都知道创宇信息技术有限公司,未经成都知道创宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811473916.3/2.html,转载请声明来源钻瓜专利网。





