暴力攻击是一种用于获取私人用户信息的方法,例如用户名,密码,密码短语或个人识别码(PIN)。这些攻击通常使用脚本或漫游器来进行 “猜测”所需的信息 直到确认某事.
犯罪分子可以实施蛮力攻击,以尝试访问加密的数据。尽管您可能认为密码可以保护您的信息安全,但是研究表明,可以在不到六个小时的时间内破解任何八个字符的密码。那是2012年的一台相对便宜的机器.
蛮力攻击也可以是 IT专家测试安全性的有用方法 他们的网络。确实,衡量系统加密强度的方法之一是,攻击者成功进行暴力破解需要多长时间?.
由于蛮力当然不是最复杂的攻击形式,因此各种措施都可能阻止它们取得成功。在本文中,我们将更详细地探讨蛮力攻击,包括一些示例,然后揭示如何防范这些攻击。.
暴力攻击简介
蛮力攻击通常称为蛮力破解。确实,蛮力(在这种情况下为计算能力)被用来破解代码。暴力攻击不是使用复杂的算法,而是 使用脚本或漫游器提交猜测,直到命中有效的组合.
有很多工具可以轻松帮助黑客发起暴力破解尝试。但是,即使是从头开始编写脚本,对于熟悉代码的人来说也不会花费太多。尽管这些攻击很容易执行,但取决于密码的长度和性质以及所使用的计算能力,成功进行攻击可能需要几天,几周甚至几年的时间。.
在研究如何发现和防止暴力攻击之前,我们应注意可能会遇到的与此主题相关的其他术语.
混合暴力攻击
蛮力攻击使用系统的方法来进行猜测,而不使用外部逻辑。类似的攻击包括 字典攻击, 可能会使用字典中的单词列表来破解代码。其他攻击可能始于常用密码。这些有时被称为暴力攻击。但是,因为 他们使用一些逻辑 以确定哪些迭代最有可能首先出现,将其更准确地称为混合暴力攻击.
反向蛮力攻击
反向蛮力攻击涉及 使用通用密码或一组密码 针对多个可能的用户名。这不是针对单个用户,而是可能用于尝试获得对特定网络的访问权限.
防止此类攻击的最佳方法是使用强密码,或者从管理员的角度考虑,要求使用强密码.
凭证填充
凭证填充是蛮力攻击的一种独特形式, 使用违反的用户名和密码对. 如果知道用户名/密码配对,则攻击者可以使用它来尝试访问多个站点。进入用户帐户后,他们可以完全控制该帐户并访问其拥有的任何详细信息.
诸如两因素身份验证和安全性问题之类的预防措施可以帮助防止此类攻击造成的损害。但是,最好的保护是用户永远不要对多个帐户使用相同的密码.
暴力攻击的目标
黑客成功尝试登录后,接下来该怎么办?答案是可以进行的所有事情。这里是一些主要的:
- 窃取或公开在线帐户中发现的用户个人信息
- 收集凭证集以出售给第三方
- 冒充帐户所有者传播假冒内容或网络钓鱼链接
- 窃取系统资源以用于其他活动
- 通过获得对管理员凭据的访问来破坏网站
- 传播恶意软件或垃圾邮件内容或将域重定向到恶意内容
如前所述,暴力攻击也可以用来测试系统中的漏洞,因此并不总是恶意的.
暴力攻击的例子
暴力攻击无时无刻不在发生,有许多著名的例子可以说。我们甚至可能不了解许多过去的和持续的攻击,但是近年来发现了一些:
- 阿里巴巴: 2016年对流行的电子商务网站的一次大规模暴力攻击影响了数百万个帐户.
- Magento: 在2023年3月,Magento必须警告用户由于暴力攻击导致多达1,000个管理面板遭到破坏.
- 北爱尔兰议会: 同样在2023年3月,蛮力攻击者访问了北爱尔兰议会几名成员的账户.
- 威斯敏斯特议会: 较早的一次攻击在2023年袭击了威斯敏斯特议会,其中多达90个电子邮件帐户被盗.
- Firefox: 据透露,在2023年初,Firefox的“主密码”功能很容易受到暴力攻击。这意味着在过去的九年中,许多用户的凭据可能已被公开.
即使犯罪分子经常使用暴力攻击, 能够 帮助测试系统。此外,如果用尽了其他方法,他们可以提供备份选项以恢复密码.
如何发现暴力攻击
从服务提供商那里收到一封电子邮件,告诉您有人从随机位置登录到您的帐户并不少见。发生这种情况时,您可能已成为暴力攻击的受害者。在这种情况下,建议立即更改密码。您甚至可能希望定期更改敏感帐户的密码,以防万一您成为未检测到或未报告的暴力攻击的受害者.
如果您是网络管理员,那么对于网站和用户的安全至关重要,请注意是否存在暴力攻击的迹象,尤其是成功的攻击。尽管很可能是由于健忘的用户而导致一堆失败的登录,但是该站点很可能受到攻击。以下是需要注意的标志:
- 来自同一IP地址的多次登录尝试失败。虽然,这可能是大型组织使用代理服务器的结果.
- 使用来自同一IP地址的多个用户名登录尝试。同样,这可能只是来自大型组织.
- 单个用户名来自不同IP地址的多次登录尝试。也可以是使用代理的单身人士.
- 登录尝试失败的异常模式,例如,遵循连续的字母或数字模式.
- 成功尝试登录后,正在使用异常数量的带宽。这可能预示着旨在窃取资源的攻击.
从用户的角度来看,很难知道您的帐户是否已受到暴力攻击。如果您确实在帐户遭到破坏后收到通知,则最好的做法是检查帐户中是否有您未进行的更改并立即更改密码.
有关: 如果您的帐户或电子邮件被黑了怎么办
您可以采取什么措施来防止暴力攻击
仅仅由于大量的登录尝试,就很容易检测到暴力攻击。您可能会认为,阻止攻击就像阻止登录尝试所来自的IP地址一样简单。不幸的是,这并不是那么简单,因为黑客可以使用通过开放代理服务器传递尝试的工具,使它们来自不同的IP地址。尽管如此,无论您是用户还是管理员,都可以通过以下方法阻止成功的暴力攻击:
- 使用或要求使用强密码
- 允许有限次数的登录尝试
- 使用验证码
- 设置尝试之间的时间延迟
- 询问安全问题
- 启用两因素身份验证
- 使用多个登录URL
- 欺骗攻击软件
由于大多数措施必须由管理员实施,因此本节将着眼于该方面的事情。用户仍应注意可以帮助加强系统的区域,例如通过使用强密码并利用任何可选的安全功能。.
1.强密码
如果您是网络管理员,则可以通过要求用户输入强密码来帮助防止成功的暴力攻击。例如,您可能需要一定的长度,并且密码包含特定功能,例如大写和小写字母以及数字和特殊字符的混合.
从用户的角度来看,必须使用强密码。使用通用密码或词典中的简单单词将使蛮力攻击工具更容易落在正确的工具上。输入可靠的密码可能很困难,但是这里有一些提示:
- 密码越长越好,因为在迭代过程中将需要较长的顺序工具才能运行.
- 组合使用大小写字母,数字和特殊字符将使密码更强.
- 永远不要对不同的帐户使用相同的密码,这会使您不太容易受到某些类型的攻击.
当然,想出并记住强密码很困难,但是有一些工具可以帮助您。这些包括密码生成器工具,密码强度测试工具和密码管理器工具,例如LastPass,KeePass,Dashlane和Sticky Password.
2.尝试登录的次数有限
防止暴力攻击的一种常见防御方法是将登录尝试的次数限制为逻辑数,可能在五到十之间。如果这样做,请记住 提供某种恢复方法 供真正的用户使用,以防他们被锁定.
例如,您可以提供一个恢复选项,通过该选项可以通过电子邮件验证来更改其密码。或者,您可以提供支持联系电话或电子邮件,以防锁定.
你可能还会 考虑在区块上设置时间限制. 由于许多暴力攻击会在短时间内发生,因此可能需要临时锁定。您可以将锁定时间设置为一两个小时,以最大程度地减少对整体用户体验的负面影响.
请记住,这远非故障保护选项,并且存在许多潜在问题。此措施的问题之一是某些暴力工具不仅每次都切换密码,而且每次尝试都尝试使用不同的用户名.
如果尝试使用其他帐户,则不会锁定单个帐户。限制数量 尝试每个IP地址 从逻辑上讲是合理的,但是如上所述,每次尝试都可以使用不同的IP地址,在这种情况下,该措施无效。另一种选择是 基于浏览器或设备进行阻止 使用cookie.
这种策略的另一个问题是可以使用锁定来 在用户名猜测尝试中收获真实的用户名 只有真正的用户名才能发送锁定消息。此外,实际上可以从策略上使用锁定来封锁用户,以防止他们访问帐户.
考虑到所有这些潜在问题,应仅在适当情况下使用有限的登录尝试策略.
3.验证码
验证码(完全自动化的公共图灵测试可以告诉计算机和人类分开)已经存在了二十多年。它们可以用来 确定是否有人尝试登录. 一些验证码只是要求用户重新输入一些变形的文本,选中一个框或回答一个简单的数学问题.
当非注册用户下载免费图片时,Patrick使用简单的复选标记CAPTCHA.
其他的则稍微复杂一些,要求用户识别图像中的对象.
毫不奇怪,CAPTCHA的简单性意味着它们并不难被绕过。尽管如此,它们可能至少对潜在的攻击者构成了障碍。可以将CAPTCHA与该列表上的其他策略结合使用,例如在一定数量的失败登录尝试后要求输入CAPTCHA.
4.时间延迟
在两次登录尝试之间实施几秒钟的延迟听起来很基本,但实际上可能非常有效。一些蛮力攻击是基于短时间的大量尝试,以期迅速打击出正确的组合。尝试之间的短暂延迟可能会严重 将攻击减慢到不值得付出的地步. 另一方面,对于普通用户而言,延迟可能几乎没有引起注意.
该策略不适用于所有攻击,因为某些攻击被设计为故意降低速度.
5.安全问题
尽管许多用户对安全性问题的使用感到be恼,但对于蛮力攻击者而言,其使用可能会更加痛苦。即使在针对特定用户的涉及个人信息的针对性攻击中,也很难克服过去的安全性问题.
为了提供更好的用户体验,您可以 仅在特定次数的登录尝试失败后才请求安全性答案 或每次使用新设备登录时。或者,如果您检测到发生了攻击,则可能是时候要求所有用户在登录时回答安全问题.
6.两因素认证
根据服务的性质,您可能不希望通过执行两因素身份验证规则来恶化用户体验。不过,很高兴能够将此功能作为更注重安全性的用户的选项提供.
您可以选择提供一个简单的两步过程,例如,凭据后跟一封电子邮件,或者可以让用户在不同选项之间做出选择,包括凭据,社交媒体,电子邮件,SMS等。.
请注意,这种身份验证有两种不同形式,它们通常会混淆或简单捆绑在一起. 两步验证(2SV) 通常涉及验证码或链接,通常通过短信或电子邮件发送.
两因素验证(2FA) 通常使用不同形式的验证作为第二个因素。这可能涉及钥匙卡或钥匙扣之类的东西,或指纹或视网膜扫描之类的生物识别方法.
7.唯一的登录URL
由于实际上并没有任何阻止暴力破解尝试的具体选择,因此实施多种防御策略是明智的。其中一些可能仅涉及转移策略。一种这样的方法是 提供不同的URL供用户登录. 在这种情况下,每个用户要么具有唯一的登录URL,要么将使用与一组其他用户共享的URL。.
该方法在防止用于收集用户名的攻击方面特别有用,因为每个URL将提供有限的信息量。无论如何这都不是一流的方法,但是它可能减慢攻击速度.
8.欺骗系统
另一种可能的转移策略是将事物进行切换,以使攻击者(或更确切地说,所使用的软件)感到困惑。例如,某些机器人经过训练可以识别错误,但是您可以使用 重定向到不同的失败页面以同时失败登录尝试. 这意味着攻击者至少需要使用更复杂的软件来加强工作。.
其他选项包括允许访问帐户,但随后在新页面上甚至要求输入密码,甚至 授予对功能非常有限的帐户的访问权限.
另外,您可以使用反向方法 在网页代码中嵌入失败的登录错误. 即使尝试成功登录,机器人也可能被诱骗将其作为失败尝试交付。这种混淆形式通常用于使自动攻击更加难以理解暴力攻击是失败还是成功.
其他形式的混淆也可以帮助防止暴力破解。这种策略可能足以甩掉普通的人,他们只是在寻找一个弱小的系统来渗透。但是,这些技巧可能会由坚定的攻击者规避,并且可能需要大量的前期努力.
防止暴力攻击的底线
如您所见,有许多选项可帮助阻止成功的攻击。由于暴力攻击的性质会因情况而异,因此实际上并没有一种全面的预防方法。因此,最好考虑结合使用几种策略来建立牢固的防御线.
有关:
30多种免费工具,可提高您的网站和访问者的安全性
术语表免费计算机和互联网安全指南
图片来源: 吉诺·克雷斯科利(Gino Crescoli) (根据以下许可 CC BY 2.0)