‹ ぱすてく

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

平成24年度 春期 午後Ⅰ(旧試験)

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

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

この年度を解いてみる

問1 脆弱性検査の結果とその後の対策

脆弱性検査の結果とその後の対策に関する次の記述を読んで,設問 1~3 に答えよ。

A 社は,衣料品を取り扱う会員制インターネット通販会社である。A 社では,セキュリティ専門会社の B 社に依頼して,Web アプリケーションの脆弱性検査を,年に 4 回定期的に実施している。検査を実施した結果,会員の属性情報の登録,変更などを行う会員情報管理システム(以下,P システムという)において,指摘事項が 2 件報告された。

A 社情報システム部の X 部長は,指摘事項の確認と対策の検討を,Y 主任に指示した。

〔脆弱性検査の結果〕

Y 主任は,早速,B 社の検査担当者から,指摘事項 2 件についての詳細な説明を受けた。

説明に当たって B 社からは,指摘事項 A を検出したときのログイン操作直後の HTTP レスポンス(図 1),指摘事項 B を検出したときに使用された HTTP リクエスト(図 2)と,図 2 の HTTP リクエストに対する HTTP レスポンス(図 3)が示された。検査においてフォーム認証に使用した会員 ID とパスワードは,検査のために用意されたものである。

HTTP/1.1 200 OK
Date: Sun, 01 Apr 2012 12:00:00 GMT
Set-Cookie: JSESSIONID=0C3FE1B62D5B5A5DE5A06E5D5C23F6F9
(以下,省略)
図 1 指摘事項 A を検出したときのログイン操作直後の HTTP レスポンス
GET /mypage/progA?PID=xx&QTY=yy"><script>alert("script")</script> HTTP/1.1
Host: www.a-sha.co.jp
Cookie: JSESSIONID=0C3FE1B62D5B5A5DE5A06E5D5C23F6F9
Referer: http://www.a-sha.co.jp/prog0
(以下,省略)
図 2 指摘事項 B を検出したときに使用された HTTP リクエスト
HTTP/1.1 200 OK
(中略)
<form name="form" method="post" action="/mypage/progB">
    <table>
    <tr>
      <th>商品 ID</th>
      <td><input type="text" name="PID" value="xx" ></td>
      <th>個数</th>
      <td>
        <input type="text" name="QTY" value="yy"><script>alert("script")</script>">
      </td>
    </tr>
    </table>
(以下,省略)
図 3 図 2 の HTTP リクエストに対する HTTP レスポンス

Y 主任は,提示された図 1~3 の内容を手掛かりに,対象のプログラムのソースコードを調査し,指摘事項 A と指摘事項 B が P システムにおいて,脆弱性といえるものであることを確認した。

〔脆弱性の影響の検討〕

続いて Y 主任は,脆弱性の影響について検討を行った。まず,今回の指摘事項 A と指摘事項 B に対して,どのような攻撃があり得るか,また,その攻撃を受けた場合,どのような被害が予想されるかについて検討を行った。検討結果の抜粋は,表 1 のとおりである。

列は 指摘事項/予想される攻撃/予想される被害。A:クッキーに含まれるセッション ID が,非暗号化通信時に盗聴される。/盗聴されたセッション ID が使用され,セッションが乗っ取られる。B:HTTP リクエストに挿入されたスクリプトが,ブラウザ上で実行されることで,クッキー内のセッション ID が窃取される。/窃取されたセッション ID が使用され,セッションが乗っ取られる。
表 1 予想される攻撃と被害(抜粋)

さらに,Y 主任は,これまでに表 1 の攻撃及び被害が実際に起きているかどうかを,ログから確認することにした。

指摘事項 A で予想される攻撃である,セッション ID の盗聴については,ログから検出することは困難である。次善の策として,盗聴されたセッション ID が不正に使用されたことを検出するために,同一のセッション ID が,複数の送信元 IP アドレスから送信されているリクエストをログから抽出することにした。この方法では,①正当なアクセスを誤って検出してしまう場合と,②不正なアクセスを検出できない場合があるが,それらの場合については容認することにした。

指摘事項 B に対する攻撃は,③HTTP アクセスログから検出することにした。ただし,この方法では b メソッドが使用された場合にしか検出できない。

以上の方法で過去のログを確認したところ,不正使用や攻撃は検出されなかった。

〔改修方法の検討〕

Y 主任は,脆弱性への対応を行うために,まず,指摘事項 B に該当する複数のプログラムのソースコードを再度確認した。該当するプログラムの一つを図 4 に示す。

01: import java.io.*;
02: import java.util.*;
03: import javax.servlet.*;
04: import javax.servlet.http.*;
05:
06: public class SearchWord extends HttpServlet {
07:    public void doGet(HttpServletRequest request, HttpServletResponse response)
08:    throws IOException, ServletException {
09:
10:       response.setContentType("text/html;charset=UTF-8");
11:       PrintWriter out = response.getWriter();
12:
13:       String word = request.getParameter("word");
14:       String category = request.getParameter("category");
図 4 指摘事項 B に該当するプログラム
15:
16:       out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML4.01 Transitional//EN\">");
17:       out.println("<html>");
18:       out.println("<head>");
19:       out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset= utf-8\">");
20:       out.println("<title>Search</title>");
21:       out.println("</head>");
22:       out.println("<body>");
23:       out.println("<h3>Search</h3>");
24:       out.println("<form action=\"searchWord\" method=\"GET\">");
25:       out.println("word<br>");
26:       out.println("<input type=\"text\" size=\"10\" name=\"word\">");
27:       out.println("<br>");
28:       out.println("category(option)<br>");
29:       out.println("<input type=\"text\" size=\"10\" name=\"category\">");
30:       out.println("<br>");
31:       out.println("<input type=\"submit\">");
32:       out.println("</form>");
33:
34:       out.println("<br>");
35:       out.println("- - results - - category: " + escape(category) + "<br>");
36:
37:       out.println("<a name=\"#\" onclick= \"alert('" + escape(word) + "')\">");
38:       out.println("Previous search word" );
39:       out.println("</a>");
40:
41:       if (word != null) {
42:         searchResult(out, word, category);
43:       }
44:       out.println("</body>");
45:       out.println("</html>");
46:    }
47:
48:    public void doPost(HttpServletRequest request, HttpServletResponse response)
49:    throws IOException, ServletException {
50:       doGet(request, response);
51:    }
52:
53:    private static String escape(String message) {
54:       //  この関数は,message に含まれる文字を次のように置換した String 型の文字列を返す。
55:       //  「&」→「&amp;」 「<」→「&lt;」 「>」→「&gt;」 「"」→「&quot;」
56:       (省略)
57:    }
58:
59:    private void searchResult(PrintWriter out, String word, String category) {
60:       //  検索を実行し,結果を表示する。
61:       (省略)
62:    }
63: }
図 4 指摘事項 B に該当するプログラム(続き)

このプログラムは,利用者が入力した文字列をダイアログに表示するために,受け取ったパラメタの値をスクリプトに埋め込み,動的にスクリプトを生成する。図 4 の c 行目では,通常の HTML にパラメタの値を埋め込むときと同じ方法で,エスケープ処理を行っていたことから,生成されるスクリプトに問題が生じてしまうことが分かった。

Y 主任は,以上の検討結果から,指摘事項 A と指摘事項 B に対する改修方針を,表 2 のとおりにまとめた。

列は 指摘事項/改修方針。A:暗号化通信でだけ使用するクッキーに [ a ] 属性を設定する。B:出力するときの文脈に合わせたエスケープ処理を行う。
表 2 指摘事項に対する改修方針

特に,表 2 中の指摘事項 B の改修方針を実現するために,図 4 の c 行目の escape 関数呼出しを,新たに作成する escape2 関数(図 5)呼出しに変更することにした。escape2 関数では,意図したスクリプトが生成されるように,まず,スクリプト言語の文法上必要なエスケープ処理を行った後,更に escape 関数でエスケープ処理を行う。

private static String escape2(String message) {
   //  この関数は,message に含まれる文字を次のように置換した String 型の文字列を生成し,
   //  その文字列を escape 関数に渡し,その結果の String 型の文字列を返す。
   //  「 [ d ] 」→「 [ e ] 」 「 [ f ] 」→「 [ g ] 」
   (省略)
}
図 5 新たに作成する escape2 関数

その後,Y 主任は,X 部長の承認を得た上で,改修作業を行い,脆弱性検査結果についての対策を完了した。

出題趣旨(IPA)

Webアプリケーションの脆弱性検査の指摘事項に対する正しい対応策を問う。エスケープ処理では,出力する文脈に合わせた処理を行う必要がある。本問では,特に,スクリプトを動的に生成する場合のセキュアプログラミングに関する知識を問う。

採点講評(問全体・IPA)

問1では,Webアプリケーションの脆弱性検査の指摘事項への対応策について出題した。全体として正答率は低かった。

設問と解答例

設問1 解答欄2つ

本文中と表 2 中の a と,本文中の b に入れる適切な字句を,それぞれ 8 字以内で答えよ。

〔a〕解答例

  • secure

〔b〕解答例

  • GET
解説

本文の根拠

〔脆弱性検査の結果〕

暗号化通信でだけ使用されるべきクッキーに, a 属性が設定されていないページが存在する。

〔脆弱性の影響の検討〕

この方法では b メソッドが使用された場合にしか検出できない。

図 2

GET /mypage/progA?PID=xx&QTY=yy"><script>alert("script")</script> HTTP/1.1

a は,“暗号化通信でだけ使用されるべきクッキー”に付ける属性である。RFC 6265 の 4.1.2.5 は,Secure 属性が付いたクッキーは,ユーザエージェントが“secure”なチャネル(典型的には TLS 上の HTTP)で送るリクエストにだけ含められると定めている。図 1 の Set-Cookie ヘッダにはこの属性が無いので,非暗号化通信のページでもセッション ID がそのまま送られ,表 1 のように盗聴される。表 2 の改修方針でも,暗号化通信でだけ使うクッキーにこの属性を設定すると書かれており,a は secure である。

b は,指摘事項 B に対する攻撃を HTTP アクセスログから検出する方法の限界を問う空欄である。図 2 の攻撃は,スクリプトが GET のリクエスト行(URL のクエリ文字列)に含まれている。アクセスログに残るのはリクエスト行の情報なので,クエリ文字列にスクリプトを入れる GET の場合にしか検出できず,パラメタをリクエストボディに入れる POST の場合は検出できない。解答例は GET である。

字数は,どちらも 8 字以内で,解答例は secure が 6 字,GET が 3 字。属性名とメソッド名だけを書けばよく,説明文を付ける必要はない。

設問2(1) 40字以内

本文中の下線①について,正当なアクセスを誤って検出してしまう場合とはどのような場合か。40 字以内で具体的に述べよ。

解答例

  • 端末のIPアドレスがセッションの途中で変わるようなアクセスの場合
解説

本文の根拠

〔脆弱性の影響の検討〕

同一のセッション ID が,複数の送信元 IP アドレスから送信されているリクエストをログから抽出することにした。

〔脆弱性の影響の検討〕

この方法では,①正当なアクセスを誤って検出してしまう場合と,②不正なアクセスを検出できない場合があるが

ここでの検出条件は“同一のセッション ID が,複数の送信元 IP アドレスから送信されている”ことである。この条件に当てはまるのに,不正ではないアクセスが下線①である。セッション ID を盗んだ攻撃者ではなく,正規の利用者自身のリクエストが複数の IP アドレスから届く場合を考えればよい。

つまり,同じ利用者の端末の IP アドレスが,セッションの途中で変わった場合である。解答例は“端末のIPアドレスがセッションの途中で変わるようなアクセスの場合”(32 字)で,抽出条件(同一セッション ID・複数 IP アドレス)と,それなのに正当である理由(同一端末で IP アドレスが変わる)を組み合わせて書く。

40 字以内の指定に対し,解答例は 32 字。“誤検知される”のように結果だけを書かず,どういう状況かを書く。

採点講評(IPA)

設問2(1)(2)では,攻撃状況をログから解析する場合に,正当なアクセスと不正なアクセスを判別することが困難である具体的な状況を解答してほしかったが,正答率は低かった。特に(2)では,“IPアドレスを詐称した”とする解答が多かったが,本問での状況ではIPアドレスの詐称は起き得ないことに気づいてほしかった。

設問2(2) 40字以内

本文中の下線②について,不正なアクセスを検出できない場合とはどのような場合か。40 字以内で具体的に述べよ。

解答例

  • 攻撃者と被害者が同一のプロキシサーバやNATを経由してアクセスした場合
解説

本文の根拠

〔脆弱性の影響の検討〕

同一のセッション ID が,複数の送信元 IP アドレスから送信されているリクエストをログから抽出することにした。

〔脆弱性の影響の検討〕

この方法では,①正当なアクセスを誤って検出してしまう場合と,②不正なアクセスを検出できない場合があるが

下線②は,不正なアクセスなのに,検出条件の“複数の送信元 IP アドレス”に当てはまらない場合である。不正なアクセスと正規の利用者のアクセスが,ログ上は同じ送信元 IP アドレスに見えれば,同一のセッション ID が複数の IP アドレスから届いたことにならず,検出できない。

そうなるのは,攻撃者と被害者が同じプロキシサーバや NAT を経由してアクセスする場合で,外部から見える送信元 IP アドレスが同じになる。解答例は“攻撃者と被害者が同一のプロキシサーバやNATを経由してアクセスした場合”(35 字)である。講評は,“IP アドレスを詐称した”とする解答が多かったが,本問での状況では IP アドレスの詐称は起き得ないことに気づいてほしかったと述べている。

40 字以内の指定に対し,解答例は 35 字。(1) とは逆に,同じ IP アドレスに見える状況を書く。

採点講評(IPA)

設問2(1)(2)では,攻撃状況をログから解析する場合に,正当なアクセスと不正なアクセスを判別することが困難である具体的な状況を解答してほしかったが,正答率は低かった。特に(2)では,“IPアドレスを詐称した”とする解答が多かったが,本問での状況ではIPアドレスの詐称は起き得ないことに気づいてほしかった。

設問2(3) 35字以内

本文中の下線③について,どのような条件のログを検出すればよいか。35 字以内で具体的に述べよ。

解答例

  • クエリ文字列にスクリプトが含まれているログを検出する。
解説

本文の根拠

図 2

GET /mypage/progA?PID=xx&QTY=yy"><script>alert("script")</script> HTTP/1.1

表 1

HTTP リクエストに挿入されたスクリプトが,ブラウザ上で実行されることで,クッキー内のセッション ID が窃取される。

指摘事項 B に対する攻撃は,図 2 のとおり,リクエストの URL のクエリ文字列に <script> タグが挿入される。HTTP アクセスログにはこのリクエスト行が残るので,ログのうち,クエリ文字列にスクリプトが含まれているものを探せばよい。

設問 1 の b のとおり,この方法で検出できるのは GET メソッドの場合だけである。条件としては,“どのログか”(クエリ文字列)と“何が含まれているか”(スクリプト)の両方を書く。解答例は“クエリ文字列にスクリプトが含まれているログを検出する。”(27 字)である。

35 字以内の指定に対し,解答例は 27 字。“不審なログ”のような一般的な言い方では,条件になっていない。

設問3(1) 解答欄1つ

本文中の c に入れる適切な行番号を一つ数字で答えよ。

〔c〕解答例

  • 37
解説

本文の根拠

〔改修方法の検討〕

このプログラムは,利用者が入力した文字列をダイアログに表示するために,受け取ったパラメタの値をスクリプトに埋め込み,動的にスクリプトを生成する。

図 4(続き)

alert('" + escape(word) + "')

空欄 c は,“パラメタの値をスクリプトに埋め込み,動的にスクリプトを生成する”行である。図 4 のうち,利用者が入力した文字列をダイアログに表示する alert は,37 行目の onclick 属性の中にあり,ここで escape(word) が alert の引数の文字列に埋め込まれている。35 行目の escape(category) は,通常の HTML 本文にパラメタを埋め込む行で,スクリプトではない。

本文の“通常の HTML にパラメタの値を埋め込むときと同じ方法で,エスケープ処理を行っていた”のは,この 37 行目である。表 2 の改修方針もこの行の escape 関数呼出しを escape2 関数呼出しに変更するとしており,同じ行番号が入る。

行番号は一つだけ数字で答える。37 と書く。

設問3(2) 解答欄4つ

図 5 中の d ~ g について,d,f には置換の対象文字を,e,g には置換後の文字列を,それぞれ答えよ。

〔d〕解答例

  • \(バックスラッシュ)

〔e〕解答例

  • \\(バックスラッシュ+バックスラッシュ)

〔f〕解答例

  • '(シングルクォート)

〔g〕解答例

  • \'(バックスラッシュ+シングルクォート)

〔備考〕d・e の組と f・g の組は順不同

解説

本文の根拠

〔改修方法の検討〕

escape2 関数では,意図したスクリプトが生成されるように,まず,スクリプト言語の文法上必要なエスケープ処理を行った後,更に escape 関数でエスケープ処理を行う。

図 4(続き)

「&」→「&amp;」 「<」→「&lt;」 「>」→「&gt;」 「"」→「&quot;」

37 行目では,word の値が alert('…') の単一引用符で囲まれた文字列の中に埋め込まれる。JavaScript の文字列リテラルでは,同じ種類の引用符とバックスラッシュはそのまま書けず,\' と \\ のようにバックスラッシュを付けて書く。そのため,escape2 関数がまず行う“スクリプト言語の文法上必要なエスケープ処理”は,バックスラッシュ(\)を \\ に,シングルクォート(')を \' に置換することである。escape 関数の置換対象は &,<,>," の 4 文字だけなので,この 2 文字は escape 関数では処理されない。

その後に escape 関数で HTML 向けのエスケープ処理をするので,escape2 関数は,二つの置換をしたうえで escape 関数に渡す関数になる。解答例は,d が \(バックスラッシュ),e が \\(バックスラッシュ+バックスラッシュ),f が '(シングルクォート),g が \'(バックスラッシュ+シングルクォート)。備考のとおり,①の組(d・e)と②の組(f・g)は順不同である。

字数制限は無い。d と f が置換の対象文字,e と g が置換後の文字列なので,対象と後の区別を取り違えないように書く。講評は,エスケープ処理はいつも同じようにすればよいものではなく,プログラムが満たすべき要件や出力の渡される処理系によって適切に処理しなければならないと述べている。

採点講評(IPA)

設問3(2)は,正答率が低かった。エスケープ処理はいつも同じようにすればよいものではなく,プログラムが満たすべき要件や,出力が渡される処理系によって,適切に処理しなければならない。エスケープ処理の本質をよく理解しておいてほしい。

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

問2 Web アプリケーションのセキュリティ対策

Web アプリケーションのセキュリティ対策に関する次の記述を読んで,設問 1~3 に答えよ。

O 社は従業員数 20 名のインターネット通販会社であり,通販サイト(以下,X サイトという)で会員向けに化粧品を販売している。X サイトは O 社が開発し,運用している。

ある日,会員からの問合せがあり,X サイトで管理している会員の個人情報が流出していることが判明した。O 社は,被害拡大防止のために X サイトを一旦停止した上で,流出件数,原因などを明らかにするために,情報システム担当者である V さんから,セキュリティ専門会社 D 社の S 氏に調査を依頼した。

S 氏は,V さんから X サイトのシステム構成を聞いた後,関係するログを調査した。

X サイトでは,会員 ID 及びパスワードを,データベースの m_user テーブルの cust_id 及び pwd という列にそれぞれ格納しており,ログイン機能(login.cgi プログラム)では cid,pw という引数とデータベースに格納されている値を照合している。表 1 は,Web サーバの HTTP アクセスログのうち不正アクセスに関連する部分の抜粋であり,左から順に,便宜上付けた番号,クライアントの IP アドレス,HTTP のアクセスメソッド,cgi プログラム名,クエリ文字列である。

〔調査結果〕

S 氏が表 1 の HTTP アクセスログを調査した結果,次の攻撃が判明した。

S 氏は,調査結果を V さんに説明した。次は,そのときの会話の一部である。

列は 番号/IP/メソッド/cgi/クエリ文字列(注 1)クエリ文字列は,URL デコード済みである)。
1/ipA/GET/login.cgi/cid=yamada&pw=fajsl334
2/ipB/GET/login.cgi/cid=cust51&pw=password
3/ipC/GET/login.cgi/cid=tanaka&pw=p7g3dfb0
4/ipB/GET/login.cgi/cid=cust51&pw=pass
5/ipB/GET/login.cgi/cid=cust51&pw=cust51
6/ipB/GET/login.cgi/cid=cust51&pw=
7/ipC/GET/search.cgi/item=gf34' and select cust_id, pwd, null, null from m_user where '1' = '1&kind=09
8/ipB/GET/login.cgi/cid=cust51&pw=15tsuc
9/ipB/GET/login.cgi/cid=cust51&pw=a
10/ipB/GET/login.cgi/cid=cust51&pw=b
11/ipB/GET/login.cgi/cid=cust51&pw=c
12/ipD/GET/search.cgi/item=gf44' union select pwd, null, null, null from m_user where '1' = '1&kind=09
13/ipB/GET/login.cgi/cid=cust51&pw=d
14/ipE/GET/login.cgi/cid=cust01&pw=password
15/ipG/GET/confirm.cgi/cat=0217&iname=../ls |
16/ipE/GET/login.cgi/cid=cust12&pw=password
17/ipF/GET/search.cgi/item=gf36' union select cust_id, null, null, null from m_user where '1' = '1&kind=9
18/ipC/GET/confirm.cgi/cat=1127&iname=tanaka><script>alert("test");</script>
19/ipE/GET/login.cgi/cid=cust33&pw=password
20/ipJ/GET/search.cgi/item=0b24';update m_contents set ban_url = ban_url || '"><a href="http://www.evil.example.com/?a=4283042897">重要なお知らせ</a>
21/ipH/GET/search.cgi/item=gf12' union select cust_id, pwd, null, null from m_user where '1' = '1&kind=09
22/ipI/GET/search.cgi/item=0b24';update m_contents set ban_url = ban_url || '"><script type="text/javascript" language="javascript">document.write("<html>(省略) </html>");</script>
表 1 Web サーバの HTTP アクセスログ(不正アクセスに関連する部分の抜粋)

続いて S 氏は V さんに,攻撃 3 の具体的な手口や攻撃 4 のログの特徴についても説明した。

〔パスワード格納方法の検討〕

S 氏は V さんに,HTTP アクセスログの調査結果から判明した不正アクセスについて説明した後,SQL インジェクションに関係していた m_user テーブルを調査して気付いたことを指摘した。次は,そのときの会話である。

その他,S 氏は V さんに,改ざんされたデータの復旧方法や攻撃に対するプログラムの修正方法などを説明した。

O 社は,S 氏の指摘に従って,被害の状況や再発防止策などの情報を自社の Web サイトで公表した。その後,プログラム修正,パスワードの格納方法の改善などの対策を完了させ,全会員のパスワードを初期化して会員に連絡した上で,X サイトを再開させた。

出題趣旨(IPA)

Webシステムに対する攻撃は非常に多いにもかかわらず,インシデントが発生した後のサーバ管理者又は運用者の対応は必ずしも万全とはいえない。本問では,Webサーバのアクセスログを見て何が起きたのかを理解し,そのインシデントに関する適切な対応とセキュリティ対策を問題として取り上げた。

採点講評(問全体・IPA)

問2では,Webアプリケーションに対するSQLインジェクション攻撃を受けた際のログ分析と,DBに格納されているパスワード情報を題材に,Webアプリケーションにおけるインシデント対応とセキュリティ対策について出題した。全体として正答率は低かった。

設問と解答例

設問1(1) 解答欄1つ

本文中の a に入れる IP アドレスを一つ答えよ。

〔a〕解答例

  • ipH
解説

本文の根拠

〔調査結果〕

IP アドレスが a の攻撃者が, b .cgi に対し SQL インジェクションによって全会員分に当たる約 8,000 件の会員 ID 及びパスワードを窃取していた。

表 1 21 番

item=gf12' union select cust_id, pwd, null, null from m_user where '1' = '1&kind=09

本文

会員 ID 及びパスワードを,データベースの m_user テーブルの cust_id 及び pwd という列にそれぞれ格納しており

攻撃 1 は,会員 ID とパスワードを m_user テーブルから取り出した SQL インジェクションである。本文によれば,会員 ID は cust_id 列,パスワードは pwd 列に格納されている。したがって,表 1 のうち,この 2 列を両方とも select しているリクエストを探せばよい。

表 1 で m_user から select しているのは 7,12,17,21 番である。12 番は pwd だけ,17 番は cust_id だけを,union select で取り出そうとしている。7 番は cust_id と pwd の両方を指定しているが,“and select”であり union select の形ではない。cust_id と pwd を両方とも union select で取り出しているのは,21 番の ipH だけである。講評も,表 1 のログを注意深く確認すれば,窃取されていた会員 ID(cust_id)とパスワード(pwd)を select している ipH を選択できたはずであると述べている。

字数制限は無い。IP アドレスは表 1 の表記のまま ipH と書く。

採点講評(IPA)

設問1(1)は,正答率が低かった。表1のログを注意深く確認することで,窃取されていた会員ID(cust_id)とパスワード(pwd)をselectしているipHを選択できたはずである。(2)(3)は正答率が高く,不正ログイン試行とその対策であるアカウントロックに対する理解は進んでいると思われる。

設問1(2) 解答欄1つ

本文中の b に入れる cgi プログラム名を 7 字以内で答えよ。

〔b〕解答例

  • search
解説

本文の根拠

〔調査結果〕

IP アドレスが a の攻撃者が, b .cgi に対し SQL インジェクションによって全会員分に当たる約 8,000 件の会員 ID 及びパスワードを窃取していた。

表 1 21 番

ipH/GET/search.cgi/item=gf12' union select cust_id, pwd, null, null from m_user where '1' = '1&kind=09

攻撃 1 の攻撃者が ipH と分かれば,表 1 の ipH の行の cgi 欄を読めばよい。21 番の cgi 欄は search.cgi で,空欄の後に“.cgi”が付くので,b には search が入る。

login.cgi は会員 ID とパスワードを照合するログイン機能で,search.cgi のクエリ文字列(item)に SQL 文が挿入されている点が,SQL インジェクションの入口になっている。他の SQL インジェクションの行(12,17 番など)も search.cgi に対するものである。

7 字以内の指定に対し,解答例は search の 6 字。“.cgi”は本文に既に書かれているので,付けずに書く。

採点講評(IPA)

設問1(1)は,正答率が低かった。表1のログを注意深く確認することで,窃取されていた会員ID(cust_id)とパスワード(pwd)をselectしているipHを選択できたはずである。(2)(3)は正答率が高く,不正ログイン試行とその対策であるアカウントロックに対する理解は進んでいると思われる。

設問1(3) 解答欄2つ

表 1 に示されている IP アドレス ipB による攻撃は,ログを調査した結果,ある特徴から不正ログインの試行と判明した。その特徴について 35 字以内で述べよ。また,その不正ログイン試行対策を 35 字以内で述べよ。

〔特徴〕解答例

  • 一つの会員IDに対して様々なパスワードでログインを試みている。

〔対策〕解答例

  • 連続してログインに失敗した時は,その会員IDをロックする。

〔備考〕特徴の欄には,解答用紙に“同一IPアドレスから,”が印刷されている

解説

本文の根拠

表 1

ipB/GET/login.cgi/cid=cust51&pw=password

表 1

ipB/GET/login.cgi/cid=cust51&pw=pass

〔調査結果〕

攻撃 4:不正ログインを試行されていた。

ipB のログは,表 1 の 2,4,5,6,8,9,10,11,13 番で,いずれも login.cgi に対し,会員 ID(cid)は cust51 のまま,パスワード(pw)だけを password,pass,cust51,空,15tsuc,a,b,c,d と変えて繰り返している。同一の IP アドレスから,一つの会員 ID に対して様々なパスワードでログインを試みているのが,不正ログイン試行と判断できる特徴である。

対策は,このような総当たり的なログインを続けさせないことで,連続してログインに失敗した会員 ID をロックする(アカウントロック)。解答例は,特徴が“一つの会員IDに対して様々なパスワードでログインを試みている。”(31 字),対策が“連続してログインに失敗した時は,その会員IDをロックする。”(29 字)である。特徴の欄には,解答用紙に“同一 IP アドレスから,”が印刷されていて,その続きを書く。

字数は特徴・対策のそれぞれ 35 字以内。特徴は,印刷された“同一 IP アドレスから,”に続けて“一つの会員 ID”“様々なパスワード”の二点,対策は“連続失敗”と“ロック”を落とさない。

採点講評(IPA)

設問1(1)は,正答率が低かった。表1のログを注意深く確認することで,窃取されていた会員ID(cust_id)とパスワード(pwd)をselectしているipHを選択できたはずである。(2)(3)は正答率が高く,不正ログイン試行とその対策であるアカウントロックに対する理解は進んでいると思われる。

設問2(1) 解答欄4つ

本文中の d ~ g に入れる字句をそれぞれ解答群の中から選び,記号で答えよ。解答群 ア DoS イ Exploit ウ 安全性 エ 換字 オ サイドチャネル カ 辞書 キ 市場性 ク 選択平文 ケ 誕生日 コ 転置 サ 分散性

〔d〕解答例

  • コ

〔e〕解答例

  • エ

〔f〕解答例

  • ウ

〔g〕解答例

  • ク
解説

本文の根拠

〔パスワード格納方法の検討〕

例えば,元の文字列が password の場合,まず, d 式暗号で drowssap に変換し,次に, e 式暗号で espxttbq に変換します。

〔パスワード格納方法の検討〕

自作アルゴリズムは, f について公的な機関の評価を受けていないので推奨できません。

〔パスワード格納方法の検討〕

攻撃者の指定したパスワードとそれに対する暗号文から解読する g 攻撃によって会員のパスワードを解読された可能性が高い

d・e は,本文の変換例から読み取る。password を drowssap にする操作は,文字の並びを逆順に入れ替えるだけで,文字そのものは変わらない(転置・コ)。drowssap を espxttbq にする操作は,d→e,r→s,o→p,w→x,s→t,s→t,a→b,p→q と,各文字を同じ規則で別の文字に置き換えている(換字・エ)。

f は,CRYPTREC が電子政府推奨暗号リストに載せるアルゴリズムと自作アルゴリズムの違いで,“公的な機関の評価を受けていない”のは安全性(ウ)である。g は,“攻撃者の指定したパスワードとそれに対する暗号文から解読する”攻撃で,攻撃者が選んだ平文と暗号文の組を使うので選択平文(ク)である。講評は,g(選択平文)の正答率が著しく低かったと述べ,基本用語については理解を確実にしておいてほしいとしている。

記号で答える設問で,解答例は d がコ,e がエ,f がウ,g がク。d と e は変換の順序(逆順にしてから文字をずらす)に対応させる。

採点講評(IPA)

設問2(1)の中でg(選択平文)については正答率が著しく低かった。基本用語については理解を確実にしておいてほしい。

設問2(2) 50字以内

本文中の下線②について,初期化する前のパスワードへの変更を禁止する以外に,会員に通知する理由は何か。その理由を 50 字以内で述べよ。

解答例

  • 他のサイトで同じ会員ID,パスワードを使用している会員に対し,その変更を促す必要があるから
解説

本文の根拠

〔パスワード格納方法の検討〕

それだけではなく,②初期化する前のパスワードが解読されている可能性が高いことも通知してください。

〔パスワード格納方法の検討〕

サイトの再開前に全会員のパスワードを初期化し,初期化する前のパスワードへの変更を禁止すべきです。

S 氏は,初期化する前のパスワードへの変更を禁止することに加えて,“初期化する前のパスワードが解読されている可能性が高いこと”も通知するよう求めている。会員のパスワードが解読されている可能性が高いなら,会員が他のサイトでも同じ会員 ID とパスワードを使っていれば,そのサイトにも不正にログインされるおそれがある。

したがって通知の理由は,他のサイトで同じ会員 ID・パスワードを使っている会員に,その変更を促す必要があるからである。解答例は“他のサイトで同じ会員ID,パスワードを使用している会員に対し,その変更を促す必要があるから”(45 字)。講評は,利用者は複数のサイトで同じ認証情報の組合せを使い回している場合が多く,二次被害拡大防止のためにも,利用者にとって必要なアクションが取れるような通知を心掛けてほしいと述べている。

50 字以内の指定に対し,解答例は 45 字。“パスワード変更を禁止するため”のような,既に本文にある理由を繰り返さない。

採点講評(IPA)

(2)も正答率が低かった。利用者は複数のサイトで同じ認証情報の組合せを使い回している場合が多い。二次被害拡大防止のためにも利用者にとって必要なアクションが取れるような通知を心がけてほしい。

設問3(1) 解答欄1つ

本文中の c に入れる字句を 10 字以内で答えよ。なお,会員の PC の OS 及びブラウザ本体への攻撃は実施されなかったものとする。

〔c〕解答例

  • プラグイン
解説

本文の根拠

〔調査結果〕

それから,そのファイルが,ブラウザの c で処理される過程で,ブラウザの c の脆弱性を突くコードを実行することで,PC が感染し

〔調査結果〕

攻撃者 ipJ が用意した外部サイトに誘導されて,ブラウザが誘導先ページのコンテンツと一緒に,不正な動作を引き起こすファイルをダウンロードします。

攻撃 2 では,改ざんされたバナーの“重要なお知らせ”をクリックした会員が外部サイトに誘導され,ブラウザが不正な動作を引き起こすファイルをダウンロードする。そのファイルは,“ブラウザの c で処理される過程で”,“ブラウザの c の脆弱性を突くコード”を実行して PC を感染させる。

設問の注記は,会員の PC の OS 及びブラウザ本体への攻撃は実施されなかったものとしている。ブラウザ本体でないのに,ブラウザの中でダウンロードしたファイルを処理するものは,ブラウザに組み込まれて動く拡張機能のプラグインである。解答例は“プラグイン”(5 字)。講評は,外部サイトに誘導される場合にブラウザやそのプラグインの脆弱性を突かれるケースを題材にしており,誘導からマルウェアの感染とその後の活動までの仕組みを理解しておいてほしいと述べている。

10 字以内の指定に対し,解答例は 5 字。

採点講評(IPA)

設問3(1)は,外部サイトに誘導される場合にブラウザやそのプラグインの脆弱性を突かれるケースを題材にした。企業や組織内で頻発している事象であるので,誘導からマルウェアの感染とその後の活動までの仕組みを理解しておいてほしい。

設問3(2) 50字以内

本文中の下線①について,会員 ID 及びパスワードを詐取する方法を 50 字以内で具体的に述べよ。

解答例

  • 偽の入力画面を表示させ,そこに入力させた情報を攻撃者が用意したサイトに送信する。
解説

本文の根拠

表 1 22 番

item=0b24';update m_contents set ban_url = ban_url || '"><script type="text/javascript" language="javascript">document.write("<html>(省略) </html>");</script>

〔調査結果〕

攻撃 3:SQL インジェクションによってデータが改ざんされ,会員 ID 及びパスワードを詐取されていた。

攻撃 1 は m_user テーブルから会員 ID とパスワードを select して窃取した。一方,攻撃 3(表 1 の 22 番)は,攻撃 2 と同じく m_contents テーブルの ban_url を update で改ざんし,script タグで document.write を実行して,画面に HTML を書き出させている。データを“詐取”するという書き方からも,会員自身に情報を入力させる手口と読み取れる。

したがって方法は,改ざんしたページに偽の入力画面を表示させ,そこに会員が入力した情報を攻撃者が用意したサイトに送信させることである。解答例は“偽の入力画面を表示させ,そこに入力させた情報を攻撃者が用意したサイトに送信する。”(40 字)。

50 字以内の指定に対し,解答例は 40 字。“具体的に”とあるので,偽の入力画面の表示と,入力情報の送信先を両方書く。

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

問3 保守作業の証跡確保のための対策検討

保守作業の証跡確保のための対策検討に関する次の記述を読んで,設問 1~4 に答えよ。

M 社は,従業員数 900 名の保険会社である。M 社は損害保険業務を支援する保険システムを稼働させている。保険システムの利用者は,M 社の従業員である。M 社は,保険システムの開発をソフトウェア開発会社の Z 社に委託している。また,保険システムは M 社のグループ会社が運営するデータセンタ(以下,DC という)に設置し,主に M 社が運用と保守を行っているが,一部の保守作業については Z 社に委託している。保険システムは,20 台のサーバ(以下,保険サーバという)から構成されており,保険システムのサービス(以下,保険サービスという)を提供するための様々なソフトウェアが稼働している。保険システムの構成を図 1 に示す。

Z 社が請け負っている保守作業は,機能追加などに基づく保険システムのプログラムモジュールの更新,保険システムに障害が発生した場合の原因調査,本番システムへの設定変更などの作業が主である。Z 社は M 社から作業依頼書を受け取ると,保険システムを担当する 5 名の保守チームの中から当該作業担当者を 1 名選び,作業担当者氏名や作業期間などを記載した作業計画書を M 社に提出する。作業計画が承認されると,作業で使用するために,OS の特権 ID が使用可能な状態に有効化され,通知される。特権 ID とは,OS に対する全てのシステム管理特権を付与された利用者 ID のことである。作業担当者は通知された特権 ID を使い,Z 社 PC から保険サーバにリモートアクセスを行って作業を実施する。Z 社内の M 社保険システム保守用 LAN,M 社 LAN 及び DC 内の DCLAN は IP-VPN で接続されている。

なお,DC 内の保険サーバのコンソールからの操作や電源の操作は,M 社が実施している。また,保険サーバやネットワーク機器の時刻は全て同期している。

Z 社の M 社保険システム保守用 LAN に Z 社 PC(複数)と FW1 が接続されている。M 社の M 社 LAN に FW2 と M 社 PC(複数)が接続されている。FW1 と FW2 は IP-VPN に接続され,IP-VPN は DC 内の FW3 に接続されている。DC の DCLAN には保険サーバ(複数)と FW3 が接続されている。FW:ファイアウォール
図 1 保険システムの構成

〔対策の検討と対策方針の策定〕

M 社の同業の C 社で情報漏えい事件が起きた。C 社の保守作業委託先の従業員が,保険加入者のデータを不正に持ち出して名簿業者に売却したと報じられた。事件は,C 社が事態をすぐに把握できなかった管理上の不備に対する指摘とともに,連日報道された。M 社の経営幹部は,C 社の事件をきっかけに,自社の保険システムにおいても同様の問題が起きる可能性はないか早急に調査するよう,情報システム部長に指示を出した。調査の結果,保険システムについても,Z 社の保守作業において,保険加入者の情報が保存されたファイル(以下,機密ファイルという)が,作業依頼書に指定した範囲を超えてアクセスされるおそれがあることが指摘された。そこで,情報システム部の L 主任がリーダとなり,対策を検討することになった。

検討を開始した当初は,Z 社の保守作業において機密ファイルへのアクセス制御を実施する案も出たが,M 社保守担当者から,特権 ID の運用が複雑になる上,保守作業には緊急性が求められる場合もあり,現実的な対策ではないといった意見があった。そこで,①L 主任は Z 社の作業担当者の保守作業の作業証跡を取得し,作業内容とは無関係な機密ファイルの操作(以下,機密ファイル操作違反という)を検知する仕組みを備えるという対策方針を立てた。本対策方針は経営幹部に報告された後,M 社役員会議で承認された。

L 主任は,Z 社が行う作業の操作ログを取得し,操作ログから Z 社の機密ファイル操作違反の可能性を自動検知する対策がよいと考えた。検知後に,作業者の機密ファイル操作違反前後の一連の操作を追跡することを想定した対策である。

〔対策実現に向けた要件と実現方式の検討〕

L 主任は部下の N 君に次の三つの要件を示した上で,実現方式の検討を指示した。

N 君は,操作ログが取得可能な製品の中でシェアの高い二つの市販ソフトウェアパッケージ製品 PP1,PP2 を候補とし,それぞれのパッケージ製品を利用した対策実現方式案(以下,それぞれ案 1,案 2 という)を表 1 のとおり取りまとめて,L 主任に報告した。

【案 1】
・PP1 を採用する。
・操作ログを取得する各保険サーバに PP1 のエージェントモジュールをインストールする。
・ログサーバを DCLAN に設置し,PP1 のメインモジュールをインストールする。
・Z 社の保守作業におけるリモートアクセス手順に変更はない。
・エージェントモジュールが取得するログ項目は,利用者 ID,時刻(保険サーバの時刻)及び次のいずれかである。(a) 実行されたコマンド (b) 操作対象ファイル名と操作(参照,コピー,更新,削除) (c) アプリケーションの起動と終了(エージェントモジュールの起動と停止も含む)
・PP1(メインモジュールとエージェントモジュール)の起動と停止には,インストールされているサーバの特権 ID が必要である。
・ログサーバは M 社が管理する。
・操作ログは,Z 社の作業担当者が保険サーバにログインしてからログアウトするまでの間,取得する。
【案 2】
・PP2 を採用する。
・DCLAN に中継サーバを設置し,中継サーバに PP2 をインストールする。
・操作ログは中継サーバで取得する。
・ログサーバを DCLAN に設置する。
・Z 社の保守チームには,担当者ごとに中継サーバの利用者 ID を付与する。
・Z 社の保守作業におけるリモートアクセス手順は,リモートデスクトップ接続を行い中継サーバに一旦ログインして,さらにリモートアクセスを行い,各保険サーバにログインするように変更する。
・取得するログ項目は,保険サーバの利用者 ID,時刻(中継サーバの時刻)及び次のいずれかである。(a) 保険サーバで実行されたコマンド (b) 保険サーバでの操作対象ファイル名と操作(参照,コピー,更新,削除) (c) 保険サーバでのアプリケーションの起動と終了 (d) Z 社 PC に表示されるリモートデスクトップ先(中継サーバ)のウィンドウ画面のスナップショット画像
・中継サーバの利用者 ID ごとに,保険サーバへのリモートアクセスの許可と拒否の制御ができる。
・PP2 の起動と停止には,中継サーバの特権 ID が必要である。
・中継サーバ及びログサーバは M 社が管理する。
・操作ログは,Z 社の作業担当者が中継サーバにログインしてからログアウトするまでの間,取得する。
【案 1・案 2 共通】
・操作ログは,保険サーバ又は中継サーバで暗号化してログサーバに転送する。ただし,何らかの理由でログサーバに転送できない場合は,暗号化して,保険サーバ又は中継サーバのローカルディスクに一時保管し,定期的にログサーバへの転送をリトライする。
・PP1,エージェントモジュール,PP2 を停止させた場合,停止操作の操作ログがログサーバに転送された後に停止動作が実行される。
・ログサーバ上の操作ログは付属する専用ビューアで閲覧する。
・ログサーバ上の操作ログについては,機密ファイル操作違反の隠蔽防止のために,下線④のメッセージダイジェストを使用した [ b ] 機能をもつ。(“メッセージダイジェスト”に下線④が付いている)
・保守作業を幾つかのパターンに分類し,パターンごとに作業内容に関係のある機密ファイルを決定し,検知ルールを定義しておく。そうすると,Z 社の作業担当者が保守作業中に作業依頼書に指定した範囲を超えて機密ファイルにアクセスした場合,ログサーバでは転送された操作ログの記録内容を基に,あらかじめ指定されたメールアドレス宛てに電子メールを送信する。
表 1 案 1 及び案 2 の実現方式概要

〔実現方式案の要件の確認〕

L 主任は最初に,案 1,案 2 が要件を満たしているかどうかを確認した。L 主任は,案 1 は,ログサーバがダウンしている場合,及び②作業担当者が保険サーバのネットワーク設定を不正に変更して操作ログの転送を妨害した場合において,③その後,作業担当者がある操作を実行すると,その前後のファイル操作について要件 1 及び要件 2 が満たされなくなると指摘した。

要件 3 については,L 主任は,特に案 1 について,保険サーバ内の a と既存ソフトウェアとの間で相互に悪影響を及ぼさないか,十分なテストを実施する必要があると考えた。

〔要件以外の比較検討〕

次に,L 主任は要件以外の点についても検討を進めた。案 1 は導入に特に大きな支障はないと考えられた。

一方で案 2 は,中継サーバが導入されることから,Z 社の作業担当者の作業手順や,保険サーバなどのアクセス制御を見直す必要がある。例えば,案 2 を実現するには, c から保険サーバへのアクセスは禁止するが, d や M 社 PC からのアクセスは許可する必要がある。

また,案 2 の場合は,中継サーバを利用するための利用者 ID の付与と,保守作業ごとの各保険サーバの特権 ID の通知の 2 点の実施方法を考慮する必要がある。

しかし,L 主任は,案 2 の場合,中継サーバの利用者 ID を Z 社の保守チームの担当者ごとに作成するので,保守作業を作業計画書に記載された作業担当者だけに限定するという,より安全な仕組みが実現できると考えた。

〔対策の実施〕

L 主任は,以上の確認と比較検討の結果,Z 社の作業担当者の作業手順が変わる点などの不都合があるものの,要件を実現する上で案 2 の方が優れていると判断し,案 2 を選択することにした。その上で,保守作業の証跡を取得するためのシステム化計画を取りまとめ,経営幹部に報告し,M 社役員会議で承認を受けた。その後,システム化作業を行い,対策を実施した。

出題趣旨(IPA)

近年,機密情報の漏えい時の調査や外部監査対応時の証跡提示などの目的から,ITシステムの利用者のアクセスログだけでなく,操作内容を記録する企業が増えてきている。操作内容を記録する場合,その目的や対象利用者のアクセス権などを考慮しなければ,記録した内容の真正性に疑義が生じる可能性がある。本問では,業務委託先作業担当者の操作内容の証跡確保を題材として,セキュリティ上の考慮点を問う。

採点講評(問全体・IPA)

問3では,委託先作業担当者の操作内容の証跡確保を題材として,操作ログを取得するパッケージソフトのセキュリティ上の考慮点について出題した。

設問と解答例

設問1(1) 解答欄1つ

表 1 中の b に入れる適切な字句を答えよ。

〔b〕解答例

  • 改ざん検知
解説

本文の根拠

表 1

ログサーバ上の操作ログについては,機密ファイル操作違反の隠蔽防止のために,下線④のメッセージダイジェストを使用した b 機能をもつ。

空欄 b を含む文は,ログサーバ上の操作ログについて,機密ファイル操作違反の“隠蔽防止”のために,メッセージダイジェストを使った機能をもつと述べている。操作ログを隠蔽するとは,違反の記録を書き換えたり消したりすることである。メッセージダイジェストは,データから求めた短い値で,元のデータが変わると値も変わるので,保管時に求めた値と比べることで,ログが書き換えられていないかを確かめられる。

したがって b は,ログの書換えを見つける機能,すなわち“改ざん検知”である。解答例も“改ざん検知”(5 字)で,メッセージダイジェストを使う目的が真正性の確保にあることが読み取れる。

字数制限は無い。“暗号化”や“アクセス制御”のように別の目的の語にしないよう,“隠蔽防止”と“メッセージダイジェスト”の二つの手掛かりを両方満たす語を選ぶ。

設問1(2)

表 1 中の下線④について,最も適切と考えられるアルゴリズムはどれか。解答群の中から選び,記号で答えよ。解答群 ア AES イ SHA-1 ウ SHA-256 エ Triple DES

解答例

  • ウ
解説

本文の根拠

表 1

ログサーバ上の操作ログについては,機密ファイル操作違反の隠蔽防止のために,下線④のメッセージダイジェストを使用した b 機能をもつ。

下線④のメッセージダイジェストを求めるのは,ハッシュ関数である。解答群のうち,AES(ア)と Triple DES(エ)は暗号化のアルゴリズムで,メッセージダイジェストを求めるものではない。ハッシュ関数は SHA-1(イ)と SHA-256(ウ)で,この 2 択になる。

SHA-1 のダイジェスト長は 160 ビット,SHA-256 は 256 ビットで,より長い SHA-256 の方が,同じダイジェストをもつ別のデータを見つけにくい。ログの改ざん検知という目的で最も適切と考えられるのは,より強いアルゴリズムである SHA-256 で,解答例もウである。

記号で答える設問で,解答例はウ。暗号化のアルゴリズムと,ダイジェストを求めるアルゴリズムを区別して選ぶ。

設問2(1) 解答欄1つ

本文中の a に入れる適切な字句を,表 1 中の用語を用いて答えよ。

〔a〕解答例

  • エージェントモジュール
解説

本文の根拠

〔実現方式案の要件の確認〕

要件 3 については,L 主任は,特に案 1 について,保険サーバ内の a と既存ソフトウェアとの間で相互に悪影響を及ぼさないか,十分なテストを実施する必要があると考えた。

表 1

操作ログを取得する各保険サーバに PP1 のエージェントモジュールをインストールする。

要件 3 は“操作ログの取得を実現する上で,保険サービスの可用性に影響を与えないこと”である。保険サーバの中で既存のソフトウェアと並んで動き,悪影響を及ぼす可能性があるのは,保険サーバにインストールするソフトウェアである。

表 1 のとおり,案 1 では操作ログを取得する各保険サーバに PP1 のエージェントモジュールをインストールするが,案 2 は中継サーバで操作ログを取得するため,保険サーバには何もインストールしない。そのため L 主任が“特に案 1 について”テストが必要と考えたのは,保険サーバ内のエージェントモジュールで,a には“エージェントモジュール”が入る。

表 1 中の用語を用いて答えるので,“PP1”や“エージェント”のように短くせず,表の語どおり書く(11 字)。

設問2(2) 解答欄2つ

本文中の c,d に入れる適切な機器名を,それぞれ図 1 中又は表 1 中の用語で答えよ。

〔c〕解答例

  • Z社PC

〔d〕解答例

  • 中継サーバ
解説

本文の根拠

表 1

Z 社の保守作業におけるリモートアクセス手順は,リモートデスクトップ接続を行い中継サーバに一旦ログインして,さらにリモートアクセスを行い,各保険サーバにログインするように変更する。

〔要件以外の比較検討〕

案 2 を実現するには, c から保険サーバへのアクセスは禁止するが, d や M 社 PC からのアクセスは許可する必要がある。

案 2 では,Z 社の作業担当者は,リモートデスクトップ接続で中継サーバに一旦ログインし,そこから各保険サーバにリモートアクセスする。つまり,保険サーバへのアクセス元は中継サーバになり,Z 社 PC から保険サーバへ直接アクセスする経路は不要になる。

これを保険サーバ側のアクセス制御に当てはめると,c には Z 社 PC(図 1 の機器名)を入れて禁止し,d には中継サーバ(表 1 の用語)を入れて許可することになる。Z 社 PC からの直接アクセスを許すと,中継サーバを経由せずに作業ができ,操作ログが取得されない。

字数制限は無いが,機器名を,図 1 中又は表 1 中の用語で書く。“Z社PC”と“中継サーバ”の入れ違いに注意する。

設問3(1) 30字以内

本文中の下線③のある操作とは,どのような操作か。30 字以内で述べよ。

解答例

  • 保険サーバに一時保管された操作ログを削除する操作
解説

本文の根拠

〔実現方式案の要件の確認〕

作業担当者が保険サーバのネットワーク設定を不正に変更して操作ログの転送を妨害した場合において,③その後,作業担当者がある操作を実行すると,その前後のファイル操作について要件 1 及び要件 2 が満たされなくなると指摘した。

表 1

ただし,何らかの理由でログサーバに転送できない場合は,暗号化して,保険サーバ又は中継サーバのローカルディスクに一時保管し,定期的にログサーバへの転送をリトライする。

下線②のように転送が妨害されると,操作ログは表 1 のとおり,保険サーバのローカルディスクに暗号化して一時保管され,ログサーバへの転送がリトライされる。ネットワーク設定を戻せば,一時保管されたログがログサーバに転送され,違反が記録に残る。

したがって,作業担当者が下線③のとおり“その後に”実行すると要件 1・要件 2 が満たされなくなる操作とは,保険サーバに一時保管された操作ログを削除する操作である。ログがログサーバに届く前に消すことで,その前後のファイル操作の記録が残らなくなる。解答例は“保険サーバに一時保管された操作ログを削除する操作”(24 字)。

30 字以内の指定に対し,解答例は 24 字。“ログを消す”だけでなく,どこにあるどのログかを書く。

設問3(2) 25字以内

案 1 について,本文中の下線②のような操作ログの転送を妨害した上で行う方法以外に,Z 社の作業担当者が保険サーバで,どのような操作を行うことによって,要件 1 の実現を妨害できるか。25 字以内で述べよ。

解答例

  • エージェントモジュールを停止させる操作
解説

本文の根拠

表 1

PP1(メインモジュールとエージェントモジュール)の起動と停止には,インストールされているサーバの特権 ID が必要である。

表 1

PP1,エージェントモジュール,PP2 を停止させた場合,停止操作の操作ログがログサーバに転送された後に停止動作が実行される。

〔保守作業〕

作業担当者は通知された特権 ID を使い,Z 社 PC から保険サーバにリモートアクセスを行って作業を実施する。

案 1 では,操作ログを取得するのは各保険サーバのエージェントモジュールである。作業担当者は保険サーバで特権 ID を使って作業し,表 1 のとおり,エージェントモジュールの起動と停止にはそのサーバの特権 ID が必要なので,作業担当者はエージェントモジュールを停止できる。停止すれば,以後の操作ログが取得されず,要件 1 が満たされなくなる。

表 1 は,停止操作の操作ログがログサーバに転送された後に停止動作が実行されると書いている。つまり,停止したこと自体は記録に残るが,停止後のファイル操作は記録されない。解答例は“エージェントモジュールを停止させる操作”(19 字)。

25 字以内の指定に対し,解答例は 19 字。問われているのは,ネットワーク設定の変更以外に,保険サーバ上で行う操作である。

設問3(3) 35字以内

上記 (2) の操作を M 社が検知するための,案 1 の機能を用いた有効な手段を 35 字以内で述べよ。

解答例

  • エージェントモジュールを停止させる操作を検知ルールに設定する。
解説

本文の根拠

要件 2

特定のファイルのアクセスや,特定のプロセスの起動と停止などの検知ルールをあらかじめ定義でき

表 1

(c) アプリケーションの起動と終了(エージェントモジュールの起動と停止も含む)

表 1

保守作業を幾つかのパターンに分類し,パターンごとに作業内容に関係のある機密ファイルを決定し,検知ルールを定義しておく。

(2) の操作(エージェントモジュールの停止)を M 社が検知する手段は,案 1 の機能から探す。案 1 のエージェントモジュールが取得するログ項目には,“アプリケーションの起動と終了(エージェントモジュールの起動と停止も含む)”があり,停止操作自体が操作ログに残る。要件 2 のとおり,特定のプロセスの起動と停止などを検知ルールとして定義でき,ルールに一致するログが見つかれば,あらかじめ指定されたメールアドレスに電子メールが送られる。

したがって,エージェントモジュールを停止させる操作を検知ルールに設定しておけば,M 社は停止を検知できる。解答例は“エージェントモジュールを停止させる操作を検知ルールに設定する。”(31 字)。講評は,“M 社の従業員が操作ログをリアルタイムに監視する”といった案 1 の機能とは全く関係のない検知手段を述べる解答が多かったと指摘し,一般的な知見ではなく,本文の記載内容に基づいて解答してほしかったと述べている。

35 字以内の指定に対し,解答例は 31 字。“案 1 の機能を用いた”とあるので,検知ルールという表 1 の機能の名を書く。

採点講評(IPA)

設問3(3)は,正答率が低かった。Z社の作業担当者が保険サーバで行う不正な行為に関して,案1の機能を用いた検知手段を問う問題であったが,“M社の従業員が操作ログをリアルタイムに監視する”といった,案1の機能とは全く関係のない検知手段を述べる解答が多かった。一般的な知見での解答ではなく,本文の記載内容に基づいて解答してほしかった。

設問4(1) 40字以内

本文中の下線①の対策方針を実現することによって,Z 社の作業担当者の機密ファイル操作違反を検知することができる。さらに機密ファイル操作違反を抑止することを効果的に行うためには,M 社は何を実施すべきか。40 字以内で述べよ。

解答例

  • Z社の保守チームに,操作ログを取得し,監視していることを伝える。
解説

本文の根拠

〔対策の検討と対策方針の策定〕

①L 主任は Z 社の作業担当者の保守作業の作業証跡を取得し,作業内容とは無関係な機密ファイルの操作(以下,機密ファイル操作違反という)を検知する仕組みを備えるという対策方針を立てた。

下線①の対策方針で実現するのは,機密ファイル操作違反を“検知する”仕組みである。これに加えて,違反を“抑止する”には,操作ログが取得され,監視されていることを作業担当者自身が知っている必要がある。見られていると分かれば,違反をためらうからである。

したがって M 社が実施すべきことは,Z 社の保守チームに,操作ログを取得し,監視していることを伝えることである。解答例は“Z社の保守チームに,操作ログを取得し,監視していることを伝える。”(32 字)。

40 字以内の指定に対し,解答例は 32 字。“誰に”(Z 社の保守チーム)と“何を”(操作ログの取得と監視)の両方を書く。

設問4(2) 60字以内

案 2 について,作業計画書に記載された作業担当者だけが特権 ID を利用できるようにするために作業計画ごとに設定する制御を,60 字以内で述べよ。

解答例

  • 作業計画書に記載された作業担当者と一致する利用者IDにだけ,中継サーバから保険サーバへのアクセスを許可する。
解説

本文の根拠

表 1

中継サーバの利用者 ID ごとに,保険サーバへのリモートアクセスの許可と拒否の制御ができる。

表 1

Z 社の保守チームには,担当者ごとに中継サーバの利用者 ID を付与する。

〔要件以外の比較検討〕

保守作業を作業計画書に記載された作業担当者だけに限定するという,より安全な仕組みが実現できる

案 2 では,Z 社の保守チームの担当者ごとに中継サーバの利用者 ID が付与され,表 1 のとおり,その利用者 ID ごとに保険サーバへのリモートアクセスの許可と拒否を制御できる。作業計画ごとに,作業計画書に記載された作業担当者の利用者 ID にだけ,中継サーバから保険サーバへのアクセスを許可すれば,記載されていない担当者は特権 ID を知っても保険サーバにアクセスできない。

解答例は“作業計画書に記載された作業担当者と一致する利用者IDにだけ,中継サーバから保険サーバへのアクセスを許可する。”(54 字)。講評は,“適切な特権管理を行う”といった曖昧な内容の解答が散見されたと指摘し,操作ログの取得と同様に中継サーバで制御する機能として,表 1 に示される PP2 の機能“利用者ごとのリモートアクセスの許可と拒否の制御”に気付いてほしかったと述べている。

60 字以内の指定に対し,解答例は 54 字。“誰に”(作業計画書に記載された担当者の利用者 ID),“どこからどこへ”(中継サーバから保険サーバ),“許可”の 3 点を入れる。

採点講評(IPA)

設問4(2)は,作業計画書に記載された作業担当者だけが特権IDを利用できるようにするための制御を問う問題であったが,“適切な特権管理を行う”といった曖昧な内容の解答が散見された。案2を採用した後のシステム構成や保守作業時の運用を理解した上で,操作ログの取得と同様に中継サーバで制御する機能として,表1に示されるPP2の機能“利用者ごとのリモートアクセスの許可と拒否の制御”に気がついてほしかった。

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

問4 情報セキュリティ技術者の育成

情報セキュリティ技術者の育成に関する次の記述を読んで,設問 1~4 に答えよ。

K 社は,従業員数 9,000 名の機械製造会社であり,本社の他,全国に工場が 8 か所,営業所が 10 か所ある。図 1 に示すとおり,K 社には本社,工場及び営業所を接続した社内ネットワークが構築されており,全社でサーバが 200 台,PC が 5,000 台接続されている。社内ネットワーク,サーバ及び PC の運用管理は,主として本社に勤務する情報システム部員が担当しているが,各工場にも情報システム部員を配置して,現地でなければ実施できない運用管理を行っている。

本社:インターネットが FW に接続され,FW に IPS が並ぶ。IPS から DMZ(外部メールサーバ,DNS サーバ)につながる。FW は社内サーバセグメント(内部メールサーバ,ウイルス対策管理サーバ,各種社内業務サーバ(複数))に接続される。社内サーバセグメントには別の IPS が接続され,その IPS は FW とつながり,FW は K 社専用線網とクライアントセグメント(PC 複数)に接続される。K 社専用線網には,工場 1~8,営業所 1~10 が接続され,各拠点は FW とクライアントセグメント(PC 複数)をもつ。FW:ファイアウォール,IPS:侵入防止システム
図 1 K 社ネットワーク全体構成図

全ての PC にはウイルス対策ソフトが導入されており,図 1 中のウイルス対策管理サーバは,このウイルス対策ソフトの管理とウイルス定義ファイルの配信を行っている。ウイルス対策ソフトはウイルス定義ファイルに基づきパターンマッチングによってウイルスを検出するものであり,ウイルス定義ファイルは最低でも 1 日に 1 回は更新されている。

〔K 社の情報セキュリティ対策の現状〕

K 社では過去に多くの情報セキュリティインシデントが発生しており,そのうちの幾つかは K 社の製品に関する機密情報の窃取を狙ったものと推測されている。K 社ではこの事態を重くみて,2 年前,総務部内に総員 10 名の情報漏えい対策チーム(以下,P チームという)を常設組織として設置し,文書,口頭,ネットワークなど,全ての経路での情報漏えいの予防及び情報漏えい発生時の緊急対応を実施してきた。この P チームは,幾つかの班に分かれており,そのうちの技術班のリーダが T 主任である。

〔標的型攻撃への対策の検討〕

T 主任は,K 社を取り巻く最近の状況から,悪意あるプログラムを電子メール(以下,メールという)の添付ファイルとして送付してくる攻撃に注意が必要であると考えていた。特に,①メール本文やタイトルに K 社に関連した内容が含まれるなど高度な偽装が施されており,かつ,②新たに作成された悪意あるプログラムを含んだファイルが添付されている,いわゆる標的型攻撃メールに対して危機感を持っており,その対策について検討を始めていた。

検討を進める中で T 主任は,セキュリティコンサルティング会社から,標的型攻撃に対応する演習のための教材一式を入手することができた。その教材には,実際に標的型攻撃に使用されたメール及び攻撃用プログラムを基にした,メール本文例及び疑似攻撃プログラムであるプログラム S が含まれていた。教材は,演習用環境で不正な通信が発見されてから,その通信が発生した原因を突き止めるまでの演習を対象範囲にしている。T 主任は,この教材を利用して P チーム内で標的型攻撃に対応する演習を行い,その結果に基づいてインシデント対応方法の改善を目指すことにした。

〔標的型攻撃に対応する演習の準備〕

T 主任は演習の対象者として,P チーム内で 1 年間ほどインシデント対応を担当している U 君を選抜した。この演習に当たって,T 主任は図 2 に示す演習用環境を構築した。

なお,この演習用環境は他の全てのネットワークから切り離されている。

左のネットワークにウイルス対策管理サーバとメールサーバが接続され,IPS を介して FW につながる。FW の右側のネットワークに PC1,PC2,PC3 が接続されている。
図 2 演習用環境

また,インシデント対応において必要になる可能性が高いと考えて,図 2 の環境とは別にパケットキャプチャ装置を用意して解析用の隔離環境を整えた。

T 主任は,演習用環境内の PC1 が標的型攻撃に遭遇した状況を作るために,図 3 に示す準備を行った。演習に使用したプログラム S の動作は図 4 のとおりであった。ただし,図 3 及び図 4 の内容は U 君には知らせなかった。

(1) 教材のメール本文例を参考に,K 社に関連した内容を含んだ標的型攻撃用メールを作成した。
(2) 標的型攻撃用メールには,プログラム S を添付した。プログラム S は実行形式であるが,受信者のメールソフト上では文書形式ファイルのアイコンが表示されるように偽装している。
(3) 標的型攻撃用メールを,PC2 からメールサーバ経由で PC1 の利用者のメールアドレス宛てに送信した。送信に当たっては社内の実在するメールアドレスからの送信であるように偽装した。
なお,他のメールも 100 通ほど送信し,標的型攻撃用メールが他のメールに紛れるようにした。
(4) 各 PC にはウイルス対策ソフトを導入した。さらに,演習で用いるウイルス定義ファイルを使用した場合でも,プログラム S がウイルスとして検出されないことを確認した。
(5) プログラム S が動作する際の通信が,IPS によって不正な通信として検出されることを確認した。
(6) 演習の開始直前に PC1 にログインしてメールを受信し,メールの添付ファイルであったプログラム S を実行した。
図 3 演習の準備
(1) 実行すると,利用者に気づかれないように PC に常駐する。
(2) 自セグメント及び近隣のセグメントに接続されたコンピュータにアクセスを試みる。その際に,相手のコンピュータのセキュリティホールを利用する。
(3) (2) でアクセスに成功したらファイルの取得を試みる。ファイルが取得できたら,そのファイルを攻撃者のメールアドレスに送信する。
(4) 他のコンピュータに自身をコピーして,常駐させる。ただし,演習用なので,コピーする台数,世代数には制限を設けている。また,指定された期日を過ぎると動作を停止する。
(5) リムーバブルメディアが接続されたことを検知して,利用者に気づかれないように他のコンピュータへの感染経路として利用する。
図 4 プログラム S の動作

〔標的型攻撃に対応する演習〕

演習用環境の準備を整えた後,T 主任は U 君に演習の開始を告げた。次は,その時の会話である。

対応を開始した U 君は,まず IPS による不正な通信の検出結果を確認した後,ウイルス対策管理サーバ,FW 及び IPS のログ分析を開始した。

FW 及び IPS のログ分析の結果,U 君は PC1 からメールサーバに対して不審なアクセスが行われていると思われるログを発見した。次は,その時の会話である。

その後,U 君は PC1 を演習用環境から切り離す措置をとった。切り離した PC1 は,解析用の隔離環境に接続し,PC1 の解析を行った。2 時間ほどしたところで U 君が行き詰まっているのに気が付いた T 主任は,U 君に声を掛けた。

この後 U 君は,下線③の方法を使って悪意あるプログラムを特定し,さらに PC1 の利用者のメールアドレス宛てに到着したメールの中から不審な添付ファイルを見つけ出した。利用者がこの添付ファイルを実行したことによって悪意あるプログラムが常駐してしまい,他のコンピュータへの不正な通信を行っていたことを突き止めた。

〔演習の振返り〕

演習の後,U 君は従業員が社内ネットワーク上の PC で今回のような標的型攻撃メールを受信して添付ファイルを実行してしまった場合,どのような被害が発生するか,その被害への対応をどうすべきかを検討して,インシデント対応手順にまとめた。また,インシデント対応のため,PC を LAN から切り離して解析作業を行っている間に,その PC の利用者から内蔵ハードディスク内のファイルが欲しいと言われる可能性が高いと考えた。そこで,証拠保全が可能な方法によって PC を複製した後に,④複製した PC からファイルを取り出す手順をインシデント対応手順に記載した。さらに,インシデントを未然に防ぐための標的型攻撃対策を作成した。

その後,T 主任はインシデント対応手順及び標的型攻撃対策を承認し,P チーム内の正式ドキュメントとして発行した。標的型攻撃対策に基づき,P チームは全従業員に対して標的型攻撃に関する指導を行った。K 社では,このような対策の効果もあり,標的型攻撃による被害を未然に防ぐことに成功している。

出題趣旨(IPA)

セキュリティ技術者が不足していると言われているものの,その育成については個々の現場に委ねられている状況が見受けられる。しかし,セキュリティ技術者の育成に当たっては演習などを通じた実践的な育成が重要である。本問では,標的型攻撃という題材を取り上げつつ,現実に近いネットワーク環境での演習による技術者の育成について問う。

採点講評(問全体・IPA)

問4では,標的型攻撃に関して出題した。この問で取り上げている標的型攻撃に遭遇した場合,設問1から4の全てにおいて,ウイルス対策ソフトが本来の機能を発揮できない場合があることを理解した上での解答を期待したが,その点の理解が不足している解答が目立った。

設問と解答例

設問1 解答欄2つ

攻撃者が本文中の下線①及び下線②のような細工をする目的を,下線①について 40 字以内,下線②について 30 字以内で述べよ。

〔下線①〕解答例

  • メール受信者に正常なメールと誤認識させて添付ファイルを開かせるため

〔下線②〕解答例

  • ウイルス対策ソフトで検出されることを防ぐため
解説

本文の根拠

〔標的型攻撃への対策の検討〕

①メール本文やタイトルに K 社に関連した内容が含まれるなど高度な偽装が施されており,かつ,②新たに作成された悪意あるプログラムを含んだファイルが添付されている

全体構成の説明

ウイルス対策ソフトはウイルス定義ファイルに基づきパターンマッチングによってウイルスを検出するものであり

図 3

さらに,演習で用いるウイルス定義ファイルを使用した場合でも,プログラム S がウイルスとして検出されないことを確認した。

下線①は,メール本文やタイトルに K 社に関連した内容を含めるなどの偽装である。受信者が“自分に関係のある,正常なメール”だと思えば,不審に思わず添付ファイルを開く。そこで目的は,メール受信者に正常なメールと誤認識させて,添付ファイルを開かせることである。

下線②は,新たに作成された悪意あるプログラムを添付することである。ウイルス対策ソフトは,ウイルス定義ファイルに基づくパターンマッチングで検出するため,定義ファイルに載っていない新しいプログラムは検出できない。演習の図 3 でも,プログラム S がウイルスとして検出されないことを確認している。したがって目的は,ウイルス対策ソフトで検出されることを防ぐためである。

字数は,下線①が 40 字以内(解答例は 33 字),下線②が 30 字以内(解答例は 22 字)。①は“誰に何をさせるため”,②は“何で検出されるのを防ぐため”を書く。

設問2 50字以内

本文中の下線③の悪意あるプログラムを特定する方法とは何か。その方法を 50 字以内で述べよ。

解答例

  • 不正な通信の送信元TCPポート番号を基に,そのポートを使用しているプログラムを特定する。
解説

本文の根拠

〔標的型攻撃に対応する演習〕

PC1 から不正な TCP 通信が行われていることは確認できたのですが,PC1 でどのような悪意あるプログラムが動いているかが分かりません。

〔標的型攻撃に対応する演習〕

パケットキャプチャの結果を分析すれば,不正な通信の詳細情報が分かります。その情報の中には,当然 TCP セッション情報が含まれていますよね。それが糸口になりませんか。

U 君は,パケットキャプチャから PC1 が不正な TCP 通信をしていることまでは確認できたが,常駐プログラム名の一覧では正常な PC との差異が無く,どのプログラムが通信しているか分からなかった。T 主任は,プログラム名は偽装できるので,TCP セッション情報を糸口にするよう促している。

TCP セッション情報には,通信の送信元と宛先のポート番号が含まれる。不正な通信の送信元(PC1 側)の TCP ポート番号が分かれば,そのポートを使用しているプログラムは PC1 上で特定できる。通信の中身(プログラム名)ではなく,ポート番号を通信と結び付ける点が要になる。解答例は“不正な通信の送信元TCPポート番号を基に,そのポートを使用しているプログラムを特定する。”(44 字)。講評は,TCP ポート番号が大きな手がかりになる点を理解してほしかったが,正答率は低かったと述べている。

50 字以内の指定に対し,解答例は 44 字。“パケットを調べる”だけでなく,何の情報(送信元ポート番号)から何を(ポートを使うプログラム)特定するかを書く。

採点講評(IPA)

設問2は,TCPセッションのパケットキャプチャを出発点として未知のウイルスの解析を行う場合を例にとり,常駐してしまったウイルスの検出方法について出題した。この場合は,TCPポート番号が大きな手がかりになるという点を理解してほしかったが,正答率は低かった。

設問3 50字以内

本文中の下線④について,ウイルス感染を広めることのないように,利用者が必要とするファイルを PC から取り出すにはどのような方法をとればよいか。その方法を 50 字以内で具体的に述べよ。ただし,取り出すべきファイルはウイルスに感染していないものとする。

解答例

  • 正常なOSで起動した他のPCに,複製したPCのハードディスクを接続してファイルを取り出す。
解説

本文の根拠

〔演習の振返り〕

証拠保全が可能な方法によって PC を複製した後に,④複製した PC からファイルを取り出す手順をインシデント対応手順に記載した。

図 4

リムーバブルメディアが接続されたことを検知して,利用者に気づかれないように他のコンピュータへの感染経路として利用する。

利用者が必要とするファイルを,感染したかもしれない PC から取り出すとき,その PC の OS をそのまま起動すると,常駐しているウイルスが動き出す。また,図 4 のプログラム S のように,リムーバブルメディアを感染経路にするものもあるので,起動した PC にメディアを接続して取り出すのも危険である。

そこで,複製した PC のハードディスクを,正常な OS で起動した他の PC に接続して,ファイルを取り出す。感染した OS を起動しないので,ウイルスは動かない。解答例は“正常なOSで起動した他のPCに,複製したPCのハードディスクを接続してファイルを取り出す。”(45 字)。講評は,既知であれ未知であれウイルスの感染が疑われる OS 環境では,その OS を起動してはいけないことを踏まえた解答を期待したが,正答率は低かったと述べている。

50 字以内の指定に対し,解答例は 45 字。“正常な OS で起動した他の PC”と“複製したハードディスクを接続”の二点を書く。

採点講評(IPA)

設問3は,未知のウイルスに感染しているかもしれないという状況下で必要なデータファイルを確保する作業の方法について出題した。既知であれ未知であれウイルスの感染が疑われるOS環境では,そのOSを起動してはいけないことを踏まえた解答を期待したが,正答率は低かった。

設問4 40字以内

本文中の下線①及び下線②の特徴を持った標的型攻撃メールを受信した場合の被害を回避するためには,従業員にどのような指導を行えばよいか。添付ファイル付きメールの取扱いについて指導すべき内容を 40 字以内で述べよ。

解答例

  • 添付ファイルの安全が確信できない場合,電話などで送信者に送信の事実を確認する。
解説

本文の根拠

図 3

送信に当たっては社内の実在するメールアドレスからの送信であるように偽装した。

〔演習の振返り〕

メール本文は総務部からの社内連絡を装っている上,送信元のメールアドレスも実在するものであり,添付ファイルのアイコン偽装以外は不審な点は一切見当たりませんでした。

下線①②の特徴を持つ標的型攻撃メールは,K 社に関連した内容で,送信元も社内の実在するメールアドレスに偽装され,添付ファイルはウイルス対策ソフトでも検出されない。演習で U 君が述べたとおり,アイコンの偽装以外に不審な点が無く,メールの見た目やソフトの検出だけでは見分けられない。

そこで,添付ファイル付きメールの扱いとして,安全が確信できないときは,メールとは別の手段(電話など)で送信者に,そのメールを送ったかどうかを確認するよう指導する。送信元アドレスが偽装されていても,本人への確認なら偽装を見破れる。解答例は“添付ファイルの安全が確信できない場合,電話などで送信者に送信の事実を確認する。”(39 字)。

40 字以内の指定に対し,解答例は 39 字。“添付ファイルを開かない”のような一般論だけで終わらず,何をどう確認するかを入れる。

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