IPA過去問ドリル

平成21年度 秋期 システムアーキテクト試験 午前Ⅱ 問4

テクノロジ/セキュリティ

SQLインジェクション対策として実施するものはどれか。

出典:平成21年度 秋期 システムアーキテクト試験 午前Ⅱ 問4

正解:ウ

解説

SQLインジェクションは、入力データの中にSQL文の一部として解釈される特殊文字を混入させることで、意図しないSQL文を実行させる攻撃である。対策としては、入力文字列中の特殊文字をエスケープ処理し、SQL文の一部として解釈されないようにすることが基本となる。

選択肢ごとの解説

  • 誤り。GETメソッドをPOSTメソッドに変えても、送信されるデータの内容自体は変わらないため、SQLインジェクション対策にはならない。
  • 誤り。利用者認証を行っても、認証後に入力されるデータにSQLインジェクションを狙った特殊文字が含まれていれば防げないため、直接の対策にはならない。
  • 正しい。入力文字列をエスケープ処理して特殊文字を無効にすることは、SQLインジェクション対策の基本である。
  • 誤り。HTTPSによる暗号化は通信経路上の盗聴・改ざんを防ぐものであり、サーバ側でSQL文が不正に組み立てられることを防ぐものではない。
システムアーキテクトの過去問を演習モードで解く