戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2014年 秋期 59


問題文

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

選択肢

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

🔒 解説は解答すると表示されます

バッファオーバフローの説明【ITパスポート 解説】

正解の理由

バッファオーバフローは「プログラムが用意している入力用のデータ領域を超えるサイズのデータを入力することで、想定外の動作をさせる」現象です。ここでいう「バッファ」はデータを一時的にためる領域を指します。選択肢の中では、この説明が正確にバッファ(領域)の境界を超える入力によって発生する問題を表しているため、正しいのは です。
バッファをこぼれる水の入ったコップに例えると、入れすぎると周りが濡れてしまい予期せぬ問題が起きるように、領域を超えたデータは隣接するメモリを書き換え、プログラムのクラッシュや不正な命令実行(攻撃)につながります。

解法ステップ

  1. 問題文のキーワードを探す:「入力用のデータ領域を超える」「想定外の動作」など、境界を超えることを示す表現を確認する。
  2. 選択肢を分類する:大量の接続やメール、盗聴などはそれぞれ別の攻撃(DoS、スパム、盗聴)であると分ける。
  3. バッファ(領域)やオーバーフロー(溢れる)という語の意味を照らし合わせ、境界超過の説明がある選択肢を選ぶ。
  4. 境界を超えることでメモリに影響を与え、想定外の動作(クラッシュや任意コード実行)につながる点が言及されている選択肢が正解であると判断する。

選択肢別の誤答解説

  • ア: 「特定のサーバに大量の接続要求を送り続けて、サーバが他の接続要求を受け付けることを妨害する。」
    • これは DoS(Denial of Service:サービス拒否)攻撃の説明です。バッファの境界超過ではなく、サービスを使えなくする攻撃なので誤りです。
  • イ: 「特定のメールアドレスに大量の電子メールを送り、利用者のメールボックスを満杯にすることで新たな電子メールを受信できなくする。」
    • これはメールボックスをあふれさせるスパム/資源枯渇の手法で、DoSに近い一種ですが、バッファの境界超過(メモリ破壊)ではありません。よって誤りです。
  • ウ: 「ネットワークを流れるパスワードを盗聴し、それを利用して不正にアクセスする。」
    • これは盗聴(スニッフィング: sniffing)や盗用の説明です。情報の傍受による不正利用であり、バッファオーバフローとは別のカテゴリです。誤りです。
  • エ: 「プログラムが用意している入力用のデータ領域を超えるサイズのデータを入力することで、想定外の動作をさせる。」
    • これはバッファオーバフローの本質を表しています。領域(バッファ)の境界超過によってメモリの別領域を書き換え、クラッシュや不正コード実行を引き起こすため正解です。

よくある誤解

  1. バッファオーバフロー=単なるクラッシュだけだと思う
    • 実際には単なるクラッシュにとどまらず、攻撃者が悪意あるコードを実行する足がかりにすることができます(特に古いソフトでは深刻)。
  2. 「大量に送る」系の説明と混同する
    • 「大量に送る」ことでサービスを止めるのは DoS に当たります。バッファオーバフローは「サイズが想定外に大きいデータを送る」点で似ているように見えますが、目的と影響が異なります(メモリ破壊 vs サービス不能)。

補足コラム

バッファオーバフロー対策の代表例(用語説明付き)
  • 境界チェック(バッファの長さを事前に確認すること)
  • 安全な言語の利用(例:JavaやC#は自動で範囲チェックを行う場合が多い)
  • ASLR(Address Space Layout Randomization:アドレス空間配置のランダム化)— 攻撃で狙うメモリ位置を分かりにくくする技術
  • DEP / NX(Data Execution Prevention / No-eXecute:データ領域の実行を防ぐ)— データ領域に置かれたコードの実行を防ぐ
  • スタックカナリア(stack canary:スタック破壊を検知するための保護値)
日常的な例え:コップ(バッファ)に水(データ)を注ぐ際、コップを超えて注ぐと周りが濡れて物が壊れる。境界を守るのが安全設計です。

FAQ

Q1: バッファオーバフローは今でも起きますか?
A1: はい。新しい対策がある一方で、古いソフトウェアや不適切な実装ではまだ起きます。セキュリティパッチが重要です。
Q2: 一般ユーザーができる対策は?
A2: OSやソフトを最新に保つ、怪しい入力(不審な添付ファイルや不明な入力フォーム)を避ける、信頼できるソフトだけ使う、などが有効です。
Q3: バッファオーバフローはどうやって見つける?
A3: 開発者は静的解析ツールや動的解析、テストケースで境界を超える入力を試し、クラッシュや異常を検出します。

関連キーワード: バッファオーバーフロー、バッファ、メモリ安全、境界チェック、スタックカナリア、ASLR、DEP、DoS、スニッフィング、脆弱性、入力検証
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について