スタックカナリア

スタックカナリアとは、ひとことで言えば、関数のリターンアドレス手前にランダムな値(カナリア値)を配置し、関数終了時にその値が改ざんされていないかを検証することで、スタックバッファオーバーフローを検知する防御機構です。炭鉱でのカナリアのように、攻撃を早期に察知する役割を担います。GCCの-fstack-protectorオプションなどで有効化でき、現代のコンパイラでは標準的な保護機能となっています。