‹ ぱすてく

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

平成28年度 秋期 午後Ⅱ(旧試験)

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

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

この年度を解いてみる

問1 IC カードを用いた認証システム

IC カードを用いた認証システムに関する次の記述を読んで,設問 1〜4 に答えよ。

D 社は,全国でマンションの開発・メンテナンスを手掛ける中堅の不動産デベロッパである。D 社は各地域を担当する四つの子会社をもち,各子会社はそれぞれ複数の事業部門をもつ。D 社及び子会社(以下,D 社グループという)は,積極的に人材交流を行い,人材育成及び人材活用を推進している。D 社グループの構成を表 1 に示す。

会社名と役割の 2 列の表。D 社:持株会社であり,D 社グループの戦略立案を担当する。グループ人事部門,グループ財務部門,研究部門などが,それぞれ D 社グループ全体の業務を担当する。E 社:D 社の子会社であり,東日本地域の事業を担当する。F 社:D 社の子会社であり,西日本地域の事業を担当する。G 社:D 社の子会社であり,南日本地域の事業を担当する。H 社:D 社の子会社であり,北日本地域の事業を担当する。
表 1 D 社グループの構成

D 社グループの従業員(以下,グループ従業員という)には,D 社グループ内で一意となる番号(以下,グループ従業員番号という)が付与されている。また,オフィスや現場事務所の入室及び退室時に必要となる専用の IC カード(以下,入退室カードという)が貸与されている。D 社グループ各社にはそれぞれ IT 部門がある。D 社グループの全ての入退室カードは,D 社の IT 部門が管理している。各社の IT 部門は,自社従業員が利用する PC 及びネットワークを管理しており,D 社の IT 部門は,それらに加えて人事,経理などのバックオフィス系のシステムを管理している。

各事業部門は,それぞれ専用の Web システム(以下,事業用システムという)を多数運用している。D 社の子会社が実施するプロジェクトに参加する D 社グループ及び取引先のプロジェクトメンバには,必要に応じて事業用システムのアカウントが付与される。事業用システムは,今後も新しいシステムの導入や既存システムの更新が見込まれている。

〔IT 部門の統合〕

D 社では,IT による業務効率向上,コスト削減及び情報セキュリティ強化を目的に,D 社グループ各社の IT 部門を統合し,D 社内にシステム部を創設することにした。

システム部長に任命された M さんは,体制の整備とともに,D 社グループ各社のシステムに関する調査を進めた。事業用システムの多くは,利用者 ID とパスワードで利用者を認証していた。調査の結果,各事業用システムは,類似した利用者認証機能を備えており,利用者認証の統合又は共通化によって業務の効率向上が可能であることが分かった。また,事業用システムの多くは TLS を利用していた。このうち,社内向け事業用システムでは,D 社グループ各社が個別にプライベート認証局を準備し,サーバ証明書を発行していた。事業用システムの利用者認証には,次の問題点があることが分かった。

〔新システムの導入〕

議論の結果,システム部が汎用的な利用者認証の仕組み(以下,共通サービスという)を構築し,各事業用システムに提供することが最善と判断された。各事業用システムは,今後,既存の利用者認証機能の代わりに,共通サービスを利用する。

共通サービスでは,利用者 ID とパスワードに代えて,新規に発行する IC カード(以下,認証カードという)を利用者認証に利用する。利用者は,PC に接続されたカードリーダに認証カードを挿入することで,事業用システムにログインする。

システム部は,共通サービスを提供するために,認証カードの発行機能と認証局の機能を備えた新システム(以下,J システムという)を導入することにし,J システムの基本要件を図 1 のとおりに整理した。

枠で囲んだ 7 項目の箇条書き。・事業用システムに対して,利用者認証の仕組みを提供する。事業用システムにおける利用者の権限については,J システムで取り扱わない。・利用者認証の対象者(以下,認証対象者という)は,業務上,いずれかの事業用システムを利用する必要があるグループ従業員及び取引先の従業者に限る。・認証対象者に,本人用の公開鍵証明書(以下,利用者証明書という)を発行し,利用者証明書と,対応する秘密鍵とを格納した認証カードを貸与する。事業用システムは,利用者証明書の subject フィールドに記載された認証対象者の情報を用いて,認証対象者を識別する。・グループ従業員に貸与する認証カードは,一人 1 枚とする。役職の変更,部署異動,D 社グループ内での出向・転籍があっても,認証カード及び利用者証明書は再発行せず,そのまま継続利用する。ただし,更新などの認証カード切替え時においては,各地域と郵送でのやり取りが必要なので,最長 1 か月間,新旧 2 枚を貸与する。・認証カードには有効期間をもたせ,認証カードの有効期間と利用者証明書の有効期間を一致させる。有効期間内に認証カードを失効させる場合,J システムは,当該認証カードの利用者証明書についての失効情報を事業用システムに開示し,提供する。失効情報の開示は,失効の必要性が生じてから 1 営業日以内に行う。・事業用システムのサーバのサーバ証明書を発行する。・サーバ証明書に依拠する PC などの機器向けに,サーバ証明書の失効情報を開示し,提供する。
図 1 J システムの基本要件

〔認証カードの方式設計〕

M 部長は,部下の N さんに対して,D 社の情報セキュリティ室の R 主任の支援を受けつつ,方式設計を進めるように指示した。

次は,認証カードの方式設計についての,N さんと R 主任との会話である。

要求者 A と検証者 B の間のメッセージ交換の図。要求者 A 側:[事前準備] 1. 要求者 A の鍵(Kp,Ks)及び[ f ]を用意する。2. エンティティ認証の開始を要求する(A から B へ)。検証者 B 側:3. Rb を求める。Rb = rand()。4. Rb を送信する(B から A へ)。要求者 A 側:5. Ra と X を求める。Ra = rand(),X = sign([ g ], [ h ])。6. [ f ],Ra,X を送信する(A から B へ)。検証者 B 側:7. 次の関数が“True”を返すことを確認する。verify([ i ], [ j ], Ra||Rb||Sn)。凡例:Kp:要求者 A の公開鍵である。Ks:要求者 A の秘密鍵である。rand():擬似乱数生成関数。ランダムな値を生成して返す。sign(x, y):ディジタル署名生成関数。秘密鍵 x と署名対象データ y を受け取り,署名値を返す。verify(s, t, u):ディジタル署名検証関数。公開鍵 s,署名値 t 及び署名対象データ u を受け取り,t が u に対する正しい署名値であれば“True”,それ以外の場合は“False”を返す。Sn:検証者 B の名称。公知の情報である。||:この記号の左右のデータを連結することを示す。注記 公開鍵証明書の正当性の確認についての記述は省略している。
図 2 公開鍵暗号技術を用いたエンティティ認証のプロトコル

市販されている IC カードの中には,認証カードとして利用できるとともに,D 社グループの入退室管理システムにおいて入退室カードとしても利用できるものがあり,N さんは,そのうちの一つを採用することにした。

J システムの導入は,次の四つのフェーズに分けて行う。

〔認証カードの運用設計〕

N さんは,試験フェーズ 1 における認証カードの利用開始及び失効の手順について,図 3 及び図 4 に示す案を作成した。

枠で囲んだ 5 項目の手順。1. グループ従業員は,システム部が準備する申請受付用のサーバ(以下,受付サーバという)にアクセスし,認証カードの利用を申請する。2. システム部は,毎週月曜日に,前週の月曜日から前日の日曜日までの受付分について,グループ従業員本人による申請であることの確認及び“③他の必要な確認”を行う(“他の必要な確認”に下線③が付いている)。3. システム部は,認証カード作成専用 PC を用いて認証カードを作成する。申請者専用の鍵と利用者証明書を作成し,認証カードに登録する。認証カードにはそれぞれ固有の識別番号を付与する。識別番号は認証カードの裏面に記す。4. システム部は,作成した認証カードを申請者に送付する。別途,識別番号を記した紙を申請者に配布する。5. 申請者は,認証カードを用いて受付サーバにログインし,認証カードの受領を登録する。
図 3 認証カードの利用開始手順案
枠で囲んだ 3 項目の手順。1. グループ従業員又はその上長が,受付サーバにログインし,失効させる認証カードの識別番号又はグループ従業員番号と,失効させる事由を入力し,失効を申請する。失効させる事由は,表 2 に示す選択肢から選ぶ。2. 失効の申請者は,可能であれば,当該認証カードをシステム部に送付して返却する。3. システム部は,毎週火曜日に,前週の月曜日から前々日の日曜日までの受付分について,グループ従業員本人又はその上長による申請であることを確認した後,利用者証明書の失効を失効情報サーバに登録して公開する。表 2 に示す失効事由の値を公開情報に含める。
図 4 認証カードの失効手順案
失効申請時の失効事由の選択肢と失効事由の値の 2 列の表。退職又は事業用システムの利用終了:affiliationChanged。認証カードの紛失:keyCompromise。認証カードの故障:cessationOfOperation。認証カードの更新:superseded。鍵の不正利用のおそれ:keyCompromise。注 1) 失効事由の値は,JIS X 5731-8:2003(ITU-T X.509)に規定された“CRLReason”に相当する。
表 2 失効事由

J システムの運用に係る補足情報を図 5 に示す。

枠で囲んだ補足情報。1. システム部の定常業務 ・認証カードの利用開始,失効などを,認証カード管理簿に記録し,管理する。・認証カードの申請者に認証カードを送付した後,1 週間たっても受領の登録がない場合,上長経由の確認など何らかの対応を行う。・人事情報を基に退職者の利用者証明書を失効させる。認証カードは退職時に返却を求める。2. その他の補足事項 ・認証カードと利用者証明書の有効期間は 5 年とする。継続利用の場合には,新しい認証カードを発行する。有効期間終了時,認証カードを回収する。
図 5 J システムの運用に係る補足情報(抜粋)

R 主任は,N さんの設計案をレビューし,④失効情報の提供手順に不備があるので改善すべきであると指摘した。N さんが設計案を修正した後,R 主任は再レビューを行い,指摘した不備が解決していることを確認した。

〔認証局階層とサーバ証明書〕

J システムは,複数の認証局の鍵を管理し,利用者証明書及びサーバ証明書を発行する機能をもつ。D 社の認証局の階層案を図 6 に示す。

D 社ルート CA を頂点とし,その下に CA-1,CA-2,CA-3 がぶら下がる 2 階層の図。CA-2 とその線は破線で描かれている。CA-1:グループ従業員用の利用者証明書を発行。CA-2:取引先の従業者用の利用者証明書を発行。CA-3:サーバ証明書を発行。注記 破線は,試験フェーズ 2 で整備する予定のものを示す。
図 6 D 社の認証局の階層案

CA-3 が発行したサーバ証明書は,社内向け事業用システムのサーバに加え,特定の取引先がアクセスする社外向け事業用システムのサーバにも利用される予定である。サーバ証明書の失効情報は,D 社グループ社内の各機器及び取引先からアクセス可能な場所で開示する。システム部は,D 社グループ各社の要請に従い,サーバ証明書の発行・失効を行う。

システム部は,既存の PC 管理の仕組み及び PC のメンテナンスの機会を利用し,⑤グループ従業員が利用する PC に D 社ルート CA の公開鍵証明書を登録する。取引先の従業者がアクセスするサーバで J システムのサーバ証明書を利用する場合には,当該サーバを利用する全ての取引先に対して,D 社ルート CA の公開鍵証明書を配布する。この際,D 社の認証局が万が一何らかの原因で不正操作される可能性を想定し,⑥取引先においては,D 社ルート CA の公開鍵証明書を,当該サーバだけにアクセスする専用の PC にインストールするよう要請する。

これらの設計案は M 部長に報告され,承認された。J システムは実装され,試験フェーズ 1 が開始された。一部の事業用システムは,J システムの利用者証明書を用いて認証を行うように改修された。また,一部のサーバでは,CA-3 が発行したサーバ証明書の利用が開始された。

〔取引先の従業者への認証カードの貸与〕

試験フェーズ 1 の開始から 3 か月後に,試験フェーズ 2 の準備が開始された。

N さんは,取引先に認証カードを貸与する方式を設計し,表 3 の二つの案にまとめた。取引先へ認証カードを導入するに当たっての機能要件は,従業者を個人ごとに識別・認証できること,及び事業用システムの操作履歴を記録し,プロジェクトごとに表示できることである。N さんは,方式 A 及び方式 B はともに機能要件を満たしていると判断した。また,方式の選択に際して優先される非機能要件は,第 1 に事業部門での管理工数が少ないこと,第 2 にシステム部での管理工数が少ないことである。

項目,方式 A,方式 B の 3 列の表。概要:方式 A はプロジェクトごとに,取引先の従業者に認証カードを貸与。複数のプロジェクトに参加する者には,複数枚を貸与。方式 B は取引先の従業者に,認証カードを一人 1 枚貸与。貸与対象者(両方式共通):取引先の従業者(ただし,試験フェーズ中は一部の取引先の従業者に限定)。貸与枚数:方式 A は貸与対象者に対してプロジェクトごとに 1 枚。方式 B は貸与対象者ごとに 1 枚。貸与期間:方式 A はプロジェクトへの参加期間。方式 B はいずれかのプロジェクトへの参加期間(ただし,半年以内に次のプロジェクトへの参加が見込まれる場合は貸与を継続)。管理責任者:方式 A はプロジェクト責任者。方式 B はシステム部(ただし,プロジェクト責任者は,プロジェクトへの参加期間を届け出る。)。システムの権限管理(両方式共通):事業用システムの利用権限は,プロジェクト責任者の要請に従い,事業部門で登録及び解除。事業部門は,プロジェクトへの参加期間だけ有効な権限をシステムに登録。操作履歴の取得:方式 A は複数のプロジェクトに参加する従業者の操作履歴は,認証のログを基に,プロジェクトごとに識別可。方式 B は複数のプロジェクトに参加する従業者の操作履歴は,認証のログと事業用システムの利用権限に係るログを組み合わせることで,プロジェクトごとに識別可。その他の補足事項:方式 A は業務上の役割と認証カードを結び付け,権限管理をシンプルかつ柔軟に運用可。方式 B は斜線(記載なし)。注記 1 管理責任者は,貸与対象者への認証カードの配布及び貸与対象者からの回収を行う。注記 2 認証カードに登録された利用者証明書は,認証カードの紛失時を除き,管理責任者が認証カードを回収した後にシステム部が失効処理を行う。紛失時は,遅滞なく失効処理を行う。
表 3 取引先の従業者への認証カード貸与方式案(抜粋)

N さんが取引先について過去数年分のプロジェクトへの参加状況を調査したところ,取引先の従業者は最多で五つのプロジェクトに同時に参加していた。また,専門技術をもつ工事関係取引先の従業者は,各プロジェクトへの参加期間は短いが,1 か月以内に次のプロジェクトに参加することが多いことが分かった。取引先の従業者の 3 割程度が,このような工事関係取引先の従業者であった。

検討の結果,N さんは,方式 B が非機能要件の面で優位と考え,M 部長に提案した。M 部長は提案された方式を承認し,実装が開始された。その後,試験フェーズ 2 が開始され,取引先の従業者への認証カードの貸与が始まった。

試験フェーズ 2 は,おおむね順調だったが,問題が二つ確認された。

これらの不正の防止には,当初から計画されていた,⑦認証カードを入退室カードとしても利用するという措置が一定の効果をもつと判断された。試験フェーズ 3 では,この措置が実施された。

〔本番フェーズの開始〕

その後,本番フェーズへの移行は順調に進んだ。事業用システムは全て,J システムの利用者証明書を用いて認証を行うように改修が進められた。また,TLS を利用する社内向け事業用システムのサーバは全て,CA-3 が発行したサーバ証明書を利用することになった。J システムの導入によって,事業用システムに係る問題点 1〜4 は全て解決した。

出題趣旨(IPA)

パスワードを用いた利用者認証の仕組みには限界があり,ICカードやOTPトークン,携帯電話を用いた利用者認証の仕組みがますます重要になってきた。これらの仕組みにおいては,公開鍵暗号技術をはじめとする各種の暗号技術,認証技術が幅広く採用され,利用されている。本問では,利用者認証システムの構築を題材に,ICカード,PKI,暗号及び認証についての基礎的知識と,これらの技術を利用したシステムの構築及び運用についての設計能力を問う。

採点講評(問全体・IPA)

問1では,暗号技術及び認証技術と,ICカードを利用した利用者認証システムの設計について出題した。

設問と解答例

設問1(1) 解答欄5つ

本文中の a〜c,k 及び l に入れる適切な字句を解答群の中から選び,記号で答えよ。 解答群 ア HMAC イ OCSP ウ 記憶 エ 危たい化 オ 所持 カ 生体情報 キ 多機能 ク 単要素 ケ ディジタル署名 コ ハッシュ値 サ 非アクティベート シ フィンガプリント ス 複数要素 セ ルート CA

〔a〕解答例

  • ウ

〔b〕解答例

  • オ

〔c〕解答例

  • ス

〔k〕解答例

  • エ

〔l〕解答例

  • イ
解説

本文の根拠

〔認証カードの方式設計〕 Nさん

パスワードを用いる利用者認証では,ログインする人の a を確認していました。認証カードを利用する利用者認証では,認証カードの b を確認することになりますね。

〔認証カードの方式設計〕 R主任

認証カードの利用時に PIN を入力させることで,2 種類の方法を組み合わせた c 認証にすることができる。

〔認証カードの方式設計〕 R主任

認証が成立するためには,鍵が k していないことが必要であることだ。事業用システムは,利用者証明書の失効情報を確認しなければならない。

〔認証カードの方式設計〕 R主任

失効情報は,CRL の配布により,又は l を使って提供されることが多い。

利用者認証の要素は,本人だけが知っているもの(記憶),本人だけが持っているもの(所持),本人の身体の特徴(生体情報)に分けられる。パスワードは本人の記憶を確かめるので a は“記憶”(ウ),認証カードは持っていることを確かめるので b は“所持”(オ)である。認証カードに PIN(記憶)を組み合わせると種類の違う 2 要素になるので,c は“複数要素”(ス)が入る。

k は,鍵(秘密鍵)が漏えいなどで安全でなくなった状態を指す“危たい化”(エ)である。危たい化した鍵の利用者証明書は失効させ,検証する側は失効情報を確かめる。失効情報の提供方法には,失効した証明書の一覧である CRL を配布する方法と,証明書ごとに状態を問い合わせる OCSP(Online Certificate Status Protocol,RFC 6960)がある。よって l は“OCSP”(イ)である。

解答群の“単要素”は 1 種類だけの認証,“生体情報”は第三の要素なので c には当たらない。“HMAC”は共通鍵を使うメッセージ認証コードで,失効情報の提供には使わない。c は“2 種類の方法を組み合わせた”とあるので,“多機能”ではなく“複数要素”を選ぶ。

採点講評(IPA)

設問1は,基礎的な暗号技術及び認証技術について問う問題である。正答率は高かった。

設問1(2) 35字以内

本文中の下線①について,R 主任が想定している不適切な行為を,35 字以内で具体的に述べよ。

解答例

  • 認証対象者が,認証カードとPINを他人に又貸しして使わせる行為
解説

本文の根拠

〔認証カードの方式設計〕 R主任

ただし,①認証対象者が不適切な行為をすると,その効果は望めない。

〔IT部門の統合〕 問題点1

利用者 ID とパスワードを,他人に教えたケースも複数あった。

〔取引先の従業者への認証カードの貸与〕

グループ従業員が現場事務所に認証カードを保管し,本人以外に利用させているケースがあった。

下線①の“その効果”は,認証カード(所持)と PIN(記憶)を組み合わせた複数要素認証の効果である。複数要素認証は,カードを盗まれても PIN を知られなければ,PIN を知られてもカードが無ければ,なりすましができない点に意味がある。ところが認証対象者本人が認証カードと PIN の両方を他人に渡してしまえば,他人は二つの要素をそろえて本人になりすませる。解答例は“認証対象者が,認証カードとPINを他人に又貸しして使わせる行為”である。

本文の問題点 1 には,利用者 ID とパスワードを他人に教えたケースがあった。認証カードにしても,本人が同じことをすれば防げない。後の試験フェーズ 2 でも,同僚に認証カードを借りて利用する,本人以外に利用させるというケースが実際に見つかっており,下線①の懸念が当たった形になっている。

字数は 35 字以内で,解答例は 31 字である。“認証対象者が”という行為の主体と,“認証カードと PIN”の両方を“他人に使わせる”ことを残す。カードだけを貸す行為では PIN が無ければ使えないので,両方を渡すことまで書く。

採点講評(IPA)

設問1は,基礎的な暗号技術及び認証技術について問う問題である。正答率は高かった。

設問1(3) 解答欄3つ

本文中の d,e 及び図 2 中の f に入れる適切な字句を解答群の中から選び,記号で答えよ。 解答群 ア 共通鍵 イ サーバ証明書 ウ 事業用システム エ 信頼できる第三者 オ 認証局 カ 認証対象者 キ 秘密鍵 ク 利用者証明書

〔d〕解答例

  • ウ

〔e〕解答例

  • カ

〔f〕解答例

  • ク
解説

本文の根拠

〔認証カードの方式設計〕 R主任

これは片方向認証の場合で,検証者 B が要求者 A を認証している。J システムでは,検証者 B は d に相当し,要求者 A は e に相当する。

図2 要求者A

1. 要求者 A の鍵(Kp,Ks)及びfを用意する。

図1 Jシステムの基本要件

認証対象者に,本人用の公開鍵証明書(以下,利用者証明書という)を発行し,利用者証明書と,対応する秘密鍵とを格納した認証カードを貸与する。

J システムでは,認証カードを持つ認証対象者が事業用システムにログインし,事業用システムが利用者証明書の情報で認証対象者を識別する。認証される側(要求者 A)は認証対象者(カ),認証する側(検証者 B)は事業用システム(ウ)である。

要求者 A は鍵ペア(Kp,Ks)とともに f を用意し,手順 6 で f を検証者 B に送る。B は f から A の公開鍵 Kp を取り出して署名を検証するので,f は公開鍵を収めた公開鍵証明書,すなわち利用者証明書(ク)である。図 1 のとおり,認証カードには利用者証明書と秘密鍵が格納されている。注記にあるとおり,B は受け取った証明書の正当性(発行した認証局の署名や失効の有無)も確かめる。

“認証局”は証明書を発行する側で,このプロトコルのメッセージ交換には加わらない。“サーバ証明書”はサーバを認証するときの証明書なので,利用者を認証する f には当たらない。f は秘密鍵ではない。秘密鍵は認証カードから出さず,手順 5 の署名に使うだけである。

採点講評(IPA)

設問1は,基礎的な暗号技術及び認証技術について問う問題である。正答率は高かった。

設問1(4)

本文中の下線②について,CRYPTREC の“電子政府推奨暗号リスト”に含まれている暗号技術を解答群の中から全て選び,記号で答えよ。ただし,“電子政府推奨暗号リスト”は,CRYPTREC 暗号リスト(平成 28 年 3 月 29 日版)に掲載されているものとし,暗号技術はハッシュ関数を含むものとする。 解答群 ア AES イ Camellia ウ DES エ ECDSA オ MD4 カ MD5 キ RSA-OAEP ク SHA-256 ケ SHA-512

解答例

  • ア,イ,エ,キ,ク,ケ
解説

本文の根拠

〔認証カードの方式設計〕 R主任

米国国立標準技術研究所(NIST)や②CRYPTREC の文書などを参考に,適切な暗号技術を利用するようにしなければならないことだ。

CRYPTREC 暗号リストは,電子政府推奨暗号リスト・推奨候補暗号リスト・運用監視暗号リストの三つから成る。電子政府推奨暗号リストには,署名の ECDSA,守秘の RSA-OAEP,128 ビットブロック暗号の AES と Camellia,ハッシュ関数の SHA-256 と SHA-512(ほかに SHA-384)が載っている。解答例は“ア,イ,エ,キ,ク,ケ”である。

DES(単一 DES)は載っていない。64 ビットブロック暗号として載っているのは 3-key Triple DES で,注記付きで当面の利用が認められているものである。MD4・MD5 はどのリストにも無い。運用監視暗号リストに載っているハッシュ関数は SHA-1 と RIPEMD-160 で,互換性維持のためだけに継続利用を認めるものである。

“全て選べ”の設問なので,一つでも漏れや余分があると正解にならない。DES と 3-key Triple DES,SHA-1 と SHA-256 のように名前の似たものを区別して覚えておく。

採点講評(IPA)

設問1は,基礎的な暗号技術及び認証技術について問う問題である。正答率は高かった。

設問1(5) 解答欄4つ

図 2 中の g〜j に入れる適切な式を解答群の中から選び,記号で答えよ。 解答群 ア Kp イ Ks ウ Ra エ Ra||Rb オ Ra||Rb||Sn カ Ra||Sn キ Rb ク Rb||Ra ケ Rb||Ra||Sn コ Rb||Sn サ Sn シ Sn||Ra||Rb ス Sn||Rb||Ra セ X ソ rand()

〔g〕解答例

  • イ

〔h〕解答例

  • オ

〔i〕解答例

  • ア

〔j〕解答例

  • セ
解説

本文の根拠

図2 要求者A

X = sign(g, h)

図2 検証者B

7. 次の関数が“True”を返すことを確認する。verify(i, j, Ra||Rb||Sn)

図2 凡例

sign(x, y):ディジタル署名生成関数。秘密鍵 x と署名対象データ y を受け取り,署名値を返す。

図2 凡例

verify(s, t, u):ディジタル署名検証関数。公開鍵 s,署名値 t 及び署名対象データ u を受け取り,t が u に対する正しい署名値であれば“True”,それ以外の場合は“False”を返す。

verify の第 3 引数(署名対象データ)は Ra||Rb||Sn と決まっているので,A が署名する対象も同じ Ra||Rb||Sn でなければ True にならない。sign の第 1 引数は秘密鍵なので g は Ks(イ),h は Ra||Rb||Sn(オ)である。verify の第 1 引数は公開鍵なので i は Kp(ア),第 2 引数は署名値なので j は X(セ)である。Kp は手順 6 で送られた利用者証明書から取り出す。

B が生成した乱数 Rb を署名対象に含めるので,過去の署名値を盗聴して送り直しても(リプレイ攻撃)通らない。B の名称 Sn を含めるのは,別の検証者向けに作った署名を流用されないためである。

連結の順序を入れ替えた式(ケの Rb||Ra||Sn など)は別のデータになり,検証に失敗する。“署名対象データ”は verify 側の式と 1 字も違わない順序で選ぶ。

採点講評(IPA)

設問1は,基礎的な暗号技術及び認証技術について問う問題である。正答率は高かった。

設問2(1) 解答欄2つ

図 3 中の下線③について,J システムの基本要件を満たすために,システム部が確認すべき事項を二つ挙げ,それぞれ 30 字以内で述べよ。

〔①〕解答例

  • 申請者に認証カードを貸与済みでないこと

〔②〕解答例

  • 申請者が事業用システムの利用を業務上必要としていること
解説

本文の根拠

図3 2.

グループ従業員本人による申請であることの確認及び“③他の必要な確認”を行う

図1 Jシステムの基本要件

利用者認証の対象者(以下,認証対象者という)は,業務上,いずれかの事業用システムを利用する必要があるグループ従業員及び取引先の従業者に限る。

図1 Jシステムの基本要件

グループ従業員に貸与する認証カードは,一人 1 枚とする。

下線③は,本人による申請であることの確認に加えて,J システムの基本要件(図 1)を満たすために必要な確認である。図 1 の要件のうち,認証カードの貸与に条件を付けているものは二つある。一つは“一人 1 枚とする”で,申請者がすでに認証カードを貸与されていれば二重に貸与してしまう。もう一つは認証対象者を“業務上,いずれかの事業用システムを利用する必要がある”者に限るという条件である。解答例は①“申請者に認証カードを貸与済みでないこと”,②“申請者が事業用システムの利用を業務上必要としていること”である。

一人 1 枚には例外があり,更新などの切替え時には最長 1 か月間,新旧 2 枚を貸与する。ただし図 3 は利用開始の手順なので,新規の申請者が 2 枚目を受け取らないことを確かめればよい。本人確認だけでは,業務上不要な者や既に持っている者にもカードが渡ってしまう。

字数はそれぞれ 30 字以内で,解答例は①19 字,②27 字である。①は“貸与済みでない”,②は“業務上必要”という図 1 の条件の言葉を残す。二つは順不同で,どちらを①に書いてもよい。

設問2(2)

グループ従業員用の利用者証明書の subject フィールドに記載するグループ従業員の情報について,必要不可欠なものを解答群の中から全て選び,記号で答えよ。 解答群 ア グループ従業員番号 イ 氏名 ウ 所属会社名 エ 所属部署の電話番号 オ 所属部署名 カ 役職名

解答例

  • ア
解説

本文の根拠

図1 Jシステムの基本要件

事業用システムは,利用者証明書の subject フィールドに記載された認証対象者の情報を用いて,認証対象者を識別する。

図1 Jシステムの基本要件

役職の変更,部署異動,D 社グループ内での出向・転籍があっても,認証カード及び利用者証明書は再発行せず,そのまま継続利用する。

本文

D 社グループの従業員(以下,グループ従業員という)には,D 社グループ内で一意となる番号(以下,グループ従業員番号という)が付与されている。

事業用システムは subject フィールドの情報で認証対象者を識別するので,そこには一人を一意に特定できる情報が要る。D 社グループでは,グループ内で一意となるグループ従業員番号が付与されている。解答例は“ア”(グループ従業員番号)だけである。

一方,利用者証明書は役職の変更,部署異動,出向・転籍があっても再発行せずに使い続ける。所属会社名,所属部署名,所属部署の電話番号,役職名はこうした異動で変わるので,証明書に書けば記載が古くなり,識別に使えない。氏名は変わりにくいが,同姓同名があり得るので一意にはならない。

“全て選べ”なので,あると便利な情報まで選ぶと誤りになる。設問は“必要不可欠なもの”を問うので,識別に欠かせず,かつ証明書の有効期間中に変わらない情報だけを残す。

設問2(3) 解答欄2つ

本文中の下線④について,改善すべき不備を 40 字以内で具体的に述べよ。また,この不備は,失効事由の値がどのような値となっている場合に事業用システムの不正利用に結び付く可能性が高いか。該当する失効事由の値を解答群の中から全て選び,記号で答えよ。 解答群 ア affiliationChanged イ cessationOfOperation ウ keyCompromise エ superseded

〔改善すべき不備〕解答例

  • 失効の申請がされてから失効情報の開示まで最短でも2日掛かるという不備

〔失効事由の値〕解答例

  • ア,ウ
解説

本文の根拠

本文

④失効情報の提供手順に不備があるので改善すべきである

図1 Jシステムの基本要件

失効情報の開示は,失効の必要性が生じてから 1 営業日以内に行う。

図4 3.

システム部は,毎週火曜日に,前週の月曜日から前々日の日曜日までの受付分について,グループ従業員本人又はその上長による申請であることを確認した後,利用者証明書の失効を失効情報サーバに登録して公開する。

表2

退職又は事業用システムの利用終了:affiliationChanged。認証カードの紛失:keyCompromise。認証カードの故障:cessationOfOperation。認証カードの更新:superseded。鍵の不正利用のおそれ:keyCompromise。

図 4 では,失効の申請を週に 1 回,火曜日にまとめて処理し,対象は前々日の日曜日までの受付分である。日曜日に受け付けた申請でも火曜日まで待つので,開示までは最短でも 2 日掛かり,それ以外の曜日ならさらに長い。図 1 の“失効の必要性が生じてから 1 営業日以内”という要件を満たさない。解答例は“失効の申請がされてから失効情報の開示まで最短でも2日掛かるという不備”である。

開示が遅れて困るのは,失効させるカードを誰かが使える場合である。退職や利用終了(affiliationChanged)では,本人が返却していないカードで事業用システムを使い続けるおそれがある。紛失や鍵の不正利用のおそれ(keyCompromise)では,拾った人や不正に入手した人が使うおそれがある。故障(cessationOfOperation)のカードは使えず,更新(superseded)の旧カードは正当な本人の手元にあるので,不正利用に結び付く可能性は低い。解答例は“ア,ウ”である。

不備の字数は 40 字以内で,解答例は 34 字である。“申請から開示まで”の区間と“最短でも 2 日”という具体的な遅れを残す。“週 1 回しか処理しない”だけでは要件(1 営業日以内)とのずれが伝わりにくいので,日数で書く。

採点講評(IPA)

設問2は,ICカードとPKIを用いた利用者認証システムの運用設計について問う問題である。設問2(3)“改善すべき不備”の問いについての正答率は低かった。PKIを利用した利用者認証システムにおいて,利用者証明書の失効情報が遅滞なく開示されることは重要である。このことを再度確認してほしい。

設問3(1) 30字以内

本文中の下線⑤について,この措置を行わない場合,CA-3 が発行したサーバ証明書を利用するサーバにグループ従業員が Web ブラウザでアクセスすると,どのような不都合が生じるか。30 字以内で具体的に述べよ。

解答例

  • サーバ証明書の正当性を確認できず警告が表示される。
解説

本文の根拠

〔認証局階層とサーバ証明書〕

⑤グループ従業員が利用する PC に D 社ルート CA の公開鍵証明書を登録する

〔IT部門の統合〕

このうち,社内向け事業用システムでは,D 社グループ各社が個別にプライベート認証局を準備し,サーバ証明書を発行していた。

図6

CA-3:サーバ証明書を発行。

Web ブラウザは,サーバ証明書の署名を上位の認証局へとたどり,信頼する認証局(トラストアンカー)の証明書に行き着いたときにだけ証明書を正当と判断する。CA-3 は D 社ルート CA の下位にあり,D 社ルート CA はプライベート認証局なので,PC にその公開鍵証明書を登録しなければ証明書の検証を完了できない。解答例は“サーバ証明書の正当性を確認できず警告が表示される。”である。

これまでは各社が個別のプライベート認証局でサーバ証明書を発行しており,認証局を新しい D 社ルート CA に一本化するので,全 PC に新しいルート CA の証明書を配る必要がある。システム部は既存の PC 管理の仕組みとメンテナンスの機会を使ってこれを行う。

字数は 30 字以内で,解答例は 25 字である。“正当性を確認できない”という原因と,“警告が表示される”という利用者から見える不都合の二つを残す。“アクセスできない”と書くと言い過ぎで,多くのブラウザは警告を出して利用者の判断を求める。

採点講評(IPA)

設問3は,サーバ証明書の検証について問う問題である。正答率は低かった。サーバ証明書及びTLSは,現時点において不可欠な基盤技術である。本設問で採り上げた事項も含め,サーバ証明書関係技術の特徴及び限界について理解を深めてほしい。

設問3(2) 45字以内

本文中の下線⑥の要請は,取引先のどのようなリスクを軽減するためか。45 字以内で具体的に述べよ。

解答例

  • PCのWebブラウザが不正なサーバ証明書を信頼し,不正なサーバにアクセスするリスク
解説

本文の根拠

〔認証局階層とサーバ証明書〕

この際,D 社の認証局が万が一何らかの原因で不正操作される可能性を想定し,⑥取引先においては,D 社ルート CA の公開鍵証明書を,当該サーバだけにアクセスする専用の PC にインストールするよう要請する。

ルート CA の公開鍵証明書を PC に入れると,その PC の Web ブラウザは,そのルート CA の配下で発行された全てのサーバ証明書を信頼する。D 社の認証局が不正操作されれば,攻撃者は任意のサーバ名のサーバ証明書を発行でき,それを使った偽のサーバにも取引先の PC は警告なしに接続してしまう。解答例は“PCのWebブラウザが不正なサーバ証明書を信頼し,不正なサーバにアクセスするリスク”である。

専用の PC に限れば,D 社ルート CA を信頼するのはその PC だけになり,取引先が普段インターネットや自社の業務に使う PC には影響が及ばない。取引先にとって D 社は外部の組織なので,D 社の認証局の不正まで自社の全 PC に持ち込まないための措置である。

字数は 45 字以内で,解答例は 41 字である。“不正なサーバ証明書を信頼する”ことと,その結果“不正なサーバにアクセスする”ことの二つを残す。“取引先の”リスクを問われているので,主語は取引先の PC(Web ブラウザ)にする。

採点講評(IPA)

設問3は,サーバ証明書の検証について問う問題である。正答率は低かった。サーバ証明書及びTLSは,現時点において不可欠な基盤技術である。本設問で採り上げた事項も含め,サーバ証明書関係技術の特徴及び限界について理解を深めてほしい。

設問4(1) 40字以内

方式 A 及び方式 B では,管理責任者による認証カードの回収の遅れ又は漏れがあっても事業用システムの不正利用の影響を抑えることができる。この理由について,“認証”,“認可”の二つの字句を用いて,40 字以内で述べよ。

解答例

  • 認証を成功させても,事業用システムの利用の認可が得られないから
解説

本文の根拠

表3 システムの権限管理

事業用システムの利用権限は,プロジェクト責任者の要請に従い,事業部門で登録及び解除。事業部門は,プロジェクトへの参加期間だけ有効な権限をシステムに登録

図1 Jシステムの基本要件

事業用システムにおける利用者の権限については,J システムで取り扱わない。

表3 注記2

認証カードに登録された利用者証明書は,認証カードの紛失時を除き,管理責任者が認証カードを回収した後にシステム部が失効処理を行う。

認証は“誰か”を確かめること,認可はその人に“何をしてよいか”を与えることである。J システムは認証だけを提供し,権限は扱わない。事業用システムの利用権限は事業部門が登録し,それもプロジェクトへの参加期間だけ有効な権限である。回収されていない認証カードで認証に成功しても,参加期間が終われば事業用システムを利用する権限(認可)は無い。解答例は“認証を成功させても,事業用システムの利用の認可が得られないから”である。

注記 2 のとおり,利用者証明書の失効は回収の後に行うので,回収が遅れれば証明書は有効なままで,認証は成功してしまう。それでも被害を抑えられるのは,認証と認可を分けて管理しているからである。

字数は 40 字以内で,解答例は 31 字である。指定の“認証”“認可”の二つの字句を必ず使い,“認証は成功しても認可は得られない”という対比の形にする。

採点講評(IPA)

設問4は,ICカードを利用した利用者認証システムの設計及び効果について問う問題である。正答率は低かった。各種セキュリティ技術の特徴及び限界をよく理解し,条件・状況に照らして最適なセキュリティ技術及び適用方法を選び,最適なシステムを構築及び運用を設計できる人材になるように努めてほしい。

設問4(2) 解答欄2つ

方式 B の方が非機能要件に適合している理由を表 3 の内容に基づいて二つ挙げ,それぞれ 40 字以内で具体的に述べよ。

〔①〕解答例

  • 事業部門は管理責任者の役割を担わず,認証カードの配布・回収を担当しないから

〔②〕解答例

  • プロジェクトをまたいで認証カードが共用され,配布・回収の回数が少ないから
解説

本文の根拠

〔取引先の従業者への認証カードの貸与〕

方式の選択に際して優先される非機能要件は,第 1 に事業部門での管理工数が少ないこと,第 2 にシステム部での管理工数が少ないことである。

表3 管理責任者

方式 A はプロジェクト責任者。方式 B はシステム部(ただし,プロジェクト責任者は,プロジェクトへの参加期間を届け出る。)。

表3 注記1

管理責任者は,貸与対象者への認証カードの配布及び貸与対象者からの回収を行う。

表3 貸与期間

方式 B はいずれかのプロジェクトへの参加期間(ただし,半年以内に次のプロジェクトへの参加が見込まれる場合は貸与を継続)。

〔取引先の従業者への認証カードの貸与〕

専門技術をもつ工事関係取引先の従業者は,各プロジェクトへの参加期間は短いが,1 か月以内に次のプロジェクトに参加することが多いことが分かった。

非機能要件の第 1 は事業部門の管理工数,第 2 はシステム部の管理工数である。管理責任者は認証カードの配布と回収を行う。方式 A ではプロジェクト責任者(事業部門側)が管理責任者になるが,方式 B ではシステム部が担うので,事業部門は配布・回収をしなくて済む。これが第 1 の要件に合う。解答例①は“事業部門は管理責任者の役割を担わず,認証カードの配布・回収を担当しないから”である。

方式 B は一人 1 枚で,半年以内に次のプロジェクトがあれば貸与を続ける。取引先の従業者は最多で五つのプロジェクトに同時に参加し,3 割程度は 1 か月以内に次のプロジェクトに移る。方式 A ならプロジェクトごとに配布・回収が要るが,方式 B では 1 枚を使い回すので回数が少なく,管理責任者となるシステム部の工数も抑えられる(第 2 の要件)。解答例②は“プロジェクトをまたいで認証カードが共用され,配布・回収の回数が少ないから”である。

字数はそれぞれ 40 字以内で,解答例は①37 字,②36 字である。①は“事業部門が配布・回収をしない”,②は“プロジェクトをまたいで 1 枚を使うので配布・回収が少ない”を残す。どちらも“管理工数が少ない”の中身を表 3 の項目で具体的に書く。二つは順不同である。

採点講評(IPA)

設問4は,ICカードを利用した利用者認証システムの設計及び効果について問う問題である。正答率は低かった。各種セキュリティ技術の特徴及び限界をよく理解し,条件・状況に照らして最適なセキュリティ技術及び適用方法を選び,最適なシステムを構築及び運用を設計できる人材になるように努めてほしい。

設問4(3) 40字以内

本文中の下線⑦について,見つかった不正に対して,この措置が効果をもつと判断した根拠を,40 字以内で述べよ。

解答例

  • 入退室に必要なため,認証カードの置き忘れ及び現場事務所内での保管がなくなる。
解説

本文の根拠

〔取引先の従業者への認証カードの貸与〕

グループ従業員が認証カードをオフィスに置き忘れ,現場事務所で同僚に認証カードを借りて利用するケースが複数あった。

〔取引先の従業者への認証カードの貸与〕

グループ従業員が現場事務所に認証カードを保管し,本人以外に利用させているケースがあった。

本文 試験フェーズ3

認証カードを入退室カードとしても利用する。認証カードを貸与された者は,それまで利用していた入退室カードが無効化され,利用できなくなる。

試験フェーズ 3 では認証カードが入退室カードを兼ね,それまでの入退室カードは使えなくなる。オフィスや現場事務所の入室・退室には認証カードが必要になるので,オフィスに置き忘れれば現場事務所に入れず,現場事務所に保管して帰れば退室や翌日の入室ができない。本人が常に持ち歩くことになり,見つかった二つの不正の前提がなくなる。解答例は“入退室に必要なため,認証カードの置き忘れ及び現場事務所内での保管がなくなる。”である。

本文が“一定の効果”と書いているのは,カードと PIN を意図して他人に渡す行為(設問 1(2) の又貸し)までは防げないからである。それでも,日常の置き忘れや保管による貸し借りは大きく減らせる。

字数は 40 字以内で,解答例は 38 字である。“入退室に必要”という理由と,“置き忘れ”“現場事務所内での保管”という二つの不正に対応した結果の両方を残す。

採点講評(IPA)

設問4は,ICカードを利用した利用者認証システムの設計及び効果について問う問題である。正答率は低かった。各種セキュリティ技術の特徴及び限界をよく理解し,条件・状況に照らして最適なセキュリティ技術及び適用方法を選び,最適なシステムを構築及び運用を設計できる人材になるように努めてほしい。

出典:平成28年度 秋期 情報処理安全確保支援士試験 午後Ⅱ 問1(表記を一部改変)

問2 脆弱性対策

脆弱性対策に関する次の記述を読んで,設問 1〜5 に答えよ。

A 社は,従業員数 3,000 名の製造会社である。A 社の組織構成は図 1 のとおりであり,全社を統括する経営管理本部,及び製品の製造・販売を行う三つの製品本部がある。三つの製品本部は,それぞれ取り扱う製品分野が異なっている。経営管理本部には,データセンタ部(以下,センタ部という),総務部などがある。

組織図。取締役会の下に社長があり,社長の下に経営管理本部,α 製品本部,β 製品本部,γ 製品本部がある。経営管理本部の下にセンタ部,…(省略),総務部がある。
図 1 A 社の組織構成

〔A 社の情報システムの構成〕

経営管理本部では,センタ部に所属する 20 名の運用担当者が,A 社内で共同利用される機器群(以下,センタ部機器という)を運用している。各製品本部では,情報システム担当チームが,各製品本部が独自に導入している機器群(以下,製品本部機器という)を運用している。

A 社の情報システムの構成は,図 2 のとおりである。

ネットワーク構成図。インターネットはセンタ部機器の FW に接続される。FW は DMZ と,ルータに接続される。DMZ には,センタ部機器として DNS サーバ,メールサーバ,公開 Web サーバ,プロキシサーバがあり,同じ DMZ のセグメントに α 製品本部機器,β 製品本部機器,γ 製品本部機器としてそれぞれ複数の公開 Web サーバがある。ルータには社内サーバセグメントが接続され,センタ部機器として社内業務サーバ(複数)とアップデート用サーバ,α・β・γ の各製品本部機器としてそれぞれ社内 Web サーバと DB サーバがある。ルータには,さらに経営管理本部の PC セグメント(センタ部機器の枠内),α 製品本部の PC セグメント,β 製品本部の PC セグメント,γ 製品本部の PC セグメントがそれぞれ接続され,各セグメントに複数の PC がある。凡例:FW:ファイアウォール。DB サーバ:データベースサーバ。公開 Web サーバ:会社情報提供用 Web サーバ,広報用 Web サーバ,一般消費者向けインターネット通販用 Web サーバなどの社外に公開している Web サーバ,及び社外の取引先と情報共有するための Web サーバ。社内 Web サーバ:社内での情報共有に利用する,社外に公開していない Web サーバ。社内業務サーバ:人事管理などの業務に利用するサーバ。
図 2 A 社の情報システムの構成

各製品本部には,5〜10 台の公開 Web サーバがある。

センタ部機器のアップデート用サーバは,社内で利用しているソフトウェアパッケージのセキュリティパッチ(以下,パッチという)を含む修正プログラムをインターネットからダウンロードし,格納している。

社内サーバセグメントと各 PC セグメント上の機器からは,プロキシサーバを経由したインターネット上の Web サイトへのアクセスが許可されており,アップデート用サーバと PC にはプロキシサーバを経由するような設定がされている。一方,社内サーバセグメントと各 PC セグメント上の機器からのプロキシサーバを経由しないインターネットへのアクセスは,FW によって禁止されている。アップデート用サーバからのアクセス先は,特定のベンダのサイトに限定されている。

〔脆弱性対策の立案〕

最近,国内外でソフトウェアの重大な脆弱性が数多く報告されており,それらの悪用によって,製造業の複数の企業でも被害が起きている。そのため,センタ部では,A 社の情報システムについて,脆弱性対策を強化する必要があると考え,脆弱性対策方針案を作成し,取締役会に提案した。脆弱性対策方針案を図 3 に示す。

枠で囲んだ方針案。脆弱性対策を行うチーム(以下,V チームという)を組織する。V チームは,脆弱性対策に関する次の業務を担当する。1. 機器の特定及び重要度の決定:脆弱性対策の対象となる機器を特定し,その重要度を決定する。2. 脆弱性に関する情報(以下,脆弱性情報という)の収集と選別:脆弱性情報を収集し,その中から A 社の機器に影響する情報を選別する。3. 脆弱性対策適用の判断:A 社の機器に影響する脆弱性情報について,機器の重要度レベルと脆弱性の影響度(以下,脆弱性レベルという)を勘案し,脆弱性対策適用の緊急度を判断する。4. 脆弱性対策の実施:脆弱性情報を各情報システム担当者に通知し,脆弱性対策適用を指示する。5. 適用状況の確認:脆弱性対策を各情報システム担当者が適切に適用できたかどうかを確認する。
図 3 脆弱性対策方針案

取締役会は,この脆弱性対策方針案を了承し,センタ部が中心となって V チームを製品本部横断的に組織することを決定した。V チームの責任者には,センタ部の P 部長が任命された。P 部長は,部下の Q 主任をチームリーダに任命した。他にセンタ部の 3 名と各製品本部の情報システム担当チームから 2 名ずつの計 9 名(以下,V チーム員という)から成る V チームを発足させた。Q 主任の役割は,情報システムの脆弱性対策の立案,V チーム員への指示,及び脆弱性対策の実施状況の P 部長への報告である。

Q 主任は,任命を受けて V チーム員を招集し,図 3 の業務を具体化するための協議をした。その中で,脆弱性対策適用の緊急度を機器ごとに判断するための基準(以下,脆弱性対策基準という)を作成した。脆弱性レベルの判断基準には,脆弱性情報に記載された共通脆弱性評価システム(CVSS)の基本値を利用することにした。V チームが作成した脆弱性対策基準を図 4 に示す。

機器の特定及び重要度の決定には,総務部が半年ごとに固定資産の棚卸を実施して記載内容を更新している,固定資産管理台帳を利用することにした。この台帳には,個人情報又はその他の秘密情報(以下,重要情報という)の扱いの有無と,社外に対して公開しているか非公開としているかの区分が記載されている。各機器に搭載された OS,サーバソフトウェアやミドルウェアなどのソフトウェアの名称とバージョンは記載されていない。

枠で囲んだ基準。1. 機器の重要度レベルの定義:機器ごとの重要度レベルを,次表によって高・低の 2 段階に分ける。社外からアクセスできる機器は,重要情報を扱っている場合は重要度レベル高,重要情報を扱っていない場合は重要度レベル低。社外からアクセスできない機器は,重要情報を扱っている場合は重要度レベル低,重要情報を扱っていない場合は重要度レベル低。2. 脆弱性レベルの定義:脆弱性情報ごとに脆弱性レベルを,高・低の 2 段階に分ける。・CVSS 基本値が 7.0 以上の脆弱性を脆弱性レベル高とする。・それ以外は,脆弱性レベル低とする。3. リスクレベルの定義:機器と脆弱性情報の組合せごとのリスクレベルを,次表によってリスクが低い順に 1・2・3 の 3 段階に分ける。脆弱性レベル高は,重要度レベル高ならリスクレベル 3,重要度レベル低ならリスクレベル 2。脆弱性レベル低は,重要度レベル高ならリスクレベル 2,重要度レベル低ならリスクレベル 1。4. 脆弱性対策適用の緊急度判断基準:リスクレベルに基づき,脆弱性対策適用の緊急度を判断する。・リスクレベル 3 の場合は,直ちに脆弱性対策を実施する。・リスクレベル 2 の場合は,次回のシステム保守時に脆弱性対策を実施する。・リスクレベル 1 の場合は,今後の追加情報に注意して経過を見守る。脆弱性対策については,脆弱性情報にパッチや回避策の記載がある場合には,その適用方法を検討する。脆弱性情報に脆弱性対策の記載がない場合には,何らかの対策を検討する。
図 4 脆弱性対策基準

〔脆弱性の公表と対応〕

脆弱性対策基準の運用を開始して間もなく,ある Web アプリケーションのソフトウェアパッケージ(以下,ソフトウェア M という)のバージョン Z に SQL インジェクションの脆弱性(以下,X 脆弱性という)があり,パッチが提供されているという情報が公表された。CVSS 基本値は 6.5 であった。Q 主任は,A 社の機器にソフトウェア M が導入されているかどうかが分からなかった。そこで,V チーム員に次の対応を指示した。

V チーム員は,ソフトウェア M を導入しているかどうかの確認に手間取り,1 週間後に Q 主任に調査結果を報告した。ソフトウェア M を導入した機器はないとの調査結果だったので,Q 主任は,X 脆弱性への対応を終了し,P 部長に報告した。ところがその 2 週間後,α 製品本部の V チーム員から,①社外の取引先と重要情報を共有するための公開 Web サーバにソフトウェア M のバージョン Z が導入されていることが分かり,対応したとの報告が入った。

当初の調査に見落としがあったことを問題視し,Q 主任は,α 製品本部の V チーム員に見落としの原因を調べさせた。原因は,当該機器が先月導入されたばかりで,固定資産管理台帳に記載がなかったことにあった。Q 主任は,V チーム員に対して,固定資産の棚卸以降に導入された機器がないかの確認を指示した。他に見落とした機器はなかったことが分かり,Q 主任は P 部長に報告した。

報告を受けた P 部長は,当初の調査のような見落としの再発防止策を検討するよう Q 主任に指示した。Q 主任は,まず,固定資産管理台帳を基に,機器の新たな管理台帳(以下,新台帳という)を V チームで作成することにした。②新台帳にはバージョンを含むソフトウェアの情報も記載することにした。また,機器の新規導入や構成変更の際には,新台帳を速やかに修正する手順にした。Q 主任は,これらの改善策について P 部長に報告し,承認を得て実施した。

〔新たな脆弱性の公表と対応〕

改善策を実施して 1 か月後,UNIX/Linux で利用される shell の一つである bash に重大な脆弱性(以下,Y 脆弱性という)が存在するという脆弱性情報が公表された。CVSS 基本値は 10.0 であった。Y 脆弱性の概要は次のとおりである。

Y 脆弱性が存在する bash では,環境変数の値が“() {”という文字列で始まる場合,関数として解釈され,実行することができる。例えば,図 5 のように,export コマンドを使って環境変数として TEST1 を設定し,bash で呼び出すと“echo test”が実行される。

枠で囲んだ 2 行のコマンド。1 行目:export TEST1='() { echo test; }' 2 行目:bash -c TEST1
図 5 bash における環境変数の設定とその利用の例

Y 脆弱性は,例えば,図 6 のように環境変数として TEST2 を設定すると,bash を起動しただけで,TEST2 を呼び出さなくても,bash が起動されて環境変数を引き継ぐ際,区切り文字“;”の後に書かれたコマンドを実行してしまうというものである。図 6 の例では,cat コマンドが実行されてしまい,ファイル /etc/passwd が表示される。

枠で囲んだ 2 行のコマンド。1 行目:export TEST2='() { echo test; }; /usr/bin/cat /etc/passwd' 2 行目:bash
図 6 Y 脆弱性の確認例

Web サーバにおいても,③ある条件を満たす場合には,この Y 脆弱性を悪用される。図 7 は,CGI を利用した,ある Web アプリケーションプログラム(以下,Web アプリ B という)が呼び出される際のフローである。

Web ブラウザと Web サーバ(httpd)の間のシーケンス図。(1) HTTP リクエスト:Web ブラウザから Web サーバ(httpd)へ。(2) Web アプリ B が起動され,bash が呼び出される(Web サーバ(httpd)の中の処理)。(3) HTTP レスポンス:Web サーバ(httpd)から Web ブラウザへ。凡例:Web サーバ(httpd):Web サーバ上で稼働するサーバプログラム。
図 7 Web アプリ B に対するアクセスのフロー

典型的な Web サーバでは,Web サーバ(httpd)が a ヘッダの④フィールド値を環境変数として設定してから Web アプリ B を起動するので,攻撃者は,Y 脆弱性を悪用して Web サーバで任意のコードを実行することができる。例えば,図 6 の例と同様の場合であれば,cat コマンドが実行され,このとき,cat コマンドの実行時の権限によっては,攻撃者にどのようなファイルでも参照されてしまう。

Q 主任は,直ちに Y 脆弱性への対応を開始した。新台帳を基に,Y 脆弱性が影響する機器があるかを V チーム員が確認したところ,公開 Web サーバのうち,重要度レベル高のサーバ 8 台と重要度レベル低のサーバ 5 台が該当していることが分かった。Y 脆弱性が悪用されると公開 Web サーバが改ざんされるおそれもあり,事態を重く受け止めた Q 主任は,重要度レベル高のサーバだけでなく,該当する重要度レベル低のサーバ 5 台に対しても直ちに脆弱性対策を適用するよう V チーム員に指示した。

〔WAF による脆弱性対策〕

Y 脆弱性への対応指示に対して,β 製品本部の V チーム員からは,β 製品本部機器は,パッチの適用作業に 1 か月が必要なので,代替策を検討する必要があるとの報告を受けた。V チームでは,シグネチャによる b という手法で攻撃を検知できる Web アプリケーションファイアウォール(WAF)が代替策になるかどうか,セキュリティベンダの G 氏に相談することにした。

G 氏によれば,WAF による対応は,サーバへのパッチ適用に比べて,⑤対策を実施するまでの期間が短いといわれており,Y 脆弱性への対応も既に可能になっているとのことであった。そこで,Q 主任は,WAF の導入について,導入形態が異なる表 1 のような 2 案を作成した。

案,導入形態,概要の 3 列の表。案 1(オンプレミス型):・WAF は,センタ部機器として購入し,A 社内に設置する。・設定とログ解析は,セキュリティ専門業者に委託する。・通信量の上限は,導入機器の性能によって制限される。案 2(クラウド型):・WAF は,サービス事業者に設置されたものを利用する。・設定とログ解析は,サービス事業者が実施する。・図 2 中の機器のうち,[ c ] サーバにおいて,サービス事業者の指示どおりに次のように設定する。− [ d ] レコードにおいて,公開 Web サーバの別名としてサービス事業者に指定された FQDN を記述する。−(省略)・通信量の上限は,サービス利用契約を随時変更し,切り替えることができる。
表 1 WAF の導入案

β 製品本部の Y 脆弱性がある公開 Web サーバには,新製品の発表時などに,購入希望者からのアクセスが通常時の 100 倍程度まで一時的に増大するものがあり,かつ,次の新製品発表が 3 週間後に予定されている。このため,Q 主任は,案 2 を選び,⑥クラウド型の WAF を 1 週間後に導入し,β 製品本部での Y 脆弱性に対する代替策とする案を P 部長に提案した。P 部長は,この提案を承認し,センタ部に作業を指示した。

〔Y 脆弱性への追加対応〕

WAF 導入後,β 製品本部でのサーバへのパッチ適用前のある日,Y 脆弱性について,社外から直接はアクセスできない機器も社外から攻撃を受ける可能性があるという追加情報(以下,Y 追加情報という)が公表された。A 社の情報システムの構成では,FW によって社外から社内 Web サーバへのアクセスを防いでいる。しかし,Y 追加情報によれば,図 8 に示すような,社外から社内 Web サーバに対する Y 脆弱性を悪用した攻撃が考えられるという。

社内 Web サーバ,Web ブラウザ,FW(ここまで A 社内),攻撃者のサイト(社外)の間のシーケンス図。(1) HTTP リクエスト:Web ブラウザから FW を通って攻撃者のサイトへ。(2) HTTP レスポンス([ e ] を使った攻撃コード):攻撃者のサイトから Web ブラウザへ。(3) HTTP リクエスト([ e ] によるクロスオリジンリクエスト):Web ブラウザから社内 Web サーバへ。(4) HTTP レスポンス:社内 Web サーバから Web ブラウザへ。(5) HTTP リクエスト(情報の送信):Web ブラウザから FW を通って攻撃者のサイトへ。
図 8 社内 Web サーバに対する Y 脆弱性を悪用した攻撃

次の条件 1〜3 が全て成立すると,この攻撃は,成功する可能性がある。

A 社内の Web ブラウザが攻撃者のサイトにアクセスしてしまうと,e を使った攻撃コードがダウンロードされ,実行される。攻撃コードが実行されたとしても,条件 3 が成立していない場合,現在 A 社で利用を許可している Web ブラウザでは,h ポリシによって,攻撃コードが社内 Web サーバからの HTTP レスポンスを読み取ることはできない。しかし,条件 3 が成立している場合,攻撃コードが社内 Web サーバからの HTTP レスポンスを読み取ることができ,その内容を攻撃者のサイトへ送信することで,社内 Web サーバに対する攻撃が成功する。

A 社では,社内 Web サーバは,クロスオリジンリクエストに対する図 8 中の(4)の HTTP レスポンスに,ヘッダとして g を付加していないことが調査の結果分かった。このため,Q 主任は,社内 Web サーバ上のデータが操作される可能性はあるものの,Web ブラウザ経由で情報が攻撃者のサイトに送信される可能性は低いと判断した。

Q 主任は,Y 追加情報による対策の変更は必要ないことを P 部長に報告した。P 部長は,念のため社外のセキュリティ専門業者の F 氏にレビューを依頼するよう Q 主任に指示した。

Q 主任から説明を受け,F 氏は,攻撃者が A 社のプロキシサーバを利用するために必要な情報を知ることができた場合には,図 8 中の(4),(5)とは別の手法を用いることで,社内 Web サーバの情報が攻撃者のサイトに送信されるおそれがあると指摘した。そして,F 氏は,⑦どのような機能をもつ OS コマンドが社内 Web サーバで利用できる場合に,それが可能かを説明した。Q 主任は,直ちに対策する必要があると P 部長に報告した。P 部長は,対策を追加するとともに,Y 脆弱性への対応を振り返ると,脆弱性レベル高の脆弱性については,重要度レベル低の機器であっても,直ちに脆弱性対策を実施すべき場合があるとして,Q 主任に脆弱性対策基準の見直しを指示した。

〔脆弱性対策基準の見直し〕

Q 主任は,重要情報を扱ってはいないが社外からアクセスできる機器,及び社外からアクセスできないが重要情報を扱っている機器も,場合によっては直ちに脆弱性に対応する必要があると考えた。ただし,情報システム担当者の作業負荷の観点から,図 4 において対策が不要となる機器については,引き続き,対策を行わずに済むようにしたい。そこで,脆弱性対策基準の中の“4. 脆弱性対策適用の緊急度判断基準”の修正案(図 9)を作成した。

枠で囲んだ修正案。4. 脆弱性対策適用の緊急度判断基準:リスクレベルに基づき,脆弱性対策適用の緊急度を判断する。・リスクレベル 3 の場合は,直ちに脆弱性対策を実施する。・リスクレベル 2 の場合は,次回のシステム保守時に脆弱性対策を実施する。ただし,V チームが機器ごとに緊急度を評価し,その結果,緊急度が高いと判断された場合は,リスクレベル 3 と同じく,直ちに脆弱性対策を実施する。・リスクレベル 1 の場合は,今後の追加情報に注意して経過を見守る。脆弱性対策については,脆弱性情報にパッチや回避策の記載がある場合には,その適用方法を検討する。脆弱性情報に脆弱性対策の記載がない場合には,何らかの対策を検討する。
図 9 脆弱性対策基準の修正案

この修正案について,F 氏は,⑧V チームによる評価が必要な場合の数を減らすことができると指摘した。Q 主任による修正案(図 9)の代わりとして,F 氏は,次の 2 点を提案した。

Q 主任は,この提案を基に,脆弱性対策基準の別の修正案を作成した。修正箇所を図 10 に示す。

枠で囲んだ修正箇所。1. 機器の重要度レベルの定義:機器ごとの重要度レベルを,次表によって高・中・低の 3 段階に分ける。社外からアクセスできる機器は,重要情報を扱っている場合は重要度レベル高,重要情報を扱っていない場合は重要度レベル[ i ]。社外からアクセスできない機器は,重要情報を扱っている場合は重要度レベル中,重要情報を扱っていない場合は重要度レベル低。3. リスクレベルの定義:機器と脆弱性情報の組合せごとのリスクレベルを,次表によってリスクが低い順に 1・2・3 の 3 段階に分ける。脆弱性レベル高は,重要度レベル高ならリスクレベル 3,重要度レベル中ならリスクレベル 2 又は 3 注 1),重要度レベル低ならリスクレベル 2。脆弱性レベル低は,重要度レベル高ならリスクレベル 2,重要度レベル中ならリスクレベル 1,重要度レベル低ならリスクレベル 1。注 1) V チームが機器ごとにリスクを評価し,その結果,[ j ] というリスク又は [ k ] というリスクが高いと判断された場合は,リスクレベル 3 とする。
図 10 脆弱性対策基準の修正箇所

Q 主任は,脆弱性対策基準の修正箇所を P 部長に説明し,承認を得た。承認された脆弱性対策基準は,即時,V チーム内に周知された。その後,WAF の導入を含む対応作業も完了し,Y 脆弱性対応が終結した。

出題趣旨(IPA)

本問は,情報システムを運用する組織における脆弱性対応に関する問題である。昨今,広く利用されている機器において重大な脆弱性が連続的に報告されることがあり,機器を利用する側としては,緊急性を要する脆弱性にどのように対処するのかが問われるケースが増えてきた。個別の脆弱性に場当たり的に対処するのでは非効率であり,脆弱性対応を行う作業者の負荷も考慮し,迅速かつ的確に脆弱性に対応する必要性が増している。本問では,脆弱性が及ぼす影響を技術的に判断する能力,及び頻発する脆弱性への組織的対応方法に関する知識を問う。

採点講評(問全体・IPA)

問2では,bashの脆弱性と,技術面と運用面における脆弱性対策の立案について出題した。

設問と解答例

設問1(1)

本文中の下線①について,公開 Web サーバに対する X 脆弱性の適切なリスクレベルを,図 4 の脆弱性対策基準に基づき判断し,解答群の中から選び,記号で答えよ。 解答群 ア 該当しない イ リスクレベル 1 ウ リスクレベル 2 エ リスクレベル 3

解答例

  • ウ
解説

本文の根拠

〔脆弱性の公表と対応〕

CVSS 基本値は 6.5 であった。

〔脆弱性の公表と対応〕

①社外の取引先と重要情報を共有するための公開 Web サーバ

図4 2.

CVSS 基本値が 7.0 以上の脆弱性を脆弱性レベル高とする。・それ以外は,脆弱性レベル低とする。

図4 1.

社外からアクセスできる機器は,重要情報を扱っている場合は重要度レベル高

図4 3.

脆弱性レベル低は,重要度レベル高ならリスクレベル 2

図 4 の基準を順に当てはめる。X 脆弱性の CVSS 基本値は 6.5 で 7.0 未満なので,脆弱性レベルは低である。下線①のサーバは公開 Web サーバなので社外からアクセスでき,取引先と重要情報を共有するので重要情報を扱っている。重要度レベルは高である。脆弱性レベル低と重要度レベル高の組合せはリスクレベル 2 になる。解答例は“ウ”(リスクレベル 2)である。

リスクレベル 2 の場合は,図 4 の 4. により次回のシステム保守時に脆弱性対策を実施する。CVSS 基本値だけを見て“直ちに対策(リスクレベル 3)”としたり,脆弱性レベル低だけを見て“リスクレベル 1”としたりすると誤る。

公開 Web サーバには,会社情報の提供用のように重要情報を扱わないものもある(その場合は重要度レベル低)。下線①は“重要情報を共有するための”サーバなので,重要度レベル高と読む。

採点講評(IPA)

設問1は,脆弱性対応の基本的な考え方について問う問題である。正答率は高かった。

設問1(2) 45字以内

本文中の下線②について,記載する目的は何か。45 字以内で述べよ。

解答例

  • 脆弱性が発見された特定のバージョンのソフトウェアが導入された機器を迅速に特定するため
解説

本文の根拠

〔脆弱性対策の立案〕

各機器に搭載された OS,サーバソフトウェアやミドルウェアなどのソフトウェアの名称とバージョンは記載されていない。

〔脆弱性の公表と対応〕

ある Web アプリケーションのソフトウェアパッケージ(以下,ソフトウェア M という)のバージョン Z に SQL インジェクションの脆弱性(以下,X 脆弱性という)があり

〔脆弱性の公表と対応〕

V チーム員は,ソフトウェア M を導入しているかどうかの確認に手間取り,1 週間後に Q 主任に調査結果を報告した。

脆弱性情報は“ソフトウェア M のバージョン Z”のように,特定のソフトウェアの特定のバージョンについて公表される。固定資産管理台帳にはソフトウェアの名称とバージョンが無かったので,V チーム員は機器を一つずつ確かめることになり,報告まで 1 週間掛かった。新台帳にバージョンを含むソフトウェアの情報を載せれば,脆弱性情報が出たときに台帳を引くだけで該当する機器が分かる。解答例は“脆弱性が発見された特定のバージョンのソフトウェアが導入された機器を迅速に特定するため”である。

実際,次の Y 脆弱性では新台帳を基に確認し,影響する公開 Web サーバ 13 台がすぐに分かっている。なお,当初の見落としの直接の原因は機器が台帳に無かったことで,こちらには“新規導入や構成変更の際に新台帳を速やかに修正する手順”で対応している。

字数は 45 字以内で,解答例は 42 字である。“特定のバージョンのソフトウェアが導入された機器”と“迅速に特定する”の二つを残す。バージョンまで書くのは,同じソフトウェアでも脆弱性のあるバージョンかどうかで対応が変わるからである。

採点講評(IPA)

設問1は,脆弱性対応の基本的な考え方について問う問題である。正答率は高かった。

設問2(1)

本文中の下線③について,必要な条件を解答群の中から選び,記号で答えよ。 解答群 ア HTTP の通信が TLS で暗号化されていないこと イ HTTP の通信が TLS で暗号化されていること ウ Web サーバに Y 脆弱性がある bash が導入されていること エ Web ブラウザが Cookie を受け入れないように設定されていること オ Web ブラウザが Cookie を受け入れるように設定されていること

解答例

  • ウ
解説

本文の根拠

〔新たな脆弱性の公表と対応〕

Web サーバにおいても,③ある条件を満たす場合には,この Y 脆弱性を悪用される。

図7

(2) Web アプリ B が起動され,bash が呼び出される(Web サーバ(httpd)の中の処理)。

Y 脆弱性は bash の脆弱性なので,Web サーバで悪用されるには,そのサーバに Y 脆弱性のある bash が導入されていることが前提になる(図 7 では Web アプリ B の起動時に bash が呼び出される)。解答例は“ウ”である。

TLS で暗号化するかどうかは通信路の盗聴を防ぐかどうかの違いで,暗号化しても Web サーバ(httpd)は復号したリクエストをそのまま受け取るので,悪用の可否は変わらない(ア・イ)。Cookie を受け入れるかどうかは利用者の Web ブラウザの設定で,攻撃者が自分で送るリクエストには関係しない(エ・オ)。

“ある条件”は,脆弱性そのものがサーバ側にあることを問うている。暗号化や Cookie のように,攻撃者がリクエストを組み立てるときに何の妨げにもならない条件は外す。

設問2(2)

図 7 について,Web サーバ(httpd)に対して Y 脆弱性を悪用され,図 6 の例と同様に cat コマンドが実行されたとき,どのような権限で,cat コマンドが実行されるか。解答群の中から選び,記号で答えよ。 解答群 ア bash の所有者の権限 イ cat コマンドの所有者の権限 ウ Web アプリ B の実行時の権限 エ Web ブラウザの実行時の権限

解答例

  • ウ
解説

本文の根拠

図7

(2) Web アプリ B が起動され,bash が呼び出される(Web サーバ(httpd)の中の処理)。

〔新たな脆弱性の公表と対応〕

このとき,cat コマンドの実行時の権限によっては,攻撃者にどのようなファイルでも参照されてしまう。

図 7 では,Web サーバ(httpd)が Web アプリ B を起動し,Web アプリ B が bash を呼び出す。bash は Web アプリ B から起動された子のプロセスとして Web アプリ B と同じ権限で動き,Y 脆弱性によってその bash が実行する cat コマンドも同じ権限で動く。解答例は“ウ”(Web アプリ B の実行時の権限)である。

bash や cat コマンドのプログラムファイルの所有者(多くは管理者)の権限で動くわけではない(ア・イ)。Web ブラウザは攻撃者の手元で動くもので,サーバ上のコマンドの権限とは関係しない(エ)。本文の“cat コマンドの実行時の権限によっては”は,Web アプリ B が強い権限で動いていれば被害が広がるという意味で,Web アプリ B を必要最小限の権限で動かすことが被害を抑える対策になる。

ファイルの所有者と,プロセスが動く権限とを混同しないことが要点である。

設問2(3) 解答欄1つ

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

〔a〕解答例

  • HTTPリクエスト
解説

本文の根拠

〔新たな脆弱性の公表と対応〕

典型的な Web サーバでは,Web サーバ(httpd)が a ヘッダの④フィールド値を環境変数として設定してから Web アプリ B を起動するので

〔新たな脆弱性の公表と対応〕

Y 脆弱性が存在する bash では,環境変数の値が“() {”という文字列で始まる場合,関数として解釈され,実行することができる。

CGI の仕様(RFC 3875)の 4.1.18 は,“HTTP_”で始まるメタ変数にはクライアントのリクエストヘッダフィールドから読んだ値が入ると定めている。ヘッダフィールド名は大文字にし,“-”を“_”に置き換え,“HTTP_”を前に付けて変数名にする。つまり Web サーバ(httpd)は,HTTP リクエストのヘッダの値を環境変数として Web アプリ B に渡す。解答例は“HTTPリクエスト”である。

ヘッダの値は攻撃者が自由に決められるので,値を“() {”で始めれば,Y 脆弱性のある bash は環境変数を引き継ぐときにその後ろのコマンドを実行してしまう。ここが Web サーバで Y 脆弱性が遠隔から悪用できる理由である。

字数は 10 字以内で,解答例は 9 字である。“HTTP レスポンス”ではない。環境変数に入るのはサーバが受け取ったクライアントからの情報である。

設問2(4)

本文中の下線④について,図 7 中の Web サーバ(httpd)に対して Y 脆弱性を悪用された場合,ファイル /etc/passwd を不正に参照されるときにフィールド値として指定される文字列を答えよ。ここで,cat コマンドはディレクトリ /usr/bin 下にあるものとする。

解答例

  • () { echo test; }; /usr/bin/cat /etc/passwd
解説

本文の根拠

図6

export TEST2='() { echo test; }; /usr/bin/cat /etc/passwd'

〔新たな脆弱性の公表と対応〕

区切り文字“;”の後に書かれたコマンドを実行してしまうというものである。

〔新たな脆弱性の公表と対応〕

例えば,図 6 の例と同様の場合であれば,cat コマンドが実行され

図 6 では,環境変数 TEST2 に“() { echo test; }; /usr/bin/cat /etc/passwd”を設定すると,bash の起動だけで“;”の後ろの cat コマンドが実行される。Web サーバでは,HTTP リクエストのヘッダのフィールド値がそのまま環境変数の値になるので,攻撃者はフィールド値にこの文字列を指定すればよい。解答例は“() { echo test; }; /usr/bin/cat /etc/passwd”である。

export コマンドや TEST2= の部分,前後の引用符は,シェルで環境変数を設定するための記述で,フィールド値には含めない。Web サーバ(httpd)が環境変数を設定する役を代わりに果たすからである。cat コマンドは /usr/bin 下にあるという指定があるので,絶対パス /usr/bin/cat で書く。

字数の制限は無いが,記号の一つ一つが意味を持つ。先頭の“() {”で始まらなければ関数として解釈されず,関数定義の後の“;”が無ければ後ろのコマンドは実行されない。空白や記号を図 6 と 1 字も違わない形で書く。

採点講評(IPA)

設問2は,bashの脆弱性に関する問題である。設問2(4)のフィールド値として指定される文字列の問いについての正答率は低かった。脆弱性を理解する上で,どのようなコマンドがその要因となるかを把握することは重要である。コマンドを読み取る能力を深めてほしい。

設問3(1) 解答欄1つ

本文中の b に入れる WAF の攻撃検知手法を,15 字以内で答えよ。

〔b〕解答例

  • パターンマッチング
解説

本文の根拠

〔WAFによる脆弱性対策〕

V チームでは,シグネチャによる b という手法で攻撃を検知できる Web アプリケーションファイアウォール(WAF)が代替策になるかどうか

シグネチャは,既知の攻撃に特有の文字列やパターンを定義したものである。WAF は HTTP リクエストの中身をシグネチャと照合し,一致すれば攻撃として検知する。この手法をパターンマッチングという。解答例は“パターンマッチング”である。

Y 脆弱性の攻撃では,ヘッダのフィールド値が“() {”で始まるという特徴があるので,シグネチャで検知しやすい。G 氏が“Y 脆弱性への対応も既に可能になっている”と答えたのは,ベンダがそのためのシグネチャを用意していたという意味である。

字数は 15 字以内で,解答例は 9 字である。“シグネチャによる”と本文にあるので,“ブラックリスト方式”のように別の観点の語ではなく,照合のやり方を表す語を答える。

設問3(2) 40字以内

本文中の下線⑤について,期間が短い理由を検証作業の観点から 40 字以内で述べよ。

解答例

  • WAFの場合,検証作業の試験項目がパッチ適用のときよりも少なくて済むから
解説

本文の根拠

〔WAFによる脆弱性対策〕

WAF による対応は,サーバへのパッチ適用に比べて,⑤対策を実施するまでの期間が短いといわれており

〔WAFによる脆弱性対策〕

β 製品本部機器は,パッチの適用作業に 1 か月が必要なので,代替策を検討する必要があるとの報告を受けた。

パッチはサーバのソフトウェア自体を書き換えるので,適用前に,そのサーバ上の Web アプリケーションが変わらず動くかを広く試験する必要がある。β 製品本部ではパッチの適用作業に 1 か月が必要だった。WAF はサーバの前で通信を検査するだけで,サーバのソフトウェアには手を加えないので,確かめる項目は WAF の設定や検知の動作に絞られる。解答例は“WAFの場合,検証作業の試験項目がパッチ適用のときよりも少なくて済むから”である。

設問は“検証作業の観点から”と指定しているので,“サーバを止めなくてよい”“作業が簡単”のような別の観点ではなく,事前に確かめる範囲(試験項目)の違いを書く。

字数は 40 字以内で,解答例は 36 字である。“WAF の場合”と“パッチ適用のとき”の比較の形と,“試験項目が少ない”という理由の核を残す。

設問3(3) 解答欄2つ

表 1 中の c,d に入れる適切な字句を解答群の中から選び,記号で答えよ。 解答群 ア bash イ CNAME ウ DNS エ HINFO オ MX カ 公開 Web キ 社内 Web ク メール

〔c〕解答例

  • ウ

〔d〕解答例

  • イ
解説

本文の根拠

表1 案2

図 2 中の機器のうち,c サーバにおいて,サービス事業者の指示どおりに次のように設定する。− d レコードにおいて,公開 Web サーバの別名としてサービス事業者に指定された FQDN を記述する。

表1 案2

WAF は,サービス事業者に設置されたものを利用する。

クラウド型の WAF はサービス事業者の側にあるので,利用者のアクセスを WAF に向ける必要がある。そのために,公開 Web サーバの名前を引いたときにサービス事業者の FQDN が返るように,A 社の DNS サーバの設定を変える。ある名前を別名とし,正式名(正規名)を示すレコードは CNAME レコード(RFC 1034)である。解答例は c が“ウ”(DNS),d が“イ”(CNAME)である。

図 2 の DMZ には DNS サーバがあり,公開 Web サーバの名前はここで管理されていると読める。HINFO はホストのハードウェアや OS の情報,MX はメールの配送先を示すレコードで,別名の設定には使わない。

c は“サーバ”の前に入る語なので,図 2 の機器名から選ぶ。“公開 Web”サーバの設定を変えても利用者のアクセス先は変わらない。名前解決の結果を変えるのは DNS サーバである。

採点講評(IPA)

設問3は,WAFによる脆弱性対策について問う問題である。設問3(3)のクラウド型WAFの導入方法の問いについての正答率は低かった。外部のセキュリティサービスを利用する場合の設定は基本的な知識であるため,よく理解してほしい。

設問3(4) 50字以内

本文中の下線⑥について,Q 主任がオンプレミス型ではなくクラウド型を選ぶ根拠となったクラウド型の利点を,50 字以内で述べよ。

解答例

  • 通信量の上限の切替えでWAFの能力変更が随時可能,かつ作業工数やコストの観点から無駄がない。
解説

本文の根拠

表1 案1

通信量の上限は,導入機器の性能によって制限される。

表1 案2

通信量の上限は,サービス利用契約を随時変更し,切り替えることができる。

〔WAFによる脆弱性対策〕

β 製品本部の Y 脆弱性がある公開 Web サーバには,新製品の発表時などに,購入希望者からのアクセスが通常時の 100 倍程度まで一時的に増大するものがあり

β 製品本部の公開 Web サーバには,新製品の発表時にアクセスが通常の 100 倍程度まで一時的に増えるものがある。オンプレミス型では通信量の上限が機器の性能で決まるので,ピークに合わせた高性能な機器を買う必要があり,普段はその能力が余る。クラウド型なら契約を随時変えて通信量の上限を切り替えられるので,発表の時期だけ能力を上げ,それ以外は下げられる。解答例は“通信量の上限の切替えでWAFの能力変更が随時可能,かつ作業工数やコストの観点から無駄がない。”である。

次の新製品発表は 3 週間後で,WAF は 1 週間後に導入する。機器の購入・設置が要らず,契約の切替えだけで済むので,その日程にも間に合わせやすい。

字数は 50 字以内で,解答例は 46 字である。“通信量の上限を随時切り替えられる”という表 1 の違いと,それによって“工数やコストに無駄がない”という利点の両方を残す。

設問4(1) 解答欄1つ

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

〔f〕解答例

  • 社内WebサーバのURL
解説

本文の根拠

〔Y脆弱性への追加対応〕 条件1

攻撃者が f を知ることができ,その情報を図 8 の(2)の攻撃コードに組み込むことができること

図8

(3) HTTP リクエスト(e によるクロスオリジンリクエスト):Web ブラウザから社内 Web サーバへ。

〔Y脆弱性への追加対応〕 条件2

社内 Web サーバにおいて,CGI を利用した Web アプリケーションプログラムが,bash を呼び出すこと

図 8 の攻撃では,攻撃者のサイトから送り込んだ攻撃コードが,A 社内の Web ブラウザから社内 Web サーバへリクエストを送る((3))。攻撃者は社外から社内 Web サーバに直接アクセスできないので,リクエストの宛先,つまり社内 Web サーバの URL をあらかじめ知って攻撃コードに書き込んでおく必要がある。条件 2 の bash を呼び出す CGI に届くよう,そのプログラムの URL まで要る。解答例は“社内WebサーバのURL”である。

攻撃コードは社内の Web ブラウザの上で動くので,FW を通らずに社内 Web サーバに届く。これが“社外から直接はアクセスできない機器も社外から攻撃を受ける”という Y 追加情報の意味である。

字数は 20 字以内で,解答例は 12 字である。“IP アドレス”だけでは CGI のパスまでは示せないので,宛先を丸ごと表す“URL”と書く。

採点講評(IPA)

設問4は,脆弱性を悪用した攻撃手法について問う問題である。正答率は低かった。Webサーバに関する技術的な知識を深めるとともに,状況設定を勘案した上で,脆弱性を悪用することによってどのような攻撃手法が可能となるかを推測する能力を深めてほしい。

設問4(2) 解答欄3つ

図 8 中及び本文中の e,g 及び h に入れる適切な字句を解答群の中から選び,記号で答えよ。 解答群 ア Access-Control-Allow-Origin イ Canvas ウ HSTS エ X-Forwarded-For オ XMLHttpRequest(XHR) カ 情報セキュリティ キ 同一生成元 ク プライベートブラウジング

〔e〕解答例

  • オ

〔g〕解答例

  • ア

〔h〕解答例

  • キ
解説

本文の根拠

図8

(2) HTTP レスポンス(e を使った攻撃コード):攻撃者のサイトから Web ブラウザへ。

〔Y脆弱性への追加対応〕

攻撃コードが実行されたとしても,条件 3 が成立していない場合,現在 A 社で利用を許可している Web ブラウザでは,h ポリシによって,攻撃コードが社内 Web サーバからの HTTP レスポンスを読み取ることはできない。

〔Y脆弱性への追加対応〕 条件3

図 8 の(4)の HTTP レスポンスにヘッダとして g が付加されていること

〔Y脆弱性への追加対応〕

このため,Q 主任は,社内 Web サーバ上のデータが操作される可能性はあるものの,Web ブラウザ経由で情報が攻撃者のサイトに送信される可能性は低いと判断した。

Web ブラウザのスクリプトから HTTP リクエストを送る仕組みが XMLHttpRequest(XHR)で,攻撃コードはこれを使って社内 Web サーバへのクロスオリジンリクエストを送る。e は“オ”である。スクリプトが読み込まれたサイト(攻撃者のサイト)と別のオリジン(スキーム・ホスト・ポートの組,RFC 6454)の応答は,同一生成元ポリシ(同一オリジンポリシ)によって読めない。h は“キ”である。ただし応答側が Access-Control-Allow-Origin ヘッダで要求元のオリジンを許可していれば,CORS の仕組みによって読めるようになる。g は“ア”である。

同一生成元ポリシが止めるのは応答の読み取りで,リクエストの送信そのものは止めない。そのためリクエストに仕込んだ Y 脆弱性の攻撃は社内 Web サーバで実行され得る。本文が“データが操作される可能性はある”としているのはこのためで,送信されないのは応答の内容である。

HSTS は HTTPS の利用を強制する仕組み,X-Forwarded-For はプロキシなどが元の送信元 IP アドレスを伝えるヘッダで,どちらもここには当てはまらない。g は応答に付くヘッダ,h はブラウザの制限の名前,e はリクエストを送る仕組みと,空欄ごとの役割で選ぶ。

採点講評(IPA)

設問4は,脆弱性を悪用した攻撃手法について問う問題である。正答率は低かった。Webサーバに関する技術的な知識を深めるとともに,状況設定を勘案した上で,脆弱性を悪用することによってどのような攻撃手法が可能となるかを推測する能力を深めてほしい。

設問4(3) 30字以内

本文中の下線⑦について,どのような機能がこれに該当するか。30 字以内で具体的に述べよ。

解答例

  • プロキシサーバを通じて攻撃者のサイトと通信する機能
解説

本文の根拠

〔Y脆弱性への追加対応〕

攻撃者が A 社のプロキシサーバを利用するために必要な情報を知ることができた場合には,図 8 中の(4),(5)とは別の手法を用いることで,社内 Web サーバの情報が攻撃者のサイトに送信されるおそれがあると指摘した。

〔A社の情報システムの構成〕

社内サーバセグメントと各 PC セグメント上の機器からは,プロキシサーバを経由したインターネット上の Web サイトへのアクセスが許可されており

〔A社の情報システムの構成〕

社内サーバセグメントと各 PC セグメント上の機器からのプロキシサーバを経由しないインターネットへのアクセスは,FW によって禁止されている。

Y 脆弱性を使えば,図 8 の(3)のリクエストで社内 Web サーバに任意のコマンドを実行させられる。応答をブラウザ経由で持ち出す(4)(5)は同一生成元ポリシで防がれても,社内 Web サーバ自身に攻撃者のサイトへ情報を送らせれば持ち出せる。社内サーバセグメントからは,プロキシサーバを経由すればインターネットの Web サイトにアクセスできる(経由しないアクセスは FW が禁止)。攻撃者がプロキシサーバの情報を知っていれば,プロキシサーバを通じて攻撃者のサイトへ通信する OS コマンドを実行させればよい。解答例は“プロキシサーバを通じて攻撃者のサイトと通信する機能”である。

この攻撃では社内 Web サーバが社外へ通信する主体になるので,ブラウザの同一生成元ポリシは関係しない。Q 主任が“直ちに対策する必要がある”と報告を改めたのはこのためである。

字数は 30 字以内で,解答例は 25 字である。“プロキシサーバを通じて”と“攻撃者のサイトと通信する”の二つを残す。FW が直接の通信を禁止しているので,プロキシサーバ経由であることが要点になる。

採点講評(IPA)

設問4は,脆弱性を悪用した攻撃手法について問う問題である。正答率は低かった。Webサーバに関する技術的な知識を深めるとともに,状況設定を勘案した上で,脆弱性を悪用することによってどのような攻撃手法が可能となるかを推測する能力を深めてほしい。

設問5(1) 解答欄1つ

図 10 中の i に入れる適切な字句を答えよ。

〔i〕解答例

  • 中
解説

本文の根拠

図10 1.

社外からアクセスできる機器は,重要情報を扱っている場合は重要度レベル高,重要情報を扱っていない場合は重要度レベルi。社外からアクセスできない機器は,重要情報を扱っている場合は重要度レベル中,重要情報を扱っていない場合は重要度レベル低。

〔脆弱性対策基準の見直し〕

Q 主任は,重要情報を扱ってはいないが社外からアクセスできる機器,及び社外からアクセスできないが重要情報を扱っている機器も,場合によっては直ちに脆弱性に対応する必要があると考えた。

図 10 は重要度レベルを高・中・低の 3 段階にした。Q 主任が“場合によっては直ちに対応が必要”と考えたのは,重要情報を扱わないが社外からアクセスできる機器と,社外からアクセスできないが重要情報を扱う機器の二つである。後者が“中”になっているので,前者も同じく“中”に置き,リスクレベル“2 又は 3”の評価対象にする。解答例は“中”である。

どちらの条件にも当てはまる機器(扱っていて,アクセスできる)は高,どちらにも当てはまらない機器は低で,条件が一つだけ当てはまる機器が中になる,と整理できる。

字数の制限は無い。“中”の一字で,“高”“低”にしないのは,社外アクセスか重要情報のどちらか一方だけのリスクを持つ機器を,両方を持つ機器(高)や両方持たない機器(低)と分けるためである。

採点講評(IPA)

設問5は,運用面を考慮した脆弱性対策について問う問題である。適切な脆弱性対策を維持していくためには,運用面の配慮が不可欠となる。実現可能な対策を立案できる人材になるように努めてほしい。

設問5(2)

本文中の下線⑧について,図 9 の案ではリスクレベルの評価を行わなければならないが,図 10 では行わなくて済むのはどのような場合か。解答群の中から全て選び,記号で答えよ。 解答群(重要情報の扱い/社外からのアクセス/脆弱性レベル) ア 扱っていない/できない/高 イ 扱っていない/できない/低 ウ 扱っていない/できる/高 エ 扱っていない/できる/低 オ 扱っている/できない/高 カ 扱っている/できない/低 キ 扱っている/できる/高 ク 扱っている/できる/低

解答例

  • ア,ク
解説

本文の根拠

図9

リスクレベル 2 の場合は,次回のシステム保守時に脆弱性対策を実施する。ただし,V チームが機器ごとに緊急度を評価し

図4 3.

脆弱性レベル高は,重要度レベル高ならリスクレベル 3,重要度レベル低ならリスクレベル 2。脆弱性レベル低は,重要度レベル高ならリスクレベル 2,重要度レベル低ならリスクレベル 1。

図10 3.

脆弱性レベル高は,重要度レベル高ならリスクレベル 3,重要度レベル中ならリスクレベル 2 又は 3 注 1),重要度レベル低ならリスクレベル 2。

本文

⑧V チームによる評価が必要な場合の数を減らすことができる

図 9 では,リスクレベル 2 の全ての場合に V チームの評価が要る。図 4 の重要度レベルは,重要情報を扱い社外からアクセスできる機器(キ・ク)だけが高で,ほかは低である。リスクレベル 2 になるのは,重要度高×脆弱性低のク,重要度低×脆弱性高のア・ウ・オの四つである。図 10 で評価が要るのは重要度中×脆弱性高(“2 又は 3”)だけで,重要度中はウ(扱っていない・できる)とオ(扱っている・できない)である。ア(扱っていない・できない=低)とク(高×脆弱性低)は,図 10 ではそれぞれリスクレベル 2 に決まり評価が要らない。解答例は“ア,ク”である。

ウ・オは図 9 でも図 10 でも評価が要る。イ・エ・カはどちらでもリスクレベル 1,キはどちらでもリスクレベル 3 なので評価は要らない。設問は“図 9 では評価が必要で,図 10 では不要”な場合を問うので,両方の条件を満たすものだけを選ぶ。

8 行を一つずつ,図 4 での重要度とリスクレベル,図 10 での重要度とリスクレベルを並べて確かめると漏れが無い。

採点講評(IPA)

設問5は,運用面を考慮した脆弱性対策について問う問題である。適切な脆弱性対策を維持していくためには,運用面の配慮が不可欠となる。実現可能な対策を立案できる人材になるように努めてほしい。

設問5(3) 解答欄2つ

図 10 中の j,k に入れる適切な字句をそれぞれ 15 字以内で答えよ。

〔j〕解答例

  • 重要情報が漏えいする

〔k〕解答例

  • 社外から侵入される

〔備考〕j,k は順不同

解説

本文の根拠

図10 注1)

V チームが機器ごとにリスクを評価し,その結果,j というリスク又は k というリスクが高いと判断された場合は,リスクレベル 3 とする。

〔新たな脆弱性の公表と対応〕

Y 脆弱性が悪用されると公開 Web サーバが改ざんされるおそれもあり

〔Y脆弱性への追加対応〕

社内 Web サーバの情報が攻撃者のサイトに送信されるおそれがあると指摘した。

評価が要るのは重要度レベル中の機器で,二つの種類がある。社外からアクセスできないが重要情報を扱う機器(社内 Web サーバなど)では,Y 追加情報の攻撃のように情報を社外に持ち出されること,つまり重要情報が漏えいするリスクを見る。重要情報を扱わないが社外からアクセスできる機器(重要度レベル低の公開 Web サーバなど)では,社外から侵入され,改ざんなどの被害を受けるリスクを見る。解答例は j が“重要情報が漏えいする”,k が“社外から侵入される”(順不同)である。

Y 脆弱性の対応で Q 主任が重要度レベル低の公開 Web サーバにも直ちに対策を求めたのは後者,F 氏が社内 Web サーバの情報の送信を指摘したのは前者に当たる。

字数はそれぞれ 15 字以内で,解答例は j が 10 字,k が 9 字である。重要度レベルの二つの軸(重要情報の扱い,社外からのアクセス)にそれぞれ対応するリスクを一つずつ書く。

採点講評(IPA)

設問5は,運用面を考慮した脆弱性対策について問う問題である。適切な脆弱性対策を維持していくためには,運用面の配慮が不可欠となる。実現可能な対策を立案できる人材になるように努めてほしい。

出典:平成28年度 秋期 情報処理安全確保支援士試験 午後Ⅱ 問2(表記を一部改変)