以太网基本概念
以太网包括通信所使用的物理介质以及链路层的协议标准IEEE 802.3,是现有局域网采用的最通用的技术标准。不同帧在以太网电缆上同时传输时会产生冲突,需要丢弃并重传冲突帧。
冲突处理:以太网协议使用CSMA/CD(载波监听多路访问及冲突检测)技术来避免冲突。
APR欺骗
预防措施
IP协议
TTL(time-to-live):每个数据包在路由过程中的生存周期,用跳数来决定,一般最大跳数为255。
路由器操作:对每个数据包执行丢弃、发送或转发三个操作。
路由协议:OSPF(Open shortest path first)协议决定如何在自治系统中路由数据包,其策略是数据包应沿最短路径传输。BGP (Border gateway protocol)决定如何在自治系统之间路由数据包。
ICMP协议:用于在主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
IP地址欺骗
应对措施
- 边缘路由器在配置时,可以阻止源地址在域内,但实际地址是域之外的数据包。边缘路由器也可以阻止源地址是域外的,但是从域内往域外发送的数据包。
- IP追踪技术也可以打击IP地址欺骗。这一技术可以追踪数据包返回到实际源地址的路径。
数据包嗅探
Wireshark(前称Ethereal)是一个网络数据包分析软件。其功能是撷取网络封包,并尽可能显示出最为详细的网络数据包资料。
防止措施
- 使用以太网交换机而不是集线器,降低数据包被嗅探的可能性。
- 检测网卡是否被设置为混杂模式。
- 高层协议使用加密防止敏感信息泄露,如HTTPS协议。
TCP会话劫持
TCP序列号预测
TCP序列预测攻击企图猜测TCP会话时的初始序列号,以建立伪造的TCP会话。
一个可能的攻击方案如下:
(1) 攻击者针对受害客户端发动拒绝服务攻击,防止客户端干扰自己的攻击;
(2)攻击者向服务器发送一个SYN包,将源IP地址伪造成受害客户端的IP地址;
(3) 在等待服务器向客户端发送响应之后,攻击者通过发送一个ACK数据包来结束TCP握手,该数据包的序列号是预测的下一个序列号;
(4) 攻击者以受害客户端名义向服务器发送请求。
盲注入
TCP序列号预测攻击中使用了IP欺骗,攻击者将无法从服务器收到任何响应。盲注入允许攻击者使用请求者的源IP地址来执行某些命令,从而破坏系统。
ACK风暴
盲注入后客户端不会向服务器发送同步消息,导致不同步现象。此时,客户端和服务器会向对方发送ACK消息,每一方都想告诉对方需要开始使用正确的序列号。这种反复的通信被称为ACK风暴。
完全会话劫持
当攻击者与目标服务器或客户端在同一网段时,攻击者可以完全劫持已有的TCP会话。使用数据包嗅探攻击,攻击者可以知道建立会话时数据包的序列号。
完全会话劫持与ARP欺骗结合的中间人攻击:攻击者首先使用ARP欺骗,将会话双方的通讯流暗中改变,这种改变对会话双方来说是透明。其次,攻击者利用完全会话劫持来截获会话双方的所有消息。
- 针对会话劫持,在IP层或者应用层使用认证和加密,如IPSec或者应用层安全协议。
拒绝服务攻击(Dos攻击)
Smurf攻击
攻击者向网络广播地址发送ICMP包,并将回复地址设置成受害网络的广播地址,通过使用ICMP应答请求数据包来淹没受害主机的方式进行。
对策:
(1)管理员应该将网络中的主机和路由器配置为忽略广播请求;
(2) 避免直接向广播地址转发数据包;
(3) 忽略ping请求。
SYN洪水攻击
对策:采用SYN Cookie机制
IP地址回溯
由于IP地址欺骗,很难确定攻击者的真正源IP地址。IP地址回溯能够确定数据包的真实来源,而不依赖于数据包头部的IP地址。
数据包标记技术、节点采样