今日阅读论文: HWASanIO: Detecting C/C++ Intra-object Overflows with Memory Shading (SOAP ’23)。
这篇文章在(软件实现的)内存标签的基础上, 不但为每个对象设置一个标签(color), 还为结构体的每个字段设置了一个标签(shade), 从而防御对象内、字段之间的溢出漏洞。对象的标签的生成方法与之前的方案类似, 结构体字段的标签从1开始顺序编号。为了解决嵌套结构体, 如单独存在的结构体以及嵌入另一个结构体的结构体, 其标签不一致的问题, 这个方案在每次遇到一个新的(子)结构体的开头的时候, 重新从1编号。我认为, 这样虽然能够解决嵌套结构体的问题, 但是会增加不少标签冲突的情况, 导致漏报增加, 安全性降低。
发表评论