問題
SQLインジェクション対策で最も有効な手法は何か。
選択肢
- 1プレースホルダ(パラメータ化クエリ)
- 2HTTPSの使用
- 3Cookieの暗号化
- 4CDNの導入
正解
1. プレースホルダ(パラメータ化クエリ)
詳しい解説を見る解説を閉じる
解説
SQLインジェクションは、入力フォームなどにSQL文の断片を埋め込み、アプリケーションが組み立てるSQL文を改変してデータベースを不正に操作する攻撃である。最も有効な対策はプレースホルダ(パラメータ化クエリ・バインド機構)の使用であり、SQL文の構造を先に確定させてから入力値を単なるデータとして渡すため、入力値がSQLの命令として解釈されることを根本的に防げる。「HTTPSの使用」は通信経路の暗号化であり、サーバへ届いた後の入力値の扱いには無力である。「Cookieの暗号化」はセッション情報の保護であり攻撃経路が異なる。「CDNの導入」は配信の高速化が目的で対策にならない。基本情報技術者試験では、攻撃名と対策の対応(SQLインジェクション=プレースホルダ/エスケープ、XSS=出力時のエスケープ)が頻出ポイントである。
一問一答
科目A 180問+科目B 60問