The embodiment of the invention provides a method and system for detecting SQL statements, which is used for detecting and defending the database security vulnerabilities quickly and efficiently. The embodiment of the method includes: parsing module query feature information extraction for each statement in the SQL statement from the structured language to be detected; safety rules for loading the configuration file, according to the corresponding safety rules in the configuration file of the feature information matching, and according to the safety regulations, safety regulations, successful results to determine the corresponding ID the safety rules, corresponding to at least one of the ID security rules; strategy matching module statistics successfully matched the safety rules of ID, and implement the preset security policy security rules corresponding to the ID.
【技术实现步骤摘要】
一种SQL语句检测方法及系统
本专利技术涉及数据安全领域,尤其涉及一种SQL语句检测方法及系统。
技术介绍
数据库作为非常重要的存储工具,里面往往会存放着大量有价值或敏感信息,这些信息包括金融财政、知识产权、企业数据等方方面面的内容,网络黑客们会利用各种途径来获取他们想要的信息。因此,保证数据库安全变得尤为重要。网络黑客们获取信息的手段有很多,如SQL注入,会利用网站搭建的漏洞,构造一些特殊的SQL语句,非法获取信息。每一种危险行为,都会对应一种SQL特征。现有技术中,通过对SQL特征的识别,识别出危险行为。例如,select*fromaintooutfile"D:/test.txt",可以将数据表a中的数据导出到"D:/test.txt"中,造成数据泄露。而导出命令intooutfile和字段值"D:/test.txt"则是这种危险行为的SQL特征信息。现有技术通过检测SQL语句中的特征信息识别出对应的危险特征,分析出当前SQL语句是否具有危险。针对每一种危险语句,构建一种检测规则即安全规则,用于检测识别与危险语句相同或类似的SQL语句,并依次运行不同的安全规则分别对每一句SQL语句进行解析和识别,当安全插件开发完成时,其检测功能即被固化,只能检测与预置危险语句相同或类似的SQL语句,其检测范围无法进行拓展,此外,当需要运行的安全规则插件较多时,每个安全规则插件都需要对所有的SQL语句进行解析和识别,重复解析SQL语句会使检测效率低。如何让安全规则能够高效的检测数据库漏洞,针对攻击手段的变更快速进行检测范围适应性的扩展,则成为研究的关键。
技术实现思路
本专 ...
【技术保护点】
一种SQL语句检测方法,其特征在于,包括:解析模块从待检测的结构化查询语言SQL语句中提取每个语句的特征信息;安全规则插件加载配置文件,根据配置文件中对应的安全规则对所述特征信息进行匹配,并根据匹配结果确定匹配成功的安全规则对应的安全规则ID,所述安全规则对应至少一个所述安全规则ID;策略匹配模块统计匹配成功的所述安全规则ID,并执行所述安全规则ID对应的预置安全策略。
【技术特征摘要】
1.一种SQL语句检测方法,其特征在于,包括:解析模块从待检测的结构化查询语言SQL语句中提取每个语句的特征信息;安全规则插件加载配置文件,根据配置文件中对应的安全规则对所述特征信息进行匹配,并根据匹配结果确定匹配成功的安全规则对应的安全规则ID,所述安全规则对应至少一个所述安全规则ID;策略匹配模块统计匹配成功的所述安全规则ID,并执行所述安全规则ID对应的预置安全策略。2.根据权利要求1中所述的方法,其特征在于,还包括:当检测需求变化时,更新所述配置文件中安全规则,以使得所述安全规则插件匹配新的特征信息,以适应新的检测需求。3.根据权利要求2所述的方法,其特征在于,所述特征信息包括关键字、表名、字段值、数据库类型信息、操作类型信息中的一项或多项。4.根据权利要求3所述的方法,其特征在于,当所述安全规则插件的配置文件配置所述安全规则插件匹配的特征信息为数据库类型、关键字“intooutfile”及字段值时,所述根据匹配结果确定匹配成功的安全规则对应的安全规则ID,包括:所述安全规则插件提取包含关键字“intooutfile”的SQL语句中的目标字段值及数据库的类型;当所述目标字段值为可执行程序的扩展名时,所述安全规则插件确定匹配成功的安全规则对应的安全规则ID为第一ID;当所述目标字段值不是可执行程序的扩展名时,所述安全规则插件确定匹配成功的安全规则对应的安全规则ID为第二ID。5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述执行所述安全规则ID对应的预置安全策略之前,所述方法还包括:检测所述安全规则ID是否在预置的禁用安全规则ID列表中;过滤掉所述预置的禁用安全规则ID列表中的所述安全规则ID。6.根据权利要求5所述的方法,其特征在于,还包括...
【专利技术属性】
技术研发人员:陈诗礼,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。