安易なパスワードやSQLインジェクション、不適切なエラー処理――データベースを危険にさらす代表的な脆弱性とその対処法を紹介する。
データベースとその中に含まれるデータは、ハッカーにとって依然として魅力的なターゲットだ。ハッカーは、データベースアプリケーションの広く知られている弱点を突こうとする。こうした弱点の多くは、ずさんな構成や実装に起因している。
データベースに関連した脆弱性として最も一般的なのが次の5つである。
信じがたいことだが、企業では、データベースのような重要なオンライン資産を保護するのに、今でもデフォルトのパスワードや弱いパスワードを使っている企業が多い。しかしこれはは簡単に解決できる問題だ。解決策は強力なパスワードポリシーを適用することである。つまり、「パスワードは、定期的に変更する必要があり、最低でも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.
サイバー攻撃による被害は、金銭的な損失だけでなく、信用の失墜や業務継続への支障といった経営上のリスクに直結する。このようなリスクへの備えとして有効なのが、「脆弱性診断」だ。脆弱性診断の目的や実践方法について解説する。
昨今、組織のネットワーク外に分散したエンドポイントが、攻撃者にとって格好の標的になっている。このような中でエンドポイント保護の新たな形として期待を寄せられているのがEDRだ。しかし、運用が難しいなどの課題も多い。
サイバー攻撃が激化する中、防御側は限られたリソースで対策することに苦慮している。こうした状況において組織が優先すべきは、エンドポイントと認証情報の保護であり、これらの有効な防御手段として注目されているのが、XDRとITDRだ。
昨今、セキュリティ教育の重要性が高まっている。しかし、効果を正確に測ることが難しく、目標設定や運用に悩むケースも少なくない。本資料では、担当者の負担を軽減しながら、このような問題を解消する方法を紹介する。
情報セキュリティ対策では、従業員の意識を高めるための“教育”が重要となる。しかしセキュリティ教育は、効果の測定が難しく、マンネリ化もしやすいなど課題が多い。効果的なセキュリティ教育を、負荷を抑えて実現するには何が必要か。
「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...