脚本文件的病毒检测方法、装置、终端及存储介质制造方法及图纸

技术编号:20026255 阅读:35 留言:0更新日期:2019-01-06 05:02
本申请公开了一种脚本文件的检测方法、装置、终端及存储介质,属于病毒检测领域。所述方法包括:在目标程序的运行过程中,运行预先在该目标程序中注入的监控文件所包括的监控代码,该目标程序是指集成有脚本虚拟机的程序;通过该监控代码的运行,获取至少一个调用函数指针被调用时所使用的方法名和/或脚本参数,该至少一个调用函数指针是指该目标程序运行非PE脚本文件的过程中所调用的自动化对象的分发接口的调用函数指针;基于获取到的方法名和/或脚本参数,对该非PE脚本文件进行病毒检测。本申请实现了对非PE脚本文件的动态病毒检测,无需为非PE脚本文件单独开发脚本虚拟机,减小了脚本虚拟机的开发成本,提高了检测效率。

【技术实现步骤摘要】
脚本文件的病毒检测方法、装置、终端及存储介质
本专利技术涉及病毒检测领域,特别涉及一种脚本文件的病毒检测方法、装置终端及存储介质。
技术介绍
脚本文件是一种计算机编程文件,包括非PE(PortableExecutable,可移植可执行)脚本文件。非PE脚本文件是指不能在终端的操作系统上直接执行、需要借助脚本虚拟机才能执行的脚本文件。一般终端上的WScript(脚本宿主)、浏览器、Office系列软件等程序都集成有脚本虚拟机,能够运行非PE脚本文件。实际应用中,为了保证操作系统的安全性,通常需要对终端中的非PE脚本文件进行病毒检测,以确定非PE脚本文件是否为病毒文件。目前,基本都是通过安全厂商开发的病毒检测软件,并采用静态检测方法对非PE脚本文件进行病毒检测,即采用特征匹配的方式进行病毒检测。由于非PE脚本文件通常会被加密,因此,在进行特征匹配之前,还需要先通过病毒检测软件中集成的脚本虚拟机运行非PE脚本文件,得到解密后的非PE脚本文件,然后再依次从病毒特征库中取出一条病毒特征与解密后的非PE脚本文件进行匹配,检查该非PE脚本文件中是否存在该病毒特征,如果存在,则确定该非PE脚本文件为病毒文件,如果不存在,则继续匹配下一条病毒特征,直至遍历完所有病毒特征为止。但是不同的非PE脚本文件可能使用不同的脚本语言,而一种脚本虚拟机只能解密一种脚本语言的非PE脚本文件,因此为了实现多种脚本语言的非PE脚本文件的病毒检测,也就需要开发多种脚本虚拟机,成本巨大。而且由于脚本虚拟机的代码量往往很大,因此脚本虚拟机也将影响病毒检测软件的检测效率。
技术实现思路
为了解决相关技术中存在的需要开发多种脚本虚拟机,开发成本大且影响运行效率的问题,本专利技术实施例提供了一种脚本文件的病毒检测方法、装置、终端及存储介质。所述技术方案如下:第一方面,提供了一种脚本文件的病毒检测方法,所述方法包括:在目标程序的运行过程中,运行预先在所述目标程序中注入的监控文件所包括的监控代码,所述目标程序是指集成有脚本虚拟机的程序;通过所述监控代码的运行,获取至少一个调用函数指针被调用时所使用的方法名和/或脚本参数,所述至少一个调用函数指针是指所述目标程序运行非可移植可执行PE脚本文件的过程中所调用的自动化对象的分发接口的调用函数指针,所述自动化对象是指集成有分发接口的组件对象模型COM对象;基于获取到的方法名和/或脚本参数,对所述非PE脚本文件进行病毒检测。第二方面,提供了一种脚本文件的病毒检测装置,所述装置包括:运行模块,用于在目标程序的运行过程中,运行预先在所述目标程序中注入的监控文件所包括的监控代码,所述目标程序是指集成有脚本虚拟机的程序;获取模块,用于通过所述监控代码的运行,获取至少一个调用函数指针被调用时所使用的方法名和/或脚本参数,所述至少一个调用函数指针是指所述目标程序运行非可移植可执行PE脚本文件的过程中所调用的自动化对象的分发接口的调用函数指针,所述自动化对象是指集成有分发接口的组件对象模型COM对象;检测模块,用于基于获取到的方法名和/或脚本参数,对所述非PE脚本文件进行病毒检测。第三方面,提供了一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现上述第一方面所述的脚本文件的病毒检测方法。第四方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由处理器加载并执行以实现上述第一方面所述的脚本文件的病毒检测方法。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例中,可以在程序实际运行非PE脚本文件的过程中,通过预先注入的监控文件对调用自动化对象的分发接口的调用函数指针的行为进行监控,并获取所有调用函数指针被调用时所使用的方法名和/或脚本参数,由于非PE脚本文件的恶意行为往往通过在运行过程中调用自动化对象的分发接口的调用函数指针来实现,且调用时所使用的方法名和/或脚本参数能够真实反映恶意行为,因此通过获取到的方法名和/或脚本参数即能够确定该非PE脚本文件是否能够产生恶意行为,实现对非PE脚本文件的病毒检测。也即是,本申请可以在非PE脚本文件所使用的自动化COM组件架构的基础上,通过注入的监控文件实现对非PE脚本文件的动态病毒检测,因此也就无需为非PE脚本文件单独开发支持多种非PE脚本语言的脚本虚拟机,通过运行开发的脚本虚拟机对非PE脚本文件进行病毒检测,从而减小了脚本虚拟机的开发成本,提高了检测效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1A是本专利技术实施例提供的一种脚本文件的病毒检测方法流程图;图1B是一种COM基本原理示意图;图1C是一种脚本虚拟机运行非PE脚本文件的示意图;图1D是本专利技术实施例提供的一种自动化对象的函数指针表的示意图;图2是本专利技术实施例提供的另一种脚本文件的病毒检测方法流程图;图3A是本专利技术实施例提供的一种脚本文件的检测装置的框图;图3B是本专利技术实施例提供的一种获取模块302的结构示意图;图3C是本专利技术实施例提供的另一种脚本文件的检测装置的框图;图3D是本专利技术实施例提供的又一种脚本文件的检测装置的框图;图4是本专利技术实施例提供的一种终端400的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。在对本专利技术实施例进行详细地解释说明之前,先对本专利技术实施例涉及的名词、应用场景和实施环境进行简单说明。首先,对本专利技术实施例涉及的名词进行说明。脚本文件脚本文件是指使用特定的脚本语言,依据一定的格式编写的文件。脚本语言是为了缩短传统的“edit-compile-link-run”(编写、编译、链接、运行)过程而创建的计算机编程语言。PE文件PE文件是一种能够在操作系统上直接执行的程序文件,常见的EXE(ExecutableProgram,可执行程序)、COM(ComponentObjectModel,组件对象模型)、DLL(DynamicLinkLibrary,动态链接库)等都是PE文件,主要使用在32位或64位的Windows等操作系统上。COMCOM是指一种面向对象的编程模式,定义了对象在单个应用程序内部或多个应用程序之间的行为方式,是网页服务器与客户端、增益集与Office系列软件之间交互的一项软件组件技术。自动化对象自动化对象是指集成有IDispatch(分发)接口的COM对象。DLLDLL是指一种软件文件类型,其中包括各种类型的函数。在Windows等操作系统中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于操作系统中。当操作系统执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用。接口接口是指同一计算本文档来自技高网...

【技术保护点】
1.一种脚本文件的病毒检测方法,其特征在于,所述方法包括:在目标程序的运行过程中,运行预先在所述目标程序中注入的监控文件所包括的监控代码,所述目标程序是指集成有脚本虚拟机的程序;通过所述监控代码的运行,获取至少一个调用函数指针被调用时所使用的方法名和/或脚本参数,所述至少一个调用函数指针是指所述目标程序运行非可移植可执行PE脚本文件的过程中所调用的自动化对象的分发接口的调用函数指针,所述自动化对象是指集成有分发接口的组件对象模型COM对象;基于获取到的方法名和/或脚本参数,对所述非PE脚本文件进行病毒检测。

【技术特征摘要】
1.一种脚本文件的病毒检测方法,其特征在于,所述方法包括:在目标程序的运行过程中,运行预先在所述目标程序中注入的监控文件所包括的监控代码,所述目标程序是指集成有脚本虚拟机的程序;通过所述监控代码的运行,获取至少一个调用函数指针被调用时所使用的方法名和/或脚本参数,所述至少一个调用函数指针是指所述目标程序运行非可移植可执行PE脚本文件的过程中所调用的自动化对象的分发接口的调用函数指针,所述自动化对象是指集成有分发接口的组件对象模型COM对象;基于获取到的方法名和/或脚本参数,对所述非PE脚本文件进行病毒检测。2.如权利要求1所述的方法,其特征在于,所述通过所述监控代码的运行,获取至少一个调用函数指针被调用时所使用的方法名和/或脚本参数,包括:通过所述监控代码的运行,获取运行所述非PE脚本文件的过程中需要调用的所有自动化对象的分发接口的函数指针表,每个函数指针表包括对应自动化对象的分发接口的调用函数指针;将获取得到的每个函数指针表中的调用函数指针修改为自定义函数指针;对所述目标程序运行所述非PE脚本文件的过程进行监控;当每监控到所述自定义函数指针在运行所述非PE脚本文件的过程中被调用时,获取调用所述自定义函数指针时所使用的方法名和/或脚本参数。3.如权利要求1所述的方法,其特征在于,所述基于获取到的方法名和/或脚本参数,对所述非PE脚本文件进行病毒检测,包括:确定获取到的方法名对应的操作行为,基于所述操作行为确定所述非PE脚本文件是否为病毒文件;或者,将第一病毒特征库中的特征与获取到的脚本参数依次进行匹配,如果获取到的脚本参数中存在所述第一病毒特征库中的预设数目个特征,则确定所述非PE脚本文件为病毒文件,所述第一病毒特征库中的特征包括脚本参数特征;或者,将第二病毒特征库中的特征与获取到的方法名和脚本参数组成的字符串依次进行匹配,如果组成的字符串中存在所述第二病毒特征库中的预设数目个特征,则确定所述非PE脚本文件为病毒文件,所述第二病毒特征库中的特征包括方法名特征和脚本参数特征。4.如权利要求1所述的方法,其特征在于,所述基于获取到的方法名和/或脚本参数,对所述非PE脚本文件进行病毒检测之后,还包括:若确定所述非PE脚本文件是病毒文件,则结束运行所述非PE脚本文件,和/或,显示提醒信息,所述提醒信息用于提醒所述非PE脚本文件是病毒文件;若确定所述非PE脚本文件不是病毒文件,则基于获取到的方法名和脚本参数调用对应的方法函数,以完成所述非PE脚本文件的运行。5.如权利要求1所述的方法,其特征在于,所述运行预先在所述目标程序中注入的监控文件所包括的监控代码之前,...

【专利技术属性】
技术研发人员:王炳堪崔精兵郭晓龙于涛屈亚鑫张洁烽郭长宇赵子云
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1