Byoungyoung Lee, Chengyu Song, Yeongjin Jang, Tielei Wang, Taesoo Kim, Long Lu, Wenke Lee Proceedings 2015 Network and Distributed System Security Symposium
개요
DangNull은 포인터와 오브젝트의 관계를 추적해서, 나중에 Object가 free될 경우 연관된 모든 오브젝트들을 Nullification시켜서 Use-after-free 버그가 시스템에 치명적인 영향을 미치지 않도록 하였다.
Motivation
Use-after-free 버그는 C나 C++에서 자주 발생하는 버그지만, 그 파급력에 불구하고, Detect하는 것은 매우 어려운 일이다. 이 문제를 해결하기 위해서 One-time-allocator나 Garbage collection과 같은 방식들이 많이 사용되지만, OTA는 Virtual address exhaustion문제가 발생하며 Garbage collection방식은 Pointer obfuscation이나 False positive detection문제를 해결하기 힘들다.
==