web与溯源

攻击机溯源技术

基于日志的溯源

使用路由器、主机等设备记录网络传输的数据流中的关键信息(时间、源地址、目的地址),追踪时基于日志查询做反向追踪。

这种方式的优点在于兼容性强、支持事后追溯、网络开销较小。但是同时该方法也受性能、空间和隐私保护等的限制,考虑到以上的因素,可以限制记录的数据特征和数据数量。另外可以使用流量镜像等技术来减小对网络性能的影响。

路由输入调试技术

在攻击持续发送数据,且特性较为稳定的场景下,可以使用路由器的输入调试技术,在匹配到攻击流量时动态的向上追踪。这种方式在DDoS攻击追溯中比较有效,且网络开销较小。

可控洪泛技术

追踪时向潜在的上游路由器进行洪泛攻击,如果发现收到的攻击流量变少则攻击流量会流经相应的路由。这种方式的优点在于不需要预先部署,对协同的需求比较少。但是这种方式本身是一种攻击,会对网络有所影响。

基于包数据修改追溯技术

这种溯源方式直接对数据包进行修改,加入编码或者标记信息,在接收端对传输路径进行重构。这种方式人力投入较少,支持事后分析,但是对某些协议的支持性不太好。

基于这种方式衍生出了随机标记技术,各路由以一定概率对数据包进行标识,接收端收集到多个包后进行重构。

基于蜜罐溯源

基于蜜罐的溯源技术是一种通过设置虚假的系统或服务来吸引攻击者,并通过监测攻击行为来追踪攻击者的来源和行为。蜜罐通常是一台特殊配置的服务器或虚拟设备,用于模拟真实系统或服务,并记录攻击者与之交互的所有活动。

基于蜜罐的溯源技术可以采用以下方法:

预警系统

通过在蜜罐上设置监控和警报机制,当蜜罐被攻击时会立即触发警报,并记录攻击者的IP地址和攻击行为。这样可以及时发现攻击活动,并进行溯源分析。

攻击者行为分析

蜜罐可以记录攻击者与之交互的所有活动,包括攻击的目标、使用的工具和技术、攻击时间等信息。通过对这些信息的分析和比对,可以判断是否是同一个攻击者,并进一步追踪其来源和行为。

蜜网

蜜网是由多个蜜罐组成的网络,通过在不同位置设置多个蜜罐,可以更好地追踪攻击者的来源和路径。当攻击者攻击其中一个蜜罐时,可以通过分析攻击流量的路径来确定攻击者的真实IP地址和所在位置。

欺骗和诱导

通过在蜜罐上设置虚假的系统或服务,可以诱使攻击者暴露更多的信息。例如,设置一个虚假的登录界面,当攻击者尝试登录时,可以获取其用户名和密码等敏感信息。这样可以进一步追踪攻击者的身份和行为。

基于蜜罐的溯源技术可以有效地追踪攻击者的来源和行为,但也需要注意保护蜜罐的安全,以防止攻击者发现真实系统或服务并对其进行攻击。同时,合法用户的访问也需要得到保护,以免受到误伤。

DDos溯源

DDos的类型

根据攻击位置的不同,可以将DDoS攻击分为以下三种类型:

  1. 网络层攻击:网络层攻击主要针对网络基础设施,如路由器、防火墙等。常见的网络层攻击类型包括:
    • SYN Flood攻击:利用TCP协议的三次握手机制,攻击者发送大量伪造的TCP连接请求(SYN包),导致目标系统资源耗尽。
    • ICMP Flood攻击:利用ICMP协议发送大量的伪造请求,使目标系统的网络带宽被占满,导致服务不可用。
    • UDP Flood攻击:利用UDP协议发送大量的伪造请求,使目标系统的网络带宽被占满,导致服务不可用。
  2. 传输层攻击:传输层攻击主要针对传输层协议,如TCP和UDP。常见的传输层攻击类型包括:
    • TCP连接攻击:攻击者通过发送大量的TCP连接请求,使目标系统的连接资源耗尽,导致服务不可用。
    • UDP泛洪攻击:攻击者发送大量的UDP数据包到目标系统,使目标系统的网络带宽被占满,导致服务不可用。
  3. 应用层攻击:应用层攻击主要针对应用层协议,如HTTP、DNS等。常见的应用层攻击类型包括:
    • HTTP Flood攻击:攻击者发送大量的HTTP请求到目标系统,使目标系统的网络带宽、服务器资源被耗尽,导致服务不可用。
    • DNS Flood攻击:攻击者发送大量的DNS请求到目标系统,使目标系统的DNS服务器资源耗尽,导致DNS服务不可用。

常见的DDos攻击

CSDN

有下面的几种

常见DoS攻击检测方案

主要包括异常流量检测与数据分析检测。

异常流量检测是最常见的一类攻击检测方式。针对DoS攻击的异常流量检测方案可以分为两类:基于特征信息的检测和基于异常行为的检测。

基于特征信息的检测:通过检测数据流量的特征,将其特征与预先定义的攻击类型的特征进行比对,当数据流量的特征与预先定义的攻击特征相匹配,则判断网络中发生了该攻击。

基于异常行为的检测:预先设置网络中正常参数的阈值范围,通过分析网络中相关参数的数值并将其与阈值进行比较,当网络中参数不在正常范围内时,则判定网络出现攻击。

除了异常流量检测法外,目前常见的DoS攻击检测方案还有数据分析检测,通过对流量数据所含有的信息,包含空间信息、时间信息和技术指标信息构成三个维度来对数据流进行分析。针对不同种类的DoS攻击,下表列出了一些常见DoS攻击方式及其数据分析的检测指标。

下面是一些分析的过程

wireshark可以统计流量包的ip的发包数

统计->会话

之后可以查看对应的高频率发包的ip的组成

SYN Flood攻击

SYN- Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。这种攻击早在1996年就被发现,但至今仍然显示出强大的生命力。很多操作系统,甚至防火墙、路由器都无法有效地防御这种攻击,而且由于它可以方便地伪造源地址,追查起来非常困难。它的数据包特征通常是,源发送了大量的SYN包,并且缺少三次握手的最后一步握手ACK回复。

原理:

攻击者首先伪造地址对服务器发起SYN请求(我可以建立连接吗?),服务器就会回应一个ACK+SYN(可以+请确认)。而真实的IP会认为,我没有发送请求,不作回应。服务器没有收到回应,会重试3-5次并且等待一个SYN Time(一般30秒-2分钟)后,丢弃这个连接。
如果攻击者大量发送这种伪造源地址的 SYN请求,服务器端将会消耗非常多的资源来处理这种半连接,保存遍历会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行 SYN+ACK的重试。最后的结果是服务器无暇理睬正常的连接请求—拒绝服务。

wireshark可以使用tcp.flags==0x02来查找对应的包

ACK Flood攻击

原理:

ACK Flood攻击是在TCP连接建立之后,所有的数据传输TCP报文都是带有ACK标志位的,主机在接收到一个带有ACK标志位的数据包的时候,需要检查该数据包所表示的连接四元组是否存在,如果存在则检查该数据包所表示的状态是否合法,然后再向应用层传递该数据包。如果在检查中发现该数据包不合法,例如该数据包所指向的目的端口在本机并未开放,则主机操作系统协议栈会回应RST包告诉对方此端口不存在。
这里,服务器要做两个动作:查表、回应 ACK/RST。这种攻击方式显然没有SYN Flood给服务器带来的冲击大,因此攻击者一定要用大流量ACK小包冲击才会对服务器造成影响。按照我们对TCP协议的理解,随机源IP的ACK小包应该会被Server很快丢弃,因为在服务器的TCP堆栈中没有这些ACK包的状态信息。但是实际上通过测试,发现有一些TCP服务会对ACK Flood比较敏感,比如说JSP Server,在数量并不多的ACK小包的打击下,JSP Server就很难处理正常的连接请求。对于Apache或者IIS来说,10kpps的ACK Flood不构成危胁,但是更高数量的ACK Flood会造成服务器网卡中断频率过高,负载过重而停止响应。可以肯定的是,ACK Flood不但可以危害路由器等网络设备,而且对服务器上的应用有不小的影响。

wireshark可以使用tcp.flags==0x18来查找对应的包,但是单纯的查看这个包是没啥用的。

可以看到大量的[PSH,ACK]占比很高,应该就是ACK Flood攻击

UDP Flood攻击

原理:

UDP Flood是日渐猖厥的流量型DoS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。 100k pps的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。由于UDP协议是一种无连接的服务,在UDP FLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包。但是,由于UDP协议是无连接性的,所以只要开了一个UDP的端口提供相关服务的话,那么就可针对相关的服务进行攻击。
正常应用情况下,UDP包双向流量会基本相等,而且大小和内容都是随机的,变化很大。出现UDP Flood的情况下,针对同一目标IP的UDP包在一侧大量出现,并且内容和大小都比较固定。

可以根据UDP流探查。

可以看到都是UDP包,而且大小相同,所以判断为UDP Flood攻击

ICMP Flood攻击

原理:

ICMP Flood 的攻击原理和ACK Flood原理类似,属于流量型的攻击方式,也是利用大的流量给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文,因此ICMP Flood出现的频度较低。比较下面两幅图,就应该可以看出是否有ICMP Flood攻击。

可以直接找icmp流量

Connection Flood攻击

原理:

Connection Flood是典型的并且非常的有效的利用小流量冲击大带宽网络服务的攻击方式,这种攻击方式目前已经越来越猖獗。这种攻击的原理是利用真实的IP地址向服务器发起大量的连接,并且建立连接之后很长时间不释放,占用服务器的资源,造成服务器服务器上残余连接(WAIT状态)过多,效率降低,甚至资源耗尽,无法响应其他客户所发起的连接。
其中一种攻击方法是每秒钟向服务器发起大量的连接请求,这类似于固定源IP的SYN Flood攻击,不同的是采用了真实的源IP地址。通常这可以在防火墙上限制每个源IP地址每秒钟的连接数来达到防护目的。但现在已有工具采用慢速连接的方式,也即几秒钟才和服务器建立一个连接,连接建立成功之后并不释放并定时发送垃圾数据包给服务器使连接得以长时间保持。这样一个IP地址就可以和服务器建立成百上千的连接,而服务器可以承受的连接数是有限的,这就达到了拒绝服务的效果。

HTTP Get攻击

原理:

这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。

UDP DNS Query Flood攻击

原理:

UDP DNS Query Flood攻击实质上是UDP Flood的一种,但是由于DNS服务器的不可替代的关键作用,一旦服务器瘫痪,影响一般都很大。
UDP DNS Query Flood攻击采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络世界上根本不存在的域名,被攻击的DNS 服务器在接收到域名解析请求的时候首先会在服务器上查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS 服务器会向其上层DNS服务器递归查询域名信息。域名解析的过程给服务器带来了很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。

TCP反射攻击

新的DDoS攻击手法来袭:TCP反射攻击技术分析

原理:

攻击者伪造源IP地址:攻击者伪造源IP地址,使其看起来像是受害者的IP地址。

向第三方服务器发送请求:攻击者向第三方服务器发送一个TCP请求,将目标IP地址设置为受害者的IP地址。这个请求可以是一个简单的TCP连接请求,也可以是其他类型的TCP请求,如SYN、ACK等。

第三方服务器响应:由于攻击者伪造的源IP地址是受害者的IP地址,第三方服务器会将响应发送到受害者的IP地址。

响应放大:由于攻击者控制了源IP地址,他可以通过精心构造的请求来引导第三方服务器产生一个比原始请求更大的响应。这种放大效应可以使得攻击流量比原始请求更大,从而对受害者发起更强大的攻击。

wireshark的tcp.flags.ack == 1

NTP放大攻击

原理:

NTP协议是基于UDP协议的123端口进行通信,但是由于UDP协议的无连接性具有不安全性的缺陷,攻击者就会利用NTP服务器的不安全性能漏洞发起DDoS攻击。攻击者攻击的步骤是先寻找攻击对象或者互联网中支持NTP放大攻击的服务器资源;然后通过伪造IP地址向NTP服务器发送monlist的请求报文,为了增加攻击的强度,monlist指令会监控响应 NTP 服务器并且将其返回进行时间同步的最近多个客户端的IP地址,通常NTP服务器与大量的客户端进行交互时,一个不超过64字节的请求数据包可以触发100个482个字节响应的数据包,因此它具有放大数百倍的功能。从而这些大流量就会阻塞网络,导致网络不通,造成了分布式拒绝服务。

  • 未完