【問112】情報・サイバーセキュリティ管理士 練習問題|バッファオーバーフロー
サイバー攻撃と防御 問12/25難易度B(標準)
問題文
バッファオーバーフロー攻撃の原理の説明として、最も適切なものはどれか。
- 1.確保した領域を超える大きさのデータを書き込ませ、不正なコードを実行させる
- 2.大量の接続要求を送り付け、サーバの接続待ち行列を使い切って停止させる
- 3.通信内容を書き換えて、利用者の要求を攻撃者のサーバへ転送させてしまう
- 4.利用者の入力をそのまま問合せ文に埋め込ませ、データベースを操作させる
解説
正解は1。バッファオーバーフローとは、プログラムがあらかじめ確保したメモリ領域(バッファ)の大きさを超えるデータを受け取った際に、隣接する領域まで上書きしてしまう脆弱性である。攻撃者は戻りアドレスなどを書き換えて処理の流れを乗っ取り、任意のコードを実行して権限を奪う。対策は入力長の検査、境界検査を行う関数の使用、コンパイラやOSによるスタック保護やアドレス空間配置のランダム化(ASLR)である。2は誤り。接続待ち行列を使い切るのはSYNフラッド攻撃であり、可用性を狙う。3は誤り。通信内容を書き換えて誘導するのは中間者攻撃である。4は誤り。入力を問合せ文に埋め込ませるのはSQLインジェクションである。本試験では、メモリ管理の不備に起因する点が識別の鍵となる。