[NOTE]底层协议安全

基本协议及简述

  • IP:
    1. 无状态
    2. 无连接(不支持上下文)
    3. 不可靠(尽力送达)
    4. 无序(送达顺序不固定)
    5. 支持分片(分片字段)
    6. 路由不固定
    7. 地址由报文头指定
  • TCP:
    1. <localhost,localport->remotehost,remoteport>
    2. 三步握手:SYN->SYNACK->ACK
  • UDP:
    1. 简单的数据传输,没有纠错和重传
    2. 没有序列号机制,支持分片
    3. 开销小
  • ICMP
    1. 控制报文协议
    2. 可以用来探测可达性
    3. 对TCP/UDP产生影响

协议的安全隐患

IP协议

IP地址欺骗

报文头部的IP地址并不能保证是真实IP地址;可以通过伪造源IP进行欺骗

IP路由欺骗

可以在报文头部指定路由,则可以通过伪造IP和指定路由来接受应答数据包.

IP分片攻击
  • 老式设备在接受重组后总长超过65535的碎片时会造成缓冲区溢出
  • 偏移量攻击:Ping O’ Death
    1. Ping包的结构:ICMP头+Max=65507 PING数据
    2. 指定发送碎片偏移量超过65507会引发崩溃(如frag 9@65520)
  • 分片攻击:Teardrop:发送偏移重叠的片段导致处理出错.
    在这里插入图片描述
  • Tiny Fragment 攻击:发送极小的分片绕过包过滤系统:报头分为两个分片;第一个包含目的IP,目的是绕过防火墙建立连接;第二个分片包含禁止访问的目标端口,这样可以绕过针对端口进行封锁的防火墙,因为这种系统多半只会判断第一个分片是否合法.
  • Fragment Overlap:利用偏移覆盖端口.
    1. 在第一个分片声明使用合法端口
    2. 在第二个分片使用重叠的偏移量覆盖端口,造成了非法访问.
  • 分片Dos: 发送一部分分片但不发送完全造成资源等待,从而耗尽路由或主机资源
定向广播攻击

发送目的地为***.***.***.255的报文,等同向网域内所有主机发送(.2~.254),这样可以消耗主机资源产生拒绝服务攻击.

网络监听

IP协议采用明文传输.

被动监听技术

  • 基于介质的报文捕获:Hub
  • 基于交换介质的捕获:arp重定向/光纤分流
ARP协议

主要功能:建立IP地址和Mac地址的映射.
实现方式:向所有域内主机发送查询,符合条件的返回应答信息,其他的主机不返回.
攻击方式:发出假冒的ARP应答信息从而重定向数据流或者修改(中间人攻击)

TCP协议

SYN Flood

取消第三次握手的ACK包导致连接长期挂起,占用连接资源导致拒绝服务
应对:

  1. 半开连接数量检测
  2. 新建连接速率检测
  3. 阻断新建连接
  4. 释放超时连接
  5. 中间代理防火墙
    1. 用hash暂时保存半开连接信息
    2. SYN Cookie
    3. 判断合法后放行
序号攻击

TCP的信息重组基于序号,如果可以猜测起始序号ISN可以欺骗主机.

  1. 压制信任主机
  2. 攻击者连接主机端口,猜测ISN变化规律
  3. 主机向被压制的信任主机返回SYN+ACK.
  4. 估算时间向主机发送ACK
  5. 此时攻击者和攻击目标建立了连接.
    在这里插入图片描述
TCP序号劫持

使用上述类似的方法猜测序列号并压制信任主机从而接管会话.

UDP协议

UDP Flood

大量堵塞信道造成丢包

UDP欺骗

没有连接的概念(没有源地址)导致非常的不安全,很容易实施欺骗.

ICMP协议

Dos

针对带宽:发送大量无效的ICMP包
针对连接:伪造ICMP强行终止连接

ICMP重定向

ICMP重定向报文用于优化机器的路由路径.
攻击者利用这种报文重定向机器的路由表,可以伪装成路由器进行监听.

DNS协议

功能:IP-域名的映射

  1. DNS欺骗
  2. DNS解析可以省略后缀层次(?)
发布了80 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/POTASSIUM711/article/details/104882099