データベースセキュリティとデータ保護|アクセス権限管理・暗号化・ログ監査
企業の顧客個人情報、機密技術データ、財務情報など、組織で最も価値の高い情報資産が集約されているのが「データベース(DBMS)」です。
情報セキュリティマネジメント試験(SG)では、SQLインジェクション対策にとどまらず、「アクセス制御(ロールベースアクセス制御 RBAC)」「データの暗号化方式(TDE・カラム暗号化)」「データベース監査ログの取得・監視」「開発・検証環境へのデータマスキング」といったデータベース周辺の多層的な保護策が実践的に問われます。
1. データベースに対する主要なセキュリティ脅威
脅威の分類 | 攻撃手口や発生要因 | 主な影響・被害 | 代表的対策 |
|---|---|---|---|
SQLインジェクション | 入力フォームに悪意あるSQL文を混入させ、意図しないクエリを実行させる | DB内の全件漏えい、データの改ざん・消去、管理者権限の奪取 | プレースホルダ(バインド機構)の利用、入力値検証 |
内部特権の乱用 | DB管理者や特権アカウントを持つ開発者が、業務範囲外の顧客データを不正抽出 | 大量の個人情報持ち出し、競合への漏えい | ロールベースアクセス制御(RBAC)、特権ID貸出、操作ログの突合監査 |
ストレージ盗難・破棄漏れ | DBサーバのハードディスクやバックアップ磁気テープの物理的紛失・盗難 | 暗号化されていないデータベースファイルからの情報抽出 | 透過的データ暗号化(TDE)、バックアップデータの暗号化 |
開発環境からの漏えい | 本番DBのデータをそのままコピーして開発・検証環境に配置し、委託先等から漏えい | 個人情報の大規模流出 | データマスキング、サロゲートデータ(擬似データ)の生成 |
2. データベースのアクセス制御と権限分離
DBMSにおけるアクセス制御の基本は、ユーザー一人ひとりに直接権限を付与するのではなく、業務役割に応じた「ロール(Role)」を作成し、ロールに対して必要最小限の権限(SELECT, INSERT, UPDATE, DELETE等)を付与する「ロールベースアクセス制御(RBAC)」です。
職務に応じた最小権限:コールセンターオペレーターには顧客の参照(SELECT)のみを許可し、削除(DELETE)やテーブル定義変更(DDL)は剥奪する。
ビュー(View)によるデータ制限:特定の部署には「住所・氏名」だけを見せ、「クレジットカード番号」「年収」などの機密列を除外した仮想テーブル(View)のみアクセスを許可する。
3. データマスキング技術(静的と動的)
マスキング手法 | 処理の仕組みと実行タイミング | 主な適用場面 |
|---|---|---|
静的データマスキング(SDM) | 本番DBからデータを抽出する段階で、個人情報や機密値を不可逆的にランダム文字列やダミー値に置換して新しいDBを作成する。 | 社外ベンダーへ提供する開発・テスト環境、機械学習の学習データ |
動的データマスキング(DDM) | DB内の実データはそのまま保持し、利用者がクエリを実行して画面表示される瞬間に、権限に応じて一部を「*」等で伏字にする(例: 4111-****-****-1111)。 | コールセンターの業務端末、一般従業員による顧客照会画面 |
4. 科目B形式実戦シナリオ演習
演習1:外部テスト環境構築における個人情報保護対策の選定
〔背景〕ECサービスを運営するW社では、来期の大型機能刷新に向けて外部の開発ベンダーX社にシステム改修を委託することになった。X社から「本番環境で発生している複雑なデータ不整合バグを再現するため、本番データベースのバックアップデータをそのまま開発用サーバにリストアして提供してほしい」との要請があった。
〔検討事項〕本番DBには100万人分の氏名、住所、電話番号、購買履歴が含まれている。W社のセキュリティリーダーY氏は、個人情報保護法およびISMS規程の観点からこの要請の妥当性を検討した。
〔設問〕委託先X社における情報漏えいリスクを防止しつつ、テストの再現性を確保するための対応として、最も適切なものはどれか。
ア:X社と秘密保持契約(NDA)を締結した上で、本番データを暗号化せずにそのままUSBメモリで手渡しする。
イ:本番データから個人を特定できる氏名・電話番号・住所などを「静的データマスキング」によって不可逆なダミー値に置換したテスト用データセットを作成し、セキュアな経路で提供する。
ウ:X社に対してW社の本番DBサーバへのrootリモートアクセス権限を一時的に付与する。
エ:テスト環境の利用が終わるまで、本番ECサイトのサービスを一時停止する。
【解答と解説】
正解:イ
解説:本番環境の生データをそのまま外部委託先やテスト環境へ持ち出すことは、個人情報保護法およびセキュリティ管理上、極めて高リスクな行為です。テストに必要なデータ構造や件数の整合性を維持しつつ機密性を保護するためには、氏名や連絡先などの個人特定情報をダミーデータに不可逆置換する「静的データマスキング(SDM)」を施した上で提供することが標準的かつ最も安全な実務判断です。
演習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防止は別途必須
次におすすめの学習
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る