Brute-Force and 字典攻击

防止攻击者通过暴力破解和字典攻击窃取凭证的最佳实践.

2023 Mid-Year Threat Report

What are Brute-Force and 字典攻击?

蛮力 attack definition: 

网络罪犯利用试错策略来破解密码的一种攻击, personal identification 数字 (PINs), 以及其他形式的登录数据,利用自动化软件测试大量可能的组合.”

Dictionary attack definition:

这是一种暴力攻击,入侵者试图用企业和个人使用的常用单词和短语的“字典列表”来破解受密码保护的安全系统.”

两者都很常见 types of cybersecurity attacks 攻击者试图通过系统地检查和尝试所有可能的密码和密码短语,直到找到正确的密码和密码,从而登录用户的帐户. These brute-force and dictionary attacks are common, 由于大量的个人重复使用常见的密码变体.

毕竟,攻击一个系统最简单的方法就是从前门进入,而且肯定有这样的方法 一些 登录方式. If you have credentials, you can log in as a normal user would, likely without generating suspicious log entries, tripping IDS signatures, or needing an unpatched 脆弱性. 如果您拥有系统管理员的凭据,事情就更容易了. Attackers have neither of these luxuries; here’s an overview of how they utilize brute-force and dictionary attacks to gain access.

Attackers lack the necessary credentials to log in normally, 因此,他们通常会从被入侵网站的密码转储中寻找目标的电子邮件地址或域名来开始攻击. 如果目标在一个后来被攻破的网站上重复使用他们的密码, that password may still be valid. 但是精明的用户(希望还有系统管理员)会在任何地方使用唯一的密码. 因此,攻击者现在必须转向两种更直接的攻击之一:字典攻击和暴力攻击.

字典攻击

In a dictionary attack, 攻击者利用单词列表,希望用户的密码是一个常用的单词(或在以前的站点中见过的密码)。. 字典攻击最适合使用基于简单单词的密码.g. 'cowboys' or 'longhorns'). Wordlists aren’t restricted to 英语 words; they often also include common passwords (e.g. 'password,' 'letmein,' or 'iloveyou,' or '123456').但现代系统限制用户使用如此简单的密码, 要求用户提出在单词列表中找不到的强密码.

Brute-Force Attacks

To conduct a brute-force attack, 攻击者可以使用工具尝试字母和数字的每一个组合, expecting to eventually guess the password. 如果攻击者知道某个组织需要在其密码中使用特殊字符, the tool could be instructed to include letters, 数字, 和符号. 每个密码,无论多么强大,都容易受到这种攻击. 然而,这种方法需要一段时间(如果密码足够长,则需要几年)。.

破解一个短密码(比如四位数的PIN)所需的时间可能不到一分钟. Extending that to six characters could take an hour. 将其扩展到八个字符,包括字母和符号,可能需要几天的时间. 请注意,每个新字符都会成倍地增加暴力攻击发现密码所需的时间. So a strong, lengthy password, could take weeks or months. 但, 有足够的计算能力和专门的攻击者, the password would eventually be discovered.

防御字典和暴力攻击的最佳实践 

使用一个强大的、不常见的密码会使攻击者的工作变得更加困难,但并非不可能. 幸运的是,终端用户和系统管理员可以采取更多的预防措施来防止(或检测)这些攻击尝试:

Slow down repeated logins: This is the simplest countermeasure available. An end user is unlikely to notice a 0.1 second delay while logging in, but that delay would accumulate quickly for an attacker, especially if they cannot parallelize their attempts.

Force captchas after multiple failed logins: 而用户可能只是忘记了他们使用的帐户密码, this will help slow down an attacker significantly. 这是一个伟大的 威慑 像现代验证码这样的方法很难用电脑破解. Many captchas need manual inputs in order to be solved. 

锁定账户: 甚至更好的, 可以将系统配置为在尝试登录指定次数后锁定帐户. 许多网站会对反复使用错误密码的账户触发额外的保护. 例如,在极端情况下,i电话会在尝试10次后自毁(擦除所有数据).

更新密码: 现代系统通常要求用户定期更换密码. 一些企业环境要求用户每90天更换一次密码, or maybe even every 30 days. 这背后的基本原理是,试图对复杂密码进行暴力攻击的攻击者需要数周才能成功.

如果在这段时间内密码发生了变化,攻击者将需要重新开始. 然而, as many users would confess, these strict password requirements can backfire, with users choosing weaker, sequential passwords ('longhorns2018,“longhorns2019,等等). An attacker would quickly try incrementing the password.

Monitor for anomalies: 最后, 具有安全意识的组织应该监视用户帐户的异常情况, such as logins from unrecognized locations or devices, or repeated login failures. 一个工作人员 Security Operations Center (SOC) 是否可以实时检测这些事件并通过锁定帐户快速响应, blocking an IP address, 联系用户, and looking for further activity from this particular attacker.

Against simple systems, dictionary attacks and brute-force attacks are easy, guaranteed ways in the front door. In more sophisticated environments, 这些攻击只有在试图混入正常活动或瞄准离线密码数据库以破解密码散列时才有用. 仍然, 这些技术对任何安全专业人员的工具都是极好的补充, 他们还强调了定期为终端用户更新强密码的重要性.