内存安全与常见漏洞
栈溢出与返回地址覆盖、堆漏洞、释放后使用、整数溢出;缓解措施(栈保护、ASLR、DEP、CFI)与攻击者的绕过(ROP);内存安全语言(Rust、托管语言)作为根本解法。本章说明约 70% 的严重漏洞源于内存安全问题。
- 缓解措施提高攻击成本但不消除漏洞
- Rust 的所有权在编译期消除整类漏洞
- 侧信道(Spectre)绕过了所有传统隔离
栈溢出与返回地址覆盖、堆漏洞、释放后使用、整数溢出;缓解措施(栈保护、ASLR、DEP、CFI)与攻击者的绕过(ROP);内存安全语言(Rust、托管语言)作为根本解法。本章说明约 70% 的严重漏洞源于内存安全问题。