(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111218213.8
(22)申请日 2021.10.20
(71)申请人 中国电子科技 集团公司第三十 研究
所
地址 610000 四川省成 都市高新区创业路6
号
(72)发明人 李航 丁建伟 孙恩博 黎艺泉
陈周国
(74)专利代理 机构 成都九鼎天元知识产权代理
有限公司 51214
代理人 张杰
(51)Int.Cl.
G06F 21/56(2013.01)
G06F 21/55(2013.01)
G06F 21/57(2013.01)G06N 20/00(2019.01)
(54)发明名称
一种基于URL基线偏离度分析的SQL注入检
测方法及装置
(57)摘要
本发明提供一种基于URL基线偏 离度分析的
SQL注入检测方法及装置, 所述方法包括: 构建基
线的步骤; 样本再划分的步骤; 有监督学习的步
骤。 本发明的有益效果是: (1)通过构造基线和样
本再划分, 不仅能提升白样本的纯度, 使对正常
业务的http流量数据的画 像更精确, 同时还能从
业务数据中发现黑样本, 缩小训练样本中的正负
样本比例, 使分类器更加高效快速训练与预测。
同时, 黑样本能不断累积, 具有较强的灵活性。
(2)本发明从多个维度进行特征构造, 刻画较为
全面, 同时黑样本的不断累积, 使得可 以发现新
的SQL注入方式, 具有强大的适应性。
权利要求书1页 说明书6页 附图2页
CN 113946823 A
2022.01.18
CN 113946823 A
1.一种基于URL基线偏离度分析的SQ L注入检测方法, 其特 征在于, 包括:
构建基线的步骤;
样本再划分的步骤;
有监督学习的步骤; 其中, 在有监 督学习的步骤中进行多维度特 征构造。
2.根据权利 要求1所述的基于URL基线偏离度分析的SQL注入检测方法, 其特征在于, 所
述构建基线的步骤 包括:
获取正常业 务的http流量数据;
以http请求中的host和cgi作为主键, 对此主键下的正常业务的http流量数据进行分
析, 以head、 param以及co ntent进行泛华, 统计相关内容, 构建基线。
3.根据权利 要求2所述的基于URL基线偏离度分析的SQL注入检测方法, 其特征在于, 所
述样本再划分的步骤 包括:
获取SQL注入的ht tp流量数据;
计算SQL注入的http流量数据与基线的偏离程度, 综合考虑精确率和召回率, 以F1值作
为偏离程度取值的评价标准, 将F1值得分最高的偏离程度即为样本划分标准;
根据样本划分标准对输入的正常业务的http流量数据以及SQL注入的http流量数据进
行再次选择, 选择 出标准的白样本并增 加黑样本 。
4.根据权利 要求3所述的基于URL基线偏离度分析的SQL注入检测方法, 其特征在于, 所
述有监督学习的步骤 包括:
在进行样本再划分后, 将得到的白样本和黑样本进行多维度特 征构造;
将完成多维度特征构造后的白样本和黑样本作为训练样本输入分类器中进行有监督
训练;
将待预测样本 输入训练好的分类 器中得到预测白样本和预测黑样本 。
5.根据权利 要求4所述的基于URL基线偏离度分析的SQL注入检测方法, 其特征在于, 所
述有监督学习的步骤 还包括:
将预测黑样本作为已知黑样本添加到训练样本 中, 再将训练样本输入分类器中进行有
监督训练。
6.根据权利 要求1所述的基于URL基线偏离度分析的SQL注入检测方法, 其特征在于, 所
述分类器为XGbo ost模型。
7.一种基于URL基线偏离度分析的SQ L注入检测装置, 其特 征在于, 包括:
基线构造模块; 所述基线构造模块用于执 行构建基线的步骤;
样本再划分模块; 所述样本再划分模块用于执 行样本再划分的步骤;
有监督学习模块, 所述有监督学习模块用于执行有监督学习的步骤; 其中, 在有监督学
习的步骤中进行多维度特 征构造。权 利 要 求 书 1/1 页
2
CN 113946823 A
2一种基于URL 基线偏离度分析的SQL 注入检测方 法及装置
技术领域
[0001]本发明涉及SQL注入检测技术领域, 具体而言, 涉及一种基于URL基线偏离度分析
的SQL注入检测方法及装置 。
背景技术
[0002]随着互联 网的快速发展, 针对Web应用的攻击形式也愈 发多样, 非法者可以利用网
络执行各种恶意活动, 如身份窃取、 私密信息窃取、 带宽 资源占用等。 由于Web语 言自身的特
点, 开发人员大多不具有安全编程的经验, 因此大多数的web应用系统都有被SQL注入的可
能性。
[0003]SQL注入攻击是黑客对数据库进行攻击 的常用手段之一, 也是当前信息泄露的主
要途径, 最为流行且危害最大, 一旦攻击成功, 攻击者就可以对控制整个web应用系统对数
据做任何的修改或者是窃取, 破坏力达 到了极致。
[0004]现有的SQ L注入检测技 术主要分为两大类:
[0005](1)传统的校验方式
[0006]A、 检查动态SQL语句: 在安全领域中, 用户的输入都是不可信的, 而动态的SQL语句
与用户输入合用, 极大的提升了SQL注入的可能性。 因此, 在应用程序中大多是使用存储过
程或预编译的SQL, 它们通过将用户的输入作为参数, 而不是命令语句来执行, 一定程度上
可以限制了入侵者的行动。
[0007]B、 校验输入有效性: 对用户输入的内容进行验证, 例如通过验证确 保用户输入的
都是数字, 或者验证输入的内容是否符合 规范, 以及检查是否包 含SQL的关键字。
[0008]C、 检查数据表: 一般情况下, 进行SQL注入漏洞攻击后, 都会在数据库中生成一些
临时表。 因此, 可以通过检查数据库中最近新建表的结构及内容, 从而判断是否曾经发生过
SQL注入漏洞攻击 。
[0009]D、 检查审计日志: S QL注入攻击往往会大量访问某一个页面, 审计日志文件会急剧
增加。 Web Service审计日志中可以查询访问者的IP地址, 请求时间以及访问的文件信息等
等, 通过查看审 计日志文件的大小以及审 计日志文件中的内容, 可以判断是否发生过SQL注
入漏洞攻击事 件以及是否有非法的插 入、 修改、 删除操作等 等。
[0010]E、 权限查看: SQL注入漏洞攻击成功后, 入侵者往往会添加特权用户, 例如:
administrator、 root、 sa等等、 或者开放非法的远程服务以及安装木马后门程序等。 通过查
看用户帐户列表、 远程服务开启情况、 系统最近日期产生的一些文件等信息, 可以判断是否
发生过入侵行为。
[0011](2)基于特 征的检测方式
[0012]A、 正则表达式: 将S QL注入攻击的特征用正则表达式进行概括, 并对注入攻击进行
过。 正则匹配过 滤的方式与关键 字过滤相比,具有更高的识别率和较低的误报率。
[0013]B、 规则集过滤: 根据SQL注入攻击的特征制定SQL注入攻击的特征规则集, 从而过
滤用户的输入来抵挡SQ L注入攻击 。说 明 书 1/6 页
3
CN 113946823 A
3
专利 一种基于URL基线偏离度分析的SQL注入检测方法及装置
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-19 01:59:12上传分享