首页
社区
课程
招聘
怎么防范DDOS攻击之DDOS全接触(转)不知道有用不
发表于: 2004-10-4 21:28 5575

怎么防范DDOS攻击之DDOS全接触(转)不知道有用不

2004-10-4 21:28
5575
怎么防范DDOS攻击之DDOS全接触

作者:未知 文章来源:草盟网络 点击数:15 更新时间:2004-10-1
一、简介

    2000年2月发生的Yahoo、亚马逊书店、eBay、CNN、Buy等多个国际著名网站被拒绝服务攻击(Denial of Service,DoS)风暴袭击而中断服务数小时[1]的黑客事件,使人们逐渐认识和了解了DoS攻击危害的严重性。

    由于从Internet上可以方便的下载很多攻击工具,这就使得发起DoS或拒绝服务攻击(Distributed Denial of Service, DDoS)攻击变得很容易,从而提高了这种攻击的危害性,Internet上的用户和各种服务器所遭受这种攻击行为的威胁也就变得更为严重。关于计算机犯罪的年度调查指出拒绝服务攻击是2001年度四大主要攻击中的一种,这种类型的攻击也由1998年的24%增长为2001的36%[2]。

    在一个典型的DDoS攻击中,攻击的过程分为以下几个步骤:1)攻击者探测扫描大量主机以寻找可入侵的主机目标;2)入侵有安全漏洞的主机并获取控制权使之成为傀儡机;3)在每台傀儡机上安装攻击程序;4)利用傀儡机继续进行扫描和入侵。图1显示了整个攻击过程,攻击者向傀儡机发送控制信息,通过安装在傀儡机上的攻击工具指示这些机器向受害者发送大流量的数据包,通常情况下攻击者在发送的包中伪装了源地址以防止追踪攻击源。

     在本文中,我们设计了一个陷阱系统,这个系统能够模拟傀儡机中断攻击者的攻击链。系统的目的是让攻击者相信他已经成功地攻陷了傀儡机,而实际上攻击者攻入的是引诱他进入的陷阱。这样陷阱系统的管理者就可以学习了解攻击者使用的攻击策略,并且在网络中其他地方实施更加有效的防御措施。另一方面,利用陷阱系统可以成功地阻断攻击,陷阱系统记录的攻击信息可以作为取证攻击者犯罪的法律上的依据。

二、分布式拒绝服务攻击的特征
1) DoS和DDoS的定义

    DoS攻击的特征是这种攻击行为使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。在早期,拒绝服务攻击主要是针对处理能力比较弱的单机,如个人PC,或是窄带宽连接的网站,对拥有高带宽连接,高性能设备的网站影响不大,但在99年底,伴随着分布式拒绝服务攻击的出现,这种高端网站高枕无忧的局面不复存在了。
    DDoS攻击是为了扩大对目标的影响而使用的,因此攻击者能够成功地攻击带宽和性能都很高的Web服务器。由于DDoS攻击能对Web服务器产生严重影响,WWW安全的FAQ将这种攻击视为最危险的攻击[3]。DDoS攻击使用大量机器来对一个或多个目标发起协同式的DoS攻击。使用客户机/服务器技术,通过利用在不知情的情况下作为攻击帮凶的多台计算机,作恶者能够成倍地扩大DoS攻击的影响。
    为了提高攻击的影响力,现在又出现了分布式反射拒绝服务攻击(Distributed Reflection Denial of Service,DRDoS)[4],这种攻击的攻击行为是这样的:攻击者首先攻陷一些机器,然后利用这些被攻陷的机器向反射器(Reflector)发送伪造源地址的数据包,反射器可以是网络中的路由器、服务器等。反射器根据所接收包的内容向发起请求的源地址回应信息,伪造包中的源地址即为DDoS攻击的目标,这样反射器就向受害者发起洪水攻击。DRDoS攻击如图2所示,带有恶意目的的数据包被“映射”到一些TCP服务器中,利用这些服务器回应的消息来发动拒绝服务攻击。这种攻击的特点是不需在反射器上安装攻击程序,因此更难被发现,危害更大。

2) 特征
    这几种攻击的共同特点是将有限数量的知名攻击行为以多种方式组合起来。DoS攻击的主要特征是攻击者试图阻止合法用户对有限资源的获取和使用,因此他试图(1)通过使用无用的流量占满带宽而阻止合法的网络活动;(2)通过阻断两个部门之间的连接而拒绝某种服务;(3)阻止某个特定用户对某种服务的访问;(4)打断特定系统或服务。
    DDoS也是依据这种路线,但它更有效并且更难防御,因为它在整个攻击中加入了多对一的攻击策略。下面通过例子来介绍DoS和DDoS攻击的不同特征。
    软件漏洞是经常被黑客利用来攻陷系统的一种方式。第一个被发现的DoS攻击是利用Cisco IOS/700软件发行版4.1中的一个软件漏洞,但这个攻击没有大范围的爆发,它通过telnet连接然后键入很长的password字串而搞垮一些Cisco7xx路由器。利用这个漏洞,攻击者能够重启Cisco7xx路由器并使合法用户在重启机器的阶段得不到服务[5]。
    Smurf拒绝服务攻击是利用Internet控制消息协议(Internet Control Message Protocol,ICMP)发起攻击[6],ICMP是处理错误和交换控制信息的协议。它发送一个ICMP_ECHO_REQUEST包(包中的源地址是伪造的,即为受害者的地址)给一个或多个子网广播地址,子网中的所有机器都会向受害者发送回应消息,这个攻击会导致受害者网络连接的阻塞或访问ISP网络的阻塞。
    另一个很流行的攻击方式SYN洪水攻击是利用传输控制协议(Transport Control Protocol,TCP)[7]中的固有漏洞,面向连接的TCP三次握手是SYN洪水攻击存在的基础。一台机器在网络中通讯时首先需要建立TCP握手,标准的TCP握手需要三次包交换来建立。服务器一旦接收到客户机的SYN包后必须回应一个SYN/ACK包,然后等待该客户机回应给它一个ACK包来确认,才真正建立连接。然而,如果只发送初始化的SYN包,而不发送确认服务器的ACK包会导致服务器一直等待ACK包。由于服务器在有限的时间内只能响应有限数量的连接,这就会导致服务器一直等待回应而无法响应其他机器进行的连接请求。相似的协议攻击也存在于UDP和ICMP中。
    DDoS攻击的流程如图3所示,我们按照时间顺序来分别介绍各种DDoS攻击方式。
    Trinoo是第一个被广泛使用的DDoS攻击,它的攻击方法是向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力的垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务,乃至崩溃,它对IP地址不做假。
    Tribe Flood Network(TFN)由主控端程序和代理端程序两部分组成,它主要采取的攻击方法为:SYN风暴、Ping风暴、UDP炸弹和Smurf,具有伪造数据包的能力。
Stacheldraht是TFN的一个变种,因此它具有TFN的特性。此外它增加了主控端与代理端的加密通讯能力,它对命令源作假,可以防范一些路由器的RFC2267过滤。Stacheldrah中有一个内嵌的代理升级模块,可以自动下载并安装最新的代理程序。
    TFN2K是TFN的一个更高级的版本,在TFN所具有的特性上,TFN2K又新增一些特性,它的主控端和代理端的网络通讯是经过加密的,中间还可能混杂了许多虚假数据包,而TFN对ICMP的通讯没有加密。攻击方法增加了Mix和Targa3。并且TFN2K可配置的代理端进程端口。

三、对抗DDoS攻击的方法
    对于DDoS攻击已经出现了一些解决方案,但它们都不能彻底解决这个问题。一般来说这些方法可以归纳为两类:减小影响/探测出攻击和追踪攻击源。第一类包括的处理方法有:1)包过滤[8];2)不允许广播包和关闭不用的服务;3)为系统打上安全补丁包[9]。第二类的解决方案旨在识别出发起DDoS攻击的攻击源,过去几年中很多人研究如何确定出攻击者的攻击源:Bellovin的ITRACE[10]是使用ICMP包来查证一个局部子网中被选定转发的包的路径。通过这种方法,受攻击机可以定位出被攻陷傀儡机的位置。S.Savage等使用包标记方案来使受害者反跟踪查出发起包的确切位置[11]。D.Song和A.Perrig通过使用网络拓扑图并减少标记数目的方法来提高追踪的效果[12]。为了使受害者能够询问一个特定包所经过的路径,A.Snoeren等提出了在确定路由器上使用原路径隔离引擎的方法[13]。然而,所有这些方法都是假设能利用大量网络来实施,也许这在将来是可能实现的,但至少现在实施起来有一定的难度。

四、使用陷阱系统来对抗DDoS攻击
    在分析了现有的防御DDoS攻击的方法之后,为了能够更加有效的对抗DDoS攻击,我们引入了陷阱技术。我们所设计的系统有两个优点:第一能够很好地抵御已知的DDoS攻击而且还能防御新的未知的DDoS攻击;第二可以引诱攻击者进入系统,减少攻击者对网络中其他系统的危害,同时记录攻击者的行为,为我们反击攻击者提供法律上的取证资料。
    网络安全陷阱也被称为蜜罐(honeypot)、蜜网(honeynet)。Honeypot通常是用来诱骗入侵者的,它模拟某些常见的漏洞、模拟其它操作系统或者是在某个系统上做了设置使其成为一台“牢笼”主机。比如The Deception Toolkit, CyberCop Sting 以及ManTrap等。Honeynet是专门设计来让人“攻陷”的网络,一旦被入侵者所攻破,入侵者的一切信息、工具等都将被用来分析学习。在国际上专门成立了一个组织“Honeynet Project”[14]致力于了解黑客团体使用的工具、策略和动机以及共享他们所掌握的知识。
阻止DDoS攻击的关键要点是能够定位出所有安装了DDoS攻击程序的傀儡机,因此我们设计的陷阱系统必须能够引诱攻击者在其上装载攻击程序,通过不响应攻击者发送给陷阱系统的控制信息,就可以切断攻击者与攻击目标之间的攻击链。陷阱系统由放置在网络中的多个Honeypot和一个实施远程管理的监控台组成。其中Honeypot的作用是引诱黑客进入,使之以为已经成功的攻占了系统。当黑客利用Honeypot作为傀儡机向攻击目标发动攻击时,Honeypot能够控制住攻击者的攻击行为,从而使攻击失败。Honeypot能够对攻击者发起的DDoS攻击行为进行监控和记录,这些信息被用于分析学习,使我们更好地理解所遇到的威胁,并且理解如何阻止这些威胁,从而使我们能在网络安全防护中占据主动地位。监控台能够对网络中部署的所有Honeypot进行管理和监控,如能够从监控台完成对所有Honeypot的配置和信息查询等。Honeypot记录了大量关于攻击者的信息,如果采用本地存储的方式当攻击者攻陷系统后就很容易被攻击者删除或修改,所以系统中采用了异地存储的方式,监控台兼作日志服务器用于存储各Honeypot记录的信息。
     在网络的DMZ区由于入侵活动频繁,我们在每个服务器旁设置一个Honeypot,以达到引诱黑客攻击并保护服务器正常工作的目的。
    在陷阱系统的设计中需要解决以下几个问题:
1) 攻击包必须能主动地被引入Honeypot中;
2) 控制攻击者利用Honeypot发起DDoS攻击,从而使攻击失败;
3) Honeypot必须能够模拟各种网络服务器,这样可以更好地控制住攻击者而又不引起他的怀疑;
4) Honeypot中信息的记录和传输;
5) 保护Honeypot自身的安全。
     攻击者想在网络中寻找傀儡机放置DDOS代理时,必须首先穿透网络获得一台或多台机器的访问权。要达到这个目的是需要过程的。首先,攻击者必须扫描你的网络。然后必须执行一个攻击工具来获得权限。这时,攻击者与网络中的一台主机建立连接,并把代理程序的源码或二进制代码上传。安装代理软件后,攻击者继续扫描网络重复以上过程。根据攻击的特征,在陷阱系统的设计中为了解决第一个问题我们采用了以下方法:利用入侵检测系统(IDS)来检测网络中的数据包是否为DDoS攻击包,一旦IDS探测出信息是DDoS攻击,IDS主动向防火墙发出信息,防火墙根据信息动态修改规则主动将后续的攻击包引入Honeypot中。
    系统中使用的IDS为snort,利用snort的规则库我们可以检查出已知的DDoS攻击[15],同时Honeypot对于分析和了解未知的DDoS攻击也非常有用。在设计过程中为了吸引黑客攻击Honeypot特意模拟了许多漏洞,当Honeypot与服务器同时部署在网络中时,Honeypot被黑客发现的几率就很大,黑客攻入Honeypot并在上面安装发起DDoS攻击所需代理的机会也大。这样就为Honeypot分析未知的DDoS攻击提供了绝好机会,利用Honeypot记录的信息我们可以分析出未知的DDoS攻击行为,为提高系统对抗新的DDoS攻击创造了条件。同时这也涉及第二个问题,在陷阱系统中我们利用防火墙来解决这个问题。Honeypot设置于网络中它不应该产生任何有用的数据流,所以凡是进入和流出Honeypot的数据都是可疑信息。当攻击者利用Honeypot发起DDoS攻击时,通过防火墙中设置允许从Honeypot向外发送连接的数目可以成功有效的阻断攻击。
    对于第三个问题的解决办法,在每个真实服务器旁部署一个模拟相应服务的Honeypot,最简单的实现方法是将真实服务器中的内容在Honeypot中拷贝一份。当然为了使攻击者不对所处的环境产生怀疑Honeypot也应该能够模拟一些虚假的应答信息,如发送给攻击者的虚假确认信息等。
    陷阱系统中的信息采用异机存储的方式,这里需要考虑的问题是如何保证传输信息的真实性、完整性和可靠性。这就涉及到两个方面:第一保证Honeypot中记录信息的进程不被攻击者发现,即使被发现也不能修改数据;第二保证Honeypot记录信息完整可靠的传输到日志服务器中。在系统的设计中我们对记录数据的进程进行隐藏同时将数据进行加密,这样即使攻击者通过装载在Honeypot中的Sniffer等嗅探工具也不能了解传输的数据内容,保证了数据的真实性。另外我们对传送到日志服务器上的数据进行MD5完整性校验,保证数据在传输过程中的完整性和可靠性。
    一旦攻击者攻入Honeypot,他会利用各种工具和手段想方设法的取得root权限,所以在陷阱系统中如何保护Honeypot自身的安全也是一个很重要的问题。在设计中我们采用真实操作系统上架构陷阱系统的方法,系统内核和Honeypot之间创建一个内核套作为系统和Honeypot之间的接口,这样使Honeypot不能直接访问到内核,起到很好的隔离作用。另外设置Honeypot时它的各种操作权限也受到一定的限制,这样可以更好的保护系统,当然最好还是应该找到一个平衡点即能使攻击者对系统不产生怀疑同时又能更好的保护Honeypot的安全。

五、结论
    在这篇文章中,我们描述了一个很有应用前景的工具,它能够引诱攻击者进入并使攻击者相信已成功发起了DDoS攻击。我们描述了在实际的网络环境中如何部署陷阱系统并有效防御攻击,指出了实际应用中需要解决的问题。虽然我们设计的系统仍处于初级阶段,但它已经取得了一定的成果。下一步的工作包括如何进一步提高陷阱系统自身的安全,如何使各种模拟的服务更加真实吸引攻击者进入。另外在主动引入方面即包的重定向上也需要进一步的改进和提高。

文章录入:zool    责任编辑:zool

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
2
不懂但是支持!
2004-10-4 21:47
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tjh
3
理论上可以实现....但没人真正测试过...

测试条件太苛刻了....
2004-10-5 00:11
0
游客
登录 | 注册 方可回帖
返回
//