暴力破解是指采用反复试错的方法并希望最终猜对,以尝试破解密码或用户名或找到隐藏的网页,或者找到用于加密消息的密钥。这是一种较老的攻击方法,但仍然有效,并深受黑客追捧。
使用工具进行暴力破解
猜测特定用户或网站的密码可能需要很长时间,因此,黑客开发出了工具以更快完成这一工作
字典是最基本的工具。一些黑客会整个运行未经删减的词典,并在单词中增加特殊字符和数字,或者使用特殊的单词词典,但这种类型的顺序攻击非常繁琐。
在标准的攻击中,黑客会选择一个目标,并针对该用户名运行可能的密码。这些方法被称为字典式攻击。
顾名思义,反向暴力破解是指反转攻击策略,从已知密码开始(例如在网上找到的已泄露密码),并在数以百万计的用户名中找到与其匹配的一个。
还可以使用自动化工具来帮助进行暴力破解,其中包括 Brutus、Medusa、THC Hydra、Ncrack、John the Ripper、Aircrack-ng 和 Rainbow。许多都能在一秒内找到由一个字典单词组成的密码。
诸如此类的工具可以有效用于许多计算机协议(例如 FTP、MySQL、SMPT 和 Telnet),并且允许黑客破解无线调制解调器、发现保护不力的密码、对加密存储中的密码进行解密、将单词转换为黑客语(例如,“don’thackme”变成“d0n7H4cKm3”)、运行所有可行的字符组合,并且操作词典攻击。
有些工具可以针对已知散列函数的输入和输出扫描预计算的彩虹表,这种基于算法的加密方法可将密码转换为长度固定的字母和数字序列。
GPU 加快暴力破解尝试
通过将 CPU 和图形处理单元 (GPU) 相结合,可使 GPU 中数以千计的计算核心加入到处理当中,使系统能够同时处理多项任务,从而加快计算性能。GPU 处理可用于分析、工程和其他计算密集型应用程序,其破解密码的速度比单独使用 CPU 要快 250 倍。
例如,由六个字符组成、包含数字的密码大约有 20 亿种可能的组合。功能强大的 CPU 每秒可尝试 30 个密码,破解它需要两年以上。如果在同一台计算机上添加一块强大的 GPU 卡,每秒就能尝试 7,100 个密码,只需 3.5 天就能破解该密码。
IT 专家保护密码的措施
要使暴力破解更难成功,系统管理员应确保其系统密码的加密方法使用尽可能最高的加密率,例如 256 位加密。加密方案中的位数越多,密码就越难破解。
管理员还应该在散列中加盐 - 在密码本身中添加一个随机的字母和数字字符串(称为盐),以使密码散列实现随机化。此字符串应存储在一个单独的数据库中,并在散列之前检索并添加到密码中。这样,用户就能通过相同的密码实现不同的散列。此外,管理员还可以要求进行双重身份验证,并且安装入侵检测系统以检测暴力破解。
限制尝试次数也可以降低受到暴力破解的风险。例如,要求在三次尝试内输入正确的密码,否则将用户锁定几分钟,这样会造成明显的延迟,使黑客转向更容易得手的目标。
用户可以如何增强密码
如果有可能,用户应选择 10 个字符的密码,并且包含符号或数字。这样将造成 171.3 个一百万的三次方 (1.71 x 1020) 种可能性。如果使用每秒尝试 103 亿次散列的 GPU 处理器,破解这样的密码也需要大约 526 年,即使是超级计算机也可能需要几个星期才能破解。
但是,并非所有网站都接受这么长的密码,这意味着用户应该选择复杂的密码,而不是单个单词。重要的是避免使用最常见的密码,并且经常更改
安装可实现密码管理自动化,使用户必须先登录密码管理器才能访问其所有帐户。然后,他们可以针对自己访问的所有网站创建极长且复杂的密码,并且安全地存储,而他们只需要记住密码管理器的一个密码就够了。