4000-618-418

如何有效的防护暴力破解和撞库攻击-开云网络安全服务

2023年01月09日

在网络威胁领域,暴力破解攻击仍然是网络犯罪分子非常喜爱且有利可图的攻击方法。,黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,由于许多用户重复使用相同的用户名和密码,攻击者可以使用撞库攻击获得对其他网站上用户帐户未经授权的访问。尝试批量登录其他网站后,得到一系列可以登录的用户。因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。 


撞库可采用大数据安全技术来防护,比如:用数据资产梳理发现敏感数据,使用数据库加密保护核心数据,使用数据库安全运维防运维人员撞库攻击等。

423efa0866e8dbe6d4232b07b79e922e


常见的暴力破解攻击类型包括:

  1. 简单暴力破解攻击。 这种攻击使用标准密码组合或个人识别号。简单的攻击往往会取得成功,因为许多用户不使用密码管理器,仍然依赖于包含常用单词的弱密码,这些密码很容易被猜到。

  2. 字典攻击。 攻击者首先对个人用户名发起攻击,测试从字典中提取的可能密码,并用特殊字符和数字来修正密码。

  3. 混合暴力破解攻击。 这种形式的攻击使用外部逻辑来确定各种可能的密码和最有可能成功的组合,然后尝试尽可能多的密码。

  4. 反向暴力破解攻击。 在这种方法中,攻击者会使用一组常见密码来破解用户名。

  5. 撞库攻击。 攻击者使用从数据泄露中获得的已知密码,试图登录到其他各种网站。即使用户拥有复杂的密码,这种方法也会取得成功,因为许多人在各种帐户中重复使用相同的凭据。


针对暴力破解攻击,应用的安全设计要多方考量,从每一个可能的受攻击面出发,结合逆向的逻辑思路,建立合理的防御机制。常见的防御措施如下:

  1. 用户名或密码输入错误时统一返回“登录错误,请重试”提示信息

  2. 在用户登录时增加验证码,防止通过程序自动枚举账户

  3. 验证码应具有足够的随机性和干扰性,考虑逻辑和交互式验证码

  4. 确保所有类型的验证码能够用后即失效,防范可被重用

  5. 在用户登录中增加对同一IP地址尝试次数的限制

  6. 是否在必要的情况下采用了双因数认证


防止暴力破解的最佳方法是限制无效登录,通过这种方式,攻击只能在有限的时间点击并尝试密码。这就是为什么基于网络的服务开始使用验证码,如果您三次输入错误的密码他们会对您的IP地址进行屏蔽。

系统自身安全性增强:强制要求用户注册时满足口令复杂度要求,即强密码,建议用户使用小写字母、大写字母、数字和特殊字符组合的长密码。


暴力破解是破解密码最常用的方法,攻击的成功取决于各种因素。影响最多的因素是密码的长度以及数字、字母和特殊字符的组合。它不会使得暴力破解不可能,但会让其变得十分困难。这样,暴力破解会需要更长的时间来破解密码。


几乎所有的散列破解算法都使用暴力破解来尝试,当您对数据进行脱机访问时,此攻击最佳。在这种情况下,它易于破解,而且会花费更少的时间。


防撞库的防范措施:

  1. IP封禁,如果一段时间内,单个IP地址,密码错误次数超过阈值,则禁止这个IP一段时间再登录(或者校验手机短信/密保问题之后才能登陆)。不过,如大家所说,现在代理IP相当廉价,从IP层面来封禁基本上没啥作用。 

  2. 建立IP画像库,对代理IP、IDC IP等高危的IP直接禁止登陆(或者校验手机短信/密保问题之后才能登陆)。自己建立IP画像库成本可能会有点高,可以考虑采购安全厂商的类似服务。 

  3. 比较火的行为验证码,比如:拖条、点选、拼图等各种花样的验证码。

  4. 从设备层面来识别和封禁,通过在客户端植入sdk,收集用户端的设备信息,从设备层面来做高频策略,或者,直接识别出非正常的设备,然后对设备进行封杀。 

  5. 从行为层面来识别和封禁,和上面一条一样,通过客户端植入sdk,收集用户在登录页面的交互行为,通过机器学习、大数据建模,训练出正常用户、异常用户的行为模型,在交互行为层面,将撞库的行为识别出来。这个需要有预先训练好的行为模型,现在机器学习那么好,不说大家也都知道,自己训练一个模型肯定需要很多标注数据,这也就意味着成本。所以,还是建议寻找安全厂商还做,毕竟专业的人做专业的事。


上一篇:RCE漏洞造成的危害及防护方法-开云网络安全服务

下一篇:什么是SQL注入?SQL注入攻击的原理是什么?-开云网络安全服务