令和5年度 春期 午前Ⅱ 問17
アプリケーションセキュリティ
SQLインジェクションの問題
SQL インジェクション対策について,Web アプリケーションプログラムの実装における対策と,Web アプリケーションプログラムの実装以外の対策の組みとして,適切なものはどれか。
| Web アプリケーションプログラムの実装における対策 | Web アプリケーションプログラムの実装以外の対策 | |
|---|---|---|
| ア | Web アプリケーションプログラム中でシェルを起動しない。 | chroot 環境で Web サーバを稼働させる。 |
| イ | セッション ID を乱数で生成する。 | TLS によって通信内容を秘匿する。 |
| ウ | パス名やファイル名をパラメータとして受け取らないようにする。 | 重要なファイルを公開領域に置かない。 |
| エ | プレースホルダを利用する。 | Web アプリケーションプログラムが利用するデータベースのアカウントがもつデータベースアクセス権限を必要最小限にする。 |
- アWeb アプリケーションプログラム中でシェルを起動しない。 / chroot 環境で Web サーバを稼働させる。
- イセッション ID を乱数で生成する。 / TLS によって通信内容を秘匿する。
- ウパス名やファイル名をパラメータとして受け取らないようにする。 / 重要なファイルを公開領域に置かない。
- エプレースホルダを利用する。 / Web アプリケーションプログラムが利用するデータベースのアカウントがもつデータベースアクセス権限を必要最小限にする。
答えと解説を見る
✓ これが正解エプレースホルダを利用する。 / Web アプリケーションプログラムが利用するデータベースのアカウントがもつデータベースアクセス権限を必要最小限にする。
解説
プレースホルダの利用と、DB アカウントの権限の最小化の組みです。
選択肢の組は、どれも Web アプリケーションの脆弱性への対策として知られるものですが、対象となる脆弱性がそれぞれ異なります。SQL インジェクションは、入力値によって SQL 文の構造が書き換えられてしまう脆弱性です。実装での対策としては、プレースホルダを利用して SQL 文の構造を固定することが基本になります。実装以外の対策としては、アプリケーションが使うデータベースのアカウントの権限を必要最小限にし、万一攻撃が成功しても被害を小さく抑えます。
ほかの選択肢はなぜ違うのか
- アWeb アプリケーションプログラム中でシ…:シェルを起動しないことや chroot 環境で稼働させることは、OS コマンドインジェクションへの対策です。OS のコマンドを実行されるのを防ぐものであり、SQL 文の改変とは狙いが違います。
- イセッション ID を乱数で生成する。 /…:セッション ID を乱数で生成することや TLS で通信を秘匿することは、セッションハイジャックへの対策です。他人のセッションを乗っ取られるのを防ぐためのものです。
- ウパス名やファイル名をパラメータとして受け…:パス名やファイル名を受け取らないことや重要なファイルを公開領域に置かないことは、ディレクトリトラバーサルへの対策です。サーバ上の意図しないファイルを読まれるのを防ぎます。
この問題の用語
- プレースホルダ問合せ文の値の部分を、あとから当てはめる形にしておく書き方です。値を文と分けて渡すので、文の使い回しや不正な文の混入防止に役立ちます。
- セッション利用者がつながってから終わるまでの、一続きのやり取りのことです。識別のためのIDが割り当てられ、同じ利用者のやり取りとしてまとめます。
- TLS通信の中身を途中で読まれたり書き換えられたりしないよう、暗号にして届ける取り決め。つないだ相手が本物かも確かめます。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- アカウントシステムを使う人ごとに割り当てられる、利用のための資格や識別名です。利用者IDとパスワードなどの組で、本人を見分けて使わせます。
- アクセス権限「アクセス権」と同じ意味です。参照だけができる許可と、書き換えもできる許可のように、種類に分けて示すときによく使われる言い方です。
出典:令和5年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問17
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問17:IEEE 802.1Xの問題(セッション)
- 令和7年度 春期 午前Ⅱ 問6:デジタル証明書に関する記述(TLS)
- 令和7年度 春期 午前Ⅱ 問4:カミンスキー攻撃への対策(プレースホルダ)
- 令和6年度 秋期 午前Ⅱ 問25:業務処理統制に該当するもの(アクセス権限)
- 令和4年度 秋期 午前Ⅱ 問6:パスワードスプレー攻撃の問題(アカウント)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)