戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2014年 春期 午前240


問題文

安全なWebアプリケーションの作り方について、攻撃と対策の適切な組合せはどれか。
応用情報技術者 2014年 春期 午前2 問40の選択肢の画像

選択肢

(正解)

安全なWebアプリケーションの作り方について【午前2 解説】

要点まとめ

  • 結論:SQLインジェクション対策には静的プレースホルダの使用が最も効果的です。
  • 根拠:静的プレースホルダはSQL文とデータを分離し、不正なSQLコードの挿入を防ぎます。
  • 差がつくポイント:攻撃手法ごとに適切な対策を理解し、誤った対策を選ばないことが重要です。

正解の理由

選択肢アの「SQLインジェクションに対して静的プレースホルダを使用する」は正解です。
SQLインジェクションは、ユーザ入力を直接SQL文に組み込むことで不正な命令を実行される攻撃です。
静的プレースホルダ(プリペアドステートメント)はSQL文の構造を固定し、入力値をパラメータとして扱うため、攻撃を防止できます。

よくある誤解

クロスサイトスクリプティング(XSS)対策に外部スタイルシートの取り込みは無関係です。
また、CSRF対策にGETメソッドを使うのは逆効果であり、セッションIDは固定ではなく動的に管理すべきです。

解法ステップ

  1. 各攻撃手法の特徴を理解する(SQLインジェクション、XSS、CSRF、セッションハイジャック)。
  2. それぞれの攻撃に対して一般的に推奨される対策を確認する。
  3. 選択肢の対策が攻撃の防止に適切かどうかを検証する。
  4. 不適切な対策を除外し、正しい組み合わせを選ぶ。

選択肢別の誤答解説

  • イ:クロスサイトスクリプティング対策に「任意の外部サイトのスタイルシートを取り込む」は無関係であり、むしろ危険です。XSS対策は入力のエスケープやコンテンツセキュリティポリシーの設定が有効です。
  • ウ:クロスサイトリクエストフォージェリ対策に「GETメソッドを使用する」は誤りです。CSRF対策にはトークンの利用やPOSTメソッドの活用が推奨されます。
  • エ:セッションハイジャック対策に「固定のセッションIDを使用する」は逆効果で、セッションIDは利用者ごとに動的に生成し、定期的に更新する必要があります。

補足コラム

SQLインジェクションはWebアプリケーションの脆弱性の中でも特に危険で、攻撃者がデータベースの情報を不正に取得・改ざんする恐れがあります。
プリペアドステートメントは多くのプログラミング言語やフレームワークでサポートされており、必ず利用すべき基本的な防御策です。

FAQ

Q: SQLインジェクション対策に静的プレースホルダ以外の方法はありますか?
A: はい。入力値の検証やエスケープ処理も有効ですが、静的プレースホルダが最も確実です。
Q: クロスサイトスクリプティングの対策で有効な方法は?
A: ユーザ入力のHTMLエスケープやContent Security Policy(CSP)の設定が効果的です。

関連キーワード: SQLインジェクション、静的プレースホルダ、クロスサイトスクリプティング、クロスサイトリクエストフォージェリ、セッションハイジャック、Webセキュリティ、プリペアドステートメント
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について