(57)【要約】【課題】  データベースのアクセスの履歴において、「誰が」，「いつ」，テーブルのどの「レコード」にアクセスしたかを容易に検出できるデータベースセキュリティシステム提供する。【解決手段】  本発明のデータベースセキュリティシステムは、複数のデータ項目各々に対応してデータが格納されているデータベースのセキュリティを監査するものであり、このデータベースをアクセスしたSQL文を構文解析して、参照するデータ項目を抽出する項目抽出部と、この抽出されたデータ項目が監査対象の監査データ項目に含まれているか否かの判定を行うデータ項目判定部と、判定結果により、監査データ項目が含まれていることが検出されたSQL文を、アクセス履歴として格納するSQL文格納部と、SQL文格納部に格納されたSQL文を実行し、実行結果の参照データを参照データ記憶部に格納するSQL監査実行部とを備える。【選択図】    図１
2005276078.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ項目各々に対応してデータが格納されているデータベースのセキュリティを監査するデータベースセキュリティシステムであり、
このデータベースをアクセスしたＳＱＬ文を構文解析して、参照するデータ項目を抽出する項目抽出部と、
この抽出されたデータ項目が監査対象の監査データ項目に含まれているか否かの判定を行うデータ項目判定部と、
前記判定結果により、監査データ項目が含まれていることが検出されたＳＱＬ文を、アクセス履歴として格納するＳＱＬ文格納部と、
ＳＱＬ文格納部に格納されたＳＱＬ文を実行し、実行結果の参照データを参照データ記憶部に格納するＳＱＬ監査実行部と
を有することを特徴とするデータベースセキュリティシステム。
【請求項２】
所定のセキュリティ管理対象である前記監査データ項目が設定されているデータ項目設定部を有することを特徴とする請求項１記載のデータベースセキュリティシステム。
【請求項３】
前記ＳＱＬ監査実行部が、予め設定された時間に、ＳＱＬ文の実行を行うことを特徴とする請求項１または請求項２に記載のデータベースセキュリティシステム。
【請求項４】
複数のデータ項目各々に対応してデータが格納されているデータベースのセキュリティを監査するデータベースセキュリティ方法であり、
このデータベースをアクセスしたＳＱＬ文を構文解析して、参照するデータ項目を抽出する項目抽出過程と、
この抽出されたデータ項目が監査対象の監査データ項目に含まれているか否かの判定を行うデータ項目判定過程と、
前記判定結果により、監査データ項目が含まれていることが検出されたＳＱＬ文を、アクセス履歴として格納するＳＱＬ文格納過程と、
ＳＱＬ文格納部に格納されたＳＱＬ文を実行し、実行結果の参照データを参照データ記憶部に格納するＳＱＬ監査実行過程と
を有することを特徴とするデータベースセキュリティ方法。
【請求項５】
複数のデータ項目各々に対応してデータが格納されているデータベースのセキュリティを監査するデータベースセキュリティプログラムであり、
このデータベースをアクセスしたＳＱＬ文を構文解析して、参照するデータ項目を抽出する項目抽出処理と、
この抽出されたデータ項目が監査対象の監査データ項目に含まれているか否かの判定を行うデータ項目判定処理と、
前記判定結果により、監査データ項目が含まれていることが検出されたＳＱＬ文を、アクセス履歴として格納するＳＱＬ文格納処理と、
ＳＱＬ文格納部に格納されたＳＱＬ文を実行し、実行結果の参照データを参照データ記憶部に格納するＳＱＬ監査実行処理と
を有するコンピュータが実行可能なプラグラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルアクセスの履歴管理を行うものであり、ローカルエリアネットワーク等のコンピュータネットワークに接続されたデータベースに格納されたデータのアクセス履歴を管理するデータベースセキュリティシステムに関する。
【背景技術】
【０００２】
現在、企業のデータベースからの個人情報流出が問題となっているが、流出された情報が誰の何に関する情報かという具体的なデータを知るのは困難である。
また、コンピュータシステムとしては、特定の許可されたオペレータが専用の画面で予め決められた操作により、データベースにおける企業情報や個人情報等の入力，削除及び編集を、厳密なアクセス制御の下で行う基幹系システムと、不特定多数の人間が多種多様なアプリケーションから、比較的緩いアクセス制御の下で、データベースの参照を行う情報系システムとがある。
【０００３】
上記基幹系システムにおいては、操作する人間が特定され、定型業務として厳密なアクセス制御が行われているため、個人情報流出時においては、流出させた人間を特定することが可能であり、流出した情報を確認することも可能である。
一方、情報系システムは、利用者が不特定多数であり、社内外から利用されて多様な業務に利用されることから、アクセス権限を基幹系システムのように厳密に規定することが困難である。
さらに、参照された個人情報の取得機能をデータベースをアクセスするアプリケーションの機能として実装することも技術的に可能であるが、情報系システムは、大量のデータを検索対象とすることと、非定形業務であることから上記アプリケーションの変更が頻繁にあることから、性能及び保守性の面からアプリケーションによる解決は困難である。
【０００４】
上述の問題を解決するために、データベースに対して、ファイルアクセスの操作の履歴を作成するとき、事前に履歴を作成すべき条件を定め、データの条件式にあう履歴を蓄積していく手法がある（例えば、特許文献１参照）。
また、予め設定した条件句を追加することにより、この条件句を含むＳＱＬ文を記憶領域に記録しておく手法もある。
【特許文献１】特開平０６−１８７２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来のシステムには、アクセスの履歴が、「誰が」，「いつ」，どの「テーブル」にアクセスしたかを示すにすぎず、テーブルのどのレコードにアクセスしたかまでを把握することができないという問題がある。
また、従来のシステムには、ＳＱＬ文を記憶しておき、「誰が」，「いつ」アクセスしのかを検出することは可能であるが、データベースのデータが常に変更されることを考えると、アクセスされた時点に、テーブルのどのレコードにアクセスしたかまでを把握することができない。
【０００６】
本発明は、このような事情に鑑みてなされたもので、データベースのアクセスの履歴において、「誰が」，「いつ」，テーブルのどの「レコード」にアクセスしたかを容易に検出することが可能なデータベースセキュリティシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のデータベースセキュリティシステムは、複数のデータ項目各々に対応してデータが格納されているデータベースのセキュリティを監査するデータベースセキュリティシステムであり、このデータベースをアクセスしたＳＱＬ文を構文解析して、参照するデータ項目を抽出する項目抽出部と、この抽出されたデータ項目が監査対象の監査データ項目に含まれているか否かの判定を行うデータ項目判定部と、前記判定結果により、監査データ項目が含まれていることが検出されたＳＱＬ文を、アクセス履歴として格納するＳＱＬ文格納部と、ＳＱＬ文格納部に格納されたＳＱＬ文を実行し、実行結果の参照データを参照データ記憶部に格納するＳＱＬ監査実行部とを有することを特徴とする。
【０００８】
本発明のデータベースセキュリティシステムは、所定のセキュリティ管理対象である前記監査データ項目が設定されているデータ項目設定部を有することを特徴とする。
本発明のデータベースセキュリティシステムは、前記ＳＱＬ監査実行部が、予め設定された時間に、ＳＱＬ文の実行を行うことを特徴とする。
【０００９】
本発明のデータベースセキュリティ方法は、複数のデータ項目各々に対応してデータが格納されているデータベースのセキュリティを監査するデータベースセキュリティ方法であり、このデータベースをアクセスしたＳＱＬ文を構文解析して、参照するデータ項目を抽出する項目抽出過程と、この抽出されたデータ項目が監査対象の監査データ項目に含まれているか否かの判定を行うデータ項目判定過程と、前記判定結果により、監査データ項目が含まれていることが検出されたＳＱＬ文を、アクセス履歴として格納するＳＱＬ文格納過程と、ＳＱＬ文格納部に格納されたＳＱＬ文を実行し、実行結果の参照データを参照データ記憶部に格納するＳＱＬ監査実行過程とを有することを特徴とする。
【００１０】
本発明のプログラムは、複数のデータ項目各々に対応してデータが格納されているデータベースのセキュリティを監査するデータベースセキュリティプログラムであり、このデータベースをアクセスしたＳＱＬ文を構文解析して、参照するデータ項目を抽出する項目抽出処理と、この抽出されたデータ項目が監査対象の監査データ項目に含まれているか否かの判定を行うデータ項目判定処理と、前記判定結果により、監査データ項目が含まれていることが検出されたＳＱＬ文を、アクセス履歴として格納するＳＱＬ文格納処理と、ＳＱＬ文格納部に格納されたＳＱＬ文を実行し、実行結果の参照データを参照データ記憶部に格納するＳＱＬ監査実行処理とを有するコンピュータが実行可能なプラグラムである。
【発明の効果】
【００１１】
以上説明したように、本発明のデータベースセキュリティシステムによれば、アクセスされた時点のデータベースを、実際にアクセスされたＳＱＬ文を用い、参照されるデータを参照データ記憶部に、このＳＱＬ文と対応させて格納しておくため、「誰が」，「いつ」，テーブルのどの「レコード」を参照したかがわかるため、個人情報を流出された人間と、実際に流出した個人情報とを明確に特定することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態によるデータベースセキュリティシステムを利用したデータベース検索システムを図面を参照して説明する。
図１は同実施形態の構成を示すブロック図である。
この図において、情報系システム１は、会社内の不特定多数のユーザが各々所有する端末２と、会社の全部署の業務に関連するデータが記憶されたデータベース３と、端末２がデータベース３におけるデータの検索等を行うときに、データベース３に対する複数の端末２からのアクセスを制御するアクセス制御部４と、データベースセキュリティシステム５とを有している。
【００１３】
基幹系システム６は、従来例においても述べたように、各部署毎に設置され、許可されたオペレータのみが操作を行うことができる端末７と、データベース３と同様の構成であり、会社の全部署の業務に関連するデータが記憶されたデータベース８と、許可されたオペレータからのアクセスであることを検出し、予め決められた内容のアクセス処理を、データベース８に対して行うアクセス制御部９とを有している。
上記オペレータは、データベース８に対して、新しいデータの格納と、記憶されているデータの編集及び削除とを、決められたフォーマット（表示画面の入力欄へのデータ入力や選択など）で行う。
【００１４】
基幹系システム６においては、例えば、営業部において顧客情報と販売実績とのデータの処理、資材部における資材の納入先及び納入実績の処理、また人事部において社員の個人情報などのデータ処理が、決められたフォーマットの入力画面から、許可されたオペレータが画一的に処理していくことなる。
一方、情報系システム１においては、例えば、企画部などが会議に使用するバックデータとして、営業部の作成した顧客情報と販売実績とを用い、表計算ソフトを利用して、今後の製品開発などの計画を建てる場合、データベース３から顧客の個人情報が検索され、参照されることになる。
【００１５】
また、データベース８の書き換えられた内容は、データベース８への操作が終了した後に、データベース３へ反映、すなわちデータベース８とデータベース３との同期処理が行われる。
例えば、データベース３及び８が使用されていない夜間に、上記同期処理が行われる。
このため、データベース３は、前日のデータベース８のデータ内容が反映されて、格納されていることになる。
【００１６】
上記データベースセキュリティシステム５は、項目抽出部１０、データ項目設定部１１、データ項目判定部１２、ＳＱＬ文格納部１３、ＳＱＬ監査実行部１４及び参照データ記憶部１５を有している。
項目抽出部１０は、端末２からデータベース３をアクセスするＳＱＬ文を構文解析し、セレクト文に記載されている検索対象のデータ項目を抽出する。
データ項目設定部１１は、あらかじめ流出されたときに問題となるデータ項目が、監査対象の監査データ項目として記憶されている。
ここで、監査データ項目としては、名前、住所、電話番号、メールアドレス，性別、所属、好みの食べ物、病歴等の個人情報がある。
【００１７】
データ項目判定部１２は、項目抽出部１０の抽出したデータ項目と、データ項目設定部１１に設定されている監査データ項目とを比較して、同一の項目があるか否かの判定を行１、同一の項目が存在することを検出した場合、このデータ項目の存在するＳＱＬ文を、ＳＱＬ文格納部１３に格納する。
ＳＱＬ監査実行部１４は、所定の時間、例えば、すなわちデータベース８とデータベース３との同期処理の行われる時刻より前の時刻に、ＳＱＬ文格納部１３に格納されているＳＱＬ文を順次実行して、データベース３をアクセスし、データ項目に対応して検索された参照データを参照データ記憶部１５に格納する。
【００１８】
次に、図１及び図２を参照して、本発明の一実施形態によるデータベースセキュリティシステムの動作を説明する。図２は上記データベースセキュリティシステムの動作例を示すフローチャートである。
まず、日中の処理について、図２（ａ）のフローチャートを参照して説明する。
ステップＳ１において、情報系システム１において、ユーザがいずれかの端末２から、表計算ソフトなどのアプリケーションソフトを利用し、データベース３から顧客の個人情報の検索を行う。
ステップＳ２において、項目抽出部１０は、アクセス制御部４からデータベース３を生御するためのＳＱＬ文を入力し、構文解析を行って、ＳＱＬ文のセレクト文に記述されている検索対象のデータ項目を抽出する。
【００１９】
次に、ステップＳ３において、データ項目判定部１２は、項目抽出部１０の抽出したデータ項目と、データ項目設定部１２に設定されている監査データ項目との比較を行う。
ここで、データ項目設定部１２には、図３に示す構成のデータ項目のテーブルが記憶されており、監査フラグ欄に「○」印のマークが記入されているデータ項目が監査対象の監査データ項目として定義され、「×」印のマークが記入されているデータ項目が監査対象でないことを示している。
この監査フラグの記入は、セキュリティポリシの規定に伴い、セキュリティ監査を行う担当者、すなわちデータベースセキュリティシステムの管理者により、データ項目設定部１２を制御することで任意に行われる。
【００２０】
次に、ステップＳ４において、データ項目判定部１２は、抽出されたデータ項目のいずれか一つでも、監査対象の監査データ項目と一致するものを検出した場合、処理をステップＳ５に進め、ステップＳ５において、監査データ項目と一致する検索対象のデータ項目を有するＳＱＬ文をそのままの構成でＳＱＬ文格納部１３へ格納する。
一方、データ項目判定部１２は、抽出されたデータ項目のいずれもが監査対象の監査データ項目と一致しないことを検出した場合は、ステップＳ１に戻り、ＳＱＬ文からの監査データ項目検出処理を継続する。
【００２１】
次に、夜間の処理について図２（ｂ）のフローチャートを参照して説明する。この処理は、予め設定された所定の時刻に開始される。
ステップＳ６において、データ項目判定部１２は、アクセス制御部４に対して、情報系システム１のアクセス制御の停止時間であれば（上記予め設定された所定の時刻）、端末２からのデータベース３に対するデータベースアクセスを終了させ、処理をステップＳ７へ進める。
次に、ステップＳ７において、ＳＱＬ監査実行部１４は、データベース３の参照履歴としてＳＱＬ文格納部１３に記憶されているＳＱＬ文を、順次実行する。
【００２２】
そして、ステップＳ８において、ＳＱＬ監査実行部１４は、実行したＳＱＬ文毎に、実行結果を、参照データとして、例えば、図４に示すフォーマットで、参照データ記憶部１５に格納する。
ここで、参照データとしては、図４に示すように、各ＳＱＬ文毎に、このデータの識別番号と、取得日時と、データの参照を行ったユーザのＩＤ（クライアントＩＤ）と、参照が行われた端末のＩＤと、参照に使われたＳＱＬ文（テキストデータ）と、このＳＱＬ文で実際に読み出された各データ項目のデータとか示されている。
【００２３】
次に、ステップＳ９において、ＳＱＬ監査実行部１４は、ＳＱＬ文格納部１３に記憶されているＳＱＬ文全てを実行し、参照データの取得を終了すると、アクセス制御部４及びアクセス制御部８に取得終了を通知する。
これにより、アクセス制御部４及びアクセス制御部８は、データベース８の変更をデータベース３に反映させ（コピーして）、格納されているデータの同期をとる。
【００２４】
上述したように、本発明のデータベースセキュリティシステムは、実際に参照に使用されたＳＱＬ文により、参照された日と同一日において、すなわち、データベースのデータ内容が変更される前に、参照データを監査履歴として、参照データ記憶部１５に、参照したユーザや端末を識別するデータとともに残しておくため、個人情報の流出による漏洩があった場合に、「いつ」、「誰が」そしてどの「レコード（誰の個人情報）」が漏洩されたかを明確に把握することが可能となる。
【００２５】
また、本発明のデータベースセキュリティシステムは、ＳＱＬ文において、流出しては困るデータ項目を監査データ項目として、監査フラグで設定及び非設定に容易に変更することができ、また監査項目データのみを参照データ記憶部１５で記憶させるようにすれば、データ容量を少なくすることができる。
この参照データ記憶部１５に、参照データを記憶しているのは、永久に保存することは非現実的であるため、流出したことが判明する期間として、例えば、６ヶ月間などの保持期間を設ける。
【００２６】
なお、図１におけるデータベースセキュリティシステムの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、個人情報の監査の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００２７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態によるデータベースセキュリティシステムを用いたデータベースシステムの構成例を示すブロック図である。
【図２】図１のデータベースセキュリティシステムの動作例を示すフローチャートである。
【図３】図１のデータ項目設定部１１に記憶されている監査データ項目を示すテーブルである。
【図４】図１の参照データ記憶部１５に格納される参照データのフォーマットを示す概念図である。
【符号の説明】
【００２９】
１…情報系システム
２，７…端末
３，８…データベース
４，９…アクセス制御部
５…データベースセキュリティシステム
１０…項目抽出部
１１…データ項目設定部
１２…データ項目判定部
１３…ＳＱＬ文格納部
１４…ＳＱＬ監査実行部
１５…参照データ記憶部
【図１】
2005276078.tif 000003
【図２】
2005276078.tif 000004
【図３】
2005276078.tif 000005
【図４】
2005276078.tif 000006