本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説:SQLインジェクションへの対策として最も適切なものはどれか。

テクノロジ系 標準 fe_a_s001_q010

問題

SQLインジェクションへの対策として最も適切なものはどれか。

  1. バックアップ媒体を遠隔地に保管する
  2. プレースホルダを用いたSQLのパラメータ化(正解)
  3. 画像ファイルの解像度を下げる
  4. DBの正規化を第1正規形に留める
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:プレースホルダを用いたSQLのパラメータ化

考え方:SQLインジェクションは、入力文字列をSQL文の一部として解釈させ、条件式や命令を差し込む攻撃です。プレースホルダを使うと、入力値はSQL命令ではなく単なるデータとして渡されるため、SQLの構造を変えにくくできます。

誤答の見分け方:遠隔地バックアップは災害対策、画像の解像度変更は容量調整、正規化の制限はDB設計の話で、いずれもSQL文への不正な文字列注入を防ぐ対策ではありません。

押さえるポイント:文字列連結でSQLを組み立てないことが基本です。入力チェックだけに頼るより、パラメータ化クエリで命令部分とデータ部分を分離する、と覚えておくと迷いません。

他の選択肢はなぜ違う?

  • バックアップの遠隔保管は災害・障害対策。入力値を悪用する攻撃そのものは防げない。
  • 画像の解像度はWeb表示の話で、データベースへの攻撃とは無関係。
  • 正規化は設計の整理術。むしろ第1正規形に「留める」のは設計として不十分で、対策ですらない。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題