黄 岷 李 强 刘银莲 李端肃
甘肃银光化学工业集团有限公司 甘肃 白银 730900
随着第四届互联网大会—乌镇峰会的完美谢幕,“发展数字经济促进开放共享—携手共建网络空间命运共同体”的主题得到升华。而会议提到的四大板块“数字经济”、“前沿技术”、“互联网与社会”、“网络空间治理”以及“网络安全闭门会”无不强调“网络安全”的重要性,DoS攻击作为网络攻击最常见的攻击类型,其技术含量虽然不高,但是其攻击有效性是有目共睹的,而面对当前计算机CPU性能的提升,内存容量大幅提升情况,其变种型DDoS攻击更让人头疼。说到底DoS攻击才是它的本源,故本文主要对DoS常见的攻击类型做一个简单的介绍。
所谓“DoS”并不是“磁盘操作系统”而是“Denial of Service”的缩写,即拒绝服务。它是一种常见的网络攻击手段,大致思想是:用数据包淹没你的系统,以干扰或严重地使您的互联网连接降级,捆绑本地服务以导致合法的请求反而不能被响应,或者更严重地,使目标系统服务系统停止响应甚至崩溃,也就是出现“宕机”。简单地说,就是利用网络协议的缺陷,发送大量看似合理的请求数据包耗尽目标系统的资源,这些资源可以是“网络带宽,文件系统空间容量,开放的进程或者允许的连接”,尔后,由于系统资源被迅速耗尽直至真正合法的请求得不到响应,造成了拒绝服务的后果。攻击者惯用的几种DoS攻击,包括以下几个方面:
俗称“SYN洪水”攻击。攻击者通过发送大量的半连接请求,即只完成到TCP连接的第二次握手,而第三阶段的握手,永不发生,这样由于大量的SYN攻击,而只要打开了TCP服务的系统,卡在了第二次握手阶段,进入SYN-RECV状态,而服务器未收到客户端的确认包时,重发请求,会直至超时,才将此条目从未连接队列删除。问题在于,攻击者的连接请求到来的时间远远短于TCP超时释放资源的时间。而更可恶的是,攻击不仅仅是纯粹地不发送ACK确认包,而是结合IP地址欺骗,在客户端伪造出大量不存在的源地址,聪明的攻击者会在源地址过滤掉的合法分类中伪造IP地址,这样不仅能够避开防火墙,还能隐藏自己真实的IP地址。结合IP地址欺骗的攻击,会使目标系统不断地向不存在客户端发送超时连接请求,从而使未连接队列被急剧地占用,而无法响应正常的SYN请求。从而导致网络堵塞甚至目标系统瘫痪,宕机。
俗称“死亡之ping”我们知道在TCP/IP的RFC官方文档中对各类数据包都攻击者发送更多简单的ping包,但是这种ping包极其地大,从而淹没数据连接,使被攻击主机的带宽接近崩溃,从而阻止其他合法流量达到受害者主机。这个我们提供了另外一个思路,即所有的攻击并不是尝试闯入我们的计算机,而是仅仅来破坏您的系统,它的目标不是窃取您系统隐私数据,而是让您的计算机不能承受之重,直至崩溃。
我们知道不同的链路类型能够支持的最大传输单元值(MTU:Maxitum Transmission Unit)主要是由相关RFC文档规定的,常见的以太网链路的MTU值为1500,如果超出该值,则在转发该报文之前,需要将其分片,分为多个适合于该链路类型传输的报文,这些分片报文在到达接收方的时候,由接收方完成重组。而在合理的分片里,第一个分片会包含UDP或TCP报头中通常的源端口号和目的端口号,而后续的分片则不包含。当数据被分片时,中间路由器不会重组这些数据包,而是把任务留给目的主机或者其邻近的路由器。
缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。溢出的数据覆盖在合法数据上。理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。而其一个致命的使用就是让程序执行它本来不愿意执行的函数,让其成为攻击代码。
从以上的DoS攻击类型来看,拒绝服务的攻击可以被大致理解为:一是利用网络协议存在的缺陷进行攻击,二是直接暴力攻击。其目的无非是使网络中的系统资源被耗尽,这些资源可以是“内存”,“网络带宽”,“开放的连接”等。其使用的攻击手段可以是自身产生大量的垃圾数据包,也可以是利用“僵尸电脑”,俗称“肉鸡”去发送垃圾数据包造成受害者网络带宽拥塞,而是合法流量无法进入。当然另外一种是对网络连通性攻击,可以通过洪泛的无用连接请求,冲击受害主机,使得被攻击者无暇去顾及正常合法的请求。