出典:一般財団法人日本データ通信協会 電気通信国家試験センター『工事担任者試験問題』より引用・作成
問題
次の文章の$\boxed{ }$内に、選択肢の中から最も適したものを選び、その番号を記せ。
バッファオーバフロー攻撃は、あらかじめ用意したバッファに対して$\boxed{ }$が適切であることのチェックを厳密に行っていないOSやアプリケーションの脆弱性を利用するものであり、サーバが操作不能にされたり特別なプログラムが実行されて管理者権限を奪われたりするおそれがある。
| ① | ファイルの拡張子 |
| ② | 関数呼び出し |
| ③ | 入力データの冗長性 |
| ④ | 入力データのサイズ |
| ⑤ | 入力データの機密性 |
正解 4
バッファオーバフロー攻撃は、プログラムがデータを保存するためのバッファ(一時的な記憶領域)に予期しない大きさのデータを書き込むことで、そのバッファを超えてデータを書き込む攻撃である。
- ファイルの拡張子:ファイルの種類を示す部分。この情報はバッファオーバフロー攻撃とは直接関係がない。
- 関数呼び出し:プログラム内で他の関数を実行するための命令。この情報もバッファオーバフロー攻撃とは直接関係がない。
- 入力データの冗長性:データに含まれる不要な情報や重複する情報。この情報もバッファオーバフロー攻撃とは直接関係がない。
- 入力データのサイズ:データの大きさや長さ。バッファオーバフロー攻撃は、この入力データのサイズが想定よりも大きい場合に発生する可能性がある。
- 入力データの機密性:データが秘密であるかどうかの情報。この情報もバッファオーバフロー攻撃とは直接関係がない。
したがって、バッファオーバフロー攻撃は「入力データのサイズ」が適切であるかどうかのチェックを行わない脆弱性を利用するものである。
ポイント
- バッファオーバーフローの本質:
- メモリ上のバッファ(記憶領域)の境界を超えるデータ入力を防ぐための境界チェック(サイズチェック)の欠如が根本的な原因となります。
- 影響:
- サーバのクラッシュ(サービス拒否)や、遠隔からの任意コード実行による不正アクセス・権限奪取に悪用されます。
重要語句
| 用語 | 解説・特徴 |
| バッファオーバーフロー | 確保されたメモリ領域を超えるデータが書き込まれることで、隣接データやメモリが破壊される脆弱性・現象。 |
| サイズチェック | 入力データの大きさが許容範囲内であるかを検証する入力検証処理。 |
| 任意コードの実行 | 攻撃者が意図したプログラムやコマンドを被害システム上で強制的に実行させること。 |
技術及び理論.png)
