バッファオーバーフローについて説明していきます。
■概要
バッファオーバーフローは、プログラムが入力を処理する際に、許容されるバッファサイズを超えてデータを書き込むことによって発生します。これにより、メモリの領域外にデータを書き込んでしまい、プログラムの挙動を不正に操作することが可能になります。
■想定される被害
バッファオーバーフローによって、以下のような被害にあう可能性があります。
どのような被害を受ける可能性があるかあらかじめ把握しておき、攻撃を受けないように対策を検討することが必要です。
・メモリの領域外にデータを書き込んでしまい、プログラムの挙動を不正に操作することが可能になる。
■対策
バッファオーバーフローの対策として挙げられるものは以下のようなものとなります。
・プログラムでバウンダリチェックを実装し、バッファの境界を超えて書き込まれることを防止する。
・安全な標準ライブラリやAPIを使用し、可能な限り自前でのメモリ管理を避ける。