CN112910825A - 一种蠕虫检测方法及网络设备 - Google Patents
一种蠕虫检测方法及网络设备 Download PDFInfo
- Publication number
- CN112910825A CN112910825A CN201911137201.5A CN201911137201A CN112910825A CN 112910825 A CN112910825 A CN 112910825A CN 201911137201 A CN201911137201 A CN 201911137201A CN 112910825 A CN112910825 A CN 112910825A
- Authority
- CN
- China
- Prior art keywords
- host
- session
- time window
- hosts
- session information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1491—Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Abstract
本申请实施例公开了一种蠕虫检测方法及网络设备,可以适用于不同的网络中,提高识别蠕虫的准确率。该蠕虫检测方法包括:获取预设时间段内至少两台主机中的每台主机对应的会话信息,每台主机对应的会话信息为每台主机主动连接其他主机的会话信息,至少两台主机为第一网络中的主机,根据每台主机对应的会话信息确定每台主机对应的数据特征,每台主机对应的数据特征用于描述每台主机访问其他主机的行为,根据预设训练方法对每台主机对应的数据特征进行训练生成蠕虫检测模型。
Description
技术领域
本申请涉及计算机网络技术领域,进一步涉及人工智能(ArtificialIntelligence,AI)技术在计算机网络领域中的应用,尤其涉及蠕虫检测方法及网络设备。
背景技术
蠕虫一直是信息安全行业的重大威胁。蠕虫可以通过攻击安全漏洞,复制其自身并通过网络传播。蠕虫可以通过文件共享、网络共享、社交网络、即时通信、可移动驱动、电子邮件附件、文本信息和软件漏洞等途径传播。
被蠕虫感染的主机会在蠕虫程序的控制下通过扫描进行目标侦测以确定网络中的其他主机是否存在某种漏洞或开放特殊端口等。当蠕虫发现网络中的主机存在漏洞以后,蠕虫会攻击具有漏洞的主机,然后会进行负载传递,进而成功的感染其他的主机。
针对蠕虫传播的特性,当前的蠕虫检测技术统计网络中一个主机在一段时间内扫描其他主机的数量,如果该数量大于阈值,那么确定该主机已经被感染蠕虫,而且该主机正在攻击其他的主机。当然,类似的蠕虫检测技术还有很多,例如,还可以统计网络中的一个主机一段时间内扫描的目的端口的数量是否超过阈值,如果扫描的目的端口的数量超过阈值那么确定该主机已经被感染蠕虫,而且该主机正在攻击其他的主机。
上述蠕虫检测技术可以检测出网络中感染蠕虫的主机,但是,也会存在大量的误报。由于很多企业的业务非常复杂,企业网内的主机会因为正常的业务在一段时间内扫描大量的主机,上述蠕虫检测技术可能会将正常的主机误判为感染蠕虫的主机,所以当前的蠕虫检测技术识别的准确率较低。
发明内容
本申请实施例提供一种蠕虫检测方法及网络设备,以提高识别蠕虫的准确率。
第一方面,本申请实施例提供了一种蠕虫检测方法。该方法包括以下步骤:获取第一主机在第一时间窗内的第一会话信息,第一会话信息为第一主机主动连接其他主机的会话信息;根据第一会话信息确定第一主机对应的数据特征,第一主机对应的数据特征用于描述第一主机访问其他主机的行为;根据蠕虫检测模型分析第一主机对应的数据特征得到预测结果,蠕虫检测模型为采用预设训练方法对第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,预测结果用于指示第一主机是否感染蠕虫。
在第一方面中,通过预先学习一个网络中每台主机访问其他主机的网络行为而训练获得蠕虫检测模型,再基于蠕虫检测模型和该网络中某个主机的网络行为来判断该主机是否感染蠕虫,并生成用于指示第一主机是否感染蠕虫的预测结果。本申请实施例提供的蠕虫检测方法可以适用于不同的网络中,换句话说,根据每个不同网络中主机的网络行为训练对应的蠕虫检测模型。相对于对所有网络无区分地采用相同的阈值判断检测蠕虫感染的现有技术而言,可以在一定程度上降低误报率,从而提高识别蠕虫的准确率。
可选的,在第一方面的一种可能的实现方式中,蠕虫检测方法还可以包括以下步骤:获取预设时间段内至少两台主机中的每台主机对应的会话信息,每台主机对应的会话信息为每台主机主动连接其他主机的会话信息,至少两台主机为第一网络中的主机,根据每台主机对应的会话信息确定每台主机对应的数据特征,每台主机对应的数据特征用于描述每台主机访问其他主机的行为,根据预设训练方法对每台主机对应的数据特征进行训练生成蠕虫检测模型。
其中,蠕虫检测模型可以学习一个网络中每台主机访问其他主机的网络行为,训练成功的蠕虫检测模型可以根据该网络中某个主机的网络行为来判断该主机是否感染蠕虫。
可选的,在第一方面的一种可能的实现方式中,采用以下方式确定每台主机对应的数据特征。将预设时间段分成多个时间窗,多个时间窗中的每个时间窗的时间长度与第一时间窗的时间长度相同。从至少两台主机中的每台主机对应的会话信息中选择一台主机对应的会话信息,采用以下步骤获得选择出的主机在多个时间窗分别对应的数据特征,直到处理完至少两台主机中的每台主机对应的会话信息为止,从而得到每台主机在多个时间窗内分别对应的数据特征:根据选择出的主机对应的会话信息的起始时间将选择出的主机对应的会话信息分配到多个时间窗内,得到选择出的主机在多个时间窗内的分别对应的会话信息。根据选择出的主机在多个时间窗内的第二时间窗中对应的会话信息,确定选择出的主机在第二时间窗内对应的数据特征,依次类推从而得到选择出的主机在多个时间窗中的每个时间窗内对应的数据特征。
可选的,在第一方面的一种可能的实现方式中,采用以下方式建立主机之间的传播链。获取第一时间窗内第一主机对应的每个会话的字节数,第一主机对应的每个会话为第一主机主动连接其他主机生成的会话。获取第三时间窗内第二主机对应的每个会话的字节数,第二主机属于第一主机在第一时间窗内主动连接过的主机、且第二主机为感染蠕虫的主机,第二主机对应的每个会话为第二主机主动连接其他主机生成的会话,第三时间窗的时间长度与第一时间窗的时间长度相同、且第一时间窗的起始时间早于或等于第三时间窗的起始时间。确定第一时间窗内第一主机对应的每个会话的字节数和第三时间窗内第二主机对应的每个会话的字节数是否均符合第一条件,第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程。如果第一时间窗内第一主机对应的每个会话的字节数和第三时间窗内第二主机对应的每个会话的字节数均符合第一条件,计算第一时间窗内第一主机对应的每个会话的字节数与第三时间窗内第二主机对应的每个会话的字节数之间的相似度。在相似度大于阈值时,建立第一主机与第二主机之间的传播链。
其中,如果第一主机对应的第一时间窗的起始时间早于第二主机对应的第三时间窗的起始时间,且第一主机在第一时间窗内主动连接过的第二主机,以及第一主机对应的每个会话的字节数与第二主机对应的每个会话的字节数之间的相似度较高,说明很有可能是感染蠕虫的第一主机将蠕虫病毒传播到第二主机中,所以可以建立第一主机与第二主机之间的传播链。传播链能够向用户提供更丰富、更直观的蠕虫传播信息,从而有助于精准地评估蠕虫对于被感染主机所在网络造成影响。
可选的,在第一方面的一种可能的实现方式中,本申请实施例提供了基于会话的信息生成的多种类别的数据特征,这些数据特征对于构建有区分度的蠕虫检测模型较为有效。具体地,第一会话信息包括至少两个会话的信息,至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议标志位、会话的起始时间或会话的结束时间中的至少一个。第一主机对应的数据特征包括被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个,被扫描端口的主机数为第一主机访问不同主机上同一目的端口对应的不同主机数量的最大值,短会话为会话的字节数与会话的报文数的比值小于阈值的会话。
可选的,在第一方面的一种可能的实现方式中,每台主机对应的会话信息包括每台主机对应的至少两个会话的信息,每台主机对应的至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议标志位、会话的起始时间或会话的结束时间中的至少一个。每台主机对应的数据特征包括被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个,被扫描端口的主机数为第一主机访问不同主机上同一目的端口对应的不同主机数量的最大值,短会话为会话的字节数与会话的报文数的比值小于阈值的会话。
第二方面,本申请实施例提供了一种蠕虫检测方法。该方法包括以下步骤:获取第一时间窗内第一主机对应的每个会话的字节数,第一主机对应的每个会话为第一主机主动连接其他主机生成的会话,第一主机为感染蠕虫的主机。获取第二时间窗内第二主机对应的每个会话的字节数,第二主机属于第一主机在第一时间窗内主动连接过的主机、且第二主机为感染蠕虫的主机,第二主机对应的每个会话为第二主机主动连接其他主机生成的会话,第二时间窗的时间长度与第一时间窗的时间长度相同、且第一时间窗的起始时间早于或等于第二时间窗的起始时间;确定第一时间窗内第一主机对应的每个会话的字节数和第二时间窗内第二主机对应的每个会话的字节数是否均符合第一条件,第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程;如果第一时间窗内第一主机对应的每个会话的字节数和第二时间窗内第二主机对应的每个会话的字节数均符合第一条件,计算第一时间窗内第一主机对应的每个会话的字节数与第二时间窗内第二主机对应的每个会话的字节数之间的相似度;在相似度大于阈值时,建立第一主机与第二主机之间的传播链。
在第二方面中,本申请实施例提供了一种构建蠕虫传播链的方案。该方法用第一条件描述蠕虫的探测过程和蠕虫的负载传递过程。通过符合第一条件的两个感染蠕虫的主机之间先后相互访问的行为,构建两个主机之间的传播链。基于此,能够进一步构建由若干传播链组成的传播图。传播链和传播图能够向用户提供更丰富、更直观的蠕虫传播信息,从而有助于精准地评估蠕虫对于被感染主机所在网络造成影响。
可选的,在第二方面的一种可能的实现方式中,采用以下方式确定第一主机和第二主机是否感染蠕虫。获取第一主机在第一时间窗内的第一会话信息,第一会话信息为第一主机主动连接其他主机的会话信息。获取第二主机在第二时间窗内的第二会话信息,第二会话信息为第二主机在第二时间窗内主动连接其他主机的会话信息。根据第一会话信息确定第一主机对应的数据特征,以及根据和第二会话信息确定第二主机对应的数据特征,第一主机对应的数据特征用于描述第一主机访问其他主机的行为,第二主机对应的数据特征用于描述第二主机访问其他主机的行为。根据蠕虫检测模型分析第一主机对应的数据特征和第二主机对应的数据特征得到预测结果,蠕虫检测模型为采用预设训练方法对第一主机和第二主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,预测结果用于指示第一主机和第二主机是否感染蠕虫。
在第二方面中,由于蠕虫检测模型预先学习了一个网络中每台主机访问其他主机的网络行为,所以蠕虫检测模型可以根据该网络中某个主机的网络行为来判断该主机是否感染蠕虫,并生成用于指示第一主机和第二主机是否感染蠕虫的预测结果。
可选的,在第二方面的一种可能的实现方式中,采用以下方式生成蠕虫检测模型。获取预设时间段内至少两台主机中的每台主机对应的会话信息,每台主机对应的会话信息为每台主机主动连接其他主机的会话信息,至少两台主机为第一网络中的主机。根据每台主机对应的会话信息确定每台主机对应的数据特征,每台主机对应的数据特征用于描述每台主机访问其他主机的行为。根据预设训练方法对每台主机对应的数据特征进行训练生成蠕虫检测模型。
其中,蠕虫检测模型可以学习一个网络中每台主机访问其他主机的网络行为,训练成功的蠕虫检测模型可以根据该网络中某个主机的网络行为来判断该主机是否感染蠕虫。相对于现有技术而言,本申请实施例提供的蠕虫检测方法可以适用于不同的网络中,而且识别蠕虫的准确率更高。
可选的,在第二方面的一种可能的实现方式中,采用以下方式确定每台主机对应的数据特征。将预设时间段分成多个时间窗,多个时间窗中的每个时间窗的时间长度与第一时间窗的时间长度相同。从至少两台主机中的每台主机对应的会话信息中选择一台主机对应的会话信息,采用以下步骤获得选择出的主机在多个时间窗分别对应的数据特征,直到处理完至少两台主机中的每台主机对应的会话信息为止,从而得到每台主机在多个时间窗内分别对应的数据特征:根据选择出的主机对应的会话信息的起始时间将选择出的主机对应的会话信息分配到多个时间窗内,得到选择出的主机在多个时间窗内的分别对应的会话信息。根据选择出的主机在多个时间窗内的第三时间窗中对应的会话信息,确定选择出的主机在第三时间窗内对应的数据特征,依次类推从而得到选择出的主机在多个时间窗中的每个时间窗内对应的数据特征。
第三方面,本申请实施例提供了一种网络设备,该网络设备包括网络接口、存储器和与存储器连接的处理器,存储器用于存储指令,处理器用于执行指令,以使网络设备执行第一方面、第一方面的任意一种可能的实现方式中的方法、第二方面或第二方面的任意一种可能的实现方式中的方法,具体参见上面的详细描述,此处不再赘述。
第四方面,本申请实施例提供了一种蠕虫检测装置,该装置具有实现上述第一方面中的方法、上述第一方面的任意一种可能的实现方式的功能、上述第二方面中的方法或上述第二方面的任意一种可能的实现方式的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本申请实施例提供了一种计算机存储介质,用于储存为上述网络设备所用的计算机软件指令,其包含用于执行上述第一方面、上述第一方面的任意一种可能的实现方式、上述第二方面或上述第二方面的任意一种可能的实现方式所设计的程序。
第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第七方面,本申请实施例提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面、第一方面的任意一种可能的实现方式中的方法、第二方面或第二方面的任意一种可能的实现方式中的方法。
附图说明
图1为本申请实施例提供的蠕虫检测方案所适用的网络场景的示意图;
图2为本申请实施例提供的一种蠕虫检测方法的流程图;
图3为本申请实施例提供的预设时间段与多个时间窗的示意图;
图4为本申请实施例提供的另一种蠕虫检测方法的流程图;
图5为本申请实施例提供的预设时间段与时间窗ti的示意图;
图6为本申请实施例提供的又一种蠕虫检测方法的流程图;
图7为本申请实施例提供的预设时间段、时间窗ti和时间窗tj的示意图;
图8为本申请实施例提供的蠕虫的传播链的示意图;
图9为本申请实施例提供的又一种蠕虫检测方法的流程图;
图10为本申请实施例提供的又一种蠕虫检测方法的流程图;
图11为本申请实施例提供的又一种蠕虫检测方法的流程图;
图12是本申请实施例提供的一种网络设备的结构示意图;
图13是本申请实施例提供的一种蠕虫检测装置的结构示意图。
具体实施方式
请参见图1所示,图1为本申请实施例提供的蠕虫检测方案所适用的网络场景的示意图。图1所示的网络场景示意图为本申请实施例提供的蠕虫检测方案适用场景的一个具体的示例,本申请实施例提供的蠕虫检测方案适用的场景不局限于图1所示的示例。
图1所示的场景中包括一个作为分析对象的网络X。可选地,该网络X是区别于互联网的一个网络。例如该网络X是由企业、校园、家庭等组织建立的局域网、或者由多个局域网组成的园区网络(Campus network,CAN)。作为分析对象的网络X通过网关设备400与互联网连接。网络X中包括至少一个交换机200、服务器300和多台主机,多台主机包括主机A、主机B、主机C和主机X等。多台主机之间可以通过交换机200进行相互通信,多台主机还可以通过交换机200和网关设备400连接互联网100。网络X中可以包含多个交换机,为图示简明起见,图1中仅用一个交换机图例标识至少一个交换机200。交换机200根据历史时间段内多台主机之间相互发送的数据包,生成多台主机中的每台主机对应的会话信息。
其中,历史时间段是相对于当前时间而言的,指的是当前时间之前已经过去的一段时间。交换机200生成的每台主机对应的会话信息指的是每台主机主动连接网络X中多台主机中的其他主机的会话信息。例如,历史时间段为过去的1个月内,主机A对应的会话信息为主机A主动连接主机B、主机C和主机X等主机的会话信息。可以理解的是,“其他主机”是相对于主动发起连接的主机来说,除自身之外网络X中的其他主机。对于不同主机,“其他主机”的范围不同。例如,对于主机A而言,其他主机包括主机B、主机C和主机X等主机,而对于主机B而言,其他主机包括主机A、主机C和主机X等主机。
在图1所示的实施例中,服务器300可以从交换机200中获取历史时间段中的预设时间段内网络X中多台主机中的每台主机对应的会话信息。然后,服务器300可以根据每台主机对应的会话信息确定每台主机对应的数据特征。其次,服务器300可以根据预设训练方法对网络X中每台主机对应的数据特征进行训练生成蠕虫检测模型。最后,服务器300可以利用蠕虫检测模型检测出当前时间窗内网络X内的多台主机中哪些主机感染了蠕虫,以及根据感染蠕虫的主机之间的网络行为相似度确定蠕虫的传播链。
其中,预设时间段可以为预先设定且当前时间之前已经过去的时间段。例如,假设历史时间段为过去的1个月内,预设时间段为过去的10天内。当然,预设时间段可以根据实际情况来设定,本申请实施例不限制预设时间段的时间长度,以及不限制在历史时间段中选择预设时间段的方式。
示例的,假设当前时间为2019年10月31日10点,历史时间段为2019年10月1日0点至10月31日0点,那么可以将预设时间段设定为2019年10月21日0点至10月31日0点。
请参见图1和图2所示,图2为本申请实施例提供的一种蠕虫检测方法的流程图。图2所示的蠕虫检测方法可以应用于图1所示的网络场景中,在图2所示的网络场景中,假设图1中网络X中包括的主机数量为1000台,下面说明如何利用网络X中的1000台主机的会话信息来生成蠕虫检测模型。本申请实施例提供的蠕虫检测方法包括以下步骤S101至S103。
S101、服务器300在交换机200中获取预设时间段内网络X内的1000台主机中的每台主机对应的会话信息。
请参见表1所示,表1所示的为预设时间段网络X内的1000台主机中的每台主机对应的会话信息的示例表。
主机名称 | 主机的IP地址 | 主机对应的会话信息 |
主机A | 192.168.0.1 | 会话1的信息,会话2的信息,…,会话m的信息 |
主机B | 192.168.0.2 | 会话1的信息,会话2的信息,…,会话n的信息 |
主机C | 192.168.0.3 | 会话1的信息,会话2的信息,…,会话o的信息 |
… | … | … |
主机X | 192.168.4.100 | 会话1的信息,会话2的信息,…,会话p的信息 |
表1
示例的,在表1中,主机A的IP地址为192.168.0.1,主机A对应的会话信息包括会话1的信息、会话2的信息和会话m的信息等10000个会话的信息。其中,主机A对应的会话信息为主机A主动连接网络X内的1000台主机中、除主机A之外的其他主机的会话信息。
其中,每台主机对应的会话信息包括每台主机对应的多个会话的信息,每台主机对应的至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议(transmission control protocol,TCP)标志位(flag)、会话的起始时间或会话的结束时间中的至少一个。
示例的,主机A的会话信息包括会话1的信息、会话2的信息和会话m的信息等10000个会话的信息。其中,会话1的信息包括会话1的五元组、会话1的字节、会话1的报文数、会话1的传输控制协议标志位、会话1的起始时间和会话1的结束时间。
具体的,会话1的五元组包括源IP地址(192.168.0.1)、源端口号(10)、目的IP地址(192.168.0.2)、目的端口号(8080)和协议类型(TCP协议),会话1的字节为20MB,会话1的报文数为100个,会话1的传输控制协议标志位为SYN=1,会话1的起始时间为2019年10月21日0点02分,会话1的结束时间为2019年10月21日0点08分。
S102、服务器300根据网络X内的1000台主机中的每台主机对应的会话信息确定网络X内的1000台主机中的每台主机对应的数据特征。
其中,每台主机对应的数据特征用于描述每台主机访问其他主机的行为。例如,每台主机对应的数据特征包括被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个。总报文字节数为请求报文的字节数与响应报文的字节数之和,所有会话的个数为短会话的个数与普通的会话的个数之和。
其中,被扫描端口的主机数为第一主机访问不同主机上同一目的端口对应的不同主机数量的最大值。短会话为会话的字节与会话的报文数的比值小于阈值,普通的会话为会话的字节与会话的报文数的比值大于或等于阈值,例如,假设阈值为60。当然,本申请实施例提供的数据特征包含的参数并不局限于已提供的实施例,本领域技术人员可以在数据特征中增加或减少一些参数。
示例的,主机A对应的数据特征包括主机A对应的被扫描端口的主机数、主机A对应的请求报文的字节数与总报文字节数的比例、主机A对应的短会话的个数、主机A对应的短会话的个数与所有会话的个数的比例和主机A对应的连接网段的个数。
本申请图2所描述的实施例,以服务器300为例的网络设备通过预先学习一个网络中每台主机访问其他主机的网络行为而训练获得蠕虫检测模型,再基于蠕虫检测模型和该网络中某个主机的网络行为来判断该主机是否感染蠕虫,并生成用于指示第一主机是否感染蠕虫的预测结果。本申请实施例提供的蠕虫检测方法可以适用于不同的网络中,换句话说,根据每个不同网络中主机的网络行为训练对应的蠕虫检测模型。相对于对所有网络无区分地采用相同的阈值判断检测蠕虫感染的现有技术而言,可以在一定程度上降低误报率,从而提高识别蠕虫的准确率。
下面说明如何根据网络X内的1000台主机中的每台主机对应的会话信息确定网络X内的1000台主机中的每台主机对应的数据特征,即S102包括以下步骤S1021至S1025。
S1021、服务器300将预设时间段分成多个时间窗。
请参见图3所示,图3为本申请实施例提供的预设时间段与多个时间窗的示意图。示例的,假设预设时间段为过去的10天,每个时间窗的时间长度为10分钟,当前时间为2019年10月31日10点,预设时间段为2019年10月21日0点至10月31日0点,那么可以将10天拆分成1440个时间窗。
S1022、服务器300在网络X内的1000台主机中的每台主机对应的会话信息中选择主机A对应的会话信息。
其中,假设主机A对应的会话信息包括10000个会话的信息,每个会话的信息中均包括会话的起始时间,主机A对应的会话信息可以参见表1中的第一行数据。
S1023、服务器300根据主机A对应的会话信息的起始时间将主机A对应的会话信息分配到1440个时间窗内,得到主机A在1440个时间窗内分别对应的会话信息。
其中,请参见表2所示,表2所示的为1440个时间窗与主机A的10000个会话的信息的映射关系表。
表2
示例的,在表2中,假设时间窗t1对应主机A的会话1至会话10的信息,时间窗t2对应主机A的会话11至会话20的信息,时间窗t3对应主机A的会话21至会话50的信息,时间窗t1440对应主机A的会话9990至会话10000的信息。
具体的,结合表2所示,假设时间窗t1为2019年10月1日0点至10月1日0点10分钟,而且会话1至会话10的起始时间均落在时间窗t1内,那么将主机A的会话1至会话10的信息分配到时间窗t1内,所以时间窗t1分别与主机A的会话1至会话10的信息相对应。
当然,如果主机A在某些时间窗内未与其他主机建立会话,那么主机A在这些时间窗内便不存在对应的会话。
S1024、服务器300根据主机A在1440个时间窗内分别对应的会话信息确定主机A在1440个时间窗内分别对应的数据特征。
其中,请参见表3所示,表3所示的为1440个时间窗、主机A的会话信息和主机A的数据特征之间的映射关系表。
时间窗 | 主机A的会话信息 | 主机A的数据特征 |
t1 | 会话1的信息,…,会话10的信息 | 数据特征A1 |
t2 | 会话11的信息,…,会话20的信息 | 数据特征A2 |
t3 | 会话21的信息,…,会话50的信息 | 数据特征A3 |
… | … | … |
t1440 | 会话9990的信息,…,会话10000的信息 | 数据特征A1440 |
表3
在表3中,假设时间窗t1对应主机A的会话1至会话10的信息,服务器300根据主机A在时间窗t1内对应的会话1至会话10的信息确定主机A在时间窗t1内对应的数据特征1。
结合表3所示,主机A在时间窗t1内对应的数据特征1包括主机A对应的被扫描端口“8080”的主机数为“9个”、主机A对应的请求报文的字节数与总报文字节数的比例为“90%”、主机A对应的短会话的个数为“9个”、主机A对应的短会话的个数与所有会话的个数的比例为“90%”和主机A对应的连接网段的个数为“5个”。
示例的,请结合表3所示,假设根据主机A在时间窗t1内对应的会话1至会话10的信息可以得知,在时间窗t1内主机A一共访问了10台主机,这10台主机的IP地址均不相同。而且,在时间窗t1内主机A访问的9台主机的端口均为“8080”,在时间窗t1内主机A访问的1台主机的端口为“10”,所以主机A访问10台不同的主机上同一目的端口“8080”对应个不同主机数量为9。
示例的,请结合表3所示,假设根据主机A在时间窗t1内对应的会话1至会话10的信息可以得知,这10个会话包括90个请求报文和10个响应报文,这90个请求报文具有90MB,这10个响应报文具有10MB,那么主机A对应的请求报文的字节数与总报文字节数的比例=90个请求报文的字节÷(90个请求报文的字节+10个响应报文的字节)=90MB÷(90MB+10MB)=90%。其中,所有报文指的是请求报文与响应报文之和。
示例的,请结合表3所示,假设根据主机A在时间窗t1内对应的会话1至会话10的信息可以得知,这10个会话包括9个短会话和1个普通的会话,那么短会话的个数为9个。普通的会话
示例的,请结合表3所示,假设根据主机A在时间窗t1内对应的会话1至会话10的信息可以得知,这10个会话包括9个短会话和1个普通的会话,那么短会话的个数与所有会话的个数的比例=短会话的个数÷(短会话的个数+普通的会话的个数)=9个÷(9个+1个)=90%。其中,所有会话指的是短会话的个数与普通的会话的个数之和。
示例的,请结合表3所示,假设根据主机A在时间窗t1内对应的会话1至会话10的信息可以得知,在这10个会话的信息对应的10个目的IP地址中,存在5个网段,这5个网段分别为192.168.0.XXX、192.168.1.XXX、192.168.2.XXX、192.168.3.XXX和192.168.4.XXX。
S1025、服务器300对网络X内的1000台主机中的其他主机对应的会话信息分别执行S1022至S1024,最终得到网络X内的1000台主机中的每台主机在1440个时间窗内分别对应的数据特征。
其中,请参见表4所示,表4所示的为1440个时间窗与网络X内的1000台主机的数据特征之间的映射关系表。
主机A | 主机B | … | 主机X | |
时间窗t1 | 数据特征A1 | 数据特征B1 | … | 数据特征X1 |
时间窗t2 | 数据特征A2 | 数据特征B2 | … | 数据特征X2 |
时间窗t3 | 数据特征A3 | 数据特征B3 | … | 数据特征X3 |
… | … | … | … | … |
时间窗t1440 | 数据特征A1440 | 数据特征B1440 | … | 数据特征X1440 |
表4
示例的,结合表4所示,网络X内的1000台主机在1440个时间窗内最多可以有1000台主机×1440个数据特征=1440000个数据特征。当然,在某些时间窗内,如果主机不存在会话信息,那么也不会有数据特征,所以实际情况下最后得到的数据特征可能会小于1440000个。
S103、服务器300根据预设训练方法对网络X内的1000台主机中的每台主机在1440个时间窗内分别对应的数据特征进行训练生成蠕虫检测模型。
其中,预设训练方法为预先设定好的训练方法,例如,预设训练方法可以为孤立森林异常检测方法。当然,本申请实施例并不限定于孤立森林异常检测方法,还可以为其他种类的训练方法。
示例的,结合表4所示,服务器300利用孤立森林异常检测方法对表4中的数据进行训练生成蠕虫检测模型。假设每台主机对应的数据特征均包括被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例和连接网段的个数。
其中,请参见表5所示,表5所示的为网络X内的1000台主机的数据特征与数据范围的映射表。
数据特征 | 数据范围1 | 数据范围2 |
被扫描端口的主机数 | 8个至12个 | 4个至6个 |
请求报文的字节数与总报文字节数的比例 | 90%至100% | 40%至60% |
短会话的个数 | 8个至12个 | 4个至6个 |
短会话的个数与所有会话的个数的比例 | 90%至100% | 40%至60% |
连接网段的个数 | 5个至10个 | 1个至2个 |
表5
示例的,结合表5所示,假设网络X内的1000台主机的数据特征中存在10%的数据特征落在了数据范围1内,存在90%的数据特征落在了数据范围2内,说明感染蠕虫的主机生成的异常的数据特征落在数据范围1内,未感染蠕虫的主机生成的正常的数据特征落在数据范围2内。
其中,服务器300利用孤立森林异常检测方法对表4中的数据进行训练生成蠕虫检测模型,相当于蠕虫检测模型对表4中的数据特征进行学习以后,便可以掌握如表5所示的规律。如果主机A在时间窗t1内的数据特征落在表5中的数据范围1内,说明主机A具备感染蠕虫的行为特征,主机A存在较大的可能性属于感染蠕虫的主机。如果主机B在时间窗t1内的数据特征落在表5中的数据范围2内,说明主机B不具备感染蠕虫的行为特征,主机B存在较大的可能性属于未被感染蠕虫的主机。
当然,训练成功的蠕虫检测模型内可能并未保存有表5中的数据,训练成功的蠕虫检测模型内的数据可能会以其他形式存在。但是,训练成功的蠕虫检测模型可以识别出某个主机的数据特征是否落在正常的范围内,如果是,即该主机的数据特征落在数据范围2内,那么蠕虫检测模型可以判定该主机未被感染蠕虫的可能性较高。如果否,即该主机的数据特征落在数据范围1内,那么蠕虫检测模型可以判定该主机被感染蠕虫的可能性较低。
在图1至图3所示的实施例中,蠕虫检测模型可以学习一个网络中每台主机访问其他主机的网络行为,训练成功的蠕虫检测模型可以根据该网络中某个主机的网络行为来判断该主机是否感染蠕虫。相对于现有技术而言,本申请实施例提供的蠕虫检测方法可以适用于不同的网络中,而且识别蠕虫的准确率更高。
示例的,假设企业A的内网1中具有500台主机,企业B的内网2中具有2000台主机。假设企业A利用图2所示的方法对内网1中的500台主机的网络行为进行学习可以得到蠕虫检测模型X,企业B利用图2所示的方法对内网2中的2000台主机的网络行为进行学习可以得到蠕虫检测模型Y。由于企业A的业务种类与企业B的业务种类不同,所以内网1中的500台主机的网络行为与内网2中的2000台主机的网络行为也就不同,导致蠕虫检测模型X与蠕虫检测模型Y在判断主机是否感染蠕虫的标准也完全不同,所以本申请实施例提供的蠕虫检测方法可以适用于不同类型的网络中。而且,蠕虫检测模型可以根据网络的历史数据得知,哪些网络行为属于历史数据中被认定为感染蠕虫的网络行为,哪些网络行为属于历史数据中被认定为未感染蠕虫的网络行为,所以本申请实施例提供的蠕虫检测方法可以更加精准的识别出感染蠕虫的主机。
请参见图1和图4所示,图4为本申请实施例提供的另一种蠕虫检测方法的流程图。图4所示的蠕虫检测方法可以应用于图1所示的网络场景中,在图4所示的示例中,假设图1中网络X内的主机的数量为1000台,下面说明如何利用图2所示的实施例生成的蠕虫检测模型来识别主机A是否感染蠕虫。本申请实施例提供的蠕虫检测方法包括以下步骤S201至S203。
S201、服务器300在交换机200中获取主机A在时间窗ti内的第一会话信息。
其中,第一会话信息为主机A在时间窗ti内主动连接其他主机的会话信息。第一会话信息包括至少两个会话的信息,至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议标志位、会话的起始时间或会话的结束时间中的至少一个。
请参见表6所示,表6所示的为在时间窗ti内主机A对应的第一会话信息的示例表。
时间窗 | 主机名称 | 主机的IP地址 | 主机A对应的第一会话信息 |
ti | 主机A | 192.168.0.1 | 会话1的信息,…,会话10的信息 |
表6
示例的,在表6中,主机A的IP地址为192.168.0.1,主机A在时间窗ti内的第一会话信息包括会话1至会话10的信息。其中,会话1的信息包括会话1的五元组、会话1的字节、会话1的报文数、会话1的传输控制协议标志位、会话1的起始时间和会话1的结束时间。
具体的,会话1的五元组包括源IP地址(192.168.0.1)、源端口号(1000)、目的IP地址(192.168.0.78)、目的端口号(2000)和协议类型(TCP协议),会话1的字节为50MB,会话1的报文数为200个,会话1的传输控制协议标志位为SYN=1,会话1的起始时间为2019年10月31日10点00分,会话1的结束时间为2019年10月31日10点10分。
请参见图5所示,图5为本申请实施例提供的预设时间段与时间窗ti的示意图。在图5中,预设时间段T为2019年10月21日0点至10月31日0点,预设时间段包括1440个时间窗,1440个时间窗中每个时间窗的时间长度为10分钟。时间窗ti为2019年10月31日10点至10月31日10点10分,时间窗ti的时间长度为10分钟。
基于图1至图3所示的实施例可以得知,服务器300利用孤立森林异常检测方法对网络X所包含的1000台主机中的每台主机在1440个时间窗内分别对应的数据特征进行训练生成蠕虫检测模型。请结合图5所示,在得到蠕虫检测模型以后,服务器300可以在交换机200中获取主机A在时间窗ti内的第一会话信息,服务器300根据第一会话信息确定主机A对应的数据特征,然后根据蠕虫检测模型分析主机A对应的数据特征得到预测结果。
S202、服务器300根据第一会话信息确定主机A对应的数据特征。
其中,主机A对应的数据特征用于描述主机A访问其他主机的行为。其中,主机A对应的数据特征包括主机A访问的目的端口对应的最大主机个数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个。
示例的,主机A对应的数据特征包括主机A访问的目的端口对应的最大主机个数为10个、主机A对应的请求报文的字节数与总报文字节数的比例为98%、主机A对应的短会话的个数为9个、主机A对应的短会话的个数与所有会话的个数的比例为90%和主机A对应的连接网段的个数为8个。
S203、服务器300根据蠕虫检测模型分析主机A对应的数据特征得到预测结果。
其中,图1至图3所示的实施例讲述了如何生成蠕虫检测模型,关于蠕虫检测模型的生成过程请参见图1至图3所示的实施例。
其中,预测结果用于指示主机A是否感染蠕虫,预测结果可以通过不同的形态展示出来。例如,预测结果可以为预测分值,预测分值在[-1,1]之间,如果预测分值在[-1,0]之间,表示主机A可能已经感染蠕虫;如果预测分值在[0,1]之间,表示主机A可能未感染蠕虫。分值越小,主机A感染蠕虫的可能性越大;分值越大,主机A感染蠕虫的可能性越小。
示例的,结合上述主机A对应的数据特征的示例和表5所示的内容可知,主机A的数据特征落在了表5的数据范围1内,说明主机A具备感染蠕虫的行为特征,主机A存在较大的可能性属于感染蠕虫的主机。假设预测结果为-0.5分,表示主机A可能已经感染蠕虫。
在图1和图4所示的实施例中,蠕虫检测模型可以根据一个主机在一个时间窗内的数据特征来确定该主机是否感染蠕虫。当然,蠕虫检测模型可以根据多个主机在一个时间窗内的多个数据特征来确定多个主机中哪些主机感染了蠕虫,哪些主机未感染蠕虫。
请参见图1和图6所示,图6为本申请实施例提供的又一种蠕虫检测方法的流程图。图6所示的蠕虫检测方法可以应用于图1所示的网络场景中,在图6所示的示例中,假设图1中主机的数量为1000台,利用图2所示的实施例生成的蠕虫检测模型在网络X内的1000台主机中检测出主机A和主机B均已感染蠕虫,下面利用主机A和主机B的示例来说明如何建立主机A与主机B之间的蠕虫的传播链。本申请实施例提供的蠕虫检测方法包括以下步骤S301至S305。
S301、服务器300在交换机200中获取时间窗ti内主机A对应的每个会话的字节数。
S302、服务器300在交换机200中获取时间窗tj内主机B对应的每个会话的字节数。
在S301和S302中,主机A对应的每个会话均为主机A主动连接其他主机生成的会话,主机B对应的每个会话均为主机B主动连接其他主机生成的会话。而且,主机B属于主机A在时间窗ti内主动连接过的主机。
请参见表7所示,表7所示的为主机A和主机B分别对应的会话的字节数的示例表。
表7
在表7中,假设在时间窗ti内主机A具有10个会话,在时间窗tj内主机B具有10个会话。
请参见图7所示,图7为本申请实施例提供的预设时间段、时间窗ti和时间窗tj的示意图。在图7中,预设时间段T为2019年10月21日0点至10月31日0点,预设时间段包括1440个时间窗,1440个时间窗中每个时间窗的时间长度为10分钟。时间窗ti为2019年10月31日10点至2019年10月31日10点10分,时间窗tj为2019年10月31日10点10分至2019年10月31日10点20分,时间窗ti和时间窗tj的时间长度均为10分钟。
S303、服务器300确定时间窗ti内主机A对应的每个会话的字节数和时间窗tj内主机B对应的每个会话的字节数是否均符合第一条件。
其中,第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程。感染蠕虫的主机在一个时间窗内的网络行为包括蠕虫的探测过程和蠕虫的负载传递过程,蠕虫的探测过程包括端口探测过程和漏洞探测过程。在这三个过程中,在端口探测过程中,主机建立的会话最多,每个会话的字节数最少。在漏洞探测过程中,主机建立的会话较多,每个会话的字节数较少。在负载传递过程中,主机建立的会话最少,每个会话的字节数最多。
示例的,第一条件为主机对应的每个会话的字节数分布在三个字节范围内。第一字节范围为0至200字节的范围,第二字节范围为200字节至1000字节的范围,第三字节范围为1000字节至2000字节的范围。如果一个主机对应的每个会话的字节数分布在三个字节范围内,那么说明该主机对应的每个会话的字节数符合第一条件。
示例的,假设在时间窗ti内主机A对应10个会话中,存在6个会话的字节数在0至200字节的范围内,存在3个会话的字节数在200字节至1000字节的范围内,存在1个会话的字节数在1000字节至2000字节的范围内,所以在时间窗ti内主机A对应的10个会话的字节数符合第一条件。
示例的,假设在时间窗tj内主机B对应10个会话中,存在5个会话的字节数在0至200字节的范围内,存在3个会话的字节数在200字节至1000字节的范围内,存在2个会话的字节数在1000字节至2000字节的范围内,所以在时间窗tj内主机B对应的10个会话的字节数符合第一条件。
S304、如果主机A对应的每个会话的字节数和主机B对应的每个会话的字节数均符合第一条件,服务器300计算时间窗ti内主机A对应的每个会话的字节数与时间窗tj内主机B对应的每个会话的字节数之间的相似度。
其中,相似度的计算具体可以为余弦相似度的计算。当然,并不局限于余弦相似度。
S305、在相似度大于阈值时,服务器300建立主机A与主机B之间的传播链。
请结合表7所示,假设阈值为0.6,服务器300计算主机A对应的10个会话的字节数与主机B对应的10个会话的字节数之间的余弦相似度,如果余弦相似度大于0.6,那么服务器300建立主机A与主机B之间的传播链。
在图6所示的实施例中,主机A对应的时间窗ti的起始时间早于主机B对应的时间窗tj的起始时间,主机A在时间窗ti内主动连接过的主机B,主机A对应的每个会话的字节数与主机B对应的每个会话的字节数之间的相似度较高。在符合上述3个条件时,说明很有可能是感染蠕虫的主机A将蠕虫病毒传播到主机B中,所以可以建立主机A与主机B之间的传播链。传播链能够向用户提供更丰富、更直观的蠕虫传播信息,从而有助于精准地评估蠕虫对于被感染主机所在网络造成影响。
请参见图1和图8所示,图8为本申请实施例提供的蠕虫的传播链的示意图。假设图1中网络X内的主机的数量为1000台,经过检查以后可以确定网络X内的1000台主机中的主机A、主机B、主机C和主机D均已感染蠕虫。
在图8所示的实施例中,假设服务器300在交换机200中获取时间窗ti内主机A对应的每个会话的字节数,以及获取时间窗tj内主机B对应的每个会话的字节数,以及获取时间窗tm内主机C对应的每个会话的字节数,以及获取时间窗tn内主机D对应的每个会话的字节数。而且,主机A在时间窗ti内主动连接过主机B和主机C,主机B在时间窗tj内主动连接过主机C和主机D,主机C在时间窗tm内主动连接过主机D。另外,主机A对应的每个会话的字节数、主机B对应的每个会话的字节数、主机C对应的每个会话的字节数和主机D对应的每个会话的字节数均符合第一条件。
其中,时间窗ti的起始时间早于时间窗tj的起始时间、时间窗tm的起始时间和时间窗tn的起始时间,时间窗tj的起始时间早于时间窗tm的起始时间和时间窗tn的起始时间,时间窗tm的起始时间早于时间窗tn的起始时间。
请参见表8所示,表8所示的为主机A、主机B、主机C和主机D之间的相似度的示例表。
主机的关系 | 相似度 |
主机A与主机B | 0.65 |
主机A与主机C | 0.68 |
主机B与主机C | 0.75 |
主机B与主机D | 0.71 |
主机C与主机D | 0.69 |
表8
在表8中,网络行为相似度可以利用图6中的S304和S305提供的方式进行计算。通过表8可以得知,主机A可能将蠕虫病毒传播给主机B和主机C,主机B可能将蠕虫病毒传播给主机C和主机D,主机C可能将蠕虫病毒传播给主机D。
在图8所示的实施例中,通过主机A、主机B、主机C和主机D的示例来说明如何建立蠕虫的传播链。基于两个主机之间的传播链,能够进一步构建由若干传播链组成的传播图。传播链和传播图能够向用户提供更丰富、更直观的蠕虫传播信息,从而有助于精准地评估蠕虫对于被感染主机所在网络造成影响。
请参见图9所示,图9为本申请实施例提供的又一种蠕虫检测方法的流程图。图9所示的方法包括以下步骤S401至S403。
S401、获取第一主机在第一时间窗内的第一会话信息。
其中,第一会话信息为第一主机主动连接其他主机的会话信息,第一会话信息包括至少两个会话的信息,至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议标志位、会话的起始时间或会话的结束时间中的至少一个。另外,第一时间窗为预设长度的时间段。
关于S401的具体实现,可以参见图4所示的实施例中关于S201的说明。
S402、根据第一会话信息确定第一主机对应的数据特征。
其中,第一主机对应的数据特征用于描述第一主机访问其他主机的行为。第一主机对应的数据特征包括第一被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个。
关于S402的具体实现,可以参见图4所示的实施例中关于S202的说明。
S403、根据蠕虫检测模型分析第一主机对应的数据特征得到预测结果。
其中,蠕虫检测模型为采用预设训练方法对第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,预测结果用于指示第一主机是否感染蠕虫。
关于S403的具体实现,可以参见图4所示的实施例中关于S203的说明。
在图9所示的实施例中,蠕虫检测模型为采用预设训练方法对第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,所以蠕虫检测模型可以根据第一网络中的主机的数据特征准确的识别出第一网络中哪些主机感染了蠕虫,哪些主机未感染蠕虫。
请参见图10所示,图10为本申请实施例提供的又一种蠕虫检测方法的流程图。图10所示的方法包括以下步骤S501至S503。
S501、获取预设时间段内至少两台主机中的每台主机对应的会话信息。
其中,每台主机对应的会话信息为每台主机主动连接其他主机的会话信息,至少两台主机为第一网络中的主机。每台主机对应的会话信息包括每台主机对应的至少两个会话的信息,每台主机对应的至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议标志位、会话的起始时间或会话的结束时间中的至少一个。
关于S501的具体实现,可以参见图2所示的实施例中关于S101的说明。
S502、根据每台主机对应的会话信息确定每台主机对应的数据特征。
其中,每台主机对应的数据特征用于描述每台主机访问其他主机的行为。每台主机对应的数据特征包括被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个。
关于S502的具体实现,可以参见图2所示的实施例中关于S102的说明。
S503、根据预设训练方法对每台主机对应的数据特征进行训练生成蠕虫检测模型。
关于S503的具体实现,可以参见图2所示的实施例中关于S103的说明。
在图10所示的实施例中,蠕虫检测模型可以学习一个网络中每台主机访问其他主机的网络行为,训练成功的蠕虫检测模型可以根据该网络中某个主机的网络行为来判断该主机是否感染蠕虫。相对于现有技术而言,本申请实施例提供的蠕虫检测方法可以适用于不同的网络中,而且识别蠕虫的准确率更高。
在图10所示的实施例中,S502还可以包括以下步骤。将预设时间段分成多个时间窗,多个时间窗中的每个时间窗的时间长度为与第一时间窗的时间长度相同。从至少两台主机中的每台主机对应的会话信息中选择一台主机对应的会话信息,采用以下步骤获得选择出的主机在多个时间窗分别对应的数据特征,直到处理完至少两台主机中的每台主机对应的会话信息为止,从而得到每台主机在多个时间窗内分别对应的数据特征:根据选择出的主机对应的会话信息的起始时间将选择出的主机对应的会话信息分配到多个时间窗内,得到选择出的主机在多个时间窗内的分别对应的会话信息;根据选择出的主机在多个时间窗内的第二时间窗中对应的会话信息,确定选择出的主机在第二时间窗内对应的数据特征,依次类推从而得到选择出的主机在多个时间窗中的每个时间窗内对应的数据特征。
关于S502的具体实现,可以参见图2所示的实施例中关于S1021至S1025的说明。
请参见图11所示,图11为本申请实施例提供的又一种蠕虫检测方法的流程图。图11所示的方法包括以下步骤S601至S605。
S601、获取第一时间窗内第一主机对应的每个会话的字节数。
其中,第一主机对应的每个会话为第一主机主动连接其他主机生成的会话。
关于S601的具体实现,可以参见图6所示的实施例中关于S301的说明。
S602、获取第三时间窗内第二主机对应的每个会话的字节数。
其中,第二主机属于第一主机在第一时间窗内主动连接过的主机、且第二主机为感染蠕虫的主机,第二主机对应的每个会话为第二主机主动连接其他主机生成的会话,第三时间窗的时间长度与第一时间窗的时间长度相同、且第一时间窗的起始时间早于或等于第三时间窗的起始时间。
关于S602的具体实现,可以参见图6所示的实施例中关于S302的说明。
S603、确定第一时间窗内第一主机对应的每个会话的字节数和第三时间窗内第二主机对应的每个会话的字节数是否均符合第一条件。
其中,第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程。
关于S603的具体实现,可以参见图6所示的实施例中关于S303的说明。
S604、如果第一主机对应的每个会话的字节数和第二主机对应的每个会话的字节数均符合第一条件,计算第一主机对应的每个会话的字节数与第二主机对应的每个会话的字节数之间的相似度。
其中,相似度可以为余弦相似度。
关于S604的具体实现,可以参见图6所示的实施例中关于S304的说明。
S605、在相似度大于阈值时,建立第一主机与第二主机之间的传播链。
关于S605的具体实现,可以参见图6所示的实施例中关于S305的说明。
在图11所示的实施例中,第一主机对应的第一时间窗的起始时间早于第二主机对应的第三时间窗的起始时间,第一主机在第一时间窗内主动连接过的第二主机,第一主机对应的每个会话的字节数与第二主机对应的每个会话的字节数之间的相似度较高。在符合上述3个条件时,说明很有可能是感染蠕虫的第一主机将蠕虫病毒传播到第二主机中,所以建立第一主机与第二主机之间的传播链。
相应地,本申请实施例提供了一种网络设备,用以执行上述各个实施例提供的蠕虫检测方法。图12是本申请实施例提供的一种网络设备的结构示意图。可选地,图12所示的网络设备是图1所示应用场景中的服务器300,图12所示的网络设备也是图2、图4和图6所示流程中的服务器300。网络设备包括处理器131、存储器132和网络接口133。
处理器131可以是一个或多个CPU,该CPU可以是单核CPU,也可以是多核CPU。
存储器132包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(Read only Memory,ROM)、可擦除可编程只读存储器(erasable programmableread-only memory,EPROM或者快闪存储器)、快闪存储器、或光存储器等。存储器132中保存有操作系统的代码。
网络接口133可以是有线接口,例如光纤分布式数据接口(Fiber DistributedData Interface,FDDI)、千兆以太网(Gigabit Ethernet,GE)接口;网络接口133也可以是无线接口。网络接口133用于接收来自于内部网络和/或外部网络的数据流,根据处理器131的指示与内部网络中的交换机进行通信。
可选地,处理器131通过读取存储器132中保存的指令实现上述实施例中的方法,或者,处理器131也可以通过内部存储的指令实现上述实施例中的方法。在处理器131通过读取存储器132中保存的指令实现上述实施例中的方法的情况下,存储器132中保存实现本申请上述实施例提供的方法的指令。
处理器131执行存储器132中存储的指令后,使得网络设备执行以下操作:通过网络接口133在交换机中获取第一主机在第一时间窗内的第一会话信息,第一会话信息为第一主机主动连接其他主机的会话信息;根据第一会话信息确定第一主机对应的数据特征,第一主机对应的数据特征用于描述第一主机访问其他主机的行为;根据蠕虫检测模型分析第一主机对应的数据特征得到预测结果,蠕虫检测模型为采用预设训练方法对第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,预测结果用于指示第一主机是否感染蠕虫。
至少一个处理器131进一步根据存储器132保存的若干对应关系表(如前面实施例中的表1至表8)来执行上述方法实施例所描述的蠕虫检测方法。处理器131实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
可选地,网络设备还包括总线134,上述处理器131、存储器132通常通过总线134相互连接,也可以采用其他方式相互连接。
可选地,网络设备还包括输入输出接口135,输入输出接口135用于与输出设备连接,向管理员输出预测结果,以通知管理员第一主机是否感染蠕虫等等。输出设备包括但不限于显示器、打印机等等。
输入输出接口135还用于与输入设备连接,输入设备包括但不限于键盘、触摸屏、麦克风等等。
图13是本申请实施例提供的一种蠕虫检测装置的结构示意图。该装置14包括处理模块141和获取模块142。该装置14与上述各个方法实施例中的网络设备耦合连接,例如集成在网络设备中,是网络设备中的一个软件或硬件组件。附图13所示的装置应用于方法实施例附图1所示的场景中,实现其中服务器300的功能。
获取模块142,用于获取第一主机在第一时间窗内的第一会话信息,所述第一会话信息为所述第一主机主动连接其他主机的会话信息。
处理模块141,用于根据所述第一会话信息确定所述第一主机对应的数据特征,所述第一主机对应的数据特征用于描述所述第一主机访问所述其他主机的行为;根据蠕虫检测模型分析所述第一主机对应的数据特征得到预测结果,所述蠕虫检测模型为采用预设训练方法对所述第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,所述预测结果用于指示所述第一主机是否感染蠕虫。
处理模块141和获取模块142能够实现的附加功能、实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
附图13所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。附图13中上述各个模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,处理模块141和获取模块142可以是由附图12中的处理器131读取存储器中存储的程序代码后,生成的软件功能模块来实现。图13中上述各个模块也可以由网络设备中的不同硬件分别实现,例如获取模块142由附图12中的网络接口133实现,而处理模块141由附图12中处理器133中的部分处理资源(例如多核处理器中的其他核),或者采用现场可编程门阵列(Field-Programmable Gate Array,FPGA)、或协处理器等可编程器件来完成。显然上述功能模块也可以采用软件硬件相结合的方式来实现,例如获取模块142由网络接口133实现,而处理模块141是由CPU读取存储器中存储的指令后生成的软件功能模块。
附图13中装置可以实现的其他附加功能、与其他网元设备(例如内网设备、或者交换机)的交互过程、以及能够实现的技术效果、以及处理模块141和获取模块142实现上述功能的更多细节请参考前面各个方法实施例中对于网络设备的描述,在这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员将会理解,当使用软件实现本申请实施例的各个方面、或各个方面的可能实现方式时,上述各个方面、或各个方面的可能实现方式可以全部或部分地以计算机程序产品的形式实现。计算机程序产品是指存储在计算机可读介质中的计算机可读指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包括但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合。如计算机可读存储介质为随机存取存储器(Random Access Memory,RAM)、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)或便携式只读存储器(Compact Disc Read-OnlyMemory,CD-ROM)。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的范围。这样,倘若本申请的这些修改和变型属于本发明权利要求的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (20)
1.一种蠕虫检测方法,其特征在于,包括:
获取第一主机在第一时间窗内的第一会话信息,所述第一会话信息为所述第一主机主动连接其他主机的会话信息;
根据所述第一会话信息确定所述第一主机对应的数据特征,所述第一主机对应的数据特征用于描述所述第一主机访问所述其他主机的行为;
根据蠕虫检测模型分析所述第一主机对应的数据特征得到预测结果,所述蠕虫检测模型为采用预设训练方法对所述第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,所述预测结果用于指示所述第一主机是否感染蠕虫。
2.根据权利要求1所述的蠕虫检测方法,其特征在于,在获取第一主机在第一时间窗内的第一会话信息之前,所述方法还包括:
获取预设时间段内至少两台主机中的每台主机对应的会话信息,所述每台主机对应的会话信息为所述每台主机主动连接其他主机的会话信息,所述至少两台主机为所述第一网络中的主机;
根据所述每台主机对应的会话信息确定所述每台主机对应的数据特征,所述每台主机对应的数据特征用于描述所述每台主机访问其他主机的行为;
根据所述预设训练方法对所述每台主机对应的数据特征进行训练生成所述蠕虫检测模型。
3.根据权利要求2所述的蠕虫检测方法,其特征在于,根据所述每台主机对应的会话信息确定所述每台主机对应的数据特征,包括:
将所述预设时间段分成多个时间窗,所述多个时间窗中的每个时间窗的时间长度与所述第一时间窗的时间长度相同;
从所述至少两台主机中的每台主机对应的会话信息中选择一台主机对应的会话信息,采用以下步骤获得选择出的主机在所述多个时间窗分别对应的数据特征,直到处理完所述至少两台主机中的每台主机对应的会话信息为止,从而得到所述每台主机在所述多个时间窗内分别对应的数据特征:
根据所述选择出的主机对应的会话信息的起始时间将所述选择出的主机对应的会话信息分配到所述多个时间窗内,得到所述选择出的主机在多个时间窗内的分别对应的会话信息;根据所述选择出的主机在所述多个时间窗内的第二时间窗中对应的会话信息,确定所述选择出的主机在所述第二时间窗内对应的数据特征,依次类推从而得到所述选择出的主机在所述多个时间窗中的每个时间窗内对应的数据特征。
4.根据权利要求1所述的蠕虫检测方法,其特征在于,如果所述预测结果指示所述第一主机感染蠕虫,所述在根据蠕虫检测模型分析所述第一主机对应的数据特征得到预测结果以后,所述方法还包括:
获取所述第一时间窗内所述第一主机对应的每个会话的字节数,所述第一主机对应的每个会话为所述第一主机主动连接其他主机生成的会话;
获取第三时间窗内第二主机对应的每个会话的字节数,所述第二主机属于所述第一主机在所述第一时间窗内主动连接过的主机、且所述第二主机为感染蠕虫的主机,所述第二主机对应的每个会话为所述第二主机主动连接其他主机生成的会话,所述第三时间窗的时间长度与所述第一时间窗的时间长度相同、且所述第一时间窗的起始时间早于或等于所述第三时间窗的起始时间;
确定所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第三时间窗内所述第二主机对应的每个会话的字节数是否均符合第一条件,所述第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程;
如果所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第三时间窗内所述第二主机对应的每个会话的字节数均符合第一条件,计算所述第一时间窗内所述第一主机对应的每个会话的字节数与所述第三时间窗内所述第二主机对应的每个会话的字节数之间的相似度;
在所述相似度大于阈值时,建立所述第一主机与所述第二主机之间的传播链。
5.根据权利要求1至4任意一项所述的蠕虫检测方法,其特征在于:
所述第一会话信息包括至少两个会话的信息,所述至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议标志位、会话的起始时间或会话的结束时间中的至少一个;
所述第一主机对应的数据特征包括被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个,所述被扫描端口的主机数为所述第一主机访问不同主机上同一目的端口对应的不同主机数量的最大值,所述短会话为会话的字节数与会话的报文数的比值小于阈值的会话。
6.根据权利要求2至4任意一项所述的蠕虫检测方法,其特征在于:
所述每台主机对应的会话信息包括所述每台主机对应的至少两个会话的信息,所述每台主机对应的至少两个会话的信息中的每个会话的信息包括会话的五元组、会话的字节、会话的报文数、会话的传输控制协议标志位、会话的起始时间或会话的结束时间中的至少一个;
所述每台主机对应的数据特征包括被扫描端口的主机数、请求报文的字节数与总报文字节数的比例、短会话的个数、短会话的个数与所有会话的个数的比例或连接网段的个数中的至少一个,所述被扫描端口的主机数为所述第一主机访问不同主机上同一目的端口对应的不同主机数量的最大值,所述短会话为会话的字节数与会话的报文数的比值小于阈值的会话。
7.一种蠕虫检测方法,其特征在于,包括:
获取第一时间窗内第一主机对应的每个会话的字节数,所述第一主机对应的每个会话为所述第一主机主动连接其他主机生成的会话,所述第一主机为感染蠕虫的主机;
获取第二时间窗内第二主机对应的每个会话的字节数,所述第二主机属于所述第一主机在所述第一时间窗内主动连接过的主机、且所述第二主机为感染蠕虫的主机,所述第二主机对应的每个会话为所述第二主机主动连接其他主机生成的会话,所述第二时间窗的时间长度与所述第一时间窗的时间长度相同、且所述第一时间窗的起始时间早于或等于所述第二时间窗的起始时间;
确定所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第二时间窗内所述第二主机对应的每个会话的字节数是否均符合第一条件,所述第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程;
如果所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第二时间窗内所述第二主机对应的每个会话的字节数均符合第一条件,计算所述第一时间窗内所述第一主机对应的每个会话的字节数与所述第二时间窗内所述第二主机对应的每个会话的字节数之间的相似度;
在所述相似度大于阈值时,建立所述第一主机与所述第二主机之间的传播链。
8.根据权利要求7所述的蠕虫检测方法,其特征在于,在获取第一时间窗内第一主机对应的每个会话的字节数以前,所述方法还包括:
获取所述第一主机在所述第一时间窗内的第一会话信息,所述第一会话信息为所述第一主机主动连接其他主机的会话信息;
获取所述第二主机在所述第二时间窗内的第二会话信息,所述第二会话信息为所述第二主机在所述第二时间窗内主动连接其他主机的会话信息;
根据所述第一会话信息确定所述第一主机对应的数据特征,以及根据所述第二会话信息确定所述第二主机对应的数据特征,所述第一主机对应的数据特征用于描述所述第一主机访问所述其他主机的行为,所述第二主机对应的数据特征用于描述所述第二主机访问所述其他主机的行为;
根据蠕虫检测模型分析所述第一主机对应的数据特征和所述第二主机对应的数据特征得到预测结果,所述蠕虫检测模型为采用预设训练方法对所述第一主机和所述第二主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,所述预测结果用于指示所述第一主机和所述第二主机是否感染蠕虫。
9.根据权利要求8所述的蠕虫检测方法,其特征在于,在获取所述第一主机在所述第一时间窗内的至少两个会话的信息之前,所述方法还包括:
获取预设时间段内至少两台主机中的每台主机对应的会话信息,所述每台主机对应的会话信息为所述每台主机主动连接其他主机的会话信息,所述至少两台主机为所述第一网络中的主机;
根据所述每台主机对应的会话信息确定所述每台主机对应的数据特征,所述每台主机对应的数据特征用于描述所述每台主机访问所述其他主机的行为;
根据所述预设训练方法对所述每台主机对应的数据特征进行训练生成所述蠕虫检测模型。
10.根据权利要求9所述的蠕虫检测方法,其特征在于,根据所述每台主机对应的会话信息确定所述每台主机对应的数据特征,包括:
将所述预设时间段分成多个时间窗,所述多个时间窗中的每个时间窗的时间长度与所述第一时间窗的时间长度相同;
从所述至少两台主机中的每台主机对应的会话信息中选择一台主机对应的会话信息,采用以下步骤获得选择出的主机在所述多个时间窗分别对应的数据特征,直到处理完所述至少两台主机中的每台主机对应的会话信息为止,从而得到所述每台主机在所述多个时间窗内分别对应的数据特征:
根据所述选择出的主机对应的会话信息的起始时间将所述选择出的主机对应的会话信息分配到所述多个时间窗内,得到所述选择出的主机在多个时间窗内的分别对应的会话信息;根据所述选择出的主机在所述多个时间窗内的第三时间窗中对应的会话信息,确定所述选择出的主机在所述第三时间窗内对应的数据特征,依次类推从而得到所述选择出的主机在所述多个时间窗中的每个时间窗内对应的数据特征。
11.一种网络设备,其特征在于,包括网络接口、存储器和与所述存储器连接的处理器,
所述存储器用于存储指令;
所述处理器用于执行所述指令,以使所述网络设备执行以下操作:
通过所述网络接口获取第一主机在第一时间窗内的第一会话信息,所述第一会话信息为所述第一主机主动连接其他主机的会话信息;根据所述第一会话信息确定所述第一主机对应的数据特征,所述第一主机对应的数据特征用于描述所述第一主机访问所述其他主机的行为;根据蠕虫检测模型分析所述第一主机对应的数据特征得到预测结果,所述蠕虫检测模型为采用预设训练方法对所述第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,所述预测结果用于指示所述第一主机是否感染蠕虫。
12.根据权利要求11所述的网络设备,其特征在于:
所述处理器,还用于通过所述网络接口获取预设时间段内至少两台主机中的每台主机对应的会话信息,所述每台主机对应的会话信息为所述每台主机主动连接其他主机的会话信息,所述至少两台主机为所述第一网络中的主机;根据所述每台主机对应的会话信息确定所述每台主机对应的数据特征,所述每台主机对应的数据特征用于描述所述每台主机访问其他主机的行为;根据所述预设训练方法对所述每台主机对应的数据特征进行训练生成所述蠕虫检测模型。
13.根据权利要求12所述的网络设备,其特征在于,
所述处理器,具体用于将所述预设时间段分成多个时间窗,所述多个时间窗中的每个时间窗的时间长度与所述第一时间窗的时间长度相同;从所述至少两台主机中的每台主机对应的会话信息中选择一台主机对应的会话信息,采用以下步骤获得选择出的主机在所述多个时间窗分别对应的数据特征,直到处理完所述至少两台主机中的每台主机对应的会话信息为止,从而得到所述每台主机在所述多个时间窗内分别对应的数据特征:根据所述选择出的主机对应的会话信息的起始时间将所述选择出的主机对应的会话信息分配到所述多个时间窗内,得到所述选择出的主机在多个时间窗内的分别对应的会话信息;根据所述选择出的主机在所述多个时间窗内的第二时间窗中对应的会话信息,确定所述选择出的主机在所述第二时间窗内对应的数据特征,依次类推从而得到所述选择出的主机在所述多个时间窗中的每个时间窗内对应的数据特征。
14.根据权利要求11所述的网络设备,其特征在于,如果所述预测结果指示所述第一主机感染蠕虫,
所述处理器,还用于通过所述网络接口获取所述第一时间窗内所述第一主机对应的每个会话的字节数,所述第一主机对应的每个会话为所述第一主机主动连接其他主机生成的会话;通过所述网络接口获取第三时间窗内第二主机对应的每个会话的字节数,所述第二主机属于所述第一主机在所述第一时间窗内主动连接过的主机、且所述第二主机为感染蠕虫的主机,所述第二主机对应的每个会话为所述第二主机主动连接其他主机生成的会话,所述第三时间窗的时间长度与所述第一时间窗的时间长度相同、且所述第一时间窗的起始时间早于或等于所述第三时间窗的起始时间;确定所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第三时间窗内所述第二主机对应的每个会话的字节数是否均符合第一条件,所述第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程;如果所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第三时间窗内所述第二主机对应的每个会话的字节数均符合第一条件,计算所述第一时间窗内所述第一主机对应的每个会话的字节数与所述第三时间窗内所述第二主机对应的每个会话的字节数之间的相似度;在所述相似度大于阈值时,建立所述第一主机与所述第二主机之间的传播链。
15.一种网络设备,其特征在于,包括网络接口、存储器和与所述存储器连接的处理器,
所述存储器用于存储指令;
所述处理器用于执行所述指令,以使所述网络设备执行以下操作:
通过所述网络接口获取第一时间窗内第一主机对应的每个会话的字节数,所述第一主机对应的每个会话为所述第一主机主动连接其他主机生成的会话,所述第一主机为感染蠕虫的主机;通过所述网络接口获取第二时间窗内第二主机对应的每个会话的字节数,所述第二主机属于所述第一主机在所述第一时间窗内主动连接过的主机、且所述第二主机为感染蠕虫的主机,所述第二主机对应的每个会话为所述第二主机主动连接其他主机生成的会话,所述第二时间窗的时间长度与所述第一时间窗的时间长度相同、且所述第一时间窗的起始时间早于或等于所述第二时间窗的起始时间;确定所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第二时间窗内所述第二主机对应的每个会话的字节数是否均符合第一条件,所述第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程;如果所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第二时间窗内所述第二主机对应的每个会话的字节数均符合第一条件,计算所述第一时间窗内所述第一主机对应的每个会话的字节数与所述第二时间窗内所述第二主机对应的每个会话的字节数之间的相似度;在所述相似度大于阈值时,建立所述第一主机与所述第二主机之间的传播链。
16.根据权利要求15所述的网络设备,其特征在于:
所述处理器,还用于通过所述网络接口获取所述第一主机在所述第一时间窗内的第一会话信息,所述第一会话信息为所述第一主机主动连接其他主机的会话信息;通过所述网络接口获取所述第二主机在所述第二时间窗内的第二会话信息,所述第二会话信息为所述第二主机在所述第二时间窗内主动连接其他主机的会话信息;根据所述第一会话信息确定所述第一主机对应的数据特征,以及根据所述第二会话信息确定所述第二主机对应的数据特征,所述第一主机对应的数据特征用于描述所述第一主机访问所述其他主机的行为,所述第二主机对应的数据特征用于描述所述第二主机访问所述其他主机的行为;根据蠕虫检测模型分析所述第一主机对应的数据特征和所述第二主机对应的数据特征得到预测结果,所述蠕虫检测模型为采用预设训练方法对所述第一主机和所述第二主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,所述预测结果用于指示所述第一主机和所述第二主机是否感染蠕虫。
17.根据权利要求16所述的网络设备,其特征在于:
所述处理器,还用于通过所述网络接口获取预设时间段内至少两台主机中的每台主机对应的会话信息,所述每台主机对应的会话信息为所述每台主机主动连接其他主机的会话信息,所述至少两台主机为所述第一网络中的主机;根据所述每台主机对应的会话信息确定所述每台主机对应的数据特征,所述每台主机对应的数据特征用于描述所述每台主机访问所述其他主机的行为;根据所述预设训练方法对所述每台主机对应的数据特征进行训练生成所述蠕虫检测模型。
18.根据权利要求17所述的网络设备,其特征在于,
所述处理器,具体用于将所述预设时间段分成多个时间窗,所述多个时间窗中的每个时间窗的时间长度与所述第一时间窗的时间长度相同;从所述至少两台主机中的每台主机对应的会话信息中选择一台主机对应的会话信息,采用以下步骤获得选择出的主机在所述多个时间窗分别对应的数据特征,直到处理完所述至少两台主机中的每台主机对应的会话信息为止,从而得到所述每台主机在所述多个时间窗内分别对应的数据特征:根据所述选择出的主机对应的会话信息的起始时间将所述选择出的主机对应的会话信息分配到所述多个时间窗内,得到所述选择出的主机在多个时间窗内的分别对应的会话信息;根据所述选择出的主机在所述多个时间窗内的第三时间窗中对应的会话信息,确定所述选择出的主机在所述第三时间窗内对应的数据特征,依次类推从而得到所述选择出的主机在所述多个时间窗中的每个时间窗内对应的数据特征。
19.一种蠕虫检测装置,其特征在于,包括:
获取模块,用于获取第一主机在第一时间窗内的第一会话信息,所述第一会话信息为所述第一主机主动连接其他主机的会话信息;
处理模块,用于根据所述第一会话信息确定所述第一主机对应的数据特征,所述第一主机对应的数据特征用于描述所述第一主机访问所述其他主机的行为;根据蠕虫检测模型分析所述第一主机对应的数据特征得到预测结果,所述蠕虫检测模型为采用预设训练方法对所述第一主机所在第一网络内的多台主机对应的数据特征进行训练生成的模型,所述预测结果用于指示所述第一主机是否感染蠕虫。
20.一种蠕虫检测装置,其特征在于,包括:
获取模块,用于获取第一时间窗内第一主机对应的每个会话的字节数,所述第一主机对应的每个会话为所述第一主机主动连接其他主机生成的会话,所述第一主机为感染蠕虫的主机;获取第二时间窗内第二主机对应的每个会话的字节数,所述第二主机属于所述第一主机在所述第一时间窗内主动连接过的主机、且所述第二主机为感染蠕虫的主机,所述第二主机对应的每个会话为所述第二主机主动连接其他主机生成的会话,所述第二时间窗的时间长度与所述第一时间窗的时间长度相同、且所述第一时间窗的起始时间早于或等于所述第二时间窗的起始时间;
处理模块,用于确定所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第二时间窗内所述第二主机对应的每个会话的字节数是否均符合第一条件,所述第一条件用于描述蠕虫的探测过程和蠕虫的负载传递过程;如果所述第一时间窗内所述第一主机对应的每个会话的字节数和所述第二时间窗内所述第二主机对应的每个会话的字节数均符合第一条件,计算所述第一时间窗内所述第一主机对应的每个会话的字节数与所述第二时间窗内所述第二主机对应的每个会话的字节数之间的相似度;在所述相似度大于阈值时,建立所述第一主机与所述第二主机之间的传播链。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911137201.5A CN112910825B (zh) | 2019-11-19 | 2019-11-19 | 一种蠕虫检测方法及网络设备 |
PCT/CN2020/126856 WO2021098527A1 (zh) | 2019-11-19 | 2020-11-05 | 一种蠕虫检测方法及网络设备 |
EP20891166.9A EP4044548A4 (en) | 2019-11-19 | 2020-11-05 | WORM DETECTION METHOD AND NETWORK DEVICE |
US17/746,883 US20220311793A1 (en) | 2019-11-19 | 2022-05-17 | Worm Detection Method and Network Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911137201.5A CN112910825B (zh) | 2019-11-19 | 2019-11-19 | 一种蠕虫检测方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112910825A true CN112910825A (zh) | 2021-06-04 |
CN112910825B CN112910825B (zh) | 2022-06-14 |
Family
ID=75980394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911137201.5A Active CN112910825B (zh) | 2019-11-19 | 2019-11-19 | 一种蠕虫检测方法及网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220311793A1 (zh) |
EP (1) | EP4044548A4 (zh) |
CN (1) | CN112910825B (zh) |
WO (1) | WO2021098527A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338593A (zh) * | 2021-12-23 | 2022-04-12 | 上海观安信息技术股份有限公司 | 利用地址解析协议进行网络扫描的行为检测方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500063B (zh) * | 2022-01-31 | 2023-10-13 | 上海纽盾科技股份有限公司 | 网络资产的分区感知威胁的方法、装置、系统及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895521A (zh) * | 2009-05-22 | 2010-11-24 | 中国科学院研究生院 | 一种网络蠕虫检测与特征自动提取方法及其系统 |
CN102111308A (zh) * | 2010-12-22 | 2011-06-29 | 成都天融信网络安全技术有限公司 | 一种多态蠕虫自动检测方法 |
CN103281293A (zh) * | 2013-03-22 | 2013-09-04 | 南京江宁台湾农民创业园发展有限公司 | 一种基于多维分层相对熵的网络流量异常检测方法 |
CN105429977A (zh) * | 2015-11-13 | 2016-03-23 | 武汉邮电科学研究院 | 基于信息熵度量的深度包检测设备异常流量监控方法 |
CN106416171A (zh) * | 2014-12-30 | 2017-02-15 | 华为技术有限公司 | 一种特征信息分析方法及装置 |
US20180183815A1 (en) * | 2016-10-17 | 2018-06-28 | Kerry Wayne Enfinger | System and method for detecting malware |
CN108234472A (zh) * | 2017-12-28 | 2018-06-29 | 北京百度网讯科技有限公司 | 挑战黑洞攻击的检测方法及装置、计算机设备及可读介质 |
CN108289088A (zh) * | 2017-01-09 | 2018-07-17 | 中国移动通信集团河北有限公司 | 基于业务模型的异常流量检测系统及方法 |
CN109033836A (zh) * | 2018-07-24 | 2018-12-18 | 南开大学 | 基于统计学习的恶意代码多模型交叉检测方法 |
CN109510805A (zh) * | 2017-09-15 | 2019-03-22 | 中国科学院声学研究所 | 一种基于安全基线模型的网络数据安全检测方法及系统 |
CN110022313A (zh) * | 2019-03-25 | 2019-07-16 | 河北师范大学 | 基于机器学习的多态蠕虫特征提取及多态蠕虫辨识方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100612452B1 (ko) * | 2004-11-08 | 2006-08-16 | 삼성전자주식회사 | 악성 코드 탐지 장치 및 그 방법 |
CN101184097A (zh) * | 2007-12-14 | 2008-05-21 | 北京大学 | 一种基于流量信息检测蠕虫活动的方法 |
CN101686235B (zh) * | 2008-09-26 | 2013-04-24 | 北京神州绿盟信息安全科技股份有限公司 | 网络异常流量分析设备和方法 |
CN101521672B (zh) * | 2009-04-03 | 2011-11-23 | 中国科学院计算技术研究所 | 一种网络蠕虫检测方法及检测系统 |
US9288220B2 (en) * | 2013-11-07 | 2016-03-15 | Cyberpoint International Llc | Methods and systems for malware detection |
CN109831462B (zh) * | 2019-03-29 | 2021-12-24 | 新华三信息安全技术有限公司 | 一种病毒检测方法及装置 |
-
2019
- 2019-11-19 CN CN201911137201.5A patent/CN112910825B/zh active Active
-
2020
- 2020-11-05 WO PCT/CN2020/126856 patent/WO2021098527A1/zh unknown
- 2020-11-05 EP EP20891166.9A patent/EP4044548A4/en active Pending
-
2022
- 2022-05-17 US US17/746,883 patent/US20220311793A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895521A (zh) * | 2009-05-22 | 2010-11-24 | 中国科学院研究生院 | 一种网络蠕虫检测与特征自动提取方法及其系统 |
CN102111308A (zh) * | 2010-12-22 | 2011-06-29 | 成都天融信网络安全技术有限公司 | 一种多态蠕虫自动检测方法 |
CN103281293A (zh) * | 2013-03-22 | 2013-09-04 | 南京江宁台湾农民创业园发展有限公司 | 一种基于多维分层相对熵的网络流量异常检测方法 |
CN106416171A (zh) * | 2014-12-30 | 2017-02-15 | 华为技术有限公司 | 一种特征信息分析方法及装置 |
CN105429977A (zh) * | 2015-11-13 | 2016-03-23 | 武汉邮电科学研究院 | 基于信息熵度量的深度包检测设备异常流量监控方法 |
US20180183815A1 (en) * | 2016-10-17 | 2018-06-28 | Kerry Wayne Enfinger | System and method for detecting malware |
CN108289088A (zh) * | 2017-01-09 | 2018-07-17 | 中国移动通信集团河北有限公司 | 基于业务模型的异常流量检测系统及方法 |
CN109510805A (zh) * | 2017-09-15 | 2019-03-22 | 中国科学院声学研究所 | 一种基于安全基线模型的网络数据安全检测方法及系统 |
CN108234472A (zh) * | 2017-12-28 | 2018-06-29 | 北京百度网讯科技有限公司 | 挑战黑洞攻击的检测方法及装置、计算机设备及可读介质 |
CN109033836A (zh) * | 2018-07-24 | 2018-12-18 | 南开大学 | 基于统计学习的恶意代码多模型交叉检测方法 |
CN110022313A (zh) * | 2019-03-25 | 2019-07-16 | 河北师范大学 | 基于机器学习的多态蠕虫特征提取及多态蠕虫辨识方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338593A (zh) * | 2021-12-23 | 2022-04-12 | 上海观安信息技术股份有限公司 | 利用地址解析协议进行网络扫描的行为检测方法及装置 |
CN114338593B (zh) * | 2021-12-23 | 2023-07-04 | 上海观安信息技术股份有限公司 | 利用地址解析协议进行网络扫描的行为检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20220311793A1 (en) | 2022-09-29 |
CN112910825B (zh) | 2022-06-14 |
EP4044548A4 (en) | 2023-03-22 |
WO2021098527A1 (zh) | 2021-05-27 |
EP4044548A1 (en) | 2022-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11070569B2 (en) | Detecting outlier pairs of scanned ports | |
US11797671B2 (en) | Cyberanalysis workflow acceleration | |
CN107743701B (zh) | 基于恶意软件相似性和在线信任度的对事件的全局聚类 | |
US10116696B2 (en) | Network privilege manager for a dynamically programmable computer network | |
US11770397B2 (en) | Malicious port scan detection using source profiles | |
US20180124073A1 (en) | Network attack detection | |
CN109194684B (zh) | 一种模拟拒绝服务攻击的方法、装置及计算设备 | |
US20220046042A1 (en) | Scanner probe detection | |
US11770396B2 (en) | Port scan detection using destination profiles | |
US11316872B2 (en) | Malicious port scan detection using port profiles | |
JP2019021294A (ja) | DDoS攻撃判定システムおよび方法 | |
US8769677B2 (en) | System and method for spammer host detection from network flow data profiles | |
US20220311793A1 (en) | Worm Detection Method and Network Device | |
US7992206B1 (en) | Pre-scanner for inspecting network traffic for computer viruses | |
US10757029B2 (en) | Network traffic pattern based machine readable instruction identification | |
US7954142B2 (en) | System and method of resolving discrepancies between diverse firewall designs | |
CN114598512B (zh) | 一种基于蜜罐的网络安全保障方法、装置及终端设备 | |
US10965693B2 (en) | Method and system for detecting movement of malware and other potential threats | |
CN116527390A (zh) | 端口扫描检测 | |
CN113328976B (zh) | 一种安全威胁事件识别方法、装置及设备 | |
CN108848093B (zh) | 路由计算单元和网络节点设备 | |
Zhang et al. | Toward comprehensive network verification: Practices, challenges and beyond | |
EP3799367B1 (en) | Generation device, generation method, and generation program | |
Alsaleh et al. | Objective metrics for firewall security: A holistic view | |
US11985151B2 (en) | Generation device, generation method, and generation program |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |