什么是暴力攻击?

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

Share facebook icon linkedin icon twitter icon email icon

暴力攻击

学习目标

阅读本文后,您将能够:

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

什么是暴力攻击?

暴力攻击是一种试错方法,用于解码敏感数据。暴力攻击最常用于破解密码和加密密钥(继续阅读,了解加密密钥详情)。暴力攻击的其他常见目标包括 API 密钥和 SSH 登录信息。暴力破解密码攻击通常是通过脚本或者机器人针对网站登录页面实施的。

暴力攻击区别于其他破解方法之处在于,暴力攻击未采用智能策略;这种攻击方式只是尝试使用不同的字符组合,直至发现正确的组合。这类似于小偷破解组合密码锁保险箱,他们会尝试各种可能的数字组合,直至打开保险箱。

暴力攻击分别有哪些优缺点?

暴力攻击最大的优点是操作相对简单,在时间充足,而攻击对象又未采取防护策略的情况下,这类方法总能奏效。每一个基于密码的系统和加密密钥都能采用暴力攻击方法破解。事实上,暴力破解侵入系统所耗费的时间可有效度量系统的安全级别。

另一方面,暴力攻击耗时持久,可能要试遍所有可能的字符组合,才能达到目的。如果目标字符串(字符串即字符组合)字符数增加,则耗时更久。例如,暴力破解 4 个字符数密码明显比 3 个字符数密码耗时更久,而暴力破解 5 个字符数密码又明显比 4 个字符数密码耗时更久。一旦字符数超出某一限度,则几乎无法暴力破解适当组合的随机密码。

Brute Force Cracking Times

如果目标字符串足够长,暴力攻击者可能需花费数天、数月甚至数年的时间来破解适当组合的随机密码。当前的趋势是要求填写更多位数的密码和加密密钥,因此,实施暴力攻击就愈加困难。如果密码或者加密设置巧妙,则攻击者通常会采用社会工程学或者中间人攻击等其他方法破解。

如何防御暴力攻击

管理授权系统的开发人员可采取如下措施:如锁定登录失败次数过多的 IP 地址,以及在密码检查软件中纳入延时机制。即使是数秒延时,也能大大降低暴力攻击的有效性。

Web 服务用户可选择更长的复杂密码来降低暴力攻击风险。此外,建议启用双因素身份验证,并为每项服务设定唯一密码。如果攻击者能够暴力破解用户某一项服务的密码,则其可能重复使用相同的登录信息和密码登录其他主流服务。这就是凭证填充

用户还应避免就未使用高强度加密密钥保护其数据的 Web 服务输入密码或者个人信息,如信用卡卡号或银行信息。

什么是加密密钥?

加密密钥是对数据加扰或者去扰而生成的随机位数字符串。数据经加扰处理后,在输入正确的加密密钥去扰之前,显示的是一连串随机混乱字符。如同密码一样,加密密钥也可采用暴力攻击破解,但现今使用的加密密钥,要以现代计算机对其破解耗时过久,因此加密密钥被认为是牢不可破。

128 位加密与 256 位加密二者有何区别?

相比较短的加密密钥,较长加密密钥的安全性呈指数级上升。例如,针对 128 位加密密钥,暴力攻击者需要尝试 2128 种可能的组合。针对 256 位加密密钥,攻击者需要尝试 2256 种不同组合,这相比 128 位密钥,所需计算能力要多出 2128 倍。(2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 种可能的组合)。

为让您感受这些数字代表的意义,举例如下:若一台功能强大的计算机每秒可验证数万亿个组合,这台电脑仍需花费超过 10 的 96 次方年来破解 256 位加密密钥。

因当前的暴力攻击几乎无法破解高位加密密钥,建议所有收集用户信息的 Web 服务都采用 256 位加密密钥对其数据和通讯内容进行加密。Cloudflare 采用一流的 TLS 加密机制防止暴力攻击,且已经着手进行针对量子计算的未来防护