情報の「器」の保護を――日本オラクルのデータベースセキュリティ

企業にとって重要な情報を格納する「器」であるはずのデータベース。だがそのデータベースの保護となると、あまりにないがしろにされているのではないだろうか。日本オラクルの北野晴人氏は、こうした状況に警鐘を鳴らす。

» 2004年07月05日 20時49分 公開
[ITmedia]

 「セキュリティというものは、どこか1カ所だけで担保できるものではなく、ネットワークやOSなどさまざまなところで手を打たなければならない」――日本オラクルでマーケティング本部 システム製品マーケティンググループ担当シニアマネジャーを務める北野晴人氏はこのように語る。

 北野氏はさらに、企業ITシステムを構成するさまざまな要素の中でも、データベースのセキュリティとなると言及されるケースは少ないと指摘し、警鐘を鳴らした。

 「そもそも高い価値のある情報は、ほとんどがデータベースに格納される。にもかかわらず、データベースをどのように保護し、情報を守っていくかとなると語られることが少ない」(北野氏)。ネットワークやサーバのセキュリティが騒がれている割に、最も重要なものを格納している「器」――データベースの保護が考えられていないのはおかしいと同氏は言う。

 一般に、データベースおよびそれを活用したWebアプリケーションが構築される際、まず問題になるのは、要求されている仕様が満たされているかどうか、また十分なパフォーマンスやアベイラビリティが実現できるかどうかといった事柄だ。そこにいきなり「セキュリティを考慮すべき」などといわれても、多くのデータベース技術者にとっては問題を体系的にとらえることが困難な状態にある。

 だが、そこに格納されている情報の重要性を考えるならば、しっかり「データベースのセキュリティにも目を向けて欲しい」と北野氏は語った。セキュリティがこれほど話題になる以前より「データベースセキュリティ」に取り組んできたという日本オラクルでは、それに必要となる機能やツール、情報を引き続き提供していくという。

リスクに合わせた対策を

 そもそも、Excelなどの一般的なファイルの形で情報を所有しているよりも、データベースに格納するほうがセキュリティは高まると北野氏は言う。というのも、これらファイルに比べデータベースの構造は複雑であり、単純にデータファイルだけを盗んでも、復元するには相応のスキルが必要だからだ。

 そもそも、米軍など情報の機密性を重視する組織で利用されていたこともあって、Oracle DBはほかにも、情報を保護するためのセキュリティ機能を備えている。その1つが、格納されるデータの暗号化だ。Oracle DBには、データを暗号化するためのパッケージが添付されている。これを利用すればデータの暗号化や鍵管理が可能なほか、オプションの「Oracle Advanced Security」では通信経路の暗号化が可能だ。こうした機能によって、データを盗聴の危険性から守ることができる。

 「だが、暗号化については誤解が多い。確かに暗号化によって、ファイルの不正な持ち出しなどによる情報漏洩は防ぐことができるが、セキュリティ対策とは必ずしも暗号という要素だけではない」(北野氏)。

 たとえば暗号化によって、不正なユーザーによる情報の盗み見や盗聴は防げるかもしれないが、一定の権限を持ったユーザーによる範囲外のデータへの不正アクセス(内部犯行)までは防止できない。これに備えるには、なりすましを防ぐためのユーザー認証と、権限委譲の操作を許さないようにするアクセスコントロールといった手段が必要だ。

 Oracle DBでは「最小権限の原則」に基づいて、ユーザーの所属部署や職位、さらには情報の属性/種類に応じて詳細なアクセスコントロールを実現し、権限を持たないユーザーにはそもそも情報をはじめから見せないようにできる。それも、表やビュー単位での権限管理だけではない。「仮想プライベートデータベース(VPD)機能」を利用すれば、行単位でコントロールすることも可能だ。いずれにしても、ユーザーの属性と情報の属性をきちんと分類し、誰にどの情報へのアクセスを許可するかを考えてきちんと実装すれば、情報漏洩などの被害はかなりの程度防げるだろうと北野氏は説明した。

 こういった機能は、Webアプリケーション側で実装することも可能だ。けれどアプリケーションごとに個別にセキュリティ機能を開発、実装していては面倒だし、設定にばらつきができてしまう。データベース側で一元的にアクセスコントロールの仕組みを搭載すれば、効率的なだけでなく、セキュリティレベルを一定に保つことが可能だ。

体系化された視点での取り組みが重要

 だが、こうした個別の機能以上に重要なのは、セキュリティに対する体系化された考え方だと北野氏は強調する。まず最初に考えるべきは、どこにどういったリスクや危険性が潜んでいるかを考え、それに必要な対策を検討し、優先順位を付けて、Oracle DBが提供する機能の中から必要なものを実装していくことだ。

 しかも、セキュリティポリシーと実装との間には、往々にしてギャップが生じてしまう。このギャップを埋めるには、組織としてだけでなく、システムにおいてもPDCAサイクルを取り込み、各システムに特化したリスク分析を行い、明確に要件を定義していく作業が必要になる。

 ただ、問題は、そうした全体的な視点で作業に取り組める人材が少ないことだ。

 日本オラクルは昨年末、富士通大分ソフトウェアラボラトリ(OSL)との間でセキュリティコンサルティング事業に関する提携を結んでいる。北野氏によれば、これはまさに実装と理想との間のギャップを埋めていくための取り組みだ。総合的な視点から、パフォーマンスとセキュリティとのバランスも含めて必要な機能を具体化していく。この取り組みによって、「さまざまなところに存在するギャップを埋め、データベースをうまく活用してその中の情報を有効に守って欲しい」(北野氏)。

 北野氏は、「今後は、コンプライアンス要求の一部として、必ずセキュリティが触れられるようになっていく」とも指摘。Oracle DBの機能によって、「データ中心」のセキュリティを実現し、リスクを最小限に抑えることができると述べた。

さらなる挑戦〜データベースフォレンジック

 さらに今後は、個人情報/機密情報の漏洩を防ぐ観点から、「データベースフォレンジック」に取り組んでいくという。

 もともとOracle DBには監査機能が備わっており、管理者も含め、正当なアクセス権を有しているユーザーがどういった操作を行ったかを記録し、監査することができる。監査ログ自体の客観性を保証するため、これらログ情報はデータベース内ではなく、データベース管理者のアクセスが不可能なOS上のファイルに出力することが可能だ。

 この半年ほどに個人情報漏洩事件が続発したことを受けて、この監査機能に対する顧客の関心も高まっているという。日本オラクルではこうした動きを背景に、監査ログから一歩踏み込み、OSやネットワークのログでは把握しきれないレベルの監査を、データベーストランザクションログを用いて実現する「データベースフォレンジック」に取り組んでいく。

 「誰がいつ、どんなクエリを投げたかということが分からなければ、情報流出経路の特定もできず、責任追及も行えない。ファイングレイン監査機能やイベントハンドラを活用しながら、法的証拠能力を備えたログをどのように取得し、不正アクセス者の行動を追跡していくかの手法を検討していきたい」(北野氏)。この成果の一部は、8月に開催されるOracle Developer's Dayで披露される予定という。

 「実際に情報を守ることができる機能、そして問題が起きたときに効率よく追跡、原因究明を行える機能と手法、情報を提供していく」(北野氏)。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ