[NOTE]底层协议安全
文章目录
基本协议及简述
- IP:
- 无状态
- 无连接(不支持上下文)
- 不可靠(尽力送达)
- 无序(送达顺序不固定)
- 支持分片(分片字段)
- 路由不固定
- 地址由报文头指定
- TCP:
- <localhost,localport->remotehost,remoteport>
- 三步握手:SYN->SYNACK->ACK
- UDP:
- 简单的数据传输,没有纠错和重传
- 没有***机制,支持分片
- 开销小
- ICMP
- 控制报文协议
- 可以用来探测可达性
- 对TCP/UDP产生影响
协议的安全隐患
IP协议
IP地址欺骗
报文头部的IP地址并不能保证是真实IP地址;可以通过伪造源IP进行欺骗
IP路由欺骗
可以在报文头部指定路由,则可以通过伪造IP和指定路由来接受应答数据包.
IP分片攻击
- 老式设备在接受重组后总长超过65535的碎片时会造成缓冲区溢出
- 偏移量攻击:Ping O’ Death
- Ping包的结构:ICMP头+Max=65507 PING数据
- 指定发送碎片偏移量超过65507会引发崩溃(如
frag [email protected]
)
- 分片攻击:Teardrop:发送偏移重叠的片段导致处理出错.
- Tiny Fragment 攻击:发送极小的分片绕过包过滤系统:报头分为两个分片;第一个包含目的IP,目的是绕过防火墙建立连接;第二个分片包含禁止访问的目标端口,这样可以绕过针对端口进行封锁的防火墙,因为这种系统多半只会判断第一个分片是否合法.
- Fragment Overlap:利用偏移覆盖端口.
- 在第一个分片声明使用合法端口
- 在第二个分片使用重叠的偏移量覆盖端口,造成了非法访问.
- 分片Dos: 发送一部分分片但不发送完全造成资源等待,从而耗尽路由或主机资源
定向广播攻击
发送目的地为***.***.***.255的报文,等同向网域内所有主机发送(.2~.254),这样可以消耗主机资源产生拒绝服务攻击.
网络监听
IP协议采用明文传输.
被动监听技术
- 基于介质的报文捕获:Hub
- 基于交换介质的捕获:arp重定向/光纤分流
ARP协议
主要功能:建立IP地址和Mac地址的映射.
实现方式:向所有域内主机发送查询,符合条件的返回应答信息,其他的主机不返回.
攻击方式:发出假冒的ARP应答信息从而重定向数据流或者修改(中间人攻击)
TCP协议
SYN Flood
取消第三次握手的ACK包导致连接长期挂起,占用连接资源导致拒绝服务
应对:
- 半开连接数量检测
- 新建连接速率检测
- 阻断新建连接
- 释放超时连接
- 中间代理防火墙
- 用hash暂时保存半开连接信息
- SYN Cookie
- 判断合法后放行
序号攻击
TCP的信息重组基于序号,如果可以猜测起始序号ISN可以欺骗主机.
- 压制信任主机
- 攻击者连接主机端口,猜测ISN变化规律
- 主机向被压制的信任主机返回SYN+ACK.
- 估算时间向主机发送ACK
- 此时攻击者和攻击目标建立了连接.
TCP序号劫持
使用上述类似的方法猜测***并压制信任主机从而接管会话.
UDP协议
UDP Flood
大量堵塞信道造成丢包
UDP欺骗
没有连接的概念(没有源地址)导致非常的不安全,很容易实施欺骗.
ICMP协议
Dos
针对带宽:发送大量无效的ICMP包
针对连接:伪造ICMP强行终止连接
ICMP重定向
ICMP重定向报文用于优化机器的路由路径.
攻击者利用这种报文重定向机器的路由表,可以伪装成路由器进行监听.
DNS协议
功能:IP-域名的映射
- DNS欺骗
- DNS解析可以省略后缀层次(?)