蛮力攻击是一种用于解码敏感数据的试错法。蛮力攻击最常见的应用是破解密码和破解加密密钥(继续阅读以了解有关加密密钥的更多信息)。暴力攻击的其他常见目标是 API 密钥和 SSH 登录。暴力密码攻击通常由针对网站登录页面的脚本或机器人执行。
蛮力攻击与其他破解方法的区别在于,蛮力攻击不采用智力策略。他们只是尝试使用不同的字符组合,直到找到正确的组合。这有点像小偷试图通过尝试所有可能的数字组合来闯入组合保险箱,直到保险箱打开。
蛮力攻击的优点和缺点是什么?
蛮力攻击的最大优点是它们执行起来相对简单,并且只要有足够的时间并且缺乏针对目标的缓解策略,它们总是可以工作的。每个基于密码的系统和加密密钥都可以使用暴力攻击来破解。事实上,暴力破解系统所需的时间是衡量该系统安全级别的有用指标。
另一方面,蛮力攻击非常缓慢,因为它们可能必须遍历所有可能的角色组合才能达到目标。随着目标字符串中字符数的增加(字符串只是字符的组合),这种迟缓会更加复杂。例如,四字符密码的暴力破解时间明显长于三字符密码,五字符密码的时间明显长于四字符密码。一旦字符数超过某个点,强制使用适当的随机密码就变得不切实际了。
如果目标字符串足够长,那么暴力攻击者可能需要数天、数月甚至数年才能解码正确随机化的密码。由于当前需要更长的密码和加密密钥的趋势,蛮力攻击要困难得多。当使用良好的密码和加密时,攻击者通常会尝试其他代码破解方法,例如社会工程或路径攻击。
如何防范蛮力攻击
管理授权系统的开发人员可以采取措施,例如锁定导致过多登录失败的 IP 地址,并在他们的密码检查软件中加入延迟。即使是几秒钟的延迟也会大大削弱暴力攻击的有效性。
Web 服务的用户可以通过选择更长、更复杂的密码来降低他们对暴力攻击的脆弱性。还建议启用双因素身份验证并为每个服务使用唯一密码。如果攻击者能够针对一项服务暴力破解用户密码,那么该攻击者可能会尝试在许多其他流行服务上重复使用相同的登录名和密码。这称为凭证填充。
用户还应避免使用任何未使用强加密密钥保护其数据的 Web 服务输入密码或个人信息,例如信用卡号或银行信息。
什么是加密密钥?
加密密钥是随机生成的比特串,用于对数据进行加扰和解密。一旦数据被加扰,它就会显示为一串随机的、混乱的字符,直到使用正确的加密密钥进行解扰。就像密码一样,加密密钥可以使用暴力攻击来破解,但是今天使用的加密密钥需要很长时间才能使用现代计算机破解,以至于它们被认为是牢不可破的。
128 位加密和 256 位加密有什么区别?
较长的加密密钥比较短的加密密钥更安全。例如,在 128 位加密密钥中,暴力攻击者必须尝试 2128 种可能的组合。对于256位加密,攻击者必须尝试2256种不同的组合,这需要比128位密钥多 2128 倍的计算能力来破解!(2 128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 种可能的组合)。
为了让您了解这些数字的含义,一台可以每秒检查数万亿个组合的强大计算机仍然需要十亿分之一年才能破解 256 位加密密钥(一个十亿分之一是一个后跟 96 个零)。
由于高位加密密钥几乎不受当前暴力攻击的影响,因此建议所有收集用户信息的 Web 服务都使用 256 位加密密钥对其数据和通信进行加密。使用一流的TLS 加密来防止暴力攻击,并致力于针对未来的量子计算。