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
-
事例
[日本オラクル株式会社] ピンチをチャンスに変えたEPR製品は? 先行企業の導入事例3選 -
技術文書・技術解説
[日本オラクル株式会社] 無自覚なリスク 秘伝Excelファイルが監査の壁、不正・ミスの温床となる理由 -
製品資料
[日本オラクル株式会社] 戦略的経理の第一歩 失敗のない「脱Excel」を実現する秘訣とは? -
技術文書・技術解説
[日本オラクル株式会社] いまさら聞けないオンプレERPとクラウドERPの違い 最適な製品をどう見極める? -
事例
[株式会社ビザスク] 連結売上高が約2倍に成長、富士フイルムが実践した新規事業創出の戦略とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
「0.3秒のスピード顔認証」の入退室管理が社員に好評 事例に学ぶオフィス改革
-
4
「ノートPC派」は損をしている? Dellと考える“自作PC”のメリット
-
5
エンジニアの生産性はどう測る? マネジメントに不可欠な可視化の実現方法とは
-
6
慶應義塾が「Notion」を選んだ理由 AI導入の盲点になる“情報のサイロ化”
-
7
LINEヤフーはなぜ「社内の管理者」すら信用しないインフラを作ったのか
-
8
1200万円のSaaS導入を回避 スギ薬局「運用費10万円」のAIエージェント構築術
-
9
「また同じ説明か」 消費者の半数が離脱するAIチャットbotの“記憶喪失”
-
10
IT製品の導入に関するアンケート「PC&デバイス」編
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
“あのファイル転送”で暗躍するノーウェアランサム
-
9
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー