ITパスポート試験 過去問解説

バッファオーバフローとは?ITパスポート試験 2014年 (平成26年 秋期) 問59を解説

ITパスポート試験 2014年 (平成26年 秋期) 問59は、バッファオーバフローに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

情報セキュリティにおける脅威であるバッファオーバフローの説明として,適切なものはどれか。

この問題の出題ポイント

  • バッファオーバフローの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • テクノロジ系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: バッファオーバフロー、攻撃手法。

選択肢

  1. 特定のサーバに大量の接続要求を送り続けて,サーバが他の接続要求を受け付けることを妨害する。
  2. 特定のメールアドレスに大量の電子メールを送り,利用者のメールボックスを満杯にすることで新たな電子メールを受信できなくする。
  3. ネットワークを流れるパスワードを盗聴し,それを利用して不正にアクセスする。
  4. プログラムが用意している入力用のデータ領域を超えるサイズのデータを入力することで,想定外の動作をさせる。正解

正解

: プログラムが用意している入力用のデータ領域を超えるサイズのデータを入力することで,想定外の動作をさせる。

解説

バッファオーバフロー(buffer overflow)は,プログラムが用意している入力用のデータ領域(バッファ)を超えるサイズのデータを入力させて,メモリ上の隣接領域(戻り番地等)を上書きし,想定外の動作や任意コード実行をさせる攻撃. C/C++等のメモリ境界をプログラムが管理する言語で発生しやすく,任意コード実行による侵入の常套手段として古くから知られる. DoS攻撃,メールボックス満杯化(メール爆弾),パスワード盗聴とは攻撃手法も目的も異なる. 「入力データで領域超過→想定外動作」がバッファオーバフローの本質である.

なぜ他の選択肢が違うのか

  • 誤り. 「特定のサーバに大量の接続要求を送り続け,サーバが他の接続要求を受け付けることを妨害する」のはDoS(Denial of Service)攻撃の説明. サービス妨害を狙う攻撃であり,プログラムの入力データ領域超過を狙うバッファオーバフローとは手法と目的が異なる. DoS=妨害,BOF=任意動作と区別する.

  • 誤り. 「特定メールアドレスに大量メールを送り受信できなくする」のはメールボムやスパムによる嫌がらせ攻撃の説明. メールボックスを満杯にして新規受信を阻害するもので,プログラムの入力データ領域を超えて意図しない動作をさせるバッファオーバフローとは攻撃手法が全く異なる.

  • 誤り. 「ネットワークを流れるパスワードを盗聴して不正アクセスする」のは盗聴(スニッフィング)による攻撃の説明. 通信路上の情報窃取を狙う攻撃で,プログラムの入力データ領域を超過させて想定外動作を起こすバッファオーバフローとは手段・効果ともに異なる. ネットワーク攻撃とソフトウェア攻撃の違い.

  • エ(正解)

    正解. バッファオーバフローは,プログラムが用意する入力用データ領域を超えるサイズのデータを入力し,メモリ上の隣接領域を上書きして想定外の動作を引き起こす脆弱性攻撃. 戻り番地書換えによる任意コード実行が典型例で,侵入や権限昇格に悪用される. メモリ境界を超える入力で動作を変える点が本質となる.

解き方の整理

バッファオーバフローの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連問題

前後の問題

2014年 (平成26年 秋期) の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。