暴力破解攻击占所有攻击的51%!如何保护API免遭暴力破解攻击?

安全 应用安全
如果失败次数超过设置的限制,帐户将被自动锁定。只有管理员才能在用户验证后解锁该帐户。请记住,攻击者可能会通过暴力破解来锁定组织的合法用户,以此对组织造成信任和声誉损失。这就是为什么组织需要禁止从同一IP地址对不同的帐户进行多次登录尝试。

暴力破解攻击是最常见的攻击类型之一。在2022年第一季度,暴力破解攻击占所有攻击的51%!这些攻击通常为其他类型的威胁铺平道路,并对组织造成毁灭性的后果。

API上的暴力破解攻击问题更为严重,因为API以编程方式公开数据、功能和业务逻辑。组织需要立即采取行动阻止这些攻击,以保护数字资产免受攻击者的侵害。

什么是暴力破解攻击?

暴力破解攻击(Brute force attack)是常见、简单且易于编排的凭据破解/密码猜测攻击类型。在这些攻击中,威胁参与者使用试错法来解码密码、登录凭据、API密钥、SSH登录、加密密钥、隐藏的网页和内容。在此基础上,他们会获得对应用程序、API、帐户、系统和网络的未经授权访问。

攻击者会不断猜测用户名和密码,直到找到有效的组合。他们会系统地尝试所有可能的字母、数字和符号组合,直到破解密码。在此过程中,攻击者可能会使用手动或自动方法注入用户名密码并找到正确的凭据。

暴力破解 vs. 其他破解技术

暴力破解攻击不使用智能策略来破解凭据;他们使用一种简单的试错法,通过竭尽全力地尝试各种字符组合来破解凭据,直到找到一个允许他们进入的凭据组合。这是暴力破解与其他填充和破解方法的主要区别。

在凭据填充(credential stuffing)攻击中,攻击者会抛出真实的登录凭据来欺骗API/应用程序,使其相信他们是合法用户。为此,他们会使用窃取的凭据和密钥。

而在暴力破解攻击中,攻击者反复尝试不同的字符组合,直到他们获得对API或应用程序的访问权。

暴力破解攻击的类型

· 简单的暴力破解攻击,攻击者会使用简单、系统的方法来猜测和破解凭据,而不依赖于智能策略或逻辑。自动化工具和脚本通常用于自动猜测凭据。

· 字典攻击(Dictionary attack),攻击者使用包含单词、字符串和短语的公共数据库——字典。它们从字典中的单词/短语开始,并尝试字母和字符的组合来确定登录凭据。

· 混合暴力破解(Hybrid brute force)攻击,攻击者将简单的暴力破解攻击和字典攻击结合在一起的攻击形式。他们使用外部逻辑来确定可能有更高成功概率的密码变体,然后修改这些变体以尝试各种组合。

· 彩虹表攻击(Rainbow table attack),攻击者会使用彩虹表——一个预先计算的明文密码表/字典和与之对应的哈希函数,并尝试逆向加密哈希函数。

· 逆向暴力破解(Reverse brute force)攻击,攻击者使用常见/已知密码或密码集合,通过尝试不同的组合来找出可能的用户名/帐号。

· 密码喷洒(Password spraying)攻击,攻击者使用常用的密码(如admin或123456),并在不同的帐户上使用它们,而不是尝试不同的密码组合。这通常在有帐户锁定策略的情况下使用,攻击者只能有限地尝试破解凭据。

· 僵尸网络暴力破解(Botnet brute force)攻击,攻击者利用强大的机器人来暴力破解API,应用程序和网络。对于攻击者来说,暴力破解的最大缺点之一是需要几天甚至几个月的时间来破解凭据,尤其是更复杂的凭据。加上速率限制和账户锁定政策等额外的安全措施,挑战就更大了。但僵尸网络有助于克服这些挑战。它们为攻击者提供了高计算能力,帮助他们避开传统的防御机制,同时为攻击过程注入了速度和效率。

API中的暴力破解

API中的暴力破解是指威胁参与者利用工具不断向API发送请求,以猜测正确的凭据组合。其最终目标可能是任何东西,从通过暴力破解API身份验证表单窃取帐户到通过暴力破解登录泄露敏感数据。

运行原理

传统的暴力破解攻击通常使用巨大的人力来破解凭据。但是,考虑到安全措施和破解单个复杂密码所需的时间,攻击者如今更倾向于利用自动化工具、脚本和强大的僵尸网络来暴力破解API、应用程序和网络。

这些工具和机器人可以发送大量的服务器请求,每小时进行数十万次登录尝试。它们可以在几分钟内猜测并找到有效的组合,而无需耗费数周或数个月时间。

使用自动化工具和机器人进行API暴力破解攻击的三个主要步骤:

1. 攻击者识别他们想要攻击的API、应用程序或站点的目标URL,并在暴力破解工具中预先配置参数值;

2. 他们使用工具/机器人运行暴力破解过程,以试图识别所有有效的凭据;

3. 在识别成功的登录凭据后,攻击者登录并执行他们的命令。

以下是攻击者用于暴力破解的一些常用工具: 

· THC-Hydra使用简单或基于字典的方法运行大量密码组合来破解网络密码协议。

· Aircrack-ng使用一个广泛使用的密码字典来入侵无线网络。

· John the Ripper是一个使用字典详尽地运行可能组合的工具。

· Hashcat是最快的基于CPU的破解工具,可以运行简单的暴力破解、基于规则的攻击和混合攻击。

· Ncrack帮助破解网络认证,支持多种攻击类型。

· RainbowCrack是利用彩虹表的最快破解工具之一。

现实案例

加拿大税务局在2020年遭遇过一次暴力破解攻击,导致1.1万个CRA账户和其他政府相关服务账户受损。据悉,攻击者是利用先前窃取的凭据对该机构进行了暴力破解。

2018年,电商平台万磁王(Magneto)遭受了暴力破解攻击,导致其管理面板遭到破坏。不少于1000个账户凭据在暗网上泄露。

2018年,北爱尔兰议会遭遇暴力破解攻击,暴露了一些议员的账户。据悉,黑客是利用了几种组合来破解密码并访问了这些成员的邮箱。

2016年,阿里巴巴旗下的电子商务网站淘宝遭到暴力破解攻击,2100万个账户(占淘宝所有账户的五分之一)被盗用。攻击者使用了一个包含9900万个用户名和密码的数据库来策划这次暴力攻击。

诱发暴力破解攻击的主要因素

暴力破解攻击的主要原因之一是糟糕的密码设置。

用户(包括管理帐户)习惯使用简单或通用的密码,如123456、abdce、111111或admin。这些密码很容易被猜测到或破解。

即使用户使用了更强大的密码,他们也会在不同的账户和平台上重复使用。因此,如果他们的凭据从一个帐户被盗,那么使用相同凭据的所有其他帐户都有暴露的风险。

组织对登录凭据使用可预测的分类法,从而创建易于检测的模式。例如,通常使用员工的首字母和姓氏加上公司名称作为登录ID。

许多组织继续将凭据、API密钥、加密密钥和密码存储在明文或加密较差的数据库中。因此,攻击者可以泄露这些数据库,并使用它们来暴力破解API和应用程序。

组织仍然依赖密码或密钥作为唯一的身份验证机制。即使组织使用MFA(多因素身份验证),如果缺乏适当的授权和基于角色的访问控制措施,它们仍然处于风险之中。

此外,组织经常忽视实施多层安全措施(例如帐户锁定和速率限制)的重要性,以防止暴力破解攻击。

暴力破解攻击的常见目标

如果您的网站/ API/应用程序/系统需要用户身份验证,它将成为威胁行为者的目标。暴力破解攻击比其他攻击更容易编排,因为攻击者不需要扫描和开发利用漏洞的方法。

然而,电子商务API、应用程序和站点是这些攻击的最常见目标。这是因为它们处理支付并可以访问大量敏感的客户数据,如PII、银行信息、信用卡详细信息等。假设攻击者获得了对电子商务API或站点的访问权。在这种情况下,他们可以很容易地进行数据泄露、金融盗窃、身份盗窃、在暗网上出售用户信息等操作。这会导致用户之间的不信任,并影响组织的声誉。

暴力破解API为何如此危险?

影响

暴力破解对API的影响是严重和破坏性的。由于API本身就暴露了数据和功能,攻击者会强制他们发现登录凭据和API密钥来访问用户帐户和应用程序,以发现更多漏洞。

通过暴力破解API,攻击者还可以导致其他用户的停机和崩溃。他们可以通过暴力破解API来锁定合法用户,并为登录失败设置锁定机制。

成功的登录尝试使攻击者能够泄露用户信息、密钥等,然后在暗网上出售。他们还可以传播恶意软件,参与帐户接管,并执行其他攻击

其他原因

· 它们易于编排,尤其是在自动化工具和机器人易于租用的情况下。

· 弱密码问题仍然存在。

· 即使攻击者没有发现或不能使用其他漏洞,暴力破解攻击也能起作用。

防止暴力破解API攻击

暴力破解攻击检测

在了解如何预防暴力破解攻击之前,组织需要了解如何检测它。首先,组织需要使用特定于API的、直观的安全解决方案,来持续监控传入流量和用户行为。

违规访问

安全解决方案必须在发生异常活动时提供实时警报和触发器。只有这样,组织才能立即采取行动阻止攻击。特定于API的安全解决方案必须包括配备AI-ML和威胁情报的自动扫描工具,以查找允许暴力破解攻击的身份验证漏洞。此外,组织还必须使用手动渗透测试来发现身份验证缺陷和其他允许暴力破解API的弱点。

强密码策略和多因素身份验证

这是防止暴力破解API和其他攻击的最重要方法: 

· 创建包含字母、数字和特殊字符的复杂密码;

· 拒绝通用密码和弱密码以增强安全性;

· 在创建用户名和密码时避免常见模式;

· 确保密码定期过期,不允许重复使用以前的密码;

· 教育用户为个人账户或平台设置不同密码的重要性;

· 探索采用密码管理器或采用无密码身份验证;

· 防止以明文形式存储密码、密钥和凭据;

· 将2FA或MFA作为API和网站的强制性措施,特别是那些授予敏感数据和功能访问权的措施,以便为API和帐户提供了额外的保护。

强大的访问控制和授权策略

即使成功登录,攻击者也不应该能够访问太多敏感信息。这就是为什么需要基于角色的访问控制和强授权策略。另外,请确保关闭未使用的帐户,特别是高权限帐户。

锁定策略

如果失败次数超过设置的限制,帐户将被自动锁定。只有管理员才能在用户验证后解锁该帐户。请记住,攻击者可能会通过暴力破解来锁定组织的合法用户,以此对组织造成信任和声誉损失。这就是为什么组织需要禁止从同一IP地址对不同的帐户进行多次登录尝试。

渐进式延迟

组织还可以在登录尝试失败后暂时锁定帐户,并在每次失败的登录之间实现渐进式延迟,以减缓暴力破解攻击。

智能实现验证码质询

暴力破解工具和机器人无法执行验证码质询。因此,组织可以通过实现这些质询来为攻击者制造障碍。组织所选的安全解决方案必须基于实时洞察智能地实现这些质询。

机器人缓解

由于现代暴力破解攻击广泛利用机器人和自动化工具,组织必须使用提供智能、完全管理的机器人缓解功能的安全解决方案。

本文翻译自:https://gbhackers.com/brute-force-attacks/如若转载,请注明原文地址

责任编辑:武晓燕 来源: 嘶吼
相关推荐

2013-07-24 15:14:11

2021-07-09 05:20:14

暴力破解网络攻击Kubernetes集

2022-10-13 16:40:08

微软Windows 11Windows 10

2022-02-07 11:58:21

微软网络钓鱼攻击

2015-03-17 09:50:00

2019-02-25 18:03:15

2009-05-20 11:30:21

2013-04-18 09:52:56

2011-11-29 10:03:24

2013-06-08 10:41:51

2022-08-06 13:04:27

LinuxSHH

2013-08-19 15:14:02

2013-05-14 10:12:13

2018-01-09 16:05:02

2009-10-13 14:57:43

2012-01-01 22:08:10

2013-04-17 17:21:12

2010-08-18 10:17:12

2009-08-10 15:47:20

2014-09-24 09:27:02

点赞
收藏

51CTO技术栈公众号