快捷搜索:   服务器  PHP  安全  IIS  linux 安全

暴力破解FTP服务器技术探讨与防范措施分享

大家通常会认为暴力破解攻击只是针对某一种FTP服务器发起的攻击,能具有代表性吗?

  随着Internet的发展出现了由于大量傻瓜化黑客工具,任何一种黑客攻击手段的门槛都降低了很多,但是暴力破解法的工具制作都已经非常容易,大家通常会认为暴力破解攻击只是针对某一种FTP服务器发起的攻击,能具有代表性吗?可以拓展到其他的网络?或服务器上吗?答案当然是肯定的。暴力破解这种软件,使用起来没有什么技术含量原理就是一个接一个的试,直到试验出正确的密码,也就是破解成功了。不过这种破解方式成功几率不高,耗费时间多,技术成分低,不是迫不得已是不使用的。在网络的实际情况中,很多FTP服务器虽说都是经过了层层的安全防护的,即便是经过防护的FTP服务器,同样可以在攻击者简单地调整攻击方式以后,运用暴力破解快速突破。本文谈谈各种攻击技术对服务器的影响,仅供网络管理人员在平时工作中,制定安全防范策略时参考使用。

  一、网络本身的负载能力与高速网络

  所有的网络攻击,都是基于网络而发起的,这就决定了网络是一切网络攻击、安全防护技术的根本。如果攻击者处于一个网络资源极度缺乏的环境之中,想要发起高级的网络攻击也是力不从心的。同时,如果防御者处于一个并非优秀的网络中,网络正常服务本身都很难为正常用户提供,更不用说进行网络安全防护了。

  1. 网络带宽的束缚

  从国内刚刚出现互联网开始,到今天网络的普及,网龄比较长的网民都经历了使用调制解调器拨号上网的举步维艰,也都经历了1Mb/s、2Mb/s甚至10Mb/s的高速网络,而网络安全,同样经历了这样的一个由慢到快、从低速到高速的过程,在这个过程之中,很多原本看起来根本不可能的攻击技术,也已经可以很顺畅地发起了。很多攻击者在进行这样的攻击的时候,都会发现一个很奇特的现象:刚刚对目标发起了分布式的暴力破解攻击,10分钟后目标服务器因为带宽拥堵,竟然瘫痪了……

  对攻击者来说,这是很让人啼笑皆非的事情,因为攻击者的目标原本是为了通过暴力破解获得某些机密的、内部的FTP资料,但是无意间却造成了目标服器的整体瘫痪,这显然是攻击者不愿意看到的结果。这也是攻击者和网络安全工程师因为网络带宽造成的困扰之一。

  另一方面,暴力破解因为自身特性,所有的验证过程都是通过向服务器据提交信息、获得服务器返回信息并进行判断而进行的。在这个过程中,不管是服务器的网络带宽质量,还是攻击者使用的僵尸计算机本身的网络带宽速度,都在很大程度上决定了暴力破解整个完成时间的长短。就目前的网络带宽来说,要顺畅、高速地发起FTP的暴力破解攻击,还是有一定难度的。一般情况下攻击者动用上百台僵尸计算机进行攻击就已经是暴力破解的极限,因为即使再增加僵尸计算机,网络带宽的限制也不允许更多的数据收发的进行。所以,第二个限制暴力破解攻击整体效率提高的因素,就是僵尸计算机本身的网络带宽质量。

  从现阶段国内四处都在进行的轰轰烈烈的网络速度提升来看,不难预见不久后的将来,整体网络速度将有非常大的提高。就像今天国际公认的平均个人网速最快的国家韩国一样,人均网速达到10Mb/s,20Mb/s甚至更多。

  虽然网络速度的提升正在飞速的发展着,但是对攻击者来说,不可能恰好子就遇到拥有高速网络的僵尸计算机或者目标服务器。于是就有读者提问:现阶段的攻击者是如何解决网络带宽的问题的呢?以后如果出现网络整体速度都得到很大提升的时候,攻击者的暴力破解攻又将有怎么样的发展呢?

  2.内部高速网络和分布式破解解决带宽难题

  先解决第一个问题:现阶段的攻击者是如何解决网络带宽的问题的呢?举例来说,一个攻击者妄图获得某会员制网站的FTP账户权限,因为里面有很多内部付费使用的资料。但是这个会员制网站服务器的网络带宽质量并不高,如果采用分布式的暴力破解攻击,可能十几台僵尸计算机就足以让这个服务器瘫痪了,攻击者显然是不愿意看到这样情况的发生的。

  在实际的网络攻击案例中,很多攻击者都遇到了这样的问题,他们的解决方法也很巧妙,也非常实用:利用内部网络通信的高速来解决暴力破解的网络带宽难题。有一定网络经验的网民都知道,中国现在的服务器,一般都是托管在IDC或者机房的,而正常情况下IDC或者机房会进行很多的网络带宽限制,在机房的入口路由或者机柜的防火墙上限制带宽,让由外对内的网络带宽变得很窄-毕竟机房很多情况下都是通过带宽来进行托管收费的。

  现在的服务器配置一般都是千兆网卡,但是对外的网络带宽不可能做到千兆全开。一般中小站点能购买5~10Mb/s的独立带宽就很不错了,也就是说这样的服务器在提供对外的访问的时候,即使网络堵塞了,用户打不开网站了,FTP无法提供正常服务了。实际上就服务器本身的硬件性能来说,还有极大的容余可以用来提供网络服务,只是出入口网络带宽不足而已。就目前国内的整体网络安全意识来看,对资深的攻击者来说,在一个存放着几百台服务器的机房中找寻一台"肉鸡",并不是很难的技术问题。找到这样的内部服务器有什么用呢?攻击者当然可以选择用来发起暴力破解攻击。对一个千兆网卡来说,如果是在内部网络中进行访问,数据的中转和网络损耗本是可以忽视的。这就好比由一个1Mb/s的ADSL猫连接的两个家用计算机,虽然从网络上下载文件大概只有150Mb/s的速度,但是如果两个计算机之间传送文件的话,8Mb/s的内网速度还是很容易实现的。所以,现阶段的攻击者如果想要发起效率非常高的FTP暴力破解,在目标服务器的网络带宽存在束缚的时候,-机柜中的服务器,并利用内部网络高速的特点发起超快的FTP暴力破解。

  再说说另一个问题:以后如果出现网络整体速度都得到很大提升的情况,攻击者的暴力破解攻击又将有怎么样的发展呢? 其实同第一个问题相比,这个问题已经在大范围内得到了解决,而且很多攻击者现在就是这样发起攻击的,那就是:分布式暴力破解。在之所有有些攻击者因为网络带宽的问题无法发起大范围的分布式暴力破解攻击,原因更多的还是目标服务器的网络带宽限制,而不是僵尸计算机本身的网络带宽。因为僵尸计算机的网络带宽就算不足,就算很慢,攻击者完全可以使用数量代替质量的方式,利用很多网络带宽不好的僵尸计算机发起大规模的暴力破解,毕竟因为网络安全意识低下,僵尸计算机还是很容易捕获的。当目标服务器的带宽在不久后的未来得到大力提升的时候,攻击者完全可以利用成千上万的僵尸计算机发起大规模的分布式暴力破解攻击,只要目标计算机的网络带宽足以承受这样的攻击,那么攻击者在极短的时间内就可以完成看似非常庞大的密码集的暴力破解攻击。

  二、CPU运算、处理能力低下的解决方法

  同几年前的硬件性能相比,现在的计算机、服务器的运算处理能力已经得到了飞速的发展。正如计算机专家普遍认为的一样,可以预见的是,硬件处理能力的提高将在很长一段时间内,持续而稳定地高速进步。

  1. 运算处理能力的束缚

  单就暴力破解来说,运算处理能力包括两方面的束缚:一方面是目标服务器的处理能力,另一方面是发起攻击的计算机的处理能力。目标服务器的处理能力决定了攻击者可以运用多大量级的攻击规模。

  比如针对一个普通的小型FTP服务器,典型的配置是4GB左右的CPU速度,2~4GB的内存容量。针对这样的小型FTP服务器,在不考虑网络带宽的理论状态情况下,攻击者使用每秒10000~20000次左右的暴力破解攻击效率就基本达到了极限,就算攻击者发起更高效率的暴力破解也无法获得更快的结果。在实际情况中,攻击者要发起这样效率的攻击是比较简单的,甚至不用使用到大规模的僵尸计算机群就可以做到。

  随着计算机硬件的发展,如果服务器在处理包含了数个指令的FTP暴力破解信息的时候,能够做到每秒理论上数十万、数百万次的请求和应答运算,那攻击者完全就可以放开手脚进行暴力破解攻击了。

  现在的网络中,有些攻击者动用庞大的僵尸计算机群,发起每秒上十万次的FTP暴力破解请求,因为FTP暴力破解的过程是通过连接服务器→获得连接信息→发送账户→获得需求密码信息→发送可能的密码→获得反馈信息→再次发起服务器连接,这样的过程循环进行的,所以看似快速的服务器处理能力并不能满足不断堆积的攻击者计算机连接请求。这就导致了很多攻击计算机发送的密码验证信息被丢弃,攻击计算机无法获得正常的服务器返回信息,最终导致暴力破解失败。发起攻击的计算机的处理能力决定了攻击者是否需要动用分布式的暴力破解攻击。同被攻击目标服务器不同的是,被攻击者控制的僵尸计算机的运算能力并不直接决定暴力破解的成败,而是对暴力破解的整个时间和成功率有非常重要的影响。

  在理论极限中,不考虑网络带宽,只考虑硬件处理能力的情况下,假使FTP服务器每次处理一个完整的FTP连接请求需要万分之一秒,而同时能处理的请求数目是10000个。那么,最完美的暴力破解模型是使用10000个僵尸计算机,完成万分之一秒内的暴力破解攻击。也就是说,在最小的目标服务器的处理能力下,使用目标服务器最大的处理能力来进行暴力破解。这样的暴力破解攻击成功率理论是100%,而在保证了成功率的基础上,时间是最短的。那么,现在的攻击者是如何解决服务器和僵尸计算机运算处理能力的呢?

  2. 分布式暴力破解提高成功率

  分布式暴力破解在很多时候是提高成功率的保障。对攻击者来说,目标服务器的处理能力是不可控的,攻击者是无法提高目标服务器的处理能力的,所以必须适应目标服务器的处理能力,由此才采用了分布式的暴力破解技术。

  采用分布式穷举的好处是,在攻击者不知道目标服务器的负载能力的时候,可以通过灵活的调整僵尸计算机的数量,来逐渐摸索目标服务器的负载能力,以便达到在目标服务器不丢包、不误报的情况下,在保证最高成功率的前提下,尽量提升暴力破解的时间。举例来说,如果目标服务器的负载能力是每秒处理1000次FTP连接、账户密码验证、信息发送,攻击者如果使用每秒可以完成10次上述过程的僵尸计算机进行暴力破解,如果攻击者使用了10000台僵尸计算机,那目标服务器的运算能力显然是跟不上的,也就可能出现误报或者错误的情况,最佳的情况是使用100台僵尸计算机,满足目标服务器的运算处理能力最大化,并且也能够在保证100%成功的基础上最大化地缩小暴力破解时间。

  总的来说,分布式暴力破解是对攻击者的攻击经验的一种考验。如果分布的僵尸计算机数量太多,结果可能是很快完成了暴力破解,但是因为误报和丢弃的存在,而无法获得正确的密码:如果分布的僵尸计算机数量太少,虽然可以很稳妥地进行完全部的暴力破解攻击,获得想要的密码,但是时间可能极长。

  3.根据僵尸计算机的性能编写高效率的暴力破解程序

  另外一个能在保证成功率的前提下,同时大大缩短暴力破解的时间的方法是调整暴力破解程序的运行速度。一个适合僵尸计算机处理能力的暴力破解程序在攻击过程中是非常重要的。

  如果暴力破解程序在僵尸计算机上运行很吃力,已经超出了僵尸计算机的处理能力,结果可能是原本正确的密码也得不到相应的正确结果,因为僵尸计算机已经无法完成各种信息的收发和处理了。

  如果暴力破解程序在僵尸计算机上运行得很轻松,系统性能有很多的容余,这样的情况下,整个暴力破解的时间将会很长。所以,要发起一个在保证成功率的前提下,还要尽量缩短暴力破解时间的攻击,需要攻击者根据自己的僵尸计算机的情况,选择不同的暴力破解程序消耗,以尽量达到成功率和时间两者的平衡。

  三、 安全策略的突破

  如果苛刻地说网络带宽和运算处理能力都是非技术因素,无法可控地进行优化的话,那么安全策略就是最直接也是最有效的防御措施了。对暴力破解来说,安全策略在很大程度上对暴力破解的成功率、时间甚至是否能发起攻击都存在着很大的影响。不过之所以说暴力破解是一种放之四海而皆准的攻击方式,就在于它可以经过攻击者简单的变化,而达到突破安全策略的目的。需要指出的是,本节的安全策略是单独的和暴力破解相关的安全策略,并没有涉及诸如密码期限、密码长度、通信加密等与暴力破解无关的安全策略。

  1. 连接频率限制及其突破

  随着网络安全意识的逐渐提高,重视安全的管理员一般会限制FTP服务器的连接频率。所谓的连接频率是指管理员定义了在特定时间段内的同一用户的连接次数,在这个次数限制之内可以任意连接,如果超出这个次数限制则拒绝连接。

  网络安全工程师或管理员通过对连接频率的限制,一方面可以合理地分配FTP服务器的处理运算能力,避免出现某一个用户因为使用了超快的连接而大量占用服务器资源的情况,另一方面可以对普通的基于账户密码的暴力破解攻击进生行之有效地限制。

  大家注意实际网络中也存在其他时间和连连接频率限制的规则,不一定是5秒一次连接,也不一定是10秒后才允许下一次连接。如果是默认的高效率的FTP暴力破解,一般情况下都是一秒发起上百次连接尝试,大大地超出了服务器允许的范围,所以这样的暴力破解显然是不能成功的,会被服务器一直拒绝连接。针对这样的情况,有经验的攻击者在发现目标服务器存在这样的连接频率限制以后,会适当地修改暴力破解程序的连接频率,让攻击程序在满足安全策略的前提下进行暴力破解。

  比如,攻击者完全可以定义攻击程序每5.1秒进行一次FTP暴力破解尝试,以达到躲开安全策略限制的目的。这样的频率限制策略看似在效率上大大地阻碍了暴力破解的进行, 但是如果只有这一种安全策略的话,是无法阻挡攻击者发起高效的暴力破解的,实际上攻击者可以通过其他攻击策略的改变来变相提高整个暴力破解的效率。

  2. 尝试错误次数限制及其突破

  同连接频率相比,错误次数限制更常见一些,网络上很多FTP服务器的管理员或者工程师都使用了这个安全策略。尝试错误次数限制是指某FTP用户的错误发生次数,当该用户的密码尝试次数超过规定的次数以后,则短期拒绝该用户的连接。举例来说,网络安全工程师可以设定这样的安全策略:从某用户尝试登录开始,连续5次输入密码错误,则返回错误信息,并在FTP系统中拒绝该用户的下一次密码验证,直到超过设定的限制时间结束。

  这样做的好处可以在很大程度上限制普通暴力破解攻击的发起,因为很多暴力破解攻击都是在无数的错误中找寻一个正确的密码。如果遇到这样的策略,暴力破解就几乎没有成功率可言了。不过错误次数限制实际上也是可以突破的,而且突破的方法也并不难。

  对有经验的攻击者来说,一旦发现目标系统存在错误次数限制,则会通过手工验证的方式,彻底摸清究竟允许几次密码错误,后续的拒绝连接时间究竟是多少?一旦弄明白这两点,攻击者会很容易地调整暴力破解策略,突破次数限制。举例来说,如果管理员限制了5次连续错误后30秒不允许连接,则攻击者可以定义暴力破解程序以5次为一个循环,每发起5次攻击就暂停30秒,然后再继续尝试。 另外一种方式是每5次尝试一个新账户,在服务器开始拒绝当前账户连接的时候,使用新的账户进行暴力破解尝试,直到所有的用户名都尝试过一遍再重头开始。还有一个大多数攻击者采用的方式就是利用分布式的攻击来解决错误次数的限制,每个僵尸计算机都使用独立秒,然后再进行后续的尝试。

  3. IP锁定及其突破

  同上面的两种安全策略相比,IP锁定比较难解决一些,不过只要目标FTP考虑让正常用户使用,那暴力破解就肯定可以发起。IP锁定策略一般是和连接频率、错误次数策略配合使用,也就是说当某账户进行连接以后,如果连接频率过高,或者错误次数超过限制,则开始运用IP锁定策略。

  在实际网络中,IP锁定策略有两个典型的应用方式,一种是当某账户出现异常以后,FTP服务器记录这个账户的IP地址,然后加入自己的黑名单,从此以后均拒绝此IP的连接,除非该用户联系管理员解除黑名单限制;另一种方式是IP限制是暂时的,过一段时间会自动解除。针对自动解除限制的情况,攻击者可以制一样的方法,调整暴力破解的循环时间,在限制时间过后,继续发起暴力破解攻击。针对永久封锁IP的情况,有四种方法可以突破:

  (1).使用代理突破IP封锁

  单纯地使用代理来进行FTP暴力破解是无法突破IP锁定的,只有暴力破解程序可以自动读取代理列表,然后在目标系统允许的情况下,发起几次暴力破解,然后再更换代理继续发起攻击。这个方法实现起来虽然简单,但是实际效果并不好,因为就算是网络攻击者也不能够保证构建一个拥有足够多代理,并且连接速度稳定、不产生意外数据接收错误的代理群,如何获得更多的代理呢?我们可以去网页上搜索,也可以自己用代理猎手来找代理,他最大的特点是搜索速度快,最快可以在十几分钟内搜完一个B类地址。如果单纯的代理无法满足需要的话我们还可以换用Muti Proxy实现IP动态自由切换功能,通过使用Sockscap+Sksockserver实现完美组合以达到组合代理的需求。如下图1、2所示。

  

  图1

  

  图2

  2) .使用ADSL类的动态IP机制突破IP封锁

  很多人都知道ADSL每次重新拨号以后都会分配一个新的IP,而且网络中也已经存在很多不断自动拨号的程序,如果攻击者愿意,自己编写一个类似的程序和暴力破解程序相配合,完全可以做到无差别的暴力破解。当然,使用网络上己有的自动拨号程序也可以满足要求。

  这个方法总的来说是比较好的,但是对攻击者的僵尸计算机有一定的要求。

  3) .使用SteganosIntemet Anonym Pro和Hide Ip Easy之类的程序突破IP封锁

  

  图3

  Steganos Internet Anonym Pro是国外顶级黑客研究出的自动变化IP,的程序,是一套功能强大的网络身份隐藏工具软件,用户可以通过该软件很简单地隐藏自已的IP、更换自己的IP。一般情况下,Steganos Internet Anonym Pro的IP变化是1秒钟变一次,而IP地址的位置一会儿在英国,一会儿在加拿大,变换频率非常快。从原理上讲,Steganos Intemet Anonym Pro是通过代理方式实现IP地址不停变化目的的,因此在IP地址变换之前,需要先测试该程序内置代理服务器的工作是否正常,并根据测试结果筛选出工作性能最稳定的代理服务器,如图4所示。使用Steganos Intemet Anonym Pro发起暴力破解攻击的话,攻击者如果适当地调整了暴力破解程序和循环间隔,以适应SteganosIntemet Anonym Pro的IP变换间隔,完全可以做到无视IP限制策略。

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论