精华内容
下载资源
问答
  • 拒绝服务攻击详解
    千次阅读
    2021-11-19 17:01:42

    目录

    一、拒绝服务攻击的原理

    二、拒绝服务攻击的分类

    1、资源消耗

    2、系统或应用程序缺陷

    3、配置修改

    三、典型的拒绝服务攻击

    1、Ping of Death

    2、泛洪攻击

    (1)SYN泛洪

    (2)ACK泛洪攻击

    (3)TCPLAND攻击

    (4)UDP泛洪攻击

    3、Smurf攻击

    四、分布式拒绝服务攻击DDoS

    1、组成

    2、流程

    3、特点

    五、DoS/DDoS攻击的检测与防御

    1、检测

    2、防御困难的原因

    3、防御方法


    一、拒绝服务攻击的原理

    拒绝服务(DoS,Denial of Service)是一种典型的破坏服务可用性的攻击方式。它不以获得系统权限为目的。

    ●根据NIST SP 800-61的定义,拒绝服务是一种通过耗尽CPU、内存、带宽或磁盘空间等系统资源,来阻止或削弱对网络、系统或者应用程序的授权使用的行为。

    ●拒绝服务攻击通常利用传输协议弱点、系统漏洞、服务漏洞对目标系统发起大规模进攻,利用超出目标处理能力的海量合理请求数据包消耗可用系统资源、带宽资源等,造成程序缓冲区溢出错误,致使其无法处理合法用户的请求,无法提供正常服务,最终致使网络服务瘫痪,甚至系统死机。

    ●早期的拒绝服务攻击主要是利用TCP/IP协议或应用程序的缺陷,使得目标系统或应用程序崩溃。

      当前的拒绝服务攻击试图通过耗尽系统资源来达到目标系统不能为授权用户提供服务的目的。

    二、拒绝服务攻击的分类

    1、资源消耗

    ●可消耗的资源包括目标系统的系统资源(包括CPU资源、内存资源、存储资源等)和网络带宽

    ●如:发送大量的垃圾数据包占用网络带宽,导致正常的数据包因为没有可用的带宽资源而无法到达目标系统;发送大量的垃圾邮件,占用系统磁盘空间;制造大量的垃圾进程占用CPU资源等。

    2、系统或应用程序缺陷

    ●主要利用网络系统或协议的漏洞来完成,一个恶意的数据包可能触发协议栈崩溃,从而无法提供服务。

    ●这类攻击包括死亡之Ping(Ping of Death)、泪滴攻击(Teardrop)、Land攻击、Smurf攻击、IP分片攻击、UDP泛洪攻击等。

    3、配置修改

    ●修改系统的运行配置,导致网络不能正常提供服务。

    ●如:修改主机或路由器的路由信息、修改注册表或者某些应用程序的配置文件。

    三、典型的拒绝服务攻击

    1、Ping of Death

    ●ICMP报文长度固定(64KB),很多操作系统只开辟64KB的缓冲区用于存放ICMP数据包。如果ICMP数据包的实际尺寸超过64KB,就会产生缓冲区溢出,导致TCP/IP协议堆栈崩溃,造成主机重启或死机,从而达到拒绝服务攻击的目的。

    ●通过ping命令的-1选项可以指定发送数据包的大小。如果设置的大小超过了缓冲区大小将触发协议栈崩溃,如:

    ping -1 65540 192.168.1.1

    ●现在的操作系统已经修复了该漏洞,当用户输入超出缓冲区大小的数值时,系统会提示用户输入范围错误。

    2、泛洪攻击

    泛洪(Flooding)攻击是一种常见的依靠大流量来挫败目标系统的一种攻击方式。

    (1)SYN泛洪

    ●三步握手过程:

    原理:SYN泛洪利用的是TCP协议的三步握手机制,攻击者利用伪造的IP地址向目标系统发出TCP连接请求,目标系统发出的响应报文得不到被伪造IP地址的响应,从而无法完成TCP的三步握手,此时目标系统将一直等待最后一次握手消息的到来直到超时,即半开连接。如果攻击者在较短的时间内发送大量伪造的IP地址的TCP连接请求,则目标系统将存在大量的半开连接,占用目标系统的资源,如果半开连接的数量超过了目标系统的上限,目标系统资源耗尽,从而达到拒绝服务的目的。

    常用工具:hping3。hping是面向命令行的用于生成和解析TCP/IP协议数据包汇编/分析的开源工具,支持TCP、UDP、ICMP、RAW-IP协议,具有跟踪路由模式。使用hping3可以很方便构建拒绝服务攻击。如:以下命令将实现对192.168.1.1主机进行SYN泛洪攻击:

    hping -c 10000 -d 120 -S -p 80 --flood --rand-source 192.168.1.1
    //-c 10000:表示参数数据包数据量为10000
    //-d 120:指定数据包大小为120
    //-S:指定发送SYN数据包
    //-p 80:指定端口号为80
    //--flood:指定进行防洪,即尽可能快的发送数据包
    //--rand-source:指随机化发送数据包的源地址

    发起攻击后可以通过Windows任务管理器看到攻击效果,CPU的占用率几乎达到了100%。

    ●针对SYN泛洪的防御:

    A.缩短SYN Timeout时间

    可以使得攻击者伪造的SYN还没有达到目标系统上限时就超时,半开连接被丢弃,从而释放部分被占用的系统资源。

    B.设置SYN Cookie

    给每个请求连接的IP分配一个Cookie,如果短时间内连续收到某个IP的重复SYN报文,就认定是攻击行为,丢弃来自该IP地址的数据包。

    C.负反馈策略

    一旦SYN半连接的数量超过系统中TCP活动半连接最大连接数的阈值,系统将认为受到攻击并作出反应:减少SYN Timeout时间、减少SYN-ACK的重试次数、自动对缓冲区中的报文进行延时等措施。

    D.退让策略

    SYN泛洪攻击的缺陷是一旦攻击开始,将不会再进行域名解析。服务器受到攻击后迅速更换IP地址,那么攻击者攻击的将是一个空的IP地址,而防御方只要将DNS解析更改到新的IP地址就能在很短的时间内恢复正常用户访问。为迷惑攻击者,甚至可以放置一台“牺牲”服务器让攻击者满足于攻击的效果。(蜜罐技术)

    E.分布式DNS负载均衡

    将用户的请求分配到不同IP的服务器主机上。

    F.防火墙

    识别SUN泛洪攻击所采用的攻击方法,并将攻击包阻挡在外。

    (2)ACK泛洪攻击

    ●原理:与SYN泛洪类似,不同的是攻击者直接伪造三步握手的最后一个ACK数据包。目标系统收到该数据包后会查询有没有该ACK对应的握手消息。因为没有前期握手过程,所以目标系统查询后会回复ACK/RET。该过程消耗目标系统资源,当攻击者发送大量的伪造的ACK数据包时,可能会耗尽系统资源,从而导致拒绝服务。

    (3)TCPLAND攻击

    ●原理:TCPLAND(Local Area Network Denial Attack)攻击同样利用了TCP的三步握手过程。通过向目标系统发送TCP SYN报文而完成对目标系统的攻击。与正常的TCP SYN报文不同的是,LAND攻击报文的源IP地址和目的IP地址相同,都是目标系统的IP地址。因此,目标系统接收到这个SYN报文后,就会向该报文的源地址(目标系统本身)发送一个ACK报文,并建立一个TCP连接,即目标系统自身建立连接。如果攻击者发送了足够多的SYN报文,则目标系统的资源就会耗尽,最终造成DoS攻击。

    ●针对LAND攻击的检测:只要判断网络数据包的源/目标地址是否相同即可。可以通过防火墙设置适当的防火墙过滤规则(入口过滤)来防止该类攻击。

    (4)UDP泛洪攻击

    ●原理:攻击者将UDP数据包发送到目标系统的服务端口上,通常是诊断回送服务Echo,因为此服务一般默认开启。若目标系统开启了此服务,就会回应一个带有原始数据内容的UDP数据包给源地址主机。若目标系统没有开启此服务,就会丢弃攻击者发送的数据包,可能会回应ICMP的“目标主机不可达”类型消息给攻击者。但是无论服务有没有开启,攻击者消耗目标系统链路容量的目的已经达到。几乎所有的UDP端口都可以作为攻击目标端口。

    3、Smurf攻击

    Smurf攻击是发生在网络层的著名DoS攻击,该攻击结合了IP欺骗和ICMP响应,使大量网络传输充斥目标系统,是一种典型的放大反射攻击。

    ●原理:因为目标系统会优先处理ICMP报文而导致无法为合法用户提供服务。为了使攻击有效,Smurf利用了定向广播技术,即攻击者向反弹网络的广播地址发送源地址为被攻击者主机IP地址的ICMP数据包。因此反弹网络会向被攻击者主机发送ICMP响应数据包,从而淹没被攻击主机。

    ●例:被攻击者主机的IP地址为10.10.10.10。攻击者首先找到一个存在大量主机的网络(反弹网络),并向其广播地址(192.168.1.255)发送一个伪造的源地址为被攻击主机的ICMP请求分组。路由器收到该数据包后,会将该数据包在192.168.1.0/24中进行广播。收到广播的所有192.168.1.0/24网段的主机都会向10.10.10.10主机发送ICMP响应。这会导致大量数据包被发往被攻击主机10.10.10.10,从而导致拒绝服务。

    四、分布式拒绝服务攻击DDoS

    分布式拒绝服务攻击(DDoS,Distributed Denial of Service)是在Dos基础上产生的,也是目前威力最大的DoS攻击方法。DDoS攻击将大量计算机(傀儡主机、僵尸网络、botnet)联合起来对一个或多个大型站点发起DoS攻击,从而提高了DoS的威力。

    1、组成

    DDoS一般都是基于客户机/服务器模式。DDoS攻击程序一般由客户端、服务端和守护程序组成。客户端也称攻击控制台,即攻击者发起攻击的主机,攻击者一般不需要直接控制守护程序,而是通过服务器端来控制攻击过程,这样更有利于隐藏自己。

    服务器端也称主控端,使一些攻击者已经入侵成功并可以实施控制的主机。服务器端安装的程序可以接受来自攻击控制台发来的指令,并将这些指令发送到守护程序所在主机。

    守护程序所在主机称为攻击代理,其同样是被攻击者入侵并控制的一部分主机,在其上安装攻击性程序,可以接收来自服务器端的指令,并向目标系统发起攻击。

    2、流程

    首先需要在互联网上寻找有漏洞的主机并实施入侵,然后在其中安装后门程序使其成为傀儡/僵尸主机(由大量僵尸主机组成的网络称为僵尸网络)。攻击者控制的僵尸网络里面的主机越多,DDoS攻击的威力越大。

    3、特点

    ●分布性

    通过分布在不同地点协同发起攻击

    ●隐蔽性

    DDoS通过傀儡主机发起攻击,对于真正发起攻击的攻击者而言具有很好的隐蔽性,导致追踪攻击者更为困难

    ●攻击威力大

    DDoS攻击的危害性非常巨大,除了会造成攻击目标服务能力下降外,还会占用大量的网络带宽,造成网络拥塞,威胁到这个网络的安全运行。

    五、DoS/DDoS攻击的检测与防御

    1、检测

    ●出现大量的DNS PTR查询请求

    ●超出网络正常工作时的极限通讯流量

    ●特大型的ICMP和UDP数据包

    ●不属于正常连接通讯的TCP和UDP数据包

    ●数据段内容只包含文字和数字字符(如:没有空格、标点和控制字符)

    2、防御困难的原因

    ●定位攻击者不容易,因为Internet上绝大多数网络都不限制源地址,即伪造源地址非常容易,因此很难溯源找到攻击控制端的位置。且各种反射式攻击导致无法定位攻击者。

    ●如果攻击者构造足够大的合法流量到达目标网络,那么流量可能会使目标系统的网络连接被淹没,从而限制其他想要连接到目标系统的合理请求。

    3、防御方法

    ●进行合理的带宽限制:限制基于协议的带宽。如:端口25只能使用25%的带宽,端口80只能使用50%的带宽。

    ●运行尽可能少的服务,只允许必要的通信

    ●及时更新系统并安装系统补丁

    ●封锁恶意IP地址

    ●增强系统用户的安全意识,避免成为傀儡主机。如果攻击者无法入侵并控制足够数量的傀儡主机,则DDoS就无法进行。

    ●建立健全DoS/DDoS攻击的应急响应机制。组织机构应该建立相应的计算机应急响应机制,当DoS/DDoS攻击发生时,应迅速确定攻击源,屏蔽攻击地址,丢弃攻击数据包,最大限度地降低损失。

    更多相关内容
  • HTTP拒绝服务整改方案

    2018-11-30 21:37:15
    缓慢的http拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击,直到服务器带宽被打满,造成了拒绝服务
  • 服务器存在缓慢的HTTP拒绝服务攻击

    万次阅读 多人点赞 2021-08-17 14:37:04
    缓慢的HTTP拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量HTTP请求攻击,直到服务器带宽被打满,造成了拒绝服务。 慢速HTTP拒绝服务攻击经过不断的演变和...

    1️⃣漏洞验证

    ip: X.X.X.X, TTL>220s

    在这里插入图片描述

    2️⃣漏洞利用

    Kali上安装测试工具SlowHttpTest

    sudo apt-get install slowhttptest
    

    Slow headers攻击

    slowhttptest -c 1000 -H -g -o my_header_stats -i 10 -r 200 -t GET -u https://x.x.x.x -x 24  -p 3
    

    在这里插入图片描述

    Slow body攻击

    slowhttptest -c 3000 -B -g -o my_body_stats -i 110 -r 200 -s 8192 -t FAKEVERB -u https://x.x.x.x -x 10 -p 3
    

    在这里插入图片描述

    Slow read攻击

    slowhttptest -c 8000 -X -r 200 -w 512 -y 1024 -n 5 -z 32 -k 3 -u https://x.x.x.x -p 3
    

    在这里插入图片描述

    工具使用参数:

    -g 在测试完成后,以时间戳为名生成一个CVS和HTML文件的统计数据 
    -H SlowLoris模式 
    -B Slow POST模式 
    -R Range Header模式 
    -X Slow Read模式 
    -c number of connections 测试时建立的连接数 
    -d HTTP proxy host:port 为所有连接指定代理 
    -e HTTP proxy host:port 为探测连接指定代理 
    -i seconds 在slowrois和Slow POST模式中,指定发送数据间的间隔。 
    -l seconds 测试维持时间 
    -n seconds 在Slow Read模式下,指定每次操作的时间间隔。 
    -o file name 使用-g参数时,可以使用此参数指定输出文件名 
    -p seconds 指定等待时间来确认DoS攻击已经成功 
    -r connections per second 每秒连接个数 
    -s bytes 声明Content-Length header的值 
    -t HTTP verb 在请求时使用什么操作,默认GET
    -u URL 指定目标url 
    -v level 日志等级(详细度) 
    -w bytes slow read模式中指定tcp窗口范围下限 
    -x bytes 在slowloris and Slow POST tests模式中,指定发送的最大数据长度 
    -y bytes slow read模式中指定tcp窗口范围上限 
    -z bytes 在每次的read()中,从buffer中读取数据量
    

    3️⃣漏洞由来

    DDOS——CC攻击——缓慢的HTTP DOS攻击

    一句话总结:DDOS、CC攻击的变种

    4️⃣攻击原理

    对任何一个开放了HTTP访问的服务器HTTP服务器,先建立了一个连接(三次握手),指定一个比较大的content-length,然后以非常低的速度发包,比如1-10s发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。
    在这里插入图片描述

    只要Web服务器开放了Web服务,那么它就可以是一个靶子,HTTP协议在接收到request之前是不对请求内容作校验的,所以即使你的Web应用没有可用的form表单,这个攻击一样有效。
    在这里插入图片描述

    在客户端以单线程方式建立较大数量的无用连接,并保持持续发包的代价非常的低廉。实际实验中一台普通PC可以建立的连接在3000个以上。这对一台普通的Web server,将是致命的打击。更不用说结合肉鸡群做分布式DoS了。

    5️⃣慢速攻击分类

    慢速HTTP拒绝服务攻击主要有三种攻击类型,分别是Slow headers、Slow body、Slow read。

    Slow headers
    Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了一些Web应用可能用到的重要的信息。攻击者利用这点,发起一个HTTP请求,一直不停的发送HTTP头部,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,每30秒才向服务器发送一个HTTP头部,而Web服务器再没接收到2个连续的\r\n时,会认为客户端没有发送完头部,而持续的等等客户端发送数据。
    在这里插入图片描述
    在这里插入图片描述

    Slow body
    攻击者发送一个HTTP POST请求,该请求的Content-Length头部值很大,使得Web服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,发送了完整的HTTP头部,POST方法带有较大的Content-Length,然后每10s发送一次随机的参数。服务器因为没有接收到相应Content-Length的body,而持续的等待客户端发送数据。
    在这里插入图片描述
    在这里插入图片描述

    Slow read
    客户端与服务器建立连接并发送了一个HTTP请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response,比如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。抓包数据可见,客户端把数据发给服务器后,服务器发送响应时,收到了客户端的ZeroWindow提示(表示自己没有缓冲区用于接收数据),服务器不得不持续的向客户端发出ZeroWindowProbe包,询问客户端是否可以接收数据。

    在这里插入图片描述
    在这里插入图片描述

    6️⃣解决办法

    官方解决方法

    针对不同的Server其对慢速http拒绝服务攻击防范方法也不同:

    WebSphere

    1、限制 HTTP 数据的大小
    在WebSphere Application Server 中进行如下设置:

    任何单个 HTTP 头的默认最大大小为 32768 字节。可以将它设置为不同的值。

    HTTP 头的默认最大数量为 50。可以将它设置为不同的限制值。

    另一种常见的 DOS 攻击是发送一个请求,这个请求会导致一个长期运行的 GET 请求。WebSphere Application Server Plug-in 中的 ServerIOTimeoutRetry 属性可限制任何请求的重试数量。这可以降低这种长期运行的请求的影响。

    设置限制任何请求正文的最大大小。

    2、设置keepalive参数

    打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找KeepAlive值,改ON为OFF,其默认为ON。

    这个值说明是否保持客户与HTTP SERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequests设定值时请求将排队,导致响应变慢。

    详见参考链接:

    http://www.ibm.com/developerworks/cn/websphere/techjournal/1210_lansche/1210_lansche.html#new-step32
    

    Weblogic

    1、在配置管理界面中的协议->一般信息下设置 完成消息超时时间小于200
    2、在配置管理界面中的协议->HTTP下设置 POST 超时、持续时间、最大 POST 大小为安全值范围。

    http://docs.oracle.com/cd/E12890_01/ales/docs32/integrateappenviron/configWLS.html#wp1101063
    

    Nginx

    1、通过调整$request_method,配置服务器接受http包的操作限制;
    2、在保证业务不受影响的前提下,调整client_max_body_size, client_body_buffer_size, client_header_buffer_size,large_client_header_buffersclient_body_timeout, client_header_timeout的值,必要时可以适当的增加;
    3、对于会话或者相同的ip地址,可以使用HttpLimitReqModule and HttpLimitZoneModule参数去限制请求量或者并发连接数;
    4、根据CPU和负载的大小,来配置worker_processes 和 worker_connections的值,公式是:max_clients = worker_processes * worker_connections。

    Apache

    建议使用mod_reqtimeout和mod_qos两个模块相互配合来防护。
    1、mod_reqtimeout用于控制每个连接上请求发送的速率。配置例如:
    #请求头部分,设置超时时间初始为10秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护slowloris型的慢速攻击。

    RequestReadTimeout header=10-40,minrate=500
    

    #请求正文部分,设置超时时间初始为10秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护slow message body型的慢速攻击。

    RequestReadTimeout body=10-40,minrate=500
    

    需注意,对于HTTPS站点,需要把初始超时时间上调,比如调整到20秒。

    示例:

    LoadModule reqtimeout_module modules/mod_reqtimeout.so
    <IfModule reqtimeout_module>
            RequestReadTimeout header=10-40,minrate=500 body=10-40,minrate=500
    </IfModule>
    

    2、mod_qos用于控制并发连接数。配置例如:
    当服务器并发连接数超过600时,关闭keepalive
    QS_SrvMaxConnClose 600
    限制每个源IP最大并发连接数为50
    QS_SrvMaxConnPerIP 50
    这两个数值可以根据服务器的性能调整。
    更多关于qos_module配置参考:

    http://mod-qos.sourceforge.net/dos.html
    

    示例:

    LoadModule qos_module modules/mod_qos.so
    <IfModule qos_module>
    QS_SrvMaxConnClose 600
    QS_SrvMaxConnPerIP 50
    </IfModule>
    

    IHS服务器

    请您先安装最新补丁包,然后启用mod_reqtimeout模块,在配置文件中加入:

    LoadModule reqtimeout_module modules/mod_reqtimeout.so 
    

    为mod_reqtimeout模块添加配置:

    <IfModule mod_reqtimeout.c>
    RequestReadTimeout header=10-40,MinRate=500 body=10-40,MinRate=500
    
    对于HTTPS站点,建议header=20-40,MinRate=500。 参见:
    http://www-01.ibm.com/support/docview.wss?uid=swg21652165
    

    F5负载均衡

    F5负载均衡设备有相应的防护模块,如无购买可参考附件中的详细配置过程。
    关于F5的慢速攻击防护配置,请参考以下链接:

    https://support.f5.com/kb/en-us/solutions/public/10000/200/sol10260.html
    https://devcentral.f5.com/articles/mitigating-slow-http-post-ddos-attacks-with-irules-ndash-follow-up
    

    IIS服务器

    IIS可配置相关网站的Web.config如下:
    1、WebLimits设置:

    <configuration>
        <system.applicationHost>
            <webLimits connectionTimeout="00:00:30"
            headerWaitTimeout="00:00:10"
            dynamicIdleThreshold="150"
            minBytesPerSecond="512"
        />
        </system.applicationHost>
    </configuration>
    

    参考以下链接:

    https://docs.microsoft.com/en-us/iis/configuration/system.applicationhost/weblimits#configuration
    

    2、headerLimits设置:

    <configuration>
     <system.webServer>
      <security>
       <requestFiltering>
        <requestLimits>
         <headerLimits>
         <add header="Content-type" sizeLimit="100" />
         </headerLimits>
        </requestLimits>
       </requestFiltering>
      </security>
     </system.webServer>
    </configuration>
    

    参考以下链接:

    https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/requestlimits/headerlimits/
    

    在这里插入图片描述

    展开全文
  • DOS拒绝服务攻击

    千次阅读 2022-04-07 16:47:14
    所谓拒绝服务攻击,通常是利用传输协议中的某个弱点、系统或服务存在的漏洞,对目标系统发起大规模的进攻,使其无法处理合法用户的正常请求和提供正常服务,最终导致网络服务瘫痪,甚至系统死机。简言之,DOS攻击是...

    初识DOS攻击与防御

    • DOS攻击概念
      所谓拒绝服务攻击,通常是利用传输协议中的某个弱点、系统或服务存在的漏洞,对目标系统发起大规模的进攻,使其无法处理合法用户的正常请求和提供正常服务,最终导致网络服务瘫痪,甚至系统死机。简言之,DOS攻击是使目标系统瘫痪,是一种典型的损人不利己的攻击。
    • DOS攻击原因
      内因:网络协议的安全缺陷。
      外因:利益驱使的蓄意行为,即攻击者故意为之;偶然、无意事件。
    • DOS攻击原理
      攻击原理:利用合理的请求占用过多的服务资源(网络带宽、文件系统空间容量、开放的进程、允许的连接),使得服务超载,无法响应正常的服务请求。
    • DOS攻击方法
      (1)耗尽计算机资源,如带宽、内存、磁盘空间、处理器时间;
      (2)破坏配置信息,如路由信息;
      (3)破坏状态信息,如TCP链接中断;
      (4)破坏网络硬件;
      (5)破坏通信介质,阻挡正常通信。

    DOS常见攻击技术

    • SYN Flood(SYN洪水攻击)
      基本思想:利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负载或内存不足)的攻击方式。
      攻击过程:在三次握手过程中,假设客户端发送SYN分组后突然死机或掉线,服务器端发送SYN/ACK应答后无法收到客户端反馈的ACK分组,即第三次握手无法完成,这种情况被称为半开的TCP连接状态;此时,服务器端一般会重复发送ACK分组3-5次,并等待一段时间后丢弃这个半开连接,这段时间称为SYN Timeout,大约为30秒至2分钟。
      在这里插入图片描述
      如果一个恶意攻击者大量模拟以上情况,伪造大量源IP地址,服务器端为了维护一个非常大的半开连接列表而消耗非常多的资源,如果服务器的TCP/IP栈不够强大,最后可能会导致堆栈溢出或崩溃,即使服务器端足够强大,服务器端将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时,从正常客户的角度来看,服务器失去了响应,这种情况称为服务器端受到了SYN Flood攻击。
      在这里插入图片描述
      攻击者实施这种攻击一般有两种方法:
      (1)向目标端发送SYN分组,并确保发送分组的地址不会应答SYN/ACK分组,这需要监听数据包,并且在主机或路由器上进行阻断;
      (2)伪装成当时不在线的IP地址,向目标机发动攻击。
      防御措施
      (1)缩短SYN Timeout时间;
      (2)设置SYN Cookie,即给每一个连接请求的IP地址分配一个Cookie,如果短时间内连续收到某个IP的重复的SYN报文,就可以认定受到了该攻击,以后该IP地址发来的数据包将被丢弃;
      (3)设置路由器和防火墙在给定时间内只允许数量有限的半开TCP连接发生。
    • ICMP Flood
      Smurf Flood
      攻击过程:攻击者发送源地址伪造的ICMP数据包,目的地址设为某个网络的地址,源地址设为被攻击主机(一般指web服务器),收到此ICMP数据包的主机会向源地址返回应答包,因此该应答包都指向了被攻击主机,使得被攻击主机在某一个时间段内被成千上万的数据包淹没,从而造成拒绝服务。
      在这里插入图片描述
      防御措施:配置路由器禁止IP广播包进网
      Ping of Death(死亡之Ping)
      攻击过程:发送一些尺寸超大(大于64K)的ICMP包。
      防御措施:最有效防御方式是禁止ICMP报文通过网络安全设备。
    • Land 攻击(Local Area Network Denial Attack/局域网拒绝服务攻击)
      攻击过程:发送具有相同源地址和目标地址的欺骗数据包,即攻击者构造特殊的SYN包,目的地址和源地址都是受害主机,受害主机接收该SYN包后,会向自己回复SYN/ACK包,第三次握手时自己回复给自己一个ACK包,大量这样的数据包会使目标主机建立很多无向连接,占用大量系统资源,最终导致崩溃。
      在这里插入图片描述
      防御措施
      (1)防火墙拦截攻击包;
      (2)操作系统修复漏洞;
      (3)配置路由器,屏蔽源地址与目标地址相同的数据包。
    • TearDrop 攻击(泪滴攻击)
      攻击过程:是基于UDP的病态分片数据包的攻击方法,即攻击者向目标主机发送大量的、过大的错位IP碎片,某些操作系统收到重叠偏移的伪造分片数据包时,就会出现系统崩溃或重启。
      在这里插入图片描述
      现象:对于Windows系统会导致蓝屏死机,并显示STOP0x0000000A错误。
      防御方法:添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。

    暂存:

    认识DDOS攻击

    DDOS攻击:Distributed Denial of Service分布式拒绝服务攻击,利用合理的请求造成资源过载,导致服务不可用的一种攻击方式,是一种分布式的、协同的大规模攻击方式。
    特点:利用若干个网络节点(肉鸡、僵尸网络)同时向目标发起攻击。

    CC攻击

    原理:对一些资源消耗较大的应用页面不断发起正常请求,以达到造成消耗服务器端资源的目的。
    防御方法:
    (1)优化服务器性能:应用代码性能优化、网络架构优化。
    (2)限制请求频率:可以通过IP地址和Cookie定位一个客户端,针对过频繁访问,采取重定向页面。
    (3)验证码机制:有效阻止自动化重放攻击的有效行为之一。

    展开全文
  • 拒绝服务攻击

    千次阅读 多人点赞 2020-10-02 03:51:48
    目录 基本概念 DOS:拒绝服务攻击 DDOS:分布式拒绝服务攻击 RDoS:反射拒绝服务 DRDoS:分布式反射拒绝服务 方法 关于dns反射拒绝服务的攻击脚本 基本概念 首先,要说的是,在互联网里,最重要的就是通信,没有通信...

    基本概念

    首先,要说的是,在互联网里,最重要的就是通信,没有通信,大家都只能玩单机游戏。所以一台服务器对另一台服务器的问候默认会回复。
    一台叫小明的服务器想与另一台叫小红的服务器通信,他会先在自己小区(内网)里喊一下:小红在吗。要是小红听到了,会直接回复小明。如果没人回复小明,说明小红和小明不在同一个小区里。

    小明就会借助小区门卫的喇叭(网关)进行全网广播:小红在吗。其他小区的门卫听见了,就会在各自的小区里问:谁是小红,有人找。

    其他人一听在叫小红,不是叫自己,听了就忘了,会忽略此消息。
    真正的小红听到了,会借助她们小区的门卫的喇叭回复小明:我就是小红,你有啥事吗。(不算伪装欺骗的,每台机器的mac地址都是唯一的,和人的身份证一样,所以不考虑有重名的)

    说白了,只要你对一个服务器发出消息,他必然会回复你一条消息。(当然,你被对方拉黑了除外,或者对方只允许美女给他发消息,你不是美女,那也白搭)

    DOS:拒绝服务攻击

    英文名称是Denial of Service,简称DOS,即拒绝服务,造成其攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽, 最后导致合法的用户请求无法通过。

    连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。常用攻击手段有:同步洪流、WinNuke、死亡之PING、Echl攻击、ICMP/SMURF、Finger炸弹、Land攻击、Ping洪流、Rwhod、tearDrop、TARGA3、UDP攻击、OOB等。

    说了这么多,啥意思呢?
    举个例子吧,你加了女神的QQ,你不想让别人和你的女神聊天。但是女神的好友显然不止你一个,咋办。
    不停的给女神发消息,把她的流量耗光,没流量了,看她跟谁聊天。
    什么?女神是个富婆,不差这点流量?那也没关系,我还是不停的给她发消息。前面说过了,互联网最重要的是通信,有来有回。你给女神发一句消息,女神必然回你一句消息。女神不停的在回你消息,自然没时间处理其他人的消息了。
    以前别人给女神发消息,女神可能秒回他;现在别人给女神发消息,女神可能要一个小时才能回消息。这个“别人”思来想去,自然也慢慢的不会给女神发消息了。

    dos这玩意杀敌一千自损八百,你要消耗女神的流量,首先你自己也要消耗这么多流量来给她发消息。

    DDOS:分布式拒绝服务攻击

    如果说dos是一打一,那么ddos就是多打一。用成千上万个肉鸡去进攻一个服务器,这就要求你需要提前拿下一大批肉鸡去进行攻击。

    RDoS:反射拒绝服务

    前面说了,dos杀敌一千自损八百,为了节约流量,就有了rdos

    互联网最重要的就是交互,你问我答。
    但是,正如人有话痨,人有哑巴一样,服务器也分几种。有的服务器你问他一句,他才回一句;有的服务器是个话痨,你发他一句话,他会回你100句话。

    于是你伪装成受害者,给话痨发一句话,话痨回复了受害者100句话。你只要说一句话,就让受害者听了100句废话。典型的以小博大
    在这里插入图片描述放大主要利用的是NTP的monlist(listpeers也行)、DNS的AXFR(ANY也行)、SNMP的getbulkrequest

    DRDoS:分布式反射拒绝服务

    分布式拒绝服务攻击,顾名思义,就是让很多机器对受害者进行rdos攻击,和ddos不一样,dros不需要提前将这些肉鸡拿下。你只要伪装成受害者对100个“话痨”肉鸡群发一句话,受害者就会收到10000句话

    方法

    snmp放大6倍
    dns 放大30到50多倍
    ntp 放大500多倍
    mem 11211端口 同时支持tcp11211与udp11211 理论上可以放大40万倍,实际上可以发大5万倍

    这是一些常用协议的反射倍数
    在这里插入图片描述

    关于dns反射拒绝服务的攻击脚本

    python脚本

    from scapy.all import *
    import threading
    def test():
            a = IP(dst='8.8.8.8',src='172.16.11.18')
            b = b = UDP(dport=53)
            c = DNS(id=1,qr=0,opcode=0,tc=0,rd=1,qdcount=1,ancount=0,nscount=0,arcount=0)
            c.qd = DNSQR(qname='www.baidu.com',qtype='A',qclass=1)
            send(a/b/c)
    for i in range(50):
            t=threading.Thread(target=test)
            t.start()
    

    在这里插入图片描述

    展开全文
  • 拒绝服务攻击/分布式拒绝服务攻击

    万次阅读 2019-02-28 15:40:21
    拒绝服务(Denial of Service,简称DoS) 是一种简单的破坏性攻击。通常是利用传输协议下的某个弱点、系统存在的漏洞、或服务器的漏洞。对目标系统发起大规模的进攻。用超出目标处理能力的海量数据包消耗可用系统资源...
  • Android App通用型拒绝服务漏洞介绍

    千次阅读 2021-12-01 13:50:35
    Android 本地拒绝服务漏洞 漏洞类型:本地拒绝服务 威胁等级:中 影响版本:Android系统所有版本 漏洞描述 Android系统提供了Activity、Service和Broadcast Receiver等组件,并提供了Intent机制来协助应用间的...
  • 关于拒绝服务攻击 DOS攻击

    千次阅读 2022-04-13 14:45:39
    目录 一介绍: 1.1 数据链路层拒绝服务攻击 1.2 网络层的拒绝服务攻击 1.3传输层的拒绝服务攻击 1.4基于应用层的拒绝服务攻击 一介绍: 拒绝服务就像是,我们中午在食堂吃饭,但是食堂提供的餐桌是有限的,往往需要...
  • 【网络与系统安全实验】拒绝服务攻击及防御 拒绝服务攻击概述 拒绝服务攻击的概念 “拒绝服务”这个词来源于英文Denial of Service(简称DoS),它是一种简单的破坏性攻击,通常攻击者利用TCP/IP协议中的某个弱点,...
  • 11.4. 拒绝服务攻击

    千次阅读 多人点赞 2020-08-05 17:02:10
    拒绝服务攻击11.4.1. 简介11.4.2. UDP反射11.4.3. TCP Flood11.4.4. Shrew DDoS11.4.5. Ping Of Death11.4.6. Challenge Collapsar (CC)11.4.7. 基于服务特性11.4.8. 参考链接 11.4. 拒绝服务攻击 11.4.1. 简介 DoS...
  • 缓慢的HTTP拒绝服务攻击漏洞

    千次阅读 2021-02-26 17:43:40
    缓慢的HTTP拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量HTTP请求攻击,直到服务器带宽被打满,造成了拒绝服务。 慢速HTTP拒绝服务攻击经过不断的演变和...
  • 分布式拒绝服务(DDoS:Distributed Denial of Service):攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常该攻击方式利用目标...
  • 超详细缓慢的http拒绝服务攻击验证

    万次阅读 2019-03-12 17:26:32
    什么是Http拒绝服务攻击? 缓慢的http拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击,直到服务器带宽被打满,造成了拒绝服务。 慢速HTTP...
  • 【系统安全学习3】拒绝服务攻击

    千次阅读 2022-03-27 16:41:42
    拒绝服务攻击 一、实验目的: 掌握TCP洪水攻击、UDP洪水攻击、HTTP请求洪水攻击等拒绝服务攻击的基本原理。 学会使用LOIC等软件实现拒绝服务攻击。 了解拒绝服务攻击的危害,掌握拒绝服务攻击的症状以及检测方法。 ...
  • 什么是分布式拒绝服务攻击?

    千次阅读 2022-01-06 11:15:57
    当多台机器一起运行以攻击一个目标时,就会发生分布式拒绝服务 (DDoS) 攻击。DDoS 攻击者通常利用僵尸网络(一组被劫持的互联网连接设备)进行大规模攻击。攻击者利用安全漏洞或设备弱点,使用命令和控制软件来控制...
  • python编写ARP拒绝服务攻击脚本

    千次阅读 2022-03-25 20:23:18
    python编写拒绝服务攻击脚本
  • 拒绝服务攻击原理

    万次阅读 2018-11-03 17:07:52
    拒绝服务攻击原理 原创: 计算机与网络安全 计算机与网络安全 今天 一次性进群,长期免费索取教程,没有付费教程。 教程列表见微信公众号底部菜单 进微信群回复公众号:微信群;QQ群:16004488 微信公众号:计算机与...
  • Kali渗透-DDOS拒绝服务攻击

    千次阅读 多人点赞 2020-03-06 22:28:44
    演示如何借助 Kali Linux 系统内置的一个 TCP/IP 数据包组装/分析工具 hping 和在 Github 上开源的一个 DOS 攻击 Python 脚本,对局域网内的 Win7 主机自行搭建的 IIS 服务站点进行 DOS 拒绝服务攻击,使得受害主机...
  • 详细描述 缓慢的HTTP拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量HTTP请求攻击,直到服务器带宽被打满,造成了拒绝服务。 慢速HTTP拒绝服务攻击经过不断...
  • 拒绝服务攻击分类及原理、特点

    千次阅读 2021-06-19 09:25:13
    从攻击作用机理的角度,拒绝服务供给可以分为哪三类?简述这三类拒绝服务供给的基本原理和各自主要特点。 拒绝服务攻击:泛指一切导致目标服务不可用的攻击手段,包括对物理环境、硬件、软件等各个层面所实施的...
  • DOS攻击(拒绝服务攻击)

    千次阅读 2020-10-09 17:04:34
    拒绝服务攻击的概念 拒绝服务攻击通常是利用传输协议的漏洞、系统存在的漏洞、服务的漏洞,对目标系统发起大规模的攻击,用超出目标系统处理能力的海量数据包消耗可用系统资源、带宽资源等,或造成程序缓冲区溢出...
  • 缓慢的http拒绝服务攻击

    千次阅读 2020-07-08 15:16:17
    缓慢的http拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击,直到服务器带宽被打满,造成了拒绝服务。 慢速HTTP拒绝服务攻击经过不断的...
  • ​ (你的世界是个什么样的世界?...利用系统漏洞进行拒绝服务攻击 1.利用系统漏洞进行拒绝服务攻击 扫描445或者3389的机器 利用MS12-020漏洞 使用metasploit进行攻击 使用metasploit进行SynFlood...
  • Centos7修复OpenSSL拒绝服务漏洞(CVE-2022-0778) 。sshd服务漏洞修复
  • 智能合约漏洞——拒绝服务

    千次阅读 2021-05-28 10:25:32
    拒绝服务攻击,也就是DOS(Denial of Service)攻击, (1) 智能合约中基于一个可以被外部调用来控制的数据来执行循环,比如 contract DistributeTokens { address public owner; address[] investors;// 投资人数...
  • Windows TCP/IP 拒绝服务漏洞(CVE-2021-24086)
  • python编写ARP拒绝服务攻击脚本--网路嗅探
  • 停止现有的vsftpd服务 service vsftpd stop 在线卸载vsftpd yum remove -y vsftpd 删除以前的目录 rm -rf /etc/vsftpd -R 软连接 ln -s /lib64/libcap.so.2.16 /usr/lib/libcap.so 下载vsftpd、解压 cd...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 425,915
精华内容 170,366
关键字:

拒绝服务

友情链接: 入门常用python.rar