一种进程名单生成方法和装置与流程

文档序号:20770148发布日期:2020-05-15 19:34阅读:113来源:国知局
一种进程名单生成方法和装置与流程
本发明涉及网络安全
技术领域
,特别涉及一种进程名单生成方法和装置。
背景技术
:目前对网络攻击的主要防护手段是防火墙和入侵检测技术,防火墙作为内网和外网的一道警戒线,有效地阻挡了大部分的恶意攻击。但防火墙的功能是有局限性的,它的防御策略是静态的,且只能阻挡来自于外网的攻击。入侵检测技术有效的弥补了防火墙的缺陷,它可以实时监控服务器状态以判断用户行为是否正常。进程监控是网络安全技术的重要实现环节,许多入侵检测系统和杀毒软件都会有监控服务器进程的功能。然而入侵检测技术对于异常进程检测的时效性较差,且忽略了进程的全局特性,对于单个服务器上的进程独立做检测,忽略了实际业务中使用所有服务器的共性问题。综上所述,目前主要的入侵检测技术都属于人工预设规则,需要人工采集大量数据进行统计,使得人工预设规则的生成效率较低。技术实现要素:本发明提供一种进程名单生成方法盒装置,用以解决相关技术中存在的人工预设异常进程检测规则的方式效率较低问题。第一方面,本发明实施例提供的一种进程名单生成方法包括:确定待检测的服务器正在运行的进程的进程标识;针对任意一个服务器,确定所述服务器对应的至少一个进程集合的权重,其中所述进程集合包含对应的所述服务器正在运行的至少一个进程的进程标识;针对任意一个进程标识,根据包含所述进程标识的进程集合对应的权重,确定所述进程标识对应的正常度,其中所述正常度用于表示各服务器运行同一进程标识对应的进程的频率信息;根据各进程标识对应的正常度生成用于检测异常进程的进程名单。在一种可选的实施方式中,通过下列方式确定所述服务器对应的至少一个进程集合:若所述服务器正在运行的进程只有一个,则将所述进程的进程标识作为所述服务器对应的进程集合;或若所述服务器正在运行的进程有多个,则将多个所述进程的进程标识两两组合形成所述服务器对应的多个进程集合。在一种可选的实施方式中,所述确定所述服务器对应的至少一个进程集合的权重,包括:针对任意一个进程集合,若所述进程集合包含一个进程标识,则确定所述进程集合对应的权重为预设权重;或针对任意一个进程集合,若所述进程集合包含两个进程标识,则将所述服务器正在运行的进程数量与所有服务器正在运行的进程总数量的比值作为所述进程集合的权重。在一种可选的实施方式中,所述根据包含所述进程标识的进程集合对应的权重,确定所述进程标识对应的正常度,包括:根据包含所述进程标识的进程集合对应的权重,对所述进程标识对应的正常度进行多次迭代,直至满足预设条件后停止迭代,其中所述预设条件为迭代次数大于第一阈值和/或至少x个进程标识对应的当前迭代得到的正常度与上一次迭代得到的正常度的差值小于第二阈值,x为正整数;将最后一次迭代得到的正常度作为所述进程标识对应的正常度,其中每次迭代过程为:针对任意一个进程标识,根据包含所述进程标识的各进程集合对应的权重,确定所述进程标识在各进程集合中的目标值;将所述进程标识在各进程集合中的目标值之和作为所述进程标识对应的正常度。在一种可选的实施方式中,所述根据包含所述进程标识的各进程集合对应的权重,确定所述进程标识在各进程集合中的目标值,包括:针对包含所述进程标识的任意一个进程集合,若所述进程集合包含两个进程标识,则将所述进程集合对应的权重与所述进程集合中其它进程标识对应的最新正常度的乘积,作为所述进程标识在所述进程集合中的目标值,其中所述最新正常度为上一次迭代得到的正常度,若本次迭代为第一次迭代则所述最新正常度为预设的正常度;或若所述进程集合包含一个进程标识,则将所述进程集合的权重与预设值的乘积作为所述进程标识在所述进程集合中的目标值。在一种可选的实施方式中,所述进程名单包含进程白名单,所述根据各进程标识对应的正常度生成用于检测异常进程的进程名单,包括:对各进程标识对应的正常度进行排序,根据排序结果选取正常度最高的n个进程标识生成进程白名单,n为正整数;或根据正常度高于第三阈值的进程标识生成进程白名单;和/或所述进程名单包含进程黑名单,所述根据各进程标识对应的正常度生成用于检测异常进程的进程名单,包括:对各进程标识对应的正常度进行排序,根据排序结果选取正常度最低的m个进程标识生成进程黑名单,m为正整数;或根据正常度低于第四阈值的进程标识生成进程黑名单。第二方面,本发明实施例提供的一种进程名单生成装置包括:第一确定单元,用于确定待检测的服务器正在运行的进程的进程标识;第二确定单元,用于针对任意一个服务器,确定所述服务器对应的至少一个进程集合的权重,其中所述进程集合包含对应的所述服务器正在运行的至少一个进程的进程标识;第三确定单元,用于针对任意一个进程标识,根据包含所述进程标识的进程集合对应的权重,确定所述进程标识对应的正常度,其中所述正常度用于表示各服务器运行同一进程标识对应的进程的频率信息;名单生成单元,用于根据各进程标识对应的正常度生成用于检测异常进程的进程名单。在一种可选的实施方式中,所述第二确定单元还用于通过下列方式确定所述服务器对应的至少一个进程集合:若所述服务器正在运行的进程只有一个,则将所述进程的进程标识作为所述服务器对应的进程集合;或若所述服务器正在运行的进程有多个,则将多个所述进程的进程标识两两组合形成所述服务器对应的多个进程集合。在一种可选的实施方式中,所述第二确定单元具体用于:针对任意一个进程集合,若所述进程集合包含一个进程标识,则确定所述进程集合对应的权重为预设权重;或针对任意一个进程集合,若所述进程集合包含两个进程标识,则将所述服务器正在运行的进程数量与所有服务器正在运行的进程总数量的比值作为所述进程集合的权重。在一种可选的实施方式中,所述第三确定单元具体用于:根据包含所述进程标识的进程集合对应的权重,对所述进程标识对应的正常度进行多次迭代,直至满足预设条件后停止迭代,其中所述预设条件为迭代次数大于第一阈值和/或至少x个进程标识对应的当前迭代得到的正常度与上一次迭代得到的正常度的差值小于第二阈值,x为正整数;将最后一次迭代得到的正常度作为所述进程标识对应的正常度,其中每次迭代过程为:针对任意一个进程标识,根据包含所述进程标识的各进程集合对应的权重,确定所述进程标识在各进程集合中的目标值;将所述进程标识在各进程集合中的目标值之和作为所述进程标识对应的正常度。在一种可选的实施方式中,所述第三确定单元具体用于:针对包含所述进程标识的任意一个进程集合,若所述进程集合包含两个进程标识,则将所述进程集合对应的权重与所述进程集合中其它进程标识对应的最新正常度的乘积,作为所述进程标识在所述进程集合中的目标值,其中所述最新正常度为上一次迭代得到的正常度,若本次迭代为第一次迭代则所述最新正常度为预设的正常度;或若所述进程集合包含一个进程标识,则将所述进程集合的权重与预设值的乘积作为所述进程标识在所述进程集合中的目标值。在一种可选的实施方式中,所述进程名单包含进程白名单,所述名单生成单元具体用于:对各进程标识对应的正常度进行排序,根据排序结果选取正常度最高的n个进程标识生成进程白名单,n为正整数;或根据正常度高于第三阈值的进程标识生成进程白名单;和/或所述进程名单包含进程黑名单,所述名单生成单元具体用于:对各进程标识对应的正常度进行排序,根据排序结果选取正常度最低的m个进程标识生成进程黑名单,m为正整数;或根据正常度低于第四阈值的进程标识生成进程黑名单。第三方面,本发明实施例还提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现本发明实施例第一方面中任一项所述的进程名单生成方法。第四方面,本发明实施例还提供一种非易失性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本发明实施例第一方面中任一项所述的进程名单生成方法。第五方面,本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本发明实施例上述第一方面以及第一方面任一可能涉及的方法。本发明的实施例提供的技术方案至少带来以下有益效果:由于本发明实施例中,获取到待检测的服务器正在运行的进程的进程标识后,则将进程标识划分为进程集合,根据进程集合确定进程标识的正常度,其中正常度用于表示各服务器运行同一进程标识对应的进程的频率信息,考虑到大多数情况下在服务器中比较流程的进程不会是异常进程,因而在很多服务器都运行同一进程标识对应的进程时,表明服务器运行同一进程标识对应的进程的频率较高,此时该进程标识的正常度会相对较高,因而实现了一种根据各进程标识的正常度生成进程名单的方法,能够自动生成进程名单,与通过人工进行大量统计得到预设规则的方式相比,效率更高。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种进程名单生成方法的流程图;图2为本发明实施例提供的一种进程标识与服务器的关系示意图;图3为本发明实施例提供的一种进程无向图示意图;图4为本发明实施例提供的一种带权重的进程无向图示意图;图5为本发明实施例提供的一种检测服务器中异常进程的方法的示意图;图6为本发明实施例提供的一种异常进程检测的完整方法流程图;图7为本发明实施例提供的一种进程名单生成装置示意图;图8为本发明实施例提供的一种电子设备框图;图9为本发明实施例提供的一种计算装置框图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。下面对文中出现的一些词语进行解释:1、本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。2、本发明实施例中术语“进程”,是系统动态执行操作的基本单位,服务器中的进程不仅是程序的动态实现,还包括对资源的调度和分配活动。服务器中任何恶意程序的执行都会启动相应的异常进程,如木马病毒、蠕虫、僵尸网络和ddos(distributeddenialofservice,分布式拒绝服务)攻击等恶意攻击都会事先在服务器中安插后门进程。如果能在恶意程序执行初期检测出服务器中的相应异常进程,并采取一定的措施,就能避免遭受更大的损失。3、本发明实施例中术语“范式化(normalization)”,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。更直观解释就是寻找对象之间的关系,通过某种方式将关系之间进行映射,减少数据之间的冗余,优化增删改查操作。4、本发明实施例中术语“streamsets”,是一个侧重数据集成、数据加工流程构建的平台,也是一个开源的产品。通过streamsets,用户可以方便的接入不同的数据源,并且完成数据加工流程的构建。steamsets有可视化的数据流构建工具,并且能够对运行态的数据应用进行监控。5、本发明实施例中术语“kafka”,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像hadoop的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。kafka的目的是通过hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。6、本发明实施例术语“系统日志(syslog)协议”,是在一个ip(internetprotocol,网络之间互连的协议)网络中转发系统日志信息的标准。syslog记录着系统中的任何事件,管理者可以通过查看系统记录随时掌握系统状况。系统日志通过syslog进程记录系统的有关事件,也可以记录应用程序运作事件。通过适当配置,还可以实现运行syslog协议的机器之间的通信。通过分析这些网络行为日志,可追踪和掌握与设备和网络有关的情况。本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。下面首先对本发明实施例的设计思想进行简要介绍:在相关技术方案中,常用于检测异常进程的人工预设规则有以下几种:一、人工配置进程黑白名单;二、预先配置进程及其合法执行路径集合。具体的,首先确定系统中正在运行的进程集合对应的执行程序;进一步判断执行程序的路径是否属于预设的合法路径,若否,则表明执行程序对应的进程异常,并进行标记。三、预设特征码,采用了同一病毒或同类病毒的某一部分代码相同的原理。具体的,对已知病毒分析、查解的查毒技术,其主要根据单纯的病毒特征码对文件或内存进行扫描匹配,匹配成功则报告相应特征码对应的病毒类型名。然而,相关的技术方案都属于通过人工预设规则判断异常进程,这种方式在当下海量应用、多业务场景的模式下很难适应,且效率较低。有鉴于此,本发明实施例提出了一种进程名单生成方法和装置,通过对待检测的服务器正在运行的进程进行检测,自动生成进程名单,很大程度上提高了进程名单的生成效率,并且基于所有服务器正在运行的进程生成,考虑了进程的全局特性,提高进程名单的可靠性。针对上述场景,下面结合说明书附图对本发明实施例做进一步详细描述。如图1所示,本发明实施例的一种进程名单生成方法,具体包括以下步骤:步骤100:确定待检测的服务器正在运行的进程的进程标识;在本发明实施例中,进程标识可以是进程名,也就是进程的名称。在一种可选的实施方式中,通过对当前进程日志进行特征提取进程数据,包括进程名和ip地址信息。其中ip地址信息是用于确定运行某一进程的服务器的,因而基于提取到的进程名和ip地址,则可确定待检测的各服务器正在运行的进程的进程标识。步骤101:针对任意一个服务器,确定服务器对应的至少一个进程集合的权重,其中进程集合包含对应的服务器正在运行的至少一个进程的进程标识;步骤102:针对任意一个进程标识,根据包含进程标识的进程集合对应的权重,确定进程标识对应的正常度;其中,正常度用于表示各服务器运行同一进程标识对应的进程的频率信息。在本发明实施例中,频率信息不是指根据同一进程标识对应的进程被运行的次数直接确定的一个频率值,而是一个通过加权得到的频率值,是与各服务器运行同一进程标识对应的进程的频率相关的信息。例如,服务器1运行的进程的进程标识为a、b、c,服务器2运行的进程的进程标识为b、c,服务器3运行的进程的进程标识为a、b。一般情况下,若很多服务器都运行同一个进程标识对应的进程,则该进程标识对应的进程被运行的频率较高,例如进程标识b对应的进程,其实该进程标识的正常度也相对较高,但是在本发明实施例中,进程标识b的正常度与进程标识a、c相比不一定是最高的,还与权重相关,也就是包含进程标识b的进程集合对应的正常度。步骤103:根据各进程标识对应的正常度生成用于检测异常进程的进程名单。通过上述方案,获取到待检测的服务器正在运行的进程的进程标识后,则将进程标识划分为进程集合,根据进程集合确定进程标识的正常度,其中正常度用于表示各服务器运行同一进程标识对应的进程的频率信息,也就是某一进程标识对应的进程为正常进程的可能性,考虑到大多数情况下在服务器中比较流程的进程不会是异常进程,因而在很多服务器都运行同一进程标识对应的进程时,表明服务器运行同一进程标识对应的进程的频率较高,此时该进程标识的正常度会相对较高,因而实现了一种根据各进程标识的正常度生成进程名单的方法,能够自动生成进程名单,与通过人工进行大量统计得到预设规则的方式相比,效率更高。如图2所示为本发明实施例示出的一种服务器与进程的关系示意图,其中示出的服务器有7个,分别为:web(worldwideweb,万维网)服务器1、web服务器2、文件服务器、数据库服务器、应用服务器1、应用服务器2、电子商务服务器;示出的进程名有12个,分别为:init、bash、su、systemd、proxy、java、netns、postgres、sshd、ps、vi、firefox。这些是本发明实施例中所列举的linux系统中一些常见的进程名。由图2可知,其中web服务器1运行的进程为:init、bash、su、systemd、proxy、postgres、vi;web服务器2运行的进程为:init、bash、su、systemd、java、netns;文件服务器运行的进程为:init、su、systemd、proxy、java、ps;数据库服务器运行的进程为:init、bash、systemd、proxy、netns、postgres、sshd、firefox;应用服务器1运行的进程为:init、proxy、java、netns、postgres、sshd、vi、firefox;应用服务器2运行的进程为:init、postgres、sshd、ps、firefox;电子商务服务器运行的进程为:init、netns、sshd、ps、vi、firefox。其中,服务器与服务器之间有大量重复的进程,即同一个进程名对应的进程可能在多台服务器中运行。大多数在服务器中比较流行的进程是合法进程,如系统进程和流行的第三方服务程序启动的进程和常见的用户启动的进程。例如图2中的进程init,就是linux系统操作中不可缺少的程序之一,在图2所示的7个服务器中都有运行进程名为init的进程,它是一个由内核启动的用户级进程。内核会在过去曾使用过init的几个地方查找它,对linux系统来说,它的正确位置是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以init始终是第一个进程,其进程编号始终为1。在本发明实施例中,针对任意一个服务器,在确定该服务器对应的至少一个进程集合时,可以有以下几种可选的实施方式:方式一、若服务器正在运行的进程只有一个,则将进程的进程标识作为服务器对应的进程集合。例如服务器4中正在运行的进程只有a,服务器5中正在运行的进程有a、b、c,则针对服务器1,对应的进程集合只有1个{a}。在本发明实施例中,任意一个进程集合,若该进程集合包含一个进程标识,则确定进程集合对应的权重为预设权重,例如预设权重为0。可选的,也可根据该服务器运行进程的数量,与所有服务器运行进程的总数量的比值确定,则服务器1对应的进程集合{a}的权重为1/4,服务器2对应的进程集合的权重为3/4。需要说明的是,一般情况下一个服务器中正在运行的进程一般都会大于1个,若仅有1个进程,且其它服务器中也不运行该进程时,则该进程为异常进程的可能性较大,该进程的进程标识对应的正常度也就相对较低,可直接将该进程加入进程黑名单。方式二、若服务器正在运行的进程有多个,则将多个进程的进程标识两两组合形成服务器对应的多个进程集合。可选的,可通过当前进程日志特征提取进程数据,包括:ip地址和进程名,其中通过ip地址则可确定运行某一进程的服务器,也就是服务器的ip地址,因而则可确定待检测的服务器正在运行的进程的进程标识。在一种可选的实施方式中,可基于进程数据构建无向图,其中无向图的顶点表示进程标识,也就是各个进程名,两顶点之间存在边的唯一条件是:两顶点对应进程存在于同一台服务器。假设有三台服务器s1、s2、s3,对应包含进程如下表所示。表1服务器进程名s1a、b、cs2b、cs3a、b其中,服务器s1中正在运行的进程的进程名为a、b、c三个,服务器s2中正在运行的进程的进程名为b、c,服务器s3中正在运行的进程的进程名为a、b。显然,进程a与进程b存在于同一台服务器s1、s3,因而顶点a、b之间有两条边;进程b与进程c存在于同一台服务器s1、s2,因而顶点b、c之间也有两条边;进程a与进程c存在于同一台服务器s1,因而顶点a、c之间仅有一条边。如图3所示,为本发明实施例提出的一种根据表1所示的数据构建的进程无向图的示意图。其中,图3所示的无向图上每条边都对应一个进程集合。因而,针对服务器1,该服务器对应有3个进程集合,分别为{a、b},{b、c},{a、c};针对服务器2,该服务器对应有1个进程集合{b、c};针对服务3,改服务器对应有1个进程集合{a、b}。在本发明实施例中,针对任意一个进程集合,若进程集合包含两个进程标识,则将服务器正在运行的进程数量与所有服务器正在运行的进程总数量的比值作为进程集合的权重,也就是无向图中各边对应的权重。例如,wij(sm)为边的权重,其中,sm表示服务器,i与j表示边的两个顶点,也就是进程标识。在本发明实施例中,每条边的权重大小受服务器sm进程数量的影响,计算公式如下,即当前服务器进程数占所有服务器进程总数之比:其中,nsm代表sm服务器的所有进程数;表示所有服务器进程数累加,s为所有服务器(k=1,2,3)。因此,针对服务器s1,ab边、bc边、ac边的权重为3/7;针对服务器s2,bc边的权重为2/7;针对服务器s3,ab边的权重为2/7。如图4所示,为本发明实施例示出的一种带权重的进程无向图。依据图4,可对各顶点,也就是各进程标识的正常度进行计算。具体计算方式如下:根据包含进程标识的进程集合对应的权重,对进程标识对应的正常度进行多次迭代,直至满足预设条件后停止迭代,将最后一次迭代得到的正常度作为进程标识对应的正常度。其中,预设条件为迭代次数大于第一阈值和/或至少x个进程标识对应的当前迭代得到的正常度与上一次迭代得到的正常度的差值小于第二阈值,x为正整数。例如,第一阈值为5,当迭代次数达到5次时,则停止迭代,并将第5次迭代得到的正常度作为相应的进程标识对应的正常度,也就是用于生成进程名单的正常度。或者,一共有10个进程标识,x为8,当第5次迭代后,有7个进程标识对应的正常度与第4次迭代得到的正常度的差值小于第二阈值,则仍可继续迭代;假设第6次迭代后有8个进程标识对应的正常度与第5次迭代得到的正常度的差值小于第二阈值,则可不再进行第7次迭代,将第6次迭代得到的正常度作为相应的进程标识对应的正常度。需要说明的是,上述实施例中的预设条件是指针对所有进程标识的正常度而言,全部进程标识对应的正常度都停止迭代的条件。然而,针对任意一个进程标识,当该进程标识相邻两次迭代得到的正常度的差值小于第二阈值时,也可直接停止对该进程标识正常度的迭代,继续其它进程正常度的迭代计算。例如上述实施例中列举的第5次迭代时,有7个进程标识对应的正常度与第4次迭代得到的正常度的差值小于第二阈值,则在第6次迭代的过程中,这7个进程标识的正常度可保持不变,不再进行迭代,而是对其余3个进行标识的正常度继续进行迭代计算。可选的,每次迭代过程为:针对任意一个进程标识,根据包含该进程标识的各进程集合对应的权重,确定进程标识在各进程集合中的目标值;将进程标识在各进程集合中的目标值之和作为进程标识对应的正常度。在一种可选的实施方式中,根据包含进程标识的各进程集合对应的权重,确定进程标识在各进程集合中的目标值时,具体过程如下:针对包含进程标识的任意一个进程集合,若进程集合包含一个进程标识,则将进程集合的权重与预设值的乘积作为进程标识在进程集合中的目标值。在本发明实施例中,一般预设值为0,这样可以使得进程标识a的正常度较小。以进程集合{a}为例,在计算进程标识a在该进程集合中的目标值时,若{a}对应的权重为预设权重0,则目标值为0;若{a}对应的权重为1/4,则目标值为1/4*0=0。若进程集合包含两个进程标识,则将进程集合对应的权重与进程集合中其它进程标识对应的最新正常度的乘积,作为进程标识在进程集合中的目标值,其中最新正常度为上一次迭代得到的正常度,若本次迭代为第一次迭代则最新正常度为预设的正常度。需要说明的是,在本发明实施例中,每一次迭代过程中代入公式的都是最新正常度。下面主要以进程集合中包含两个进程标识为例,对确定进程标识对应的正常度的过程进行详细说明。假设用rank表示进程标识的正常度,缩写为r。通过每个顶点拥有的边集加权值得出每个进程标识i的正常度假设每个进程标识的rank值初始化为1,也就是第一次迭代时用到的预设的正常度为1。其中,每个进程标识的正常度的计算公式如下:式中,in(processi)为与进程标识processi有边关系的进程标识的集合,也就是由包含进程标识i的进程集合中的其它进程标识所组成的集合;sm为某台服务器,s为所有服务器;wij(sm)为边的权重。在本发明实施例中,进程标识i在各进程集合{i,j}中的目标值则指其中wij(sm)为针对服务器sm,进程集合{i,j}对应的权重;为进程标识j对应的最新正常度,在第一次迭代过程中,以进程标识i为a为例,则in(processi)中的进程标识有b和c;以进程标识i为b为例,则in(processi)中的进程标识有a和c;以进程标识i为c为例,则in(processi)中的进程标识有a和b。因而,在第一次迭代过程中:将新求得的各个进程名的rank值重新代入上述公式进行迭代n次计算,直至某一进程标识对应的正常度收敛,则可停止对该进程标识的正常度的迭代,其中收敛条件为该进程标识对应的本次rank值较上一次rank值的差低于第二阈值ε。在第二次迭代过程中:假设ε为0.001,则对于两次迭代差值约为0.629;对于两次迭代差值为0.865;对于两次迭代差值约为0.886;显然都不小于第二阈值ε,因而需要继续进行迭代。假设第5次迭代后,对于与第4次迭代差值约为0.0009;对于与第4次迭代差值为0.002;对于与第4次迭代差值约为0.0013。其中,两次迭代差值小于第二阈值,而与两次迭代差值都不小于第二阈值,因而对于进程标识a的正常度,则可不再进行迭代,其值为最新一次迭代,也就是第5次迭代得到的最新正常度而对于进程标识b与进程标识c,则仍需要继续进行迭代,所以,在第6次迭代过程中,计算与时代入的为第5次迭代得到的假也就是停止对进程标识a的正常度的迭代,而继续对进程标识b与c的正常度的迭代。假设在6次迭代后,对于与第5次迭代差值约为0.0013;对于与第5次迭代差值约为0.0009;因而对于进程标识c的正常度,则可不再进行迭代,其值为最新一次迭代,也就是第6次迭代得到的最新正常度而对于进程标识b,由于下一次迭代过程中进程标识a与进程标识c的正常度都不再发生变化,因而进程标识b的正常度也不再发生变化,因而则也无需继续进行迭代,直接将第6次迭代得到的作为进程标识b的正常度。也就是停止进程标识b与c的正常度的迭代。可选的,若第5次迭代后,对于进程标识a、b、c,两次迭代的正常度差值都不小于第二阈值,但是第一阈值为5,也就是说迭代次数达到上限,所以可停止迭代,将第5次迭代得到的分别作为进程标识a、b、c的正常度。可选的,进程名单可以仅包含进程白名单或进程黑名单,也可以既包含进程黑名单又包含进程白名单。在一种可选的实施方式中,若进程名单包含进程白名单,则根据各进程标识对应的正常度生成用于检测异常进程的进程名单时,可有如下两种方式:方式一、对各进程标识对应的正常度进行排序,根据排序结果选取正常度最高的n个进程标识生成进程白名单,n为正整数。例如,本次统计共有12个进程标识,分别为:a、b、c、d、e、f、g、h、i、j、k、l,且这12个进程标识的正常度依次为:a>b>c>d>e>f>g>h>i>j>k>l。假设n=6,则进程白名单中包含进程标识a、b、c、d、e、f,也就是某一服务器运行的进程y的进程标识为这6个标识中的任意一个时,表明进程y不是异常进程。方式二、根据正常度高于第三阈值的进程标识生成进程白名单。假设第三阈值为2,进程标识f对应的正常度为2.5;进程标识g对应的正常度为1.9,也就是说正常度高于2的进程标识有a~f,则进程白名单中包含进程标识a~f。在一种可选的实施方式中,若进程名单包含进程黑名单,则根据各进程标识对应的正常度生成用于检测异常进程的进程名单时,可有如下两种方式:方式一、对各进程标识对应的正常度进行排序,根据排序结果选取正常度最低的m个进程标识生成进程黑名单,m为正整数。可选的,n+m的值应该等于所有进程标识的总数量,以避免进程白名单与进程黑名单中包含同一进程标识。假设m=6,则进程黑名单中包含的进程标识为g、h、i、j、k、l,若某一服务器运行的进程y的进程标识为这6个标识中的任意一个时,表明进程y为异常进程。方式二、根据正常度低于第四阈值的进程标识生成进程黑名单。可选的,第三阈值于第四阈值可以相同,以避免进程白名单与进程黑名单中包含同一进程标识。假设第四阈值为2,进程标识f对应的正常度为2.5;进程标识g对应的正常度为1.9,也就是说正常度低于2的进程标识有g~l,则进程黑名单中包含进程标识g~l。在一种可选的实施方式中,若进程黑名单与进程白名单中包含同一进程标识时,则以进程黑名单准,将该进程标识从进程白名单中删除;或者是进行人工校正,根据经验判断该进程标识应该属于进程黑名单还是进程白名单,进而对进程名单进行调整。需要说明的是,上述实施例中所列举的生成进程白名单的两种实施方式中的任意一种可与生成进程黑名单的两种方式中的任意一种相结合,此外,上述只是举例说明,还可根据正常度降序的方式进行排序,根据排序结果选取前α%的进程标识生成进程白名单,选取除前α%外的进程标识生成进程黑名单等。参阅图5所示,为本发明实施例提供的检测服务器中异常进程的方法的示意图,图中主要包括两部分:进程数据离线学习生成进程名单阶段,以及异常进程在线检测阶段。在本发明实施例中,生成进程名单时也可周期采集进程日志数据,实现进程名单的更新,随着周期的推移,采集到的日志数据越来越多,可使进程名单越来越完善。其中,进程数据离线学习生成进程名单阶段,包括:当前进程日志特征提取和构建无向图。由图可知,日志数据源包括agent、ftp(filetransferprotocol,文件传输协议)、syslog、用户手工上传几种方式。例如,可通过服务器节点部署agent,实现采集相关数据;可根据ftp采集,可根据syslog采集;或者直接由用户上传等。需要说明的是,本发明实施例中所列举的采集当前进程日志数据的方式只是举例说明,任何一种采集当前进程日志数据的方式都适用于本发明实施例。其中,图5所示在采集进程日志数据后,对进程日志数据进行数据范式化处理,通过streamsets做数据清洗、范式化,为后面的持久化处理数据。之后进行数据持久化处理,将进程日志数据储存在hdfs(hadoopdistributedfilesystem,分布式文件系统)上,作为进程数据离线学习的数据源。之后则可进行离线训练,生成进程名单,具体实现方式可参见上述实施例,通过进程日志数据提取进程数据,包括ip地址和进程名,也就是确定各服务器中正在运行的进程的进程标识;进一步计算各进程标识对应的正常度,根据正常度生成进程名单。在本发明实施例中,异常进程在线检测阶段,包括:实时进程数据特征提取,以及进程名单过滤产生异常。其中,实时进程数据特征提取包括在线检测阶段实时提取进程数据,包括:ip地址和进程名;进程名单过滤产生异常指通过进程名单,对提取到的进程数据进行过程,检测其中的异常进程。图5所示,通过离线训练得到的进程名单为进程白名单,并通过人工配置的方式配置了进程黑名单,将进程黑名单与进程白名单相结合进行异常进程的检测。在本发明实施例中,当根据各进程标识的正常度生成的进程名单包括进程白名单,不包括进程黑名单时,在线检测阶段提取出进程名与ip地址后,可直接与进程白名单中的进程标识进行匹配,若某进程标识匹配不成功,则表明该进程标识对应的进程为异常进程,生成告警。在本发明实施例中,考虑到在有些异常进程已经感染了大部分服务器的情况下,该部分异常进程的正常度可能会比较高,当根据进程标识对应的正常度确定进程白名单时,该部分异常进程中有可能会有进程标识存在于进程白名单的情况,该方式下可把一些已知的异常进程配置成进程黑名单,与进程白名单结合,对异常进程进行检测时,先过滤进程黑名单,若有与进程黑名单匹配的进程,则生成告警;进一步再过滤进程白名单,若有与进程白名单不匹配的进程,则可生成告警,避免训练阶段生成的进程白名单误报,克服了单纯规则误报、漏报太高的缺点,提高检测的准确率。可选的,当根据各进程标识的正常度生成的进程名单包括进程黑名单,不包括进程白名单时,则可在线检测阶段提取出进程名与ip地址后,直接与进程黑名单中的进程标识进行匹配,若某进程标识匹配成功,则表明该进程标识对应的进程为异常进程,生成告警。可选的,也可人工配置白名单,与进程黑名单结合,对异常进程进行检测,避免训练阶段生成的进程黑名单误报,克服了单纯规则误报、漏报太高的缺点,提高检测的准确率。当根据各进程标识的正常度生成的进程名单既包括进程白名单,又包括进程黑名单时,则可将与进程黑名单匹配的进程标识,以及与进程白名单不匹配的进程标识所对应的进程确定为异常进程,生成告警,克服了单纯规则误报、漏报太高的缺点,提高检测的准确率。该方式下,进程黑名单与进程白名单可以在一张名单中生成,即进程黑白名单,在进程黑白名单中可通过不同的标记字段区分属于进程黑名单的进程标识与属于进程白名单的进程标识。需要说明的是,上述实施例中所列举的检测方式只是举例说明,任何一种依据本发明实施例中的进程白名单和/或进程黑名单进行异常进程检测的方式都适用于本发明实施例。如图6所示,本发明实施例提供的一种进程名单生成的完整方法包括:步骤600、对当前进程日志进程特征提取,确定待检测的服务器正在运行的进程的进程名和ip地址;步骤601、基于提取到的进程名和ip地址构建无向图;步骤602、计算无向图中每一条边对应的权重得到带权重的无向图;步骤603、根据带权重的无向图计算各进程名对应的正常度;步骤604、将所有进程名对应的正常度进程排序,选择前百分之α生成进程白名单;步骤605、将生成的进程白名单发布到线上,实时对进程数据进行特征提取,确定待检测的服务器当前正在运行的进程的进程名和ip地址;步骤606:判断确定的进程的进程数据与人工配置的进程黑名单是否匹配,如果是,则执行步骤607,否则,执行步骤608;步骤607:生成告警。步骤608、判断确定的进程的进程白名单是否匹配,如果是,则结束本流程,否则,执行步骤609;步骤609:生成告警。基于相同的发明构思,本发明实施例中还提供了一种进程名单生成装置700,参阅图7所示,该装置包括:第一确定单元701,用于确定待检测的服务器正在运行的进程的进程标识;第二确定单元702,用于针对任意一个服务器,确定服务器对应的至少一个进程集合的权重,其中进程集合包含对应的服务器正在运行的至少一个进程的进程标识;第三确定单元703,用于针对任意一个进程标识,根据包含进程标识的进程集合对应的权重,确定进程标识对应的正常度,其中正常度用于表示各服务器运行同一进程标识对应的进程的频率信息;名单生成单元704,用于根据各进程标识对应的正常度生成用于检测异常进程的进程名单。在一种可选的实施方式中,第二确定单元702还用于通过下列方式确定服务器对应的至少一个进程集合:若服务器正在运行的进程只有一个,则将进程的进程标识作为服务器对应的进程集合;或若服务器正在运行的进程有多个,则将多个进程的进程标识两两组合形成服务器对应的多个进程集合。在一种可选的实施方式中,第二确定单元702具体用于:针对任意一个进程集合,若进程集合包含一个进程标识,则确定进程集合对应的权重为预设权重;或针对任意一个进程集合,若进程集合包含两个进程标识,则将服务器正在运行的进程数量与所有服务器正在运行的进程总数量的比值作为进程集合的权重。在一种可选的实施方式中,第三确定单元703具体用于:根据包含进程标识的进程集合对应的权重,对进程标识对应的正常度进行多次迭代,直至满足预设条件后停止迭代,其中预设条件为迭代次数大于第一阈值和/或至少x个进程标识对应的当前迭代得到的正常度与上一次迭代得到的正常度的差值小于第二阈值,x为正整数;将最后一次迭代得到的正常度作为进程标识对应的正常度,其中每次迭代过程为:针对任意一个进程标识,根据包含进程标识的各进程集合对应的权重,确定进程标识在各进程集合中的目标值;将进程标识在各进程集合中的目标值之和作为进程标识对应的正常度。在一种可选的实施方式中,第三确定单元703具体用于:针对包含进程标识的任意一个进程集合,若进程集合包含两个进程标识,则将进程集合对应的权重与进程集合中其它进程标识对应的最新正常度的乘积,作为进程标识在进程集合中的目标值,其中最新正常度为上一次迭代得到的正常度,若本次迭代为第一次迭代则最新正常度为预设的正常度;或若进程集合包含一个进程标识,则将进程集合的权重与预设值的乘积作为进程标识在进程集合中的目标值。在一种可选的实施方式中,进程名单包含进程白名单,名单生成单元704具体用于:对各进程标识对应的正常度进行排序,根据排序结果选取正常度最高的n个进程标识生成进程白名单,n为正整数;或根据正常度高于第三阈值的进程标识生成进程白名单;和/或进程名单包含进程黑名单,名单生成单元704具体用于:对各进程标识对应的正常度进行排序,根据排序结果选取正常度最低的m个进程标识生成进程黑名单,m为正整数;或根据正常度低于第四阈值的进程标识生成进程黑名单。图8是根据一示例性实施例示出的一种电子设备800的框图,该装置包括:处理器810;用于存储所述处理器810可执行指令的存储器820;其中,所述处理器810被配置为执行所述指令,以实现本发明实施例中的任一所述的音视频数据编码方法的步骤。在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器820,上述指令可由电子设备800的处理器810执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。下面参照图9来描述根据本发明的这种实施方式的计算装置90。图9的计算装置90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图9,计算装置90的组件可以包括但不限于:至少一个处理单元91、、至少一个存储单元92、连接不同系统组件(包括存储单元92和处理单元91)的总线93。总线93表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。存储单元92可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)921和/或高速缓存存储单元922,还可以进一步包括只读存储器(rom)923。存储单元92还可以包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。计算装置90也可以与一个或多个外部设备94(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置90交互的设备通信,和/或与使得该计算装置90能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口95进行。并且,计算装置90还可以通过网络适配器96与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器96通过总线93与用于计算装置90的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本发明实施例上述任意一项所述的音视频数据编码方法或任意一项所述的音视频数据编码方法任一可能涉及的方法。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1