複合シナリオ演習と記述答案

Aug 4, 202520 min

この章の使い方

科目Bの大問は、1つのテーマだけで完結しない。ここでは、複数の章の知識を組み合わせる模擬シナリオで、問題文から根拠を探し、字数内で答える 練習をする。

各シナリオは、まず設問だけを見て自分で答案を書き、その後で解答例と見比べること。

模擬シナリオは学習用に作成したもので、実際の出題とは関係ない。


1. 記述答案の型

1.1 設問の種類ごとの型

設問の形型例
「〜の理由を述べよ」〜だから(原因)、〜となるため(結果)「VPN接続後の通信先を制限していないので、侵害された端末から全サーバに到達できるから」
「〜の問題点を述べよ」〜していないので、〜される「注文の所有者を検証していないので、他人の注文を閲覧される」
「〜の対策を述べよ」どこで 何を どうする「APIサーバで、注文の利用者IDとセッションの利用者IDの一致を確認する」
「〜によって防げる攻撃は」攻撃名+成立を妨げる理由「認可コードの横取り。横取りしてもcode_verifierがないとトークンを取得できない」
「〜は何か、本文中の字句で答えよ」問題文の用語をそのまま使う

1.2 減点されにくい書き方

  • 問題文の用語を使う。「AサーバとBサーバ」のように問題文の名称で書く。一般論の用語に言い換えると、採点者が対応を判断できない。
  • 主語と対象を明確にする。「検証する」ではなく「APIサーバが、IDトークンのaudを検証する」。
  • 根拠は問題文から探す。科目Bの解答の手掛かりは、ほとんどが問題文の中にある。表の注記や、さりげない一文(「〜は暫定的に許可している」)に注目する。
  • 字数の8割以上を埋める。短すぎると必要な要素が欠けていることが多い。
  • 1つの設問に1つの答え。複数の候補を並べると、誤りが含まれた場合に減点される。

1.3 時間配分(150分・2問)

時間作業
0〜10分4問の設問に目を通し、2問を選ぶ(sc_1)
10〜75分1問目
75〜140分2問目
140〜150分見直し(空欄、字数、問題文の用語との一致)

1問の中では、問題文を読む前に設問を先に読む。何を探しながら読めばよいかが分かる。


2. シナリオA:VPN装置を経由した社内侵害

関連:sc_4 ネットワーク、sc_5 インシデント対応、sc_6 BCP

状況

製造業のX社。社外から社内に接続するため、DMZにSSL-VPN装置を設置している。VPNの認証はID・パスワードのみ。VPNの利用者には 10.10.100.0/24 のアドレスが割り当てられる。FWでは「10.10.100.0/24 → 社内全セグメント:全サービス許可」の設定になっている。

ある日、EDRがファイルサーバFS01でランサムウェアの暗号化の挙動を検知した。ログは次のとおり。

02:10  VPN   user=sato  接続元=203.0.113.50(国外)  割当=10.10.100.23
02:14  PC-K  4624 種別3  user=sato  src=10.10.100.23
02:20  PC-K  Sysmon 10  対象=lsass.exe  元=不明な実行ファイル
02:41  DC01  4624 種別3  user=adm-it  src=10.1.20.15(PC-K)
02:55  FS01  4624 種別3  user=adm-it  src=10.1.20.15
02:56  FS01  7045  サービスのインストール  パス=C:\Windows\Temp\svc.exe
03:30  FS01  EDR  大量のファイル書換え・拡張子の変更

satoは普段、国内から業務時間内にのみVPNを利用している。VPN装置には、認証を回避できる脆弱性の情報が1か月前に公開されていた。

設問と解答例

設問1:攻撃者がFS01に到達するまでの経路を説明せよ。

VPN装置からsatoのアカウントで接続し、PC-Kにネットワークログオンした。PC-KでLSASSから資格情報を窃取し、管理者adm-itのアカウントでDC01とFS01にログオンした。

設問2:ただちに隔離すべき端末と、無効化すべきアカウントを挙げよ。

端末:FS01、PC-K。DC01もadm-itがログオンしているため調査対象とする。アカウント:sato、adm-it。

ポイント:暗号化が起きたFS01だけでなく、起点となったPC-K と、侵害された管理者アカウントがログオンした端末 を挙げる。adm-itはドメインの管理者権限を持つ可能性が高く、ドメイン全体が侵害されている前提での対応(KRBTGTのリセットなど)も検討が必要になる。

設問3:FWの設定の問題点と改善策を述べよ。

VPNの利用者に社内の全セグメント・全サービスを許可しているので、侵害された端末から任意のサーバに到達できる。業務に必要なサーバとサービスだけを許可する。

設問4:VPNに関する再発防止策を2つ述べよ。

①VPN装置の脆弱性情報を収集し、公開された脆弱性のパッチを速やかに適用する。②VPNの認証にMFAを導入する。

(他に:国外からの接続の制限、通常と異なる接続元・時間帯の接続の検知)

設問5:生産管理システムの復旧の順序を決めるために、事前に行っておくべき分析は何か。

BIA。業務ごとの停止の影響と許容停止時間を分析し、RTO・RPOと復旧の優先順位を決めておく。


3. シナリオB:会員向けWeb API

関連:sc_2 Web、sc_3 認証

状況

Y社の会員サイトでは、SPAからAPIを呼び出す。ログインにはOIDCを使い、IdPから受け取ったIDトークンをAPIサーバに送って会員を識別している。会員情報の取得APIは次のとおり。

GET /api/members/{member_id}
Authorization: Bearer <IDトークン>

APIサーバは、IDトークンの署名と有効期限を検証した後、member_id に対応する会員情報を返す。

設問と解答例

設問1:このAPIの脆弱性と、それを悪用した攻撃を述べよ。

member_idの会員とIDトークンの会員が一致するかを検証していないので、member_idを変更すると他の会員の情報を取得される。

設問2:IDトークンの検証で、署名と有効期限の他に検証すべき項目を1つ挙げ、検証しない場合のリスクを述べよ。

aud。検証しないと、同じIdPが別のサービス向けに発行したIDトークンを流用される。

設問3:APIの呼出しにIDトークンを使っていることの問題点を述べよ。

IDトークンはクライアントに会員を伝えるためのものであり、APIへのアクセスの認可にはアクセストークンを使うべきである。

設問4:WAFを導入すれば設問1の脆弱性に対処できるという意見について、意見の誤りを述べよ。

攻撃のリクエストは正規の形式で、member_idの値が違うだけなので、WAFのシグネチャでは正常なリクエストと区別できない。


4. シナリオC:CIサービスの侵害

関連:sc_6 サプライチェーン、sc_7 クラウド

状況

Z社は外部のCIサービスでアプリケーションをビルドし、クラウドの本番環境にデプロイしている。CIには、クラウドの管理者権限を持つ長期間有効なアクセスキーと、配布物のコード署名鍵を登録している。CIサービスの事業者から、一定期間、利用者の登録したSecretsが外部に漏えいした可能性があると公表された。

設問と解答例

設問1:Z社がただちに行うべき対応を2つ述べよ。

①CIに登録していたアクセスキーとコード署名鍵を失効させ、再発行する。②漏えいの可能性がある期間に、アクセスキーが使われた形跡がないかを、クラウドの監査ログで調査する。

設問2:コード署名鍵が漏えいした場合に想定される被害を述べよ。

攻撃者が不正なプログラムにZ社の正規の署名を付けて配布でき、利用者がZ社の製品として実行してしまう。

設問3:今後、CIに長期間有効なアクセスキーを登録しないための方法を述べよ。

CIとクラウドをOIDCで連携し、ジョブの実行時だけ有効な一時的な認証情報を取得する。権限はデプロイに必要な範囲に限定する。

設問4:コード署名鍵の保管方法の改善策を述べよ。

署名鍵をHSMやクラウドのKMSに保管し、CIからは署名の操作だけを依頼する。鍵そのものはCIに置かない。


5. シナリオD:メールドメインの移行

関連:sc_4 メール

状況

W社は社名の変更に伴い、メールのドメインを old.example から new.example に移行する。新ドメインのSPFレコードは設定済み。メールマガジンは外部の配信サービスから new.example を送信者として配信する予定である。

設問と解答例

設問1:メールマガジンがDMARCの認証に成功するために必要な設定を述べよ。

配信サービスでnew.exampleのドメインのDKIM署名を付け、その公開鍵をnew.exampleのDNSに登録する。または、エンベロープFromをnew.exampleにして、配信サービスの送信元をSPFに追加する。

設問2:DMARCのポリシーを最初から p=reject にしないのはなぜか。

設定漏れのある正規の送信経路のメールが受信拒否されるおそれがあるので、まずp=noneでレポートを受け取り、認証の状況を確認するため。

設問3:移行後、旧ドメインの扱いで注意すべき点を述べよ。

旧ドメインの登録を維持し、メールを送信しないことを示すSPF(-all)とDMARC(p=reject)を設定する。手放すと第三者に取得され、なりすましに使われるおそれがある。


6. 総仕上げのチェックリスト

試験の直前に、次の問いに即答できるか確認する。

Web(sc_2)

  • IDORの根本対策を一文で言えるか
  • CSPが効かなくなる条件を3つ言えるか
  • SameSite属性がCSRFを防ぐ理由を説明できるか

認証(sc_3)

  • FIDO2がフィッシングに強い理由を2つ言えるか
  • state、nonce、PKCEがそれぞれ何を防ぐか言えるか
  • IdPの署名鍵が漏えいした場合の影響範囲を説明できるか

ネットワーク(sc_4)

  • DNSSECとDoHの守るものの違いを言えるか
  • 通信要件からFWのルールを書けるか(装置自身の通信を含めて)
  • DMARCのアライメントを説明できるか

インシデント対応(sc_5)

  • 4624の種別3と10の違いを言えるか
  • 電源を切らずにネットワークから隔離する理由を言えるか
  • 隔離の対象を、侵害されたアカウントの観点から広げられるか

サプライチェーン・BCP(sc_6)

  • RTOとRPOの違いを例で説明できるか
  • ランサムウェアに耐えるバックアップの要件を3つ言えるか
  • 復旧の前に侵入経路を塞ぐ理由を言えるか

横断(sc_7)

  • HMACと署名の違いを言えるか
  • 個人情報保護法で報告が必要になる4つの場合を言えるか

~Yu Tokunaga