スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.6536
Webアプリケーションやソフトウェアの開発において、入力値の長さを検証・制限していない箇所に対し、想定を超えるサイズデータを送り込むことで、メモリ上の隣接する領域を書き換え、不正なコードを実行させるサイバー攻撃の名称はどれか。

【正解の解説】

バッファオーバーフロー攻撃

容量が200mlのコップに500mlの水を一気に注ぎ込むと、あふれた水が周囲をびしょ濡れにするのと同じ現象です。プログラムが用意した記憶領域(バッファ)の限界を超えるデータを無理やり詰め込み、あふれ出たデータで隣の領域を破壊して、システムを乗っ取る危険な攻撃手法です。

スポンサーリンク

【その他の選択肢の解説】

クロスサイトスクリプティング攻撃

バッファオーバーフローがメモリの物理的な容量オーバーを狙うのに対し、こちらは掲示板などの入力欄にJavaScriptなどのプログラムを紛れ込ませて、別のユーザーのブラウザで勝手に実行させる攻撃です。目的や仕組みが全く異なるため混同しないように注意しましょう。

SQLインジェクション攻撃

入力値の検証不足を突くという点では似ていますが、メモリ領域の破壊を狙うバッファオーバーフローとは異なり、こちらはデータベースを操作する言語(SQL)を悪用して顧客情報の改ざんや盗難を引き起こす点が決定的な違いです。

ディレクトリトラバーサル攻撃

ファイルパスの特殊文字(../など)を悪用して階層構造をさかのぼり、システムの内部ファイルを見つけ出す攻撃手法です。メモリのバッファ領域をあふれさせる仕組みとは全く関係がないため、問題文の「隣接する領域を書き換え」というキーワードから確実に識別できるようにしましょう。