介绍

在他们具有里程碑意义的1998年论文“插入,逃避和拒绝服务:躲避网络入侵检测”中,1 Thomas Ptacek和Timothy Newsham暴露了入侵检测系统(IDS)的一些弱点。作者表示,入侵检测系统不能有效和准确,因为它们不一定处理,甚至可能甚至不像接收消息的目标主机那样观察网络流量

该缺陷存在于包括IP,TCP和应用层的分组的多个评估和处理层中。作为问题的示例,请考虑具有重叠发送到给定主机的TCP段的流量。由于不同的操作系统具有独特的TCP段重组方法,如果入侵检测系统使用单一的“一刀切”重组方法,它可能不会像目标主机那样重新组装和处理数据包。成功利用TCP重组中的这些差异的攻击可能导致IDS或入侵防御系统(IPS)错过恶意流量并且无法警告或阻止。

TCP重叠段攻击

值得注意的是,多年后,Ptacek / Newsham暴露出的许多问题仍然存在。 TCP重组难题的一个答案是精明的IDS / IPS,它可以识别IDS / IPS保护的主机上的操作系统和应用程序。术语“基于目标”被创造用于识别智能IDS或IPS,其被告知驻留在受保护网络上的主机,并且能够像在主机自身分析流量时分析发送到这些主机的流量。

这并没有解决Ptacek和Newsham所讨论的所有问题,但它确实提高了IDS / IPS的准确性。这可以消除关于无关警报的误报,例如绑定到Unix主机的Windows漏洞。同样,故意损坏的数据包不会欺骗IDS / IPS,因为它会像接收主机那样处理这些数据包。

类似地,重叠的IP片段给IDS / IPS带来了问题,因为IDS / IPS可能不会检查或尊重与目标主机相同的IP片段。然而,管理员可能能够配置IPS以丢弃任何重叠的IP片段。实际上,这应该对合法流量没有任何问题。然而,完全重叠的TCP段可能在正常流量中出现,作为未确认数据的重传。

那么只阻止部分重叠,因为它们可能是逃避企图?即使这不是万无一失的,因为使用TCP选项选择性确认的主机在重新传输它们时可能会“重新打包”多个连续丢失的数据包。如果仅从开始和结束TCP序列号的角度进行检查,这可能表现为部分重叠。这意味着任何IDS / IPS都必须使用与目标主机相同的策略重新组合重叠的TCP段。

开源IDS / IPS Snort已开始使用stream5和frag3预处理器实现基于目标的分析。Stream5能够使用与目标主机相同的策略重新组合重叠的TCP段。用户将Snort配置为针对各个主机或网络应用特定的TCP重组策略。然后,当Snort看到绑定到任何这些主机的重叠TCP段时,它知道要应用的适当重组策略 - 允许Snort和目标主机以相同方式重新组合段。这成功地排除了使用重叠TCP段的规避攻击。

攻击示例

假设IDS具有签名,该签名可警告当攻击者为FTP身份验证提供过长的用户名值时发生的缓冲区溢出攻击。例如,Snort具有以下规则来警告此类攻击:

此规则查找源自受保护网络之外并绑定到FTP命令端口的流量。
当到端口21的已建立的流包含以“USER”的内容开头且在后面的100个字节中没有换行符的有效载荷时,警报将触发。

此外,假设攻击者想要通过发送完全重叠的段来逃避IDS,其中TCP头包含相同的起始TCP序列号,但其有效载荷内容相差一个字符。
原始TCP段包含“USER”的内容;重叠段包含“XSER”的内容。
TCP / IP实现选择将原始段或后续段视为有效段并丢弃另一段。 Windows主机使用接受第一个段的策略,并忽略所有完全重叠的后续段。将后续段视为有效的IDS将错过针对Windows主机的攻击的IDS,因为它看到“XSER”而不是USER的内容。这是重叠TCP段的简单而整洁的说明;彻底分析必须考虑更多的复杂性,例如部分重叠的TCP片段和片段重叠的位置。

参考:《Target-based TCP Stream Reassembly》 Judy Novak, Steve Sturges 2007

像目标主机一样的tcp流重组相关推荐

  1. logstash tcp multihost output(多目标主机输出,保证TCP输出链路的稳定性)

    在清洗日志时,有一个应用场景,就是TCP输出时,须要在一个主机挂了的情况下,自已切换到下一个可用入口.而原tcp output仅支持单个目标主机设定.故本人在原tcp的基础上,开发出tcp_multi ...

  2. TCP流嗅探和连接跟踪工具tcpick

    TCP流嗅探和连接跟踪工具tcpick 由于网络通信协议众多,TCP连接状态众多,所以TCP分析较为复杂.Kali Linux提供一款专用工具tcpick.该工具支持在线实时嗅探和离线文件嗅探.它可以 ...

  3. C++流的streambuf详解及TCP流的实现

    前言 streambuf是C++流(iostream)与流实体(或者叫原始流,文件.标准输入输出等)交互的桥梁 # 文件流 fstream <--> filebuf <--> ...

  4. ping无法访问目标主机 0丢失_预渗透之目标识别

    目标识别 在利用第三方工具(如搜索引擎)获取目标网络的信息之后,接下来就要识别出目标系统里联网的主机,包括在目标网络里搜索在线的主机和鉴定目标机器上安装的操作系统,目标识别有助于后期漏洞映射阶段的工作 ...

  5. python提取数据包中的文件_Python-对Pcap文件进行处理,获取指定TCP流

    通过对TCP/IP协议的学习,本人写了一个可以实现对PCAP文件中的IPV4下的TCP流提取,以及提取指定的TCP流,鉴于为了学习,没有采用第三方包解析pcap,而是对bytes流进行解析,其核心思想 ...

  6. 检测到目标主机可能存在缓慢的http拒绝服务攻击_高防服务器能防住哪些攻击?“流量清洗”与它有什么关系?...

    部分转自网络 因此,很多企业会选择高防服务器来进行抵御恶意攻击,具有防御网络攻击功能的服务器,那么高防服务器能防御哪些攻击呢? TCP洪水攻击: 由于TCP协议连接三次握手的需要,在每个TCP建立连接 ...

  7. 访问服务器显示无法访问目标主机,ip无法访问目标主机

    ip无法访问目标主机 内容精选 换一换 部署任务执行失败,会有可能以下几种原因.问题现象:部署主机已添加入方向规则"允许访问5000以及5001端口",且部署任务执行成功,但无法访 ...

  8. ping问题详解(请求超时,无法访问目标主机)

    我们有时需要进行远程或者共享对方数据库的时候,会ping一下对方电脑,时候能够ping通,时候能够进行数据的传输.有时会出现ping请求超时,那么遇到这个问题该怎么解决? 我们首要解决的是看他自己是否 ...

  9. icmp回复报文_如果目标主机阻塞了,ICMP回显请求报文,我们可以

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:如果目标主机阻塞了,ICMP回显请求报文,我们可以通过类推荐回答:这种机制就是我们通常所用的ping命令来检测目标主机是否可以pin ...

最新文章

  1. java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...
  2. IOS开发笔记12-Object-C中的对象与内存
  3. java的8中数据类型_java 8种基本数据类型
  4. STM32的CAN总线的接收双FIFO使用方法
  5. 【NLP】业界总结 | BERT的花式玩法
  6. OPPO Reno 5G版高调宣布上市时间:已具备上市条件
  7. 我理解设计模式C++实现观察者模式Observer Pattern
  8. 数据库学mysql python_mysql学习(4)python操作数据库
  9. treegrid修改css
  10. 多个dwg文件批量合并_插件分享 | 多张单独内容DWG快速合并到一个文件
  11. 【工具】——远程协助(向日葵)
  12. 2011年中国科学院院士增选初步候选…
  13. 做VR需要UI设计师具备哪些能力?
  14. three.js判断两个向量(角度)夹角误差是否小于某个值
  15. selenium+chrome使用webrtc音频或视频时,默认开启麦克风和摄像头
  16. 冒泡排序及其三种写法
  17. Pycharm debug崩溃、长时间不响应 解决
  18. Snort - manual 笔记(二)
  19. 互联网、因特网以及万维网之间的区别和联系
  20. 急!求各位学长大佬拯救!!

热门文章

  1. Vue之条件渲染v-if和v-show
  2. fedora 20 报错: Loaded plugins: langpacks, refresh-packagekit Error: Cannot retrieve metalink for...
  3. 05MySQL基本操作
  4. 服务器2003系统黑屏怎么办,windows-server-2003 – Windows Server 2003 – 黑屏,光标在启动时...
  5. SplitContainer如何实现左导航,右显示与导航相关内容
  6. oracle delete远程表,用脚本实现表的远程准实时同步
  7. Java 并发编程之可重入锁 ReentrantLock
  8. hdc mfc 画扇形图_canvas画扇形、饼图
  9. IFIX和Historian历史数据曲线图
  10. fat32转ntfs工具无损数据安全转换_干货真香! 无损制作UD三分区教程,新手小白的福利来了...