JP5045489B2 - データ変更検知装置、データ変更検知方法、及びプログラム - Google Patents

データ変更検知装置、データ変更検知方法、及びプログラム Download PDF

Info

Publication number
JP5045489B2
JP5045489B2 JP2008042235A JP2008042235A JP5045489B2 JP 5045489 B2 JP5045489 B2 JP 5045489B2 JP 2008042235 A JP2008042235 A JP 2008042235A JP 2008042235 A JP2008042235 A JP 2008042235A JP 5045489 B2 JP5045489 B2 JP 5045489B2
Authority
JP
Japan
Prior art keywords
data
divided
log
division
reading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008042235A
Other languages
English (en)
Other versions
JP2009199470A (ja
Inventor
祐輔 仙北谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008042235A priority Critical patent/JP5045489B2/ja
Publication of JP2009199470A publication Critical patent/JP2009199470A/ja
Application granted granted Critical
Publication of JP5045489B2 publication Critical patent/JP5045489B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ログ等のデータの変更を検知するデータ変更検知装置等に関する。
コンピュータに障害が発生したときにその原因を特定する等のために、コンピュータでは処理内容をログとして記録しておくことが一般的に行われている。
このログは、また、コンピュータへの不正侵入が行われた際に、それを検知するためにも利用されている。しかしながら、コンピュータへの不正侵入者は、時に、コンピュータへの侵入の痕跡を消そうとして、既に記録されているログを改ざんしようとする場合がある。このような改ざんからログを保護するためには、その改ざん行為を困難にするような対策又は検知できるような仕組みが必要である。
デジタルデータが改ざんされていないことを保証するための技術としては、例えば、デジタル署名がある。
そして、このデジタル署名を利用して、ログのように時系列で連続して発生するデジタルデータを改ざんから保護しようとする技術がある(例えば、特許文献1参照)。
具体的には、特許文献1に記載の技術では、ログの記憶時には、ログのデータが発生すると、発生した現データとその直前に発生した前データとを組み立て、組み立てたデータにデジタル署名を施し、デジタル署名が施された保管データを保管ファイルに追加書き込みする。そして、ログの検証時には、保管ファイルの先頭から保管データを取り出し、取り出した保管データのデジタル署名を検証して、保管データが改ざんされていないかを検証する。更に、保管データの前データと、その直前に取り出した保管データの現データと、の一致を検証して、保管データの連続性も検証する。
特開2003−143139号公報
しかしながら、上記技術では、ログデータを改ざんから保護するためのデータ処理をログデータに直接施しているため、そのログデータを記録するログファイル(保管ファイル)は、例えば、ログデータを単純にそのまま記録する一般のログファイルとは、そのフォーマットが異なる。
そのため、例えば、一般のフォーマットのログファイルに記録されているログデータを利用して何らかの処理を行うように、コンピュータシステムが既にシステム化されている場合には、上記技術を適用するには、ログデータを利用する処理が上記技術に適合するようにシステムを再構築する必要があり、大変である。
本発明は、上記実状に鑑みてなされたものであり、ログ等の時系列に生成されるデータの記録様式を変更することなく、記録済みデータの変更を容易に検知することができるデータ変更検知装置等を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点に係るデータ変更検知装置は、
データを時系列に記憶するデータ時系列記憶手段と、
前記データ時系列記憶手段に記憶されているデータを、該データを時系列に沿って分割
した複数の分割データに分けて、記憶するデータ分割記憶手段と、
前記データ分割記憶手段に記憶されている分割データ毎に、該分割データを所定の要約
関数で要約して得た要約を記憶する分割要約記憶手段と、
前記分割要約記憶手段から、要約を読み出す要約読出手段と、
前記要約読出手段により読み出された要約に要約された元の分割データを、前記データ
分割記憶手段から読み出す分割データ読出手段と、
前記分割データ読出手段により読み出された分割データを前記所定の要約関数で要約し
て要約を取得する読出要約取得手段と、
前記要約読出手段により読み出された要約と、前記読出要約取得手段により取得された
要約と、が一致するか否かを判別する要約一致判別手段と、
前記要約一致判別手段により要約が一致すると判別されたときに、前記分割データ読出
手段により読み出された分割データが、前記データ時系列記憶手段に記憶されているデー
タに含まれているか否かを判別する分割データ含有判別手段と、
前記分割データ含有判別手段により分割データが前記データ時系列記憶手段に記憶され
ているデータに含まれていないと判別されたときに、前記データ時系列記憶手段に記憶さ
れているデータが変更されていることを示す情報を出力するデータ変更情報出力手段と、を備え
更に、
データを時系列に取得するデータ取得手段と、
前記データ取得手段により取得されたデータを前記データ時系列記憶手段に記録するデ
ータ時系列記録制御手段と、
データを分割するタイミングを指示する分割タイミング指示手段と、
前記データ取得手段により取得されたデータを前記分割タイミング指示手段により指示
されたタイミングで区切って得た分割データを前記データ分割記憶手段に記録するデータ
分割記録制御手段と、
前記データ分割記録制御手段により前記データ分割記憶手段に記録される分割データを
前記所定の要約関数で要約して要約を取得する記録要約取得手段と、
前記記録要約取得手段により取得された要約を前記分割要約記憶手段に記録する分割要
約記録制御手段と、を備え、
前記要約読出手段は、前記分割要約記憶手段から、要約を順次読み出す要約順次読出手
段を有し、
前記分割要約記録制御手段により実行される処理と前記要約順次読出手段により実行さ
れる処理とは、並列処理され、
更に、
前記分割タイミング指示手段により指示される複数のタイミングの中の1のタイミング
で前記データ時系列記憶手段に記憶されているデータを分割した大分割データを取得する
大分割データ取得手段と、
前記大分割データ取得手段により大分割データが取得されたときに、前記分割要約記憶
手段から、すべての要約を読み出す大分割用要約読出手段と、
前記大分割用要約読出手段により読み出された要約毎に、該要約に要約された元の分割
データを、前記データ分割記憶手段から読み出す大分割用分割データ読出手段と、
前記大分割用分割データ読出手段により読み出された分割データ毎に、該分割データを
前記所定の要約関数で要約して要約を取得する大分割用読出要約取得手段と、
分割データ毎に、前記大分割用要約読出手段により読み出された要約と、前記大分割用
読出要約取得手段により取得された要約と、が一致するか否かを判別する大分割用要約一
致判別手段と、
前記大分割用要約一致判別手段により分割データ毎に要約がすべて一致すると判別され
たときに、前記大分割用分割データ読出手段により読み出されたすべての分割データを分
割された順に結合し、該結合したデータを前記所定の要約関数で要約して要約を取得する
結合データ要約取得手段と、
前記大分割データ取得手段により取得された大分割データを前記所定の要約関数で要約
して要約を取得する大分割データ要約取得手段と、
前記結合データ要約取得手段により取得された要約と、前記大分割データ要約取得手段
により取得された要約と、が一致するか否かを判別する大分割データ要約一致判別手段と

前記大分割データ要約一致判別手段により要約が一致しないと判別されたときに、前記
大分割データ取得手段により取得された大分割データが変更されていることを示す情報を
出力する大分割データ変更情報出力手段と、を備える。
また、本発明の第2の観点に係るデータ変更検知方法は、
データを時系列に記憶するデータ時系列記憶部と、
前記データ時系列記憶部に記憶されているデータを、該データを時系列に沿って分割し
た複数の分割データに分けて、記憶するデータ分割記憶部と、
前記データ分割記憶部に記憶されている分割データ毎に、該分割データを所定の要約関
数で要約して得た要約を記憶する分割要約記憶部と、を備える装置を用いるデータ変更検
知方法であって、
前記分割要約記憶部から、要約を読み出す要約読出ステップと、
前記要約読出ステップにより読み出された要約に要約された元の分割データを、前記デ
ータ分割記憶部から読み出す分割データ読出ステップと、
前記分割データ読出ステップにより読み出された分割データを前記所定の要約関数で要
約して要約を取得する読出要約取得ステップと、
前記要約読出ステップにより読み出された要約と、前記読出要約取得ステップにより取
得された要約と、が一致するか否かを判別する要約一致判別ステップと、
前記要約一致判別ステップにより要約が一致すると判別されたときに、前記分割データ
読出ステップにより読み出された分割データが、前記データ時系列記憶部に記憶されてい
るデータに含まれているか否かを判別する分割データ含有判別ステップと、
前記分割データ含有判別ステップにより分割データが前記データ時系列記憶部に記憶さ
れているデータに含まれていないと判別されたときに、前記データ時系列記憶部に記憶さ
れているデータが変更されていることを示す情報を出力するデータ変更情報出力ステップ
と、を備え
更に、
データを時系列に取得するデータ取得ステップと、
前記データ取得ステップにより取得されたデータを前記データ時系列記憶部に記録するデータ時系列記録制御ステップと、
データを分割するタイミングを指示する分割タイミング指示ステップと、
前記データ取得ステップにより取得されたデータを前記分割タイミング指示ステップにより指示されたタイミングで区切って得た分割データを前記データ分割記憶部に記録するデータ分割記録制御ステップと、
前記データ分割記録制御ステップにより前記データ分割記憶部に記録される分割データを前記所定の要約関数で要約して要約を取得する記録要約取得ステップと、
前記記録要約取得ステップにより取得された要約を前記分割要約記憶部に記録する分割要約記録制御ステップと、を備え、
前記要約読出ステップは、前記分割要約記憶部から、要約を順次読み出す要約順次読出ステップを有し、
前記分割要約記録制御ステップにより実行される処理と前記要約順次読出ステップにより実行される処理とは、並列処理され、
更に、
前記分割タイミング指示ステップにより指示される複数のタイミングの中の1のタイミングで前記データ時系列記憶部に記憶されているデータを分割した大分割データを取得する大分割データ取得ステップと、
前記大分割データ取得ステップにより大分割データが取得されたときに、前記分割要約記憶部から、すべての要約を読み出す大分割用要約読出ステップと、
前記大分割用要約読出ステップにより読み出された要約毎に、該要約に要約された元の分割データを、前記データ分割記憶部から読み出す大分割用分割データ読出ステップと、
前記大分割用分割データ読出ステップにより読み出された分割データ毎に、該分割データを前記所定の要約関数で要約して要約を取得する大分割用読出要約取得ステップと、
分割データ毎に、前記大分割用要約読出ステップにより読み出された要約と、前記大分割用読出要約取得ステップにより取得された要約と、が一致するか否かを判別する大分割用要約一致判別ステップと、
前記大分割用要約一致判別ステップにより分割データ毎に要約がすべて一致すると判別されたときに、前記大分割用分割データ読出ステップにより読み出されたすべての分割データを分割された順に結合し、該結合したデータを前記所定の要約関数で要約して要約を取得する結合データ要約取得ステップと、
前記大分割データ取得ステップにより取得された大分割データを前記所定の要約関数で要約して要約を取得する大分割データ要約取得ステップと、
前記結合データ要約取得ステップにより取得された要約と、前記大分割データ要約取得ステップにより取得された要約と、が一致するか否かを判別する大分割データ要約一致判別ステップと、
前記大分割データ要約一致判別ステップにより要約が一致しないと判別されたときに、前記大分割データ取得ステップにより取得された大分割データが変更されていることを示す情報を出力する大分割データ変更情報出力ステップと、を備える。
また、本発明の第3の観点に係るプログラムは、
コンピュータを、
データを時系列に記憶するデータ時系列記憶手段、
前記データ時系列記憶手段に記憶されているデータを、該データを時系列に沿って分割
した複数の分割データに分けて、記憶するデータ分割記憶手段、
前記データ分割記憶手段に記憶されている分割データ毎に、該分割データを所定の要約
関数で要約して得た要約を記憶する分割要約記憶手段、
前記分割要約記憶手段から、要約を読み出す要約読出手段、
前記要約読出手段により読み出された要約に要約された元の分割データを、前記データ
分割記憶手段から読み出す分割データ読出手段、
前記分割データ読出手段により読み出された分割データを前記所定の要約関数で要約し
て要約を取得する読出要約取得手段、
前記要約読出手段により読み出された要約と、前記読出要約取得手段により取得された
要約と、が一致するか否かを判別する要約一致判別手段、
前記要約一致判別手段により要約が一致すると判別されたときに、前記分割データ読出
手段により読み出された分割データが、前記データ時系列記憶手段に記憶されているデー
タに含まれているか否かを判別する分割データ含有判別手段、
前記分割データ含有判別手段により分割データが前記データ時系列記憶手段に記憶され
ているデータに含まれていないと判別されたときに、前記データ時系列記憶手段に記憶さ
れているデータが変更されていることを示す情報を出力するデータ変更情報出力手段、として機能させ
更に、
データを時系列に取得するデータ取得手段、
前記データ取得手段により取得されたデータを前記データ時系列記憶手段に記録するデ
ータ時系列記録制御手段、
データを分割するタイミングを指示する分割タイミング指示手段、
前記データ取得手段により取得されたデータを前記分割タイミング指示手段により指示
されたタイミングで区切って得た分割データを前記データ分割記憶手段に記録するデータ
分割記録制御手段、
前記データ分割記録制御手段により前記データ分割記憶手段に記録される分割データを
前記所定の要約関数で要約して要約を取得する記録要約取得手段、
前記記録要約取得手段により取得された要約を前記分割要約記憶手段に記録する分割要
約記録制御手段、として機能させ、
前記要約読出手段は、前記分割要約記憶手段から、要約を順次読み出す要約順次読出手段、として機能し、
前記分割要約記録制御手段により実行される処理と前記要約順次読出手段により実行さ
れる処理とは、並列処理され、
更に、
前記分割タイミング指示手段により指示される複数のタイミングの中の1のタイミング
で前記データ時系列記憶手段に記憶されているデータを分割した大分割データを取得する
大分割データ取得手段、
前記大分割データ取得手段により大分割データが取得されたときに、前記分割要約記憶
手段から、すべての要約を読み出す大分割用要約読出手段、
前記大分割用要約読出手段により読み出された要約毎に、該要約に要約された元の分割
データを、前記データ分割記憶手段から読み出す大分割用分割データ読出手段、
前記大分割用分割データ読出手段により読み出された分割データ毎に、該分割データを
前記所定の要約関数で要約して要約を取得する大分割用読出要約取得手段、
分割データ毎に、前記大分割用要約読出手段により読み出された要約と、前記大分割用
読出要約取得手段により取得された要約と、が一致するか否かを判別する大分割用要約一
致判別手段、
前記大分割用要約一致判別手段により分割データ毎に要約がすべて一致すると判別され
たときに、前記大分割用分割データ読出手段により読み出されたすべての分割データを分
割された順に結合し、該結合したデータを前記所定の要約関数で要約して要約を取得する
結合データ要約取得手段、
前記大分割データ取得手段により取得された大分割データを前記所定の要約関数で要約
して要約を取得する大分割データ要約取得手段、
前記結合データ要約取得手段により取得された要約と、前記大分割データ要約取得手段
により取得された要約と、が一致するか否かを判別する大分割データ要約一致判別手段、
前記大分割データ要約一致判別手段により要約が一致しないと判別されたときに、前記
大分割データ取得手段により取得された大分割データが変更されていることを示す情報を
出力する大分割データ変更情報出力手段、として機能させる。
本発明によれば、記録済みデータの変更を容易に検知することができる。
以下、本発明の実施の形態を図面を参照して説明する。
[第1の実施の形態]
本発明の第1の実施の形態では、時系列に生成されるデータとしてログデータを例にとり、コンピュータシステムにおいて、記録されているログデータの改ざんを検知するログ改ざん検知アプリケーションについて説明する。
図1は、本実施の形態に係るログ改ざん検知アプリケーション1がコンピュータシステムに実装されている様子を示す図である。
図示するように、コンピュータシステム内において、ログ改ざん検知アプリケーション1は、ログを出力するログ出力アプリケーション2と、ログ出力アプリケーション2から出力されるログを記憶するログ記憶部3との間で動作するよう実装される。
このように、ログ改ざん検知アプリケーション1をログ出力アプリケーション2とは別のアプリケーションとしてコンピュータシステムに適用することにより、コンピュータシステム内において現状で動作しているアプリケーションを変更する必要がない。また、ログ改ざん検知アプリケーション1をログ出力アプリケーション2の外に実装するため、ログ出力アプリケーション2の内に実装する場合に比べて、コンピュータシステムへの実装が容易である。
図2は、コンピュータシステムの一般的な構成を概略的に示すブロック図である。
図示するように、コンピュータシステムは、入力部41と、出力部42と、通信部43と、計時部44と、記憶部45と、制御部46と、を備える。また、コンピュータシステムのこれらの各部は、バス47を介して互いに接続されている。
入力部41は、キーボード、マウス等の入力装置を備える。入力部41には、ユーザによる入力操作に応じて様々な情報が入力される。
出力部42は、ディスプレイ、プリンタ等の出力装置を備え、様々な情報を出力する。
通信部43は、通信インタフェースを備え、インターネット等の通信ネットワーク(図示せず)を介して、他のコンピュータシステムと通信を行う。
計時部44は、時計回路等を備え、日付や時刻を刻む。
記憶部45は、ハードディスク等の補助記憶装置を備え、様々な情報やプログラム等を記憶する。例えば、記憶部45には、ログ改ざん検知アプリケーション1、ログ出力アプリケーション2等のコンピュータシステムに実装されているアプリケーションのプログラムが格納される。
制御部46は、CPU(Central Processing Unit)51、ROM(Read Only Memory)52、RAM(Random Access Memory)53等から構成され、データの演算処理を行うと共に、コンピュータシステムの全体を制御する。制御部46における演算処理及び制御処理は、具体的には、CPU51が、RAM53を作業領域として使用して各種データを一時的に記憶させながら、ROM52に記憶されている制御プログラムを実行することにより行われる。
ログ改ざん検知アプリケーション1は、ROM52や記憶部45に記憶されているプログラムに従った制御部46の処理により動作する。
図3は、ログ改ざん検知アプリケーション1の機能を概略的を示すブロック図である。
図示するように、ログ改ざん検知アプリケーション1は、ログ情報受付処理部11と、ログ情報出力処理部12と、ログ改ざん検知処理部13と、ログ改ざん検知用メモリ14と、を備える。
ログ改ざん検知アプリケーション1は、ログ情報受付処理部11による処理と、ログ情報出力処理部12による処理と、ログ改ざん検知処理部13による処理とを、スレッド(Thread)を用いて並列処理する。
ログ改ざん検知用メモリ14は、ログ改ざん検知アプリケーション1が実装されているコンピュータシステムの主記憶装置(メインメモリ)であるRAM53の一部を利用したメモリである。ログ改ざん検知用メモリ14は、ログ情報の改ざんを検知するために用いられるバッファ15及び後述するハッシュ値保存テーブル16を備える。
一方で、ログ記憶部3は、ログ改ざん検知アプリケーション1が実装されているコンピュータシステムの補助記憶装置である記憶部45の一部を利用した記憶部である。ログ記憶部3は、ログ情報を保存するために用いられる閲覧用ログ保存エリア31及びチェック用ログ保存エリア32を備える。
閲覧用ログ保存エリア31は、ログ情報を利用して処理を行う任意のアプリケーションが閲覧するための閲覧用ログファイルを保存するエリアである。また、ここに保存される閲覧用ログファイルは、ログ改ざん検知アプリケーション1が実装されるコンピュータシステムが元々使用しているログファイルと同一形式のログファイルである。そのため、ログ情報に関しては、ログ改ざん検知アプリケーション1が実装されても、実装前と同じ運用方法でコンピュータシステムを稼働することができる。
チェック用ログ保存エリア32は、ログ情報の改ざんを検知するために使用されるチェック用ログファイルを保存するエリアである。ここに保存されるチェック用ログファイルには、閲覧用ログファイルに記録されるログ情報と同一のログ情報が小分けに分割されて記録される。つまり、チェック用ログファイルは、閲覧用ログファイルを複数に分割したログファイルである。
ログ情報受付処理部11は、ログ出力アプリケーション2から出力されたログ情報をバッファ15に一時的に保存する。バッファ15は、ログ情報を蓄積する。
ログ情報出力処理部12は、バッファ15にログ情報が保存される毎に、保存されたログ情報を複製する。そして、複製したログ情報を、ログ記憶部3の閲覧用ログ保存エリア31とチェック用ログ保存エリア32とに出力する。
また、ログ情報出力処理部12は、閲覧用ログファイルとチェック用ログファイルとのローテーション処理を行う。
具体的には、閲覧用ログファイルのローテーション条件は、ログ改ざん検知アプリケーション1が実装されるコンピュータシステムにおける元々のローテーション条件と同じである。本実施の形態においては、閲覧用ログファイルのローテーション条件を例えば1日間隔とする。なお、このローテーション条件は、出力されるログ情報量、コンピュータシステムの処理能力、記憶容量等に応じて適宜設定可能である。
また、チェック用ログファイルのローテーション条件は、閲覧用ログファイルを更に複数のログファイルに分割するように設定される。本実施の形態においては、チェック用ログファイルのローテーション条件を例えば5秒間隔とする。なお、このローテーション条件は、出力されるログ情報量、コンピュータシステムの処理能力、記憶容量等、更には、閲覧用ログファイルのローテーション条件等に応じて適宜設定可能である。
閲覧用ログファイルのローテーションによって、閲覧用ログ保存エリア31に出力されたログ情報は分割され、例えば1日毎に、新しい閲覧用ログファイルが生成される。また、チェック用ログファイルのローテーションによって、チェック用ログ保存エリア32に出力されたログ情報は分割され、例えば5秒毎に、新しいチェック用ログファイルが生成される。
更に、ログ情報出力処理部12は、チェック用ログファイルのローテーションと同じタイミングで、バッファ15から、その時点で蓄積されているログ情報を取り出し、取り出したログ情報のハッシュ値を求める。そして、求めたハッシュ値を、ログ情報の改ざんを検知するために使用するハッシュ値保存テーブル16に保存する。
ログ改ざん検知処理部13は、閲覧用ログ保存エリア31内の閲覧用ログファイルと、チェック用ログ保存エリア32内のチェック用ログファイルと、ハッシュ値保存テーブル16と、を相互に比較し、ログ情報の改ざんを検知する。
次に、ログ情報受付処理部11、ログ情報出力処理部12、及びログ改ざん検知処理部13のそれぞれが実行する処理を更に具体的に説明する。
なお、これらの各処理も、ログ改ざん検知アプリケーション1の一機能として、制御部46の処理により実行される。また、これらの各処理は、ログ改ざん検知アプリケーション1の動作中、常に実行される。
まず、ログ情報受付処理部11により実行されるログ情報受付処理を説明する。
図4は、ログ情報受付処理の手順の一例を示すフローチャートである。
ログ情報受付処理においては、まず、ログ情報受付処理部11は、ログ出力アプリケーション2からログ情報が出力されたか否かを判別する(ステップS101)。
ログ出力アプリケーション2からログ情報が出力されていない場合には(ステップS101;No)、ステップS101に戻り、ログ情報受付処理部11は、ログ情報が出力されるまでウェイト処理する。
一方、ログ出力アプリケーション2からログ情報が出力された場合には(ステップS101;Yes)、ログ情報受付処理部11は、出力されたログ情報を受け付け、受け付けたログ情報をバッファ15に保存する(ステップS102)。
そして、ステップ101に戻り、ログ情報受付処理部11は、ログ情報をバッファ15に保存する処理を繰り返す。
ログ情報受付処理部11は、以上の処理をログ改ざん検知アプリケーション1が終了するまで繰り返す。
このログ情報受付処理により、ログ出力アプリケーション2へのインタフェースが提供されると共に、バッファ15にログ情報が蓄積される。
次に、ログ情報出力処理部12により実行されるログ情報出力処理を説明する。
このログ情報出力処理では、ログ情報をログファイルに記録する処理をメインに行う。具体的には、バッファ15内に追記されたログ情報が、閲覧用ログファイルとチェック用ログファイルとの2つのログファイルに出力される。更に、計時部44がタイマーとして使用され、特定の時間が経過したことを契機に、閲覧用ログファイルとチェック用ログファイルとのそれぞれのローテーション処理が行われる。
図5は、ログ情報出力処理の手順の一例を示すフローチャートである。
ログ情報出力処理においては、まず、ログ情報出力処理部12は、バッファ15にログ情報が追記されたか否かを判別する(ステップS111)。具体的には、ログ情報出力処理部12は、ログ情報受付処理(図4)のステップS102の処理によって、バッファ15にログ情報が新たに保存されたか否かを判別する。
バッファ15にログ情報が追記された場合には(ステップS111;Yes)、ログ情報出力処理部12は、追記されたログ情報を複製し、複製したログ情報を、閲覧用ログ保存エリア31及びチェック用ログ保存エリア32に出力する(ステップS112)。閲覧用ログ保存エリア31とチェック用ログ保存エリア32とに出力されたログ情報は、それぞれ、閲覧用ログ保存エリア31内の閲覧用ログファイルとチェック用ログ保存エリア32内のチェック用ログファイルとに記録される。
バッファ15にログ情報が追記されていない場合には(ステップS111;No)、ステップS112をスキップする。
このステップS112の処理とログ情報受付処理(図4)のステップS102の処理とによって、ログ出力アプリケーション2からログ情報が出力される毎に、出力されたログ情報は複製され、バッファ15と、閲覧用ログ保存エリア31(閲覧用ログファイル)と、チェック用ログ保存エリア32(チェック用ログファイル)と、の3つの記憶領域に同一のログ情報が追加して記録されていく。
次に、ログ情報出力処理部12は、チェック用ログファイルのローテーション時間が経過したか否かを判別する(ステップS113)。具体的には、チェック用ログファイルのローテーション時間が例えば5秒に設定されている場合には、ログ情報出力処理部12は、計時部44で時間を計り、5秒の経過を判別する。なお、チェック用ログファイルのローテーション時間は予め設定されて、例えばROM52に記録されている。
チェック用ログファイルのローテーション時間が経過していない場合には(ステップS113;No)、ステップS111に戻り、ログ情報出力処理部12は、ログ情報の閲覧用ログ保存エリア31及びチェック用ログ保存エリア32への出力を繰り返す。
そして、チェック用ログファイルのローテーション時間が経過すると(ステップS113;Yes)、ログ情報出力処理部12は、閲覧用ログファイルのローテーション時間が経過したか否かを判別する(ステップS113−1)。具体的には、閲覧用ログファイルのローテーション時間が例えば1日に設定されている場合には、ログ情報出力処理部12は、計時部44で時間を計り、1日の経過を判別する。なお、閲覧用ログファイルのローテーション時間は予め設定されて、例えばROM52に記録されている。
閲覧用ログファイルのローテーション時間が経過している場合には(ステップS113−1;Yes)、ログ情報出力処理部12は、閲覧用ログファイルのローテーション時間が経過したことを示す閲覧用ローテーションフラグを立て(ステップS113−2)、閲覧用ログファイルのローテーション時間が経過していない場合には(ステップS113−1;No)、ステップS113−2をスキップする。
次に、ログ情報出力処理部12は、チェック用ログファイルのローテーションを行う(ステップS114)。例えば、チェック用ログファイルのローテーション時間が5秒に設定されている場合には、チェック用ログファイルのローテーションが5秒間隔で行われる。これにより、5秒毎に、5秒の間にチェック用ログ保存エリア32に出力されたログ情報を記録したチェック用ログファイルが生成される。
続いて、ログ情報出力処理部12は、ローテーションによって生成されたチェック用ログファイルを識別するためのチェック用ログファイルのファイル名を取得する(ステップS115)。
次に、ログ情報出力処理部12は、バッファ15内のログ情報からハッシュ値を算出し(ステップS116)、算出したハッシュ値をハッシュ値保存テーブル16に保存して(ステップS117)、バッファ15を初期化する(ステップS118)。
具体的には、チェック用ログファイルのローテーション時間が5秒の場合には、ログ情報出力処理部12は、バッファ15から、5秒間で蓄積されたログ情報を読み出し、読み出したログ情報に所定のハッシュ関数を適用してハッシュ値を求める。そして、求めたハッシュ値を、ステップS115で取得したチェック用ログファイルのファイル名と関連付けて、ハッシュ値保存テーブル16に記録する。更に、ログ情報出力処理部12は、バッファ15を初期化して、バッファ15内のログ情報を削除する。
これにより、バッファ15に保存されるログ情報は、5秒毎にバッファから取り出され、取り出されたログ情報のハッシュ値が算出される。バッファ15に保存されるログ情報と、チェック用ログ保存エリア32に出力されるログ情報と、は同じであるため、ステップS116で算出されるハッシュ値は、ステップS114でのローテーションにより生成されたチェック用ログファイルに記録されているログ情報のハッシュ値に相当する。
ハッシュ値保存テーブル16に保存されたハッシュ値は、後に、ログ改ざん検知処理部13がチェック用ログファイルの改ざんを検知するために使用される。つまり、本実施の形態では、ハッシュ値は、ログ情報の完全性を確認するために利用される。
ここで、ハッシュについて説明する。ハッシュには、次の特徴がある。
(1)ハッシュ関数に入力される元のデータのサイズに関わらず、一定の長さでデータが出力される。なお、出力されるデータの長さはハッシュ関数のアルゴリズムによって異なる。
(2)元のデータが異なる場合には、同一のハッシュ値が得られることはほとんどない。
(3)ハッシュ値が分かっていても、元のデータを算出できない。
本実施の形態では、特に上記(2)の特徴に基づき、ハッシュを使用して、ログファイルが改ざんされていないかをチェックする。
本実施の形態で使用するハッシュ関数は、ハッシュ値の衝突攻撃に対する耐性が高いSHA−256やSHA−512を使用することが理想的である。しかしながら、本実施の形態では、短期間に定期的にログファイルを監視することを想定しているため、より高速な性能を有するSHA−1を使用することとする。なお、出力されるログ情報量、コンピュータシステムの処理能力、記憶容量等に応じて、他のハッシュ関数を使用しても良い。
なお、使用される所定のハッシュ関数は、例えばROM52に予め記録されている。
バッファ15の初期化が終了すると、ログ情報出力処理部12は、閲覧用ローテーションフラグが立っているか否かを判別する(ステップS119)。
閲覧用ローテーションフラグが立っていない場合には(ステップS119;No)、ステップS111に戻り、ログ情報出力処理部12は、ステップS111〜S118の処理を繰り返す。
これにより、閲覧用ログファイルのローテーション時間が経過するまでの間、チェック用ログファイルのローテーション時間が経過する毎に、チェック用ログファイルが生成され続け、更に、生成されたチェック用ログファイルに記録されているログ情報のハッシュ値(バッファ15内のログ情報のハッシュ値に相当)が、ハッシュ値保存テーブル16に保存される。
図6は、閲覧用ログファイルのローテーション時間が経過するまでの間の、チェック用ログ保存エリア32、ハッシュ値保存テーブル16、及び閲覧用ログ保存エリア31のそれぞれのデータ構成例を示す図である。
例えば、チェック用ログファイルのローテーション時間が5秒であって、ログ改ざん検知アプリケーション1が動作を開始してから1分2秒が経過しているような場合には、チェック用ログファイルのローテーションは既に12回行われ、図6(a)に示すように、チェック用ログ保存エリア32には、ローテーション済みの12個のチェック用ログファイルLog1〜12と、ログ情報を現在記録中のチェック用ログファイルと、が存在する。
そして、その場合、図6(b)に示すように、ハッシュ値保存テーブル16には、ローテーションにより生成されたチェック用ログファイルLog1〜12のそれぞれに対応するハッシュ値が保存される。チェック用ログファイルがローテーションされるとレコード番号が採番され、ハッシュ値保存テーブル16には、レコード番号毎に、チェック用ログファイルのファイル名とハッシュ値とを含むレコードデータが記録される。
また、図6(c)に示すように、閲覧用ログ保存エリア31には、ログ情報を現在記録中の閲覧用ログファイルが存在する。なお、この閲覧用ログファイルには、チェック用ログファイルLog1〜12と記録中のチェック用ログファイルとに記録されているログ情報が、時系列に連続して記録されている。
図5に戻り、ステップS119で、閲覧用ローテーションフラグが立っていると(ステップS119;Yes)、ログ情報出力処理部12は、閲覧用ログファイルのローテーションを行う(ステップS120)。例えば、閲覧用ログファイルのローテーション時間が1日に設定されている場合には、閲覧用ログファイルのローテーションが1日毎に行われる。これにより、1日毎に、1日の間に閲覧用ログ保存エリア31に出力されたログ情報を記憶した閲覧用ログファイルが生成される。
続いて、ログ情報出力処理部12は、ハッシュ値保存テーブル16を初期化して(ステップS121)、ステップS111に戻る。つまり、ハッシュ値保存テーブル16は、閲覧用ログファイルがローテーションされるまでの間は、チェック用ログファイルのローテーション毎にハッシュ値が追加されていき、閲覧用ログファイルがローテーションされるとクリアされる。
又、ハッシュ値保存テーブル16をクリアする前にハッシュ値保存テーブル16をファイル等に記憶することで、チェック用ログ、閲覧用ログの改竄を事後必要時にチェックすることもできる。ハッシュ値保存テーブル16をファイル等に記憶する場合はハッシュ値保存テーブル16そのものの改竄を防止するために暗号化等するのが好ましい。
ログ情報出力処理部12は、以上の処理をログ改ざん検知アプリケーション1が終了するまで繰り返す。
このログ情報出力処理により、例えばチェック用ログファイルのローテーション間隔が5秒で、閲覧用ログファイルのローテーション間隔が1日の場合には、1日に、例えば数十バイト〜数百バイトのチェック用ログファイルが17280個生成され、閲覧用ログファイルが1個生成される。
なお、チェック用ログファイル及び閲覧用ログファイルのローテーション間隔を適宜変更することで、ログファイルの出力量(数)を変えることができる。
次に、上述したログ情報出力処理と並行して、ログ改ざん検知処理部13により実行される並列ログ改ざん検知処理を説明する。この並列ログ改ざん検知処理では、チェック用ログファイルに記録されているチェック用ログ情報と、閲覧用ログファイルに記録されている閲覧用ログ情報と、が改ざんされていないかが、ログ情報出力処理とは独立して定期的にチェックされる。
また、並列ログ改ざん検知処理を実行する際には、ログのローテーション前にチェックを実行することで、ローテーション直前の改ざんについてもチェックすることもできる。
図7は、並列ログ改ざん検知処理の手順の一例を示すフローチャートである。
並列ログ改ざん検知処理においては、まず、ログ改ざん検知処理部13は、ハッシュ値保存テーブル16のレコード番号を指定するための変数nをn=1とする(ステップS131)。
次に、ログ改ざん検知処理部13は、ハッシュ値保存テーブル16にレコードnが存在するか否かを判別する(ステップS132)。
レコードnが存在しない場合には(ステップS132;No)、ステップS131に戻る。例えば、ハッシュ値保存テーブル16が初期化されたことにより、ハッシュ値保存テーブル16にハッシュ値が1つも保存されていないような場合には、レコード1は存在しないため、ログ改ざん検知処理部13は、ウェイト処理により、ハッシュ値保存テーブル16にハッシュ値が保存されるまで待つ。
レコードnが存在している場合には(ステップS132;Yes)、ログ改ざん検知処理部13は、ハッシュ値保存テーブル16から、レコードnのファイル名及びハッシュ値を読み出す(ステップS133)。
次に、ログ改ざん検知処理部13は、読み出したファイル名のチェック用ログファイルを、チェック用ログ保存エリア32から読み出す(ステップ134)。
続いて、ログ改ざん検知処理部13は、読み出したチェック用ログファイルに記録されているチェック用ログ情報からハッシュ値を算出する(ステップS135)。なお、ここでのハッシュ値の算出には、ログ情報出力処理(図5)のステップS116でのハッシュ値の算出に用いたハッシュ関数を用いる。
そして、ログ改ざん検知処理部13は、ステップ133で読み出したハッシュ値と、ステップS135で算出したハッシュ値と、を比較し、一致するか否かを判別する(ステップS136)。
その結果、ハッシュ値が一致しなかった場合には(ステップS136;No)、ログ改ざん検知処理部13は、チェック用ログ情報の改ざんを検知する(ステップS137)。例えば、ログ改ざん検知処理部13は、ハッシュ値が一致していない場合には、チェック用ログ情報が改ざんされていると判断して、その旨を示す情報を、ステップS133で読み出したファイル名と共に出力部42に出力し、ログ管理者等に改ざんの検知を報知する。
一方、ハッシュ値が一致した場合には(ステップS136;Yes)、ログ改ざん検知処理部13は、チェック用ログ情報は改ざんされていないと判断して、続けて、そのチェック用ログ情報が閲覧用ログ情報に含まれているか否かを判別する(ステップS138)。具体的には、ログ改ざん検知処理部13は、閲覧用ログ保存エリア31から、記録中の閲覧用ログファイルに既に記録されている閲覧用ログ情報を読み出し、読み出した閲覧用ログ情報の中に、その一部として、ステップS134で読み出したチェック用ログファイルに記録されているチェック用ログ情報が含まれているか否かを判別する。
なお、このステップS138では、上記具体例以外にも、ステップS134で読み出したチェック用ログファイルに近い時間のチェック用ログファイルを含めて、閲覧用ログファイルとつきあわせてチェックしても良い。更には、すべてのチェック用ログファイルを閲覧用ログファイルとつきあわせてチェックしても良い。
その結果、チェック用ログ情報が閲覧用ログ情報に含まれていない場合には(ステップS138;No)、ログ改ざん検知処理部13は、閲覧用ログ情報の改ざんを検知する(ステップS139)。例えば、ログ改ざん検知処理部13は、チェック用ログ情報が閲覧用ログ情報に含まれていない場合には、閲覧用ログ情報が改ざんされていると判断して、その旨を示す情報を、ステップS133で読み出したファイル名と共に出力部42に出力して、ログ管理者等に改ざんの検知を報知する。
一方、チェック用ログ情報が閲覧用ログ情報に含まれている場合には(ステップS138;Yes)、ログ改ざん検知処理部13は、チェック用ログ情報及び閲覧用ログ情報は共に改ざんされていないと判断して、次の処理に進む。
このような方法で、ログ情報の改ざんを検知するのは、ハッシュ値保存テーブル16、チェック用ログファイル、閲覧用ログファイルの順に、改ざんされる可能性が高くなっていくことに起因する。
ハッシュ値保存テーブル16は、ログ改ざん検知アプリケーション1がコンピュータシステムの主記憶装置内のログ改ざん検知用メモリ14に格納するものであるため、改ざんは困難である。
チェック用ログファイルは、コンピュータシステムの補助記憶装置内のログ記憶部3に格納されるため、ハッシュ値保存テーブル16に比べて改ざんされる可能性が高い。
閲覧用ログファイルは、チェック用ログファイルと同様にログ記憶部3に格納されるものであるが、チェック用ログファイルがログ改ざん検知アプリケーション1のみによって使用されるものであるのに対し、閲覧用ログファイルは、他のアプリケーションによって閲覧されることを前提としているファイルであるため、最も改ざんされる可能性が高い。
そのため、ログ改ざん検知処理部13は、まず、ハッシュ値保存テーブル16に基づいて、チェック用ログファイルが改ざんされていないかを確認し、次に、改ざんされていないことが確認されたチェック用ログファイルに基づいて、閲覧用ログファイルが改ざんされていないかを確認する。
ステップS137〜S139で、ログ情報の改ざんの有無が判断されると、ログ改ざん検知処理部13は、ハッシュ値保存テーブル16内の次のレコードを処理するために、nの値に1を加算し(ステップS140)、ステップS132に戻る。
これにより、ハッシュ値保存テーブル16内のレコードデータが順次読み出され、レコード毎にログ情報の改ざんがチェックされる。そして、すべてのレコードが処理されると、ステップS132で処理すべきレコードが存在しないと判別され(ステップS132;No)、nの値がn=1に再設定され(ステップS131)、再び、ハッシュ値保存テーブル16内のレコード1から順に処理を開始する。
尚、処理順序は上記順番に限られず、一番最近に登録されたレコードから順に処理するなど所定の順番としても良い。
ログ改ざん検知処理部13は、以上の処理をログ改ざん検知アプリケーション1が終了するまで繰り返す。
この並列ログ改ざん検知処理は、図5に示したログ情報出力処理と、並列して処理される。従って、並列ログ改ざん検知処理で使用されるハッシュ値保存テーブル16は、ログ情報出力処理によってチェック用ログファイルがローテーションされる毎に、レコード数が増加していく。
そのため、ハッシュ値保存テーブル16のレコード数が最大のときであっても、そのすべてのレコードを、チェック用ログファイルがローテーションする間に処理できるように、レコードデータ(ファイル名及びハッシュ値)の読み出し間隔を設定しておくと、改ざん検知能力がより高くなる。また、そのような処理が可能なように、コンピュータシステムの処理能力に応じて、チェック用ログファイル及び閲覧用ログファイルの各ローテーション時間を適宜変更するようにしても良い。
また、上述した並列ログ改ざん検知処理を、チェック用ログの改ざんを検知するための並列チェック用ログ改ざん検知処理と、閲覧用ログの改ざんを検知するための並行閲覧用ログ改ざん検知処理と、の2つに分けて、それぞれを更に並列に処理するようにしても良い。
並列チェック用ログ改ざん検知処理は、具体的には例えば、図7に示した並列ログ改ざん検知処理において、ステップS138及びS139を削除すれば良い。
また、並列閲覧用ログ改ざん検知処理は、具体的には例えば、図7に示した並列ログ改ざん検知処理において、ステップS133でチェック用ログファイルのファイル名だけを読み出し、ステップS135〜137の処理を削除すれば良い。
このように、並列ログ改ざん検知処理を並列チェック用ログ改ざん検知処理と並列閲覧用ログ改ざん検知処理とに分けた場合には、処理速度に違いがある場合に、速い方の処理を遅い方の処理に合わせることなく、実行することができる。
本実施の形態では、ログ情報の改ざんの検知を、ログ情報出力処理と並列に処理される並列ログ改ざん検知処理で行っている。しかしながら、ログ情報の改ざんの検知を、ログ情報出力処理の中で行うようにしても良い。
そこで、ログ情報出力処理の中でログ情報の改ざんを検知する場合を、本発明の第2の実施の形態として以下に説明する。
[第2の実施の形態]
本発明の第2の実施の形態では、ログ情報出力処理において、チェック用ログファイル及び閲覧用ログファイルのローテーションを契機に、ログ改ざん検知処理を実行する。
図8は、本発明の第2の実施の形態におけるログ情報出力処理の手順の一例を示すフローチャートである。
図8においては、図5に示した第1の実施の形態におけるログ情報出力処理と同一のステップには同一の符号を付し、重複を避けるためにその説明を省略する。
第2の実施の形態におけるログ情報出力処理は、第1の実施の形態におけるログ情報出力処理と、ステップS201及びS202のみが異なる。
第2の実施の形態におけるログ情報出力処理は、チェック用ログファイルをローテーションした後に、バッファ15内のログ情報からハッシュ値を算出すると(ステップS116)、チェック用ログファイルローテーション時ログ改ざん検知処理を実行する(ステップS201)。また、閲覧用ログファイルをローテーションすると(ステップS120)、閲覧用ログファイルローテーション時ログ改ざん検知処理を実行する(ステップS202)。
チェック用ログファイルローテーション時ログ改ざん検知処理(ステップS201)及び閲覧用ログファイルローテーション時ログ改ざん検知処理(ステップS202)は、ログ情報出力処理部12が、ログ改ざん検知処理部13にログ改ざん検知処理の実行を要求することにより、実行される。
以下、チェック用ログファイルローテーション時ログ改ざん検知処理及び閲覧用ログファイルローテーション時ログ改ざん検知処理を具体的に説明する。
図9は、チェック用ログファイルローテーション時ログ改ざん検知処理の手順の一例を示すフローチャートである。
ログ改ざん検知処理部13は、まず、ステップS114(図8)でローテーションされたチェック用ログファイルを、チェック用ログ保存エリア32から読み出す(ステップS211)。
次に、ログ改ざん検知処理部13は、読み出したチェック用ログファイルに記録されているチェック用ログ情報からハッシュ値を算出する(ステップS212)。なお、ここでのハッシュ値の算出には、ステップS116(図8)でのハッシュ値の算出に用いたハッシュ関数を用いる。
そして、ログ改ざん検知処理部13は、ステップS116(図8)でバッファ15内のログ情報から算出したハッシュ値と、ステップS212で算出したハッシュ値と、を比較し、一致するか否かを判別する(ステップS213)。
その結果、ハッシュ値が一致しなかった場合には(ステップS213;No)、ログ改ざん検知処理部13は、チェック用ログ情報の改ざんを検知して(ステップS214)、図8のログ情報出力処理に戻る。なお、この場合、ステップS117(図8)において、ハッシュ値保存テーブル16には、ハッシュ値に代えて、例えば、改ざんを検知した旨を示す情報等を保存しても良い。
一方、ハッシュ値が一致した場合には(ステップS213;Yes)、ログ改ざん検知処理部13は、チェック用ログ情報は改ざんされていないとして、そのまま、図8のログ情報出力処理に戻る。
このようにチェック用ログファイルローテーション時ログ改ざん検知処理においては、チェック用ログファイルのローテーションのタイミングで、チェック用ログファイルに記録されたログ情報と、バッファ15に記録されたログ情報と、が同一であるか否かが判断される。従って、例えば、ログ情報を記録中のチェック用ログファイルが改ざんされたような場合であっても、そのチェック用ログファイルのローテーション時に改ざんを検知することができる。
図10及び図11は、閲覧用ログファイルローテーション時ログ改ざん検知処理の手順の一例を示すフローチャートである。
この閲覧用ログファイルローテーション時ログ改ざん検知処理では、閲覧用ログファイルのローテーションのタイミングで、ローテーションされた閲覧用ログファイルが改ざんされていないかが判断される。
そのため、まず、ステップS221〜S228(図10)で、ハッシュ値保存テーブル16に保存されているすべてのハッシュ値に基づき、チェック用ログファイルが改ざんされていないかが判断される。そして、チェック用ログファイルが改ざんされていないと判断された場合に、ステップS229〜S236(図11)で、改ざんされていないと判断されたすべてのチェック用ログファイルに基づき、閲覧用ログファイルが改ざんされていないかが判断される。
閲覧用ログファイルローテーション時ログ改ざん検知処理においては、まず、ログ改ざん検知処理部13は、ハッシュ値保存テーブル16のレコード番号を指定するための変数nをn=1とする(図10のステップS221)。
次に、ログ改ざん検知処理部13は、ハッシュ値保存テーブル16にレコードnが存在するか否かを判別する(ステップS222)。
レコードnが存在している場合には(ステップS222;Yes)、ログ改ざん検知処理部13は、ハッシュ値保存テーブル16から、レコードnのファイル名及びハッシュ値を読み出す(ステップS223)。
次に、ログ改ざん検知処理部13は、読み出したファイル名のチェック用ログファイルを、チェック用ログ保存エリア32から読み出す(ステップS224)。
続いて、ログ改ざん検知処理部13は、読み出したチェック用ログファイルに記録されているチェック用ログ情報からハッシュ値を算出する(ステップS225)。なお、ここでのハッシュ値の算出には、ログ情報出力処理(図8)のステップS116でハッシュ値の算出に用いたハッシュ関数を用いる。
そして、ログ改ざん検知処理部13は、ステップ223で読み出したハッシュ値と、ステップS225で算出したハッシュ値と、を比較し、一致するか否かを判別する(ステップS226)。
その結果、ハッシュ値が一致した場合には(ステップS226;Yes)、ログ改ざん検知処理部13は、チェック用ログ情報は改ざんされていないと判断して、ハッシュ値保存テーブル16内の次のレコードを処理するために、nの値に1を加算し(ステップS227)、ステップS222に戻る。
そして、ステップS222〜S227の処理を繰り返すことにより、ハッシュ値保存テーブル16内のレコードデータが順次読み出されて、レコード毎にログ情報の改ざんがチェックされる。そして、ハッシュ値保存テーブル16に記録されているすべてのレコードについてハッシュ値が一致し(ステップS226;Yes)、処理すべきレコードが存在しなくなると(ステップS222;No)、チェック用ログファイルは改ざんされていないと判断されて、閲覧用ログファイルの改ざんを判断するためのステップS229〜S236(図11)の処理に進む。
一方、レコード毎の処理において、ハッシュ値が一致しないことが1つでもあった場合には(ステップS226;No)、ログ改ざん検知処理部13は、チェック用ログ情報の改ざんを検知し(ステップS228)、図8のログ情報出力処理に戻る。
ステップS229〜S236(図11)の処理では、ログ改ざん検知処理部13は、まず、ハッシュ値保存テーブル16からレコード番号順にすべてのファイル名を読み出す(ステップS229)。
次に、ログ改ざん検知処理部13は、読み出したすべてのファイル名のチェック用ログファイルを、チェック用ログ保存エリア32から読み出す(ステップS230)。
続いて、ログ改ざん検知処理部13は、読み出したチェック用ログファイルに記録されているチェック用ログ情報を読み出した順に結合する(ステップS231)。この結合により、複数のチェック用ログファイルに分割されてチェック用ログ保存エリア32に保存されているログ情報が、閲覧用ログファイルに記録されているログ情報と同様の、分割されていない状態に戻される。
そして、ログ改ざん検知処理部13は、結合したチェック用ログ情報からハッシュ値を算出する(ステップS232)。なお、ここでのハッシュ値の算出には、ログ情報出力処理(図8)のステップ116でハッシュ値の算出に用いたハッシュ関数を用いれば良い。
次に、ログ改ざん検知処理部13は、ステップS120(図8)でローテーションされた閲覧用ログファイルを、閲覧用ログ保存エリア31から読み出す(ステップS233)。
続いて、ログ改ざん検知処理部13は、読み出した閲覧用ログファイルに記録されている閲覧用ログ情報からハッシュ値を算出する(ステップS234)。なお、ここでのハッシュ値の算出には、ステップS232でハッシュ値の算出に用いたハッシュ関数を用いる。
そして、ログ改ざん検知処理部13は、ステップS232で算出したハッシュ値と、ステップS234で算出したハッシュ値とを、比較し、一致するか否かを判別する(ステップS235)。
その結果、ハッシュ値が一致しなかった場合には(ステップS235;No)、ログ改ざん検知処理部13は、閲覧用ログ情報の改ざんを検知して(ステップS236)、図8のログ情報出力処理に戻る。
一方、ハッシュ値が一致した場合には(ステップS235;Yes)、ログ改ざん検知処理部13は、閲覧用ログ情報は改ざんされていないとして、そのまま、図8のログ情報出力処理に戻る。
このように閲覧用ログファイルローテーション時ログ改ざん検知処理においては、閲覧用ログファイルがローテーションされた直後に、ローテーションされた閲覧用ログファイルが改ざんされていないかが判断される。従って、例えば、ローテーションされた閲覧用ログファイルにデジタル署名を施して保管するような場合には、改ざんされていないことが確認された閲覧用ログファイルにデジタル署名が施される。
また、チェック用ログファイル及び閲覧用ログファイルのローテーション間隔を変化させることで、チェック用ログファイルローテーション時ログ改ざん検知処理及び閲覧用ログファイルローテーション時ログ改ざん検知処理における改ざん検知のタイミングを変化させることができる。
[第3の実施の形態]
上記第1及び第2の実施の形態では、本発明をアプリケーションに適用した場合を説明した。
そこで、次に、本発明を装置に適用した場合を、本発明の第3の実施の形態として説明する。
図12は、本発明の第3の実施の形態に係るログ改ざん検知装置100の機能的な構成を概略的に示すブロック図である。
図示するように、ログ改ざん検知装置100は、ログデータ時系列記憶部101と、ログデータ分割記憶部102と、ハッシュ値記憶部103と、ハッシュ値読出部104と、分割ログデータ読出部105と、読出ハッシュ値算出部106と、ハッシュ値一致判別部107と、分割ログデータ含有判別部108と、ログデータ改ざん情報出力部109と、を備える。
なお、ログ改ざん検知装置100の物理的な構成は、図2に示したコンピュータシステムの構成と同一とすることができるため、図2を参照することによりその説明を省略する。
ログデータ時系列記憶部101は、ログデータを時系列に記憶する。具体的には、ログデータ時系列記憶部101は、例えば、記憶部45内の閲覧用ログ保存エリア31(図3参照)である。
ログデータ分割記憶部102は、ログデータ時系列記憶部101に記憶されているログデータを、そのログデータを時系列に沿って分割した複数の分割ログデータに分けて、記憶する。具体的には、ログデータ分割記憶部102は、例えば、記憶部45内のチェック用ログ保存エリア32(図3参照)であり、分割ログデータは、例えば、チェック用ログファイルである。
ハッシュ値記憶部103は、ログデータ分割記憶部102に記憶されている分割ログデータ毎に、その分割ログデータからハッシュ関数を用いて算出したハッシュ値を記憶する。具体的には、ハッシュ値記憶部103は、例えば、RAM53内のハッシュ値保存テーブル16(図3参照)である。ハッシュ値記憶部103には、分割ログデータを識別するためのファイル名等の分割ログデータIDと、その分割ログデータのハッシュ値と、が関連付けて記憶されている。
ハッシュ値読出部104は、ハッシュ値記憶部103から、ハッシュ値を読み出す。具体的には、ハッシュ値読出部104は、ハッシュ値記憶部103から、分割ログデータIDとハッシュ値とを読み出す。
分割ログデータ読出部105は、ハッシュ値読出部104により読み出されたハッシュ値が算出された元の分割ログデータを、ログデータ分割記憶部102から読み出す。具体的には、分割ログデータ読出部105は、ハッシュ値読出部104が読み出した分割ログデータIDで識別される分割ログデータを、ログデータ分割記憶部102から読み出す。
読出ハッシュ値算出部106は、分割ログデータ読出部105により読み出された分割ログデータからハッシュ関数を用いてハッシュ値を算出する。なお、ここで用いられるハッシュ関数は、ハッシュ値記憶部103に記憶されているハッシュ値の算出に用いられたハッシュ関数である。
ハッシュ値一致判別部107は、ハッシュ値読出部104により読み出されたハッシュ値と、読出ハッシュ値算出部106により算出されたハッシュ値と、が一致するか否かを判別する。ログデータ分割記憶部102に記憶されている分割ログデータが改ざんされている場合には、改ざん前のデータから算出されるハッシュ値と、改ざん後のデータから算出されるハッシュ値と、は異なるため、改ざんを検知することができる。
分割ログデータ含有判別部108は、ハッシュ値一致判別部107によりハッシュ値が一致すると判別されたときに、分割ログデータ読出部105により読み出された分割ログデータが、ログデータ時系列記憶部101に記憶されているログデータに含まれているか否かを判別する。具体的には、分割ログデータ含有判別部108は、分割ログデータ読出部105により読み出された分割ログデータのデータ列が、ログデータ時系列記憶部101に記憶されているログデータのデータ列の一部であるか否かを判別する。
ログデータ改ざん情報出力部109は、分割ログデータ含有判別部108により分割ログデータがログデータ時系列記憶部101に記憶されているデータに含まれていないと判別されたときに、ログデータ時系列記憶部101に記憶されているログデータが改ざんされていることを示す情報を出力する。具体的には、ログデータ改ざん情報出力部109は、ログデータが改ざんされていることを示す情報を、例えば、出力部42に出力し、その情報をディスプレイ等に表示させる。
なお、上記のハッシュ値読出部104、分割ログデータ読出部105、読出ハッシュ値算出部106、ハッシュ値一致判別部107、分割ログデータ含有判別部108、及びログデータ改ざん情報出力部109の機能は、制御部46により実現される。
以上説明した第3の実施の形態に係るログ改ざん検知装置100よれば、ログデータ時系列記憶部101に記憶されるログデータ自体に改ざん検知用の処理を施すことなく、ログデータ時系列記憶部101に記憶されているログデータの改ざんを簡単に検知することができる。
[第4の実施の形態]
次に、上記第3の実施の形態に係るログ改ざん検知装置100に、更に、機能を付加した場合を、第4の実施の形態として説明する。
図13は、本発明の第4の実施の形態に係るログ改ざん検知装置100の機能的な構成を示すブロック図である。
なお、図13において、図12に示した第3の実施の形態に係るログ改ざん検知装置と同一の構成要素には同一の符号付し、重複を避けるためにその説明を省略する。
第4の実施の形態に係るログ改ざん検知装置100は、ログデータ時系列記憶部101と、ログデータ分割記憶部102と、ハッシュ値記憶部103と、ログ読出処理部200と、ログ記録処理部300と、並列処理制御部400と、を備える。
ログ読出処理部200は、ログデータを読み出してその改ざんを検知するための処理部である。ログ読出処理部200は、図12に示したハッシュ値読出部104と、分割ログデータ読出部105と、読出ハッシュ値算出部106と、ハッシュ値一致判別部107と、分割ログデータ含有判別部108と、ログデータ改ざん情報出力部109と、に加えて、更に、分割ログデータ改ざん情報出力部201を備える。
分割ログデータ改ざん情報出力部201は、ハッシュ値一致判別部107によりハッシュ値が一致しないと判別されたときに、分割ログデータ読出部105によりログデータ分割記憶部102から読み出された分割ログデータが改ざんされていることを示す情報を出力する。具体的には、分割ログデータ改ざん情報出力部201は、分割ログデータが改ざんされていることを示す情報を、例えば、出力部42に出力し、その情報をディスプレイ等に表示させる。
このように、ログ読出処理部200に、分割ログデータ改ざん情報出力部201を加えることにより、ログデータ時系列記憶部101に記憶されているログデータが改ざんされている場合だけでなく、ログデータ分割記憶部102に記憶されている分割ログデータが改ざんされている場合も、その旨をログ管理者等に報知することができる。
ログ記録処理部300は、ログデータを記録するための処理部である。ログ記録処理部300は、ログデータ取得部301と、ログデータ時系列記録制御部302と、分割タイミング指示部303と、ログデータ分割記録制御部304と、記録ハッシュ値算出部305と、ハッシュ値記録制御部306と、を備える。
ログデータ取得部301は、ログデータを時系列に取得する。なお、ログデータ取得部301が取得するログデータは、ログ改ざん検知装置100が内部で生成するものであっても、他の装置が出力するものであっても良い。
ログデータ時系列記録制御部302は、ログデータ取得部301により取得されたログデータをログデータ時系列記憶部101に記録する。
分割タイミング指示部303は、ログデータを分割するタイミングを指示する。ログデータを分割するタイミングは、例えば、チェック用ログ保存エリア32に保存されるチェック用ログファイルをローテーションするタイミングである。
ログデータ分割記録制御部304は、ログデータ取得部301により取得されたログデータを分割タイミング指示部303により指示されたタイミングで区切って得た分割ログデータをログデータ分割記憶部102に記録する。
記録ハッシュ値算出部305は、ログデータ分割記録制御部304によりログデータ分割記憶部102に記録される分割ログデータからハッシュ関数を用いてハッシュ値を算出する。具体的には、記録ハッシュ値算出部305は、まず、分割ログデータを取得する。この際、記録ハッシュ値算出部305は、例えば、ログデータ分割記録制御部304と同じように、ログデータ取得部301により取得されたログデータと分割タイミング指示部303により指示されたタイミングとに基づき分割ログデータを取得する。なお、記録ハッシュ値算出部305は、分割ログデータをログデータ分割記録制御部304から取得するようにしても良い。また、ここで用いられるハッシュ関数は、読出ハッシュ値算出部106がハッシュ値の算出に用いるハッシュ関数と同じハッシュ関数である。
ハッシュ値記録制御部306は、記録ハッシュ値算出部305により算出されたハッシュ値をハッシュ値記憶部103に記録する。
以上のような構成のログ記録処理部300により、ログデータが記録されていくと共に、ログ読出処理部200がログデータの改ざんを検知するために使用する分割ログデータ毎のハッシュ値が、ハッシュ値記憶部103に順次追加して記録されていく。
一方、ログ読出処理部200のハッシュ値読出部104は、ハッシュ値順次読出部202を有する。このハッシュ値順次読出部202は、ハッシュ値記憶部103に記憶されているハッシュ値を、ハッシュ値記憶部103から順次読み出す。
並列処理制御部400は、ログ記録処理部300とログ読出処理部200とを並列処理させる。これにより、具体的には、ハッシュ値記録制御部306により実行されるハッシュ値記憶部103への記録処理とハッシュ値順次読出部202により実行されるハッシュ値記憶部103からの読出処理とが、並列処理される。
従って、本実施の形態によれば、ログデータを記録しながら、記録済みのログデータの改ざんを迅速に検知することができる。
また、ハッシュ値順次読出部202は、ハッシュ値記憶部103から、すべてのハッシュ値を順次読み出し、すべてのハッシュ値を読み出し終えると、すべてのハッシュ値を順次読み出すことを繰り返す。
従って、本実施の形態によれば、改ざん検知処理が実行済みのログデータに対して、改ざんが行われた場合であっても、繰り返しの改ざん検知処理によって、その改ざんを早急に検知することができる。
なお、上記のログ読出処理部200、ログ記録処理部300、及び並列処理制御部400の機能は、制御部46により実現される。
次に、ログ改ざん検知装置100が、ログデータを分割するタイミングでログ改ざん検知処理を行う機能を、図14及び図15を用いて説明する。
図14は、ログデータ分割記憶部102に記録されるログデータが分割されるタイミングでログ改ざん検知処理を行うログ改ざん検知装置100の要部の機能的な構成を示すブロック図である。
図15は、ログデータ時系列記憶部101に記録されるログデータが分割されるタイミングでログ改ざん検知処理を行うログ改ざん検知装置100の要部の機能的な構成を示すブロック図である。
まず、ログデータ分割記憶部102に記録されるログデータが分割されるタイミングでログ改ざん検知処理を行う場合には、図14に示すように、図13に示したログデータ分割記録制御部304は、取得ログデータ記録部501と、記録ログデータ分割部502と、分割ログデータ記録部503と、を有する。
取得ログデータ記録部501は、ログデータ取得部301により取得されたログデータをログデータ分割記憶部102に記録する。
記録ログデータ分割部502は、取得ログデータ記録部501により記録されたログデータを、分割タイミング指示部303により指示されるタイミングで区切って、分割ログデータに分割する。
分割ログデータ記録部503は、取得ログデータ記録部501により記録されたログデータを、記録ログデータ分割部502による分割で得られた分割ログデータに分けて、ログデータ分割記憶部102に記録する。
また、図13に示した記録ハッシュ値算出部305は、ログデータ一時記憶部504と、一時ログデータ取出部505と、一時記録ハッシュ値算出部506と、を有する。
ログデータ一時記憶部504は、ログデータ取得部301により取得されたログデータを一時的に記憶する。具体的には、ログデータ一時記憶部504は、例えば、RAM53内のバッファ15(図3参照)である。
一時ログデータ取出部505は、記録ログデータ分割部502によりログデータが分割されたタイミングで、ログデータ一時記憶部504から、一時的に記憶されているログデータを取り出す。具体的には、一時ログデータ取出部505は、分割タイミング指示部303により指示されるタイミングを得ることによって、記録ログデータ分割部502によりログデータが分割されるタイミングを得る。
一時記録ハッシュ値算出部506は、一時ログデータ取出部505により取り出されたログデータを分割ログデータとして、その分割ログデータからハッシュ関数を用いてハッシュ値を算出する。なお、ここで用いられるハッシュ関数は、読出ハッシュ値算出部106がハッシュ値の算出に用いるハッシュ関数と同じハッシュ関数である。
ログ改ざん検知装置100は、図13に示した構成要素以外に、更に、分割指示ハッシュ値算出部507と、分割指示ハッシュ値一致判別部508と、分割指示ログデータ改ざん情報出力部509と、を備える。
分割指示ハッシュ値算出部507は、記録ログデータ分割部502による分割で得られた分割ログデータからハッシュ関数を用いてハッシュ値を算出する。なお、ここで用いられるハッシュ関数は、一時記録ハッシュ値算出部506がハッシュ値の算出に用いるハッシュ関数と同じハッシュ関数である。
分割指示ハッシュ値一致判別部508は、分割指示ハッシュ値算出部507により算出されたハッシュ値と、一時記録ハッシュ値算出部506により算出されたハッシュ値と、が一致するか否かを判別する。
分割指示ログデータ改ざん情報出力部509は、分割指示ハッシュ値一致判別部508によりハッシュ値が一致しないと判別されたときに、記録ログデータ分割部502による分割で得られた分割ログデータが改ざんされていることを示す情報を出力する。
次に、図15を参照して、ログデータ時系列記憶部101に記録されるログデータが分割されるタイミングでログ改ざん検知処理を行う場合を説明する。
図15に示すように、ログ改ざん検知装置100は、図13に示した構成要素以外に、更に、大分割ログデータ取得部601と、大分割用ハッシュ値読出部602と、大分割用分割ログデータ読出部603と、大分割用読出ハッシュ値算出部604と、大分割用ハッシュ値一致判別部605と、結合ログデータハッシュ値算出部606と、大分割ログデータハッシュ値算出部607と、大分割ログデータハッシュ値一致判別部608と、大分割ログデータ改ざん情報出力部609と、を備える。
大分割ログデータ取得部601は、分割タイミング指示303により指示される複数のタイミングの中の1のタイミングでログデータ時系列記憶部101に記憶されているログデータを分割した大分割ログデータを取得する。大分割ログデータは、例えば、閲覧用ログファイルである。また、分割タイミング指示303により指示される複数のタイミングの中の1のタイミングは、例えば、閲覧用ログファイルがローテーションされるタイミングである。
大分割用ハッシュ値読出部602は、大分割ログデータ取得部601により大分割ログデータが取得されたときに、ハッシュ値記憶部103から、すべてのハッシュ値を読み出す。
大分割用分割ログデータ読出部603は、大分割用ハッシュ値読出部602により読み出されたハッシュ値毎に、そのハッシュ値が算出された元の分割ログデータを、ログデータ分割記憶部102から読み出す。
大分割用読出ハッシュ値算出部604は、大分割用分割ログデータ読出部603により読み出された分割ログデータ毎に、その分割ログデータからハッシュ関数を用いてハッシュ値を算出する。なお、ここで用いられるハッシュ関数は、ハッシュ値記憶部103に記憶されているハッシュ値の算出に用いられたハッシュ関数である。
大分割用ハッシュ値一致判別部605は、分割ログデータ毎に、大分割用ハッシュ値読出部602により読み出されたハッシュ値と、大分割用読出ハッシュ値算出部604により算出されたハッシュ値と、が一致するか否かを判別する。
結合ログデータハッシュ値算出部606は、大分割用ハッシュ値一致判別部605により分割ログデータ毎にハッシュ値がすべて一致すると判別されたときに、大分割用分割ログデータ読出部603により読み出されたすべての分割ログデータを分割された順に結合し、その結合したログデータからハッシュ関数を用いてハッシュ値を算出する。
大分割ログデータハッシュ値算出部607は、大分割ログデータ取得部601により取得された大分割ログデータからハッシュ関数を用いてハッシュ値を算出する。なお、ここで用いられるハッシュ関数は、結合ログデータハッシュ値算出部606がハッシュ値の算出に用いるハッシュ関数と同じハッシュ関数である。
大分割ログデータハッシュ値一致判別部608は、結合ログデータハッシュ値算出部606により算出されたハッシュ値と、大分割ログデータハッシュ値算出部607により算出されたハッシュ値と、が一致するか否かを判別する。
大分割ログデータ改ざん情報出力部609は、大分割ログデータハッシュ値一致判別部608によりハッシュ値が一致しないと判別されたときに、大分割ログデータ取得部601により取得された大分割ログデータが変更されていることを示す情報を出力する。
以上説明した第4の実施の形態に係るログ改ざん検知装置100においては、図13のログ読出処理部200により、ログ改ざん検知アプリケーション1における図7の並列ログ改ざん検知処理が実行される。また、図13のログ記録処理部300により、図4のログ情報受付処理と図5のログ情報出力処理とが実行される。
更に、図14に示したログ改ざん検知装置100の構成により、ログ改ざん検知アプリケーション1における図9のチェック用ログファイルローテーション時ログ改ざん検知処理が実行される。また、図15に示したログ改ざん検知装置100の構成により、ログ改ざん検知アプリケーション1における図10及び図11の閲覧用ログファイルローテーション時ログ改ざん検知処理が実行される。
以上、本発明の実施の形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能であり、上記実施の形態に限られるものではない。
また、上記実施の形態の説明に用いたブロック図、フローチャート、画面図等は、本発明の趣旨を逸脱しない範囲で適宜変更しても良い。
例えば、上記実施の形態では、一定の時間が経過したときにログファイルのローテーションを行う場合を説明しているが、ログファイルが一定のデータサイズになったときに、ローテーションを行うようにしても良い。
また、上記実施の形態では、ログ改ざんの検知に、ログデータにハッシュ関数を適用して算出したハッシュ値を用いている。しかしながら、ログデータに、ハッシュ関数以外の他の要約関数を適用して要約を生成し、その要約を用いてログ改ざんの検知を行っても良い。
また、上記実施の形態では、本発明を、ログデータの改ざんを検知する場合に適用している。しかしながら、データはログデータ以外であっても良く、本発明を、例えば、時系列に出力されるデータの改ざん、削除、追加等の様々な変更を検知する場合に適用しても良い。
また、上記実施の形態に係るログ改ざん検知装置100により実行される機能は、ソフトウェアに限らず、専用のハードウェアによって実現することもできる。また、ログ改ざん検知装置100を、通常のコンピュータシステムによって実現することもできる。
例えば、上記実施の形態では、ログ改ざん検知装置100において、動作プログラムがROM等に予め記憶されているものとして説明した。しかし、上述の処理動作を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理動作を実行する装置を構成しても良い。
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。更に、通信ネットワークを介してプログラムを転送しながら起動実行することによっても、上述の処理を達成することができる。
また、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
[その他の実施の形態]
上記実施の形態で、バッファを使用したログの不正改ざんを検知する方法を示した。ここでは、上記実施の形態における方法の機能拡張について述べる。以下の機能を追加・拡張することで、更に、上記実施の形態で示した方法を強化できる。
(ディレイ(遅延)処理)
上記実施の形態で示した方法は、定期チェックを短期間に実施することにより迅速に不正改ざんを検知することにフォーカスしてきた。ここでは、逆の発想で、チェック用ログの出力タイミングを遅くすることで、上記実施の形態で示した方法をより強化できる。
図16は、ディレイ処理を適用したログ改ざん検知アプリケーションの実装例を示す図である。
通常、不正侵入者の心理として、侵入後はツール等を使用し目的の行為(情報の不正取得や改ざん)を早急に済ませ、1分でも早くログアウトしたいと考える。図16に示すディレイ処理を行うことによって、アプリケーションから出力されるログ情報を遅延させることで、以下のメリットがある。
1.不正侵入者が、ログ情報が遅延することを知らない場合
仮に、上記実施の形態で示した方法でも保護できない改ざん方法があった場合でも、不正侵入者がログアウトした後で、ログ情報が出力されるため、不正行為を検知できる。
2.不正侵入者が、ログ情報が遅延することを知っている場合
仮に、不正侵入者がログ情報が遅延して出力されることを知っていた場合であっても、ログ情報が出力されるまで不正侵入者をシステム内に拘束することが可能になる。
(バースト・トラフィック対応処理)
突発的にログ情報が大量に出力される現象(バースト・トラフィック)が発生した場合、上記実施の形態では、異常時の対応については特に示していない為、想定外の動作をする可能性(プロセスの停止やハングなど)がある。
このような事象が発生した場合の対処方法として、ハッシュ値の算出や改ざんチェックを一時的に停止し、ログ情報の採取だけを行う。
図17は、バースト・トラフィック対応処理を適用したログ改ざん検知アプリケーションの実装例を示す図である。
図17に示すバースト・トラフィック対応処理を行うことによって、動作する機能を縮小することで、リソース枯渇によるシステムの性能低下を防ぐことが可能となる。ただし、I/O処理が追いつかないほどのトラフィックの場合は、従来からも対処不可能である。仮に対応する為には、大量のキャッシュを搭載したストレージ等が必要になる。
本発明の第1の実施の形態に係るログ改ざん検知アプリケーションがコンピュータシステムに実装されている様子を示す図である。 コンピュータシステムの一般的な構成を概略的に示すブロック図である。 ログ改ざん検知アプリケーションの機能を概略的を示すブロック図である。 本発明の第1の実施の形態におけるログ情報受付処理の手順の一例を示すフローチャートである。 本発明の第1の実施の形態におけるログ情報出力処理の手順の一例を示すフローチャートである。 チェック用ログ保存エリア、ハッシュ値保存テーブル、及び閲覧用ログ保存エリアのそれぞれのデータ構成例を示す図である。 本発明の第1の実施の形態における並列ログ改ざん検知処理の手順の一例を示すフローチャートである。 本発明の第2の実施の形態におけるログ情報出力処理の手順の一例を示すフローチャートである。 チェック用ログファイルローテーション時ログ改ざん検知処理の手順の一例を示すフローチャートである。 閲覧用ログファイルローテーション時ログ改ざん検知処理の手順の一例を示すフローチャートである。 閲覧用ログファイルローテーション時ログ改ざん検知処理の手順の一例を示すフローチャートである。 本発明の第3の実施の形態に係るログ改ざん検知装置の機能的な構成を概略的に示すブロック図である。 本発明の第4の実施の形態に係るログ改ざん検知装置の機能的な構成を示すブロック図である。 ログデータ分割記憶部に記録されるログデータが分割されるタイミングでログ改ざん検知処理を行うログ改ざん検知装置の要部の機能的な構成を示すブロック図である。 ログデータ時系列記憶部に記録されるログデータが分割されるタイミングでログ改ざん検知処理を行うログ改ざん検知装置の要部の機能的な構成を示すブロック図である。 本発明の他の実施の形態におけるディレイ処理を適用したログ改ざん検知アプリケーションの実装例を示す図である。 本発明の他の実施の形態におけるバースト・トラフィック対応処理を適用したログ改ざん検知アプリケーションの実装例を示す図である。
符号の説明
1 ログ改ざん検知アプリケーション
2 ログ出力アプリケーション
3 ログ記憶部
11 ログ情報受付処理部
12 ログ情報出力処理部
13 ログ改ざん検知処理部
14 ログ改ざん検知用メモリ
15 バッファ
16 ハッシュ値保存テーブル
31 閲覧用ログ保存エリア
32 チェック用ログ保存エリア
41 入力部
42 出力部
43 通信部
44 計時部
45 記憶部
46 制御部
47 バス
51 CPU
52 ROM
53 RAM
100 ログ改ざん検知装置
101 ログデータ時系列記憶部
102 ログデータ分割記憶部
103 ハッシュ値記憶部
104 ハッシュ値読出部
105 分割ログデータ読出部
106 読出ハッシュ値算出部
107 ハッシュ値一致判別部
108 分割ログデータ含有判別部
109 ログデータ改ざん情報出力部
200 ログ読出処理部
201 分割ログデータ改ざん情報出力部
202 ハッシュ値順次読出部
300 ログ記録処理部
301 ログデータ取得部
302 ログデータ時系列記録制御部
303 分割タイミング指示部
304 ログデータ分割記録制御部
305 記録ハッシュ値算出部
306 ハッシュ値記録制御部
400 並列処理制御部
501 取得ログデータ記録部
502 記録ログデータ分割部
503 分割ログデータ記録部
504 ログデータ一時記憶部
505 一時ログデータ取出部
506 一時記録ハッシュ値算出部
507 分割指示ハッシュ値算出部
508 分割指示ハッシュ値一致判別部
509 分割指示ログデータ改ざん情報出力部
601 大分割ログデータ取得部
602 大分割用ハッシュ値読出部
603 大分割用分割ログデータ読出部
604 大分割用読出ハッシュ値算出部
605 大分割用ハッシュ値一致判別部
606 結合ログデータハッシュ値算出部
607 大分割ログデータハッシュ値算出部
608 大分割ログデータハッシュ値一致判別部
609 大分割ログデータ改ざん情報主力部

Claims (8)

  1. データを時系列に記憶するデータ時系列記憶手段と、
    前記データ時系列記憶手段に記憶されているデータを、該データを時系列に沿って分割
    した複数の分割データに分けて、記憶するデータ分割記憶手段と、
    前記データ分割記憶手段に記憶されている分割データ毎に、該分割データを所定の要約
    関数で要約して得た要約を記憶する分割要約記憶手段と、
    前記分割要約記憶手段から、要約を読み出す要約読出手段と、
    前記要約読出手段により読み出された要約に要約された元の分割データを、前記データ
    分割記憶手段から読み出す分割データ読出手段と、
    前記分割データ読出手段により読み出された分割データを前記所定の要約関数で要約し
    て要約を取得する読出要約取得手段と、
    前記要約読出手段により読み出された要約と、前記読出要約取得手段により取得された
    要約と、が一致するか否かを判別する要約一致判別手段と、
    前記要約一致判別手段により要約が一致すると判別されたときに、前記分割データ読出
    手段により読み出された分割データが、前記データ時系列記憶手段に記憶されているデー
    タに含まれているか否かを判別する分割データ含有判別手段と、
    前記分割データ含有判別手段により分割データが前記データ時系列記憶手段に記憶され
    ているデータに含まれていないと判別されたときに、前記データ時系列記憶手段に記憶さ
    れているデータが変更されていることを示す情報を出力するデータ変更情報出力手段と、を備え
    更に、
    データを時系列に取得するデータ取得手段と、
    前記データ取得手段により取得されたデータを前記データ時系列記憶手段に記録するデ
    ータ時系列記録制御手段と、
    データを分割するタイミングを指示する分割タイミング指示手段と、
    前記データ取得手段により取得されたデータを前記分割タイミング指示手段により指示
    されたタイミングで区切って得た分割データを前記データ分割記憶手段に記録するデータ
    分割記録制御手段と、
    前記データ分割記録制御手段により前記データ分割記憶手段に記録される分割データを
    前記所定の要約関数で要約して要約を取得する記録要約取得手段と、
    前記記録要約取得手段により取得された要約を前記分割要約記憶手段に記録する分割要
    約記録制御手段と、を備え、
    前記要約読出手段は、前記分割要約記憶手段から、要約を順次読み出す要約順次読出手
    段を有し、
    前記分割要約記録制御手段により実行される処理と前記要約順次読出手段により実行さ
    れる処理とは、並列処理され、
    更に、
    前記分割タイミング指示手段により指示される複数のタイミングの中の1のタイミング
    で前記データ時系列記憶手段に記憶されているデータを分割した大分割データを取得する
    大分割データ取得手段と、
    前記大分割データ取得手段により大分割データが取得されたときに、前記分割要約記憶
    手段から、すべての要約を読み出す大分割用要約読出手段と、
    前記大分割用要約読出手段により読み出された要約毎に、該要約に要約された元の分割
    データを、前記データ分割記憶手段から読み出す大分割用分割データ読出手段と、
    前記大分割用分割データ読出手段により読み出された分割データ毎に、該分割データを
    前記所定の要約関数で要約して要約を取得する大分割用読出要約取得手段と、
    分割データ毎に、前記大分割用要約読出手段により読み出された要約と、前記大分割用
    読出要約取得手段により取得された要約と、が一致するか否かを判別する大分割用要約一
    致判別手段と、
    前記大分割用要約一致判別手段により分割データ毎に要約がすべて一致すると判別され
    たときに、前記大分割用分割データ読出手段により読み出されたすべての分割データを分
    割された順に結合し、該結合したデータを前記所定の要約関数で要約して要約を取得する
    結合データ要約取得手段と、
    前記大分割データ取得手段により取得された大分割データを前記所定の要約関数で要約
    して要約を取得する大分割データ要約取得手段と、
    前記結合データ要約取得手段により取得された要約と、前記大分割データ要約取得手段
    により取得された要約と、が一致するか否かを判別する大分割データ要約一致判別手段と

    前記大分割データ要約一致判別手段により要約が一致しないと判別されたときに、前記
    大分割データ取得手段により取得された大分割データが変更されていることを示す情報を
    出力する大分割データ変更情報出力手段と、を備える、
    データ変更検知装置。
  2. 前記要約一致判別手段により要約が一致しないと判別されたときに、前記分割データ読
    出手段により前記データ分割記憶手段から読み出された分割データが変更されていること
    を示す情報を出力する分割データ変更情報出力手段を、更に備える、
    ことを特徴とする請求項1に記載のデータ変更検知装置。
  3. 前記要約順次読出手段は、前記分割要約記憶手段から、すべての要約を順次読み出し、
    すべての要約を読み出し終えると、すべての分割要約を順次読み出すことを繰り返す、
    ことを特徴とする請求項1又は2に記載のデータ変更検知装置。
  4. 前記データ分割記録制御手段は、
    前記データ取得手段により取得されたデータを前記データ分割記憶手段に記録する取得
    データ記録手段と、
    前記取得データ記録手段により記録されたデータを、前記分割タイミング指示手段によ
    り指示されるタイミングで区切って、分割データに分割する記録データ分割手段と、
    前記取得データ記録手段により記録されたデータを、前記記録データ分割手段による分
    割で得られた分割データに分けて、前記データ分割記憶手段に記録する分割データ記録手
    段と、を有し、
    前記記録要約取得手段は、
    前記データ取得手段により取得されたデータを一時的に記憶するデータ一時記憶手段と

    前記記録データ分割手段によりデータが分割されたタイミングで、前記データ一時記憶
    手段から、一時的に記憶されているデータを取り出す一時データ取出手段と、
    前記一時データ取出手段により取り出されたデータを分割データとして、該分割データ
    を前記所定の要約関数で要約して要約を取得する一時記録要約取得手段と、を有し、
    前記データ変更検知装置は、
    前記記録データ分割手段による分割で得られた分割データを前記所定の要約関数で要約
    して要約を取得する分割指示要約取得手段と、
    前記分割指示要約取得手段により取得された要約と、前記一時記録要約取得手段により
    取得された要約と、が一致するか否かを判別する分割指示要約一致判別手段と、
    前記分割指示要約一致判別手段により要約が一致しないと判別されたときに、前記記録
    データ分割手段による分割で得られた分割データが変更されていることを示す情報を出力
    する分割指示データ変更情報出力手段と、を更に備える、
    ことを特徴とする請求項1乃至3の何れか一項に記載のデータ変更検知装置。
  5. 主記憶装置と補助記憶装置とを備えており、
    前記主記憶装置は、前記分割要約記憶手段を有し、
    前記補助記憶装置は、前記データ時系列記憶手段と前記データ分割記憶手段とを有する

    ことを特徴とする請求項1乃至の何れか一項に記載のデータ変更検知装置。
  6. 前記要約関数は、ハッシュ関数であり、
    前記分割要約記憶手段は、所定のハッシュ関数を用いて分割データから算出したハッシ
    ュ値を要約として記憶し、
    前記読出要約取得手段は、前記所定のハッシュ関数を用いて分割データから算出したハ
    ッシュ値を要約として取得する、
    ことを特徴とする請求項1乃至の何れか一項に記載のデータ変更検知装置。
  7. データを時系列に記憶するデータ時系列記憶部と、
    前記データ時系列記憶部に記憶されているデータを、該データを時系列に沿って分割し
    た複数の分割データに分けて、記憶するデータ分割記憶部と、
    前記データ分割記憶部に記憶されている分割データ毎に、該分割データを所定の要約関
    数で要約して得た要約を記憶する分割要約記憶部と、を備える装置を用いるデータ変更検
    知方法であって、
    前記分割要約記憶部から、要約を読み出す要約読出ステップと、
    前記要約読出ステップにより読み出された要約に要約された元の分割データを、前記デ
    ータ分割記憶部から読み出す分割データ読出ステップと、
    前記分割データ読出ステップにより読み出された分割データを前記所定の要約関数で要
    約して要約を取得する読出要約取得ステップと、
    前記要約読出ステップにより読み出された要約と、前記読出要約取得ステップにより取
    得された要約と、が一致するか否かを判別する要約一致判別ステップと、
    前記要約一致判別ステップにより要約が一致すると判別されたときに、前記分割データ
    読出ステップにより読み出された分割データが、前記データ時系列記憶部に記憶されてい
    るデータに含まれているか否かを判別する分割データ含有判別ステップと、
    前記分割データ含有判別ステップにより分割データが前記データ時系列記憶部に記憶さ
    れているデータに含まれていないと判別されたときに、前記データ時系列記憶部に記憶さ
    れているデータが変更されていることを示す情報を出力するデータ変更情報出力ステップ
    と、を備え
    更に、
    データを時系列に取得するデータ取得ステップと、
    前記データ取得ステップにより取得されたデータを前記データ時系列記憶部に記録するデータ時系列記録制御ステップと、
    データを分割するタイミングを指示する分割タイミング指示ステップと、
    前記データ取得ステップにより取得されたデータを前記分割タイミング指示ステップにより指示されたタイミングで区切って得た分割データを前記データ分割記憶部に記録するデータ分割記録制御ステップと、
    前記データ分割記録制御ステップにより前記データ分割記憶部に記録される分割データを前記所定の要約関数で要約して要約を取得する記録要約取得ステップと、
    前記記録要約取得ステップにより取得された要約を前記分割要約記憶部に記録する分割要約記録制御ステップと、を備え、
    前記要約読出ステップは、前記分割要約記憶部から、要約を順次読み出す要約順次読出ステップを有し、
    前記分割要約記録制御ステップにより実行される処理と前記要約順次読出ステップにより実行される処理とは、並列処理され、
    更に、
    前記分割タイミング指示ステップにより指示される複数のタイミングの中の1のタイミングで前記データ時系列記憶部に記憶されているデータを分割した大分割データを取得する大分割データ取得ステップと、
    前記大分割データ取得ステップにより大分割データが取得されたときに、前記分割要約記憶部から、すべての要約を読み出す大分割用要約読出ステップと、
    前記大分割用要約読出ステップにより読み出された要約毎に、該要約に要約された元の分割データを、前記データ分割記憶部から読み出す大分割用分割データ読出ステップと、
    前記大分割用分割データ読出ステップにより読み出された分割データ毎に、該分割データを前記所定の要約関数で要約して要約を取得する大分割用読出要約取得ステップと、
    分割データ毎に、前記大分割用要約読出ステップにより読み出された要約と、前記大分割用読出要約取得ステップにより取得された要約と、が一致するか否かを判別する大分割用要約一致判別ステップと、
    前記大分割用要約一致判別ステップにより分割データ毎に要約がすべて一致すると判別されたときに、前記大分割用分割データ読出ステップにより読み出されたすべての分割データを分割された順に結合し、該結合したデータを前記所定の要約関数で要約して要約を取得する結合データ要約取得ステップと、
    前記大分割データ取得ステップにより取得された大分割データを前記所定の要約関数で要約して要約を取得する大分割データ要約取得ステップと、
    前記結合データ要約取得ステップにより取得された要約と、前記大分割データ要約取得ステップにより取得された要約と、が一致するか否かを判別する大分割データ要約一致判別ステップと、
    前記大分割データ要約一致判別ステップにより要約が一致しないと判別されたときに、前記大分割データ取得ステップにより取得された大分割データが変更されていることを示す情報を出力する大分割データ変更情報出力ステップと、を備える、
    データ変更検知方法。
  8. コンピュータを、
    データを時系列に記憶するデータ時系列記憶手段、
    前記データ時系列記憶手段に記憶されているデータを、該データを時系列に沿って分割
    した複数の分割データに分けて、記憶するデータ分割記憶手段、
    前記データ分割記憶手段に記憶されている分割データ毎に、該分割データを所定の要約
    関数で要約して得た要約を記憶する分割要約記憶手段、
    前記分割要約記憶手段から、要約を読み出す要約読出手段、
    前記要約読出手段により読み出された要約に要約された元の分割データを、前記データ
    分割記憶手段から読み出す分割データ読出手段、
    前記分割データ読出手段により読み出された分割データを前記所定の要約関数で要約し
    て要約を取得する読出要約取得手段、
    前記要約読出手段により読み出された要約と、前記読出要約取得手段により取得された
    要約と、が一致するか否かを判別する要約一致判別手段、
    前記要約一致判別手段により要約が一致すると判別されたときに、前記分割データ読出
    手段により読み出された分割データが、前記データ時系列記憶手段に記憶されているデー
    タに含まれているか否かを判別する分割データ含有判別手段、
    前記分割データ含有判別手段により分割データが前記データ時系列記憶手段に記憶され
    ているデータに含まれていないと判別されたときに、前記データ時系列記憶手段に記憶さ
    れているデータが変更されていることを示す情報を出力するデータ変更情報出力手段、として機能させ
    更に
    データを時系列に取得するデータ取得手段、
    前記データ取得手段により取得されたデータを前記データ時系列記憶手段に記録するデ
    ータ時系列記録制御手段、
    データを分割するタイミングを指示する分割タイミング指示手段、
    前記データ取得手段により取得されたデータを前記分割タイミング指示手段により指示
    されたタイミングで区切って得た分割データを前記データ分割記憶手段に記録するデータ
    分割記録制御手段、
    前記データ分割記録制御手段により前記データ分割記憶手段に記録される分割データを
    前記所定の要約関数で要約して要約を取得する記録要約取得手段、
    前記記録要約取得手段により取得された要約を前記分割要約記憶手段に記録する分割要
    約記録制御手段、として機能させ、
    前記要約読出手段は、前記分割要約記憶手段から、要約を順次読み出す要約順次読出手段、として機能し、
    前記分割要約記録制御手段により実行される処理と前記要約順次読出手段により実行さ
    れる処理とは、並列処理され、
    更に
    前記分割タイミング指示手段により指示される複数のタイミングの中の1のタイミング
    で前記データ時系列記憶手段に記憶されているデータを分割した大分割データを取得する
    大分割データ取得手段、
    前記大分割データ取得手段により大分割データが取得されたときに、前記分割要約記憶
    手段から、すべての要約を読み出す大分割用要約読出手段、
    前記大分割用要約読出手段により読み出された要約毎に、該要約に要約された元の分割
    データを、前記データ分割記憶手段から読み出す大分割用分割データ読出手段、
    前記大分割用分割データ読出手段により読み出された分割データ毎に、該分割データを
    前記所定の要約関数で要約して要約を取得する大分割用読出要約取得手段、
    分割データ毎に、前記大分割用要約読出手段により読み出された要約と、前記大分割用
    読出要約取得手段により取得された要約と、が一致するか否かを判別する大分割用要約一
    致判別手段、
    前記大分割用要約一致判別手段により分割データ毎に要約がすべて一致すると判別され
    たときに、前記大分割用分割データ読出手段により読み出されたすべての分割データを分
    割された順に結合し、該結合したデータを前記所定の要約関数で要約して要約を取得する
    結合データ要約取得手段、
    前記大分割データ取得手段により取得された大分割データを前記所定の要約関数で要約
    して要約を取得する大分割データ要約取得手段、
    前記結合データ要約取得手段により取得された要約と、前記大分割データ要約取得手段
    により取得された要約と、が一致するか否かを判別する大分割データ要約一致判別手段、
    前記大分割データ要約一致判別手段により要約が一致しないと判別されたときに、前記
    大分割データ取得手段により取得された大分割データが変更されていることを示す情報を
    出力する大分割データ変更情報出力手段、として機能させる、
    ためのプログラム。
JP2008042235A 2008-02-22 2008-02-22 データ変更検知装置、データ変更検知方法、及びプログラム Expired - Fee Related JP5045489B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008042235A JP5045489B2 (ja) 2008-02-22 2008-02-22 データ変更検知装置、データ変更検知方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008042235A JP5045489B2 (ja) 2008-02-22 2008-02-22 データ変更検知装置、データ変更検知方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2009199470A JP2009199470A (ja) 2009-09-03
JP5045489B2 true JP5045489B2 (ja) 2012-10-10

Family

ID=41142873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008042235A Expired - Fee Related JP5045489B2 (ja) 2008-02-22 2008-02-22 データ変更検知装置、データ変更検知方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5045489B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6623692B2 (ja) * 2015-11-02 2019-12-25 富士通株式会社 ログ情報採取システム、ログ情報採取プログラムおよびログ情報採取方法
US11321528B2 (en) 2019-03-18 2022-05-03 International Business Machines Corporation Chat discourse convolution
CN116305290A (zh) * 2023-05-16 2023-06-23 北京安天网络安全技术有限公司 一种系统日志安全检测方法及装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3799757B2 (ja) * 1997-07-18 2006-07-19 富士ゼロックス株式会社 被検証データ生成装置、及び被検証データ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4357629B2 (ja) * 1999-03-31 2009-11-04 大日本印刷株式会社 ログ管理システム
JP2006031142A (ja) * 2004-07-13 2006-02-02 Toppan Printing Co Ltd ログ検証システム、方法、プログラム、及びそのプログラムを記録した記録媒体
JP2006163904A (ja) * 2004-12-08 2006-06-22 Canon Inc ネットワーク文書管理システム、及びその制御方法、並びに記憶媒体
JP4744897B2 (ja) * 2005-02-28 2011-08-10 株式会社東芝 医用装置、監査ログファイル出力システムおよび監査ログファイル出力プログラム
JP4718321B2 (ja) * 2005-12-26 2011-07-06 日本電信電話株式会社 ログ監査システム及びログ監査方法
JP4856433B2 (ja) * 2006-01-27 2012-01-18 株式会社リコー 計測機器、計測データ編集装置及び計測時刻検証装置

Also Published As

Publication number Publication date
JP2009199470A (ja) 2009-09-03

Similar Documents

Publication Publication Date Title
Baek et al. SSD-insider: Internal defense of solid-state drive against ransomware with perfect data recovery
WO2018119638A1 (zh) 记录应用程序配置信息的方法、装置和电子设备
JP5144488B2 (ja) 情報処理システムおよびプログラム
JP2006511877A (ja) ソフトウェアの改ざんを事前に対処することによって検出するためのシステムおよび方法
WO2015184752A1 (zh) 一种异常进程检测方法及装置
JP2019512142A (ja) トリップワイヤファイルを生成するためのシステム及び方法
US20050071668A1 (en) Method, apparatus and system for monitoring and verifying software during runtime
JP2010182019A (ja) 異常検知装置およびプログラム
US20090138969A1 (en) Device and method for blocking autorun of malicious code
Malan et al. Host-based detection of worms through peer-to-peer cooperation
US20120078864A1 (en) Electronic data integrity protection device and method and data monitoring system
JP2001142764A (ja) ログ・ファイル保護システム
JP5045489B2 (ja) データ変更検知装置、データ変更検知方法、及びプログラム
CN112769775A (zh) 一种威胁情报关联分析方法、系统、设备及计算机介质
US10466924B1 (en) Systems and methods for generating memory images of computing devices
CN116305290A (zh) 一种系统日志安全检测方法及装置、电子设备及存储介质
US9860261B2 (en) System for analyzing and maintaining data security in backup data and method thereof
KR101769714B1 (ko) Bad usb 활성화 방지 시스템 및 방법
Zhan et al. A high-performance virtual machine filesystem monitor in cloud-assisted cognitive IoT
KR101940864B1 (ko) 클라우드 기반의 클라이언트 장치 및 백업 방법, 이를 수행하기 위한 기록매체
JPWO2015198600A1 (ja) 解析装置、解析方法、および、解析プログラム
WO2005031499A3 (en) Host intrusion detection and isolation
JP2989487B2 (ja) ウィルスチェックシステム
US11811803B2 (en) Method of threat detection
JP2011138514A (ja) コンピュータファイルがコピーされたかを検出するための方法及び装置、並びに、この検出を可能にするための方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120702

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees