AUシステム監査技術者試験 午前Ⅰ
平成26年度春期 システム監査技術者 午前Ⅰ 問13
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- ア攻撃:SQL インジェクション/対策:SQL 文の組立てに静的プレースホルダを使用する。
- イ攻撃:クロスサイトスクリプティング/対策:任意の外部サイトのスタイルシートを取り込めるようにする。
- ウ攻撃:クロスサイトリクエストフォージェリ/対策:リクエストに GET メソッドを使用する。
- エ攻撃:セッションハイジャック/対策:利用者ごとに固定のセッション ID を使用する。
解き方のヒントを見る
攻撃と対策を結び付ける視点
各候補を表面的な用語の一致で判断せず、想定される影響と、対策がどの段階・範囲に働くものかの整合性を軸に、対応関係を落ち着いて確認しましょう。まず一つの観点に絞って比べます。
この問題で問われていること
判断の中心は、攻撃によって生じるリスクと、提示された対策がそのリスクを抑える対象・位置づけを同じ文脈で説明できるかです。名称の近さだけで決めないことが重要です。
視点
攻撃と対策の対応を考えるときは、用語の連想ではなく、問題が及ぶ対象と、それに対して対策がどの範囲で働く想定かを同じ粒度で整理します。個別の名称を覚えるだけでなく、両者の関係を説明できるかを確認することが大切です。
確認ポイント
- 候補ごとに、何を守るための観点かを同じ粒度で読み取る
- 攻撃側の問題と対策側の役割を、因果関係として無理なく説明できるか確認する
- 用語の印象ではなく、対象・適用範囲・期待する効果の対応を比較する
正解と解説を見る
正解
ア
解説
正しい組合せはアです。SQLインジェクションは、入力値がSQL文の構造として解釈されることで発生するため、SQL文と値を分離する静的プレースホルダが有効です。他の選択肢は、攻撃の原因を防ぐ対策になっていません。
理由
SQLインジェクション対策では、利用者から受け取った値をSQL文の構造と分離して扱うことが重要です。静的プレースホルダを用いると、入力値にSQL命令としての記号が含まれていても、値として処理できます。
比較
XSS、CSRF、セッションハイジャックは、それぞれブラウザ上でのスクリプト実行、認証状態を悪用した要求、セッション識別情報の盗用に関する攻撃です。提示された各対策は、これらの攻撃を防ぐ仕組みになっていません。
選択肢ア(正解)
これは正解だよ。SQLインジェクションは、入力値がSQL文の一部として解釈され、意図しない検索や更新などを引き起こす攻撃です。静的プレースホルダを使うと、SQL文の構造と値を分離して扱えるため、入力値がSQL命令として解釈されることを防げます。したがって、示された攻撃と対策の組合せは適切です。
選択肢イ
これは不正解だよ。クロスサイトスクリプティングは、攻撃者が仕込んだスクリプトが利用者のブラウザで実行される問題です。任意の外部サイトのスタイルシートを取り込めるようにすることは、信頼できない外部資源を許可する設定であり、スクリプト実行の防止策にはなりません。攻撃と対策が対応していないため不適切です。
選択肢ウ
これは不正解だよ。クロスサイトリクエストフォージェリは、利用者が認証済みであることを悪用し、意図しない状態変更の要求を送らせる攻撃です。GETメソッドを使うだけでは、要求が正当な利用者の操作かどうかを確認できず、対策になりません。したがって組合せは不適切です。
選択肢エ
これは不正解だよ。セッションハイジャックは、他人のセッションIDを入手して利用者になりすます攻撃です。利用者ごとに固定のセッションIDを使用すると、IDが推測・再利用された場合の影響を受けやすく、セッションIDの固定化攻撃にもつながります。固定値を使うことは防止策ではないため不適切です。
学習のポイント
攻撃の成立条件と、対策が防ぐ対象の対応関係を整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成26年度春期 システム監査技術者試験 午前Ⅰ 問13(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針