今天阅读了Mitigating Information Leakage Vulnerabilities with Type-based Data Isolation论文。
论文的目的是防护越界读导致的信息泄露的攻击, 包括预测执行时触发的越界读的攻击。其核心思想是将不同种类的(敏感)对象放置在带有不同颜色(color, 或称tag)的arena里, 同时对程序进行代码插桩, 确保指针运算的过程中, 运算结果不会跳出指针分配时一开始指向的arena。由于arena是按照4GiB地址对齐, 这一限制可以简单地通过位运算来实现: 保持高32位不变, 低32位采用指针运算的结果。其中, 颜色可由对象的类型确定, 这样就可以确保某个对象的指针不会因为越界的指针运算而访问到不同类型的对象, 防护了信息泄露。我觉得本文的新颖之处在于, 本文通过限制指针运算结果的范围来实现防护。论文中也提到, 与其他在指针解引用点进行检查的方案不同, 本文不需要复杂而不是很精确的指向分析。
读着读着产生了一个新的倒闭想法, 需要进一步思考和讨论。
发表评论