剖析DDOS攻击原理&攻击种类
1)学习Linux技术,后期一般是从事Linux运维系统,作为运维人员的工作职责之一:保障企业服务器、门户网站、业务系统、数据库等高效的、稳定的运行,一旦被黑客攻击,能够第一时间找到问题&从而解决问题。
2)在企业生产环境中,黑客攻击Linux服务器,常见的攻击手段、攻击方法:
♦SQL注入攻击
SQL注入就是指Web应用程序对用户输入数据的合法性没有判断,前段传入后端的参数是攻击者可控的,并且参数代入数据库查询,攻击者还可以通过构造不同的SQL语句来实现对数据库的任意操作。
♦XSS跨域攻击
跨站脚本(Cross-Site Scripting,简称为XSS或跨站脚本或跨站脚本攻击)是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。它允许恶意用户将代码注入网页,其他用户在浏览网页时就会受到影响。恶意用户利用XSS代码攻击成功后,可能得到很高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
XSS攻击可以分为三种:反射性、存储型和DOM型。
♦上传木马文件
上传文件时,如果服务端代码未对客户端上传的文件进行严格的验证和过滤,就容易造成可以上传任意文件的情况,包括上传脚本文件(asp、aspx、php、jsp等格式的文件)。
♦CC网页攻击
攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(Challenge Collapsar)。
CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当可观。
♦SYN Flood洪水攻击
拒绝服务攻击即是攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。
♦暴力破解攻击
暴力破解的产生是由于服务器端没有做限制,导致攻击者可以通过暴力的手段破解所需要的信息,如用户名、密码、验证码等。暴力破解需要一个庞大的字典,如4位数字的验证码,那么暴力破解的范围就是0000-9999,暴力破解的关键在于字典的大小。
♦DDOS攻击
分布式拒绝服务攻击可以使很多的计算机在同一时间遭受到攻击,使攻击的目标无法正常使用,分布式拒绝服务攻击已经出现了很多次,导致很多的大型网站都出现了无法进行操作的情况,这样不仅仅会影响用户的正常使用,同时造成的经济损失也是非常巨大的。
分布式拒绝服务攻击方式在进行攻击的时候,可以对源IP地址进行伪造,这样就使得这种攻击在发生的时候隐蔽性是非常好的,同时要对攻击进行检测也是非常困难的,因此这种攻击方式也成为了非常难以防范的攻击。
3)DDOS(分布式拒绝服务攻击),是黑客人员最常用的攻击方式之一,是目前世界上攻击方式最有效的、最难彻底防御的攻击种类,其破坏性极大,可以导致服务器、网站、业务系统资源耗尽、瘫痪等。
4)DDOS攻击原理:
黑客人员模拟数以万计的客户端(计算机),项目标服务器发起请求(FTP、HTTP、TCP、ICMP、ARP),目标服务器会进行响应和处理,但是由于请求的数量非常大,会导致目标服务器资源(CPU、MEM、I/O、带宽)耗尽,拒绝提供任何无付了,连正常用户访问也无法处理。
5)DDOS攻击不只是一款软件,也不是一种独立的攻击方式,其攻击方式、种类非常多,常见的DDOS种类有哪些呢?
♦基于ARP协议攻击
♦基于ICMP攻击协议
♦基于IP协议攻击
♦基于TCP协议攻击
♦基于应用层协议攻击
6)TCP三次握手原理:
♦客户端与服务端进行通信,首先客户端先服务端发起SYN新建请求+Seq序列号,服务端收到客户端发送的请求后,会进行响应和处理,服务端也会向客户端发起STN新建请求+Seq序列号,同时会发送一个ACK确认号(ACK=第一次Seq+1)“告诉客户端,我已收到你的新建请求,同意跟你建立连接”。
♦客户端收到服务端发送的SYN新建请求+Seq序列号+ACK确认号之后,会最后向服务端发送ACK确认号,连接通道建立完成,接下来彼此之间可以相互发送格子数据
7)DDOS(SYN Flood)攻击原理:
♦黑客模拟数以万计的客户端(计算机),想服务器发起SYN新建请求+Seq序列号,突然假死或者宕机,服务端收到客户端发送的请求后,会进行响应和处理,服务端也会向客户端发起STN新建请求+Seq序列号,同时会发送一个ACK确认号(ACK=第一次Seq+1)“告诉客户端,我已收到你的新建请求,同意跟你建立连接”,处于等待(等待客户端第三次确认)状态。
♦因为客户端假死、宕机了,客户端不会发送第三次的ACK确认信息,服务端为了维持数以万计的会话列表而消耗大量的资源(CPU、MEM、I/O、带宽),还会对请求进行重试,资源耗尽拒绝提供任何服务,连正常的用户访问也无法响应了。