在信息和 IT 安全中,有一种令人讨厌的趋势,即特定的“最佳实践”成为不可侵犯的黄金法则,这导致人们建议无论它们是否适合特定情况(类似于Cargo Cult Programming)都可以应用它们
这方面的一个很好的例子是密码策略的常见方法,它应用一个大小适合所有 8 个字符长度要求并结合高复杂性要求,12 个以前的密码存储在历史记录中以停止重复使用,3 个错误尝试锁定和 30 个日轮换。
30 天轮换旨在降低攻击者使用被盗密码的机会窗口,但它可能会导致用户使用序列密码,这意味着如果攻击者可以破解一个实例,他们就可以轻松解决其他实例,实际上是逆转预期的安全利益。
高长度和复杂性要求旨在阻止暴力攻击。结合合理的锁定策略和入侵检测可以更好地缓解在线暴力攻击,离线暴力攻击通常发生在攻击者破坏包含密码的数据库时,并且通过使用良好的存储机制(例如 bcyprt、PBKDF2 ) 还有一个意想不到的副作用是它会导致用户找到一种有效的模式,并且还会增加用户写下密码的风险。
3 不正确的锁定策略旨在阻止在线暴力攻击,但将其设置得太低会增加帐户锁定和超载帮助台,并且还存在拒绝服务的风险(许多在线系统很容易猜到用户名结构,如 firstname.lastname,所以很容易将用户锁定)
还有哪些 Cargo-Cult 安全性通常应用不当的例子?