目录
一.ARP协议的安全隐患
ARP存在的安全隐患有:ARP窃听,ARP欺骗,GARP滥用攻击
1.ARP窃听
由于ARP地址解析协议为了获取对应IP地址的MAC地址,会进行广播,并且对广播的内容不进行加密处理,属于明文,所以便很容易被窃听,攻击者以此可以获取到网络中各节点的IP地址和MAC地址等信息
2.ARP欺骗
由于没有对广播收到的MAC地址进行身份鉴别,所以攻击者可以伪造一个错误的MAC地址返回给主机,由此使该主机的映射表是错误的,当主机想要向目的主机发送信息时,就会使信息发送给攻击者而被窃取
若攻击者将欺骗包(即错误MAC地址)的目的MAC地址改为广播,则整个网络的节点都会收到这个错误的映射信息,从而所有节点都更新自己的ARP表
若攻击者将欺骗包的MAC地址设为不存在的地址,那么主机发送的信息将没有节点接收而主机不知道,形成“黑洞攻击”
设想若ARP请求的MAC地址为网关地址,而攻击者伪造成了网关,那么主机发往网关的所有信息都将被窃听
3.GARP滥用攻击
GARP(Gratuitous ARP)请求是一种特殊类型的ARP(Address Resolution Protocol)请求。它是由一个主机发送给本地网络上的所有其他主机的ARP请求。与常规的ARP请求不同,GARP请求中的发送者和目标IP地址是相同的。GARP请求的目的是更新网络中其他主机的ARP缓存表,以确保它们持有的关于发送者IP地址的MAC地址条目是最新的
攻击者利用GARP技术,主动发送虚假的GARP请求消息,即错误的IP映射MAC地址,来干扰整个网络通信
二.ARP协议安全隐患防御技术
1.采用静态绑定
为了防止接收到的映射关系是错误的,可以通过添加ARP表项到ARP表中,即手工绑定
静态ARP表项的生命期是永久的,广播获取的ARP表项是有生命期的,所以静态绑定是最安全的防御ARP欺骗的手段,但是需要一段时间就检查是否有新的节点加入或删除
2.采用ARP代理服务器
ARP代理服务器通过静态绑定的方式可以安全的知道整个网络的映射关系,当主机想要知道MAC地址时,不再进行广播而是通过ARP代理服务器获取(每台主机都静态绑定不如只静态绑定ARP代理服务器),ARP代理服务器还能对所有的ARP请求和响应进行监控和过滤,确保只有合法的ARP请求和响应被允许通过
3.在网络设备上对ARP消息进行检测和控制
交换机:通过端口绑定的方式,只允许满足特定条件的ARP请求和ARP响应数据包通过
路由器:仅允许已经建立了IP地址和MAC地址绑定的数据包通过,不会通过学习的方式来更新自己的ARP表
防火墙:通过发送可信GARP请求消息来防止ARP欺骗,在发现ARP欺骗时,主动发送GARP请求包强制主机更新自己本地ARP缓存
4.禁用GARP功能
禁用GARP功能防止攻击者发送恶意GARP请求消息更新ARP表
三.IP协议的安全威胁
1.窃听
IP协议在传输过程中是没有加密的,通过窃听可以获取到IP地址和报文等内容
2.IP地址假冒攻击
IP地址假冒攻击是一种常见的网络攻击方法,攻击者通过修改IP数据包的源地址,使其看起来来自于一个虚假的IP地址。这种攻击方法的目的是欺骗目标主机或网络设备,使其误认为数据包的来源是合法的。
IP地址假冒攻击的原理是利用了IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。攻击者会修改IP数据包的源地址,将其伪装成一个合法的IP地址,使接收到这些伪造数据包的计算机向假冒的源地址发回响应包。
3.IP碎片攻击
在IP协议中允许发送者或者中间转发者对IP报进行分片,攻击者可以利用这种分片机制对IP报分为非常小的碎片,IP分片在传输过程中不会被重组,只有在接受端才会进行重组,目的就是为了耗费接收端主机的资源,使其无法对真正需要接收的数据进行处理,达到使目的主机拒绝服务的效果
四.IP协议安全威胁的防御方法
-
源地址过滤:在网关或防火墙中进行源IP地址过滤,即禁止源地址非本网段地址的数据包发出。这样可以从源头屏蔽伪造IP源地址的数据包。
-
基于加密算法的身份认证:可以采用基于加密算法的技术来进行身份认证,代替基于IP的信任策略。通过加密算法,可以确保通信双方的身份合法性,防止攻击者伪造IP地址。
-
使用网络工具:可以使用网络工具如Netwox等来检测和防御IP地址假冒攻击。这些工具可以帮助监测网络流量,并识别出可能的攻击行为。
更完善的IP协议安全防御方法是采用更安全的IP协议(IPSec)
五.TCP协议的安全隐患
1.SYN泛洪攻击
主机A对主机B的TCP链路建立连接不应答,此时主机B收不到主机A的应答就会处于一个半连接状态,当主机A大量发送SYN链路请求报文后又不应答,主机B就会被一直消耗资源,无法对其他主机的TCP请求应答,从而达到使主机B拒绝服务的目的
2.ACK泛洪攻击(随机IP)
主机A向主机B发送链路释放请求后并且产生一个随机源IP,主机B查表对接收的数据报的IP地址查询结果,主机A的目的就是为了通过不停发送链路释放请求和随机IP来消耗主机B的存储和计算资源,从而达到使主机B拒绝服务的目的
3.ACK泛洪攻击(伪造IP)
通过伪造被攻击对象IP和端口号使主机B不断自查询,消耗主机B的资源
4.序列号预测攻击
由于TCP连接是通过序列号来规范数据传输的,攻击者通过预测TCP端口号或序列号来发送一个虚假的数据包,即将虚假数据包插入到正常数据包后面,服务器不会发现这是虚假信息,通过发送链路释放连接可以使主机A和服务器断开连接
5.LAND攻击
使服务器不断建立自身的TCP空连接,以此使服务器的资源被大量消耗