汇编网首页登录博客注册
240420643的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
好友圈
文章收藏

[2010-01-28 15:36] 《网络对抗原理》笔记——第十章分布式攻击技术

第十章 分布式攻击技术
10.1 简介
随着分布式攻击技术的日趋成熟,越来越多的网络攻击采用这种方法对目标网络实施攻击。但是这种攻击必须事先入侵相当数量其他的不安全主机,并在这些主机上安装相应的攻击软件。当今频繁的网络入侵事件可以充分说明,不安全的网络节点数不胜数。
从目前发现的分布式攻击来看,其应用领域主要是拒绝服务攻击、信息收集和口令猜测等方面,而且攻击的结果也各不一样。例如,分布式拒绝服务攻击可以导致目标网络的通信中断,无法为合法用户提供正常的通信服务。
单从攻击本身来说,要预防它并不存在什么难题。然而,分布式攻击所发起的攻击源头范围可能相当广泛。而且,一种新的攻击方法从其设想到实现并不需要太长的时间,再加上入侵工具的使用也是越来越简单和友好。由此攻击所导致的更大范围的攻击问题或许是更让人头疼的,也是更加难以解决的。
10.2分布式拒绝服务攻击
10.2.1 拒绝服务攻击
拒绝服务攻击的英文是denial of service,简称DOS。这种攻击行动使网站服务器充斥了大量要求恢复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪,从而停止提供正常的网络服务。
拒绝服务攻击根据其攻击的手法和目的不同,有两种不同的存在形式。
一种是以消耗目标主机的可用资源为目的,使目标服务器忙于应付大量的非法的、无用的连接请求,占用了服务器所有的资源,造成服务器对正常的请求无法再做出及时响应,从而形成事实上的服务中断。这也是最常见的拒绝服务攻击形式。这种攻击主要利用的是网络协议或者是系统的一些特点和漏洞进行攻击,包括第5章中介绍过land攻击、ping of death、泪滴teardrop攻击和Smurf攻击等。此外还有syn flood和UDP flood等等。
另一种拒绝服务攻击是以消耗服务器链路的有效带宽为目的,例如,服务器的出口为2M的带宽线路,攻击者通过发送大量的游泳或无用数据包,将整条链路带宽全部占用,从而使合法用户请求无法通过链路到达服务器,服务器对部分合法请求的回应也无法返回用户,造成服务中断。  对于这种攻击,可以说非常难以区分和防范,它本来就是利用网络发展过程中不可避免的资源紧缺造成的矛盾进行攻击。大量的合法请求只要涌向一个资源有限的网络系统,就可能造成服务故障,很难说这样的行为是攻击行为还是正常的访问。从现实来说,这种方法不合实际且难以奏效,但是从占用网络资源实现攻击目的的手段来说,它又的确是符合这种攻击的原理和特点的。对于这种攻击,无论从技术和法律上都难以防范和追查。
拒绝服务攻击的共同特征是使被攻击目标无法正常工作,即通常所说的“死机”或使目标不能提供正常的服务。一般而言,采用拒绝服务攻击是为了完成其他攻击而进行的前奏。例如:
1)        在目标机上放了木马,需要让目标机重新启动;
2)        为了完成IP欺骗,被冒充的主机却瘫痪了;
3)        在正式进攻之前,需要使目标的日志记录系统无法正常工作等。
10.2.2 分布式拒绝服务攻击
 
攻击者首先通过某些攻击手段,如利用缓冲区漏洞控制一批主机,在这些主机上安装主服务器(master)程序,攻击者可远程控制这些主服务器。然后这些主服务器控制了更大数量的称之为守护程序(daemon,也称精灵)的网络节点。最后由守护程序对目标发动攻击。在悬殊的带宽对比之下,被攻击目标的主机会很快失去反应。此外,这种攻击布局方式使得要真正识别入侵者变得非常困难。
从图10-1中我们可以看出这种攻击所独有的一些特征:
1)        守护程序所在机器必然存在某些没有经过修补的安全漏洞。根据攻击类型的不同,这些系统存在的安全漏洞并不一定需要超级用户权限。如果攻击需要raw socket(底层通信所需),或者其他特权,那么攻击者就得获取超级用户权限。事实上精灵程序很可能是以一般用户的权限在运行着。攻击者还可以安装特别设计的工具来隐藏入侵痕迹。
2)        攻击程序的安装对于整个攻击来说是相当关键的,它将直接影响其攻击效果。因此,这些系统的设计者往往利用脚本程序,把整个攻击工具的安装过程自动化。这些脚本程序还可以用于加快对被攻击系统的入侵和安装。
3)        主服务器可以安装在任何系统之上,因为主服务器之间的通信并不多。通常它们被安装在一个不容易被发现的系统当中。
一旦守护程序安装成功并开始运行,它们就向“著名”主机上的主服务器声明自己,所谓“著名”主机,实际上是在安装守护程序过程中,负责控制这些守护程序的主服务器。为了完成守护程序与主服务器之间的通信,守护程序需要知道主服务器运行的地址和端口信息。这样主服务器就可以完全控制守护程序所在的机器。主服务器通过向守护程序发布各种命令实现对目标主机的攻击。
在更复杂一点的攻击当中,主服务器甚至可以告诉精灵程序关闭或者改变主服务器。当精灵程序恢复其所在机器的原始配置以后,主服务器还可以命令精灵程序删除它自己。如果程序做得好的话,所有这些都可以躲过Tripwire或者入侵检测系统之类的检查。
网络上流行的分布式拒绝服务攻击工具,有前面提到的攻击明尼苏达大学的rtinoo、德国黑客mixter编写的tfn和后续版本tfn2k以及结合trinoo和tfn二者功能的stacheldraht。这些工具的典型网络结构如图10-1所示。
10.3 分布式信息收集技术
分布式信息收集的方式如图10-2所示。它是一种分布在全球范围内的,可以自我更新的、智能的、具有隐蔽的安全漏洞/端口扫描能力的攻击方式。每个网络攻击者同时运行一个客户程序和一个服务器程序。当其中一名攻击者对目标网络实施扫描并获得相应信息后,就会把信息发往下一个攻击者所在的服务器。这种经过时间积累的信息允许我们进行更有效的和智能的攻击。
 
以图10-2的攻击为例。假设位于巴西的攻击者是第一个,对目标网络的139端口实施扫描,发现其时打开的。然后把这个信息发送到位于美国的下一个攻击者。美国的攻击者现在已经知道端口139是开着的,直接执行一条netstat命令以获得机器的详细信息。美国的攻击者又把端口信息和机器信息传送给位于德国的下一个攻击者。德国的攻击者在知道这些信息后,执行net view命令获得机器的共享名列表。然后德国的攻击者把这些信息送往澳大利亚的攻击者,此时攻击者将进行第一次登陆尝试。如果特定的用户名/口令组合失败的话,结果将送往下一个攻击者以进行另外一次不同的组合。根据攻击隐蔽性需要的不同,整个攻击过程可以在数分钟、数小时或者数天内完成。
从国家安全的角度来看,这种攻击工具是非常有价值的。在和平时期,可以用于确定其他国家的网络安全结果;在战争时期,可以对其他国家的计算机网络发送大规模的和智能化的攻击。
10.4 分布式协调攻击
正如我们所知,在资源共享和网络信息环境中,计算机病毒无法被完全清除,这使得Internet成为理想的病毒计算环境。同样,攻击者可以使用网络计算能力和分布式计算能力来完成高强度的计算,这可以由每个访问WEB站点的用户浏览器来执行。例如,WEB服务器可以把JAVA脚本语言装载到用户的浏览器,来完成密钥的穷举攻击。
这种利用高度分布的多指令多数据(multiple instruction multiple data)计算的潜在能力来协调各分布资源攻击某个特定目标,我们就称这种攻击为分布式协调攻击。
这种利用高度分布的多指令多数据(multiple instruction multiple data)计算的潜在能力来协调各分布资源攻击某个特定目标,我们就称这种攻击为分布式协调攻击(DCA,distributed coordinated attacks)。
另一种非正式的DCA定义为,以协调方式使用分布式资源来达到攻击者目的。
10.4.1 口令猜测攻击
假设受害者站点victim。Org允许用户通过Internet进行远程登录。如果攻击者想利用自己所在的网站重复猜测victim.org上用户的口令,可能很快就会被victim.org站点上的入侵检测系统发现并跟踪。相反,如果攻击者通过在网页里嵌入可编程的DCA来发动一系列的口令字猜测,而且每个猜测都按一定顺序,以来访的浏览器作为媒介,来猜测一对用户名和口令组合,那么被发现的概率就小得多了。例如:
 
在这种攻击中,我们不是给每个浏览器都发送相同的WEB网页拷贝,而是发送一个稍微不同的网页,区别在于要猜测的用户ID和口令对的不同。如果猜测失败,那么发送e-mail给Usenet新闻组。整个新闻组,可能有10000个接受者,就能收到形如jjones ajs78sj的消息。一旦攻击成功,我们就可以对victim.org做进一步的破坏。
接下来看看victim.org对这种攻击方式的反应。假设victim.org站点的跟踪和检测机制工作正常,则victim.org站点将在短时间内看到成千上万的注册失败。它们来自不同的站点,也没有固定的模式。如果在一定数量的注册失败之后,victim.org关闭了用户账号功能,那么正常用户将无法使用系统,导致拒绝服务攻击。这将最终导致另外一种安全问题。否则,攻击者将能够发现进入系统的大门,植入特洛伊木马以允许进一步的再次进入。
此攻击技术的扩展就是植入更加复杂的特洛伊木马,以击败一次性身份认证系统。
10.4.2 发送邮件攻击
DCA的另外一个例子是利用网络防火墙的安全缺陷。在这个例子中,攻击目标是使用有缺陷的sendmail软件的公司。由于这里防火墙所禁止的行为是由其内部机器实现的,因此不管采用什么样的现代防火墙技术,对此攻击都不会有任何影响。
 
在这个例子中,只有公司内部的浏览器有效,攻击者系统地堆域名的每个IP地址尝试每个sendmail漏洞。然后攻击代码以类似口令攻击的方法通知攻击者成功与否。从公司内部来看,及时能检测到,也会认为是公司内部的机器在互相攻击。
10.4.3 每个站点一个变量
在大多数的DCA中,要尽可能消除攻击本身所带来的重复性。所以攻击者要产生一个已经使用过的IP地址数据库,以确定它们在单位时间内已经被使用过的次数。例如,采用每个攻击站点一个变量的方法:
 
在这种情况下,攻击者可以限制每个参加攻击的浏览器的猜测次数。这使得要跟踪攻击者变得更加困难,任何基于源地址的跟踪检测方案都无法检测到这种协调攻击。
10.4.4 DCA垃圾
在Internet中,垃圾定义为淹没系统,或在邮件列表中,系统受到的大量的无用信息。新闻组和邮件列表中经常会受到大量的广告或废物信息。但同时也有其他形式的垃圾。一般Internet站点都没有足够的反垃圾工具。
占重要作用的垃圾可能是DCA垃圾,它分布广泛而且协同作用,用以针对某一站点或邮件列表。循环垃圾是两个邮件列表相互征订的,送往任何一个邮件列表的邮件看起来都很像病毒。
10.4.5        一个非DCA例子
利用相同的技术,我们也可以发起非协同式攻击。例如,为了增加Internet整体的噪声水平,攻击者可以随机的攻击站点或发送无用的电子邮件。例如:
 
在这种情况下,攻击者使得每个浏览器给正在运行的主机发送邮件。攻击的效果是大量的邮件发往不同的用户。依据各个用户的水平和邮件本身的安全处理程度,这种攻击可以用于广告宣传并愚弄用户作出一些不明智的事情或达到其他一些目的。
同DCA的不同之处在于,攻击者并非协同工作以针对某个特定的目标,在某种意义上确实很像病毒。因为典型的病毒攻击目标是随机的,一个非协同分布式攻击也是随机的,但正如分布式攻击可以是协同的,病毒也能攻击特定的目标。
10.4.6        其他攻击媒介
我们之所以选用了浏览器作为攻击媒介,是因为它分布广泛并能偶自动地运行主机程序,但也有另外的方法可以实现DCA。例如,如果被广泛使用的文件传输协议(FTP)有已知的缺陷(FTP可以使用任意端口和发送网络特定的信息给那些端口),那么可以使用中间站点作为DCA的跳板:
 
在这个例子中,作为DCA的准备工作,需要测试大量的FTP站点,判断站点是否存在可用于DCA的安全缺陷。一旦找到站点列表,每个站点在每次攻击中都只被使用一次。同其他的WEB攻击技术结合起来,DCA可以聚集更多的浏览器用来开发大量的有缺陷系统作为跳板。在这种情况下,系统管理员至少需要跟踪到三个站点才能找到攻击者。
10.4.7        其他DCA例子
DCA并不是只由一个站点发起的,而且发起人越多,攻击效果也就越显著。在极端情况下,大量的站点可以组织起来以攻击一组目标,相应的对其跟踪也就相对要难的多。
1.        有选择的隐藏DCA
DCA首先检查访问网页的系统是否具有发送邮件的功能和只侵入那些没有邮件端口的系统的功能。当作为中间攻击媒介的主机对安全防护系统所发送的警告邮件没有响应时,由攻击所造成的网络载荷将是相当可观的。另外一个好处就是攻击者不容易被发现。
2.        随机DCA
随机DCA所选用的站点时随机的,中间站点很可能是跨国的,这增加了协同跟踪攻击者的难度。
如果攻击者可以访问域名服务器(DNS),那么攻击者就可以进一步利用DNS来隐藏攻击者的IP源地址。
3.        IW同DCA
DCA还可以用于信息站中。信息站(IW,information war)是指以信息或信息技术作为武器、目标、对象或方法的冲突。显然,以此作为定义的话,DCA就是一种IW形式。在低强度的DCA中,就用不着特别的反击措施,如简单的邮件垃圾。随着攻击强度的增加,仅仅只是防卫就不够了,例如随后要描述的中等强度的攻击,它需要反复的同系统管理员接触。
现在考虑两个军事集团用大规模的DCA互相攻击各自的信息基础设施。这将全然不像是战争的景象,市民也成了攻击军队和工业设施的媒介。世界各地成千上万的站点,从间谍按照预先定义好的配置发起攻击。这不仅会影响被攻击者,而且会使许多信息基础设施崩溃。不像计算机病毒,DCA是更容易控制的,它们的效果是更容易度量的。它们很难跟踪,但它却很容易识别出要攻击的对象,给敌人示范我们的能力。在这些意义上可以说,DCA几乎是一种理想的IW武器。
10.4.8        DCA特征
根据上面的例子可以看出DCA具有以下特征:
1)        DCA最重要的特征是攻击站点和被攻击站点之间没有直接的联系。这意味着在没有两个或更多的站点的合作下要跟踪攻击源几乎是不可能的。当同一次一个变量结合起来时更是难上加难。
2)        DCA另外一个重要的特征是它发动的攻击有可能是不惜一切代价的,即使对每个中间站点的攻击效果并不一定好。
3)        DCA的中间媒介可能并不知道自己的系统已经被人利用。这让系统管理员也很难解释是哪个无知的用户参与了此次攻击。
迄今为止,许多DCA已经开路。这主要是因为他们所利用的系统只能提供有限的功能。随着Java和类似可装载脚本语言的引入,这也将随之改变。
评论次数(0)  |  浏览次数(1086)  |  类型(网络对抗原理笔记) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码