データベースセキュリティとデータ保護|アクセス権限管理・暗号化・ログ監査
データベースを守るでは、アクセス制御・マスキング・保存時暗号化の保護範囲を区別します。用語を覚えるだけでなく、事例の条件に合う対策を選べるように整理しましょう。
科目Aで基本的な意味を確認し、科目Bでは「守る情報・起きた事象・組織のルール・担当者の権限」を読み取ります。本文の確認問題は、考え方を練習するためのオリジナル問題です。
1. データベースに対する主要なセキュリティ脅威
脅威の分類 | 攻撃手口や発生要因 | 主な影響・被害 | 代表的対策 |
|---|---|---|---|
SQLインジェクション | 入力フォームに悪意あるSQL文を混入させ、意図しないクエリを実行させる | DB内の全件漏えい、データの改ざん・消去、管理者権限の奪取 | プレースホルダ(バインド機構)の利用、入力値検証 |
内部特権の乱用 | DB管理者や特権アカウントを持つ開発者が、業務範囲外の顧客データを不正抽出 | 大量の個人情報持ち出し、競合への漏えい | ロールベースアクセス制御(RBAC)、特権ID貸出、操作ログの突合監査 |
ストレージ盗難・破棄漏れ | DBサーバのハードディスクやバックアップ磁気テープの物理的紛失・盗難 | 暗号化されていないデータベースファイルからの情報抽出 | 透過的データ暗号化(TDE)、バックアップデータの暗号化 |
開発環境からの漏えい | 本番DBのデータをそのままコピーして開発・検証環境に配置し、委託先等から漏えい | 個人情報の大規模流出 | データマスキング、サロゲートデータ(擬似データ)の生成 |
2. データベースのアクセス制御と権限分離
DBMSにおけるアクセス制御の基本は、ユーザー一人ひとりに直接権限を付与するのではなく、業務役割に応じた「ロール(Role)」を作成し、ロールに対して必要最小限の権限(SELECT, INSERT, UPDATE, DELETE等)を付与する「ロールベースアクセス制御(RBAC)」です。
職務に応じた最小権限:コールセンターオペレーターには顧客の参照(SELECT)のみを許可し、削除(DELETE)やテーブル定義変更(DDL)は剥奪する。
ビュー(View)によるデータ制限:特定の部署には「住所・氏名」だけを見せ、「クレジットカード番号」「年収」などの機密列を除外した仮想テーブル(View)のみアクセスを許可する。
3. データマスキング技術(静的と動的)
方法 | 処理 | 注意点 |
|---|---|---|
静的マスキング | テスト用のコピー等を作る際、機密値をダミー値等へ置換する | 元データとの対応や他の情報から再識別できる場合がある。生成した情報も評価・管理する |
動的マスキング | 実データを保持し、照会する利用者に応じて表示等を制限する | 権限や製品の設定による。DBに保存した実データそのものを消す処理ではない |
4. 科目B形式実戦シナリオ演習
演習1:外部テスト環境構築における個人情報保護対策の選定
〔背景〕ECサービスを運営するW社では、来期の大型機能刷新に向けて外部の開発ベンダーX社にシステム改修を委託することになった。X社から「本番環境で発生している複雑なデータ不整合バグを再現するため、本番データベースのバックアップデータをそのまま開発用サーバにリストアして提供してほしい」との要請があった。
〔検討事項〕本番DBには100万人分の氏名、住所、電話番号、購買履歴が含まれている。W社のセキュリティリーダーY氏は、個人情報保護法およびISMS規程の観点からこの要請の妥当性を検討した。
〔設問〕委託先X社における情報漏えいリスクを防止しつつ、テストの再現性を確保するための対応として、最も適切なものはどれか。
ア:X社と秘密保持契約(NDA)を締結した上で、本番データを暗号化せずにそのままUSBメモリで手渡しする。
イ:本番データから個人を特定できる氏名・電話番号・住所などを「静的データマスキング」によって不可逆なダミー値に置換したテスト用データセットを作成し、セキュアな経路で提供する。
ウ:X社に対してW社の本番DBサーバへのrootリモートアクセス権限を一時的に付与する。
エ:テスト環境の利用が終わるまで、本番ECサイトのサービスを一時停止する。
【解答と解説】
正解:イ
イが正解です。この設問では、本番の個人情報をそのまま提供せず、テストに必要な構造を維持してダミー値等へ置き換える静的マスキングが適しています。処理の条件によって再識別できる情報が残る場合があり、マスキングしただけで法的な匿名加工情報になるわけではありません。必要に応じて完全な人工データも検討します。
演習2:データベース暗号化方式(TDE)の保護範囲と盲点
〔背景〕医療情報システムを扱うZ社では、患者の電子カルテDBを保護するため、DBMSが提供する「透過的データ暗号化(TDE:Transparent Data Encryption)」を有効化した。
〔設問〕TDEの仕組みと効果に関する記述として、最も適切なものはどれか。
ア:TDEを有効にすると、SQLインジェクション攻撃によってWeb経由で実行された不正なSELECTクエリに対しても、データが自動的に暗号化されて返されるため漏えいを完全に防ぐことができる。
イ:TDEはディスク(ストレージ)に書き込まれるデータファイルやバックアップファイルを自動暗号化するものであり、ハードディスクの盗難や不正コピーに対して有効であるが、正規にログインしたアプリケーションからのクエリに対しては自動復号されるため、アプリケーション層の脆弱性対策(SQLi防止)は別途必要である。
ウ:TDEを有効にすると、データベース管理者(sysadmin)であってもデータを参照することが一切不可能になる。
エ:TDEはネットワーク上を流れるSQLパケットを暗号化する技術であり、ストレージ上のファイルは暗号化されない。
【解答と解説】
正解:イ
解説:透過的データ暗号化(TDE)は、「保存時暗号化(Encryption at Rest)」の代表技術です。OSやストレージ層でファイルとして保存される際に暗号化されるため、物理ディスクの盗難やファイルコピーに対して強力な防御となります。しかし、DBMS内部で正規のクエリに対しては「透過的(利用者に暗号化を意識させない)」に復号されて結果が返されるため、Webアプリケーションの脆弱性(SQLインジェクション)を突かれた場合はデータを盗み出されてしまいます。したがって、TDEの導入とWeb側の安全なコーディング(プレースホルダ利用等)は両輪で実施しなければなりません。
5. まとめと試験直前チェックリスト
ロールベースアクセス制御(RBAC):職務に応じて必要な権限(SELECT等)のみを付与し、特権を最小化
ビュー(View):機密性の高い列(クレジットカード番号等)を隠蔽した仮想テーブルでアクセス制限
静的データマスキング(SDM):開発・テスト環境へ提供するデータを不可逆なダミー値に置換
動的データマスキング(DDM):画面表示時にリアルタイムで一部をマスク表示(伏字化)
TDE(透過的暗号化):保存時(ディスク)を暗号化して物理盗難を防ぐ。SQLi防止は別途必須
出典と仕様を確認する
IPA:情報セキュリティマネジメント試験 シラバス Ver.4.1
個人情報保護委員会:仮名加工情報・匿名加工情報
次におすすめの学習
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る