‹ ぱすてく

情報処理安全確保支援士試験

令和3年度 春期 午後Ⅰ(旧試験)

令和3年度 春期に実施された情報処理安全確保支援士試験 午後Ⅰの全3問(記述式)の全設問に,運営者が独自に書いた解説を付けています。事例本文のどこが根拠になるかを示し,IPA の解答例・採点講評と並べています。

この試験について:情報処理安全確保支援士試験について

この年度を解いてみる

問1 認証システムの開発

認証システムの開発に関する次の記述を読んで,設問1~4に答えよ。

S 社は,従業員 10 名のベンチャー企業である。S 社のファイル共有サービス(以下,S サービスという)は機能が豊富であり,登録会員(以下,S 会員という)の数を伸ばしている。

S サービスでは,利用者認証された S 会員が写真などのファイルを自身に割り当てられたフォルダにアップロードできる。さらに,当該ファイルにアクセスするための URL を電子メールなどで他者に示すことによって,当該ファイルを他者と共有できる。また,S サービス内でメッセージや“いいね”を送信できる。

S サービスの企画,開発及び運用は,CTO の F 氏が取り仕切っており,そのうち,開発と運用は,F 氏の指示の下,S 社エンジニア 2 名が行っている。S サービスは,外部セキュリティ企業による脆弱性診断を随時受けている。

〔S サービスの改修〕

前回の脆弱性診断では,利用者 ID とパスワードを用いて利用者認証する S サービスの認証モジュール(以下,S 認証モジュールという)の認証方式を,多要素認証にする方がよいとのアドバイスを受けたが,その対処が課題であった。そこで,F 氏は,認証及び認可を提供する SNS(以下,認証認可提供 SNS という)のうち,多要素認証などの機能をもつ T 社の T サービスと S サービスとを ID 連携する改修を CEO の X 氏に提案した。その改修によって,S 認証モジュールを用いない S 会員の登録と多要素認証の実現を目指す。ただし,今回の改修での ID 連携では,既存の S 会員は対象とせず,新規登録の S 会員だけを対象とする。改修後も当面は既存の S 会員の認証のために,S 認証モジュールも継続して稼働させる。

F 氏は,①S 認証モジュールの代わりに T サービスとの ID 連携を利用することにはどのような利点と欠点があるかを X 氏に説明した。X 氏は,ID 連携技術に詳しい情報処理安全確保支援士(登録セキスペ)の Y 氏を外部から招聘して,実装の最終段階でのレビューを受けることを前提に,S サービスの改修を承認した。

今回の改修では,OAuth の Authorization Code Grant を採用する。OAuth は,認証認可提供 SNS と認可情報を送受信するためのプロトコルの一つである。OAuth を用いた認可における三つの主体の説明を図1に,認可のシーケンスを図2に示す。

枠の中に三つの主体の説明。利用者:T サービスのアカウントをもち,S 会員の登録を希望する者(以下,S 会員登録希望者という)及び登録された S 会員である。S サービス:T サービスでのアカウント名を要求する。T サービス:認証認可提供 SNS である。図3に示す権限を提供する。枠の下に注記:T サービスのアカウント名は変更できない。
図1 OAuth を用いた認可における三つの主体の説明
利用者,S サービス,T サービスの3者のシーケンス図。(あ)利用者から S サービスへ「利用開始」。(い)S サービスから利用者へ「認可の要求」。利用者でリダイレクトし,(う)利用者から T サービスへ「認可の要求」。(え)利用者と T サービスの間の双方向の矢印「認証,権限付与の確認」。(お)T サービスから利用者へ「認可コード」。利用者でリダイレクトし,(か)利用者から S サービスへ「認可コード」。(き)S サービスから T サービスへ「アクセストークンの要求」。(く)T サービスから S サービスへ「アクセストークン」。(け)S サービスから T サービスへ「アカウント名の要求」。(こ)T サービスから S サービスへ「アカウント名」。注記:S サービスは,S 会員登録希望者による利用の初回に,S 会員登録希望者がログイン中の T サービスから取得したアカウント名(以下,T-ID という)を S サービス内に登録する。T サービスにログインしていない場合はログインが促される。2回目以降の S サービスの利用の場合,初回に登録された T-ID を確認する。
図2 OAuth を用いた認可のシーケンス
枠の中に四つの権限。(ア)他の利用者の投稿に対し“いいね”を送信する権限。(イ)他の利用者へのメッセージを送信する権限。(ウ)利用者の代わりに投稿する権限。(エ)利用者のアカウント名,電子メールアドレスなど登録情報を取得する権限。
図3 T サービスが提供する権限

図2のシーケンスにおいて,aは,bが提供するリソースにアクセスできる。それはcが,図3に示す権限をaに与えるからである。cはaに与える権限を図2中の[ α ]の通信の際に確認する。図3のうち,どの権限を要求するかは,aの実装者が決定する。S 社では,要求した権限のいずれか一つでも,cが与えることを拒否する場合は,シーケンスを止めるように実装することにした。

なお,S サービスでは,将来どの権限も利用すると考え,図3の全権限を要求することにした。

次に,T サービスと S サービスとの ID 連携について,実装の最終段階で Y 氏のレビューを受けた。Y 氏はセキュリティ上の問題を三つ指摘した。

〔一つ目の問題〕

Y 氏は,一つ目の問題を,次の攻撃シナリオで説明した。

S サービスにログインしていない利用者が攻撃者の用意した罠サイトにアクセスすると,図4中に示すシーケンス X が走り,後に,②利用者が攻撃を受けているとは知らずに S サービスにファイルをアップロードすると,そのファイルを攻撃者にダウンロードされてしまうおそれがある。

利用者,攻撃者,S サービス,T サービスの4者のシーケンス図。利用者から攻撃者へ「罠サイトへのアクセス」。攻撃者から S サービスへ「利用開始」。S サービスから攻撃者へ「認可の要求」。攻撃者でリダイレクトし,攻撃者から T サービスへ「認可の要求」。攻撃者と T サービスの間の双方向の矢印「認証,権限付与の確認」。T サービスから攻撃者へ「認可コード」。攻撃者から利用者へ[ d ]。利用者でリダイレクトし,利用者から S サービスへ[ d ]。S サービスから T サービスへ[ e ]。T サービスから S サービスへ「アクセストークン」。ここまでの T サービスとの通信(罠サイトへのアクセスから「アクセストークン」まで)が「シーケンス X」。その後,利用者から攻撃者を経由して S サービスへ「ファイルのアップロード」。
図4 攻撃のシーケンス

この対策として,RFC 6749 は,図2のシーケンスで,推測困難な値である state パラメタを利用することを推奨している。S サービスは state パラメタを[ β ]を送信する際に付与する。S サービスは[ γ ]を受信する際に,そのセッションが,state パラメタを付与した際の[ β ]のセッションと同一であるか否かを確認する。同一である場合だけシーケンスを続ける。

〔二つ目と三つ目の問題〕

二つ目の問題は,③S サービスが T サービスに要求する権限が必要最小限のものになっていないことである。この問題については,要求する権限を一つだけにした。

三つ目の問題は,T サービスに深刻な脆弱性が報告された場合の対応方法を決めていなかったことである。この問題については,T サービスとの ID 連携を一時的に停止し,S 認証モジュールだけで認証することにした。ただし,このとき④一部の S 会員は S サービスを利用できなくなるので,対象の S 会員向けに代替策を検討することにした。

〔利用者認証の実現について〕

X 氏は,全面改修して S 認証モジュールを停止した後の利用者認証の実現方式について Y 氏に確認した。S サービスは利用者を直接認証していないが,⑤S サービスは,登録された S 会員をどのように利用者認証しているかを,Y 氏は X 氏に解説した。

S 社では,Y 氏から指摘された問題を解決した後,T サービスと S サービスとの ID 連携を開始した。

出題趣旨(IPA)

昨今,ソーシャルログインが普及してきており,その中でもOAuthを用いたものは様々なWebサービスで利用されている。Webサービスにおける認証機能の開発において,OAuthを理解し,セキュリティ上の考慮点を踏まえた設計を行うことが欠かせないものとなってきている。本問では,認証システムの開発を題材に,OAuthを用いたソーシャルログインの実装,及びそのセキュリティに関する理解力を問う。

採点講評(問全体・IPA)

問1では,認証システムの開発を題材に,OAuthを用いたソーシャルログインシステムの実装,及びそのセキュリティについて出題した。全体として正答率は平均的であった。

設問と解答例

設問1(1) 30字以内

本文中の下線①について,S 社の課題に即した利点を 30 字以内で具体的に述べよ。

解答例

  • 多要素認証の実装をSサービス側に用意しなくてよい。
解説

本文の根拠

〔S サービスの改修〕

認証方式を,多要素認証にする方がよいとのアドバイスを受けたが,その対処が課題であった。

〔S サービスの改修〕

多要素認証などの機能をもつ T 社の T サービスと S サービスとを ID 連携する改修

S 社の課題は,脆弱性診断で受けた“認証方式を多要素認証にする方がよい”というアドバイスへの対処である。S サービスは従業員 10 名の会社で,開発と運用は S 社エンジニア 2 名が行っているので,自前の認証モジュールに多要素認証を作り込むのは重い。多要素認証などの機能をもつ T サービスと ID 連携すれば,その機能を利用できる。したがって,利点は“多要素認証の実装を S サービス側に用意しなくてよい”ことである。

本文はこの改修によって“S 認証モジュールを用いない S 会員の登録と多要素認証の実現を目指す”と書いている。利点の問いなので,パスワードを S サービスで管理しなくてよくなる,といった一般論ではなく,課題(多要素認証)に直結する内容を書くのが“S 社の課題に即した”の意味である。

30 字以内なので,“多要素認証の実装を S サービス側に用意しなくてよい”(解答例は 25 字)のように,何を(多要素認証の実装)・どこで(S サービス側)・どうなる(不要)の三点に絞る。

設問1(2) 30字以内

本文中の下線①について,可用性の観点での欠点を 30 字以内で述べよ。

解答例

  • Tサービスの障害時にSサービスを利用できない。
解説

本文の根拠

〔S サービスの改修〕

S 認証モジュールを用いない S 会員の登録と多要素認証の実現を目指す。

〔二つ目と三つ目の問題〕

T サービスに深刻な脆弱性が報告された場合の対応方法を決めていなかったことである。

ID 連携では,認証を T サービスに任せる。そのため,T サービスが停止したり障害が起きたりすると,T サービスで認証できず,S サービスにもログインできなくなる。可用性の観点での欠点は“T サービスの障害時に S サービスを利用できない”ことである。

本文の三つ目の問題(T サービスに深刻な脆弱性が報告された場合)でも,ID 連携を一時的に止めて S 認証モジュールだけで認証する,という対応が出てくる。これは認証を外部に依存していることの裏返しである。採点講評は,SNS と連携しない場合にも該当する欠点を書いた解答が散見されたと述べている。“問われているのは ID 連携を利用する場合に固有の欠点”なので,S サービス自身の障害や運用負荷を書かない。

30 字以内なので,“T サービスの障害時に S サービスを利用できない”(解答例は 23 字)のように,原因(T サービスの障害)と結果(S サービスが使えない)の二点を書く。

採点講評(IPA)

設問1(2)は,正答率が平均的であった。認証を行うSNSと連携する場合における可用性の観点での欠点を問うたが,SNSと連携しない場合にも該当する欠点について記述した解答が散見された。題意をよく読んで解答してほしい。

設問1(3) 解答欄3つ

本文中の a ~ c に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア S サービス イ T サービス ウ 利用者

〔a〕解答例

  • ア

〔b〕解答例

  • イ

〔c〕解答例

  • ウ
解説

本文の根拠

図1

S サービス:T サービスでのアカウント名を要求する。

図1

T サービス:認証認可提供 SNS である。図3に示す権限を提供する。

図2

利用者と T サービスの間の双方向の矢印「認証,権限付与の確認」

OAuth(RFC 6749)では,リソースを持つ利用者(リソースオーナ)が,アプリケーション(クライアント)に,自分のリソースへのアクセスを許可する。この問題の三つの主体に当てはめると,T サービスのリソース(アカウント名など)にアクセスしようとするのが S サービス,権限を与えるのが利用者である。a は“他者が提供するリソースにアクセスする側”なので S サービス(ア),b はリソースを提供する T サービス(イ),c は“権限を与える”側なので利用者(ウ)になる。

図2では,利用者が T サービスで認証され((え)),S サービスに与える権限を確認している。つまり権限を与えると決めているのは,T サービスではなく利用者である。T サービスは図3の権限を“提供する”が,それを S サービスに与えるかどうかを決めるのは,認証された利用者の同意である。採点講評が,仕組みを理解していない解答が多かったとしているのは,この対応づけである。

記号で答える設問なので字数の制約はない。a と b を入れ替えやすいので,“アクセスする側(S サービス)”と“リソースを持つ側(T サービス)”を,図2の矢印の向き(S サービスが T サービスに要求する)で確かめる。

採点講評(IPA)

設問1(3)は,正答率が低かった。OAuthがどのように使われているかを問うたが,仕組みを理解していない解答が多かった。OAuthのプロトコルをよく理解しておくとともに,図のシーケンスから仕組みを正確に読み取ることにも注力してほしい。

設問1(4) 解答欄1つ

本文中の [ α ] に入れる適切な字句を,図2中の(あ)~(こ)から選び,記号で答えよ。

〔α〕解答例

  • (え)
解説

本文の根拠

図2

利用者と T サービスの間の双方向の矢印「認証,権限付与の確認」

本文(図2の説明)

aに与える権限を図2中の[ α ]の通信の際に確認する。

α には,“c(利用者)が a(S サービス)に与える権限を確認する通信”が入る。図2で,利用者が T サービスとやり取りしながら権限の付与を確認しているのは,利用者と T サービスの間の双方向の矢印(え)の“認証,権限付与の確認”だけである。したがって答えは(え)。

(い)と(か)は S サービスと利用者の間の通信(認可の要求・認可コードのリダイレクト)で,権限の確認はここでは行われない。(う)は利用者から T サービスへの認可の要求で,確認の画面へ進む入口にすぎない。権限を確認する画面で利用者が認証・許可するのが(え)である。

記号で答える設問なので字数の制約はない。通信の名前が“認証,権限付与の確認”と書かれた矢印を探せばよい。

設問2(1) 解答欄2つ

図4中の d ,e に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア アクセストークンの要求 イ アクセストークン ウ 認可コード エ 認可の要求 オ 認証,権限付与の確認

〔d〕解答例

  • ウ

〔e〕解答例

  • ア
解説

本文の根拠

図4

攻撃者から利用者へd。利用者でリダイレクトし,利用者から S サービスへd。S サービスから T サービスへe。

図2

(お)T サービスから利用者へ「認可コード」。利用者でリダイレクトし,(か)利用者から S サービスへ「認可コード」。(き)S サービスから T サービスへ「アクセストークンの要求」。

図4は図2の正規のシーケンスと同じ流れで,違いは,T サービスとのやり取りの相手が利用者ではなく攻撃者になっていることである。図2では,T サービスが認可コードを返し,それが利用者を経由してリダイレクトで S サービスに渡り,S サービスがそれを使ってアクセストークンを要求する。したがって図4でも,攻撃者から利用者へ渡され,利用者から S サービスへ渡る d は認可コード(ウ),S サービスから T サービスへ送られる e はアクセストークンの要求(ア)である。

図4では,e の次の矢印(T サービスから S サービスへ)が「アクセストークン」になっているので,e はその要求(ア)であり,アクセストークンそのもの(イ)ではない。(エ)の認可の要求と(オ)の認証,権限付与の確認は,図4では d より前の矢印としてすでに現れている。

記号で答える設問なので字数の制約はない。図2と図4を並べ,同じ並びの矢印を対応づければよい。

設問2(2) 解答欄2つ

本文中の下線②について,ファイルのアップロードと,ファイルのダウンロードは,それぞれ T サービスの誰のアカウントによって行われるか。それぞれ 6 字以内で答えよ。

〔ファイルのアップロード〕解答例

  • 攻撃者

〔ファイルのダウンロード〕解答例

  • 攻撃者
解説

本文の根拠

〔一つ目の問題〕

S サービスにログインしていない利用者が攻撃者の用意した罠サイトにアクセスすると,図4中に示すシーケンス X が走り

図4

攻撃者と T サービスの間の双方向の矢印「認証,権限付与の確認」

図4では,利用者が罠サイトにアクセスすると,S サービスとの認可のシーケンス X が走る。ところが,そこで T サービスにログインして権限付与を確認しているのは利用者ではなく攻撃者である。そのため,攻撃者の T サービスのアカウントで発行された認可コードが利用者のブラウザ経由で S サービスに渡り,S サービスは利用者のセッションを攻撃者の T-ID に結び付けてしまう。結果として,利用者は,自分では気付かないまま,攻撃者の T サービスのアカウントに結び付いた S サービスのセッションを使うことになる。したがって,アップロードされるときの T サービスのアカウントは攻撃者のもので,攻撃者は後から自分の T サービスのアカウントで S サービスにログインして,そのファイルをダウンロードできる。どちらも答えは“攻撃者”である。

採点講評は,利用者のアカウントによって行われると書いた解答が多かったとしている。図4のシーケンス X では,T サービスで認証されているのが攻撃者であることを確かめる。

6 字以内の指定に対し,“攻撃者”(3 字)で足りる。アップロードとダウンロードの両方に同じ答えを書く。

採点講評(IPA)

設問2(2)は,正答率が低かった。攻撃者が用意したアカウントに利用者が導かれてしまうことを問うたが,利用者のアカウントによって行われると記述した解答が多かった。セキュリティ対策においては攻撃の手口を理解することが必要になるので,シラバスにあるような攻撃の手口を学習してほしい。

設問2(3) 解答欄2つ

本文中の [ β ] ,[ γ ] に入れる適切な字句を,図2中の(あ)~(こ)から選び,記号で答えよ。

〔β〕解答例

  • (い)

〔γ〕解答例

  • (か)
解説

本文の根拠

〔一つ目の問題〕

S サービスは state パラメタを[ β ]を送信する際に付与する。

〔一つ目の問題〕

そのセッションが,state パラメタを付与した際の[ β ]のセッションと同一であるか否かを確認する。

RFC 6749 は,認可コードを受け取る側(クライアント)が,リクエストの state パラメタに推測できない値を入れて認可サーバに渡し,戻ってきた値を照合して CSRF を防ぐことを推奨している(4.1.1,10.12)。この問題の S サービスは,T サービスへの認可の要求を利用者に送る通信(い)に state を付与し,戻ってくる認可コードの通信(か)で,付与したときのセッションと同一かどうかを確認する。β は(い),γ は(か)である。

図4の攻撃では,攻撃者が自分の認可コードを利用者に渡している。その通信は,S サービスが state を付与した利用者のセッションから始まっていないので,state の照合で不一致になり,シーケンスは止まる。(う)は利用者のブラウザが T サービスへ送る通信で,S サービスが受信する通信ではない。

記号で答える設問なので字数の制約はない。S サービスが送る通信と受ける通信を,図2の矢印の向きで探す。

設問3(1)

本文中の下線③について,必要最小限の権限を図3中の(ア)~(エ)から一つ選び,記号で答えよ。

解答例

  • (エ)
解説

本文の根拠

〔二つ目と三つ目の問題〕

二つ目の問題は,③S サービスが T サービスに要求する権限が必要最小限のものになっていないことである。この問題については,要求する権限を一つだけにした。

図1

S サービス:T サービスでのアカウント名を要求する。

図3

(エ)利用者のアカウント名,電子メールアドレスなど登録情報を取得する権限。

S サービスが T サービスに要求する情報は,利用者の T サービスでのアカウント名(T-ID)である。図2の(け)(こ)で取得し,初回に S サービス内に登録して,2 回目以降の認証で確認する。この用途に必要なのは,図3のうち,利用者のアカウント名を取得する権限(エ)だけである。RFC 6749 も,クライアントは必要最小限のスコープでアクセストークンを要求すべきだと述べている(10.3)。

(ア)“いいね”の送信,(イ)メッセージの送信,(ウ)利用者の代わりに投稿する権限は,S サービスでは現状では使わない。“将来どの権限も利用すると考え,全権限を要求することにした”のが問題だった。特に(ウ)は,アクセストークンが漏れた場合に利用者になりすまして投稿されるおそれがある。

記号で答える設問なので字数の制約はない。“実際に使う機能から必要な権限を決める”という考え方で選ぶ。

設問3(2) 35字以内

本文中の下線④に該当する S 会員を,35 字以内で述べよ。

解答例

  • S認証モジュールに利用者IDとパスワードを登録していないS会員
解説

本文の根拠

〔S サービスの改修〕

ただし,今回の改修での ID 連携では,既存の S 会員は対象とせず,新規登録の S 会員だけを対象とする。

〔二つ目と三つ目の問題〕

T サービスとの ID 連携を一時的に停止し,S 認証モジュールだけで認証することにした。

ID 連携を止めて S 認証モジュールだけで認証すると,S 認証モジュールで認証できるのは,利用者 ID とパスワードを S サービスに登録している既存の S 会員だけである。今回の改修以降に新規登録した S 会員は T サービスの ID 連携で登録されていて,S 認証モジュールには利用者 ID とパスワードがないので,S サービスを使えなくなる。

本文は“既存の S 会員は対象とせず,新規登録の S 会員だけを対象とする”と書いており,“既存の S 会員はそのまま S 認証モジュールで認証する”と読める。誤答しやすいのは“新規登録の S 会員”とだけ書くことで,下線④の“一部の S 会員”の条件は,S 認証モジュールに利用者 ID とパスワードがあるかどうかである。

35 字以内なので,“S認証モジュールに利用者IDとパスワードを登録していないS会員”(解答例は 31 字。空白を除く数え方)のように,“どこに何を登録していないか”を入れて書く。

設問4 50字以内

本文中の下線⑤について,S サービスは,T サービスと連携して,どのように利用者認証を実現しているか。実現の方法を 50 字以内で具体的に述べよ。

解答例

  • Tサービスで認証されたS会員のT-IDが,Sサービス内に登録されていることを確認する。
解説

本文の根拠

図2 注記

S サービスは,S 会員登録希望者による利用の初回に,S 会員登録希望者がログイン中の T サービスから取得したアカウント名(以下,T-ID という)を S サービス内に登録する。

図2 注記

2回目以降の S サービスの利用の場合,初回に登録された T-ID を確認する。

S サービスは利用者を直接認証していない。認証は T サービスが行い,S サービスは OAuth の認可コードからアクセストークンを得て,T サービスから T-ID(アカウント名)を取得する。図2の注記によると,S サービスは,初回に取得した T-ID を S サービス内に登録しておき,2 回目以降は,その都度 T サービスから取得した T-ID が,初回に登録された T-ID と同じかどうかを確認する。したがって,利用者認証の方法は“T サービスで認証された S 会員の T-ID が,S サービス内に登録されていることを確認する”ことである。

本文の図1に“T サービスのアカウント名は変更できない”とあるのは,T-ID が S 会員の識別子として使い続けられるための前提である。

50 字以内なので,“T サービスで認証された”(誰が認証したか),“T-ID”(何を確認するか),“S サービス内に登録されている”(何と照合するか)の三点を落とさず書く(解答例は 43 字)。

出典:令和3年度 春期 情報処理安全確保支援士試験 午後Ⅰ 問1(表記を一部改変)

問2 ネットワークのセキュリティ対策

ネットワークのセキュリティ対策に関する次の記述を読んで,設問1,2に答えよ。

A 社は,従業員 500 名の中規模の小売業であり,インターネットを介して消費者向けに商品を宣伝している。A 社のネットワークは,同社の情報システム部(以下,情シ部という)の L 部長と M 主任を含む 7 名で運用している。A 社のネットワーク構成を図1に,図1中の主な機器とその概要を表1に示す。

凡例:FW はファイアウォール,L2SW はレイヤ2スイッチ,L3SW はレイヤ3スイッチ。インターネットがルータにつながり,ルータの下に FW,その下に L3SW が縦に並ぶ(以上は A 社の枠内)。FW の左側が DMZ で,FW は DMZ の L2SW につながる。DMZ の L2SW には公開 Web サーバ,プロキシサーバ,メールサーバ,外部 DNS サーバがつながる。L3SW の右上は内部サーバセグメントで,L2SW に内部 DNS サーバ,内部 Web サーバ,業務サーバがつながる。L3SW の下は PC セグメントで,L2SW に複数の PC がつながる。注記:DMZ の機器にはグローバル IP アドレスを割り当てている。
図1 A 社のネットワーク構成
機器と概要の2列の表。公開 Web サーバ:消費者向けの商品の宣伝に使用されている。プロキシサーバ:PC から公開 Web サーバ及びインターネット上の Web サーバへの HTTP 及び HTTPS 通信を中継している。メールサーバ:社内外との電子メールの送受信に使用されている。外部 DNS サーバ(注1):A 社ドメインの権威 DNS サーバ及び再帰的な名前解決を行うフルサービスリゾルバ(注2)として使用されている。内部 DNS サーバ(注1):内部サーバセグメントのゾーン情報の管理に使用されている。PC:A 社の従業員が使用している。Web ブラウザには,公開 Web サーバ及びインターネット上の Web サーバにアクセスできるように,プロキシの設定が適切にされている。注記1:A 社では,インターネットドメイン名 a-sha.co.jp を取得しており,レジストラとして X 社を利用している。注記2:公開 Web サーバ及びインターネット上の Web サーバの名前解決は,プロキシサーバが外部 DNS サーバに問い合わせる設定になっている。注(1)DNS サーバ用の OSS である D ソフトを使用している。(2)フルサービスリゾルバとしては,プロキシサーバとメールサーバが使用している。
表1 図1中の主な機器とその概要

FW のフィルタリングルールを表2に示す。

項番,送信元,宛先,サービス,動作の5列の表。項番1:プロキシサーバ,インターネット,HTTP,HTTPS,許可。項番2:インターネット,公開 Web サーバ,HTTP,HTTPS,許可。項番3:メールサーバ,インターネット,SMTP,許可。項番4:インターネット,メールサーバ,SMTP,許可。項番5:外部 DNS サーバ,インターネット,DNS,許可。項番6:インターネット,外部 DNS サーバ,DNS,許可。項番7:PC セグメント,プロキシサーバ,HTTP,HTTPS,許可。項番8:PC セグメント,メールサーバ,SMTP,POP3,許可。項番9~13は省略。項番14:全て,全て,全て,拒否。注記1:FW は,ステートフルパケットインスペクション型である。注記2:項番が小さいルールから順に,最初に一致したルールが適用される。注記3:項番9~13には,DNS に関するルールは記述されていない。
表2 FW のフィルタリングルール

ある日,D ソフトの脆弱性を悪用した DoS 攻撃で同業他社が踏み台になったというニュースが配信された。情シ部では,脆弱性情報が公開されると,CVSS の値を参考にして自社への影響を評価し,影響が大きいケースでは,早期に脆弱性修正プログラムを適用している。今回の攻撃に使われた D ソフトの脆弱性に対する修正プログラムは既に適用されていた。A 社では,今回のニュースを契機に,DNS におけるリスクと対策の検討を,M 主任を中心に行うことにした。

〔リスクと対策の検討〕

M 主任は,まず,①A 社の外部 DNS サーバがサービス停止になった場合の影響を確認した。次に,外部 DNS サーバが攻撃を受けるリスク及び外部 DNS サーバにおけるその他のリスクを調査し,外部 DNS サーバが攻撃を受けるリスクについて,主なものを三つ挙げた。

一つ目のリスクは,踏み台になるリスクである。表1及び表2の構成では,攻撃者は,②送信元の IP アドレスを偽装した名前解決要求を外部 DNS サーバに送ることによって,外部 DNS サーバを踏み台とし,攻撃対象となる第三者のサーバに対し大量の DNS パケットを送り付けるという DoS 攻撃を行える。そこで,外部 DNS サーバを廃止した上で,DNS-K と DNS-F という DNS サーバを DMZ 上に新設し,権威 DNS サーバの機能を DNS-K に,フルサービスリゾルバの機能を DNS-F に移行することを考えた。これと併せて,FW のフィルタリングルールを表3のように変更することで一つ目のリスクへの対策となる。

項番,送信元,宛先,サービス,動作の5列の表。項番5:送信元[ a ],宛先 インターネット,サービス DNS,動作 許可。項番6:送信元 インターネット,宛先[ b ],サービス DNS,動作 許可。注記:項番5,6以外は,表2と同一である。
表3 変更後の FW のフィルタリングルール

二つ目のリスクは,DNS キャッシュポイズニング攻撃によるリソースレコードの改ざんのリスクである。DNS キャッシュポイズニング攻撃が成功すると,攻撃対象のフルサービスリゾルバが管理するリソースレコードのうち,メールサーバの c レコードの IP アドレスが,例えば攻撃者のメールサーバのものに書き換えられてしまい,電子メールが攻撃者のサーバに送信されてしまう。この攻撃への対策として,M 主任は,三つの対策を考えた。一つ目の対策は,一つ目のリスクへの対策を流用することである。二つ目の対策は,送信元ポート番号を d する対策である。D ソフトでも可能である。三つ目の対策は,e という技術の利用である。この技術は,DNS サーバから受け取るリソースレコードに付与されたディジタル署名を利用して,リソースレコードの送信者の正当性とデータの完全性を検証するものである。ただし,この技術は,運用として,鍵の管理など新たな作業が必要になる。

三つ目のリスクは,中間者攻撃による DNS 通信内容の盗聴,改ざんのリスクである。この対策の一つとして,DNS 通信を暗号化する DNS over TLS(以下,DoT という)という技術が標準化されている。DoT は,f と g 間の通信を暗号化するために開発されたものである。

これらの調査と検討を踏まえ,M 主任は,外部 DNS サーバが攻撃を受けるリスク,外部 DNS サーバの機能を 2 台の DNS サーバに移行する対策案,及び送信元ポート番号を d する対策案を L 部長に報告した。

〔ホスティングサービス上に新設する DNS サーバの利用〕

M 主任は,外部 DNS サーバにおけるその他のリスクへの対策として,外部のホスティングサービス上に DNS サーバを新設して利用することを検討した。

M 主任は,DNS サーバの構成について,二つの案を考えた。

一つ目の案は,外部 DNS サーバを廃止した上で,DNS-K と DNS-F という DNS サーバを DMZ 上に,DNS-S という DNS サーバを X 社のホスティングサービス上に新設し,③プライマリの権威 DNS サーバの機能を DNS-K に,セカンダリの権威 DNS サーバの機能を DNS-S に移行し,フルサービスリゾルバの機能を DNS-F に移行するものである。M 主任は,DNS-K と DNS-S のゾーン情報を同期するために,DNS-K でのゾーン転送の内容を示す設定ファイル,正引きゾーンファイル,逆引きゾーンファイルを設定することにした。M 主任が設定することにした DNS-K の正引きゾーンファイルを図2に示す。

なお,X 社のホスティングサービスに用いるドメイン名は x-sha.co.jp,DNS-S のホスト名は dns-s である。

ゾーンファイルの枠。1行目:@ IN SOA dns-k.a-sha.co.jp. admin.dns-k.a-sha.co.jp. (。(省略)。)。IN NS dns-k.a-sha.co.jp.。IN NS [ h ]。IN MX 10 [ i ]。dns-k IN A x1.y1.z1.t1。www IN A x1.y1.z1.t2。mail IN A x1.y1.z1.t3。
図2 DNS-K の正引きゾーンファイル(抜粋)

DNS-K のホスト名は dns-k,公開 Web サーバのホスト名は www,メールサーバのホスト名は mail であり,各サーバの IP アドレスは x1.y1.z1.t1~x1.y1.z1.t3 である。

ゾーン転送では,ゾーン情報が流出するリスクがある。M 主任は,この対策として,DNS-K と DNS-S について,ゾーン転送要求に対する許可を必要最小限にするために,表4の設定にすることにした。

行がゾーン転送要求元,列がゾーン転送要求先(DNS-K,DNS-S)の表。要求元 DNS-K:要求先 DNS-K は斜線(該当なし),要求先 DNS-S は[ j ]。要求元 DNS-S:要求先 DNS-K は[ k ],要求先 DNS-S は斜線(該当なし)。要求元 上記以外の IP アドレス:要求先 DNS-K は[ l ],要求先 DNS-S は[ m ]。
表4 ゾーン転送要求に対する許可を必要最小限にするための設定

二つ目の案は,外部 DNS サーバを廃止した上で,DNS-HK,DNS-S,DNS-HF という DNS サーバを X 社のホスティングサービス上に新設し,プライマリの権威 DNS サーバの機能を DNS-HK に,セカンダリの権威 DNS サーバの機能を DNS-S に,フルサービスリゾルバの機能を DNS-HF に移行するものである。DNS-K と DNS-F の DMZ への設置は実施しない。この案の場合,FW のフィルタリングルールを表5のように変更する必要がある。

項番,送信元,宛先,サービス,動作の5列の表。項番5:送信元[ n ],宛先[ o ],サービス DNS,動作 許可。項番6:送信元[ p ],宛先[ o ],サービス DNS,動作 許可。注記:項番5,6以外は,表2と同一である。
表5 二つ目の案の場合の FW のフィルタリングルール

その後,A 社では,更に検討を進め,外部 DNS サーバを X 社のホスティングサービスに移行することにした。

出題趣旨(IPA)

昨今,DoS攻撃を始めとするサイバー攻撃は増加しており,DNSを含めたネットワークのセキュリティの重要性が増している。一方で,DNSサーバには,まだ適切に対策が施されていないものも多く,サイバー攻撃を受けるケースが増えている。本問では,ネットワークのセキュリティ対策を題材に,DNSのセキュリティ対策における基本的な知識,及びDNSを適切に設計する能力を問う。

採点講評(問全体・IPA)

問2では,ネットワークのセキュリティ対策を題材に,DNSのセキュリティ対策について出題した。全体として正答率は平均的であった。

設問と解答例

設問1(1) 30字以内

本文中の下線①について,A 社の公開 Web サーバへの影響を,30 字以内で述べよ。

解答例

  • A社公開Webサーバの名前解決ができなくなる。
解説

本文の根拠

表1 外部 DNS サーバ

A 社ドメインの権威 DNS サーバ及び再帰的な名前解決を行うフルサービスリゾルバ

表1 公開 Web サーバ

消費者向けの商品の宣伝に使用されている。

外部 DNS サーバは,A 社ドメイン(a-sha.co.jp)の権威 DNS サーバである。権威 DNS サーバが止まると,インターネット側の利用者が公開 Web サーバのホスト名(www.a-sha.co.jp など)から IP アドレスを引けなくなる。公開 Web サーバ自体は動いていても,名前では到達できないので,消費者向けの商品の宣伝という用途が果たせない。したがって影響は“A 社公開 Web サーバの名前解決ができなくなる”ことである。

外部 DNS サーバは,PC のプロキシサーバが使うフルサービスリゾルバも兼ねているので,止まるとインターネット上の Web サーバの名前解決もできなくなる(表1の注記2)。ただし,この設問が問うのは“A 社の公開 Web サーバへの影響”なので,権威 DNS サーバとしての影響を書く。

30 字以内なので,“公開 Web サーバの名前解決ができなくなる”のように,対象(公開 Web サーバ)と結果(名前解決不可)を書く(解答例は 23 字)。

設問1(2) 20字以内

本文中の下線②の攻撃の名称を 20 字以内で答えよ。

解答例

  • DNSリフレクション攻撃
解説

本文の根拠

〔リスクと対策の検討〕

送信元の IP アドレスを偽装した名前解決要求を外部 DNS サーバに送ることによって,外部 DNS サーバを踏み台とし,攻撃対象となる第三者のサーバに対し大量の DNS パケットを送り付けるという DoS 攻撃

表2 項番6

項番6:インターネット,外部 DNS サーバ,DNS,許可。

送信元 IP アドレスを攻撃対象のものに偽装した問い合わせを DNS サーバに送ると,DNS サーバは応答を攻撃対象に返す。応答が問い合わせより大きければ,少ない通信量で攻撃対象に大量のパケットを送り付けられる。DNS サーバを“反射板”のように使うこの攻撃の名称が“DNSリフレクション攻撃”である(応答が大きくなることを使う場合は DNS アンプ攻撃とも呼ぶ)。

表2の項番6は,インターネットから外部 DNS サーバへの DNS を無条件で許可している。外部 DNS サーバは,権威 DNS サーバであるだけでなく,再帰的な名前解決も行うので,インターネットの誰からの問い合わせにも再帰的に答える構成になり,攻撃者がこの経路を使えてしまう。

20 字以内なので,“DNSリフレクション攻撃”(解答例は 12 字)と名称だけを書く。

設問1(3) 解答欄2つ

表3中の a ,b に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア DNS-F イ DNS-K ウ PC エ 内部 DNS サーバ オ プロキシサーバ カ メールサーバ

〔a〕解答例

  • ア

〔b〕解答例

  • イ
解説

本文の根拠

〔リスクと対策の検討〕

DNS-K と DNS-F という DNS サーバを DMZ 上に新設し,権威 DNS サーバの機能を DNS-K に,フルサービスリゾルバの機能を DNS-F に移行することを考えた。

表3

項番5:送信元a,宛先 インターネット,サービス DNS,動作 許可。項番6:送信元 インターネット,宛先b,サービス DNS,動作 許可。

項番5は“送信元が a,宛先がインターネット”で,内部のサーバが外部へ DNS の問い合わせを出す通信を許可する。これを出すのはフルサービスリゾルバの DNS-F なので a はア。項番6は“送信元がインターネット,宛先が b”で,外部の利用者が A 社の名前を引きに来る通信を許可する。これを受けるのは権威 DNS サーバの DNS-K なので b はイ。

こうすると,インターネットからの問い合わせを受けられるのは権威 DNS サーバの DNS-K だけになる。再帰的な名前解決を行う DNS-F にはインターネットから問い合わせが届かないので,攻撃者が DNS-F を踏み台にすることができない(一つ目のリスクへの対策)。DNS-F の問い合わせの応答は,ステートフルパケットインスペクション型の FW が戻りの通信として通す。

記号で答える設問なので字数の制約はない。機能の対応(権威 DNS サーバ=DNS-K,フルサービスリゾルバ=DNS-F)を先に確認する。

設問1(4) 6字以内 解答欄1つ

本文中の c に入れる DNS のリソースレコードのタイプ名を 6 字以内で答えよ。

〔c〕解答例

  • A
解説

本文の根拠

〔リスクと対策の検討〕

メールサーバの c レコードの IP アドレスが,例えば攻撃者のメールサーバのものに書き換えられてしまい,電子メールが攻撃者のサーバに送信されてしまう。

図2

mail IN A x1.y1.z1.t3

ホスト名に対応する IP アドレスを持つリソースレコードは A レコードである。図2でも,mail(メールサーバ)の IP アドレスは“mail IN A x1.y1.z1.t3”という A レコードで定義されている。キャッシュポイズニング攻撃でこの IP アドレスが攻撃者のメールサーバのものに書き換えられると,メールサーバの名前を引いた送信元の MTA が,攻撃者のサーバにメールを送ってしまう。

MX レコードは,メールの宛先ドメインに対する配送先のホスト名と優先度を示すもので,IP アドレスは持たない(図2の“IN MX 10 i”)。本文は“IP アドレスが書き換えられる”と言っているので,MX ではなく A である。採点講評が,攻撃や DNS の仕組みの理解を求めているのは,この区別である。

6 字以内の指定に対し,タイプ名は“A”(1 字)である。

採点講評(IPA)

設問1(4)は,正答率が低かった。DNSに対する攻撃の仕組みやDNSの仕組みをよく理解してほしい。

設問1(5) 15字以内 解答欄1つ

本文中の d に入れる適切な字句を 15 字以内で答えよ。

〔d〕解答例

  • ランダム化
解説

本文の根拠

〔リスクと対策の検討〕

二つ目の対策は,送信元ポート番号を d する対策である。D ソフトでも可能である。

DNS キャッシュポイズニング攻撃では,攻撃者は,フルサービスリゾルバが外部へ出した問い合わせに先回りして,偽の応答を返そうとする。偽の応答が受け入れられるには,問い合わせのトランザクション ID(16 ビット)と送信元ポート番号が合っている必要がある。RFC 5452 は,送信元ポートを予測できない値にする(ランダム化する)ことで,トランザクション ID の 16 ビットを超えて推測の難しさを高めることを推奨している。したがって d は“ランダム化”である。

この対策は,DNS サーバ(リゾルバ)側の設定で行うので D ソフトでも可能である。“固定”“変更”のように,固定の逆を言うだけの答えでは,何をするのかが曖昧になる。

15 字以内なので,“ランダム化”(5 字)と書く。“ランダムに選択”のような言い方も同じ意味だが,空欄の前後(“送信元ポート番号をdする”)に自然につながる語にする。

設問1(6) 10字以内 解答欄1つ

本文中の e に入れる技術の名称を英字 10 字以内で答えよ。

〔e〕解答例

  • DNSSEC
解説

本文の根拠

〔リスクと対策の検討〕

この技術は,DNS サーバから受け取るリソースレコードに付与されたディジタル署名を利用して,リソースレコードの送信者の正当性とデータの完全性を検証するものである。

DNS の応答に電子署名を付け,リゾルバが署名を検証して,データの出どころ(正当性)と改ざんされていないこと(完全性)を確かめる技術は DNSSEC である(RFC 4033 は,DNS データの出どころの認証とデータの完全性の保護を提供するが,機密性は提供しないと述べている)。署名の検証に使う鍵の管理が必要になるので,本文の“鍵の管理など新たな作業が必要になる”とも合う。

DoT(三つ目のリスクの対策)は通信を暗号化するので,通信内容の盗聴を防げるが,DNSSEC はデータの正当性と完全性を検証する別の技術である。ここでは“ディジタル署名”とあるので DNSSEC を選ぶ。

英字 10 字以内なので,“DNSSEC”(6 字)と書く。“DNS Security Extensions”のような正式名称は 10 字を超える。

設問1(7) 解答欄2つ

本文中の f ,g に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア DNS Changer イ RADIUS クライアント ウ RADIUS サーバ エ 権威 DNS サーバ オ スタブリゾルバ カ フルサービスリゾルバ

〔f〕解答例

  • オ

〔g〕解答例

  • カ

〔備考〕順不同

解説

本文の根拠

〔リスクと対策の検討〕

DoT は,f と g 間の通信を暗号化するために開発されたものである。

表1 注

フルサービスリゾルバとしては,プロキシサーバとメールサーバが使用している。

DNS over TLS(RFC 7858)は,スタブリゾルバ(クライアント側の DNS の問い合わせ機能)と再帰的なリゾルバ(フルサービスリゾルバ)の間の通信を暗号化するものである。RFC は,スタブリゾルバと再帰サーバの間の通信が対象であり,再帰サーバと権威サーバの間の利用は DPRIVE ワーキンググループの対象外としている。この問題では,プロキシサーバやメールサーバがスタブリゾルバとして,フルサービスリゾルバ(DNS-F など)に問い合わせる。f,g はオ(スタブリゾルバ)とカ(フルサービスリゾルバ)で,順不同である。

権威 DNS サーバ(エ)は,フルサービスリゾルバからの問い合わせに答える側なので,DoT の対象にはならない。DNS Changer(ア)は DNS の設定を書き換えるマルウェアの名前,RADIUS クライアント・サーバ(イ・ウ)は認証・認可のプロトコルで,DNS の通信ではない。採点講評は,DoT の仕組みの理解を求めている。

記号で答える設問なので字数の制約はない。“どの二者間を暗号化するか”は,どちらが問い合わせ側でどちらが答える側かで考える。

採点講評(IPA)

設問1(7)は,正答率が低かった。DNS通信を暗号化するDNS over TLSは,DNSのセキュリティ対策にとって重要な技術の一つである。この仕組みを学習してほしい。

設問2(1) 30字以内

本文中の下線③を実施することによって低減できるリスクを 30 字以内で具体的に述べよ。

解答例

  • 権威DNSサーバがサービス停止になるリスク
解説

本文の根拠

〔ホスティングサービス上に新設する DNS サーバの利用〕

プライマリの権威 DNS サーバの機能を DNS-K に,セカンダリの権威 DNS サーバの機能を DNS-S に移行し

〔ホスティングサービス上に新設する DNS サーバの利用〕

外部のホスティングサービス上に DNS サーバを新設して利用することを検討した。

下線③は,権威 DNS サーバの機能を,A 社の DMZ にあるプライマリ(DNS-K)と,X 社のホスティングサービス上にあるセカンダリ(DNS-S)に分け,ゾーン情報を同期させる構成である。DNS-K が止まっても,A 社のネットワークとは別の場所にある DNS-S が A 社ドメインの名前解決に答え続けられる。したがって,低減できるのは“権威DNSサーバがサービス停止になるリスク”である。

設問1(1)で見たとおり,権威 DNS サーバが止まると公開 Web サーバの名前解決ができなくなる。一つの権威 DNS サーバだったときに残っていた単一障害点を,二つ目の権威 DNS サーバを別の場所に置くことで取り除いている。採点講評は,ホスティングサービス上に新設した後のシステム構成を正しく理解した解答が多かったとしている。

30 字以内なので,“権威DNSサーバがサービス停止になるリスク”(解答例は 21 字)のように,対象(権威 DNS サーバ)と起きること(サービス停止)を書く。

採点講評(IPA)

設問2(1)は,正答率がやや高かった。DNSサーバをホスティングサービス上に新設した後のシステム構成について正しく理解した上で解答できていたと思われる。

設問2(2) 解答欄2つ

図2中の h ,i に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア dns-k. イ dns-k.a-sha.co.jp. ウ dns-k.x-sha.co.jp. エ dns-s. オ dns-s.a-sha.co.jp. カ dns-s.x-sha.co.jp. キ mail. ク mail.a-sha.co.jp. ケ mail.x-sha.co.jp.

〔h〕解答例

  • カ

〔i〕解答例

  • ク
解説

本文の根拠

〔ホスティングサービス上に新設する DNS サーバの利用〕

なお,X 社のホスティングサービスに用いるドメイン名は x-sha.co.jp,DNS-S のホスト名は dns-s である。

図2

IN NS dns-k.a-sha.co.jp.。IN NS h。IN MX 10 i。

〔ホスティングサービス上に新設する DNS サーバの利用〕

メールサーバのホスト名は mail であり

h は,A 社ドメインの権威 DNS サーバとして,二つ目の NS レコードに書くセカンダリの DNS-S の名前で,ホスティングサービスのドメイン x-sha.co.jp にあるので“dns-s.x-sha.co.jp.”(カ)である。i は MX レコードのメールサーバの名前で,A 社のドメインにある“mail.a-sha.co.jp.”(ク)である。

ゾーンファイルでは,末尾に“.”の無いドメイン名は,ゾーンの起点(この場合 a-sha.co.jp)を付けた名前になる(RFC 1035 の 5.1:末尾にドットの無い名前は相対名で,origin を連結する)。したがって“dns-s.”や“mail.”のように末尾に“.”だけを付けた(エ・キ)は,ルート直下の名前になって誤り。a-sha.co.jp ドメインの外にある DNS-S の名前は FQDN(末尾に“.”)で完全に書く必要がある。(ア)・(イ)・(ウ)は DNS-K の名前で,DNS-S ではない。DNS-S は x-sha.co.jp にあるので(オ)は不適当,メールサーバは A 社のドメインにあるので(ケ)も不適当である。

記号で答える設問なので字数の制約はない。末尾の“.”の有無と,ドメイン(a-sha.co.jp か x-sha.co.jp か)の二点で選択肢を絞る。

設問2(3) 解答欄4つ

表4中の j ~ m に入れる適切な内容を,“許可”又は“拒否”のいずれかで答えよ。

〔j〕解答例

  • 拒否

〔k〕解答例

  • 許可

〔l〕解答例

  • 拒否

〔m〕解答例

  • 拒否
解説

本文の根拠

〔ホスティングサービス上に新設する DNS サーバの利用〕

ゾーン転送では,ゾーン情報が流出するリスクがある。

〔ホスティングサービス上に新設する DNS サーバの利用〕

DNS-K と DNS-S について,ゾーン転送要求に対する許可を必要最小限にするために,表4の設定にすることにした。

表4

要求元 DNS-S:要求先 DNS-K はk,要求先 DNS-S は斜線(該当なし)。

ゾーン転送は,セカンダリがプライマリからゾーン情報を取得して同期する仕組みである(RFC 1035 の 2.2 も,セカンダリサーバがプライマリサーバからゾーンを取得すると述べている)。DNS-K がプライマリ,DNS-S がセカンダリなので,必要なのは“DNS-S から DNS-K への転送要求”だけである。したがって k(要求元 DNS-S,要求先 DNS-K)は許可,j(要求元 DNS-K,要求先 DNS-S)は不要で拒否。l と m(上記以外の IP アドレスからの要求)は,ゾーン情報の流出を防ぐために拒否である。

採点講評は,j~m を全て正解した解答は少なかったとしている。“DNS-K と DNS-S の間なら双方向に許可”としてしまうと,j を許可にする誤りになる。ゾーン情報が流れるのはプライマリからセカンダリへの一方向だけである。

“許可”又は“拒否”で答える設問なので字数の制約はない。表の行が要求元,列が要求先であることを取り違えないようにする。

採点講評(IPA)

設問2(3)は,正答率がやや高かったが,j~m全てが正答となる解答は少なかった。ゾーン転送要求に対する許可を必要最小限にするためには,どのようなアクセス制御にすればよいかを,ゾーン情報の流れを理解した上で考えるようにしてほしい。

設問2(4) 解答欄3つ

表5中の n ~ p に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア DNS-HF イ DNS-S ウ PC エ 公開 Web サーバ オ プロキシサーバ カ メールサーバ

〔n〕解答例

  • オ

〔o〕解答例

  • ア

〔p〕解答例

  • カ

〔備考〕nとpは順不同

解説

本文の根拠

〔ホスティングサービス上に新設する DNS サーバの利用〕

プライマリの権威 DNS サーバの機能を DNS-HK に,セカンダリの権威 DNS サーバの機能を DNS-S に,フルサービスリゾルバの機能を DNS-HF に移行するものである。

表1 注

フルサービスリゾルバとしては,プロキシサーバとメールサーバが使用している。

表5

項番5:送信元n,宛先o,サービス DNS,動作 許可。項番6:送信元p,宛先o,サービス DNS,動作 許可。

二つ目の案では,フルサービスリゾルバは DNS-HF として X 社のホスティングサービス上に置かれ,DMZ には DNS サーバがなくなる。A 社内でフルサービスリゾルバを使うのは,プロキシサーバとメールサーバである。この 2 台が DNS-HF(宛先 o)に DNS の問い合わせを出す通信を,FW で許可する必要がある。したがって,o はア(DNS-HF),n と p はオ(プロキシサーバ)とカ(メールサーバ)で,この 2 つは順不同である。

PC はプロキシサーバ経由で名前解決をするので,DNS-HF へ直接問い合わせる必要がなく,ウ(PC)は入らない。DNS-S(イ)は権威 DNS サーバなので,A 社の機器が問い合わせる先ではない。公開 Web サーバ(エ)は問い合わせる側ではない。

記号で答える設問なので字数の制約はない。“フルサービスリゾルバを使う機器はどれか”を表1の注から読み取る。

出典:令和3年度 春期 情報処理安全確保支援士試験 午後Ⅰ 問2(表記を一部改変)

問3 セキュリティ運用

セキュリティ運用に関する次の記述を読んで,設問1~4に答えよ。

G 社は,従業員 1,500 名の製造業であり,研究開発に定評がある。従業員は,Web アクセスによる情報収集並びに電子メール(以下,メールという)による営業活動及び情報交換にインターネットを利用している。G 社では,情報セキュリティポリシを整備して運用している。G 社のシステム構成を図1に,機器及びソフトウェアの概要を表1に,OS の脆弱性修正プログラム(以下,セキュリティパッチという)の現状の配信手順を図2に示す。

凡例:EDR は Endpoint Detection & Response,FW はファイアウォール,L2SW はレイヤ2スイッチ,L3SW はレイヤ3スイッチ。インターネットが FW につながり,FW の下に L3SW が縦に並ぶ(以上は G 社の枠内)。FW の右側は DMZ で,FW は L2SW1 につながり,L2SW1 に外部メールサーバ,外部 DNS サーバ,プロキシサーバがつながる。L3SW の右側は2つの LAN で,利用者 LAN は L2SW2 に複数の PC がつながり,検証 LAN は L2SW3 に複数の PC がつながる。L3SW の左側は内部システム LAN で,L2SW4 に資産管理サーバ,ログ蓄積サーバ,EDR 管理サーバ,内部メールサーバ,内部 DNS サーバ,業務サーバ,配信サーバがつながる。注記1:全ての PC 及びサーバには,固定 IP アドレスが割り当てられており,PC には,EDR のエージェントプログラム(以下,エージェントという)が導入されている。注記2:G 社の情報システム部(以下,情シ部という)以外の従業員には,PC の管理者権限を付与していない。
図1 G 社のシステム構成(概要)
機器及びソフトウェアと概要の2列の表。FW:・ステートフルパケットインスペクション型である。・フィルタリングルールをもち,送信元 IP アドレス,宛先 IP アドレス,ポートによって通信の許可と拒否を制御する。・パケットの送信元 IP アドレス,宛先 IP アドレス,ポート,データサイズと FW の動作を日時とともに FW のログとして取得し,ログ蓄積サーバに syslog で送信する。・インターネットとの間の通信を許可しているのは DMZ だけである。(次ページに続く)
表1 G 社の機器及びソフトウェアの概要(抜粋)
機器及びソフトウェアと概要の2列の表。配信サーバ:・セキュリティパッチの適用及びソフトウェアの更新を管理する。・セキュリティパッチ及び更新用のソフトウェアを取得し配信する。・各 PC は,セキュリティパッチを OS ベンダのサイトから直接ダウンロードするのではなく,配信サーバからダウンロードする。資産管理サーバ:・エージェントから情報を受け取り,ソフトウェアの資産管理を行う。・Wake on LAN(以下,WoL という)の起動パケットを送信する機能をもつ。ログ蓄積サーバ:・FW,サーバ及びエージェントから送信されるログを syslog で受信して保存する。EDR 管理サーバ:・エージェントを管理する。・社内外からマルウェアのハッシュ値を収集して登録する。エージェント:・通信,ファイルの操作などのイベントをログとして保存する。ログは直ちにログ蓄積サーバに送信されるとともに,PC にも1週間は保存される。・EDR 管理サーバで収集されたハッシュ値を基にマルウェアを検知し,検知したマルウェアの起動を抑止する。・PC 上で起動する全てのプロセスを監視する。指定した時間帯に指定したコマンドが実行された場合,EDR 管理サーバとの間の通信を除き,当該 PC の全ての通信を遮断する機能をもつ。
表1 G 社の機器及びソフトウェアの概要(抜粋)(続き)
枠の中に4項目の手順。(1) OS ベンダがセキュリティパッチをリリースした場合,情シ部のセキュリティパッチ担当者(以下,パッチ担当者という)は,そのリリースノートを確認する。(2) パッチ担当者は,セキュリティパッチを検証 LAN の PC に適用し,社内で利用しているアプリケーションプログラムを2日間動作させて[ a ]を確認する。(3) さらに,パッチ担当者は,新たな不具合の情報が公開されていないことを確認した上で,セキュリティパッチを配信サーバに置く。(4) PC は,適用すべきセキュリティパッチが配信サーバに存在するかどうかを,起動時に配信サーバに問い合わせるように設定されている。もし,適用すべきセキュリティパッチがあれば,それをダウンロードし,適用する。起動中の PC は,適用状況を配信サーバに数時間ごとに通知する。
図2 セキュリティパッチの現状の配信手順(抜粋)

〔同業他社の事例〕

ある日,情シ部の C 主任は,同業他社の H 社で発生したセキュリティインシデントの解説記事を見付けた。解説記事の要約を図3に示す。

枠の中に6項目。(1) 8月,H 社の1台の PC(以下,PC-H という)がマルウェア Q に感染していたことが分かった。(2) 各種ログから,PC-H は外部の不審なサーバに約 50M バイトのデータを送信していたことが分かった。PC-H では秘密情報が取り扱われていたことから,H 社は,秘密情報が送信された可能性が高いと判断した。(3) マルウェア Q は OS の脆弱性を悪用して感染を広げる。当該脆弱性に対するセキュリティパッチ(以下,パッチ Q という)は,5月に OS ベンダからリリースされており,H 社では6月までに,PC-H を除く全 PC に適用されていた。(4) PC-H は1月から起動されておらず,7月に PC-H を起動したときには適用すべきセキュリティパッチが多数あった。そのため,起動後,パッチ Q の適用完了までに時間が掛かり,その間にマルウェア Q に感染したと推測された。(5) 調査を外部の専門業者に依頼したが,マルウェア Q の感染調査に必要なログが一部しか取得されていなかったので調査が難航し,10月まで掛かった。(6) H 社のセキュリティ運用には問題があることが分かった。
図3 解説記事の要約

心配になった C 主任はログを調査した。その結果,1か月以上起動していない PC が 30 台あることが分かった。それらの PC をこのまま数か月起動しないでおくと,PC-H と同様の問題が発生する可能性があった。図3の内容及び G 社の状況を情シ部の B 部長に相談した上で,必要な対策を図4のようにまとめ,情シ部の D 君とともにそれぞれを具体化することにした。

枠の中に2項目。対策1:マルウェア感染を確認したときに,感染経路及び外部に流出した情報を特定するための手段の導入。対策2:社内におけるセキュリティパッチの配信手順の改善。
図4 必要な対策

〔対策1〕

C 主任は,対策1については,L2SW のミラーポートに接続するタイプのパケット収集装置を導入し,J 社の J サービスを利用して通信内容を分析すればよいと考えた。J サービスは,インターネット VPN 経由でパケット収集装置から必要なパケット情報を取得し,その内容からセキュリティ侵害を検知するサービスである。

C 主任は,1台のパケット収集装置を,①マルウェア感染が DMZ 又はどの LAN で起きてもマルウェアからインターネットへの通信が通過することになる L2SW に接続することに決めた。

〔対策2〕

次は,対策2についての D 君,C 主任及び B 部長の会話である。

D 君は,WoL の動作検証を開始した。まず,検証 LAN に接続された PC-X と PC-Y を用いて試すことにした。PC-X は起動しておき,PC-Y はシャットダウンしておいた。その上で,PC-X から PC-Y に対し,b に続けて,起動したい PC の c を 16 回繰り返したデータを含む起動パケットを送信し,PC-Y が起動することを確認した。その後,資産管理サーバから PC-Y の起動を試みたが,起動しなかった。C 主任に相談したところ,②L3SW の設定を変更する必要があるという助言を受けた。D 君は,L3SW の設定を変更し,資産管理サーバから PC-Y を起動できることを確認した。続いて,資産管理サーバから利用者 LAN に接続された PC を起動できることを確認し,セキュリティパッチが適用されることも確認した。

〔WoL を悪用するマルウェアの脅威〕

WoL について調べていた D 君は,図5に示すマルウェア R の記事を見付けた。

枠の中に記事。起動していない PC を WoL を使って夜間に起動させ,次の手順で感染拡大を試みる。(1) 感染するとすぐに,③自身が動作する PC の ARP テーブルから下記(2)及び(4)の活動に必要な情報を読み取って保持しておく。(2) 夜間に ARP テーブル中の PC 全てに ping コマンドを送信し,PC が起動しているかどうかを確認する。(3) 起動している PC に感染拡大を試みる。(4) 起動していない PC を発見したら,WoL を使ってそれらの PC を起動し,感染拡大を試みる。((1)の下線③は,「自身が動作する PC の ARP テーブルから下記(2)及び(4)の活動に必要な情報を読み取って保持しておく」に付いている)
図5 マルウェア R の記事(抜粋)

D 君は,昼間は PC が不審な振る舞いをすれば発見し対処できる可能性があるが,夜間は多くの従業員が不在となり発見することは難しいと考えた。そこで,マルウェア R に限らない,WoL を悪用するマルウェアへの対策について,C 主任に相談した。

C 主任は,PC が夜間に不審な振る舞いをしたときに,当該 PC をネットワークから隔離するという対策(以下,対策3という)を助言した。D 君は,④対策3を G 社で導入済のシステムを用いて実現する方法を立案した。対策3は対策1及び対策2と併せて承認された。各対策は運用を開始し,マルウェア対策が強化された。

出題趣旨(IPA)

昨今,OSやアプリケーションプログラムの脆弱性を悪用するマルウェアや攻撃が増加しており,より迅速に脆弱性対応をすることが求められるようになってきている。対策の基本は,脆弱性修正プログラムを適用することである。しかし,大規模なシステムにおいては,脆弱性修正プログラムを適用することも,脆弱性修正プログラムを適用したときに副作用がないかを短期間に確認することも簡単ではない。本問では,セキュリティ運用を題材に,組織に適した脆弱性修正プログラムの配信手順及び関連知識について問う。

採点講評(問全体・IPA)

問3では,セキュリティ運用を題材に,脆弱性修正プログラムの,組織に適した配信手順及び関連知識について出題した。全体として正答率は平均的であった。

設問と解答例

設問1 20字以内 解答欄1つ

図2中の a に入れる適切な字句を 20 字以内で具体的に答えよ。

〔a〕解答例

  • PCの動作に問題がないこと
解説

本文の根拠

図2 (2)

パッチ担当者は,セキュリティパッチを検証 LAN の PC に適用し,社内で利用しているアプリケーションプログラムを2日間動作させてaを確認する。

図2 (3)

新たな不具合の情報が公開されていないことを確認した上で,セキュリティパッチを配信サーバに置く。

セキュリティパッチは,適用すると既存のアプリケーションが動かなくなるなどの副作用が出ることがある。そこで,全 PC に配信する前に,検証 LAN の PC に適用して,社内で使っているアプリケーションを 2 日間動作させ,問題が出ないことを確かめる。この検証の目的は“PCの動作に問題がないこと”の確認である。

手順(3)で“新たな不具合の情報が公開されていない”ことを確かめるのは,自社の検証では見つからない不具合を,公開情報で補うためである。a は自社の環境での確認なので,“アプリケーションが正常に動作すること”のように,社内の検証で確かめられる内容を書く。採点講評は,パッチを組織内に展開する前にすべきことを正しく理解していたとして,正答率がやや高かったとしている。

20 字以内なので,“PCの動作に問題がないこと”(解答例は 13 字)のように,何について(PC の動作)・どうなっていることを確認するか(問題がない)を書く。

採点講評(IPA)

設問1は,正答率がやや高かった。脆弱性修正プログラムを組織内に展開する前にすべきことを正しく理解していたと思われる。

設問2

本文中の下線①の L2SW を,図1中の L2SW1~L2SW4 から選び,答えよ。

解答例

  • L2SW1
解説

本文の根拠

表1 FW

インターネットとの間の通信を許可しているのは DMZ だけである。

図1

FW は L2SW1 につながり,L2SW1 に外部メールサーバ,外部 DNS サーバ,プロキシサーバがつながる。

〔対策1〕

マルウェア感染が DMZ 又はどの LAN で起きてもマルウェアからインターネットへの通信が通過することになる L2SW

G 社でインターネットとの間の通信を許可されているのは DMZ だけである。内部システム LAN・利用者 LAN・検証 LAN の PC やサーバがマルウェアに感染して外部と通信するときは,DMZ のプロキシサーバや外部メールサーバなどを経由し,DMZ の機器と FW の間にある L2SW1 を通る。DMZ の機器が感染した場合も,DMZ の機器から FW までの経路に L2SW1 が含まれる。したがって,どこで感染が起きても外部への通信が通過する L2SW は L2SW1 である。

L2SW2 は利用者 LAN,L2SW3 は検証 LAN,L2SW4 は内部システム LAN の機器だけをつなぐので,そこで感染しても DMZ で起きた感染の通信を見られない。1 台のパケット収集装置で全てを見るために,インターネットとの境界である FW に最も近い L2SW1 のミラーポートに接続する。

図1から答える設問で,字数の制約はない。“L2SW1”と書く。

設問3(1) 解答欄1つ

本文中の b に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア 00:00:00:00:00:00 イ 00:00:00:FF:FF:FF ウ 00:FF:00:FF:00:FF エ FF:FF:FF:FF:FF:FF

〔b〕解答例

  • エ
解説

本文の根拠

〔対策2〕

PC-X から PC-Y に対し,b に続けて,起動したい PC の c を 16 回繰り返したデータを含む起動パケットを送信し

〔対策2〕

WoL とは,WoL に対応した PC に対し,特定の起動パケットを送信すると,当該 PC が起動するという仕組みです。

本文の起動パケットは,b の後に,起動したい PC の識別情報を 16 回繰り返す形をしている。WoL の起動パケット(マジックパケット)は,同期用に全ビットが 1 のバイト列(FF)を並べ,そのあとに対象の NIC の MAC アドレスを繰り返す形式として知られている。FF:FF:FF:FF:FF:FF は,全ビットが 1 の MAC アドレスで,ブロードキャストに使うアドレスと同じ並びである。したがって b は,この FF の並びに当たるエである。

アの全て 0,イの先頭 3 バイトだけ 00 のもの,ウの 00 と FF を交互に並べたものは,いずれも全ビットが 1 のバイト列ではないので,同期用のデータにならない。

記号で答える設問なので字数の制約はない。“FF が 6 バイト並ぶもの”を選ぶ。

設問3(2) 解答欄1つ

本文中の c に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア IP アドレス イ MAC アドレス ウ 製造番号 エ プロダクト ID オ ホスト名

〔c〕解答例

  • イ
解説

本文の根拠

〔対策2〕

起動したい PC の c を 16 回繰り返したデータを含む起動パケット

表1 資産管理サーバ

Wake on LAN(以下,WoL という)の起動パケットを送信する機能をもつ。

WoL の対象は,電源が切れている PC である。電源が切れている間は,OS が動いていないので IP アドレスを使った通信は処理されず,NIC が受けた起動パケットの中の自分の MAC アドレスの並びを見て起動する。そのため,起動パケットに繰り返し入れるのは,起動したい PC の MAC アドレス(イ)である。

設問4(1)で扱う図5のマルウェアも,ARP テーブルから“起動していない PC の MAC アドレス”を読み取って,WoL の起動パケットを作る。IP アドレス(ア)は,起動した後の通信に必要な情報で,起動パケットには入れない。製造番号・プロダクト ID・ホスト名は,NIC の識別には使われない。

記号で答える設問なので字数の制約はない。“電源が切れている機器を,NIC のアドレスで起こす”という WoL の仕組みから選ぶ。

設問3(3) 30字以内

本文中の下線②に示す設定変更の内容を,30 字以内で具体的に述べよ。

解答例

  • 起動パケットを他のセグメントに転送するように変更する。
解説

本文の根拠

〔対策2〕

その後,資産管理サーバから PC-Y の起動を試みたが,起動しなかった。

図1

L3SW の左側は内部システム LAN で,L2SW4 に資産管理サーバ,ログ蓄積サーバ,EDR 管理サーバ,内部メールサーバ,内部 DNS サーバ,業務サーバ,配信サーバがつながる。

図1

検証 LAN は L2SW3 に複数の PC がつながる。

PC-X から PC-Y の起動は,同じ検証 LAN の中だったので成功した。資産管理サーバは内部システム LAN にあり,L3SW を越えて検証 LAN の PC-Y に起動パケットを届ける必要がある。WoL の起動パケットはブロードキャストで送られるのが一般的で,ブロードキャストは,ルータや L3 スイッチでは,既定では別のセグメントに転送されない(RFC 919 は,制限ブロードキャストは“転送してはならない”と定めている)。そのため,L3SW に,起動パケットを他のセグメントへ転送するよう設定を変更する必要がある。

採点講評は,WoL の制限事項とその解決方法を導けていない解答が多かったとしている。“L3SW の設定を変更する”という本文の記述だけでなく,“何を”“どこへ”転送するかまで書く。“資産管理サーバの IP アドレスを許可する”のような,通信制御の話にするのは違う。実際の設定項目の名称は機器によって異なる。

30 字以内なので,“起動パケットを他のセグメントに転送するように変更する”(解答例は 27 字)のように,対象(起動パケット)と動作(他のセグメントへ転送)を書く。

採点講評(IPA)

設問3(3)は,正答率が低かった。WoLの制限事項とその制限に対する解決方法について正しく導き出せていない解答が多かった。セキュリティ対策を講じる中でシステムやネットワークの構成による制限に直面した場合,その制限を解決するためには,要因となる仕組みを理解しておく必要がある。WoLの仕組みを理解するとともに,その仕組みに起因する制限事項についても理解を深めてほしい。

設問4(1) 解答欄2つ

図5中の下線③について,(2)の活動に必要な情報及び(4)の活動に必要な情報を,それぞれ 10 字以内で答えよ。

〔(2)の活動に必要な情報〕解答例

  • IPアドレス

〔(4)の活動に必要な情報〕解答例

  • MACアドレス
解説

本文の根拠

図5 (2)

夜間に ARP テーブル中の PC 全てに ping コマンドを送信し,PC が起動しているかどうかを確認する。

図5 (4)

起動していない PC を発見したら,WoL を使ってそれらの PC を起動し,感染拡大を試みる。

〔対策2〕

起動したい PC の c を 16 回繰り返したデータを含む起動パケット

ARP テーブルは,同じセグメントの機器の IP アドレスと MAC アドレスの対応を保持している(RFC 826)。(2)は ping で PC が起動しているかを確かめる活動で,ping の宛先として必要なのは IP アドレスである。(4)は WoL で起動していない PC を起動する活動で,起動パケットに入れるのは設問3(2)で見たとおり MAC アドレスである。したがって,(2)の活動に必要な情報は“IPアドレス”,(4)の活動に必要な情報は“MACアドレス”である。

(4)で起動パケットを作るためには,ping に返事のない PC の MAC アドレスを,感染直後に ARP テーブルから読み取って保持しておく必要がある。(1)の“感染するとすぐに”が,ここに効いている。

10 字以内の指定に対し,“IPアドレス”(6 字)と“MACアドレス”(7 字)で足りる。

設問4(2) 55字以内

本文中の下線④の方法を,55 字以内で具体的に述べよ。

解答例

  • エージェントによって,夜間にarpコマンドの実行を検知したら,当該PCをネットワークから隔離する。
解説

本文の根拠

表1 エージェント

指定した時間帯に指定したコマンドが実行された場合,EDR 管理サーバとの間の通信を除き,当該 PC の全ての通信を遮断する機能をもつ。

〔WoL を悪用するマルウェアの脅威〕

C 主任は,PC が夜間に不審な振る舞いをしたときに,当該 PC をネットワークから隔離するという対策(以下,対策3という)を助言した。

図5 (1)

感染するとすぐに,③自身が動作する PC の ARP テーブルから下記(2)及び(4)の活動に必要な情報を読み取って保持しておく。

対策3は,夜間に不審な振る舞いをした PC をネットワークから隔離するものである。G 社で導入済のシステムのうち,これを実現できるのはエージェント(EDR)である。エージェントは,指定した時間帯に指定したコマンドが実行された場合,EDR 管理サーバとの通信を除いて,当該 PC の全ての通信を遮断する機能をもつ。図5のマルウェアは,感染直後に ARP テーブルを読み取る(arp コマンドなどが使われる)ので,夜間の時間帯に arp コマンドが実行されたらその PC を隔離するように設定すれば,ping による調査や WoL による感染拡大の前に,通信を止められる。

採点講評は,EDR に着目した解答は多かったが,EDR を利用してどのように対策を実現するかを書いた解答は少なかったとしている。“EDR で隔離する”とだけ書くのでは足りず,“どの条件(夜間に arp コマンド)で”,“何をするか(ネットワークから隔離)”を書く。EDR 管理サーバとの通信は除外されるので,隔離後も管理サーバから対処できる。

55 字以内なので,“エージェントによって,夜間に arp コマンドの実行を検知したら,当該 PC をネットワークから隔離する”(解答例は 49 字)のように,何を使うか(エージェント)・条件(夜間に arp コマンドの実行)・動作(隔離)を順に書く。

採点講評(IPA)

設問4(2)は,正答率がやや低かった。EDRに着目した解答は多かったが,EDRを利用した上で,どのようにして対策を実現するかを記述した解答は少なかった。セキュリティ運用では,導入済のシステムを最大限に活用することが重要である。EDRなど,主要なセキュリティ製品の活用方法を理解してほしい。

出典:令和3年度 春期 情報処理安全確保支援士試験 午後Ⅰ 問3(表記を一部改変)