終わりなきデータベースのセキュリティ対策で押さえるべきポイントとは

不正アクセスの検知とブロック
データベースに対して不正なアクセスがあった際には、速やかに検知して管理者へ通報を行う、場合によっては不正なアクセスをブロックして切断するといった対処を検討すべきです。これにより、被害を未然に防いだり、仮に被害に遭ったとしても規模を小さくすることが可能です。
SQLインジェクションによる攻撃では、通常のアプリケーションからは実行されないSQLが業務系のアクセスに紛れて個人情報等の機密情報を含むテーブルへとアクセスします。例えば、あるオンライン・サービスで自分の登録情報を確認するとします。アプリケーション上は、ユーザ情報が格納されているテーブルから自分のユーザIDと一致する行のデータを検索するSQLが実行されるはずですが、全行を検索するようなSQLに改ざんされたり、全行を削除するようなSQLが追加された場合は、データベースから全データが持ち出されたりデータベースが改ざんされるという事態が発生します。ここで、通常のアプリケーションから実行されるSQLと異なることを速やかに検知し、場合によってはブロックしてアクセスを切断することができれば被害を最小限に抑えられます。また、被害を未然に防ぐことも可能です。
ただし、「なりすましによる詐欺的行為」が行われ、そのアクセスがデータベースまで到達してしまった場合については、不正アクセスとして検知したりブロックすることが極めて難しいと言わざるを得ません。例えば、オンライン・バンキングやオンライン・ショッピング・サイトで「なりすましによる詐欺的行為」が行われた結果、不正な送金、不正な商品購入が行われたとしても、アプリケーションを経由して行われるデータベースへのアクセスと、業務系のアクセスに紛れてなりすましによる不正アクセスが行われた場合とでは何一つ違いがないからです。この場合は、「なりすまし」そのものができないような対策が必要となります。
このようにデータベースを中心に据えたセキュリティ対策では、「なりすまし」による不正アクセスを即座に検知することは非常に難しいと言わざるを得ませんが、「なりすまし」による不正アクセスが後で発覚した場合は、データベースのアクセス・ログが重要な証拠となります。
その他データベースで行うべき対策
これまで説明した内容とは別にデータベースの運用として実施を検討すべきセキュリティ対策として以下のものがあります。
- 初期設定(必須)
- アカウント管理と認証(必須)
- アクセス・コントロールと権限管理(必須)
- 暗号化(推奨)
まず、データベースの初期構築時の状態で使い続けて問題がないかどうかを見直すべきです。例えば、デフォルトの通信ポート設定、不要なアカウントの作成、容易に推測可能なパスワード、開発時のパスワードを本番環境でも継続利用していないかというような項目を見直します。また、データベースにアクセスするユーザとその権限の設定を明確にする、データベース管理者アカウントで機密データをアクセスさせないといったように権限を分割する、といったことも、万が一の場合のリスクを低減させます。さらに重要なデータを守るという意味では、データ自体の暗号化についても検討をお勧めします。その他にも、データベースに対して常に最新のセキュリティ・パッチを適用するなど、技術的な対策は様々あります。
それぞれの対策の詳細については、データベース・セキュリティ・コンソーシアムから公開されている「データベースセキュリティガイドライン 第2.0版」を参照してください。
「データベースのアクセス・ログの取得」、「データベースへのアクセスの分類」、「不正アクセスの検知とブロック」を行うデータベース・セキュリティの仕組みをネットワーク上のデータベース・サーバの直前に配置する「データベース・ファイアーウォール」として位置付けた場合に、すでにこれらの機能を満たしている製品はいくつか存在しています。次回は、このデータベース・ファイアーウォールに求められる機能について解説します。
【参考文献】
データベース・セキュリティ・コンソーシアム
- 「データベースセキュリティガイドライン 第2.0版」
- 「緊急提言:オンラインサービスにおけるデータベースと機密情報の保護」
- 「DBSCからの情報発信 第1回 データベースセキュリティ新時代」
- 「DBSCからの情報発信 第2回 DBセキュリティを本気で見直す時が来た!」
- 「DBSCからの情報発信 第3回 境界線のない時代に求められるDBセキュリティ」
独立行政法人情報処理推進機構(IPA)
- 「2012年第3四半期 ソフトウェア等の脆弱性関連情報に関する届出状況」
- 「安全なSQLの呼び出し方」
(リンク先最終アクセス:2012.11)