(57)【要約】【課題】膨大な量のログの中から複数行のログで表現される、特定の操作・行動のログを見つけ出すことを可能にした特定操作ログ抽出装置を提供する。【解決手段】ログデータ蓄積部１と、状態遷移表１６を格納するメモリ３と、中央演算装置２と、抽出ログ出力部４とを備える特定操作ログ抽出装置であって、中央演算装置２は、現在の状態を初期状態に変更する手段と、状態遷移表１６に現在の状態と読み込んだログの条件に合致するものがあれば現在の状態を状態遷移表１６に従って次の状態に変更する手段と、状態遷移表１６に現在の状態と読み込んだログの条件に合致するものがなければ、現在の状態が終了状態なら合致したログを抽出ログ出力部４に出力し、出力後、又は、現在の状態が終了状態でない場合、現在の状態を初期状態に変更する手段等を備えている。【選択図】図１
2011065538.tif 000002
【特許請求の範囲】
【請求項１】
ログデータを蓄積するログデータ蓄積部と、
ログ抽出プログラムと現在の状態、初期状態、及び、終了状態を示すデータと状態遷移表とを格納するメモリと、
前記メモリに格納された前記ログ抽出プログラムに従って前記ログデータ蓄積部のログを１件ずつ処理する中央演算装置と、
抽出ログを出力する抽出ログ出力部とを備えた特定操作ログ抽出装置であって、
前記中央演算装置は、
現在の状態を初期状態に変更する手段と、
前記ログデータ蓄積部に未処理のログがあるか検索する手段と、
未処理のログがあればログを１件読み込む手段と、
前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがあれば現在の状態を前記状態遷移表に従って次の状態に変更する手段と、
変更後に、前記ログデータ蓄積部に未処理のログがあるか検索する処理に戻る手段と、
前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがなければ、現在の状態が終了状態なら合致したログを前記抽出ログ出力部に出力し、出力後、又は、現在の状態が終了状態でない場合、現在の状態を初期状態に変更する手段と、
初期状態に変更後に、前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがあれば現在の状態を前記状態遷移表に従って次の状態に変更する処理に進む手段と、
前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがなければ、前記ログデータ蓄積部に未処理のログがあるか検索する処理に戻る手段と、
前記ログデータ蓄積部に未処理のログがない場合は、現在の状態が終了状態なら合致したログを前記抽出ログ出力部に出力し、出力後、又は、現在の状態が終了状態でない場合は処理を終了する手段とを備えたことを特徴とする特定操作ログ抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順序性のあるログの集合から、特定の操作にマッチするログのみを抽出し、出力する特定操作ログ抽出装置に関するものである。
【背景技術】
【０００２】
２００６年の金融商品取引法の成立により、内部統制の強化が図られた。企業会計審議会内部統制部会の『財務報告に係る内部統制の評価及び監査の基準並びに財務報告に係る内部統制の評価及び監査に関する実施基準の設定について（意見書）』によると、必要な情報が適時かつ適切に、識別、把握されなければならないとされている。また、内部統制強化の観点だけでなく、情報漏洩の防止、検知の観点からも、ログの重要性が増している。
【０００３】
多くの場合、ユーザの１つの操作・行動に対して複数行のログが出力されるため、ログから特定のユーザ操作を見つけるためには複数行のログから目的の操作・行動に合致するものを見つけ出す必要がある。しかし、実際はログからユーザ操作を見つけ出すために、ログをDBMS（Database Management System）に格納しSQL文を発行して条件に合致するログを見つけ出すという手法が取られているが、この方法では複数行のログの関連を見ることが困難である。
なお、本発明に関連する公知技術文献としては下記の特許文献１がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2006-350654号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
目的の操作・行動を監視・検知するためには、膨大な量のログの中から目的の操作・行動を見つけ出す必要がある。しかし、多くの場合、目的の操作・行動に関連するログは膨大な量のログのごく一部であり、ほとんどのログは目的の操作・行動とは無関係のログである。
【０００６】
また、１つの操作・行動によって１行だけログが出力されるというのは稀で、一般的に複数行のログが出力される。そのため、目的の操作・行動を見つけ出すためには、単一のログを見つけ出すだけでは不十分で、複数行のログから目的の操作・行動に合致するものを見つけ出す必要がある。
【０００７】
以上の現状に鑑み、本発明は、膨大な量のログの中から複数行のログで表現される、特定の操作・行動のログを見つけ出すことを可能にした特定操作ログ抽出装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決すべく、本発明は以下の構成を提供する。
請求項１に係る発明は、ログデータを蓄積するログデータ蓄積部と、
ログ抽出プログラムと現在の状態、初期状態、及び、終了状態を示すデータと状態遷移表とを格納するメモリと、
前記メモリに格納された前記ログ抽出プログラムに従って前記ログデータ蓄積部のログを１件ずつ処理する中央演算装置と、
抽出ログを出力する抽出ログ出力部とを備えた特定操作ログ抽出装置であって、
前記中央演算装置は、
現在の状態を初期状態に変更する手段と、
前記ログデータ蓄積部に未処理のログがあるか検索する手段と、
未処理のログがあればログを１件読み込む手段と、
前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがあれば現在の状態を前記状態遷移表に従って次の状態に変更する手段と、
変更後に、前記ログデータ蓄積部に未処理のログがあるか検索する処理に戻る手段と、
前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがなければ、現在の状態が終了状態なら合致したログを前記抽出ログ出力部に出力し、出力後、又は、現在の状態が終了状態でない場合、現在の状態を初期状態に変更する手段と、
初期状態に変更後に、前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがあれば現在の状態を前記状態遷移表に従って次の状態に変更する処理に進む手段と、
前記状態遷移表に現在の状態と読み込んだログの条件に合致するものがなければ、前記ログデータ蓄積部に未処理のログがあるか検索する処理に戻る手段と、
前記ログデータ蓄積部に未処理のログがない場合は、現在の状態が終了状態なら合致したログを前記抽出ログ出力部に出力し、出力後、又は、現在の状態が終了状態でない場合は処理を終了する手段とを備えたことを特徴とする特定操作ログ抽出装置を提供するものである。
【発明の効果】
【０００９】
本発明の特定操作ログ抽出装置によれば、次のような効果がある。
（１）膨大なログの中から、目的の操作ログのみを見つけ出すことができる。
（２）１つの操作で複数行のログが発生するようなログから、特定の操作ログを見つけ出すことができる。
（３）初期状態、終了状態、状態遷移表を変えることで様々な操作ログの抽出が可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る特定操作ログ抽出装置のブロック図である。
【図２】本発明に係るログ抽出プログラムの処理概要を表すフローチャートである。
【図３】本発明に係る初期状態、終了状態のデータ例である。
【図４】本発明に係る状態遷移表の例である。
【図５】本発明に係るログデータの例である。
【図６】本発明に係る状態遷移の例である。
【図７】本発明に係る抽出ログの出力例である。
【図８】本発明に係るメッセージの出力例である。
【発明を実施するための形態】
【００１１】
以下、実施例を示した図面を参照しつつ本発明の実施の形態を説明する。
尚、上記各手段は、上記中央演算装置が上記ログ抽出プログラムを含む必要なコンピュータプログラムを読み込んで実行することにより実現される手段であり、そのフローチャート図が図２である。
【実施例１】
【００１２】
図１は、本発明の実施形態を表すブロック図であり、ログデータ蓄積部１、中央演算装置２、メモリ３、抽出ログ出力用外部記憶装置である抽出ログ出力部４から成る。ログデータ蓄積部１はDBMSやファイル等を用いて、入力となるログデータ１１を格納している。
１件１件のログは１つ以上の属性｛例えばPC（Personal Computer）の操作ログならプロセス名やファイル名等、銀行の入出金ログなら金額、口座番号等｝を持っていて、１つ又は複数の属性の組み合わせ（例えば、日付と時刻の組み合わせ）によってログに順序付けができなければならない。
【００１３】
抽出ログ出力部４は特定操作のログを出力するためのもので、これもDBMSやファイル等で良い。
メモリ３にはログ抽出プログラム１２、現在の状態１３、初期状態１４、終了状態１５、状態遷移表１６を格納する。中央演算装置２はメモリ３に格納したログ抽出プログラム１２に従ってログデータ１１を１件ずつ読み込み、抽出処理をし、その際に現在の状態を参照・更新したり、初期状態、終了状態、状態遷移表を参照したりする。
中央演算装置２がログ抽出プログラム１２に従って抽出した抽出ログ１７は、抽出ログ出力部４に出力する。
初期状態１４には初期状態を表す状態番号を１つだけ格納し、終了状態１５には終了状態を表す状態番号を１つ以上格納する。
状態遷移表１６は、現在の状態と読み込んだログの条件から、次の状態を決定するためのものである。
【００１４】
図２は本発明のログ抽出プログラムの処理概要を表すフローチャートである。
まず、現在の状態を初期状態に変更し（S001）、ログデータ蓄積部１に未処理のログあるか否か調べる（検索する）（S002）。
未処理のログがあればログを１件読み込み（S003）、状態遷移表１６に現在の状態と読み込んだログの条件に合致するものがあるか否か調べる（S004）、あれば現在の状態を状態遷移表１６に従って次の状態に変更し（S005）、ステップS002へ戻る。ステップS004にて状態遷移表に現在の状態と読み込んだログの条件に合致するものがなければ、現在の状態が終了状態か否か調べ（S006）、終了状態なら合致したログを抽出ログ出力部４に出力し（S007）、出力後、又は、現在の状態が終了状態でない場合、現在の状態を初期状態に変更し（S008）、変更後、状態遷移表１６に現在の状態と読み込んだログの条件に合致するものがあるか否か、再度、調べ（S009）、あれば現在の状態を状態遷移表１６に従って次の状態に変更し（S005）、ステップS002へ戻る。ステップS009にて状態遷移表に現在の状態と読み込んだログの条件に合致するものがなければ、ステップS002へ戻る。
【００１５】
一方、ステップS002にて未処理のログがない場合は、現在の状態が終了状態か否か調べ（S010）、終了状態なら合致したログを抽出ログ出力部４に出力し（S011）、終了する。現在の状態が終了状態でないときは何もせずそのまま終了する。
【００１６】
以下、秘文（登録商標）AEで取得したログの集合から、MS Wordの「上書き保存」操作ログを抽出する場合を例に、初期状態、終了状態、状態遷移表の例と出力例を示す。
図３は本発明の初期状態、終了状態の例である。初期状態の状態番号を１、終了状態の状態番号を５とする。
【００１７】
図４は状態遷移表の例であり、現在の状態と、ログの条件と、次の状態とから成り、次のような遷移を表す。（条件＃C001〜C006は説明のため、便宜的に割り当てた。）
・C001
現在の状態が１のときに、読み込んだログが『「プロセス名=“WINWORD”」かつ「操作
=“開く”」かつ「ファイル名が”.tmp”で終わる」』を満たせば、次の状態を２とする。
・C002
現在の状態が２のときに、読み込んだログが『「プロセス名=“WINWORD”」かつ「操作
=“書込み”」かつ「ファイル名が同じ」』を満たせば、次の状態を３とする。
【００１８】
・C003
現在の状態が３のときに、読み込んだログが『「プロセス名=“WINWORD”」かつ「操作
=“書込み”」かつ「ファイル名が同じ」』を満たせば、次の状態を３とする。
・C004
現在の状態が３のときに、読み込んだログが『「プロセス名=“WINWORD”」かつ「操作
=“名称変更”」かつ「ファイル名が同じ」』を満たせば、次の状態を４とする。
・C005
現在の状態が４のときに、読み込んだログが『「プロセス名=“WINWORD”」かつ「操作
=“名称変更”」かつ「ファイル名が同じ」』を満たせば、次の状態を４とする。
・C006
現在の状態が２のときに、読み込んだログが『「プロセス名=“WINWORD”」かつ「操作
=“書込み”」かつ「ファイル名が”.doc”で終わる」』を満たせば、次の状態を５とする。
【００１９】
図５はログデータの例であり、MS Wordで操作したログだけでなく、MS Excelで操作したログ等の目的操作とは異なるログが含まれている。ログデータには順序がわかる情報が必要である。この例では「時刻」がそれに当たる。（ログ＃L001〜L010は説明のために便宜的に割り当てた。）
【００２０】
図６は状態遷移の例であり、図３の初期状態、終了状態と図４の状態遷移表と図５のログデータのときの状態遷移を表している。（処理＃P001〜P011は説明のために便宜的に割り当てた。）
・P001
遷移前の現在の状態は、初期状態である「1」である。L001のログを読み込むが、合致
する条件がなく、現在の状態が終了状態でないので、現在の状態を初期状態「1」にす
る。
・P002
L002のログを読み込むが、合致する条件がなく、現在の状態が終了状態でないので、
現在の状態を初期状態「1」にする。
・P003
L003のログを読み込む。C001の条件に合致するので、現在の状態を「2」にする。
・P004
L004のログを読み込む。C002の条件に合致するので、現在の状態を「3」にする。
・P005
L005のログを読み込む。C003の条件に合致するので、現在の状態を「3」にする。
・P006
L006のログを読み込む。C004の条件に合致するので、現在の状態を「4」にする。
【００２１】
・P007
L007のログを読み込む。C005の条件に合致するので、現在の状態を「4」にする。
・P008
L008のログを読み込む。C006の条件に合致するので、現在の状態を「5」にする。
・P009
L009のログを読み込むが、合致する条件がなく、現在の状態が終了状態なので、出力
をし、現在の状態を初期状態「1」にし、再度合致する条件が無いか調べる。C001の条
件に合致するので、現在の状態を「2」にする。
・P010
L010のログを読み込むが、合致する条件がなく、現在の状態が終了状態でないので、
現在の状態を初期状態「1」にし、再度合致する条件が無いか調べる。しかし合致する
条件がないので、何もしない。
・P011
未処理のログデータがなく、現在の状態が終了状態でないので、何もせず終了する。
【００２２】
図７は抽出ログの出力例である。図５のログデータのうち、図３，４の初期状態、終了状態、状態遷移表によって抽出されるのは、３行目〜８行目のログである。抽出ログの出力は図７のように初期状態から終了状態に至るまでに処理されたログ全てを出力しても良いし、初期状態から終了状態に至るまでは１操作であるので、図８のように「MS Wordで上書き保存」がわかる旨のメッセージを１行だけ出力しても良い。
【符号の説明】
【００２３】
１  ログデータ蓄積部
２  中央演算装置
３  メモリ
４  抽出ログ出力部
１１  ログデータ
１２  ログ抽出プログラム
１３  現在の状態
１４  初期状態
１５  終了状態
１６  状態遷移表
１７  抽出ログ
【図１】
2011065538.tif 000003
【図２】
2011065538.tif 000004
【図３】
2011065538.tif 000005
【図４】
2011065538.tif 000006
【図５】
2011065538.tif 000007
【図６】
2011065538.tif 000008
【図７】
2011065538.tif 000009
【図８】
2011065538.tif 000010