基于多模安全共识的SQL入侵融合检测实现方法及系统装置与流程

文档序号:37165540发布日期:2024-03-01 12:05阅读:12来源:国知局
基于多模安全共识的SQL入侵融合检测实现方法及系统装置与流程

本发明涉及数据库防护,具体涉及基于多模安全共识的sql入侵融合检测实现方法及系统装置。


背景技术:

1、互联网以及自动化注入技术的进步,使得攻击者为了非法获取数据资源或恶意操作数据库而进行的sqlia事件频发,且手段不断演进。通过对比分析开放式web应用程序安全项目(owasp)2021年与2017年研究报告发现,在web应用程序安全风险中,针对于数据库的sql注入类威胁一直保持在前三名。如何在数据存储和处理过程中保障保密性、完整性和可用性,以及保护数据库内容是如今万物互联环境下面临的重要问题。有效检测sqlia是应对数据泄露贩卖、预防缓解数据库安全威胁的关键。大数据、ai和云计算等技术的发展也为有效检测sqlia、降低数据库安全威胁、提高数据库防护能力方面提供了技术支撑和发展机遇。在“结构决定功能、结构决定性能、结构决定效能”的思想下,拟态防御提高了信息系统的安全性。

2、现有基于多模安全共识的sqlia融合检测系统通过对检测方法的异构化,使得系统具有了异构性的内生防御机制,极大增加网络攻击者窃取数据库敏感信息和对数据库内容恶意增删改查的难度,提高了数据库安全防护能力。

3、目前国内外sqlia检测方法纷繁芜杂,如基于流量特征进行分析、基于污点传播思想分析、基于语句的语法语义分析以及基于语句特征进行分析等等。

4、上述检测方法虽能够支持检测多种注入攻击类型,但仍存在检测精度不足、误报率漏报率高、应用适配场景较为单一等问题。如:遍历语法树或序列比对速度慢导致耗时很长,基于流量特征的检测预防方法中定义的阈值不恰当导致检测精度低等,现有的每种方法因理论技术相关限制使得在sqlia检测方面均有欠缺。


技术实现思路

1、本发明要解决的技术问题是:单一检测方法检测准确率不高以及检测类型具有局限性等不足,sql语句与异常模式列表进行模式匹配以检测sqlia所需时间较长,数据库受到篡改等。

2、为了解决上述技术问题,本发明的技术方案提供了一种基于多模安全共识的sql入侵融合检测实现方法,包括以下步骤:

3、步骤1:sql语句过滤及预处理模块获取数据库访问请求,并进行预处理得到sql语句;

4、步骤2:请求封装模块从sql语句中提取出sql指令,将位于sql指令头部的随机分发的请求标识符和sql指令进行封装,得到带有请求标识符的sql封装,并将sql封装存储于队列管理模块中的消息队列;

5、步骤3:分发模块按照消息队列中存储的sql封装顺序,将sql封装传输至输入适配模块,得到适配识别异常sql语句和适配sqlia检测sql语句以及相对应的请求标识符;

6、步骤4:识别异常模块对适配识别异常sql语句和相对应的请求标识符进行识别异常得到识别结果;sqlia检测模块对适配sqlia检测sql语句和相对应的请求标识符进行异常检测得到检测结果;

7、步骤5:将识别结果和检测结果存储于检测结果缓冲队列管理模块,并按请求标识符将sql语句传输至一致性裁决模块进行安全异常识别,得到裁决结果;

8、步骤6:将裁决结果一致,且为正常的sql语句传递给数据库执行引擎,数据库执行引擎解析正常的sql语句,并与数据库交互执行sql指令,数据库将执行结果返回给数据库执行引擎模块,且转发给客户端。

9、优选地,所述步骤6还包括:将裁决结果一致,且为异常的sql语句发送至负反馈模块进行告警并清洗恢复。

10、优选地,所述步骤6还包括:将裁决结果不一致的sql语句转发至检测模块中的模式匹配算法检测模块进行再检测,若为正常结果,将正常结果相对应的sql语句传输至数据库执行引擎。

11、优选地,所述步骤6还包括:将裁决结果不一致的sql语句转发至检测模块中的模式匹配算法检测模块进行再检测,若为异常结果,将异常结果相对应的sql语句传输至负反馈模块进行告警并清洗恢复。

12、优选地,所述预处理包括将数据库访问请求http进行清洗、过滤以及筛选操作。

13、优选地,所述格式处理包括sql语句词法分析、语法分析、构建抽象语法树ast、解码、分词、大小写转换、过滤、泛化。

14、优选地,所述识别异常模块采用基于抽象语法树进行模式、结构特征提取并构造特征向量的训练机器学习模型,用于识别异常;所述sqlia检测模块采用cnn-bilstm-特征自编码器的深度学习模型,实现对sqlia的检测。

15、优选地,所述模式匹配算法检测模块采用aho-corasick多模式匹配算法与静态异常模式列表进行匹配,实现对sqlia语句的再检测。

16、优选地,所述分发模块按照消息队列中存储的sql封装顺序,采用滑动窗口将sql封装顺序发送到输入适配模块。

17、本发明还提供一种基于多模安全共识的sql入侵融合检测实现系统装置,适用于如上述的一种基于多模安全共识的sql入侵融合检测实现方法,包括:

18、sql语句过滤及预处理模块,处理数据库访问请求并获取sql语句;

19、请求封装模块,提取sql语句中的sql指令,分配sql指令相对应的单次服务请求唯一标识,将单次服务请求唯一标识置于sql指令头部并与sql指令进行封装处理,得到sql封装;

20、队列管理模块,接收sql封装并存储在消息队列中,用于将sql封装传输至输入适配模块;接收所述识别结果和所述检测结果及相对应的sql语句,用于发送至一致性裁决模块;

21、分发模块,采用滑动窗口,将队列管理模块中带有请求标识符的sql封装按序分发到输入适配模块;

22、输入适配模块,将sql封装根据识别异常sql语句模块以及进行适配,得到适配识别异常sql语句以及相对应的请求标识符,将sql封装根据sqlia检测模块进行适配,得到适配sqlia检测sql语句以及相对应的请求标识符;

23、检测模块,包括识别异常sql语句模块、sqlia检测模块以及模式匹配算法检测模块,识别异常sql语句模块用于对适配识别异常sql语句以及相对应的请求标识符进行异常识别,得到识别结果;sqlia检测模块用于对适配sqlia检测sql语句以及相对应的请求标识符进行异常sqlia检测,得到检测结果;模式匹配算法检测模块将裁决不一致的sql语句进行再检测;

24、一致性裁决模块,对识别结果和检测结果进行归一化处理并基于安全共识理论选取合适的裁决算法实现对sql语句的安全异常识别表决,并将裁决正常的sql语句传递给数据库执行引擎,将裁决不一致的sql语句转发到模式匹配算法检测模块进行再检测;

25、负反馈模块,将最终裁决为异常的sql语句结果进行报警并清洗恢复;

26、数据库执行引擎,与数据库交互连接,包括jdbc和odbc连接方式,将裁决正常的sql语句传递到数据库访问执行,根据数据库请求在指令执行结束后将执行结果返回给客户端。

27、本发明提出一种基于多模安全共识的sql入侵融合检测实现方法及系统装置,采用拟态安全思想对从用户输入的数据库请求中解析出的sql语句进行安全异常检测,提高注入攻击检测准确率,使系统具有异构性的内生防御机制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1