数据检测方法、装置及电子设备制造方法及图纸

技术编号:20655026 阅读:21 留言:0更新日期:2019-03-23 06:45
本发明专利技术提供一种数据检测方法、装置及电子设备,涉及数据通信技术领域。该方法通过获取待测源代码;对待测源代码进行语义分析,得到语义树;通过预设匹配规则对语义树进行检测匹配,确定出目标回溯变量及与目标回溯变量对应的节点位置、与目标回溯变量对应的第一作用域;根据第一作用域及节点位置进行回溯分析,以得到检测结果。本方案通过语义分析,并对源代码结合上下文进行回溯分析,能够降低漏检源代码的情况出现,提高源代码数据检测的有效性,从而能够降低代码检测的误报率。

【技术实现步骤摘要】
数据检测方法、装置及电子设备
本专利技术涉及数据通信
,具体而言,涉及一种数据检测方法、装置及电子设备。
技术介绍
在网络安全领域中,随着黑客攻击技术的不断发展,安全防御技术也在不断演变,渗透测试成了安全防御的主要方式之一,在渗透测试中,代码审计的白盒测试系统,是其中重要的一环。在现有技术中,现有的渗透测试中,可以通过变量回溯、逻辑检查机制进行测试,而这类方式难以关联代码上下文,使得源代码检测覆盖率低、误报率高。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提供一种数据检测方法、装置及电子设备,能够改善现有技术中对源代码检测时覆盖率低误报率高的问题。为了实现上述目的,本专利技术实施例所提供的技术方案如下所示:第一方面,本专利技术实施例提供一种数据检测方法,所述方法包括:获取待测源代码;对所述待测源代码进行语义分析,得到语义树;通过预设匹配规则对所述语义树进行检测匹配,确定出目标回溯变量及与所述目标回溯变量对应的节点位置、与所述目标回溯变量对应的第一作用域;根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果。结合第一方面,在一些可选的实施方式中,所述待测源代码包括include节点,在回溯到所述include节点时,根据所述第一作用域及所述节点位置进行回溯分析,包括:遍历所述include节点所关联的待测源代码以进行回溯分析。结合第一方面,在一些可选的实施方式中,根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果,包括:在所述第一作用域中的赋值节点为预设类型的语句时,获取所述赋值节点对应的分支下的子代码;并对所述子代码进行回溯分析,以得到所述检测结果。结合第一方面,在一些可选的实施方式中,根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果,包括:在回溯到所述第一作用域中的赋值节点时,获取所述赋值节点对应的第二作用域;根据所述第二作用域,倒序分析所述第二作用域中的子代码;在分析得到的右值在预设函数参数中时,将与所述预设函数参数对应的预设函数及预设函数参数作为新的左值,并回溯分析,以得到所述检测结果。结合第一方面,在一些可选的实施方式中,通过预设匹配规则对所述语义树进行检测匹配,包括:通过正则表达式对所述语义树进行检查匹配。第四方面,本专利技术实施例还提供一种数据监测装置,所述装置包括:获取单元,用于获取待测源代码;语义分析单元,用于对所述待测源代码进行语义分析,得到语义树;匹配确定单元,用于通过预设匹配规则对所述语义树进行检测匹配,确定出目标回溯变量及与所述目标回溯变量对应的节点位置、与所述目标回溯变量对应的第一作用域;结果确定单元,用于根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果。结合第二方面,在一些可选的实施方式中,所述待测源代码包括include节点,在回溯到所述include节点时,所述结果确定单元还用于:遍历所述include节点所关联的待测源代码以进行回溯分析。结合第二方面,在一些可选的实施方式中,所述结果确定单元还用于:在所述第一作用域中的赋值节点为预设类型的语句时,获取所述赋值节点对应的分支下的子代码;并对所述子代码进行回溯分析,以得到所述检测结果。第三方面,本专利技术实施例还提供一种电子设备,包括相互耦合的存储模块、处理模块,所述存储模块内存储计算机程序,当所述计算机程序被所述处理模块执行时,使得所述电子设备执行上述的方法。第四方面,本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述的方法。相对于现有技术而言,本专利技术提供的数据检测方法、装置及电子设备至少具有以下有益效果:该方法通过获取待测源代码;对待测源代码进行语义分析,得到语义树;通过预设匹配规则对语义树进行检测匹配,确定出目标回溯变量及与目标回溯变量对应的节点位置、与目标回溯变量对应的第一作用域;根据第一作用域及节点位置进行回溯分析,以得到检测结果。本方案通过语义分析,并对源代码结合上下文进行回溯分析,能够降低漏检源代码的情况出现,提高源代码数据检测的有效性,从而能够降低代码检测的误报率。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举本专利技术实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例提供的电子设备与用户终端的交互示意图。图2为本专利技术实施例提供的电子设备的方框示意图。图3为本专利技术实施例提供的数据检测方法的流程示意。图4为本专利技术实施例提供的数据检测装置的方框示意图。图标:10-电子设备;11-处理模块;12-通信模块;13-存储模块;20-用户终端;100-数据检测装置;110-获取单元;120-语义分析单元;130-匹配确定单元;140-结果确定单元。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。下面结合附图,对本专利技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。在网络安全领域中,随着黑客攻击技术的不断发展,安全防御技术也在不断演变,渗透测试成了安全防御的主要方式之一,在渗透测试中,代码审计的白盒测试系统,是其中重要的一环。在现有技术中,现有的渗透测试中,可以通过变量回溯、逻辑检查机制进行测试,而这类方式难以关联代码上下文,使得源代码检测覆盖率低、误报率高。鉴于上述问题,本申请专利技术人经过长期研究探索,提出以下实施例以解决上述问题。下面结合附图,对本专利技术实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。请结合参照图1和图2,本专利技术实施例提供的电子设备10可以用于对待测源代码进行渗透测试,以提高网络的安全性。电子设备10可以通过网络与用户终端20建立通信连接以进行数据交互。电子设备10可以通过网络从用户终端20获取待测源代码,待测源代码也可以为用户通过电子设备10生成的源代码,也可以是从其他计算机可读存储介质(比如U盘、硬盘等)中获取的源代码。其中,待测源代码可以是PHP代码或其他代码。用户终端20可以是,但不限于,智能手机、个人电脑(personalcomputer,PC)、平板电脑、个人数字助理(personaldigitalassistant,PDA)、移动上网本文档来自技高网...

【技术保护点】
1.一种数据检测方法,其特征在于,所述方法包括:获取待测源代码;对所述待测源代码进行语义分析,得到语义树;通过预设匹配规则对所述语义树进行检测匹配,确定出目标回溯变量及与所述目标回溯变量对应的节点位置、与所述目标回溯变量对应的第一作用域;根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果。

【技术特征摘要】
1.一种数据检测方法,其特征在于,所述方法包括:获取待测源代码;对所述待测源代码进行语义分析,得到语义树;通过预设匹配规则对所述语义树进行检测匹配,确定出目标回溯变量及与所述目标回溯变量对应的节点位置、与所述目标回溯变量对应的第一作用域;根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果。2.根据权利要求1所述的方法,其特征在于,所述待测源代码包括include节点,在回溯到所述include节点时,根据所述第一作用域及所述节点位置进行回溯分析,包括:遍历所述include节点所关联的待测源代码以进行回溯分析。3.根据权利要求1所述的方法,其特征在于,根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果,包括:在所述第一作用域中的赋值节点为预设类型的语句时,获取所述赋值节点对应的分支下的子代码;并对所述子代码进行回溯分析,以得到所述检测结果。4.根据权利要求1所述的方法,其特征在于,根据所述第一作用域及所述节点位置进行回溯分析,以得到检测结果,包括:在回溯到所述第一作用域中的赋值节点时,获取所述赋值节点对应的第二作用域;根据所述第二作用域,倒序分析所述第二作用域中的子代码;在分析得到的右值在预设函数参数中时,将与所述预设函数参数对应的预设函数及预设函数参数作为新的左值,并回溯分析,以得到所述检测结果。5.根据权利要求1-4中任意一项所述的方法,其...

【专利技术属性】
技术研发人员:郭垠圻
申请(专利权)人:北京知道创宇信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1