第10章 著名な脆弱性対策 フォーマット文字列攻撃対策 フォーマット文字列攻撃は、領域をあふれさせることなくバッファオーバーフロー攻撃と同様の被害を及ぼすことのできる攻撃手口である。攻撃文字列のしくみと対策を解説する。 フォーマット文字列攻撃は、printf() や syslog() 等のライブラリ関数がもつ書式編集機能を悪用し、実行中のプログラムのメモリに悪意の機械語コードを送り込んで実行させる攻撃である。 フォーマット文字列攻撃は、printf() 等の関数の書式引数に外部からの入力データがそのまま渡るようになっている場合に起こり得る。例えば、次の message の値が外部から与えられるようなケースである。