Column
データベースセキュリティにありがちな5つの弱点
安易なパスワードやSQLインジェクション、不適切なエラー処理――データベースを危険にさらす代表的な脆弱性とその対処法を紹介する。
データベースとその中に含まれるデータは、ハッカーにとって依然として魅力的なターゲットだ。ハッカーは、データベースアプリケーションの広く知られている弱点を突こうとする。こうした弱点の多くは、ずさんな構成や実装に起因している。
データベースに関連した脆弱性として最も一般的なのが次の5つである。
- パスワードポリシーの不備
- SQLインジェクション
- クロスサイトスクリプティング
- 不注意によるデータ漏えい
- 不適切なエラー処理
信じがたいことだが、企業では、データベースのような重要なオンライン資産を保護するのに、今でもデフォルトのパスワードや弱いパスワードを使っている企業が多い。しかしこれはは簡単に解決できる問題だ。解決策は強力なパスワードポリシーを適用することである。つまり、「パスワードは、定期的に変更する必要があり、最低でも10桁で、英数字と記号の両方を含まなければならない」というポリシーを徹底すればよい。このポリシーにより、あなたのデータを狙う攻撃者にとって楽な侵入手口を防げるだろう。
SQLインジェクションの脆弱性も、データベースのお粗末な運用に起因する。この問題は、SQLクエリがどのようにデータベースに送信されるかにかかわっている。データベースが、チェックとサニタイジング(無害化)を経ていないユーザー入力データから生成されたSQLクエリを受け取る場合、SQLインジェクション攻撃を受けやすい。例えば、Webベースのフォームから受信されるような入力データを修正することにより、攻撃者は悪質なSQLクエリを送信し、データベースに命令を直接渡すことができる。
こうした攻撃を防ぐには、ユーザーから提供されるデータはすべて、スクリプトやデータアクセスルーチン、SQLクエリに渡す前に検証することが重要であり、また、パラメータ化されたクエリを使用することが望ましい。ユーザーから受け取るデータを検証、清浄するもう1つの理由は、クロスサイトスクリプティング(XSS)攻撃を防ぐことにある。この攻撃は、Webサーバに接続されたデータベースに侵入するのに用いられる。その手口は、JavaScriptなどのクライアントサイドスクリプトをWebフォーム経由でWebアプリケーションの出力データに注入するというもの。cookieは、ユーザーアカウントのログイン情報を保存するなど不適切に使用されることが多い。
データベースアプリケーションの構築時に見過ごされがちな問題の1つとして、不注意によるデータ漏えいがある。機密データがうっかり譲渡されたり公開されてしまうというものだ。典型的な不注意ミスは、データベースをバックアップしたテープについて、利用の安全確保や管理を怠ることだ。比較的見えにくいのが、データ推測による漏えいである。正当なデータクエリへの応答から、機密データが推測されてしまうことがしばしばある。例えば、処方薬から病名の推測がつくといった具合だ。一般的な対策は、クエリパターンを監視して、そうした推測が行われているのを発見することだ。
不注意によるデータ漏えいと密接に関連するのが、データベースでエラーが発生した場合の不適切なエラー処理だ。多くのアプリケーションは詳細なエラーメッセージを表示する。こうしたエラーメッセージがデータベースの構造に関する情報を明かしてしまい、それが攻撃を仕掛けるのに利用されてしまう恐れがある。記録のためにエラーのログを取るのは必須だが、アプリケーションがユーザーに(もちろん攻撃者にも)エラーの詳細を決して返さないようにしなければならない。
データベースのセキュリティを万全にするには、管理タスクを以下の4つの領域に分割し、総合的に取り組む必要がある。
- サーバセキュリティ
- アプリケーションセキュリティ
- データベース接続
- データベースとテーブルのアクセス制御
データベースサーバについては、ほかのすべてのサーバの場合と同様に、悪意あるハッカーがOSの脆弱性を突いてデータベースを攻撃できないように、守りを固めなければならない。データベースは、アプリケーション層の専用ファイアウォールで保護することが望ましい。
データベース接続の保護とアクセス制御の定義を行う上では、アプリケーションにおけるデータの流れを示すデータフロー図の作成が役立つ。次に、別のアプリケーションへの入出力がどこで行われるかを確認し、それらの入出力ポイントに設定されている信頼レベルを調べる。さらに、外部のユーザーやプロセスがシステムにアクセスするのに必要な最低限の権限を定義する。このようにセキュリティに重点を置いてデータベースアプリケーションを構成、構築すれば、データの安全性を確保できるだろう。
本稿筆者のマイケル・コッブ氏は、データセキュリティおよび解析に関するトレーニングやサポートを提供するITコンサルティング会社、コッブウェブアプリケーションズの創業者兼マネージングディレクター。CISSP-ISSAP(公認情報システムセキュリティプロフェッショナル―情報システムセキュリティアーキテクチャプロフェッショナル)の資格を持つ。共著書として「IIS Security」があり、主要なIT出版物に多くの技術記事を寄稿している。
Copyright © ITmedia, Inc. All Rights Reserved.
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
4
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
5
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
8
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
9
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
10
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー