戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

情報処理安全確保支援士 2024年 秋期 午後04


セキュリティ診断に関する次の記述を読んで、設問に答えよ。

   B社は、セキュリティ診断サービスを提供している会社である。このたび、転職支援サービスを提供しているM社から、転職支援Webサイト(以下、Mサイトという)のセキュリティ診断を受注した。  Mサイトを利用する求職者は、氏名、自宅住所、電話番号、勤務先などの求職者属性情報と、希望職種、希望条件などの求職情報を入力する。求人企業は、会社情報、求人情報、求人担当者の氏名、所属部署などの情報を入力する。これらの情報は、Mサイトのデータベースに保存される。Mサイトでは、入力された情報に基づいて、求職者と求人企業のマッチングを行っている。求職者は、マッチングで提案された企業に問合せや応募をすることができる。  Mサイトは、機能を追加した新しいバージョンのWebアプリケーションプログラム(以下、MサイトのWebアプリケーションプログラムをWebアプリという)と、求人企業がアプリケーションプログラムからHTTPSで呼び出すことを想定したインタフェース(以下、このインタフェースをWebAPIという)の開発が完了したところであり、リリース前である。   〔セキュリティ診断の診断対象と診断方法〕  今回のセキュリティ診断の診断対象と診断方法は、図1のとおりである。
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図01)
 Mサイトの設計書の中で参照した部分を、図2、図3及び表1に示す。
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図02)
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図03)
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 表01)
〔セキュリティ診断報告書〕  B社は、セキュリティ診断を実施し、図4の診断報告書を作成した。
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図04-01)
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図04-02) 情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図04-03)
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図04-04)
情報処理安全確保支援士試験(令和6年度 秋期 午後 問04 図04-05)
 B社は、M社に診断報告書を提出し、セキュリティ診断を完了した。

設問1図4中の2章について答えよ。

(1)表A中及び2.2.1(2)中のaに入れる適切な記号を、図3中の画面遷移の記号(ア)〜(ナ)から選び、答えよ。

模範解答

a:(イ)

解説

解答の論理構成

  1. セッションフィクセーション対策では、利用者が正しく認証された瞬間に新しいsessionIDを再発行(セッションIDの再生成)しないと、攻撃者があらかじめ設定したsessionIDがそのまま引き継がれてしまいます。
  2. 図4「2.2.1 セッションフィクセーション」の(2)には、  “aの画面遷移の際に実行されるコードにおいて、dすることを推奨する。”
     とあり、dには“sessionIDを再生成する”旨が入ることが文脈から明らかです。
  3. したがってaは「認証が完了する画面遷移」を指す必要があります。
  4. 図3で認証が完了するのは、「01 ログイン」画面から「02 求人企業トップ」画面へ遷移するタイミングです。該当する矢印は
     “ログイン(ボタン下部右)→(イ)→画面02へ”
     と示されています。
  5. 以上よりaに入るべき記号は“(イ)”となります。

誤りやすいポイント

  • 「(ア)」は入力欄横の注記であり画面遷移ではない点を見落とす。
  • 「(エ)」はログイン後のマイページ遷移で認証完了後なので対策ポイントではない。
  • セッションフィクセーション=ログイン画面と短絡し、「URL直接入力」や「(ア)」を選んでしまう。

FAQ

Q: なぜログイン画面表示時(01を開いた時)ではなく、ログインボタン押下時(イ)で再生成するのですか?
A: 攻撃者が仕込むsessionIDはログイン前に被害者ブラウザ内で有効になります。認証後にIDを再生成しないと、そのIDがそのまま正規セッションとして昇格してしまうためです。
Q: 既にログインしている状態での画面遷移(エ)でも再生成した方が安全では?
A: ログイン後の通常操作ごとにIDを再生成すると、並列タブやAPI呼び出しとの整合が取れなくなり、別の不具合を招きます。再生成はログイン・パスワード変更など権限状態が変わるタイミングで十分です。
Q: Secure属性やHttpOnly属性を付けるだけでは防げないのですか?
A: それらはクッキーの盗難やスクリプトからの読み取りを防ぎますが、「攻撃者が先に発行して被害者に刷り込む」タイプのセッションフィクセーションには効果がありません。

関連キーワード: セッションID再生成、認証後処理、セッション管理、フィクセーション、Web脆弱性

設問1図4中の2章について答えよ。

(2)図A中のbに入れる適切なURLを、表1から選び答えよ。

解説

解答の論理構成

  1. 図Aの手順2では「URL “b” にアクセスして、sessionIDを入手する。」と記載されています。
  2. 攻撃者が sessionID を取得するために最初にアクセスする画面は、ログイン画面(画面01)であると読み取れます。
  3. 表1には「01, 02|https://test.△△△.jp/」とあり、画面01の URL が明示されています。
  4. よって、図A中の b には表1で画面01に対応する URL「https://test.△△△.jp/」が入るのが妥当です。

誤りやすいポイント

  • 画面03 以降のマイページ系 URL(/mypage など)を選んでしまう。図Aの手順2はログイン前のアクセスである点を見落とさないようにしましょう。
  • https://test.△△△.jp/pwreset/…」のような一時 URL と混同する。PW再設定は図Dの後半で使われるもので、図Aの手順とは無関係です。
  • 画面02(求人企業トップ)も同じルート URL であるため、「応募者確認」など機能名から URL を類推して誤解するケースがあります。

FAQ

Q: 画面02 でも同じ URL ですが、なぜログイン画面と断定できるのですか?
A: 画面02 はログイン後に遷移する画面であり、未ログイン状態で直接アクセスすると注記¹によりエラー画面が表示されます。手順2は sessionID 取得が目的なので、ログイン画面(画面01)へのアクセスと解釈できます。
Q: 「https://test.△△△.jp/mypage」が候補から外れる理由は?
A: /mypage はログイン後のマイページ(画面03)の URL です。攻撃者はまだ認証を受けていないため、最初にアクセスしても目的の sessionID を得られません。

関連キーワード: セッション管理、URLパス、画面遷移、攻撃シナリオ

設問1図4中の2章について答えよ。

(3)図A中のcに入れる適切な操作を答えよ。

模範解答

c:メール受信者によるログイン

解説

解答の論理構成

  1. 図Aの手順を確認します。
    • 手順3では「手順2で入手したsessionIDを記述したフォーム」を作成し、ブラウザが読み込まれた直後にそのフォームを URL “b” に POST します。
    • 手順5で攻撃者はこの HTML へのリンクをメールで送信し、手順6で「メールがメール受信者に届き、罠サイトにアクセスするのを待つ」と記載されています。
  2. 手順7の文脈を読み取ります。
    • 「罠サイトへのアクセスを検知後、cが完了することを期待して数分間待ち」とあるため、手順6の後に被害者が何らかの操作を行い、その完了を攻撃者が想定していることが分かります。
    • セッションフィクセーションでは、攻撃者が固定した sessionID を被害者が使用してログイン処理を実行することで、同じ sessionID を使って攻撃者が後から不正アクセスできます。
  3. ログイン操作であることを裏付ける記述を引用します。
    • 2.2.1(1) の説明において「攻撃者が図Aの手順でこの脆弱性を悪用すると、Mサイトに不正にログインすることができる」とあります。
    • したがって、手順7の前に完了していなければならない操作は「メール受信者(被害者)によるログイン」になります。
  4. 以上より、c には「メール受信者によるログイン」と入るのが妥当です。

誤りやすいポイント

  • 「フォーム送信=ログイン完了」と早合点し、別の操作(例:応募ボタンのクリック)を書いてしまう。
  • 被害者ではなく攻撃者側の行為を書いてしまい、視点が入れ替わる。
  • 「セッションIDの固定」を中心に考えすぎ、ログインという基本操作を見落とす。

FAQ

Q: 罠サイトにアクセスした時点で自動 POST が走るのになぜ“ログイン完了”を待つ必要があるのですか?
A: 自動 POST はログイン画面に対する送信ですが、処理が完了してセッションが確立されるまでタイムラグがあるため、攻撃者は数分待ってから同じ sessionID でアクセスします。
Q: c を「メール受信者のフォーム送信」と書くと減点になりますか?
A: フォーム送信自体はログイン処理を引き起こす手段ですが、設問は“操作”を問うているため、「メール受信者によるログイン」と答える必要があります。
Q: セッションフィクセーション対策として最も重要な実装は何ですか?
A: ログイン成功後に新しい sessionID を発行し直して旧 ID を無効化(セッション再生成)することです。

関連キーワード: セッションフィクセーション、セッションID, フォーム自動送信、認証、不正ログイン

設問1図4中の2章について答えよ。

(4)2.2.1(2)中のdに入れる適切な修正方法を具体的に答えよ。

模範解答

d:使用済みのsessionIDを無効にした上で、新しいsessionIDを発行

解説

解答の論理構成

  1. セッション固定化の事実
    • 診断報告書には「Mサイトでは form 内の hidden フィールドである sessionID の値だけでセッション管理を実施していた」とあり、さらに表Bの 4 行すべてで が返却されています。
    • これは攻撃者が同じ sessionID を被害者に強制できる典型的なセッションフィクセーション状態です。
  2. 攻撃シナリオの成立
    • 図Aの手順2〜7では攻撃者が sessionID を先に取得し、罠サイト経由で被害者にその ID を使わせたあと「URL “b” にアクセス」して不正ログインを達成しています。
    • したがって「ログイン前後で同じ sessionID が継続して使用される」ことが根本原因です。
  3. 求められる対策の要件
    • セッションフィクセーションの基本対策は「ログイン完了時に新しいセッションへ乗り換える」ことです。
    • 旧 ID を残したままでは攻撃者が依然として利用できるため、旧 ID は破棄しなければなりません。
  4. d が示すべき具体的操作
    • 上記要件を満たす操作は「使用済みの sessionID を無効にし、認証完了後に新しい sessionID を発行してクライアントに渡す」ことです。
    • これにより攻撃者が配布済みの ID を保持していても、それはサーバ側で失効しているため利用できません。
  5. したがって、d に入る修正方法は
    「使用済みのsessionIDを無効にした上で、新しいsessionIDを発行」
    となります。

誤りやすいポイント

  • 「ログイン前に乱数性の高い sessionID を発行すれば十分」と思い込む
    → 認証後に再生成しなければ固定化は防げません。
  • CSRFトークン導入で解決できると誤解する
    → セッションフィクセーションは CSRF とは別問題です。
  • 「sessionID をクッキーに入れれば安全」と短絡する
    → 旧 ID をクッキーで保持したままでは同じくフィクセーションが成立します。
  • 「タイムアウトを短く設定すれば良い」と考える
    → 攻撃成立までに十分な時間があれば依然として危険です。

FAQ

Q: クッキー更新と同時にサーバ側で旧 sessionID を破棄する必要がありますか?
A: はい。クライアント側で ID を置き換えるだけでは攻撃者の保持する旧 ID が有効なまま残るため、必ずサーバ側で旧セッションを無効にしてください。
Q: ログアウト時のセッション破棄だけでは対策になりませんか?
A: なりません。被害者がログアウトしない限り旧 ID は生き続けるため、ログイン処理完了時の再生成が必須です。
Q: 画面遷移a以外でも sessionID 再生成が必要ですか?
A: 高権限昇格が発生する箇所(パスワード変更、APIkey 発行など)でも再生成が推奨されますが、本設問ではまずログイン完了直後のaでの対応が要求されています。

関連キーワード: セッション固定化、セッション再生成、認証、攻撃者モデル、隠しフィールド

設問1図4中の2章について答えよ。

(5)表D中のe, fに入れる適切な効果を答えよ。

模範解答

e:Mサイトへの接続をHTTPSに強制することができる。 f:Mサイトのコンテンツに対して、Content-Typeヘッダーで指定したMIMEタイプを強制的に適用することができる。

解説

解答の論理構成

  • 【問題文】では、HTTPレスポンスに「Strict-Transport-Security」と「X-Content-Type-Options」が出力されていないことを指摘し、表Dで
    Strict-Transport-Security   |e
    X-Content-Type-Options    |f
    と効果を尋ねています。
  • ① Strict-Transport-Security
    • このヘッダーは HTTP Strict Transport Security(HSTS)を有効化し、ブラウザに対して「今後一定期間は同一ドメインへの通信を HTTPS に限定せよ」と指示します。
    • したがって e には “Mサイトへの接続をHTTPSに強制することができる” が入ります。
  • ② X-Content-Type-Options
    • 通常は nosniff を指定し、ブラウザに「サーバが送った Content-Type 以外へ MIME タイプを推測変換(スニッフィング)してはならない」と命令します。
    • これによりスクリプトを意図せず実行されるリスクが低減するため、f には “Mサイトのコンテンツに対して、Content-Typeヘッダーで指定したMIMEタイプを強制的に適用することができる” が入ります。

誤りやすいポイント

  • Strict-Transport-Security を「HTTPS へのリダイレクト」と誤認しがちですが、実際はブラウザ側の強制機構で HTTP アクセス自体を拒否します。
  • X-Content-Type-Options の効果を「キャッシュ制御」と混同するケースがあります。nosniff は MIME タイプ固定化が目的でありキャッシュとは無関係です。
  • 両ヘッダーはサーバ設定レベルで追加できるため、アプリ改修不要と勘違いして設定を怠りやすい点にも注意が必要です。

FAQ

Q: Strict-Transport-Security を設定しても HTTP でアクセスされたらどうなりますか?
A: 初回はリダイレクト等で HTTPS へ誘導する必要がありますが、一度ブラウザがヘッダーを受信すると指定期間は自動的に HTTPS へ切替え、HTTP への接続を拒否します。
Q: X-Content-Type-Options は画像やCSSにも効果がありますか?
A: はい。nosniff 指定時は JavaScript だけでなく画像・CSS など全てのリソースで MIME タイプのスニッフィングが抑止されます。
Q: これらヘッダーを追加すると互換性問題は起きませんか?
A: 最新ブラウザでは問題ありませんが、古いブラウザや社内システムで HTTPS 非対応の場合は Strict-Transport-Security の導入前に事前検証が必要です。

関連キーワード: HSTS, MIMEスニッフィング、HTTPレスポンスヘッダー、セキュリティヘッダー、HTTPS強制

設問2

図4中の4章にある図D中のg, hに入れる攻撃手順を答えよ。

模範解答

g:画面09で、会社名に、図Cのabc@example.comを攻撃者のメールアドレスに変更した文字列を入力して変更ボタンをクリックする。 h:画面04からの一連の操作において、画面05又は画面07で再設定後のパスワードを入力して、WebAPIキーを確認又は発行する。

解説

解答の論理構成

  1. 図4「図D」では、(1) で不正ログインした後に「不審なメールが求人企業に届かない」状態を作り出す必要があると書かれています。
  2. メールを届かなくする手段として同図2.2.2「メールヘッダーインジェクション」で示された現象を再利用します。同節には
    ・「手順1:画面09の会社名に図Cの検査文字列を入力して変更ボタンをクリックする。」
    ・図C:『●●株式会社%0D%0ATo: abc@example.com%0D%0A%0D%0A』
    と明記されており、この操作でメール(あ)の宛先を任意アドレスへ変更できることが実証されています。したがって (2) は、同じ画面09・会社名欄を用いて攻撃者メールアドレスへ書き換える工程になります。これが解答 g の根拠です。
  3. (3) でメールアドレス欄そのものを攻撃者アドレスに変更すると、以後のパスワード再設定メールが攻撃者へ届く仕組みが完成します。
  4. (4) と (5) によりパスワードを奪取した攻撃者は、新パスワードでログインできますが、WebAPI の利用には APIkey が欠かせません。図3の求人企業マイページから
    ・「APIkey管理」→画面04
    ・画面05 又は 07 で「PW再確認」を要求
    するフローが定義されています。ここで再設定後のパスワードを入力すれば、既存キーの確認(画面06)あるいは新規発行(画面08)が可能になります。
  5. よって (6) は「画面04を起点とした APIkey 確認/発行操作で再設定後 PW を入力する」工程が該当し、これが解答 h の根拠です。

誤りやすいポイント

  • g を「メールアドレス欄の書換え」と誤解しやすいですが、メールヘッダーインジェクションは会社名欄を利用する点に注意が必要です。
  • h におけるパスワード入力画面は 05 または 07 のどちらでも成立します。片方だけを記載すると減点の恐れがあります。
  • APIkey 発行後に有効期間「14日間」があるため、発行直後でなくても悪用できることを見落としがちです。

FAQ

Q: 会社名欄に改行コードを入れる理由は何ですか?
A: 「%0D%0A」でヘッダーを強制的に改行し、「To: 攻撃者アドレス」を追加することで宛先を書き換えるためです。
Q: 画面04から始めるのは必須ですか?
A: はい。APIkey を扱う一連の機能(確認・発行)はすべて画面04「APIkey管理」配下にあるため、ここを経由しないとキーを取得できません。
Q: 既存の APIkey を閲覧するだけでも被害は出ますか?
A: 出ます。画面06「APIkey一覧」で値をコピーできるため、新規発行せずとも不正利用が可能です。

関連キーワード: セッション固定攻撃、メールヘッダーインジェクション、CSRF, HTTPヘッダー、APIキー

設問3

あなたがこの診断を担当したとして、図4中の5章の表F中のi, j及び表G中のk, lに記述する内容を答えよ。 なお、複数の改善の方針案がある場合は、被害を防ぐ効果が最も高いものを答えよ。 ①~③は解答例(解答例に限らず、WebAPIに関する被害を軽減する仕様の改善方針案が記述されていれば正解) ④~⑥は解答例(解答例に限らず、Webアプリケーションプログラムに関する被害を軽減する仕様の改善方針案が記述されていれば正解)

模範解答

①:i:求職者IDが推測困難なものになるように、求職者IDの生成方法を変更する。   j:APIキーが窃取された場合、当該求人企業への問合せは応募した求職者の情報漏えいだけに被害を軽減することができるから。 ②:i:WebAPIへのアクセス元IPアドレスを限定して接続を許可するように変更する。   j:WebAPIへの第三者による不正なアクセスを防ぐことができるから。 ③:i:WebAPIで取得できる求職者属性情報は、個人を特定できないものだけに限定するように変更する。   j:不正にWebAPIが利用されても、個人を特定できない情報の漏えいだけに被害を軽減することができるから。 ④:k:ログインの認証を、多要素認証に変更する。   l:アカウントの乗っ取りを防ぐことができるから。 ⑤:k:利用者ごとにアクセス元IPアドレスを限定して接続を許可するように変更する。   l:第三者による不正アクセスを防ぐことができるから。 ⑥:k:求人企業プロパティ変更において、メールアドレス以外を変更した場合でも、メールを送信するように変更する。   l:不正に求人企業プロパティが変更された場合に気付くことができるから。

解説

解答の論理構成

  1. 図4「5章 参考意見」には、  『WebAPIに関して、仕様の改善の方針案と改善すべき理由を表Fに示す』とあり、空欄 ij に WebAPI 側の改善策・理由を入れる必要があります。
  2. また同じ図4には、  『Webアプリケーションプログラムの求人企業向け機能に関して、仕様の改善の方針案と改善すべき理由を表Gに示す』とあり、空欄 kl に求人企業向け機能の改善策・理由を入れる必要があります。
  3. 直前の「4章 総合評価」では、攻撃者が
     『(6) h』『(7) WebAPIの機能を利用して、多数の求職者属性情報を窃取する』
     と記されており、最終的な被害は WebAPI の濫用による大量情報窃取です。
  4. この被害を根本的に封じるには、APIkey を奪われても「外部からは呼び出せない」状態を作ることが最も効果的です。図2「WebAPIの仕様」には利用企業が限定されたシステムである旨(『求人企業のうち、WebAPIの利用契約を締結済みの企業だけにAPIkeyを発行する』)が明記されており、実運用上も発信元ネットワークは特定しやすいと判断できます。
  5. したがって WebAPI 改善策としては
     i「WebAPI へのアクセス元 IP アドレスを限定する」
     j「第三者による不正利用を防止できる」
     が最も直接的かつ高い防御効果をもたらします。
  6. 一方、求人企業向け機能では攻撃者がセッションフィクセーション→パスワード再設定という手順でアカウントを乗っ取っています。これを無力化する最強策は「パスワード以外の要素を要求する」ことです。多要素認証を導入すれば、パスワードが変更されても攻撃者は追加要素を満たせずログインできません。
  7. 以上から、表G の最適解は
     k「ログイン認証を多要素認証に変更する」
     l「アカウント乗っ取りを防止できる」
     となります。

誤りやすいポイント

  • 求職者IDの難読化(模範解答①)は APIkey 奪取後の「日時範囲検索」で回避されるため防止効果は限定的です。
  • メールヘッダーインジェクション対策だけを答えると、質問が求める「より多くの求職者属性情報の窃取」を直接防げず減点対象になります。
  • 「IP 制限」と「多要素認証」を逆に配置すると設問のスコープ(WebAPI と求人企業向け機能)がずれてしまいます。

FAQ

Q: APIkey の有効期間を短くする案はダメですか?
A: 効果はありますが、IP 制限は「そもそも外部から呼び出せない」ため、より高い防御効果が期待できます。
Q: 多要素認証は利用者の利便性を下げませんか?
A: 求職者ではなく求人企業担当者向け機能です。情報漏えいリスクを考慮すると、利便性より安全性を優先すべき領域と判断できます。
Q: IP 制限はテレワーク時に困りませんか?
A: 固定 VPN ゲートウェイなど企業管理下のアドレス帯を許可すれば運用可能です。

関連キーワード: IP制限、多要素認証、APIキー、情報漏えい対策、セッションフィクセーション
戦国ITクイズ機能

\ せっかくなら /

情報処理安全確保支援士
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について