发明创造名称:一种引擎漏洞检测的方法以及检测装置
外观设计名称:
决定号:192935
决定日:2019-10-22
委内编号:1F254161
优先权日:
申请(专利)号:201610643329.9
申请日:2016-08-08
复审请求人:腾讯科技(深圳)有限公司
无效请求人:
授权公告日:
审定公告日:
专利权人:
主审员:朱明雅
合议组组长:王丽颖
参审员:曹铭书
国际分类号:G06F21/57(2013.01)
外观设计分类号:
法律依据:专利法第22条第3款
决定要点
:复审请求人修改后的权利要求存在既未在对比文件中公开亦不属于本领域公知常识的技术特征,对本领域技术人员来说在现有对比文件的基础上得到该权利要求所要求保护的技术方案是非显而易见的,该权利要求具备专利法第22条第3款规定的创造性。
全文:
本复审请求涉及申请号为201610643329.9,名称为“一种引擎漏洞检测的方法以及检测装置”的发明专利申请。申请人为腾讯科技(深圳)有限公司。本申请的申请日为2016年08月08日,公开日为2017年01月04日。
经实质审查,国家知识产权局原审查部门审查员于2018年03月08日发出驳回决定,驳回了本发明专利申请,其理由是:本申请全部权利要求不具备专利法第22条第3款规定的创造性。驳回决定所依据的文本为:申请日提交的说明书摘要、说明书第1-201段、摘要附图、说明书附图;2018年01月02日提交的权利要求第1-14项。
申请人(下称复审请求人)对上述驳回决定不服,于2018年06月19日向国家知识产权局提出了复审请求,同时修改了权利要求书, 将说明书中的部分技术内容补入到权利要求书中。
复审请求时新修改的权利要求书如下:
1. 一种引擎漏洞检测的方法,其特征在于,包括:
获取待检测应用程序;
获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述待检测应用程序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息,所述第一应用开发引擎为Cocos开源框架,所述应用程序编程接口信息包括出现安全漏洞的应用程序编程接口名称以及在整段源代码中出现的位置;
提取所述待检测应用程序的应用程序编程接口;
根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口;
定位到高危险性应用程序编程接口的代码行。
2. 根据权利要求1所述的方法,其特征在于,所述获取第一应用开发引擎的应用程序编程接口经验库之前,所述方法还包括:
获取所述第一应用开发引擎的源代码;
查找所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;
根据所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库。
3. 根据权利要求2所述的方法,其特征在于,所述查找所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口,包括:
检测所述第一应用开发引擎的源代码中存在空指针的应用程序编程接口;
获取所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置。
4. 根据权利要求3所述的方法,其特征在于,所述根据所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库,包括:
根据所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置,建立所述第一应用开发引擎的应用程序编程接口经验库。
5. 根据权利要求2至4中任一项所述的方法,其特征在于,所述获取第一应用开发引擎的应用程序编程接口经验库之后,所述方法还包括:
当所述第一应用开发引擎更新为第二应用开发引擎时,获取所述第二应用开发引擎的源代码;
查找所述第二应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;
根据所述存在安全漏洞的应用程序编程接口,将所述第一应用开发引擎的应用程序编程接口经验库更新为所述第二应用开发引擎的应用程序编程接口经验库。
6. 根据权利要求4所述的方法,其特征在于,所述根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,包括:
遍历所述待检测应用程序的应用程序编程接口名称;
判断所述待检测应用程序的应用程序编程接口名称是否与所述应用程序编程接口经验库中包含的应用程序编程接口名称一致,若是,则根据所述应用程序编程接口经验库获取所述待检测应用程序中所述应用程序编程接口名称对应的参数位置;
若所述参数位置上对应的参数为空指针,则确定所述待检测应用程序的应用程序编程接口存在安全漏洞。
7. 根据权利要求1所述的方法,其特征在于,所述从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口之后,所述方法还包括:
输出所述待检测应用程序中的风险信息,所述风险信息包括存在所述目标应用程序编程接口的待检测应用程序的文件名、代码位置、调用的应用程序编程接口名称以及报错信息中的至少一项。
8. 一种检测装置,其特征在于,包括:
第一获取模块,用于获取待检测应用程序;
第二获取模块,用于获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述第一获取模块获取的所述待检测应用程 序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息,所述第一应用开发引擎为Cocos开源框架,所述应用程序编程接口信息包括出现安全漏洞的应用程序编程接口名称以及在整段源代码中出现的位置;
提取模块,用于提取所述第一获取模块获取的所述待检测应用程序的应用程序编程接口;
确定模块,用于根据所述第二获取模块获取的所述应用程序编程接口经验库,判断所述提取模块提取的所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口;
定位到高危险性应用程序编程接口的代码行。
9. 根据权利要求8所述的检测装置,其特征在于,所述检测装置还包括:
第三获取模块,用于所述第二获取模块获取第一应用开发引擎的应用程序编程接口经验库之前,获取所述第一应用开发引擎的源代码;
第一查找模块,用于查找所述第三获取模块获取的所述第一应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;
第一建立模块,用于根据所述第一查找模块查找的所述存在安全漏洞的应用程序编程接口,建立所述应用程序编程接口经验库。
10. 根据权利要求9所述的检测装置,其特征在于,所述第一查找模块包括:
检测单元,用于检测所述第一应用开发引擎的源代码中存在空指针的应用程序编程接口;
第一获取单元,用于获取所述检测单元检测的所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置。
11. 根据权利要求10所述的检测装置,其特征在于,所述第一建立模块包括:
建立单元,用于根据所述第一获取单元获取的所述存在空指针的应用程序编程接口所对应的应用程序编程接口名称和参数位置,建立所述第一应用开发引擎的应用程序编程接口经验库。
12. 根据权利要求9至11中任一项所述的检测装置,其特征在于,所述检测装置还包括:
第四获取模块,用于所述第二获取模块获取第一应用开发引擎的应用程序编程接口经验库之后,当所述第一应用开发引擎更新为第二应用开发引擎时,获取所述第二应用开发引擎的源代码;
第二查找模块,用于查找所述第四获取模块获取的所述第二应用开发引擎的源代码中存在安全漏洞的应用程序编程接口;
更新模块,用于根据所述第二查找模块查找的所述存在安全漏洞的应用程序编程接口,将所述第一应用开发引擎的应用程序编程接口经验库更新为所述第二应用开发引擎的应用程序编程接口经验库。
13. 根据权利要求11所述的检测装置,其特征在于,所述确定模块包括:
遍历单元,用于遍历所述待检测应用程序的应用程序编程接口名称;
第二获取单元,用于判断所述遍历单元遍历得到的所述待检测应用程序的应用程序编程接口名称,是否与所述应用程序编程接口经验库中包含的应用程序编程接口名称一致,若是,则根据所述应用程序编程接口经验库获取所述待检测应用程序中所述应用程序编程接口名称对应的参数位置;
确定单元,用于若所述第二获取单元获取的所述参数位置上对应的参数为空指针,则确定所述待检测应用程序的应用程序编程接口存在安全漏洞。
14. 根据权利要求8所述的检测装置,其特征在于,所述检测装置还包括:
输出模块,用于所述确定模块从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口之后,输出所述待检测应用程序中的风险信息,所述风险信息包括存在所述目标应用程序编程接口的待检测应用程序的文件名、代码位置、调用的应用程序编程接口名称以及报错信息中的至少一项。
经形式审查合格,国家知识产权局于2018年06月25日依法受理了该复审请求,并将其转送至原审查部门进行前置审查。
原审查部门在前置审查意见书中坚持原驳回决定。
随后,国家知识产权局成立合议组对本案进行审理。
合议组于2019年04月08日向复审请求人发出复审通知书,指出:本申请权利要求1-14项仍不具备专利法第22条第3款规定的创造性 。
复审请求人于2019年05月23日提交了意见陈述书以及修改的权利要求书。复审请求人认为:修改后的权利要求相对于对比文件1和对比文件2的结合具备创造性。
修改后的独立权利要求1和独立权利要求8的内容如下:
1. 一种引擎漏洞检测的方法,其特征在于,包括:
获取待检测应用程序;
获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述待检测应用程序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息,且所述存在安全漏洞的应用程序编程接口信息是从多个版本所对应的应用开发引擎的源代码中获取到的,所述第一应用开发引擎属于所述多个版本中的其中一个版本,所述第一应用开发引擎为Cocos开源框架,所述应用程序编程接口信息包括出现安全漏洞的应用程序编程接口名称以及在整段源代码中出现的位置;
提取所述待检测应用程序的应用程序编程接口;
根据所述应用程序编程接口经验库,判断所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口;
定位到高危险性应用程序编程接口的代码行。
8. 一种检测装置,其特征在于,包括:
第一获取模块,用于获取待检测应用程序;
第二获取模块,用于获取第一应用开发引擎的应用程序编程接口经验库,所述第一应用开发引擎用于开发所述第一获取模块获取的所述待检测应用程序,所述应用程序编程接口经验库中包含至少一项存在安全漏洞的应用程序编程接口信息,且所述存在安全漏洞的应用程序编程接口信息是从多个版本所对应的应用开发引擎的源代码中获取到的,所述第一应用开发引擎属于所述多个版本中的其中一个版本,所述第一应用开发引擎为Cocos开源框架,所述应用程序编程接口信息包括出现安全漏洞的应用程序编程接口名称以及在整段源代码中出现的位置;
提取模块,用于提取所述第一获取模块获取的所述待检测应用程序的应用程序编程接口;
确定模块,用于根据所述第二获取模块获取的所述应用程序编程接口经验库,判断所述提取模块提取的所述待检测应用程序的应用程序编程接口是否存在安全漏洞,若是,则从所述待检测应用程序的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口;
定位到高危险性应用程序编程接口的代码行。
在上述程序的基础上,合议组认为本案事实已经清楚,可以作出审查决定。
二、决定的理由
审查文本的认定
复审请求人在答复复审通知书时提交了修改后的权利要求书,在独立权利要求1和独立权利要求8中增加了相应内容,其他引用关系不变。经审查,该修改符合专利法第33条的规定,故本复审决定所依据的审查文本为:申请日提交的说明书摘要、说明书第1-201段、摘要附图、说明书附图;2019年05月23日提交的权利要求第1-14项。
关于本申请权利要求的创造性
专利法第22条第3款规定:创造性,是指同申请日以前已有的技术相比,该发明有突出的实质性特点和显著的进步,该实用新型有实质性特点和进步。
本复审决定所依据的对比文件与驳回决定、复审通知书相同,即:
对比文件1:CNIO4537309A,公开日为2015年04月22日;
对比文件2:CNIO3473509A,公开日为2013年12月25日。
1)权利要求1的创造性
权利要求1要求保护一种引擎漏洞检测的方法,对比文件1公开了一种应用程序漏洞检测方法及对应检测装置,以在开发方开发完成某一应用程序后,该应用程序发布前,对开发方所开发的应用程序进行漏洞检测,进行安全审计,其中(参见对比文件1权利要求1-10,说明书第0028、0032-0046段)具体公开了以下内容:
步骤S200,获取待检测的应用程序的安装包文件(对应于获取待检测应用程序的安装包),提取安装包文件的静态特征,通过将安装包文件的静态特征与预先存储的漏洞静态特征(隐含公开在匹配之前获取该预先存储的漏洞静态特征)进行匹配,得到静态检测结果。其中,漏洞静态特征是在不运行代码的方式下,通过词法检测、语法检测、控制流等技术对应用程序的安装包文件的程序代码进行静态检测。漏洞静态特征包括调用危险的应用程序接口。将安装包文件的静态特征与漏洞静态特征中的调用危险的应用程序接口这一特征(对应于包含至少一项存在安全漏洞的应用程序编程接口信息的应用程序编程接口经验库,隐含公开在匹配之前获取应用程序编程接口经验库)进行匹配(隐含公开提取待检测应用程序的安装包的应用程序编程接口,根据应用程序编程接口经验库,判断待检测应用程序的安装包的应用程序编程接口是否存在安全漏洞),若安装包文件的静态特征与漏洞静态特征中的调用危险的应用程序接口这一特征所匹配,则得到安装包文件中存在漏洞为调用危险的应用程序接口的静态检测结果(对应于若是,则从待检测应用程序的安装包的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口);若安装包文件的静态特征与漏洞静态特征中的调用危险的应用程序接口这一特征不匹配,则得到安装包文件中不存在漏洞为调用危险的应用程序接口的静态检测结果。
通过将安装包文件的静态特征与预先存储的漏洞静态特征进行匹配,可以帮助开发方查找安装包文件中存在的安全漏洞等问题,从而保证应用程序的整体质量,防止泄露用户隐私或给用户造成财产损失。
步骤S201,将安装包文件传递给终端设备,以使终端设备安装该安装包文件对应的应用程序(对应于获取待检测应用程序)。
步骤S202,将终端设备实际运行应用程序所产生的动态特征与预先存储的漏洞动态特征进行匹配,得到动态检测结果。
步骤S203,结合静态检测结果和动态检测结果,检测应用程序是否具有漏洞,进而确定对应用程序的安全审计结果。若所述静态检测结果表明所述安装包文件的静态特征与预先存储的至少一个漏洞静态特征相匹配,和/或,所述动态检测结果表明所述终端设备实际运行所述应用程序所产生的动态特征与预先存储的至少一个漏洞动态特征相匹配,则检测出所述应用程序具有漏洞,进而确定对应用程序的安全审计结果。安全审计结果可以向开发方展示应用程序存在哪些漏洞(隐含公开从所述待检测应用程序的安装包的应用程序编程接口中确定存在安全漏洞的目标应用程序编程接口)、漏洞修复建议和漏洞出处。
由此可见,权利要求1要求保护的技术方案与对比文件1相比,其区别在于:(1)对比文件1仅公开了获取和匹配的是应用程序编程接口经验库而未公开获取和匹配的是用于开发待检测应用程序的第一应用开发引擎的应用程序编程接口经验库;(2)所述存在安全漏洞的应用程序编程接口信息是从多个版本所对应的应用开发引擎的源代码中获取到的,所述第一应用开发引擎属于所述多个版本中的其中一个版本;(3)第一应用开发引擎是Cocos开源框架;(4)所述应用程序编程接口信息包括出现安全漏洞的应用程序编程接口名称以及在整段源代码中出现的位置;(5)定位到高危险性应用程序编程接口的代码行。
对于区别技术特征(1),正如驳回决定所述,对比文件2公开了一种Android平台恶意软件自动检测方法,其中(参见对比文件2权利要求1-2)具体公开了以下内容:
S1、设定Android平台的敏感API数据集,其中,步骤S1包括:S11、根据Android开发工具包(对应于用于开发待检测应用程序的第一应用开发引擎)查找与恶意软件相关的敏感API,S12、将S11获取的敏感AP工按照其功能类别进行整理和分类,得到敏感API数据集(对应于获取第一应用开发引擎的应用程序编程接口经验库),所述敏感API数据集包括敏感API函数名、敏感API参数、敏感API类名;
S2、对待检测的应用程序进行逆向代码还原,得到所述应用程序的逆向代码;
S3、根据所述敏感API数据集提取所述逆向代码中的敏感API(对应于根据应用程序编程接口经验库,判断待检测应用程序的应用程序编程接口是否存在对应敏感API)和包含网络地址信息的字符串;
S4、根据所述逆向代码绘制函数调用关系有向图,并根据所述函数调用关系图、所述提取的敏感API和字符串判断所述应用程序是否为恶意软件(对应于通过匹配应用程序和应用程序编程接口经验库来对应用程序进行检测)。
由此可见,对比文件2已教导了获取和匹配的是用于开发待检测应用程序的第一应用开发引擎的应用程序编程接口经验库,以及通过匹配应用程序和应用程序编程接口经验库来对应用程序进行检测,且该特征在对比文件2中所起的作用与相应特征在权利要求1中为解决其技术问题所起的作用相同,均是通过应用程序编程接口对应用程序进行检测和选择用于开发待检测应用程序的第一应用开发引擎的应用程序编程接口经验库以作为用于进行匹配的应用程序编程接口经验库,即对比文件2给出了将该技术特征用于对比文件1的技术方案以解决其技术问题的启示。
而对于区别技术特征(2),“所述存在安全漏洞的应用程序编程接口信息是从多个版本所对应的应用开发引擎的源代码中获取到的,所述第一应用开发引擎属于所述多个版本中的其中一个版本”,该特征为复审请求人答复复审通知书时新增加的特征,在对比文件1和对比文件2中均未公开。对比文件2中公开的内容是在Android平台进行恶意软件自动检测,具体而言是根据Android开发工具包查找与恶意软件相关的敏感API,其并未具体限定对不同版本开发工具包进行检测,本申请权利要求1中具体限定到多个版本中的一个,相比对比文件2而言,能够在API经验库更新的时候,减少更新工作量,取得了一定的有益效果;且本申请权利要求1已经将其技术方案具体限定在Cocos开源框架下,虽然对比文件2给出了采用对开发引擎经验库进行检测的技术启示,但两者开发环境不同。综合考虑,在现有对比文件的基础上,即在对比文件1结合对比文件2及公知常识的基础上得到权利要求1要求保护的技术方案对本领域技术人员来说并非显而易见,权利要求1具备专利法第22条第3款规定的创造性。
2)权利要求2-7的创造性
权利要求2-7直接或间接引用权利要求1,在其具备创造性的情况下,权利要求2-7也均具备专利法第22条第3款规定的创造性。
3)独立权利要求8的创造性
独立权利要求8是与权利要求1相对应的装置权利要求,与评述权利要求1的理由相同,权利要求8也具备专利法第22条第3款规定的创造性。
4)权利要求9-14的创造性
权利要求9-14直接或间接引用权利要求1,在其具备创造性的情况下,权利要求9-14也均具备专利法第22条第3款规定的创造性。
三、决定
撤销国家知识产权局于2018年03月08日对本申请作出的驳回决定。由国家知识产权局原审查部门在本复审决定的审查文本基础上对本发明专利申请继续进行审查。
如对本复审请求审查决定不服,根据专利法第41条第2款的规定,请求人自收到本决定之日起三个月内向北京知识产权法院起诉。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。