Asp.net core 保护ASP.NET内核不受凭据填充的影响
ASP.NETCore通过在固定次数的登录尝试后锁定帐户,可以防止暴力猜测密码 但是,是否有一些针对凭据填充的保护措施,即攻击者尝试大量登录,但总是使用不同的用户名?锁定帐户不会有帮助,因为每次尝试时帐户都会更改。Asp.net core 保护ASP.NET内核不受凭据填充的影响,asp.net-core,security,passwords,rate-limiting,Asp.net Core,Security,Passwords,Rate Limiting,ASP.NETCore通过在固定次数的登录尝试后锁定帐户,可以防止暴力猜测密码 但是,是否有一些针对凭据填充的保护措施,即攻击者尝试大量登录,但总是使用不同的用户名?锁定帐户不会有帮助,因为每次尝试时帐户都会更改。 但是,也许有一种方法可以锁定一个IP,防止多次登录尝试,或者有其他好主意来防止凭据填充?我建议使用redis的速度检查,这基本上只是限制某些IP。此外,一些欺诈者也会轮换IP,您还可以检测何时登录更频繁(比如10倍于正常值),并开始阻止该短窗口的所有登录。我写了一篇博客文章,详细介绍
但是,也许有一种方法可以锁定一个IP,防止多次登录尝试,或者有其他好主意来防止凭据填充?我建议使用redis的速度检查,这基本上只是限制某些IP。此外,一些欺诈者也会轮换IP,您还可以检测何时登录更频繁(比如10倍于正常值),并开始阻止该短窗口的所有登录。我写了一篇博客文章,详细介绍了上述内容。代码都在node中,但我确实给出了一些高级示例,说明了如何在Precognitive(我当前的gig)阻止欺诈。在接下来的几个月里,当我在我的账户接管系列文章中发布更多信息时,我将继续构建代码
IP节流是一个很好的第一步,但不幸的是,它无法阻止大量现代凭证填充攻击。在过去的几年里,精明的凭证填充者的策略已经演变成越来越复杂 要真正有效地阻止凭据填充,您需要关注的不仅仅是IP。攻击者将轮换IP和用户代理,并伪造用户代理值。有效的防御策略基于对异常IP和用户代理活动的实时分析,以及增强特定性的附加组件(如基于浏览器或基于移动应用程序的指纹)来识别和阻止攻击 我写了一篇博客文章,研究了2020年的两次凭证填充攻击,我称之为攻击a(低复杂性)和攻击B(高复杂性) 攻击A(低复杂性示例)具有以下特征:
- 约150000次登录尝试
- 1个独特的用户代理(广泛使用的Chrome版本)
- 约1500个不同的IP地址(85%来自大多数应用程序用户居住的美国)
- 约60000次登录尝试
- 约20000个不同的用户代理
- 约5000个不同的IP地址(95%以上来自美国,99%以上来自美国和加拿大)