情報セキュリティマネジメント 令和5年度 科目A 問7
セキュリティ実装技術
Webアプリケーションにおけるセキュリティ上の脅威とその対策に関する記述のうち,適切なものはどれか。
- ア OSコマンドインジェクションを防ぐために,Webアプリケーションが発行するセッションIDに推測困難な乱数を使用する。
- イ SQLインジェクションを防ぐために,Webアプリケーション内でデータベースへの問合せを作成する際にプレースホルダを使用する。
- ウ クロスサイトスクリプティングを防ぐために,Webサーバ内のファイルを外部から直接参照できないようにする。
- エ セッションハイジャックを防ぐために,Webアプリケーションからシェルを起動できないようにする。
答えと解説
✓ これが正解イ SQLインジェクションを防ぐために,Webアプリケーション内でデータベースへの問合せを作成する際にプレースホルダを使用する。
解説
SQLインジェクション対策はプレースホルダの利用です。
この設問は、脅威と対策の組合せが正しいかを見るものです。SQLインジェクションは、入力された文字列がそのままSQL文の一部として解釈されてしまうことで起きます。プレースホルダを使うと、問合せの骨組みを先に決めて、入力は値としてはめ込むだけになるので、入力が命令として働く余地がなくなります。だからこの組合せが正しいものです。ほかの三つは、脅威に対して別の脅威向けの対策を当てているので、組合せとして噛み合っていません。
ほかの選択肢の解説
- ア OSコマンドインジェクションを防ぐために,Webアプリケーションが発行するセッションIDに推測困難な乱数を使用する。:セッションIDに推測困難な乱数を使うのは、セッションを乗っ取られないための対策です。OSコマンドインジェクションを防ぐ手立てではないので、組合せが噛み合っていません。
- ウ クロスサイトスクリプティングを防ぐために,Webサーバ内のファイルを外部から直接参照できないようにする。:Webサーバ内のファイルを外部から直接参照できないようにするのは、ディレクトリトラバーサルのように公開すべきでないファイルへ直接たどり着かれる攻撃を防ぐ対策です。クロスサイトスクリプティングを防ぐのは出力時のエスケープ処理なので、組合せが噛み合っていません。
- エ セッションハイジャックを防ぐために,Webアプリケーションからシェルを起動できないようにする。:Webアプリケーションからシェルを起動できないようにするのは、OSコマンドインジェクションへの対策です。セッションハイジャックを防ぐものではないので、組合せが入れ替わっています。
関連用語
- SQLインジェクション入力欄にデータベースへの命令を混ぜ込み、想定していない操作をさせる攻撃。
- クロスサイトスクリプティング出力処理の不備を突き、利用者のブラウザで攻撃者のスクリプトを動かす攻撃です。
- セッションハイジャックログイン中の利用者のIDを盗み、なりすましてアクセスする攻撃です。
- プレースホルダ問合せ文の値の部分を、あとから当てはめる形にしておく書き方です。
- Webアプリケーションブラウザから使う、サーバ側で動くプログラムのことです。
- 脅威情報資産に害を及ぼしうる出来事や行為のもと。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。
- Webサーバ利用者のブラウザからの要求を受け取り、ページを返すサーバです。
出典:令和5年度 情報セキュリティマネジメント試験 科目A 問7
解説の最終確認:2026-08-25
解説は当サイト独自のもので、IPA(独立行政法人情報処理推進機構)とは関係ありません。
この問題は システムアーキテクト
関連問題
- 科目A・
B サンプル 問題 科目B 問58: 脆弱性診断に 関する 問題 (Webアプリケーション) - 科目A・
B サンプル 問題 科目A 問25: CAPTCHAに 該当するもの (プレースホルダ) - 平成28年度 秋期 午前 問22:
バッファオーバーフローの 問題 (クロスサイトスクリプティング) - 平成29年度 春期 午前 問23:
ディレクトリトラバーサルの 問題 (セッションハイジャック) - 平成28年度 春期 午前 問21:
SQLインジェクションの 問題 (SQLインジェクション)
同じ分野の問題
誤りを見つけたら報告する