病毒文件的识别方法、装置、设备及存储介质制造方法及图纸

技术编号:22056114 阅读:30 留言:0更新日期:2019-09-07 15:33
本申请公开了一种病毒文件的识别方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:获取至少一个目标文件在运行过程中的桩点数据,桩点数据包括目标文件调用的应用程序编程接口API以及目标文件调用所述API时传输的内容;根据桩点数据生成每个目标文件的行为序列;将行为序列与标准特征序列匹配的目标文件确定为病毒文件。本申请通过获取至少一个目标文件的桩点数据生成每个目标文件的行为序列,将行为序列与标准特征序列匹配的目标文件确定为病毒文件,由于不需要对目标文件进行逆向分析,因此解决了相关技术中难以对加密的目标文件进行逆向分析的问题,提高了识别设备对病毒文件的识别效率。

Recognition Method, Device, Equipment and Storage Medium of Virus Documents

【技术实现步骤摘要】
病毒文件的识别方法、装置、设备及存储介质
本申请涉及计算机
,特别涉及一种病毒文件的识别方法、装置、设备及存储介质。
技术介绍
病毒文件是指插入有恶意代码的计算机文件。终端存储或安装病毒文件后,当终端的运行环境满足恶意代码的触发条件时,会产生相应的破坏行为,例如病毒文件被启动时破坏终端功能,或终端的系统时钟到达预定时刻时窃取用户数据等。为了降低病毒文件对用户的侵害,终端需要对存储的文件进行识别。当确定终端中存储的文件中具有病毒文件后,需要对病毒文件进行隔离或删除。相关技术中,病毒文件的识别是由技术人员对目标文件进行逆向分析实现的。由于部分目标文件被加密,技术人员难以对加密的目标文件进行分析,因此相关技术中在识别加密的病毒文件时的效率较低。
技术实现思路
本申请实施例提供了一种病毒文件的识别方法、装置、设备及存储介质,用以解决相关技术中病毒文件的识别方法并不准确的问题。所述技术方案如下:一方面,本申请实施例提供了一种病毒文件的识别方法,所述方法包括:获取目标文件在运行过程中的桩点数据,所述桩点数据包括所述目标文件调用的应用程序编程接口API以及所述目标文件调用所述API时传输的内容;根据所述桩点数据生成所述至少一个目标文件中每个目标文件的行为序列;将所述行为序列与标准特征序列匹配的目标文件确定为病毒文件,所述标准特征序列是根据样本病毒文件的桩点数据计算得到的。一方面,本申请实施例提供了一种病毒文件的识别方法,所述方法包括:在第一用户界面显示提示信息,所述提示信息用于提示正在对目标文件进行识别;获取所述目标文件调用的API以及所述目标文件调用所述API时传输的内容;在第二用户界面显示识别结果,所述识别结果是根据所述目标文件调用的所述API以及所述目标文件调用所述API时传输的内容得到的。一方面,本申请实施例提供了一种病毒文件的识别装置,所述装置包括:采集单元,用于获取目标文件在运行过程中的桩点数据,所述桩点数据包括所述目标文件调用的应用程序编程接口API以及所述目标文件调用所述API时传输的内容;生成单元,用于根据所述桩点数据生成所述至少一个目标文件中每个目标文件的行为序列;识别单元,用于将所述行为序列与标准特征序列匹配的目标文件确定为病毒文件,所述标准特征序列是根据样本病毒文件的桩点数据计算得到的。一方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的病毒文件的识别方法。一方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的病毒文件的识别方法。本申请实施例提供的技术方案带来的有益效果至少包括:通过获取至少一个目标文件在运行过程中调用的API以及调用API过程中传输的文件得到至少一个目标文件的桩点数据,根据桩点数据生成每个目标文件的行为序列,将行为序列与标准特征序列匹配的目标文件确定为病毒文件,由于行为序列是根据目标文件对API的调用行为和传输内容生成的,不需要对目标文件进行逆向分析,因此解决了相关技术中难以对加密的目标文件进行逆向分析的问题,提高了识别设备对病毒文件的识别效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一个示例性实施例提供的病毒文件的识别方法的实施环境示意图;图2是本申请一个示例性实施例提供的病毒文件的识别方法的流程图;图3是本申请一个示例性实施例提供的病毒文件的识别系统的结构框图;图4是本申请一个示例性实施例提供的病毒文件的识别方法的流程图;图5是本申请一个示例性实施例提供的虚拟操作系统的架构图;图6是本申请一个示例性实施例提供的动态行为采集子模块的工作流程图;图7是本申请一个示例性实施例提供的行为序列生成子模块的工作流程图;图8是本申请一个示例性实施例提供的动态规则引擎子模块的工作流程图;图9是本申请一个示例性实施例提供的病毒文件的识别方法的流程图;图10是本申请一个示例性实施例提供的应用程序的显示界面图;图11是本申请一个示例性实施例提供的病毒文件的识别装置的结构框图;图12是本申请一个示例性实施例提供的终端的结构框图;图13是本申请一个示例性实施例提供的计算机设备的结构框图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。典型的,该病毒文件的识别方法能够应用于如下产品场景:(1)服务器中病毒文件数据库的建立:服务器获取至少一个目标文件后,获取目标文件在运行过程中的桩点数据,其中,桩点数据包括目标文件调用的API以及调用API时传输的内容;根据桩点数据生成至少一个目标文件中每个目标文件的行为序列;将行为序列与标准特征序列匹配的目标文件确定为病毒文件,其中,标准特征序列是根据样本病毒文件的桩点数据计算得到的;根据确定为病毒文件的目标文件建立病毒文件数据库。(2)终端安装的病毒查杀应用程序对病毒文件的识别:终端在获取至少一个目标文件后,获取目标文件在运行过程中的桩点数据;根据桩点数据生成至少一个目标文件中每个目标文件的行为序列;将行为序列与标准特征序列匹配的目标文件确定为病毒文件;对病毒文件进行隔离和/或删除。以下,对本申请实施例中涉及的部分名词进行介绍:应用程序编程接口(ApplicationProgrammingInterface,API):是应用程序中预设的函数,用于向其它应用程序提供访问该应用程序功能的函数接口。示例性的,应用程序可通过调用安卓(Android)操作系统的API实现安卓操作系统的一系列程序功能,例如,应用程序通过调用安卓操作系统中的卫星定位功能对应的API实现定位服务。虚拟操作系统:是在识别设备中生成的其它操作系统的虚拟镜像,进入虚拟操作系统后,所有操作都是在该虚拟操作系统内进行,可以在该虚拟操作系统中独立安装、运行应用程序,保存数据等,不会对该识别设备真正的操作系统产生任何影响。该虚拟操作系统还可认为是在虚拟环境中运行的操作系统,或者,在模拟器中运行的操作系统,或者,在虚拟机中运行的操作系统,本申请实施例对虚拟操作系统的具体形式不加以限定。桩点技术:是通过修改操作系统的源代码,在源代码中添加自定义函数,通过自定义函数记录目标文件对API调用的技术。通过桩点技术,当目标文件调用操作系统的API时,即在设备本地存储目标文件的行为日志,该行为日志存储有目标文件对API的调用行为,以及目标文件在调用API时传输的内容。示例性的,该动态日志记录了目标文件的标识、调用的API以及调用该API时传输的数据,例如,目标文件调用了卫星定位功能对应的API,在行为日志中该调用行为对应的内容包括目标文件的标识、卫星定位功能函数的标识以及目标文件获取到的位置信息。钩子技术(Hook):是本文档来自技高网...

【技术保护点】
1.一种病毒文件的识别方法,其特征在于,所述方法包括:获取目标文件在运行过程中的桩点数据,所述桩点数据包括所述目标文件调用的应用程序编程接口API以及所述目标文件调用所述API时传输的内容;根据所述桩点数据生成所述至少一个目标文件中每个目标文件的行为序列;将所述行为序列与标准特征序列匹配的目标文件确定为病毒文件,所述标准特征序列是根据样本病毒文件的桩点数据计算得到的。

【技术特征摘要】
1.一种病毒文件的识别方法,其特征在于,所述方法包括:获取目标文件在运行过程中的桩点数据,所述桩点数据包括所述目标文件调用的应用程序编程接口API以及所述目标文件调用所述API时传输的内容;根据所述桩点数据生成所述至少一个目标文件中每个目标文件的行为序列;将所述行为序列与标准特征序列匹配的目标文件确定为病毒文件,所述标准特征序列是根据样本病毒文件的桩点数据计算得到的。2.根据权利要求1所述的方法,其特征在于,所述获取目标文件在运行过程中的桩点数据,包括:在虚拟操作系统中安装所述目标文件;在所述虚拟操作系统中运行所述目标文件;获取所述目标文件在所述虚拟操作系统中运行过程中的所述桩点数据,所述桩点数据包括所述目标文件调用所述虚拟操作系统的API以及所述目标文件调用所述API时传输的内容。3.根据权利要求2所述的方法,其特征在于,所述获取所述目标文件在所述虚拟操作系统中运行过程中的所述桩点数据,包括:通过钩子Hook技术向所述虚拟操作系统的源代码中注入自定义代码;通过所述自定义代码将所述源代码中的预设函数替换为自定义函数;通过所述自定义函数截获所述目标文件调用所述预设函数对应的API以及所述目标文件调用预设函数对应的API时传输的内容,获得所述每个目标文件的所述桩点数据。4.根据权利要求2所述的方法,其特征在于,所述获取所述目标文件在所述虚拟操作系统中运行过程中的所述桩点数据,包括:通过所述虚拟操作系统中的自定义函数截获所述目标文件调用所述预设函数对应的API以及所述目标文件调用预设函数对应的API时传输的内容,获得所述每个目标文件的所述桩点数据。5.根据权利要求1或2所述的方法,其特征在于,所述桩点数据还包括所述目标文件调用所述API的时间戳,所述根据所述桩点数据生成所述至少一个目标文件中每个目标文件的行为序列,包括:根据所述目标文件调用的所述API以及所述目标文件调用所述API时传输的内容,按照所述目标文件调用所述API的时间戳的先后顺序,生成所述每个目标文件的行为序列。6.根据权利要求2所述的方法,其特征在于,所述方法还包括:每隔预设时间间隔在所述虚拟操作系统中执行模拟触发事件,所述模拟触发事件是在所述虚拟操作系统中模拟的对所述虚拟操作系统或所述目标文件的操作的事件;获取所述目标文件在执行所述模拟触发事件后的桩点数据。7.根据权利要求6所述的方法,其特征在于,所述每隔预设时间间隔在所述虚拟操作系统中执行模拟触发事件,包括:每隔所述预设时间间隔通过所述虚拟操作系统中的可接入服务插件执行所述模拟触发事件;或,每隔所述预设时间间隔通过所述虚拟操作系统中的测试工具执行所述模拟触发事件。8.根据权利要求2所述的方法,其特征在于,所述在虚拟操作系统中运行所述目标文件,包括:在至少一个版本的虚拟操作系统中...

【专利技术属性】
技术研发人员:陈伟平易洪
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1