情報処理安全確保支援士試験 午後問題から学ぶ【サーバ証明書】

情報処理安全確保支援士試験の午後問題には、情報セキュリティに関する最新の動向を反映した題材が採用されています。

キーワードに加え、設計やインシデント対応能力をシミュレーションできる良い学びの場ですので、情報処理安全確保支援士試験合格はもちろん、情報処理安全確保支援士となった後も能力向上のために学習していきましょう。

今回は、「クラウドサービスの利用における認証方式の強化」を題材にした「サーバ証明書」を解説していきます。

「サーバ証明書」とは

サーバ証明書とは、Webサイトの身元の証明やSSL/TLSによる通信の暗号化に使われるディジタル証明書のことです。

具体的には以下の2つの役割を持っています。

  1. クライアントに対して、情報を送受信するサーバが意図する相手(サーバの運営組織等)によって管理されるサーバであることを確認する手段を提供する
  2. SSL/TLSによる暗号通信を行うために必要なサーバの公開鍵情報をクライアントに正しく伝える

一般的なサーバ証明書の利用方法

ブラウザなどサーバ証明書を利用するアプリケーションには、一定の基準に準拠した認証局の証明書(ルートCA証明書)があらかじめ登録されています。これらはパブリック認証局と呼ばれています。

一般的には、このパブリック認証局が、第三者の立場から確認したサーバの運営組織などの情報を記載したサーバ証明書を発行します。

利用者のアプリケーションでは、このサーバ証明書とルートCA証明書をセットで検証することでサーバ証明書の信頼性を確保します。

オレオレ証明書

サーバ証明書は、証明書の発行プログラムを使って誰もが作成することができます。

このようなサーバ証明書は、自身で正当なサーバであることを主張しているに過ぎないため、オレオレ証明書と呼ばれています。

そのようなサーバを利用した場合、利用者のブラウザではサーバ証明書の正当性が確認できないとして警告が表示されます。

利用者としては、そのような警告が表示された場合は無視して接続しないようにすべきです。  

平成31年度春期情報処理安全確保支援士試験での「サーバ証明書」

「クラウドサービスの利用における認証方式の強化」を題材に「サーバ証明書」の問題が出題されました。

それでは「サーバ証明書」の問題となった部分を見ていきましょう。

 (略)電子メール(以下、メールという)の送受信には、本社ではオンプレミス環境を導入しているが、海外拠点では、P社が提供するクラウドサービス型Webメールサービス(以下、メールサービスPという)を利用している。海外拠点では、全ての従業員にスマートフォンとノートPCを貸与している。

[セキュリティインシデント発生]

1月10日、送信者が海外拠点Qの従業員Sさんのメールアドレスである不審なメールを受け取ったという連絡が、Sさんとやり取りのあった本社の従業員から情報システム部にあった。情報システム部では、情報処理安全確保支援士(登録セキスペ)であるTさんが、調査を担当することになった。Tさんが当該メールのヘッダ情報を確認したところ、メールサービスPから送信されたものであった。

海外拠点Qの情報システム担当であるYさんによれば、1月10日にSさんのアカウントからの不審なメール送信と考えられる履歴が複数残っているとのことであった。そこで、Tさんは、YさんにメールサービスPのSさんのアカウントを一時的に無効化するよう依頼した。また、会社から貸与されたSさんのスマートフォン及びノートPC並びにSさんのメールボックスには重要情報がなかったことを確認した。Tさんが、海外拠点Qの全従業員のアカウントについて、メールサービスPに残っていた全てのメール送信履歴をYさんに確認してもらったところ、Sさんのアカウント以外に不審なメールの送信履歴はないとのことであった。

[経緯の調査]

Tさんは、メールサービスPに残っていた海外拠点Qの全従業員のアカウントのメール送信履歴及び監査ログ、並びにSさんへのヒアリングの結果をYさんから送付してもらい、調査した。調査結果を図1に示す。

f:id:aolaniengineer:20191224050656p:plain

  Tさんが調べたところ、メールサービスPはHTTP over TLSでサービスが提供されている。HTTPでアクセスした場合はHTTP over TLSのURLにリダイレクトされる仕様になっており、HSTS(HTTP Strict Transport Security)は実装されていない

こうしたことから、TさんはSさんが不正アクセスを受けたと確信し、図2に示す手口(以下、手口Gという)を使って、攻撃者がメールサービスPのSさんの利用者IDで不正アクセスしたと推測した。

f:id:aolaniengineer:20191224051214p:plain

Tさんは、今回のセキュリティインシデントの調査結果を情報システム部長に報告した。情報システム部長は、会社から貸与されたノートPCをU社以外の無線LANに接続してはならないというルールの全社への周知及びメールサービスPの認証方式の強化をTさんに指示した。

設問1(3)図2中の下線②について、この時、サーバ証明書が信頼できない旨のエラーが表示されなかったのはなぜか。メールサービスPにHSTSが実装されていないことを踏まえ、理由を20字以内で述べよ。

正解:HTTPで接続が開始されたから

【出典:情報処理安全確保支援士試験 平成31年度春期午後1問2(一部、省略部分あり)】

設問1(3) 

Sさんは、メールサービスPにアクセスしたつもりが、実際には攻撃者が用意したWebサーバに接続していました。

この時、攻撃者のWebサーバとサーバ証明書のやり取りを行っていれば、ブラウザにはサーバ証明書が信頼できない旨のエラーが表示されるはずです。

ここは素直に考えて、攻撃者のWebサーバとはサーバ証明書のやり取りが行っていないと考えます

サーバ証明書はSSL/TLSでの通信時に利用する証明書ですので、ブラウザがSSL/TLSで通信していなかった、つまり、「https://」ではなく「http://」でアクセスした場合は、サーバ証明書のやり取りは発生しないことになります。

図1に、「SさんはWebブラウザのアドレスバーにメールサービスPのFQDNを手入力した」とあるので、「http://」で入力したものと思われます。

メールサービスPは、「HTTPでアクセスした場合はHTTP over TLSのURLにリダイレクトされる仕様」ですので、Sさんは普段から「http://」で入力したとしても問題なく利用できていたはずです。

次に、設問の「メールサービスPにHSTSが実装されていないことを踏まえ」について考えます。 

HSTS(HTTP Strict Transport Security)とは、SSL/TLSが有効なWebサーバにおいて、「http://」でアクセスしたブラウザに対して次回から「https://」でアクセスするよう通知する仕組みです。

HSTS対応が可能なブラウザではこの通知により、次回から自動的に「https://」でアクセスするようになります。

メールサービスPにHSTSが実装されていれば、自動的に「https://」でアクセスした時点でサーバ証明書が信頼できない旨のエラーが表示されます。

これを踏まえても「http://」でアクセスしたことが理由で問題ありません。