听·时光

# 《白帽子讲Web安全》学习笔记之——SYN Flood攻击与CC攻击

学习 Tags: syn flood,cc 阅读: 763

晚上兄弟学校一位教师写的一个考试系统受到了恶意的攻击,导致考试系统异常卡甚至打不开,远程登录也十分地卡。登录查看了一下日志,发现存在大量的SYN Flood攻击和CC攻击。
查阅了道哥的《白帽子讲Web安全》,大概了解了这2种攻击方式。
SYN Flood和CC都属于DDOS攻击。所谓DDOS(分布式拒绝服务)本是利用合理的请求造成资源过载,导致服务不可用。DDOS攻击,将正常的请求放大了若干倍,通过若干网络节点同时发起攻击,以形成规模效应。大规模的DDOS攻击,几乎是不可阻挡的。

SYN Flood攻击利用了TCP协议设计中的缺陷:在攻击时伪造大量的源Ip地址,分别向服务器发送大量的SYN包,此时服务器会返回SYN/ACK包,因为源地址是伪造的,所以伪造的IP并不会应答,而服务器端没有收到伪造IP的回应,会重试3-5次并且等待一个SYN Time(30秒-2分钟),如果超时则丢弃这个连接。
攻击者大量发送这种伪造源地址的SYN请求,服务器将消耗大量的资源来处理这种半连接,同时还要不断地对这些IP进行SYN/ACK重试。最后的结果是服务器无暇处理正常的连接请求,导致拒绝服务。

CC攻击的原理则是对一些消耗资源较大的应用页面不断发起正常的请求,以达到消耗服务器端资源的目的。
比如之前某个单位的旧版网站被人发现了搜索页面存在一个漏洞(搜索页面后面带某个参数可以读取数据库所有文章的数据),而攻击者每秒钟大量请求这个页面,最后结果是只要开启网站服务器,服务器CPU在一分钟以内使用率达到100%。后面我把这个搜索页面移除了,攻击就无效了。现在想来,当初那个攻击就是CC攻击。

如道哥所言,DDOS攻击迄今为止也没有一个完美的解决方案,就像锤子科技坚果手机发布会前夕其官网就被DDOS攻击导致抢红包活动和坚果手机的预定受到了影响。优化服务器和程序,可以有效缓解DDOS攻击,但无法根除其威胁,如果攻击流量过大,只能与网络运营商合作,共同完成DDOS的响应。

发表评论