SQL注入拦截检测方法、装置、设备及计算机可读介质-复审决定


发明创造名称:SQL注入拦截检测方法、装置、设备及计算机可读介质
外观设计名称:
决定号:188788
决定日:2019-09-04
委内编号:1F280755
优先权日:
申请(专利)号:201810274876.3
申请日:2018-03-30
复审请求人:北京百度网讯科技有限公司
无效请求人:
授权公告日:
审定公告日:
专利权人:
主审员:刘斌
合议组组长:武磊
参审员:张巍
国际分类号:H04L29/06
外观设计分类号:
法律依据:专利法第22条第3款
决定要点:权利要求保护的方案与最接近的对比文件相比,其部分区别特征被其他对比文件公开,且该区别特征在该对比文件中所起的作用与其在要求保护的发明中为解决发明实际解决的技术问题所起的作用相同,而其他区别特征为本领域技术人员解决相同技术问题时的惯用技术手段,则通常认为现有技术中存在相应的技术启示,该权利要求相对于对比文件与本领域惯用技术手段的结合不具备创造性。
全文:
本复审请求涉及申请号为201810274876.3,名称为“SQL注入拦截检测方法、装置、设备及计算机可读介质”的发明专利申请(下称本申请)。本申请的申请人为北京百度网讯科技有限公司,申请日为2018年03月30日,公开日为2018年09月14日。
经实质审查,国家知识产权局实质审查部门于2019年03月28日发出驳回决定,驳回了本申请。驳回决定所依据的文本为:申请日2018年03月30日提交的说明书第1-85段、说明书附图、说明书摘要及摘要附图;2019年01月03日提交的权利要求第1-8项。驳回决定中引用的对比文件为:对比文件1:CN102682047A,公开日为2012年09月19日;对比文件2:CN107122658A,公开日为2017年09月01日。驳回的理由是权利要求1-8相对于对比文件1、对比文件2和本领域常用技术手段的结合不具备专利法第22条第3款规定的创造性。驳回决定所针对的权利要求书内容如下:
“1. 一种SQL注入拦截检测方法,其特征在于,包括:
根据SQL语法树规则对接收的SQL指令进行检测,判断接收的SQL指令是否为恶意指令;
若接收的SQL指令没有命中语法树规则,则通过分析模型对接收的SQL指令进行分析,判断接收的SQL指令是否为潜在恶意指令;
当所述分析模型判定接收的SQL指令为恶意指令时,根据所述接收的SQL指令在黑名单中增加恶意SQL指令的语法结构规则。
2. 根据权利要求1所述的SQL注入拦截检测方法,其特征在于,所述根据SQL语法树规则对接收的SQL指令进行检测,判断接收的SQL指令是否为恶意指令的步骤中,包括:
将接收的SQL指令中的SQL语句解析成语法树结构;
判断该语法树结构是否与黑名单中的语法树的特征匹配;若是,则进行拦截。
3. 根据权利要求1所述的SQL注入拦截检测方法,其特征在于,所述通过分析模型对接收的SQL指令进行分析,判断接收的SQL指令是否为潜在恶意指令的步骤中,包括:
将接收的SQL指令根据语法规则生成向量;
计算接收的SQL指令的向量与恶意SQL指令的向量样本的相似度;若相似度达到设定阈值,则判定接收的SQL指令为恶意指令。
4. 一种SQL注入拦截检测装置,其特征在于,包括:
检测模块,用于根据SQL语法树规则对接收的SQL指令进行检测,判断接收的SQL指令是否为恶意指令;
分析模块,用于若接收的SQL指令没有命中语法树规则,则通过分析模型对接收的SQL指令进行分析,判断接收的SQL指令是否为潜在恶意指令;
黑名单更新模块,用于当所述分析模型判定接收的SQL指令为恶意指令时,根据所述接收的SQL指令在黑名单中增加恶意SQL指令的语法结构规则。
5. 根据权利要求4所述的SQL注入拦截检测装置,其特征在于,所述检 测模块包括:
解析子模块,用于将接收的SQL指令中的SQL语句解析成语法树结构;
拦截子模块,用于判断该语法树结构是否与黑名单中的语法树的特征匹配;若是,则进行拦截。
6. 根据权利要求4所述的SQL注入拦截检测装置,其特征在于,所述分析模块包括:
向量生成子模块,用于将接收的SQL指令根据语法规则生成向量;
相似度计算子模块,用于计算接收的SQL指令的向量与恶意SQL指令的向量样本的相似度;若相似度达到设定阈值,则判定接收的SQL指令为恶意指令。
7. 一种SQL注入拦截检测设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-3中任一所述的SQL注入拦截检测方法。
8. 一种计算机可读介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的SQL注入拦截检测方法。”
申请人(下称复审请求人)对上述驳回决定不服,于2019年04月25日向国家知识产权局提出了复审请求,同时提交了权利要求书的全文替换页,在权利要求1中增加了特征“在线检测”、“离线分析”。复审请求人认为:①对比文件1针对SQL语句的处理顺序与权利要求1中的逻辑处理顺序不同;②本领域技术人员不能从对比文件2得到技术启示来修改对比文件1中的方案,从而判断接收的SQL指令是否为潜在恶意指令;③对比文件1中SQL语句是个较为上位的概念,权利要求1中的SQL指令的语法规则是个较为下位的概念。因此本申请具备创造性。
经形式审查合格,国家知识产权局于2019年04月30日依法受理了该复审请求,并将其转送至实质审查部门进行前置审查。
实质审查部门在前置审查意见书中坚持驳回决定。
随后,国家知识产权局成立合议组对本案进行审理。
合议组于2019年07月17日向复审请求人发出复审通知书,针对的审查文本是:申请日2018年03月30日提交的说明书第1-85段、说明书附图1-6,说明书摘要及摘要附图,2019年04月25日提交的权利要求第1-8项。复审通知书中引用了驳回决定中引用的对比文件1、对比文件2,指出权利要求1-8相对于对比文件1、对比文件2以及本领域惯用技术手段的结合不具备专利法第22条第3款规定的创造性,并对复审请求人在复审请求书中的意见进行了针对性答复。
复审请求人于2019年08月01日提交了意见陈述书和权利要求书全文修改替换页,将从属权利要求3、6的附加特征分别增加到独立权利要求1、4中,删除从属权利要求3、6,并适应性地调整了权利要求的编号和引用关系。复审请求人认为:对比文件1和2都没有公开将接收的SQL指令根据语法规则生成向量;计算接收的SQL指令的向量与恶意SQL指令的向量样本的相似度;若相似度达到设定阈值,则判定接收的SQL指令为恶意指令,因此本申请具备创造性。修改后的权利要求书内容如下:
“1. 一种SQL注入拦截检测方法,其特征在于,包括:
在线检测:根据SQL语法树规则对接收的SQL指令进行检测,判断接收的SQL指令是否为恶意指令;
离线分析:若接收的SQL指令没有命中语法树规则,则通过分析模型对接收的SQL指令进行分析,判断接收的SQL指令是否为潜在恶意指令;
当所述分析模型判定接收的SQL指令为恶意指令时,根据所述接收的SQL指令在黑名单中增加恶意SQL指令的语法结构规则;
所述通过分析模型对接收的SQL指令进行分析,判断接收的SQL指令是否为潜在恶意指令的步骤中,包括:
将接收的SQL指令根据语法规则生成向量;
计算接收的SQL指令的向量与恶意SQL指令的向量样本的相似度;若相似度达到设定阈值,则判定接收的SQL指令为恶意指令。
2. 根据权利要求1所述的SQL注入拦截检测方法,其特征在于,所述根据SQL语法树规则对接收的SQL指令进行检测,判断接收的SQL指令是否为恶意指令的步骤中,包括:
将接收的SQL指令中的SQL语句解析成语法树结构;
判断该语法树结构是否与黑名单中的语法树的特征匹配;若是,则进行拦截。
3. 一种SQL注入拦截检测装置,其特征在于,包括:
检测模块,用于根据SQL语法树规则对接收的SQL指令进行检测,判断接收的SQL指令是否为恶意指令;
分析模块,用于若接收的SQL指令没有命中语法树规则,则通过分析模型对接收的SQL指令进行分析,判断接收的SQL指令是否为潜在恶意指令;
黑名单更新模块,用于当所述分析模型判定接收的SQL指令为恶意指令时,根据所述接收的SQL指令在黑名单中增加恶意SQL指令的语法结构规则;
所述分析模块包括:
向量生成子模块,用于将接收的SQL指令根据语法规则生成向量;
相似度计算子模块,用于计算接收的SQL指令的向量与恶意SQL指令的向量样本的相似度;若相似度达到设定阈值,则判定接收的SQL指令为恶意指令。
4. 根据权利要求3所述的SQL注入拦截检测装置,其特征在于,所述检测模块包括:
解析子模块,用于将接收的SQL指令中的SQL语句解析成语法树结构;
拦截子模块,用于判断该语法树结构是否与黑名单中的语法树的特征匹配;若是,则进行拦截。
5. 一种SQL注入拦截检测设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-2中任一所述的SQL注入拦截检测方法。
6. 一种计算机可读介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-2中任一所述的SQL注入拦截检测方法。”
在上述程序的基础上,合议组认为本案事实已经清楚,可以作出审查决定。
二、决定的理由
1.审查文本的认定
复审请求人在答复复审通知书时提交了权利要求书的全文替换页。本复审通知书针对的文本为:申请日2018年03月30日提交的说明书第1-85段、说明书附图1-6,说明书摘要及摘要附图,2019年08月01日提交的权利要求第1-6项。
2.关于专利法第22条第3款
专利法第22条第3款规定:创造性,是指与现有技术相比,该发明具有突出的实质性特点和显著的进步,该实用新型具有实质性特点和进步。
本复审请求审查决定所引用的对比文件与驳回决定中引用的对比文件相同,即:
对比文件1:CN102682047A,公开日为2012年09月19日;
对比文件2:CN107122658A,公开日为2017年09月01日。
(1)权利要求1请求保护一种SQL注入拦截检测方法,对比文件1公开了一种混合的SQL注入防护方法及系统,并具体公开了以下内容(参见对比文件1说明书第0005-0028段):本发明通过在学习阶段对应用程序产生的所有SQL语句进行语法解析得到SQL语法树,然后基于SQL语法树进行语法结构特征提取,构建知识库。然后在实时工作阶段(相当于在线检测)将所有SQL语句与知识库进行模式匹配。包括SQL解析器、模式匹配引擎、SQL特征过滤单元、知识库单元、控制管理模块、日志报警单元、远程管理客户端。SQL解析器:负责解析SQL语句,语法解析负责根据特定数据库的SQL语法对词法解析后的单词链进行语法结构分析,构造出SQL语法树,语义分析负责根据SQL语法树分析该SQL语句的语义特征,并根据匹配结果判断是否是非法SQL语句(相当于根据SQL语法树规则对接收的SQL指令进行检测,判断接收的SQL指令是否为恶意指令)。模式匹配引擎:负责将解析后的SQL语法树按照预定义的策略进行裁剪,然后提取特征,初始化特征向量。然后利用HASH算法计算特征值。以特征值为索引,与知识库中的SQL语法树进行匹配。对于匹配失败(相当于若接收的SQL指令没有命中语法树规则)的SQL语句并不立即判定为非法,而是进行深度SQL注入特征过滤,检查不通过才被判定为非法SQL语句。学习阶段,模式匹配引擎负责将新的SQL语法树加入知识库;过滤阶段,模式匹配引擎将该SQL语句提交给SQL过滤模块进行注入特征检查(相当于对接收的SQL指令进行分析)。SQL特征过滤单元:根据预先定义的注入特征表,对SQL语句进行详细的特征检查,计算SQL语句的风险值。根据风险值与预先定义的阈值进行比较,判定是否为非法SQL语句(相当于判断接收的SQL指令是否为潜在恶意指令)。
权利要求1请求保护的技术方案与对比文件1所公开的技术内容相比,区别在于:a.权利要求1中明确限定通过分析模型进行分析,并且是离线分析;b.当所述分析模型判定接收的SQL指令为恶意指令时,根据所述接收的SQL指令在黑名单中增加恶意SQL指令的语法结构规则;c.将接收的SQL指令根据语法规则生成向量;计算接收的SQL指令的向量与恶意SQL指令的向量样本的相似度;若相似度达到设定阈值,则判定接收的SQL指令为恶意指令。基于上述区别特征可以确定,权利要求1相对于对比文件1实际解决的技术问题是:如何检测、分析指令以及如何学习语法规则。
对于区别特征a,对比文件1公开了提取特征,初始化特征向量(参见对比文件1说明书第0011段),即对比文件1给出了利用向量模型进行分析的启示,并且对本领域技术人员而言,向量模型分析是本领域的常用分析方法;至于具体应用于在线还是离线时,本领域技术人员可以根据方法对网络的需求进行选择,这属于本领域的惯用技术手段。
对于区别特征b,对比文件2公开了一种具有自动学习功能的数据库防御方法及其系统,并具体公开了以下内容(参见对比文件2权利要求1-4,说明书第0013-0018段):C、所述云端的信息收集模块获取数据流信息中关于数据库注入过滤的特定参数信息,并将获取到特定参数信息发送至信息检索模块,所述特定参数信息至少包括特殊字符及特殊数据库注入构造语句;D、所述云端的信息检索模块根据特定参数信息中的特殊字符及数据库注入构造语句进行数据库注入过滤规则文件中检索;如果数据库注入过滤规则文件中存在该特定参数信息的特殊字符及数据库注入构造语句,则不动作;否则信息检索模块将该特定参数信息、特殊字符及数据库注入构造语句传输至自动学习模块并进入步骤E;E、所述云端的自动学习模块根据接收到的特定参数信息更新、存储于数据库注入过滤规则文件。可见,对比文件2中公开了判定接收的为恶意指令时,根据所述接收的指令在黑名单中增加恶意指令的语法结构规则,且该特征在对比文件2中所起的作用与其在权利要求1中所起的作用相同,都是用于学习新的语法规则,即对比文件2中存在结合至对比文件1以解决权利要求1所实际解决的技术问题的技术启示。
对于区别特征c,对比文件1公开了(参见对比文件1说明书第0005-0028段):基于风险值的特征过滤算法进行深度特征检查:将解析后的SQL语法树按照预定义的策略进行裁剪,然后提取特征,初始化特征向量(相当于将接收的SQL指令根据语法规则生成向量)。过滤阶段,模式匹配引擎将该SQL语句提交给SQL过滤模块进行注入特征检查。SQL特征过滤单元:根据预先定义的注入特征表,对SQL语句进行详细的特征检查,计算SQL语句的风险值。根据风险值与预先定义的阈值进行比较,判定是否为非法SQL语句(相当于根据相似度是否达到设定阈值,判定接收的SQL指令是否为恶意指令)。虽然对比文件1中公开的初始化特征向量是在模式匹配阶段,但其给出了采用向量模型进行分析的启示,并且向量模型分析是本领域的常用分析方法,在此基础上本领域技术人员容易想到在后一阶段也采用向量模型分析的方式。
因此,在对比文件1的基础上结合对比文件2和本领域惯用技术手段从而得到权利要求1所要求保护的技术方案对本领域技术人员而言是显而易见的,权利要求1不具有突出的实质性特点和显著的进步,不具备专利法第22条第3款规定的创造性。
对于复审请求人在意见陈述书中的意见,合议组认为:首先,本申请权利要求1中判断接收的SQL质量是否为潜在恶意指令是在离线分析过程中进行的,其对应于对比文件1中的特征过滤阶段,对比文件1公开了在特征过滤阶段根据预先定义的注入特征表,对SQL语句进行详细的特征检查,计算SQL语句的风险值。根据风险值与预先定义的阈值进行比较,判定是否为非法SQL语句,即是否恶意指令;其次,对比文件2中公开了判定接收的为恶意指令时,根据所述接收的指令在黑名单中增加恶意指令的语法结构规则,且该特征在对比文件2中所起的作用与其在权利要求1中所起的作用相同,都是用于学习新的语法规则,即对比文件2存在结合至对比文件1以解决权利要求1所实际解决的技术问题的技术启示;再次,对比文件1公开了在模式匹配阶段初始化特征向量,给出了采用向量模型进行分析的启示,并且对本领域技术人员而言,向量模型分析是本领域的常用分析方法,在此基础上本领域技术人员容易想到在后一阶段也采用向量模型分析的方式。具体参见上文对区别特征c的评述。因此,合议组对复审请求人的意见不予支持。
(2)权利要求2引用权利要求1,对比文件1公开了(参见对比文件1说明书第0005-0028段):SQL解析器:负责解析SQL语句,语法解析负责根据特定数据库的SQL语法对词法解析后的单词链进行语法结构分析,构造出SQL语法树(相当于将接收的SQL指令中的SQL语句解析成语法树结构),模式匹配引擎:负责将解析后的SQL语法树按照预定义的策略进行裁剪,然后提取特征,初始化特征向量。然后利用HASH算法计算特征值。以特征值为索引,与知识库中的SQL语法树进行匹配。对于匹配失败(相当于若接收的SQL指令没有命中语法树规则)的SQL语句并不立即判定为非法。而无论是SQL指令命中合法的语法树规则判断SQL指令为合法,还是SQL指令命中非法的语法树规则则判断为合法SQL指令,均是常见的根据语法树规则对SQL指令的合法性进行判断的过程,本领域技术人员容易想到根据黑名单中的语法树的特征来判断为非法SQL语句。因此,在其引用的权利要求不具备创造性的情况下,权利要求2也不具备专利法第22条第3款规定的创造性。
(3)权利要求3保护一种装置,其限定各个模块功能与方法权利要求1中的各个步骤相对应,对于本领域技术人员来说,根据相应的方法步骤设置对应的装置(例如检测模块、分析模块、黑名单更新模块、向量生成子模块、相似度计算子模块)实现相应的功能,属于本领域的惯用技术手段。因此,基于上述对权利要求1的评述,在对比文件1的基础上结合对比文件2及本领域惯用技术手段得到权利要求3要求保护的技术方案对于本领域技术人员来说是显而易见的,权利要求3不具有突出的实质性特点和显著的进步,不具备专利法第22条第3款规定的创造性。
(4)从属权利要求4的附加技术特征与权利要求2的附加技术特征对应,参见前面与评述权利要求2相类似的理由基础上,根据相应的方法步骤设置对应的装置(例如解析模块、拦截模块)实现相应的功能,属于本领域的惯用技术手段。因此,权利要求4也不具有突出的实质性特点和显著的进步,不具备专利法第22条第3款规定的创造性。
(5)权利要求5请求保护一种设备,包括处理器和存储器,实现如权利要求1-2任一所述的方法,基于前面的评述意见可知权利要求1-2不具备创造性,而用处理器和存储器实现相应功能属于本领域的公知常识,因此,该权利要求5相对于对比文件1、对比文件2和本领域惯用手段的结合不具备专利法第22条第3款所规定的创造性。
(6)权利要求6请求保护一种计算机可读介质,其存储的计算机程序被处理器执行时实现如权利要求1-2任一所述的方法,基于前面的评述意见可知权利要求1-2不具备创造性,而利用处理器执行可读介质中的程序来实现相应功能属于本领域的公知常识,因此,该权利要求6相对于对比文件1、对比文件2和本领域惯用手段的结合不具备专利法第22条第3款所规定的创造性。
三、决定
维持国家知识产权局于2019年03月28日对本申请作出的驳回决定。
如对本复审请求审查决定不服,根据专利法第41条第2款的规定,复审请求人可以自收到本决定之日起三个月内向北京知识产权法院起诉。


郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
   
验证码: