本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

搜索
首页 信息速查 IP知识百科 在线课堂

什么是本机防攻击?

本机防攻击是为了保证CPU对正常业务的处理而设计的一种CPU保护机制。当CPU接收的正常业务报文或恶意攻击报文数量较多时,本机防攻击功能确保CPU能够正常运行,从而保证业务的正常运行。本机防攻击功能包括报文过滤、CPU防攻击、端口防攻击、用户级限速、攻击溯源和攻击防范。

为什么需要本机防攻击?

网络安全服务是解决或缓解网络安全威胁的措施,本机防攻击是网络安全服务的一种。在正常情况下,设备会将部分报文上送至CPU进行处理。然而,当设备遭受恶意攻击或业务过载时,会产生大量上送CPU处理的报文。如果正常上送CPU的报文数量巨大,会导致CPU占用率过高,设备性能下降,从而影响业务正常运行,甚至导致业务中断。本机防攻击正是为了解决这一问题而设计,确保设备在遭受攻击或业务过载时,仍能优先保障关键协议报文的处理。

本机防攻击的工作原理

本机防攻击功能旨在保障CPU的安全,对报文上送至CPU的全过程实施分级管控。根据报文处理流程可以划分为上送前、上送中、上送后三个关键阶段,构建多维度的防护体系,有效抵御各类攻击,确保设备稳定运行。

本机防攻击的防护分级
本机防攻击的防护分级
  • 报文上送前:

    通过创建过滤器或识别攻击源,对匹配过滤规则的报文或攻击报文实行过滤、丢弃动作。

  • 报文上送中:

    通过CPCAR(Control Plane Committed Access Rate)限速和队列调度与限速实现流量控制,CPCAR限速即基于协议报文的限速,协议限速后会进入按优先级或权重分配的队列,保证各类业务按优先级处理。该阶段还支持对所有报文统一做CAR,即不区分协议类型,在报文上送CPU前统一限速,对所有报文统一限速也是CPU防攻击的最后一道防线。

  • 报文上送后:

    通过分析上送CPU的报文是否会对CPU造成攻击,对可能造成攻击的报文通过日志或告警提醒网络管理员,以便管理员采用一定的措施来保护设备,或直接识别出攻击报文的特征并丢弃。功能包括攻击溯源分析和攻击防范。

本机防攻击的常用功能

本机防攻击的功能包括报文过滤、CPU防攻击、端口防攻击、用户级限速、攻击溯源和攻击防范。其中报文过滤、CPU防攻击、端口防攻击、用户级限速用于处理网络中过载报文导致影响业务的问题;攻击溯源用于识别攻击源,对攻击源进行防御部署;攻击防范用于识别及处理恶意攻击报文,处理CPU接收恶意攻击报文数量较多而影响业务的情况。以下内容重点介绍部分常用功能。

CPU防攻击

CPU防攻击旨在通过协议限速和队列调度与限速,达到控制报文流量的目的。其核心是CPCAR(Control Plane Committed Access Rate),即基于协议报文的限速,针对每种协议单独设置承诺信息速率CIR(Committed Information Rate)和承诺突发尺寸CBS(Committed Burst Size),对于超过该速率值的协议报文,设备直接予以丢弃,从而可以保证每种协议对应的业务能够得到正常处理,同时可以保证协议之间不会相互影响,避免因为某种协议的流量过大导致其它协议报文得不到处理的情况发生。协议限速之后,设备可对一类协议再分配一个队列,比如Telnet、SSH等管理类协议分为一个队列,路由协议分为一个队列,各个队列之间按照权重或优先级方式调度,保证各类业务的优先级,优先级高的业务被CPU调度的几率更大,在有冲突的情况下保证高优先级业务优先处理。同时,可以针对每个队列进行限速,限制各个队列向CPU上送报文的最大速率。对于超过最大速率的协议报文,设备会直接丢弃

CPU防攻击不仅支持修改协议报文的CPCAR、上送到CPU的所有报文的CPCAR,还支持修改协议联动后的CPCAR,并且,在默认CPCAR不能满足业务需求时,支持动态自适应调整协议报文的默认CPCAR。
  • 协议联动功能

    协议联动功能是指设备对基于会话连接的应用层数据的保护功能。当OSPFBGP、FTP等协议会话连接建立后,基于协议的默认CPCAR就不再起作用,设备以协议联动设定的CPCAR对建立会话连接的报文进行限速。通常,协议联动设定的CPCAR要比默认CPCAR大很多,以此来保证业务运行的可靠性和稳定性。

  • 动态自适应调整协议报文的默认CPCAR值

    动态自适应调整协议报文的默认CPCAR值应用在用户接入相关的协议报文(如ARP协议)上,主要解决协议报文默认CPCAR值无法满足上送速率的场景。开启该功能后,设备会根据协议报文的丢包情况和CPU占用率调整默认CPCAR值。

端口防攻击

端口防攻击是针对DoS攻击的一种防御方式。端口防攻击基于端口维度进行防御,可以避免攻击端口的协议报文挤占带宽,其他端口的协议报文无法正常上送CPU处理而造成的业务中断。端口防攻击的处理流程如下:

  1. 基于端口维度进行报文解析,并统计收到的端口防攻击所防范的协议报文的数量。
  2. 当单位时间上送CPU的报文数量超过了端口防攻击检查阈值时,就认为该端口存在攻击。
  3. 检测到攻击后,设备会发送日志。并将产生攻击的端口上收到的未超出协议限速值的报文移入低优先级队列后再上送CPU处理,超出限速值的报文直接丢弃。

此外,端口防攻击还提供了白名单功能、老化探测功能和端口防攻击事件上报功能。

  • 白名单功能

    将合法用户加入到白名单中,设备不对白名单内的用户报文进行端口防攻击处理,从而保证合法用户的报文能够正常上送CPU处理。白名单可以通过ACL或端口灵活设置。

  • 老化探测功能

    设备一旦检测到存在攻击的端口,就会在老化探测周期内(假设为T秒)对该端口的攻击报文持续进行移入低优先级队列的处理。达到T秒之后,设备会再次计算该端口收到协议报文的速率,如果该值超过了检查阈值(即存在攻击),则继续对其进行移入低优先级队列的处理;反之,则正常上送。

  • 端口防攻击事件上报功能

    当端口存在攻击时,设备以事件上报的方式提醒管理员,以便管理员采取一定的措施来保护设备。

用户级限速

用户侧主机遭受病毒攻击时向网络中发送大量的协议报文,导致设备的CPU占用率过高,性能下降,从而影响正常的业务。此时,基于用户侧主机MAC的用户级限速功能可以解决这一问题。

与CPCAR基于设备对协议报文进行限速相比,基于用户MAC地址进行限速能够精确到每个用户,对正常用户的影响更小。其处理流程如下:

  1. 设备对收到的用户协议报文的源MAC地址进行哈希计算,将收到的不同源MAC地址的报文放到不同的限速桶中。
  2. 当单位时间内限速桶内的报文超过了限速值时,该限速桶会丢弃收到的报文。并且每隔一定时间对限速桶内的丢包数目进行统计,如果限速桶丢弃的报文数目超过限速值,设备会发送该限速桶的丢包日志。

攻击溯源

攻击溯源针对设备CPU的DOS攻击进行防御。通过对上送报文进行统计分析,将超过了配置阈值的报文视为用户攻击报文,并据报文信息找到攻击源用户、攻击源端口,并发送日志、告警告知管理员或直接进行惩罚。攻击溯源是指设备通过分析上送的报文是否会对CPU造成攻击,从而追溯攻击源,为网络管理员提供精准的防御部署机制。

其具体过程如下:

  1. 报文解析:从IP地址、MAC地址以及端口三个维度对上送CPU的报文进行报文解析,其中端口通过“物理端口+VLAN”标识。
  2. 流量分析与阈值检测:根据IP地址、MAC地址或者端口信息统计接收到的协议报文数量,若超过阈值,责任判定为攻击报文。
  3. 攻击源识别:当单位时间上送CPU的报文数量超过了阈值时,则认为是攻击。
  4. 识别后处理:当检测到攻击后,会发送日志、告警通知管理员或者直接实施惩罚,如丢弃攻击报文。
攻击溯源原理
攻击溯源原理

此外,攻击溯源还提供了白名单功能。将合法用户加入到通过白名单中,设备不对白名单内的用户报文进行溯源和攻击惩罚处理,从而保证合法用户的报文能够正常上送CPU处理。白名单可以通过ACL或端口灵活设置。

攻击防范

攻击防范则是对上送到CPU的报文的内容进行分析和检测,判断报文是否具有攻击特征,如果检测到是攻击报文,则会在所有报文统一限速前根据配置对具有攻击特征的报文执行一定的防范措施。攻击防范主要包含畸形报文攻击防范、分片报文攻击防范、TCP SYN泛洪攻击防范、UDP泛洪攻击防范和ICMP泛洪攻击防范。

  • 畸形报文攻击
    畸形报文攻击是通过向目标设备发送有缺陷的IP报文,使得目标设备在处理这样的IP报文时出错和崩溃,影响目标设备承载的业务正常运行。畸形报文攻击防范是指设备实时检测出畸形报文并予以丢弃,实现对设备的保护。畸形报文种类如下表所示。
    表1-1 畸形报文攻击类型

    攻击类型

    特点

    判断依据

    缺失IP载荷的泛洪

    如果IP报文只有20字节的IP报文头,没有数据部分的报文。

    检测IP报文是否缺失数据部分。

    IGMP空报文

    正常的IGMP报文由20字节的IP报文头加上8字节的数据部分组成,总长28个字节。总长度小于28字节的IGMP报文称为IGMP空报文。

    检测IGMP报文总长度是否小于28字节。

    LAND攻击

    攻击者利用TCP连接三次握手机制中的缺陷,向目标主机发送一个源地址和目的地址均为目标主机、源端口和目的端口相同的SYN报文,目标主机接收到该报文后,将创建一个源地址和目的地址均为自己的TCP空连接,直至连接超时,耗费大量资源,直至设备瘫痪。

    检测TCP SYN报文的源地址和目的地址是否一致或源端口和目的端口是否一致。

    Smurf攻击

    Smurf攻击是指攻击者向目标网络发送源地址为目标主机地址、目的地址为目标网络广播地址的ICMP请求报文,目标网络中的所有主机接收到该报文后,都会向目标主机发送ICMP响应报文,导致目标主机收到过多报文而消耗大量资源,甚至导致设备瘫痪或网络阻塞。

    检测ICMP请求报文的目标地址是否是广播地址或子网广播地址。

    TCP标志位非法攻击

    TCP报文包含6个标志位:URG、ACK、PSH、RST、SYN、FIN。

    • 6个标志位全部为1,即为圣诞树攻击。
    • SYN和FIN同时为1,如果端口是关闭的,会使接收方应答一个RST | ACK消息;如果端口是打开的,会使接收方应答一个SYN | ACK消息,这可用于主机探测(主机在线或者下线)和端口探测(端口打开或者关闭)。
    • 6个标志位全部为0,如果端口是关闭的,会使接收方应答一个RST | ACK消息,这可以用于探测主机;如果端口是开放的,Linux和UNIX系统不会应答,而Windows系统将回答RST | ACK消息,这可以探测操作系统类型(Windows系统,Linux和UNIX系统等)。

    检查TCP报文的各个标志位是否符合下面条件之一:

    • 6个标志位全部为1。
    • SYN和FIN位同时为1。
    • 6个标志位全部为0。
  • 分片报文攻击

    分片报文攻击是通过向目标设备发送分片出错的报文,使得目标设备在处理分片错误的报文时崩溃、重启或消耗大量的CPU资源,影响目标设备承载的业务正常运行。分片报文攻击防范是指设备实时检测出分片报文并予以丢弃或者限速处理,实现对本设备的保护。

    分片报文攻击主要分为以下几类:

    • 分片数量巨大攻击:同一IP报文中的分片数目超过8189个,造成设备重组分片报文时消耗大量CPU资源。
    • 巨大Offset攻击:攻击者向目标设备发送一个Offset值大于8189的分片报文,导致目标设备需要分配巨大的内存空间来存放所有分片报文,消耗大量资源。
    • 重复分片攻击 :重复分片攻击就是把同样的分片报文多次向目标主机发送,造成目标主机的CPU和内存使用不正常。同样的分片包括完全相同的分片和报文不相同但offset相同的分片。
    • Syndrop攻击:IP分片错误,第二片包含在第一片之中。即数据包中第二片IP包的偏移量小于第一片结束的位移,而且算上第二片IP包的Data,也未超过第一片的尾部。Syndrop攻击使用了TCP协议,Flag为SYN,而且带有载荷。
    • 分片错误攻击:IP报文分片第二片包含在第一片之中,即数据包中第二片IP包的偏移量小于第一片结束的位移。根据采用的协议不同和有效荷载长度不同可分为Syndrop攻击、NewTear攻击、Bonk攻击和Nesta攻击。

    对于分片数量巨大攻击、巨大Offset攻击、Syndrop攻击和分片错误攻击,直接丢弃所有分片报文。对于重复分片攻击,设备实现对分片报文进行CAR(Committed Access Rate)限速,保留首片,丢弃其余所有相同的重复分片,保证不对CPU造成攻击。

  • TCP SYN泛洪攻击

    TCP SYN攻击利用了TCP三次握手的漏洞。在TCP的3次握手期间,当接收端(目标设备)收到来自发送端(攻击者)的初始SYN报文时,向发送端返回一个SYN+ACK报文。接收端在等待发送端的最终ACK报文时,该连接一直处于半连接状态。如果接收端最终没有收到ACK报文包,则重新发送一个SYN+ACK到发送端。如果经过多次重试,发送端始终没有返回ACK报文,则接收端关闭会话并从内存中刷新会话,从传输第一个SYN+ACK到会话关闭大约需要30秒。

    在这段时间内,攻击者可能发送大量SYN报文到开放的端口,并且不回应接收端的SYN+ACK报文。接收端内存很快就会超过负荷,且无法再接收任何新的连接,并将现有的连接断开。

    TCP SYN泛洪攻击
    TCP SYN泛洪攻击

    TCP SYN泛洪攻击防范即设备对TCP SYN报文进行速率限制,当目标设备每秒收到的SYN报文数量超过限速值就启动丢弃动作,保证设备受到攻击时资源不被耗尽。

  • UDP泛洪攻击

    UDP泛洪攻击是指攻击者在短时间内向目标设备发送大量的UDP报文,导致目标设备负担过重而不能处理正常的业务。UDP泛洪攻击分为两类:

    • Fraggle攻击:攻击者发送源地址为目标设备IP地址,目的地址为广播地址,目的端口号为7的UDP报文。如果该广播网络中有很多主机都启用了UDP响应请求服务,目标设备将会收到很多主机发送的UDP回应报文,设备处理这些报文会消耗CPU资源,造成系统繁忙,从而达到攻击效果。
    Fraggle攻击
    Fraggle攻击

    对于Fraggle攻击,设备开启UDP泛洪攻击防范功能后,默认UDP端口号为7的报文是攻击报文,直接将其丢弃。

    • UDP诊断端口攻击:攻击者向目标设备的UDP诊断端口(7-echo,13-daytime,19-Chargen等UDP端口)发送大量UDP请求报文,形成泛洪,消耗网络带宽资源,并且目标设备为这些请求提供服务回应UDP报文时会消耗CPU资源,造成负担过重而不能处理正常的业务。

    开启泛洪攻击防范功能后,设备将UDP端口为7、13和19的报文认为是攻击报文,直接丢弃。

  • ICMP泛洪攻击

    网络管理员一般用Ping程序对网络进行监控和故障排除,大概过程如下:

    1. 源设备向接收设备发出ICMP请求报文;
    2. 接收设备接收到ICMP请求报文后,会向源设备回应一个ICMP响应报文。

    如果攻击者向目标设备发送大量的ICMP请求报文,则目标设备会忙于处理这些请求,而无法继续处理其他的数据报文,造成对正常业务的冲击。

    ICMP泛洪攻击
    ICMP泛洪攻击

    ICMP泛洪攻击防范即设备对ICMP报文进行速率限制,当目标设备每秒收到的ICMP报文数量超过限速值就启动丢弃动作,保证设备受到攻击时资源不被耗尽。

本机防攻击的应用场景

如下图所示,某企业的核心生产网络采用华为S系列交换机作为接入层设备SwitchA,SwitchA的端口分别连接着员工办公PC、会议室设备、服务器,还有可能存在的恶意攻击者。

本机防攻击配置在接入层设备的场景
本机防攻击配置在接入层设备的场景

在企业网络中,交换机接入大量办公PC时,如果员工进行大流量操作(如下载大文件)时,可能会导致公司网络卡顿,此时针对每台办公PC的MAC地址配置用户级限速,可以确保每台PC的使用流量在合理的限速值内;在会议室内,当同时有多个访客用户同时连接访客WIFI浏览网页时,可能会导致视频卡顿或投屏中断,此时配置基于协议的CPCAR限速,对于语音、视频、投屏类协议优先放行或宽松限速,对于网页、邮件类协议适度限速,保证会议室投屏、通话业务正常工作;企业网络中,部分服务器常常需要开放一部分端口对外提供服务,通过在SwitchA配置端口防攻击,拦截开放端口的恶意流量,保障服务器持续稳定运行;当网络中有恶意攻击者时,配置了攻击防范的SwitchA通过各类泛洪攻击防范功能,限制攻击报文的速率,达到防范攻击的目的。

词条统计
  • 作者: 印蓉蓉,孟显海
  • 最近更新: 2026-04-21
  • 浏览次数: 9948
  • 平均得分:
分享链接到: