(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111551916.2
(22)申请日 2021.12.17
(71)申请人 深圳萨摩耶数字科技有限公司
地址 518049 广东省深圳市福田区梅林街
道梅都社区中康路136号深圳新一代
产业园5栋1501
(72)发明人 林建明 戈登
(74)专利代理 机构 上海大邦律师事务所 31252
代理人 王松
(51)Int.Cl.
G06F 21/56(2013.01)
H04L 9/40(2022.01)
G06F 16/951(2019.01)
G06F 16/955(2019.01)
(54)发明名称
跨站脚本漏洞攻击 检测方法及系统
(57)摘要
本发明揭示了一种跨站脚本漏洞攻击检测
方法及系统, 所述跨站脚本漏洞攻击检测系统包
括: URL提取模块、 URL过滤模块、 分组归类模块、
攻击字典库建立模块、 模拟请求发送模块、 数学
模型建立模块及漏洞判断模块。 本发 明提出的跨
站脚本漏洞攻击检测方法及系统, 通过对攻击风
险列表进行建模, 使用GBDT及LR结合的算法模
型, 最终只需要输出一组参数 ‑攻击指令(攻击向
量), 对请求进行模拟攻击, 可大幅缩短检测XSS
漏洞的时间; 本发明还可以提高XSS漏洞检测精
确度。
权利要求书3页 说明书8页 附图4页
CN 114329466 A
2022.04.12
CN 114329466 A
1.一种跨站脚本漏洞攻击检测方法, 其特征在于, 所述跨站脚本漏洞攻击检测方法包
括:
步骤S1、 通过爬虫技术获取到所有Web页 面的源码, 利用广度优先算法从中提取出URL,
将解析出来的URL放入visited表中, 循环往复; 每次抓取的URL与visited表中的URL进行比
较, 从而过 滤掉重复的URL以及无效的URL;
步骤S2、 从所有有效 的URL中提取出请求参数及参数值, 包括 get请求和post请求, 将参
数去重后分组归类, 持久化到数据库中;
步骤S3、 建立XSS攻击字典库, 将ow asp收录的以及历史上XSS攻击出现新型的攻击脚本
命令以列表的形式保存至数据库, 建立XS S攻击字典库;
步骤S4、 替换步骤S2中所有的参数值为XSS攻击字典库中对应的脚本命令, 发送模拟请
求到目标服务器, 并接收返回的响应请求; 如果返回的响应请求中含有攻击脚本内容, 就将
对应的参数名以及攻击脚本加载到攻击风险列表中;
步骤S5、 对攻击风险列表中的参数名 ‑攻击脚本进行建模, 使用GBDT模型及LR模型形成
的复合模 型, 先利用GBDT模 型自动进行特征筛选和组合, 得到离散特征向量, 再把该特征向
量作为LR模型的输入, 最 终输出攻击成功 率最高的一对参数名 ‑攻击脚本, 加载到攻击向量
特征库中;
步骤S6、 根据攻击向量特征库中最优的一组攻击向量, 替换待测 请求中对应的参数值,
发送HTTP请求到被检测的站点, 被测站点会返回一个HTTP响应, 根据返回信息判断是否存
在XSS攻击漏洞。
2.根据权利要求1所述的跨站脚本漏洞攻击检测方法, 其特 征在于:
步骤S5的数据建模步骤中, 具体包括:
步骤S51、 解析输入端请求中包含的请求信息, 包括请求URL、 请求方式、 请求头、 请求
体, 将参数和对应请求类型解析入库保存;
步骤S52、 加载 XSS攻击字典列表;
步骤S53、 替换被测URL参数值为攻击字典列表中的攻击脚本, 如果攻击成功, 记录对应
的参数名和攻击脚本至攻击风险列 表中; 循环模拟攻击, 生成大量注入点对应的参数 ‑特征
指令对, 进行深度学习, 智能获取到有共同标签的任务;
步骤S54、 建立推荐算法模型, 对攻击风险列表中参数 ‑攻击脚本簇进行建模, 利用GBDT
算法模型自动进行特征筛选和组合, 从而生成新的离散特征向量, 再把特征向量作为输入
传送至LR模型, 来产生 最为全面的推荐结果, 即得到最优的参数 ‑攻击向量;
步骤S55、 当XSS攻击字典列表样本数据变更后, 会重新对攻击风险列表进行建模。
3.根据权利要求1所述的跨站脚本漏洞攻击检测方法, 其特 征在于:
所述步骤S5包括:
步骤S501、 对攻击成功的设定脚本进行 特征切割;
步骤S502、 训练GBDT特征模型, 所述GBDT特征模型由多棵树组成, 根据脚本的标签、 属
性、 事件进 行根节点和叶子结点拆分, 对于每个叶子节点, 回溯到根节点能得到一组组合特
征;
步骤S503、 用叶子节点的标号标识一个新的组合特征, 若从最后一个节点回溯到根节
点的特征能够构成攻击向量样本, 则该样本取值 为1, 构成失败则取值 为0;权 利 要 求 书 1/3 页
2
CN 114329466 A
2步骤S504、 迭代决策树产生 一批特征向量;
步骤S505、 将步骤S5 04得到的特 征向量输入LR模型训练, 输出最终的特 征攻击指令 。
4.根据权利要求1所述的跨站脚本漏洞攻击检测方法, 其特 征在于:
所述跨站脚本漏洞攻击检测方法进一步包括: 对于输入端的每个请求, 都用攻击字典
列表中的脚本指令去 遍历URL每一个参数名, 进行盲测, 延长XS S漏洞检测的时间。
5.一种跨站脚本漏洞攻击检测系统, 其特征在于, 所述跨站脚本漏洞攻击检测系统包
括:
URL提取模块, 用以通过爬虫技术获取到所有Web页面的源码, 利用广度优先算法从中
提取出URL, 将解析 出来的URL 放入visited表中, 循环往复;
URL过滤模块, 用以将每次抓取的URL与visited表中的URL进行比较, 从而过滤掉重复
的URL以及无效的URL;
分组归类模块, 用以从所有有效的URL中提取出请求参数及参数值, 包括get请求和
post请求, 将参数去重后分组归类, 持久化到数据库中;
攻击字典库建立模块, 用以建立XSS攻击字典库; 将owasp收录的以及历史上XSS攻击出
现新型的攻击脚本命令以列表的形式保存至数据库, 建立XS S攻击字典库;
模拟请求发送模块, 用以替换有效URL中提取出请求的参数值为XSS攻击字典库中对应
的脚本命令, 发送模拟请求到目标服务器, 并接收返回的响应请求; 如果返回的响应请求中
含有攻击脚本内容, 就将对应的参数名以及攻击脚本加载到攻击风险列表中;
数学模型建立模块, 用以对攻击风险列表中的参数名 ‑攻击脚本进行建模, 使用GBDT模
型及LR模型形成的复合模 型; 利用GBDT模 型自动进行特征筛选和组合, 得到离散特征向量;
把该特征向量作为L R模型的输入, 最 终输出攻击成功 率最高的一对参数名 ‑攻击脚本, 加载
到攻击向量特 征库中;
漏洞判断模块, 用以根据攻击向量特征库中最优的一组攻击向量, 替换待测请求中对
应的参数值, 发送HTTP请求到被检测的站点, 被测站 点会返回一个HTTP响应, 根据返回信息
判断是否存在XS S攻击漏洞。
6.根据权利要求5所述的跨站脚本漏洞攻击检测系统, 其特 征在于:
所述数学模型建立模块具体包括:
请求信息解析单元, 用以解析输入端请求中包含的请求信息, 包括请求URL、 请求方式、
请求头、 请求体, 将参数和对应请求类型解析入库保存;
攻击字典列表加载 单元, 用以加载 XSS攻击字典列表;
攻击脚本替换单元, 用以替换被测URL参数值为攻击字典列表中的攻击脚本, 如果攻击
成功, 记录对应的参数名和攻击脚本至攻击风险列表中; 循环模拟攻击, 生 成大量注入点对
应的参数 ‑特征指令对, 进行深度学习, 智能获取到有共同标签的任务;
推荐算法模型建立单元, 用以建立推荐算法模型, 对攻击风险列表中参数 ‑攻击脚本簇
进行建模, 利用GBDT算法模 型自动进行特征筛选和组合, 从而生 成新的离散特征向量, 再把
特征向量作为输入传送至L R模型, 来产生最为全面的推荐 结果, 即得到最优的参数 ‑攻击向
量;
数学模型重建单元, 用以当XSS攻击字典列表样本数据变更后, 会重新对攻击风险列表
进行建模。权 利 要 求 书 2/3 页
3
CN 114329466 A
3
专利 跨站脚本漏洞攻击检测方法及系统
文档预览
中文文档
16 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 23:36:44上传分享