攻击防范是一个重要的网络安全特性,它通过分析经过设备的报文的内容和行为,判断报文是否具有攻击特征,并根据配置对具有攻击特征的报文执行一定的防范措施,例如输出告警日志、丢弃报文、更新会话状态或加入黑名单。
本特性能够检测包攻击、扫描攻击和泛洪攻击等多种类型的网络攻击,并能对各类型攻击采取合理的防范措施。除此之外,该特性还支持流量统计功能,基于接口对IP报文流量进行分析和统计。
根据攻击报文表现出的不同特征,设备可以防范的网络攻击类型可以划分为以下三大类:单包攻击、扫描攻击和泛洪攻击。
单包攻击也称为畸形报文攻击。攻击者通过向目标系统发送有缺陷的IP报文,如分片重叠的IP报文、TCP标志位非法的报文,使得目标系统在处理这样的IP报文时出错、崩溃,给目标系统带来损失,或者通过发送大量无用报文占用网络带宽等行为来造成攻击。
设备可以对表1-1中所列的各单包攻击行为进行有效防范。
表1 单包攻击类型及说明列表
单包攻击类型 | 说明 |
Fraggle | 攻击者通过向目标网络发送UDP端口为7的ECHO报文或者UDP端口为19的Chargen报文,令网络产生大量无用的应答报文,占满网络带宽,达到攻击目的。 |
ICMP Redirect | 攻击者向用户发送ICMP重定向报文,更改用户主机的路由表,干扰用户主机正常的IP报文转发。 |
ICMP Unreachable | 某些系统在收到不可达的ICMP报文后,对于后续发往此目的地的报文判断为不可达并切断对应的网络连接。攻击者通过发送ICMP不可达报文,达到切断目标主机网络连接的目的。 |
LAND | 攻击者向目标主机发送大量源IP地址和目的IP地址都是目标主机自身的TCP SYN报文,使得目标主机的半连接资源耗尽,最终不能正常工作。 |
Large ICMP | 某些主机或设备收到超大的报文,会引起内存分配错误而导致协议栈崩溃。攻击者通过发送超大ICMP报文,让目标主机崩溃,达到攻击目的。 |
Route Record | 攻击者利用IP报文中的Route Record路由选项对网络结构进行探测。 |
Smurf | 攻击者向目标网络发送ICMP应答请求,该请求包的目的地址设置为目标网络的广播地址,这样该网络中的所有主机都会对此ICMP应答请求作出答复,导致网络阻塞,从而达到令目标网络中主机拒绝服务的攻击目的。 |
Source Route | 攻击者利用IP报文中的Source Route路由选项对网络结构进行探测。 |
TCP Flag | 不同操作系统对于非常规的TCP标志位有不同的处理。攻击者通过发送带有非常规TCP标志的报文探测目标主机的操作系统类型,若操作系统对这类报文处理不当,攻击者便可达到使目标主机系统崩溃的目的。 |
Tracert | 攻击者连续发送TTL从1开始递增的目的端口号较大的UDP报文,报文每经过一个路由器,其TTL都会减1,当报文的TTL为0时,路由器会给报文的源IP设备发送一个TTL超时的ICMP报文,攻击者借此来探测网络的拓扑结构。 |
WinNuke | 攻击者向安装(或使用)Windows系统的特定目标的NetBIOS端口(139)发送OOB(out-of-band)数据包,这些攻击报文的指针字段与实际的位置不符,从而引起一个NetBIOS片断重叠,致使已与其他主机建立连接的目标主机在处理这些数据的时候系统崩溃。 |
扫描攻击是指,攻击者运用扫描工具对网络进行主机地址或端口的扫描,通过准确定位潜在目标的位置,探测目标系统的网络拓扑结构和启用的服务类型,为进一步侵入目标系统做准备。
泛洪攻击是指,攻击者在短时间内向目标系统发送大量的虚假请求,导致目标系统疲于应付无用信息,而无法为合法用户提供正常服务,即发生拒绝服务。
设备支持对以下三种泛洪攻击进行有效防范:
由于资源的限制,TCP/IP协议栈只能允许有限个TCP连接。SYN Flood攻击者向服务器发送伪造源地址的SYN报文,服务器在回应SYN ACK报文后,由于目的地址是伪造的,因此服务器不会收到相应的ACK报文,从而在服务器上产生一个半连接。若攻击者发送大量这样的报文,被攻击主机上会出现大量的半连接,耗尽其系统资源,使正常的用户无法访问,直到半连接超时。
ICMP Flood攻击是指,攻击者在短时间内向特定目标发送大量的ICMP请求报文(例如ping报文),使其忙于回复这些请求,致使目标系统负担过重而不能处理正常的业务。
UDP Flood攻击是指,攻击者在短时间内向特定目标发送大量的UDP报文,致使目标系统负担过重而不能处理正常的业务。
黑名单功能是根据报文的源IP地址进行报文过滤的一种攻击防范特性。同基于ACL(Access Control List,访问控制列表)的包过滤功能相比,黑名单进行报文匹配的方式更为简单,可以实现报文的高速过滤,从而有效地将特定IP地址发送来的报文屏蔽掉。
黑名单最主要的一个特色是可以由设备动态地进行添加或删除,这种动态添加是与扫描攻击防范功能配合实现的。具体实现是,当设备根据报文的行为特征检测到某特定IP地址的扫描攻击企图之后,便将攻击者的IP地址自动加入黑名单,之后该IP地址发送的报文会被设备滤掉过。该方式生成的黑名单表项会在一定的时间之后老化。
除上面所说的动态方式之外,设备还支持手动方式添加或删除黑名单。手动配置的黑名单表项分为永久黑名单表项和非永久黑名单表项。永久黑名单表项建立后,一直存在,除非用户手工删除该表项。非永久黑名单表项的老化时间由用户指定,超出老化时间后,设备会自动将该黑名单表项删除,黑名单表项对应的IP地址发送的报文即可正常通过。
流量统计功能主要用于对内外部网络之间的会话建立情况进行统计与分析,具有一定的实时性,可帮助网络管理员及时掌握网络中各类型会话的统计值,并可作为制定攻击防范策略的一个有效依据。比如,通过分析外部网络向内部网络发起的TCP或UDP会话建立请求总数是否超过设定的阈值,可以确定是否需要限制该方向的新建会话,或者限制向内部网络某一IP地址发起新建会话。
目前,设备支持的流量统计项包括:
l 总会话数
l 新建会话的速率
l TCP会话数
l 半开状态的TCP会话数
l 半闭状态的TCP会话数
l TCP会话的创建速率
l UDP会话数
l UDP会话的创建速率
l ICMP会话数
l ICMP会话的创建速率
l RAWIP会话数
l RAWIP会话的创建速率
l 会话创建速率的统计周期为5秒,因此设备上显示的统计值为距离当前时刻最近的一个周期内的会话创建速率统计值。
l 流量统计功能并不关心会话的状态(除TCP的半开和半闭状态),只要有会话创建,那么会话数目的统计值就加1,同理,只要有会话被删除,该统计值就减1。