‹ ぱすてく

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

平成26年度 秋期 午後Ⅰ(旧試験)

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

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

この年度を解いてみる

問1 スマートフォン

スマートフォンに関する次の記述を読んで,設問1~4に答えよ。

K 社は,従業員数 5,000 名の情報システム会社である。K 社では,モバイル PC に加えて,スマートフォン(以下,スマホという)から,従業員が電子メールやグループウェアなどの社内システムへアクセスできるシステム環境(以下,B システムという)を昨年導入した。B システムの利用に先立ち,従業員が電子メール用やグループウェア用のアプリケーションソフトウェア(以下,アプリケーションソフトウェアをアプリという)をスマホにインストールする。また,B システムの導入に当たっては,スマホを遠隔で管理するシステム(以下,M システムという)を追加で導入し,スマホの OS やアプリのバージョンなどの構成情報の管理や,スマホの紛失時のデータ消去などのセキュリティ対策を実現した。さらに,“個人の所有物であるスマホから B システムを利用する際は,事前に,利用者の氏名に加えてスマホの製品名や電話番号といった情報を K 社に申請すること”などを定めたスマホ利用規程を策定した。

B システムの導入から 1 年が過ぎたので,K 社では,セキュリティ対策及びスマホ利用規程が有効であったかについて確認することにした。その際に,スマホに関するセキュリティ対策を改めて議論することにした。

〔ルート特権の利用について〕

スマホのルート特権を利用者が利用できる状態にする行為(以下,ルート特権化という)について,セキュリティ上の問題がないかを検討することになった。スマホの多くは,利用者がルート特権をもたず一般利用者の権限だけで利用することを前提にしている。そのため,ルート特権をもつ個人の PC と違い,OS の設定の一部を自由に変更できないという制約や,スマホのベンダによってあらかじめインストールされているアプリを削除できないという制約などがある。そのような制約を嫌う利用者の中には,ベンダが想定していない手段で,ルート特権化を自ら行う者もいる。

K 社で調査したところ,ルート特権化は,主に,バッファオーバフロー攻撃を用いて実現されることが分かった。

〔バッファオーバフロー攻撃の詳細と対策について〕

バッファオーバフロー攻撃に関するセキュリティホールは,スマホ用の OS だけではなく,PC 用 OS やサーバ用 OS においても報告されている。通常,OS やライブラリのセキュリティホールが公表された場合,PC やサーバを管理する者は,開発元から提供される a の適用やソフトウェアの更新によって,セキュリティホールに対処する。他方,Web サーバにおいては,a の適用やソフトウェアの更新をしなくても,①通信路上に IPS や WAF を設置することによって,インターネットから Web サーバへのバッファオーバフロー攻撃を防止することもできる。

バッファオーバフロー攻撃としては,スタックバッファオーバフロー攻撃,b バッファオーバフロー攻撃や,静的メモリ領域を対象としたバッファオーバフロー攻撃が知られている。いずれのバッファオーバフロー攻撃も,主に C や C++で作成されたプログラムが狙われる。スタックバッファオーバフロー攻撃は,スタック領域を破壊するので,スタック破壊攻撃とも呼ばれる。スタック破壊の挙動をプログラム実行時に検知して停止する機能(以下,スタック破壊検知機能という)を含むコードを生成するコンパイラも普及している。

図1は,スタックバッファオーバフロー攻撃に対して脆弱なプログラム(以下,Vuln という)である。図2は,関数 foo が呼び出された後のメモリ配置である。ここで,図2中の shell コードは,攻撃者がスタックバッファオーバフロー攻撃によってメモリ上に配置するものである。スタック破壊検知機能を含めずにコンパイルした Vuln においては,攻撃を成立させるために挿入するデータ(以下,インジェクションベクタという)を変数 a に与えることによって,shell コードにプログラムの制御が移ってしまう。ここでは,図3が Vuln に対するインジェクションベクタである。その際,Vuln が実行時に②一定の条件を満たせば,あらゆる命令の実行が shell コードで可能となる。

C 言語のプログラム(行番号付き)。1: (省略),2: int main(int argc, char *argv[]) {,3:     char *a;,4: (省略,ここで a がポイントする領域にインジェクションベクタが挿入される。),5:     foo(a);,6: (省略,ここでその他の必要な処理をする。),7: },8: int foo(char *b) {,9:     char c[24];,10: (省略),11:     strcpy(c, b);,12: (省略,ここで c を利用する。),13:     return 0;,14: }
図1 スタックバッファオーバフロー攻撃に対して脆弱なプログラム Vuln
メモリ配置図。上から順に,アドレス ffffffff(上端),省略記号,アドレス c804805e から c8048026 までが“(ここに shell コードが入る)”,その下の c8048026 の位置から“リターンアドレス X”,“ebp レジスタ保存値”,省略記号,“char c[24]”,その下の小さな領域,アドレス c8047fe6 までが“スタック領域”である。省略記号をはさんで“共有ライブラリ”,その下の領域が“ヒープ領域”,省略記号をはさんで“データ”の領域が“BSS 領域”,その下の“データ”の領域が“データ領域”,その下の“Vuln”の領域(アドレス 08048026 から)が“テキスト領域”である。注記 メモリアドレスは 4 バイトの 16 進数表記である。
図2 関数 foo が呼び出された後のメモリ配置
インジェクションベクタの構成図。左から,“41”,“…”,“41”の 3 マスが“適当な長さの 41 のバイト列”,続いて太枠の“c”のマス(空欄),その右に空白のマス,“…”,空白のマスが“shell コード”である。注記 表記は 16 進数である。
図3 Vuln に対するインジェクションベクタ

このスタックバッファオーバフロー攻撃を防止するため,指定されたメモリ領域でのコードの実行を禁止する機能(以下,データ実行防止機能という)が登場した。これは,CPU の機能を用いて実現されている。

しかし,プログラム実行時に共有ライブラリがメモリ上にロードされていることを利用して,データ実行防止機能を回避する新たな攻撃法が登場した。これは,共有ライブラリ内の関数であって,かつ,任意のプログラムを実行できる関数を,スタックバッファオーバフロー攻撃時に利用するものである。libc 共有ライブラリを利用する場合,この攻撃は d 攻撃と呼ばれる。

最近の OS では,こういった攻撃が成功することを抑制するため,アドレス空間配置ランダム化技術が実装されている。アドレス空間配置ランダム化技術を用いると,スタック破壊検知機能を含めずにコンパイルしたプログラムであっても,スタックバッファオーバフロー攻撃の成功を抑制することができる。

〔K 社での対策〕

K 社の調査の結果,スマホの OS のあるバージョン(以下,バージョン V という)以降ではデータ実行防止機能及びアドレス空間配置ランダム化技術が実装されていることが分かった。また,バージョン V 以降では,その他様々な点でセキュリティ対策が強化されていることも分かった。

その上で,ルート特権化されたスマホから B システムを利用することについて改めて検討したところ,ルート特権化されたスマホは,ベンダの保守サポートの対象外になること,及び M システム用のアプリや B システム用のアプリが動作しなくなることが分かった。さらに,ルート特権化されていないスマホと違い,ルート特権化されたスマホでは,“データを盗み出すタイプのマルウェア”が侵入してしまうと,それがルート特権を取得して,③スマホ内に保存されているアプリのデータを不正に読み出してしまうリスクが高まることも分かった。そのため,K 社では,スマホ利用規程で,ルート特権化されたスマホからの B システムの利用を禁止することにした。

しかしながら,④それだけでは,従業員がスマホ利用規程を守ったとしても,“意図しないルート特権化”のリスクが残存する。K 社は,B システムのセキュリティを確保するために,スマホでは,バージョン V 以降の OS を利用することが必要であるとの結論に至った。そのため,⑤スマホの OS のバージョンを K 社が確認する運用策を実施することにした。

出題趣旨(IPA)

近年,様々な場面でのスマートフォンの利用が増えており,個人所有のスマートフォンを,所属する組織での情報システムの中で活用することも期待されている。しかし,そのような利用において,新たな脅威が生まれることも想定できる。本問は,スマートフォン用OSを題材としているが,多くのOSに共通する知識を扱っており,ルート特権化に関する技術及びシステムの運用に関する問題である。特に,スマートフォン用OSのルート特権化の一手法であるスタックバッファオーバフロー攻撃及びその対策がどのような仕組みであるかを問う。また,それらがシステムインテグレーションや運用にどのように影響するのかのリスク分析能力・対案立案能力を問う。

採点講評(問全体・IPA)

問1では,運用の観点も含めて,ソフトウエアにおける脆弱性の代表例の一つであるバッファオーバフローについて出題した。全体に正答率は想定以上に低く,バッファオーバフローの仕組みなどの技術について誤解が多く見受けられた。

設問と解答例

設問1 解答欄3つ

本文中の a,b,d に入れる適切な字句を,a は 15 字以内で,b は 5 字以内で,d は 20 字以内でそれぞれ答えよ。

〔a〕解答例

  • セキュリティパッチ

〔b〕解答例

  • ヒープ

〔d〕解答例

  • return-to-libc
解説

本文の根拠

〔バッファオーバフロー攻撃の詳細と対策について〕

開発元から提供される a の適用やソフトウェアの更新によって,セキュリティホールに対処する。

〔バッファオーバフロー攻撃の詳細と対策について〕

バッファオーバフロー攻撃としては,スタックバッファオーバフロー攻撃,b バッファオーバフロー攻撃や,静的メモリ領域を対象としたバッファオーバフロー攻撃が知られている。

図2

省略記号をはさんで“共有ライブラリ”,その下の領域が“ヒープ領域”

〔バッファオーバフロー攻撃の詳細と対策について〕

libc 共有ライブラリを利用する場合,この攻撃は d 攻撃と呼ばれる。

a は,OS やライブラリのセキュリティホール(脆弱性)に対して開発元が提供する修正プログラムで,“セキュリティパッチ”。パッチを適用するかソフトウェアを更新して脆弱性そのものをなくすのが通常の対処である。b は,攻撃対象のメモリ領域による分類で,図2のメモリ配置にはスタック領域・ヒープ領域・BSS 領域・データ領域・テキスト領域がある。本文はスタック,b,静的メモリ領域(BSS 領域・データ領域)を並べているので,残るのは“ヒープ”である。d は,共有ライブラリの関数を呼び出させてデータ実行防止機能を回避する攻撃の名称で,libc を使うものは“return-to-libc”と呼ばれる。

本文は,データ実行防止機能がスタック上のコードの実行を禁じるので,攻撃者が自分のコードを置いて実行させる方法が使えなくなり,メモリ上に既にある共有ライブラリの関数を使う攻撃法が登場した,という流れで書かれている。この“既にメモリ上にある関数を使う”という点を手掛かりにすると,d が何を指すか絞り込める。講評は b と d を OS のセキュリティ技術に関する問題と位置付けている。

字数制限は a が15字以内,b が5字以内,d が20字以内。解答例は“セキュリティパッチ”(9字),“ヒープ”(3字),“return-to-libc”(14字)で,いずれも制限内に収まる。用語は解答例の形で覚えておくとよい。

採点講評(IPA)

設問1のbとdは,OSにおけるセキュリティ技術に関する問題である。プログラミング開発においての知識と併せて,セキュリティに関する知識として再度確認してほしい。

設問2(1)

図2のメモリ配置について,スタックバッファオーバフロー攻撃を防止するには,データ実行防止機能をどのメモリ領域に適用すればよいか。図2中の用語を用いて答えよ。

解答例

  • スタック領域
解説

本文の根拠

〔バッファオーバフロー攻撃の詳細と対策について〕

このスタックバッファオーバフロー攻撃を防止するため,指定されたメモリ領域でのコードの実行を禁止する機能(以下,データ実行防止機能という)が登場した。

〔バッファオーバフロー攻撃の詳細と対策について〕

図2中の shell コードは,攻撃者がスタックバッファオーバフロー攻撃によってメモリ上に配置するものである。

図2

c8047fe6 までが“スタック領域”である。

データ実行防止機能は,指定したメモリ領域にあるコードを実行できないようにする機能である。図2では,攻撃者が shell コードを置くのはスタック領域の中(アドレス c8048026〜c804805e)で,このスタック領域が本文でも“スタック破壊攻撃”の舞台になっている。したがって,実行を禁止する領域は“スタック領域”である。

ヒープ領域や BSS 領域・データ領域・テキスト領域も同じ図に出てくるが,このスタックバッファオーバフロー攻撃で shell コードが置かれるのはスタックなので,防止の対象はそこになる。テキスト領域は Vuln のプログラム本体なので,ここを実行禁止にするとプログラムが動かなくなる。

問題文は“図2中の用語を用いて”と指定している。“スタック”だけでも意味は通じるが,図2の用語の“スタック領域”をそのまま書く。解答例は6字。

採点講評(IPA)

設問2は,スタックバッファオーバフロー攻撃を具体的に理解し,説明できる能力を求める問題である。本問のスタックバッファオーバフロー攻撃自体は,バッファオーバフロー攻撃の中でも基本的な例であるが,正確な知識がなければ,解答は困難である。最近のOSのセキュリティ対策技術も,このような知識を前提としていると言えるので,受験者にはこの機会にこれらの知識を確認してほしい。

設問2(2) 解答欄1つ

図3中の c に入れる適切なバイト列を解答群の中から選び,記号で答えよ。ただし,バイトオーダはリトルエンディアンとする。解答群 ア 068004c8 イ 08048026 ウ 26800408 エ 268004c8 オ 5e8004c8 カ c8048006 キ c8048026 ク c804805e

〔c〕解答例

  • エ
解説

本文の根拠

図2

“リターンアドレス X”,“ebp レジスタ保存値”

図2

メモリアドレスは 4 バイトの 16 進数表記である。

図3

“適当な長さの 41 のバイト列”

図3のインジェクションベクタは,“41 のバイト列”,c,shell コードの順に並ぶ。図2のスタックは,下位のアドレスから char c[24],ebp レジスタ保存値,リターンアドレス X の順なので,Vuln の strcpy で変数 c に長い入力を書き込むと,41 のバイト列が char c[24] と ebp レジスタ保存値を埋め,続く c がリターンアドレス X の位置に上書きされる。c に shell コードの先頭アドレスを入れれば,関数 foo から戻るときに shell コードへ制御が移る。図2で shell コードが入る範囲はアドレス c8048026〜c804805e なので,先頭は c8048026 である。

バイトオーダがリトルエンディアンなので,4バイトの値 c8048026 は下位のバイトから 26,80,04,c8 の順にメモリへ並ぶ。この並びを 16 進数で書くと 268004c8 で,正解は“エ”。キの c8048026 はビッグエンディアンの並びで,そのまま入れるとバイト順が逆になる。ク c804805e は shell コードの範囲の上端,カ c8048006 は先頭より手前(0x20 小さい)で,どちらも先頭ではない。イの 08048026 はテキスト領域(Vuln)側のアドレスである。ア・ウ・オは,カ・イ・クをそれぞれリトルエンディアンで並べた値なので,これらも先頭を指さない。

解答は記号で選ぶ。選択肢が 16 進の並びで紛らわしいので,先頭アドレスを確かめたあと,下位バイトから順に並べ替えて一致するものを選ぶ。

採点講評(IPA)

設問2は,スタックバッファオーバフロー攻撃を具体的に理解し,説明できる能力を求める問題である。本問のスタックバッファオーバフロー攻撃自体は,バッファオーバフロー攻撃の中でも基本的な例であるが,正確な知識がなければ,解答は困難である。最近のOSのセキュリティ対策技術も,このような知識を前提としていると言えるので,受験者にはこの機会にこれらの知識を確認してほしい。

設問2(3) 25字以内

アドレス空間配置ランダム化技術は,攻撃者のどのような行為をできないようにすることによって,図3のインジェクションベクタによるスタックバッファオーバフロー攻撃が成功することを抑制するか。25 字以内で具体的に述べよ。

解答例

  • 攻撃を成功させるためのジャンプ先アドレスの特定
解説

本文の根拠

〔バッファオーバフロー攻撃の詳細と対策について〕

最近の OS では,こういった攻撃が成功することを抑制するため,アドレス空間配置ランダム化技術が実装されている。

〔バッファオーバフロー攻撃の詳細と対策について〕

アドレス空間配置ランダム化技術を用いると,スタック破壊検知機能を含めずにコンパイルしたプログラムであっても,スタックバッファオーバフロー攻撃の成功を抑制することができる。

図2

アドレス c804805e から c8048026 までが“(ここに shell コードが入る)”

設問2(2)のとおり,図3のインジェクションベクタは,リターンアドレスの位置に shell コードの先頭アドレス(c8048026)を固定値として書き込んでいる。アドレス空間配置ランダム化は,スタックや共有ライブラリなどをメモリに配置するアドレスを実行のたびに変える技術なので,攻撃者は shell コードがどのアドレスに置かれるかを事前に知ることができない。そのため,攻撃を成功させるために必要なジャンプ先アドレスを,攻撃者が特定できなくなる。解答例は“攻撃を成功させるためのジャンプ先アドレスの特定”。

書き方として,“アドレスを変える”だけでは攻撃者が何をできなくなるかが書かれていない。設問は“攻撃者のどのような行為をできないようにするか”を問うているので,行為(ジャンプ先アドレスの特定)を主語にして書く。共有ライブラリの関数のアドレスを特定できなくなる,という説明も同じ仕組みである。

25字以内の制限なので,“攻撃を成功させるための”(11字)を落とさず,“ジャンプ先アドレスの特定”を残す。解答例は23字。

採点講評(IPA)

設問2は,スタックバッファオーバフロー攻撃を具体的に理解し,説明できる能力を求める問題である。本問のスタックバッファオーバフロー攻撃自体は,バッファオーバフロー攻撃の中でも基本的な例であるが,正確な知識がなければ,解答は困難である。最近のOSのセキュリティ対策技術も,このような知識を前提としていると言えるので,受験者にはこの機会にこれらの知識を確認してほしい。

設問3(1) 25字以内

本文中の下線①にある,インターネットから Web サーバへのバッファオーバフロー攻撃の対策として,IPS や WAF ではどのような処理をするか。25 字以内で具体的に述べよ。

解答例

  • インジェクションベクタを検知・破棄する。
解説

本文の根拠

〔バッファオーバフロー攻撃の詳細と対策について〕

通信路上に IPS や WAF を設置することによって,インターネットから Web サーバへのバッファオーバフロー攻撃を防止することもできる。

〔バッファオーバフロー攻撃の詳細と対策について〕

攻撃を成立させるために挿入するデータ(以下,インジェクションベクタという)

本文が設置場所に挙げているのは“通信路上”で,IPS や WAF はそこを流れる通信の内容を検査する機器である。バッファオーバフロー攻撃は,攻撃を成立させるために挿入するデータ(インジェクションベクタ)をサーバへ送り込むことで行われるので,IPS や WAF は,通信中のインジェクションベクタを攻撃の特徴(シグネチャなど)から検知し,破棄する。解答例は“インジェクションベクタを検知・破棄する。”。これならサーバ側でセキュリティパッチを適用しなくても,攻撃のデータはサーバへ届かない。

IPS は侵入防止,WAF は Web アプリケーション向けの防御で,どちらも“検知して遮断する”点が共通する。“検知する”だけの IDS 的な答えでは,防止にならない。

25字以内の制限。“インジェクションベクタ”(11字)という語を使い,処理は“検知”と“破棄”の二つを書く。解答例は20字。“攻撃通信を遮断する。”のような短い書き方も,処理の中身が伝われば通じる。

採点講評(IPA)

設問3及び設問4は,バッファオーバフロー攻撃の仕組みとは別に,潜在的に脆弱性をもつシステムを運用する場面での脅威及びその対処をストーリーに合わせて解答する問題である。脆弱性やその対策に関する技術的知識を前提としており,それらを含めた周辺技術の理解を深めてほしい。

設問3(2) 20字以内

本文中の下線②の条件を 20 字以内で述べよ。

解答例

  • ルート特権があること
解説

本文の根拠

〔バッファオーバフロー攻撃の詳細と対策について〕

Vuln が実行時に②一定の条件を満たせば,あらゆる命令の実行が shell コードで可能となる。

〔ルート特権の利用について〕

スマホの多くは,利用者がルート特権をもたず一般利用者の権限だけで利用することを前提にしている。

shell コードに制御が移ると,その命令は Vuln が動いている権限で実行される。実行できる命令の範囲は Vuln の権限で決まるので,“あらゆる命令”を実行するには,Vuln 自体がルート特権で動いている必要がある。本文は,スマホの多くが一般利用者の権限だけで利用される前提であると述べており,一般権限の Vuln を乗っ取っても実行できる命令は限られる。解答例は“ルート特権があること”。

攻撃の目的はルート特権化なので,この設問は Vuln のようなプログラムがルート特権をもつ場合に,スタックバッファオーバフロー攻撃がそのまま全権の奪取になる,ということを問うている。

20字以内の制限に対して,解答例は10字。“Vuln がルート特権で動作していること”(20字)のように主語を足しても収まる。

採点講評(IPA)

設問3及び設問4は,バッファオーバフロー攻撃の仕組みとは別に,潜在的に脆弱性をもつシステムを運用する場面での脅威及びその対処をストーリーに合わせて解答する問題である。脆弱性やその対策に関する技術的知識を前提としており,それらを含めた周辺技術の理解を深めてほしい。

設問4(1) 40字以内

ルート特権化されていないスマホでは,本文中の下線③の不正な読出しを,OS のファイルシステムがどのような仕様で制限しているか。40 字以内で述べよ。

解答例

  • あるアプリから,ほかのアプリのデータへのアクセスを禁止するという仕様
解説

本文の根拠

〔K 社での対策〕

ルート特権化されていないスマホと違い,ルート特権化されたスマホでは,“データを盗み出すタイプのマルウェア”が侵入してしまうと,それがルート特権を取得して,

〔ルート特権の利用について〕

スマホの多くは,利用者がルート特権をもたず一般利用者の権限だけで利用することを前提にしている。

ルート特権化されていないスマホでは,マルウェアが侵入しても,アプリとして一般利用者の権限で動くにすぎない。このとき,OS のファイルシステムは,アプリごとにデータの置き場所とアクセス権限を分け,あるアプリから別のアプリのデータへのアクセスを禁止している。したがって,マルウェアが侵入しても,ほかのアプリのデータを読み出すことはできない。解答例は“あるアプリから,ほかのアプリのデータへのアクセスを禁止するという仕様”。

ルート特権化されたスマホでは,マルウェアがルート特権を取得すると,この制限を越えてほかのアプリのデータを読み出せるようになる。下線③のリスクが高まるのはそのためである。

40字以内の制限に対して,解答例は34字。“アプリ間のデータへのアクセスを禁止するという仕様”のように,アプリを単位にしたアクセス禁止であることが分かる書き方にする。“アクセス権限で制限している”だけでは,何を制限するのかが伝わらない。

採点講評(IPA)

設問3及び設問4は,バッファオーバフロー攻撃の仕組みとは別に,潜在的に脆弱性をもつシステムを運用する場面での脅威及びその対処をストーリーに合わせて解答する問題である。脆弱性やその対策に関する技術的知識を前提としており,それらを含めた周辺技術の理解を深めてほしい。

設問4(2) 25字以内

本文中の下線④について,意図しないルート特権化がどのような状況で起こり得るか。25 字以内で述べよ。

解答例

  • ルート特権化するマルウェアに感染したとき
解説

本文の根拠

〔ルート特権の利用について〕

K 社で調査したところ,ルート特権化は,主に,バッファオーバフロー攻撃を用いて実現されることが分かった。

〔K 社での対策〕

それだけでは,従業員がスマホ利用規程を守ったとしても,“意図しないルート特権化”のリスクが残存する。

スマホ利用規程は,従業員が自ら行うルート特権化を前提にした決まりで,ルート特権化したスマホから B システムを使うことを禁止するものである。これを守っても,バッファオーバフロー攻撃を用いるマルウェアに感染すれば,従業員が意図しなくてもルート特権化される。解答例は“ルート特権化するマルウェアに感染したとき”。

本文の〔ルート特権の利用について〕は,ルート特権化が主にバッファオーバフロー攻撃を用いて実現されると述べている。この手法はマルウェアも使える,という点がつながる。

25字以内の制限に対して,解答例は20字。“状況”を問われているので,“感染したとき”のように条件の形で書く。“マルウェアに感染する”だけでは,ルート特権化とのつながりが落ちる。

採点講評(IPA)

設問3及び設問4は,バッファオーバフロー攻撃の仕組みとは別に,潜在的に脆弱性をもつシステムを運用する場面での脅威及びその対処をストーリーに合わせて解答する問題である。脆弱性やその対策に関する技術的知識を前提としており,それらを含めた周辺技術の理解を深めてほしい。

設問4(3) 20字以内

本文中の下線⑤について,確認方法を具体的に 20 字以内で述べよ。

解答例

  • Mシステムを使って確認する。
解説

本文の根拠

本文の冒頭

スマホの OS やアプリのバージョンなどの構成情報の管理や,スマホの紛失時のデータ消去などのセキュリティ対策を実現した。

本文の冒頭

事前に,利用者の氏名に加えてスマホの製品名や電話番号といった情報を K 社に申請すること

〔K 社での対策〕

スマホの OS のバージョンを K 社が確認する運用策を実施することにした。

K 社が OS のバージョン V 以降であることを確認するには,利用者の申告では足りない。本文の申請事項は氏名・製品名・電話番号で,OS のバージョンは含まれていない。申請の後に OS が更新されても,申告だけでは K 社には分からない。M システムは,スマホの OS やアプリのバージョンなどの構成情報を管理するシステムで,K 社が導入済みなので,このシステムで構成情報から OS のバージョンを確認できる。解答例は“Mシステムを使って確認する。”。

“従業員に申請させる”“定期的に報告させる”といった自己申告の方法では,確認の確実さが運用に左右されるので,本文が既に導入している M システムを使う方法が最も具体的である。

20字以内の制限に対して,解答例は14字。“M システム”という固有の名前を落とさず,“確認する”までを書く。

採点講評(IPA)

設問3及び設問4は,バッファオーバフロー攻撃の仕組みとは別に,潜在的に脆弱性をもつシステムを運用する場面での脅威及びその対処をストーリーに合わせて解答する問題である。脆弱性やその対策に関する技術的知識を前提としており,それらを含めた周辺技術の理解を深めてほしい。

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

問2 代理店販売支援システム

代理店販売支援システムに関する次の記述を読んで,設問1~3に答えよ。

L 社は中堅の損害保険会社である。保険商品は,直営店でも扱っているが,多くは代理店を通じて販売している。L 社では,10 年前にインターネットを用いた代理店販売支援システム(以下,P システムという)を開設した。

P システムは,代理店に対して,顧客情報の新規登録,閲覧及び更新の機能,並びに商品説明書及び販売マニュアルの提示機能を提供する。代理店の担当者は,利用者 ID とパスワードを入力してログインし,P システムを利用する。

P システムの開設以来,P システムへの不正ログインの試みと推測される事象が複数回確認されてきた。また,3 年前には,競合他社において代理店から大量の顧客情報が流出する事件も発生した。これらの状況において,L 社は代理店に対して,注意喚起,講習会の開催,年 1 回のセキュリティチェックレポート提出の要請などを実施してきた。

運用開始から 10 年目を迎えることを機に,L 社では,P システムを全面改修・拡張して,新システム(以下,Q システムという)を構築することにした。そのプロジェクトのリーダには,IT 部門の B 課長が任命された。プロジェクトの重要な目的の一つは,セキュリティの強化である。Q システムのセキュリティ設計は,B 課長の部下である C さんが担当することになった。

〔Q システムの設計方針〕

Q システムは,P システムを拡張して構築する。2015 年 9 月から 10 年間の稼働を想定している。Q システムには,情報漏えいのリスクをできるだけ減らすことが求められている。B 課長は,経営陣,代理店チャネル担当,情報セキュリティ室などの社内関係者及び社外の情報セキュリティの専門家に意見を求め,表1に示す情報漏えい防止設計方針を取りまとめた。

情報漏えい対策と設計方針の表。利用者の認証:・利用者 ID とパスワードだけでなく,多段階又は複数要素で利用者を認証することによって,なりすましによる不正アクセスを防止する。端末の限定:・代理店の管轄下にある端末からのアクセスだけを許可する。ガイドラインの作成:・顧客情報の取扱いや Q システムの利用要件についてガイドラインを作成し,その遵守義務を代理店契約に盛り込む。
表1 情報漏えい防止設計方針(抜粋)

C さんは,表1の設計方針のうち,利用者の認証及び端末の限定についての実現方法として,Q システムへのアクセス時に,従来の利用者 ID とパスワードでの認証に加え,SSL クライアント認証を行う方法を提案した。SSL クライアント認証では,あらかじめディジタル証明書(以下,証明書という)を代理店の端末に配布しておき,その証明書を用いた認証によって端末の限定を行う。

B 課長は,C さんが提案した方法について説明を受け,了承した。その上で,暗号技術について,情報セキュリティ室の R 主任に相談するよう助言した。

〔暗号技術の検討〕

次は,C さんが暗号技術について R 主任に相談したときの会話の一部である。

暗号アルゴリズムの安全性の表。列はセキュリティ強度で,80 ビット安全性,112 ビット安全性,128 ビット安全性,192 ビット安全性,256 ビット安全性。共通鍵暗号:80,112,128,192,256。公開鍵暗号の素因数分解問題に基づくアルゴリズム:1,024,2,048,3,072,7,680,15,360。公開鍵暗号の離散対数問題に基づくアルゴリズム:1,024,2,048,3,072,7,680,15,360。公開鍵暗号の楕円曲線上の離散対数問題に基づくアルゴリズム:160,224,256,384,512。ハッシュ関数:160,224,256,384,512。利用終了時期の目安:2013 年,2030 年,2031 年以降,2031 年以降,2031 年以降。注記1 暗号の各行の数値は,鍵のビット数である。注記2 ハッシュ関数の行の数値は,ディジタル署名とハッシュ単独利用の場合におけるハッシュ値のビット数である。
表2 暗号アルゴリズムの安全性

〔Q システムのセキュリティ設計〕

C さんは,R 主任のアドバイスを参考に,Q システムのセキュリティ設計について検討を進めた。証明書の新規発行手順案を図1に,証明書についての補足情報を図2に示す。代理店に遵守を求めるガイドラインには,顧客情報の取扱要件に加え,①Q システムにアクセスしていた端末を交換及び廃棄する場合に代理店が実施すべき処理などの事項を盛り込んだ。

証明書の新規発行手順の図。左の破線枠“代理店”の中に,点線枠の“担当者”とその端末(ブラウザ)及び“代表者”とその端末(ブラウザ)があり,右の破線枠“Q システム”の中に,受付サーバ,登録サーバ,認証局サーバがある。登録サーバと認証局サーバの間は双方向の矢印で結ばれている。手順は次のとおり。(1) 代表者の端末から受付サーバへ,受付サーバにログイン後,証明書の発行を希望する担当者の利用者 ID と端末を登録する。(2) 受付サーバから代表者の端末へ,発行する証明書ごとに,識別番号,利用者 ID 及び登録用 PIN を記載したファイルをダウンロードする。(3) 代表者から担当者へ,各担当者に,識別番号,利用者 ID 及び登録用 PIN を配布する。(4) 担当者の端末から登録サーバへ,利用者 ID,パスワード及び登録用 PIN を入力する。同時に,端末で鍵ペアを生成し,生成した [ d ] を送信する。(5)-1 入力情報が正しければ,認証局サーバは証明書を発行する(登録サーバから担当者の端末へ)。(5)-2 証明書を端末にインストールする。受付サーバ:Q システムの窓口となるサーバであり,アクセスには SSL クライアント認証を必須とする。登録サーバ:証明書の発行受付のための専用サーバである。SSL クライアント認証はない。認証局サーバ:証明書を発行するサーバである。代表者:代理店が指定し,L 社に登録する。代表者は,必要な証明書の発行を L 社に申請する。代表者に与える最初の証明書は,別途定めた手順に従って発行する。担当者:代理店において Q システムを利用する者を示す。識別番号:個々の証明書の発行及び更新ごとに付与する一意な番号である。証明書の管理のために利用する。注記 証明書には,証明書のシリアル番号,利用者 ID,公開鍵,識別番号などを登録する。
図1 証明書の新規発行手順案
枠内の文章。1. 証明書の利用停止手順 (1) 利用を停止する証明書の利用者である担当者が,受付サーバにログインし,利用を停止する証明書の [ e ] 又は識別番号を入力する。(2) 受付サーバは,入力された情報で,ログインした担当者に発行された有効な証明書かを確認した後,当該証明書の識別番号を受付拒否リストと呼ばれるリストに登録する。2. 証明書の更新手順 (1) 担当者は登録サーバにアクセスし,更新前の証明書と,当該秘密鍵の保持を示す署名データを提示する。(2) 登録サーバは,提示された証明書と署名データを検証し,認証局サーバが発行した証明書であること,証明書に対応する秘密鍵を端末が保持していること,及び有効期間の終了まで 60 日以内であることを確認する。全て確認できれば,端末に対して新鍵ペアの生成を要求する。(3) 認証局サーバは,新鍵ペアに対して新しい証明書を発行する。
図2 証明書についての補足情報
枠内の文章。3. 受付サーバにおける担当者及び代表者のログイン処理時の検証項目(順不同)・入力された利用者 ID に対して,正しいパスワードが入力されたこと ・提示された証明書が,認証局サーバが発行した証明書であること ・証明書に対応する秘密鍵を,端末が保持していること ・証明書の有効期間内であること ・証明書中の識別番号が [ f ] に登録されていないこと ・[ g ] が,証明書中の [ h ] と一致すること。4. その他の補足事項 ・証明書の有効期間内に更新が行われなかった場合は,新規発行手順で対応する。・証明書に対応する秘密鍵は,端末から容易に抽出できないように設定する。
図2 証明書についての補足情報(続き)

〔セキュリティ設計の修正〕

C さんは,セキュリティ設計の検討結果について R 主任にレビューを依頼した。R 主任は,証明書の新規発行手順,利用停止手順及び更新手順について一つずつ問題を指摘した。

R 主任は,証明書の新規発行手順については,代理店の担当者が不適切な行為をした場合,表1中の“端末の限定”の設計方針が満たされず,代理店の管轄下にない端末で Q システムにアクセスできる可能性があると指摘した。②この問題については,Q システムでは対策をとらず,代理店側で対策をとってもらうように,代理店に要請することにした。

R 主任は,証明書の利用停止手順については,実際には行うことができない場合が多いと推測されるので,見直さなければならないと指摘した。C さんは,この問題について,表3に示す修正案を考えた。検討の結果,設計方針への適合性と運用の柔軟性確保の視点から,案(2)を採用することにした。

証明書の利用停止手順の修正案の表。列は案,修正の概要,長所,短所。案(1):修正の概要は“受付サーバへのログイン時に SSL クライアント認証を要求しない。”,長所は“担当者本人による迅速な停止が期待できる場合がある。”,短所は“情報漏えい防止設計方針と相違する部分がある。”。案(2):修正の概要は“役割と権限を見直し,[ i ]。”,長所は“担当者が不在の場合にも,証明書の利用停止が可能である。”,短所は“代表者の役割が拡大し,権限が集中する。”
表3 証明書の利用停止手順の修正案

R 主任は,証明書の更新手順については,利用停止された証明書の取扱いを担当者が誤った場合などに,③本来発行されるべきでない証明書が発行される可能性があると指摘した。C さんは,この問題についても修正案を考えた。

C さんは,これらの修正案を基に図1及び図2の修正版を作成し,再度 R 主任のレビューを受けた後,B 課長に説明した。B 課長は修正版を了承し,Q システムの開発が進められることになった。

出題趣旨(IPA)

近年,インターネットに接続したWebサーバを用いて実に様々なサービスが提供されている。このようなサービスでは随所に暗号技術が利用されており,中でも,公開鍵認証基盤について適切な設計と運用方法を理解しておくことは,セキュリティ技術者にとって重要である。本問では,暗号技術の基礎知識と安全性についての考え方,公開鍵認証基盤の下で用いられるディジタル証明書の基礎知識と運用上の特徴及び制約についての知識を問う。また,目標とするセキュリティレベルに合わせて,必要な技術や手法を柔軟に組み合わせ,システムを設計する能力についても問う。

採点講評(問全体・IPA)

問2では,暗号に関する知識,及びSSLクライアント認証を利用した認証システムの設計について出題した。全体として,正答率は平均的であった。

設問2や設問3が解答できるように,また,技術一辺倒ではなく,弱点を補う運用や役割分担など,幅広い視点をもって,目標とするセキュリティレベルを達成するシステムの設計を行えるように,理解を深めてほしい。

設問と解答例

設問1(1) 解答欄2つ

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

〔a〕解答例

  • 15,360

〔b〕解答例

  • 512
解説

本文の根拠

〔暗号技術の検討〕

例えば,鍵長 256 ビットの AES アルゴリズムは,鍵長 a ビットの RSA アルゴリズムや,b ビットのハッシュ関数などと同じセキュリティ強度ということですか。

表2

共通鍵暗号:80,112,128,192,256。

表2

素因数分解問題に基づくアルゴリズム:1,024,2,048,3,072,7,680,15,360。

表2

ハッシュ関数:160,224,256,384,512。

表2は,列がセキュリティ強度(80〜256 ビット安全性),行が暗号の種類で,同じ列にあるものは攻撃に対して同程度の耐性をもつ。鍵長 256 ビットの AES は共通鍵暗号で,共通鍵暗号の行の 256 は 256 ビット安全性の列にある。同じ列を見ると,RSA(素因数分解問題に基づくアルゴリズム)の鍵長は 15,360,ハッシュ関数は 512 である。よって a は“15,360”,b は“512”になる。

表2の注記1のとおり,数値は鍵のビット数で,ハッシュ関数の行はハッシュ値のビット数である。RSA の行の 15,360 は,離散対数問題に基づくアルゴリズム(同じ 15,360)でも同じ値だが,本文は RSA と指定しているので,素因数分解問題に基づくアルゴリズムの行を読む。ハッシュ関数の 512 は,楕円曲線上の離散対数問題に基づくアルゴリズムの行も同じ 512 になるが,問われているのはハッシュ関数である。

字数制限は無く,数値を答える設問。桁区切りのカンマは表2に合わせる(解答例は“15,360”)。

採点講評(IPA)

設問1(1)及び(2)は,攻撃への耐性の視点から,様々な種類の暗号技術を比較する問題であった。本問の正答率はおおむね想定どおりであった。本問にあるように,攻撃への耐性の視点から,異なった種類の暗号技術を比較評価する方法を理解し,今後活用してほしい。

設問1(2)

鍵長 3,072 ビットの RSA アルゴリズムと同等又はそれ以上のセキュリティ強度をもつと考えられるハッシュ関数を解答群の中から全て選び,記号で答えよ。解答群 ア Camellia イ ECDSA ウ MD5 エ RC4 オ SHA-1 カ SHA-256 キ SHA-512 ク Triple DES

解答例

  • カ,キ
解説

本文の根拠

表2

素因数分解問題に基づくアルゴリズム:1,024,2,048,3,072,7,680,15,360。

表2

ハッシュ関数:160,224,256,384,512。

表2

注記2 ハッシュ関数の行の数値は,ディジタル署名とハッシュ単独利用の場合におけるハッシュ値のビット数である。

表2で,鍵長 3,072 ビットの RSA は 128 ビット安全性の列にある。この列のハッシュ関数はハッシュ値 256 ビットで,これと同等又はそれ以上のセキュリティ強度をもつのは,128 ビット安全性(256 ビット)以上の列,つまりハッシュ値が 256 ビット,384 ビット,512 ビットのハッシュ関数である。解答群のハッシュ関数のうち,SHA-256 はハッシュ値が 256 ビット,SHA-512 は 512 ビットなので,カとキが当たる。解答例は“カ,キ”。

ほかの選択肢は次のとおり。MD5 のハッシュ値は 128 ビット,SHA-1 は 160 ビットで,どちらも 256 ビットに足りない(表2の 160 は 80 ビット安全性の列)。Camellia・RC4・Triple DES は共通鍵暗号で,ハッシュ関数ではない。ECDSA は楕円曲線を使うディジタル署名のアルゴリズムで,ハッシュ関数ではない。

問題文は“ハッシュ関数を全て選べ”なので,答えは“カ,キ”と二つ並べる。一つだけ選ぶと不正解になる。

採点講評(IPA)

設問1(1)及び(2)は,攻撃への耐性の視点から,様々な種類の暗号技術を比較する問題であった。本問の正答率はおおむね想定どおりであった。本問にあるように,攻撃への耐性の視点から,異なった種類の暗号技術を比較評価する方法を理解し,今後活用してほしい。

設問1(3) 20字以内 解答欄2つ

本文中の c に入れる適切な数値を答えよ。また,この数値は Q システムのどのような要件から導かれるか。20 字以内で述べよ。

〔c〕解答例

  • 112

〔要件〕解答例

  • 利用期間は2025年8月までである。
解説

本文の根拠

〔Q システムの設計方針〕

Q システムは,P システムを拡張して構築する。2015 年 9 月から 10 年間の稼働を想定している。

表2

利用終了時期の目安:2013 年,2030 年,2031 年以降,2031 年以降,2031 年以降。

〔暗号技術の検討〕

Q システムの場合は,少なくとも c ビット安全性と同等又はそれ以上のセキュリティ強度をもつ暗号アルゴリズムを採用すべきですね。

Q システムは 2015 年 9 月から 10 年間稼働するので,暗号アルゴリズムを使い続ける期間は 2025 年 8 月までである。表2の“利用終了時期の目安”は,80 ビット安全性が 2013 年(すでに過ぎている),112 ビット安全性が 2030 年,128 ビット安全性以上が 2031 年以降である。2025 年 8 月まで使えるのは 2030 年以降の列で,その中で最も小さいセキュリティ強度は 112 ビット安全性なので,c は“112”。

要件は,Q システムの稼働期間(利用期間)で,解答例は“利用期間は2025年8月までである。”。2030 年は 2025 年 8 月より後なので 112 ビット安全性の列を採用でき,128 ビット以上にする必要はない。

20字以内の制限に対して,解答例は18字。“稼働期間が2025年8月までである”のように,稼働期間の終わりの年月が入っていれば趣旨は伝わる。

設問2(1) 30字以内

本文中の下線①について,代理店が実施すべき処理を,30 字以内で具体的に述べよ。

解答例

  • 端末に発行された証明書の利用停止を申請する。
解説

本文の根拠

〔Q システムのセキュリティ設計〕

Q システムにアクセスしていた端末を交換及び廃棄する場合に代理店が実施すべき処理

図2

受付サーバは,入力された情報で,ログインした担当者に発行された有効な証明書かを確認した後,当該証明書の識別番号を受付拒否リストと呼ばれるリストに登録する。

図2

受付サーバにおける担当者及び代表者のログイン処理時の検証項目(順不同)

端末を交換・廃棄しても,その端末にインストールされた証明書は有効期間が残る限り有効なままである。証明書が有効なまま端末が代理店の管轄下を離れると,“端末の限定”の根拠になっている証明書が残り続ける。図2の利用停止手順は,証明書の識別番号を受付拒否リストに登録して,その証明書での認証を受け付けなくする。代理店が実施すべき処理は,この利用停止の申請で,解答例は“端末に発行された証明書の利用停止を申請する。”。

端末内のデータや証明書を削除する,という解答が目立つ,と講評は指摘している。削除は端末の中の話にとどまり,証明書の有効性を止めることにならない。認証する側で利用を止める手順が必要になる。

字数制限は無い。“利用停止を申請する”という語を入れる。

採点講評(IPA)

設問2(1)は,正答率が若干低かった。端末のディスク内のデータの削除に言及する解答が目立ったが,本問の状況においては,端末に発行された証明書を利用停止させる方法が最も適切である。

設問2(2) 解答欄5つ

図1中の d 及び図2中の e~h に入れる適切な字句を,図1又は図2中の字句を用いて,それぞれ 10 字以内で答えよ。

〔d〕解答例

  • 公開鍵

〔e〕解答例

  • シリアル番号

〔f〕解答例

  • 受付拒否リスト

〔g〕解答例

  • 入力された利用者ID

〔h〕解答例

  • 利用者ID
解説

本文の根拠

図1

(4) 担当者の端末から登録サーバへ,利用者 ID,パスワード及び登録用 PIN を入力する。同時に,端末で鍵ペアを生成し,生成した d を送信する。

図1

注記 証明書には,証明書のシリアル番号,利用者 ID,公開鍵,識別番号などを登録する。

図2

(1) 利用を停止する証明書の利用者である担当者が,受付サーバにログインし,利用を停止する証明書の e 又は識別番号を入力する。

図2

証明書中の識別番号が f に登録されていないこと

図2

g が,証明書中の h と一致すること

d は,端末で生成した鍵ペアのうち登録サーバへ送るもの。証明書には公開鍵を登録する(図1の注記)ので,送るのは“公開鍵”である。秘密鍵は端末が保持する(図2の検証項目“証明書に対応する秘密鍵を,端末が保持していること”)ので,送らない。

e は,利用停止する証明書を指定するために入力する項目のうち,識別番号以外のもの。証明書に登録する項目は,シリアル番号,利用者 ID,公開鍵,識別番号で,ログイン済みの担当者に発行された証明書を特定できるのは“シリアル番号”(識別番号の代わりに入力できる,証明書を特定する項目)。f は,利用停止した証明書の識別番号を登録した“受付拒否リスト”で,ログイン時にここに載っていないことを確かめる。g・h は,ログイン時に入力された利用者 ID が,証明書に登録された利用者 ID と一致すること,という検証で,g は“入力された利用者ID”,h は“利用者ID”。

10字以内の制限に対して,“入力された利用者ID”は 10 字で,10字以内に収まる。“入力された”を落として“利用者ID”(5字)だけにすると,証明書側の h と区別がつかなくなる。図1又は図2中の字句を用いるという条件なので,図2の字句をそのまま使う。

設問3(1) 40字以内

本文中の下線②について,代理店がとる対策を,40 字以内で具体的に述べよ。ここで,代理店の代表者は不適切な行為をしないものとする。

解答例

  • 代理店の管轄下の端末に証明書がインストールされていることを代表者が確認する。
解説

本文の根拠

〔セキュリティ設計の修正〕

R 主任は,証明書の新規発行手順については,代理店の担当者が不適切な行為をした場合,表1中の“端末の限定”の設計方針が満たされず,代理店の管轄下にない端末で Q システムにアクセスできる可能性があると指摘した。

図1

(3) 代表者から担当者へ,各担当者に,識別番号,利用者 ID 及び登録用 PIN を配布する。

図1

(5)-2 証明書を端末にインストールする。

図1の手順では,担当者が登録用 PIN などを受け取り,自分の端末で鍵ペアを生成して証明書をインストールする。担当者が不適切な行為をして,代理店の管轄下にない端末(私物の端末など)で同じ操作を行えば,その端末に証明書が入り,代理店の管轄下にない端末から Q システムにアクセスできてしまう。Q システム側は,端末がどこにあるかを確かめられない(講評は,Q システムはインターネット経由でアクセスできるので,代理店内のネットワーク管理で対応できる範囲は限られている,と書いている)。そこで,代理店側で,代表者が担当者の端末を確認する。解答例は“代理店の管轄下の端末に証明書がインストールされていることを代表者が確認する。”。

設問文は“代表者は不適切な行為をしないものとする”と条件を付けている。代表者は担当者への配布の起点で,証明書の発行を L 社に申請する立場でもあるので,確認の役割を代表者に置いてよい。

40字以内の制限に対して,解答例は38字。“代理店の管轄下の端末”と“証明書がインストールされていることの確認”と“代表者が行う”の三つを入れる。

採点講評(IPA)

設問3(1)は,正答率が低かった。代理店内に設置されたネットワークの管理に言及する解答が散見されたが,Qシステムはインターネット経由でアクセスできるので,代理店内のネットワーク管理で対応できる範囲は限られている。

設問3(2) 30字以内 解答欄1つ

表3中の i に入れる適切な内容を 30 字以内で述べよ。

〔i〕解答例

  • 担当者の証明書を停止する権限を代表者に付与する
解説

本文の根拠

表3

案(1):修正の概要は“受付サーバへのログイン時に SSL クライアント認証を要求しない。”,長所は“担当者本人による迅速な停止が期待できる場合がある。”,短所は“情報漏えい防止設計方針と相違する部分がある。”。

表3

案(2):修正の概要は“役割と権限を見直し,i。”,長所は“担当者が不在の場合にも,証明書の利用停止が可能である。”,短所は“代表者の役割が拡大し,権限が集中する。”

図2

(1) 利用を停止する証明書の利用者である担当者が,受付サーバにログインし,利用を停止する証明書の e 又は識別番号を入力する。

図2の利用停止手順は,担当者本人が受付サーバにログインする前提である。担当者本人がログインできない場合(端末を紛失した場合や担当者が不在の場合など)には,利用停止の入力ができない。そこで,R 主任は“実際には行うことができない場合が多い”と指摘した。案(1)は SSL クライアント認証を要求しないことでこれを避けるが,情報漏えい防止設計方針の“端末の限定”と相違する。案(2)は,役割と権限を見直すもので,長所は“担当者が不在の場合にも,証明書の利用停止が可能”,短所は“代表者の役割が拡大し,権限が集中する”とある。これらから,i は“担当者の証明書を停止する権限を代表者に付与する”と読める。

担当者の証明書を停止する権限を代表者に付与すれば,担当者が不在でも,代表者が自分の証明書でログインして利用停止ができる。同時に,代表者に権限が集中する。

30字以内の制限に対して,解答例は23字。権限の対象(担当者の証明書)と,誰に付与するか(代表者)を落とさない。

設問3(3) 40字以内

本文中の下線③のような証明書が発行されることを防ぐために,登録サーバにおける処理内容にどのような処理を追加すればよいか。40 字以内で述べよ。

解答例

  • 受付拒否リストに識別番号が登録されている証明書は更新を拒否する。
解説

本文の根拠

〔セキュリティ設計の修正〕

利用停止された証明書の取扱いを担当者が誤った場合などに,

図2

(2) 登録サーバは,提示された証明書と署名データを検証し,認証局サーバが発行した証明書であること,証明書に対応する秘密鍵を端末が保持していること,及び有効期間の終了まで 60 日以内であることを確認する。

図2

証明書中の識別番号が f に登録されていないこと

図2の更新手順で,登録サーバが確認するのは,認証局サーバが発行した証明書であること,秘密鍵を端末が保持していること,有効期間の終了まで 60 日以内であること,の三つである。利用停止された証明書の識別番号は受付拒否リストに載るが,登録サーバの確認項目にその照合が無いので,利用停止された証明書でも,有効期間の終了まで 60 日以内なら更新できてしまい,本来発行されるべきでない新しい証明書が発行される。ログイン処理では,受付サーバが識別番号が受付拒否リストに無いことを確認している(図2の検証項目)。同じ確認を,登録サーバの更新処理にも加える。解答例は“受付拒否リストに識別番号が登録されている証明書は更新を拒否する。”。

追加する処理は“受付拒否リストを照合して,載っていれば更新を拒否する”という内容。“更新を拒否する”まで書くのが要点で,“照合する”だけでは処理の結果が分からない。

40字以内の制限に対して,解答例は32字。“識別番号”(証明書をリストと突き合わせる鍵)と“更新を拒否する”の二つを残す。

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

問3 マルウェア感染への対応

マルウェア感染への対応に関する次の記述を読んで,設問1~4に答えよ。

M 社は,従業員数 200 名のソフトウェアパッケージ開発会社であり,開発部,営業部及びスタッフ部門がある。

開発部は,ソフトウェアパッケージの開発・保守を行っている。営業部は,顧客を訪問し,製品紹介,製品販売及び顧客管理を行っている。スタッフ部門は,M 社のスタッフ業務全般を担当しており,総務部,経理部,情報システム部(以下,情シ部という)などから成っている。情シ部では,M 社の情報システムの管理及び情報セキュリティインシデントへの対応を行っている。M 社のネットワーク構成を図1に,M 社のサーバの機能一覧を表1に示す。

M 社のネットワークでは,ファイアウォール(以下,FW という)とレイヤ 3 スイッチ(以下,L3SW という)でネットワークのアクセス制御を行っている。FW のフィルタリングルールを表2に,L3SW のフィルタリングルールを表3に示す。

M 社のネットワーク構成図。M 社の外のインターネットに,サービス X のメールサーバ Z が接続されている。インターネットは M 社内のルータ,FW の順に接続される。FW は DMZ の L2SW に接続され,DMZ の L2SW にはプロキシサーバ,DNS サーバ,外部メールサーバが接続されている。FW は L3SW にも接続される。L3SW には,運用サーバセグメント(192.168.10.0/24)の L2SW,開発サーバセグメント(192.168.20.0/24)の L2SW,利用者セグメント1(営業部及びスタッフ部門,192.168.1.0/24)の L2SW,利用者セグメント2(開発部,192.168.2.0/24)の L2SW が接続されている。運用サーバセグメントの L2SW には社内向け DNS サーバ,社内メールサーバ,認証サーバ,ウイルス対策サーバが,開発サーバセグメントの L2SW には開発サーバが,利用者セグメント1及び2の L2SW には PC(複数台)が接続されている。L2SW はレイヤ 2 スイッチ。注記1 192.168.1.0/24,192.168.2.0/24,192.168.10.0/24 及び 192.168.20.0/24 は,ネットワークアドレスを示す。注記2 PC のブラウザは,ポート番号 8080 でプロキシサーバを経由してインターネットアクセスするように設定されている。注記3 PC のデフォルトゲートウェイには,L3SW を設定している。注記4 L3SW においては,DMZ 及びインターネット宛てのパケットは,FW に転送されるようにルーティング設定が行われている。
図1 M 社のネットワーク構成
サーバ名と機能の表。外部メールサーバ:・電子メール(以下,メールという)の中継機能 ・外部からのメールフィルタリング機能(現状は無効)-フィルタリングのルールとして,ホワイトリストに許可,ブラックリストに拒否の指定が可能である。-ホワイトリスト及びブラックリストには,送信元メールサーバの IP アドレスのリスト及び送信ドメイン名のリストがある。-ホワイトリスト及びブラックリストの両方にマッチした場合は,ホワイトリストを優先する。認証サーバ:・利用者の氏名,所属及びメールアドレスの管理機能 ・利用者認証機能。ウイルス対策サーバ:・ウイルス定義ファイル配信機能 -半日ごとに最新のウイルス定義ファイルをプロキシサーバ経由でベンダからダウンロードし,他のサーバと PC に配信する。
表1 M 社のサーバの機能一覧(抜粋)
FW のフィルタリングルールの表。列は項番,送信元,宛先,サービス(ポート番号),動作。項番1:プロキシサーバ,インターネット,全て,許可。項番2〜7:省略(“⋮”)。項番8:ウイルス対策サーバ,プロキシサーバ,代替 HTTP(8080),許可。項番9:PC(注 1),プロキシサーバ,代替 HTTP(8080),許可。項番10:全て,全て,全て,拒否。注記1 項番の小さいものから順に,最初に一致したルールが適用される。注記2 項番 2〜7 は,SMTP 又は DNS に関するルールである。注 1) 192.168.1.0/24 及び 192.168.2.0/24 の全ての IP アドレス
表2 FW のフィルタリングルール
L3SW のフィルタリングルールの表。列は項番,送信元,宛先,サービス,動作。項番1:利用者セグメント2,開発サーバセグメント,全て,許可。項番2:開発サーバセグメント,利用者セグメント2,全て,許可。項番3:運用サーバセグメント,開発サーバセグメント,全て,許可。項番4:開発サーバセグメント,運用サーバセグメント,全て,許可。項番5:開発サーバセグメント,全セグメント(注 1),全て,拒否。項番6:全セグメント(注 1),開発サーバセグメント,全て,拒否。項番7:全セグメント(注 1),全セグメント(注 1),全て,許可。注記 項番の小さいものから順に,最初に一致したルールが適用される。注 1) 全てのセグメントを示し,FW,DMZ 及びインターネットを含む。
表3 L3SW のフィルタリングルール

情シ部員は,運用サーバセグメントの管理を,自席の PC のブラウザから行っている。開発サーバには,M 社の機密情報であるソフトウェアパッケージのソースコードを保管している。

営業部では,SaaS 型クラウドサービスであるサービス X を利用して顧客管理を行っている。サービス X には,営業部の PC から,HTTP の CONNECT メソッドを使用してプロキシサーバ経由でアクセスしており,プロキシサーバからサービス X へのアクセスにはポート番号 2560 を使用している。また,サービス X 内のメールサーバ Z は,M 社専用であり,製品紹介のメールを M 社の顧客に対して自動送信すると同時に,メールの写しを M 社営業部員全員に送信している。送信の際には,送信者メールアドレスとして M 社のメールアドレスを使っている。

〔情報セキュリティインシデントの発生〕

営業部の D さんから情シ部の S さんに,D さんの PC でマルウェア Y が検出されたとの報告があった。S さんが確認したところ,マルウェア Y は,既に正常に駆除されていた。S さんは,マルウェア Y について調査した。マルウェア Y の特徴は図2に示すとおりであった。

枠内の文章。1. マルウェア Y の動作 ・ブラウザ又は PDF 閲覧ソフトの脆弱性を悪用して感染し,PC の起動時に自身が起動されるようにシステム設定を変更する。・攻撃者が用意した C&C(Command & Control)サーバと通信する。・リモートシェルの実行,キー入力操作情報の収集などを行う。・ネットワークで接続された,他の PC,サーバに感染を広げる。2. マルウェア Y と C&C サーバとのバックドア通信 次の 2 通りがある。・プロキシサーバを経由せずに,TCP ポート番号 8050 を使用して,アクセスする。・プロキシサーバに対して,HTTP の CONNECT メソッドを使用してアクセスし,プロキシサーバから C&C サーバへは,任意のポート番号でアクセスする。
図2 マルウェア Y の特徴

〔情報セキュリティインシデントの調査〕

情シ部で,他の全ての PC とサーバを調査したが,マルウェア Y に感染したものはなかった。

次に D さんに確認したところ,送信者メールアドレスが総務部の F さんであるメールを受信した際に,マルウェア Y が検出されたことが分かった。ところが,F さんにはそのようなメールを送信した覚えはないとのことであった。そこで,当該メールのメールヘッダを調査したところ,当該メールは,送信者メールアドレスを F さんのメールアドレスに偽装した上,外部のメールサーバから送られてきたことが分かった。添付ファイルは,PDF ファイルに偽装したものであった。

今回のインシデントでは情報漏えいの被害はなかったものの,同様なマルウェアによって情報漏えいが発生した他社の事例もあり,マルウェア対策を見直すことになった。受信メールの制限,バックドア通信の遮断,及びマルウェアから社内のサーバへの不正アクセスリスクの軽減策をそれぞれ検討するとともに,サーバの脆弱性検査を実施した。

〔受信メールの制限〕

次は,受信メールの制限についての,情シ部の K 部長と部下でセキュリティ担当の S さんの会話である。

〔バックドア通信の遮断〕

続いて,K 部長と S さんは,マルウェア Y と C&C サーバとのバックドア通信の遮断について検討した。次は,そのときの会話である。

プロキシサーバのアクセス制御ルールの表。列は項番,メソッド,ポート番号,動作。項番1:CONNECT,443,許可。項番2:CONNECT,全て,拒否。項番3:全て,全て,許可。注記 項番の小さいものから順に,最初に一致したルールが適用される。
表4 プロキシサーバのアクセス制御ルール

〔マルウェアからサーバへの不正アクセスリスクの軽減策〕

次に,情シ部では,マルウェアから社内のサーバへの不正アクセスリスクの軽減策を検討した。開発サーバについては,現状,開発部の PC がマルウェアに感染してしまうと,そのマルウェアからアクセスされるリスクが高い。そのため,開発専用 PC を数十台,開発サーバセグメント内に置き,ソフトウェアパッケージの開発を開発専用 PC 及び開発サーバだけで行うようにし,かつ,⑥L3SW のフィルタリングルールを変更することによって,開発サーバがマルウェアからアクセスされるリスクを軽減することにした。さらに,開発専用 PC 自身がマルウェアに感染するリスクを軽減する対策も行うことにした。

一方,運用サーバセグメントのサーバについては,運用管理を行う PC がマルウェアに感染してしまうというリスクに絞って軽減することにした。具体的には,運用管理専用 PC を運用サーバセグメントに 1 台設置し,従来,情シ部の PC で行っていた運用サーバセグメントの管理を,そこで行うことにした。さらに,その運用管理専用 PC では,a を禁止することにした。

〔サーバの脆弱性検査〕

次に,情シ部で全サーバの脆弱性検査を行ったところ,OS のパスワード格納方法について,幾つかのサーバに脆弱性があることが分かった。これらのサーバでは,パスワードは,表5に示す二つのハッシュ値が格納される。OS の設定によって L2 ハッシュだけを格納することもできる。

L1 ハッシュと L2 ハッシュの表。項目ごとに L1 ハッシュ,L2 ハッシュの順。パスワード文字種:英数字及び記号(合計 69 種),英数字及び記号(合計 95 種)。パスワード長:1 字から 14 字まで,1 字から 127 字まで。文字列分割:8 字以上の場合は,前半 7 字と残りに分割(注 1),なし。ハッシュ値のバイト数:16 バイト(生成された二つのハッシュ値を結合),16 バイト。ソルトの使用の有無:なし,なし。注 1) 例えば,“1234567AB”というパスワードの場合,前半“1234567”と後半“AB”からそれぞれのハッシュ値を計算し,その 2 個の結果を結合して格納する。
表5 L1 ハッシュと L2 ハッシュ

次は,OS のパスワードの格納方法についての S さんと K 部長の会話である。

K 部長は,検討した対策案についての実施計画と,別途検討する項目についての検討時期を経営陣に報告し,対策を進めた。

出題趣旨(IPA)

近年,特定の企業や個人を狙った標的型攻撃によって,重要な情報が盗まれる事件が増えている。本問は,標的型攻撃メールによるマルウェアの感染に対する調査及び情報セキュリティ対策の立案に関する問題である。メールサーバ,ネットワーク機器,標的型攻撃に対する入口対策と出口対策,マルウェア及びハッシュについての基礎知識を問うとともに,業務環境を踏まえた対策についての検討能力を出題している。

採点講評(問全体・IPA)

問3では,マルウェア感染への対応について出題した。全体として正答率は高かった。

標的型攻撃対策では,IPAが2014年9月に“「高度標的型攻撃」対策に向けたシステム設計ガイド”を公開しており,体系的に学習するとともに,実運用にも役立ててほしい。

設問と解答例

設問1(1) 30字以内

本文中の下線①について,届かなくなるメールを 30 字以内で述べよ。

解答例

  • メールサーバZから営業部員宛てに送られるメール
解説

本文の根拠

〔受信メールの制限〕

具体的には,フィルタリングルールとして,送信ドメイン名のブラックリストに当社のドメイン名を指定します。

本文(サービス X)

メールサーバ Z は,M 社専用であり,製品紹介のメールを M 社の顧客に対して自動送信すると同時に,メールの写しを M 社営業部員全員に送信している。送信の際には,送信者メールアドレスとして M 社のメールアドレスを使っている。

表1

外部からのメールフィルタリング機能(現状は無効)

外部メールサーバのフィルタリングで送信ドメイン名のブラックリストに M 社のドメイン名を指定すると,外部から届くメールのうち,送信者メールアドレスが M 社のドメインのものは全て拒否される。偽装メールには有効だが,外部から M 社のメールアドレスで届く正規のメールも同じ扱いになる。M 社の本文でそれに当たるのは,サービス X 内のメールサーバ Z が,送信者メールアドレスに M 社のメールアドレスを使って,営業部員全員に送る写しのメールである。解答例は“メールサーバZから営業部員宛てに送られるメール”。

メールサーバ Z は M 社の外(サービス X 内)にあるので,営業部員宛ての写しは外部から届くメールで,偽装メールと同じ“外部から来る M 社ドメインのメール”として扱われる。

30字以内の制限に対して,解答例は23字。“メールサーバ Z”(送信元)と“営業部員宛て”(宛先)の二つを書く。

採点講評(IPA)

設問1は,標的型攻撃の入口対策として,メールのフィルタリングルールについて出題した。正答率は高かった。ただし,設問1(2)は,フィルタリングルールの仕様を正確に記述していない解答も散見された。記載されている機能仕様をよく理解して解答してほしい。

設問1(2) 50字以内

本文中の下線②について,追加するフィルタリングルールを 50 字以内で述べよ。

解答例

  • 送信元メールサーバのIPアドレスのホワイトリストにメールサーバZのIPアドレスを追加する。
解説

本文の根拠

表1

ホワイトリスト及びブラックリストの両方にマッチした場合は,ホワイトリストを優先する。

表1

ホワイトリスト及びブラックリストには,送信元メールサーバの IP アドレスのリスト及び送信ドメイン名のリストがある。

本文(サービス X)

メールサーバ Z は,M 社専用であり,

表1のフィルタリング機能では,ホワイトリストとブラックリストの両方にマッチしたメールはホワイトリストが優先され,許可される。ブラックリスト(送信ドメイン名が M 社)を残したまま,メールサーバ Z からのメールだけをホワイトリストに入れれば,正規のメールを届けつつ偽装メールを拒否できる。ホワイトリストには,送信元メールサーバの IP アドレスのリストと送信ドメイン名のリストがあるが,ここは送信元メールサーバの IP アドレスのリストに,メールサーバ Z の IP アドレスを入れる。解答例は“送信元メールサーバのIPアドレスのホワイトリストにメールサーバZのIPアドレスを追加する。”。

送信ドメイン名のホワイトリストに M 社のドメイン名を入れると,偽装メールの送信ドメイン名も M 社なので,ブラックリストの設定が意味を失う。講評も,設問1(2)はフィルタリングルールの仕様を正確に記述していない解答が散見された,と述べている。メールサーバ Z は M 社専用で,IP アドレスで特定できる。

50字以内の制限に対して,解答例は45字。“送信元メールサーバの IP アドレスの”“ホワイトリスト”“メールサーバ Z の IP アドレスを追加”の三つを,仕様の用語どおりに入れる。

採点講評(IPA)

設問1は,標的型攻撃の入口対策として,メールのフィルタリングルールについて出題した。正答率は高かった。ただし,設問1(2)は,フィルタリングルールの仕様を正確に記述していない解答も散見された。記載されている機能仕様をよく理解して解答してほしい。

設問2(1) 30字以内

本文中の下線③について,その理由を 30 字以内で述べよ。

解答例

  • FWのフィルタリングルールで遮断しているから
解説

本文の根拠

図2

プロキシサーバを経由せずに,TCP ポート番号 8050 を使用して,アクセスする。

表2

項番9:PC(注 1),プロキシサーバ,代替 HTTP(8080),許可。項番10:全て,全て,全て,拒否。

表2

注記2 項番 2〜7 は,SMTP 又は DNS に関するルールである。

図1

L3SW においては,DMZ 及びインターネット宛てのパケットは,FW に転送されるようにルーティング設定が行われている。

プロキシサーバを経由しない方法の通信は,PC から TCP ポート 8050 でインターネット上の C&C サーバへ向かう。この通信は図1の注記4のとおり L3SW から FW に転送され,FW のフィルタリングルール(表2)で判定される。FW のルールは項番の小さいものから最初に一致したものが適用されるので,PC を送信元とする許可は項番9(宛先がプロキシサーバ,ポート 8080)だけで,8050 の通信は,項番2〜7(SMTP 又は DNS のルール)にも一致せず,最後の項番10(全て拒否)に一致して遮断される。解答例は“FWのフィルタリングルールで遮断しているから”。

図1の注記2にあるとおり,PC のブラウザはポート 8080 でプロキシサーバを経由してインターネットにアクセスする設定で,PC から FW を通って直接インターネットへ出る通信は,もともと許可されていない。

30字以内の制限に対して,解答例は22字。“FW の”“フィルタリングルール”“遮断している”の三つを入れる。

採点講評(IPA)

設問2は,標的型攻撃の出口対策として,ファイアウォール及びプロキシサーバでの対策について出題した。正答率は高かった。

設問2(2) 5字以内

本文中の下線④について,支障が出る業務を,本文中の用語を用いて 5 字以内で答えよ。

解答例

  • 顧客管理
解説

本文の根拠

本文(サービス X)

営業部では,SaaS 型クラウドサービスであるサービス X を利用して顧客管理を行っている。

本文(サービス X)

サービス X には,営業部の PC から,HTTP の CONNECT メソッドを使用してプロキシサーバ経由でアクセスしており,プロキシサーバからサービス X へのアクセスにはポート番号 2560 を使用している。

表4

項番2:CONNECT,全て,拒否。

表4は,CONNECT メソッドのポート番号 443 を許可し(項番1),ほかのポート番号への CONNECT を全て拒否し(項番2),CONNECT 以外は全て許可する(項番3)ルールである。ところが,営業部の PC からサービス X へは,CONNECT メソッドでプロキシサーバ経由,かつプロキシサーバからサービス X へのポート番号は 2560 である。ポート番号 2560 への CONNECT は項番2で拒否されるので,サービス X を使う営業部の業務,つまり“顧客管理”に支障が出る。

本文中の用語を用いて5字以内という条件なので,サービス X を使って行っている業務を探して“顧客管理”が当たる。営業部の業務としては“製品紹介”“製品販売”“顧客管理”が並ぶが,サービス X を利用していると書かれているのは顧客管理だけである。

解答例は“顧客管理”(4字)。

採点講評(IPA)

設問2は,標的型攻撃の出口対策として,ファイアウォール及びプロキシサーバでの対策について出題した。正答率は高かった。

設問2(3) 解答欄3つ

本文中の下線⑤について,追加すべき設定内容を表4に倣って答えよ。

〔メソッド〕解答例

  • CONNECT

〔ポート番号〕解答例

  • 2560

〔動作〕解答例

  • 許可
解説

本文の根拠

表4

項番1:CONNECT,443,許可。項番2:CONNECT,全て,拒否。項番3:全て,全て,許可。

表4

注記 項番の小さいものから順に,最初に一致したルールが適用される。

本文(サービス X)

プロキシサーバからサービス X へのアクセスにはポート番号 2560 を使用している。

表4の項番2(CONNECT の全ポートを拒否)より前に,サービス X への通信を許可する項番を入れる。サービス X へのアクセスは CONNECT メソッドでポート番号 2560 なので,メソッドは“CONNECT”,ポート番号は“2560”,動作は“許可”である。注記のとおり,ルールは項番の小さいものから最初に一致したものが適用されるので,項番1と項番2の間に置けば,2560 の CONNECT は項番2に届く前にここで許可される。

表4の列は“メソッド”“ポート番号”“動作”の三つなので,答えもこの三つの列の形で書く。ポート番号は,サービス X へのアクセスに使う 2560 だけを許可するのが目的なので,“全て”とは書かない。

解答例は,メソッド“CONNECT”,ポート番号“2560”,動作“許可”。

採点講評(IPA)

設問2は,標的型攻撃の出口対策として,ファイアウォール及びプロキシサーバでの対策について出題した。正答率は高かった。

設問3(1) 35字以内

本文中の下線⑥について,L3SW でのフィルタリングルールの変更内容を 35 字以内で述べよ。

解答例

  • 利用者セグメント2から開発サーバセグメントへの通信を拒否にする。
解説

本文の根拠

〔マルウェアからサーバへの不正アクセスリスクの軽減策〕

開発専用 PC を数十台,開発サーバセグメント内に置き,ソフトウェアパッケージの開発を開発専用 PC 及び開発サーバだけで行うようにし,

表3

項番1:利用者セグメント2,開発サーバセグメント,全て,許可。

表3

注記 項番の小さいものから順に,最初に一致したルールが適用される。

開発専用 PC を開発サーバセグメント内に置いて,開発を開発専用 PC と開発サーバだけで行うので,開発部の PC(利用者セグメント2)から開発サーバへのアクセスは不要になる。表3の項番1は,利用者セグメント2から開発サーバセグメントへの通信を全て許可していて,開発部の PC がマルウェアに感染した場合に,マルウェアが開発サーバにアクセスできる原因になっている。この項番1の動作を“許可”から“拒否”へ変更する。解答例は“利用者セグメント2から開発サーバセグメントへの通信を拒否にする。”。

項番は小さいものから順に適用されるので,項番1を拒否にすれば,利用者セグメント2からの通信は項番1で止まり,項番7の全許可には届かない。開発サーバセグメント宛ての通信は,項番1を拒否にすると,運用サーバセグメントから(項番3)を除いて項番6で拒否される。

35字以内の制限に対して,解答例は32字。“利用者セグメント2”“開発サーバセグメント”“拒否”の三つを入れる。

採点講評(IPA)

設問3は,マルウェアの感染拡大を抑制するための内部ネットワークでの対策に関して出題した。実際に運用されている事例を理解してほしい。

設問3(2) 35字以内 解答欄1つ

本文中の a に入れる適切な禁止事項を 35 字以内で具体的に述べよ。

〔a〕解答例

  • 運用サーバセグメントの管理に必要のないソフトウェアの利用
解説

本文の根拠

図2

ブラウザ又は PDF 閲覧ソフトの脆弱性を悪用して感染し,PC の起動時に自身が起動されるようにシステム設定を変更する。

〔マルウェアからサーバへの不正アクセスリスクの軽減策〕

運用サーバセグメントのサーバについては,運用管理を行う PC がマルウェアに感染してしまうというリスクに絞って軽減することにした。

マルウェア Y の感染経路は,ブラウザ又は PDF 閲覧ソフトの脆弱性の悪用と,偽装メールの添付ファイルである。運用管理専用 PC は運用サーバセグメントの管理だけに使う PC なので,管理に必要のないソフトウェアを使わなければ,感染のきっかけが減る。例えば,インターネットの閲覧,メールの送受信,PDF の閲覧などが,管理に必要のないソフトウェアの利用に当たる。禁止するのは,管理に必要のないソフトウェアの利用である。解答例は“運用サーバセグメントの管理に必要のないソフトウェアの利用”。

運用サーバセグメントについては,リスクを“運用管理を行う PC が感染すること”に絞っているので,運用管理専用 PC は管理に特化し,感染経路になるソフトウェアは使わない,という方針になる。

35字以内の制限に対して,解答例は28字。“運用サーバセグメントの管理に必要のない”と“ソフトウェアの利用”の二つを入れる。

採点講評(IPA)

設問3は,マルウェアの感染拡大を抑制するための内部ネットワークでの対策に関して出題した。実際に運用されている事例を理解してほしい。

設問4(1) 解答欄4つ

本文中の b~e に入れる適切な数式又は数値を答えよ。

〔b〕解答例

  • 7

〔c〕解答例

  • 69i

〔d〕解答例

  • 14

〔e〕解答例

  • 95i
解説

本文の根拠

表5

文字列分割:8 字以上の場合は,前半 7 字と残りに分割(注 1),なし。

表5

パスワード文字種:英数字及び記号(合計 69 種),英数字及び記号(合計 95 種)。

〔サーバの脆弱性検査〕

OS のパスワードのハッシュ値が入手できた場合に,14 字までのパスワードを総当たり攻撃で解析することを考えてみましょう。

L1 ハッシュは,8字以上のパスワードを前半7字と残りに分割して,それぞれハッシュ値を求める。14字までのパスワードなら,前半は7字まで,後半は1〜7字になるので,どちらも 7字までのパスワードを調べれば足りる。b は“7”。文字種は 69 種で,長さ i 字のパスワードの組合せは 69i 通りなので,c は“69i”(Σ の i は 1〜7)。前半7字までについて求めたハッシュ値は,後半にも使える。

L2 ハッシュは,文字列を分割せず,14字までのパスワードを全部まとめてハッシュ値にする。文字種は 95 種で,長さ i 字の組合せは 95i 通りなので,d は“14”,e は“95i”(Σ の i は 1〜14)。

数で比べると,L1 の 7 字までは Σ69i = 約 7.6×1012 通り,L2 の 14 字までは Σ95i = 約 4.9×1027 通りで,L2 は L1 の約 6.5×1014 倍になる。本文の“L1 ハッシュに比べ格段に増加します”がこれである。数式で答える設問なので,組合せの数は“文字種の数の i 乗”と書く。

採点講評(IPA)

設問4は,パスワードとハッシュの知識について出題した。正答率は低かった。ソルトの使用による効果については,基本的な知識であり,仕組みを含めて理解してほしい。

設問4(2) 35字以内

ソルトを使用するとハッシュ値からパスワードを特定しにくくなるのはなぜか。その理由を 35 字以内で述べよ。

解答例

  • 同じパスワードでもソルトが異なるとハッシュ値が変わるから
解説

本文の根拠

表5

ソルトの使用の有無:なし,なし。

〔サーバの脆弱性検査〕

ソルトを使用するとハッシュ値からパスワードを特定しにくくなります。

ソルトは,パスワードにランダムな値を加えてからハッシュ値を求めるための値で,利用者ごとやパスワードの設定ごとに異なる値を使う。ソルトを使わないと,同じパスワードのハッシュ値は常に同じ値になる。そのため,よく使われるパスワードのハッシュ値を事前に計算した表を使って,入手したハッシュ値から逆引きでき,同じハッシュ値の利用者が同じパスワードであることも分かる。ソルトを使えば,同じパスワードでもソルトが異なればハッシュ値が変わるので,事前に計算した表が使えず,同じパスワードの利用者も見分けられない。解答例は“同じパスワードでもソルトが異なるとハッシュ値が変わるから”。

表5のとおり,L1 ハッシュも L2 ハッシュもソルトを使っていない。ソルトの“効果”を問われているので,理由は“ソルトが異なるとハッシュ値が変わる”という仕組みを書く。

35字以内の制限に対して,解答例は28字。“同じパスワードでも”“ソルトが異なると”“ハッシュ値が変わる”の三つを入れる。

採点講評(IPA)

設問4は,パスワードとハッシュの知識について出題した。正答率は低かった。ソルトの使用による効果については,基本的な知識であり,仕組みを含めて理解してほしい。

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