cngate-产品aet课程final高级逃避技术v3_第1页
cngate-产品aet课程final高级逃避技术v3_第2页
cngate-产品aet课程final高级逃避技术v3_第3页
cngate-产品aet课程final高级逃避技术v3_第4页
cngate-产品aet课程final高级逃避技术v3_第5页
已阅读5页,还剩46页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编委会主编:编委:目录前言5第一章 了解安全系统风险5网络执行网络的组成流程了解补丁的作用分层次安全防护第二章 高级逃避技术介绍逃避和高级逃避技术由来逃避和高级逃避技术的概念国际安全组织对“高级逃避技术”的证实高级逃避技术的原理分析逃避技术原理逃避技术分析碎片化协议级负载变换应用层逃避逃避技术实例分析高级逃避技术原理高级逃避技术实例分析高级逃避技术的危害高级逃避技术测试工具介绍910111115151617192024252627第三章 检测与防御311高级逃避技术的检测与防御3131323939404042431.1当前设备中的弱点1.2检测与防御方法AET 防护设计标准AET 防护管理要求

2、取证,事后规范要求国内“抗高级逃避技术”现状“抗高级逃避技术”安全加固方案对 AET 的防护应该是遵循以AET 防护整体解决方案程434444464850现状分析.2数据中心AET 防护整体解决方案全网AET总结监测与信息响应中心安全方案参考文献 (REFEREN)51前言目前逃避技术已经成为对整个IT行业最严重的,网络分子已经转移的方法从以前寻找目标系统的弱点转变到寻找安全防护系统的弱点,利用伪装和的方式绕过安全系统的检测和阻断目标系统。本书将会介绍逃避技术的原理以及逃避技术如何演变为高级逃避技术,高级逃避技术-AET目前可以任何带有深度检测功能的防护系统,包括下一代,防御系

3、统,UTM,WAF 等带有深度检测功能的,通过本书实验课程可以帮助你使用高级逃避技术防护系统。目前的读者通过了解高级逃避技术的危害和应对方法及策略,帮助企业部署反高级逃避解决方案,从而更好的保护企业的数据资产和关键网络架构第一章 了解风险本章会帮助你了解安全环境风险,从的角度上来,如何执行风险,会考虑使用补丁了解到网络包括哪些内容,谁执行,程序修复系统弱点,但是又带来了新的弱点,但是这些方法在AET面前没有任何作用会使用一些方法来阻挡,从的角度上来看,互联网都是可以被的目标,一些目标被很好的保护起来,但是大多数目标很容易被攻陷,目前存在 2 种类型的网络,基于网络和基于主机,以下列出了它们的不

4、同点本书AET主要介绍基于网络层面的,因为 AET 主要是网络层面的,的可以绕过用户防护设备的检查,最终目标系统。1 网络的组成网络通常包括 3 个部分设备:发送网络流量到目标系统,最终控制目标系统类型实现举例防护方式网络通过网络Conficker 蠕虫网络防护设备主机通过主机Melissa防产品防护设备:通常部署在目标系统前端,它的作用是保护目标系统避免遭受到目标系统:可以是任何目标,从正常的笔记本到公司的信息等。服务器,数据2执行网络流程1.收集信息会尝试尽可能全的收集目标系统、目标网络环境的信息,他们可以使用不同段例如WHOIS 数据库,网页和 DNS 信息。他们也会试图接触目标用户,从

5、了解目标系统信息,此外大量的信息收集程序可以被利用来自动的收集目标系统的信息2. 查找弱点很多的资源可以查到不同操作系统应用程序的具体信息可以利用专门的扫描程序探测不安全端口或者查找应用系统架构弱点3. 选择正确的方法选择正确的方法来执行对存在弱点的目标系统的4.会尝试在目标系统执行自己的编译的接到目标系统代码,从而创建可靠的控制连5. 窃取信息可以窃取目标系统有价值的信息,或者使用目标系统作为跳板去的其它目标网络中3 了解补丁的作用如果没有发现目标系统的任何弱点,那么确实他们根本无法执行任何攻击,但是事实上任何操作系统,应用程序,网络系统,数据库都会存在,甚至补丁现在的也会带来新的和弱点。研

6、究表明每千行代码最少存在 3 个bugs,程序会包含几百万行代码,通过代码类测试程序不可能发现所有的错误,IBM xforce分析小组给出了前 10 位的系统,这些系统存在但是厂家根本没有补丁文件可以解决此问题,例如 windows 系统存在 26%的,微软没有解决方案。提供者清楚的知道中存在错误,因此会不断的提供补丁文件进行修复,通常采用手动程序或者自动程序来修复。但是及时有了补丁文件,用户通常也不会马上安装在生产系统上,因为有可能补丁文件会影响运行在生产系统环境中的应用系统,因此通常会先将补丁文件安装才测试系统中,保证没有任何影响后在迁移到生产系统口,但是在这段时间生产系统完全处于没有任何

7、防御的时间窗4 分层次安全防护目前安全厂商防护这些存在次的安全防护方式,他们将IPS的目标系统有多种方法,其中大多数会采用分层防护系统部署在目标服务器前端,实现所谓的虚拟补丁的作用,由 IPS 对所有针对目标系统的进行阻挡。目前有很多种类的防护产品 例如N,IPS,UTM,WAF 等都起到类似的作用。如果有式可以绕过这些分层防御类的产品,那么目标系统将处于极度中,在接下来的章节中,的 AET-高级逃避技术 就是这样的的技术可以绕过这些安全产品的检测直接目标系统,且不会在这些安全防护产品中留下任何日志,无法对此类追踪溯源。第二章 高级逃避技术介绍1 逃避和高级逃避技术由来TCP/IP 是互联网和

8、大多数计算机网络使用的协议集,是根据1981 年发布的RFC 791标准的要求编写的。其中,RFC 提到,“一般而言,设备必须在发送行为上保守一点,在接收行为上宽松一点。也就是说,设备在发送符合语法的数据包时必须谨慎一些,同时接收一切能够翻译的数据包(例如,不技术性错误,只要意思表达清楚、完整)”。这就意味着,编写信息的方式多种多样,而且,接收主机还能一字不差地翻译这些信息。这种宽松的方式原本是为了提高系统间的互操作性,但它同时也为大量提供了隐蔽的来逃避检测。逃避技术研究始于1990年末。早在1998 年,Secure Network 公司的TimNewsham 和ThomasPtacek了有

9、关如何IDS/IPS 的技术文章、逃避和服务:避开网络检测,介绍了大量可有效躲避检测系统的技术。自那时起,该领域的新研究一直很少,感的也仅限于安全解决方案提供商或社区。书中介绍的基础逃避技术之一集中于IP碎片带来的。采用IP碎片逃避技术,者会充分利用无序拼凑碎片,或通过大量碎片来淹没IPS。他们最后得出结论,IDS和IPS架构必须能有效处理目标系统可能采用的所有碎片重组方式,也就是说IPS必须能应对所有的可能性。逃避技术是用于网络的式,以规避NIDS(NetworkruDetection Systems)系统的检测和。通常NIDS的检测能够的内容,逃避技术使网络者能够将该传递到一个脆弱的系统,

10、而不被NIDS检测到。高级逃避技术出现在2010年,研究发现逃避技术目前已经演变为组合的逃避技术,并且可以在任何级别的TCP/IP栈上运行,可是动态的、不和常规的、没有数量限制,传统检测多种协议或协议组合。AET无法检测。2 逃避和高级逃避技术的概念逃避技术是传递方式的改变,是一种通过和 / 或修饰网络(恶意,等)以躲避系统的检测和段。利用逃避技术,高级的、怀有目的的网络分子对具有的系统进行。通常这些带有内容的会被IPS检测出并被,而高级的逃避技术会将内容的隐因此不会被安全系统检测到。目前的安全系统对这些逃避技术束手无策,就像战斗机可在和其它防御系统检测不到的情况下发起攻击。而高级逃避技术是一

11、种新品种的逃避技术可以结合或者变更或者以任何顺序来避免安全系统检测。高级逃避技术的本质是,动态的,非常规的,几乎的,通过传统的检测方法不能被确认。他们可以工作在TCP / IP栈的各个层面以及许多协议或者协议的组合。新增的高级逃避技术是呈指数增长,从而对信息安全产业与世界各地安全组织创造一个永恒的、不断变化的。这些组合的逃避技术发现能轻易地逃避IPS的检测以及告警。同时,通过测试发现很多Gartner靠前的IPS设备以及设备同样能轻易逃避不留任何痕迹,于是统称这一类的逃避技术为高级逃避技术(AET)2010年,高级逃避技术(Advanced EvaTechniques, AETs),也称高级隐

12、遁技术、躲避技术,最初被定义为“在基于网络的过程中,允许者规避或绕过安全检测的任何技术”而更宽泛的定义包括那些被认为琐细的任何技术,这些技术利用附加的技术(例如,改变执行时的利用代码,在多个协议层应用逃避技术,或者设计特定于目标的定制逃避),以增加了逃避的复杂性,同时增加检测的效率和计算代价。高级逃避技术,具有以下的属性:网络的方法,该方法可以绕过网络NIDS系统的检测;以高度的方式传输载荷,甚至在期间也可以动态改变;利用极少使用的协议属性;使用不常见的组合,可以有大量的逃避组合,可以通过在多个协议层上同时执行;构造特定的网络通信,该网络通信严格的协议规范;利用等。技术上和检测上的限制:内存容

13、量,性能优化,设计缺陷3 国际安全组织对“高级逃避技术”的证实Gartner 观点Gartner 认为,尽管AET 是对现有种类的延伸,而不是全新的,但它们确实存在。用户是独立测试证实许多,尤其是IPS 都无法有效应对自1997/1998 年发布的传统的逃避技术。逃避技术此时的演变只是加大了“事态”的发展。Gartner 相信,许多安全解决方案提供商可对产品进行升级,以应对的逃避方法,但有些提供商不能做到这一点。就其本身而言,逃避技术并不是利用程序。任何者都需要验证可攻击目标主机运行利用程序。如果主机未修复或联机防御机制(IPS/N)没有正确的签名,利用程序就会成功。如果IPS/N有针对利用程

14、序的签名,那么就可有效该行为。这就是高级者开始考虑使用逃避技术的原因。一旦发现利用程序被,者随后仍然会使用相同的,但利用一种或多种逃避技术利用程序,使其不会被IPS/N检测引擎识破。这类通常都会奏效,因为许多IPS 引擎甚至无法抵御最基础的逃避技术。4 高级逃避技术的原理分析4.1 逃避技术原理企业中IDS /IPS 应用非常广泛,用它们可以网络中的一些可疑事件,传统的IDS/IPS会有事件对比的特征库,当事件匹配时会产生警告并且日志,有很多方法可以逃避IDS/IPS的检测,例如:可以使用未知的或者通过和修改方式来隐藏从而IDS/IPS的判断。通常IDS/IPS工作模型会分为3个层次信息资源层

15、(InformationSource)分析层(ysis)响应层(Response)每一层的失效都会导致IDS/IPS 无法检测到, 逃避技术主要是触发IDS/IPS 分析层失效,在响应层 误报率也是另外一种逃避段,有可能并没有完全被IDS/IPS设备检测出来,但是IDS/IPS却触发了不是很严重的告警,这种告警也许被管理员忽视掉。以下重点逃避技术如何通过和修改方式导致IDS/IPS分析层失效1990年就已经发现了逃避技术,这些技术包括将数据分散在多个数据包进行传递,有的时候可以先发送一部分数据包,等待IDS/IPS缓存过期后再发送第二部分数据包,这样IDS/IPS设备并不能记住每一个通过的数据

16、包,从而并不能有效地重新组装属于同接的数据包,因此不能发现隐藏的或者。数据包分段是一种简单的方式来基于特征检测的IPS/IDS。比如 可以通过分段HTTP请求,并且通过可选的字符编译HTTP请求, 最终目的是IPS/IDS的检测。可以通过以下的逃避例子来更好的理解可以看一下正常的HTTP REQUEST正常的HTTP REQUEST 在会话建立后只是在一个数据包传递,可以使用以下逃避方式来隐藏HTTP exploreHTTP分段逃避:更小的数据包分段,将特征分散到多个数据包,这就需要IDS/IPS能够执行TCP流重组从而可以检测出下图是3部分8字节的分段数据包其实相似的结果可以在IP层实现分片

17、数据包,但是对于IP 分片IPS/IDS非常容易检测出来,分片数据包可以通过检测数据包头来发现,检测应用层分段需要IPS/IDS 有能力执行应用层上下文检测。数据包之间的数据逃避:后一个数据头和前一个数据包尾部,IDS/IPS如何去控制部分为了使数据包重组过程更加复杂,数据分段部分可以包括部分,下图可以看到7字节的分段数据包同时也包括1个字节的部分,每一个分段的最后一个字节也是下一个分段第一个字节,由于每一个数据包的序列号是正确的,因此目标系统可以正确的重组数据包,从而会遭到无效字符逃避:添加至少一个字节的字符在每一个数据包头前,这些自由字符是无效的通常是被目标主机忽略的,但是会在分析层面上I

18、DS/IPS识别能力下图显示 存在4字节的字符在数据包头前,这些无效的字符通常会被目标系统丢掉,但是却可以IDS/IPS。改变分段数据包的排列顺序逃避:这需要IDS/IPS有能力为数据包进行正确的排序以上举例的这些单个逃避技术通常来说可以被目前某些基于协议分析的IPS/IDS 能够检测出来,但是发现这些单个的逃避技术是可以混合加载的,目前发现了几百种单个逃避技术,这些逃避技术在不同的维度相互组合可以有效地逃避IPS/IDS的检测,称之为高级逃避技术,目前高级逃避攻击存在于TCP/IP协议集中的 每一层次,并且不同层次的逃避技术可以混合起来同时加载,高级逃避技术可以多个协议层或者多个协议层联合4

19、.2 逃避技术分析4 类常用的技术可以逃避 NIDS 的检测:(1)碎片化,(2)协议级(3)负载变换,和(4)应用层逃避。介绍这 4 类技术如下:,4.2.1 碎片化碎片化,包括 IP 分片和 TCP 分段,将 IP 数据报或 TCP 流分割为分片或分段。NIDS 监视经过它的所有网络交通,理想情况下,NIDS 必须重组交通中所有的 IP分片和 TCP 分段,才能检测到潜在的。为达到逃避 NIDS 检测的目的,者可使用涉及到碎片化的两种著名的技术。第一种,尽可能使用最小的 IP 分片或 TCP 分段发送数据,以确保单个的分片或分段不会匹配任何 NIDS 特征模式。如果 NIDS 不能完全重组

20、这些 IP 分片或 TCP 分段,以恢复原始的内容,那么 NIDS 可能会忽视嵌入在该内容中的 。例如,一个 NIDS 可能会在数据包的负载中寻找一个特征 ATTACK,但是者能够故意将带有该特征的负载分割为 2 个段,一个含有 ATT,另一个含有 ACK。如果 NIDS 不重组这两个分段,在任意一个分段中,将不能够找到该特征,从而攻击者能够规避 NIDS 的检测。第二种,的 IP 分片和 TCP 分段的解释可能是模糊的,当不同大小的分片或分段,乱序到达并在位置上是相互时,就会发生 IP 分片或 TCP 分段重叠,这会导致新数据旧数据。如果 NIDS 和端点系统处理重复/的分片或分段的方式不一

21、致,给定一个分片或分段流,接收同样分片或分段的 NIDS 和端点系统可能会重组出完全不同的IP 数据报或TCP 流。根据操作系统的不同,分片或分段中的数据,依据其位置,在端点系统的重组方式也会不同。在一些情况下,操作系统的协议栈会使用新的数据,另一些情况下会使用旧的数据(如图 1 所示)。例如,假设一个 TCP 分段包含了序列号 40 和内容 ATTA,第二个 TCP 分段包含了序列号 45 和内容K,在同一连接中的第三个分段包含了序列号 44 和内容 CH。端点系统在接收这些 TCP 分段的时候,将根据端点系统操作系统,解释分段中的数据为 ATTACK 或者 ATTACH。表 15给出若干不

22、同操作系统是如何解决 IP 分片的。表 25给出对TCP 分段不同操作系统的解决方式。除非 NIDS 知道端点系统运行何种操作系统,否则 NIDS不能精确重组数据流。一个者因此能够利用该模糊性逃避检测。理想情况下,针对这种模糊性,管理员可以配置策略,以设置网络中每个主机操作系统将如何解释数据包,于是 NIDS 能够一致地解释收到的数据包。手动配置是容易出错的,于是文献11中提出一种活跃方法,以活跃地测试每个主机,并生成策略。但是,若干将增加实践中这种的复杂性。例如,由于使用 NAT 和 DHCP,IP 地址与主机不是一一对应的。同时由于的滤,或当通过路由器的交通量是很高的时候,在中间路由器上不

23、可预期的包丢弃,活跃测试有可能不精确。送带有错误校验和的数据包。NIDS 会接收该数据包,但是大多数主机不会接收并处理该数据包。接着,者发送带有正确校验和的数据包,该数据包带有的负载内容。对于NIDS 而言,该数据包是一个重复的数据包,所以会忽视该数据包,但端点主机会接收并处理这个带有负载的数据包。技术前提是,者利用对者需要知道网络的拓扑结构。图 212示例了该Time-To-Live技术的工作过程。网络拓扑的了解,通过在 TCP 数据包中使用小的 TTL标志(在图 2 中的 X),发送仅仅能够到达 NIDS 的数据包,而该数据包在到达目标主机之前已被丢弃。通过发送带有大 TTL 标志的数据包

24、,者确保该数据包到达目标主机。因此,如果 NIDS 不能够数据包是否将到达目标主机,NIDS 将不能够如目标主机一样地重组数据包,并看到同样的内容。多态 Scode,多态代码可以持续变异,但保持同样的功能和输出;压缩,当压缩数据在网络上传输时,NIDS 应用特征匹配将相当;路径模糊化,通过绝对路径、相对路径、符号配常会涉及特定的路径。,以模糊化特定的路径,而特征匹表 4TCP逃避13Tab. 4 TCP evas逃避名称描述TCP 在SYN 后发送假FIN在TCP 连接中的SYN 后,发送一个在窗口外的FINTCP 在syn-sent-s发送假ACK TCP ChaffTCP 初始序列号e当T

25、CP 套接字在SYN-SENT 状态时,作为所收到的SYNACK 的响应,发送一定数量的坏的ACK发送重复的带有已损害的头的TCP 数据包,以迷惑检测设置TCP 套接字所用的初始序列号为 0 x修改初始TCP 时间戳ff-nTCP 时间戳选项设置TCP 多段关闭TCP 拥塞避免 关闭TCP 快速重传 设置TCP 重传数量和 TCP 用户时间超时 TCP 段顺序TCP 段TCP PAWS 清除对每个正常TCP 段,增加非标准的有效的TCP 段关闭TCP 拥塞控制关闭TCP 快速重传设置TCP 重传数量和以秒计数的TCP 用户时间超时,当以上任意一个满时,重置TCP 连接。改变TCP 段的顺序发送

26、的TCP 段发送重复带有旧时间戳的TCP 段,目标系统协议栈中的 PAWS 将会清除该额外的TCP 段修改TCP 套接字的接收窗口,用于强制另一边的主机发送小的TCP 段设置TCP 套接字的MTU,用于创制非标准的TCP 段TCP 接收窗口TCP 分段TCP 等待时间TCP 时间戳echo reply修改TCP 紧急数据在实际的前,从同样的TCP 原端口,打开修改TCP 时间戳选项echo reply 域TCP 连接在TCP 段中增加紧急数据对以上各具体技术的详细技术,在此仅研究编码和多态 S第一种,编码变换是指一个已超出本文范畴,可参考蠕虫code 两种负载变换逃避技术。通常采用的反逃避者将

27、的数据包负载编码,转化为语义上相等的负载。转化后的负载看起来不同于 NIDS 预期的特征,于是能够逃避 NIDS 的检测。由于编码前后负载的语义是一样的,仍然对受害者有效。例如,在 HTTP 请求资源定位符(UniformResource Identifier, URI)中的一个,可以将其转换为若干个变异的表达式,该表达式使用libwhisker 库14。该转换可以是 URI 十六进制编码,自目录,反向遍历目录等,以若干种语义上等价的形式表示 URI。用 URI 的十六进制编码作为一个例子。如果请求中的目录名 cgi-bin 被编码为%63%67%69%2d%62%69%6e,如果在 NIDS

28、 检测之前,变异的表达式没有被规范化为cgi-bin,检测特征 cgi-bin 将会失败。像用于重复的规范化,用于负载变换的规范化也可能是模糊的,因为目标主机可能根据应用,以不同的方式处理内容。例如,一个 Apache Web 服务器不接收反斜线作为合法的斜线,但是微软 IIS 服务器接收。因此,管理员必须配置 NIDS 以理解目标主机上的应用,并同目标主机一致地第二种,多态 S应用负载。code,多态是指以多种形式存在的能力。也就是说,利用变异算法处理 Scode 数据(即,用于利用的一个代码片段),那么可以得到一个具有相同功能的,但形式上完全不同的代码片断。Scode 变异将 scode

29、编码为多态的形式,以规避 NIDS,NIDS 根据某个 scode或其变种中抽取的特征,检测 scode。若干种方法可达到多态的目的。例如,一个者能够加密或压缩 scode,预置一个代码片段以或解压缩在利用代码中的scode。者也能够以不同的,但语义上相等的指令,替代原始的代码。例如:nop 指令,即空操作,以使代码看起来不同。一个指令,比如 mov eax, ebx,能够用 push ebx和 pop eax 两条指令替代。在多态形式中,scode 的特征将不会出现,因而 NIDS 不能检测到该 scode。多态 Scode 技术也应用于程序,例如和蠕虫。文献15中的作者提供这类逃避技术的综

30、述。由于有太多的方式改变一个 scode, NIDS 检测多态代码特别。NIDS 可能需要解密已加密的代码以恢复原始的特征,或者甚至需要模拟代码的执行(例如,在一个沙箱中模拟在目标主机上执行代码),以发现的行为。因此,恢复 scode 语义的任务计算上代价是高昂的,并且加重了 NIDS 的负载。4.2.4 应用层逃避研究通过研究在应用层特定协议中的逃避和技术( 例如, HTTP161718 ,NetBIOS/SMB,MSRPC),将 Ptacek 和Newsham 的工作5进一步扩展。超文本传输协议(HyperText Transfrotocol, HTTP)是互联网上应用最为广泛的一种网络协

31、议。设计 HTTP 最初的目的是为了提供一种发布和接收HTML 页面的方法。通过 HTTP 或者HTTPS协议请求的资源由资源标识符(Uniform Resource Identifiers,URI)来标识。Rain Forest Puppy在文献16中,阐述了 Whisker 所使用的 HTTP 逃避,其目标是将一个请求模糊化,以迷惑 NIDS,但是 Web 服务器HTTP 相关的逃避。能够理解该请求。Daniel Roelker18解释了 URI 相关的逃避。表 513总结了表 5HTTP 逃避13Tab. 5 HTTP evas逃避名称描述HTTP 头linear whitespaceH

32、TTP 已知用户以一定概率将HTTP 头中的空白符改变为LWS将用户设置为常用的HTTP 用户等)(Firefox,ernet Explorer, OperaHTTP 请求线分隔符 HTTP 请求方法 HTTP 管道化请求 HTTP 绝对URLHTTP 假路径HTTP URL 编码HTTP 请求版本修改HTTP 请求线分隔符修改HTTP 请求方法(例如:GET,T,O, SMTP HELO 等)在之前发送额外的管道化HTTP 请求将相对URI 改变为绝对URLs在URL 中增加假路径编码URL 中的字符设置使用的HTTP 版本号网络基本输入输出系统(Network Basic Input/Ou

33、tput System, NetBIOS),它提供了 OSI 模型中的会话层服务,让在不脑上运行的多个程式,可以在局域网路中,互相交互,以及共享资源。NetBIOS 相关逃避如表 613所示。服务器消息区块(Server Message Block, SMB) 19,作为一种应用层网络传输协议,主要用来使得一个网络上的机器共享计算机文件、供认证的进程间通信机能。SMB 主要用在装有、串行端口和通讯等资源。SMB 也提Windows 的机器上,在这样的机器上被称为Windows Network。SMB 相关逃避如表 713所示。表 6NetBIOS 逃避13Tab. 6 NetBIOS evas

34、逃避名称描述NetBIOS chaffNetBIOS 初始chaff发送额外NetBIOS 数据包,以打断数据包流当建立NetBIOS 连接时,发送额外NetBIOS 数据包表 7SMB 逃避13Tab. 7 SMB evas逃避名称描述SMB chaff发送额外无效的SMB 消息,以检测SMB树在每个正常的SMB 写之前,进行额外SMB 写,即,打开额外的带写的SMB 树在SMB NT Create AndX 方法中所使用的树名,将其模糊化随机化SMB 标志随机化SMB 消息中的保留字节设置写入到单个SMB 写中,最大的字节数SMB 文件名模糊化 SMB 随即标志 SMB 保留字节 SMB

35、写碎片化SMB 的WriteAndX 填充在WriteAndX 头和载荷之间,额外填充微软过程调用(Remote Procedure call, MSRPC)是微软公司对 DCC 机制的实现。MSRPC 目前已经被广泛地应用在分布式处理环境为主机之间相互通信的协议20。MSRPC 能够在 TCP、UDP、SMB 或 HTTP 上传输。MSRPC 相关逃避如表 813所示。表 8MSRPC 逃避13Tab. 8 MSRPC evas逃避名称描述MSRPC 大端MSRPC 分片组合MSRPC 修改 NDRMSRPC 请求碎片化强制以大端字节序发送将MSRPC 分片组合为一个下层的分段,以发送不依赖

36、于字节顺序,修改MSRPC 的 NDR 域设置写入到单个MSRPC 分片中,最大的字节数4.3 逃避技术实例分析有效载荷-Obfuscating attack payload通过不同编码编译的有效载荷,目标系统能够但是 IPS/IDS 无法这些编译过的有效载荷,例如:使用 Unicode 来编译包,但是 IDS/IPS 无法识别,IIS web server 可以,举例:MSPRC 应用程序存在 big-endian 编码属性,当改变为 big-endian 编码格式后,字节顺序将会颠倒数据包分片技术一些基本逃避方式是分割包为多个小的包,需要 IDS/IPS 重组分片数据包来检测,如果分片数据

37、包可以被 IDS/IPS 检测,还可以进一步修改分片数据包的排序,或者增加数据包部分使重组过程复杂化,从而增加IDS/IPS 检测的难度,还有一些逃避技术可以在发送部分数据包后,等待IPS/IDS 缓存过期再去发送第二部分淆目标系统举例:CVE-2008-4250包,IPS/IDS 简单数据包重组过程,但是不会混加载了组合逃避后的包TCP segments with 2 bytes of payload.SMB writes wit most 32 bytes of payloer message.解释:TCP segments with 2 bytes of payload.通过查看 TCP

38、 FLOW, 可以看到在 TCP 层存在 2 字节的分段SMB writes wit most 32 bytes of payloer message.可以通过搜索 SMB 协议,看到在 SMB 层存在 32 字节的分段数据包分段数据包分段技术是通过修改数据包的 TCP 序列号来实现,例如第一个数据包 80 个字节,第二个数据包序列号是从第 76 个字节开始的,当目标系统重组 TCP 流的时候就需要决定如何去处理 4 个字节。这就需要 IPS/IDS 能够处理部分的数据包.TTL 修改通过一些使IDS/IPS 可以看到一些数据包,但是目标系统确没有收到数据包,例如可以修改数据包的 TTL ,使

39、一部分数据包到达 IDS/IPS 时候丢弃。从而导致IDS/IPS 和目标系统的状态不一致,称之为状态同步破坏TCP Time Wait打开然后关闭 TCP 连接,再使用同一协议和端口打开一个新的 TCP 连接.根据TCP RFC 标准, TCP cnt 重新使用同一端口之前必须等待一段时间如果使用自己的TCP/IP 协议集, 他可以打开然后关闭 TCP 连接,然后使用同一个端口快速建立一个新的 TCP 连接, 新的连接会被传统的IPS/IDS 放行,这就要求IPS 需要能够熟练控制新的连接举例:参考数据包截图Frame3Frame5TCP 连接建立,使用 29522 端口连接 445 端口F

40、rame6 Frame7 发送一些的字节信息Frame8-Frame10TCP 连接关闭,此时目标系统端口进入TIME Wait 状态, Frame11-Frame13新的 TCP 连接使用相同的 29522 端口连接目标系统,续执行继TCP Urgent Poer利用目标系统和IPS/IDS 对于TCP Urgent Poer 不同的理解。目标系统可以忽略添加的TCP Urgent Po字节,但是却可以IPS/IDS 的检测er例如:(P 是 urgent data)TCP Stream:xffP S M BIPS 看到的结果:(不是协议xffP S M BSMB,因此不会用 SMB 协议检

41、测方法进行检测)Windows 看到的结果: xffS M B以忽略 urg 位,识别 SMB 应用,(但是windows 可到)4.4 高级逃避技术原理高级逃避技术可以是逃避技术的组合,可按任何顺序改变或重新组合,从而避开安全系统的检测。从本质上讲,AET 是动态的、不合常规的,没有数量限制,传统检测无法检测。AET 可在任何级别的 TCP/IP 栈上运行,可多种协议或协议组合。例如MSRPC 应用程序的可以利用IP 、TCP、SMB、MSRPC 每一个协议层次的逃避技术组合即高级逃避技术来进行的检测,安全防护系统MSRPC 协议栈高级逃避技术的数量级别是非常庞大的,下图显示每一个协议层可以

42、实现逃避技术的数量,IP 层存在 6 种逃避技术,2 种组合逃避技术为 64 种,TCP 层存在 16 种逃避技术,2 种组合数量级为 65536 种,每个协议层之间也可以进行组合,最终形成的高级逃避的数量级别可以达到上亿种。也就是说对于一种可以的方法达到上亿种。因此 AET很难被现在完全检测出来高级逃避技术实例分析4.5MSRPC 应用缓冲溢出利用 Windows 系统的 MS-08067获得 Windows目标机的最高管理员权限,普通的数据包如下:5 高级逃避技术的危害高级逃避技术造成的危害最主要的是来自于可以利用这种类型的技术获取到资产但是却不留下任何痕迹。这就给企业带来了无形的压力,担

43、心一旦发生高级逃避技术却不知道如何查找来源以及者的。随着高级逃避技术使用的出现,完整的一系列APT可以完全不会被检测出来。通过高级逃避技术隐藏的APT可以导致资料,财务数据或者知识的泄露。一旦某些政治力量获取了高级逃避技术也可能造成不同力量之间的为目的的行为。高级逃避技术对企业造成的危害1) 品牌信任用户数据关键数字资产商业数据2) 合规遵从性敏感信息关键网络架构3) 业务连续性高级逃避技术都可以破坏它们!6 高级逃避技术测试工具介绍CNGate-TES高级逃避技术测试工具是针对现有网络中的(包括防火墙、IDS/IPS、WAF等),通过高级逃避(AET, Advanced EvaTechniq

44、ues)段来检测、审计现有设备防御功能的一个系统。高级逃避技术测试环境包括CNGate-TES(高级逃避模拟机)和高级逃避模拟目标机两部分。待检测的设备串联在CNGate-TES和目标机之间,CNGate-TES通过高级逃避段来避开待测设备的检查,达到控制目标机的目的。在此过程中,通过查看设备的反应(警告、等),来检测审计该设备对高级逃避的防御能力。CNGate-TES通过的图形化操作界面,提供高级逃避技术组合测试。CNGate-TES包括针对CVE-2008-4250/CVE-2004-1315/CVE-2012-0002供给以及针对这些的各种组合逃避技术,从IP、TCP、NetBios、S

45、MB、MSRPC、HTTP等各层都有自己相应的逃避技术。各个层之间的逃避技术可以互相叠加组合,同一层内的逃避技术也可以互相叠加组合。CNGate-TES 支持一些逃避技术列表第三章 检测与防御1 高级逃避技术的检测与防御1.1 当前设备中的弱点对于最终用户组织,存在两个关键问题:为什么众多安全供应商都无法提供有效的逃避防护?为什么不能使用静态特征库检测方式解决此问题?就在于目前设备流量处理、检查和检测方法的局限性。许多 IPS 设备都是面向吞吐量且无法执行完整的规范化。在执行有效载荷检查之前,应能对每个协议层的数据流量进行 100% 的规范化。大多数现有的都是专门设计用于在干净(模拟)网络中优

46、化内联吞吐量性能,而复杂的且难以检测的从来都不以此为目标。因此,使用快捷方式且仅执行部分规范化和检查。例如,TCP 分段处理非常有限,且仅适用于选定的协议或端口(如果在默认情况下没有禁用)。逃避可以有效地利用它们规范化和检查过程中的这些弱点来进行。基于报文段或伪报文的检查应能够检查恒定数据流,而不是报文段或伪报文。这是一个非常难以改变的基本设计问题。尤其是对于基于硬件的产品,重新设计需要大量的研发经费。基于数据流的检查需要内存和CPU 容量以继续有效实现吞吐量。对许多供应商来说,这是一项“不可能完成的任务”且需要以牺牲检查范围为代价。逃避技术通过将蔓延至报文段或伪报文边界来逃避检查。基于静态特

47、征库匹配方法基于静态特征库匹配能实现部分逃避处理,但是逃避技术组合是一个天文数字,它不可能通过基于利用的面向分组的方法,按照需要为每个逃避组合创建签名。这些弱点解释了为什么众多先进的 IPS 设备无法有效地防御通过逃避技术的。当通过高级逃避技术测试工具随机挑选的高级逃避技术进行测试时,结果显而易见:这些设备无法检测高级逃避技术。1.2 检测与防御方法检测和防御方法主要包括:从IP 层到应用层逐层的合规标准化检测(Normalization)协议(Protocal Decode)以及DFA(Deterministic Finite Automation) 确定的有穷自动化模型注释:以下可以帮助你

48、更好的理解DFA 和 NFA 的编译模型:正则表达式引擎分成两类,一类称为 DFA(确定性有穷自),另一类称为 NFA(非确定性有穷自)。两类引擎要顺利工作,都必须有一个正则表达式和一个文本串,一个捏在手里,一个吃下去。DFA 捏着文本串去比较正则式,看到一个子正则式,就把可能的匹配串全标注出来,然后再看正则式的下一个部分,根据新的匹配结果更新标注。而 NFA 是捏着正则式去比文本,一个字符,就把它跟正则式比较,匹配就记下来:“某年某月某日在某处匹配上了!”,然后接着往下干。一旦不匹配,就把刚吃的这个字符吐出来,一个个的吐,直到回到上一次匹配的地方。DFA 对于文本串里的每一个字符只需扫描一次

49、,速度比较快例如用正则式/perl|perlman/来匹配文本 perlman book。如果是NFA,则以正则式,手里捏着正则式,眼睛文本,一个字符一个字符的吃,吃完 perl以后,跟第一个子正则式/perl/已经匹配上了,于是在案,往下再看,吃进一个 m,这下糟了,跟子式/perl/不匹配了,于是把 m 吐出来,向上汇报说成功匹配 perl,不再关心其他,也不尝试后面那个子正则式/perlman/,自然也就看不到那个更好的了。如果是DFA,它是以文本,手里捏着文本,眼睛正则式,一口一口的吃。吃到/p/,就在手里的上打一个钩,记上一笔,说这个字符已经匹配上p了,然后往下吃。当看到 /perl

50、/ 之后,DFA 不会停,会尝试再吃一口。这时候,第一个子正则式已经山穷水尽了,没得吃了,于是就甩掉它,去吃第二个子正则式的/m/。这一吃好了,因为又匹配上了,于是接着往下吃。直到把正则式吃完,心满意足往上说成功匹配了 perlman。AET 检测基于DFA 编译模型,每一个特征都是通过规则表达式来表示的,而且是以文本,匹配规则可以实现准确,快速。分片重组(Defragmenion)TCP 流处理以及重排(TCP stream handing and reordering)更集中在检测应用级别的数据流中的IP 和TCP 层的检测,而不是像其它 IPS/IDS 集中在在 IP 和 TCP 层可以

51、使用独有的方式重建数据流,做法是通常是让正常的 IP分片包和TCP 分段数据包通过,但是存在和的数据包会被丢弃,这种流量合规化的方式可以更好的还原被IPS 放行的网络流量,因此正确的数据流可以在IP 和TCP 层进行正确的重组后在送到上一层协议进行检测。提供检测服务的必须与目标主机看见的信息的签名相匹配,它们不能单靠逐包检查网络流量。同样,单靠采用正确顺序放置数据包,并重组碎片也是远远不够的。必须站在目标系统的角度上来重组碎片在应用层上,需要在数据流中识别协议元素,采用并行检测的处理机制来检测这些协议,依靠的还是协议的合规化检测,例如,对于压缩的 HTTP 检测需要先做解压缩,对于 SMB 协

52、议又是分别进行检测的。数据流中的协议识别加上协议层的分析和协议的合规化检查,使安全产品可以更好的执行深度包检测以下举例如何在不同的层次上执行协议分析和合规化检查IP在IP 层传输的单元是datagram ,IP 数据包中包括源地址和目的地址, IP 层并不能保证数据报文可以安全抵达目的地,任何可靠的特性必须在协议栈上层执行。当网络链路的最大传输单元小于IP datagram,IP datagram 必须分成很多IP分片,IP 分片需要进行重组与合规化检查。收集 IP 分片,丢弃掉畸形的和的IP 分片,当所有属于同一个 datagram 的分片收齐后在去转发它们。TCPTCP 提供面向连接的可靠

53、的数据传输,一旦连接建立,一端需要写数据,另外一端接收数据,TCP 协议在TCP 分段中封装数据流(包括IP到数据的时候,需要接收者确认,如果发送者没有收到确认datagram),当收者会过一段时间重传数据TCP 分段排序是可以乱序的和重复的,有的时候为了能的,发送者可以发送很多段数据不会等待确认信息。 TCP 通过调整Windows size 可以提供流量控制的方式,识别出接收者可以允许接收的数据量TCP 流重组需要TCP 连接中传送的确切内容,在进行 TCP 数据流重组和检测,为了的TCP 分段的逃避技术,TCP 分段会先被缓存起来直到目标主机确防止基于认过这些分段,这种方法是消耗内存的,

54、 因此对于每接需要缓存大约等于 TCPWindows Size 的数据,需要是 64 位的设备可以有很高的性能保障TCP 资源控制IPS 设备有自身资源的限制,每一个 TCP 连接需要接装态并且包括一定数量的TCP 分段,为了管理 IPS 资源的使用性能和资源利用的平衡,保证检测的质量采用折中的方法保证IPSTCP 连接存在是可能会允许传送大量的Windows sizes.还有 TCP需要通过缓存大约等于分段需要缓存起来直到被目标系统确认, 因此Windows size 的数据能够检测出的有的TCP 分段数据通常有 2 种主要的方法来控制TCP 流: TCP 严格模式和TCP 正常模式TCP

55、严格模式在 TCP 严格模式下,需要强迫 TCP 分段要按照顺序通过,如果存在错误的分段顺序,这些乱序的分段数据会先被缓存起来,清除掉不可靠的 TCP option 位,然后去执行TCP 数据流的数据重组和检测。TCP 正常模式在TCP 正常模式下不会要求TCP 分段一定要按照顺序排序,如果分段数据没有排序,没有排序的 TCP 分段会被允许通过,但是同时也会存放在内存中,当下一个分段数据包出现的时候,需要重建数据流检测连接,如果检测出攻击,TCP 分段会被丢弃,连接会被中断,对逃避的需要重新排序 TCP分段,同时TCP 分段需要足够的内存。Urgent dataTCP 包括一个机制可以标记出数

56、据流中的 urgent数据流中urgent data 结束点的位置信息,data ,在 TCP 包头会包括依照IETF 标准,TCP urgent 机制是简单的在数据流中标记一个点,而应用程序在处理数据前会跳过此标记点,但是 urgent data会存在于应用程序中,实际上目标系统和IPS 对于TCP urgent data 理解是不同的,目标系统可以忽略掉urgent data 但是IPS 却会控制urgentdata,尽管 urgent 模式很少被使用但是仍旧可以利用它来实现逃避,要求在发现 urgent位使用的时候中断连接,另外可选的方式是在TCP 分段中清除URG 位和urgent p

57、oersSMBServer Message Block (SMB), 是应用层的协议主要是用来提供文件共享,打印,串口,和不同种类节点之间的通讯,需要对于读写操作的 SMB 层文件可以通过完全匹配上下文来检测,Windows “named pipes”可以使用 SMB 来传递 MSRPC 请求,会自己分析 SMB 层数据流,一些 SMB 层的读写内容的数据包分段会被重组起来从而进行MSRPC 分析,每一个 SMB 连接可以分别来进行分析检测。MSRPCThe RPC (Remote Procedure Call) 工作方式是允许应用程序可以无缝的调用进程,有大量的可以利用 MSRPC 和 Wi

58、ndows 服务,MSRPC 可以在TCP, UDP, SMB , HTTP 上进行传输。RPC 消息的分片可以被用来作为方法来隐藏,要求安全产品可以重组 MSRPC 请求,为了应用正确的识别,安全产品需要协议的执行和提供系统必须的服务信息(object UUID,opnum field, endianness)并且请求有效载荷数据,需要明确的如改变中间连接的 endianners一些逃避技术,HTTP对于 HTTP 协议的处理,要求会协议的执行,协议分析和验证可以用来检测出一些新型的和逃避行为此外可以提取HTTP 部分信息,例如包头信息和URLs 请求,可以分别用匹配上下文的方式进行检测,可

59、以通过合规化方式来处理这些特定的部分,例如 URLs需要和重新编码成为合规化的格式,已经编码的内容会在识别之前进行,URL 参数中的HTTP Request 和片。T BODY 可以对付HTTP 层的分集中化管理企业会部署大量的 Firewall, IPS,UTM,WAF 集中化的管理可以有效地的抵御的,没有集中化的管理,像简单的升级和规则的改变都是需要手动操作,耗费时间甚至受到人为的影响,Gartner 评估的结果是,超过99%的安全是错误的配置导致的。通过使用强大的集中管理工具,管理员可以非常容易的整个网络的安全状态,当网络发生,集中管理可以用来快速和果断处置风险,的下发策略给全局的,此外

60、集中管理可以非常快速有效地分发新的动态更新数据包,其中包括的识别数据文件,没有集中化的管理不可能快速完成全网和升级不同的。对于逃避和高级逃避技术的,需要集中的管理来动态的随时更新IPS 的识别数据库,设备必须可以持续的更新才能抵御新的逃避技术的,集中管理可以帮助用户做到安全态势感知。不同级别的逃避检测和防护是非常重要的,因为网络管理员需要能够主动地防护AET,需要快速有效地响应,使用集中的管理可以集中的所有网络设备,及时观察到可疑的行为,帮助管理员准确的发现和。2 AET 防护设计标准2.1 AET 防护规范要求安全硬件和系统需要合乎以下标准分层的标准化检测基于 RFC 标准的协议是在所有的协

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论