【登録セキスペ】令和5年秋午後問3の解説(情報処理安全確保支援士試験)
このNoteでは「セキスペR5秋午後問3」の解説をします。
最新問題なので、試験1ヶ月前後からの演習をお薦めします。それまでは旧セキスペの午後1問題を解き倒してください。
>SCR05春PMI問2解説Note
>SCR05春PMI問3解説Note
>SCR04秋PMI問2解説Note
>SCR04秋PMI問3解説Note
>SCR04春PMI問2解説Note
>SCR04春PMI問3解説Note
今回の問題は中盤が難しく「知っていないと失点確実」な印象でした。問題選びの時に設問を見て、知らない用語の説明・選択肢の半分以上が知らない用語だった時は、避けるのが良いかなと思います。
なおアプリ改ざんは3回前にも出ています。アプリ改ざんの王道対応を学んで、今後の得点源にするチャンスです。>SCR04春PMI問2解説Note
このNoteは、私が独学97点合格した経験と、IT専門学校での授業のノウハウで書いています。合格のお手伝いに少しでもなったら嬉しいです。
それでは始めましょう!
この問題を選ぶか
私は「問2はネットワークなので解く」「問1はプログラムなので解かない」と心に決めているので、この問4か問3かで選びます。
この問題(問3)は、設問1に必要な下線①が2頁目で早いので選ぶと思います。問4は7頁目でした。
さらに表を抜けば1頁の文章量。良き良き。
設問も選択肢問題が3つあり、選択肢の半分以上は分かるので何とか得点できる気もします。
一方で作文は多く、下線が10個もあってゲッソリ。文字数は、20字が4問、35字が1問、40字2問、50字が1問。なかなかキビシイ。
とはいえ、問4は穴埋めですが、表4まで読み進めないと解き始められない遅さ。表は5個、図は3個の計8個もなかなかゲッソリです。>SCR05秋午後問4の解説Note
結論。作文を受け入れるなら、この問題(問3)、穴埋めに拘りたいなら問4、という考えになりそう。時間が許せば、片方解いてみて選び直すこともできはします。
設問1 | システムの権限と範囲
正答は、ウ, エ。
コンテナの脆弱性を利用しないでできることを探します。
Nサービスの1利用者としてできる範囲で考えます。Nサービスの管理者権限ではありません。
ア:CIデーモンを実行しているのは、Nサービスの管理者と思われます。脆弱性を突いて、権限を取得するしかないと思われます
イ:「いずれかのバックエンド」は、他の利用者も含まれていそうなので、該当しません。
ウ:該当。プログラムが走っていれば、インターネットへ発信できるでしょう
エ:該当。プログラムが走っていれば、攻撃者からの指示を受信できるでしょう
オ:他のNサービス利用者への影響は脆弱性を突く、より上位の管理者権限が必要と思われれます
なかなか問題文に明記がないので、自信をもって解答するのが難しいですね。
設問2(1) | フィッシングによるログインは最近2回出た
模範解答は、「偽サイトに入力されたTOTPを入手し、そのTOTPが有効な間にログインした」
下線②周辺の情報を整理すると。
1月4日10時:UさんはメールのURLを開き、偽サイトをクラウド管理サイトだと思ってログインを試みた(ID, PW, TOTPの入力)
1月4日11時:国外IPアドレスから、クラウド管理サイトにUさんアカウントでログインされた
以上より、偽サイトに入力した認証情報(ID, PW, TOTP)を使ってなりすましログインされたと分かります。メールで偽サイトに誘導しているので、フィッシングです。
具体的には、利用者にIDとPWDを偽サイトへ入力させ、すぐにNサービスに入力、TOTPが発行され利用者が受信、偽サイトに入力させ、すぐにNサービスに追加入力。
では作文。
模範解答ではTOTPに注目していますが、偽サイトに入力した認証情報を流用した旨を書けば良いです。
問題は「IDとPW」と一言も問題文にないので、書いて良いものかと悩みますが、一般的な認証手段なのでOKだと考えます。その後にTOTP(ワンタイムパスワード)を入力させているのも一般的です。
私の解答は、「偽サイトで窃取したUさんの認証情報(ID, PWD, TOTP)を使ってすぐにログインした」46文字。
2つポイントがあります。
TOTPは必ず書く
「すぐ」など時間的要因を書く
TOTPは下線②より前、18頁に書かれていて、IDとPWだけでは不正アクセスできないように対策していることが書かれています。この対策を破ることを書く必要があります。よって、偽サイトにTOTPを入力して窃取した旨を書きます。
TOTPは時刻を鍵にして生成するワンタイムパスワード。1分や5分以内だけ有効にするのが一般的。よって、模範解答のように「有効な時間内に」、私のように「窃取してすぐに」という旨が必ず必要です。例えば半日後や翌日では、なりすましログインはできませんから。
設問2(2) | 英語でアタリをつける
正答は、ア。
下線③のRFC9162とか覚えてません。覚えたくもないです。
文意から「証明書発行ログを見る」のが分かります。少なくとも「ウ:HSTS」「エ:RA(登録局)」は外してください。
Certificate Transparency(CT):サーバ証明書の発行状況をログによって監視・監査する仕組み。>Wikiepdia参考
HTTP Public Key Pinning(HPKP):サーバの公開鍵のハッシュ値をブラウザが覚えて置き(ピン留め)検証する仕組み。不正な認証局による攻撃を防ぐ手段。>参考Web
HTTP Strict Transport Security:HSTS。WebサーバにHTTP接続された時に、HTTPS接続に強制的に切り替える仕様です。>HSTSの解説Note
Registration Authority:RA(登録局)。電子証明書を扱う認証局(CA)の一部です。>PKIの構成要素Note
私は英語から推測して、勘で正答しました。Transparencyは透明性、Pinningはピン留めという意味。
今回は正答ではなかった、HPKPも出てくるんでしょうね。CTとHPKPはここで押さえておきましょう(とはいえ、CTは分かりやすしサイト様があるんですが、HPKPはまだないです)。
設問2(3) | ドメインフロンティングは今後もでるかも
正答は、イ。
少なくとも、アとエは外して下さい。
SNI絡みは、イのドメインフロンティングだけ。
ア:DNSスプーフィング:DNSキャッシュポイズニングと同じ。DNSサーバの問い合わせに、正規のDNSサーバよりも早く回答して偽情報を登録させます。
イ:ドメインフロンティング:HTTPSのSNIを詐称して、別サイトに誘導する。
ウ:ドメイン名ハイジャック:DNSサーバの管理者権限を不正利用して登録内容を変えます。キャッシュではなく、ご本尊を変更するのがDNSポイズニングと違います。
エ:ランダムサブドメイン攻撃(DNS水責め攻撃):ありもしないサブドメインの問い合わせをDNSサーバに行うDoS攻撃。
ドメインフロンティング。正答になった以上は覚えておかねばなりません。
HTTPS通信は暗号化通信なので、監視されにくい側面もあります。接続先に関する情報があるSNIに、無害なサイトを記述しておいて、実際は有害なサイトに接続される手法です。
今後詳しいヘッダーや仕組みが出るかもしれません。余裕があれば対策すれば良いですが、初受験ではキビシイです。もっと基本的な問題で得点力を引き上げる方が先です。
設問2(4) | Linux知識はキビシイ
模範解答は、「/procファイルシステムから環境変数を読み取った」
表1より、「ビルドスクリプトに挿入するAPIキーなど(シークレット)を秘密にしたいので、スクリプトとは別にシェルの環境変数として登録する」旨。
よって環境変数(利用者毎の設定ファイル)を読み取ると考えるわけです。いやキビシイ。/procなんてLPIC Level1勉強してないと知らないです。
私も不正解です。
一応書いた解答は「プロセスYの管理者権限を使って、CIデーモンに送られたシークレット情報を窃取した」と、あまり根拠がありません。
表2に、バックエンドを起動して、CIデーモンを稼働させ、CIデーモンにシークレットを送る旨が書かれているので。18頁のプロセスYは管理者権限で実行されているので、何とかならんかなと。
管理者権限なのであらゆるプログラムの実行・ディレクトリの閲覧・編集ができます。
18頁の「/.well-known/pki-validation」のように、環境変数が記憶されたファイルのパスが明記されていたら答えられるんですけどね。
仮想ディレクトリ/procなんて思いつきもしません。私個人はLinuxを普通に使っていますが、使うことありませんでした。
Linux知識が前提な問が多くなった印象を受けました。基本的なコマンドや権限については理解しておく必要があります。>*知っておくべきLinuxの基礎(準備中)
>SCR05春PMI問2解説Note
>SCR04秋PMI問2解説Note
>SCR04春PMI問2解説Note
旧セキスペのPMI問2に必ずLinuxが絡んでいます。これぐらいはLinuxを少しかじれば知っていること。今回の/procはレベチ(レベルが違う)。
設問2(5) | 用語問題は知らないと失点
模範解答は、「認証に用いる情報に含まれるオリジン及び署名をサーバが確認する仕組み」。
問題を選ぶ時点で設問も少し確認します。もし、説明できない用語問題・選択肢の半分以上が知らない用語の場合は、失点確率が高いので私は避けることも考えます。
「オリジン」って概念も旧セキスペからチラチラ見かけます。>オリジンの参考Web
設問2(6) | CAAは令和になってから出ている
正答は、ア。
外して欲しいのは「イ:CNAME」「エ:NS」「オ:SOA」「カ:TXT」。残りは「ア:CAA」「ウ:DNSKEY」。
ア:CAA:ドメイン名に対する認証局を登録してある
イ:CNAME:別名を登録するDNSレコード
ウ:DNSKEY:DNSSECプロトコルを使う時に使う
エ:NS:権威サーバや下位DNSサーバが登録してある
オ:SOA:レコードの管理や設定をする
カ:TXT:任意の文字列が設定できる。SPFレコードなどに使われる
CAAは最近午前問題に出ていました。>令和3年春期午前2問10(過去問道場様)。令和06年春AMII問15も同じ問題です。
DNSレコードの役割や書き方は出題実績がたくさんあります。しっかりかけるようになっておいてくださいね。
設問3(1) | 役割から何ができるか考える
模範解答は、「有効なコード署名が付与された偽のPアプリをJストアにアップロードする攻撃」。
設問文に「対応を踏まえ」とあるので、対応を見ます。
認証用APIキーに必要な対応をした(STORE_API_KEY)
コードサイニング証明書の失効申請を認証局にした(APP_SIGN_KEY)
以上のように、認証APIキーとコードサイニング証明書でできることを考えます。
表3より、
STORE_API_KEY:Jストアにアプリをアップロードできる
APP_SIGN_KEY:書いていないですが、
コード署名をするための署名鍵
コードサイニング証明書。電子証明書の類なのでアプリの配布元の正当性・改ざん検知と推測します
以上より、少なくとも「Jストアに偽のアプリをアップロードする攻撃」21文字。35文字制限なので、これで止めて、部分点を祈るのはテ。
もう一つのAPP_SIGN_KEYは、コードサイニング証明書で配布元の正当性、署名鍵でコードの改ざん検知ができるようです。
表3前に「アプリを起動する前にコード署名の有効性を検証しており、検証に失敗したらアプリを起動しない」とあります。
攻撃者としてはアップロードだけで攻撃成功ではなく、偽アプリを利用者のスマホで実行させたいので、署名もしたいです。
よって補強して、「Jストアに偽のアプリを、署名鍵で作ったコード署名を付与しアップロードする攻撃」39文字。4文字オーバー。
署名鍵周りがまどろっこしいので。
「偽アプリにコード署名を付与して、Jストアにアップロードする攻撃」31文字。若干日本語おかしいかもですが良いかなと。
設問3(2) | 改ざんアプリは削除が王道
模範解答は、「J社のWebサイトから削除する」。
現段階では偽アプリがアップロードされているかもしれません(21頁終盤のログ調査で大丈夫そうですが)。
よって利用者が偽アプリをダウンロードしないように、一旦削除するのが良いです。P社にとっては機会損失になりますが、仕方ありません。被害拡大防止が最優先。
アプリ改ざんの可能性があった時、削除は常套手段です。令和4年にも「上書きされたイメージを削除する」が正答でした。>SCR04春PMI問2解説Note
安直かもですが私の別解は「J社に認証用APIキーの再発行申請する」19文字。文字制限は余裕を持たすはずなので、「Jストア」を「J社」と書いて縮めねば納まらない点に怪しさは感じます。
しかし漏えいしたAPIキーを今後も使うわけにはいきません。再発行すれば、漏洩したAPIキーも失効もされるはず。
また鍵が漏えいしたら失効・再発行は定石だと思うんですよね。
実際下線⑧の後に、コード署名の鍵生成・コードサイニング証明書の再発行をしています。APIキーについても同様に再発行で良いと判断しました。
設問3(3) | 鍵の保存・耐タンパ・TPM
模範解答は、「秘密鍵が漏れないという利点」。
耐タンパ性に考え至ればOKです。ヒントも充分ありました。
下線⑨の手前にて「鍵ペアの保存に代替手段が必要になった」ので、「FIPS140」認証を受けた「ハードウェア」セキュリティモジュール(HSM)を使う流れ。
鍵ペアの保存、ハードウェアとくりゃぁTPM。TPMとくりゃぁ、鍵を外部に取り出せない・耐タンパ性。
よって「コード署名する秘密鍵を外部に取り出せない」20文字。ちょっきりですが、まぁ納まったので良いでしょう。
設問3(4) | 変更前にできたことが、変更後にできなくなるかも
影響:Pアプリを起動できない
対応:Pアプリをアップデートする
下線も10個目になり正直疲れましたが、頑張りましょう。
まず下線⑩の「Kさんの二つの対応」は、
(アップロードに使う)認証用APIキーへの対応
(アプリ起動につかう)コード署名の鍵・コードサイニング証明書への対応
以上が漏れたので、使えなくして再発行などで対応して、正常なPアプリのアップロードをしましたね。
APIキーへの対応は、アップロードなので利用者には無関係。
コード署名の鍵・コードサイニング証明書は変わったので、対応前のアプリでは起動に影響が出ます。20頁に「検証に失敗したらアプリを起動しない」とあります。
よって
影響:「アプリPが起動しない」10文字。
対応:「アプリPをアップデートしてもらう」16文字。
「アプリを再ダウンロードする」13文字。これでも良いかなと思います。別に削除して再インストールして、ID引継ぎをすれば良いので。少なくも×にする強い理由はありません。
アップデートって言葉が出てこなくても諦めずに書いて下さいね。
まとめ
お疲れ様でした!
中盤設問2がちょっと自信ない問題でしたね。
ドメインフロンティングとか、/procとか、WebAuthnとか、知らないければ失点が確実でした。
終盤設問3は持ち直しました。問題文から流れ、各キーの役割を把握していれば正答できます。仮想化やコンテナで浮足だった足を、もう一度地面にちゃんと固定して解きましょう。
ぜひ「情報セキュリティスペシャリスト」に合格してくださいね。
\私の3ヶ月の学習履歴/
p.s. 普段は >> 専門学校とIT就職のブログ << をやってます。
でわでわ(・ω・▼)ノ