具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明蠕虫病毒检测方法实施例一的流程示意图。本发明实施例方法包括:
步骤101、获取源IP地址主机发起的扫描连接信息,所述扫描连接信息包括扫描连接次数、扫描连接失败率以及扫描端口的连接数量;
步骤102、对预设周期内获取的所述源IP地址主机的扫描连接信息进行分析,判断所述源IP地址主机是否为感染蠕虫病毒的主机。
本发明实施例中,可对源IP地址主机发起的扫描探测情况进行收集分析,在一定时间内,获取并统计源IP地址主机发起的扫描次数、扫描连接失败率以及扫描端口的连接数量等扫描连接信息,由于有蠕虫病毒活动时,感染蠕虫病毒的源IP地址主机会频繁的发起更多的扫描探测,从源IP地址主机发起的扫描探测的扫描次数、扫描连接的失败率等将会提高,而扫描探测中具有相同端口号的扫描连接数量也会相应的增多,因此,在预设周期内,通过对源IP地址主机发起的扫描连接中的扫描连接次数、扫描连接失败率以及扫描端口的连接数量等进行分析,如可将扫描连接次数、扫描连接失败率等扫描连接信息与预设的相应阈值进行比较,若均高于相应地预设阈值时,即可判定源IP地址主机是否为感染蠕虫病毒的主机,从而在蠕虫病毒探测阶段即可获得源IP地址主机感染蠕虫病毒的情况,并可将检测后的结果通知相应的病毒处理装置,对源IP地址主机感染蠕虫病毒的情况进行处理,避免蠕虫病毒进一步地扩散。
可以看出,本发明实施例通过对源IP地址主机发起的扫描连接中的扫描连接次数、扫描连接失败率以及扫描端口的连接数量的多个扫描连接信息进行分析,可有效判定源IP地址主机是否为感染蠕虫病毒的主机,其判断过程不受正常业务流量变化的限制,病毒检测效率高,病毒检测的误判率低;同时,病毒检测中仅检测扫描连接信息,数据处理量较小,处理速度快,系统资源的占用率较低,使得整个系统具有较高的病毒检测效率。
图2为本发明蠕虫病毒检测方法实施例二的流程示意图。如图2所示,本发明实施例方法可包括:
步骤201、预设周期内,获取源IP地址主机发起的扫描连接信息,其中,所述扫描连接信息可包括扫描连接次数、扫描连接失败率以及扫描端口的连接数量。
图3为本发明实施例中获取源IP地址主机发起的扫描连接信息的流程示意图。在预设周期内,可对接收到的源IP地址主机发起的所有扫描连接信息进行统计分析,获取相应的扫描连接信息,该扫描连接信息可包括扫描连接次数、扫描连接失败率和扫描端口的连接数量等,具体地,本实施例中,可建立记录源IP地址主机连接信息的源IP列表,在源IP列表中记录相应的扫描连接信息,并通过源IP列表来维护相应的扫描连接信息。如图3所示,获取扫描连接信息可包括以下步骤:
步骤2011、从网络中接收数据包;
步骤2012、判断接收到的数据包是否为扫描数据包,若是,则执行步骤2013,否则,结束;
步骤2013、判断是否存在与发送扫描数据包的源IP地址主机对应的源IP列表,若是,则将源IP地址主机对应的扫描连接次数加1,执行步骤2014,否则,执行步骤2016;
步骤2014、在对应的列表中查找扫描数据包对应的目的IP,判断列表中是否存在目的IP,若是,则执行步骤2015,否则,执行步骤2017;
步骤2015、在对应的列表中查找是否存在扫描数据包对应的扫描端口,若是,则将扫描端口的连接数量加1,结束,否则,执行步骤2018;
步骤2016、添加源IP列表,并将源IP地址主机对应的扫描连接次数设置为1,执行步骤2017;
步骤2017、在源IP列表中添加扫描数据包对应的目的IP,执行步骤2018;
步骤2018、在源IP列表中添加扫描数据包对应的扫描端口。
此外,当源IP地址主机发送的扫描数据包对应的目的IP返回连接确认信息时,可根据返回的确认信息确定该扫描连接是否成功,若成功,还可在上述的源IP列表中添加扫描连接失败率,即将源IP地址主机发起的扫描连接中扫描连接的失败数与总连接数的比值记录在源IP列表中。根据实际的需要,也可在源IP地址列表中记录其它扫描连接信息,如扫描连接中,具有相同扫描端口的扫描连接的扫描连接失败率等。
步骤202、判断预设周期内获取的所述源IP地址发起的所述扫描连接次数、扫描连接失败率和扫描端口的连接数量是否超过预设连接次数阈值、第一预设连接失败率阈值和预设端口连接数量阈值,判断所述源IP地址主机是否为感染蠕虫病毒的主机。
本实施例中,当判断源IP地址发起的所述扫描连接次数、扫描连接失败率和扫描端口的连接数量分别超过预设连接次数阈值、第一预设连接失败率阈值和预设端口连接数量阈值时,则可判断发起扫描连接的所述源IP地址主机为感染蠕虫病毒的主机;若所述扫描连接次数、扫描连接失败率和扫描端口的连接数量其中任何一个未超过相应预设的阈值时,则可判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机。其中,所述的扫描连接失败率为所述源IP地址主机发起的所有扫描连接中连接失败数与总连接数的比值。
图4为本发明蠕虫病毒检测方法实施例二中判断源IP地址主机是否为感染蠕虫病毒主机的流程示意图。如图4所示,当预设周期到达时,对扫描连接信息进行分析并判断源IP地址主机是否为感染蠕虫病毒的主机,具体可包括以下步骤:
步骤A1、判断扫描连接信息中扫描连接次数是否超过预设连接次数阈值,若是,则执行步骤A2,否则,判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机,结束;
步骤A2、判断扫描连接失败率是否超过第一预设失败率阈值,若是,则执行步骤A3,否则,判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机,结束;
步骤A3、判断扫描端口的连接数量是否超过预设端口连接数量阈值,若是,则执行步骤A4,否则,判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机,结束;
步骤A4、判断发起扫描连接的所述源IP地址主机是感染蠕虫病毒的主机。
此外,本实施例中,还可获取源IP地址主机发起的扫描连接中,具有相同端口的扫描连接的跨网段数,并可对端口的跨网段数进行判断,作为判断源IP地址主机是否为感染蠕虫病毒的主机的依据。具体地,在上述步骤A3之后,本实施还可包括以下步骤:
步骤A31、获取扫描连接数量超过所述预设端口连接数量阈值的端口,并判断所述端口对应的各扫描连接的跨网段数是否超过预设跨网段数阈值,若是,则执行步骤A4,否则,判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机,结束。
其中,所述的端口对应的各扫描连接的跨网段数为向该端口发起的各扫描连接的跨网段的个数,即向不同IP发起的指向该端口的扫描连接次数。由于蠕虫病毒活动时,感染蠕虫病毒的主机生成的目的IP随意性强,因此,通过对跨网段数进行判断,可进一步地提高蠕虫病毒检测的准确性,降低蠕虫病毒检测的误报率,提高蠕虫病毒的检测效率。
上述步骤A2中,扫描连接失败率为在所述预设周期内源IP地址主机发起的所有扫描连接中,扫描连接失败数与总的扫描连接数的比值,由于蠕虫病毒传播时,扫描连接的失败率将会很高,因此,通过设置第一预设失败率阈值可有效判定源IP地址主机发起的扫描连接是否为蠕虫病毒的扫描探测连接,减少蠕虫病毒检测的误报率。
本发明实施例中,预设周期的时间可以根据实际的需要而设定,可以是用户根据经验获得,如通过对现有的大量的蠕虫病毒的传播特性进行分析,获得最佳的检测周期,并可将该检测周期作为检测蠕虫病毒的预设周期,避免检测周期过长或过短而造成蠕虫病毒检测的不准确或不可靠。同时,所述的预设连接次数阈值、第一预设连接失败率阈值和预设端口连接数量阈值也可是用户通过对网络环境的分析后得到的值,其设定的预设阈值的大小也可以根据网络环境的变化而设定合适的数值。
此外,本发明实施例中,在对预设周期内获取的扫描连接信息进行分析时,可从所述预设周期内所述源IP地址主机发起的最后的扫描连接起,经过预设时间后对所述预设周期内获取的所述源IP地址主机的扫描连接信息进行分析。由于源IP地址主机发起的扫描连接是否可以成功与目的IP地址主机建立连接,一般需要等待一段时间才能收到目的IP地址主机返回的连接确认信息,因此,当预设周期时间内,针对源IP地址主机发起的最后的一次扫描连接,目的IP地址主机可能在该预设周期内没有返回相应的连接确认信息,本发明实施例中设置一预设时间,在等待一段时间后再对获得的扫描连接信息的分析,使得预设周期内的各扫描连接信息的扫描连接失败率的值更加准确可靠,根据扫描连接信息对源IP地址主机是否为感染蠕虫病毒的主机的判断也就更加准确,减少病毒检测的误报率。
图5为本发明蠕虫病毒检测方法实施例三中判断源IP地址主机是否为感染蠕虫病毒主机的流程示意图。与图2和4所示实施例技术方案不同的是,本实施例中,对获取的源IP地址主机发起的各扫描连接信息分析,判断源IP地址主机是否为感染蠕虫病毒的主机,具体可包括以下步骤:
步骤B1、判断扫描连接信息中扫描连接次数是否超过预设连接次数阈值,若是,则执行步骤B2,否则,判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机,结束;
步骤B2、判断扫描端口的连接数量是否超过预设端口连接数量阈值,若是,则获取超过所述预设端口连接数量阈值的端口,执行步骤B3,否则,判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机,结束;
步骤B3、判断超过预设端口连接数量阈值的端口对应的各扫描连接的扫描连接失败率是否超过第二预设连接失败率阈值,若是,则判断发起扫描连接的所述源IP地址主机为感染蠕虫病毒的主机,其中,所述扫描连接失败率为所述端口对应的所有扫描连接中连接失败数和总连接数的比值。
此外,本实施例中,也可包括对端口的扫描连接的跨网段数进行分析判断的步骤,以更加准确判断源IP地址主机是否为感染蠕虫病毒的主机,提高蠕虫病毒检测的准确性和可靠性,具体判断过程可参考上述本发明实施例中的步骤A31,在此不再赘述。
本发明实施例中,首先对扫描连接次数和扫描端口的连接数量进行分析判断,获得超过预设端口连接数量阈值的端口后,然后再将该端口对应的扫描连接中的扫描连接失败率与第二预设连接失败率阈值比较,以判断源IP地址主机是否为感染蠕虫病毒的主机,由于只有在蠕虫病毒传播中,相应地扫描端口的连接数量才可能较多,扫描端口相应的扫描连接的扫描连接失败率较高,因此,首先对扫描端口的连接数量进行分析后再判定扫描连接的失败率,可有效提高蠕虫病毒检测的效率,保证蠕虫病毒检测的准确性。
图6为本发明蠕虫病毒检测方法实施例四的流程示意图。本发明实施例中,可对预设检测个数的多个预设周期内的各扫描连接信息分别进行分析,并对各预设周期内的判断结果进行综合分析,判定源IP地址主机是否为感染蠕虫病毒的主机,蠕虫病毒检测的准确性更高,可进一步降低蠕虫病毒检测的误报率。具体地,本发明实施例方法可包括以下步骤:
步骤301、将在预设周期内通过扫描连接信息判断得到的感染蠕虫病毒的源IP地址主机确定为疑似感染蠕虫病毒的主机。
本步骤中,可将预设周期内判断感染蠕虫病毒的源IP地址主机确定为疑似感染蠕虫病毒的主机,其具体判断过程可参考图1、2或4所示的实施例,在此不再赘述。
步骤302、对预设检测个数的预设周期内所判断得到的疑似感染蠕虫病毒的数量进行监测,若所述疑似感染蠕虫病毒的主机的数量超过预设检测阈值,则最后确定所述疑似感染蠕虫病毒的源IP地址主机为感染蠕虫病毒的主机。
本实施例中,可对预设检测个数的预设周期内获得的扫描连接信息进行分析,根据每个预设周期内扫描连接信息判定源IP地址主机是否为感染蠕虫病毒的主机,并将其确定为疑似感染蠕虫病毒的主机,记录判断结果。若在预设检测个数的预设周期内,确定为疑似感染蠕虫病毒的主机的个数超过预设检测阈值时,则可最后确定该疑似感染蠕虫病毒的源IP地址主机为感染蠕虫病毒的主机。其中,所述预设检测阈值可以根据对现有的蠕虫病毒传播时扫描连接的特性进行分析后获得。
由于网络中正常的数据流量的增加,如下载一个P2P种子时,可能会存在多个无效种子,此时,在一个较短时间内,扫描连接的失败连接次数就会较多,失败连接次数可能会达到预设的阈值,若仅根据一个预设周期内,判断在该预设周期内获取的扫描连接信息判断源IP地址主机是否感染病毒时,极易判断源IP地址主机为感染蠕虫病毒的主机,造成对源IP地址主机发起的上述正常业务的误判,因此,本实施通过对多个预设周期的判断结果进行综合分析,可有效避免类似上述正常业务的扫描连接而误判的问题,防止对源IP地址主机的误判,降低误判率,进一步地提高蠕虫病毒检测的准确性和可靠性。
此外,本发明实施例在对预设检测个数的预设周期内的源IP地址主机发起的扫描连接信息进行分析时,当一个预设周期内对扫描连接分析完毕后,可释放获取的扫描连接信息,然后获取下一预设周期内的扫描连接信息及对获取的扫描连接信息的分析,以降低系统资源的占用率,提高系统的工作效率。
本发明实施例中,通过对多个预设周期的判断结果进行分析,当预设检测个数的预设周期内,判断源IP地址主机为疑似感染蠕虫病毒的主机数量超过预设数量时,才将源IP地址主机判断为感染蠕虫病毒的主机,可有效避免对突发的正常业务的误判,进一步地提高了蠕虫病毒检测的准确性和可靠性,极大地降低了蠕虫病毒检测的误报率,可有效防止蠕虫病毒的传播,提高网络数据传输的安全性和可靠性。
上述本发明各实施例中,获取扫描连接信息中,可仅对网络中的icmp扫描包、网络异常包和tcp流的握手数据包进行检测,使得整个病毒检测过程中,数据处理量较低,对整个系统资源的占用率也较低。
图7为本发明蠕虫病毒检测装置实施例一的结构示意图。本发明实施例装置包括信息获取模块1和分析检测模块2,其中,
信息获取模块1,用于获取源IP地址主机发起的扫描连接信息,所述扫描连接信息包括扫描连接次数、扫描连接失败率以及扫描端口的连接数量;
分析检测模块2,用于对预设周期内获取的所述源IP地址主机的扫描连接信息进行分析,判断所述源IP地址主机是否为感染蠕虫病毒的主机。
本发明实施例可从网络中获取源IP地址主机发起的扫描连接信息,并通过分析检测模块2对获取的扫描连接次数、扫描连接失败率以及扫描端口的连接数量等扫描连接信息进行分析,以判断源IP地址主机是否为感染蠕虫病毒的主机,蠕虫病毒检测效率高,误判率低,且数据处理量小,占用系统资源少,其具体实现过程可以参照上述本发明蠕虫病毒检测方法的各实施例的步骤来实现,在此不再赘述。
本发明实施例通过对源IP地址主机发起的扫描连接的扫描连接次数、扫描连接失败率以及扫描端口的连接数量的多个扫描连接信息进行分析,可有效判定源IP地址主机是否为感染蠕虫病毒的主机,其判断过程不受正常业务流量变化的限制,病毒检测效率高,病毒检测的误判率低;同时,病毒检测中仅检测扫描连接信息,数据处理量较小,处理速度快,系统资源的占用率较低,使得整个系统具有较高的病毒检测效率。
图8为本发明蠕虫病毒检测装置实施例二中分析检测模块的结构示意图。在上述图7所示实施例技术方案基础上,如图8所示,本发明实施例中分析检测模块2可包括分析判断单元21和病毒检测单元22,其中,
分析判断单元21,用于依次判断预设周期内获取的所述源IP地址发起的所述扫描连接次数、扫描连接失败率和扫描端口的连接数量是否超过预设连接次数阈值、第一预设连接失败率和预设端口连接数量阈值;
病毒检测单元22,用于若所述源IP地址发起的所述扫描连接次数、扫描连接失败率和扫描端口的连接数量均超过预设连接次数阈值、第一预设连接失败率和预设端口连接数量阈值时,判断所述发起扫描连接的所述源IP地址主机为感染蠕虫病毒的主机,以及用于若所述扫描连接次数、扫描连接失败率和扫描端口的连接数量其中任何一个未超过相应预设的阈值时,则判断发起扫描连接的所述源IP地址主机为非感染蠕虫病毒的主机。
本发明实施例中分析判断单元21可依次对扫描连接信息中的各项信息进行分析判断,并由病毒检测单元22对源IP地址主机是否感染蠕虫病毒进行判断,其具体实现过程可通过上述本发明蠕虫病毒检测方法实施例二或实施例三的步骤来实现,在此不再赘述。
图9为本发明蠕虫病毒检测装置实施例三的结构示意图。在上述图7所示实施例技术方案的基础上,本发明实施例还可包括周期分析判断模块3和多周期检测模块4,其中:
周期分析判断模块3,用于将在所述预设周期内通过扫描连接信息判断得到的感染蠕虫病毒的源IP地址主机确定为疑似感染蠕虫病毒的主机;
多周期检测模块4,用于对预设检测个数的预设周期内所判断得到的疑似感染蠕虫病毒的数量进行监测,若所述疑似感染蠕虫病毒的主机的数量超过预设检测阈值,则最后确定所述疑似感染蠕虫病毒的源IP地址主机为感染蠕虫病毒的主机。
本实施例中,在预设检测个数的预设周期内,周期分析判断模块3可将分析检测模块2判断为感染蠕虫病毒主机的源IP地址主机确定为疑似感染蠕虫病毒的主机,并由多周期检测模块4检测,预设检测个数的预设周期内,确定为疑似感染蠕虫病毒的主机的个数是否超过预设检测阈值,若是,则可最终确定对应地源IP地址主机为感染蠕虫病毒的主机。其具体实现过程可通过上述本发明蠕虫病毒检测方法实施例四的步骤来实现,可有效避免网络中正常业务流量变化而造成的误判,减少蠕虫病毒检测的误判率,在此不再赘述。
实际应用中,本发明实施例可应用于安全网关设备上,用于检测网络中的蠕虫病毒,防止蠕虫病毒的传播,提高网络的安全性和可靠性。此外,本发明实施例也可应用于局域网中用于蠕虫病毒检测,其可对从局域网内镜像过来的流量进行检测,实现对内网流量的实时监控,防止蠕虫病毒的传播。
图10为本发明网关设备实施例的结构示意图。本实施例网关设备可包括数据包接收装置10和蠕虫病毒检测装置20,其中:
所述数据包接收装置10,用于从网络中接收源IP地址主机发送的扫描数据包;
所述蠕虫病毒检测装置20,用于根据所述扫描数据包获取源IP地址主机发起的扫描连接信息,并对预设周期内获取的所述源IP地址主机的扫描连接信息进行分析,判断所述源IP地址主机是否为感染蠕虫病毒的主机,所述扫描连接信息包括扫描连接次数、扫描连接失败率以及扫描端口的连接数量。
本实施例中,数据包接收装置10可实时从网络中接收源IP地址主机发送扫描数据包,并可将接收到的扫描数据包发送给蠕虫病毒检测装置20;蠕虫病毒检测装置20可识别和获得源IP地址主机发起的扫描数据包,并获得源IP地址主机的扫描连接信息,如扫描连接次数、扫描连接失败率、扫描端口的连接数量以及端口的扫描连接的跨网段数等,同时,蠕虫病毒检测装置20可根据在预设周期内获取的扫描连接信息,判断源IP地址主机是否为感染蠕虫病毒的主机。具体地,本实施例蠕虫病毒检测装置20可具有与上述本发明蠕虫病毒检测装置实施例相同的结构和功能,具体地可参考上述本发明蠕虫病毒检测装置实施例的说明,在此不再赘述。
本发明实施例通过对源IP地址主机发起的扫描连接中的扫描连接次数、扫描连接失败率以及扫描端口的连接数量等扫描连接信息进行分析,可有效判定源IP地址主机是否为感染蠕虫病毒的主机,其判断过程不受正常业务流量变化的限制,病毒检测效率高,病毒检测的误判率低;同时,病毒检测中仅检测扫描连接信息,数据处理量较小,处理速度快,系统资源的占用率较低,使得整个系统具有较高的病毒检测效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。