|
This article is cited in 1 scientific paper (total in 1 paper)
When stack protection does not protect the stack?
Pavel Dovgalyuk, Vladimir Makarov Novgorod State University
Abstract:
The majority of software vulnerabilities originate from buffer overflow. Techniques to eliminate buffer overflows and limit their damage include secure programming, source code audit, binary code audit, static and dynamic code generation features. Modern compilers implement compile-time and execution time protection schemes, that include variables reordering, inserting canary value, and separate stack for return addresses. Our research is targeted to finding the breaches in the compiler protection methods. We tested MSVC, gcc, and clang and found that two of these compilers have flaws that allow exploiting buffer overwrite under certain conditions.
Keywords:
buffer overflow, canary protection, gcc, msvc, clang.
Citation:
Pavel Dovgalyuk, Vladimir Makarov, “When stack protection does not protect the stack?”, Proceedings of ISP RAS, 28:5 (2016), 55–72
Linking options:
https://www.mathnet.ru/eng/tisp67 https://www.mathnet.ru/eng/tisp/v28/i5/p55
|
|