‹ ぱすてく

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

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

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

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

この年度を解いてみる

問1 利用者ID管理システム及び認証システムの設計

利用者ID管理システム及び認証システムの設計に関する次の記述を読んで,設問1〜6に答えよ。

N 社は,従業員数 20,000 名の大手金融機関である。N 社はこれまで,日本の顧客企業の海外展開に合わせて海外にも支店を設け,顧客企業の現地法人及びその従業員向けの金融サービスを提供することによって,海外での取引を急速に拡大させてきた。N 社は現在,日本,欧米,アジアという地域ごとに業務を行っており,システムも地域ごとに構築している。N 社の正社員の人事管理も地域ごとに人事システムで行っているが,契約社員は,支店ごとに契約社員を管理する者(以下,管理者という)が人事システムを使わずに管理している。

N 社は,より広い範囲の顧客企業及び個人顧客に世界共通の金融サービスを提供するための第一歩として,各地域の情報系システム(以下,社内システムという)のうち,機能面で共通性の高いものを,全地域から利用できる共通のシステム(以下,G システムという)として一本化し,各地域の社内システムの利用者全員に,G システムと,利用者が所属する地域の社内システムを併用させることにした。また,地域によって異なっている利用者 ID(以下,ID という)管理及び利用者認証の方式と運用を統一し,セキュリティ管理の一元化及び効率向上を実現することにした。N 社の各地域における利用者認証方式の概要を表1に示す。

N 社の各地域における利用者認証方式の概要の表(種別ごとに,日本・欧米地域・アジア地域の方式)。PC における利用者認証:日本は IC カードによる利用者認証(ディレクトリサーバ製品 Q を利用),欧米地域とアジア地域は ID,パスワードによる利用者認証(ディレクトリサーバ製品 Q を利用)。社内システムにおける利用者認証:日本はエージェント型の認証サーバを開発して利用,欧米地域とアジア地域はリバースプロキシ型の認証サーバ製品 P を利用(欧米地域とアジア地域の欄は一つにまとまっている)。PC と社内システムにおけるシングルサインオン:日本と欧米地域は SPNEGO プロトコル(注1)によって実現(二つの欄が一つにまとまっている),アジア地域は実現されていない。注1 RFC 4178 The Simple and Protected Generic Security Service Application Program Interface (GSS-API) Negotiation Mechanism
表1 N 社の各地域における利用者認証方式の概要

〔日本における ID 管理・認証の方式〕

日本の N 社では,利用者が日本の PC(以下,日本 PC という)に接続された IC カードリーダに IC カードを差し込むと,IC カードから ID とディジタル証明書(以下,証明書という)が読み取られ,ディレクトリサーバ製品 Q を用いた日本のディレクトリサーバ(以下,ディレクトリサーバを DS という)において利用者認証が行われる。日本の DS(以下,日本 DS という)は,PC における利用者認証が成功すると,日本 PC に当該利用者のチケット認可チケット(以下,TGT という)を発行する。日本 PC は N 社が一括調達したものであり,IC カードリーダは,日本 PC 専用に開発されたものである。

利用者が日本 PC のブラウザを起動すると,ブラウザは,ホームページとして設定された日本の認証サーバ(以下,日本認証サーバという)にアクセスする。日本認証サーバは,認証していないブラウザからの HTTP 要求に対して,HTTP ステータスコード 401,Negotiate の値をもつ WWW-Authenticate ヘッダ,並びに ID 及びパスワードの入力画面を含む HTTP 応答を返す。そうすると,ブラウザは,日本認証サーバのアクセスに必要なサービスチケット(以下,ST という)の提示,又はフォーム認証による ID とパスワードの入力のどちらかを行う。日本 PC のブラウザは,SPNEGO によるシングルサインオン(以下,SSO という)を利用する設定が行われており,前述の HTTP 応答を受信すると,日本 DS に TGT を提示して ST を受け取り,その ST を日本認証サーバに提示して日本の社内システム(以下,日本社内システムという)における利用者認証が成功する。ST には暗号化された ID が含まれており,ST を受け取ったサーバは,復号処理によって ID を得ることができる。

日本認証サーバは,利用者認証が成功すると,認証 Cookie を発行し,認証成功を示すメッセージと日本のポータルサーバ(以下,日本ポータルという)へのリンクをブラウザに表示する。利用者がそのリンクをクリックすると,日本ポータルは,認証 Cookie の検証を行う。検証が成功すると,当該利用者がアクセス可能な日本社内システムへのリンクが並んだポータル画面をブラウザに表示する。

利用者が日本社内システムにアクセスすると,日本社内システムは,認証 Cookie の検証を行った後,メニュー画面をブラウザに表示する。日本ポータル及び日本社内システムでの認証 Cookie の検証では,日本認証サーバと併せて開発された,エージェントと呼ばれる Java プログラムがアプリケーションプログラムからメソッドとして呼び出される。

正社員が入社すると,人事管理手続に基づき,正社員情報の確認と登録の承認が行われた後,人事システムに登録される。人事システムに新しい正社員情報が登録されると,情報システム部は,当該正社員の証明書を発行し,ID と証明書を日本 DS に登録し,ID と証明書を格納した IC カードを当該正社員に貸与する。

契約社員が日本社内システムにアクセスする必要がある場合,管理者が所属長に対して当該契約社員のシステム利用申請を行い,承認を得る。その後,日本の情報システム部は,当該契約社員の証明書を発行し,ID と証明書を日本 DS に登録し,ID と証明書を格納した IC カードを管理者経由で当該契約社員に貸与する。

ID の先頭 2 桁は,正社員では AA,契約社員では本店・支店の識別番号であり,後続 6 桁は,正社員では社員番号,契約社員では管理者が採番した番号である。

日本における利用者認証の通信シーケンスを図1に示す。

日本における利用者認証の通信シーケンス図。登場するのは,利用者,日本PC,日本DS,日本認証サーバ,日本ポータル,日本社内システム。上から順に次のとおり。利用者から日本PCへ「ICカード差込み」。日本PCの処理「ICカードからのID及び証明書の読取り」。日本PCから日本DSへ「Kerberos要求(認証要求,ID,証明書)」。日本DSから日本PCへ「Kerberos応答(OK,TGT)」。日本PCの処理「デスクトップの表示」。利用者から日本PCへ「ブラウザ起動」。日本PCから日本認証サーバへ「HTTP要求(日本認証サーバのURI)」。日本認証サーバから日本PCへ「HTTP応答(401,WWW-Authenticate:Negotiate,IDとパスワードの入力画面)」。日本PCから日本DSへ「Kerberos要求(日本認証サーバのST発行要求,TGT)」。日本DSから日本PCへ「Kerberos応答(日本認証サーバのST)」。日本PCから日本認証サーバへ「HTTP要求(日本認証サーバのURI,日本認証サーバのST)」。日本認証サーバの処理「[ a ]の発行」。日本認証サーバから日本PCへ「HTTP応答(認証成功メッセージ,日本ポータルへのリンク,[ a ])」。日本PCの処理「認証成功メッセージ及び日本ポータルへのリンクの表示」。利用者から日本PCへ「日本ポータルへのリンクをクリック」。日本PCから日本ポータルへ「HTTP要求(日本ポータルのURI,[ a ])」。日本ポータルの処理「[ a ]の検証」。日本ポータルから日本PCへ「HTTP応答(ポータル画面)」。日本PCの処理「ポータル画面の表示」。利用者から日本PCへ「日本社内システムへのリンクをクリック」。日本PCから日本社内システムへ「HTTP要求(日本社内システムのURI,[ a ])」。日本社内システムの処理「[ a ]の検証」。日本社内システムから日本PCへ「HTTP応答(メニュー画面)」。日本PCの処理「メニュー画面の表示」。注記 括弧内は送信されるデータを示す。
図1 日本における利用者認証の通信シーケンス(概要)

〔欧米地域における ID 管理・認証の方式〕

20 年前から支店を設けている欧米地域では,N 社は,ブラウザ,製品 Q を用いた欧米地域の DS1(以下,欧米 DS1 という)及び欧米地域の DS2(以下,欧米 DS2 という)並びにリバースプロキシ型の認証サーバ製品 P を用いた欧米地域の認証サーバ(以下,欧米認証サーバという)を組み合わせて,SPNEGO による SSO を実現している。製品 P は,SPNEGO による SSO を利用するように設定されると,認証されていないブラウザからの HTTP 要求に対して,日本認証サーバと同じ動作をして SPNEGO による利用者認証を行う。欧米地域の PC(以下,欧米 PC という)のブラウザ及び欧米認証サーバは,SPNEGO による SSO を利用するように設定されている。

欧米 DS1 には欧米 PC のコンピュータ名及び欧米地域の ID が,欧米 DS2 には欧米地域の各サーバのコンピュータ名が,それぞれ登録されている。欧米 DS1 及び欧米 DS2 には,お互いを信頼するという設定が行われている(以下,信頼関係が結ばれているという)。現在,N 社の中の DS 間で信頼関係が結ばれているのは,欧米 DS1 と欧米 DS2 間だけである。

利用者が,欧米 PC にログオンして,ブラウザを立ち上げると,ブラウザは,ホームページとして設定された欧米地域のポータルサーバ(以下,欧米ポータルという)にアクセスしようとする。

欧米地域における ID 管理の手続は,日本と同様である。欧米地域の情報システム部は,新しい正社員又は契約社員の ID と初期パスワードを欧米 DS1 に登録し,当該正社員又は管理者に通知する。ID の体系は日本と同じであり,日本と重複している ID がある。

欧米地域における利用者認証の通信シーケンスを図2に示す。

欧米地域における利用者認証の通信シーケンス図。登場するのは,欧米PC,欧米DS1,欧米DS2,欧米認証サーバ,欧米ポータル,欧米社内システム。上から順に次のとおり。欧米PCから欧米DS1へ「Kerberos要求(認証要求,ID,パスワード)」。欧米DS1から欧米PCへ「Kerberos応答(OK,TGT)」。欧米PCから欧米認証サーバへ「HTTP要求(欧米ポータルのURI)」。欧米認証サーバから欧米PCへ「HTTP応答(401,WWW-Authenticate:Negotiate,IDとパスワードの入力画面)」。ここから次の4行を破線の枠で囲む。欧米PCから欧米DS1へ「Kerberos要求(欧米DS2のCRT要求,TGT)」。欧米DS1から欧米PCへ「Kerberos応答(欧米DS2のCRT)」。欧米PCから欧米DS2へ「Kerberos要求(欧米認証サーバのST要求,欧米DS2のCRT)」。欧米DS2から欧米PCへ「Kerberos応答(欧米認証サーバのST)」。(破線の枠はここまで)欧米PCから欧米認証サーバへ「HTTP要求(欧米ポータルのURI,欧米認証サーバのST)」。欧米認証サーバから欧米ポータルへ「HTTP要求(欧米ポータルのURI)」。欧米ポータルから欧米認証サーバへ「HTTP応答(ポータル画面)」。欧米認証サーバから欧米PCへ「HTTP応答(ポータル画面)」。欧米PCから欧米認証サーバへ「HTTP要求(欧米社内システムのURI)」。欧米認証サーバから欧米社内システムへ「HTTP要求(欧米社内システムのURI)」。欧米社内システムから欧米認証サーバへ「HTTP応答(メニュー画面)」。欧米認証サーバから欧米PCへ「HTTP応答(メニュー画面)」。CRT:相互レルムチケット。欧米社内システム:欧米地域の社内システム。注記1 括弧内は送信されるデータを示す。注記2 破線の枠内の機能が正しく動作するためには,次の二つの条件が必要である。・欧米DS1及び欧米DS2の間で信頼関係が結ばれていること。・欧米DS1及び欧米DS2がもつドメイン名,登録されているID及びコンピュータ名が重複していないこと
図2 欧米地域における利用者認証の通信シーケンス(概要)

〔アジア地域における ID 管理・認証の方式〕

支店網を急拡大してきたアジア地域において,N 社は,製品 P を用いたアジア地域の認証サーバ(以下,アジア認証サーバという)に,LDAP サーバ製品 R を用いたアジア地域の LDAP サーバ(以下,アジア LDS という)を組み合わせて,SSO を短期間で実現した。ただし,アジア認証サーバは,SPNEGO ではなくフォーム認証を利用しており,アジア地域の PC(以下,アジア PC という)に SPNEGO の設定はされていない。SSO の対象は,アジア地域のポータルサーバ(以下,アジアポータルという)と,アジア地域の社内システム(以下,アジア社内システムという)である。

利用者が,アジア PC にログオンして,ブラウザを立ち上げると,ブラウザは,ホームページとして設定されたアジアポータルにアクセスしようとする。その際,アジア認証サーバは,アジア LDS を参照し,ID とパスワードによる利用者認証を行う。

アジア地域の全ての正社員及び契約社員は,入社時にアジア PC が利用できるように製品 Q を用いたアジア地域の DS(以下,アジア DS という)に ID が登録される。しかし,アジア LDS への ID 登録や削除は人事システムと連携していない。そのため,正社員及び契約社員は,アジア社内システムにアクセスする必要が生じた際に,自ら ID とパスワードの登録をアジア地域の情報システム部に依頼している。情報システム部は,依頼内容に沿ってアジア LDS に ID とパスワードを登録する。他の地域と重複している ID はない。

アジア地域における利用者認証の通信シーケンスを図3に示す。

アジア地域における利用者認証の通信シーケンス図。登場するのは,アジアPC,アジアDS,アジア認証サーバ,アジアLDS,アジアポータル,アジア社内システム。上から順に次のとおり。アジアPCからアジアDSへ「Kerberos要求(認証要求,ID,パスワード)」。アジアDSからアジアPCへ「Kerberos応答(OK,TGT)」。アジアPCからアジア認証サーバへ「HTTP要求([ b ]のURI)」。アジア認証サーバからアジアPCへ「HTTP応答(IDとパスワードの入力画面)」。アジアPCからアジア認証サーバへ「HTTP要求(ID,パスワード)」。アジア認証サーバからアジアLDSへ「LDAP要求(BIND要求,ID,パスワード)」。アジアLDSからアジア認証サーバへ「LDAP応答(OK)」。アジア認証サーバからアジアポータルへ「HTTP要求([ b ]のURI)」。アジアポータルからアジア認証サーバへ「HTTP応答(ポータル画面)」。アジア認証サーバからアジアPCへ「HTTP応答(ポータル画面)」。アジアPCからアジア認証サーバへ「HTTP要求(省略)」。アジア認証サーバからアジア社内システムへ「HTTP要求(省略)」。アジア社内システムからアジア認証サーバへ「HTTP応答(メニュー画面)」。アジア認証サーバからアジアPCへ「HTTP応答(メニュー画面)」。注記 括弧内は送信されるデータを示す。
図3 アジア地域における利用者認証の通信シーケンス(概要)

〔G システムにおける ID 管理・認証の設計〕

日本の情報システム部の X 部長は,部下の Y さんに,G システムにおける ID 管理,SSO 及びアクセス制御を行うグローバル ID・アクセス管理システム(以下,GIAM システムという)を設計し,情報セキュリティスペシャリストの Z 主任のレビューを受けるように指示した。Y さんは,認証サブシステム,ID 管理サブシステム,ポータルサブシステム(以下,G ポータルという)から成る GIAM システムを設計した。それぞれのサブシステムの概要は次のとおりである。

製品 P を用いた認証サーバ(以下,認証サブシステムの認証サーバを G 認証サーバという)と製品 R を用いた LDAP サーバ(以下,認証サブシステムの LDAP サーバを GLDS という)から成り,G ポータル及び G システムへのアクセスにおいて,N 社全体で一意となる ID(以下,GID という)とパスワードによる利用者認証及び SSO を実現する。利用者認証が成功すると,HTTP ヘッダに GID を埋め込んで G ポータル及び G システムに送信する。

日次で各地域の人事システムから正社員の利用者情報を収集し,新たに登録された正社員に対して,GID と初期パスワードを生成して GLDS に登録する。

G 認証サーバから渡された GID 及び GLDS に登録された利用者属性に基づいてポータル画面を生成し,G システム及び当該利用者が所属する地域のポータルサーバへのリンクを表示する。全地域の PC ではブラウザに G ポータルをホームページとして設定し,ブラウザが立ち上がると G ポータルのポータル画面が表示されるようにする。

Y さんが設計した,GIAM システム及び関連システムの論理構成を図4に,GIAM システムにおける利用者認証の通信シーケンスを図5に,それぞれ示す。

なお,図4において,グローバル DS(以下,GDS という)には,製品 Q が用いられ,認証サブシステム,ID 管理サブシステム及び G ポータルの各サーバのコンピュータ名が登録される。

GIAM システム及び関連システムの論理構成図。左に日本拠点(日本PCが複数台とルータ),欧米拠点(欧米PCが複数台とルータ),アジア拠点(アジアPCが複数台とルータ)があり,それぞれのルータが中央の広域イーサネットにつながる。広域イーサネットは右の三つのデータセンタ(DC)のルータにつながる。日本DCには,ルータの先に,G認証サーバ,ID管理サブシステム,GDS,日本人事システム,日本DS,GLDS,Gポータル,Gシステム,日本認証サーバ,日本ポータル,日本社内システムがある。欧米DCには,ルータの先に,欧米人事システム,欧米DS1,欧米DS2,欧米認証サーバ,欧米ポータル,欧米社内システムがある。アジアDCには,ルータの先に,アジア人事システム,アジアDS,アジア認証サーバ,アジアLDS,アジアポータル,アジア社内システムがある。DC:データセンタ。日本人事システム:日本の人事システム。欧米人事システム:欧米地域の人事システム。アジア人事システム:アジア地域の人事システム。
図4 GIAM システム及び関連システムの論理構成
GIAM システムにおける利用者認証の通信シーケンス図。登場するのは,日本PC,欧米PC又はアジアPC(以下PC),日本DS,欧米DS1又はアジアDS(以下DS),G認証サーバ,GLDS,Gポータル,Gシステム。上から順に次のとおり。PCからDSへ「Kerberos要求(省略)」。DSからPCへ「Kerberos応答(OK,TGT)」。ここから次の4行を破線の枠で囲む。PCからG認証サーバへ「HTTP要求(省略)」。G認証サーバからPCへ「HTTP応答(GIDとパスワードの入力画面)」。PCからG認証サーバへ「HTTP要求(GID,パスワード)」。G認証サーバからGLDSへ「LDAP要求(BIND要求,GID,パスワード)」。GLDSからG認証サーバへ「LDAP応答(OK)」。(破線の枠はここまで)G認証サーバからGポータルへ「HTTP要求(省略)」。GポータルからGLDSへ「LDAP要求(GID)」。GLDSからGポータルへ「LDAP応答(利用者属性)」。GポータルからG認証サーバへ「HTTP応答(GID及び利用者属性に基づくポータル画面)」。G認証サーバからPCへ「HTTP応答(GID及び利用者属性に基づくポータル画面)」。PCからG認証サーバへ「HTTP要求(GシステムのURI)」。G認証サーバからGシステムへ「HTTP要求(GシステムのURI,GID)」。GシステムからG認証サーバへ「HTTP応答(メニュー画面)」。G認証サーバからPCへ「HTTP応答(メニュー画面)」。注記1 括弧内は送信されるデータを示す。注記2 破線部分については後述する。
図5 GIAM システムにおける利用者認証の通信シーケンス(概要)

Y さんは,GIAM システムの設計について,Z 主任のレビューを受けた。Z 主任は,Y さんに,図5中の破線の部分にアジア地域の認証方式を採用した理由を質問した。Y さんは,次の 2 点を説明した。

Z 主任は,認証サブシステムの設計を了承した。

次に Z 主任は,④ID 管理サブシステムの設計に不十分な点があることを指摘し,各地域の人事システムとは別のサーバから利用者情報を収集する必要があると助言した。

さらに,Z 主任は,⑤一部の地域で,G ポータルのポータル画面中のリンクから地域のポータルサーバへのアクセスが失敗することを指摘し,G ポータルのポータル画面に載せるリンクを修正する必要があると助言した。

Y さんは Z 主任の助言を反映し,GIAM システムの設計について X 部長の承認を得た。

〔欧米地域からの要望への対応〕

X 部長は,Y さんと Z 主任に対して,GIAM システムの設計内容について,各地域の情報システム部及び利用者の代表者に説明するよう指示した。Y さんと Z 主任が欧米地域に出張して GIAM システムの設計内容を説明したところ,次の要望が挙がった。

要望 1.

現行システムと同様に,一度 PC にログオンすれば,欧米社内システム及び G システムへの SSO ができるようにしてほしい。

要望 2.

ワークスタイル変革及び災害対策として,利用者が自宅から,個人所有の PC やタブレット端末(以下,個人所有機器という)を使って欧米社内システムを利用する方法を検討中である。インターネット経由で社内のシンクライアントサーバにアクセスし,仮想デスクトップから欧米社内システム及び G システムにアクセスする際においても SSO を実現してほしい。ただし,インターネット経由の仮想デスクトップへのアクセスにおいては,二要素認証を実装したい。

要望 3.

他地域への出張中でも,仮想デスクトップから,欧米社内システム及び G システムにアクセスする際において SSO を実現してほしい。

Y さんは,GIAM システムに下線②と下線③の変更を行うことにし,欧米地域の三つの要望全てを全地域の利用者に対して実現する拡張 GIAM システムを設計した。

拡張 GIAM システムでは,自宅又は出張先にいる利用者は,個人所有機器から自分が所属する地域の VPN サーバ経由で自分が所属する地域のシンクライアントサーバにアクセスし,G ポータルのポータル画面から,G システム,自分が所属する地域のポータルサーバ及び自分が所属する地域の社内システムにアクセスする。

個人所有機器の業務利用を希望する利用者は,個人所有機器の利用申請を行い,所属長に承認されると,VPN 接続用の ID(以下,VPNID という)とパスワード(以下,VPN パスワードという)が割り当てられ,ハードウェア型のワンタイムパスワード(以下,OTP という)トークンが貸与される。

拡張 GIAM システム及び関連システムの論理構成を図6に,個人所有機器からシンクライアントサーバへのアクセスの通信シーケンスを図7に,仮想デスクトップから G システムへのアクセスの通信シーケンスを図8に,それぞれ示す。

Y さんは,利用者が各地域の PC から G システムにアクセスする場合の通信シーケンスは,図8中の仮想デスクトップを各地域の PC に置き換えたものになると考えた。

拡張 GIAM システム及び関連システムの論理構成図。左に個人所有機器(複数台)があり,インターネットを介して各DCのFWにつながる。左に日本拠点(省略),欧米拠点(省略),アジア拠点(省略)があり,広域イーサネットを介して各DCのルータにつながる。インターネットと広域イーサネットは,日本DCのルータにもつながる。日本DCには,VPNサーバがFWにつながり,FWとルータの先に,G認証サーバ,ID管理サブシステム,GDS,日本人事システム,日本DS,日本認証サーバ,GLDS,Gポータル,Gシステム,OTP認証サーバ,シンクライアントサーバ,日本ポータル,日本社内システムがある。欧米DCには,VPNサーバがFWにつながり,FWとルータの先に,欧米人事システム,欧米認証サーバ,欧米DS1,欧米DS2,OTP認証サーバ,欧米ポータル,欧米社内システム,シンクライアントサーバがある。アジアDCには,VPNサーバがFWにつながり,FWとルータの先に,アジア人事システム,アジアDS,アジア認証サーバ,OTP認証サーバ,アジアLDS,アジアポータル,アジア社内システム,シンクライアントサーバがある。FW:ファイアウォール。
図6 拡張 GIAM システム及び関連システムの論理構成
個人所有機器からシンクライアントサーバへのアクセスの通信シーケンス図。登場するのは,個人所有機器,VPNサーバ,シンクライアントサーバ,OTP認証サーバ,DS。上から順に次のとおり。個人所有機器からVPNサーバへ「VPN接続要求(VPNID,VPNパスワード)」。VPNサーバから個人所有機器へ「OK」。個人所有機器からシンクライアントサーバへ「接続要求」。シンクライアントサーバから個人所有機器へ「ログオン画面」。個人所有機器からシンクライアントサーバへ「ログオン要求(ID,パスワード,OTP)」。シンクライアントサーバからOTP認証サーバへ「HTTP要求(ID,OTP)」。OTP認証サーバからシンクライアントサーバへ「HTTP応答(OK)」。シンクライアントサーバからDSへ「Kerberos要求(認証要求,ID,パスワード)」。DSからシンクライアントサーバへ「Kerberos応答(OK,TGT)」。シンクライアントサーバから個人所有機器へ「仮想デスクトップ」。注記1 括弧内は送信されるデータを示す。注記2 各サーバは利用者が所属する地域のサーバである。
図7 個人所有機器からシンクライアントサーバへのアクセスの通信シーケンス(概要)
仮想デスクトップからGシステムへのアクセスの通信シーケンス図。登場するのは,仮想デスクトップ,利用者が所属する地域のDS,GDS,G認証サーバ,GLDS(注1),Gポータル,Gシステム。上から順に次のとおり。仮想デスクトップからG認証サーバへ「HTTP要求(省略)」。G認証サーバから仮想デスクトップへ「HTTP応答(401,WWW-Authenticate:Negotiate,IDとパスワードの入力画面)」。仮想デスクトップから利用者が所属する地域のDSへ「Kerberos要求(GDSのCRT要求,TGT)」。利用者が所属する地域のDSから仮想デスクトップへ「Kerberos応答(GDSのCRT)」。仮想デスクトップからGDSへ「Kerberos要求(G認証サーバのST要求,GDSのCRT)」。GDSから仮想デスクトップへ「Kerberos応答(G認証サーバのST)」。仮想デスクトップからG認証サーバへ「HTTP要求(GポータルのURI,G認証サーバのST)」。G認証サーバからGLDSへ「LDAP要求(G認証サーバのST中のID)」。GLDSからG認証サーバへ「LDAP応答(G認証サーバのST中のIDに対応するGID)」。G認証サーバからGポータルへ「HTTP要求(省略)」。GポータルからGLDSへ「LDAP要求(G認証サーバのST中のIDに対応するGID)」。GLDSからGポータルへ「LDAP応答(利用者属性)」。GポータルからG認証サーバへ「HTTP応答(省略)」。G認証サーバから仮想デスクトップへ「HTTP応答(省略)」。仮想デスクトップからG認証サーバへ「HTTP要求(省略)」。G認証サーバからGシステムへ「HTTP要求(省略)」。GシステムからG認証サーバへ「HTTP応答(メニュー画面)」。G認証サーバから仮想デスクトップへ「HTTP応答(メニュー画面)」。注記 括弧内は送信されるデータを示す。注1 GLDSでは,IDとGIDの対応付けをもつ。
図8 仮想デスクトップから G システムへのアクセスの通信シーケンス(概要)

Y さんは,拡張 GIAM システムの設計について,Z 主任のレビューを受けた。Z 主任は,IC カードによる利用者認証の方式を採用しなかった理由を質問した。⑥Y さんは,採用した場合,IC カードリーダの追加導入や持ち運びが必要になる上,テスト工程の期間と工数が大きくなると説明した。次に,Z 主任は,⑦要望 2 を実現する方法としてシンクライアントサーバを各地域の DC に配置し,利用者が自分の所属する地域のシンクライアントサーバにアクセスするようにした理由を質問した。Y さんは,その理由を説明した。

Z 主任は,⑧一部の地域の利用者は,PC における利用者認証の後,G ポータル及び地域のポータルサーバにアクセスしようとしたときに ID とパスワードの再入力が必要であることを指摘し,当該地域におけるシステム設定の変更が必要であると助言した。

Y さんは,Z 主任の助言を反映し,拡張 GIAM システムの設計について X 部長の承認を得た。Y さんと Z 主任は,再度各地域の情報システム部及び利用者の代表者に説明を行い,合意を得た。各地域の情報システム部は,G システム及び拡張 GIAM システムの構築を始めた。

出題趣旨(IPA)

ビジネスを海外展開している企業においては,これまで地域や国ごとに行ってきた情報セキュリティ管理を統合するのに伴い,情報システムの利用者ID管理及びアクセス管理(ID and Access Management,以下IAMという)を統合する動きが起きている。IAMの統合においては,利用者の利便性並びに既存の情報システム及び運用管理プロセスへの影響を考慮し,最適なソリューションを選択する必要がある。本問では,海外展開する大手金融機関におけるIAMの統合を題材に,IAMの設計及び運用上の考慮点に関する知識と能力を問う。

採点講評(問全体・IPA)

問1では,ID管理システム及び認証システムの設計及び運用上の考慮点に関する知識と対応能力について出題した。全体として正答率は低かった。

設問と解答例

設問1(1) 解答欄1つ

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

〔a〕解答例

  • 認証Cookie
解説

本文の根拠

〔日本における ID 管理・認証の方式〕

日本認証サーバは,利用者認証が成功すると,認証 Cookie を発行し,認証成功を示すメッセージと日本のポータルサーバ(以下,日本ポータルという)へのリンクをブラウザに表示する。

〔日本における ID 管理・認証の方式〕

利用者がそのリンクをクリックすると,日本ポータルは,認証 Cookie の検証を行う。

図1の a は,日本認証サーバが利用者認証の成功後に発行し,ブラウザが日本ポータルと日本社内システムへ送り,それぞれが検証するデータである。本文はそれを“認証Cookie”と呼んでいるので,解答例は“認証Cookie”である。

図1の流れを追うと,日本認証サーバが「の発行」を行う処理,日本認証サーバから PC への HTTP 応答,PC から日本ポータルと日本社内システムへの HTTP 要求,日本ポータルと日本社内システムの「の検証」の6か所が同じ語で埋まる。Kerberos の TGT・ST は日本 DS が発行し,日本認証サーバの認証にだけ使うものなので,ここには入らない。

設問は“本文中の用語を用いて”と指定している。“Cookie”だけでも意味は通じるが,本文の“認証Cookie”(解答例は8字)とそろえて書くのが安全である。ST(サービスチケット)と書くと,日本ポータル以降に渡るものではないので誤りになる。

設問1(2) 解答欄1つ

図3中の b に入れる適切な字句を,図3中から選び,答えよ。

〔b〕解答例

  • アジアポータル
解説

本文の根拠

〔アジア地域における ID 管理・認証の方式〕

ブラウザは,ホームページとして設定されたアジアポータルにアクセスしようとする。その際,アジア認証サーバは,アジア LDS を参照し,ID とパスワードによる利用者認証を行う。

図3

アジアPCからアジア認証サーバへ「HTTP要求(bのURI)」

図3

アジア認証サーバからアジアポータルへ「HTTP要求(bのURI)」

アジア PC のブラウザはホームページとして設定されたアジアポータルにアクセスしようとし,その要求はリバースプロキシ型のアジア認証サーバが受ける。認証サーバは ID とパスワードの入力画面を返し,認証に成功すると,同じ URI の要求をアジアポータルに中継する。したがって,2か所の b はどちらも“アジアポータル”である。

図2(欧米地域)でも,欧米 PC が欧米認証サーバに“欧米ポータルの URI”を要求し,認証サーバが欧米ポータルへ同じ要求を中継している。アジアはこの欧米の形から Kerberos の相互レルムチケットの部分を除いたものなので,対応づけると見つけやすい。

設問は“図3中から選び”と指定しており,アジア社内システムなど別の構成要素を答えないこと。アジア社内システムへの要求は図3の後半で“HTTP 要求(省略)”として別に示されている。

設問1(3) 45字以内

アジア地域におけるアジア LDS への正社員及び契約社員の ID の登録手順について,セキュリティ上の問題点を 45 字以内で述べよ。

解答例

  • 承認が行われず,社内システムにアクセスする必要がない者もIDを登録できてしまう。
解説

本文の根拠

〔アジア地域における ID 管理・認証の方式〕

しかし,アジア LDS への ID 登録や削除は人事システムと連携していない。

〔アジア地域における ID 管理・認証の方式〕

正社員及び契約社員は,アジア社内システムにアクセスする必要が生じた際に,自ら ID とパスワードの登録をアジア地域の情報システム部に依頼している。

〔日本における ID 管理・認証の方式〕

管理者が所属長に対して当該契約社員のシステム利用申請を行い,承認を得る。

アジア LDS への登録は,人事システムと連携しておらず,利用者本人が情報システム部に依頼する形である。日本では,正社員は人事管理手続に基づく承認の後に,契約社員は管理者から所属長への利用申請と承認の後に,ID を登録する。アジアにはこの承認の段階が書かれていないので,依頼さえすれば,社内システムを使う必要のない者の ID でも登録できてしまう。これが解答例の問題点である。

日本・欧米の手順と並べ,アジアだけに無いものが“承認(利用の必要性の確認)”であると読み取る。人事システムとの連携が無いので,退職者の ID の削除も漏れやすくなるが,設問は“登録手順”の問題点を問うているので,登録時の承認が無い点を答える。

解答例は40字で,45字の制限に収まる。“承認が行われず”と“必要がない者も登録できる”の二つを入れる。“人事システムと連携していない”とだけ書くと,なぜセキュリティ上の問題かが伝わらない。

採点講評(IPA)

設問1は,認証システム及び利用者ID管理プロセスに関する問題である。(3)は,正答率が低かった。各地域のID管理プロセスを比較した上で,アジア地域におけるID管理プロセスの問題点を解答してほしかった。

設問2(1) 35字以内

本文中の下線①について,必要なカスタマイズの内容を 35 字以内で述べよ。

解答例

  • GポータルやGシステムからエージェントを呼び出すための変更
解説

本文の根拠

〔日本における ID 管理・認証の方式〕

日本ポータル及び日本社内システムでの認証 Cookie の検証では,日本認証サーバと併せて開発された,エージェントと呼ばれる Java プログラムがアプリケーションプログラムからメソッドとして呼び出される。

下線①

エージェント型の認証サーバを採用した場合,G ポータルや G システムに市販のパッケージ製品を採用する際に大きなカスタマイズが必要となる。

エージェント型の認証サーバでは,認証 Cookie の検証を,保護する側のアプリケーションが認証サーバと併せて作られたエージェント(Java プログラム)をメソッドとして呼び出して行う。市販のパッケージ製品はそのような呼出しを前提にしていないので,G ポータルや G システムにそれを組み込むには,アプリケーション側を改造して,エージェントを呼び出すようにする必要がある。解答例は“GポータルやGシステムからエージェントを呼び出すための変更”である。

これに対し,リバースプロキシ型(製品 P)は,認証サーバがブラウザとアプリケーションの間に入って認証を済ませるので,アプリケーション側を変えずに済む。表1で日本だけがエージェント型であるのは,N 社が認証サーバと併せて自社開発しているからである。

解答例は29字で,35字の制限に収まる。“カスタマイズ”をそのまま繰り返すのではなく,何を変えるのか(呼出しを追加すること)を書く。

採点講評(IPA)

設問2は,認証システムの方式比較に関する問題である。(1)と(2)は正答率が低かった。エージェント型と呼ばれる認証システムの方式の一般的な考慮点について理解しておいてほしい。

設問2(2) 25字以内

本文中の下線②について,変更の内容を 25 字以内で述べよ。

解答例

  • GDSと各地域のDS間で信頼関係を結ぶ。
解説

本文の根拠

図2 注記2

欧米DS1及び欧米DS2の間で信頼関係が結ばれていること

図8

仮想デスクトップから利用者が所属する地域のDSへ「Kerberos要求(GDSのCRT要求,TGT)」

〔日本における ID 管理・認証の方式〕

現在,N 社の中の DS 間で信頼関係が結ばれているのは,欧米 DS1 と欧米 DS2 間だけである。

SPNEGO による SSO では,PC は自分の地域の DS から TGT を受け取っており,G 認証サーバの ST は GDS が発行する。地域の DS から GDS の相互レルムチケット(CRT)を得るには,両者の間に信頼関係が結ばれている必要がある。図2の注記2も,欧米で同じことを条件に挙げている。現在は欧米 DS1 と欧米 DS2 の間にしか信頼関係が無いので,GDS と各地域の DS の間にそれを設定する,というのが下線②の変更である。

図5の破線の部分に SPNEGO を採用すると,図8のように CRT を使った Kerberos のやり取りが増える。このとき,ドメイン名や ID・コンピュータ名が重複しないことも要るが,ID の重複は下線③の変更(設問2(3))の側である。

解答例は20字で,25字の制限に収まる。“GDS と各地域の DS”の両方と“信頼関係”の2点を書く。“GDS の設定を変更する”だけでは何を変えるのかが分からない。

採点講評(IPA)

設問2は,認証システムの方式比較に関する問題である。(1)と(2)は正答率が低かった。エージェント型と呼ばれる認証システムの方式の一般的な考慮点について理解しておいてほしい。

設問2(3) 30字以内

本文中の下線③は,どのような現状の問題を解決するために必要か。30 字以内で述べよ。

解答例

  • 日本と欧米地域のIDに重複があるという問題
解説

本文の根拠

〔欧米地域における ID 管理・認証の方式〕

ID の体系は日本と同じであり,日本と重複している ID がある。

図2 注記2

欧米DS1及び欧米DS2がもつドメイン名,登録されているID及びコンピュータ名が重複していないこと

SPNEGO(Kerberos)を全地域に広げるには,DS の間で ID が重複していないことが条件になる。ID の先頭2桁は,正社員では AA,契約社員では本店・支店の識別番号で,欧米地域の ID の体系は日本と同じため,日本と欧米地域に重複している ID がある。下線③の“ID 体系に関する変更”は,この現状の問題を解決するために必要である。

なお,アジア地域には“他の地域と重複している ID はない”と本文に書かれている。したがって,重複があるのは日本と欧米地域の間であり,3地域すべてと書くと誤りになる。

解答例は21字で,30字の制限に収まる。“日本と欧米地域”と“ID の重複”の2点を入れる。

設問3(1) 25字以内

ID 管理サブシステムの設計における不十分な点を,25 字以内で述べよ。

解答例

  • 契約社員の利用者情報が取り込まれない点
解説

本文の根拠

ID 管理サブシステム

日次で各地域の人事システムから正社員の利用者情報を収集し,新たに登録された正社員に対して,GID と初期パスワードを生成して GLDS に登録する。

冒頭

契約社員は,支店ごとに契約社員を管理する者(以下,管理者という)が人事システムを使わずに管理している。

ID 管理サブシステムは,各地域の人事システムから利用者情報を収集する。ところが,契約社員は人事システムを使わず,管理者が管理している。そのため,契約社員の情報は人事システムに無く,GLDS への GID の登録の対象にならない。これが不十分な点で,解答例は“契約社員の利用者情報が取り込まれない点”である。

下線④は,Z 主任が“各地域の人事システムとは別のサーバから利用者情報を収集する必要がある”と助言したものである。人事システムとは別に契約社員の情報を持つサーバが,設問3(2)の答えになる。

解答例は19字で,25字の制限に収まる。“正社員の情報しか収集しない”と書いても同じ内容になるが,解答例は契約社員を主語にしている。

採点講評(IPA)

設問3は,ID管理システムの設計に関する問題である。正答率は期待どおりだった。

設問3(2) 解答欄3つ

利用者情報の収集元として適切なサーバ名を,図4中から三つ選び,答えよ。

〔①〕解答例

  • 日本DS

〔②〕解答例

  • 欧米DS1

〔③〕解答例

  • アジアLDS
解説

本文の根拠

〔日本における ID 管理・認証の方式〕

ID と証明書を日本 DS に登録し,ID と証明書を格納した IC カードを管理者経由で当該契約社員に貸与する。

〔欧米地域における ID 管理・認証の方式〕

欧米地域の情報システム部は,新しい正社員又は契約社員の ID と初期パスワードを欧米 DS1 に登録し,当該正社員又は管理者に通知する。

〔アジア地域における ID 管理・認証の方式〕

情報システム部は,依頼内容に沿ってアジア LDS に ID とパスワードを登録する。

契約社員の ID が登録されている場所を,地域ごとに本文から探す。日本は,契約社員の証明書と ID を日本 DS に登録する。欧米は,契約社員の ID と初期パスワードを欧米 DS1 に登録する。アジアは,アジア社内システムを使う者の ID とパスワードをアジア LDS に登録する。解答例は“日本DS”“欧米DS1”“アジアLDS”である。

欧米 DS2 には各サーバのコンピュータ名が登録されているだけで,利用者の ID は入っていない。アジア DS には入社時に全員の ID が登録されるが,GIAM システムで必要なのは社内システムを使う者であり,その ID を持つのはアジア LDS である(解答例がアジア LDS であることからの読み取りで,アジア DS が誤りかどうかは本文だけでは断定できない)。

図4から選ぶ設問なので,図4にある名称(日本DS,欧米DS1,アジアLDS)をそのまま書く。地域ごとに1つずつ選ぶ。

採点講評(IPA)

設問3は,ID管理システムの設計に関する問題である。正答率は期待どおりだった。

設問4 解答欄2つ

本文中の下線⑤について,地域のポータルサーバへのアクセスが失敗する地域を,本文中の用語を用いて答えよ。また,ポータル画面に載せるリンクはどのサーバの URI にすべきか。サーバ名を 10 字以内で答えよ。

〔地域〕解答例

  • 日本

〔サーバ名〕解答例

  • 日本認証サーバ
解説

本文の根拠

G ポータル

G システム及び当該利用者が所属する地域のポータルサーバへのリンクを表示する。

〔日本における ID 管理・認証の方式〕

利用者がそのリンクをクリックすると,日本ポータルは,認証 Cookie の検証を行う。

図1

日本PCから日本認証サーバへ「HTTP要求(日本認証サーバのURI)」

図2

欧米PCから欧米認証サーバへ「HTTP要求(欧米ポータルのURI)」

地域のポータルへのアクセスが失敗するのは日本である。欧米とアジアでは,PC がポータルの URI を認証サーバ(リバースプロキシ)に要求し,認証サーバが中継するので,G ポータルに“欧米ポータル”“アジアポータル”の URI を載せればよい。日本では,日本ポータルが日本認証サーバの発行した認証 Cookie を検証する。G ポータルから直接日本ポータルの URI にアクセスすると,その Cookie が無いために認証に失敗する。

そこで,日本のリンクは,まず日本認証サーバの URI にアクセスさせ,SPNEGO で認証して認証 Cookie を発行させてから日本ポータルへ進ませる形にする。解答例はサーバ名が“日本認証サーバ”,地域が“日本”である。

サーバ名は10字以内の指定で,“日本認証サーバ”は7字。“日本ポータル”と答えると,失敗する側に戻ってしまう。地域は“本文中の用語”なので“日本”と書く。

採点講評(IPA)

設問4は,認証システムとポータルシステムの連携に関する問題である。地域は正答率が期待どおりだったが,サーバ名の正答率が低かった。通信シーケンスを理解した上で解答してほしかった。

設問5(1) 解答欄2つ

拡張 GIAM システムの二要素認証において使われる認証要素を二つ挙げ,それぞれ 8 字以内で答えよ。

〔①〕解答例

  • パスワード

〔②〕解答例

  • OTPトークン
解説

本文の根拠

〔欧米地域からの要望への対応〕

VPN 接続用の ID(以下,VPNID という)とパスワード(以下,VPN パスワードという)が割り当てられ,ハードウェア型のワンタイムパスワード(以下,OTP という)トークンが貸与される。

図7

個人所有機器からシンクライアントサーバへ「ログオン要求(ID,パスワード,OTP)」

認証の3要素は,記憶(知っていること),所持(持っているもの),バイオメトリクス情報(本人の身体的特徴)である。拡張 GIAM システムでは,ID とパスワードが記憶の要素で,貸与されるハードウェア型 OTP トークンが表示するワンタイムパスワードが所持の要素である。解答例は“パスワード”と“OTPトークン”である。

図7のログオン要求は ID,パスワード,OTP の3つを送り,シンクライアントサーバが OTP を OTP 認証サーバで確認している。VPN 接続時の VPNID・VPN パスワードも記憶の要素だが,それだけでは要素が増えない。

字数は“パスワード”が5字,“OTPトークン”が7字で,8字以内に収まる。“OTP”だけでも通じるが,要素は“持っているもの”なので,トークンまで書くと伝わりやすい。同じ要素(ID とパスワード)を2つに数えてはいけない。

採点講評(IPA)

設問5は,2要素認証及びシンクライアントに関する問題である。正答率は低かった。一般的知識である,認証の3要素(記憶,所持,バイオメトリクス情報),読取り装置を利用した2要素認証における考慮点,シンクライアントにおける考慮点について,理解してほしい。

設問5(2) 25字以内

本文中の下線⑥について,Y さんがテスト工程の期間と工数が大きくなると説明したのは,テスト工程でどのような機能検証を行う必要があると考えたからか。25 字以内で述べよ。

解答例

  • 多種の個人所有機器での利用者認証の動作検証
解説

本文の根拠

要望2

利用者が自宅から,個人所有の PC やタブレット端末(以下,個人所有機器という)を使って欧米社内システムを利用する方法を検討中である。

〔日本における ID 管理・認証の方式〕

日本 PC は N 社が一括調達したものであり,IC カードリーダは,日本 PC 専用に開発されたものである。

下線⑥

採用した場合,IC カードリーダの追加導入や持ち運びが必要になる上,テスト工程の期間と工数が大きくなると説明した。

IC カードリーダは日本 PC 専用に開発されたものである。一方,個人所有機器は利用者が自分で選んだ PC やタブレット端末で,機種も OS も一様ではない。IC カードによる認証を採用すると,そうした多様な機器のそれぞれで IC カードリーダが動作し,認証が成功することを確かめる必要があり,テスト工程の期間と工数が大きくなる。解答例は“多種の個人所有機器での利用者認証の動作検証”である。

日本 PC では,PC を一括調達し,リーダも専用に作っているので,この検証の手間が小さい。下線⑥の前半(リーダの追加導入や持ち運び)はコスト面の理由で,テスト工程の理由は後半である。

解答例は21字で,25字の制限に収まる。“動作検証”だけでなく,何についてか(多種の個人所有機器と利用者認証)を入れる。

採点講評(IPA)

設問5は,2要素認証及びシンクライアントに関する問題である。正答率は低かった。一般的知識である,認証の3要素(記憶,所持,バイオメトリクス情報),読取り装置を利用した2要素認証における考慮点,シンクライアントにおける考慮点について,理解してほしい。

設問5(3) 50字以内

本文中の下線⑦について,利用者が他の地域のシンクライアントサーバにアクセスした場合に発生するおそれがある問題を,ネットワークに関連する要因とともに 50 字以内で述べよ。

解答例

  • ネットワーク遅延が大きいことから,仮想デスクトップの操作に対するレスポンスが悪化する。
解説

本文の根拠

要望2

インターネット経由で社内のシンクライアントサーバにアクセスし,仮想デスクトップから欧米社内システム及び G システムにアクセスする際においても SSO を実現してほしい。

拡張 GIAM システム

自宅又は出張先にいる利用者は,個人所有機器から自分が所属する地域の VPN サーバ経由で自分が所属する地域のシンクライアントサーバにアクセスし

シンクライアントでは,利用者の操作(画面の更新やキー入力)が,ネットワークを通じて仮想デスクトップとやり取りされる。自分が所属する地域のシンクライアントサーバなら距離が近いが,他の地域のサーバにアクセスすると,地域をまたぐ長い経路となり,ネットワーク遅延が大きくなる。その結果,仮想デスクトップの操作に対するレスポンスが悪化する。これが解答例である。

図6のとおり,各地域の DC に VPN サーバとシンクライアントサーバを置いて,利用者を所属する地域のものに接続させるのは,この遅延を避けるためと読める。講評が挙げる“シンクライアントにおける考慮点”も,この点である。

解答例は43字で,50字の制限に収まる。“ネットワーク遅延が大きい”という要因と,“レスポンスが悪化する”という問題の2つを入れる。

採点講評(IPA)

設問5は,2要素認証及びシンクライアントに関する問題である。正答率は低かった。一般的知識である,認証の3要素(記憶,所持,バイオメトリクス情報),読取り装置を利用した2要素認証における考慮点,シンクライアントにおける考慮点について,理解してほしい。

設問6(1)

ID とパスワードの再入力が必要である地域を,本文中の用語を用いて答えよ。

解答例

  • アジア地域
解説

本文の根拠

〔アジア地域における ID 管理・認証の方式〕

ただし,アジア認証サーバは,SPNEGO ではなくフォーム認証を利用しており,アジア地域の PC(以下,アジア PC という)に SPNEGO の設定はされていない。

表1

PC と社内システムにおけるシングルサインオン:日本と欧米地域は SPNEGO プロトコル(注1)によって実現(二つの欄が一つにまとまっている),アジア地域は実現されていない。

G 認証サーバは,PC から SPNEGO で認証する方式をとる。SPNEGO が使えない PC では,PC における利用者認証の後,G ポータルにアクセスするときに ID(GID)とパスワードをもう一度入力することになる。本文の表1と地域の説明を見ると,SPNEGO による SSO が実現されていないのはアジア地域だけなので,解答例は“アジア地域”である。

日本と欧米地域は,PC のブラウザと認証サーバが SPNEGO を使うように設定されている。アジア地域は,認証サーバがフォーム認証で,アジア PC にも SPNEGO の設定が無い。

設問は“本文中の用語を用いて”とあるので,“アジア地域”と書く。単に“アジア”でも通じるが,用語は表1の列見出しにそろえておく。

設問6(2) 解答欄4つ

SSO を実現するためには,どの構成要素に対して,どのような設定が必要か。設定が必要な構成要素を二つ選び,答えよ。また,それらの設定内容を,それぞれ 15 字以内で述べよ。

〔構成要素①〕解答例

  • アジア認証サーバ
  • アジアPC

〔設定内容①〕解答例

  • SPNEGOの設定をする。

〔構成要素②〕解答例

  • アジアPC
  • アジア認証サーバ

〔設定内容②〕解答例

  • SPNEGOの設定をする。

〔備考〕①と②は順不同(構成要素とその設定内容の組で答える)

解説

本文の根拠

〔アジア地域における ID 管理・認証の方式〕

アジア認証サーバは,SPNEGO ではなくフォーム認証を利用しており,アジア地域の PC(以下,アジア PC という)に SPNEGO の設定はされていない。

図8

G認証サーバから仮想デスクトップへ「HTTP応答(401,WWW-Authenticate:Negotiate,IDとパスワードの入力画面)」

SSO を実現するためには,設定が必要なのは,SPNEGO を使うように設定されていない構成要素である。本文は“アジア認証サーバは SPNEGO ではなくフォーム認証を利用”し,“アジア PC に SPNEGO の設定はされていない”と述べているので,アジア認証サーバとアジア PC の2つである。設定内容は,どちらも“SPNEGOの設定をする。”で,解答例も同じ(①と②は順不同)。

日本認証サーバと欧米認証サーバは,認証されていないブラウザの HTTP 要求に,401 と Negotiate の値をもつ WWW-Authenticate ヘッダを返す。ブラウザはこれを受けて,TGT から ST を取って提示する。そのため,PC 側のブラウザの設定と認証サーバ側の設定の両方が要る。

設定内容の字数は“SPNEGOの設定をする。”が13字で,15字以内に収まる。構成要素は,アジア DS やアジア LDS などと間違えないこと。

採点講評(IPA)

設問6は,認証システムの統合に関する問題である。(2)は正答率が低かった。SPNEGOプロトコルを利用した統合認証について,本文中の通信シーケンス並びにPC及び認証サーバに必要な設定内容を理解して解答してほしかった。複雑なシステムの設計においては,システムの動的な側面を通信シーケンスとして図示することによって,設計を検証することがしばしば行われる。セキュリティ技術者もこのような設計技法を身に付け,セキュリティシステムの設計で実践し,役立ててほしい。

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

問2 Web サイトのセキュリティ

Web サイトのセキュリティに関する次の記述を読んで,設問1〜3に答えよ。

A 社グループは,サービス業,小売業,ネットビジネス業及び情報サービス業の A 社〜G 社の 7 社から成る企業グループである。A 社を含むグループ各社が運営している Web サイトは,企業情報サイト,BtoC サービスサイト,BtoB サービスサイト,一時的なキャンペーンサイトなど,様々である。グループ各社及びその情報システム関連部門の概要を,表1に示す。

グループ各社及びその情報システム関連部門の概要の表(社名,概要,情報システム関連部門の概要)。A 社:概要は,A 社グループの持株会社,従業員数は 100 名。情報システム部は部員数が 20 名で,A 社グループ共通の情報システムの企画とグループ各社情報システム部の統括を行う。サーバ構築,アプリケーションソフトウェア開発(以下,アプリ開発という)及び情報システムの運用は D 社に委託する。B 社:概要は,ホテル,ゴルフ場などの施設を運営するサービス業,A 社グループの中核企業,従業員数は 5,000 名。情報システム部は部員数が 20 名で,B 社の情報システムの企画を行う。サーバ構築,アプリ開発及び情報システムの運用は D 社に委託する。C 社:概要は,水族館,遊園地,大型商業施設などの施設を運営するサービス業,30 年前に,A 社グループ内に設立,従業員数は 3,000 名。情報システム部は部員数が 10 名で,C 社の情報システムの企画を行う。サーバ構築,アプリ開発及び情報システムの運用は,D 社及び A 社グループ外の情報システム会社 H 社に委託する。D 社:概要は,情報サービス業,30 年前に,B 社から独立,従業員数は 500 名。情報システム部は部員数が 10 名で,D 社の情報システムの企画を行う。開発部は,主に A 社,B 社,C 社及び自社の情報システムのサーバ構築,アプリ開発を行い,運用部はその運用を行う。E 社:概要は,スーパーマーケットなどの小売業,10 年前に,A 社グループに参加,従業員数は 10,000 名。情報システム部は部員数が 20 名で,E 社の情報システムの企画を行う。サーバ構築,アプリ開発及び情報システムの運用は G 社に委託する。F 社:概要は,ネットビジネス業,E 社が 5 年前に設立,従業員数は 300 名,ショッピングサイト α などを運営。情報システム部は部員数が 10 名で,F 社の情報システムの企画を行う。サーバ構築,アプリ開発及び情報システムの運用は,G 社及び A 社グループ外の情報システム会社 J 社に委託する。G 社:概要は,情報サービス業,15 年前に,E 社から独立,従業員数は 100 名。情報システム部は部員数が 10 名で,G 社の情報システムの企画を行う。開発部は,主に E 社,F 社及び自社の情報システムのサーバ構築,アプリ開発を行い,運用部はその運用を行う。
表1 グループ各社及びその情報システム関連部門の概要

〔4 年前までのグループ各社の状況〕

4 年前まで,グループ各社は,Web サイトのセキュリティ対策に各社それぞれの考えで取り組んでいた。

A 社は,セキュリティ対策や個人情報の保護について,B 社〜G 社に対して業界ガイドラインへの準拠をポリシとして求めていたが,具体的な指示も準拠状況の確認も行っていなかった。

〔セキュリティ対策プロジェクトの立上げ〕

その後,セキュリティに詳しい L 氏が A 社の経営陣に加わった。L 氏は,A 社グループ内でセキュリティ事故が発生すれば,A 社グループ全体の信頼を損なうおそれがあると取締役会で問題提起した。取締役会では,セキュリティ対策プロジェクト(以下,プロジェクトという)を立ち上げ,グループ全体のセキュリティ対策を推進することを決定した。

この決定を受けて,プロジェクトの責任者には A 社情報システム部長が,プロジェクトリーダには A 社情報システム部の U 課長がそれぞれ任命された。プロジェクトメンバはグループ各社から数名ずつ選出された。

U 課長は,公開しているグループ各社の Web サイトに脆弱性が潜在していたり,今後作り込まれたりするおそれがあり,次の二つが必要であると考えた。

そこで,部下の P さんとともに,セキュリティ専門家の支援を受けて,次のセキュリティ対策を推進する計画を立案した。

(1)〜(4)は,グループ各社の取締役会で承認され,3 か月後,(1) が完了し,(2)〜(4)についてもグループ各社に指示が出された。

〔F 社ショッピングサイト α への攻撃〕

F 社から G 社に運用を委託している,ショッピングサイト α(以下,サイト α という)には,PC サイト,携帯サイト及びスマートフォンサイト(以下,スマホサイトという)があり,それぞれ 30 画面で構成されている。今年になって,サイト α の携帯サイトに不審なアクセスがあった。G 社の運用担当者が週 1 回のメンテナンス中にログインのエラーログを確認したところ,利用者 ID に特殊記号を含んだものを多数発見した。通常の利用では考えられないエラーだったので,F 社のサイト α 担当者に報告した。

F 社のサイト α 担当者から連絡を受けた F 社情報システム部の N さんは,不正アクセスの可能性があると考え,セキュリティ専門業者の X 社に調査を依頼した。X 社の T 氏が調査した結果,携帯サイトの Web アプリケーションソフトウェア(以下,Web アプリケーションソフトウェアを Web アプリという)が,SQL インジェクション攻撃を受けていたことが分かった。そこで,N さんはサイト α 担当者に対し,携帯サイトのサーバをネットワークから切り離すように指示した。

次は,そのときの N さんと T 氏の会話である。

携帯サイトのアクセスログ(抜粋)の表。列は,番号,IP アドレス,メソッド,URI のパス名,クエリ文字列(注1,注2),ステータスコード,応答のサイズ(バイト)。IP アドレスは全行 ipA。1:GET,/,クエリ文字列なし,200,3,284。2:POST,/Login,なし,302,0。3:GET,/top,なし,200,3,165。4:GET,/Catalog,category=shirt,200,1,840。5:GET,/Catalog,category=shirt',200,1,840。6:GET,/Catalog,category=shirt'',200,1,840。7:GET,/Catalog,category=shirt' and '1'='1,200,1,840。8:GET,/GoodsSearch,word=new,200,3,877。9:GET,/GoodsSearch,word=new',200,3,877。10:GET,/GoodsSearch,word=new'',200,3,877。11:GET,/GoodsSearch,word=new' and '1'='1,200,3,877。12:GET,/GoodsDetail,goodsNo=10001,200,1,798。13:GET,/GoodsDetail,goodsNo=10001',500,527。14:GET,/GoodsDetail,goodsNo=10001 and 1=1,200,1,806。15:POST,/CartAdd,なし,200,1,611。16:POST,/Order,なし,200,2,239。17:POST,/OrderConfirm,なし,200,1,818。注1 クエリ文字列は,URI デコード済みである。注2 クエリ文字列中の''は,一重引用符(シングルクォーテーション)が二つ連続している。
表2 携帯サイトのアクセスログ(抜粋)

数日後,N さんは G 社から携帯サイトの対策が完了したという報告を受けた。そこで,N さんは,X 社にソースコードを提示し,脆弱性が修正されていることを確認してもらった。その後,F 社では携帯サイトを再開し,N さんは A 社情報システム部に,F 社でセキュリティ事故が発生したことを報告した。

〔グループ各社の管理強化〕

F 社から報告を受けた U 課長は,F 社のセキュリティ事故を分析し,次のような施策案を考えた。

次は,上記の施策案の具体的な進め方に関する,U 課長と部下の P さんの会話である。

〔診断ガイドラインの制定〕

U 課長は,セキュリティ専門家の協力を得て診断ガイドラインを作成するよう P さんに指示した。1 か月後,図1に示す診断ガイドライン案が作成された。

診断ガイドライン案(枠囲み)。1. 診断の種類:・診断には,プラットフォーム診断と Web アプリ診断の 2 種類がある。・プラットフォーム診断では,OS,ミドルウェア及びネットワーク機器の脆弱性を検出する。ただし,ネットワーク機器では,不要なサービスが稼働していないかを確認する。・Web アプリ診断では,Web アプリの脆弱性を検出する。2. 診断の実施時期:・対象 Web サイトの公開前に,プラットフォーム診断及び Web アプリ診断を行う。・対象 Web サイトの公開後,1 年ごとに,プラットフォーム診断及び Web アプリ診断を行う。3. 診断の実施方法:・社内ネットワークからの攻撃を想定する場合,ファイアウォールの内側から診断する。・インターネットからの攻撃を想定する場合,ファイアウォールの内側又は外側のいずれかから診断する。・IPS,WAF などによって,[ e ] からの通信が遮断されると,対象 Web サイトの脆弱性を検出できないので,[ e ] からの通信は遮断しないように設定した上で診断する。IPS,WAF などの制約によって,これができない場合は,IPS,WAF などの内側から診断する。・PC サイト,携帯サイト及びスマホサイトのそれぞれについて診断する。ただし,動的ページのプログラムが同じソースコードのプログラムであれば,いずれか一つのサイトについて診断すればよい。・ASP サービス及びパブリッククラウドサービスは,サービス提供事業者の許可を得た上で診断する。ただし,サービス提供事業者が診断を許可しない場合は,セキュリティ対策についてサービス提供事業者に説明を求め,確認する。(省略)4. Web サイトの特徴に応じた診断項目:・Web サイトが次のいずれかに該当する場合は,詳細な診断を行う。そうでない場合は簡易な診断を行う。・インターネットに公開している Web サイト,・決済機能をもつ Web サイト,・個人情報を扱う Web サイト。5. 診断項目:(省略)。6. 診断実施後の対応:・検出された脆弱性については,リスクの大きさによって修正の要否を検討し,対策を行う。・ファイアウォールの内側から行った診断で検出された脆弱性のうち [ f ] については,深刻な脆弱性であっても,対策の優先順位を下げてよい。・(下線②)脆弱性の修正完了後,公開前にプラットフォーム診断及び Web アプリ診断を再度行う。(以下,省略)
図1 診断ガイドライン案

U 課長は,診断ガイドライン案を確認するとともに,それをグループ各社へ展開することについて A 社取締役会で承認を得た。その後,グループ各社の Web サイトについて診断ガイドラインに沿って診断を進めるよう指示した。

〔新技術によって生じる脆弱性への対応〕

グループ各社のセキュアサイト構築基準について調査した結果,制定はしているが,見直しをしていないことが分かった。

U 課長は,最近の脆弱性への対応に加え,今後 Web サイトに新技術を採用した場合の対応も必要になると考えた。そこで,グループ各社の情報システムで今後採用する可能性がある技術を調査した上で,その技術を使った場合に考えられる脆弱性について,セキュリティ専門家に調査を依頼した。

セキュリティ専門家の調査結果によると,セキュアサイト構築ガイドラインに追加が必要な項目は次の三つであった。

(Ⅰ) DOM ベースの XSS の対策

JavaScript による Web ページ操作に問題がある場合に起きる XSS は,DOM ベースの XSS と呼ばれている。JavaScript を利用する場合は,注意が必要である。

例えば,図2に示す HTML(http://www.example.jp/domxss.html)があった場合に,図3に示す URI にブラウザからアクセスすると,“1”という警告ダイアログが表示される。

HTML のコード(枠囲み)。1行目 <html>。2行目 <body>。3行目 <script>。4行目 document.write(decodeURIComponent(location.hash));(行頭に空白一つ)。5行目 </script>。6行目 </body>。7行目 </html>。
図2 HTML(http://www.example.jp/domxss.html)
警告ダイアログが表示される URI(枠囲み)。http://www.example.jp/domxss.html [ g ] <script>alert(1) [ h ] の1行。
図3 警告ダイアログが表示される URI

反射型(reflected 型,non-persistent 型)の XSS と違って,DOM ベースの XSS では攻撃者が注入するデータが Web サイトからの応答中に出力されない。ブラウザ上の HTML データに入力データを動的に挿入するような JavaScript が応答中に含まれていると,入力データにスクリプトが含まれていたときに,そのスクリプトがブラウザ上で実行されてしまう。そのため,DOM ベースの XSS は,③反射型の XSS とは診断方法が異なる。

DOM ベースの XSS の対策のためには,“document.write”,“innerHTML”などの,動的にブラウザ上の HTML データを操作するメソッドやプロパティを使用するのではなく,“createElement”などの DOM 操作用のメソッドやプロパティを使用して,ブラウザ上の HTML データを構築することが必要である。

(Ⅱ) クリックジャッキングの対策

クリックジャッキングの対策には,④HTTP 応答ヘッダで“X-FRAME-OPTIONS”に DENY を指定することによって,自サイトをフレーム内で表示させないようにする方法がある。近年,クリックジャッキングによると思われる事件が発生しており,この応答ヘッダに対応したブラウザが増えている。

(Ⅲ) HSTS の使用

HSTS とは,Web サイトが HTTPS の使用をブラウザに強制させる機能である。HSTS がブラウザで有効となるまでの通信の流れを,図4に示す。また,HSTS が有効になったブラウザのアドレスバーに“http://www.example.jp/”を入力した場合のブラウザの挙動を,図5に示す。HSTS は,HTTPS 応答のヘッダに i を指定することによって有効となる。

HSTS がブラウザで有効となるまでの通信の流れのシーケンス図。登場するのは,利用者,ブラウザ,Web サイト(https://www.example.jp/)。利用者からブラウザへ(ラベルなしの矢印)。ブラウザから Web サイトへ「HTTPS要求(https://www.example.jp/)」。Web サイトからブラウザへ「HTTPS応答([ i ]:max-age=31536000)」。ブラウザの処理「コンテンツの表示」。注記 括弧内は送信されるデータを示す。
図4 HSTS がブラウザで有効となるまでの通信の流れ
HSTS が有効になったブラウザの挙動のシーケンス図。登場するのは,利用者,ブラウザ,Web サイト(https://www.example.jp/)。利用者からブラウザへ「ブラウザのアドレスバーに“http://www.example.jp/”を入力」。ブラウザから Web サイトへ「HTTPS要求(https://www.example.jp/)」。Web サイトからブラウザへ「HTTPS応答([ i ]:max-age=31536000)」。ブラウザの処理「コンテンツの表示」。注記 括弧内は送信されるデータを示す。
図5 HSTS が有効になったブラウザの挙動

正規の Web サイトで HSTS が有効になるように設定していない場合,正規の Web サイトが HTTPS 通信だけを受け付けるように構成していても,中間者攻撃が行われると,⑤ブラウザが HTTP 通信で接続してしまい,中間者によって通信を盗聴されてしまう。

利用者は毎回 j ことでこの攻撃を受けても気付くことができる。しかし,j ことを利用者に徹底させるのは難しいので,HSTS のプロトコルが開発され,2012 年に RFC 6797 として公開された。その後,この機能に対応するブラウザが増えている。

P さんは,グループ各社の Web サイトにおける(Ⅰ)〜(Ⅲ)の取組状況を Web サイトの概要と併せて調査した。調査結果を表3に示す。

なお,クリックジャッキングについては,フレーム内での表示有無だけでなく,クリックジャッキングによって被害を受けるおそれについても整理している。

グループ各社の Web サイトの調査結果(抜粋)の表。列はサイト1〜サイト6,行は調査項目。運営会社:サイト1 A 社,サイト2 A 社,サイト3 B 社,サイト4 C 社,サイト5 E 社,サイト6 F 社。サイトの種類:サイト1 企業紹介,サイト2 ポータル,サイト3 ホテル予約,サイト4 レジャー施設入場券販売,サイト5 ショッピング,サイト6 ショッピング。機能の概要:サイト1 検索。サイト2 ログイン,予定表,資料集,掲示板。サイト3 会員登録,ログイン,会員ページ,空室検索,宿泊予約,問合せ。サイト4 会員登録,ログイン,会員ページ,入場券購入,メールマガジン,問合せ。サイト5 会員登録,ログイン,会員ページ,商品検索,商品購入,問合せ。サイト6 は サイト5 と同じ。JavaScript の利用:サイト1 なし,サイト2 なし,サイト3 あり,サイト4 あり,サイト5 あり,サイト6 あり。DOM ベースの XSS 脆弱性:サイト1〜4 なし,サイト5 あり,サイト6 あり。フレーム内での表示の有無:サイト1〜4 なし,サイト5 あり(同じドメインページ内で表示),サイト6 あり(同じドメインページ内で表示)。対策なしの場合にクリックジャッキングによって被害を受けるおそれ:サイト1 なし,サイト2〜6 あり。クリックジャッキング対策の有無:サイト1 対象外,サイト2 なし,サイト3 なし,サイト4 あり,サイト5 なし,サイト6 なし。HTTPS の利用:サイト1 なし,サイト2 なし,サイト3〜6 あり。HSTS 対応の有無:サイト1 対象外,サイト2 対象外,サイト3 なし,サイト4 あり,サイト5 なし,サイト6 なし。
表3 グループ各社の Web サイトの調査結果(抜粋)

表3の調査結果から,対応の必要な Web サイトがあることが分かったので,U 課長は,セキュアサイト構築ガイドラインに項目(Ⅰ)〜(Ⅲ)を追加した上でグループ各社に伝え,さらに,各 Web サイトでの対策を検討するよう指示した。

以上の対策によって,グループ各社の Web サイトのセキュリティが強化された。

出題趣旨(IPA)

Webサイトに対するセキュリティ対策が各企業で行われているが,企業によって対策の推進状況に差がある。Webサイトの基本的な脆弱性対策に抜けや漏れがあるケースや,最新の脆弱性への対応に追い付いていないケースも見受けられる。本問では,グループ企業のセキュリティインシデントとWebサイトのセキュリティ対策を題材として,SQLインジェクション,セキュリティ診断及びWebサイトの新しいセキュリティ対策に関する知識を問う。

採点講評(問全体・IPA)

問2では,SQLインジェクション,セキュリティ診断及びWebサイトの新しいセキュリティ対策について出題した。全体として正答率は高かったが,一部,正答率が非常に低い問題が見受けられた。

設問と解答例

設問1(1) 解答欄2つ

本文中の a,b に入れる適切な字句を解答群の中から選び,記号で答えよ。解答群 ア 6%未満 イ 45〜55% ウ 95〜105% エ 200%以上 オ 2 カ 7 キ 11 ク 14

〔a〕解答例

  • ウ

〔b〕解答例

  • ク
解説

本文の根拠

会話(T 氏)

特定の IP アドレスから 27 画面に対して,SQL インジェクションの代表的なパターンが試行されていました。

表2 番号12〜14

12:GET,/GoodsDetail,goodsNo=10001,200,1,798。13:GET,/GoodsDetail,goodsNo=10001',500,527。14:GET,/GoodsDetail,goodsNo=10001 and 1=1,200,1,806。

SQL インジェクションの有無は,一重引用符(')を送ってエラーを起こさせ,恒真条件(and 1=1 など)を付けると正常に戻るかどうかで判断する。表2の /GoodsDetail では,番号12(正常な値)が 200・1,798 バイト,番号13('を付加)が 500・527 バイトと大きく変わっており,SQL の構文エラーが起きたと読める。番号14(and 1=1 を付加)は 200・1,806 バイトで,正常時の 1,798 バイトの約100.4%,つまり 95〜105%であり,注入した条件が SQL として解釈されて元の結果と同じ応答が返っている。a は“ウ(95〜105%)”,b は“ク(14)”である。

番号5〜7や9〜11の /Catalog と /GoodsSearch は,'を付けても 200 のまま同じサイズ(1,840 バイト,3,877 バイト)で,エラーが起きていない。そのため,こちらは引用符が無害化されていて注入できないと読める(番号7と11も 200 で同サイズだが,'でエラーが出ないので脆弱性の根拠にならない,というのが筋道である)。

解答群は記号で答える。b は選択肢のク(14)で,番号13と取り違えないこと。13 は 500 でステータスが条件(200)に合わない。

採点講評(IPA)

設問1は,SQLインジェクションに関する問題である。(1)と(2)は,正答率が期待よりも低かった。攻撃を受けた場合に,Webサーバのアクセスログがどのように残るかを理解しておいてほしい。

設問1(2) 解答欄2つ

本文中の c に入れる URI のパス名と,本文中の d に入れるパラメタ名を,それぞれ 15 字以内で答えよ。

〔c〕解答例

  • /GoodsDetail

〔d〕解答例

  • goodsNo
解説

本文の根拠

表2 番号13

13:GET,/GoodsDetail,goodsNo=10001',500,527。

表2 番号14

14:GET,/GoodsDetail,goodsNo=10001 and 1=1,200,1,806。

脆弱性があると考えられるログは番号13と14で,その URI のパス名は“/GoodsDetail”,クエリ文字列のパラメタ名は“goodsNo”である。解答例も同じである。

クエリ文字列は“goodsNo=10001'”のように“パラメタ名=値”の形なので,パラメタ名は等号の左側の“goodsNo”である。パス名は,URI のうちクエリ文字列より前の“/GoodsDetail”で,先頭のスラッシュまで含めて書く(表2の表記どおり)。

字数は“/GoodsDetail”が12字,“goodsNo”が7字で,どちらも15字以内に収まる。大文字小文字は表2のとおりに書く(GoodsDetail の G と D,goodsNo の N が大文字)。

採点講評(IPA)

設問1は,SQLインジェクションに関する問題である。(1)と(2)は,正答率が期待よりも低かった。攻撃を受けた場合に,Webサーバのアクセスログがどのように残るかを理解しておいてほしい。

設問1(3) 40字以内

本文中の下線①について,T 氏が携帯サイト全体に対して対策を行うべきであると考えた理由を,40 字以内で述べよ。

解答例

  • 残り3画面にSQLインジェクションの脆弱性があるかもしれないから
解説

本文の根拠

〔F 社ショッピングサイト α への攻撃〕

それぞれ 30 画面で構成されている。

会話(T 氏)

特定の IP アドレスから 27 画面に対して,SQL インジェクションの代表的なパターンが試行されていました。

携帯サイトは30画面で構成され,攻撃者が試行したのは27画面である。残り3画面には攻撃が行われていないので,ログから脆弱性の有無は分からない。同じ作りの画面には,同様に SQL インジェクションの脆弱性があるかもしれないので,攻撃を受けた画面だけでなく,サイト全体に対策を行うべきである。

携帯サイトは5年前の公開以来,一度も診断をしていない。そのため,攻撃されていない画面が安全であるという根拠も無い。

解答例は32字で,40字の制限に収まる。“残り3画面”と“脆弱性があるかもしれない”の2点を入れる。“念のため”だけでは理由にならない。

設問1(4) 30字以内

事故発生後の N さんの対応について,改善すべき点を 30 字以内で述べよ。

解答例

  • A社情報システム部に事故発生後にすぐ報告していない点
解説

本文の根拠

〔セキュリティ対策プロジェクトの立上げ〕

(4) セキュリティ事故が発生した直後の A 社情報システム部への報告

〔F 社ショッピングサイト α への攻撃〕

その後,F 社では携帯サイトを再開し,N さんは A 社情報システム部に,F 社でセキュリティ事故が発生したことを報告した。

計画の(4)は,セキュリティ事故が発生した直後に A 社情報システム部へ報告することである。しかし N さんは,携帯サイトの対策が完了し,サイトを再開した後になってから報告している。事故の情報を緊急にグループ各社へ展開するという目的(U 課長の考え)に合わないので,事故の発生後にすぐ報告すべきだった。解答例は“A社情報システム部に事故発生後にすぐ報告していない点”である。

それ以外の対応(サーバのネットワークからの切離し,専門業者への調査依頼,修正後のソースコードの確認)は,本文の流れに沿った妥当な対応である。

解答例は26字で,30字の制限に収まる。“報告が遅い”だけではなく,誰に,いつまでに報告するのかを入れる。

設問2(1) 解答欄1つ

図1中の e に入れる適切な字句を 15 字以内で答えよ。

〔e〕解答例

  • 診断ツールのIPアドレス
解説

本文の根拠

図1

IPS,WAF などによって,e からの通信が遮断されると,対象 Web サイトの脆弱性を検出できないので,e からの通信は遮断しないように設定した上で診断する。

IPS や WAF は,攻撃文字列を含む通信を遮断する。診断では,診断ツールが攻撃と同じ文字列を送るので,そのまま遮断されてしまい,対象 Web サイトの脆弱性を検出できなくなる。そこで,診断ツールからの通信を遮断しないように設定する。診断ツールを特定できるのは送信元 IP アドレスなので,解答例は“診断ツールのIPアドレス”である。

講評も,IPS や WAF が遮断するのは攻撃文字列を含む通信であり,診断時には攻撃文字列と同じ文字列が送られることを理解して解答してほしかった,と述べている。

解答例は12字で,15字の制限に収まる。“診断ツール”だけでなく,何で遮断対象から外すか(IP アドレス)まで書く。

採点講評(IPA)

設問2は,Webサイトの脆弱性診断に関する問題である。(1)は,正答率が低かった。IPSやWAFが遮断するのは攻撃文字列を含む通信である。診断時には攻撃文字列と同じ文字列が送られることを理解して,解答してほしかった。(2)と(3)については,正答率は高かった。

設問2(2) 解答欄1つ

図1中の f に入れる適切な内容を,“ファイアウォール”と“ポート”の二つの用語を用いて 40 字以内で述べよ。

〔f〕解答例

  • ファイアウォールで遮断されているポート番号の通信に関わる脆弱性
解説

本文の根拠

図1 3. 診断の実施方法

社内ネットワークからの攻撃を想定する場合,ファイアウォールの内側から診断する。

図1 6. 診断実施後の対応

ファイアウォールの内側から行った診断で検出された脆弱性のうち f については,深刻な脆弱性であっても,対策の優先順位を下げてよい。

ファイアウォールの内側から診断すると,外側からはファイアウォールに遮断されて届かない通信に関わる脆弱性も検出される。インターネットからの攻撃者は,遮断されているポートには到達できないので,その脆弱性を悪用できない。したがって,深刻であっても対策の優先順位を下げてよいのは,“ファイアウォールで遮断されているポート番号の通信に関わる脆弱性”である(解答例)。

優先順位を下げてよいのであって,対策が不要というわけではない。内部の利用者や,ファイアウォール設定の誤りなどを想定すると,リスクは残る。

解答例は31字で,40字の制限に収まる。“ファイアウォール”と“ポート”の二つの用語を使う指定があるので,両方を入れる。

採点講評(IPA)

設問2は,Webサイトの脆弱性診断に関する問題である。(1)は,正答率が低かった。IPSやWAFが遮断するのは攻撃文字列を含む通信である。診断時には攻撃文字列と同じ文字列が送られることを理解して,解答してほしかった。(2)と(3)については,正答率は高かった。

設問2(3) 30字以内

図1中の下線②の診断は,検出された脆弱性が適切に修正されたこと以外に何を確認することを目的としているか。30 字以内で述べよ。

解答例

  • 修正によって新たな脆弱性が発生していないこと
解説

本文の根拠

図1 6. 診断実施後の対応

脆弱性の修正完了後,公開前にプラットフォーム診断及び Web アプリ診断を再度行う。

脆弱性の修正は,プログラムや設定を変更するので,その変更が新たな脆弱性を作り込むおそれがある。そこで,修正後に公開前の診断を再度行い,検出された脆弱性が適切に修正されたことに加えて,修正によって新たな脆弱性が発生していないことを確認する。解答例は“修正によって新たな脆弱性が発生していないこと”である。

講評では(2)と(3)の正答率は高かったとされている。ガイドライン案が“修正完了後,公開前に”の“プラットフォーム診断及び Web アプリ診断”の両方を再度行うとしていることから,一部の診断で済ませない意図が読める。

解答例は22字で,30字の制限に収まる。“再発防止”などの一般論ではなく,“修正による新たな脆弱性”という点を書く。

採点講評(IPA)

設問2は,Webサイトの脆弱性診断に関する問題である。(1)は,正答率が低かった。IPSやWAFが遮断するのは攻撃文字列を含む通信である。診断時には攻撃文字列と同じ文字列が送られることを理解して,解答してほしかった。(2)と(3)については,正答率は高かった。

設問3(1) 解答欄2つ

図3中の g,h に入れる適切な文字列を答えよ。

〔g〕解答例

  • #

〔h〕解答例

  • </script>
解説

本文の根拠

図2

document.write(decodeURIComponent(location.hash));

図3

http://www.example.jp/domxss.html g <script>alert(1) h

図2の HTML は,location.hash(URI のフラグメント部分)を document.write でそのまま書き出す。location.hash は,先頭の“#”を含む文字列である。したがって,URI は“http://www.example.jp/domxss.html#<script>alert(1)</script>”で,g は“#”,h は“</script>”である。<script> と </script> で挟むと,書き出された部分がスクリプトとしてブラウザ上で実行され,“1”の警告ダイアログが出る(フラグメントはブラウザがサーバに送らないので,攻撃者の入力は Web サイトの応答には現れない)。

この構造が,本文の言う“攻撃者が注入するデータが Web サイトからの応答中に出力されない”DOM ベースの XSS の特徴である。

g は“#”の1字,h は“</script>”の9字。h は,図3の <script> に対応する閉じタグなので,スラッシュを忘れないこと。

採点講評(IPA)

設問3は,Webサイトの新しいセキュリティ対策に関する知識についての問題である。全体として正答率は低かった。(1)と(2)は,反射型のXSSとDOMベースのXSSについての問題であったが,仕組みを正しく理解していない解答が目立った。クリックジャッキングは,数年前から問題視されてきた脆弱性であるが,対策を行っているWebサイトはまだ少ない状況である。これらの脆弱性や攻撃に関する知識を確認してほしい。

設問3(2) 解答欄2つ

本文中の下線③について,反射型の XSS の診断方法を 65 字以内で述べよ。また,その診断方法では DOM ベースの XSS を発見できない理由を 35 字以内で述べよ。

〔診断方法〕解答例

  • スクリプトを含むデータをWebアプリに入力し,それがWebサイトからの応答中に出力されているかを確認する。

〔理由〕解答例

  • Webサイトからの応答中に不正なスクリプトが含まれていないから
解説

本文の根拠

(Ⅰ)

反射型(reflected 型,non-persistent 型)の XSS と違って,DOM ベースの XSS では攻撃者が注入するデータが Web サイトからの応答中に出力されない。

反射型の XSS は,入力したデータが Web サイトの応答に出力されるので,スクリプトを含むデータを Web アプリに入力し,応答の中にそのスクリプトが出力されているかを確認すれば診断できる。解答例は“スクリプトを含むデータをWebアプリに入力し,それがWebサイトからの応答中に出力されているかを確認する。”である。

DOM ベースの XSS では,入力データはブラウザ上の JavaScript が処理するだけで,Web サイトからの応答に含まれない。応答の中を調べても不正なスクリプトは見つからないので,この診断方法では発見できない。解答例の理由は“Webサイトからの応答中に不正なスクリプトが含まれていないから”である。

講評は,仕組みを正しく理解していない解答が目立ったとしている。字数は,診断方法が53字(65字以内),理由が31字(35字以内)である。

採点講評(IPA)

設問3は,Webサイトの新しいセキュリティ対策に関する知識についての問題である。全体として正答率は低かった。(1)と(2)は,反射型のXSSとDOMベースのXSSについての問題であったが,仕組みを正しく理解していない解答が目立った。クリックジャッキングは,数年前から問題視されてきた脆弱性であるが,対策を行っているWebサイトはまだ少ない状況である。これらの脆弱性や攻撃に関する知識を確認してほしい。

設問3(3) 解答欄2つ

本文中の下線④の対策を行うと,正規の利用において不具合が発生するサイトを,表3の中から選び,全て答えよ。また,不具合が起こらないようにするためには,下線④の対策をどのように変更すればよいか。45 字以内で述べよ。

〔サイト〕解答例

  • サイト5,サイト6

〔変更内容〕解答例

  • X-FRAME-OPTIONSヘッダのDENYをSAMEORIGINにする。
解説

本文の根拠

(Ⅱ)

クリックジャッキングの対策には,④HTTP 応答ヘッダで“X-FRAME-OPTIONS”に DENY を指定することによって,自サイトをフレーム内で表示させないようにする方法がある。

表3

フレーム内での表示の有無:サイト1〜4 なし,サイト5 あり(同じドメインページ内で表示),サイト6 あり(同じドメインページ内で表示)。

X-Frame-Options に DENY を指定すると,ブラウザはそのコンテンツをどのフレームの中にも表示しない(RFC 7034)。表3の“フレーム内での表示の有無”が“あり(同じドメインページ内で表示)”なのはサイト5とサイト6なので,この2つは自サイトの画面をフレームで表示しており,DENY にすると正規の利用で不具合が出る。

同じドメインのページからのフレーム表示だけを許せばよいので,DENY を SAMEORIGIN に変更する(RFC 7034 では,SAMEORIGIN は,コンテンツと異なるオリジンのページのフレーム内には表示しない)。解答例は“X-FRAME-OPTIONSヘッダのDENYをSAMEORIGINにする。”である。

変更内容は38字で,45字以内に収まる。サイトは“サイト5,サイト6”の2つを両方挙げる(設問は“全て答えよ”)。

採点講評(IPA)

設問3は,Webサイトの新しいセキュリティ対策に関する知識についての問題である。全体として正答率は低かった。(1)と(2)は,反射型のXSSとDOMベースのXSSについての問題であったが,仕組みを正しく理解していない解答が目立った。クリックジャッキングは,数年前から問題視されてきた脆弱性であるが,対策を行っているWebサイトはまだ少ない状況である。これらの脆弱性や攻撃に関する知識を確認してほしい。

設問3(4) 解答欄1つ

本文中,図4中及び図5中の i に入れる適切な応答ヘッダフィールド名を解答群の中から選び,記号で答えよ。解答群 ア Content-Disposition イ Content-Security-Policy ウ Strict-Transport-Security エ X-Content-Type-Options オ X-XSS-Protection

〔i〕解答例

  • ウ
解説

本文の根拠

(Ⅲ)

HSTS とは,Web サイトが HTTPS の使用をブラウザに強制させる機能である。

図4

HTTPS応答(i:max-age=31536000)

HSTS(HTTP Strict Transport Security)は,Web サイトが HTTPS 応答のヘッダに Strict-Transport-Security を指定することで有効になる。値の max-age は,ブラウザがその設定を保持する秒数である(RFC 6797。31536000 秒は365日)。解答例は“ウ”である。

他の選択肢は,Content-Disposition(応答の扱い方,ダウンロードなどの指定),Content-Security-Policy(読み込めるリソースの制限),X-Content-Type-Options(MIME タイプの推測の抑止),X-XSS-Protection(ブラウザの XSS フィルタの制御)で,HTTPS の強制とは関係がない。

記号で答える設問で,“Strict-Transport-Security”の名前を覚えていないと答えられない。HSTS のスペルの中の“Transport Security”と対応させて覚える。

設問3(5) 解答欄1つ

本文中の j に入れる,利用者のすべきことを,40 字以内で具体的に述べよ。

〔j〕解答例

  • ブラウザのアドレスバーの情報で,httpsで通信していることを確認する
解説

本文の根拠

(Ⅲ)

正規の Web サイトで HSTS が有効になるように設定していない場合,正規の Web サイトが HTTPS 通信だけを受け付けるように構成していても,中間者攻撃が行われると,⑤ブラウザが HTTP 通信で接続してしまい,中間者によって通信を盗聴されてしまう。

(Ⅲ)

利用者は毎回 j ことでこの攻撃を受けても気付くことができる。

中間者攻撃で HTTP 通信にされても,利用者がブラウザのアドレスバーを見れば,接続が https で始まっているかで気付ける。したがって,利用者が毎回すべきことは,ブラウザのアドレスバーの情報で,https で通信していることを確認することである。解答例は“ブラウザのアドレスバーの情報で,httpsで通信していることを確認する”である。

続く文が“j ことを利用者に徹底させるのは難しいので,HSTS のプロトコルが開発された”と述べている。HSTS を使えば,ブラウザが自動で https に切り替え,利用者の確認に頼らずに済む。

解答例は35字で,40字の制限に収まる。“具体的に”という指定があるので,“注意する”のような曖昧な書き方でなく,どこを見て何を確認するかを書く。

設問3(6) 35字以内

Web サイトで HSTS が有効になるよう設定している場合でも,本文中の下線⑤の事象が起きる場合がある。HSTS の有効期限が切れた場合以外に,どのような場合に起きるのか。35 字以内で述べよ。

解答例

  • 初回にブラウザでWebサイトへhttpでアクセスした場合
解説

本文の根拠

(Ⅲ)

HSTS とは,Web サイトが HTTPS の使用をブラウザに強制させる機能である。

図4

HTTPS要求(https://www.example.jp/)

図4のとおり,HSTS はブラウザが一度 HTTPS で Web サイトにアクセスし,応答の Strict-Transport-Security を受け取って初めて有効になる。それ以前に,ブラウザが初めて Web サイトへ http でアクセスした場合は,HSTS の効果が無く,中間者攻撃で HTTP 通信のままにされて盗聴されうる。解答例は“初回にブラウザでWebサイトへhttpでアクセスした場合”である。

RFC 6797 は,この初回の接続を狙う中間者攻撃を“Bootstrap MITM Vulnerability”として挙げている。また,HTTP 経由で受け取った STS ヘッダは,ブラウザが無視する(RFC 6797 8.1)。

解答例は28字で,35字の制限に収まる。“有効期限が切れた場合以外”という条件なので,期限切れ以外の場合として,初回のアクセスを答える。

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