知识卡片

处理不可信输入用独立信任空间

普通读书笔记卡 · 1456.a

内容

把系统拆成两类环境——一类专门处理外部传入的、未经验证的输入(比如解析用户提交的证书签名请求),另一类专门执行签发密钥这样的敏感操作,两者物理或逻辑隔离,即使前者被攻破,攻击者也拿不到后者的权限。这是[[拆分服务缩小可信计算基础]]在处理”输入解析”这个具体场景下的应用——凡是要解析外部输入格式(证书、文件、协议包)的代码,都天然比其他业务逻辑更值得单独隔离,因为解析逻辑历史上是内存安全漏洞的高发区。

参考来源

- 位置:《Google系统架构解密:构建安全可靠的系统》第11章《案例分析:设计、实现和维护一个受信任的公共CA》11.4节(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_095.html`) - 结论依据:原文明确说明CA设计了"双信任空间架构,在与执行关键操作不同的环境中处理不受信任的输入内容",并指出即便攻破其中一个模块,影响也局限在其功能范围内,接触其他资源需要绕过额外审查点。 - 原始内容:我们还设计了一种双信任空间架构,在与执行关键操作不同的环境中处理不受信任的输入内容……即便是攻破了其中的一个,所造成的影响也局限在其功能范围内。如果要接触其他资源,则攻击者需要绕过额外的审查点。