[发明专利]一种代码审计方法、装置及存储介质在审
申请号: | 201811328946.5 | 申请日: | 2018-11-09 |
公开(公告)号: | CN109491912A | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 郭垠圻 | 申请(专利权)人: | 北京知道创宇信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 张海洋 |
地址: | 100000 北京市朝阳区阜*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 输入函数 审计 存储介质 项目代码 传统代码 输入变量 位置判断 漏洞 申请 | ||
本申请提供一种代码审计方法、装置及存储介质,用于解决现有技术中传统代码审计工具对现代框架适应性差的问题。该方法包括:从项目代码中提取框架标识;从代码审计工具中提取与框架标识对应的多个第一输入函数,获得第一输入函数列表;从项目代码中提取多个第二输入函数;判断多个第二输入函数中每个第二输入函数是否存在于第一输入函数列表中;若是,则将第二输入函数对应的输入变量的位置判断为疑似漏洞。
技术领域
本申请涉及计算机安全的技术领域,尤其涉及一种代码审计方法、装置及存储介质。
背景技术
在传统的代码审计过程中,人工挖掘是代码审计的主要方式,但随之而来的问题也很多,在测试中,安全研究人员首先需要花费大量的学习成本对源代码的编程语言以及框架做了解,然后才能进入审计阶段,其中花费的人力物力巨大,而且效率较低。
目前在实际的代码审计的工作中,一般以基于正则表达式的自动化代码审计为主,部分工具辅以语义分析辅助分析。但无论是什么类型的自动化代码审计工具,只要是基于静态源代码分析的工具,就需要在扫描分析初界定边界,当输入点为可控时,且没有被过滤函数处理时,漏洞存在。现在的普遍方式是建立基础的输入/过滤函数列表,然后再扫描过程中,当回溯到输入变量可控且没有被过滤函数处理时,漏洞存在。例如,匹配到跨站脚本攻击(XSS,Cross Site Scripting)漏洞点,如果匹配到htmlspecialchars函数处理,则该漏洞点无效。但现在的PHP(Hypertext Preprocessor缩写为PHP,是一种创建动态交互性站点的强有力的服务器端脚本语言)开发多使用php各类框架。如Thinkphp框架使用input函数获取输入。对于常规的PHP代码静态审计工具来说,很难自适应各种各样的过滤/输入函数,会导致原来的结果大幅度的误报。因此,现有技术中存在着传统代码审计工具对现代框架适应性差的问题。
发明内容
有鉴于此,本申请提供一种代码审计方法、装置及存储介质,用于解决现有技术中传统代码审计工具对现代框架适应性差的问题。
本申请提供了的一种代码审计方法,应用于服务器,包括:从项目代码中提取框架标识;从代码审计工具中提取与所述框架标识对应的多个第一输入函数,获得第一输入函数列表;从所述项目代码中提取多个第二输入函数;判断所述多个第二输入函数中每个第二输入函数是否存在于所述第一输入函数列表中;若是,则将所述第二输入函数对应的输入变量的位置判断为疑似漏洞。
可选地,在本申请实施例中,在所述将所述第二输入函数对应的输入变量的位置判断为疑似漏洞之后,还包括:从代码审计工具中提取与所述框架标识对应的多个第一过滤函数,获得第一过滤函数列表;从所述项目代码中提取多个第二过滤函数;判断所述多个第二过滤函数中每个第二过滤函数是否存在于所述第一过滤函数列表中;若否,
则将所述第二过滤函数对应的输入变量的位置判断为确认漏洞。
可选地,在本申请实施例中,在所述将所述第二过滤函数对应的输入变量的位置判断为确认漏洞之后,还包括:根据确定出的漏洞生成漏洞报告;将所述漏洞报告存储至所述服务器。
可选地,在本申请实施例中,在所述从项目代码中提取框架标识之前,还包括:从获得的框架源代码中分析和提取框架标识和至少一个第一输入函数;建立至少一个第一输入函数和框架标识的对应关系,并将至少一个第一输入函数和框架标识的对应关系、至少一个第一输入函数和框架标识存储至所述代码审计工具。
可选地,在本申请实施例中,在所述从项目代码中提取框架标识之前,还包括:从获得的框架源代码中分析和提取框架标识和至少一个第一过滤函数;建立至少一个第一过滤函数和框架标识的对应关系,并将至少一个第一过滤函数和框架标识的对应关系、至少一个第一过滤函数和框架标识存储至所述代码审计工具。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知道创宇信息技术有限公司,未经北京知道创宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811328946.5/2.html,转载请声明来源钻瓜专利网。