SC情報処理安全確保支援士試験 午前Ⅱ

平成21年度秋期 情報処理安全確保支援士 午前Ⅱ 問7

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

問題

クロスサイトスクリプティングによる攻撃へのセキュリティ対策に該当するものはどれか。

選択肢

  1. ア
    0Sのセキュリティパッチを適用することによって、 Webサーパへの侵入を防止する。
  2. イ
    Webアプリケーションがクライアントに入力データを表示する場合、 データ内の特殊文字を無効にする処理を行う。
  3. ウ
    WebサーバにSNMPエージェントを常駐稼働させることによって、 攻撃を検知する。
  4. エ
    許容範囲を超えた大きさのデータの書込みを禁止し、 Webサーバへの侵入を防止する。
解き方のヒントを見る

掲示板に入力された悪いプログラムを、ただの「ただの文字列」として表示する(無害化)

Webサイトの脆弱性「クロスサイトスクリプティング(XSS)」の対策問題だよ。攻撃者が掲示板などの入力欄に悪意あるJavaScriptコードを書き込み、他のユーザーの画面でそれを実行させようとするんだ。対策としては、入力された < や > などの特殊な記号を、画面表示するときにただの文字(&lt; など)に変換(サニタイズ/エスケープ)して、プログラムとして動かないように無害化することが超重要だよ!

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

ユーザーが入力したデータをWebブラウザ上に表示する際、「HTMLのタグやプログラムの命令として解釈されないよう、文字を置き換えて無害化する」対策を選ぼう。

XSS の止め方

XSS は、入力値がそのままページへ埋め込まれて script などとして解釈されると成立します。対策は、表示時に特殊文字を無効化して文字列として扱わせることです。

入力値 -> HTMLへ出力\n特殊文字をエスケープ -> スクリプトとして実行されない

確認ポイント

  • OS の侵入防止や常駐対策は本丸ではありません。
  • バッファあふれ対策のような長さ制限だけでは防げません。
  • 「表示するときの処理」が出てきたら XSS 対策かを確認しましょう。
正解と解説を見る

正解

イ

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア

これは不正解だよ。OSのセキュリティパッチは、建物の壊れた鍵を直すような大事な対策だけど、この問題の狙いであるWebページ上の悪意あるスクリプト実行を直接防ぐ対策ではないんだ。サーバ本体への侵入対策としては有効でも、表示時の文字の扱いを直す話とは別だよ。

選択肢イ(正解)

これは正解だよ。Webページに入力内容をそのまま表示すると、悪い人が仕込んだ命令文までブラウザが実行してしまうことがあるんだ。たとえるなら、受付で受け取ったメモを確認せずに館内放送で読み上げるようなものだね。そこで特殊文字をただの文字として扱うように無効化すれば、命令ではなく普通の文字として表示できるよ。これはクロスサイトスクリプティング対策だよ。

選択肢ウ

これは不正解だよ。SNMPエージェントは、サーバの状態を見張る管理人さんのようなものだよ。動作状況の監視には使えるけど、Web画面に仕込まれたスクリプトを無害化する仕組みではないんだ。攻撃の種類に対して対策がかみ合っていないよ。

選択肢エ

これは不正解だよ。大きすぎるデータを書き込ませないのは、箱に入りきらない荷物を断るようなもので、バッファオーバフローなどの対策に近いんだ。今回のポイントは、入力された文字がブラウザで命令として動かないようにすることなので、対策の方向が違うよ。

出典:独立行政法人 情報処理推進機構(IPA)平成21年度秋期 情報処理安全確保支援士試験 午前Ⅱ 問7(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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