掌桥专利:专业的专利平台
掌桥专利
首页

一种自动化样本行为采集方法

文献发布时间:2023-06-19 10:41:48



技术领域

本发明涉及网络安全技术领域,具体涉及一种自动化样本行为采集方法。

背景技术

自动化样本行为采集系统的主要技术是虚拟化资源管理技术和软件行为采集技术。通常情况下,行为采集系统将行为采集程序与待分析样本同时置于可控的运行环境中,启动待分析样本和行为采集程序。收集行为采集程序采集到的行为序列并上传到相关系统中进行进一步分析。

为了实现对大量样本的行为采集。需要对用于完成行为采集的虚拟化环境进行组织与管理。另外,由于待分析样本可能属于恶意样本,具有破坏行为采集环境的操作系统和网络环境的潜在可能。因而自动化样本行为采集系统需要能有效地分配样本行为采集任务,同时正确的探测和处理行为采集环境被破坏的情况。

为解决现有技术存在的问题,公开号为CN102999719的发明专利提供了一种用于对恶意样本行为进行自动化采集并生成API调用报告的系统设计,它通过应用服务器对样本分析任务进行负载均衡。但该技术方案存在一定的技术缺陷,主要提现为:没有考虑恶意样本可能破坏其所运行的客户操作系统和网络环境的情况。比如,如果恶意样本通过系统漏洞破坏了客户操作系统,该系统将无法搜集到样本的任何行为信息,而若恶意样本使用ARP攻击对相连的网络环境进行攻击可能导致整个业务系统瘫痪。 另外,尚无专利和文献提出适合于自动化样本行为采集的虚拟化资源管理和分配策略。

发明内容

本发明的目的针对现有技术存在的缺陷,提出了一种自动化样本行为采集方法,该方法结合自动化样本行为采集的需求特点,设计行为采集所依赖的虚拟化资源的管理和分配策略,并通过特殊设计的心跳机制和网络结构保证样本行为采集环境在运行恶意样本时保持稳定。

所述一种自动化样本行为采集方法包括如下步骤:

步骤一:初始化任务分配器,所述任务分配器通过扫描各个工作服务器,枚举可用于作为行为采集单元的虚拟化资源;

步骤二:初始化双状态分派链表,所述双状态分派链表用于维护特定类型正在进行排队的样本信息与空闲的行为采集单元;

步骤三:初始化日志收集器,所述日志收集器与外部系统相连,所述日志收集器用于接收待处理样本并在样本处理结束后收集样本的行为日志;

步骤四:当所述日志收集器从所述外部系统中接收到新的样本时,根据配置向所述任务分配器申请一个特定类型的所述行为采集单元并阻塞,直到有可用的空闲行为采集单元可用;

步骤五:所述任务分配器检查指定类型的所述双状态链表并根据双状态链表状态执行分配操作;

步骤六:所述日志收集器将待处理样本置入所述行为采集单元中,启动待处理样本和行为记录程序;

步骤七:根据配置,所述日志收集器在第一预设时间后将所述行为采集单元中的日志取出,并通知所述任务分配器释放该行为采集单元;

步骤八:所述任务分配器检查指定类型的双状态链表并根据双状态链表的步骤执行分配操作。

优选的,所述双状态分派链表用于维护相同类型且正在排队的样本信息以及处于空闲状态的行为采集单元,并处于下列两种状态的一种:忙状态,此时所述双状态分派链表存储相同类型的空闲状态的至少一个行为采集单元;空闲状态,此时所述双状态分派链表存储待处理任务。

优选的,所述任务分配器检查指定类型的所述双状态链表并根据双状态链表状态执行分配操作具体操作包括:

所述任务分配器检查双状态分派链表处于忙状态还是空闲状态;

当双状态分派链表处于忙状态时,所述任务分配器将任务添加到双状态分派链表的尾部;

或者,当双状态分派链表处于空闲状态时,分配器从分派链表的尾部取出一个行为采集单元,将其作为空闲的行为采集单元返回给正在等待的日志收集器。

优选的,所述日志收集器运行在任意一个服务器上,并可以通过打开多个进程进行横向扩展。

优选的,所述行为采集单元中的行为记录程序都以一个可配置的时间间隔向所述任务分配器发送心跳数据包;如在可可配置的时间间隔内,所述行为采集单元未向任务分配器传送心跳数据时,判定当前行为采集单元已被破坏。

进一步的,所述心跳数据包包含了所述行为采集单元的唯一标示符

优选的,所述任务分配器设有专门的线程接收所述心跳数据包。

优选的,所述当前行为采集单元已被破坏时:

所述任务分配器向所述当前行为采集单元对应的日志收集器报告行为采集单元已被破坏的事件;

所述任务分配器对当前行为采集单元进行虚拟机复原;

所述任务分配器检查当前行为采集单元对应类型的双状态链表:如果对应的双状态分派链表处于忙状态,任务分配器将会从分派链表的头部取出一个待处理任务,将该行为采集单元分配给那个任务对应的日志收集器;或者,当双状态分派链表处于空闲状态时,任务分配器简单的将该行为采集单元添加到分派链表的尾部。

与现有技术相比本发明提出的技术方案能够在保证系统平稳运行的前提下,对更具破坏性的恶意样本进行行为采集;显著地提高行为采集系统的稳定性;通过设计新的行为采集单元管理方法,提高了任务调度的灵活性,在保证任务处理的公平性基础之上,提高了资源访问局部性,明显地提高了系统性能。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

所述一种自动化样本行为采集方法包括如下步骤:

步骤一:初始化任务分配器,所述任务分配器通过扫描各个工作服务器,枚举可用于作为行为采集单元的虚拟化资源;

步骤二:初始化双状态分派链表,所述双状态分派链表用于维护特定类型正在进行排队的样本信息与空闲的行为采集单元;

步骤三:初始化日志收集器,所述日志收集器与外部系统相连,所述日志收集器用于接收待处理样本并在样本处理结束后收集样本的行为日志;

步骤四:当所述日志收集器从所述外部系统中接收到新的样本时,根据配置向所述任务分配器申请一个特定类型的所述行为采集单元并阻塞,直到有可用的空闲行为采集单元可用;

步骤五:所述任务分配器检查指定类型的所述双状态链表并根据双状态链表状态执行分配操作;

步骤六:所述日志收集器将待处理样本置入所述行为采集单元中,启动待处理样本和行为记录程序;

步骤七:根据配置,所述日志收集器在第一预设时间后将所述行为采集单元中的日志取出,并通知所述任务分配器释放该行为采集单元;

步骤八:所述任务分配器检查指定类型的双状态链表并根据双状态链表的步骤执行分配操作。

优选的,所述双状态分派链表用于维护相同类型且正在排队的样本信息以及处于空闲状态的行为采集单元,并处于下列两种状态的一种:忙状态,此时所述双状态分派链表存储相同类型的空闲状态的至少一个行为采集单元;空闲状态,此时所述双状态分派链表存储待处理任务。

优选的,所述任务分配器检查指定类型的所述双状态链表并根据双状态链表状态执行分配操作具体操作包括:

所述任务分配器检查双状态分派链表处于忙状态还是空闲状态;

当双状态分派链表处于忙状态时,所述任务分配器将任务添加到双状态分派链表的尾部;

或者,当双状态分派链表处于空闲状态时,分配器从分派链表的尾部取出一个行为采集单元,将其作为空闲的行为采集单元返回给正在等待的日志收集器。

优选的,所述日志收集器运行在任意一个服务器上,并可以通过打开多个进程进行横向扩展。

优选的,所述行为采集单元中的行为记录程序都以一个可配置的时间间隔向所述任务分配器发送心跳数据包;如在可可配置的时间间隔内,所述行为采集单元未向任务分配器传送心跳数据时,判定当前行为采集单元已被破坏。

进一步的,所述心跳数据包包含了所述行为采集单元的唯一标示符

优选的,所述任务分配器设有专门的线程接收所述心跳数据包。

优选的,所述当前行为采集单元已被破坏时:

所述任务分配器向所述当前行为采集单元对应的日志收集器报告行为采集单元已被破坏的事件;

所述任务分配器对当前行为采集单元进行虚拟机复原;

所述任务分配器检查当前行为采集单元对应类型的双状态链表:如果对应的双状态分派链表处于忙状态,任务分配器将会从分派链表的头部取出一个待处理任务,将该行为采集单元分配给那个任务对应的日志收集器;或者,当双状态分派链表处于空闲状态时,任务分配器简单的将该行为采集单元添加到分派链表的尾部。

本发明所述技术方案中的双状态分派链表管理样本任务与虚拟机资源具有以下特点:1、双状态分派链表保证链表状态与内容的一致性,又可以为不同状态执行不同的分配策略,提高了策略灵活性;2、采用类似栈式调度方式进行行为采集单元的分配,提高了虚拟资源的访问局部性,从而增强了系统的整体吞吐量。3、采用队列式调度算法进行样本任务管理,保证了任务处理的公平性。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

相关技术
  • 一种自动化样本行为采集方法
  • 一种自动化样本行为采集方法及其装置、系统
技术分类

06120112640629