我需要对我的程序进行一些安全验证,我需要回答的一个与身份验证相关的事情是“验证是否记录了所有身份验证决策,包括线性后退和软锁。”
有谁知道线性后退和软锁意味着什么?
提前谢谢你,
泰国人
答案 0 :(得分:1)
我正在研究OWASP ASVS。实际上,线性后退和软锁是用于防止暴力攻击的身份验证控件,也可以帮助抵御DoS。 线性后退可以通过某种算法实现,通过在特定时间内阻止用户/ IP,并且在每次失败的登录尝试之后,时间以指数方式增加,例如,对于第一次失败的登录块为5分钟,对于第二次失败的登录块为25分钟为第3次125分钟,依此类推。 根据我的理解,正如我在一些文章中看到的那样,并在某些应用程序中实现,如Oracle WebLogic软锁更容易实现,IP地址(我认为这也有助于防止使用自动化工具的DoS和暴力)或用户每次失败的登录尝试都会在数据库中记录名称,并且当某个阈值次数的失败登录尝试(例如5)永久阻止IP地址时。一旦帐户在应用程序运行时被软锁定,它就不会尝试针对后端系统验证帐户凭据,从而防止它被永久锁定。 尽管如此,ASVS验证要求非常明确。 “验证资源调控器是否已到位以防止垂直(针对所有可能的密码测试的单个帐户)和水平暴力强制(所有帐户使用相同的密码进行测试,例如”Password1“)。正确的凭据条目应该不会延迟。例如,如果攻击者试图使用单个密码“Password1”强制所有帐户强制执行,则每次不正确的尝试都会产生线性后退(例如5,25,125,625秒),并且该IP为15分钟的软锁定在允许继续进行之前,还应该有一个类似的控制来保护每个帐户,线性后退可以配置为对用户帐户进行软锁定15分钟,然后再允许再次尝试,无论源IP地址如何这两种调控机制应该同时处于活动状态,以防止对角线和分布式攻击。“