DDoS攻击防范(精选11篇)
DDoS攻击防范 第1篇
关键词:DDoS,攻击检测,分组过滤,IP追踪
1 引言
2013年3月16日, 互联网历史上最大规模DDoS (Distributed Denial of Service, 分布式拒绝服务) 攻击事件发生。欧洲反垃圾邮件组织Spamhaus对外宣称遭受高达300Gbps的DDoS攻击, 而在此之前最大规模的DDoS攻击也只有120Gbps左右。Spamhaus的安全服务托管公司Cloudflare将攻击流量引向了分布于全球的25家大型互联网数据中心, 在化解攻击的同时也导致了全球互联网短时间访问变慢, 因此也遭到了某些欧洲电信运营商的指责与抱怨。
DDoS攻击者利用成百上千个“被控制”结点向受害结点发动大规模的协同攻击。通过消耗带宽、CPU和内存等资源, 达到使被攻击者的性能下降甚至瘫痪和死机, 从而造成其他合法用户无法正常访问。和DoS (Denial of Service, 拒绝服务) 攻击比较起来, 其破坏性和危害程度更大, 涉及范围更广, 也更难发现攻击者。
而近年来, DDoS攻击已经愈演愈烈, 成为了互联网安全的主要威胁之一。
2 DoS与DDoS
2.1 DoS
从广义上来说, 任何导致被攻击的服务器不能正常提供服务的攻击手段都属于DoS攻击的范畴。直观地说, 就是攻击者过多地占用系统资源直到系统繁忙、超载而无法处理正常的工作, 甚至导致被攻击的主机系统崩溃。它利用网络连接和传输时使用的TCP/IP、UDP等各种协议的漏洞, 使用多种手段充斥和侵占系统的网络资源, 造成系统网络阻塞而无法为合法的网络用户进行服务。
DoS攻击最简单的方法利用了系统的设计漏洞, 比如Ping of Death (POD, 死亡之Ping) 、Teardrop等等。其中Ping of Death就是通过发送超过IPv4最大封包大小65535字节的ping封包, 从而导致系统崩溃。
另一种DoS攻击方法是利用计算量很大的任务, 比如加密解密操作, 大量消耗被攻击主机的CPU资源, 达到攻击的目的。
2.2 DDoS
DDoS与上述的DoS攻击方式都不同, 它不依赖于特定的网络协议和系统漏洞, 主要利用系统的管理漏洞掌握一批傀儡主机的控制权, 在时机成熟时, 控制傀儡主机同时向被攻击主机发送大量无用的分组, 使得被攻击主机的CPU资源、网络连接带宽被耗尽而无法再接受合法用户的连接请求, 从而出现了拒绝服务的现象。
2.3 DDoS攻击方法
DDoS的攻击方法有很多, 本文就两个较为典型的方法SYN Flood和Smurf, 详细阐述一下DDoS攻击的方式。
2.3.1 SYN Flood
SYN Flood是一种直接攻击的方式, 这种攻击利用了TCP协议的“三次握手”机制, 具体如图1所示。攻击者向被攻击主机的TCP服务器端口发送大量的SYN报文, 被攻击主机对此发出SYN+ACK报文进行应答, 但由于攻击者的报文源地址一般都是伪造的, 因此被攻击主机无法收到由这些源地址返回的ACK报文, 造成第三次握手无法完成。攻击者通过这种方式使得被攻击主机维持一个大量的半连接列表, 而被攻击主机也不断对这个列表中的IP地址进行SYN+ACK重试, 直到等待超过SYN超时周期才丢弃原来的连接。这不仅消耗了被攻击主机大量的CPU和内存资源, 使得被攻击主机忙于处理攻击者伪造的大量TCP连接请求而无暇顾及用户的正常请求, 也十分容易造成TCP/IP协议栈的堆栈溢出崩溃。
2.3.2 Smurf
Smurf则是一种间接攻击方式, 也称作反射攻击, 其具体攻击方式如图2所示。这种攻击结合使用了IP欺骗和ICMP回复方法, 通过向被攻击主机所在子网的广播地址发送欺骗性的ICMP应答请求数据包, 导致该子网内的所有主机都对此ICMP应答请求做出回复, 向欺骗性分组中的IP地址发送echo响应信息, 使得被攻击主机很快就会被大量的echo信息淹没, 最终致使网络阻塞, 从而拒绝用户的正常服务请求。而Smruf攻击可以通过过滤发向子网广播地址的分组来进行防范, 因此现在这种攻击已经变得非常少见了。
2.3.3 比较分析
上述两种攻击方法的区别在于, 直接攻击, 如SYN Flood, 采用了攻击者直接通过傀儡主机向被攻击主机发送大量请求报文的方法, 主要是为了占用被攻击主机大量的CPU、内存资源;而反射攻击, 如Smurf, 则采用了攻击者通过向反射结点发送需要响应的请求, 使得反射结点向被攻击主机发送大量响应分组的方法, 主要是为了耗尽被攻击主机网络链路的带宽。
3 DDoS攻击的防范
3.1 概述
DDoS攻击至今没有非常有效的解决办法, 因此一直是网络稳定与安全的重要威胁, 且在近年来被攻击者所广泛采用, DDoS的防范技术也成为了网络信息安全的重要议题之一。
从DDoS攻击过程的原理来看, 提高用户和管理员的安全意识、定期扫描系统检查不明的非法进程可以降低受控者被攻击者控制的概率, 使得DDoS攻击所必须的大量傀儡机在实施攻击前就发现问题, 脱离攻击者控制。
但是, 仅从这个方面来预防DDoS攻击还是不够的, 现在大部分网络用户的安全意识不高, 成为傀儡机的可能性非常大, 这就对攻击检测、分组过滤和事后追踪提出了更高的要求。
3.2 攻击检测
3.2.1 基于误用的DDoS攻击检测
基于误用的DDoS攻击检测是指根据事先收集的已有DDoS攻击的各种特征, 与当前网络中数据分组的特征相互比较, 若匹配则有可能发生了DDoS攻击。这种方法一般用于检测利用系统的漏洞进行攻击的DDoS攻击, 而它也依赖于已有DDoS攻击特征的选取。
这种检测方法主要是利用特征匹配、模型推理等方法, 但是这种基于过去统计信息上的检测方式, 虽然能在一定程度上检测出已知的DDoS攻击, 但对新的攻击却是无效的。此外, 每次在新的攻击特征被发现时, 还要对检测系统增加新的检测规则, 管理人员必须维护一个不断增长且十分庞大的检测系统。同时, 由检测规则的增长所造成的检测速度下降也是不容忽略的。
总体来说, 基于误用的DDoS检测的误报率低, 但检测率却不高, 且它往往依赖于具体的环境, 可移植性和可扩展性较差。
3.2.2 基于异常的DDoS攻击检测
基于异常的DDoS攻击检测是指通过监视系统审计记录上系统使用的异常情况, 根据其偏离正常状态行为的程度来决定是否构成DDoS攻击警报。现在大多数的DDoS攻击检测都采用了异常检测技术。
异常检测系统通常采用模式识别技术来学习正常的状态行为和已知的入侵行为, 其有效性也取决于模型的建立。在异常检测中, 可以使用诸如数据挖掘、人工神经网络和模糊理论等来检测网络的入侵。
相对于基于误用的检测技术来说, 基于异常的检测建立的是正面行为模型, 检测率很高, 但误报率也同样较高。其最大的有点事能够识别未知的攻击手段, 也不需要对每种攻击特征都进行定义成为检测规则。
3.2.3 混合模式DDoS攻击检测
至今为止, 没有研究结果说明了哪一种DDoS攻击检测方式对于所有的DDoS攻击都有效, 因此出现了误用DDoS攻击检测和异常DDoS攻击检测两种方式结合使用的混合模式DDoS攻击检测方法, 这样能够相互弥补各自的缺陷, 达到高检测率的同时也能保持低误报率, 达到更理想的检测效果。通常情况下, 混合模式DDoS攻击检测采用数据挖掘的办法, 先由异常检测来发现DDoS攻击, 再从攻击中提取攻击特征成为误用检测规则, 再利用误用检测的方法来检测DDoS攻击。
3.3 分组过滤
由于DDoS攻击的分布式特征, 分组过滤的难度往往大于攻击检测。随着攻击分组越接近被攻击主机, 虽然攻击检测变得越来越有效, 而分组过滤却变得越来越困难, 更多的正常分组可能会被当做攻击分组而被过滤掉。因此, 分组过滤与攻击检测的效率是近乎成反比的, 本文就针对攻击者所在网络和被攻击者所在网络两个位置所实行的过滤方法进行简单的阐述。
3.3.1 输入分组过滤
在攻击者所在的源网络中, 虽然很难通过攻击检测方法检测到DDoS攻击, 但是仍然可以根据地址欺骗信息过滤掉不正常的分组。和攻击者源网络相连的ISP可以对源地址欺骗的分组执行输入分组过滤, 这可以过滤掉直接攻击中的攻击分组和反射攻击中从受控傀儡机到反射结点的攻击分组, 但在所有ISP网络入口执行输入分组过滤几乎是不可能的, 虽然其拥有较低的计算需求和技术复杂度, 但部署难度却十分高。
3.3.2 基于路由的分组过滤
基于路由的分组过滤策略 (Route-based Packet Filtering, RPF) 的主要思想是把输入分组过滤的功能扩展到Internet核心网络。这种过滤策略通过分布在Internet中的多个分组过滤器收到的分组的源和目的地址以及BGP路由信息, 以检查收到的分组是否来自于正确的链路。这种方式也很有可能会将正常分组丢弃, 因为Internet的路由是不断变化的。此外, 这种过滤策略还需要对BGP路由协议扩展成能够携带源地址信息的协议, 这会大大增加BGP报文的长度和处理BGP报文的开销。而基于路由的分组过滤策略也只能够过滤掉源地址欺骗的分组, 而无法过滤反射攻击中由反射结点发出的具有合法源地址的分组。
3.4 IP Traceback
上文提到的攻击检测和过滤技术都是针对DDoS攻击发生过程中的措施, 而在DDoS攻击发生之后, 如何能够简单地追查到攻击者的真正源地址, 也十分的重要, 这就提出了IP Traceback (IP追踪) 技术。
3.4.1 数据包标记
数据包标记的主要思想是以某种概率标记数据包的部分路径信息, 当被攻击主机受到DDoS攻击时接收到了足够的攻击分组, 就可以根据得到的信息恢复出完整的攻击路径。
最简单的标记算法是用IP地址来标记数据包, 当分组通过路由器时将路由器的地址添加到分组的尾部, 而被攻击主机收到的分组都包括了一条完整的攻击路径。另一种方法是边缘标记, 这需要两个节点组成边缘, 即起始地址和结束地址, 边缘标记算法可简单地描述如下:
3.4.2 链路测试
链路测试技术适用于攻击过程中的IP追踪, 主要可分为两种, 即输入调试和受控洪泛。
大多数路由器, 例如CISCO等都提供了输入调试功能。当被攻击主机检测到DDoS攻击时, 路由器将通知网络管理员有关攻击和攻击的特征, 而网络管理员在被攻击主机的上游路由器的输出端口安装输入调试过滤器, 并找出攻击分组的到达端口, 然后再通知到达端口对应的上游路由器继续此过程直至发现真正的攻击。
上述的输入调试需要有网络管理员的支持, 而受控洪泛则不需要, 因为它通过洪泛大量的分组对链路进行测试。当洪泛分组通过攻击分组经过的链路时, 由于路由器缓存资源的共享性, 攻击分组会收到洪泛分组的影响。通过观察攻击分组的变化情况, 可以找到相应的攻击路径, 而受控洪泛的方法本身就属于一种DDoS攻击。
3.4.3 ICMP Traceback
当一个数据包在路由器之间传递时, 路由器会发送一个已验证的ICMP Traceback消息给数据包的目的地址或源地址。这个消息中包含了源、目的IP地址和相邻路由器等信息。当被攻击主机遭受到DDoS攻击时, 可以通过足够多的来自路径上各个路由器的traceback消息, 重新构建攻击路径并确定攻击者的源地址。该策略类似于数据包标记策略, 不同的是它并不在IP分组中做标记, 而是通过ICMP分组发送标记信息。
4 结束语
DDoS攻击是现在互联网安全的最主要也是最难解决的威胁之一。本文主要阐述了DDoS攻击的原理和方法, 并列举说明了现在对DDoS攻击的防范措施, 并分析了这些防范措施的有效性, 一定程度上解释了DDoS攻击难以解决的部分原因, 比如互联网的开放性、网络协议自身的缺陷等等。
随着互联网的普及和网络技术的发展, 互联网用户也成直线上升并维持在一个非常庞大的数字, 但是大部分的互联网用户的安全意识较为薄弱, 这也给攻击者到来了可乘之机, 这也是DDoS攻击在近年来越发猖獗的原因之一。从理论上来说, 直接攻击时可以通过输入分组过滤来进行防范的, 但事实是在互联网上同时部署那么多的分组过滤器是几乎不可能的。
DDoS攻击的防范需要用户、网络管理员、ISP等的共同努力。一方面, 要提高互联网用户的安全意识, 防止系统被攻击者所利用;另一方面, 也需要ISP之间的协力合作。只有通过多方面的努力, 加强DDoS攻击理论方面的研究, 才能慢慢杜绝DDoS攻击。
参考文献
[1]朱少彰, 崔宝江, 李剑.信息安全概论[M].北京:北京邮电大学出版社, 2007.
[2]徐恪, 徐明伟, 吴建平.分布式拒绝服务攻击研究综述[J].小型微型计算机系统, 2004, (25) :337-346.
[3]Stenfan Savage, D.Wetherall, A.Karlin, T.Anderson.Practical Network Support for IP Traceback[J].ACM SIGCOMM, 2008.
[4]严芬, 王佳佳, 赵金凤, 殷新春.DDoS攻击检测综述[J].计算机应用研究, 2008, (25) :966-969.
DDoS攻击防范 第2篇
到目前为止,进行DDoS攻击的防御还是比较困难的,首先,这种攻击的特点是它利用了TCP/IP协议的漏洞,除非你不用TCP/IP,才有可能完全抵御住DDoS攻击。一位资深的安全专家给了个形象的比喻:DDoS就好象有1,000个人同时给你家里打电话,这时候你的朋友还打得进来吗?
不过即使它难于防范,也不是说我们就应该逆来顺受,实际上防止DDoS并不是绝对不可行的事情。互联网的使用者是各种各样的,与DDoS做斗争,不同的角色有不同的任务。我们以下面几种角色为例:
企业网管理员
ISP、ICP管理员
骨干网络运营商
企业网管理员
网管员做为一个企业内部网的管理者,往往也是安全员、守护神。在他维护的网络中有一些服务器需要向外提供WWW服务,因而不可避免地成为DDoS的攻击目标,他该如何做呢?可以从主机与网络设备两个角度去考虑。
主机上的设置
几乎所有的主机平台都有抵御DoS的设置,总结一下,基本的有几种:
关闭不必要的服务 限制同时打开的Syn半连接数目
缩短Syn半连接的time out 时间 及时更新系统补丁
网络设备上的设置
企业网的网络设备可以从防火墙与路由器上考虑。这两个设备是到外界的接口设备,在进行防DDoS设置的同时,要注意一下这是以多大的效率牺牲为代价的,对你来说是否值得。
1.防火墙
禁止对主机的非开放服务的访问
限制同时打开的SYN最大连接数
限制特定IP地址的访问
启用防火墙的防DDoS的属性
严格限制对外开放的服务器的向外访问
第五项主要是防止自己的服务器被当做工具去害人。
2.路由器
以Cisco路由器为例
Cisco Express Forwarding(CEF)
使用 unicast reverse-path
访问控制列表(ACL)过滤
设置SYN数据包流量速率
升级版本过低的ISO
为路由器建立log
server
其中使用CEF和Unicast设置时要特别注意,使用不当会造成路由器工作效率严重下降,升级IOS也应谨慎,
路由器是网络的核心设备,与大家分享一下进行设置修改时的小经验,就是先不保存。Cisco路由器有两份配置startup config和running config,修改的时候改变的是running config,可以让这个配置先跑一段时间(三五天的就随意啦),觉得可行后再保存配置到startup config;而如果不满意想恢复原来的配置,用copy start run就行了。
ISP / ICP管理员
ISP / ICP为很多中小型企业提供了各种规模的主机托管业务,所以在防DDoS时,除了与企业网管理员一样的手段外,还要特别注意自己管理范围内的客户托管主机不要成为傀儡机。客观上说,这些托管主机的安全性普遍是很差的,有的连基本的补丁都没有打就赤膊上阵了,成为 最喜欢的“肉鸡”,因为不管这台机器 怎么用都不会有被发现的危险,它的安全管理太差了;还不必说托管的主机都是高性能、高带宽的-简直就是为DDoS定制的。而做为ISP的管理员,对托管主机是没有直接管理的权力的,只能通知让客户来处理。在实际情况时,有很多客户与自己的托管主机服务商配合得不是很好,造成ISP管理员明知自己负责的一台托管主机成为了傀儡机,却没有什么办法的局面。而托管业务又是买方市场,ISP还不敢得罪客户,怎么办?咱们管理员和客户搞好关系吧,没办法,谁让人家是上帝呢?呵呵,客户多配合一些,ISP的主机更安全一些,被别人告状的可能性也小一些。
骨干网络运营商
他们提供了互联网存在的物理基础。如果骨干网络运营商可以很好地合作的话,DDoS攻击可以很好地被预防。在20yahoo等知名网站被攻击后,美国的网络安全研究机构提出了骨干运营商联手来解决DDoS攻击的方案。其实方法很简单,就是每家运营商在自己的出口路由器上进行源IP地址的验证,如果在自己的路由表中没有到这个数据包源IP的路由,就丢掉这个包。这种方法可以阻止 利用伪造的源IP来进行DDoS攻击。不过同样,这样做会降低路由器的效率,这也是骨干运营商非常关注的问题,所以这种做法真正采用起来还很困难。
无惧DDos攻击 企业应对有道 第3篇
其实,DDos攻击早已不是什么新鲜事,类似的攻击几乎每天都在上演。然而伴随IT技术的不断演变,DDos攻击自身也在不断变化。比如,攻击复杂性日渐增加,从过去针对TCP协议本身发起攻击逐渐转向针对应用发起攻击。攻击流量日益增大,从过去的千兆到如今的上百Gb。攻击更具组织化,从过去黑客自行发起攻击到如今组织人员发起攻击,而这些直接导致DDos攻击越来越难以防范。
DDos攻击是一种怎样的攻击方式、有着怎样的特性、会造成什么样的危害、企业该如何预防、当前有一些什么样的技术可以预防?
问道DDos攻击
根据维基百科对DDos攻击的定义,DDoS攻击即分散式阻断服务攻击(Distributed denial of service)。简单而言,即利用网络上已被攻陷的电脑作为“僵尸”,向某一特定的目标电脑发动密集式的“拒绝服务”式攻击,从而耗尽目标电脑的网络资源及系统资源,使之无法向正常请求的用户提供服务。
按照TCP/IP协议的分层模型,目前主流DDos攻击可分为四层DDos攻击和七层DDos攻击两种。其中,四层DDos攻击主要指在TCP传输层进行的攻击,其主要利用TCP协议本身的特点发起攻击;而七层DDos攻击则是直接针对应用(主要是HTTP/HTTPS协议)发起攻击。由于应用本身相对复杂,因此七层DDos攻击相对而言也更加复杂和多样化。
从攻击手段及攻击方式来看,DDos攻击主要包括三类:一是大流量型攻击,主要凭借大量的僵尸网络和应用层DDoS来攻击受害者,如大流量访问需要消耗大量系统资源的url,从而导致Web应用崩溃。二是匿名者组织人员进行攻击,其通过社交网络组织大量人力并提供LOIC和JS LOIC工具,由于都是真实存在的人员而非僵尸主机,所以这种攻击更加难以防范。三是慢客户端攻击,其利用HTTP协议本身的缺陷,只需要很少的资源即可快速攻陷目标站点,典型的工具如Slowloris。
从对DDos攻击概念的解释中不难看出,DDoS攻击最终目的是通过各种手段消耗被攻击对象的网络带宽和系统资源,从而造成网络拥塞、服务器死机,影响受害主机与外界的正常通信。
因此,DDos造成的危害也显而易见。华三公司相关负责人在接受采访时表示,根据攻击目标性质的不同,DDoS攻击所造成的危害也不尽相同。例如,对于大型互联网内容提供商,尤其是电商、咨询网站,如淘宝、百度等,一旦遭受攻击,将影响大量用户的使用,对企业声誉、用户使用都会造成巨大的影响。针对ISP/ICP/IDC等网络基础提供商的攻击影响更大,一旦其基础设施被攻陷,一个或若干区域的用户将受到影响。而针对国家级重要门户网站的攻击,一般带有政治因素,影响面将更广。
应对之策
毫无疑问,一旦遭受DDos攻击,无论是国家、企业还是个人用户,所面临的损失都是巨大的。那我们究竟该如何应对DDos攻击、预防DDos攻击能否做到万无一失呢?答案显然是否定的。在记者对包括华三、梭子鱼、Fortinet(飞塔)、山石网科等在内相关专家的采访中,所有人都给出了一样的答案,即防御DDoS攻击,我们不可能做到万无一失,但通过一些积极的措施可以防御大多数DDos攻击,有效降低DDos攻击所带来的风险。
而从目前各厂商所推出的防御DDos攻击解决方案来看,其原理也都大同小异,其中异常流量检测、异常流量清洗基本属于必需组件,其他方面各有千秋。
比如,华三在2007年就推出了防御DoS和DDoS攻击的产品,专门针对运营商和行业客户推出了流量清洗运营解决方案。该产品由三部分组成,包括异常流量检测设备(AFD)、异常流量清洗设备(AFC)和可运营的清洗管理系统。
与华三单独推出DDos防御解决方案不同,梭子鱼则将该功能集成到了Web应用防火墙中。不过,虽然称为Web应用防火墙,但其功能并非仅停留在防御七层的DDos攻击上,梭子鱼相关负责人在接受采访时表示,梭子鱼Web应用防火墙同样能够满足用户对四层DDos攻击的防御需求。
Fortinet最新推出的FortiDDoS B系列产品,在应对DDoS攻击方面同样可圈可点。比如,在性能方面,Fortinet自行开发的FortiASIC-TPTM 芯片(流量处理器),单芯片可处理高达4Gbps的DDoS流量;在功能方面,其通过持续的流量自学习功能,可以为用户网络建立应用流量模型,并针对每种流量制定相应的阈值,对异常流量进行拦截。
另外,Fortinet公司技术工程师韩晔还给出了一些建议。他说,DDoS攻击通常都由僵尸网络发起,如果能从源头对僵尸网络进行拦截,将达到事半功倍的效果。而在这方面,Fortinet也有相应的产品线FortiGate,其可通过IP信誉库、已知僵尸网络应用程序检查等方式,从源头对僵尸网络进行阻截。
除此之外,山石网科则明确地提出了智能防御DDos攻击的概念。他们认为,从DDos的攻击效果来看主要分为两种,一种是阻塞出口带宽,另一种则是消耗服务器资源。其中,阻塞出口带宽只能通过运营商或CDN厂商在远端引流清洗回注,消耗服务器资源则可以通过在本地部署高性能防火墙进行防御。据悉,目前山石网科高性能防火墙除了能够做到基于会话数和包速率限制防御各种洪水攻击、基于特征识别防御各种畸形报文攻击外,还能支持SYN Cookie智能防御SYN Flood、HTTP Cookie智能防御HTTP Flood(CC)等。
不要觉得DDos攻击离你还很远,就像A10 Networks副总裁兼大中华区总经理蔡所说,“我们无法预知下一次DDos攻击是在什么时间,黑客在发起下一波攻击之前不会提前宣布,因此我们要时刻做好准备。”
对DDoS攻击与防范的研究 第4篇
关键词:DDoS攻击,Syn Flood,DDoS防御
0 引言
0.1研究背景
DDoS(Distributed Denial of Service)即分布式拒绝服务,将多台计算机联合起来作为攻击平台,对目标发动DDoS攻击,本质上是资源超载攻击,导致目标对合法用户的服务质量降低或中断。由于DDoS实施容易、难于防范,会使服务器或网络设备长时间不能为合法用户提供服务。
0.2 DDoS发展现状
通过受控主机进行分布式的高强度攻击;产生随机的源IP地址,保护攻击源不被追踪;攻击数据包结构随机变化,很难用统一的方法检测;利用网络协议缺陷与系统漏洞缺陷;更高的发包速率等。
1 DDoS的特征
(1)伪造源IP地址:使用伪造的源IP地址,在攻击包的包头写入假源IP地址,使防御系统追踪代理机器非常困难。
隐藏代理机器的地址可以为攻击者下一次攻击重复使用提供方便。因为攻击包携带了大量不同的地址,像是来自不同的地方,使得用来解决资源超载的公平分配技术失效。
IP地址欺骗使得攻击者能执行反弹攻击。利用反弹服务器反弹DDoS的攻击包,通过发送大量的欺骗请求数据包给Internet上大量的服务器群,服务器群收到请求后将发送大量的应答包给victim,使受害者更难以用Traceback跟踪技术去查找攻击来源。
服务器不知道合法服务被用在了攻击中,它们没有攻击者的任何信息,而且服务不能被停止,对其它客户造成严重影响。依赖于这些服务器的资源和请求流量,它们能够通过限制对一个特定的IP地址的应答服务器数量来预防反弹攻击,这种方法要求服务器缓存请求地址,潜在消耗了内存。
(2)代理机器:利用代理机进行攻击,使追查难度加大,阻碍了成功追查后所需采取的行动。
(3)攻击流与合法流量的相似性:任何类型的通信流量都能用来进行一次成功的DDoS攻击。如果攻击的目标仅仅是削弱目标机的服务能力,能通过发送非常大的任何通信流量并堵塞目标端网络来实现。攻击者能产生类似合法的数据包来执行攻击任务,使得合法通信和恶意攻击流没有多大区别,基于纯粹检查单个数据包的方式不容易过滤掉攻击包。
2 DDoS攻击
2.1 DDoS攻击步骤
(1)了解被攻击目标主机数目、地址、配置。
(2)利用扫描器去发现互联网上有漏洞的机器,像程序的溢出漏洞cgi、Unicode、ftp、数据库漏洞,随后就是尝试入侵。
(3)登录到作为控制台的傀儡机,向所有的攻击机发出命令,攻击机中的DDoS攻击程序会响应控制台的命令,一起向受害主机以高速度发送大量的数据包,导致死机或无法响应正常请求。攻击者一边攻击,还会用各种手段来监视攻击的效果,在需要时进行调整。
2.2 DDoS攻击方式
(1)SYN/ACK Flood攻击:向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包造成拒绝服务。由于源IP是伪造的,追踪较困难,少量攻击会导致主机服务器无法访问,但可以Ping。在服务器上用Netstat-na命令会观察到存在大量的SYN_RECEIVED状态,大量攻击会导致Ping失败、TCP/IP栈失效,出现系统停滞现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。
(2)TCP全连接攻击:常规防火墙大多具备过滤Tear Drop、Land等DDoS攻击的能力,对于正常的TCP连接是放过的,很多网络服务程序(如IIS等Web服务器)能接受的TCP连接数是有限的。一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多傀儡主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽被拖跨,从而造成拒绝服务。
(3)刷Script脚本攻击:针对存在ASP、JSP、PHP、CGI等脚本程序,并调用SQL Server、Oracle等数据库的网站系统而设计,特征是和服务器建立正常的TCP连接,不断向脚本程序提交查询、列表等大量耗费数据库资源的调用。提交一个GET或POST指令对客户端的耗费和带宽的占用几乎可以忽略,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费很大。常见数据库服务器很少能支持数百个查询指令同时执行,而这对客户端却轻而易举。攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,对只有静态页面的网站效果会较差,有些Proxy会暴露攻击者的IP地址。
3 DDoS的防御技术研究
3.1 入侵检测系统
(1)协议分析是利用网络协议的高度规则性快速探测攻击的存在,即便在高负载的网络上,也可以探测出各种攻击,并对其进行更详细的分析而不会丢包。协议分析方法对协议误用的攻击比较有效,对“泛洪”式的拒绝服务攻击检测效果不好。
(2)特征匹配是将收集到的信息与已知的攻击特征进行比较,发现违背安全策略的行为。优点是只需收集与入侵相关的数据集合,可以显著减少系统负担,检测的准确率和效率比较高。
(3)统计分析使用两个算法和计算一定长度网络流量序列的IP地址、数据包长度等信息的统计分布值,根据这两个值来判断是否存在攻击。如果攻击者知道源地址频度分布,就可以在攻击时模拟这种分布,使得用上述方法计算的统计值接近于正常情况时的值,从而避免被检测到,在这种情况下该方法的检测率很低。
3.2 IP欺骗过滤
通过配置路由器阻止源地址不合法数据包,要求每一级ISP在转发数据包时,考察数据包的源地址,发现并禁止伪造地址的数据包。这个方法在ISP的网络边界处较有效,因为边界路由器地址比较明确,通信负载较低,有能力来验证源地址,区分合法和非法地址。但对于路由器,该算法产生的负载过重。
一种基于“跳数”的过滤(HCF)方法,攻击者不能伪造IP包到达目的“跳数”这一特性,基于“跳数”将地址前缀聚集建立一个准确的IP与“跳数”之间的映射表来检测和拒绝欺骗的IP包。利用网络测试数据分析,HCF可以丢弃接近约90%的欺骗IP数据包。此方法只需配置在终端系统,是一种在终端防范DDoS攻击的方法。
3.3 基于拥塞控制的DDoS防御机制
大多数的DDoS防御检测方法都属于攻击目标端防御,ACC机制是具有典型代表性的攻击目标端防御技术,主要包括本地基于聚集的拥塞控制ACC和Pushback两部分。本地ACC检测出存在DDoS攻击时,根据丢包情况识别出拥塞聚集特征。聚集指来自不同流却具有相同属性的数据包的集合。拥塞聚集特征即引起拥塞的数据包集合所具有的相同特征,然后根据网络情况,在满足其它合法数据包请求的情况下,对拥塞聚集加以限制。
识别出的DDoS有可能是一个合法包(大量用户同时向某个站点或者服务器发送请求的情形,也会造成被请求端出现拥塞、丢包等),这和拒绝服务攻击在被攻击端引起的状况很相似,很难找到把DDoS攻击包和合法包区分开的特征。如果丢包率很高,就根据邻近的上游路由器的连接情况,请求相应的路由器根据攻击特征采用限流机制,逐步要求上游路由器限流的过程是一个“回推”过程,是逐步接近攻击源的过程。
Pushback是一种基于路由器的主动防御DDoS攻击的机制,DDoS攻击造成拥塞控制。为使路由器的资源都被合理数据流使用,上游路由器需要被通知丢弃攻击包。Pushback的目标是在不妨碍合理数据流的情况下检测攻击包。检测出基于聚集的拥塞后,ACC代理需要通过Pushback代理决定是否调用回推。ACC代理只有关于自己输出队列的信息,Pushback代理综合来自输入输出队列的信息,发送和接收来自邻近路由器的信息。
3.4 DDoS攻击防范策略
(1)利用防火墙等安全设备,配置好安全规则,过滤可能伪造的数据包。
(2)遭受DDoS攻击时追踪攻击包,及时联系ISP,分析受影响的系统,确定涉及的结点,阻止已知攻击结点的流量。
(3)使用DDoS检测工具和反病毒软件,定期检查系统是否有DDoS攻击工具,及时清除。
4 结束语
DDoS防御措施涉及入侵检测系统、IP欺骗过滤、基于拥塞控制技术,合理配置防火墙和路由器也是防御DDoS的有效措施。今后要加强协同技术的研究,包括网络准入控制、检测模块、响应模块,网络设置的协同,形成全面的安全防御方案。
参考文献
[1]杨柳,刘乃琦.分布式拒绝服务攻击(DDoS)原理及防范[J].福建电脑,2004,(06).
[2]王学飞.DDoS攻击技术的新发展和对策[J].计算机应用与软件,2004(,05).
百度安全DDoS攻击报告 第5篇
攻击规模越来越大,分分钟超过12306的高峰期带宽;只需要用一个小时,用买苹果有线耳机的钱,黑客就能打垮一家网站;但是企业因此遭受的损失可能是一辆特斯拉,甚至一辆迈巴赫;不光谁火打谁,刚出道的也被打;越怕出事的时候,总有一次会出事;你的手机可能也是攻击者的武器;……
20那些史无前例的DDoS攻击的确让企业感到担忧,甚至连普通的网民都因为美国互联网瘫痪、暴雪公司多款致命游戏无法登陆等事件,了解了什么是DDoS攻击,它会带来哪些后果。
百度安全近日发布《年DDoS攻击报告》(以下简称《报告》)认为,DDoS攻击正呈现出大流量、多手段、IOT化的趋势。2016年百度安全为用户拦截的最大攻击流量接近400G,时间最长的攻击超过43天。
超过七成攻击集中在三大行业
哪些行业火、粉丝多、吸金快,哪些行业就容易被攻击。尤其是企业宣布融资、发布游戏、促销活动等时期,更容易遭受黑产的勒索攻击。
行业热、高利润、恶意竞争……,多种因素使得金融、游戏、电商三大行业历来是DDoS攻击的重灾区。《报告》显示,2016年互联网金融、电子商务、在线游戏依然位列前三,并且占据了全部DDoS攻击的71%。
《报告》披露,百度安全服务的某Top10游戏企业,曾连续43天遭受黑产DDoS攻击,峰值流量达到385G。攻击让这家游戏公司平均每天损失100万元。
无独有偶,去年11月俄罗斯五大主流银行遭遇长达两天的DDoS攻击,来自30个国家2.4万台计算机构成的僵尸网络持续不断发动强大DDoS攻击,每波攻击持续至少一个小时,造成数以万亿计的经济损失。
频繁骚扰 游击作战
DDoS攻击流量的数据不断刷新,峰值流量一年间翻了一番。这一方面是因为互联网企业的安全投入不断提升,带宽、DDoS防御能力越来越强,另一方面随着DDoS攻击黑色产业链的发展,攻击的门槛越来越低,“资源”也越来越丰富。黑客只要花上一顿饭功夫,用不到200元,就能发起一次DDoS攻击,并且让企业损失上百万元甚至更多。
虽然峰值流量不断被刷新,但是 10G以下的DDoS攻击仍然是现在的主流,占比将近一半。10G是什么概念呢?这相当于10万人在同时观看网红直播,或者是相当于12306最忙碌时候的带宽量。不过,即使这样的攻击规模,已经足以打垮大多数中小网站。而游戏、视频网站这些带宽充裕的行业,遭遇的攻击通常是这些量的10倍甚至几十倍。百度安全认为,未来随着越来越多的`物联网设备被黑客利用,大流量攻击甚至超高流量的DDoS攻击将越来越普遍。
从攻击时间上看,黑客就像是在打游击战,短时间、小流量的攻击居多。单次攻击在2小时以下的占到将近80%。之所以这样做,是因为既可以达到影响业务的目的,又难以被网管员觉察。而且黑产攻击的目的通常是勒索,只要达到 “威胁”“恐吓”的效果即可,不必动用大量成本发动大规模攻击。
从攻击方法上看,随着黑产的分工协作越来越紧密、黑产技术水平的不断提升,各种复杂的攻击手段混合起来,形成了复杂、隐蔽、高效的黑产产业链。给攻击检测和流量清洗都带来了更大的挑战。
即便是单纯的DDoS攻击中,也有45%的流量型攻击中混合了CC攻击。此外,反射放大型攻击因为效率高、流量大,也被越来越多的黑产所引用。百度安全预测,反射型攻击比例将持续上升,攻击类型将越来越复杂。
小心你的手机成为黑客的帮凶
去年的2016世界互联网大会上,百度创始人李彦宏曾经断言移动互联网时代已经结束,未来是人工智能和物联网的时代。在这个新时代,基于智慧城市、智能家居的不断发展,各种IOT设备数量大幅增加。
这些IOT设备也可能成为黑客发起DDoS攻击的帮凶。因为黑客发起客户攻击时,需要大量的“肉鸡”。这里的“肉鸡”与传统概念上的不同,黑客不会远程控制整个系统,只是劫持用户的某些行为。当用户访问某些网站或者某些APP的时候,就在不知情的情况下执行了恶意代码,从而对“目标”发起了一次非目的访问,而众多用户形成的访问就形成了DDOS攻击,尤其是cc攻击居多。
2016年网站类劫持83%,APP类劫持17%。其中APP类劫持呈现出上升的趋势,这是因为:
第一,随着企业加大对网络安全的投入和技术升级,对于网站的劫持、挂码越来越难,劫持生命周期也越来越短,只要用户清除服务器的页面木马,即可阻断攻击。
第二,随着移动互联网的到来,以APP端形式提供的网络服务越来越多,同时由于Android自身版本的碎片化以及应用市场的管理混乱导致安全漏洞百出,一些黑产组织开始逐渐偏向于利用端用户来发起攻击;
第三,APP用户只要下载并启动了绑定恶意代码的APP,就会向“目标”发起攻击。这意味着攻击量级受限于APP的分发量和活跃量。一般这类有规模的攻击背后通常都有实力不凡的黑产组织。
百度安全认为,未来人工智能将在与人们密切相关的衣食住行领域实现越来越多的行业应用。这些领域的DDoS攻击造成的危害也会越来越深刻。因此,智能家居、物联网相关企业,在发展之初就需要将安全因素纳入产品的顶层设计之中。
重大活动需提前设计网络安全策略
去年,记者在采访百度安全事业部总经理马杰时,对方曾表示,遇到DDoS攻击,企业切不可图眼前就向黑客支付勒索费,而是要与专业的第三方安全服务机构合作,联合起来抵御黑产。同时还要保存好证据,通过法律途径维护自身权益。
统计数据表明,恶意竞争是DDoS攻击的主要原因之一,尤其是在企业发布融资信息、新产品发布、促销和推广活动期间,最容易遭到恶意攻击和勒索。百度安全专家建议企业特别是在突发事件或者一些重大活动期间,最好预先设计网络安全策略,防止遭遇突发DDoS攻击。
此外,随着企业安全意识的提高,百度安全认为,取证并利用法律捍卫自身权益,将成未来的普遍趋势。因此,攻击溯源技术未来将成为安全厂商的服务标配。
DDoS新动向:慢速应用层攻击 第6篇
“与大流量攻击相比,慢速应用层攻击更为隐蔽。因为一般的防火墙、IPS、IDS都工作在2?3层,单纯从网络协议来看,攻击中的这些流量都是合法的,因此不会对其进行拦阻。”Arbor Networks(以下称Arbor)中国区总经理蔡志刚告诉记者。
据悉,大流量攻击是早些年黑客最常采用的DDoS攻击方式,主要是通过海量流量使得网络带宽和基础设施饱和,从而淹没网络。因为一旦流量超过网络的容量或者网络与互联网之间的承受能力,网络将无法访问,从而导致作为攻击目标的服务难以启用。而慢速应用层攻击则采用更加复杂的办法来达到终止服务的目的,即针对特定的应用或者服务缓慢地耗尽应用层的资源,比如,通过消耗HTTP应用的连接状态表资源,使Web应用瘫痪。
“要应对这类DDoS攻击,需要安全防护设备具备识别应用程序的能力,也就是安全防护设备要工作在4~7层,而不是一般网络安全设备的2~3层。” 蔡志刚说。
针对DDoS攻击方式的最新变化,Arbor推出了一种名为Pravail可用性保护系统(APS)的安全产品。据蔡志刚介绍,APS可集中保护企业周边免遭可用性攻击,尤其是能预防应用层的DDoS攻击。尤为值得一提的是,企业用户部署的这款安全设备还可以与上游电信服务商部署的Arbor Peakflow SP平台配合使用,在用户遭到大流量甚至超流量的带宽攻击时,会通过上行带宽给上游的Peakflow SP平台发送一条云信令指令,令其中断恶意流量,从而确保网络的畅通。
DDoS攻击防范 第7篇
近年来, 越来越多的服务提供商开始利用WiFi卸载蜂窝数据流量来适应无线用户的增长, WLAN (无线局域网) 开始覆盖各个公共场所。AC (接入控制器) 作为控制接入点设备的管理者[1], 其安全问题需要得到足够的重视, 其中DDOS (分布式拒绝服务) 攻击为各个设备厂商最为头疼的安全问题[2]。一旦攻击发生, 将会直接影响AC的维护管理。抵御DDOS攻击将会对WLAN的正常维护起决定性作用。
Netfilter (网络过滤器) 作为Linux内核中一个重要的安全架构体系, 随着Linux内核的逐步更新与完善, 其功能与性能也在逐步增强, 并且由于其源码的开放性, 开发者可对其进行合理的规则配置和二次开发, 以构建满足需求的防火墙。
本文提出一种可降低AC成本, 且保证性能和管理不受影响的安全方案, 并设计了一种可防范DDOS攻击的防火墙。
1 相关原理
1.1 Netfilter架构
Netfilter是一种可进行包过滤的底层框架, 以IPv4为例, 其运用5个可以在关键点被激活调用的Hook (钩子) 函数, 以实现防火墙的功能。所以, Netfilter的架构对各种TCP/IP (传输控制协议/网际协议) 是有效的, 可以通过预定的规则对数据包进行操作, 如丢弃、转发以及修改[3]。
Netfilter-IPv4数据包处理流程如图1所示。在数据包进入网口A以后, 系统会对包进行IP校验。接着包会进入源地址转换的处理函数 (NF_IP_PRE_ROUTING) , 然后通过路由, 根据目的地址的不同来决定包的不同去向。转发包会经过转发包过滤函数的处理直接交给目的地址转换处理函数。本地包则会通过输入包过滤函数交给上层协议, 再经由输出包过滤函数, 查询路由表后也交给目的地址转换函数。最后从网口B输出。
Netfilter系统分别由Filter (数据包过滤) 表、Mangle (数据包处理) 表和NAT (网络地址转换) 表体现其规则, 在Linux应用中, 是使用iptables对其进行配置。
1.2 DDOS攻击分析
DDOS中最常见的攻击方式为利用TCP漏洞来攻击TCP的服务, 其中SYN Flood (标识握手信号的洪流攻击) 为最常见的攻击形式, 其使Telnet、SSH (安全外壳) 协议和FTP (文件传送协议) 等基于TCP的服务无法正常工作。而这些应用层的服务是网络设备的重要操作和维护手段, 所以本文将TCP的防护作为研究的重点。
SYN Flood中, 攻击者向攻击对象发送大量的TCP SYN包, 但不发送ACK (确认字符) 包, 使攻击对象为此次连接分配一个特定的数据区, 产生大量的半开链接, 造成大量的资源浪费, 直到耗尽。SYN Cookie (标识握手信号的本地数据) 是一种用来防范SYN Flood的手段, 其通过对TCP服务端的三次握手协议进行一些修改来规避TCP自身的漏洞。正常情况下, 服务器在返回TCP SYN+ACK的包时, 会分配专门的一个数据区来设置重传定时器等。而SYN Cookie机制则省去了这一步, 通过计算一个Cookie值来替代。在收到TCP ACK后再验证TCP ACK的合法性, 可通过验证Cookie值的正确性来达到判断TCP ACK合法性的预期效果[4]。图2所示为SYN Cookie的处理流程。
2 AC中基于Netfilter的DDOS防火墙设计
当前的Netfilter框架体系, 由于其局限性, 无法应对特殊的网络攻击, 指定的规则仅能基于流量大小或者IP地址对攻击源进行封堵、抵御, 同时也有可能会影响正常数据包的传递。为了不修改内核TCP/IP协议栈的代码, 方便今后协议栈的升级, 本节将在内核防火墙Netfilter中结合SYN Cookie技术进行改进, 以实现在发生攻击时具有保护系统、记录攻击日志的功能。
首先, 我们需要选择对内核防火墙进行二次开发的位置。根据图1, 数据包进入Netfilter后, 将在经过第一个路由后分别进入两个不同的Hook (钩子) 函数:输入包过滤函数和转发包过滤函数。经过输入包过滤的数据包才会交给TCP处理, 所以在Hook函数NF_IP_LOCAL_IN后增加一个Hook函数NF_TCP_SYNCOOKIE_OP较为合理。另外, 我们仅仅是对TCP包进行处理, 为了提高处理效率, 将对非TCP数据包进行直接放行。因此, 在NF_TCP_SYNCOOKIE_OP函数前插入一个TCP筛选器。改进后的Netfilter结构如图3所示。
NF_TCP_SYNCOOKIE_OP函数需要具备以下功能: (1) 与TCP客户端进行三次握手; (2) 收到SYN后产生SYN Cookie; (3) 判断是否遭受ACK攻击; (4) 判断SYN Cookie的合法性; (5) 与TCP服务端进行三次握手。
传统SYN Cookie无法解释SYN中MSS (最大分段大小) 、时间戳等字段的含义, 通过参考linux内核协议栈中的tcp_ipv4.c文件, 在功能 (1) 中集成对MSS和时间戳的识别[4], 确保协议的稳定性。
按照SYN Cookie的思想, 建立合法连接前不会预先分配内存空间, 所以TCP重传定时器无法开启, 若正常连接发生丢包现象, 将影响正常通信。考虑到SYN Cookie的这种缺陷, 在功能 (2) 中, 一方面将SYN+ACK合并成一个包发送, 降低丢包概率;另一方面, 预先分配合适大小的内存池用于重传机制的正常运转, 通过管控内存池的最大字节数, 防止内存耗尽。当所需内存超过最大内存数时, 暂时关闭低权限用户TCP连接的定时器生成功能, 保证白名单中的管理IP可正常登录。
同时, 若攻击者伪造大量ACK进行攻击, 防火墙将会疲于判断Cookie的合法性, 而耗尽系统资源。所以NF_TCP_SYNCOOKIE_OP在功能 (3) 中, 需要判断是否遭到ACK Flood, 若判断出ACK异常, 则将源IP地址加入防火墙的黑名单中。NF_TCP_SYNCOOKIE_OP函数的状态机迁移图如图4所示。
4 NF_TCP_SYNCOOKIE_OP函数状态机迁移图
数据包在NF_TCP_SYNCOOKIE_OP函数中进行判断是否为DDOS攻击报文, 合法报文才允许与AC主进程进行交互。各状态分析如下:
SYN/ACK状态:攻击者或者正常客户端向AC发送SYN请求, 防火墙解析出SYN的MSS和时间戳, 并且代替TCP模块回应SYN/ACK数据包, SYN与ACK合并为一个数据包发出[5]。
生成Cookie状态:为了使攻击者无法伪造Cookie, 将采用Cookie与每次TCP连接紧密相关的方式来产生。使用下式来计算Cookie值:
式中, sseq是通过skbh.thseq计算出来的;count1是通过当前时间的分钟值和Cookie的位长度计算出来的;data1是SYN中MSS在数组msstab中的位置;Cookie_hash1和Cookie_hash2是通过SHA算法计算出来的哈希值;COOKIEMASK为Cookie掩码[6]。
创建定时器状态:从预先开辟的内存池中取出少量内存, 如果内存不足, 则不创建直接进入下一状态。如果此时有高权限IP接入, 则停止向低权限IP提供定时器创建内存。若内存充足, 则为每个IP创建定时器, 若定时器超时, 则进入重传状态;若定时器未超时, 则进入判断ACK攻击状态。
重传状态:若出现定时器超时, 则进入该状态。重传成功后, 再次进入创建定时器的状态, 若重传超过最大重传次数, 则返回初始状态。
判断ACK攻击状态:收到ACK报文时, 分配微量内存, 与SYN请求的源IP、源端口和请求时间进行对比, 若没有此记录, 则视为收发不平衡, 将报文丢弃, 进入初始状态;若ACK报文合法, 则进入下一个状态。
判断Cookie状态:将data2与NUM_MSS进行比较来判断它是否为一个合法的msstab索引, 如果data2>NUM_MSS, 我们认为其为非法的索引;如果data2NUM_MSS, 则判断为合法索引。最后将系统的分钟值与count2做比较, 若两数相差大于COUNTER_TRIES (4) 分钟, 则可确定其为非法报文, 反之为合法报文。若结果为非法, 则进入初始状态, 合法则进入与服务端连接状态。
与服务端连接状态:转发合法的TCP SYN和ACK报文, 修改报文的seq序号。最后进入初始状态。
根据以上对Netfilter的修改, 就可以为AC提供性能较高的防DDOS攻击策略。
3 测试结果
利用30台X86板卡 (Linux系统) 、1台基于ATCA的数据处理板和1台服务器 (windows 2007系统) 验证本文提出方案的性能。其中X86板卡上运行DOS (拒绝服务) 攻击软件, 以模拟实现多个主机进行DDOS攻击, ATCA的数据处理板作为攻击目标, 并开启TCP各种服务, 服务器用抓包工具进行抓包分析。AC的上联口与攻击傀儡机接入同一网段。
在测试过程中, 分别在X86板卡上开启不同数量的DOS攻击软件进程, 以测试在不同规模的DDOS攻击下, AC抵御攻击的性能。表1为不同规模DDOS攻击下AC防火墙的性能对比。
4 结束语
本文通过运用改进的SYN Cookie技术, 结合Netfilter框架, 在不修改内核协议栈的条件下实现了DDOS防御, 有效地在AC中抵挡了DDOS的SYN Flood。该防火墙以较小的性能损失保证了TCP服务的正常工作, 达到了设计方案的预期目标。
摘要:DDOS (分布式拒绝服务) 是一种常见的、破坏力强的网络攻击, 为了减小其对网络设备的影响, 提出一种在接入控制器中基于Netfilter的防范DDOS攻击的策略。结合改良的SYN Cookie (标识握手信号的本地数据) 技术, 对Linux内核中的Netfilter进行二次开发, 实现了针对DDOS中SYN Flood (标识握手信号的洪水攻击) 方式的防火墙。测试结果表明:该方案能够有效地防止网络攻击, 以较小的性能损失保证TCP (传输控制协议) 服务的正常工作, 并节约了成本。
关键词:网络过滤器,接入控制器,分布式拒绝服务,标识握手信号的本地数据,标识握手信号的洪水攻击
参考文献
[1]Shao J, Jiang H, Zhang C, et al.Medium Access Controller Design for Wireless Body Area Network[A].Proceedings of ICCSIT 2011[C].Beijing, China:Institute of Microelectronics Tsinghua University, 2011.48-52.
[2]李蓬.DDoS攻击原理及其防御机制的研究[J].通信技术, 2010, (4) :96-98.
[3]刘建峰, 潘军, 李祥和.Linux防火墙内核中Netfilter和Iptables的分析[J].微计算机信息, 2006, (3) :7-9.
[4]方捷磊, 朱杰.在嵌入式网络应用中实现TCP/IP协议[J].微电子学与计算机, 2002, (5) :28-30, 17.
[5]Smith, Univ C C, Ottawa, et al.Comparison of operating system implementations of SYN flood defenses (Cookies) [J].Communications, 2008, (24) :243-246.
DDoS攻击防御技术探究 第8篇
随着网络的普及,安全问题越来越突出。分布式拒绝服务DDoS(Distributed Denial of Service)攻击由于技术门槛低、难以防范、难以追踪,成为网络攻击最常用的手段,给客户造成重大损失,严重危害网络安全。
1 DoS攻击/DDoS攻击
DoS(Denial of Service,拒绝服务)攻击用超出目标处理能力的海量数据包消耗可用系统资源、网络带宽资源,使网络服务瘫痪,正常的请求服务得不到响应。常见的DoS攻击有网络带宽攻击和资源耗尽攻击两种方式。
DDoS攻击利用大量被控制的计算机同时向攻击目标发送超出处理能力的海量数据包,消耗可用系统和带宽资源,从而导致网络服务瘫痪。
DoS是DDoS的基础,利用TCP三次握手过程的漏洞发起攻击。正常TCP连接需要经过三次握手,服务器在收到客户端SYN连接请求时,先是分配内存空间、建立会话,并放到一个等待队列中。如果这个等待队列满了,服务器就不为新的连接分配资源,拒绝为新的连接请求提供服务。DDoS攻击方式有两种:(1)迫使服务器的缓冲区满,不接收新的请求;(2)使用IP欺骗,伪造不存在的主机发出连接请求,当然这些伪装的主机也就不可能发出RST置位信息。
DDoS攻击架构一般分攻击者(Client)、主控端(Master)、代理端(Daemon)和被攻击者(Victim)几层,它利用受控主机向攻击目标发起攻击,具有威力更大、更难防御、更难追随的特征,见图1。
2 DDoS攻击
2.1 DDoS攻击模型
DDoS攻击过程一般分为3个阶段。
(1)收集目标信息。通常,攻击目标不是盲目的,需要掌握目标足够多的信息。攻击前,利用各种技术,如扫描技术、嗅探技术,包括社会工程学等技术,对目标进行侦查,收集攻击目标的主机数目、配置、性能、操作系统、地址情况以及网络带宽等详细信息,为攻击作准备。
(2)占领主控端和代理主机。为了达到对目标攻击的有效响应强度和攻击时隐藏自己、不被跟踪发现的目的,攻击者先利用收集到的信息攻陷并占领相当数量的主控端和代理主机,并植入相应的后台程序。这些主控端和代理主机位于网络域以外,隐藏攻击者不被发现。主控端和代理主机一般有良好的性能和足够资源,便于发送强大的攻击数据流。
(3)攻击实施。攻击者发出攻击指令,所有受控的主控端和代理主机根据指令参与攻击,向受害主机发送大量的TCP SYN请求等垃圾数据包,受害主机因资源耗尽导致系统崩溃或无法响应正常请求。
2.2 SYN Flood攻击
SYN Flood攻击是利用TCP协议缺陷实现的,是最常见的DDoS攻击。SYN Flood攻击向受害主机疯狂发送伪造IP地址的SYN攻击报文,而不返回ACK报文,导致受害主机不断重发SYN/ACK请求包,造成受害主机的半开连接队列被占满,合法用户请求得不到响应。SYN Flood攻击还能攻击网络设备,只要设备开启了TCP服务,就可能受到SYN Flood攻击,见图2。
2.3 HTTP Get Flood攻击
HTTP Get Flood通常利用代理服务器作为主控端向Web服务发起大量的HTTP Get请求。由于很多网站使用动态页面技术,通常一次GET请求可能引发后台数据库的查询操作,当HTTP Get数量增加到一定程度时,数据库服务器将不堪重负,导致动态页面无法响应,正常请求难以进行。这种攻击方式对静态页面效果不很明显,见图3。
2.4 Connection Flood攻击
Connection Flood攻击,即TCP连接耗尽攻击(也叫空连接攻击),是攻击者操控大量的真实IP地址主机或者代理服务器,对受害主机发起大规模连接,连接成功后长时间不释放,占用受害主机的带宽资源,造成受害主机WAIT状态连接过多,直至资源耗尽而无法响应正常客户连接,从而达到拒绝服务的攻击目的,见图4。
3 DDoS防御
根据DDoS的攻击原理,对DDoS攻击防范主要集中在3方面:攻击源防范、主干网防范和受害主机端防范。对于攻击源防范,由于攻击者事先做好了保护、隐藏措施并能删除痕迹,而且网络协议本身存在缺陷,现有法律很难追查和惩罚;对于主干网络,要满足不同的服务要求,认证授权难以解决问题,实现防范几乎不可能。因此,受害主机端防范成为重中之重。
目前,对DDoS的防范以预防为主,结合防御攻击为辅,攻击预防主要方法有:
(1)对所有主机和网络节点定期扫描,发现并修复可能被利用的漏洞,加强主机及网络节点的安全防护。
(2)防火墙防范DDoS攻击,尤其防范SYN Flood攻击。设置IP Inspect(IP检测)功能,过滤各种针对系统漏洞的攻击包;设置过滤网关防护,包括SYN网关设置、网关超时设置、SYN代理,过滤网关防护能很好防范SYN Flood攻击。
(3)使用路由器防范DDoS攻击。对路由器进行合理设置,升级过低的IOS版本,为路由器建立Log server,设置SYN包速率,设置ACL过滤,对DDoS的端口过滤掉不必要的UDP和ICMP数据报;设置流量限制,对IC-MP、UDP、TCP-SYN流量等进行控制,将其大小限制在合理水平,;配置SYN/ICMP的最大流量,限制SYN/ICMP封包占用最高的带宽。在网关或汇聚节点对源IP地址过滤,可以有效减少IP地址欺骗行为。
(4)将动态Web应用改为静态页面。目前,DDoS越来越多地针对网页攻击,主要攻击网站的运营,因此防御HTTP Get Flood攻击对网站显得尤其重要。将Web动态应用改为静态页面方式是防御HTTP Get Flood攻击的最有效方法,既可降低服务器资源消耗,又能减少非法入侵风险。
(5)网络设备应避免使用网络地址转换。虽然网络地址转换(NAT)解决了IP地址不足的问题,但NAT进行网络地址转换时,要对网络数据包进行校验和大量计算,会过多占用CPU的处理时间,这一方面导致资源浪费,另一方面又降低了网络的通信处理能力,因而路由器和硬件防火墙等设备应尽量避免使用NAT功能。
DDOS攻击应对策略主要分攻击检测和攻击过滤两部分。
(1)攻击检测可尽早发现所有正在进行的攻击。攻击检测在网络里进行,那里存在大量的攻击分组,容易检测到攻击行为。根据策略不同,分为模式检测和异常检测方式。
模式检测就是把网络中存在的每个通信模式与已知的各种攻击模式比较,如果发现和某个确定的攻击模式相匹配,就认为该通信是一个攻击。如果检测到网络流量中存在异常数量的某种确定类型的分组,例如(TCP SYN)和(HTTP Get Flood)等,很可能就是来自某个DDoS攻击。
异常检测是通过发现网络中的某些异常行为来检测判断是否是攻击行为。例如,当发现主机或网络性能突然有大幅度下降,或有大量来自同一网络的IP地址时,就有可能发生了DDOS攻击。
(2)过滤是利用已知类型的DDOS攻击特征来彻底排除具有相同特征的攻击数据包,过滤发生在网络边界,利用路由器或防火墙等设置访问控制策略,防止大量带有源IP地址欺骗的攻击数据包通过。
4 结语
DDoS严重危害网络安全,造成网络经济损失,还可能给网络带来巨大灾难。虽然对DDoS的攻击与防御研究已取得很多成果,但由于防御技术的局限性,目前还没有完全防御DDoS的方法,需要不断研究新的防御技术。
摘要:网络攻击事件越来越频繁,DDoS攻击是常见的一种。分析了DDoS攻击常见类型与技术原理,针对DDos攻击行为提出了多种防范策略,为及时防范潜在的黑客攻击、降低损失提出了有效对策。
关键词:DDoS攻击,网络防御,检测,过滤
参考文献
[1]杜晔,张大伟.网络攻防技术教程[M].第2版.武汉:武汉大学出版社,2012.
[2]牛少彰,江为强.网络的攻击与防范---理论与实践[M].北京:北京邮电大学出版社,2008.
[3]石志国,薛为民.计算机网络安全教程[M].第2版.北京:清华大学出版社,2010.
[4]叶建波.DDOS攻击及防御技术研究[J].现代计算机,2008(1):155-159.
[5]池水明.DDoS攻击防御技术研究[J].信息网络安全,2012(5):25-28.
DDoS攻击原理及防御技术 第9篇
DDo S是Distributed Denial of Service的简称,即分布式拒绝服务。DDo S攻击手段是在传统的Do S(Denial of Service)攻击基础之上产生的一类攻击方式。Do S攻击一般采用单一的一对一的攻击方式,使用这种攻击方式当计算机的性能指标不高(CPU速度较低,网络速度较慢,内在较小等),DOS的攻击效果是非常明显的。但随着计算机技术和计算机网络技术的飞速发展,DOS攻击已不能发挥作用,一种更高级的分布式的拒绝服务攻击手段(DDo S)就应运而生。DDo S是攻击者借助于C/S技术,联合网络上众多计算机(傀儡主机)作为攻击平台,对一个或多个计算机(目标主机)发送大量的网络数据包,耗尽目标主机的网络带宽或者系统资源,让目标主机无法提供正常的服务,达到攻击目的。
2 DDo S攻击产生的根源
为确保网络中数据传输的可靠性,Internet在设计时首先考虑数据传输的可达性和可靠性,而安全性则排在其后,这样,即使网络遭受外来攻击使网络内部遭受损坏,仍可保证数据的正确传输。这样才设计Internet时网络最智能的部分集中在网络边缘或端系统上,而中间网络部分只有一些必要的网络设备,Internet所有承载协议都被设计成无连接的,这就给DDo S攻击带来了可乘之机。
由于安全意识淡薄,对计算机的安全漏洞不能及时安装补丁,使得这样一些计算机被黑客控制,在DDo S的攻击中,这样一些计算机就成儡主机,协助黑客来发动攻击。
目前DDo S攻击的主要方式就是消耗对方的系统资源或是网络带宽,由于Internet资源的有限性,DDo S攻击时消耗对方的资源达到攻击效果。
路由器上从源端到目的端不进行检测验证IP源地址字段,DDo S攻击时就可以伪造数据包的IP地址,使用户不容易发现,实现攻击目的。
3 DDo S攻击方式
3.1 SYN Flood攻击
SYN- Flood攻击是利用TCP协议实现上的缺陷,攻击时将大量的伪造源地址发向服务器端口,占满服务器半开连接队列,使一些合法用户无法进行正常访问。这种攻击方式是当前网络上最为常见也是最为经典的拒绝服务攻击。采用这种攻击方式可以方便地伪造源地址,使很多操作系统,甚至有些路由器、防火墙都无法有效地防御这种攻击,追查起来也非常困难。
3.2 ACK Flood攻击
ACK Flood攻击是在建立TCP连接之后。TCP报文的数据传输带有ACK标志位,数据传输时,主机接收到数据包(带有ACK标志),首先检查是否存在数据包表示的连接四元素是否存在,如果存在就检查数据包所表示的状态,将合法的数据包传递到应用层。
这种攻击方式,需要攻击者用大流量ACK小包冲击才能对服务器造成影响,由于服务器TCP堆栈中没有ACK包的状态信息,这些随机源IP的ACK小包会被服务器很快丢弃,所以这种攻击方式没有SYN Flood给服务器带来的冲击大。但一些TCP服务会对ACK比较敏感,高数量的ACK Flood会对Apache或者IIS造成服务器网卡中断频率过高,负载过重等影响而停止响应。ACK Flood不仅影响服务器上的应用程序,而且还会危害路由器等网络设备。
3.3 UDP Flood攻击
UDP FLOOD攻击中是攻击者发送大量伪造源IP地址的小UDP包,而UDP协议是一种无连接的协议,攻击者可以针对UDP端口提供的服务进行相应的攻击。UDP Flood可以将网络中的骨干设备如防火墙等损坏,甚至可以造成整个网段的瘫痪。
3.4 ICMP Flood攻击
ICMP Flood的攻击属于流量型的攻击方式,攻击者向服务器发送大流量数据,给服务器带来较大的负载,从而影响服务器的正常服务。攻击时将大量的ICMP Echo Reply数据包迅速占领目标主机,将目标主机的网络带宽瞬间耗尽,使被占领主机网络流量变慢甚至停止。还有一些攻击者发送错误的路由信息强制受害主机访问并不存在的路由器,或者把一些数据包直接路由到被攻击的机器。
3.5 Connection Flood攻击
Connection Flood攻击是将一些真实的IP地址向服务器发起大量的连接,使服务器与这些机器一直处于连接状态,将服务器资源耗尽,降低服务器使用效率,不能有效地与其它用户进行连接,使服务器牌停滞状态。
3.6 HTTP Get攻击
HTTP Get攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并能够调用数据库系统。这种攻击方式是在与服务器建立正常的TCP连接后,就向脚本程序不断地提交大量耗费数据库资源的程序调用。
攻击者可以通过控制的僵尸机或者通过单机构造多个IP,在与服务器建立联系之后不断地向服务器发起HTTP Get请求,很短时间内就将服务器资源耗费掉进而使服务器拒绝服务。这种攻击的特点是能够绕过普通防火墙防护,轻松找一些僵尸机器实施攻击。
3.7 UDP DNS Query Flood攻击
UDP DNS Query Flood攻击是攻击者向服务器发送大量的域名请求,这些域名是有机产生的,有些域名是存在的,有些域名在网络上根本就不存在。当服务器接收到域名请求无法直接解析时,就向上层DNS服务发送查询域名信息,给服务器带来学生的负担,当请求超过一定量时就造成DNS解析超时。
4 DDo S的防御方法
4.1 预防DDo S攻击的措施
(1)确保系统的正确配置。
确保路由器、交换机等网络设备和服务器系统的正确配置,能有效减少DDo S攻击发生的可能性。
(2)过滤不必要的服务和端口
在路由器上过滤假IP,定期检测测系统配置信息,每天注意查看安全日志,关掉不必要的服务和端口。
(3)利用网络设备保护网络资源
路由器、防火墙等网络设备,能有效地保护网络。当网络受到攻击时,最先受到攻击的是路由器等网络设备。配置必要负载均衡设备,可在最大程度上削减DDo S攻击的危害。
(4)检查访问者的来源
使用假IP迷惑用户是黑客攻击常用的方法。使用反向路由器查询访问者IP的真假,屏蔽假的IP,提高网络安全性,从而减轻Ddo S的攻击。
(5)限制SYN/ICMP流量
配置路由器SYN/ICMP的最大流量限制SYN/ICMP所占最高频宽,当网络上出现大量超过SYN/ICMP流量时,网络上可能就出现了不正常的访问。
(6)把网站做成静态页面
把网站做成静态页面,可有效防止DDo S的脚本攻击。如果需要调用动态脚本,将其安装到单独计算机中,这样即使受到攻击也不会连累服务器。
4.2 DDo S攻击时的应对方法
当受到DDo S攻击时首先要检查攻击来源地址,分清IP地址的真伪。如果IP来自于本公司,说明黑客控制本公司的机器作为傀儡机,找出这些机器的IP,关闭掉这些机器。如果不是本单位的IP,将这些IP从服务器上漏掉。第二个有效的方法是在路由器设置中禁掉ICMP,可防止攻击规模虽,降低危害。另外,查看路由器日志,查看路由器收到的攻击数据包,确定数据来源的IP地址,确定资料量最大的网段,修改子网掩码将网段隔离开,让合法的流量通过,有效减轻攻击,恢复路由器正常工作。
对于DDo S的攻击,由于其攻击的突然性至今还没有找到绝对安全的方式来杜绝此类攻击。系统管理员充分认识到网络中存在的潜在威胁,注意防火墙等网络设备的异常,经常修补安全漏洞,不断提升安全策略,查询最新安全信息,管理好自己的网络用户,确保不受DDo S攻击。
参考文献
[1]朱少彰,崔宝江,李剑.信息安全概论[M].北京:北京邮电大学出版社,2007.
[2]孙钦东,张德运,高鹏.基于时间序列分析的分布式拒绝服务攻击检测[J].计算机学报,2005.
[3]徐恪,徐明伟,吴建平.分布式拒绝服务攻击研究综述[J].小型微型计算机系统,2004.
[4]王江涛,杨庚.VTP检测算法的改进和基于模糊逻辑的DDo S攻击自适应判断[J].南京邮电大学计算机技术研究所,2008.
[5]么利中.DDo S攻击手段及其防护研究[J].科技创新与应用,2013.
DDOS攻击检测相关问题分析 第10篇
1 DDos攻击检测技术浅论
从概念的角度看, DDos攻击指借助于客户/服务器技术, 将多个计算机联合起来作为攻击平台, 对一个或多个目标发动DDo S攻击, 从而成倍地提高拒绝服务攻击的威力。对于DDos攻击而言, 最为常见的攻击方式即利用合理的服务请求来占用过多的服务资源, 从而使得正常的用户服务请求无法得到相应。传统的Dos攻击在面向单一主机的时候效果显著, 可以迅速影响到主机的运算速度, 但是随着网络技术的发展, 分布式系统开始得到越来越多的应用, 因此单独面向单个主机的攻击从总体上开始变得无效, DDos攻击方式随之登上舞台。从实现的角度看, 通常攻击者使用一个偷窃账号将DDo S主控程序安装在一个计算机上, 并且在设定时间主控程序将与大量代理程序通讯, 代理程序已经被安装在网络上的许多计算机上。控制人员通过网络远程控制代理程序发动攻击, 并且利用客户机/服务器技术, 主控程序能在几秒钟内激活成百上千次代理程序的运行, 其威胁不容忽视。
对于DDos攻击而言, 其检测方法多样, 对于不同的应用环境表现出各自不同的额检测工作特征。依据检测模式进行分类, 可以分为基于误用的DDos检测、基于异常的DDos检测以及混合模式DDos检测三种。其中基于误用的DDos检测即指在针对DDos攻击行为特征进行采集和整理的基础之上, 以其作为参照对于网络中数据包的特征展开检查, 从而发现异常的数据包, 确定DDos攻击行为的发生。而基于异常的DDos检测则是通过监视系统审计记录上系统使用的异常情况, 对系统中存在的违反安全的时间进行检测。这是当前大多数DDos攻击检测的常见工作方式, 此种检测方式的效果在很大程度上依赖于异常判断模型的建立, 不同的模型会对传输行为有不同的判断, 因此只有面向实际网络工作特征的模型才能行之有效地担负起DDos检测职责。最后对于混合模式DDos检测, 则是将基于误用的DDos检测以及基于异常的DDos检测加以结合的检测工作方式, 通常使用数据挖掘的方法, 由异常检测发现攻击, 从发现的攻击中摘录特征放入误用模式特征库中, 再利用误用检测的方法来检测DDo S攻击。
除此以外, 还可以按照算法部署的位置对DDos检测工作模式加以划分, 则可以划分为数据源端检测、中间网络检测以及数据目的端检测三种。其中数据源端检测是将DDo S检测算法布置在发出攻击数据包的主机所处网络环境的边界路由器上, 此种工作方式可以在攻击流入网络环境之前对其及时发现并且拦截。而中间网络DDo S攻击检测是指将攻击检测算法部署在整个网络上, 包括路由器、交换机或其他网络设备。在无法明确攻击来源的情况之下, 采用中间网络检测的工作方式能够实现更均衡的检测工作。而数据目的端检测, 即将DDo S攻击检测算法部署在攻击端的主机以及相关网络设备上, 主要用于重点保护网络环境中相对珍贵的数据节点。
2 DDo S攻击检测技术的发展分析
在面对企业网络环境展开DDo S攻击检测系统部署的时候, 将DDo S检测核心部署在数据传输的哪个位置, 能够实现对于攻击的最为有效检测, 是当前共同关注的问题。对于数据源端检测控制而言, 常见的检测方法包括依据数据包子网地址进行过滤, 或者要求客户端在发送数据的时候提交一个发送请求给认真服务器, 在认证服务器许可的情况下才能展开数据发送。此种工作方式能够在攻击进入骨干网之前就实现控制, 因此对于网络环境内部安全水平的提升有着积极意义, 但是同时由于需要边界路由器的配合, 而ISP无法从这种控制过程中获益, 因此基于数据源端的控制常常无法得到实施, 进一步影响到此种策略在面对复杂供给的时候检测效果整体不足。
而基于中间骨干网络的检测控制, 是面向网络环境中的数据流量展开梳理和清洗, 并且实现对应的限制和过滤。此种检测方式有多种具体的展开模式, 可以由被攻击端将流量信息发送至路由器, 并且进一步由路由器作出判断和限制, 此种模式能够实现对于服务器负载的缓解, 但是对于攻击流量和合法流量的区分不足, 判断模型还有待于进一步完善。实际工作中还存在基于清洗中心的策略, 即在攻击发生之后, 由骨干网路由器将流量诸如清洗中心, 经过清洗之后回注网络环境, 此种工作方式能够有效面对大流量攻击, 但是实现机制比较复杂, 成为部署的难点之一。而pushback策略, 则是在检测到攻击之后, 由靠近攻击目标的路由器面向上游路由器发出流量控制请求, 一直回溯到攻击源端附近实现流量控制。这三种工作模式在灵敏度和部署难度方面都呈现出不同特征, 在实际工作中必须妥善依据不同工作模式的特征和实际情况进行选择, 才能获取到良好效果。尤其是在不同工作模式的不足方面应当加强重视, 例如对于攻击源端检测方式而言, 其较低的灵敏度和难以实现广泛部署的特征都不容忽视, 而对于骨干层过滤模式而言, 其部署难度高奋勇高, 同时需要ISP配合的特点必须得到重视, 而对于攻击终端过滤方式而言, 其处理能力则相对有限。
就DDo S攻击检测未来的发展状况而言, 如何在灵敏度、准确性以及大流量处理能力等几个关键方面实现均衡选择, 成为未来发展的关键。在DDo S攻击类型识别方面, 虽然已经能够针对类似于Syn flood等攻击展开识别, 但是相关方面的研究仍然有待进一步深入。同时考虑到骨干网络环境中攻击检测的工作特征, 通过骨干网流量变化实现对于DDo S攻击的有效发现, 是解决无固定检测目标DDo S过滤的基本前提, 而在实现检测之后, 如何通过骨干网流量分布发现DDo S攻击目标, 同样是骨干网检测技术未来的工作重点。
3 结论
DDo S攻击是当前网络环境所面临的重要问题之一, 只有不断的钻研和学习, 紧跟技术发展步伐, 才能切实依据实际环境展开对于DDo S攻击检测技术的有效部署, 也才能切实实现对于网络环境安全水平的提升。
摘要:文章首先针对DDo S攻击检测的主要技术布局展开说明, 综合当前的发展状态和趋势, 对于目前网络环境中主要的几种攻击检测工作模式进行了深入的分析, 而后在此基础之上, 进一步结合技术发展步伐, 对于未来DDo S攻击检测技术的发展方向做出讨论和推测, 对于切实把握DDo S攻击检测技术的发展步伐, 提升网络安全水平有着一定的积极价值。
关键词:DDoS,攻击,检测,技术,发展
参考文献
[1]陈伟, 何炎祥, 彭文灵, 等.一种轻量级的拒绝服务攻击检测方法[J].计算机学报, 2006, 29 (8) .
[2]邵立松, 张鹤颖, 窦文华.基于窗口的端到端拥塞控制:网络稳定性与效率[J].计算机学报, 2006, 29 (3) .
DDoS攻击的检测算法研究 第11篇
网络安全问题的研究一直是一个比较热点的问题, 如何对网络安全问题进行研究也是一个需要深入考虑的问题。尤其是近年来, 宽带业务的推广, 用户数量巨增, 使得DDo S攻击变得更为严重, DDSo攻击成为了近年来对Internet具有巨大影响的恶意攻击方式。
2 基于统计方法的DDo S攻击检测和响应
Laura Feinstein等提出了计算熵 (Entropy) 和数据包属性分布式频率存储 (Chi-Square) 的方法来检测DDo S攻击的方法。
2.1 Entropy检测算法
一个信息源有n个独立的概率为Pi的信号, 那么嫡H就定义为:
因此, 熵可以用来计算一个样本里连续的包, 将一些样本头域的嫡和从相同的Peering Point出来的样本的嫡相比较来检测随机变化。当网络不存在攻击, 不同的头域嫡的值将落在一个很窄的范围内;当网络被攻击时, 这些熵的值就会超出这些范围。
此算法只需要对每个包进行少量的计算, 信包的熵可以通过宽为砰的滑动窗口来计算, 这个算法中p的概率实际上是每个独立的信号对于总的样本标志中出现的频率。
一个有经验的攻击者会试图破坏这个算法, 通过建立一个流量模型仿正常流量。一个攻击者若知道不同的被监测的包属性, 则他就会建立一个产生可调熵值流量的攻击工具。通过猜测、渗透、跟踪, 这个攻击者可以知道典型的嫡值和调整流量去匹配。这看起来似乎很容易, 但如果有多个检测器安置在流量源和目标之间, 那么检测器的典型的嫡值在不同的网络环境中就会不同。
窗口流量W是一个可以调整的参数, 它用来控制检测器短期波动的平滑程度。增加牙值就会减少嫡值的变化并可以减少无关紧要的异常的误警率。但是W也不能太小, 这样才能快速地检测出攻击来。通过实验发现10000个包是合理的。
2.2 Chi-square检测算法
Pearson的Chi-Square通常都是用来对分离的数值比较。例如它可以用来检测TCP SYN标志值 (0和1) 或协议数据的分布。这些数值的数目越少检测效果越好, 一个样本包中它的可能包含的数值不少于五个, 因此通过“BIN”可以把一定范围的数值看成一个。例如Chi-Suqare检测算法可以将服务端口看成四个值:HTTP、FTP、DNS和“其他”。相似地, 包长度可以归类为这些范围:0-64字节, 65-128字节, 129-255字节等。
3 DDo S攻击检测同步技术算法
3.1 同步技术的硬件基础
硬件对同步技术最通用的支持功能是芯片级的原子操作和中断屏蔽功能。以i386系列CPU为例, 大部分的汇编指令都是芯片级的原子操作, 唯一的例外是前缀为rep的汇编指令, 这条指令要求控制单元重复多次执行, 在执行过程中可能被中断。
SMP环境下的情况要复杂一些。在SMP环境中, 那些多次访问内存的指令不是原子的, 例如inc或者dec指令, 它们在执行过程中, 首先从内存中读取数据, 然后更新它, 并将新的内容写回到内存中, 在此过程中其它处理器上执行的程序可能会访问同一个内存区, 从而发生竞争条件。解决这种竞争条件的办法之一是在指令之间增加lock前缀, 使该指令在SMP环境下也是原子了。SMP同步的具体内容请参考“SMP系统中的同步机制”一节。
计算机的中断机制的实现依赖于可编程的中断控制器, CPU的INTR管脚和内部寄存器的中断标志等硬件来实现。IPC的设计允许对每一个中断源单独编程, 禁用或者启用它们。而CPU内部寄存器eflags则允许对所有的外部中断进行屏蔽或者打开屏蔽。
3.2 原子操作
Linux可分别针对Bit变量和整数变量进行原子操作, 它们的共同点是在任何情况下都是原子的, 内核代码可以安全的调用它们而不被中断, 而且它们都依赖底层CPU的原子操作来实现, 所有这些函数都是CPU架构相关的。
1) Bit原子操作
Bit操作的函数提供了安全的读取和修改单Bit信息的能力, 它们可以对任何内存变量的任意一个Bit进行操作, 这在设置或者检查某个标志的时候非常有用。常用的函数有set_bit (int nr, volatile void*addr) , 对给定地址addr的第nr bit进行置位;以及test_and_clear_bit () , 清除给定Bit并返回它以前的值。
2) 整数原子操作
对整数变量进行原子操作的函数都以atomic_xxx命名, 例如读取变量内容的atomic_read (v) 和更改变量内容的atomic_dec (i, v) 函数, 函数中操作的变量v的类型必须是特殊的数据类型atomict, 它的定义如下:
typedef struct{volatile intcounter;}atomic t;
从定义中我们可以看出, atomic t等同于int类型的整数, 只是为了防止gcc编译器的不必要的优化才定义成一个结构。在atomic t数据类型的使用上有一个限制, 该类型的变量的有效位不是32bit而是24bit, 根据ldd2中的说法, 在某些处理器上要求这种限制。
3.3 屏蔽中断
CPU具备屏蔽中断和打开中断的功能, 这项功能可以保证正在执行的内核控制路径不被中断处理程序所抢占, 防止某些竞争条件的发生。在内核函数一级, Linux提供了cli () 和__cli () 函数来实现屏蔽中断的功能, 提供sti () , __sti () 函数来打开中断。这四个函数中, 带有"__"的版本的操作仅仅限于当前CPU;而另外两个函数影响系统中所有的CPU。
3.4 同步锁机制
在无法避免竞争条件的产生, 而且临界区的代码又无法短到可以通过原子操作完成的时候, 需要对临界区用“加锁”的办法实行保护。Linux提供了两种锁, 内核信号量 (Semaphore) 和自旋锁 (Spin Lock) 。它们是为了解决完全不同的问题而各自开发出来的, 实现机制和适用场合也随之完全不同。
信号量为了解决多个内核控制路径竞争资源的问题, 这些内核控制路径可能是单处理器系统中分时执行的控制路径, 也可能是多处理器系统中的并行执行的控制路径。在试图获得信号量的时候, 如果信号量繁忙, 相应的内核控制路径会挂起, 直到信号量被释放的时候控制路径才恢复运行。而Spin_Lock的目的是为了解决在多个处理器上并行运行的内核控制路径之间的加锁问题。当Spin_Lock忙的时候, 内核控制路径执行一个循环, 不停地试图获取这个锁, 直到成功为止。
信号量在内核中是Struct Semaphore类型的对象, 它在include/asm/semaphore.h中定义。系统还提供了非阻塞的获取信号量函数down_trylock () , 与down () 不同, 在无法获得信号量的时候, down_trylock () 返回失败值而不挂起调用者。这个函数被用在很多要求非阻塞操作的场合。
基于内核的同步特性, 我们在实现阶段采用了Spin_Lock机制, 由于Hash表的全局特性, 在多个CPU共同访问的时候, 需要加锁, 防止链表因为互斥访问而被破坏。
4 结束语
随着互联网技术的不断发展, DDo S攻击作为恶意攻击方式造成的影响越来越严重。本文结合统计方法原理提出了同步技术DDo S攻击检测算法。同步技术检测算法能快速准确地检测出DDo S攻击行为, 能有效的应用于攻防模拟对抗体系的建立, 并有助于DDo S攻击的网络防御技术的研究。
参考文献
[1]何慧, 张宏莉等, 一种基于相似度的DDos攻击检测方法.通信学报, 2004, 25 (7) :176-184.
[2]庄肖斌, 芦康俊等.一种基于流量统计的DDoS攻击检测方法.计算机工程, 2004, 30 (22) :127-128.
[3]房至一, 张美文等.防御和控制.DoSODoS攻击新方法的研究.北京航空航天大学学报, 2004, 30 (11) :1033一1037.
[4]D.X.Song, A.Perrig, Advanced and authenticated Marking Schemes for IP Traceback, in:Proceeding of IEEE INFOCOMM, Anchorage, AK, USA, 2001, pp.878-886.
[5]黄靖.一种面向分布式DDoS攻击的防御体系模型研究[D].[硕士学位论文].上海:上海交通大学, 2007.
[6]王绍斌, 王昭顺.信息系统攻击与防御 (第一版) [M].北京:电子工业出版社, 2007, pp:197-198.
[7]吴轩亮.三网融合下城域网DDoS攻击的监测及防范技术研究[J].信息网络安全, 2012, (03) :45-48.







