SQLインジェクション対策について、Webアプリケーションプログラムの実装における対策と、Webアプリケーションプログラムの実装以外の対策として、ともに適切なものはどれか。

SQLインジェクションはプレースホルダ+DB権限最小化で防ぐ

頻出情報処理安全確保支援士試験2019年度 秋期 午前II17/セキュリティ実装技術 / Web防御

問17の図
Webアプリケーションプログラムの実装における対策Webアプリケーションプログラムの実装以外の対策
Webアプリケーションプログラム中でシェルを起動しない。chroot環境でWebサーバを稼働させる。
セッションIDを乱数で生成する。TLSによって通信内容を秘匿する。
パス名やファイル名をパラメタとして受け取らないようにする。重要なファイルを公開領域に置かない。
プレースホルダを利用する。Webアプリケーションプログラムが利用するデータベースのアカウントがもつデータベースアクセス権限を必要最小限にする。

選択肢

正解と解説

正解: プレースホルダを利用する。

SQLインジェクションはアプリケーションがSQL文を文字列連結で組み立てることに起因するため、実装面の対策はプレースホルダ(バインド機構)を使い、値をSQL文の構造から切り離すことが最も確実である。実装以外の対策としては、アプリケーションが使うデータベースアカウントの権限を必要最小限に絞り、万一侵入されたときの被害範囲を限定する多層防御が有効である。

選択肢ごとの解説

出典:令和元年度 秋期 情報処理安全確保支援士試験 午前II 問17(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。