ITパスポート試験 / 平成26年度 秋期 ITパスポート試験 公開問題 / 問59
certification-simodake-work

平成26年度 秋期 ITパスポート試験 公開問題 問59 解説 バッファオーバーフロー

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

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

解説

バッファオーバーフローの判定ポイント

この問題は、用語の定義を正しく選択できるかが鍵となります。「バッファ(メモリ領域)」と「オーバーフロー(あふれ出す)」という言葉の意味を組み合わせて、「用意された枠を超えるデータを押し込むことで、プログラムを混乱させる攻撃」と判断するのが正解への近道です。ほかの選択肢は、別の攻撃手法の説明であることを確認しましょう。

バッファオーバーフローとは何か

バッファオーバーフローは、プログラムがデータを一時的に保管するために確保したメモリ領域(バッファ)に、その容量を超えるデータを無理やり書き込もうとする攻撃手法です。

プログラムは通常、メモリの決められた場所にデータを格納するように設計されています。しかし、このチェックが不十分な場合、バッファからあふれ出したデータが、隣接する別のメモリ領域を上書きしてしまいます。攻撃者はこれを利用して、本来書き換えてはいけない「プログラムの実行順序」を制御する情報(戻りアドレスなど)を書き換え、自分の用意した悪意あるコードを実行させます。

攻撃手法の整理

ITパスポート試験では、似たような「攻撃手法」が選択肢として並ぶことがよくあります。今回の選択肢を整理しておきましょう。

選択肢ア:DoS攻撃(サービス不能攻撃) サーバに対して大量のパケットを送りつけ、処理能力を限界まで使い切らせることで、正規のユーザーがサービスを利用できないようにする攻撃です。

選択肢イ:メール爆弾 大量のメールを特定の宛先に送りつけ、メールサーバの容量をパンクさせる行為です。

選択肢ウ:盗聴(スニッフィング) ネットワーク上を流れるデータを傍受し、機密情報を盗み見る行為です。パスワードなどを狙う際に行われます。

選択肢エ:バッファオーバーフロー 今回解説した通り、入力値の長さに対する検証不足を突く攻撃です。

なぜこの知識が重要なのか

現代のシステム開発において、バッファオーバーフロー対策は非常に重要な基礎教養です。特に、C言語やC++といったプログラミング言語では、メモリ管理を開発者が直接行う必要があるため、入力値の長さを厳密にチェックする「境界チェック」の実装が不可欠です。

この問題の教育的意図は、単に攻撃の名前を覚えることだけでなく、「システムの入り口(入力処理)には必ず不備が生じる可能性がある」というセキュリティの基本姿勢を学ぶことにあります。Webアプリケーションのフォーム入力や、APIの通信データなど、外部から受け取るすべてのデータは「悪意があるかもしれない」と疑ってかかる「ゼロトラスト」に近い考え方が、現代のIT現場では強く求められています。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう