一种检测方法及装置制造方法及图纸

技术编号:33081655 阅读:53 留言:0更新日期:2022-04-15 10:36
本发明专利技术实施例提供一种检测方法及装置。其中,该方法包括:响应于检测到目标模块被调用,检测目标模块中的目标代码,确定目标函数的地址;根据目标函数的地址,通过钩子程序,确定目标函数要加载的接口函数的名称和所述接口函数对应的模块信息;根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,得到敏感名称和敏感模块信息。实现了通过钩子程序,在目标软件的宏代码开始执行任意Win32API函数之前,就可以精准识别和监控此同过此类方式调用的WIndowsAPI,使其产生的安全影响在可控范围之内,极大的提高了防护能力。力。力。

【技术实现步骤摘要】
一种检测方法及装置


[0001]本专利技术涉及信息安全领域,尤其涉及一种检测方法及装置。

技术介绍

[0002]通常,Office宏代码支持声明任意Win32API函数原型,并可以在宏代码中调用该函数,同时也增加了被恶意代码利用的风险,比如申请内存、执行shellcode等。宏代码声明调用任意WindowsAPI攻击的原理是通过宏代码声明调用的方式,调用高危WindowsAPI,比如申请内存、修改内存属性,创建线程,执行shellcode等来调用默认宏语言不支持的高危敏感函数。现有的安全软件基于文件检测技术,通过解析ole格式,对含有宏代码的excel文档文件进行通静态特征匹配,暴力清除Excel文件中宏代码等方式来抵御宏病毒攻击。这种传统的检测方式是基于文件的检测技术,需要解析Office文档格式,并提取出所有宏代码,再做特征匹配,由于宏代码属于脚本语言,很容易做代码混淆,从而躲过特征查杀,因此无法被传统的文件特征匹配检测技术检测到。

技术实现思路

[0003]针对现有技术中的问题,本专利技术实施例提供一种检测方法及装置,实现了通过钩子程序,在Office软件的宏代码开始执行任意Win32API函数之前,就可以精准识别和监控此同过此类方式调用的WIndowsAPI,使其产生的安全影响在可控范围之内,极大的提高了防护能力。
[0004]具体地,本专利技术实施例提供了以下技术方案:
[0005]第一方面,本专利技术实施例提供了一种检测方法,包括:响应于检测到目标模块被调用,检测所述目标模块中的目标代码,确定目标函数的地址;根据所述目标函数的地址,通过钩子程序,确定所述目标函数要加载的接口函数的名称和所述接口函数对应的模块信息;根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,得到敏感名称和敏感模块信息。
[0006]进一步地,所述根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,包括:通过预设的代理函数,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤。
[0007]进一步地,所述根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,得到敏感名称和敏感模块信息之后,还包括:判断策略开关的状态,若是开启状态,则拦截所述敏感名称和敏感模块信息。
[0008]进一步地,所述目标函数包括DllFunctionCall函数,所述目标模块包括VBE模块;以及所述响应于检测到目标模块被调用,检测所述目标模块中的目标代码,确定目标函数的地址,包括:响应于检测到VBE模块被调用,检测所述VBE模块中的目标代码,确定DeclareProlog函数中DllFunctionCall函数的地址。
[0009]进一步地,所述响应于检测到目标模块被调用之前,还包括检测当前进程中
LdrLoadDll函数是否为目标软件进程,若是则检测当前进程是否调用所述目标模块。
[0010]进一步地,所述响应于检测到目标模块被调用,检测所述目标模块中的目标代码,确定目标函数的地址,包括:响应于检测到目标模块被调用,通过搜索预设的二进制特征的方式,检测所述目标模块中的目标代码,确定目标函数的地址,所述预设的二进制特征表示所述目标代码的特征。
[0011]第二方面,本专利技术实施例还提供了一种检测装置,包括:第一处理模块,用于响应于检测到目标模块被调用,检测所述目标模块中的目标代码,确定目标函数的地址;第二处理模块,用于根据所述目标函数的地址,通过钩子程序,确定所述目标函数要加载的接口函数的名称和所述接口函数对应的模块信息;第三处理模块,用于根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,得到敏感名称和敏感模块信息。
[0012]第三方面,本专利技术实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述检测方法的步骤。
[0013]第四方面,本专利技术实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述检测方法的步骤。
[0014]第五方面,本专利技术实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现第一方面所述检测的步骤。
[0015]本专利技术实施例提供的检测方法及装置,本专利技术通过响应于检测到目标模块被调用,检测所述目标模块中的目标代码,确定目标函数的地址;根据所述目标函数的地址,通过钩子程序,确定所述目标函数要加载的接口函数的名称和所述接口函数对应的模块信息;根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,得到敏感名称和敏感模块信息。通过钩子程序,对宏代码调用执行任意WindowsAPI的行为进行精准拦截和识别,可以有效防御利用宏代码声明调用敏感函数的攻击,使其威胁在可控范围内。
附图说明
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本专利技术检测方法实施例流程图;
[0018]图2为Windows32位操作系统中VBE模块调用DllFunctionCall函数应用场景的示意图;
[0019]图3为Windows64位操作系统中VBE模块调用DllFunctionCall函数应用场景的示意图;
[0020]图4拦截VBE模块的DllFunctionCall来获取调用的目标函数地址的一个应用场景的流程示意图;
[0021]图5为本专利技术检测装置实施例结构示意图;
[0022]图6为本专利技术电子设备实体实施例结构示意图。
具体实施方式
[0023]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]图1为本专利技术基于检测方法实施例流程图。如图1所示,本专利技术实施例的方法包括:
[0025]S101,响应于检测到目标模块被调用,检测目标模块中的目标代码,确定目标函数的地址。
[0026]在一些实施例中,目标模块可以是,VBE(Visual Basic Editor)模块,是Excel(特别是Microsoft Office软件)提供的专门用于编辑和调试VBA(Visual Basic for Applications)程序的编辑器。VBA是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种检测方法,其特征在于,所述方法包括:响应于检测到目标模块被调用,检测所述目标模块中的目标代码,确定目标函数的地址;根据所述目标函数的地址,通过钩子程序,确定所述目标函数要加载的接口函数的名称和所述接口函数对应的模块信息;根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,得到敏感名称和敏感模块信息。2.根据权利要求1所述的检测方法,其特征在于,所述根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,包括:通过预设的代理函数,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤。3.根据权利要求1任一所述的检测方法,其特征在于,所述根据预设规则,将所述接口函数的名称和所述接口函数对应的模块信息进行过滤,得到敏感名称和敏感模块信息之后,还包括:判断策略开关的状态,若是开启状态,则拦截所述敏感名称和敏感模块信息。4.根据权利要求1所述的检测方法,其特征在于,所述目标函数包括DllFunctionCall函数,所述目标模块包括VBE模块;以及所述响应于检测到目标模块被调用,检测所述目标模块中的目标代码,确定目标函数的地址,包括:响应于检测到VBE模块被调用,检测所述VBE模块中的目标代码,确定DeclareProlog函数中所述DllFunctionCall函数的地址。5.根据权利要求1所述的检测方法,其特征在于,所述响应于检测到目标模块被调用之前,还包括:检测当前进程中Ldr...

【专利技术属性】
技术研发人员:王丹阳
申请(专利权)人:奇安信安全技术珠海有限公司
类型:发明
国别省市:

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

1