知っておきたい「バッファオーバーフロー攻撃」とは? 主要な4種を紹介「バッファオーバーフロー攻撃」を知る【前編】

メモリに許容量以上のデータを送り込む「バッファオーバーフロー攻撃」にはさまざまな種類がある。主要な4種類について、それぞれの特徴と攻撃手法について説明する。

2019年08月21日 05時00分 公開
[Brien Posey, Madelyn BaconTechTarget]
画像

 「バッファオーバーフロー攻撃」とは、プログラムやプロセスの処理対象データを一時的に保持する固定長のメモリ領域「バッファ」に、許容量より多くのデータを書き込む攻撃のことだ。攻撃者は外部端末やプロセスから入力を受け取るプログラムを利用して、バッファオーバーフロー攻撃を引き起こし、プログラムの制御やクラッシュ、変更を可能にする。

 アプリケーションベンダーはさまざまなパッチを提供して、バッファオーバーフロー攻撃に対処してきた。だが企業が社内で開発したアプリケーションはどうだろうか。自社開発のアプリケーションも、商用アプリケーションと同様にバッファオーバーフロー攻撃を受ける可能性がある。バッファオーバーフロー攻撃の仕組みを理解し、自社開発のアプリケーションの導入前に脆弱(ぜいじゃく)性テストを実行することが重要だ。

バッファオーバーフロー攻撃の種類

 バッファオーバーフロー攻撃は、プログラムやプロセスが使用するメモリ内でのバッファの位置に応じて、以下の4種類を利用した攻撃に分類できる。

スタック

 「スタック」とは、関数呼び出しに関するデータを格納するための、連続するメモリ領域だ。具体的には関数パラメータやローカル変数の他に、スタックフレーム(呼び出したデータの集合)やスタックポインタ(データの格納場所を示す情報)などスタックを操作するための管理情報も格納する。スタックベースのバッファオーバーフロー攻撃は、プログラムやプロセスを悪用して、入力情報をスタックに不正に格納する。

ヒープ

ITmedia マーケティング新着記事

news075.png

Z世代の告白手段は「直接」が大多数 理由は?
好きな人に思いを伝える手段として最も多く選ばれるのは「直接」。理由として多くの人は...

news100.jpg

日本はなぜ「世界の旅行者が再訪したい国・地域」のトップになったのか 5つの視点で理由を解き明かす
電通は独自調査で、日本が「観光目的で再訪したい国・地域」のトップとなった要因を「期...

news023.jpg

誰も見ていないテレビ番組にお金を払って露出する意味はあるのか?
無名のわが社でもお金を出せばテレビに出してもらえる? 今回は、広報担当者を惑わせる...