RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2016 Volume 28, Issue 5, Pages 55–72 (Mi tisp67)

This article is cited 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.

Language: English

DOI: 10.15514/ISPRAS-2016-28(5)-3



Bibliographic databases:


© Steklov Math. Inst. of RAS, 2026