申请/专利权人:中山大学;国网江苏省电力有限公司
申请日:2022-04-25
公开(公告)日:2024-04-19
公开(公告)号:CN114936369B
主分类号:G06F21/56
分类号:G06F21/56;G06F21/55;G06F16/22;G06F16/242
优先权:
专利状态码:有效-授权
法律状态:2024.04.19#授权;2022.09.09#实质审查的生效;2022.08.23#公开
摘要:本发明涉及网络安全技术领域,为基于标记的SQL注入攻击主动防御方法、系统及存储介质。其方法包括:将源代码转换为抽象语法树,定义不可信变量;对抽象语法树中的变量自上至下逐行进行分析,分析所有变量的赋值引用关系,构建变量依赖关系,定位源代码中的所有不可信变量;对抽象语法树进行分析,判断数据库参数是否可信,判断SQL语句是否含有不可信变量;若SQL语句含有不可信变量,则对源代码进行修改,标记不可信变量;在数据库函数中加入对不可信变量过滤处理的代码;运行修改后的源代码,对数据库函数进行动态库拦截,识别出不可信输入的字符串部分,对不可信输入的字符串部分的检查和过滤,实现SQL注入攻击语句的运行失效。
主权项:1.基于标记的SQL注入攻击主动防御方法,其特征在于,包括以下步骤:将源代码转换为抽象语法树,并定义一系列不可信变量,构建不可信变量列表;对抽象语法树中的变量自上至下逐行进行分析,分析抽象语法树中所有变量的赋值引用关系,构建变量依赖关系,从而定位源代码中的所有不可信变量,并将不可信变量记录在不可信变量列表中;对不可信变量分析完毕后,再次对抽象语法树进行分析,寻找其中的数据库函数,对数据库函数中的参数进行分析,判断参数是否可信,进而判断SQL语句是否含有不可信变量;若SQL语句含有不可信变量,则对源代码进行修改,标记数据库函数参数中的不可信变量;对源代码修改完毕后,重新编写数据库函数,在数据库函数中加入对不可信变量过滤处理的代码;当运行修改后的源代码时,对数据库函数进行动态库拦截,根据标记识别出SQL语句中来自不可信输入的字符串部分,并根据设定的过滤策略对不可信输入的字符串部分的检查和过滤,实现SQL注入攻击语句的运行失效。
全文数据:
权利要求:
百度查询: 中山大学;国网江苏省电力有限公司 基于标记的SQL注入攻击主动防御方法、系统及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。