发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种针对流量攻击的安全防御系统及方法,用于解决现有的检测防御和攻击源追踪上准确性不高、效率不高等问题等问题。
为实现上述目的及其他相关目的,本发明提供一种针对流量攻击的安全防御系统,包括:
SDN交换机,转发所述用户终端发送的ICMP请求报文和ICMP回应报文,对所述ICMP请求报文和所述ICMP回应报文进行监控,发现异常则形成ICMP信息;
与所述SDN交换机连接的SDN控制器,接收来自所述SDN交换机上报的所述ICMP信息,并感知对应所述ICMP信息的报文转发路径,判断得出攻击者的位置和类型,向作为入口路由功能的SDN交换机下发流表,以执行入口过滤策略对所述攻击者进行防御。
可选地,所述SDN交换机发现所述ICMP请求报文的转发速率超出指定阈值、所述ICMP回应报文的转发速率超出指定阈值、或所述ICMP请求报文的目的IP为网络传播地址时,判断出现异常并形成所述ICMP信息。
可选地,所述SDN控制器接收所述ICMP信息,在判断得出所述ICMP信息中包括所述ICMP请求报文的目的IP为网络传播地址时,进而判断所述ICMP回应报文的转发速率是否超出指定阈值,在判断得出所述ICMP回应报文超出所述指定阈值时,所述SDN控制器下发的所述流表对应的入口过滤策略为丢弃所述ICMP请求报文。
可选地,所述SDN控制器接收所述ICMP信息,在判断得出所述ICMP信息中未包括所述ICMP请求报文的目的IP为网络传播地址时,进而判断所述ICMP请求报文和所述ICMP回应报文的转发速率是否超出指定阈值,若所述ICMP请求报文和所述ICMP回应报文的转发速率超出所述指定阈值时,所述SDN控制器下发的所述流表对应的入口过滤策略为限制作为入口路由功能的所述SDN交换机的报文转发速率。
可选地,所述SDN交换机发送所述ICMP信息后,对所述ICMP请求报文和所述ICMP回应报文继续进行监控,发现所述ICMP请求报文和所述ICMP回应报文恢复正常时,则发送解除防御请求给所述SDN控制器,所述SDN控制器根据所述解除防御请求进行判断,得出对应的报文转发速率小于等于指定阈值则移除下发的所述流表。
本发明针对流量攻击的安全防御方法,包括:
通过与用户终端对应连接的SDN交换机,监控转发的所述用户终端发送的ICMP请求报文和ICMP回应报文,发现异常时形成ICMP信息;
接收所述ICMP信息进行判断,并感知对应所述ICMP信息的报文转发路径,判断得出攻击者的位置和类型,向作为入口路由功能的SDN交换机下发流表,以执行入口过滤策略对所述攻击者进行防御。
可选地,发现异常时形成ICMP信息中的异常包括:
所述ICMP请求报文的转发速率超出指定阈值、所述ICMP回应报文的转发速率超出指定阈值、或所述ICMP请求报文的目的IP为网络传播地址。
可选地,当判断得出所述ICMP信息中包括所述ICMP请求报文的目的IP为网络传播地址时,进而判断所述ICMP回应报文的转发速率是否超出指定阈值,当判断所述ICMP回应报文的转发速率超出所述指定阈值时,下发流表对应的入口过滤策略为丢弃所述ICMP请求报文。
可选地,当判断得出所述ICMP信息中未包括所述ICMP请求报文的目的IP为网络传播地址时,进而判断所述ICMP请求报文和所述ICMP回应报文的转发速率是否超出指定阈值,当判断所述ICMP请求报文和所述ICMP回应报文的转发速率超出指定阈值时,下发流表对应的所述入口过滤策略为限制作为入口路由功能的所述SDN交换机的报文转发速率。
可选地,当所述SDN交换机发现异常形成ICMP信息后,对异常继续进行监控,当所述异常恢复正常后请求解除所述入口过滤策略的防御,对所述请求进行判断,得出对应的报文转发速率小于等于指定阈值时移除下发的所述流表。
如上所述,本发明的针对流量攻击的安全防御系统及方法,具有以下有益效果:
本专利采用了SDN架构,SDN交换机会动态地上报ICMP信息,控制器根据这些信息可以知道ICMP异常信息是发生在哪个位置(入口路由器还是出口路由器),最后根据产生条件,准确地判断出攻击者的位置和攻击类型并执行对应的入口过滤策略,从而有效地防御ICMPFlood攻击。一旦攻击者停止攻击,SDN控制器也会根据交换机上报的ICMP信息,解除对ICMPFlood的防御,从而释放流表资源,最大化地有效地管理整个SDN网络。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种针对流量攻击的安全防御系统及方法,基于SDN架构的安全策略算法可有效地防御三种ICMP泛洪攻击。对于直接flood攻击和伪造IP的Flood攻击,基于SDN的交换机发现ICMP请求和回应报文的转发速率超出指定阈值,通知SDN控制器。SDN控制器可以感知报文的转发路径,通过在入口路由器上设置扩展的流表实现对直接flood攻击和伪造IP的Flood攻击的防御(对ICMP请求报文进行速率限制),从而确保正常ICMP请求被及时处理。对于“Smurf”攻击,基于SDN(软件定义网络)的交换机发现接收到目的IP为网络广播地址的ICMP请求报文和ICMP回应报文的转发速率超出指定阈值,都将通知SDN控制器。SDN控制器可以感知报文的转发路径并且知道是否发生了“Smurf”攻击,通过在入口路由器上设置扩展的流表实现对“Smurf”攻击的防御(丢弃目的IP为网络广播地址的ICMP请求报文),从而确保正常ICMP请求被及时处理。下面结合附图对本发明针对流量攻击的安全防御系统进行说明。
参阅图1,显示了本发明针对流量攻击的安全防御系统的拓扑图,下面结合图1,对本发明针对流量攻击的安全防御系统进行说明。
如图1所示,本发明针对流量攻击的安全防御系统包括SDN控制器10和多个SDN交换机,例如SDN交换机21,SDN交换机22,和SDN交换机23,但不以此为限。SDN交换机用于转发用户终端发送的ICMP请求报文和ICMP回应报文,SDN交换机对ICMP请求报文和ICMP回应报文进行监控,发现异常则形成ICMP信息通知SDN控制器10。在本实施例中,用户终端31通过SDN交换机21发送ICMP请求报文和ICMP回应报文,SDN交换机21对用户终端31的ICMP请求报文和ICMP回应报文进行监控;用户终端32通过SDN交换机23发送ICMP请求报文和ICMP回应报文,SDN交换机23对用户终端32的ICMP请求报文和ICMP回应报文进行监控。
SDN控制器与多个SDN交换机连接,接收来自SDN交换机上报的ICMP信息,并感知对应该ICMP信息的报文转发路径,判断得出攻击者的位置和类型,向作为入口路由功能的SDN交换机下发流表,以执行入口过滤策略对攻击者进行防御。
较佳地,SDN交换机发现ICMP请求报文的转发速率超出指定阈值、ICMP回应报文的转发速率超出指定阈值、或ICMP请求报文的目的IP为网络传播地址时,判断出现异常并形成ICMP信息上报给SDN控制器10。该SDN控制器10接收到SDN交换机上报的ICMP信息,对ICMP信息进行判断,在判断得出ICMP信息中包括ICMP请求报文的目的IP为网络传播地址时,进而判断ICMP回应报文的转发速率是否超出指定阈值,此处的ICMP回应报文为作为出口功能的SDN交换机的ICMP回应报文,在判断得出ICMP回应报文超出所述指定阈值时,SDN控制器10判断该流量攻击为“Smurf”攻击,下发的流表对应的入口过滤策略为丢弃ICMP请求报文。SDN控制器10在判断得出ICMP信息中未包括ICMP请求报文的目的IP为网络传播地址时,进而判断ICMP请求报文和所述ICMP回应报文的转发速率是否超出指定阈值,此处的ICMP回应报文可以为作为入口路由功能的SDN交换机的ICMP回应报文,也可以是作为出口功能的SDN交换机的ICMP回应报文。若ICMP请求报文和ICMP回应报文的转发速率超出指定阈值时,SDN控制器10下发的所述流表对应的入口过滤策略为限制作为入口路由功能的SDN交换机的报文转发速率。
作为本发明的一较佳实施方式,SDN交换机发送ICMP信息后,对ICMP请求报文和ICMP回应报文继续进行监控,发现ICMP请求报文和ICMP回应报文恢复正常时,则发送解除防御请求给SDN控制器10,SDN控制器10根据解除防御请求进行判断,得出对应的报文转发速率小于等于指定阈值则移除下发的所述流表。
如图1所示,以用户终端31流量攻击用户终端32,其中用户终端31为攻击者,用户终端32为受害者,对应的SDN交换机21作为入口路由功能,SDN交换机23作为出口路由功能,SDN交换机21和SDN交换机23分别监控用户终端31和用户终端32的报文转发情况,发现异常就上报给SDN控制器10,进而由SDN控制器10分析判断,若为直接flood攻击,SDN交换机21监控到用户终端31的ICMP请求报文和ICMP回应报文的转发效率超出阈值,形成ICMP信息上报给SDN控制器10,SDN控制器10对接收到的ICMP信息进行分析,感知该ICMP信息的报文转发路径,即知道路径为通过SDN交换机21发送至SDN交换机23,判断得出攻击者的位置和类型,先判断该ICMP信息中是否包括ICMP请求报文的目的IP为网络传播地址,接收的该ICMP信息不包括,进而判断ICMP请求报文和ICMP回应报文是否超出指定阈值,判断超出则得到攻击类型为直接flood攻击,SDN控制器对交换机21下发流表,该流表的入口过滤策略为限制SDN交换机21的报文转发速率,以防御流量攻击。若流量攻击为伪造IP的Flood攻击,SDN交换机21处的ICMP请求报文超出阈值,SDN交换机23处的ICMP回应报文超出阈值,SDN交换机21和SDN交换机23均发送ICMP信息至SDN控制器10,SDN控制器10据此感知该ICMP信息的报文转发路径,判断处攻击者的位置和类型,通过SDN交换机21处的ICMP请求报文超出阈值和SDN交换机23处的ICMP回应报文超出阈值得知,攻击者为用户终端31,类型为伪造IP的Flood攻击,对交换机21下发流表,该流表的入口过滤策略为限制SDN交换机21的报文转发速率,以防御流量攻击。若流量攻击为“Smurf”攻击,SDN交换机23处接收到来自不同网络IP地址发送来的ICMP回应报文,对此用户终端32进行快速回应,使得SDN交换机23处的ICMP回应报文的转发速率超出指定阈值,SDN交换机23形成ICMP信息上报给SDN控制器10,SDN交换机21处监控到ICMP请求报文的目的IP为网络广播地址,则形成ICMP信息上报给SDN控制器10,SDN控制器10根据接收到的两个ICMP信息,即可判断出该流量攻击为从用户终端31发起的“Smurf”攻击,对SDN交换机21下发流表,该流表的入口过滤策略为丢弃ICMP请求报文,以实现防御攻击。
本发明需要扩充OF流表指令集,在入口SDN交换机侧对ICMP请求报文进行速率限制。SDN控制器和SDN交换机需要支持扩充OF流表指令集。
参阅图2,显示了本发明针对流量攻击的安全防御方法的流程图。下面结合图2,对本发明针对流量攻击的安全防御方法进行说明。
如图2所示,本发明一种针对流量攻击的安全防御方法,包括:
通过与用户终端对应连接的SDN交换机,监控转发的所述用户终端发送的ICMP请求报文和ICMP回应报文,发现异常时形成ICMP信息;
接收所述ICMP信息进行判断,并感知对应所述ICMP信息的报文转发路径,判断得出攻击者的位置和类型,向作为入口路由功能的SDN交换机下发流表,以执行入口过滤策略对所述攻击者进行防御。
较佳地,通过SDN控制器进行判断,具体包括:执行步骤S101,SDN交换机监听ICMP报文,发现异常上报给SDN控制器。该异常为监听的ICMP报文的转发速率(包括ICMP请求报文和ICMP回应报文)超出指定阈值或ICMP请求报文的目的IP为网络广播地址。接着执行步骤S102。
执行步骤S102,SDN控制器分析上报信息和转发路径,发现攻击者位置和类型。当判断得出所述ICMP信息中包括所述ICMP请求报文的目的IP为网络传播地址时,进而判断所述ICMP回应报文的转发速率是否超出指定阈值,当判断所述ICMP回应报文的转发速率超出所述指定阈值时,判断攻击为“Smurf”攻击。当判断得出所述ICMP信息中未包括所述ICMP请求报文的目的IP为网络传播地址时,进而判断所述ICMP请求报文和所述ICMP回应报文的转发速率是否超出指定阈值,当判断所述ICMP请求报文和所述ICMP回应报文的转发速率超出指定阈值时,判断攻击为直接flood攻击或伪造IP的Flood攻击。接着执行步骤S103。
执行步骤S103,下发流表,执行入口过滤策略。当攻击为直接flood攻击或伪造IP的Flood攻击时,下发流表对应的所述入口过滤策略为限制作为入口路由功能的所述SDN交换机的报文转发速率。攻击为“Smurf”攻击时,下发流表对应的入口过滤策略为丢弃所述ICMP请求报文。接着执行步骤S104。
执行步骤S104,SDN交换机监听ICMP报文,发现异常恢复上报给SDN控制器。所述SDN交换机发现异常形成ICMP信息后,对异常继续进行监控,当所述异常恢复正常后请求解除所述入口过滤策略的防御。接着执行步骤S105。
执行步骤S105,SDN控制器分析上报信息和转发路径,解除防御。SDN控制器接收到解除防御请求后,对所述请求进行判断,得出对应的报文转发速率小于等于指定阈值时移除下发的所述流表。接着执行步骤S106。
执行步骤S106,下发流表,移除入口过滤策略。
如图3所示,本发明中SDN交换机的工作原理为:执行步骤S201,SDN交换机监听ICMP请求报文或ICMP回应报文的转发速率。接着执行步骤S202,判断监听的报文转发速率是否大于指定阈值,若大于指定阈值则执行步骤S203,若不大于指定阈值则执行步骤S204。执行步骤S203,上报给SDN控制器。执行步骤S204,SDN交换机监听目前IP为网络广播地址的ICMP请求报文。接着执行步骤S205,判断IP是否为网络广播地址,若是则执行步骤S206,若不是则结束。执行步骤S206,上报给SDN控制器。如图1所示,SDN交换机21监听用户终端31的ICMP请求报文和ICMP回应报文,当ICMP请求报文转发速率超出指定阈值、ICMP回应报文转发速率超出指定阈值、或ICMP请求报文的目的IP为网络广播地址时,就上报给SDN控制器10,较佳地,将上述的异常情况形成ICMP信息上报给SDN控制器10,以便SDN控制器10进行判断。
如图4所述,本发明中的SDN控制器的工作原理为:执行步骤S301,获取报文的转发路径。根据收到的SDN交换机上报的ICMP信息,可以得出报文的转发路径。接着执行步骤S302,判断入口交换机的ICMP报文类型。接着执行步骤S303,目的IP是否为网络广播地址的ICMP请求报文,若是则执行步骤S304,若不是则执行步骤S308,通过接收到的ICMP信息即可判断得出。执行步骤S304,判断出口交换机的ICMP报文速率,接着执行步骤S305,判断该ICMP报文速率是否大于阈值,若大于阈值则执行步骤S306,若小于阈值则执行步骤S307。执行步骤S307,不处理。执行步骤S306,判定为Smurf攻击,在入口交换机上设置流表,丢弃目的IP为网络广播地址的ICMP请求报文,进而结束。执行步骤S308,判断入口交换机的ICMP报文速率,接着执行步骤S309,该ICMP报文速率是否大于阈值,若大于则执行步骤S311,若不大于则执行步骤S310。执行步骤S310,不处理。执行步骤S311,判定为直接攻击或伪造IP攻击,在入口交换机上设置流表,对ICMP请求报文进行速率限制。
具有相同目的IP的ICMP报文的速率从大于阈值到低于或等于阈值并持续一定时间(缺省值60秒),SDN交换机将上报给SDN控制器。SDN控制器检查整个报文转发路径,发现ICMP报文的速率都低于或等于阈值将解除对ICMP Flood的防御。
当SDN控制器检测到直接Flood攻击和伪造IP的Flood攻击,需要通过在入口路由器上设置扩展的流表对ICMP请求报文进行速率限制。需要在原有的流表指令集里面增加一个新类型,OFPAT_RATE_LIMIT_ICMP。一旦此指令被执行,ICMP报文将会根据指定的速率进行限制,限制单位是Mbps。
综上所述,本发明针对流量攻击的安全防御系统及方法,采用了SDN架构,SDN交换机会动态地上报ICMP信息,控制器根据这些信息可以知道ICMP异常信息是发生在哪个位置(入口路由器还是出口路由器),最后根据产生条件,准确地判断出攻击者的位置和攻击类型并执行对应的入口过滤策略,从而有效地防御ICMP Flood攻击。一旦攻击者停止攻击,SDN控制器也会根据交换机上报的ICMP信息,解除对ICMP Flood的防御,从而释放流表资源,最大化地有效地管理整个SDN网络。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。