令和5年度 春期 情報処理安全確保支援士試験 午前 II 問題 問17
テクノロジセキュリティ技術
この問題は2023(R5)春 情報処理安全確保支援士 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
SQLインジェクション対策について,Webアプリケーションプログラムの実装における対策と,Webアプリケーションプログラムの実装以外の対策の組み合わせとして,適切なものはどれか。
解答・解説を読む
正解: 選択肢エ
正解の根拠
SQLインジェクションは、Webアプリケーションの入力データとしてSQL文の断片を与え、データベースを不正に操作する攻撃です。
この対策として、以下が有効です。
- Webアプリケーションプログラムの実装における対策: プレースホルダを利用し、入力値をリテラルとして扱うことで、SQL文の構造が改ざんされるのを防ぎます。
- Webアプリケーションプログラムの実装以外の対策: データベースのアカウントがもつデータベースアクセス権限を必要最小限に制限し、万が一SQLインジェクション攻撃を受けた場合でも被害を最小限に抑えます。
したがって、「エ」が正解です。
各選択肢の解説
- ア: OSコマンドインジェクションの対策の組み合わせです。Webアプリケーションからシェルを起動しないことや、chroot環境によって影響範囲を限定することは、OSコマンドの不正実行を防ぐのに有効です。
- イ: セッションハイジャックや通信の盗聴への対策の組み合わせです。セッションIDを乱数で生成して推測を困難にし、TLSによって通信内容を秘匿します。
- ウ: ディレクトリトラバーサル対策の組み合わせです。パス名やファイル名をパラメータとして受け取らないことや、重要なファイルをWeb公開領域に置かないことで、不正なファイルアクセスを防ぎます。
- エ: 正解です。SQLインジェクション対策として適切な組み合わせです。