午前I問題
開発環境・テスト環境・本番環境の分離に関する記述のうち、最も適切なものはどれか。
ア)開発効率を優先し、開発者全員が本番環境のデータベースに直接接続してテストを行う運用は、問題の早期発見につながるため推奨される。
イ)環境の分離は、開発中の不具合や設定ミスが本番環境の可用性・機密性に影響を及ぼすことを防ぐとともに、本番データへの不要なアクセスを制限する目的がある。
ウ)テスト環境は本番環境と比較して重要度が低いため、アクセス制御や脆弱性対策を本番環境と同水準で実施する必要はない。
エ)本番環境と同じ認証情報(パスワード・APIキー等)をテスト環境でも使い回すことで、運用の一貫性を保つことが推奨される。
午前I の解答・解説を見る
正解: イ)
解説:
- ア)不正解。開発者が本番データベースに直接接続する運用は、開発中のミスによる本番データの誤更新・誤削除や、本番環境への予期しない負荷、機密情報への不要なアクセスなど多くのリスクを伴い、推奨されない。
- イ)正解。環境分離の目的は、開発・テスト中の変更や障害が本番環境の可用性・完全性・機密性に影響を及ぼすことを防ぐとともに、本番データへのアクセスを業務上必要な範囲に限定することにある。
- ウ)不正解。テスト環境であっても本番相当のデータや設定を扱う場合があり、脆弱性を放置すると攻撃の踏み台にされたり、本番環境への侵入経路として悪用されたりするリスクがある。重要度に応じた対策が必要であり、一律に「対策不要」とはいえない。
- エ)不正解。認証情報の使い回しは、テスト環境が侵害された場合に本番環境への不正アクセスに直結する重大なリスクとなる。環境ごとに異なる認証情報を発行し、テスト環境の認証情報が漏洩しても本番環境への影響が及ばないようにすべきである。
午前II問題
本番データを開発・テスト環境で利用する際のデータ保護技術に関する記述のうち、最も適切なものはどれか。
ア)データマスキングは可逆的な暗号化処理であるため、マスキング後のデータからマスキング前の元データをいつでも復元できることが求められる。
イ)静的データマスキング(Static Data Masking)は、本番データを複製する際に非可逆的な変換(置換・シャッフル等)を適用してテスト環境に配置する方式であり、テスト環境からは元データを復元できない。
ウ)仮名化(Pseudonymization)はデータを完全に匿名化する処理であり、追加情報と照合しても特定の個人を再識別することはできない。
エ)本番データをそのままコピーせず、完全にランダムなダミーデータのみでテストを行えば、データ量やデータ分布に起因する不具合も本番同様に検出できる。
午前II の解答・解説を見る
正解: イ)
解説:
- ア)不正解。データマスキングは一般に非可逆な変換(元に戻せない)であることが求められる。可逆な処理では、テスト環境が侵害された際に元の機密データが復元されてしまうため、マスキングの目的(機微情報の秘匿)を達成できない。
- イ)正解。静的データマスキングは、本番データベースからテスト・開発環境へデータを複製する際に、氏名や口座番号などの機微項目を非可逆的な別の値(ダミー値・シャッフルされた値等)に置き換える方式である。複製先のテスト環境には元データが存在しないため、環境が侵害されても元の機密情報は漏洩しない。
- ウ)不正解。仮名化は氏名等の識別子を別の符号(仮名)に置き換える処理だが、対応表など追加の情報と照合すれば元の個人を再識別できる状態を指す。完全な匿名化(再識別が実質的に不可能な状態)とは異なる概念であり、個人情報保護法上も仮名加工情報と匿名加工情報は別々に規定されている。
- エ)不正解。完全にランダムなダミーデータは、本番データが持つデータ量・分布・偏り(例:特定のカテゴリに集中する傾向)を再現できないため、本番相当の負荷試験やパフォーマンス関連の不具合検出には不十分な場合が多い。マスキングにより統計的特性を維持しつつ機微情報を秘匿する手法が有効とされる。
午後問題
会員制フィットネスクラブの会員管理システムを開発するJ社は、次期バージョンの開発にあたり、本番データベースの内容をコピーして開発・テスト環境で利用していた。
セキュリティ監査で次の問題点が指摘された。
- 本番データベースのフルバックアップが週次でそのまま開発環境にリストアされており、会員の氏名・住所・クレジットカード情報の下4桁・生年月日がそのまま存在する
- 開発環境は社内ネットワークからアクセス可能で、本番環境ほど厳格なアクセス制御が設定されていない
- 開発者が個人のノートPCに開発環境のデータベースをローカルに複製して作業することが常態化している
- 一部の結合テストでは、実在する会員のメールアドレス宛てに実際にテストメールが送信されてしまう事故が過去に発生していた
設問1
本番データベースをそのまま開発環境にリストアする運用のリスクを指摘し、代替となる方式を1つ提案せよ。
設問1の解答・解説を見る
正解例: リスクは、開発環境が本番環境ほど厳格なアクセス制御・監視がされていないにもかかわらず、実在する会員の氏名・住所・クレジットカード情報の一部・生年月日といった機微な個人情報がそのまま存在しており、開発環境からの情報漏洩や、個人PCへの複製を通じた社外持ち出しのリスクが本番環境と同等に生じている点である。代替方式として、本番データを開発環境にリストアする際に静的データマスキングを適用するパイプラインを構築し、氏名は仮名(ダミー名)に、住所は実在しない住所形式のダミー値に、クレジットカード情報は完全にマスク(またはテスト用のダミーカード番号)に、生年月日は年齢帯を保持したまま日付をシャッフルする、といった非可逆的な変換を経たデータのみを開発環境に配置する。
解説・採点基準(計15点):
| 採点項目 | キーワード | 配点 |
|---|---|---|
| 開発環境のアクセス制御が本番より弱い点とのギャップを指摘 | 環境間の防御レベル差 | 5点 |
| 静的データマスキングの導入を代替方式として提示 | データマスキング | 6点 |
| 非可逆的変換・統計的特性の維持など具体的な手法に言及 | 非可逆変換・仮名化 | 4点 |
設問2
開発者が個人PCに開発環境のデータを複製する運用、および結合テストで実在の会員へメールが誤送信された事故について、それぞれ改善策を述べよ。
設問2の解答・解説を見る
正解例:
個人PCへの複製:開発者が個人のノートPCへデータベースを複製する運用を禁止し、開発作業はマスキング済みデータを配置したクラウド上の共有開発環境(またはコンテナ・仮想環境)上で行う方式に統一する。個人PCで作業する必要がある場合も、マスキング済みかつ必要最小限のサンプルデータのみを配布する運用とし、PC紛失・盗難時の情報漏洩の影響範囲を限定する。
テストメール誤送信:結合テスト環境では、外部への実メール送信を行わないよう、メール送信をテスト用のモックサーバ(例:MailHog等のメールキャッチャー)に差し替える、または送信先ドメインを検証しテスト環境専用ドメイン以外への送信をブロックする仕組みを導入する。加えてマスキング処理でメールアドレス自体もテスト用のダミーアドレスに置換しておけば、たとえ送信処理が実行されても実在の会員には到達しない。
解説・採点基準(計15点):
| 採点項目 | キーワード | 配点 |
|---|---|---|
| 個人PCへの複製禁止・共有環境への統一に言及 | 個人PC複製禁止・共有環境 | 4点 |
| 個人PC利用時のデータ最小化に言及 | 最小限のサンプルデータ | 2点 |
| メール送信のモック化・外部送信ブロックに言及 | メールモック・送信制限 | 5点 |
| メールアドレス自体のマスキングによる多重防御に言及 | メールアドレスのマスキング | 4点 |
重要キーワード
| 用語 | 説明 |
|---|---|
| 環境分離 | 開発・テスト・本番環境を独立させ、相互の影響(障害波及・不要なアクセス)を防ぐ設計原則 |
| データマスキング | 本番データを非本番環境で利用する際、機微情報を非可逆的な別の値に置き換えて秘匿する技術 |
| 静的データマスキング | データ複製時に非可逆変換を適用し、複製先には元データが存在しない状態にする方式 |
| 仮名化 | 識別子を別の符号に置き換える処理。追加情報との照合により再識別が可能な状態を指し、匿名化とは区別される |
| 匿名化 | 再識別が実質的に不可能な状態までデータを加工する処理。仮名化よりも強い秘匿性を持つ |
| モックサーバ | 外部サービス(メール送信等)の実際の呼び出しを模擬的に代替し、テスト環境から実システムへの意図しない影響を防ぐ仕組み |
まとめ
- 午前I視点: 環境分離の目的は本番環境の可用性・機密性の保護と、本番データへの不要なアクセス制限にある。認証情報の使い回しは環境分離の効果を無効化する典型的なアンチパターン。
- 午前II視点: データマスキングは非可逆的な変換であるべきという点、仮名化と匿名化は再識別可能性の観点で明確に異なる概念である点が頻出論点。
- 午後視点: 実務対策は「本番データ複製時の静的データマスキング」「個人PCへの複製禁止・共有環境への統一」「外部送信を伴うテストのモック化」の3点が環境間漏洩防止の核心となる。