一种文件检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36880458 阅读:18 留言:0更新日期:2023-03-15 21:06
本申请公开了一种文件检测方法、装置、电子设备及存储介质,其中,所述方法包括:在执行目标文件的情况下,确定所述目标文件中待执行的第一语句是否为分支语句;在确定所述第一语句为分支语句的情况下,确定所述第一语句是否受到外部条件的干扰;在确定所述第一语句受到外部条件的干扰的情况下,对所述第一语句进行分支拉平处理。分支拉平处理。分支拉平处理。

【技术实现步骤摘要】
一种文件检测方法、装置、电子设备及存储介质


[0001]本申请实施例涉及计算机
,尤其涉及一种文件检测方法、装置、电子设备及存储介质。

技术介绍

[0002]目前,攻击文件的攻击方式多种多样,攻击者制定了各种绕过策略来实现防护对象对于攻击文件的检测,现有的攻击文件的检测方式已经无法应对目前攻击者制定的各种绕过策略。一般的,可以利用虚拟执行技术执行攻击文件来实现对于攻击文件的检测,但是,在攻击文件需要外部输入触发生效的情况下,由于外部输入可以控制攻击文件中分支语句的执行路径,可能会导致在对攻击文件检测的过程中无法确定攻击文件的分支语句中的正确分支,对攻击文件的检测造成干扰。分支对抗是虚拟执行技术的重大挑战,若不对攻击文件中的分支进行处理,将会导致攻击者可以利用这一特性肆意绕过防护对象对攻击文件的检测。另外,对攻击文件处理过度,也可能会导致检测过程性能开销过大,同样也可能导致攻击文件中的分支被绕过。

技术实现思路

[0003]为解决上述技术问题,本申请实施例提供了一种文件检测方法、装置、电子设备及存储介质。
[0004]本申请实施例提供了一种文件检测方法,所述方法包括:
[0005]在执行目标文件的情况下,确定所述目标文件中待执行的第一语句是否为分支语句;
[0006]在确定所述第一语句为分支语句的情况下,确定所述第一语句是否受到外部条件的干扰;
[0007]在确定所述第一语句受到外部条件的干扰的情况下,对所述第一语句进行分支拉平处理。
[0008]本申请一可选实施方式中,所述方法还包括:
[0009]在确定所述第一语句未受到外部条件的干扰的情况下,确定所述第一语句是否为循环语句;
[0010]在确定所述第一语句为循环语句的情况下,确定所述第一语句对应的循环次数;
[0011]在确定所述循环次数大于第一阈值的情况下,退出所述第一语句对应的循环,并执行第二语句;所述第二语句为所述目标文件中所述第一语句之后的待执行语句。
[0012]本申请一可选实施方式中,所述方法还包括:
[0013]在确定所述循环次数大于第二阈值的情况下,将所述第一语句内部被修改过的变量确定为外部干扰变量,执行所述第一语句内包括的多个分支语句,并在执行所述多个分支语句后,执行所述第一语句之后的第三语句;所述第三语句为所述目标文件中所述第一语句之后的待执行语句。
[0014]本申请一可选实施方式中,所述对所述第一语句进行分支拉平处理,包括:
[0015]忽略所述第一语句对应的外部条件,按照所述第一语句对应的目标代码的顺序执行所述第一语句。
[0016]本申请一可选实施方式中,所述方法还包括:
[0017]在所述第一语句中包括产生时间消耗的时间函数的情况下,将所述时间函数替换为用于减少时间消耗的预设函数。
[0018]本申请一可选实施方式中,在执行目标文件之前,所述方法还包括:
[0019]对待检测文件进行编译得到目标文件;
[0020]对所述目标文件中第一解释器对应的目标代码所对应的函数调用信息进行修改,得到第二解释器;
[0021]相应的,所述执行目标文件包括:
[0022]利用所述第二解释器解释执行所述目标文件。
[0023]本申请一可选实施方式中,所述方法还包括:
[0024]基于对所述目标文件的执行结果确定所述目标文件是否为异常文件。
[0025]本申请实施例还提供了一种文件检测装置,所述装置包括:
[0026]第一确定单元,用于在执行目标文件的情况下,确定所述目标文件中待执行的第一语句是否为分支语句;
[0027]第二确定单元,用于在确定所述第一语句为分支语句的情况下,确定所述第一语句是否受到外部条件的干扰;
[0028]处理单元,用于在确定所述第一语句受到外部条件的干扰的情况下,对所述第一语句进行分支拉平处理。
[0029]本申请一可选实施方式中,所述装置还包括:
[0030]第三确定单元,用于在确定所述第一语句未受到外部条件的干扰的情况下,确定所述第一语句是否为循环语句;
[0031]第四确定单元,用于在确定所述第一语句为循环语句的情况下,确定所述第一语句对应的循环次数;
[0032]退出单元,用于在确定所述循环次数大于第一阈值的情况下,退出所述第一语句对应的循环,并执行第二语句;所述第二语句为所述目标文件中所述第一语句之后的待执行语句。
[0033]本申请一可选实施方式中,所述装置还包括:
[0034]第五确定单元,用于在确定所述循环次数大于第二阈值的情况下,将所述第一语句内部被修改过的变量确定为外部干扰变量,执行所述第一语句内包括的多个分支语句,并在执行所述多个分支语句后,执行所述第一语句之后的第三语句;所述第三语句为所述目标文件中所述第一语句之后的待执行语句。
[0035]本申请一可选实施方式中,所述处理单元,具体用于:忽略所述第一语句对应的外部条件,按照所述第一语句对应的目标代码的顺序执行所述第一语句。
[0036]本申请一可选实施方式中,所述装置还包括:
[0037]替换单元,用于在所述第一语句中包括产生时间消耗的时间函数的情况下,将所述时间函数替换为用于减少时间消耗的预设函数。
[0038]本申请一可选实施方式中,在所述第一确定单元执行目标文件之前,所述装置还包括:
[0039]编译单元,用于对待检测文件进行编译得到目标文件;
[0040]修改单元,用于对所述目标文件中第一解释器对应的目标代码所对应的函数调用信息进行修改,得到第二解释器;
[0041]相应的,所述第一确定单元,具体用于:利用所述第二解释器解释执行所述目标文件。
[0042]本申请一可选实施方式中,所述装置还包括:
[0043]第六确定单元,用于基于对所述目标文件的执行结果确定所述目标文件是否为异常文件。
[0044]本申请实施例还提供了一种电子设备,所述电子设备包括:存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现上述实施例所述的文件检测方法。
[0045]本申请实施例还提供了一种计算机存储介质,所述存储介质上存储有可执行指令,该可执行指令被处理器执行时实现上述实施例所述的文件检测方法。
[0046]本申请实施例的技术方案,通过在执行目标文件的情况下,确定所述目标文件中待执行的第一语句是否为分支语句;在确定所述第一语句为分支语句的情况下,确定所述第一语句是否受到外部条件的干扰;在确定所述第一语句受到外部条件的干扰的情况下,对所述第一语句进行分支拉平处理。如此,能够在攻击文件中存在受到外部条件的干扰的分支语句的情况下,通过对攻击文件中的分支语句进行拉平处理,从而尽可能将攻击文件中的所有语句都执行,降低对攻击文件进行检测时攻击文件中的分支语句被绕过的风险。
附图说明
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件检测方法,其特征在于,所述方法包括:在执行目标文件的情况下,确定所述目标文件中待执行的第一语句是否为分支语句;在确定所述第一语句为分支语句的情况下,确定所述第一语句是否受到外部条件的干扰;在确定所述第一语句受到外部条件的干扰的情况下,对所述第一语句进行分支拉平处理。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在确定所述第一语句未受到外部条件的干扰的情况下,确定所述第一语句是否为循环语句;在确定所述第一语句为循环语句的情况下,确定所述第一语句对应的循环次数;在确定所述循环次数大于第一阈值的情况下,退出所述第一语句对应的循环,并执行第二语句;所述第二语句为所述目标文件中所述第一语句之后的待执行语句。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在确定所述循环次数大于第二阈值的情况下,将所述第一语句内部被修改过的变量确定为外部干扰变量,执行所述第一语句内包括的多个分支语句,并在执行所述多个分支语句后,执行所述第一语句之后的第三语句;所述第三语句为所述目标文件中所述第一语句之后的待执行语句。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对所述第一语句进行分支拉平处理,包括:忽略所述第一语句对应的外部条件,按照所述第一语句对应的目标代码的顺序执行所述第一语句。5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:...

【专利技术属性】
技术研发人员:艾江俊黄忠强
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1