[发明专利]一种基于PHP扩展的PHP Web应用程序漏洞检测方法及其存储介质在审
申请号: | 202110577039.X | 申请日: | 2021-05-26 |
公开(公告)号: | CN113420298A | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 范丙华;刘永瑞;徐锋 | 申请(专利权)人: | 杭州孝道科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 杭州惟臻专利代理事务所(普通合伙) 33398 | 代理人: | 陈辉 |
地址: | 310000 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 php 扩展 web 应用程序 漏洞 检测 方法 及其 存储 介质 | ||
本发明公开了一种基于PHP扩展的PHP Web应用程序漏洞检测方法及其存储介质,包括以下内容:函数插桩:PHP扩展对应用程序中的PHP函数进行插桩;污点标记:将PHP变量结构中未被使用的标记位来记录是否被污染;污点跟踪:PHP扩展对插桩的PHP函数进行监控,根据PHP函数中数据传播逻辑,进行污点标记跟踪;漏洞检测:判断外部数据在传入风险函数前是否经过安全检查函数,若未经过安全检查函数,则判断存在安全漏洞,若经过安全检查函数,则判断无安全漏洞。本发明实时跟踪应用程序运行时的数据流向,能够检测出漏洞的真实形成过程及其具体代码位置,做到在线实时、全面精确的漏洞检测。
技术领域
本发明涉及计算机技术领域,尤其是涉及一种基于PHP扩展的PHP Web应用程序漏洞检测方法及其存储介质。
背景技术
现有的技术对于PHP Web应用漏洞检测主要分为两类。一类为黑盒检测技术,即模拟黑客攻击对应用程序进行测试,重放带有特征字符串的数据包,根据不同漏洞类型的漏洞原理分析应用程序的响应来检测漏洞;第二类为代码审计技术,即对应用程序源代码进行语法、语义分析,通过模拟程序运行时的数据流,分析程序在代码层面的脆弱性,达到漏洞检测的目的。黑盒检测技术由于需要发送大量带有特征字符串的数据包来进行漏洞检测,所以该技术在测试过程中会产生大量脏数据、脏操作,且由于在数据包加密、带签名等场景下无法构造数据包,所以黑盒检测技术也存在场景覆盖率低等问题。代码审计技术需要对应用程序的源代码进行深度分析,消耗的时间成本高,且由于该技术分析的是模拟程序运行时的数据,导致其漏洞误报率较高。
发明内容
本发明的目的在于用于解决上述技术问题,提供一种基于PHP扩展的PHP Web应用程序漏洞检测方法,本发明通过PHP扩展在程序运行时对应用程序的真实数据流向进行捕获分析,并根据不同的漏洞原理进行漏洞检测,在整个漏洞检测过程中,无需构造发送数据包,且实时跟踪应用程序运行时的数据流向,能够检测出漏洞的真实形成过程及其具体代码位置,做到在线实时、全面精确的漏洞检测。
本发明解决上述技术问题采用的技术方案是:一种基于PHP扩展的PHP Web应用程序漏洞检测方法,包括以下内容:
函数插桩:在应用程序运行前,对应用程序添加PHP扩展,PHP扩展对应用程序中的PHP函数进行插桩;
污点标记:在PHP扩展中预设PHP变量是否被污染的定义,将PHP变量结构中未被使用的标记位来记录是否被污染;
污点跟踪:PHP函数被调用时,PHP扩展对插桩的PHP函数进行监控,根据PHP函数中数据传播逻辑,进行污点标记跟踪;
漏洞检测:外部数据传播至风险函数时,PHP扩展将根据污点跟踪的过程,判断外部数据在传入风险函数前是否经过安全检查函数,若未经过安全检查函数,则判断存在安全漏洞,若经过安全检查函数,则判断无安全漏洞。
作为优选,函数插桩包括以下内容:PHP扩展通过修改PHP中的handler指向来捕获PHP函数。通过修改PHP中zend_internal_function结构的handler指向来捕获PHP函数,即先将handler指向获取函数执行信息的代码,之后再调用其原来的处理函数即可。
作为优选,函数插桩还包括以下内容:PHP扩展通过修改opcode的实现,劫持opcode获得所需函数信息,从而捕获PHP函数。通过zend_set_user_opcode_handler来修改opcode的实现(opcode即PHP代码编译后的中间语言,PHP中函数调用都是由zend_do_fcall、zend_do-icall或zend_do_fcall_by_name中的一个opcode来进行的),劫持特定的opcode即可获取所需的函数信息,从而达到捕获PHP函数的目的。
作为优选,污点标记包括以下内容:PHP扩展对PHP变量结构中的超级变量的数据进行污点标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州孝道科技有限公司,未经杭州孝道科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110577039.X/2.html,转载请声明来源钻瓜专利网。