基于web的攻击行为简介(一)

基于web的安全攻击防御调研

说明:基于web的攻击方式有很多,此处记录了本人近期接触的DOS,DDOS及CSRF攻击进行介绍。

目录

基于web的安全攻击防御调研

一、DOS攻击

1. 简要描述

2. 攻击及应对措施

二、DDOS攻击

1. 简要描述

2. 攻击及应对措施

三、CSRF攻击

1. 简要描述

2.攻击及应对措施


一、DOS攻击

1. 简要描述

    DoS(Denial of Service,拒绝服务攻击),它的原理很简单,就是用我们手里的机器去给服务器发请求,如果我们手头的服务器各方面性能都比服务器的主机的性能好,那么当我们发送大量请求给服务器,占用服务器的资源,导致服务器没有能力去处理其他用户请求。DOS攻击常在TCP数据通信过程中进行攻击。

基于web的攻击行为简介(一)

2. 攻击及应对措施

  1. SYN Flood

1)攻击方式

SYN Flood正是利用TCP协议中三次握手的设定,达到攻击的目的。攻击者伪装大量的IP地址给服务器发送SYN报文,由于伪造的IP地址几乎不可能存在,也就几乎没有设备会给服务器返回任何应答了。因此,服务器将会维持一个庞大的等待列表,不停地重试发送SYN+ACK报文,同时占用着大量的资源无法释放。更为关键的是,被攻击服务器的SYN_RECV队列被恶意的数据包占满,不再接受新的SYN请求,合法用户无法完成三次握手建立起TCP连接。也就是说,这个服务器被SYN Flood拒绝服务了。

2)解决方案

这部分可以通过设置内核参数来进行防御。

  1. ACK Flood

1)攻击方式

ACK Flood攻击是在TCP连接建立之后,所有的数据传输TCP报文都是带有ACK标志位的,主机在接收到一个带有ACK标志位的数据包的时候,需要检查该数据包,如果在检查中发现该数据包不合法,例如该数据包所指向的目的端口在本机并未开放,则主机操作系统协议栈会回应RST包告诉对方此端口不存在。 这里,服务器要做两个动作:查表、回应ACK/RST。这种攻击方式显然没有SYN Flood给服务器带来的冲击大,因此攻击者一定要用大流量ACK小包冲击才会对服务器造成影响。对于Apache或者IIS来说,10kpps的ACK Flood不构成危胁,但是更高数量的ACK Flood会造成服务器网卡中断频率过高,负载过重而停止响应。可以肯定的是,ACK Flood不但可以危害路由器等网络设备,而且对服务器上的应用有不小的影响。

2)解决方案

目前并无比较完美的办法,不过可通过防火墙的配置进行简单防护:建立一个hash表,用来存放TCP连接“状态”,相对于主机的TCP stack实现来说,状态检查的过程相对简化。例如,不作sequence number的检查,不作包乱序的处理,只是统计一定时间内是否有ACK包在该“连接”(即四元组)上通过,从而“大致”确定该“连接”是否是“活动的”。

    • 总结

综上,DOS主要的攻击原理都为利用大量的无效数据包,消耗服务器资源,一般处理方案可通过配置系统防火墙等参数进行防护,如果在公网中受到大型攻击,可以考虑通过第三方平台进行防护(例:阿里DDOS云防御系统)。

 

二、DDOS攻击

1. 简要描述

分布式拒绝服务攻击(Distributed Denial of Service),简单说就是发送大量请求是使服务器瘫痪。DDos攻击是在DOS攻击基础上的,可以通俗理解,dos是单挑,而ddos是群殴,因为现代技术的发展,dos攻击的杀伤力降低,所以出现了DDOS,攻击者借助公共网络,将大数量的计算机设备联合起来,向一个或多个目标进行攻击。它是基于自然流量的一种攻击。

基于web的攻击行为简介(一)

2. 攻击及应对措施

  1. 攻击方式

SYN Flood攻击,攻击者伪造了大量的ip地址并发出请求,这个时候服务器将维护一个非常大的半连接等待列表,占用了大量的资源,最后服务器瘫痪。 CC攻击,在应用层http协议上发起攻击,模拟正常用户发送大量请求直到该网站拒绝服务为止。 被攻击的原因:   服务器带宽不足,不能挡住攻击者的攻击流量。

  1. 预防方案   

最直接的方法增加带宽。但是攻击者用各地的电脑进行攻击,他的带宽不会耗费很多钱,但对于服务器来说,带宽非常昂贵。可借助云服务商平台,云服务提供商有自己的一套完整DDoS解决方案,并且能提供丰富的带宽资源。

    • 总结

对抗DDoS攻击是一个涉及很多层面的问题,抗DDoS需要的不仅仅是一个防御方案,一个设备,一个有效的机制。DDoS是目前最凶猛、最难防御的网络攻击之一。现实情况是,这个世界级难题还没有完美的、彻底的解决办法,但可以采取适当的措施以降低攻击带来的影响、减少损失,可以从以下几个方面进行:

1)扩充带宽

2)使用硬件防火墙

3)选用高性能设备

4)负载均衡

5)流量清洗(通过第三方公司服务进行)

6)分布式集群防御

7)筛查系统漏洞

8)系统资源优化

9)过滤不必要的端口和服务

10)限制特定的流量

    

三、CSRF攻击

1. 简要描述

    csrf全名为(Cross site request forgery)跨站请求伪造,是一种对网站的恶意利用,虽然听起来和xss很像,但是它们俩还是有很大的区别的。csrf是通过伪造来自受信任用户的请求来利用受信任的网站。CSRF攻击与XSS攻击不同,CSRF攻击不会往页面内注入恶意脚本,因此黑客是无法通过CSRF攻击来获取用户页面数据的,所以主要由服务器来做预防。

基于web的攻击行为简介(一)

2.攻击及应对措施

  1. 攻击方式

1)用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;

2)在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;

3)用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;

4)网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;

5)浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。

  1. 应对措施

目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。

  • 总结:

    CSRF防御,关键是保证后端只能接受自己的前端放送过来的POST/PUT/DELET这些增删改的接口。至于为什么不屏蔽GET呢?由于屏蔽了外网站的GET也就屏蔽了网站外链接,那么用户也没通过搜索或者导航网站进入。目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。三种方案各有优缺点,综合对比后,采用第二种方式收益更好。

 

上一篇:网络攻击


下一篇:最全DDOS攻击介绍