(57)【要約】【課題】注目すべき特徴を持つデータを高速に検出する技術を提供する。【解決手段】入力データの各項目の値を、順列上の所定の位置に配置して順列化データを生成するデータ順列化手段２と、この順列化データについて、所定の項目に値があるか否かで検査するバイナリ検査手段３と、所定の項目に値がある順列化データと予め用意された検査パタンとを比較し、順列化データの各項目の値が検査パタンの各項目が持つ条件を全て満たす前記順列化データを検出する詳細検査手段４とを備える。【選択図】図１
2010146263.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の項目と該項目の値との組で構成された入力データを検査するデータ検査装置であって、
前記入力データが有する前記各項目の値を、予め用意された順列上の所定の位置に配置することにより順列化データを生成するデータ順列化手段と、
前記順列化データについて、所定の項目に値があるか否かで検査するバイナリ検査手段と、
予め用意された検査パタンを有し、前記所定の項目に値がある前記順列化データと、該検査パタンとを比較し、前記順列化データの各項目の値が該検査パタンの各項目が持つ条件を全て満たす前記順列化データを検出する詳細検査手段と、
を備えることを特徴とするデータ検査装置。
【請求項２】
前記バイナリ検査手段は、前記順列化データの各項目の値を、該値の有無のみを表す別の値で置き換えることによりバイナリ順列化データを生成し、かつ該バイナリ順列化データを、前記所定の項目を有する前記順列で構成され、検出したい特徴を表す項目とそれ以外の項目とで互いに異なる値を持つバイナリ検査パタンと比較し、該順列化データのうち所定の条件を満たすバイナリ順列化データに対応した順列化データのみを前記詳細検査手段に渡すことを特徴とする請求項１に記載のデータ検査装置。
【請求項３】
前記バイナリ検査手段は、
前記バイナリ順列化データを生成するバイナリ化手段と、
前記バイナリ検査パタンを記憶するバイナリ検査パタン記憶手段と、
前記バイナリ順列化データと前記バイナリ検査パタンとの間で前記項目の各値を比較し、該比較結果が所定の条件を満たす場合に前記バイナリ順列化データに対応する前記順列化データを検出結果として前記詳細検査手段に渡す比較手段と、
を備えることを特徴とする請求項２に記載のデータ検査装置。
【請求項４】
前記所定の条件は、前記バイナリ順列化データと前記バイナリ検査パタンとの間で前記項目の各値をそれぞれ１次元のベクトルとし、ベクトル間の減算で正又は負のビットの有無を確認することを特徴とする請求項２又は３に記載のデータ検査装置。
【請求項５】
前記バイナリ検査パタン記憶手段は、前記比較手段で使用する前記所定の条件を更に記憶することを特徴とする請求項３又は４に記載のデータ検査装置。
【請求項６】
前記バイナリ検査手段は、前記比較手段により前記所定の条件を満たしたと判定された場合の前記バイナリ順列化データを記憶する適合事例記憶手段と、
前記バイナリ順列化データを、前記適合事例記憶手段に記憶されている前記バイナリ順列化データと比較し、合致したバイナリ順列化データがあれば、当該合致したバイナリ順列化データに対応する順列化データを前記バイナリ検査手段の検査結果とすると共に前記比較手段による処理を省略する事例照合手段と、
を更に備えることを特徴とする請求項３乃至５のいずれか１項に記載のデータ検査装置。
【請求項７】
前記入力データが検出すべき特定種類のデータであるか否かを検査するための前記所定の項目毎の適合条件を含む検査知識を記憶する検査知識記憶手段と、
前記検査知識が有する前記適合条件を前記順列上の所定の位置に配置することにより前記検査知識の検査パタンを生成するパタン順列化手段と、
を更に備え、
前記バイナリ検査手段は、該生成された検査パタンの各項目の値を前記適合条件の有無のみを表す値で置き換えた前記バイナリ検査パタンを前記比較手段による前記バイナリ順列化データとの比較に用い、前記詳細検査手段は、該生成された検査パタンを用いて前記順列化データを検出することを特徴とする請求項２乃至６のいずれか１項に記載のデータ検査装置。
【請求項８】
前記データ入力手段が受理する入力データに含まれ得る全ての項目について、それぞれ一意に対応する要素を含む要素集合で構成された検査モデルを記憶する検査モデル記憶手段を更に備え、
前記データ順列化手段は、前記検査モデルから所定の手順により一意に確定する要素の順列を用いて順列化データを生成することを特徴とする請求項７に記載のデータ検査装置。
【請求項９】
前記パタン順列化手段は、前記検査モデルから前記所定の手順により一意に確定する要素の順列に対し、前記検査知識記憶手段に記憶された検査知識に含まれる各項目を配置することにより、前記検査パタンを生成することを特徴とする請求項８に記載のデータ検査装置。
【請求項１０】
前記バイナリ検査手段は、複数の前記バイナリ検査パタンが持つ各項目の条件の列を各々行ベクトル又は列ベクトルとした行列を構成し、また前記バイナリ順列化データが持つ各項目の値の列を同様にベクトルとし、該行列と該ベクトルとの積演算から前記バイナリ順列化データがいずれの前記バイナリ検査パタンに適合するかを判定することを特徴とする請求項４乃至９のいずれか１項に記載のデータ検査装置。
【請求項１１】
前記パタン順列化手段により生成された検査パタンを記憶する検査パタン記憶手段を更に備えることを特徴とする請求項７乃至１０のいずれか１項に記載のデータ検査装置。
【請求項１２】
前記複数の順列化データのうち、所定の条件により互いに相関する順列化データを、前記バイナリ検査手段による処理の前に１つの順列化データに統合する相関データ統合手段を更に備えることを特徴とする請求項１乃至１１のいずれか１項に記載のデータ検査装置。
【請求項１３】
前記データ順列化手段により生成された順列化データ、又は前記相関データ統合手段により統合された順列化データを記憶する順列化データ記憶手段を更に備えることを特徴とする請求項１乃至１２のいずれか１項に記載のデータ検査装置。
【請求項１４】
１つ以上の項目と該項目の値との組で構成された入力データを検査するデータ検査方法であって、
前記入力データが有する前記各項目の値を、予め用意された順列上の所定の位置に配置することにより順列化データを生成するデータ順列化手順と、
前記順列化データについて、所定の項目に値があるか否かで検査するバイナリ検査手順と、
予め用意された検査パタンを有し、前記所定の項目に値がある前記順列化データと、該検査パタンとを比較し、前記順列化データの各項目の値が該検査パタンの各項目が持つ条件を全て満たす前記順列化データを検出する詳細検査手順と、
を備えることを特徴とするデータ検査方法。
【請求項１５】
前記バイナリ検査手順は、前記順列化データの各項目の値を、該値の有無のみを表す別の値で置き換えることによりバイナリ順列化データを生成し、かつ該バイナリ順列化データを、前記所定の項目を有する前記順列で構成され、検出したい特徴を表す項目とそれ以外の項目とで互いに異なる値を持つバイナリ検査パタンと比較し、該順列化データのうち所定の条件を満たすバイナリ順列化データに対応した順列化データのみを前記詳細検査手順に渡すことを特徴とする請求項１４に記載のデータ検査方法。
【請求項１６】
前記バイナリ検査手順は、
前記バイナリ順列化データを生成するバイナリ化手順と、
前記バイナリ検査パタンを記憶するバイナリ検査パタン記憶手順と、
前記バイナリ順列化データと前記バイナリ検査パタンとの間で前記項目の各値を比較し、該比較結果が所定の条件を満たす場合に前記バイナリ順列化データに対応する前記順列化データを検出結果として前記詳細検査手順に渡す比較手順と、
を備えることを特徴とする請求項１５に記載のデータ検査方法。
【請求項１７】
前記所定の条件は、前記バイナリ順列化データと前記バイナリ検査パタンとの間で前記項目の各値をそれぞれ１次元のベクトルとし、ベクトル間の減算で正又は負のビットの有無を確認することを特徴とする請求項１５又は１６に記載のデータ検査方法。
【請求項１８】
前記バイナリ検査パタン記憶手順は、前記比較手順で使用する前記所定の条件を更に記憶することを特徴とする請求項１６又は１７に記載のデータ検査方法。
【請求項１９】
前記バイナリ検査手順は、前記比較手順により前記所定の条件を満たしたと判定された場合の前記バイナリ順列化データを記憶する適合事例記憶手順と、
前記バイナリ順列化データを、前記適合事例記憶手順で記憶されている前記バイナリ順列化データと比較し、合致したバイナリ順列化データがあれば、当該合致したバイナリ順列化データに対応する順列化データを前記バイナリ検査手順の検査結果とすると共に前記比較手順による処理を省略する事例照合手順と、
を更に備えることを特徴とする請求項１６乃至１８のいずれか１項に記載のデータ検査方法。
【請求項２０】
前記入力データが検出すべき特定種類のデータであるか否かを検査するための前記所定の項目毎の適合条件を含む検査知識を記憶する検査知識記憶手順と、
前記検査知識が有する前記適合条件を前記順列上の所定の位置に配置することにより前記検査知識の検査パタンを生成するパタン順列化手順と、
を更に備え、
前記バイナリ検査手順は、該生成された検査パタンの各項目の値を前記適合条件の有無のみを表す値で置き換えた前記バイナリ検査パタンを前記比較手順による前記バイナリ順列化データとの比較に用い、前記詳細検査手順は、該生成された検査パタンを用いて前記順列化データを検出することを特徴とする請求項１５乃至１９のいずれか１項に記載のデータ検査方法。
【請求項２１】
前記データ入力手順が受理する入力データに含まれ得る全ての項目について、それぞれ一意に対応する要素を含む要素集合で構成された検査モデルを記憶する検査モデル記憶手順を更に備え、
前記データ順列化手順は、前記検査モデルから所定の手順により一意に確定する要素の順列を用いて順列化データを生成することを特徴とする請求項２０に記載のデータ検査方法。
【請求項２２】
前記パタン順列化手順は、前記検査モデルから前記所定の手順により一意に確定する要素の順列に対し、前記検査知識記憶手順に記憶された検査知識に含まれる各項目を配置することにより、前記検査パタンを生成することを特徴とする請求項２１に記載のデータ検査方法。
【請求項２３】
前記バイナリ検査手順は、複数の前記バイナリ検査パタンが持つ各項目の条件の列を各々行ベクトル又は列ベクトルとした行列を構成し、また前記バイナリ順列化データが持つ各項目の値の列を同様にベクトルとし、該行列と該ベクトルとの積演算から前記バイナリ順列化データがいずれの前記バイナリ検査パタンに適合するかを判定することを特徴とする請求項１７乃至２２のいずれか１項に記載のデータ検査方法。
【請求項２４】
前記パタン順列化手順により生成された検査パタンを記憶する検査パタン記憶手順を更に備えることを特徴とする請求項２０乃至２３のいずれか１項に記載のデータ検査方法。
【請求項２５】
前記複数の順列化データのうち、所定の条件により互いに相関する順列化データを、前記バイナリ検査手順による処理の前に１つの順列化データに統合する相関データ統合手順を更に備えることを特徴とする請求項１４乃至２４のいずれか１項に記載のデータ検査方法。
【請求項２６】
前記データ順列化手順により生成された順列化データ、又は前記相関データ統合手順により統合された順列化データを記憶する順列化データ記憶手順を更に備えることを特徴とする請求項１４乃至２５のいずれか１項に記載のデータ検査方法。
【請求項２７】
１つ以上の項目と該項目の値との組で構成された入力データを検査するデータ検査プログラムであって、
前記入力データが有する前記各項目の値を、予め用意された順列上の所定の位置に配置することにより順列化データを生成するデータ順列化処理と、
前記順列化データについて、所定の項目に値があるか否かで検査するバイナリ検査処理と、
予め用意された検査パタンを有し、前記所定の項目に値がある前記順列化データと、該検査パタンとを比較し、前記順列化データの各項目の値が該検査パタンの各項目が持つ条件を全て満たす前記順列化データを検出する詳細検査処理と、
をコンピュータに実行させることを特徴とするデータ検査プログラム。
【請求項２８】
前記バイナリ検査処理は、前記順列化データの各項目の値を、該値の有無のみを表す別の値で置き換えることによりバイナリ順列化データを生成し、かつ該バイナリ順列化データを、前記所定の項目を有する前記順列で構成され、検出したい特徴を表す項目とそれ以外の項目とで互いに異なる値を持つバイナリ検査パタンと比較し、該順列化データのうち所定の条件を満たすバイナリ順列化データに対応した順列化データのみを前記詳細検査処理に渡すことを特徴とする請求項２７に記載のデータ検査プログラム。
【請求項２９】
前記バイナリ検査処理は、
前記バイナリ順列化データを生成するバイナリ化処理と、
前記バイナリ検査パタンを記憶するバイナリ検査パタン記憶処理と、
前記バイナリ順列化データと前記バイナリ検査パタンとの間で前記項目の各値を比較し、該比較結果が所定の条件を満たす場合に前記バイナリ順列化データに対応する前記順列化データを検出結果として前記詳細検査処理に渡す比較処理と、
をコンピュータに実行させることを特徴とする請求項２８に記載のデータ検査プログラム。
【請求項３０】
前記所定の条件は、前記バイナリ順列化データと前記バイナリ検査パタンとの間で前記項目の各値をそれぞれ１次元のベクトルとし、ベクトル間の減算で正又は負のビットの有無を確認することを特徴とする請求項２８又は２９に記載のデータ検査プログラム。
【請求項３１】
前記バイナリ検査パタン記憶処理は、前記比較処理で使用する前記所定の条件を更に記憶することを特徴とする請求項２９又は３０に記載のデータ検査プログラム。
【請求項３２】
前記バイナリ検査処理は、前記比較処理により前記所定の条件を満たしたと判定された場合の前記バイナリ順列化データを記憶する適合事例記憶処理と、
前記バイナリ順列化データを、前記適合事例記憶処理で記憶されている前記バイナリ順列化データと比較し、合致したバイナリ順列化データがあれば、当該合致したバイナリ順列化データに対応する順列化データを前記バイナリ検査処理の検査結果とすると共に前記比較処理による処理を省略する事例照合処理と、
を更にコンピュータに実行させることを特徴とする請求項２９乃至３１のいずれか１項に記載のデータ検査プログラム。
【請求項３３】
前記入力データが検出すべき特定種類のデータであるか否かを検査するための前記所定の項目毎の適合条件を含む検査知識を記憶する検査知識記憶処理と、
前記検査知識が有する前記適合条件を前記順列上の所定の位置に配置することにより前記検査知識の検査パタンを生成するパタン順列化処理と、
を更にコンピュータに実行させ、
前記バイナリ検査処理は、該生成された検査パタンの各項目の値を前記適合条件の有無のみを表す値で置き換えた前記バイナリ検査パタンを前記比較処理による前記バイナリ順列化データとの比較に用い、前記詳細検査処理は、該生成された検査パタンを用いて前記順列化データを検出することを特徴とする請求項２８乃至３２のいずれか１項に記載のデータ検査プログラム。
【請求項３４】
前記データ入力処理が受理する入力データに含まれ得る全ての項目について、それぞれ一意に対応する要素を含む要素集合で構成された検査モデルを記憶する検査モデル記憶処理を更にコンピュータに実行させ、
前記データ順列化処理は、前記検査モデルから所定の処理により一意に確定する要素の順列を用いて順列化データを生成することを特徴とする請求項３３に記載のデータ検査プログラム。
【請求項３５】
前記パタン順列化処理は、前記検査モデルから前記所定の処理により一意に確定する要素の順列に対し、前記検査知識記憶処理に記憶された検査知識に含まれる各項目を配置することにより、前記検査パタンを生成することを特徴とする請求項３４に記載のデータ検査プログラム。
【請求項３６】
前記バイナリ検査処理は、複数の前記バイナリ検査パタンが持つ各項目の条件の列を各々行ベクトル又は列ベクトルとした行列を構成し、また前記バイナリ順列化データが持つ各項目の値の列を同様にベクトルとし、該行列と該ベクトルとの積演算から前記バイナリ順列化データがいずれの前記バイナリ検査パタンに適合するかを判定することを特徴とする請求項３０乃至３５のいずれか１項に記載のデータ検査プログラム。
【請求項３７】
前記パタン順列化処理により生成された検査パタンを記憶する検査パタン記憶処理を更にコンピュータに実行させることを特徴とする請求項３３乃至３６のいずれか１項に記載のデータ検査プログラム。
【請求項３８】
前記複数の順列化データのうち、所定の条件により互いに相関する順列化データを、前記バイナリ検査処理による処理の前に１つの順列化データに統合する相関データ統合処理を更にコンピュータに実行させることを特徴とする請求項２７乃至３７のいずれか１項に記載のデータ検査プログラム。
【請求項３９】
前記データ順列化処理により生成された順列化データ、又は前記相関データ統合処理により統合された順列化データを記憶する順列化データ記憶処理を更にコンピュータに実行させることを特徴とする請求項２７乃至３８のいずれか１項に記載のデータ検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ検査装置、データ検査方法、及びデータ検査プログラムに関する。
【背景技術】
【０００２】
情報処理社会と呼ばれるようになった昨今、人々や情報処理装置自体に対して情報処理技術（ＩＴ）を用いた様々なサービスが提供され、それらのサービスの利用に関するログが日々記録されている。そうして記録された大量のログは、人々の行動や情報処理装置の動作における問題又はチャンスの発見に大変有用である。例えば、コンピュータやそのネットワークから収集したログを分析することにより、ユーザやコンピュータウィルス等によるセキュリティ上問題となる行為を発見したり、部材調達のシステムにおいても、同様に発注や物流のログから調達遅れに繋がる問題の早期発見や事後の原因調査が可能である。
【０００３】
しかしながら、記録されるログはサービスの種類と同様に様々な要素構成と値を持ち、かつ大量に生成され続けている。更には、複数のログの組み合わせによって初めて発見できる問題やチャンスもある。したがって、大量・複数種類のログの組み合わせから、注目すべきものを素早く検出する手段が望まれている。
【０００４】
ログの分析に関連する技術としては、非特許文献１のような統合ログ管理用のアプライアンス製品があり、ＩＤＳ（侵入検知システム）やファイアウォール等の複数のセキュリティ装置から出力されるログから、一定時間の統計量が基準値を超えたログの検出や、パタン照合による異常検知等を行なう機能を備えている。
【非特許文献１】ＲＳＡ  ｅｎＶｉｓｉｏｎ（http://japan.rsa.com/node.aspx?id=3170）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、以上のような関連する技術では、取得した全てのログを検出したい問題やチャンスの検出条件と逐一照合しなければならないため、ログのデータ量が増加するとその分だけ必要な処理時間も増加し、タイムリーな検出処理が困難になってくる。
【０００６】
本発明の目的は、上記に鑑みてなされたもので、複数の要素で構成されるログ等の大量のデータから、特定の条件を満たすものを素早く検出できるデータ検査装置、データ検査方法、及びデータ検査プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述の問題を解決するため、本発明に係るデータ検査装置は、１つ以上の項目と該項目の値との組で構成された入力データを検査するデータ検査装置であって、前記入力データが有する前記各項目の値を、予め用意された順列上の所定の位置に配置することにより順列化データを生成するデータ順列化手段と、前記順列化データについて、所定の項目に値があるか否かで検査するバイナリ検査手段と、予め用意された検査パタンを有し、前記所定の項目に値がある前記順列化データと、該検査パタンとを比較し、前記順列化データの各項目の値が該検査パタンの各項目が持つ条件を全て満たす前記順列化データを検出する詳細検査手段と、を備えることを特徴とする。
【０００８】
上述の問題を解決するため、本発明に係るデータ検査方法は、１つ以上の項目と該項目の値との組で構成された入力データを検査するデータ検査方法であって、前記入力データが有する前記各項目の値を、予め用意された順列上の所定の位置に配置することにより順列化データを生成するデータ順列化手順と、前記順列化データについて、所定の項目に値があるか否かで検査するバイナリ検査手順と、予め用意された検査パタンを有し、前記所定の項目に値がある前記順列化データと、該検査パタンとを比較し、前記順列化データの各項目の値が該検査パタンの各項目が持つ条件を全て満たす前記順列化データを検出する詳細検査手順と、を備えることを特徴とする。
【０００９】
上述の問題を解決するため、本発明に係るデータ検査プログラムは、１つ以上の項目と該項目の値との組で構成された入力データを検査するデータ検査プログラムであって、前記入力データが有する前記各項目の値を、予め用意された順列上の所定の位置に配置することにより順列化データを生成するデータ順列化処理と、前記順列化データについて、所定の項目に値があるか否かで検査するバイナリ検査処理と、予め用意された検査パタンを有し、前記所定の項目に値がある前記順列化データと、該検査パタンとを比較し、前記順列化データの各項目の値が該検査パタンの各項目が持つ条件を全て満たす前記順列化データを検出する詳細検査処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、データ順列化手段が、入力データが有する各項目の値を、順列上の所定の位置に配置して順列化データを生成し、バイナリ検査手段が、順列化データに所定の項目に値があるか否かを検査することにより、大量のデータから注目すべき特徴を持つデータを高速に検出することができるデータ検査装置、データ検査方法、及びデータ検査プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
［第１の実施形態］
以下、本発明の第１の実施形態を、図面を参照して説明する。ここで、図１は、本発明の第１の実施形態におけるデータ検査装置を示すブロック図である。
【００１２】
図１を参照すると、本発明の第１の実施形態に係るデータ検査装置は、データ入力手段１と、データ順列化手段２と、バイナリ検査手段３と、詳細検査手段４と、検査結果出力手段５とを備える。
【００１３】
ここで、データ入力手段１は、要素として１つ以上の項目とその項目の値とで構成される１種類以上のデータを入力する手段を提供する。各項目は、更にそれぞれ項目名と項目の値の組で構成される。
【００１４】
対象となる典型的なデータは、例えばコンピュータや通信機器等で収集されるログデータであり、図９に示したようなファイル調査ログ、ファイルアクセスログ、デバイス接続ログがその例である。
【００１５】
図９の例のように、入力されるデータは、日付等の互いに共通の要素やデバイス種別等の個別の要素で構成されている。このようなデータの要素構成は、１次元の項目列に限定されず、一定の手順によって要素を１次元の順列に一意に変換できる構成であれば、より行数の多い表や木構造であっても良い。
【００１６】
データ順列化手段２は、データ入力手段１によって入力されたデータが有する各項目の値を、あらかじめ用意した順列上の所定の位置に配置することにより、所定の順序の項目列からなる順列化データに変換する。図２は、データ順列化手段２により各種のログを順列化データに変換する例を示した説明図である。順列化データは、対応テーブル２１のような一定順序の項目列でその構造が決定される。対応テーブル２１には、データ入力手段１によって入力される各種データが持つ項目のうち、後段の検査で必要となりうる全ての項目が含まれている。
【００１７】
データ順列化手段２では、前記対応テーブル２１に基づき、デバイス接続ログ２２ａは順列化データ２２ｂのように変換され、同様にファイルアクセスログ２３ａは順列化データ２３ｂのように変換される。対応テーブル２１に含まれる項目のうち、デバイス接続ログ２２ａやファイルアクセスログ２３ｂに含まれていない項目については、順列化データ２２ｂ及び２３ｂでは項目のみで値は無い。
【００１８】
バイナリ検査手段３は、データ順列化手段２で一定の形式に変換された順列化データを、所定の項目に値があるか否かで検査する。図３は、バイナリ検査手段３の機能構成を詳細化したブロック図である。
【００１９】
バイナリ化手段３１は、前述の順列化データを構成する各項目について、その値の有無のみを表す別の値で置き換えることによりバイナリ順列化データを生成する。例えば、その項目に値がある場合は１、値が無い場合は０をそれぞれ当該項目の新たな値とすることでバイナリ順列化データを生成する。
【００２０】
これに対して比較手段３２は、生成されたバイナリ順列化データを、バイナリ検査パタン記憶手段３３に記憶されているバイナリ検査パタンと比較し、所定の条件を満たすバイナリ順列化データに対応した順列化データのみを詳細検査手段４に渡す。ここで、バイナリ検査パタンは、対応テーブル２１に記された所定の項目を有する順列で構成され、検出したい特徴を表す項目とそれ以外の項目とで互いに異なる値を持つものである。
【００２１】
図５にバイナリ検査手段３による具体的な処理の例を示す。バイナリ化手段３１は、順列化データ５１を構成する項目のうち、値を持つ項目Ａ、Ｂ、Ｆ、Ｇ、Ｋに対しては１を、その他の項目に対しては０を値とする新たなバイナリ順列化データ５２を生成する。
【００２２】
比較手段３２は、バイナリ検査パタン記憶手段３３に記憶されているバイナリ検査パタン５３と、バイナリ順列化データ５２を比較し、所定の条件を満たすか否かを確認する。
【００２３】
例えば、バイナリ検査パタン５３で値が１の項目全てについて、バイナリ順列化データ５２の項目の値が１であったならば条件を満たしているとする。これは、両方のデータをそれぞれ１次元のベクトルとし、ベクトル間の減算で正又は負のビットの有無を確認することにより容易に判定できる。このような所定の条件は、原則としてバイナリ検査パタン記憶手段３３に記憶させておく。
【００２４】
図４は、バイナリ検査手段３の別の機能構成を表すブロック図である。図４において、バイナリ化手段３１と、比較手段３２と、バイナリ検査パタン記憶手段３３は、それぞれ図３における同名の手段と同様である。図４の構成では、バイナリ検査手段３は、適合事例記憶手段３４と、事例照合手段３５とを更に備える。
【００２５】
適合事例記憶手段３４は、比較手段３２で前記バイナリ検査パタンに合致したバイナリ順列化データ５２を記憶する。既に記憶していたいずれかのバイナリ順列化データ５２と同一であった場合には一方のみを記憶する。
【００２６】
事例照合手段３５は、前記適合事例記憶手段３４に記憶されている適合バイナリ順列化データと、バイナリ化手段３１から取得した新規のバイナリ順列化データ５２とを比較し、合致すれば次段の比較手段３２の処理を省略して、そのまま当該新規のバイナリ順列化データに対応する順列化データをバイナリ検査手段３の検査結果として詳細検査手段４に渡す。
【００２７】
図４のように構成したバイナリ検査手段３は、比較手段３２において、バイナリ検査パタンに順列化データが適合するか否かを判定するための条件がより複雑であった場合に好適な構成である。例えば、バイナリ検査パタンが持つ項目のうち、特定の２つ以上の項目セットについていずれか１つの値が１であればそれらの項目セット全てに関して適合すると判断する場合、又はある特定の項目の値と別の特定の項目の値とが異なる場合のみ適合すると判断する場合に、より簡単な過去の適合事例との照合を先に行なうことで複雑な比較を省略できる可能性がある。
【００２８】
詳細検査手段４は、バイナリ検査手段３から渡された順列化データについて、当該順列化データを構成する各項目の値をより詳細な条件で検査する。図６に詳細検査手段４による具体的な処理の例を示す。
【００２９】
詳細検査手段４は、順列化データ６１を受け取ると、これを予め用意された検査パタン６２と比較する。検査パタン６２は、バイナリ検査手段３で利用された少なくとも１つのバイナリ検査パタンに対応する。この例では、検査パタン６２は図５のバイナリ検査パタン５３に対応し、バイナリ検査パタン５３で値が１の項目に、検査パタン６２では具体的な条件が定義されている。一方、バイナリ検査パタン５３で値が０の項目については、検査パタン６２では何も条件を定義されていない。このような検査パタン６２の各項目が持つ条件を、被検査対象である順列化データ６１が全て満たせば、順列化データ６１は検査パタン６２が表すある特定種類のデータとして検査結果出力手段５に出力される。
【００３０】
図６の例では、順列化データ６１が項目Ａ、Ｂ、Ｆ、Ｇ、Ｋにそれぞれ値を持ち、検査パタン６２は項目Ａ、Ｂ、Ｋにそれぞれ値を持つこと（ｎｏｔ  ＮＵＬＬ）、及び項目Ｇ（製造番号）の値が「１２５１３５以外であること」（≠１２５１３５）を条件としている。順列化データ６１は検査パタン６２の全ての条件を満たすため、結果は詳細検査結果６３のようになる。ここで、例えば検査パタン６２が「許可されている製造番号以外のデバイスをホストマシンに接続した」という問題行為を表す場合、順列化データ６１はこの条件を満たす問題行為として検出される。
【００３１】
以上のような構成と処理により、本発明の第１の実施形態によるデータ検査装置は、入力されたデータに対してまず必要な項目に値を持つか否かのみの簡易なバイナリ検査で候補を絞り込み、絞り込まれた候補に対してのみ詳細な検査を行なうため、大量のデータを高速に検査することができる。また、バイナリ検査パタンと詳細検査用の検査パタンの組を複数用意しておくことで、複数種類の問題やチャンスを識別しながら検査することができる。
【００３２】
図１５は、第１の実施形態によるデータ検査装置のハードウェア構成を示すブロック図である。
【００３３】
図１５を参照すると、本実施形態によるデータ検査装置１５は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一次退避領域に用いられる主記憶部１５２、液晶ディスプレイ、プリンタ、スピーカー等によるデータの出力部１５３、キーボードやマウス、スキャナ等によるデータの入力部１５４、周辺機器と接続してデータの送受信を行なう通信部１５５、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置等である補助記憶部１５６、以上の各構成要素を相互に接続するシステムバス１５７等を備えている。
【００３４】
本発明の実施形態によるデータ検査装置１５は、その動作を、データ検査装置１５内部にそのような機能を実現するプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータのＣＰＵ１５１で実行することにより、ソフトウェア的に実現することができる。
【００３５】
すなわち、ＣＰＵ１５１は、補助記憶部１５６に格納されているプログラムを、主記憶部１５２にロードして実行し、データ検査装置１５の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
【００３６】
以上説明したデータ検査装置１５の動作にかかる一連のデータ検査方法によれば、様々な項目の組で構成される１種類以上のデータを入力とし、それらのデータから、まず処理量の少ないバイナリ検査によって検出したい問題やチャンスの候補を絞り込み、絞り込んだ候補についてのみ詳細検査を行なうことで、高速な検査が実現できる。
［第２の実施形態］
本発明の第２の実施形態について説明する。ここで、図７は、本発明によるデータ検査装置の第２の実施形態を示すブロック図である。
【００３７】
図７において、データ入力手段１、データ順列化手段２ａ、バイナリ検査手段３ａ、詳細検査手段４ａ、検査結果出力手段５は、それぞれ第１の実施形態における同名の手段と同様に機能する。
【００３８】
図７を参照すると、第２の実施形態では、第１の実施形態に加えて検査モデル記憶手段６と、検査知識記憶手段７と、パタン順列化手段８と、検査パタン記憶手段９と、相関データ統合手段１０と、順列化データ記憶手段１１とを更に備える。
【００３９】
検査モデル記憶手段６は、データ入力手段１によって入力されうるデータが持つ全種類の項目を要素として含む検査モデルを記憶する。当該検査モデルは、例えば図８の上部に示したような木構造で表現できる。図８の検査モデル８１は、「ログ」というルートノードと、それぞれ前記各項目に相当する末端ノードと、幾つかの末端ノードをまとめた中間ノードで構成されている。
【００４０】
第２の実施形態におけるデータ順列化手段２ａは、前記検査モデル８１から所定の手順でそれぞれ特定の項目を表す末端ノードを参照し、データ入力手段１で入力されたデータを順列化データに変換する。又は、前記検査モデル８１から所定の手順で収集した末端ノード名すなわちデータの項目名の順列を対応テーブル８２として予め記憶しておき、第１の実施形態におけるデータ順列化手段１と同様に対応テーブルを用いてデータを順列化データに変換してもよい。この所定の手順としては、例えば木構造を深さ優先で探索し、末端ノードを見つけた時点で記録していく方法を用いることができる。検査モデルの表現方法は、一定の手順により１つの静的な検査モデルから項目の一意な順列を得られるならば、木構造以外の構造であってもよい。
【００４１】
検査知識記憶手段７は、検出したい特定種類のデータが満たすべき条件を前記検査モデルの構造に基づいて表現した検査知識を記憶する。図１０は検査知識の例である。検査知識１０１は、検査モデル８１の部分木として表現され、データの項目として日時の日付及び時刻と、ファイルのファイルパス及び重要度と、デバイスの種別及び製造番号と、操作種別と、ホストマシンのマシン名及びＩＰアドレスとを含む。
【００４２】
又、ファイルの重要度、デバイスの種別及び製造番号、操作種別に対しては、それぞれ特定の条件が付属している。図１０によれば、例えば検査知識１０１が「非許可記録デバイスへの重要ファイル書き込み」というセキュリティ上の問題行為を表すとすると、そのような行為を示すデータは、ファイルの重要度に相当する項目を持ち、かつその項目の値が１以上（“≧１”）であることが必要条件の１つとなる。
【００４３】
パタン順列化手段８は、検査知識記憶手段７に記憶されている１つ以上の検査知識をそれぞれ一定の項目列からなる検査パタンに変換する。例えば、図１２の例のように、検査知識１２１から検査パタン１２２を生成する。ここで、パタン順列化手段８は、まず検査モデル記憶手段６に記憶された検査モデルを参照し、前述のデータ順列化手段２aと同様に、例えば深さ優先探索で検査モデルから末端ノードを収集し、データの項目列を生成する。
【００４４】
図１２の例では、当該データの項目列は図８の対応テーブル８２と同じく「日付、時刻、ファイルパス、重要度、種別、名前、製造番号、プロセス名、ウインドウタイトル、操作種別、マシン名、ＩＰアドレス」となり、各項目名をそれぞれアルファベットのＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、Ｊ、Ｋ、Ｌに置き換えると図１２の検査パタン１２２の２行目のようになる。加えて、各項目に対応する検査知識の条件を検査知識１２１から取得して検査パタン１２２に割り振ると、検査パタン１２２の３行目のようになる。
【００４５】
更に、検査パタン１２２の１行目には、検査知識１２１の各中間ノードとその下位の末端ノードとの関係を論理演算子で表した値を記載している。検査知識１２１では、中間ノード「ホストマシン」については末端ノード「マシン名」と「ＩＰアドレス」のうち、いずれかが値を持てば良いという意味で、「ＯＲ」関係としている。その他の中間ノードについては、下位の末端ノード全てが特定の条件を満たす値を持つ必要があるという意味で、「ＡＮＤ」関係としている。なお、末端ノードに条件が指定されていない場合は、その末端ノードが表す項目が何らかの値を持つことが条件である。
【００４６】
以上のようにして生成された検査パタン１２２は、検査パタン記憶手段９に記憶される。
【００４７】
相関データ統合手段１０は、相関する複数の順列化データを統合し、１つの順列化データを生成する。図９は相関する３つのデータの例を、図１１は図９の各データから得られた順列化データと、それら３つの順列化データの統合例をそれぞれ示した説明図である。
【００４８】
順列化データ同士が相関するか否かの判定は、例えば一定の時間内に取得した順列化データの間で、所定の項目の値が同じ又は一定の差異の範囲内である場合に、相関すると判定することができる。また、相関する順列化データ同士を１つの順列化データに統合するか否かも、所定の項目の値が同じであることや、競合する項目の値を持たないことを条件とすることができる。
【００４９】
図１１の例においては、順列化データ１１１、順列化データ１１２、順列化データ１１３が、それぞれの取得日時を表す項目Ａ及びＢの差が１８０秒以内であり、且つホストマシンを表す項目Ｋの値がいずれも“ａｌｉｃｅ”であることから、互いに相関データと判断している。更に、これら３つの順列化データは、日時を表す項目Ａ及びＢ以外の項目で相互に異なる値を持つ項目が無いことから、統合可能であると判断し、統合順列化データ１１４に統合している。
【００５０】
順列化データ記憶手段１１は、前記のような統合順列化データを含む順列化データを記憶する。ただし、統合順列化データを記憶する場合、その元となった個々の順列化データは記憶しない。又、後段のバイナリ検査手段３ａで参照された順列化データは、詳細検査手段４ａ及び検査結果出力手段５による処理を終えた後、順列化データ記憶手段１１から削除されるようにしてもよい。
【００５１】
第２の実施形態におけるバイナリ検査手段３ａは、検査パタン記憶手段９に記憶されている検査パタンからバイナリ検査パタンを生成し、第１の実施形態におけるバイナリ検査手段３と同様に検査を行なう。図１２は、検査パタン１２２からバイナリ検査パタン１２３を生成する例を示している。バイナリ検査パタンの生成は、順列化データからバイナリ順列化データを生成する際と同様に、検査パタンが持つ各項目について、条件の記載がある項目の値を１に、それ以外の項目の値を０にした結果をバイナリ検査パタンとする。
【００５２】
図１３は、バイナリ検査手段３ａによる検査手順として、前記のバイナリ検査手段３による検査手順とは別の例を示した説明図である。
【００５３】
バイナリ検査パタン１３１からは、［１  １  １  １  １  ０  １  ０  ０  １  １  １］という各項目の値で構成されるベクトル１を生成でき、別の例えば２種類のバイナリ検査パタンからもそれぞれ同様に図１３のようなベクトル２、ベクトル３を生成できる。すると、これら３つのベクトルから、各ベクトルを行とした行列Ｒを構成できる。
【００５４】
一方、バイナリ検査パタン１３１に適合するバイナリ順列化データを検出するためには、バイナリ検査パタン１３１から生成した前述のベクトル１と、同様に統合バイナリ順列化データの各項目の値で構成されるベクトルＶＬとの積が、ベクトル１で値が１の項目数すなわち必要ビット合計値を上回れば良いことになる。ただし、バイナリ検査パタン１３１では項目Ｋと項目Ｌがいずれか一方のみ値を持てば良いというＯＲ関係にあるため、前記必要ビット合計値は、ベクトル１で値が１の項目数より１つ少ない８以上であれば良い。
【００５５】
同様にしてベクトル２とベクトル３それぞれの必要ビット合計値が４と７であったとすると、これらをそれぞれ要素とする閾値ベクトルＶＳ＝［８  ４  ７］（Ｔ）（ここで（Ｔ）は行ベクトルから列ベクトルへの変換を意味する）と、前記行列Ｒとバイナリ順列化データのベクトルＶＬ（Ｔ）との積から閾値ベクトルＶＳを減じた行列演算結果のベクトルにおいて、値が０以上の要素に対応する行ベクトルが当該バイナリ順列化データの適合するバイナリ検査パタンに対応する。図１３の例では、前記行列演算結果が［０  ０  −１］（Ｔ）となり、１行目と２行目の値が０以上であることから、ベクトル１及びベクトル２に対応するバイナリ検査パタンが適合したことになる。
【００５６】
バイナリ検査手段３ａは、図１３の手順によって適合したバイナリ検査パタンが１つ以上得られると、そのバイナリ検査パタンそれぞれに対応する検査パタンと、前記バイナリ順列化データ（又は統合バイナリ順列化データ）に対応した元の順列化データ（又は統合順列化データ）との組を詳細検査手段４ａに渡す。
【００５７】
詳細検査４ａでは、例えば図１４に示した手順の例のように、順列化データ（又は統合順列化データ）と各検査パタンとを照合した検査を行なう。図１４の例では、統合順列化データ１４１の全１２項目中、項目Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｊ、Ｋの９項目に値を持つ。これと、項目Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｇ、Ｊ、Ｋ、Ｌの９項目に条件が定義されている検査パタン１４２とを項目毎に照合する。統合順列化データ１４１と検査パタン１４２の両方に値又は条件がある場合は、それらを比較して前記値が前記条件を満たせばその項目についてはＯＫとなる。
【００５８】
ある項目について、値が条件を満たさない場合、もしくは値が無く条件のみがある場合には、その項目についてはＮＧとなる。値も条件も無い項目についてはＯＫとする。図１４の例では、項目Ｌのみが値を持たず条件が定義されているためＮＧとなり、他の項目は全てＯＫとなる。
【００５９】
ただし、検査パタン１４２では項目Ｋと項目ＬがＯＲ関係にあり、いずれか一方の条件を満たせば両項目の上位項目としてはＯＫとなるため、結果は詳細検査結果１４３のようになり、統合順列化データ１４１は検査パタン１４２に適合したと判断する。適合した（統合）順列化データは、例えば適合対象の検査パタン名と共に検査結果出力手段５に渡され、ディスプレイ画面等を持つ出力装置に出力される。
【００６０】
第２の実施形態によるデータ検査装置は、図１５に示した第１の実施形態によるデータ検査装置と同じハードウェア構成により実現可能である。
【００６１】
本実施形態によれば、第１の実施形態と比較して、相関する複数のデータの組み合わせからでも１つの問題やチャンスを発見できる。また、１つの順列化データ又は相関する順列化データを統合した統合順列化データに対して、複数の検査パタンとのバイナリ検査をまとめて行なうことで、候補データの絞込みを効率化できる。更に、検査モデル及び同検査モデルに基づいて表現される検査知識によって、どのような問題やチャンスをどのような項目に対する条件から検出するのかを利用者にも分かり易く表現でき、検査知識の追加や変更も容易になる。
【００６２】
以上、好ましい実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の技術的範囲内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【００６３】
本発明は、日々収集され蓄積される大量のログデータから、セキュリティ上の問題等迅速な対処が必要な事項や、特定の組み合わせで商品が売れた場合等のチャンスを漏れなく迅速に検出する際に有効である。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施形態によるデータ検査装置の機能構成を示すブロック図である。
【図２】本発明の第１の実施形態のデータ順列化手段によるデータ順列化の例を示す説明図である。
【図３】本発明の第１の実施形態によるバイナリ検査手段の機能構成を示すブロック図である。
【図４】本発明の第１の実施形態によるバイナリ検査手段の別の機能構成を示すブロック図である。
【図５】本発明の第１の実施形態のバイナリ検査手段による検査の例を示す説明図である。
【図６】本発明の第１の実施形態の詳細検査手段による検査の例を示す説明図である。
【図７】本発明の第２の実施形態によるデータ検査装置の機能構成を示すブロック図である。
【図８】検査モデル及び対応テーブルの例を示す説明図である。
【図９】本発明の第２の実施形態において相関するデータの例を示す説明図である。
【図１０】本発明の第２の実施形態における検査知識の例を示す説明図である。
【図１１】本発明の第２の実施形態による相関するデータの統合を示す説明図である。
【図１２】本発明の第２の実施形態によるパタン順列化手段の説明図である。
【図１３】本発明の第２の実施形態によるバイナリ検査手段の説明図である。
【図１４】本発明の第２の実施形態による詳細検査手段の説明図である。
【図１５】本発明の第１及び第２の実施形態によるデータ検査装置のハードウェア構成を示す説明図である。
【符号の説明】
【００６５】
１  データ入力手段
２  データ順列化手段
２ａ  データ順列化手段
３  バイナリ検査手段
３ａ  バイナリ検査手段
４  詳細検査手段
４ａ  詳細検査手段
５  検査結果出力手段
６  検査モデル記憶手段
７  検査知識記憶手段
８  パタン順列化手段
９  検査パタン記憶手段
１０  相関データ統合手段
１１  順列化データ記憶手段
２１  対応テーブル
２２ａ  デバイス接続ログ
２２ｂ  デバイス接続ログの順列化データ
２３ａ  ファイルアクセスログ
２３ｂ  ファイルアクセスログの順列化データ
３１  バイナリ化手段
３２  比較手段
３３  バイナリ検査パタン記憶手段
３４  適合事例記憶手段
３５  事例照合手段
５１  順列化データ
５２  バイナリ順列化データ
５３  バイナリ検査パタン
６１  順列化データ
６２  検査パタン
６３  詳細検査結果
８１  検査モデル
８２  対応テーブル
９１  ファイル調査ログ
９２  ファイルアクセスログ
９３  デバイス接続ログ
１０１  検査知識
１１１  順列化データ
１１２  順列化データ
１１３  順列化データ
１１４  統合順列化データ
１２１  検査知識
１２２  検査パタン
１２３  バイナリ検査パタン
１３１  バイナリ検査パタン
１４１  統合順列化データ
１４２  検査パタン
１４３  詳細検査結果
１５  データ検査装置
１５１  ＣＰＵ
１５２  主記憶部
１５３  出力部
１５４  入力部
１５５  通信部
１５６  補助記憶部
１５７  システムバス
【図１】
2010146263.tif 000003
【図２】
2010146263.tif 000004
【図３】
2010146263.tif 000005
【図４】
2010146263.tif 000006
【図５】
2010146263.tif 000007
【図６】
2010146263.tif 000008
【図７】
2010146263.tif 000009
【図８】
2010146263.tif 000010
【図９】
2010146263.tif 000011
【図１０】
2010146263.tif 000012
【図１１】
2010146263.tif 000013
【図１２】
2010146263.tif 000014
【図１３】
2010146263.tif 000015
【図１４】
2010146263.tif 000016
【図１５】
2010146263.tif 000017