深刻了解DoS攻击-理论

关键词:DoS 网络协议 服务资源 攻击类别linux

DoS攻击原理

DoS攻击是指利用网络协议漏洞或其余系统以及应用软件的漏洞耗尽被攻击目标资源,使得被攻击的计算机或网络没法正常提供服务,直至系统中止响应甚至崩溃的攻击方式,即攻击者经过某种手段,致使目标机器或网络中止向合法用户提供正常的服务或资源访问。
服务资源:网络带宽、磁盘容量、开放的进程和容许的链接。数据库

DoS攻击成因

  • 利用现有网络协议中存在的缺点
  • 利用现有软件和应用程序自身的漏洞
  • 利用合法的服务请求耗尽服务资源

DoS攻击的分类以下图所示:
DoS攻击分类segmentfault

如下将对每个攻击类别作简要的介绍:windows

SYN Flood

SYN flood

攻击特征
  • 目标主机的网络上出现大量的SYN包,而没有相应的应答包
  • SYN包的源地址多是伪造的,甚至无规律可循
防止措施

1.针对网络:缓存

  • 防火墙或者路由器能够在给定时间内只容许有限数量的半开链接
  • 入侵检测,能够发现这样的DoS攻击行为

2.针对主机:安全

  • 限制SYN Timeout的时间
  • 打补丁:Linux和Solaris使用了一种被称为SYN cookie的技术来解决SYN Flood攻击:在半开链接队列以外另设置了一套机制,使得合法链接得以正常继续

死ping(ping of death)

原理
  • 直接利用ping包,即ICMP Echo包,有些系统在收到大量比最大包还要长的数据包,会挂起或者死机
攻击方法
  • 直接利用ping工具,发送超大的ping数据包
防止措施
  • 打补丁:如今全部的标准TCP/IP实现都已实现对付超大尺寸的包,而且大多数防火墙可以自动过滤这些攻击,包括:从windows98以后的windows,NT(service pack 3以后),linux、Solaris、和Mac OS都具备抵抗通常ping of death攻击的能力
  • 防火墙能阻止这样的ping包
攻击指令
  • Windows:ping -l 65570 [IP Addr]
  • UNIX:ping –s 65570 [IP Addr]
    (合法的包的大小范围是0-65500)

泪滴(teardrop)

原理
  • 发送一系列高度碎片化的过大的ICMP数据包
  • IP碎片攻击利用那些在TCP/IP协议栈实现中,信任IP碎片中的包的标题头所包含的信息来实现本身的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4之前的NT)在收到含有重叠偏移的伪造分段时将崩溃(此部份内容将在下一篇DDoS实践中详细说明)
常见的IP碎片程序
  • jolt二、teardrop、newtear、syndrop、boink等
防护措施
  • 服务器应用最新的服务包,或者在设置防火墙时对分段进行重组,而不是转发它们

带外传输攻击(Winnuke)

原理
  • 向Windows系统的目标端口(5三、13七、13八、139)发送带外数据,目标主机在处理带外数据时会出现挂起和重启动等异常现象,大多数状况会致使系统死机
防护措施
  • 升级补丁

Echo-chargen攻击

原理
  • 各类各样的假冒攻击利用简单的TCP/IP服务,如chargen和Echo来传送毫无用处的占满带宽的数据
  • 经过伪造与某一主机的chargen服务之间的一次的UDP链接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间的足够多的无用数据流,若是足够多的数据流就会致使带宽耗尽的拒绝服务攻击
防护措施
  • 关掉没必要要的TCP/IP服务
  • 对防火墙进行配置阻断来自Internet对这些服务的UDP请求

Land攻击

原理
  • 在Land攻击中,构造一个特别的SYN包,它的原地址和目标地址都被设置成某一个服务器地址,此举将致使接受服务器向它本身的地址发送SYN ACK消息,结果这个地址又发回ACK消息并建立一个空链接,每个这样的链接都将保留直到超时掉,对Land攻击反应不一样,许多UNIX实现将崩溃,NT变得极其缓慢(大约持续五分钟)
    (这是一种比较老的攻击,目前大部分操做系统都能避免)
防护措施
  • 打最新的补丁
  • 在防火墙进行配置,将那些在外部接口上入站的含有内部源地址滤掉(包括10域、127域、192.168域、172.16到172.31域)

Ping flood

原理
  • 发送大量的ping包耗尽服务资源。前提是掌握足够多的的肉鸡。
    (PingFlood和死ping不一样,一个是发送大小足够大的包,一个是发送数量足够多的包)
防护措施
  • 防火墙
  • IP安全策略

Smurf

攻击特征
  • 涉及到三方:攻击者、中间目标网络、受害者
  • 以较小的网络带宽资源,经过放大做用,吃掉较大带宽的受害者系统
  • smurf放大器

smuf放大器网络:不只容许ICMP Echo请求发给网络的广播地址,而且容许ICMP Echo-Reply发送回去
样的公司越多,对Internet的危害就越大服务器

实施smurf攻击
  • 须要长期的准备,首先找到足够多的中间网络
  • 集中向这些中间网络发出ICMP Echo包
防护措施
  • 针对最终受害者cookie

    • 没有直接的方法能够阻止本身接收ICMP Echo Reply消息
    • 在路由器上阻止这样的应答消息,可是,路由器自己会遭受DoS攻击
    • 与中间目标网络联系
  • 针对中间网络网络

    • 关闭外来的IP广播消息,可是,若是攻击者从内部机器发起攻击,仍然不能阻止smurf攻击
    • 配置操做系统,对于广播地址的ICMP包不响应

Udp flood

原理
  • 发送大量的UDP包
防护
  • 防火墙

修改ARP缓存

原理
  • ARP是地址解析协议,将IP地址转换为物理地址,攻击者向肉鸡发送虚假的IP/MAC对应信息,篡改网关MAC地址,使受害者成为假网关。
    修改ARP缓存只能被用于局域网(黑客必须已经得到局域网中某台机器的访问权)
防护措施
  • 网关创建静态IP/MAC对应关系,各主机创建MAC数据库
  • 创建DHCP服务器
  • IDS监听网络安全

修改DNS缓存

原理
  • DNS用于实现域名解析,也就是将域名对应到相应的IP地址。客户端以特定的标识ID向DNS服务器发送域名查询数据包,DNS服务器查询以后以一样的ID返回给客户端响应数据包,攻击者拦截该响应数据包,并修改其内容,返回给客户端。将用户访问的合法网址重定向到另外一个网址。
防护措施
  • 将用户访问的合法网址重定向到另外一个网址
  • 直接用IP地址链接服务器
  • 用加密的链接访问服务器,如SSL

注:若想了解ARP欺骗和DNS欺骗的实现可查看上一篇文章四种假消息攻击分布式

理论学习到这里就结束了,虽然这都是一些过期了的DoS攻击,可是了解经典、知其原理才能给本身带来收获和灵感,千里之行始于足下,懂得攻击的原理才会懂得如何防护,若是你对DoS感兴趣,能够关注个人下一篇文章“拒绝服务攻击的发展趋势-DDoS(分布式拒绝服务攻击)”,会安利一个简易的DDoS工具哦。

(注:本人是个刚起步的小菜鸡,表达能力也不强,总结得不对的地方还请你们多多包涵,欢迎你们相互交流,共同窗习,一块儿进步,感激涕零)
【同步更新于:https://www.jianshu.com/p/b9bd3e96f899

相关文章
相关标签/搜索