XSS(クロスサイトスクリプティング),CSRF(クロスサイトリクエストフォージェリ),クリックジャッキングは, どれも正規の Web サイトを使っている利用者のブラウザを悪用する攻撃です。 名前が似ていますが仕組みも対策も違うので,「どの攻撃にどの対策が効くか」がよく問われます。
3つの違い
| 攻撃 | 何をされるか | 主な対策 |
|---|---|---|
| XSS | Web サイトが入力をそのまま画面に出すところに,攻撃者がスクリプトを仕込む。そのページを見た利用者のブラウザでスクリプトが動き,cookie などを盗まれる | 画面に出力するとき,HTML で特別な意味をもつ文字(< > & " など)をエスケープして,タグとして解釈されないようにする |
| CSRF | ログイン中の利用者に罠のページを踏ませ,正規のサイトへ利用者が意図しないリクエスト(送金・書込み・設定変更など)を送らせる | 正規の画面にだけ埋め込んだ秘密の値(トークン)を確かめる,重要な操作の前に再認証させる |
| クリックジャッキング | 罠のページの上に正規のサイトを透明にして重ね,利用者が気づかないうちに正規のサイトのボタンを押させる | HTTP レスポンスヘッダーの X-Frame-Options などで,自分のページをほかのサイトの枠(フレーム)に表示させない |
XSS は「サイトが利用者に返すページ」が汚されるのに対し,CSRF は「利用者からサイトへのリクエスト」が偽造されます。 CSRF ではリクエストそのものは正規の形をしているので,特殊文字のエスケープは CSRF の対策になりません。ここが一番よく問われる取り違えです。
XSS の種類
- 反射型:罠のリンクの URL などにスクリプトを仕込み,サイトがそれをそのまま返したページで実行させる
- 格納型(Stored XSS):掲示板などにスクリプトを書き込んでサイトに保存させ,そのページを後から見た全ての利用者のブラウザで実行させる
試験での問われ方
当サイトが収録している午前の問題のうち,XSS・CSRF・クリックジャッキングの語が出てくるのは34問です。 半分が情報処理安全確保支援士の午前Ⅱで,午前Ⅰやシステムアーキテクト・ITストラテジストの午前Ⅱにも出ます。型ごとに数えると次のとおりです。
- XSS の手口と対策(9問)。手口は「Web アプリケーションのフォームの入力フィールドに,悪意のある JavaScript コードを含んだデータを入力する」, 対策は「Web サイトへの入力データを表示するときに,HTML で特別な意味をもつ文字のエスケープ処理を行う」などです。 格納型 XSS(4問)は「Web サイト上の掲示板に攻撃用スクリプトを忍ばせた書込みを攻撃者が行うことによって,その後に当該掲示板を閲覧した利用者の Web ブラウザで,攻撃用スクリプトが実行された」です。
- CSRF の対策として効果がないもの(3問)。正解は,“<” “>” などの特殊文字を別の文字列に置き換える処理です。これは XSS の対策です。
- クリックジャッキング(3問)。攻撃の説明(「Web ページのコンテンツ上に透明化した標的サイトのコンテンツを配置し,利用者が気づかないうちに標的サイト上で不正操作を実行させる」)と, 対策(「HTTP レスポンスヘッダーに,X-Frame-Options を設定する」,2問)です。
- 攻撃と対策の組合せ(6問)。SQL インジェクションなどと並べて,正しい組合せを選ばせます。
- このほか,OS コマンドインジェクションの名前を選ぶ問題(7問)や,Web サーバのログから攻撃を推測する問題(3問)などの選択肢に出てきます。
出題された過去問(34問)
リンク先の年度ページで,問題と解説を読めます。
午前Ⅰ(高度試験 共通)(6問)
- 平成30年度 秋期 問13クロスサイトスクリプティング対策に該当するものはどれか。
- 平成30年度 春期 問12クロスサイトスクリプティングの手口はどれか。
- 平成26年度 秋期 問14Web アプリケーションにおけるセキュリティ上の脅威と対策の適切な組合せはどれか。
- 平成26年度 春期 問13安全な Web アプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
- 平成25年度 秋期 問15クロスサイトスクリプティングの手口はどれか。
- 平成24年度 秋期 問15安全な Web アプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
情報処理安全確保支援士 午前Ⅱ(17問)
- 令和7年度 秋期 問16クロスサイトリクエストフォージェリ攻撃の対策として,効果がないものはどれか。
- 令和6年度 秋期 問14クリックジャッキング攻撃に有効な対策はどれか。
- 令和6年度 春期 問1クロスサイトリクエストフォージェリ攻撃の対策として,効果がないものはどれか。
- 令和5年度 秋期 問1Web アプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち,入力した文字列が PHP …
- 令和4年度 秋期 問11クリックジャッキング攻撃に有効な対策はどれか。
- 令和4年度 春期 問1Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッ…
- 令和3年度 春期 問12安全な Web アプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
- 令和2年度 10月 問1Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッ…
- 平成31年度 春期 問10クロスサイトリクエストフォージェリ攻撃の対策として,効果がないものはどれか。
- 平成30年度 秋期 問13Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が P…
- 平成30年度 春期 問2Web サーバのログを分析したところ,Web サーバへの攻撃と思われる HTTP リクエストヘッ…
- 平成29年度 春期 問12Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が P…
- 平成27年度 秋期 問12クロスサイトスクリプティングによる攻撃を防止する対策はどれか。
- 平成26年度 春期 問15Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Perl の system 関数や P…
- 平成24年度 春期 問1クリックジャッキング攻撃に該当するものはどれか。
- 平成23年度 秋期 問16Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Perl の system 関数や P…
- 平成21年度 秋期 問7クロスサイトスクリプティングによる攻撃へのセキュリティ対策に該当するものはどれか。
ITストラテジスト 午前Ⅱ(4問)
- 令和7年度 春期 問23プログラムの排他制御の不備によって,プロセスやスレッドが共有リソースに同時アクセスした場合に想定…
- 令和6年度 春期 問24マルウェアが,その実行ファイルをターゲットのコンピュータのファイルシステム上に生成せずに,メモリ…
- 令和3年度 春期 問23格納型クロスサイトスクリプティング(Stored XSS 又は Persistent XSS)攻…
- 平成30年度 秋期 問24格納型クロスサイトスクリプティング(Stored XSS 又は Persistent XSS)攻…
システムアーキテクト 午前Ⅱ(4問)
- 令和3年度 春期 問17格納型クロスサイトスクリプティング(Stored XSS 又は Persistent XSS)攻…
- 平成30年度 秋期 問23格納型クロスサイトスクリプティング(Stored XSS 又は Persistent XSS)攻…
- 平成30年度 秋期 問25Web アプリケーションにおけるセキュリティ上の脅威とその対策に関する記述のうち,適切なものはど…
- 平成28年度 秋期 問24安全な Web アプリケーションの作り方について,攻撃と対策の適切な組合せはどれか。
ネットワークスペシャリスト 午前Ⅱ(3問)
- 令和3年度 春期 問21Web アプリケーションソフトウェアの脆弱性を悪用する攻撃手法のうち,入力した文字列が Perl…
- 平成30年度 秋期 問18Web サイトが Web ブラウザに対して,指定された期間において,当該 Web サイトへのアク…
- 平成27年度 秋期 問20Web アプリケーションの脆弱性を悪用する攻撃手法のうち,Web ページ上で入力した文字列が P…