見出し画像

情報処理安全確保支援士2023年(令和5年)春午後2問1(2,983 文字)

問題冊子、解答例、採点講評はこれ


本文(設問1)

問題文(設問1)

解説(設問1)

脆弱性ツールに診断対象URLを手動登録する場合、単にトップページから手動でたどっても漏れる場合があるので、全URLを診断対象にする際には診断対象URLを調べたいがどうやるか。思いつきに近いところですが作者に聞けばいいじゃないということでWebサイト設計書を見ようというのが答えです。本当にそんなの準備されているのかしら
答え 診断対象のWebサイトの設計書を確認するという方法

本文(設問2)

問題文(設問2)

解説(設問2)

(1)は入力値の処理でSQLインジェクションの診断で使うパラメータについて。B社ので見るとして単に「manual」で行くと10件ヒットするのに「manual'」と「'」をつけると0件ヒットになったところでじゃあ他に10件が出るパラメータと0件が出るパラメータを見つける話になります。10件の方は「manual」かつ「a」が「manual」になるような条件、つまり常に一致するようなものを入れればよいのでとなります。オだと「'」がきっと足りない そしてbは逆に「manual」かつ「b」が無になればいいので常に一致しないが正解です。
答え a : , b :

(2)(3)はアンケート入力1で入力したスクリプトが2つ先画面でエスケープされずに出力されるというので、XSS検出には図1の何の設定がいるか。(2)と注1)を考えるとアンケート入力1の内容はアンケート入力2に行くので1→2のパラメータはちゃんと見るけど1→→アンケート確認のような1個飛ばしはうまく見れないという話になるので、(2-3)アンケート確認に対しては直前のアンケート入力2だけではなくアンケート入力1の応答も見てよねと設定する必要があります。
答え (2) (2-3)
(3) アンケート入力1からアンケート入力2に遷移するURLの拡張機能に、アンケート確認のURLを登録する。
(4)は再びSQLの話に戻って、SQLインジェクション検知のためのkeywordの初期値の条件は何か。今回は10件と0件で差が出るじゃんというのを見ているのでちゃんと1件でもいいから引っかかるような値を入れないとダメです。全部0件だと区別がつきません。「manual」って単語がSQLで何か意味があるのかと思ったけどそんなことはなかった
答え トピック検索結果の画面での検索結果の件数が1以上になる値

本文(設問3)

問題文(設問3)

解説(設問3)

(1)はURL自動登録でひっかからないURLがあったがそれはどれか。表2にあるように遷移先URLがJavascriptなどで動的に生成されるとダメということなので、今回の図4注記4にあるようなよくある質問検索()がダメな雰囲気。
また、新規会員情報入力()は既に登録されているメアドじゃダメなので、別に用意してあげないとダメですね。
答え ,
(2)は特定パラメータが同じ値のリクエストを何度も送るとエラーになって遷移できない箇所ってどれ?という話で、(A)については、注1)にそのまま5回連続でアカウントロックという話が書いてありますが、これは間違えた時に同じリクエストだと弾かれるという話なのでこれも答え。
(C)については注記1には1キャンペーン1申込みの話があります。つまり同じリクエストを送っても2回目以降は弾かれるという話でもあります。
答え
(A) 同じアカウントで連続5回パスワードを間違えるとアカウントがロックされるから
(C) キャンペーンは1会員に付き1回しか申込みできないから

本文(設問4)

問題文(設問4)

解説(設問4)

(1)はcokkieにHttpOnly属性があると何が禁止されるのか。HTML内のスクリプトからcookieへのアクセスが禁止されます。JavaScriptがcookieにアクセスできなくなるともいわれます。ちなみにSecure属性はHttpsの時だけcokkieを送信するやつです。
答え HTML内のスクリプトからcookieへのアクセス
(2)は確かにXSSでcookieは盗めないがXSSを悪用してcookie以外の情報を盗む攻撃とは何か。XSSでパスワードでも何でもいいですが入力フォームを出すような悪意のあるスクリプトを注入すれば、そこに書いた内容が攻撃者に流れるというのは容易に想定できます。
答え 偽の入力フォームを表示させ、入力情報を攻撃者サイトに送る手口

本文(設問5)

問題文(設問5)

解説(設問5)

(1)はキャンペーン一覧などでアクセス制御を回避するように細工されたリクエストを送ると閲覧できないはずのキャンペーン申し込みリンクが出たというので、どんなリクエストなのか。申し込み前か後かを判断するような項目がきっと図5にあるということで探します。リクエストにあるそれらしいものはcookieとgroup_codeですが、cookieはログイン時の発行らしくログイン管理に使うようなのでgroup_codeで管理だろうということで、group_codeを変えてしまえばよいと思います。中身を変えるのか消すのかは不明。
答え group_codeが削除されているリクエスト
(2)はリクエスト中の[e]から会員を特定して、その会員のグループが[f]と一致するかを見るようにするの穴埋め。cookieで人管理ができるのであればそこで特定できるだろうということで、JSESSIONIDから本人特定を行い、グループ管理は文字通りgroup_codeと比較するとよいと思います。
答え e : JSESSIONID, f : group_code

本文(設問6)

問題文(設問6)

解説(設問6)

(1)は診断開始までの時間を短縮する方法。図4の下の「診断対象URL、アカウントなど、診断に必要な情報をK社に確認した。しかし、サイトNについては診断に必要な情報が一元管理されていなかったので、確認の回答までに1週間掛かった」というところの対策です。こうなれば構成管理のあれと一緒ですが、P2/本文(設問1)の最初に出てきたA社が資産管理システムで資産管理しているというのに乗っかってWebサイトも管理しようとなります。最初の方もすっ飛ばさないようにというメッセージですか?
答え グループ各社で資産管理システムを導入し、Webサイトの情報を管理する。
(2)は問い合わせを減らす手段でセキュアコーディングと教育以外の方法。費用が問い合わせ件数に比例するなら問い合わせ件数を減らせとなるわけで、問い合わせ件数を減らすには過去に問い合わせた内容をまた問い合わせるなんてことのないようにQ&Aを作ってみたり、グループ各社が問い合わせるのではなく、本社部門が窓口を集約したり、情報蓄積したりといろいろな方法があると思います。
答え B社への問合せ窓口をA社の診断部門に設置し、窓口が蓄積した情報をA社グループ内で共有する。

終わりに

難しいとは思いますが、ちゃんと読んでいけばそれらしい解答にはなるので、諦めずに取り組めば60点行けるんじゃないかなという感想。なんであれ問2よりは簡単だと思う

主な参考サイト

【解答速報】情報処理安全確保支援士 令和5年度春期【午後2問1】

この記事が気に入ったらサポートをしてみませんか?