具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
发明人通过对大量实际僵尸网络样本的分析,发现树形僵尸网络有这样的特点,即在僵尸主机刚启动去连接控制主机时,在完成TCP连接后,第一数据包通常是明文上线汇报信息,也就是将僵尸主机的关键描述信息向其控制主机进行上报的数据包,该数据包具体的可以是僵尸主机在完成TCP连接后发送的第一个数据包,也可以是其他的由僵尸主机发送的包括僵尸主机关键描述信息的数据包。根据上述特征,本发明实施例提供了一种僵尸网络检测方法,图3为本发明僵尸网络检测方法实施例一的流程示意图,如图3所示,包括如下步骤:
步骤101、根据待检测网络中的主机发送的第一数据包中的关键字信息获取疑似僵尸主机信息和疑似僵尸控制主机信息;
具体的,本步骤是通过获取待检测网络中的主机发送的第一数据包,即上述主机完成TCP连接后发送的第一个数据包,根据该数据包中的关键字信息获取疑似僵尸主机和疑似僵尸控制主机,若该关键字信息与通常的僵尸主机上报的明文上线汇报信息类似,即可认为该用户设备为疑似僵尸主机,上述第一数据包的目标主机可被认为是疑似僵尸控制主机。
步骤102、对疑似僵尸主机的行为特性进行分析以识别僵尸主机和僵尸控制主机。
具体的,本步骤是对上述的疑似僵尸主机的行为进行分析,即监控该疑似僵尸主机的行为,确认该被监控的疑似僵尸主机是否实施了僵尸主机的典型行为,若该被监控的疑似僵尸主机实施了僵尸主机行为,则可确认该疑似僵尸主机为僵尸主机,该僵尸主机发送的第一数据包的目标主机可被认为是僵尸控制主机。
本发明上述实施例通过对待检测网络中的主机发送的第一数据包进行关键字分析,根据关键字信息识别疑似僵尸主机和疑似僵尸控制主机,然后再对疑似僵尸主机的行为进行监控,若其实施了僵尸主机行为中的一种,则可确认该用户设备为僵尸主机,该僵尸主机发送的第一数据包的目标主机为僵尸控制主机。通过上述的检测方法,能够有效的发现未知的僵尸网络。
图4为本发明僵尸网络检测方法实施例二的流程示意图,如图4所示,包括如下步骤:
步骤201、获取待检测网络中的主机发送的第一数据包中的关键字信息;具体的,本步骤是对获取的第一数据包进行分析以获取关键字信息;
步骤202、对所述关键字信息和预先存储的关键字列表进行匹配处理;
具体的,上述预先存储的关键字列表至少包括一种如下类型的关键字:操作系统平台、CPU类型、内存、MAC地址,在僵尸主机上线并进行TCP连接后通常会向僵尸控制主机发送明文上线汇报信息,这些信息主要包括一些僵尸控制主机的关键描述信息,例如僵尸控制主机的操作系统平台、CPU类型、内存、MAC地址。因此本实施例中设置包括这些类型关键字的关键字列表,并对从第一数据包中获取的关键字信息与关键字列表进行匹配,判断该数据包是否是僵尸主机进行上报发送的数据包;
步骤203、当所述匹配结果超过预设的阈值时,识别所述用户设备为疑似僵尸主机,上述第一数据包的目标主机为疑似僵尸控制主机;
本步骤是在步骤202中进行关键字匹配的基础上,获取从第一数据包中获取关键字信息与关键字列表的匹配结果,若匹配结果超过预设的阈值,则认为上述的第一数据包疑似为僵尸主机明文上线汇报信息的数据包,上述发送第一数据包的用户设备为疑似僵尸主机,第一数据包的目标主机为疑似僵尸控制主机。
步骤204、对疑似僵尸主机的行为特征进行监测,若疑似僵尸主机实施了僵尸主机行为,则识别所述疑似僵尸主机为僵尸主机,该第一数据包的目标主机为僵尸控制主机。
上述的僵尸主机行为可以包括分布式拒绝服务攻击DDOS(Distribution Denial of service)行为、垃圾邮件SPAM行为、扫描行为或恶意下载行为中的至少一项。
本实施例是通过设置关键字列表,从第一数据包中获取关键字信息,并对上述的关键字信息与关键字列表进行匹配,根据匹配结果获取疑似僵尸主机,然后对疑似僵尸主机的行为进行监测获取僵尸主机和僵尸控制主机信息,能够实现对未知僵尸网络的检测,检测方法简单有效。
图5为本发明僵尸网络检测方法实施例三的流程示意图,该实施例是将僵尸网络检测装置设置在DPI设备中,通常DPI设备可以分为前台和后台,本实施例中也可以将僵尸网络的检测装置分为前台和后台两个部分,其中前台相当于上述的获取模块,主要进行流量识别业务处理,获取疑似的僵尸主机和疑似的僵尸控制主机,后台相当于上述实施例中行为分析模块,主要用于通过对疑似僵尸主机的行为进行分析,确认僵尸主机和僵尸控制主机。具体的,前台进行流量识别,对TCP流握手后的第一个数据包进行识别,对该数据包中的关键字与预设的关键字列表进行匹配,若发现该数据包中关键字与关键字列表中匹配一致的数量超过一定的阈值,则可认为上述数据包为疑似僵尸上线包。上述的关键字列表中的关键字可以为:windows、xp、2003、MHz、Inter、mac、MB、CPU、ver、AMD、IP等,且不区分大小写,上述的阈值可设定为3。在上述的数据包被识别为疑似僵尸主机上线时发送的数据包后,即将上述进行通信的两端的设备(即发送第一数据包的主机和接收数据包的主机)识别为疑似僵尸主机和疑似僵尸控制主机,然后将上述识别获得的信息形成列表发送给后台,由后台对其行为进行监控,统计其一定周期内的行为,该周期可以为24小时,若在该时间周期内发现上述的疑似僵尸主机实施了DDOS行为、SPAM行为、扫描行为恶意下载行为中的一种或几种,则可确认上述的疑似僵尸主机为僵尸主机。如图5所示,该实施例具体可以包括如下步骤:
步骤301、获取TCP流量;
步骤302、判断接收到的数据包是否为TCP握手后的第一个数据包,若是则执行步骤303,若不是则进行其他处理;
步骤303、从TCP握手后的第一个数据包中获取关键字信息并与预设的关键字列表进行匹配,该关键字列表中包含有僵尸主机上线时发送给控制主机的数据包中通常包括的关键字;
具体的,该关键字可以包括windows、xp、2003、MHz、Inter、mac、MB、CPU、ver、AMD、IP等;
步骤304、统计上述步骤303中匹配的关键字个数是否大于或等于预设的阈值,该阈值可以设为3,若大于或等于预设的阈值,则执行步骤305,否则执行其他处理;
步骤305、获取统计到的(包括的关键字个数大于或等于预设的阈值的数据包信息,将发送该数据包的主机列为疑似僵尸主机,接收该数据包的主机列为疑似僵尸控制主机;并对上述疑似僵尸主机的IP地址,以及疑似僵尸控制主机的域名和端口信息进行统计发送给后台设备,另外还可以包括疑似僵尸控制主机的IP地址。
上述步骤301-步骤305通常是由前台设备完成,以下步骤是由后台设备完成;
步骤306、后台对前台发送来的疑似僵尸主机的行为进行监控,监控该疑似僵尸主机是否实施DDOS行为、SPAM行为、扫描行为、恶意下载行为中的一种或几种,是则执行步骤307,否则执行其他处理;
步骤307、确认实施了DDOS行为、SPAM行为、扫描行为恶意下载行为中的一种或几种的疑似僵尸主机为僵尸主机,该僵尸主机发送的第一数据包的目标主机为僵尸控制主机,并将确认的僵尸主机和僵尸控制主机的信息存入僵尸网络库,上述僵尸主机和僵尸控制主机的信息可以包括僵尸主机的IP地址,以及僵尸控制主机的IP地址、域名和端口信息。
本发明实施例提供的僵尸网络检测方法通过对待检测网络中的主机发送的第一数据包进行关键字分析,根据关键字信息确认疑似僵尸主机和疑似僵尸控制主机,然后再对疑似僵尸主机的行为进行监控,若其实施了僵尸主机行为中的一种,则可确认该主机为僵尸主机,该僵尸主机发送的第一数据包的目标主机为僵尸控制主机,通过上述的检测方法,能够有效的发现未知的僵尸网络中的僵尸主机及僵尸控制主机。
本发明实施例还提供了一种僵尸网络检测装置,图6为本发明僵尸网络检测装置实施例一的结构示意图,如图6所示,僵尸网路检测装置包括获取模块11和行为分析模块12,其中:
获取模块11,用于根据待检测网络中的主机发送的第一数据包中的关键字信息获得疑似僵尸主机信息和疑似僵尸控制主机信息;
行为分析模块12,用于对疑似僵尸主机的行为特性进行分析以识别僵尸主机和僵尸控制主机。
本发明上述实施例通过获取模块11对待检测网络中的主机发送的第一数据包进行关键字分析,根据关键字信息识别疑似僵尸主机和疑似僵尸控制主机,然后通过行为分析模块12对疑似僵尸主机的行为进行监控分析,若其实施了僵尸主机行为中的一种,则可确认上述主机为僵尸主机,该僵尸主机发送的第一数据包的目标主机为僵尸控制主机。通过上述的检测方法,能够有效的发现僵尸网络。
图7为本发明僵尸网络检测装置实施例二的结构示意图,如图7所示,僵尸网路检测装置包括获取模块21和行为分析模块22,其中获取模块21可分为第一获取单元211、匹配单元212和第一识别单元213,行为分析模块22可以分为监控单元221和第二识别单元222,其中:
第一获取单元211,用于获得待检测网络中的主机发送的第一数据包中的关键字信息;
匹配单元212,用于对所述关键字信息和预先存储的关键字列表进行匹配处理;
第一识别单元213,用于当所述匹配结果超过预设的阈值时,识别所述主机为疑似僵尸主机,第一数据包的目标主机为疑似僵尸控制主机;
监控单元221,用于对第一识别单元213识别的疑似僵尸主机的行为特征进行监测;
第二识别单元222,用于当监控单元221检测到疑似僵尸主机实施了僵尸主机行为时,识别所述疑似僵尸主机为僵尸主机。
具体的,僵尸主机行为包括分布式拒绝服务攻击DDOS行为、垃圾邮件SPAM行为、扫描行为或恶意下载行为等。
本实施例是通过设置关键字列表,从第一数据包中获取关键字信息,并对上述的关键字信息与关键字列表进行匹配,若匹配结果超过预设的阈值,则认为上述的第一数据包疑似为僵尸主机明文上线汇报信息的数据包,发送该数据包的主机为疑似僵尸主机,上述第一数据包的目标主机为疑似僵尸控制主机。并进一步的对疑似僵尸主机行为进行监控,并根据上述疑似僵尸主机是否实施了典型的僵尸主机行为确定僵尸网络,能够有效实现对未知僵尸网络的检测。
本发明上述实施例提供的僵尸网络检测装置能够执行僵尸网络检测方法实施例中的流程步骤。
本发明实施例还提供了一种网络安全防护设备,该网络安全防护设备包括上述实施例中的僵尸网络检测装置。
本发明实施例提供的网络安全防护设备,能够通过对待检测网络中的主机发送的第一数据包进行关键字分析,根据关键字信息确认疑似僵尸主机和疑似僵尸控制主机,然后再对疑似僵尸主机的行为进行监控,若其实施了僵尸主机行为中的一种,则可确认该用户设备为僵尸主机,该僵尸主机发送的第一数据包的目标主机为僵尸控制主机。通过上述的检测方法,能够有效的发现未知的僵尸网络。
上述的网络安全防护设备可以为深度报文检测DPI设备、统一威胁管理UTM设备或防火墙FW设备,即可以将图6或图7所示实施例中的僵尸网络检测装置设置在深度报文检测(Deep Packet Inspection,以下简称:DPI)设备、统一威胁管理UTM设备或FW设备中。
本发明上述实施例提供的僵尸网络检测方法,从第一数据包中获取关键字信息,并对上述的关键字信息与关键字列表进行匹配,若匹配结果超过预设的阈值,则上述的第一数据包疑似为僵尸主机明文上线汇报信息的数据包,发送该数据包的用户设备为疑似僵尸主机,接收该数据包的主机为疑似僵尸控制主机。并进一步的对其行为特性进行监控,获知其是否实施过典型的僵尸主机行为,如DDOS行为、SPAM行为、扫描行为、恶意下载行为,若实施了上述行为中至少一种行为,则确认其为僵尸主机,与其通信的疑似僵尸控制主机为僵尸控制主机,能够有效实现对未知僵尸网络的监控,并且与僵尸主机的恶意行为相关联,能够增加检测的准确度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。