知识卡片

隐式信任关系会悄悄扩大TCB

普通读书笔记卡 · 1451.f

内容

拆完微服务不代表TCB真的变小了——如果后端购买服务凭Web前端发来的任意请求就返回任意用户的收货地址,那么攻陷前端的攻击者就能读到所有用户数据,前端事实上仍是这条策略TCB的一部分,只是信任关系是隐式的、没画在架构图上。解法是让前端携带针对当前用户、短期有效的EUC票据请求数据,这样攻陷前端的攻击者最多拿到活跃用户的数据,而非全量。TCB边界取决于组件实际做了什么信任假设,不取决于架构图上的服务边界线。

参考来源

- 位置:《Google系统架构解密:构建安全可靠的系统》第6章《面向易理解性的设计》6.3节(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_058.html`) - 结论依据:原文说明若后端购买服务信任前端发来的任意请求获取用户地址,则"网站后端购买服务更信任Web前端而不是随机的第三方,那么Web前端也是TCB的一部分",并给出EUC短期票据作为让后端只信任当前用户身份而非前端本身的解法。 - 原始内容:如果网站后端购买服务更信任Web前端而不是随机的第三方,那么Web前端也是TCB的一部分……如果后端只提供有效EUC响应请求的数据,则泄露前端的攻击者不具有购买后端的完全访问权限……最坏情况下,他们可能会获得在攻击期间活跃用户的敏感数据。