什么是暴力攻击?

暴力攻击通过尝试所有可能组合破解数据,类似于小偷试遍安全锁上的所有数字以破开保险箱。

Share facebook icon linkedin icon twitter icon email icon

暴力攻击

学习目标

阅读本文后,您将能够:

  • 区分暴力攻击与其他更复杂的攻击
  • 明确暴力攻击的优缺点
  • 说明防范暴力攻击的最佳保护方式

什么是蛮力攻击?

蛮力攻击是一种反复试验的方法,用于解码敏感数据。蛮力攻击最常见的应用是破解密码和破解加密密钥 (请继续阅读以了解有关加密密钥的更多信息)。蛮力攻击的其他常见目标是API密钥和SSH登录。蛮力密码攻击通常由针对网站登录页面的脚本或机器人进行。

蛮力攻击与其他破解方法的不同之处在于,蛮力攻击不采用智力策略;他们只是尝试使用不同的字符组合,直到找到正确的组合。这就像小偷试图通过尝试所有可能的数字组合直到保险箱打开来闯入组合保险箱。

蛮力攻击的优缺点是什么?

蛮力攻击的最大优势在于它们执行起来相对简单,并且由于有足够的时间加上缺乏针对性的防护策略,它们总是能够成功。每个基于密码的系统和加密密钥都可以通过蛮力攻击来破解。实际上,蛮力破解进入系统所花费的时间是衡量该系统安全级别的有用指标。

另一方面,蛮力攻击非常缓慢,因为在达到目标之前,它们可能必须经历所有可能的字符组合。随着目标字符串中字符数的增加(字符串只是字符的组合),这种迟缓变得更加复杂。例如,四字符密码的暴力破解时间比三字符密码的破解时间长得多,而五字符密码的破解时间比四字符密码大得多。一旦字符数超过某个点,对一个进行了适当随机化的密码进行蛮力破解就变得不切实际。

Brute Force Cracking Times

如果目标字符串足够长,那么蛮力攻击者可能需要数天、数月甚至几年的时间才能解码出正确的随机密码。由于当前要求使用更长的密码和加密密钥的趋势,蛮力攻击变得困难得多。当使用更好的密码和加密时,攻击者通常会尝试其他破解代码的方法,例如社交工程或中间人攻击

如何防范蛮力攻击

管理授权系统的开发人员可以采取措施,例如,锁定产生过多失败登录的IP地址,并在其密码检查软件中加入延迟。即使是几秒钟的延迟,也会大大削弱蛮力攻击的有效性。

网页服务的用户可以通过选择更长、更复杂的密码来减少遭受蛮力攻击的脆弱性。还建议启用双因素身份验证并为每个服务使用唯一的密码。如果攻击者能够蛮力破解用户用于某一项服务的密码,则该攻击者可能会尝试在许多其他流行服务上循环利用相同的登录名和密码。这称为凭证填充

用户还应避免在任何不使用强大加密密钥保护其数据的网络服务中输入密码或个人信息、例如信用卡号或银行信息。

什么是加密密钥?

加密密钥是为加密和解密数据而生成的随机位串。数据被加密后,它会显示为一串随机的混杂字符,直到使用正确的加密密钥对其进行解密为止。就像密码一样,蛮力攻击可以破解加密密钥,但是如今使用的加密密钥需要花费很长时间才能被现代计算机破解,因此它们被认为是牢不可破的。

128位加密和256位加密有什么区别?

较长的加密密钥比较短的加密密钥有着成倍增加的安全性。例如,在128位加密密钥中,蛮力攻击者必须尝试2 128个可能的组合。对于256位加密,攻击者必须尝试2 256种不同的组合,这需要比128位密钥多2128 倍的破解能力!(2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 种可能的组合)。

为了让您能大致对这些数字有一定的概念,一台功能强大的计算机每秒可检查数万亿个组合,而它破解256位加密密钥所需要的时间是10的96次方这么多年(即英国英语中的一个 sexdecillion,1后面96个0)。

由于高数位加密密钥实际上对当前的蛮力攻击免疫,因此建议所有收集用户信息的网页服务都使用256位加密密钥对其数据和通信进行加密。 Cloudflare使用同类最佳的 TLS加密来防止蛮力攻击,并致力于面向未来的量子计算