%{FACEBOOKSCRIPT}%
  1. HOME
  2. サイバーセキュリティお役立ち情報
  3. 用語集
  4. スタック・カナリアとは【用語集詳細】

スタック・カナリアとは【用語集詳細】

  • LINEで送る
  • このエントリーをはてなブックマークに追加
スタック・カナリアとは【用語集詳細】

脆弱性診断サービススタック・カナリア(Stack Canary)は、ソフトウェア開発においてバッファオーバーフローからプログラムを保護するスタック破壊保護(Stack Smashing Protector)技術の1つです。
カナリア・トークンと同様、炭鉱においてガスの漏洩を検知するためにカナリアが使われた歴史的事例が語源となっています。

スタック・カナリアによるプログラム保護では、プログラム実行時にランダム生成されたカナリア(Canary)と呼ばれる値がメモリ内部に挿入されます。攻撃者がバッファオーバーフローを利用し、割り当てられたバッファを超えた書き換えを行った場合、配置されたカナリアの値が変化します。
プログラムはカナリア値の変化をチェックすることでオーバーフローを検知し、プログラムの悪用を未然に防止します。 

スタック・カナリアはGCCやVisual Studio等様々なコンパイラに実装されています。


  • LINEで送る
  • このエントリーをはてなブックマークに追加