Stack Smashing Protection

GPTKB entity

Statements (32)
Predicate Object
gptkbp:instanceOf Security feature
gptkbp:alsoKnownAs gptkb:Stack_Protector
SSP
gptkbp:category Computer security
Compiler feature
gptkbp:detects Checks canary value before function return
gptkbp:effect Terminates program on stack corruption
https://www.w3.org/2000/01/rdf-schema#label Stack Smashing Protection
gptkbp:implementedIn gptkb:GCC
gptkb:Clang
gptkb:Microsoft_Visual_Studio
gptkbp:introducedIn gptkb:GCC_4.1
Early 2000s
gptkbp:limitation Can be bypassed with advanced exploits
Does not protect all functions by default
gptkbp:option -fstack-protector
-fstack-protector-all
-fstack-protector-strong
/GS
gptkbp:protectedBy Return address
Stack frame
gptkbp:purpose Prevent stack buffer overflow attacks
gptkbp:relatedTo gptkb:Data_Execution_Prevention
gptkb:Address_Space_Layout_Randomization
Buffer overflow
Control flow integrity
gptkbp:usedBy gptkb:Windows
gptkb:macOS
gptkb:Linux
gptkbp:uses Canary value
gptkbp:bfsParent gptkb:Hardened_Gentoo
gptkbp:bfsLayer 7