iso file download
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111196321.X (22)申请日 2021.10.14 (71)申请人 北京华清信安科技有限公司 地址 100043 北京市石景山区实兴东 街11 号1楼1306室 (72)发明人 田新远  (74)专利代理 机构 北京汇智胜知识产权代理事 务所(普通 合伙) 11346 代理人 赵立军 (51)Int.Cl. G06F 21/55(2013.01) G06F 16/2458(2019.01) G06F 16/28(2019.01) G06F 16/955(2019.01) G06K 9/62(2006.01)G06N 20/00(2019.01) (54)发明名称 基于机器学习的SQ L注入攻击 检测方法 (57)摘要 本发明公开了一种基于机器学习的SQL注入 攻击检测方法, 其包括以下步骤: 步骤一, 获取标 注数据、 原始请求数据清洗及预处理; 步骤二, 分 别针对请求数据的不同部分进行特征提取, 其 中, 提取的特征包括: 频繁项 集的权重; 所述频繁 项通过FP ‑growth算法挖掘SQL注入数据中的频 繁项集所得; 步骤三, 将步骤二获得的特征向量 进行拼接, 得到整条数据的特征向量; 步骤四, 建 立SVM检测模型; 将整条数据的特征向量输入SV M 检测模型中训练; 步骤五, 将待测请求数据的特 征向量输入到训练好的SVM检测模型, 辅以白名 单, 判断待测请求数据是否为SQL注入攻击数据。 本发明有效且快速检测出SQL注入攻击, 防御恶 意攻击, 保护系统安全。 权利要求书2页 说明书5页 附图1页 CN 113886815 A 2022.01.04 CN 113886815 A 1.基于机器学习的SQ L注入攻击检测方法, 其特 征在于, 包括以下步骤: 步骤一, 获取足量的标注数据和对原 始请求数据清洗及预处 理; 步骤二, 特征提取, 分别针对请求数据的不同部分进行特征提取, 根据 经验构造特征向 量; 其中, 提取的特征包括: 频繁项集的权重; 所述频繁项集通过FP ‑growth算法挖掘SQL注 入数据中的频繁项集所 得; 步骤三, 将步骤二获得的特 征向量进行拼接, 得到整条 数据的特 征向量; 步骤四, 采用5折交叉验证和网格搜索方法, 输出SVM模型的惩罚因子C和核函数类型的 最佳组合, 并以得到的C和核函数类型来训练SVM模型, 建立SVM检测模型; 将步骤三获得的 整条数据的特 征向量输入到SVM检测模型中进行训练; 步骤五, 将待测请求数据的特征向量输入到训练好的SVM检测模型, 进行预测, 判断待 测请求数据是否为SQ L注入攻击数据。 2.如权利要求1所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤 五还包括: 制作白名单: 基于业务类型, 将含有SQL注入数据特征的该业务的正常请求数据 制成白名单 数据库。 3.如权利要求2所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤 五还包括: 在SVM检测模型进行预测后, 还需与所述白名单数据库进行匹配, 过滤正常的请 求数据。 4.如权利要求1所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤 二中, 所述步骤二中的请求数据的不同部分包括: url、 request _body、 request_met hod以及 user‑agent。 5.如权利要求4所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤 二中的针对请求数据的不同部分进行 特征提取具体为: 步骤2.1user ‑agent提取特征: 特殊字符个数、 是否含有 “.exe”、 总长度、 熵值、 频繁项 集、 sql注入高危词个数和普危词个数, 其中sql注入危险词通过 经验总结和聚类方法获得; 步骤2.2对url提取特征: 特殊字符个数、 是否含有 “.exe”、 总长度、 熵值、 频繁项集、 sql 注入高危词个数、 普危词个数、 路径深度、 “.”的个数、 参数个数、 最长参数长度、 数字占比、 字母占比、 连续数字的最大长度、 是否存在ip和最长参数占比; 步骤2.3对request_body提取特征: 特殊字符个数、 是否含有 “.exe”、 总长度、 熵值、 频 繁项集、 sql注入高危词个数和普危词个数; 步骤2.4对request_method通过字典映射进行 数值转换。 6.如权利要求1所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤 一中, 获取足量标注数据具体为: 人工标注小部分特征明显的数据集, 再通过余弦相似度计 算, 取得所有相似度超过90%的数据, 将其统一标注。 7.如权利要求1所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤 一中, 原始请求数据 清洗及预处理具体为: 将收集的原始请求数据进 行常规去重操作, 再进 行解码、 缺失值 填充和分词的预处 理操作。 8.如权利要求1所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤 四中, SVM模型的惩罚因子 C=10, 核函数类型为线性核函数。 9.如权利要求1所述的基于机器学习的SQL注入攻击检测方法, 其特征在于, 所述步骤权 利 要 求 书 1/2 页 2 CN 113886815 A 2三中还包括: 为缩小特 征值域范围, 使用StandardScaler将特 征向量的各个值进行缩放。权 利 要 求 书 2/2 页 3 CN 113886815 A 3

.PDF文档 专利 基于机器学习的SQL注入攻击检测方法

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于机器学习的SQL注入攻击检测方法 第 1 页 专利 基于机器学习的SQL注入攻击检测方法 第 2 页 专利 基于机器学习的SQL注入攻击检测方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-19 02:01:56上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。