网络安全 频道

暴力破解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.根据僵尸计算机的性能编写高效率的暴力破解程序

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

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

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

0
相关文章