System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库安全,尤其涉及一种基于语义分析的sql风险检查方法、装置、设备及计算机程序产品。
技术介绍
1、目前,sql风险检查机制较为依赖传统的审计工具和数据库日志,通常通过收集和分析这些工具和日志提供的数据来实施安全审计。这种审计逻辑虽然满足基本的安全需求,但在处理复杂和经过精心设计的sql注入或数据泄露攻击时,实时性和精度方面显得不足。例如,在需要对特定数据库或敏感数据进行精确定位和实时监控时,现有技术无法充分满足这种高精度和实时性的需求。此外,现有技术的sql风险检查系统主要依赖传统的模式匹配和规则检查方法来识别潜在的安全威胁,缺乏利用先进语义分析技术和安全规则设计以及风险评估算法结合的应用。然而,当目标sql语句的结构复杂或含有动态生成的查询时,这种依赖传统方法的审计方式会导致安全风险识别效果无法得到保证,进而影响审计的及时性和准确性。因此,亟需一种当目标sql语句的结构复杂或含有动态生成的查询的复杂情况下,依然能够实现高精度、实时性sql风险检查的方法,以确保数据库的安全。
技术实现思路
1、针对上述存在的技术不足,本专利技术的主要目的在于提供一种基于语义分析的sql风险检查方法、装置、设备及计算机程序产品,旨在解决现有技术中主要依赖于基础规则的模式匹配,在处理复杂的sql语句时,尤其是含有多层嵌套和动态构造的情况下,无法准确识别潜在的安全风险的技术问题。
2、为解决上述技术问题,本专利技术采用如下技术方案:本专利技术提供一种基于语义分析的sql风险
3、优选地,所述方法包括:
4、对输入的sql语句进行干扰信息去除,将去除干扰信息后的sql语句进行标准化处理得到标准化后的sql语句;
5、对标准化后的sql语句进行分解得到token序列,根据所述token序列进行语法解析得到抽象语法树;
6、从所述抽象语法树中提取核心元素进而构建语义向量,根据所述语义向量得到关键语义信息;
7、根据所述关键语义信息得到风险评估结果后记录审计日志。
8、优选地,步骤s40中,关键语义信息得到风险评估结果并记录审计日志的步骤,包括:
9、基于关键语义信息,对预设的数据库操作模式进行数据处理,生成中间数据;
10、对中间数据进行加权分析并计算风险事件概率,根据风险事件概率的计算结果生成风险评估报告。
11、优选地,步骤s40中,关键语义信息得到风险评估结果后记录审计日志的步骤,还包括:
12、基于风险评估结果分类风险事件;
13、根据分类的风险事件定义日志级别,并根据定义的日志级别生成审计日志。
14、优选地,步骤s40之后,还包括:
15、根据所述风险评估结果执行实时拦截;
16、根据所述执行的实时拦截结果更新审计日志。
17、优选地,所述步骤s10中的干扰信息,包括注释内容、空白字符、特殊字符和非语义相关的符号。
18、优选地,根据权利要求1所述的基于语义分析的sql风险检查方法,其特征在于,所述步骤s10中的干扰信息,包括注释内容、空白字符、特殊字符和非语义相关的符号。
19、优选地,所述步骤s30中的核心元素,包括:表名、字段名、操作类型和条件语句。
20、优选地,所述一种基于语义分析的sql风险检查装置包括:
21、干扰信息去除及标准化模块,用于对输入的sql语句进行干扰信息去除,将去除干扰信息后的sql语句进行标准化处理得到标准化后的sql语句;
22、token分解及语法解析模块,用于对标准化后的sql语句进行分解得到token序列,根据所述token序列进行语法解析得到抽象语法树;
23、语义向量构建模块,用于从所述抽象语法树中提取核心元素进而构建语义向量,根据所述语义向量得到关键语义信息;
24、风险评估及审计日志记录模块,用于从所述抽象语法树中提取核心元素进而构建语义向量,根据所述语义向量得到关键语义信息。
25、本专利技术的有益效果在于:相较于传统审计系统中主要依赖于基础规则的模式匹配,在处理复杂的sql语句时,尤其是含有多层嵌套和动态构造的情况下,无法准确识别潜在的安全风险的技术问题,由于本申请通过高效的语义分析技术和安全规则设计以及风险评估算法的结合使用,从而有效避免了安全事件的发生,提高了sql风险检查的准确性和效率,进而保证了数据库的安全。
本文档来自技高网...【技术保护点】
1.一种基于语义分析的SQL风险检查方法,其特征在于,该方法包括以下步骤:
2.如权利要求1所述的基于语义分析的SQL风险检查方法,其特征在于,步骤S40中,根据所述关键语义信息得到风险评估结果并记录审计日志的步骤,包括:
3.如权利要求1所述的基于语义分析的SQL风险检查方法,其特征在于,步骤S40中,根据所述关键语义信息得到风险评估结果后记录审计日志的步骤,还包括:
4.如权利要求1所述的基于语义分析的SQL风险检查方法,其特征在于,步骤S40之后,还包括:
5.如权利要求1所述的基于语义分析的SQL风险检查方法,其特征在于,所述步骤S10中的干扰信息,包括注释内容、空白字符、特殊字符和非语义相关的符号。
6.如权利要求1所述的基于语义分析的SQL风险检查方法,其特征在于,所述步骤S20中的Token序列,包括:关键字标记、操作符标记和文字标记。
7.如权利要求1所述的基于语义分析的SQL风险检查方法,其特征在于,所述步骤S30中的核心元素,包括:表名、字段名、操作类型和条件语句。
8.一种基
9.一种基于语义分析的SQL风险检查设备,其特征在于,所述一种基于语义分析的SQL风险检查设备包括:
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括一种基于语义分析的SQL风险检查程序,所述一种基于语义分析的SQL风险检查程序被处理器执行时实现如权利要求1至7中任一项所述的一种基于语义分析的SQL风险检查方法。
...【技术特征摘要】
1.一种基于语义分析的sql风险检查方法,其特征在于,该方法包括以下步骤:
2.如权利要求1所述的基于语义分析的sql风险检查方法,其特征在于,步骤s40中,根据所述关键语义信息得到风险评估结果并记录审计日志的步骤,包括:
3.如权利要求1所述的基于语义分析的sql风险检查方法,其特征在于,步骤s40中,根据所述关键语义信息得到风险评估结果后记录审计日志的步骤,还包括:
4.如权利要求1所述的基于语义分析的sql风险检查方法,其特征在于,步骤s40之后,还包括:
5.如权利要求1所述的基于语义分析的sql风险检查方法,其特征在于,所述步骤s10中的干扰信息,包括注释内容、空白字符、特殊字符和非语义相关的符号。
6.如权利要求1所述的基于语义分析的sq...
【专利技术属性】
技术研发人员:臧海彬,张城炜,江浩,
申请(专利权)人:江苏新蝶数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。