バッファオーバーフローとは

バッファオーバーフロー(Buffer Overflow)とは、プログラムが確保したメモリ領域(バッファ)を超えるデータを書き込むことで、隣接するメモリ領域を上書きし、プログラムの制御を奪ったり任意のコードを実行したりするソフトウェアの脆弱性です。

バッファオーバーフローの仕組み

C言語などでは配列の境界チェックが自動で行われないため、入力データが配列サイズを超えても書き込みを続けます。攻撃者は意図的に大量のデータを送り込み、リターンアドレス(関数が終了後に戻るアドレス)を悪意あるコードのアドレスに書き換えます。

スタックオーバーフローとヒープオーバーフロー

スタックオーバーフロー:スタック領域のバッファを溢れさせる古典的な手法。ヒープオーバーフロー:動的メモリ領域(ヒープ)を対象にした攻撃。

対策方法

①安全な言語(Python・Java・Rust等)の採用(自動境界チェック)、②入力値の長さ検証、③安全な文字列関数の使用(strcpyの代わりにstrncpy等)、④OSの保護機能(ASLR・DEP/NX・Stack Canary)の活用、⑤コンパイラの安全フラグの使用が対策です。

この記事の著者
丸山純一郎

丸山純一郎

Web戦略士

1998年のWeb黎明期からホームページ制作を開始。東京にてマークアップエンジニアからスタートし、テクニカル・ディレクター、Webディレクター、クリエイティブ・ディレクターとしてキャリアを積む。電通・博報堂などの広告代理店を通じたナショナルクライアント案件を多数経験。現在は新潟県長岡市を拠点に、Webストラテジストとして中小企業・個人事業主のWeb戦略を支援。SEO・広告・解析・システム開発・AI開発まで一気通貫で担当するほか、セミナー講師・専門記事の執筆も行う。

保有資格

アクセス解析士 / GAIQ / 生成AIパスポート

CONTACT

気になったら、
まず話しかけてください。

「まだ具体的な依頼ではないけど…」という段階でも大歓迎です。
現状のお悩みをお聞きするところから、一緒に考えます。
もちろん、相談は無料です。

  • 相談・見積もり・費用感の確認、すべて無料
  • しつこい営業・売り込みは一切しません
  • 翌営業日以内にご返信します

無料相談受付中

平日 9:00〜18:00

無料で相談してみる

フォームに送信いただくだけでOK。
電話対応が苦手な方もお気軽にどうぞ。

26 Web制作経験
Web戦略士ウェブ解析士資格保有
無料相談 お気軽にどうぞ