7. 常见网络攻击欺骗手段与防护

一.ARP欺骗

用户上线后,在网关上生成用户的ARP表项。如果此时其中的一个用户(攻击者)通过发送ARP欺骗报文,修改正常用户或网关的ARP表项,即可以轻易的窃取其他用户的信息或阻碍其他用户正常访问网络。
在这里插入图片描述

  1. 攻击手段
    如图所示,用户上线后,在网关上生成用户的ARP表项,用户可以正常访问网络。若此时攻击者向正常用户或网关发送ARP欺骗报文来修改它们的ARP表项,将可能产生如下网络危害:
    (1)如果攻击者冒充网关,向局域网内正常用户发送伪造的网关ARP报文,此时网络中正常用户访问网关的流量会被重定向到一个错误的MAC地址,导致该用户无法正常访问外网或数据信息被攻击者窃取。
    (2)如果攻击者冒充正常用户,向网关发送错误的ARP报文,此时网关发给该正常用户的所有数据全部重定向到一个错误的MAC地址,导致该用户无法正常访问外网。
  2. 解决方案
    针对通过DHCP服务器获取地址的场景,动态ARP检测技术可有效的解决ARP带来的安全隐患。动态ARP检测(Dynamic ARP Inspection)应用在设备的二层接口上,利用DHCP Snooping绑定表来防御ARP攻击。当设备收到ARP报文时,将此ARP报文中的源IP、源MAC、端口、VLAN信息和DHCP Snooping绑定表的信息进行比较,如果信息匹配,说明是合法用户,则允许此用户的ARP报文通过,否则认为是攻击,丢弃该ARP报文。
    启用动态ARP检测功能后,当攻击者连接到交换机并试图发送虚假的ARP响应时,交换机会根据DHCP Snooping绑定表检测到这种攻击行为,并会丢弃这个ARP数据包,并向管理员发出警报。此时,可有效的防止中间人攻击对设备产生的影响。

二.DHCP欺骗

  1. DHCP Server仿冒者攻击
    (1)攻击手段
    由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。如果该DHCP服务器分配错误的IP地址和其他网络参数,将会对网络造成非常大的危害。
    如图所示,DHCP发现报文(DHCPDISCOVER)是以广播形式发送,无论是合法的DHCP Server,还是非法的DHCP Server仿冒者都可以接收到DHCP Client发送的DHCP发现报文。
    在这里插入图片描述
    如果此时DHCP Server仿冒者回应给DHCP Client仿冒信息,如错误的网关地址、错误的DNS服务器、错误的IP等信息,如图3所示。DHCP Client将无法获取正确的IP地址和相关信息,导致正常客户无法访问网络或信息安全受到严重威胁。
    在这里插入图片描述
    (2)解决方法
    为了防止DHCP Server仿冒者攻击,可使用DHCP Snooping的“信任(Trusted)/不信任(Untrusted)”工作模式。把某个物理接口设置为“信任(Trusted)”或者“不信任(Untrusted)”。凡是从“不信任(Untrusted)”接口上收到的DHCP Reply(Offer、ACK、NAK)报文直接丢弃,这样可以隔离DHCP Server仿冒者攻击。如图所示。
    在这里插入图片描述
    2.IP/MAC欺骗攻击
    (1)攻击者向服务器发送带有合法用户IP和MAC的报文,令服务器误以为已经学到这个合法用户的IP和MAC,但真正的合法用户不能从服务器获得服务,如图所示。
    在这里插入图片描述
    (2)解决方法
    该攻击可以通过在DHCP中继上开启DHCP snooping来解决。
    ① 对于配置静态IP地址的用户,由于没有通过DHCP请求而获得IP,所以没有对应的DHCP Snooping绑定表项,该用户发出的ARP、IP报文会被丢弃,从而防止该用户非法使用网络。只能通过配置静态DHCP Snooping绑定表来允许静态IP用户访问网络。
    ② 对于盗用其他合法用户IP地址的用户,同样由于不是自己通过DHCP请求而获得IP的,IP对应的DHCP Snooping绑定表项中的MAC以及接口与盗用者的不一致,盗用者发出的ARP、IP报文会被丢弃,从而防止该盗用者非法使用网络。
    在这里插入图片描述
    DHCP Snooping绑定表中的表项分为两种:
    ① 通过命令行配置的静态表项,只能通过命令行删除。
    ② 通过DHCP Snooping功能自动学习到的动态表项,并根据DHCP租期进行老化。
    为了防止非法用户通过正常的手段从DHCP地址池获得地址进入内网,可以进行如下配置:把整段IP和FFFF-FFFF-FFFF做ARP绑定,用一个IP再删一条绑定。

三.IP源路由欺骗

  1. 攻击过程
    IP协议是TCP/IP协议族中面向连接的、非可靠传输的网络层协议,它不保持任何连接状态信息,也不提供可靠性保障机制,这使得我们可以在IP数据报的源地址和目的地址字段填入任何满足要求的IP地址,从而实现使用虚假IP地址或进行IP地址盗用的目的。
    在IPV4的报文头部的option选项中,它包括两种类型的源路由:松散的源站选路和严格的源站选路。如图所示。
    (1)松散的源站选路:发送端指明数据流必须经过的IP地址清单,但是也可以经过除这些地址以外的一些地址。
    (2)严格的源站选路:发送端指明IP数据包必须经过的确切地址。如果没有经过这一确切路径,数据包会被丢弃,并返回一个ICMP报文。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    源站选路给攻击者带来了很大的便利。攻击者可以使用假冒地址A向受害者B发送数据包,并指定了宽松的源站选路或者严格的源站选路(如果确定能经过所填入的每个路由的话),并把自己的IP地址X.X.X.X填入地址清单中。当B在应答的时候,也应用同样的源路由,因此,数据包返回被假冒主机A的过程中必然会经过攻击者X.X.X.X。这样攻击者就能获得完整的会话信息。攻击过程如图所示。
    在这里插入图片描述
    入侵详细过程模拟:(1)首先想办法down掉User的主机(ARP欺骗,……)。(2)Attacker伪装User的IP与Server通信,发送数据包,数据包是严格的源站选择的,经过的路线为: Attacker->R1->R2->R3->R4->Server。(3)由于伪装的是User的IP,正确的回包线路:Server->R4->R3->R5->User但因为严格的源站选择的,回包线路变成了Server->R4->R3->R2->R1->Attacker。(4)这样Attacker就可以利用User的IP地址身份权限进行非法活动了。
  2. 防范手段
    (1)IP Source Guard功能基于绑定表对IP报文进行匹配检查。对于DHCP动态分配地址的用户,使能DHCP Snooping功能后会生成动态绑定表;对于静态分配地址的用户,需要手工建立静态绑定表。当设备在转发IP报文时,将此IP报文中的源IP、源MAC、端口、VLAN信息和绑定表的信息进行比较,如果信息匹配,说明是合法用户,则允许此用户正常转发,否则认为是攻击,丢弃该IP报文。
    (2)URPF(Unicast Reverse Path Forwarding)是单播逆向路径转发的简称,其主要功能是防止基于源地址欺骗的网络攻击行为。单播逆向路径转发之所以称为“逆向”,是针对正常的路由查找而言的。一般情况下,路由器接收到报文,获取报文的目的地址,针对目的地址查找转发表,如果找到了就转发报文,否则丢弃该报文。而URPF通过获取报文的源地址和入接口,在转发表中查找源地址对应的接口是否与入接口匹配,如果不匹配,则认为源地址是伪装的,直接丢弃该报文。通过这种方式,URPF能够有效地防范网络中通过修改报文源IP地址而进行恶意攻击行为。

四.DNS欺骗

  1. DNS的工作过程:
    在这里插入图片描述
    step1. 当我们搜索www.test.com时,会先查看本地浏览器缓存和操作系统hosts文件中有没有域名与IP地址的对应关系,有的话返回结果,没有则进入下一步。
    step2. 向本地缓存DNS查询,如果在家用路由器上选择了“自动获取DNS服务器地址”,那么本地缓存DNS就是ISP网络服务提供商默认的DNS服务器,本地缓存DNS会查询缓存池中有没有域名与IP地址的对应关系,有的话返回结果(大约90%的域名解析都到这里就已经完成了,所以本地缓存DNS承担了大部分域名的解析工作),没有则进入下一步。
    step3. 本地缓存DNS向根DNS发起查询请求。根DNS返回com域的权威名字服务器(顶级域DNS)的NS记录和对应IP地址。注:NS(Name Server)是域名服务器,用来指定该域名由哪个DNS服务器来进行解析。
    step4. 本地缓存DNS向顶级域DNS发起www.test.com查询请求。
    step5. 顶级域DNS返回test.com域的权威DNS的NS记录和IP地址。
    step6. 本地缓存DNS继续向test.com的权威DNS发起www.test.com查询请求。
    step7. test.com的权威DNS应答www.test.com查询请求。
    step8. 本地缓存DNS将应答结果保存在本地缓存,并将结果应答给客户端。
    由于整个域名解析请求的过程中DNS没有提供认证机制,查询者在收到应答时无法确认应答信息的真假,每一台DNS服务器也无法知道请求域名服务的主机或者其他的DNS服务器是否合法,所以这个过程就很容易被黑客利用,进行DNS欺骗,达到用户不能访问特定的网站或者访问的是假网站的目的。
  2. DNS缓存投毒
    在这里插入图片描述
    (1)DNS缓存投毒是攻击者先向缓存服务器发送一个不存在域名的请求报文,例如abc.test.com,触发缓存服务器向权威DNS发出查询请求,同时攻击者向缓存服务器发送大量的伪造回应报文,以期在真正的权威DNS回应到达之前命中缓存服务器的请求信息,将恶意权威DNS地址置入缓存服务器缓存项中,而恶意权威DNS服务器中记录了错误的网站域名和IP地址对应关系。结果导致abc.test.com的解析地址是错误的。
    这个子域名解析错误其实影响不大,毕竟攻击者发送的请求域名通常是不存在的,但由于投毒修改了缓存服务器中缓存的权威DNS地址,所以在缓存周期内,不仅访问abc.test.com子域名时返回的IP地址是错误的,所有访问test.com主域名返回的IP地址都是错误的。这就是DNS缓存投毒的过程。
    (2)解决方案
    对于DNS缓存投毒,个人用户很难单单靠设置解决。如果得知已投毒,可以通过修改Hosts的方法,手动设置域名正确的IP地址。或者借助于专业的安全设备。
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

土豆aaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值