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