見出し画像

【解答例&解説】令和6年度 秋期 情報処理安全確保支援士試験 午後 問3

情報処理安全確保支援士試験の、解答例とオリジナル解説を公開します。
あくまでも解答例ですので、正解はIPAのサイト(2024年12月24日正午公開)で確認してくださいね。
この記事の最終更新日は、2024年11月22日です。
皆さまの解答例、ご意見も参考にしたいので、コメントお待ちしております。


■解答例

設問1 a 5
設問1 b クロスサイトスクリプティング 
設問1 c 格納
設問1 d 2
設問1 e SQLインジェクション
設問2(1)(解説部に図示)
設問2(2)パラメータ名 order[Payment]
設問2(2)値 1
設問2(3)入力されたカード番号、有効期限、名義、セキュリティコード
      の情報をURLクエリのパラメータに設定し、GETリクエスト
      で攻撃者サーバ(i-sha.com)へ送信する。
設問3(1)攻撃者サーバのアクセスログに記録されているURLクエリの
      パラメータからクレジット情報を取得する。
設問3(2)f 配送先・支払方法選択画面へアクセスしたアカウント名

■解説

設問1 a

解答:5
解説:知識問題
表2の不審と思われるログの中から攻撃の痕跡を答える問題です。
問題文の「クレジットカードが2回表示される」や「偽フォームの表示」を行う攻撃は「クロスサイトスクリプティング」ですね。これは覚えておきましょう。

クロスサイトスクリプティング攻撃は、Webサイトの入力フォームに実行可能な文字列を入力し、悪意のある操作を実行させる攻撃です。例えば<script>〜</script>という文字列がフォームに入力された場合に、利用者が画面に表示されているボタンをクリックするとJavaScriptなどのスクリプトが実行されます。
表2の中では、<script>文字列のある行番号 5 が該当します。

設問1 b

解答:クロスサイトスクリプティング
解説:知識問題
設問1 a の解説を参照してください。
クロスサイトスクリプティング攻撃の概要説明をIPAページから引用します。

IPA 独立行政法人 情報処理推進機能
安全なウェブサイトの作り方 - 1.5 クロスサイト・スクリプティング
https://www.ipa.go.jp/security/vuln/websecurity/cross-site-scripting.html
IPA 独立行政法人 情報処理推進機能
安全なウェブサイトの作り方 - 1.5 クロスサイト・スクリプティングhttps://www.ipa.go.jp/security/vuln/websecurity/cross-site-scripting.html

「本物サイトの上に偽のページが表示される」が出題されている攻撃ですね。

設問1 c

解答:格納
解説:知識問題
クロスサイトスクリプティングの型についての知識問題です。
ヒントは、「1回の攻撃で多数の利用者に対して偽フォームの表示が可能」ですね。クロスサイトスクリプティングには、「格納型」と「反射型」の大きく2つの型あります。
「1回の攻撃で多数の利用者に対して偽フォームの表示が可能」なのは、「格納型」です。
・脆弱性サイトのみを攻撃する←「1回の攻撃」
・アクセスするたびにスクリプトが実行←「多数の利用者に対して偽フォームの表示が可能」

IPA 独立行政法人 セキュリティセンター
AppGoatを利用した集合教育補助資料 - クロスサイトスクリプティング編 -
https://www.ipa.go.jp/security/vuln/appgoat/ug65p900000198gm-att/000062612.pdf
IPA 独立行政法人 セキュリティセンター
AppGoatを利用した集合教育補助資料 - クロスサイトスクリプティング編 -https://www.ipa.go.jp/security/vuln/appgoat/ug65p900000198gm-att/000062612.pdf

設問1 d

解答:2
解説:知識問題
表2について、もう一つの脆弱性に関する問題です。ヒントはGさんの「DBサーバに格納している~」ですね。

Webサイトの脆弱性でDBサーバに関するものと言えば「SQLインジェクション」です。Webサイトの脆弱性は、試験によく出題されるため覚えておきましょう。

IPA 独立行政法人 情報処理推進機能
安全な ウェブサイトの 作り方 改訂第7版
https://www.ipa.go.jp/security/vuln/websecurity/ug65p900000196e2-att/000017316.pdf

SQLインジェクションの説明を引用します。

IPA 独立行政法人 情報処理推進機能
安全なウェブサイトの作り方 - 1.1 SQLインジェクション
https://www.ipa.go.jp/security/vuln/websecurity/sql.html

表2の中で、SQLインジェクションに関するキーワードとして「UNION select」が有ります。項番2ですね。
複数のSELECT文の結果を統合する演算子であるUNION演算子を攻撃者が悪用することで、任意のデータベースの内容が流出する可能性があります。UNIONインジェクションとよばれます。

設問1 e

解答:SQLインジェクション
解説:知識問題
設問1 dの解説を参照お願いします。

設問2(1)


解答:

解説:問題文のヒントから考える問題
下線①について書換え後の画面全体を図示する問題です。図示で解答は珍しいですね。

ファイルKを読み込むことによって、「配送先・支払方法選択画面」がどのように書き換えられたか解答します。どのように書き換えられていたのか〔利用者からの問い合わせ〕での問合せ内容を確認します。

次にファイルKの内容を確認します。

問合せ内容とファイルKの内容より、配送先・支払い方法選択画面にクレジットカード決済のみが表示される下記画面が解答と考えられます。

設問2(2)パラメータ名

解答:order[Payment]
解説:問題文から抜粋問題

下線②の「支払い方法がクレジットカード決済に固定されていた」に関する問題です。

図3のHTMLソースを確認します。

「クレジットカード決済」と「銀行振込」の区別については、
Payment_1が「クレジットカード決済」でPayment_2が「銀行振込」だということがわかります。
Payment_1「クレジットカード決済」のパラメータ名は、
name=に記載の「order[Payment]」。値は、Value=に記載の「1」です。
Payment_2「銀行振込」のパラメータ名は、
name=に記載の「order[Payment]」。値は、Value=に記載の「2」です。

パラメータ名は、「order[Payment]」、値は「1」が解答となります。

設問2(2)値

解答:1
解説:問題文から抜粋問題
設問(2)パラメータの解説を参照してください。

設問2(3)

解答:入力されたカード番号、有効期限、名義、セキュリティコードの
   情報をURLクエリのパラメータに設定し、GETリクエストで攻撃者
   サーバ(i-sha.com)へ送信する。
解説:知識問題
図2を確認します。

上記内容より、「入力されたカード番号、有効期限、名義、セキュリティコードの情報をURLクエリのパラメータに設定し、GETリクエストで攻撃者サーバ(i-sha.com)へ送信する。」などが解答となります。・

設問3(1)

解答:攻撃者サーバのアクセスログに記録されているURLクエリの
   パラメータからクレジット情報を取得する。
解説:問題文のヒントから考える問題
下線③について、攻撃者のWebサーバでクレジット情報を取得する方法を答える問題です。

攻撃者のWebサーバへのクレジット情報などの送信については、設問2(3)の解答に登場していました。設問2(3)ではクレジット情報をURLクエリのパラメータに設定し攻撃者サーバへ送信していたため、URLクエリのパラメータからクレジット情報を取得することが可能です。
したがって、「攻撃者サーバのアクセスログに記録されているURLクエリのパラメータからクレジット情報を取得する。」などが解答になります。

設問3(2)f

解答:配送先・支払方法選択画面へアクセスしたアカウント名
解説:問題文から抜粋問題

被害者候補を抽出する方法についての問題です。

[ F ]直前に「アプリケーションログから」のヒントが有ります。この場合アプリケーションログに関する説明を必ず探しましょう。
また、クレジットカード情報を送信した利用者ではなく、送信する直前までの操作をした利用者を対象とすることに注意が必要です。

アプリケーションログの情報より「配送先・支払方法選択画面へアクセスしたアカウント名」などが解答となります。

最後までお読みいただきありがとうございました。
ご意見、ご質問、間違いの指摘などあれば、遠慮なくコメントお願いします。皆さんのコメントをお待ちしております。
少しでも皆さんの勉強の参考になれば幸いです。
~ 仲間がいれば、勉強は楽しい!~

■更新履歴

2024/10/13(日) 試験日
2024/11/22(金) 作成・公開

いいなと思ったら応援しよう!