SMITサービスマネージャ試験 午前Ⅰ

平成24年度秋期 ITサービスマネージャ 午前Ⅰ 問15

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

安全な Web アプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
Webアプリケーションへの攻撃と対策の組合せを,選択肢ア~エで示した表。
Webアプリケーションへの攻撃と対策の組合せを,選択肢ア~エで示した表。

選択肢

  1. ア
    攻撃:SQL インジェクション 対策:SQL 文の組立てに静的プレースホルダを使用する。
  2. イ
    攻撃:クロスサイトスクリプティング 対策:任意の外部サイトのスタイルシートを取り込めるようにする。
  3. ウ
    攻撃:クロスサイトリクエストフォージェリ 対策:リクエストに GET メソッドを使用する。
  4. エ
    攻撃:セッションハイジャック 対策:利用者ごとに固定のセッション ID を使用する。
解き方のヒントを見る

攻撃と対策を対応づける視点

攻撃手法と対策の組合せを考えるときは、名称や印象だけで判断せず、対策が対象とする弱点と、攻撃が成立する前提との対応関係をそろえて確認しましょう。説明全体の因果関係が自然につながるかを一つの軸にします。

この問題で問われていること

各対策がどの対象に働きかけ、攻撃のどの成立条件と結び付いているかに注目し、問題文の説明どうしの関係が一貫しているかだけを丁寧に見てください。

視点

攻撃が成立する前提と対策の対象を同じ観点で並べ、両者の関係が説明として無理なくつながるかを整理します。

確認ポイント

  • 攻撃が成立する前提と対策の対象を対応させる
  • 対策が働きかける対象を説明全体から確認する
  • 名称ではなく説明どうしの関係の一貫性を見る
正解と解説を見る

正解

ア

解説

SQLインジェクションはSQL文に入力値を不適切に連結することで発生するため、静的プレースホルダを使ってSQL文と値を分離する対策が適切です。他の組合せは、示された対策が攻撃の防止になっていない。

理由

SQLインジェクション対策では、利用者から受け取った値をSQL文の一部として解釈させないことが重要です。静的プレースホルダを用いると、SQL文の構造と値を分離して扱えるため、選択肢アの組合せが適切になる。

比較

クロスサイトスクリプティング、クロスサイトリクエストフォージェリ、セッションハイジャックでは、それぞれ必要となる防御の観点が異なる。外部スタイルシートの取込み、GETメソッドの使用、固定セッションIDの使用は、示された攻撃を防ぐ対策として適切ではありません。

選択肢ア(正解)

これは正解だよ。SQLインジェクションは、入力値をSQL文の組立てに直接連結することで、入力内容がSQLの命令として解釈される攻撃である。静的プレースホルダを使用すると、SQL文の構造と入力値を分離できるため、この攻撃への対策として適切である。

選択肢イ

これは不正解だよ。クロスサイトスクリプティングは、Webページに攻撃者のスクリプトが実行される形で混入する問題である。任意の外部サイトのスタイルシートを取り込めるようにすることは、スクリプトの混入や実行を防ぐ対策ではなく、安全性を高める対応とはいえない。

選択肢ウ

これは不正解だよ。クロスサイトリクエストフォージェリは、利用者が意図しないリクエストを送信させられる攻撃である。リクエストにGETメソッドを使用することだけでは、正当な操作かどうかを確認できず、この攻撃を防止する対策にはならない。

選択肢エ

これは不正解だよ。セッションハイジャックでは、攻撃者にセッションIDを取得・悪用されることが問題になる。利用者ごとに固定のセッションIDを使用すると、推測や再利用への対策にならず、セッションを安全に管理する方法として適切ではない。

学習のポイント

攻撃の原因と、入力・通信・セッション管理の対策を対応付けて学習する。

出典:独立行政法人 情報処理推進機構(IPA)平成24年度秋期 ITサービスマネージャ試験 午前Ⅰ 問15(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針