平成25年秋期試験午後問題 問8
問8 情報セキュリティ
⇱問題PDF
Webサイトのセキュリティ強化策に関する次の記述を読んで,設問1~4に答えよ。
Webサイトのセキュリティ強化策に関する次の記述を読んで,設問1~4に答えよ。
広告
A社は,家庭向けのソフトウェアを製造販売する会社である。A社のWebサイトは,自社の会社情報や製品情報などを掲載しており,アクセスしてきた全ての人に同じ情報を提供する静的なページで構成されている。このたび,ユーザサポートの向上を目的としてWebサイトを更改し,Webサイト内に会員専用のサイトを設けることにした。会員専用サイトでは,ユーザIDとパスワードでユーザを認証し,ユーザが購入した製品や興味のある製品に関する詳細な技術情報を含むページを動的に生成するWebアプリケーションを用いる。
〔セキュリティの強化〕
A社のセキュリティ担当課長は,今回の更改に併せて,Webサイトのセキュリティを強化したいと考えている。想定する脅威としては,SQLインジェクション,Webサイトの改ざん,クロスサイトスクリプティング,認証情報の盗聴の四つを懸念している。これらの脅威に対応するセキュリティ強化策を検討した結果,セキュアプログラミングを意識してWebアプリケーションを開発することとし,さらに(1)~(3)の3点を実施することにした。
HTTPSを使って通信するためには,aを取得する必要がある。aの申請には,識別名(Distinguished Name)が必要になる。識別名は,国コード,都道府県名,市区町村名,組織名,部署名,コモンネーム(SSL接続するサイトのFQDN)から構成される。A社では,SSL通信を行うWebサイトのURLを"https://www.a.co.jp/member/"とし,識別名を表1のように決定した。 A社のWebサイト管理者は,識別名を決定し,コモンネームの重複がないことを確認した後,証明書署名要求(CSR:Certificate Signing Request)を生成し,認証局に申請することでaを取得した。証明書署名要求には,識別名とcが含まれており,認証局から取得したaを機器に導入する際には,cとペアを成すdが必要になる。aとdを機器に導入し,HTTPSでのアクセスが可能になるよう設定した。
〔セキュリティの警告〕
Webサイトの更改から1年ほど経過したころ,会員からサポート窓口に,「WebブラウザからA社のWebサイトにアクセスした際に"セキュリティの警告"ダイアログボックスが表示された。どうすればいいのか」との問合せが寄せられた。"セキュリティの警告"ダイアログボックスに含まれていたメッセージを図2に示す。 サポート窓口担当者はセキュリティ担当課長に問合せに対する処置を依頼し,セキュリティ担当課長は,Webサイト管理者に対して,適切な対応をとるよう指示した。
〔セキュリティの強化〕
A社のセキュリティ担当課長は,今回の更改に併せて,Webサイトのセキュリティを強化したいと考えている。想定する脅威としては,SQLインジェクション,Webサイトの改ざん,クロスサイトスクリプティング,認証情報の盗聴の四つを懸念している。これらの脅威に対応するセキュリティ強化策を検討した結果,セキュアプログラミングを意識してWebアプリケーションを開発することとし,さらに(1)~(3)の3点を実施することにした。
- 更改前は全てHTTPでアクセスさせるようになっていたWebサイトを,①暗号化されていないデータがそのままインターネット上に流れては問題がある部分では,HTTPSでアクセスさせるようにする。HTTPSでアクセスされるべきページにHTTPでアクセスされた場合は,クライアントにHTTPSのURLをリダイレクトで返し,自動的にHTTPSで再アクセスさせるようにする。
- 更改前はDMZに配置し,インターネットから直接アクセスさせていたWebサーバを,インターネットから直接アクセスできない内部のLANに移設する。DMZにはロードバランサと2台のリバースプロキシサーバを配置する。ロードバランサは,ユーザからのHTTP/HTTPSリクエストを,Cookieの情報を基にWebアプリケーションのセッションを維持するようにリバースプロキシサーバに振り分ける。各リバースプロキシサーバは,受け取ったリクエストを,対応するWebサーバに転送する。
- リバースプロキシサーバには,WAF(Web Application Firewall)の機能をもたせ,ブラックリストによる検査によって外部からの攻撃を防御する。ブラックリストには,Webアプリケーションの脆弱性を悪用した攻撃の特徴的なパターンを登録しておく。
HTTPSを使って通信するためには,aを取得する必要がある。aの申請には,識別名(Distinguished Name)が必要になる。識別名は,国コード,都道府県名,市区町村名,組織名,部署名,コモンネーム(SSL接続するサイトのFQDN)から構成される。A社では,SSL通信を行うWebサイトのURLを"https://www.a.co.jp/member/"とし,識別名を表1のように決定した。 A社のWebサイト管理者は,識別名を決定し,コモンネームの重複がないことを確認した後,証明書署名要求(CSR:Certificate Signing Request)を生成し,認証局に申請することでaを取得した。証明書署名要求には,識別名とcが含まれており,認証局から取得したaを機器に導入する際には,cとペアを成すdが必要になる。aとdを機器に導入し,HTTPSでのアクセスが可能になるよう設定した。
〔セキュリティの警告〕
Webサイトの更改から1年ほど経過したころ,会員からサポート窓口に,「WebブラウザからA社のWebサイトにアクセスした際に"セキュリティの警告"ダイアログボックスが表示された。どうすればいいのか」との問合せが寄せられた。"セキュリティの警告"ダイアログボックスに含まれていたメッセージを図2に示す。 サポート窓口担当者はセキュリティ担当課長に問合せに対する処置を依頼し,セキュリティ担当課長は,Webサイト管理者に対して,適切な対応をとるよう指示した。
広告
設問1
本文中の下線①で,暗号化せずにインターネット上に流れては問題があるデータを二つ,本文中の字句を用いて答えよ。
解答例・解答の要点
①:ユーザID ※順不同
②:パスワード ※順不同
②:パスワード ※順不同
解説
Webサイトの更改に伴い会員専用サイトが設置されます。設問中の「会員専用サイトでは,ユーザIDとパスワードでユーザを認証し…」の部分から、更改後は利用者とWebサーバ間で認証情報がやり取りされることが分かります。想定される脅威として「認証情報の盗聴」が挙げられているように、HTTPのまま平文で認証情報をやり取りし、それが盗聴されてしまった場合には不正ログイン被害の発生が懸念されます。したがって本文中に登場し、HTTPSを用いて暗号化通信を行うべき情報は、会員専用サイトで使用する「ユーザID」と「パスワード」の2つが適切です。
∴ユーザID,パスワード
広告
設問2
〔セキュリティの強化〕で示した(1)~(3)のセキュリティ強化策は,セキュリティ担当課長が懸念している四つの脅威のうち,どの脅威に向けた強化策であるか。解答群の中から最も適切なものを選び,記号で答えよ。
解答群
- SQLインジェクション
- Webサイトの改ざん
- クロスサイトスクリプティング
- 認証情報の盗聴
- SQLインジェクション及びクロスサイトスクリプティング
- SQLインジェクション及び認証情報の盗聴
- クロスサイトスクリプティング及び認証情報の盗聴
解答例・解答の要点
(1):エ
(2):イ
(3):オ
(2):イ
(3):オ
解説
- 認証情報をやり取りする場面では、必ずHTTPSの暗号化通信を使用するように仕向けているため盗聴対策と判断できます。HTTPSは「通信の暗号化」「ノード認証」「改ざん検知」の機能を提供しますが、Webアプリケーションへの攻撃を防御する仕組みではないため、この策で対処できるのは盗聴のみです。
∴エ:認証情報の盗聴 - WebサーバがDMZに設置されている場合は外部(インターネット上)の端末とWebサーバが直接コネクションを確立して通信を行います。しかしWebサーバを内部LANに移設した場合は、外部からのアクセスはHTTPアクセスは、一旦リバースプロキシサーバに渡され、リバースプロキシサーバが改めてWebサーバと通信を確立する形になります。
リバースプロキシサーバを使用することでWebサーバの情報が外部から隠蔽されるため、Webサーバの内部へ不正アクセスを試みる攻撃へのセキュリティが強化されます。
∴イ:Webサイトの改ざん - WAF(Web Application Firewall)は、通過するパケットのIPアドレスやポート番号だけでなくペイロード部(データ部分・アプリケーション層のヘッダー部)をチェックすることで攻撃を検知・遮断することが可能な、Webアプリケーションに特化したファイアウォールです。
WAFの特徴と本文中にWebアプリケーションに対する攻撃を防御するという旨の記述があることから、この策はWebアプリケーションの脆弱性を突いて攻撃を行う「SQLインジェクション」および「クロスサイトスクリプティング」からWebサーバやDBサーバを守るものと判断できます。
∴オ:SQLインジェクションおよびクロスサイトスクリプティング
広告
設問3
本文及び表1中のa~dについて,(1)~(3)に答えよ。
- a,c,dに入れる適切な字句を解答群の中から選び,記号で答えよ。
- bに入れる適切な字句を答えよ。
- A社のシステム構成のどの機器にaを導入する必要があるか。図1中のDMZ内の機器の名称で答えよ。また,その機器でなければならない理由を30字以内で述べよ。
a,c,d に関する解答群
- SSLクライアント証明書
- SSLサーバ証明書
- SSLルート証明書
- 共通鍵
- 公開鍵
- 秘密鍵
解答例・解答の要点
- a:イ
c:オ
d:カ
- b:www.a.co.jp
- 機器:ロードバランサ
理由:Cookieの情報を参照する必要があるから (21文字)
解説
- 〔aについて〕
SSL/TLSでは、暗号化通信に用いる共通鍵を安全に送付・共有するためにサーバの公開鍵が使用されます。またSSL/TLSでは、通信を開始するのに先立ってサーバが自身の公開鍵証明書をクライアントに送信し、クライアントが公開鍵証明書に付されている認証局(CA)のデジタル署名を検証することで公開鍵、および通信相手の正当性を確認します(なりすましの防止)。
本文中の「HTTPSを使って通信をするために必要」「認証局に申請して取得する」「機器に導入する」などの記述から、aは、A社のサーバにインストールするサーバ証明書(公開鍵証明書,デジタル証明書)ということが分かります。
∴a=イ:SSLサーバ証明書
〔cについて〕
まず本文中の「cとペアを成すd」という記述より、cとdがSSL/TLSで使用する公開鍵/秘密鍵の組合せであろうと予想できます。
認証局に申請する証明書署名要求(CSR:Certificate Signing Request)とは、申請した情報(表1の識別名情報)と公開鍵をもとに認証局に対して公開鍵証明書の発行を依頼するメッセージです。要求が成功した場合、申請した情報に認証局のデジタル署名が付された公開鍵証明書が送り返され、証明書として有効状態になります。
本文中の「証明書識別要求には,識別名とcが含まれており…」という記述からcは公開鍵と断定できます。
∴c=オ:公開鍵
〔dについて〕
公開鍵暗号方式で暗号化通信を行うためには、一対で生成される公開鍵と秘密鍵が必要です。公開鍵はSSLサーバ証明書に含まれクライアント端末上での暗号化に使用されます。サーバにはクライアントから暗号化されたデータが送られてきますが、これを復号するためには暗号化に用いた公開鍵に対応する秘密鍵がサーバに組み込まれていなければなりません。
したがってdは秘密鍵になります。
∴d=カ:秘密鍵 - 〔bについて〕
コモンネーム(CN:Common Name)は、サーバ証明書に含まれる登録情報で、証明書が有効なFQDN、またはそのIPアドレスが格納される項目です。クライアント側ではアクセスしたURLのドメイン名と証明書のコモンネームを比較することで証明書の正当性を検証します。また本文中にも「コモンネーム(SSL接続するサイトのFQDN)」と説明が記載されています。
この設問ではSSL/TLS通信の対象URLが "https://www.a.co.jp/member" であるため、このURLのFQDN(ホスト部+ドメイン部)にあたる "www.a.co.jp" がコモンネームになります。- FQDN(Fully Qualified Domain Name)
- ドメイン名・サブドメイン名・ホスト名の全てを指定する記述形式で「完全修飾ドメイン名」とも呼ばれる。このサイトでいえばドメインが「ap-siken.com」や「.com」、FQDNは「www.ap-siken.com」になる。
- 本文中の
「ロードバランサは,ユーザからのHTTP/HTTPSリクエストをCookieの情報をもとにリバースプロキシサーバに振り分ける」
という記述から、ロードバランサはHTTPヘッダーのCookie情報を参照する必要があるとわかります。
クライアントとの通信はHTTP又はHTTPSで行われますが、通信内容がHTTPSで暗号化されているとロードバランサにてCookieの内容が読取れず、リバースプロキシへの振り分け処理が適切にできません。この問題を解決するにはロードバランサで通信内容の復号を行い、Cookie情報を参照できるようにする必要があります。
したがってサーバ証明書及び秘密鍵を導入する機器はロードバランサになります。
∴機器:ロードバランサ
理由:Cookieの情報を参照する必要があるから
広告
設問4
図2の"セキュリティの警告"ダイアログボックスが表示されたことに対するWebサイト管理者の適切な対応を,20字以内で述べよ。
解答例・解答の要点
SSLサーバ証明書を更新する (14文字)
解説
図2の警告ダイアログの3つのメッセージ中、問題があると考えられるのは2つ目の「このサイトのセキュリティ証明書は,有効期間に問題があります」
というメッセージです。これは、サーバ証明書の有効期限が切れているためにブラウザから発せられる警告であるため、サーバ証明書の有効期限を更新することで解消されます。本文中の名称を用いて記述すれば「SSLサーバ証明書を更新する」となります。
∴SSLサーバ証明書を更新する
因みに他の2つのメッセージは以下の場合に警告メッセージになります。
- 証明書の発行元に関する警告
- ブラウザに組み込まれているルート証明書でSSLサーバ証明書の信頼性が確認できない場合
- 証明書内の名前とページURLが一致しないという警告
- ページURLのドメイン名と証明書内のコモンネームが一致しない場合
広告
広告