Der StackGuard Compiler versucht das Problem der buffer overflows dadurch zu bekämpfen indem an den relevanten Stellen auf dem Stack Kontrollworte, sogenannte ,,canaries`` (Kanarienvögel) untergebracht werden. Beim Rücksprung aus einer Funktion werden diese canaries überprüft und wenn festgestellt wird daß sich der Wert geändert hat erfolgt ein Eintrag in das Syslog über einen versuchten buffer overflow und der Prozess terminiert. Um diese Technologie anzuwenden muß man lediglich die relevanten Programme mit dem StackGuard Compiler neu kompilieren. Der Performance-Verlust der durch den canary-check verursacht wird hält sich in tolerablen Grenzen - Sicherheit kostet eben.