本站点使用Cookies,继续浏览表示您同意我们使用Cookies。 Cookies和隐私政策>

首页 信息速查 产品智能选型 IP知识百科

什么是暴力破解?

暴力破解,是一种针对于密码的破译方法,将密码进行逐个推算直到找出真正的密码为止。例如一个已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试10000次就能找到正确的密码。而当遇到人为设置密码(非随机密码,人为设置密码有规律可循)的场景,则可以使用密码字典(例如彩虹表)查找高频密码,破解时间大大缩短。
设置长而复杂的密码、在不同的地方使用不同的密码、避免使用个人信息作为密码、定期修改密码等是防御暴力破解的有效方法。

暴力破解的方法

穷举法

穷举法是指根据输入密码的设定长度、选定的字符集生成可能的密码全集,进行地毯式搜索。例如一个已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试10000次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码,但随着密码复杂度增加,破解密码的时间会指数级延长。

穷举法适用于猜解随机生成的短信验证码等,因为各种随机生成密码出现的概率是一样的,不受人的记忆影响。

字典式攻击

字典式攻击是将出现频率最高的密码保存到文件中,这文件就是字典,暴破时使用字典中的这些密码去猜解。

字典式攻击适用于猜解人为设定的口令,因为人为设定受人方便记忆影响不同密码出现的概率是不一样的,12345678、password作为密码的概率比fghtsaer作为密码的概率要高得多。与穷举法相比,字典式攻击虽然损失了较小的命中率但节省了较多的时间。

彩虹表攻击

彩虹表攻击也属于字典式攻击,但它是一种高效地破解哈希算法(MD5、SHA1、SHA256/512等)的攻击方式。

网站为了增加安全性,不会直接将用户密码存储在数据库中,而是将密码进行哈希,变成一长串毫无意义的字符,并且哈希算法是不可逆的,没有解密算法可以还原成原来的密码。面对哈希后的密码,破解的方法有两个,一是用穷举法组合出所有的密码可能,然后经哈希加密算法计算,将结果与目标哈希值进行比对,但边计算边比对会耗费海量的时间;二是提前生成可能密码与对应哈希串的对照表,但是对照表将占据海量的磁盘空间,以14位字母和数字的组合密码为例,生成的密码32位哈希串的对照表将占用5.7×10^14 TB的存储空间。

彩虹表是时间空间折中的方法,其核心思想是将明文计算得到的哈希值由R函数映射回明文空间,交替计算明文和哈希值,生成哈希链,将这个链的首尾存储在表中,中间的都删掉,用的时候临时算,那么存储的空间比原来的减少了一半,而计算次数也并没有大量增多。由于在哈希链的计算过程中引入不同的R函数,将不同的R函数用不同的颜色表示,众多的哈希链就会像彩虹一样,所以叫做彩虹表。

彩虹表
彩虹表

使用彩虹表进行破解,普通PC也能达到每秒1000亿次以上的惊人速度。为了增加安全性,可能会多次哈希,例如MD5后再MD5一次;或者在原始密码前后补上一串字符,增加密码长度后再哈希,学名叫加盐(salt),这些算法的结果都可以加入彩虹表中。最完善的彩虹表差不多能破解出目前网上99.9%的密码。

哪些是最容易受到暴力破解的密码

许多人设置的密码都过于简单,或者使用电话号码、出生日期、亲人或宠物的名字作为密码,或者在不同网站使用相同密码,这些行为导致密码很容易被破解。

在 2020 年末,NordPass 公布了 2020 年使用率最高的 200 个密码,排名靠前的几个密码分别为 123456、123456789、password、12345678、111111、123123、12345、1234567890、1234567、000000、1234 …… ,除了纯数字,还有各种数字和字母组合,例如:qwerty、abc123 和 picture1 等。

暴力破解不会造成直接的入侵,但攻击者通过暴力破解获得了系统/用户的账号和密码,以此为后续的入侵做准备。对于个人而言,直接从用户那里窃取金钱,或者窃取其身份,身份盗用可能导致进一步的财务损失。对于企业而言,通过暴力破解可以登录Telnet服务、POP3服务和MySQL服务等,登录成功将会导致用户信息泄露、文件共享、邮件泄露或无法正常发送邮件等高危事件。

如何防御暴力破解攻击

人的层面:增强密码安全性

  • 提升密码长度和复杂度

    密码应由数字、大小写字母和特殊符号混合组成,且密码越长,破解密码的时间就会成指数增加,一旦密码超过了某个长度,基本上就不能用暴力破解了。例如,使用破解的服务器集群,每秒可以尝试3500亿次,这个速度破解6位密码只需要4.08秒,7位密码只需6.47分钟,8位密码需要10.24小时,9位密码需要40.53天,10位密码就需要10.55年了。

  • 在不同的地方使用不同的密码

    重复使用电子邮件、银行和社交媒体帐户的密码更可能导致身份被盗用。可以将网站的缩写作为密码的后缀,例如登陆QQ的密码是Hl9tysY.qq,登陆微博的密码是Hl9tysY.wb,这样每个网站都有独立的密码且不容易忘记。

  • 避免使用字典单词、数字组合、相邻键盘组合、重复的字符串。

    例如 password 、12345678、asdfg 、aaaa 或 123abc。

  • 避免使用名字或者非机密的个人信息(电话号码、出生日期等)作为密码,或者是亲人、孩子、宠物的名字。因为当我们单击一些网站中的“忘记密码”链接时,系统有时会要求回答一系列问题。而答案通常可以在我们的社交媒体资料中找到,从而使帐户更易被破解。
  • 定期修改密码

系统层面:做好密码防暴力破解设计

系统设计时考虑以下几个方面:

  • 锁定策略:输错密码几次就锁定一段时间。
  • 验证码技术:要求用户完成简单的任务才能登录到系统,用户可以轻松完成,但暴力工具无法完成。例如图形验证码、短信等。
  • 密码复杂度限制:强制用户设置长而复杂的密码,并强制定期更改密码。
  • 双因子认证:结合两种不同的认证因素对用户进行认证的方法。例如密码、身份证、安全令牌、指纹、面部识别、地理信息等。

华为Hisec Insight如何帮助您防御暴力破解攻击

华为推出基于大数据的APT防御产品HiSec Insight高级威胁分析系统,不仅在系统设计上能够有效防御暴力破解功能,而且能够追溯暴力破解的意图,防患未然。

Hisec Insight采集网络中的流量及各类设备的网络、安全日志等海量网络基础数据,通过大数据实时及离线分析,直观展示对暴力破解等威胁事件的分析信息,用户可以根据分析信息进行判断,采取遏制、溯源、清理等方法高效地完成威胁的处置闭环。

分析取证:HiSec Insight可以直观展示在某时间窗内(例如20秒)系统被暴力破解的次数,如果次数符合暴力破解行为(例如短时间内连续认证超过8次),暴力破解之后有登录成功的行为,会作为威胁事件进行上报告警。

处置方法:对暴力破解的行为,用户可以采取相应方法进行处置。
  1. 遏制:在防火墙上配置IP黑名单,封堵暴力破解的攻击源主机,对于攻击成功的暴力破解,断开受威胁主机的网络连接进行隔离,防止恶意攻击持续扩散。
  2. 溯源:查看受威胁主机的历史攻击事件,确认是否包含扫描类事件等其他异常行为。
  3. 清理:对于攻击成功的暴力破解,需要修改账号密码,防止此类事件再次发生,并使用终端杀毒软件进行全盘查杀。
  4. 预防:对外开放的服务,需要加强密码管理,如使用强密码并定期进行修改。在网络入口建议部署入侵检测设备或防火墙,增强安全防护。
词条统计
  • 作者: 矫翠翠
  • 最近更新: 2022-05-28
  • 浏览次数: 34521
  • 平均得分:
分享链接到: