安全小课堂丨什么是暴力破解?如何防止暴力破解

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 暴力破解是通过尝试所有可能的密码组合来解密,基于字符集合、有限密码长度和可预测性假设。黑客利用此方法获取未经授权的访问,如入侵系统或账户,可能为了利润、数据盗窃、恶意软件传播等目的。常见的攻击类型包括简单暴力、字典式、混合、反向和撞库。防御措施包括使用复杂密码、双因素认证、限制登录尝试和利用密码管理器。加密、加盐和实时监控也能增强安全性。

什么是暴力破解?
暴力破解也可称为穷举法、枚举法,是一种比较流行的密码破译方法,也就是将密码进行一一推算直到找出正确的密码为止。比如一个6位并且全部由数字组成的密码,可能有100万种组合,也就是说最多需要尝试100万次才能找到正确的密码,但也有可能尝试几次后就能找出正确的密码。从理论上来说,只要字典足够庞大,枚举总是能够成功的,也就是说任何密码都能被破解,只是时间的问题。

图片.png

而暴力破解也是一种常见的网络安全攻击方法,它利用计算机程序自动尝试大量的密码组合来破解密码。这种攻击方法通常用于获取未经授权的访问权限,如入侵网络系统或个人账户。

暴力破解的原理
暴力破解利用计算机程序自动化地生成可能的密码组合,并将其提交到目标系统进行验证。
这种攻击方法基于以下几个假设:
密码是由字符集合组成的:密码通常由字母、数字和符号组成,因此暴力破解程序将根据这些字符集合生成所有可能的密码组合。
密码长度是有限的:由于密码长度有限,暴力破解程序可以尝试所有可能的密码组合,直到找到正确的密码为止。
密码是可预测的:在某些情况下,密码可能是根据常见的模式或规律生成的,因此暴力破解程序可以利用这些规律来更快地破解密码。

图片.png

黑客通过暴力破解攻击能得到什么?
使用暴力破解的攻击者必须付出一些努力才能让阴谋得逞。虽然技术的进步确实让这种攻击实施起来更容易,但您仍有可能会问:为什么有人会这样做?

以下是黑客通过暴力破解攻击可以获得的好处:
通过广告或收集活动数据来获利
窃取个人数据和贵重物品
传播恶意软件,造成破坏
劫持您的系统,进行恶意活动
破坏网站声誉

通过广告或收集活动数据来获利。
黑客可以与其他人一起利用网站赚取广告佣金。常用的方法包括:
在流量大的网站上投放垃圾广告,每次访客点击或查看这些广告时,他们都能赚钱。
将网站的流量重新路由到受委托的广告网站。
使用活动跟踪恶意软件(通常是间谍软件)感染网站或其访客的设备。未经您同意便将您的数据出售给广告商以帮助其改善营销状况。

窃取个人数据和贵重物品。
入侵在线账户就像打开银行保险库:从银行账户到税务信息,一切都可以在网上找到。对于犯罪分子来说,只需成功入侵一次,即可窃取您的身份信息、金钱,或者出售您的私人凭据以非法牟利。有时,企业级数据泄露会导致整个组织的敏感数据库暴露出来。

传播恶意软件,只为造成破坏。
如果黑客想要制造麻烦或练习技能,他们可能会将正规网站的流量重定向到恶意网站,也可能会使用安装在访客电脑上的隐藏恶意软件来直接感染网站。

劫持您的系统,进行恶意活动。
当一台机器不够用时,为了加快攻击速度,黑客会控制一组受害者设备,构建一个僵尸网络。恶意软件会渗透进您的电脑、移动设备或在线账户,实施垃圾邮件钓鱼和暴力破解攻击等活动。如果您未安装反病毒系统,被感染的风险会更大。

破坏网站声誉。
如果您运营一个网站并成为恶意破坏的目标,网络犯罪分子可能会决定在您的网站上投放淫秽内容。这可能包括暴力、色情或种族歧视性质的文字、图像和音频。

暴力破解攻击的类型
每次暴力破解攻击都会使用不同的方法来窃取您的敏感数据。您可能会遇到以下任何一种常见的暴力破解方法:
简单的暴力破解攻击
字典式攻击
混合暴力破解攻击
反向暴力破解攻击
撞库攻击

简单的暴力破解攻击:黑客试图在完全不借助软件工具或其他手段的情况下,从逻辑上猜测您的凭据。这类攻击可以破解极其简单的密码和 PIN 码。例如,设置为“guest12345”的密码。

字典式攻击:在标准攻击中,黑客会选择一个目标,并针对该用户名运行可能的密码。这些方法被称为字典式攻击。字典式攻击是最基本的暴力破解攻击方法。虽然这类攻击本身不一定是暴力破解攻击,但通常被用作破解密码的一个重要手段。一些黑客会整个运行未经删减的词典,并在单词中增加特殊字符和数字,或者使用特殊的单词词典,但这种类型的顺序攻击非常繁琐。

混合暴力破解攻击:黑客将外部手段与自己合乎逻辑的猜测相结合,试图入侵目标账户。混合攻击通常是将字典式攻击和暴力破解攻击结合起来。这类攻击被用于破解由常见单词与随机字符组合而成的密码。像 NewYork1993 或 Spike1234 这样的密码就属于这种性质的暴力破解攻击。

反向暴力破解攻击:顾名思义,反向暴力破解攻击将攻击策略反向执行,从已知密码开始。然后,黑客会搜索数百万个用户名,直至找到匹配的那一个。使用这种手段的很多犯罪分子都是从因数据泄露而被公布到网上的密码开始的。

撞库攻击:如果黑客知道了一个网站的用户名和密码组合,他们也会用这个组合在很多其他网站上尝试。很多用户习惯在很多不同的网站上重复使用相同的登录信息,因而容易沦为这种攻击的专属目标。

图片.png

使用工具进行暴力破解
猜测特定用户或网站的密码可能需要很长时间,因此,黑客开发出了工具以更快完成这一任务。
自动化工具为暴力破解攻击提供了有效辅助。这种工具可以快速执行猜测程序,旨在创建所有可能的密码并尝试使用它们。暴力破解软件能在一秒内破解由一个字典单词组成的密码。

这些工具中都编入了变通方法,以便:
妨碍多种计算机协议(如 FTP、MySQL、SMPT 和 Telnet)
让黑客可以破解无线调制解调器。
识别弱密码
解密加密存储中的密码。
将单词转换为黑客语,例如,“don'thackme”变成“d0n7H4cKm3”。
运行所有可能的字符组合。
实施词典式攻击。

有些工具会扫描预计算的彩虹表,以获取已知散列函数的输入和输出。这些“散列函数”是基于算法的加密方法,可以将密码转换为较长且长度固定的字母和数字序列。换句话说,彩虹表去除了暴力破解攻击中最难的部分,加快了攻击过程。

GPU 加快暴力破解尝试
运行暴力破解密码的软件需要大量算力。不幸的是,黑客已经找到了硬件解决方案,使这部分工作变得更加容易。
CPU 和图形处理单元 (GPU) 结合使用可加快计算速度。通过将数千个计算核心添加到 GPU 中执行处理操作,系统能够同时处理多个任务。GPU 处理用于分析、工程和其他计算密集型应用。黑客使用这种方法破解密码的速度比单独使用 CPU 要快 250 倍。
那么,破解一个密码需要多长时间?例如,由 6 个字符组成、包含数字的密码大约有 20 亿种可能的组合。功能强大的 CPU 每秒可尝试 30 个密码,破解它需要两年以上。如果在这台计算机上添加一块强大的 GPU 卡,每秒就能尝试 7,100 个密码,只需 3.5 天就能破解该密码。

如何防止暴力破解?
为了保护自己和网络的安全,您需要采取预防措施并帮助他人也这样做。用户行为和网络安全系统都需要加强。

无论是 IT 专家还是普通用户,都需要牢记以下几条一般建议:
使用高级用户名和密码。为了有效抵御攻击,应使用比 admin 和 password1234 强度更高的凭据来保护自己。这种组合的强度越高,破解难度就越大。
删除任何闲置不用的高权限账户。这些账户在网络上相当于锁很容易撬开的大门。账户不维护就会形成漏洞,将您置于风险之中。应尽快删除这些账户。

一旦您掌握了基本知识,您就会想要增强自己的安全,同时也让用户这样去做。

我们将从您可以在后端执行的操作开始,然后向您分享培养安全习惯的建议。

图片.png


利用被动式后端防护措施来保护密码
高加密率:要使暴力破解攻击更难成功,系统管理员应确保其系统密码的加密方法使用尽可能最高的加密率,例如 256 位加密。加密方案中的位数越多,密码就越难破解。

在散列中加盐:管理员还应该在密码本身中添加一个随机的字母和数字字符串(称为盐),以使密码散列实现随机化。此字符串应存储在一个单独的数据库中,并在散列之前检索并添加到密码中。通过在散列中加盐,用户就能通过相同的密码实现不同的散列。

双重身份验证 (2FA):此外,管理员还可以要求进行双重身份验证,并且安装入侵检测系统以检测暴力破解攻击。这需要用户使用第二个身份验证因子来跟踪登录尝试,如物理 USB 密钥或指纹生物识别扫描。

限制登录重试次数:限制尝试登录的次数也可以降低遭到暴力破解攻击的风险。例如,要求在三次尝试内输入正确的密码,否则将用户锁定几分钟,这样会造成明显的延迟,使黑客转向更容易得手的目标。

多次登录尝试后锁定账户:如果黑客可以无限制地继续重试密码,即使在短暂锁定之后,他们也可以再次尝试。锁定账户并要求用户联系 IT 团队进行解锁,可以阻止黑客的行为。短暂锁定对用户来说更方便,但方便可能意味着漏洞。为了达到平衡,如果短暂锁定后尝试失败次数过多,您可以考虑使用长期锁定。

限制重复登录的速率:您可以通过在每次登录尝试之间设置一定的间隔,进一步减慢攻击者的攻击速度。一旦登录失败,计时器可以拒绝登录,经过一小段时间再允许重试。这让您的实时监控团队能够有时间发现并采取措施来阻止这种威胁。如果不值得等待,一些黑客可能会停止尝试。

重复登录尝试后需要验证码:手动验证可阻止机器人通过暴力破解窃取您的数据。验证码有多种类型,包括重新输入图像中的文字、选中复选框或识别图片中的对象。您可以在首次登录之前和每次登录尝试失败之后,使用任意类型的验证码来加强保护。

使用 IP 黑名单阻止已知的攻击者。确保管理人员持续更新此名单。

利用主动式 IT 支持防护措施来保护密码

密码安全宣传教育:用户行为对密码安全至关重要。对用户进行安全实践和工具方面的宣传教育,帮助他们管理好自己的密码。由于用户往往为图方便而不顾安全,因此一定要帮助他们学会使用方便的工具来保护自己的安全。

实时监控账户以发现异常活动:奇怪的登录位置、过多的登录尝试等等。试着找出异常活动的趋势,并采取措施实时阻止任何潜在攻击者。注意 IP 地址阻止情况、账户锁定,并联系用户以确定账户活动是否合法(如果看起来可疑)。

用户如何增强密码以抵御暴力破解攻击
作为用户,您可以采取很多措施来加强在数字世界中的自我保护。抵御密码攻击的最好方法是尽可能提高密码的强度。

暴力破解密码需要时间。因此,您的目标是确保自己的密码尽可能延长这些攻击得逞所需的时间,因为所需时间太长而不值得,大多数黑客便会放弃攻击并转向其他目标。

以下是增强密码以抵御暴力破解攻击的几种方法:
设置包含不同字符类型的较长密码。如果有可能,用户应选择 10 个字符的密码,并且包含符号或数字。这样会产生 171.3 个一百万的三次方 (1.71 x 1020) 种可能性。如果使用 GPU 处理器每秒尝试 103 亿个散列值,破解密码大约需要 526 年。然而,超级计算机可以在几周内完成破解。按照这种逻辑,密码包含的字符越多,破解难度就越大。

复杂的密码短语。但是,并非所有网站都接受这么长的密码,因此用户应该选择复杂的密码短语,而不是单个单词。字典式攻击专门针对单个单词的短语构建,几乎不费吹灰之力就可以破解。密码短语是由多个单词或片段组成的密码,应在其中加入额外字符和特殊的字符类型。

密码的创建规则。最安全的密码是那些您自己能记住但别人看不懂的密码。在使用密码短语时,请考虑使用截短词,比如用“wd”代替“wood”,从而创建出一个只有您自己才能理解的字符串。还可以去掉单词中的元音字母或只使用每个单词的前两个字母来创建密码短语。

不要选择常用密码。重要的是避免使用最常见的密码,并且经常更改。
为您使用的每个网站设置唯一密码。为了避免成为撞库攻击的受害者,切勿重复使用密码。要提高安全等级,可以针对每个网站设置不同的用户名,这样即使一个账户被入侵,也可以防止其他账户受到攻击。

使用密码管理器。安装密码管理器可以自动创建并跟踪您的在线登录信息。只要先登录密码管理器,即可访问所有账户。这样一来,您就可以针对自己访问的所有网站创建极长且复杂的密码,并且安全地存储,而您只需要记住密码管理器的一个密码就够了。

总之,暴力破解是一种非常危险的攻击方式,可以对个人、企业和组织造成严重的后果。为了保护自己免受暴力破解攻击,我们应该采取一系列的安全措施,例如使用强密码、多因素身份验证和网络安全设备,以及实施访问控制策略和安全培训和意识提高活动。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
2月前
|
算法 安全 PHP
24-9-24-CTFweb爆破-学习笔记
本文档详细记录了CTFshow平台上的Web安全挑战学习过程,包括条件爆破、伪随机数爆破及目录遍历等多种攻击手法。通过分析PHP的`substr()`函数与MD5加密特性,实现对特定条件的token爆破;利用Mersenne Twister算法的伪随机数生成机制破解随机数挑战;通过身份证信息爆破获取账户密码;最后通过目录遍历技术找到隐藏的flag。提供了完整的脚本示例,帮助读者理解和实践各种爆破技巧。
|
11月前
|
SQL 数据库 数据安全/隐私保护
攻防世界-inget(简单的SQL注入、万能密码)
攻防世界-inget(简单的SQL注入、万能密码)
252 0
|
XML 开发框架 安全
记一次后门爆破到提权实战案例
记一次后门爆破到提权实战案例
92 0
|
安全 关系型数据库 MySQL
口令破解(web安全入门07)
口令破解(web安全入门07)
312 0
|
数据安全/隐私保护 Python
用户登录程序防破解
用户登录程序防破解
104 0
|
XML 安全 Shell
SSH 密码暴力破解及防御实战_2 | 学习笔记
快速学习 SSH 密码暴力破解及防御实战_2
658 0
SSH 密码暴力破解及防御实战_2 | 学习笔记
|
存储 数据安全/隐私保护 计算机视觉
6.暴力破解
暴力破解,是一种针对于密码的破译方法,将密码进行逐个推算直到找出真正的密码为止。例如一个已知是四位并且全部由数字组成的密码,其可能共有10000种组合,因此最多尝试10000次就能找到正确的密码。而当遇到人为设置密码(非随机密码,人为设置密码有规律可循)的场景,则可以使用密码字典(例如彩虹表)查找高频密码,破解时间大大缩短。 设置长而复杂的密码、在不同的地方使用不同的密码、避免使用个人信息作为密码、定期修改密码等是防御暴力破解的有效方法。
6.暴力破解
|
Linux 网络安全 开发工具
2022-渗透测试-口令破解-几款暴力破解和字典生成的工具
2022-渗透测试-口令破解-几款暴力破解和字典生成的工具
2022-渗透测试-口令破解-几款暴力破解和字典生成的工具
|
安全 网络协议 关系型数据库
SSH 密码暴力破解及防御实战_1 | 学习笔记
快速学习 SSH 密码暴力破解及防御实战_1
813 0
SSH 密码暴力破解及防御实战_1 | 学习笔记
|
安全 Shell Linux
SSH 密码暴力破解及防御实战_3 | 学习笔记
快速学习 SSH密码暴力破解及防御实战_3
298 0
SSH 密码暴力破解及防御实战_3 | 学习笔记