Lukas Bernhard, Michael Rodler, Thorsten Holz, and Lucas Davi 2022 IEEE 7th European Symposium on Security and Privacy (EuroS&P)
개요
Use after free버그를 해결하기 위해서, Software 기반의 Memory tagging기법과 이를 이용한 UAF Prevention기법을 제시하였다.
Motivation
ARM MTE와 같은 메모리 태깅 기법은 보안에 있어서 중요한 기법이다. 그러나 Intel X86과 같은 경우에는 메모리 태깅 기법을 제공하지 않는다. 또한 UAF버그는 Unsafe memory에서 지속적으로 문제를 발생시키는 중요한 버그이다.
Main Idea
- Metadata Embedding: Virtual address의 특정 부분을 Metadata Region으로 하고 같은 Physical address로 매핑시킨다.
- Use-After-Free Mitigation: Memory Allocation시에 Shadow memory에 tagging하고 현재 접근하고 있는 Virtual address의 태그와 매 Dereference마다 체크하여서, 일치하는지를 체크한다.
Conclusion
사실 Virtual address를 통해서 Metadata를 Embedding하는 기법은 잘 알려진 기법이다. 또한 Lock and key매커니즘또한 잘 알려진 기법이다. 그러나 다양한 Optimization기법을 통해서 최적화한 결과는 생각보다 빨라서, Pointer tagging기법의 잠재적을 보여준 논문이라 생각한다.