CN113821316A - 异常进程的检测方法和装置、存储介质及电子设备 - Google Patents
异常进程的检测方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113821316A CN113821316A CN202110651266.2A CN202110651266A CN113821316A CN 113821316 A CN113821316 A CN 113821316A CN 202110651266 A CN202110651266 A CN 202110651266A CN 113821316 A CN113821316 A CN 113821316A
- Authority
- CN
- China
- Prior art keywords
- coefficient
- running
- target process
- determining
- abnormal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种异常进程的检测方法和装置、存储介质及电子设备。其中,该方法包括:获取目标进程在当前周期上的运行信息,根据目标进程在当前周期上的运行信息,确定目标进程在空间维度上的第一异常系数,根据目标进程在当前周期之前的多个历史周期上的历史运行信息,确定目标进程在时间维度上的第二异常系数,根据第一异常系数和第二异常系数,确定第一主机中的目标进程是否为异常进程。本发明解决了相关技术中存在的异常进程的检测准确率较低,容易造成误检的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种异常进程的检测方法和装置、存储介质及电子设备。
背景技术
在金融、能源、通信及工业互联网等关键领域,入侵检测已成为一项难以缺失的服务。而数据外传作为入侵攻击的其中一环。
近年来,不断发生的数据泄漏事件使各企事业单位逐渐加大对这类行为的检测力度。然而,目前各安全厂商提供的主流解决方案,是采用传统的基于统计规则的方式,例如,当某台主机外传流量大于某个阈值时,则产生告警。这类方法不仅适用性较差,并且,正常的网络流量种类繁多,情况复杂,难以将异常行为有效地区分出来,导致误报率较高的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种异常进程的检测方法和装置、存储介质及电子设备,以至少解决相关技术中存在的异常进程的检测准确率较低,容易造成误检的技术问题。
根据本发明实施例的一个方面,提供了一种异常进程的检测方法,包括:获取目标进程在当前周期上的运行信息,其中,所述运行信息包括多个维度的运行数据,所述目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数,其中,所述第一异常系数用于表示所述目标进程在所述当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,所述中心点运行信息是根据所述目标进程在所述当前周期上的运行信息确定得到的运行信息;根据所述目标进程在所述当前周期之前的多个历史周期上的历史运行信息,确定所述目标进程在时间维度上的第二异常系数,其中,所述第二异常系数用于表示所述目标进程的所述当前运行信息相对于所述目标进程的所述历史运行信息的偏移;根据所述第一异常系数和所述第二异常系数,确定所述第一主机中的所述目标进程是否为异常进程。
根据本发明实施例的另一方面,还提供了一种异常进程的检测装置,包括:获取模块,用于获取目标进程在当前周期上的运行信息,其中,所述运行信息包括多个维度的运行数据,所述目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;第一确定模块,用于根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数,其中,所述第一异常系数用于表示所述目标进程在所述当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,所述中心点运行信息是根据所述目标进程在所述当前周期上的运行信息确定得到的运行信息;第二确定模块,用于根据所述目标进程在所述当前周期之前的多个历史周期上的历史运行信息,确定所述目标进程在时间维度上的第二异常系数,其中,所述第二异常系数用于表示所述目标进程的所述当前运行信息相对于所述目标进程的所述历史运行信息的偏移;第三确定模块,用于根据所述第一异常系数和所述第二异常系数,确定所述第一主机中的所述目标进程是否为异常进程。
可选地,所述第一确定模块用于通过如下方式根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数:在所述一组主机中除所述第一主机之外的第二主机中运行了所述目标进程的情况下,根据所述第一主机中运行的所述目标进程在所述当前周期上的运行信息、以及所述第二主机中运行的所述目标进程在所述当前周期上的运行信息,确定所述中心点运行信息,其中,所述第二主机包括一个或多个主机,所述中心点运行信息包括所述多个维度的中心点运行数据;确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数。
可选地,所述第一确定模块用于通过如下方式根据所述第一主机中运行的所述目标进程在所述当前周期上的运行信息、以及所述第二主机中运行的所述目标进程在所述当前周期上的运行信息,确定所述中心点运行信息:在所述多个维度为N个维度时,确定所述第一主机和所述第二主机中的所述目标进程的所述运行信息在每个维度中的均值,得到N个维度的平均运行数据,其中,所述中心点运行信息包括N个维度的平均运行数据, N≥2且为自然数。
可选地,所述第一确定模块用于通过如下方式根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数:在所述一组主机中除所述第一主机之外的主机中未运行所述目标进程的情况下,根据所述一组主机中运行的每个进程在所述当前周期上的运行信息,确定所述中心点运行信息,其中,所述中心点运行信息包括所述多个维度的中心点运行数据;确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数。
可选地,所述第一确定模块用于通过如下方式根据所述一组主机中运行的每个进程在所述当前周期上的运行信息,确定所述中心点运行信息:在所述多个维度为N个维度时,确定所述一组主机中运行的每个进程的所述运行信息在每个维度中的均值,得到N个维度的平均运行数据,其中,所述中心点运行信息包括N个维度的平均运行数据,N≥2且为自然数。
可选地,所述第一确定模块用于通过如下方式确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数:在所述多个维度为N个维度时,确定所述N个维度的运行数据与所述N个维度的中心点运行数据在每个维度上的差值,得到N个差值,其中,N≥2且为自然数;将所述第一异常系数确定为对中间取值进行开方运算所得到的值,其中,所述中间取值为所述N个差值的平方之和。
可选地,所述第二确定模块用于通过如下方式根据所述目标进程在所述当前周期之前的多个历史周期上的历史运行信息,确定所述目标进程在时间维度上的第二异常系数:在所述多个维度为N个维度、且所述多个历史周期为M个历史周期时,根据所述目标进程在所述M个历史周期上的历史运行信息,确定在所述M个历史周期上所述目标进程在每个维度上的分位数运行数据,得到N个维度的分位数运行数据,其中,N≥2且为自然数,M≥2且为自然数;根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定所述第二异常系数,其中,所述目标进程在所述当前周期上的运行信息包括所述N个维度的运行数据。
可选地,所述第二确定模块用于通过如下方式根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定所述第二异常系数:在所述N个维度包括目标维度、且所述目标进程在所述当前周期上的所述目标维度的运行数据表示所述目标进程在所述当前周期内上传数据的数量时,为所述目标维度设置目标放大系数,其中,所述目标放大系数大于1,所述目标放大系数用于增加所述目标维度的运行数据与所述目标维度的分位数运行数据之间的偏移值;根据所述N个维度的运行数据以及所述N 个维度的分位数运行数据,确定每个维度的运行数据与分位数运行数据之间的偏移,得到N个偏移值,并根据所述N个偏移值与所述目标放大系数,确定所述第二异常系数。
可选地,所述第二确定模块用于通过如下方式根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定每个维度的运行数据与分位数运行数据之间的偏移,得到N个偏移值,并根据所述N个偏移值与所述目标放大系数,确定所述第二异常系数:通过以下公式确定所述第二异常系数:
其中,表示所述第二异常系数,表示所述目标进程在所述当前周期上的第i个维度的运行数据,表示所述目标进程在所述多个历史周期上的第i个维度的分位数运行数据,l表示所述目标放大系数,i=1时表示所述目标维度。
可选地,所述装置用于通过如下方式根据所述第一异常系数和所述第二异常系数,确定所述第一主机中的所述目标进程是否为异常进程:
根据所述第一异常系数和所述第二异常系数,确定与所述第一异常系数对应的第一权重值以及与所述第二异常系数对应的第二权重值;
根据预先获取的所述目标进程在所述当前周期上的上传信息,确定一组控制系数,其中,所述上传信息用于表示所述目标进程在所述当前周期上向不同目的地址上传数据的数量;
根据所述第一异常系数、所述第二异常系数、所述第一权重值、所述第二权重值以及所述一组控制系数,确定所述目标进程在所述当前周期上的总异常系数;
在所述总异常系数大于预设阈值时,确定所述第一主机中的所述目标进程为异常进程。
可选地,所述装置用于通过如下方式根据所述第一异常系数和所述第二异常系数,确定与所述第一异常系数对应的第一权重值以及与所述第二异常系数对应的第二权重值:
获取所述一组主机中运行的每个进程的所述第一异常系数和所述第二异常系数,得到一组第一异常系数和一组第二异常系数;
确定所述一组第一异常系数的分位数加权平均值,得到第一分位数加权值,确定所述一组第二异常系数的分位数加权平均值,得到第二分位数加权值;
将所述第二分位数加权值除以目标值所得到的值确定为所述第一权重值,将所述第一分位数加权值除以所述目标值所得到的值确定为所述第二权重值,其中,所述目标值为所述第一分位数加权值与所述第二分位数加权值之和。
可选地,所述装置用于通过如下方式根据预先获取的所述目标进程在所述当前周期上的上传信息,确定一组控制系数:
在所述目标进程是预设的进程集合中的进程时,根据所述上传信息,确定所述目标进程在所述当前周期内向第一目的地址上传数据的第一数量以及在所述当前周期内向所述第一目的地址上传数据的第一次数;在所述第一数量大于第一预设阈值、且所述第一次数小于第二预设阈值时,将所述一组控制系数中的第一控制系数设置为预设的第一值,其中,所述第一值大于1;在所述第一次数大于或等于第二预设阈值时,将所述第一控制系数设置为预设的第二值,其中,0<所述第二值<1;其中,所述第一控制系数为所述第一异常系数和所述第二异常系数的控制系数;和/或
根据所述上传信息,确定所述目标进程在所述当前周期内上传数据的第二数量;在所述第二数量大于第三预设阈值时,将所述一组控制系数中的第二控制系数设置为其中,counthost(p)表示所述一组主机中运行了所述目标进程的主机的数量。
可选地,所述装置用于通过如下方式根据所述第一异常系数、所述第二异常系数、所述第一权重值、所述第二权重值以及所述一组控制系数,确定所述目标进程在所述当前周期上的总异常系数:
通过以下公式确定所述目标进程在所述当前周期上的总异常系数:
可选地,所述装置用于通过如下方式获取目标进程在当前周期上的运行信息:
获取所述目标进程在所述当前周期上的所述多个维度的运行数据,其中,所述多个维度的运行数据包括所述目标进程上传数据的数量,所述目标进程的会话总时间,所述目标进程的会话总次数。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述异常进程的检测方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的异常进程的检测方法。
在本发明实施例中,采用获取以空间分布和时间分布为参考系的异常系数,根据异常系数确定目标进程是否为异常进程,结合进程的运行数据实现更加细粒度地风险判定,进而解决了相关技术中存在的异常进程的检测准确率较低,容易造成误检的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的异常进程的检测方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的异常进程的检测方法的流程示意图;
图3是根据本发明实施例的一种可选的异常进程的检测方法的示意图;
图4是根据本发明实施例的又一种可选的异常进程的检测方法的示意图;
图5是根据本发明实施例的又一种可选的异常进程的检测方法的示意图;
图6是根据本发明实施例的又一种可选的异常进程的检测方法的示意图;
图7是根据本发明实施例的又一种可选的异常进程的检测方法的示意图;
图8是根据本发明实施例的又一种可选的异常进程的检测方法的示意图;
图9是根据本发明实施例的一种可选的异常进程的检测装置的结构示意图;
图10是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种异常进程的检测方法,可选地,在本实施例中,上述异常进程的检测方法可以应用于如图1所示的由服务器101和用户终端103所构成的硬件环境中。如图1所示,服务器 101通过网络与终端103进行连接,可用于为用户终端或用户终端上安装的客户端提供服务,客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端、游戏客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,企业数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI 及其他实现无线通信的网络,用户终端103可以包括但不限于不同的主机,例如,第一主机107,第二主机109,第一主机上运行有第一应用,第二主机上运行有第二应用,其中,第一应用加载第一进程外传数据,第二应用加载第二进程外传数据,上述用户终端103可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,使用上述异常进程的检测方法的客户端建立在服务器101上。
结合图1所示,上述异常进程的检测方法可以在服务器101上的客户端通过如下步骤实现:
S1,在服务器101上安装的客户端获取目标进程在当前周期上的运行信息,其中,运行信息包括多个维度的运行数据,目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;
S2,在服务器101上安装的客户端根据目标进程在当前周期上的运行信息,确定目标进程在空间维度上的第一异常系数,其中,第一异常系数用于表示目标进程在当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,中心点运行信息是根据目标进程在当前周期上的运行信息确定得到的运行信息;
S3,在服务器101上安装的客户端根据目标进程在当前周期之前的多个历史周期上的历史运行信息,确定目标进程在时间维度上的第二异常系数,其中,第二异常系数用于表示目标进程的当前运行信息相对于目标进程的历史运行信息的偏移;
S4,在服务器101上安装的客户端根据第一异常系数和第二异常系数,确定第一主机中的目标进程是否为异常进程。
可选地,在本实施例中,上述异常进程的检测方法可以包括但不限于在用户终端103和服务器101上的客户端异步使用。
上述仅是一种示例,本实施例不做具体的限定。
可选地,作为一种可选的实施方式,如图2所示,上述异常进程的检测方法包括:
S202,获取目标进程在当前周期上的运行信息,其中,运行信息包括多个维度的运行数据,目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;
可选地,在本实施例中,上述目标进程可以包括但不限于在目标终端中传输数据的进程,具体而言,可以包括但不限于在第一主机中运行的,由内网向外网传输数据的进程。上述运行信息可以包括但不限于该目标进程上传数据总大小,该目标进程的会话总时间以及该目标进程的会话总次数等。
可选地,在本实施例中,上述运行信息可以通过包括但不限于如下方式确定:
例如,对主机进程信息原始记录表进行处理,生成两张中间结果表,分别是主机进程统计记录表和分位数加权平均记录表。
在主机进程原始记录表中,是以主机进程会话为粒度,完成的信息记录,本实施例中需要用到的字段可以包括但不限于:主机名,进程名,上行流的数据大小,会话时间,发起时间。
在主机进程统计记录表中,可以包括但不限于以一天为时间粒度,统计当天主机进程的会话行为,包括上传数据总大小,会话总时间以及会话总次数。那么,每个主机进程hp∈HP,HP为记录到的主机进程集合,在第t天的统计值向量可表示为:
应用分位数加权平均记录表,是为了缓解统计记录表中,各统计值上均呈现出了重尾分布而导致的不利于计算的问题。
其中,分位数加权平均(quartile weighted median,QWM)的计算式如算式(2)所示:
S204,根据目标进程在当前周期上的运行信息,确定目标进程在空间维度上的第一异常系数,其中,第一异常系数用于表示目标进程在当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,中心点运行信息是根据目标进程在当前周期上的运行信息确定得到的运行信息;
可选地,在本实施例中,上述当前周期可以包括但不限于由工作人员预先配置或根据当前网络的安全等级预先配置,例如,将当前周期可以包括但不限于配置为当天,则目标进程在当前周期上的运行信息即为目标进程当天的运行信息。
可选地,在本实施例中,上述第一异常系数即为上述目标进程在空间维度上的异常系数,表示目标进程在当前周期上当前运行信息所对应的向量与预先获取的中心点运行信息所对应的位置之间的距离,上述中心点运行信息是根据目标进程在当前周期上的运行信息确定得到的运行信息可以包括但不限于根据目标进程在当前周期上的运行信息中的主机进程原始记录表中确定。
需要说明的是,上述第一异常系数可以包括但不限于只利用当前周期的统计值,不依赖历史记录而完成计算的风险系数。
S206,根据目标进程在当前周期之前的多个历史周期上的历史运行信息,确定目标进程在时间维度上的第二异常系数,其中,第二异常系数用于表示目标进程的当前运行信息相对于目标进程的历史运行信息的偏移;
可选地,在本实施例中,上述第二异常系数即为上述目标进程在时间维度上的异常系数,表示目标进程的当前运行运行信息相对于目标进程的历史运行信息的偏移。
需要说明的是,上述第二异常系数指在时间维度上以主机进程的历史统计值为尺度,来评估当前周期传输数据行为的风险系数。
S208,根据第一异常系数和第二异常系数,确定第一主机中的目标进程是否为异常进程。
可选地,在本实施例中,上述异常进程的检测的应用场景可以包括但不限于企业、医疗、金融、征信、银行、政务、政府、能源、教育、安防、楼宇、游戏、交通、物联、工业等多种应用场景。
以应用于上述企业应用场景中为例,可以应用到包括智能网关、入侵检测系统、网络安全审计系统等多个项目和产品应用中,可识别出由恶意软件产生的数据外传行为,显著改善现有技术容易被绕过和误报高的问题,提升对这类行为的检出率。
具体而言,在典型的应用场景如智能网关中,图3是根据本发明的另一种可选的异常进程的检测方法的示意图,如图3所示,可以在每台内网主机中部署Agent信息采集程序,用来获取进程及其网络连接的统计信息;每台主机中的Agent都会将收集到的监测数据上传到智能网关的Server中,并由智能网关完成恶意软件数据外传风险行为的检测。
可选地,在本实施例中,可以包括但不限于根据内网中主机进程表现出来的外传行为,分别以空间分布和时间分布为参考系,自动学习出每个主机进程的风险系数,以确定该目标进程是否为异常进程,从而能够实现有效筛选出风险值高的主机进程,进而,提升对恶意数据外传行为的检出率,克服常用进程发生大数据外传时产生误报警的问题。
可选地,在本实施例中,上述周期的单位可以包括但不限于天、周、月、年等。
图4是根据本发明的又一种可选的异常进程的检测方法的示意图,如图4所示,上述以异常进程的检测方法可以包括但不限于如下步骤:
S402,获取主机进程信息原始记录表;
S404,确定主机进程统计记录表;
S406,生成分位数加权平均记录表;
S408-1,空间维度风险系数计算模块计算空间风险系数;
S408-2,时间维度风险系数计算模块计算时间风险系数;
S410,根据空间维度风险系数和时间维度风险系数计算风险值;
S412,对风险值超过阈值的进程执行告警操作。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用对主机进程信息原始记录表进行处理,生成两张中间结果表,分别是主机进程统计记录表和分位数加权平均记录表;然后分别在空间和时间维度计算各自的风险系数,最后由计算模块得到最终的风险值并视风险值的大小决定是否产生告警,利用获取以空间分布和时间分布为参考系的异常系数,根据异常系数确定目标进程是否为异常进程,结合进程的运行数据实现更加细粒度地风险判定,进而解决了相关技术中存在的异常进程的检测准确率较低,容易造成误检的技术问题。
作为一种可选的方案,根据目标进程在当前周期上的运行信息,确定目标进程在空间维度上的第一异常系数,包括:
在一组主机中除第一主机之外的第二主机中运行了目标进程的情况下,根据第一主机中运行的目标进程在当前周期上的运行信息、以及第二主机中运行的目标进程在当前周期上的运行信息,确定中心点运行信息,其中,第二主机包括一个或多个主机,中心点运行信息包括多个维度的中心点运行数据;
确定多个维度的运行数据与多个维度的中心点运行数据之间的距离,得到第一异常系数。
可选地,在本实施例中,上述一组主机可以包括但不限于多个主机,每个主机分别独立运行各自的进程,换言之,可以包括但不限于相同的进程在多个主机中运行,生成各自的运行信息。
可选地,在本实施例中,可以包括但不限于将目标进程在第一主机和第二主机上的运行信息以统计向量形式表示,再将上述多个向量进行聚合,得到上述中心点运行信息。
图5是根据本发明的又一种可选的异常进程的检测方法的示意图,如图5所示,可以包括但不限于如下内容:
例如,上述一组主力包括主机1和主机2,上述目标进程包括进程1、进程2以及进程3,则上述一组主机中除第一主机之外的第二主机中运行了目标进程即为上述主机1运行了进程1,主机2也运行了进程1,此时,确定中心点运行信息。
通过本实施例,采用在一组主机中除第一主机之外的第二主机中运行了目标进程的情况下,根据第一主机中运行的目标进程在当前周期上的运行信息、以及第二主机中运行的目标进程在当前周期上的运行信息,确定中心点运行信息的方式,能够从空间维度确定出目标进程的第一异常系数,进而,便于根据异常系数确定目标进程是否为异常进程,结合进程的运行数据实现更加细粒度地风险判定,进而解决了相关技术中存在的异常进程的检测准确率较低,容易造成误检的技术问题。
作为一种可选的方案,根据第一主机中运行的目标进程在当前周期上的运行信息、以及第二主机中运行的目标进程在当前周期上的运行信息,确定中心点运行信息,包括:
在多个维度为N个维度时,确定第一主机和第二主机中的目标进程的运行信息在每个维度中的均值,得到N个维度的平均运行数据,其中,中心点运行信息包括N个维度的平均运行数据,N≥2且为自然数。
可选地,在本实施例中,上述N个维度表示运行信息的维度;其中,上述运行信息在每个维度的均值可以通过如下公式确定:
例如,以进程p为粒度,p∈P,P为监测到的进程集合(运行信息),将相同进程的统计向量聚到一起,包含不同主机中出现的名字相同的进程 (对应于前述的目标进程),有Xt={xt(p):p∈P},那么计算中心点c(Xt)的算式为:
以图5为例,则进程1对应的|Xt|即为2次,也即,|Xt|=2。
上述仅是一种示例,本实施例不做任何具体限定。
作为一种可选的方案,根据目标进程在当前周期上的运行信息,确定目标进程在空间维度上的第一异常系数,包括:
在一组主机中除第一主机之外的主机中未运行目标进程的情况下,根据一组主机中运行的每个进程在当前周期上的运行信息,确定中心点运行信息,其中,中心点运行信息包括多个维度的中心点运行数据;
确定多个维度的运行数据与多个维度的中心点运行数据之间的距离,得到第一异常系数。
还如图5所示,可以包括但不限于如下内容:上述一组主力包括主机 1和主机2,上述目标进程包括进程1、进程2以及进程3,则一组主机中除第一主机之外的主机中未运行目标进程即为上述主机1运行了进程2,主机2运行了进程1和进程3,而并未运行进程2,此时,确定中心点运行信息。
上述仅是一种示例,本实施例不做任何具体限定。
通过本实施例,采用在一组主机中除第一主机之外的主机中未运行目标进程的情况下,根据一组主机中运行的每个进程在当前周期上的运行信息,确定中心点运行信息的方式,能够从空间维度确定出目标进程的第一异常系数,进而,便于根据异常系数确定目标进程是否为异常进程,结合进程的运行数据实现更加细粒度地风险判定,进而解决了相关技术中存在的异常进程的检测准确率较低,容易造成误检的技术问题。
作为一种可选的方案,根据一组主机中运行的每个进程在当前周期上的运行信息,确定中心点运行信息,包括:
在多个维度为N个维度时,确定一组主机中运行的每个进程的运行信息在每个维度中的均值,得到N个维度的平均运行数据,其中,中心点运行信息包括N个维度的平均运行数据,N≥2且为自然数。
可选地,在本实施例中,对于目标进程为进程2的情况下,以主机进程为粒度,hp∈HP,HP为监测到的主机进程集合,将所有的主机进程统计矢量聚到一起,有:Xt={xt(hp):hp∈HP},中心点计算式为算式(5)所示:
算式(5)计算的就是针对所有主机进程统计矢量的中心点。
以图5为例,则进程2对应的|Xt|即为4次(包括主机进程1、主机进程2、主机进程3以及主机进程4),也即,|Xt|=4。
上述仅是一种示例,本实施例不做任何具体限定。
作为一种可选的方案,确定多个维度的运行数据与多个维度的中心点运行数据之间的距离,得到第一异常系数,包括:
在多个维度为N个维度时,确定N个维度的运行数据与N个维度的中心点运行数据在每个维度上的差值,得到N个差值,其中,N≥2且为自然数;
将第一异常系数确定为对中间取值进行开方运算所得到的值,其中,中间取值为N个差值的平方之和。
可选地,在本实施例中,可以包括但不限于通过如下公式实现:
上述仅是一种示例,本实施例不做任何具体限定。
通过本实施例,采用在多个维度为N个维度时,确定N个维度的运行数据与N个维度的中心点运行数据在每个维度上的差值,得到N个差值,将第一异常系数确定为对中间取值进行开方运算所得到的值的方式,能够从空间维度确定出目标进程的第一异常系数,进而,便于根据异常系数确定目标进程是否为异常进程,结合进程的运行数据实现更加细粒度地风险判定,进而解决了相关技术中存在的异常进程的检测准确率较低,容易造成误检的技术问题。
作为一种可选的方案,根据目标进程在当前周期之前的多个历史周期上的历史运行信息,确定目标进程在时间维度上的第二异常系数,包括:
在多个维度为N个维度、且多个历史周期为M个历史周期时,根据目标进程在M个历史周期上的历史运行信息,确定在M个历史周期上目标进程在每个维度上的分位数运行数据,得到N个维度的分位数运行数据,其中,N≥2且为自然数,M≥2且为自然数;
根据N个维度的运行数据以及N个维度的分位数运行数据,确定第二异常系数,其中,目标进程在当前周期上的运行信息包括N个维度的运行数据。
可选地,在本实施例中,上述历史运行信息可以包括但不限于由各个主机在历史时期上传的目标进程运行信息,进而,根据目标进程在M个历史周期上的历史运行信息,确定在M个历史周期上目标进程在每个维度上的分位数运行数据,得到N个维度的分位数运行数据。
具体而言,可以包括但不限于以主机进程的历史统计值为尺度,来确定上述第二异常系数表示的风险:
利用一个时间窗口W,来计算在该时间窗口下的,主机进程hp∈HP 统计值的基准。βt-1(W)被用来表示统计矢量集合{xt-1,…,xt-1-W}的基准,它的计算式为:
需要说明的是,上述时间窗口W的取值可以包括但不限于上述M个历史周期数据所对应的周期数量,例如,以上述时间窗口为21天为例,则上述公式(7)则计算得到的是在21个历史周期上历史运行信息,进而,确定在M个历史周期上目标进程在每个维度上的分位数运行数据。
在具体计算过程中,还可以包括但不限于如下方案:
1)若目标进程无历史记录,可以包括但不限于采用默认值参与计算,设定的默认值为:
βt-1(W)default={0.02,0.1,1} (8)
算式(9)中,若满足条件,则按照自定义的值参与计算,若不满足条件,则用原始值计算。
可选地,在本实施例中,为提高恶意软件采用进程注入来完成数据外传行为的检出率,可以包括但不限于通过设置风险值放大系数l来计算得出目标进程当前周期上的运行数据和历史周期上的运行数据之间的偏移,以使得计算得到的第二异常系数更准确。
可选地,在本实施例中,上述根据N个维度的运行数据以及N个维度的分位数运行数据,确定第二异常系数可以包括但不限于根据如下公式计算:
作为一种可选的方案,根据N个维度的运行数据以及N个维度的分位数运行数据,确定第二异常系数,包括:
在N个维度包括目标维度、且目标进程在当前周期上的目标维度的运行数据表示目标进程在当前周期内上传数据的数量时,为目标维度设置目标放大系数,其中,目标放大系数大于1,目标放大系数用于增加目标维度的运行数据与目标维度的分位数运行数据之间的偏移值;
根据N个维度的运行数据以及N个维度的分位数运行数据,确定每个维度的运行数据与分位数运行数据之间的偏移,得到N个偏移值,并根据N个偏移值与目标放大系数,确定第二异常系数。
可选地,在本实施例中,设置风险值放大系数l,则l的计算式为:
在算式(10)中,sum(up_bytes)代表主机进程hp∈HP当天上传的数据总大小,若大于10MB且当天上传量大于3倍的历史基准,则放大系数 l为上传载荷大于10MB的倍数,否则,l为1。
得到历史基准βt-1(W)和放大系数l后,再计算当天与历史记录的移动矢量mt即可用算式(11)得出:
作为一种可选的方案,根据N个维度的运行数据以及N个维度的分位数运行数据,确定每个维度的运行数据与分位数运行数据之间的偏移,得到N个偏移值,并根据N个偏移值与目标放大系数,确定第二异常系数,包括:
通过以下公式确定第二异常系数:
作为一种可选的方案,根据第一异常系数和第二异常系数,确定第一主机中的目标进程是否为异常进程,包括:
根据第一异常系数和第二异常系数,确定与第一异常系数对应的第一权重值以及与第二异常系数对应的第二权重值;
根据预先获取的目标进程在当前周期上的上传信息,确定一组控制系数,其中,上传信息用于表示目标进程在当前周期上向不同目的地址上传数据的数量;
根据第一异常系数、第二异常系数、第一权重值、第二权重值以及一组控制系数,确定目标进程在当前周期上的总异常系数;
在总异常系数大于预设阈值时,确定第一主机中的目标进程为异常进程。
可选地,在本实施例中,上述第一权重值和第二权重值用于使得正常的传输数据行为获得更低的风险值,让异常的数据传输行为获得更高的风险值。
图6是根据本发明的又一种可选的异常进程的检测方法的示意图,如图6所示,上述以异常进程的检测方法可以包括但不限于如下步骤:
S602,获取主机进程信息原始记录表;
S604,确定主机进程统计记录表;
S606,生成分位数加权平均记录表;
S608-1,空间维度风险系数计算模块计算空间风险系数;
S608-2,时间维度风险系数计算模块计算时间风险系数;
S610,权重学习及控制系数设置模块设置权重和控制系数;
S612,根据空间维度风险系数和时间维度风险系数加权计算风险值;
S614,对风险值超过阈值的进程执行告警操作。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用根据第一异常系数和第二异常系数,确定与第一异常系数对应的第一权重值以及与第二异常系数对应的第二权重值,根据预先获取的目标进程在当前周期上的上传信息,确定一组控制系数,根据第一异常系数、第二异常系数、第一权重值、第二权重值以及一组控制系数,确定目标进程在当前周期上的总异常系数,在总异常系数大于预设阈值时,确定第一主机中的目标进程为异常进程的方式,可以根据实际业务场景,设置不同的控制系数,以放大异常数据外传的风险值。
作为一种可选的方案,根据第一异常系数和第二异常系数,确定与第一异常系数对应的第一权重值以及与第二异常系数对应的第二权重值,包括:
获取一组主机中运行的每个进程的第一异常系数和第二异常系数,得到一组第一异常系数和一组第二异常系数;
确定一组第一异常系数的分位数加权平均值,得到第一分位数加权值,确定一组第二异常系数的分位数加权平均值,得到第二分位数加权值;
将第二分位数加权值除以目标值所得到的值确定为第一权重值,将第一分位数加权值除以目标值所得到的值确定为第二权重值,其中,目标值为第一分位数加权值与第二分位数加权值之和。
可选地,在本实施例中,可以包括但不限于采用如下公式来确定上述一组第一异常系数以及一组第二异常系数。
算式(13)中,QWM的计算方法与算式(2)中的一致。
作为一种可选的方案,根据预先获取的目标进程在当前周期上的上传信息,确定一组控制系数,包括:
在目标进程是预设的进程集合中的进程时,根据上传信息,确定目标进程在当前周期内向第一目的地址上传数据的第一数量以及在当前周期内向第一目的地址上传数据的第一次数;在第一数量大于第一预设阈值、且第一次数小于第二预设阈值时,将一组控制系数中的第一控制系数设置为预设的第一值,其中,第一值大于1;在第一次数大于或等于第二预设阈值时,将第一控制系数设置为预设的第二值,其中,0<第二值<1;其中,第一控制系数为第一异常系数和第二异常系数的控制系数;和/或
可选地,在本实施例中,上述根据预先获取的目标进程在当前周期上的上传信息,确定一组控制系数可以包括但不限于如下内容:
例如,为缓解某些由常用进程产生的大数据量外传行为获得高风险值的问题,将与常用进程建立连接的外网IP(dstIP)(对应于前述的目标地址)作为参考量,来设置控制系数。
对某些类型的常用进程(对应于前述的预设的进程集合)(Common Process,CP),例如wps.exe,scvhost.exe,explorer.exe等),大多数时候只与固定的一组外网IP建立连接,可以假定,进程与常用外网IP的通信行为的风险值低,与不常用外网IP的通信行为的风险值高,原因是进程注入攻击行为会导致产生不常用外网IP。
其中,sumdstIP(up_bytes)表示主机进程当天与dstIP通信时上传的总数据量,count(dstIP)表示进程p与dstIP通信的总次数。
在算式(14)中,若进程p属于常用进程,且与dstIP上传数据量大于10MB(对应于前述的第一数量),通信次数小于50(对应于前述的第一次数),则为50(对应于前述的第一值);若进程p属于常用进程,且与dstIP的通信次数大于等于50,则为0.0007(对应于前述的第二值);若进程p不属于常用进程,则为1。作为控制系数,一方面可以降低正常的大数据外传行为的风险值;另一方面能够提高恶意软件采用进程注入来完成数据外传行为的风险值。同时,为了使这类疑似注入的行为,直接获得高于阈值的风险值,本实施例中还包括但不限于配置控制系数
算式(15)中,异常行为的判定条件与算式(14)中一致,不再赘述。
其中,sum(up_bytes)表示当天主机进程hp∈HP外传的数据总量, counthost(p)表示当天出现了进程p∈P的主机数量。该控制系数基于这样的假设,包含某进程的主机数量越多,该进程则越正常。因此,需要将这类主机进程的风险值调低。
作为一种可选的方案,根据第一异常系数、第二异常系数、第一权重值、第二权重值以及一组控制系数,确定目标进程在当前周期上的总异常系数,包括:
通过以下公式确定目标进程在当前周期上的总异常系数:
可选地,在本实施例中,上述根据第一异常系数、第二异常系数、第一权重值、第二权重值以及一组控制系数,确定目标进程在当前周期上的总异常系数可以包括但不限于如算式(17)所示:
(17)式中,即是计算各个参数的加权和,为最后的总风险值St。然后通过设置合理的门限,即可判定异常的数据外传行为。
可选地,在本实施例中,上述异常进程产生数据外传行为,可以包括但不限于如下至少之一方式,一种是增量攻击,通过新创建一个进程来完成;另一种是存量攻击,通过进程注入,借壳其它进程来完成。
使用上述异常进程的检测方法,在测试过程中,共使用了40台内网主机,并按照原始记录表共记录了21天的日志数据。另外,在应用增量攻击和存量攻击时,都采用分别向外网完成10MB,20MB,50MB,100MB, 500MB的数据方式,计算其风险值和排名,同时与规则排名的方法进行比较。
图7是根据本发明的又一种可选的异常进程的检测方法的示意图,在增量攻击中,采用ghost.exe来进行数据外传,计算结果如图7所示,只对大于5M的主机进程数据外传行为进行排名,当采用增量攻击外传 10MB的数据时,总风险值达到了684,排名为2;外传20MB数据时,总风险值达到1375,排名为1。相较于规则排名,即只根据外传数据量大小进行排名,本实施例能将异常的数据外传行为排得更加靠前。
图8是根据本发明的又一种可选的异常进程的检测方法的示意图,在存量攻击中,选择的被注入进程为svchost.exe,计算结果如图8所示,同样只对大于5M的主机进程数据外传行为进行排名。可以看到,相比较于规则排名,本实施例对存量攻击同样能将异常的数据外传行为排得更加靠前。但是,相较于增量攻击,存量攻击更加难以检测,在外传20MB数据时,风险值为312,排名为3;而同等量级的增量攻击风险值达到了1375,排名为1。
最后,为尽可能降低漏报,且降低每天排查的告警数量,本实施例(总风险值)选择的阈值为50;也即是:当总风险值大于等于50时,则视为异常并产生告警。
作为一种可选的方案,获取目标进程在当前周期上的运行信息,包括:
获取目标进程在当前周期上的多个维度的运行数据,其中,多个维度的运行数据包括目标进程上传数据的数量,目标进程的会话总时间,目标进程的会话总次数。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述异常进程的检测方法的异常进程的检测装置。如图9所示,该装置包括:
获取模块902,用于获取目标进程在当前周期上的运行信息,其中,所述运行信息包括多个维度的运行数据,所述目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;
第一确定模块904,用于根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数,其中,所述第一异常系数用于表示所述目标进程在所述当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,所述中心点运行信息是根据所述目标进程在所述当前周期上的运行信息确定得到的运行信息;
第二确定模块906,用于根据所述目标进程在所述当前周期之前的多个历史周期上的历史运行信息,确定所述目标进程在时间维度上的第二异常系数,其中,所述第二异常系数用于表示所述目标进程的所述当前运行信息相对于所述目标进程的所述历史运行信息的偏移;
第三确定模块908,用于根据所述第一异常系数和所述第二异常系数,确定所述第一主机中的所述目标进程是否为异常进程。
作为一种可选的方案,所述第一确定模块用于通过如下方式根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数:在所述一组主机中除所述第一主机之外的第二主机中运行了所述目标进程的情况下,根据所述第一主机中运行的所述目标进程在所述当前周期上的运行信息、以及所述第二主机中运行的所述目标进程在所述当前周期上的运行信息,确定所述中心点运行信息,其中,所述第二主机包括一个或多个主机,所述中心点运行信息包括所述多个维度的中心点运行数据;确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数。
作为一种可选的方案,所述第一确定模块用于通过如下方式根据所述第一主机中运行的所述目标进程在所述当前周期上的运行信息、以及所述第二主机中运行的所述目标进程在所述当前周期上的运行信息,确定所述中心点运行信息:在所述多个维度为N个维度时,确定所述第一主机和所述第二主机中的所述目标进程的所述运行信息在每个维度中的均值,得到 N个维度的平均运行数据,其中,所述中心点运行信息包括N个维度的平均运行数据,N≥2且为自然数。
作为一种可选的方案,所述第一确定模块用于通过如下方式根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数:在所述一组主机中除所述第一主机之外的主机中未运行所述目标进程的情况下,根据所述一组主机中运行的每个进程在所述当前周期上的运行信息,确定所述中心点运行信息,其中,所述中心点运行信息包括所述多个维度的中心点运行数据;确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数。
作为一种可选的方案,所述第一确定模块用于通过如下方式根据所述一组主机中运行的每个进程在所述当前周期上的运行信息,确定所述中心点运行信息:在所述多个维度为N个维度时,确定所述一组主机中运行的每个进程的所述运行信息在每个维度中的均值,得到N个维度的平均运行数据,其中,所述中心点运行信息包括N个维度的平均运行数据,N≥2 且为自然数。
作为一种可选的方案,所述第一确定模块用于通过如下方式确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数:在所述多个维度为N个维度时,确定所述N个维度的运行数据与所述N个维度的中心点运行数据在每个维度上的差值,得到 N个差值,其中,N≥2且为自然数;将所述第一异常系数确定为对中间取值进行开方运算所得到的值,其中,所述中间取值为所述N个差值的平方之和。
作为一种可选的方案,所述第二确定模块用于通过如下方式根据所述目标进程在所述当前周期之前的多个历史周期上的历史运行信息,确定所述目标进程在时间维度上的第二异常系数:在所述多个维度为N个维度、且所述多个历史周期为M个历史周期时,根据所述目标进程在所述M个历史周期上的历史运行信息,确定在所述M个历史周期上所述目标进程在每个维度上的分位数运行数据,得到N个维度的分位数运行数据,其中, N≥2且为自然数,M≥2且为自然数;根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定所述第二异常系数,其中,所述目标进程在所述当前周期上的运行信息包括所述N个维度的运行数据。
作为一种可选的方案,所述第二确定模块用于通过如下方式根据所述 N个维度的运行数据以及所述N个维度的分位数运行数据,确定所述第二异常系数:在所述N个维度包括目标维度、且所述目标进程在所述当前周期上的所述目标维度的运行数据表示所述目标进程在所述当前周期内上传数据的数量时,为所述目标维度设置目标放大系数,其中,所述目标放大系数大于1,所述目标放大系数用于增加所述目标维度的运行数据与所述目标维度的分位数运行数据之间的偏移值;根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定每个维度的运行数据与分位数运行数据之间的偏移,得到N个偏移值,并根据所述N个偏移值与所述目标放大系数,确定所述第二异常系数。
作为一种可选的方案,所述第二确定模块用于通过如下方式根据所述 N个维度的运行数据以及所述N个维度的分位数运行数据,确定每个维度的运行数据与分位数运行数据之间的偏移,得到N个偏移值,并根据所述 N个偏移值与所述目标放大系数,确定所述第二异常系数:通过以下公式确定所述第二异常系数:
其中,表示所述第二异常系数,表示所述目标进程在所述当前周期上的第i个维度的运行数据,表示所述目标进程在所述多个历史周期上的第i个维度的分位数运行数据,l表示所述目标放大系数,i=1时表示所述目标维度。
作为一种可选的方案,所述装置用于通过如下方式根据所述第一异常系数和所述第二异常系数,确定所述第一主机中的所述目标进程是否为异常进程:
根据所述第一异常系数和所述第二异常系数,确定与所述第一异常系数对应的第一权重值以及与所述第二异常系数对应的第二权重值;
根据预先获取的所述目标进程在所述当前周期上的上传信息,确定一组控制系数,其中,所述上传信息用于表示所述目标进程在所述当前周期上向不同目的地址上传数据的数量;
根据所述第一异常系数、所述第二异常系数、所述第一权重值、所述第二权重值以及所述一组控制系数,确定所述目标进程在所述当前周期上的总异常系数;
在所述总异常系数大于预设阈值时,确定所述第一主机中的所述目标进程为异常进程。
作为一种可选的方案,所述装置用于通过如下方式根据所述第一异常系数和所述第二异常系数,确定与所述第一异常系数对应的第一权重值以及与所述第二异常系数对应的第二权重值:
获取所述一组主机中运行的每个进程的所述第一异常系数和所述第二异常系数,得到一组第一异常系数和一组第二异常系数;
确定所述一组第一异常系数的分位数加权平均值,得到第一分位数加权值,确定所述一组第二异常系数的分位数加权平均值,得到第二分位数加权值;
将所述第二分位数加权值除以目标值所得到的值确定为所述第一权重值,将所述第一分位数加权值除以所述目标值所得到的值确定为所述第二权重值,其中,所述目标值为所述第一分位数加权值与所述第二分位数加权值之和。
作为一种可选的方案,所述装置用于通过如下方式根据预先获取的所述目标进程在所述当前周期上的上传信息,确定一组控制系数:
在所述目标进程是预设的进程集合中的进程时,根据所述上传信息,确定所述目标进程在所述当前周期内向第一目的地址上传数据的第一数量以及在所述当前周期内向所述第一目的地址上传数据的第一次数;在所述第一数量大于第一预设阈值、且所述第一次数小于第二预设阈值时,将所述一组控制系数中的第一控制系数设置为预设的第一值,其中,所述第一值大于1;在所述第一次数大于或等于第二预设阈值时,将所述第一控制系数设置为预设的第二值,其中,0<所述第二值<1;其中,所述第一控制系数为所述第一异常系数和所述第二异常系数的控制系数;和/或
根据所述上传信息,确定所述目标进程在所述当前周期内上传数据的第二数量;在所述第二数量大于第三预设阈值时,将所述一组控制系数中的第二控制系数设置为其中,counthost(p)表示所述一组主机中运行了所述目标进程的主机的数量。
作为一种可选的方案,所述装置用于通过如下方式根据所述第一异常系数、所述第二异常系数、所述第一权重值、所述第二权重值以及所述一组控制系数,确定所述目标进程在所述当前周期上的总异常系数:
通过以下公式确定所述目标进程在所述当前周期上的总异常系数:
作为一种可选的方案,所述装置用于通过如下方式获取目标进程在当前周期上的运行信息:
获取所述目标进程在所述当前周期上的所述多个维度的运行数据,其中,所述多个维度的运行数据包括所述目标进程上传数据的数量,所述目标进程的会话总时间,所述目标进程的会话总次数。
根据本发明实施例的又一个方面,还提供了一种用于实施上述异常进程的检测方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图10所示,该电子设备包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标进程在当前周期上的运行信息,其中,运行信息包括多个维度的运行数据,目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;
S2,根据目标进程在当前周期上的运行信息,确定目标进程在空间维度上的第一异常系数,其中,第一异常系数用于表示目标进程在当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,中心点运行信息是根据目标进程在当前周期上的运行信息确定得到的运行信息;
S3,根据目标进程在当前周期之前的多个历史周期上的历史运行信息,确定目标进程在时间维度上的第二异常系数,其中,第二异常系数用于表示目标进程的当前运行信息相对于目标进程的历史运行信息的偏移;
S4,根据第一异常系数和第二异常系数,确定第一主机中的目标进程是否为异常进程。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、 PAD等终端设备。图10其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的异常进程的检测方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的异常进程的检测方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002 可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储进程数据等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述异常进程的检测装置中的获取模块902、第一确定模块904、第二确定模块906以及第三确定模块908。此外,还可以包括但不限于上述异常进程的检测装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1008,用于显示上述异常进程;和连接总线1010,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述异常进程的检测方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标进程在当前周期上的运行信息,其中,运行信息包括多个维度的运行数据,目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;
S2,根据目标进程在当前周期上的运行信息,确定目标进程在空间维度上的第一异常系数,其中,第一异常系数用于表示目标进程在当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,中心点运行信息是根据目标进程在当前周期上的运行信息确定得到的运行信息;
S3,根据目标进程在当前周期之前的多个历史周期上的历史运行信息,确定目标进程在时间维度上的第二异常系数,其中,第二异常系数用于表示目标进程的当前运行信息相对于目标进程的历史运行信息的偏移;
S4,根据第一异常系数和第二异常系数,确定第一主机中的目标进程是否为异常进程。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种异常进程的检测方法,其特征在于,包括:
获取目标进程在当前周期上的运行信息,其中,所述运行信息包括多个维度的运行数据,所述目标进程是在一组主机中的第一主机中从所述一组主机所处的内部网络向所述一组主机所连接的外部网络传输数据的进程;
根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数,其中,所述第一异常系数用于表示所述目标进程在所述当前周期上的当前运行信息与预先获取的中心点运行信息之间的距离,所述中心点运行信息是根据所述目标进程在所述当前周期上的运行信息确定得到的运行信息;
根据所述目标进程在所述当前周期之前的多个历史周期上的历史运行信息,确定所述目标进程在时间维度上的第二异常系数,其中,所述第二异常系数用于表示所述目标进程的所述当前运行信息相对于所述目标进程的所述历史运行信息的偏移;
根据所述第一异常系数和所述第二异常系数,确定所述第一主机中的所述目标进程是否为异常进程。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数,包括:
在所述一组主机中除所述第一主机之外的第二主机中运行了所述目标进程的情况下,根据所述第一主机中运行的所述目标进程在所述当前周期上的运行信息、以及所述第二主机中运行的所述目标进程在所述当前周期上的运行信息,确定所述中心点运行信息,其中,所述第二主机包括一个或多个主机,所述中心点运行信息包括所述多个维度的中心点运行数据;
确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一主机中运行的所述目标进程在所述当前周期上的运行信息、以及所述第二主机中运行的所述目标进程在所述当前周期上的运行信息,确定所述中心点运行信息,包括:
在所述多个维度为N个维度时,确定所述第一主机和所述第二主机中的所述目标进程的所述运行信息在每个维度中的均值,得到N个维度的平均运行数据,其中,所述中心点运行信息包括N个维度的平均运行数据,N≥2且为自然数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标进程在所述当前周期上的运行信息,确定所述目标进程在空间维度上的第一异常系数,包括:
在所述一组主机中除所述第一主机之外的主机中未运行所述目标进程的情况下,根据所述一组主机中运行的每个进程在所述当前周期上的运行信息,确定所述中心点运行信息,其中,所述中心点运行信息包括所述多个维度的中心点运行数据;
确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述一组主机中运行的每个进程在所述当前周期上的运行信息,确定所述中心点运行信息,包括:
在所述多个维度为N个维度时,确定所述一组主机中运行的每个进程的所述运行信息在每个维度中的均值,得到N个维度的平均运行数据,其中,所述中心点运行信息包括N个维度的平均运行数据,N≥2且为自然数。
6.根据权利要求2或4所述的方法,其特征在于,所述确定所述多个维度的运行数据与所述多个维度的中心点运行数据之间的距离,得到所述第一异常系数,包括:
在所述多个维度为N个维度时,确定所述N个维度的运行数据与所述N个维度的中心点运行数据在每个维度上的差值,得到N个差值,其中,N≥2且为自然数;
将所述第一异常系数确定为对中间取值进行开方运算所得到的值,其中,所述中间取值为所述N个差值的平方之和。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标进程在所述当前周期之前的多个历史周期上的历史运行信息,确定所述目标进程在时间维度上的第二异常系数,包括:
在所述多个维度为N个维度、且所述多个历史周期为M个历史周期时,根据所述目标进程在所述M个历史周期上的历史运行信息,确定在所述M个历史周期上所述目标进程在每个维度上的分位数运行数据,得到N个维度的分位数运行数据,其中,N≥2且为自然数,M≥2且为自然数;
根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定所述第二异常系数,其中,所述目标进程在所述当前周期上的运行信息包括所述N个维度的运行数据。
8.根据权利要求7所述的方法,其特征在于,所述根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定所述第二异常系数,包括:
在所述N个维度包括目标维度、且所述目标进程在所述当前周期上的所述目标维度的运行数据表示所述目标进程在所述当前周期内上传数据的数量时,为所述目标维度设置目标放大系数,其中,所述目标放大系数大于1,所述目标放大系数用于增加所述目标维度的运行数据与所述目标维度的分位数运行数据之间的偏移值;
根据所述N个维度的运行数据以及所述N个维度的分位数运行数据,确定每个维度的运行数据与分位数运行数据之间的偏移,得到N个偏移值,并根据所述N个偏移值与所述目标放大系数,确定所述第二异常系数。
10.根据权利要求1所述的方法,其特征在于,所述根据所述第一异常系数和所述第二异常系数,确定所述第一主机中的所述目标进程是否为异常进程,包括:
根据所述第一异常系数和所述第二异常系数,确定与所述第一异常系数对应的第一权重值以及与所述第二异常系数对应的第二权重值;
根据预先获取的所述目标进程在所述当前周期上的上传信息,确定一组控制系数,其中,所述上传信息用于表示所述目标进程在所述当前周期上向不同目的地址上传数据的数量;
根据所述第一异常系数、所述第二异常系数、所述第一权重值、所述第二权重值以及所述一组控制系数,确定所述目标进程在所述当前周期上的总异常系数;
在所述总异常系数大于预设阈值时,确定所述第一主机中的所述目标进程为异常进程。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第一异常系数和所述第二异常系数,确定与所述第一异常系数对应的第一权重值以及与所述第二异常系数对应的第二权重值,包括:
获取所述一组主机中运行的每个进程的所述第一异常系数和所述第二异常系数,得到一组第一异常系数和一组第二异常系数;
确定所述一组第一异常系数的分位数加权平均值,得到第一分位数加权值,确定所述一组第二异常系数的分位数加权平均值,得到第二分位数加权值;
将所述第二分位数加权值除以目标值所得到的值确定为所述第一权重值,将所述第一分位数加权值除以所述目标值所得到的值确定为所述第二权重值,其中,所述目标值为所述第一分位数加权值与所述第二分位数加权值之和。
12.根据权利要求10所述的方法,其特征在于,所述根据预先获取的所述目标进程在所述当前周期上的上传信息,确定一组控制系数,包括:
在所述目标进程是预设的进程集合中的进程时,根据所述上传信息,确定所述目标进程在所述当前周期内向第一目的地址上传数据的第一数量以及在所述当前周期内向所述第一目的地址上传数据的第一次数;在所述第一数量大于第一预设阈值、且所述第一次数小于第二预设阈值时,将所述一组控制系数中的第一控制系数设置为预设的第一值,其中,所述第一值大于1;在所述第一次数大于或等于第二预设阈值时,将所述第一控制系数设置为预设的第二值,其中,0<所述第二值<1;其中,所述第一控制系数为所述第一异常系数和所述第二异常系数的控制系数;和/或
14.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序可被终端设备或计算机运行时执行所述权利要求1至13任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至13任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651266.2A CN113821316A (zh) | 2021-06-10 | 2021-06-10 | 异常进程的检测方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110651266.2A CN113821316A (zh) | 2021-06-10 | 2021-06-10 | 异常进程的检测方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821316A true CN113821316A (zh) | 2021-12-21 |
Family
ID=78923843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110651266.2A Pending CN113821316A (zh) | 2021-06-10 | 2021-06-10 | 异常进程的检测方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821316A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033889A (zh) * | 2022-06-22 | 2022-09-09 | 中国电信股份有限公司 | 非法提权检测方法和装置、存储介质、计算机设备 |
-
2021
- 2021-06-10 CN CN202110651266.2A patent/CN113821316A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115033889A (zh) * | 2022-06-22 | 2022-09-09 | 中国电信股份有限公司 | 非法提权检测方法和装置、存储介质、计算机设备 |
CN115033889B (zh) * | 2022-06-22 | 2023-10-31 | 中国电信股份有限公司 | 非法提权检测方法和装置、存储介质、计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190244367A1 (en) | Systems and methods for determining optical flow | |
US10050989B2 (en) | Inferential analysis using feedback for extracting and combining cyber risk information including proxy connection analyses | |
US10560483B2 (en) | Rating organization cybersecurity using active and passive external reconnaissance | |
CN107465651B (zh) | 网络攻击检测方法及装置 | |
US10574695B2 (en) | Gateway apparatus, detecting method of malicious domain and hacked host thereof, and non-transitory computer readable medium | |
CN107579956B (zh) | 一种用户行为的检测方法和装置 | |
CN106492458B (zh) | 游戏服务器的合并方法及装置 | |
US20230362200A1 (en) | Dynamic cybersecurity scoring and operational risk reduction assessment | |
CN108628721B (zh) | 用户数据值的异常检测方法、装置、存储介质及电子装置 | |
CN108366012B (zh) | 一种社交关系建立方法、装置及电子设备 | |
CN108243191A (zh) | 风险行为识别方法、存储介质、设备及系统 | |
CN111325417A (zh) | 实现隐私保护的多方协同更新业务预测模型的方法及装置 | |
CN112165445B (zh) | 用于检测网络攻击的方法、装置、存储介质及计算机设备 | |
US20200007563A1 (en) | Anomaly detection in complex systems | |
CN110941823B (zh) | 威胁情报获取方法及装置 | |
US9225608B1 (en) | Evaluating configuration changes based on aggregate activity level | |
CN113821316A (zh) | 异常进程的检测方法和装置、存储介质及电子设备 | |
CN112437034B (zh) | 虚假终端检测方法和装置、存储介质及电子装置 | |
CN113391741B (zh) | 操作校验方法和装置、存储介质及电子设备 | |
CN112508630A (zh) | 异常会话群的检测方法、装置、计算机设备和存储介质 | |
Nakahara et al. | Malware detection for IoT devices using hybrid system of whitelist and machine learning based on lightweight flow data | |
CN114338159A (zh) | 访问限制方法、装置、非易失性存储介质及处理器 | |
US20140258332A1 (en) | Fast distributed database frequency summarization | |
CN113630396B (zh) | 处理网络安全告警信息的方法、装置及系统 | |
CN114301716B (zh) | 一种网络安全评估方法、装置、网络安全设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |