データベース通信の盗聴対策をどう見分ける?
基本情報技術者試験 平成29年度秋期 午前 問44 / セキュリティ › セキュリティ実装技術
過去問にチャレンジ
図のように,クライアント上のアプリケーションがデータベース接続プログラム経由でサーバ上のデータベースのデータにアクセスする。アプリケーションとデータベースとの間で送受信されるコマンドや実行結果の漏えいを防止する対策はどれか。

- ア
サーバ側のデータベース接続プログラムにアクセスできるクライアントのIPアドレスを必要なものだけに制限する。
- イ
サーバ側のデータベース接続プログラムを起動・停止するときに必要なパスワードを設定する。
- ウ
データベース接続プログラムが通信に使用するポート番号をデータベース管理システムでの初期値から変更する。
- エ
データベース接続プログラム間の通信を暗号化する。
会話形式の解説
講師図では、クライアントとサーバの間の通信経路が盗聴されています。守りたいのは、送受信するコマンドと実行結果の内容です。
受験者接続できるクライアントのIPアドレスを絞れば、漏えいも防げると思いました。
講師それは接続を許す相手を絞る対策です。許可されたクライアントとの通信内容は隠せないため、図のような経路上の盗聴には対応できません。
受験者起動・停止時にパスワードを求める方法も、通信内容を守るものではないのですね。
講師はい。パスワードで保護するのはサーバ側の接続プログラムの管理操作です。送受信するデータは暗号化されません。
受験者ポート番号を初期値から変える方法はどうですか。通信に使う番号が変われば、盗聴への対策になりそうです。
講師番号を変えても、コマンドや実行結果の内容は隠れません。通信経路を盗聴されたときの漏えいは防げません。
受験者必要なのは、接続の条件ではなく、通信内容そのものを読めなくする対策ですね。
講師そのとおりです。両側のデータベース接続プログラム間の通信を暗号化すれば、経路上で盗聴されても内容を読み取られることを防げます。正解はエです。
受験者図で攻撃者が見ている場所を確かめ、そこで通信内容を守れるかどうかで判断します。
講師はい。接続元の制限と通信内容の保護は、対象とする問題が異なります。この問題では通信経路上の漏えいに注目します。
まとめ
図の攻撃者は、クライアントとサーバを結ぶ通信経路を盗聴しています。コマンドや実行結果の漏えいを防ぐには、両側のデータベース接続プログラム間の通信を暗号化します。IPアドレスの制限、起動・停止時のパスワード、ポート番号の変更では通信内容を秘匿できません。
解答・解説
正解はエです
この問題のテーマ
クライアントとサーバの間で通信を盗聴された場合に、コマンドや実行結果の漏えいを防ぐ方法を問う問題です。
解き方の考え方
図では、クライアント側とサーバ側のデータベース接続プログラムが通信し、その経路を攻撃者が盗聴する状況が示されています。接続を許す相手や管理操作を制限する対策と、盗聴されても通信内容を読めなくする対策を区別します。
選択肢ごとの解説
- ×ア サーバ側のデータベース接続プログラムにアクセスできるクライアントのIPアドレスを必要なものだけに制限する。接続元のIPアドレスを制限すると、接続できるクライアントを絞れます。しかし、許可されたクライアントとの通信内容は秘匿されないため、経路上での盗聴による漏えいは防げません。
- ×イ サーバ側のデータベース接続プログラムを起動・停止するときに必要なパスワードを設定する。起動・停止時のパスワードは、サーバ側の接続プログラムに対する管理操作を保護するものです。クライアントとサーバの間で送受信するデータを暗号化するものではありません。
- ×ウ データベース接続プログラムが通信に使用するポート番号をデータベース管理システムでの初期値から変更する。通信に使うポート番号を初期値から変えても、送受信するコマンドや実行結果の内容は秘匿されません。したがって、通信経路を盗聴されたときの漏えい対策にはなりません。
- ○エ データベース接続プログラム間の通信を暗号化する。両側のデータベース接続プログラム間の通信を暗号化すれば、経路上で盗聴されても内容を読み取られることを防げます。設問が求める、コマンドと実行結果の漏えいを防ぐ対策です。
POINT
- 図の攻撃者は、クライアントとサーバを結ぶ通信経路を盗聴しています。
- 接続元の制限と通信内容の保護は、対象とする問題が異なります。
- 通信経路上での内容の漏えいには、通信の暗号化で対処します。
