基于SQL模板的数据库访问控制方法及系统技术方案

技术编号:17008329 阅读:37 留言:0更新日期:2018-01-11 04:23
本发明专利技术实施例提供了基于SQL模板的数据库访问控制方法及系统,用于提高SQL语句安全检测的效率。本发明专利技术实施例方法包括:获取用户设置的具有安全风险的结构化查询语言SQL语句;将所述具有安全风险的SQL语句按照预置规则模板化,形成黑名单模板,并存储在黑名单模板库中,所述黑名单模板库中包括至少一个所述黑名单模板;将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;若所述目标模板存在于所述黑名单模板库中,则判定所述目标SQL语句为风险语句。

【技术实现步骤摘要】
基于SQL模板的数据库访问控制方法及系统
本专利技术涉及数据安全领域,尤其涉及基于SQL模板的数据库访问控制方法及系统。
技术介绍
数据库作为非常重要的存储工具,里面往往会存放着大量有价值或敏感信息,这些信息包括金融财政、知识产权、企业数据等方方面面的内容,网络黑客们会利用各种途径来获取他们想要的信息。因此,保证数据库安全变得尤为重要。网络黑客们获取信息的手段有很多,如结构化查询语言SQL注入,会利用网站搭建的漏洞,构造一些特殊的SQL语句,非法获取信息。每一种危险行为,都会对应一种SQL特征。现有技术中,通过对SQL特征的识别,识别出危险行为。具体的,首先识别出每个SQL语句中的关键字、表名、字段值、数据库类型信息、操作类型信息等作为SQL特征,然后采用预置规则插件对这些信息进行匹配,匹配成功的插件会将对应的SQL语句判定为危险语句并执行相应的操作。现有技术通过检测SQL语句中的特征信息识别出对应的危险特征,需要解析出当前SQL语句中的关键字、表名、字段值、数据库类型信息、操作类型信息等,解析的项目相对较多,解析之后需要多个检测插件逐一匹配,步骤繁琐,导致检测效率低。其次,针对每一种危险语句,构建一种检测规则插件,用于检测识别与危险语句相同或类似的SQL语句,并依次运行不同的安全规则分别对每一句SQL语句进行解析和识别,当需要运行的安全规则插件较多时,每个安全规则插件都需要对所有的SQL语句进行解析和识别,重复解析SQL语句会使检测效率进一步降低。
技术实现思路
本专利技术实施例提供了基于SQL模板的数据库访问控制方法及系统,用于提高SQL语句安全检测的效率。本专利技术实施例第一方面提供了一种基于SQL模板的数据库访问控制方法,可包括:获取用户设置的具有安全风险的结构化查询语言SQL语句;将所述具有安全风险的SQL语句按照预置规则模板化,形成黑名单模板,并存储在黑名单模板库中,所述黑名单模板库中包括至少一个所述黑名单模板;将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;若所述目标模板存在于所述黑名单模板库中,则判定所述目标SQL语句为风险语句。结合第一方面,在第一方面的第一种可能的实施方式中,所述将所述具有安全风险的SQL语句按照预置规则模板化,形成黑名单模板,包括:去除所述具有安全风险的SQL语句中的可变参数,保留剩余部分作为黑名单模板。结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,在判定所述目标SQL语句为风险语句之后,还包括:阻断所述目标SQL语句的执行。本专利技术实施例第二方面提供了一种基于SQL模板的数据库访问控制方法,可包括:获取用户设置的标准SQL语句;将所述标准SQL语句按照预置规则模板化,形成白名单模板,并存储在白名单模板库中,所述白名单模板库中包括至少一个所述白名单模板;将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;若所述目标模板不存在于所述白名单模板库中,则判定所述目标SQL语句为风险语句。结合第二方面,在第二方面的第一种可能的实施方式中,所述将所述标准SQL语句按照预置规则模板化,形成白名单模板,包括:去除所述标准SQL语句中的可变参数,保留剩余部分作为白名单模板。结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,在判定所述目标SQL语句为风险语句之后,还包括:阻断所述目标SQL语句的执行。本专利技术实施例第三方面提供了一种基于SQL模板的数据库访问控制系统,可包括:第一获取模块,用于获取用户设置的具有安全风险的结构化查询语言SQL语句;第一模板模块,用于将所述具有安全风险的SQL语句按照预置规则模板化,形成黑名单模板,并存储在黑名单模板库中,所述黑名单模板库中包括至少一个所述黑名单模板;第二模板模块,用于将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;第一判断模块,用于判断所述目标模板是否存在于所述黑名单模板库中,若所述目标模板存在于所述黑名单模板库中,则判定所述目标SQL语句为风险语句。结合第三方面,在第三方面的第一种可能的实施方式中,所述第一模板模块,包括:第一去除单元,用于去除所述具有安全风险的SQL语句中的可变参数,保留剩余部分作为黑名单模板。结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,该系统还包括:阻断模块,用于阻断所述目标SQL语句的执行。本专利技术实施例第四方面提供了一种基于SQL模板的数据库访问控制系统,其特征在于,包括第二获取模块,用于获取用户设置的标准SQL语句;第三模板模块,用于将所述标准SQL语句按照预置规则模板化,形成白名单模板,并存储在白名单模板库中,所述白名单模板库中包括至少一个所述白名单模板;第四模板模块,用于将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;第二判断模块,用于判断所述目标模板是否存在于所述白名单模板库中,若所述目标模板不存在于所述白名单模板库中,则判定所述目标SQL语句为风险语句。结合第四方面,在第四方面的第一种可能的实施方式中,所述第三模板模块,包括:第二去除单元,用于去除所述标准SQL语句中的可变参数,保留剩余部分作为白名单模板。结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,该系统还包括:阻断模块,用于阻断所述目标SQL语句的执行。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例中,基于SQL模板的数据库访问控制系统可以按照预置规则将用户设置的具有安全风险的结构化查询语言SQL语句或标准SQL语句模板化,形成对应的黑名单模板库及白名单模板库,然后将待检测的目标SQL语句按照预置规则模板化,形成目标模板,若目标模板存在于黑名单模板库中或不存在于白名单模板库中,则判定目标SQL语句为风险语句,相对于现有技术,无需解析每个SQL语句中的关键字、表名、字段值、数据库类型信息、操作类型信息等,解析项目相对较少,提高了检测效率,其次,对于每一个SQL语句只需一次解析模板化,无需重复解析,进一步的提高了检测效率。附图说明图1为本专利技术实施例中基于SQL模板的数据库访问控制方法的一个实施例示意图;图2为本专利技术实施例中基于SQL模板的数据库访问控制方法的另一个实施例示意图;图3为本专利技术实施例中基于SQL模板的数据库访问控制系统的一个实施例示意图;图4为本专利技术实施例中基于SQL模板的数据库访问控制系统的另一个实施例示意图。具体实施方式本专利技术实施例提供了基于SQL模板的数据库访问控制方法及系统,用于提高SQL语句安全检测的效率。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实本文档来自技高网
...
基于SQL模板的数据库访问控制方法及系统

【技术保护点】
一种基于SQL模板的数据库访问控制方法,其特征在于,包括:获取用户设置的具有安全风险的结构化查询语言SQL语句;将所述具有安全风险的SQL语句按照预置规则模板化,形成黑名单模板,并存储在黑名单模板库中,所述黑名单模板库中包括至少一个所述黑名单模板;将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;若所述目标模板存在于所述黑名单模板库中,则判定所述目标SQL语句为风险语句。

【技术特征摘要】
1.一种基于SQL模板的数据库访问控制方法,其特征在于,包括:获取用户设置的具有安全风险的结构化查询语言SQL语句;将所述具有安全风险的SQL语句按照预置规则模板化,形成黑名单模板,并存储在黑名单模板库中,所述黑名单模板库中包括至少一个所述黑名单模板;将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;若所述目标模板存在于所述黑名单模板库中,则判定所述目标SQL语句为风险语句。2.根据权利要求1所述的方法,其特征在于,所述将所述具有安全风险的SQL语句按照预置规则模板化,形成黑名单模板,包括:去除所述具有安全风险的SQL语句中的可变参数,保留剩余部分作为黑名单模板。3.根据权利要求2所述的方法,其特征在于,在判定所述目标SQL语句为风险语句之后,还包括:阻断所述目标SQL语句的执行。4.一种基于SQL模板的数据库访问控制方法,其特征在于,包括:获取用户设置的标准SQL语句;将所述标准SQL语句按照预置规则模板化,形成白名单模板,并存储在白名单模板库中,所述白名单模板库中包括至少一个所述白名单模板;将待检测的目标SQL语句按照所述预置规则模板化,形成目标模板;若所述目标模板不存在于所述白名单模板库中,则判定所述目标SQL语句为风险语句。5.根据权利要求4所述的方法,其特征在于,所述将所述标准SQL语句按照预置规则模板化,形成白名单模板,包括:去除所述标准SQL语句中的可变参数,保留剩余部分作为白名单模板。6.根据权利要求5所述的方法,其特征在于,在判定所述目标SQL语句为风险语句之后,还包括:阻断所述目标SQL语句的执行。7.一种基于SQL模板的数据库访问控制系统,其特征在于,包括:第一...

【专利技术属性】
技术研发人员:陆明友
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1