検索
連載

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

「バッファオーバーフロー」とは、バッファー(データの一時記憶領域)に、想定以上の長さのデータが入力されてしまう現象である。「バッファオーバーラン」ともいう。

Share
Tweet
LINE
Hatena

 「バッファオーバーフロー」とは、バッファー(データの一時記憶領域)に、想定以上の長さのデータが入力されてしまう現象である。「バッファオーバーラン」ともいう。バッファーの制御がプログラマーに依存するC言語/C++言語のプログラムで意図せずに起きることが多い。

 悪意のある攻撃者は、バッファオーバーフローを利用することで、意図的に許容量を超えるデータを送り付けてシステムの機能を停止させることができる。また、データがあふれ出たことによる意図しないプログラムの動きを利用して、悪意のあるプログラムを実行することもできる。

 このバッファオーバーフローを利用した攻撃の例として、スタックとヒープの領域を対象とした攻撃が挙げられる。スタックを対象とした攻撃では、あふれた値で関数の戻り先アドレスを上書きすることにより、制御を奪うことができる。ヒープを対象とした攻撃では、ヒープのメモリ構造を壊したり、偽装することで制御を奪ったりすることができる。

 バッファオーバーフローは最も代表的なセキュリティホールであるため、多くの対策が講じられている。

 開発工程時に、バッファオーバーフローを起こす危険性のある関数の利用を避ける。バッファオーバーフロー対策用のライブラリや関数を利用する。コンパイラの持つセキュリティ機構を適用する。運用環境ではアドレス空間配置のランダム化によって攻撃を難しくするなどが挙げられる。

■更新履歴

【2004/1/1】初版公開。

【2019/1/28】最新情報に合わせて内容を書き直しました(セキュリティ・キャンプ実施協議会 著)。


Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

  1. 「SMSは認証に使わないで」 米CISA、モバイル通信を保護する8つのベストプラクティスを公開
  2. 3割程度のSaaS事業者が標準的なセキュリティ対策をしていない アシュアードがSaaS事業者を調査
  3. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  4. 高度なAIでAIをテスト OpenAIが実践するAIモデルのレッドチーム演習とは
  5. 「生成AIのサイバー攻撃への悪用」は増加する? 徳丸浩氏が予測する2025年のセキュリティ
  6. Google、オープンソースのセキュリティパッチ検証ツール「Vanir」を公開 多種多様なAndroidデバイスの脆弱性対応を支援するアプローチとは
  7. ChatGPTやClaudeのAPIアクセスをかたってマルウェアを配布するPython用パッケージ確認 Kasperskyが注意喚起
  8. 中小企業の20%の経営層は「自社はサイバー攻撃に遭わない」と信じている バラクーダネットワークス調査
  9. ゼロトラストの理想と現実を立命館大学 上原教授が語る――本当に運用できるか? 最後は“人”を信用できるかどうか
  10. AWS、組織のセキュリティインシデント対応を支援する「AWS Security Incident Response」を発表 アラートに圧倒されるセキュリティチームをどう支援?
ページトップに戻る