ddos攻击2
导读:
分别从 带宽消耗攻击、设备资源消耗攻击、畸形报文攻击、应用资源反射攻击、 慢攻击 几种攻击方式分类并介绍常见的ddos攻击。
带宽消耗攻击
TCP Flood、UDP Flood、ICMP Flood
见从协议类型分类常见的ddos攻击
设备资源消耗攻击
TCP SYN、TCP ACK
见从协议类型分类常见的ddos攻击
畸形报文攻击
Land攻击、Smurf攻击、Winnuke攻击、Fraggle攻击
Land攻击:
局域网拒绝服务攻击,采用了特别构造的TCP SYN数据包(通常用于开启一个新的连接),使目标机器开启一个源地址与目标地址均为自身IP地址的空连接,持续地自我应答,消耗系统资源直至崩溃。这种攻击方法与SYN洪泛攻击并不相同。
防护方法
适当地配置防火墙设备或制定包过滤路由器的包过滤规则。
路由器应同时配置上行与下行筛选器,屏蔽所有源地址与目标地址相同的数据包。
Smurf攻击
结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包,来淹没受害主机
Winnuke攻击
WinNuke攻击又称带外传输攻击,它的特征是攻击目标端口,被攻击的目标端口通常是139、138、137、113、53,而且URG位设为“1”,即紧急模式。
利用了Windows操作系统的一个漏洞,向这些端口发送一些携带TCP带外(OOB)数据报文的,但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合。这样Windows操作系统在处理这些数据的时候,就会崩溃。
检测方法
判断数据包目标端口是否为139、138、137等,并判断URG位是否为“1”。
防护方法
适当配置防火墙设备或过滤路由器就可以防止这种攻击手段(丢弃该数据包),并对这种攻击进行审计(记录事件发生的时间,源主机和目标主机的MAC地址和IP地址MAC)。
Fraggle攻击
类似于Smurf,使用UDP应答消息而非ICMP。UDP端口7(ECHO)和端口19(Chargen)在收到UDP报文后,都会产生回应。 在UDP的7号端口收到报文后,会回应收到的内容,而UDP的19号端口在收到报文后,会产生一串字符流。它们都同ICMP一样,会产生大量无用的应答报文,占满网路带宽。攻击者可以向子网广播地址发送源地址为受害网络或受害主机的UDP包,端口号用7或19子网络启用了此功能的每个系统都会向受害者的主机做出响应,从而引发大量的包,导致受害网络的阻塞或受害主机的崩溃;子网上没有启动这些功能的系统将产生一个ICMP不可达的消息,因而仍然消耗带宽。
防护方法
检查进入防火墙的UDP报文,若目的端口号为7或19,则直接拒绝,并将攻击记录到日志,否则允许通过。
应用资源消耗攻击
HTTP Get、Post攻击、SSL Flood、CC、DNS FLood、DNS 反射放大
SSL Flood:
泛滥的SSL链接又叫SSL重连接攻击,以服务器处理能力为攻击目标,而服务器建立TLS连接时,该处理能力是必要的,要么会发送大量的垃圾数据给服务器,要么会持续不断地要求重新建立连接,从而超限占用服务器资源,使服务器无法正常和外界通讯。
PushDo僵尸网络就是众多例子中的其中一个。它以SSL/TLS握手为目标,试图利用垃圾数据淹没SSL服务器从而使之超负荷工作。由于建立SSL/TLS协议的本质,当大量的请求淹没服务器时,计算开销是十分大的。
防护
破解第二类攻击(不断要求重新连接),即忽略在给定时间段的一定数量的重新协商请求。这种办法还有另外一种好处:使攻击者认为攻击正在进行,而实际上这些请求都被忽略掉了。
CC、DNS FLood、DNS 反射放大 见从协议类型分类常见的ddos攻击
反射攻击
反射攻击的原理是伪造受害者向被利用者(第三方,可以是多个)发送请求,被利用者按照收到的消息向受害者发送信息,大量信息情况使受害者当机
Chargen、SNMP、DNS、NTP、SSDP、Memcached
Chargen:字符生成器协议
用于测试,调试,测量目的。可以使用tcp或udP连接,服务端口通常为19,会返回随机数量的随机字符。
在TCP连接建立后,服务器不断传送任意的字符到客户端,直到客户端关闭连接。
攻击者伪造源ip(伪造成受害者ip)让服务器发送测试到客户端(受害者),使得受害者收到大量报文当机
防护:
受害者:
由于 CHARGEN不是常用协议,因此对于这类DDoS可以使用基于端口匹配的方法进行检测。发现对应的流量使用专业设备或者程序丢弃即可。
被利用者:
确认系统是否必须开放chargen服务,如果不是必要服务,请在系统中关闭该服务
SNMP 简单网络管理协议
类似于较早的DNS放大攻击,攻击者的数据包包含伪造的(欺骗的)原始IP地址,因此,将这些数据包发送到的SNMP服务器使用大UDP数据包答复属于受害者的欺骗地址。该向量的放大作用可以从相对较小的输入流中产生高流量,从而有效地阻塞进入受害者服务器的“管道”以产生拒绝服务。
防护:
缓解措施与其他DDoS攻击相似:识别不良数据包(这些数据包通常较大且分散,使识别过程相当容易),将其过滤掉,然后将防火墙IP地址发出或反射这些数据包,使其远离受害IP的上游。地址。
NTP 时间服务器
NTP 包含一个 monlist 功能,也被成为 MON_GETLIST,主要用于监控 NTP 服务器,NTP 服务器响应 monlist 后就会返回与 NTP 服务器进行过时间同步的最后 600 个客户端的 IP,响应包按照每 6 个 IP 进行分割,最多有 100 个响应包。
SSDP 简单服务发现协议
通常在SSDP协议用于允许UPnP设备向网络上的其他设备广播其存在。
使用僵尸网络设置某些标志(特别是ssdp:rootdevice或ssdp:all)**向每个即插即用设备发送欺骗性的发现数据包并请求更多数据。**每个设备都会向目标受害者发送一个回复,其最大值为攻击者请求的数据量的30倍。目标服务器接收到来自所有设备的大量流量,并且不堪重负,这可能导致对合法流量的拒绝服务
Memcached 分布式的高速缓存系统
用于动态Web应用以减轻数据库负载。(原理:一个hashmap,第一次访问访问,其他时候直接调用跳转)
默认开启TCP和UDP监听11211端口,并且监听任意IP地址访问。当攻击者伪造源IP进行数据访问时,服务器将请求找到对应的缓存的数据通过UDP数据包的格式发送出去。
慢攻击
慢速的正常访问,用慢速来消耗资源。
Slow headers攻击
攻击者对服务器发起一个HTTP请求,一直不停地发送HTTP头部,而服务器在处理之前需要先接收完所有的HTTP头部,这样就消耗了服务器的连接和内存资源;
Slow body攻击
攻击者发送一个HTTP POST请求,表示要发送大量数据;此时服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,以此消耗服务器的连接和内存资源;
Slow read攻击
攻击者建立连接后发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response或者让服务器误以为客户端很忙,以消耗服务器的连接和内存资源。
防护:
建立后报文交互缓慢,一定时间内总传输数据小于特定值,则视为慢连接异常。
参考链接:
WinNuke攻击
land攻击
Fraggle攻击的原理
SSL Flood攻击
Chargen攻击
什么是SSDP及DDOS攻击?
安全小课堂丨DDoS攻击之慢速连接攻击