知识卡片
拒绝会自我吊销的更新防止一次性瘫痪
内容
大规模分发凭证吊销列表时最危险的场景,是攻击者一旦拿到能推送吊销更新的权限,就直接把全部服务器的凭证一次性吊销,造成整体瘫痪。一个简单却有效的自我保护规则是:让每台服务器在应用新吊销列表之前先检查——如果这份更新会吊销掉自己当前正在使用的凭证,就整体拒绝这次更新。这样一来攻击者的最佳策略只能吊销一半机器,最坏情况下每次推送后至少一半机器仍正常工作,恢复一半基础设施远比从零恢复全部容易得多。
参考来源
- 位置:《Google系统架构解密:构建安全可靠的系统》第9章《面向恢复性的设计》9.2.4节大规模吊销凭证(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_080.html`)
- 结论依据:原文说明盲目替换KRL文件会导致一次推送吊销全部有效凭证,给出的保障措施是让目标服务器拒绝任何会吊销自身凭证的更新,因此攻击者的最佳策略最多吊销一半机器,恢复一半基础设施比恢复全部容易。
- 原始内容:一种保障措施是让目标服务器在应用新的KRL之前对其进行评估,并拒绝任何会吊销其自身凭证的更新……因为攻击者的最佳策略是吊销一半的机器,所以在最坏的情况下,每次推送KRL后,至少有一半的机器仍能正常工作。