具体实施方式
为使得本发明的发明目的、特征、优点能够更加的清楚易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例一提供的一种僵尸网络的检测方法流程图,如图1所示,该检测方法包括:
步骤100,识别网络中具有攻击行为的疑似僵尸主机;
具体的,可以通过对网络中的流量进行监控,或者通过对网络中的通信行为进行行为特征检测,识别网络中的攻击行为,从而检测出网络中实施僵尸网络行为的主机信息。由于网络中的恶意行为可能并非都是网络中的攻击主机所为,因此,在此,对实施有攻击行为的主机称为疑似僵尸主机。
步骤105,提取攻击信息,所述攻击信息中包含有所述疑似僵尸主机IP信息;
步骤110,根据所述疑似僵尸主机IP信息对疑似僵尸主机的通信行为进行监控,并记录与所述疑似僵尸主机具有通信行为的第二主机信息,所述第二主机为网络中的未知主机;
具体的,为了更进一步的确认步骤100中检测出的疑似僵尸主机是否为僵尸主机,可以对识别出的疑似僵尸主机的通信行为进行监控,同时记录与所述疑似僵尸主机具有通信行为的第二主机信息,需要说明的是,由于在网络中,实施僵尸网络行为的疑似僵尸主机既可能与受害主机通信,对受害主机发起攻击,也可能与未知的僵尸控制主机进行通信,接受僵尸控制主机的控制对受害主机发起攻击,因此记录时,可以只记录与疑似僵尸主机具有通信行为的未知主机。
步骤115,当在设定时间段内与所述第二主机通信的疑似僵尸主机数目达到预设阈值时,识别所述第二主机为所述疑似僵尸主机对应的僵尸控制主机。
具体的,当发现该第二主机(未知主机)在设定时间内与多个疑似僵尸主机具有通信行为时,则识别所述第二主机为所述多个疑似僵尸主机所属僵尸网络中对应的僵尸控制主机。
需要说明的是,上述方案可以在网络中的安全防护设备上具体实施,该安全防护设备例如可以位于网关上,例如可以位于城域网的出口或其它出口,以便对整个网络进行检测,本发明不做限定。
本发明实施例中所述的僵尸网络检测方法,通过实时对网络流量进行识别,将识别出的具有僵尸网络行为的疑似僵尸主机进行监控,并记录与所述疑似僵尸主机具有通信行为的第二主机信息,在设定时间内,对与所述第二主机通信的疑似僵尸主机进行统计,当与所述第二主机通信的疑似僵尸主机数量超过预设阈值时,识别所述第二主机为所述疑似僵尸主机对应的僵尸控制主机,从而检测出网络中的未知僵尸网络,且检测结果较为准确,提高了网络安全性。
图2是本发明实施例二提供的一种僵尸网络的检测方法流程图,如图2所示,本发明实施例二所述的僵尸网络的检测方法可以包括:
步骤200,对网络流量进行行为检测,进入步骤205;
具体的,可以通过网络设备(例如防火墙、网关等设备)检测通过设备的网络流量中是否存在恶意攻击行为,例如,针对分布式拒绝服务DDOS攻击,可以利用DDOS流量清洗技术,例如源探测、网络连接数检测、异常会话检测、指纹等很多攻击防范技术进行检测,从而识别真实攻击源和攻击对象。针对垃圾邮件SPAM攻击,可以通过实时黑名单列表RBL(Realtime BlackholeList)、邮件行为统计、邮件内容分析等多种方法判别SPAM主机。针对漏洞扫描攻击,可以通过DPI技术,识别网络中是否具有漏洞扫描攻击行为,从而判别恶意扫描主机和扫描漏洞类型。具体的,可以检测全连接攻击、HTTP攻击、CC攻击以及HTTPS攻击等能够验证攻击源IP真实性的攻击,从而可以获得攻击主机的真实攻击源IP。
步骤205,判断网络中是否存在攻击行为,有则进入步骤210,否则返回步骤200继续监控网络流量;
一般的,如果存在未知僵尸网络,则在网络中可能会出现诸如分布式拒绝服务攻击DDOS行为、垃圾邮件SPAM行为、漏洞扫描行为或恶意下载行为等恶意攻击行为,当然,也不限于上述恶意行为,因此,在检测过程中,可以根据僵尸网络行为的行为特征对网络流量进行检测,如果发现网络流量中存在上述恶意攻击行为时,则进入步骤210,否则返回步骤200,继续对网络中的流量进行检测。
步骤210,提取攻击信息,所述攻击信息中包含有所述疑似僵尸主机IP信息,进入步骤215;
当发现网络流量中存在上述僵尸网络行为时,提取具有僵尸网络行为的疑似僵尸主机信息,例如疑似僵尸主机的IP信息,端口号信息等,也可以提取被攻击主机的相关信息,例如被攻击主机的IP信息,攻击发起时间等信息。
步骤215,监控疑似僵尸主机的通信行为,并记录与疑似僵尸主机通信的第二主机信息,进入步骤220;
具体的,可以进一步监控疑似僵尸主机的通信行为,记录下与疑似僵尸主机通信的对端主机信息,由于在网络中,实施僵尸网络行为的疑似僵尸主机既可能与受害主机通信,对受害主机发起攻击,也可能与未知的僵尸控制主机进行通信,接受僵尸控制主机的控制对受害主机发起攻击,由于被攻击主机是已知的受害主机,因此记录时,可以只记录与疑似僵尸主机具有通信行为的未知主机信息,当然,与疑似僵尸主机具有通信行为的未知主机可能有多个,为了表述方便清楚,本实施例中将以一个未知主机为例进行说明,且将与疑似僵尸主机具有通信行为的该未知主机称为第二主机。具体的,在记录时,可以记录第二主机的IP地址信息、端口号信息以及与第二主机通信的疑似僵尸主机IP信息。
步骤220,在设定的时间内统计与所述第二主机通信的疑似僵尸主机数目,进入步骤225;
具体的,统计时,可以排除所述第二主机采用通用的正常端口与疑似僵尸主机通信的情况,只对与所述第二主机的陌生端口通信的疑似僵尸主机的数目进行统计。具体的,通用的正常端口包括默认的http协议端口80、默认的dns协议端口53、默认的ftp协议端口21、默认的smtp协议端25等端口信息。
步骤225,判断与所述第二主机通信的疑似僵尸主机的数量是否达到预设阈值,达到预设阈值则进入步骤230,否则返回步骤200,继续对网络流量进行行为检测;
由于,在僵尸网络中,僵尸控制主机为了发起攻击会与多个僵尸主机进行通信从而对僵尸主机进行控制,使僵尸主机按照僵尸控制主机的攻击指令对网络中的受害主机发起攻击,因此,可以根据与在设定时间内(例如1小时)所述第二主机通信的疑似僵尸主机数量来判断该第二主机是否为僵尸控制主机。具体的,可以对与所述第二主机通信的疑似僵尸主机数量设定一个阈值,该阈值可以直接设定,也可以根据监控的疑似僵尸主机的总数量进行设定,例如该阈值可以设定为被监控的疑似僵尸主机总数的80%。如果与所述第二主机通信的疑似僵尸主机的数量达到预设阈值,则进入步骤230,否则返回步骤200继续检测网络流量。
步骤230,识别该第二主机为僵尸控制主机。
具体的,如果在设定时间内(例如1小时)与该第二主机通信的疑似僵尸主机数量达到设定的阈值时,则判断所述第二主机为僵尸控制主机,该僵尸控制主机所在的网络为僵尸网络。具体的,该阈值可以直接设定,也可以根据监控的疑似僵尸主机的数量来确定,例如,将监控的疑似僵尸主机总数量80%作为该阈值时,当与某台第二主机通信的疑似僵尸主机的数量达到监控的疑似僵尸主机总数量的80%时,识别该第二主机为僵尸控制主机。具体的,例如,总共检测10台疑似僵尸主机的通信行为时,如果发现第二主机A与8台疑似僵尸主机具有通信行为,则识别该第二主机A为这8台疑似僵尸主机的僵尸控制主机,进而可以检测出该僵尸控制主机所属的未知僵尸网络。
进一步的,该方法还可以在检测出未知僵尸网络后包括:
步骤235,发出报警信息。
当检测出僵尸网络时,可以发出向攻击防护设备发出报警信息,以进一步对检测出的僵尸网络进行处理,提高网络的安全性。
本发明实施例中所述的僵尸网络检测方法,通过实时对网络流量进行检测,将识别出的具有僵尸网络行为的疑似僵尸主机进行监控,并记录与所述疑似僵尸主机具有通信行为的第二主机信息,在设定时间内,对与所述第二主机通信的疑似僵尸主机数量进行统计,当所述第二主机与达到预设阈值数量的疑似僵尸主机具有通信行为时,识别所述第二主机为所述疑似僵尸主机对应的僵尸控制主机,从而能够实时检测出网络中的未知僵尸网络,且检测结果较为准确,提高了网络安全性。当检测出僵尸网络时,可以发出向攻击防护设备发出报警信息,以进一步对检测出的僵尸网络进行处理,提高网络的安全性。
图3是本发明实施例三提供的一种僵尸网络的检测方法流程图,如图3所示,本发明实施例三所述的僵尸网络的检测方法可以包括:
步骤300,对网络流量进行行为检测,进入步骤305;
具体的,可以通过网络设备(例如防火墙、网关等设备)检测通过设备的网络流量中是否存在恶意攻击行为,例如,针对分布式拒绝服务DDOS攻击,可以利用DDOS流量清洗技术,例如源探测、网络连接数检测、异常会话检测、指纹等很多攻击防范技术进行检测,从而识别真实攻击源和攻击对象。针对垃圾邮件SPAM攻击,可以通过RBL、邮件行为统计、邮件内容分析等多种方法判别SPAM主机。针对漏洞扫描攻击,可以通过DPI技术,识别网络中是否具有漏洞扫描攻击行为,从而判别恶意扫描主机和扫描漏洞类型。具体的,可以检测全连接攻击、HTTP攻击、CC攻击以及HTTPS攻击等能够验证攻击源IP真实性的攻击,从而可以获得攻击主机的真实攻击源IP。
步骤305,判断网络中是否存在攻击行为,有则进入步骤310,否则返回步骤300继续监控网络流量;
一般的,如果存在未知僵尸网络,则在网络中可能会出现诸如分布式拒绝服务攻击DDOS行为、垃圾邮件SPAM行为、漏洞扫描行为或恶意下载行为等恶意攻击行为,当然,也不限于上述攻击行为,因此,在检测过程中,可以根据僵尸网络行为的行为特征对网络流量进行检测。具体的,针对DDOS攻击可以检测全连接攻击、HTTP攻击、CC攻击以及HTTPS攻击等能够验证攻击源IP真实性的攻击,从而可以获得攻击主机的真实攻击源IP。针对SPAM攻击可以重点检测发送邮件频率过高的主机,针对漏洞扫描攻击可以采用特征检测的方式进行检测,通过把常见的漏洞扫描提取规则,在利用检测引擎进行识别,从而发现攻击。如果发现网络流量中存在上述恶意攻击行为时,则进入步骤310,否则返回步骤300,继续对网络中的流量进行检测。
步骤310,提取攻击信息,所述攻击信息中包括所述疑似僵尸主机IP信息,进入步骤312;
当发现网络流量中存在上述攻击行为时,提取攻击信息,该攻击信息中包括疑似僵尸主机的IP信息,端口号等信息。当然,为了更进一步的了解攻击情况,还可以包括被攻击主机的IP信息、被攻击主机的端口信息、攻击发起时间、攻击次数、攻击特征等。提取的攻击信息越多,越有利于减少检测过程中的误判率。
步骤312,按照设定的分组规则将提取的攻击信息划分为至少一个分组,进入步骤315;
由于同一个僵尸网络的僵尸主机发起的攻击具有相似性,因此当检测到网络中的僵尸网络行为时,可以按照设定的分组原则将提取的攻击信息划分为至少一个分组,分组原则可以根据不同的攻击类型来确定。
例如,在分布式拒绝服务DDOS攻击中,由于同一时间针对同一个受害主机发起攻击的主机往往来自于同一个僵尸网络,因此,可以按照具有相同被攻击对象IP的分组原则将提取的所述疑似僵尸主机信息划分为一组。例如可以按照以下数据列表一的形式将提取的攻击信息进行分组。
数据列表一:
被攻击对象IP |
攻击主机IP |
攻击类型 |
被攻击主机端口 |
攻击发起时间 |
攻击次数 |
攻击特征 |
其中,被攻击对象IP是指被DDOS攻击的受害主机IP信息;攻击主机IP指发起DDOS攻击的真实主机IP信息;攻击类型是指DDOS攻击的类型,例如全连接攻击、CC攻击等类型;被攻击主机端口是指受害主机的端口信息;攻击发起时间是指攻击主机IP发起攻击的时间;攻击次数是指当前已连续攻击的次数;攻击特征是通过对该攻击提取出的报文信息或采样数据。
对于垃圾邮件SPAM攻击,由于同一时间发送相似邮件的SPAM主机往往来自于同一个僵尸网络,因此,可以按照邮件内容相近的分组原则将所述攻击信息划分为至少一个分组。例如,可以按照以下数据列表二的形式将提取的攻击信息进行分组。
数据列表二:
邮件摘要编号 |
发送主机IP |
邮件类型 |
邮件发送时间 |
邮件发送次数 |
邮件摘要特征 |
其中,邮件摘要编号是对发送的垃圾邮件的摘要进行哈希生成的编号;发送主机IP是指发送SPAM的真实主机IP信息;邮件类型是指SPAM邮件的类型,包括例如广告、钓鱼等类型;邮件发送次数是指截至提取攻击信息时邮件被发送的总次数;邮件摘要特征是根据垃圾邮件提取出的报文信息或采样数据的特征串。
在漏洞扫描攻击中,由于同一时间对攻击对象进行相同扫描特征的攻击主机往往是一个僵尸网络发起。因此,可以将一定时间内漏洞类型相同的攻击信息分到一组。例如,可以按照以下数据列表三的形式将提取的攻击信息进行分组。
数据列表三:
漏洞类型 |
攻击主机IP信息 |
漏扫目的端口 |
攻击发起时间 |
攻击次数 |
攻击特征 |
其中,漏洞类型,是指漏洞扫描攻击中被攻击的漏洞类型,例如CVE-1999-0016漏洞类型等,具体的,CVE-1999-0016是漏洞的国家编号,其中,CVE是漏洞标准,1999-0016是漏洞的编号;攻击主机IP信息是指发起漏洞扫描攻击的真实主机IP信息;漏扫目的端口是指漏洞扫描攻击的被攻击主机的端口信息;攻击发起时间是指发起漏洞扫描攻击的攻击主机发起攻击的时间;攻击次数是指已连续攻击的总次数;攻击特征是指对该漏洞扫描攻击提取出的报文信息或采样数据。
步骤315,监控各个分组中疑似僵尸主机的通信行为,并记录与疑似僵尸主机通信的第二主机信息,进入步骤320;
具体的,可以进一步监控各个分组中的疑似僵尸主机的通信行为,记录下与疑似僵尸主机通信的对端主机信息,由于在网络中,实施僵尸网络行为的疑似僵尸主机既可能与受害主机通信,对受害主机发起攻击,也可能与未知的僵尸控制主机进行通信,接受僵尸控制主机的控制对受害主机发起攻击,由于被攻击主机是已知的受害主机,因此记录时,可以只记录与疑似僵尸主机具有通信行为的未知主机信息。当然,与疑似僵尸主机具有通信行为的未知主机可能有多个,为了表述方便、清楚,本实施例中将以一个未知主机为例进行说明,且将与疑似僵尸主机具有通信行为的该未知主机称为第二主机。具体的,在记录时,可以记录第二主机的IP地址信息、端口号信息以及与第二主机通信的疑似僵尸主机IP信息。
步骤320,在设定的时间内统计各分组中与所述第二主机通信的疑似僵尸主机数目,进入步骤325;
具体的,统计时,可以排除所述第二主机采用通用的正常端口与疑似僵尸主机通信的情况,只对与所述第二主机的陌生端口通信的疑似僵尸主机的数目进行统计。具体的,通用的正常端口包括默认的http协议端口80、默认的dns协议端口53、默认的ftp协议端口21、默认的smtp协议端25等端口信息。
步骤325,判断各分组中与所述第二主机通信的疑似僵尸主机的数量是否达到预设阈值,如果达到预设阈值则进入步骤330,否则返回步骤300继续对网络流量进行行为检测;
由于,在僵尸网络中,僵尸控制主机为了发起攻击会与多个僵尸主机进行通信从而对僵尸主机进行控制,使僵尸主机按照僵尸控制主机的攻击指令对网络中的受害主机发起攻击,因此,可以根据在设定时间内(例如1小时)与所述第二主机通信的疑似僵尸主机数量来判断第二主机是否为僵尸控制主机。具体的,可以对与第二主机通信的疑似僵尸主机数量设定一个阈值,该阈值可以根据监控的疑似僵尸主机的总数量进行设定。并且,由于针对同一个受害主机发起的攻击往往是一个僵尸网络中的僵尸主机发起的,因此,在本实施例中,该阈值可以根据各个分组中的疑似僵尸主机的总数量来进行设定,例如,该阈值可以设定为该分组中的疑似僵尸主机总数的80%。如果达到预设阈值则进入步骤330,否则返回步骤300继续对网络流量进行行为检测;
步骤330,识别该第二主机为该分组中疑似僵尸主机对应的僵尸控制主机,进入步骤335;
具体的,如果在设定时间内(例如1小时)该分组中与该第二主机通信的疑似僵尸主机数量达到设定的阈值时,则判断该第二主机为僵尸控制主机,该僵尸控制主机所在的网络为僵尸网络。例如,当将分组中疑似僵尸主机总数量的80%作为该阈值时,假设被监控的一个分组中有10台疑似僵尸主机,如果第二主机A与该分组中9台疑似僵尸主机均有通信信息,则认为第二主机A是该分组中的疑似僵尸主机的控制者。
步骤335,发出报警信息。
当检测出僵尸控制主机时,可以发出向攻击防护设备发出报警信息,以进一步对检测出的僵尸控制主机所属的僵尸网络进行处理,提高网络的安全性。
本发明实施例中所述的僵尸网络检测方法,通过实时对网络流量进行检测,并利用同一个僵尸网络中僵尸主机攻击中的相似性将识别出的具有僵尸网络行为的疑似僵尸主机分组进行监控,并记录与各分组中的疑似僵尸主机通信的第二主机信息,在设定时间内,对各分组中与所述第二主机通信的疑似僵尸主机数量进行统计,当与该分组中与所述第二主机具有通信行为的疑似僵尸主机数量超过设定阈值时,识别所述第二主机为该分组中的疑似僵尸主机的控制主机,该方法提高了僵尸网络检测的实时性,且检测结果较为准确,进一步提高了网络安全性。由于本发明实施例中,根据不同的攻击类型提取的攻击信息不同,且提取的信息更加详细,进一步有利于提高检测的准确性。
图4是本发明实施例四提供的一种僵尸网络的检测装置示意图,如图4所示,该装置包括:
检测模块400,用于识别网络中具有攻击行为的疑似僵尸主机;
具体的,可以通过对网络中的流量进行安全检测,包括利用DDOS流量清洗技术,例如源探测、网络连接数检测、异常会话检测、指纹等攻击防范技术对网络中的DDOS攻击行为进行检测,识别网络中的真实攻击源和攻击对象;通过RBL、邮件行为统计、邮件内容分析等多种方法判别SPAM主机;可以通过DPI技术识别网络中是否具有漏洞扫描攻击行为,从而判别恶意扫描主机和扫描漏洞类型等。由于网络中的恶意行为可能并非都是网络中的攻击主机所为,因此,在此,对实施有攻击行为的主机称为疑似僵尸主机。
提取模块405,用于提取攻击信息,所述攻击信息中包含有所述疑似僵尸主机IP信息;
具体的,当检测模块400发现网络流量中存在攻击行为时,提取模块405提取具有该攻击行为的攻击信息,该攻击信息中包含有实施该攻击行为的疑似僵尸主机信息,例如疑似僵尸主机的IP信息、端口号信息等,同时,提取模块405也可以提取被攻击主机的相关信息,例如被攻击主机的IP信息,攻击发起时间等信息。
监控模块410,用于根据所述疑似僵尸主机IP信息对疑似僵尸主机的通信行为进行监控,并记录与所述疑似僵尸主机具有通信行为的第二主机信息,所述第二主机为网络中的未知主机;
具体的,监控模块410可以根据提取模块405提取的疑似僵尸主机IP信息对疑似僵尸主机的通信行为进行监控,并记录下与疑似僵尸主机通信的对端主机信息,由于在网络中,实施僵尸网络行为的疑似僵尸主机既可能与受害主机通信,对受害主机发起攻击,也可能与其僵尸控制主机进行通信,接受僵尸控制主机的控制对受害主机发起攻击,由于被攻击主机是已知的受害主机,因此记录时,可以只记录与疑似僵尸主机具有通信行为的除受害主机之外的其他未知主机信息。当然,与疑似僵尸主机具有通信行为的未知主机可能有多个,为了表述方便清楚,本实施例中将以一个未知主机为例进行说明,且将与疑似僵尸主机具有通信行为的该未知主机称为第二主机。具体的,在记录时,可以记录第二主机的IP地址信息、端口号信息以及与第二主机通信的疑似僵尸主机IP信息。
识别模块415,用于当在设定时间段内与所述第二主机通信的疑似僵尸主机数目达到预设阈值时,识别所述第二主机为所述疑似僵尸主机对应的僵尸控制主机。
具体的,当发现该第二主机(未知主机)在设定时间内与多个疑似僵尸主机具有通信行为时,则识别所述第二主机为所述多个疑似僵尸主机所述僵尸网络中对应的僵尸控制主机。具体的,该阈值可以直接设定,也可以根据监控的疑似僵尸主机的数量来确定。
本发明实施例中所述的僵尸网络检测装置,通过检测模块400实时对网络流量进行识别,并通过监控模块410对检测模块400检测出的具有僵尸网络行为的疑似僵尸主机进行监控,并记录与所述疑似僵尸主机具有通信行为的第二主机信息,通过在设定时间内,对与所述第二主机通信的疑似僵尸主机数目进行统计,当在设定时间段内与所述第二主机通信的疑似僵尸主机数目达到预设阈值时,识别所述第二主机为所述疑似僵尸主机对应的僵尸控制主机,从而检测出网络中的未知僵尸网络,且检测结果较为准确,提高了网络安全性。
图5为本发明实施例五提供的一种僵尸网络的检测装置示意图,如图所示,该装置包括:
检测模块500,用于识别网络中具有攻击行为的疑似僵尸主机;
具体的,可以通过对网络中的流量进行安全检测,包括利用DDOS流量清洗技术,例如源探测、网络连接数检测、异常会话检测、指纹等攻击防范技术对网络中的DDOS攻击行为进行检测,识别网络中的真实攻击源和攻击对象;通过RBL、邮件行为统计、邮件内容分析等多种方法判别SPAM主机;可以通过DPI技术,识别网络中是否具有漏洞扫描攻击行为,从而判别恶意扫描主机和扫描漏洞类型。
提取模块505,用于提取攻击信息,所述攻击信息中包括所述疑似僵尸主机IP信息;
具体的,当检测模块500发现网络流量中存在僵尸网络行为时,提取模块505提取攻击信息,其中该攻击信息中包含有实施僵尸网络行为的疑似僵尸主机信息,例如疑似僵尸主机的IP信息,端口号信息等,同时,提取模块505也可以提取被攻击主机的相关信息,例如被攻击主机的IP信息,攻击发起时间等信息。提取的攻击信息越多,越有利于监控网络中的攻击情况,减少检测过程中的误判率。
分组模块508,用于按照设定的分组规则将提取模块505提取的所述攻击信息划分为至少一个分组;
由于同一个僵尸网络的僵尸主机发起的攻击具有相似性,因此当检测到网络中的僵尸网络行为时,可以按照设定的分组原则将提取的攻击信息划分为至少一个分组,分组原则可以根据不同的攻击类型来确定。例如,当攻击行为为DDOS行为时,按照具有相同被攻击对象IP的分组原则将所述疑似僵尸主机IP信息划分为至少一个分组;当攻击行为为SPAM行为时,按照邮件内容相近的分组原则将所述疑似僵尸主机IP信息划分为至少一个分组;当攻击行为为漏洞扫描行为时,按照具有相同漏洞类型的分组原则将所述疑似僵尸主机IP信息划分为至少一个分组。具体可参见上述方法实施例此处不再赘述。
监控模块510,用于监控各个分组中疑似僵尸主机的通信行为,并记录与疑似僵尸主机通信的第二主机信息;
具体的,监控模块510可以根据提取模块505所提取的攻击信息中的疑似僵尸主机信息对各个分组中的疑似僵尸主机信息的通信行为进行监控,并记录下与疑似僵尸主机通信的对端主机信息。由于在网络中,实施僵尸网络行为的疑似僵尸主机既可能与受害主机通信,对受害主机发起攻击,也可能与未知的僵尸控制主机进行通信,接受僵尸控制主机的控制对受害主机发起攻击,由于被攻击主机是已知的受害主机,因此记录时,可以只记录与疑似僵尸主机具有通信行为的未知主机信息。当然,与疑似僵尸主机具有通信行为的未知主机可能有多个,为了表述方便、清楚,本实施例中将以一个未知主机为例进行说明,且将与疑似僵尸主机具有通信行为的该未知主机称为第二主机。具体的,在记录时,可以记录第二主机的IP地址信息、端口号信息以及与第二主机通信的疑似僵尸主机IP信息。
识别模块515,用于当在设定时间段内所述分组中与所述第二主机通信的疑似僵尸主机数目达到设定阈值时,识别所述第二主机为所述分组中的疑似僵尸主机对应的僵尸控制主机。
具体的,在设定时间内,当该分组中与所述第二主机通信的疑似僵尸主机达到预设阈值时,则识别所述第二主机为所述多个疑似僵尸主机所述僵尸网络中对应的僵尸控制主机。具体的,该阈值可以直接设定,也可以根据各分组中被监控的疑似僵尸主机的数量来确定。
进一步的,本发明实施例所述装置还可以包括:
统计模块512,用于在设定的时间内统计与所述第二主机通信的疑似僵尸主机数目。
具体的,统计时,可以对各个分组分别进行统计,统计时可以排除所述第二主机采用通用的正常端口与该分组中疑似僵尸主机通信的情况,只对与所述第二主机的陌生端口通信的疑似僵尸主机的数目进行统计。具体的,通用的正常端口包括默认的http协议端口80、默认的dns协议端口53、默认的ftp协议端口21、默认的smtp协议端25等端口信息。
进一步的,所述识别模块515可以包括:
判断子模块5152,用于判断所述统计模块512所统计的分组中与所述第二主机通信的疑似僵尸主机数目是否达到预设阈值;
具体的,可以对与所述第二主机通信的疑似僵尸主机数目设定一个阈值,该阈值可以直接设定,也可以根据监控的疑似僵尸主机的总数进行设定。在本实施例中,由于针对同一个受害主机发起的攻击往往是一个僵尸网络中的僵尸主机发起的,因此,在本实施例中,该阈值可以根据各个分组中的疑似僵尸主机的总数量来进行设定,例如,该阈值可以设定为被监控分组中疑似僵尸主机总数的80%。如果达到预设阈值则进入步骤330,否则返回步骤300继续对网络流量进行行为检测;
识别子模块5153,用于当判断子模块5152的判断结果为一个分组中与所述第二主机通信的疑似僵尸主机的数目超过设定阈值时,识别所述第二主机为该分组中疑似僵尸主机对应的僵尸控制主机。
具体的,如果在设定时间内(例如1小时)该分组中与第二主机通信的疑似僵尸主机数量达到设定的阈值时,则判断所述第二主机为该分组中的疑似僵尸主机的僵尸控制主机,该僵尸控制主机所在的网络为僵尸网络。例如,当将各分组中疑似僵尸主机总数量的80%作为该阈值时,假设被监控的一个分组中有10台疑似僵尸主机,如果第二主机A与该分组中9台疑似僵尸主机均有通信信息,则认为该第二主机A是该分组中的疑似僵尸主机的控制者。
进一步的,本发明实施例的检测装置还可以包括:
报警模块520,用于当识别出僵尸控制主机时,发出报警信息;
具体的,当检测出僵尸控制主机时,可以发出向攻击防护设备发出报警信息,以进一步对检测出的僵尸控制主机所属的僵尸网络进行处理,提高网络的安全性。
本发明实施例中所述的僵尸网络检测装置,通过检测模块500实时对网络流量进行检测,并利用同一个僵尸网络中僵尸主机攻击中的相似性将检测模块500检测出的具有僵尸网络行为的疑似僵尸主机分组进行监控,并记录与各分组中的疑似僵尸主机通信的第二主机信息,在设定时间内,对与各分组中与所述第二主机通信的的疑似僵尸主机数量进行统计,当在设定时间段内与所述第二主机通信的疑似僵尸主机数目达到预设阈值时,识别所述第二主机为该分组中的疑似僵尸主机的控制主机,提高了僵尸网络检测的实时性,且检测结果较为准确,进一步提高了网络安全性。由于本发明实施例中,根据不同的攻击类型提取的攻击信息不同,且提取的信息更加详细,进一步有利于提高检测的准确性。
进一步的,本实施例僵尸网络的检测装置可以用于实现上述方法实施例中检测僵尸网络的全部方法。本实施例僵尸网络的检测装置的各个功能模块可以设置于一个或多个设备上。
可以理解是的,本实施例僵尸网络的检测系统的各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
进一步的,本发明实施例还提供一种网络安全防护设备,该网络安全防护设备可以包括上述实施例中的僵尸网络的检测装置。
该网络安全防护设备包括防火墙、安全网关等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read-Only Memory)、随机存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种僵尸网络的检测方法、装置及网络安全防护设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。