就在杜老师在外出差的几天,去不图床又遭受攻击了。在周末返程休息时,从圈内小伙伴的口中得知有小伙伴博客也被攻击了。面对常见网络攻击技术,杜老师打算聊下 DDoS!
需要手动点击播放:
每个励志成为传奇黑客的年轻人都面临一个 Hello World,而每个所谓安全的网络系统,最终都有一个不安全的隐患,恰巧他们都是同一个东西 DDoS。
作为一个历史悠久网络攻击手段,DDoS 攻击手法暴力且直接,但破坏力惊人,也缺乏彻底的根治方法,人们在它的身上吃尽了苦头。
在现代网络战争中,DDoS 往往作为一场有规模有组织的黑客攻击行动佯攻手段,在 DDoS 洪水的掩护下,伺机而入万军中取上将首级。
那么 DDoS 攻击为何在各种黑客的技术中起起伏伏,攻伐思路的来来去去之间能如此恒久远涌流传下去,至今仍为网络安全的一个心头大患呢?我们不妨来赏析下 DDoS 攻击的技术细节。
1996 年 9 月 6 日美国纽约著名的互联网服务商服务器受到每秒高达 150 次异常连接攻击,导致服务器疲於应对这些非法的流量而拒绝正常用户的合法请求。这是目前大家比较认可的历史上第一次 DDoS 攻击。
DoS 拒绝服务顾名思义即通过占用网络资源让它应接不暇,从而拒绝正常的业务流量的一种网络攻击方式。而我们所说的 DDoS 则是 DoS 攻击的分布式版本,俗称群殴。
单台设备攻击能力有限,治理起来也较容易。但是当几十几百甚至成千上万个设备组成一个网络同时对目标发起 DoS 攻击时无异于一场灾难。故大家一般用 DDoS 指代一般意义的拒绝服务攻击。
而发起攻击的网络一般称为僵尸网络。每一个僵尸可以是一台个人电脑,可以是一台服务器,甚至可以是部智能手机。
而为了得到这样的一个僵尸网络则是八仙过海各显神通。或因为穷,或因为技术过硬的人士利用木马、蠕虫、后门等恶意程序感染大量的设备形成僵尸网络。
而富人则比较轻松,通过某些渠道直接花钱就可以购买到。理论上花的钱越多得到的僵尸网络规模就越大、攻击力就越强。
1999 年 8 月 17 日美国明尼苏达大学的服务器在至少 200 多台设备的 DDoS 攻击下服务被迫中止了两天,而这 200 多台发起攻击的设备都是在不知情的情况下被感染而成为僵尸网络中的一员。
在通过 IP 追踪并让设备停止攻击之后问题还是未能完全解决,因为不断的有新的攻击设备加入进来。
DDoS 攻击和其它利用程序漏洞攻击阴谋不同,这种直接粗暴的方式算是种阳谋,大家知道是怎么发生的但又无可奈何。直到今天 DDoS 问题都没有也无法被完全解决。
为了了解 DDoS 攻击手段的巧妙,我们要先了解一点互联网的工作方式。
一次网络访问过程简化来看是这样的,客户端通过网络线路向远程的服务器请求内容,服务器按照客户端需求或查询或计算出相应的数据,再通过网络线路送给客户端。
这个数据在两端流转的行为和传统的邮递过程是相似的,传统邮递依靠的是邮政系统。而现代互联网中数据的流转依靠的是以 TCP/IP 协议为核心的通信系统。
TCP/IP 参考模型是一个四层结构,我们可借助传统的邮递系统对此做个模拟。
写信的时候大家一般会遵从约定格式,比如先写对方称呼,加个冒号换行再写正文,结尾写上此至敬明,最后写上署名、日期。
类似于四层结构中的应用层规定了一些数据内容的协议规则,如我们上网时常用的 HTTP 协议就属于这一层。
写完信以后我们可以做一个标记,比如使用特定图案蜜蜡封信,或是盖上一个红戳。对方根据这些标记决定如何回复,要不要加急要不要确认一下对方的身份等。
这类似于四层结构中的传输层规定数据的传输方式。比如这层中大家都熟悉的 TCP 协议,为了保证通信的可靠性需要先经历三次握手再发起数据传输。
实际上对于一次可靠的通信过程事先的沟通是很必要的,这在日常生活中很常见。
TCP 协议用三次握手做到了这一点,换句话说在正式写信说正事之前先发送三封确定彼此的信建立一种可靠的连接。
第一次在 TCP 协议的信件上有几个关键的字段,发起 TCP 连接时我方先把 SYN 设为 1,ACK 设为 0,再选择一个顺号 X,然后发送出去。
第二次对方收到之后回复一封信,把 SYN 设置为 1,ACK 设为 1,确认号设为 X+1,同时也选择一个顺号 Y。
第三次我方收到回信后,把 SYN 设置为 0,ACK 设为 1,确认号设为 Y+1,顺号设置为 X+1,再次发送出去。
如此一个 TCP 连接就建立起来,接下来就可以发送用户的数据了。
因为有三次握手的存在,通信要更可靠,类似于即时通信这样的软件多采用 TCP 协议在客户端和服务器之间建立一个连接信道。
而这一层中还有一个著名的 UDP 协议它没有那么麻烦,不需要反复握手建立连接直接把数据投递出去,也不管对方是否收到,所以这是一种不可靠的协议。
而用来装信件的信封类似四层结构中的网络层,主要规定了通信双方地址的编码规则,这一层采用的是 IP 协议,所以大家经常会听到所谓设备 IP 地址。
而一封信的投递最终依靠是邮局,邮局把信件打包装车后,根据收件的地址把信件投递到目的地。
这一层对应四层网络中的子网层是信息传递的物理载体,如以太网卫星网等。
这四层结构从应用层到子网层数据按照不同的协议被不断的打包,到达目的地后刚好是相反的拆包过程而最终被目标接收。
可以看出来其中最为核心的是互联网层中的 IP 协议,只要是按照 IP 协议封装的数据都能被发送。
不论是以太网卫星网还是其它物理实现的子网,正如只要按照信封上的格式写好收发地址装入信件就可以被投递到目的地,不论是走陆运空运还是海运。
IP 协议让不同的子网络被互联了起来,从这个通信过程中我们发现从数据离开到最终到达,这一路几乎每个地方都有被 DDoS 攻击的机会。