情報処理安全確保支援士 令和5年度春期【過去問解説午後2問1】
2023年4月16日実施の情報処理安全確保支援士解答速報
解答まとめ
設問1 | router.iniなどのURL設定情報を参照する |
設問2 | |
(1) | a : イ b : ウ |
(2) | 2-3 |
(3) | アンケート入力1に対してアンケート確認画面の応答結果も判定対象に設定する |
(4) | トピックの検索結果が1件以上となる文字列 |
設問3 | |
(1) | ウ、エ |
(2) | A : パスワードを連続5回間違えると、画面がロックされるため C : 1つのキャンペーンに対し同じ会員は一度しか申込できないため |
設問4 | |
(1) | javascriptからのアクセスが禁止される |
(2) | 入力された情報をjavascriptなどを用い攻撃者のサーバへ送信する |
設問5 | |
(1) | リクエストパラメータに含まれるgroup_codeを改ざんする |
(2) | e : JSESSIONID f : group_code |
設問6 | |
(1) | 資産管理システムを利用し脆弱性診断に必要な情報を一元管理する |
(2) | QAリストやwikiなどを整備し、問い合わせを行う前にこれらを参照する運用とする |
他の解答・解説
情報処理安全確保支援士 令和5年度春期【過去問解説午後1問1】
情報処理安全確保支援士 令和5年度春期【過去問解説午後1問2】
情報処理安全確保支援士 令和5年度春期【過去問解説午後1問3】
情報処理安全確保支援士 令和5年度春期【過去問解説午後2問2】
- 1. 情報処理安全確保支援士問1 Webサイトのセキュリティ
- 1.1. 設問1 表2中の下線1について,別の方法を,30字以内で答えよ。
- 1.2. 設問2 [フェーズ3: ZさんとB社での診断の実施と結果比較]について答えよ。
- 1.2.1. (1)表3中及び本文中の a,bに入れる適切な字句を,解答群の中から選び, 記号で答えよ。
- 1.2.2. (2)本文中のcに入れる適切な機能を,図1中の(1-1)~(8-1)から選び答えよ。
- 1.2.3. (3)本文中の下線2について,どのような設定が必要か。設定の内容を、図2中の画面名を用いて60字以内で答えよ。
- 1.2.4. (4)本文中の下線3について, keywordの初期値をどのような値に設定する必要があるか。初期値が満たすべき条件を, 40字以内で具体的に答えよ。
- 1.3. 設問3 [フェーズ 5:診断手順案に従った診断の実施]について答えよ。
- 1.3.1. (1)本文中の下線4について, URLが登録されなかった画面名を, 解答群の中から全て選び, 記号で答えよ。
- 1.3.2. (2)本文中の下線5について, 該当する画面遷移とエラーになってしまう理由を2組み挙げ, 画面遷移は図 4 中の (A)~ (E) から選び, 理由は 40字以内で答えよ。
- 1.4. 設問4 [XSS]について答えよ。
- 1.4.1. (1)本文中のdに入れる適切な字句を,30 字以内で答えよ。
- 1.4.2. (2)本文中の下線6について, 攻撃の手口を, 40字以内で答えよ。
- 1.5. 設問5 [アクセス制御の回避] について答えよ。
- 1.5.1. (1)本文中の下線7について, リクエストの内容を, 30 字以内で具体的に答えよ。
- 1.5.2. (2)本文中のe,fに入れる適切なパラメータ名を,図5中から選び、それぞれ15字以内で答えよ。
- 1.6. 設問6 [フェーズ 6: A社グループの診断手順の制定]について答えよ。
- 1.6.1. (1)診断開始までに要する時間の課題について, A社で取り入れている管理策を参考にした対策を, 40字以内で具体的に答えよ。
- 1.6.2. (2)B社のサポート費用の課題について, B社に対して同じ問合せを行わず,問合せ件数を削減するために, A社グループではどのような対策を実施すべきか
- 2. その他の解説
情報処理安全確保支援士
問1 Webサイトのセキュリティ
設問1 表2中の下線1について,別の方法を,30字以内で答えよ。
解答
router.iniなどのURL設定情報を参照する
解説
例えば、サイト内にリンクが張られていないページが漏れる可能性があるため、URLの設定が網羅されている設定ファイルなどを参照し網羅性を担保します。
具体的過ぎる気がしないでもないですが。。
設問2 [フェーズ3: ZさんとB社での診断の実施と結果比較]について答えよ。
(1)表3中及び本文中の a,bに入れる適切な字句を,解答群の中から選び, 記号で答えよ。
解答
a | イ |
b | ウ |
解説
正しいクエリ文字列に対して「必ず真になる条件」と「必ず偽になる条件」をそれぞれ付加比較して検索結果が違えば、付加した文字列により結果が異なったという事になります。
これにより追加して送信したパラメータ部分も条件に利用されていることがわかります。
(追記)
コメント頂ききちんと確認いたしました。
例えば下記のようにクエリが作られていた場合
sql = "SELECT * FROM table where keyword = '?' "
keywordにmanualという文字列を与えるとこうです。
sql = "SELECT * FROM table where keyword = 'manual' "
イの場合はこのようになります。これは必ず真になります。
sql = "SELECT * FROM table where keyword = 'manual ' and 'a' ='a' "
オの場合はこんな感じです。keywordが「manual and 1 = 1」になっているものを検索しますがヒットしません。
sql = "SELECT * FROM table where keyword = 'manual and 1 = 1' "
(2)本文中のcに入れる適切な機能を,図1中の(1-1)~(8-1)から選び答えよ。
解答
2-3
解説
「アンケート入力1」画面の入力値に対するレスポンス「アンケート入力2」画面だけでなく、「アンケート確認」画面のレスポンスも管理する必要がございます。
(3)本文中の下線2について,どのような設定が必要か。設定の内容を、図2中の画面名を用いて60字以内で答えよ。
解答
アンケート入力1に対してアンケート確認画面の応答結果も判定対象に設定する
解説
(2)で解説したものと同じ
(4)本文中の下線3について, keywordの初期値をどのような値に設定する必要があるか。初期値が満たすべき条件を, 40字以内で具体的に答えよ。
解答
トピックの検索結果が1件以上となる文字列
解説
攻撃が失敗しエラーとなった場合は検索結果が0件になるので、結果が0件になるような検索条件では攻撃が失敗しているのかどうかが判断がつきません。
よって結果が1件以上取得できる条件をkeywordとして設定する必要があります。
設問3 [フェーズ 5:診断手順案に従った診断の実施]について答えよ。
(1)本文中の下線4について, URLが登録されなかった画面名を, 解答群の中から全て選び, 記号で答えよ。
解答
ウ、エ
解説
検索結果:javascriptで動的に生成している
新規会員情報入力:メールアドレス記載のURLのクリックが必要となり、画面遷移していない
キャンペーン申込⇒アカウントの拡張機能設定にて複数アカウント設定できることが解説されているため、対象キャンペーンはすべて表示可能
(2)本文中の下線5について, 該当する画面遷移とエラーになってしまう理由を2組み挙げ, 画面遷移は図 4 中の (A)~ (E) から選び, 理由は 40字以内で答えよ。
解答
A | パスワードを連続5回間違えると、画面がロックされるため |
C | 1つのキャンペーンに対し同じ会員は一度しか申込できないため |
解説
図4の注記参照
設問4 [XSS]について答えよ。
(1)本文中のdに入れる適切な字句を,30 字以内で答えよ。
解答
javascriptからのアクセスが禁止される
解説
HttpOnly属性の仕様
(2)本文中の下線6について, 攻撃の手口を, 40字以内で答えよ。
解答
入力された情報をjavascriptなどを用い攻撃者のサーバへ送信する
解説
クロスサイトスクリプティングの攻撃手法
設問5 [アクセス制御の回避] について答えよ。
(1)本文中の下線7について, リクエストの内容を, 30 字以内で具体的に答えよ。
解答
リクエストパラメータに含まれるgroup_codeを改ざんする
解説
本来表示されないはずのキャンペーンが表示されることが課題であると記載があります。
キャンペーンの表示にはリクエストパラメータに含まれるgroup_codeで制御しているので、このパラメータが改ざんされると意図しない画面が表示されてしまいます。
(2)本文中のe,fに入れる適切なパラメータ名を,図5中から選び、それぞれ15字以内で答えよ。
解答
e | JSESSIONID |
f | group_code |
解説
ログイン時に発行されるJSESSIONIDに紐付く会員情報はサーバ側で管理されておりますので、ログインしているユーザに紐付く会員IDが正しく取得できます。
そこから会員のgroup_codeを取得します。
設問6 [フェーズ 6: A社グループの診断手順の制定]について答えよ。
(1)診断開始までに要する時間の課題について, A社で取り入れている管理策を参考にした対策を, 40字以内で具体的に答えよ。
解答
資産管理システムを利用し脆弱性診断に必要な情報を一元管理する
解説
情報が分散されており、集めるのに時間がかかったというのが課題として記述されています。
A社は資産管理システムを利用して管理しているようなので、これを参考にします。
資産管理システムについては本文冒頭4行目に記載されています。
(2)B社のサポート費用の課題について, B社に対して同じ問合せを行わず,問合せ件数を削減するために, A社グループではどのような対策を実施すべきか
解答
QAリストやwikiなどを整備し、問い合わせを行う前にこれらを参照する運用とする
解説
解答は複数あると思いますので、一例として記載しております。
問3(1)は図4の注記4より検索結果も対象ではないでしょうか
コメントありがとうございます!確かに漏れております。問題文中でも言及されていたところですね。
追記いたしました。
設問4(2)について、下記のような例があるのですが、フィッシングサイトへの誘導も正解ですか?
「フィッシングサイトへ誘導する手段はメールだけではありません。Gmailのようなメールサービスに迷惑メールを自動的に識別し振り分ける機能が組み込まれることで、ある程度フィッシングメールを遮断できるようになりました。それで、ハッカーらはエサとなるメールの代わりに、企業やサービスのWebサイトにクロスサイトスクリプティング攻撃を行い、悪意のあるURLを記載することで、ユーザを偽サイトに誘導し、個人情報及び機密データを要求する手法を使用します。」
コメントありがとうございます。
WEBサイト上で意図しない動作を発生させ、個人情報を搾取することが記述できれば問題ないと思います。
問3(1)は、「キャンペーン申込」も含まれるのでしょうか?
図1の(6-2)で診断用アカウントは複数設定できるとあります。
確かに書いてありますね!見落としておりました。ありがとうございます。
複数アカウント設定できればすべてのキャンペーン表示ができる前提になりますね。
相変わらず何の試験かという感じですが笑
設問1についてですが、8ページに「診断対象URL,アカウントなど,診断に必要な情報をK社に確認した。」とあるので、「グループ各社に確認する」が答えではないでしょうか?
設問2(1)はaがオ、bがエではありませんか?
イ、ウともにSQLエラーとして検索結果が0件になってしまうように思えるのですが、、、
自分も同じような疑問を持ちました。
しかし、本文に「keywordの値が文字列として扱われる仕様となっており…」という記述があるのと、表3のB社2行目とZさんの2行目にあえてシングルクオートがあるため、文字列として囲まれたア~ウまでを選択肢として絞り込んで欲しい。という意図が見えました
’keyword=manual ‘and ’a’=‘a’
こんな感じですかね
コメントありがとうございます!確かにそうですね。感覚で解答しておりました。
修正させて頂きます。
すいません、元々の解答で合っておりました!
設問2(1)ですが、修正前であっているかと思います。
プログラムが"select * from a where keyword = ‘" + 入力値変数 + "’" となっている場合、1=1等は文字列として認識される気がします。
すいません、、皆さんコメント頂きありがとうございます。
元々の解答に戻しました。私の感覚が合ってましたね。
文字列であることを考慮して、ご指摘頂いた通りです!
反映ありがとうございます。
細かいですが解説部分でオの場合に出来上がるSQLは
where keyword = ‘manual and 1=1’
となるのでSQLエラーにはなりません。keywordがmanual and 1=1 の値を検索しに行くことになります。(条件に一致するレコードは0件となる場合がほとんどですが)
何度もありがとうございます。助かります。
バタバタ更新してはダメです、、