説明

終了ログ取得プログラム、終了ログ取得装置及び終了ログ取得方法

【課題】基本ソフトウェアの終了に関するログを正確に取得すること。
【解決手段】クライアント端末10は、ユーザによる自装置の起動命令に応じて、監視の開始を命令する第一の開始命令を受付ける。クライアント端末10は、第一の開始命令を受付けた場合に、所定時間毎に基本ソフトから時刻に関する時刻情報を取得する。クライアント端末10は、所定時間ごとに取得した時刻情報を記憶領域へ格納する。クライアント端末10は、基本ソフトを終了させる終了命令を受付ける。クライアント端末10は、終了命令が基本ソフトを用いて終了を命令するものであれば、正常終了情報を記憶領域に格納する。クライアント端末10は、第二の開始命令を受付けた場合に記憶領域に正常終了情報がなければ、基本ソフトから他の時刻情報を取得し、他の時刻情報と記憶領域内の時刻情報とを比較した結果に基づいて、基本ソフトの終了に関するログ情報を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、終了ログ取得プログラム、終了ログ取得装置及び終了ログ取得方法に関する。
【背景技術】
【0002】
情報漏えい対策として、組織等に所属するエンドユーザ(end user)によって利用されるコンピュータ(computer)の操作ログ(log)が採取される。かかるコンピュータの一態様としては、パソコン(personal computer)が挙げられる。このようにパソコンの操作ログを採取することによって、パソコンの監視、情報漏えいが起こった場合の検証、情報漏えいのリスクを管理するための分析などが可能になる。
【0003】
このような操作ログの一態様としては、パソコンで動作する基本ソフトウェア、例えばOS(Operating System)の終了に関するログが採取される。かかるOSの終了に関するログの一例としては、パソコンからのログオフ(log-off)のログやパソコンの終了ログが挙げられる。これらパソコンのログオフ及びパソコンの終了はOSによってなされる。このため、OSの終了に関するログを採取するためには、ログ採取を目的とする監視アプリ(application program)にOSを監視させることにより、ユーザによってログオフされた時刻やパソコンが終了された時刻などを採取すればよい。
【0004】
一方、パソコンをシャットダウン(shutdown)して正常終了できなかった場合に、ハード的に強制終了を実行するとともに、正常終了ではないことを示すログを取得する特許文献1の技術がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−332258号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところが、上記の特許文献1の技術では、ユーザがOSの終了指示を入力せずに強制終了した場合には、監視アプリがOSの終了に関するログを採取することができない。
【0007】
例えば、正常終了時には、OSから取得された時刻情報、監視アプリがOSから取得して保持する時刻情報を、監視アプリが初期状態に修正するとともに正常終了した旨を示す正常終了ログが監視アプリによって生成される。時刻情報は、例えばOSの起動からの経過時間がカウントされたOSカウンタなどが考えられる。一方、正常終了されずに強制終了された場合には、監視アプリがOSから取得して保持しているOSカウンタをゼロに修正する余地はなく、ログを生成する余地もない。よって、監視アプリの起動時には、監視アプリが保持するOSカウンタがゼロでなければ、前回の監視アプリの終了時にOSの終了に関するログが生成されていないと判断し、監視アプリが前回に計測していた時刻を用いて、前回のOSの終了に関するログを生成することが想定される。
【0008】
しかしながら、監視アプリが保持するOSカウンタがゼロであるか否かによってログを生成したのでは、OSの終了に関するログを正確に取得することができないという問題がある。すなわち、監視アプリは、強制終了された場合だけでなく、監視アプリ自らが異常終了した場合にも、自らが保持するOSカウンタをゼロに修正することはできない。このため、パソコンが終了していないにもかかわらず、監視アプリが異常終了した場合にも再起動した監視アプリによってパソコンのログオフのログやパソコンの終了ログが生成される結果、誤ったログが生成されてしまうことになる。
【0009】
開示の技術は、上記に鑑みてなされたものであって、基本ソフトウェアの終了に関するログを正確に取得できる終了ログ取得プログラム、終了ログ取得装置及び終了ログ取得方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
開示の終了ログ取得プログラムは、コンピュータに、ユーザによる前記コンピュータの起動命令に応じて、監視の開始を命令する第一の開始命令情報を受付ける処理を実行させる。さらに、前記終了ログ取得プログラムは、前記コンピュータに、前記第一の開始命令を受付けた場合に、所定時間ごとに、前記コンピュータで動作される基本ソフトウェアから時刻に関する時刻情報を取得する処理を実行させる。さらに、前記終了ログ取得プログラムは、前記コンピュータに、前記所定時間ごとに取得した前記時刻情報を記憶領域へ格納する処理を実行させる。さらに、前記終了ログ取得プログラムは、前記コンピュータに、前記基本ソフトウェアを終了させる終了命令情報を受付ける処理を実行させる。前記終了ログ取得プログラムは、前記コンピュータに、前記受付けた終了命令情報が、前記基本ソフトウェアを用いた該基本ソフトウェアの終了を命令する情報である場合は、正常終了を示す正常終了情報を前記記憶領域に格納する処理を実行させる。前記終了ログ取得プログラムは、前記コンピュータに、前記第一の開始命令情報とは異なる第二の開始命令情報を受付けた場合に、前記記憶領域にアクセスする処理を実行させる。さらに、前記終了ログ取得プログラムは、前記コンピュータに、前記記憶領域に前記正常終了情報が格納されていない場合には、前記基本ソフトウェアから他の時刻情報を取得する処理を実行させる。さらに、前記終了ログ取得プログラムは、前記他の時刻情報と、前記記憶領域に格納された前記時刻情報とを比較する処理を実行させる。前記終了ログ取得プログラムは、前記コンピュータに、比較結果に基づいて、前記基本ソフトウェアの終了に関するログ情報を生成する処理を実行させる。
【発明の効果】
【0011】
開示の終了ログ取得プログラムの一つの態様によれば、基本ソフトウェアの終了に関するログを正確に取得できるという効果を奏する。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係る情報漏えい対処システムの構成を示す図である。
【図2】図2は、実施例1に係るクライアント端末の構成を示すブロック図である。
【図3】図3は、ログオンユーザリストの一例を示す図である。
【図4】図4は、ログ情報の一例を示す図である。
【図5】図5は、時刻情報の一例を示す図である。
【図6】図6は、OS実行部から取得されたSIDリストの一例を示す図である。
【図7】図7は、ログオンユーザリストの更新例を示す図である。
【図8】図8は、ログオンログの生成例を示す図である。
【図9】図9は、ログオンユーザリストの更新例を示す図である。
【図10】図10は、ログオフログの生成例を示す図である。
【図11】図11は、時刻情報のクリアを説明するための図である。
【図12】図12は、実施例1に係るログオンログオフ監視処理の手順を示すフローチャートである。
【図13】図13は、実施例1に係る終了ログ取得処理の手順を示すフローチャートである。
【図14】図14は、実施例2に係る終了ログ取得プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する終了ログ取得プログラム、終了ログ取得装置及び終了ログ取得方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0014】
[システム構成]
まず、実施例1に係る情報漏えい対処システムについて説明する。図1は、実施例1に係る情報漏えい対処システムの構成を示す図である。なお、図1の例では、組織に所属するエンドユーザ(end user)によって使用されるクライアント端末10A〜10Cで採取された操作ログ(log)を管理サーバ10に収集することにより、ユーザによる情報漏えいに対処する例を想定する。
【0015】
図1に示す情報漏えい対処システム1には、複数のクライアント端末10A〜10Cと、管理サーバ30と、コンソール50とが収容される。なお、図1の例では、3つのクライアント端末、1つの管理サーバ、1つのコンソールをそれぞれ図示したが、開示のシステムは図示の構成に限定されない。すなわち、情報漏えい対処システム1は、任意の数のクライアント端末、管理サーバおよびコンソールを収容できる。以下では、クライアント端末10A〜10Cの各装置を区別なく総称する場合には、「クライアント端末10」と記載する。なお、クライアント端末10Aが、管理サーバ30として動作することもでき、また、管理サーバ30にクライアント端末10の機能を同居させることもできる。
【0016】
これらクライアント端末10A〜10Cと管理サーバ30とは、ネットワーク(network)3を介して相互に通信可能に接続される。かかるネットワーク3には、有線または無線を問わず、インターネット(Internet)、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。なお、図1の例では、管理サーバ30とコンソール50とが直接接続される場合を例示したが、両者はネットワークを介して接続されることとしてもかまわない。
【0017】
管理サーバ(server)30は、クライアント端末10を管理するサーバ装置である。この管理サーバ30は、情報漏えいに対処するための情報漏えい対処ソフト(software)をネットワーク3経由で自装置に接続されるクライアント端末10にそれぞれダウンロードさせた後にインストール(install)させる。かかる情報漏えい対処ソフトには、機能ごとにモジュール化された複数のアプリケーション(application software)が含まれる。なお、以下では、アプリケーションのことを「アプリ」と略記する。
【0018】
これら情報漏えい対処ソフトに含まれるアプリの一例としては、ログオフログオン監視アプリ、メール監視アプリ、アクセス監視アプリなどが挙げられる。このうち、ログオフログオン監視アプリは、一例として、クライアント端末10で動作するOS(operating system)に対するログオン(log-on)やログオフ(log-off)のログを採取する機能を有する。さらに、ログオフログオン監視アプリは、クライアント端末10の終了、いわゆるシャットダウン(shutdown)のログを採取する機能を有する。メール監視アプリは、一例として、メール(mail)の送信ログを採取する機能を有する。また、アクセス監視アプリは、一例として、WEB(world wide web)のアクセスログを採取する機能を有する。なお、以下では、上記3つのアプリを「監視アプリ」と総称する。
【0019】
なお、ここでは、クライアント端末10の操作ログを採取する監視アプリについて例示したが、クライアント端末10における特定の操作を禁止または制限する監視アプリをインストールさせることとしてもかまわない。また、ここでは、管理サーバ30からダウンロードされた情報漏えい対処ソフトをクライアント端末10にインストールさせる場合を説明したが、インストールの形態はこれに限定されない。一例としては、フレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの可搬用の物理媒体を経由して情報漏えい対処ソフトをクライアント端末10にインストールさせることとしてもよい。他の一例としては、クライアント端末10に情報漏えい対処ソフトをプリインストールさせることとしてもよい。
【0020】
このようにしてクライアント端末10にインストールされた監視アプリによって、管理サーバ30は、各クライアント端末10A〜10Cにおける操作ログ、例えばログオンやログオフのログ、終了ログ、メール送信ログやアクセスログを収集する。かかる操作ログの収集は、管理サーバ30及びクライアント端末10がネットワーク3を介して接続状態にある場合には、任意のタイミング(timing)で操作ログを収集できる。一例としては、クライアント端末10で監視アプリによって操作ログが収集される度にその操作ログをリアルタイム(real time)で収集することができる。他の一例としては、クライアント端末10が起動されたことを契機に監視アプリによって採取されていた操作ログを収集することもできる。
【0021】
コンソール(console)50は、管理者権限(administrators)を有する者によって使用される端末である。なお、管理者権限は、システム管理者によって予め設定される。かかるコンソール50の機能の一例としては、管理サーバ30に収集された操作ログを閲覧する機能の他、クライアント端末10で動作する監視アプリによって採取させる操作ログのポリシー(policy)を管理サーバ30に設定する機能などが挙げられる。なお、ここで言う「ポリシー」とは、クライアント端末10の操作ログ、例えばログオンログ、ログオフログ、終了ログ、メール送信ログやアクセスログのうちいずれの操作ログの採取をクライアント端末10で有効または無効とさせるかという方針を指す。
【0022】
クライアント端末10は、エンドユーザによって使用される端末装置である。かかるクライアント端末10の一態様としては、パソコン(PC:personal computer)を始めとする固定端末の他、携帯電話機、PHS(Personal Handyphone System)やPDA(Personal Digital Assistant)などの移動体端末も採用できる。なお、ここでは、一例として、パソコン、以下「PC」と略記をクライアント端末10とする場合を想定して以下の説明を行うが、他の情報処理装置を使用する場合も同様である。
【0023】
かかるクライアント端末10には、上述した複数の監視アプリがインストールされる。このようしてクライアント端末10にインストールされた監視アプリは、OSの起動とともに自動的に起動される。これらの監視アプリは、OSが動作中である限り、互いの生存状況、例えばプロセス(process)の起動の有無を監視する処理を継続する。そして、ある監視アプリの停止が他の監視アプリによって検知された場合には、他の監視アプリは、停止した監視アプリを再起動させる命令、例えばAPI(Application Program Interface)をクライアント端末10のOSに出す。これによって、各監視アプリは、クライアント端末10の電源がオン状態である限り、動作し続けることになる。
【0024】
ここで、本実施例に係るクライアント端末10は、ログオフログオン監視アプリの起動時に、前回にOSが正常に終了されていない場合には、前回の監視アプリの終了がPCの強制終了に伴うものであるのか、あるいは監視アプリが異常停止したのかを区別する。すなわち、本実施例に係るクライアント端末10は、前回に監視アプリがOS経由で取得した後に保持していた終了時刻と、今回の起動時に監視アプリがOS経由で取得した起動時刻とを用いて、前回に監視アプリが終了した原因が上記のいずれであるかを判定する。つまり、本実施例に係るクライアント端末10は、2つの時刻の差分、すなわち監視アプリの前回の終了時刻から今回の起動時刻までの期間が、他の監視アプリによって本監視アプリが再起動された可能性を否定するに値するものであるか否かを判定する。このとき、本実施例に係るクライアント端末10は、PCの再起動の所要時間に比べて他の監視アプリによる再起動の所要時間が短いという知見を利用し、他の監視アプリによる再起動が否定された場合に監視アプリの終了の原因がPCの強制終了にあると判定する。そして、本実施例に係るクライアント端末10は、PCの強制終了に伴って終了された場合に限ってPCの終了ログを生成したり、また、PCのログオフログを生成したりする。
【0025】
それゆえ、本実施例に係るクライアント端末10では、クライアント端末10が動作中に監視アプリが異常停止した場合に、誤ってPCの終了ログを生成したり、また、誤ってPCのログオフログを生成したりすることを防止できる。よって、本実施例に係るクライアント端末10によれば、PCの終了ログやPCのログオフログなどの基本ソフトウェアの終了に関するログを正確に取得できる。
【0026】
[クライアント端末の構成]
続いて、本実施例に係るクライアント端末の構成について説明する。図2は、実施例1に係るクライアント端末の構成を示すブロック図である。図2に示すように、クライアント端末10は、入力部11と、通信I/F部12と、記憶部13と、制御部14とを有する。なお、クライアント端末10は、図2に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば表示部などの表示デバイス、音声入力部や音声出力部などの音声デバイス等を有するものとする。
【0027】
このうち、入力部11は、各種の情報、例えば後述のOS実行部15に対する指示入力を受け付ける入力デバイスである。かかる入力部11の一例としては、英字、かな、数字や記号などのキーを始め、シフトキーやコントロールキーなどの補助キーが整列されたキーボード(keyboard)11aが挙げられる。他の一例としては、ポインティングデバイス(pointing device)の一態様であるマウス(mouse)11bが挙げられる。更なる一例としては、PCであるクライアント端末10の電源を入れたり、強制終了したりする電源ボタン11cが挙げられる。なお、キーボード11a、マウス11b及び電源ボタン11cは、OSを終了させる終了命令情報を受付ける第二の受付部の一態様である。
【0028】
通信I/F部12は、他の装置、例えば管理サーバ30や他のクライアント端末10との間で通信を行うためのインタフェース(interface)である。
【0029】
記憶部13は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)やフラッシュメモリ(flash memory)などの半導体メモリ素子などの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、ハードディスク(hard disk)、光ディスクなどの記憶装置であってもかまわない。
【0030】
記憶部13は、制御部14で実行されるOS(Operating System)や各種の監視アプリの他、汎用アプリなどの各種プログラムを記憶する。さらに、記憶部13は、制御部14で実行されるプログラムの実行に必要なデータ、例えば後述の監視アプリ実行部17に使用される操作ログに関するデータなどを記憶する。一例として、記憶部13は、ログオンユーザリスト13aと、ログ情報13bと、時刻情報13cとを併せて記憶する。
【0031】
ログオンユーザリスト13aは、クライアント端末10にログオンしているユーザが搭載されるリストである。このログオンユーザリスト13aの一態様としては、ユーザIDおよびSIDが対応付けて記憶される。ここで言う「ユーザID」は、クライアント端末10にログオンするアカウント(account)が付与されたユーザを識別するための識別情報を指す。また、「SID(Session IDentifier)」は、ログオン中のユーザの識別や行動の補足によってセッション管理を行うためにログオン時に発行される識別情報である。なお、ログオンユーザリスト13aは、後述のログ生成部17dによってログオンしたユーザのユーザID及びSIDが追加されたり、また、ログオフしたユーザのユーザID及びSIDが削除されたりする。
【0032】
図3は、ログオンユーザリストの一例を示す図である。図3に示す例では、ユーザID「UserA」を持つユーザがクライアント端末10にログオン中であり、そのユーザにSID「S-1-5-21-1234567890-1234842xxxxxxx」が付与されていることを示す。さらに、図3に示す例では、ユーザID「UserB」を持つユーザがクライアント端末10にログオン中であり、そのユーザにSID「S-1-5-21-7382364813-7264722xxxxxxx」が付与されていることを示す。なお、図3の例では、ログオンユーザがリスト形式で登録される場合を例示したが、データ構造は任意の形式を採用できる。
【0033】
ログ情報13bは、各種の操作ログを表す情報である。かかるログ情報13bの一例としては、クライアント端末10のログオンログ、クライアント端末10のログオフログやクライアント端末10の終了ログなどが挙げられる。これらログオンログ、ログオフログ及び終了ログは、後述のログ生成部17dによって登録される。このうち、終了ログについては、後述のログ生成部17dによって前回にクライアント端末10が強制終了されたと判定された場合に限って登録される場合を想定する。なお、ここでは、前回にクライアント端末10が強制終了された場合に限って終了ログが登録される場合を想定するが、前回にクライアント端末10が正常終了された場合にも終了ログを登録することとしてもかまわない。さらに、ログオフログは、正常終了および強制終了を問わずに取得されることとしても良い。
【0034】
図4は、ログ情報の一例を示す図である。この図4の例では、ログ情報13bの一例として、ログオンログ及びログオフログを図示している。これらログオンログ及びログオフログは、日時、区分、ユーザ名および備考が対応付けて記憶される。ここで言う「区分」は、ログオンまたはログオフのいずれのログであるかを示す。図4に示す例では、日時「2010/02/25 10:00:15:100」にユーザ名「UserA」のユーザがログオンしていることを表す。さらに、図4に示す例では、日時「2010/02/25 13:10:46:100」にユーザ名「UserB」のユーザがログオンしていることを表す。なお、図4の例では、「備考」のフィールドがブランクである場合を例示したが、「備考」には、ログオンまたはログオフに関する任意の事項を付記できる。かかる「備考」のフィールドに登録される情報の一例としては、ログオンしたユーザがゲストである旨やログオンされた時刻が勤務時間帯ではない旨などが登録される。
【0035】
時刻情報13cは、OSの起動から経過した時刻を表す情報である。かかる時刻情報13cの一例としては、システム日付やOSカウンタなどが挙げられる。ここで言う「システム(system)日付」は、OSによって管理される日付を指す。また、「OSカウンタ(counter)」は、OSの起動時を起点とし、時間の経過にしたがってOSが計測したカウンタである。図5は、時刻情報の一例を示す図である。図5に示す例では、OS実行部15によって計測されている日付が2010年2月25日の13時45分32秒であり、クライアント端末10が今回起動してから20582秒経過したことを示す。なお、システム日付及びOSカウンタは、後述のOS実行部15によって管理されているものが後述の取得部17aによって取得された後に後述の格納部17bによって格納される。
【0036】
制御部14は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路またはASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
【0037】
制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部14は、図2に示すように、OS実行部15と、他の監視アプリ実行部16a〜16cと、監視アプリ実行部17とを有する。なお、以下では、上述したログオフログオン監視アプリ以外のメール監視アプリ、アクセス監視アプリなどの監視アプリを「他の監視アプリ」と呼ぶ。
【0038】
OS実行部15は、コンピュータシステム全体を管理する基本ソフトウェアであるOS(Operating System)の実行を制御する処理部である。
【0039】
一例としては、OS実行部15は、OSの起動や終了に関する処理を実行する。例えば、電源ボタン11cの押下操作を介してOSの起動要求を受け付けた場合に、OSを起動する。また、OS実行部15は、キーボード11aやマウス11bを介してクライアント端末10のシャットダウン要求を受け付けた場合に、ログイン中のユーザのログオフを行ったり、OSやアプリに関する各種の設定を保存した上でOSを終了する。この場合には、クライアント端末10が正常終了されることになる。なお、電源ボタン11cを介してクライアント端末10が強制終了された場合には、ログイン中のユーザが強制的にログオフされ、OSやアプリに関する各種の設定が保存されずにOSが強制終了される。この場合には、クライアント端末10が強制終了されることになる。
【0040】
他の一例としては、OS実行部15は、ログオン及びログオフに関する処理を実行する。例えば、OS実行部15は、キーボード11aやマウス11bを介してユーザのログオンを受け付けた場合に、ログオン認証を行った上でログオン認証に成功したユーザにSIDを発行することによってユーザをログオンさせる。また、OS実行部15は、キーボード11aやマウス11bを介してユーザのログオフを受け付けた場合に、該当するログイン中のユーザのSIDを破棄することによってユーザをログオフさせる。また、OS実行部15は、後述のログ生成部17dからSIDの取得要求を受け付けた場合に、ログオン中のユーザのSIDを応答する。なお、以下では、複数のユーザのログオンを同時に受け付けることが可能なOSが実行される場合を想定するが、ユーザのログオンを排他的に受け付けることとしてもよい。
【0041】
更なる一例としては、OS実行部15は、時刻情報を管理する処理を実行する。例えば、OS実行部15は、時間経過にしたがってシステム日付を更新したり、また、時間経過にしたがってOSカウンタをカウントアップしたりする。また、OS実行部15は、後述の取得部17aによってシステム日付及びOSカウンタの問合せを受け付けた場合に、システム日付及びOSカウンタの値を取得部17aへ応答する。
【0042】
他の一例としては、OS実行部15は、クライアント端末10で実行されるログオフログオン監視アプリ、メール監視アプリ、アクセス監視アプリ、その他の汎用アプリのプロセスを管理する処理を実行する。例えば、OS実行部15は、後述の他の監視アプリ実行部16a〜16cまたは監視アプリ実行部17から問合せ元以外の監視アプリに関する起動の有無の問合せを受け付けた場合に、問合せ元以外の監視アプリの起動の有無を問合せ元の監視アプリへ応答する。また、OS実行部15は、後述の他の監視アプリ実行部16a〜16cまたは監視アプリ実行部17から問合せ元以外の監視アプリに関する再起動の要求を受け付けた場合に、該当する監視アプリを再起動させる。なお、クライアント端末10では、上記のログオフログオン監視アプリ、メール監視アプリ、アクセス監視アプリ以外のアプリ、例えばワープロソフト、表計算ソフトや作図ソフトなどのプロセスの管理を行うことは言うまでもない。
【0043】
他の監視アプリ実行部16a〜16cは、ログオフログオン監視アプリ以外のメール監視アプリ、アクセス監視アプリの実行を制御する処理部である。ここでは、他の監視アプリ実行部16a〜16cは、各々1つの監視アプリの実行を制御するものとする。これら他の監視アプリ実行部16a〜16cは、自らが実行する監視アプリ以外の監視アプリの起動の有無をOS実行部15に問い合わせることによって監視する処理をそれぞれ実行する。このとき、他の監視アプリ実行部16a〜16cは、OS実行部15から起動していない監視アプリが存在する旨の応答が得られた場合に、起動していない監視アプリの再起動させるAPIをOS実行部15へ出力する。なお、以下では他の監視アプリ実行部16a〜16cを総称する場合には「他の監視アプリ実行部16」と記載する。
【0044】
監視アプリ実行部17は、ログオフログオン監視アプリの実行を制御する処理部である。この監視アプリ実行部17は、図2に示すように、取得部17aと、格納部17bと、ログ送信部17cと、ログ生成部17dとをさらに有する。
【0045】
このうち、取得部17aは、OS実行部15によって計測された時刻情報を取得する処理部である。一例としては、取得部17aは、所定の期間、例えば1秒ごとにシステム日付及びOSカウンタの問合せをOS実行部15へ出力する。そして、取得部17aは、問合せに対する応答して得られたシステム日付及びOSカウンタの値を取得する。なお、ここでは、一定周期で時刻情報を取得する場合を例示したが、開示の装置はこれに限定されない。例えば、一定周期ではなく、時間帯によって周期を可変としてもよいし、定期時刻に時刻情報を取得するようにしてもよい。
【0046】
格納部17bは、取得部17aによって取得された時刻情報を記憶部13へ格納する処理部である。かかる時刻情報は、ログオンログオフ監視アプリの設定データ、いわゆるレジストリ(registry)として記憶部13へ格納することとしてもよいし、ファイル(file)として記憶部13へ格納することとしてもかまわない。
【0047】
ログ送信部17cは、記憶部13によって記憶されたログ情報13bを管理サーバ30へ送信する処理部である。このログ送信部17cは、ログ情報13bを任意のタイミングで管理サーバ30へ送信できる。一例としては、ログ送信部17cは、後述のログ生成部17dによってログ情報が生成される度にそのログ情報をリアルタイム送信することができる。他の一例としては、ログ送信部17cは、クライアント端末10が起動されたことや、ネットワークに接続されたことを契機に記憶部13に記憶されていたログ情報13bを送信することもできる。
【0048】
ログ生成部17dは、OSの終了に関するログ情報を生成する処理部である。なお、ここでは、ログ生成部17dがクライアント端末10のログオンログ、クライアント端末10のログオフログ及びクライアント端末10の終了ログを生成する場合を例示するが、ログオフログまたは終了ログのいずれかのみを生成することとしてもよい。
【0049】
一例としては、ログ生成部17dは、所定の期間、例えば格納部17bによって時刻情報が記憶部13へ格納される度に、OS実行部15から取得したログオン中のユーザのSIDに基づいて、ログオンログ及び/又はログオフログを更新する。
【0050】
これを説明すると、ログ生成部17dは、OS実行部15にSIDの取得要求を行ってログオン中のユーザのSIDを取得する。そして、ログ生成部17は、OS実行部15から取得したSIDの中に、記憶部13に記憶されたログオンユーザリスト13aにあるSIDとは異なるSIDが存在するか否かを判定する。このとき、ログオンユーザリスト13aにあるSIDとは異なるSIDが存在する場合には、新たなユーザがログオンしてSIDが追加されたことがわかる。よって、ログ生成部17dは、新たに追加されたユーザID及びSIDをログオンユーザリスト13aに追加した上でそのユーザID及びSIDをログオンログとしてログ情報13bへ追加登録する。
【0051】
また、ログ生成部17dは、OS実行部15から取得したSIDの中に、記憶部13に記憶されたログオンユーザリスト13aから削除されたSIDが存在するか否かを判定する。このとき、ログオンユーザリスト13aから削除されたSIDが存在する場合には、ログオンしていたユーザがログオフしてSIDが削除されたことがわかる。よって、ログ生成部17dは、ログオフしたユーザID及びSIDをログオンユーザリスト13aから削除した上でそのユーザID及びSIDをログオフログとしてログ情報13bへ追加登録する。この構成によって、複数のユーザが同時に1つのクライアントにログオンして、操作を行う形態においても、ユーザごとに独立に各種ログを生成することができる。
【0052】
ここで、図6〜図10を用いて、ログオンログ及びログオフログの生成について説明する。図6は、OS実行部から取得されたSIDリストの一例を示す。図7及び図9は、ログオンユーザリストの更新例を示す図である。図8は、ログオンログの生成例を示す図である。図10は、ログオフログの生成例を示す図である。
【0053】
例えば、図6に示すSIDリストがOS実行部15から取得された場合には、ログ生成部17dは、図3に示したログオンユーザリスト13aに比べて、「UserC」のSID「S-1-5-21-5524773582-726422xxxxxxx」が新たに追加されたことを検知する。この場合には、ログ生成部17dは、図7に示すように、新たに追加された「UserC」のSID「S-1-5-21-5524773582-726422xxxxxxx」を図3に示したログオンユーザリスト13aに追加する。その上で、ログ生成部17dは、図8に示すように、新たに追加されたユーザID「UserC」及びSID「S-1-5-21-5524773582-726422xxxxxxx」を区分「ログオン」として図4に示したログ情報13bに追加登録する。
【0054】
また、図6に示すSIDリストがOS実行部15から取得された場合には、ログ生成部17dは、図3に示したログオンユーザリスト13aに比べて、「UserB」のSID「S-1-5-21-7382364813-7264722xxxxxxx」が削除されたことを検知する。この場合には、ログ生成部17dは、図9に示すように、ログオフによって削除された「UserB」のSID「S-1-5-21-7382364813-7264722xxxxxxx」を図7に示したログオンユーザリスト13aから削除する。その上で、ログ生成部17dは、図10に示すように、ログオフによって削除されたユーザID「UserB」及びSID「S-1-5-21-7382364813-7264722xxxxxxx」を区分「ログオフ」として図9に示したログ情報13bに追加登録する。
【0055】
他の一例としては、ログ生成部17dは、OS実行部15によってシャットダウン要求が受け付けられた場合に、ログオンログオフ監視アプリの終了処理を行う。例えば、ログ生成部17dは、ログオンユーザリスト13aに搭載されているユーザID及びSIDを削除した上でそのユーザID及びSIDをログオフログとしてログ情報13bへ追加登録する。また、ログ生成部17dは、時刻情報13cとして記憶されたシステム日付及びOSカウンタの値をゼロにクリアする。図11は、時刻情報のクリアを説明するための図である。図11に示すように、ログ生成部17dは、OS実行部15によってシャットダウン要求が受け付けられた場合に、図5に示した時刻情報13cをゼロクリアする。これによって、次回の監視アプリの起動時に今回の監視アプリの終了がPCの終了に伴って終了されたことを検知できる。このように、ログ生成部17dは、終了命令情報がOSを用いたOSの終了を命令する情報である場合は、正常終了を示す正常終了情報、システム日付及びOSカウンタの初期状態である旨の情報を記憶部13に格納する正常終了情報格納部としても機能する。かかる正常終了情報格納部の機能をログ生成部17dとは別の機能部とすることとしてもかまわない。
【0056】
更なる一例として、ログ生成部17dは、ログオンログオフ監視アプリが起動した場合に、記憶部13に記憶された時刻情報13cと、今回の起動時に取得部17aに取得させた時刻情報との差分に基づいて、前回のログオフログ及び終了ログを生成する。かかるログ生成部17dは、OSの終了に関するログ情報を生成するログ生成部の一態様である。なお、ログ生成部17dは、ユーザによるPCの起動命令に応じて、監視の開始を命令する第一の開始命令情報を受付ける第一の受付部としても機能する。かかる第一の受付部の機能をログ生成部17dとは別の機能部とすることとしてもかまわない。
【0057】
これを説明すると、ログ生成部17dは、監視アプリが起動すると、OS実行部15からシステム日付及びOSカウンタを取得部17aに取得させる。そして、ログ生成部17dは、記憶部13に時刻情報13cとして記憶されたシステム日付及びOSカウンタを読み出す。なお、ここでは、起動時に取得部17aに取得させたシステム日付の値を「システム日付の取得値」と呼び、起動時に取得部17aに取得させたOSカウンタの値を「OSカウンタの取得値」と呼ぶ。一方、記憶部13に時刻情報13cとして記憶されたシステム日付の値を「システム日付の保存値」と呼び、記憶部13に時刻情報13cとして記憶されたOSカウンタの値を「OSカウンタの保存値」と呼ぶ。このように、ログ生成部17dは、記憶部13の時刻情報が記憶される記憶領域にアクセスするアクセス部としても機能する。かかるアクセス部の機能をログ生成部17dとは別の機能部とすることとしてもかまわない。
【0058】
ここで、ログ生成部17dは、システム日付の保存値がゼロであるか否かを判定する。このとき、システム日付の保存値がゼロである場合には、前回の監視アプリの終了がPCの正常終了に伴う終了であったとみなすことができる。よって、システム日付の保存値がゼロである場合には、ログ生成部17dは、ログオフログ及び終了ログを生成せずに、ユーザのログオン及びログオフを定期的に監視する処理に移行する。一方、システム日付の保存値がゼロでない場合には、監視アプリが前回に正常終了されていないとみなすことができる。この場合には、クライアント端末10が強制終了されたか、あるいは監視アプリが異常停止したかのいずれかと推定できる。なお、本実施例では、システム日付の保存値がゼロであるか否かによって前回の監視アプリの終了がPCの正常終了に伴う終了であったか否かを推定する場合を説明したが、OSカウンタの保存値がゼロであるか否かによっても同様の推定が可能である。
【0059】
このため、ログ生成部17dは、システム日付の保存値がゼロでない場合に、システム日付の取得値およびシステム日付の保存値の差分が所定の閾値、例えば10秒以下であるか否かをさらに判定する。ここで言う「閾値」は、上記の例に限定されるものではなく、他の監視アプリと相互起動する監視アプリが再起動された可能性を否定できる値、言い換えればPCが再起動するために要するであろう値であれば任意の値を採用できる。
【0060】
すなわち、監視アプリは、他の監視アプリと互いの生存状況を監視し、いずれかの監視アプリが異常停止した場合には他の監視アプリによって再起動されるため、監視アプリが異常停止したとしても長期間にわたって停止する可能性は低い。その一方で、PCの再起動には、PCの性能に依存する部分はあるものの、監視アプリの再起動に比べてかなりの時間を要する。つまり、ユーザがPCを強制終了させた後に、すぐにPCを起動させたとしても、監視アプリの再起動に比べてかなりの時間を要する。さらには、ユーザがPCを強制終了させて、時間をおいてPCを再起動させた場合は、より長い時間が経過することとなる。このため、監視アプリの再起動所要時間及びPCの再起動所要時間の相関関係は、監視アプリの再起動所要時間の方がPCの再起動所要時間よりも短いと言える。よって、システム日付の取得値およびシステム日付の保存値の差分が所定値以上である場合には、前回の監視アプリの終了はPCの強制終了に伴うものであり、PCの再起動に連動して監視アプリが再起動したものと推定できる。
【0061】
このことから、ログ生成部17dは、システム日付の取得値およびシステム日付の保存値の差分が所定値以上である場合に、ログオンユーザリスト13aに搭載されているユーザID及びSIDをログオフログとしてログ情報13bへ追加登録する。さらに、ログ生成部17dは、記憶部13に時刻情報13cとして記憶されていたシステム日付の保存値を前回のPCの終了日付とし、このPCの終了日付とともにPCが強制終了された旨を表すフラグ等の情報をPCの終了ログとしてログ情報13bへ登録する。一方、システム日付の取得値およびシステム日付の保存値の差分が所定値未満である場合には、監視アプリの再起動所要時間<<PCの再起動所要時間であるため、システム日付だけからでは監視アプリの異常停止とは限らず、PCが再起動された余地は残る。なぜなら、システム日付は、OSの設定をユーザが変更することで容易に変更される。したがって、ユーザがシステム日付を変更したことによって、差分が所定値未満になってしまうと、正確なログオフログが取得できなくなる。
【0062】
そこで、ログ生成部17dは、システム日付の取得値およびシステム日付の保存値の差分が所定値未満である場合に、OSカウンタの取得値がOSカウンタの保存値よりも大きいか否かをさらに判定する。すなわち、PCが再起動された場合には、OS実行部15によって再起動後のOSカウンタはゼロにクリアされる一方で、監視アプリが異常停止した場合には、OSは生存しているのでOSカウンタはゼロにクリアされずに継続してカウントアップされる。よって、OSカウンタの取得値がOSカウンタの保存値よりも大きい場合には、前回に監視アプリが異常停止したと推定できる。一方、OSカウンタの取得値がOSカウンタの保存値以下である場合には、前回にPCが強制終了されたと推定できる。
【0063】
このため、ログ生成部17dは、OSカウンタの取得値がOSカウンタの保存値よりも大きい場合には、ログオフログ及び終了ログを生成せずに、ユーザのログオン及びログオフを定期的に監視する処理に移行する。
【0064】
また、ログ生成部17dは、OSカウンタの取得値がOSカウンタの保存値以下である場合には、ログオンユーザリスト13aに搭載されているユーザID及びSIDをログオフログとしてログ情報13bへ追加登録する。さらに、ログ生成部17dは、記憶部13に時刻情報13cとして記憶されていたシステム日付の保存値を前回のPCの終了日付とし、このPCの終了日付とともにPCが強制終了された旨を表すフラグ等の情報をPCの終了ログとしてログ情報13bへ登録する。
【0065】
このように、システム日付及びOSカウンタの両方を組み合わせてログオフログ及び終了ログの生成を判断した場合には、OSカウンタだけを用いてログオフログ及び終了ログの生成を判断する場合に比べて、次のように正確な判断が可能となる。すなわち、PC電源のオン操作、PCの強制終了操作、PC電源のオン操作の順に3つの操作の各々が短い間隔でなされたケースを想定する。このケースでは、2回目のPC電源のオン操作から監視アプリが起動するまでに要した時間が、1回目のPC電源のオン操作からPCの強制終了前までに経過した時間よりも大きいと、PCが強制終了された場合でもOSカウンタの取得値が保存値より大きくなる場合がある。そこで、システム日付の取得値と保存値の差分によりPCの再起動と推定できる場合には、OSカウンタの取得値及び保存値の大小によらず、ログオフログ及び終了ログを生成することによって、上記のケースでログ情報の生成漏れが発生するのを防止できる。
【0066】
なお、図2を用いて説明してきたように、ログ生成部17dは、他の時刻情報と、前記記憶領域に格納された前記時刻情報とを比較する比較部としても機能する。かかる比較部の機能をログ生成部17dとは別の機能部とすることとしてもかまわない。
【0067】
[処理の流れ]
次に、本実施例に係るクライアント端末における処理の流れを説明する。なお、ここでは、クライアント端末10によって実行される(1)ログオンログオフ監視処理を説明してから、(2)終了ログ取得処理について説明する。
【0068】
(1)ログオンログオフ監視処理
図12は、実施例に係るログオンログオフ監視処理の手順を示すフローチャートである。このログオンログオフ監視処理は、監視アプリの起動後に監視アプリが終了されるまで所定の時間ごとに繰り返し実行される処理である。
【0069】
図12に示すように、格納部17bは、取得部17aによってOS実行部15から取得されたシステム日付及びOSカウンタの値を時刻情報13cとして記憶部13へ記録する(ステップS101及びステップS102)。
【0070】
続いて、ログ生成部17dは、OS実行部15にSIDの取得要求を行ってログオン中のユーザのSIDを取得する(ステップS103)。そして、ログ生成部17は、OS実行部15から取得したSIDの中に、記憶部13に記憶されたログオンユーザリスト13aにあるSIDとは異なるSIDが存在するか否か、すなわち今回追加されたセッションがあるか否かを判定する(ステップS104)。
【0071】
このとき、今回追加されたセッションがある場合(ステップS104肯定)には、ログ生成部17dは、新たに追加されたユーザID及びSIDをログオンユーザリスト13aに追加する(ステップS105)。そして、ログ生成部17dは、新たに追加されたユーザID及びSIDをログオンログとして生成し(ステップS106)、そのログオンログをログ情報13bへ追加登録する。
【0072】
一方、今回追加されたセッションがない場合(ステップS104否定)には、新たなユーザがログオンしてSIDが追加されていないので、そのままステップS107の処理へ移行する。
【0073】
その後、ログ生成部17dは、OS実行部15から取得したSIDの中に、記憶部13に記憶されたログオンユーザリスト13aから削除されたSIDが存在するか否か、すなわち今回削除されたセッションがあるか否かを判定する(ステップS107)。
【0074】
このとき、今回削除されたセッションがある場合(ステップS107肯定)には、ログ生成部17dは、ログオフしたユーザID及びSIDをログオンユーザリスト13aから削除する(ステップS108)。その上で、ログ生成部17dは、ログオフしたユーザID及びSIDをログオフログとして生成し(ステップS109)、そのログオフログをログ情報13bへ追加登録する。なお、今回削除されたセッションがない場合(ステップS107否定)には、そのままステップS101の処理に戻る。
【0075】
このようにして、監視アプリ実行部17は、監視アプリが生存している限りは、上記のステップS101〜ステップS109までの処理を繰り返し行う。
【0076】
(2)終了ログ取得処理
図13は、実施例に係る終了ログ取得処理の手順を示すフローチャートである。この終了ログ取得処理は、ログオンログオフ監視アプリが起動した場合に実行させる処理であり、処理の終了後には上記のログオンログオフ監視処理に移行する。
【0077】
図13に示すように、ログ生成部17dは、監視アプリが起動すると、OS実行部15からシステム日付及びOSカウンタを取得部17aに取得させる(ステップS301及びステップS302)。
【0078】
ここで、ログ生成部17dは、記憶部13に時刻情報13cとして記憶されたシステム日付の保存値がゼロであるか否かを判定する(ステップS303)。このとき、システム日付の保存値がゼロである場合(ステップS303肯定)には、ログ生成部17dは、前回にPCが正常終了されたと判断し(ステップS304)、ログオフログ及び終了ログを生成せずに処理を終了する。
【0079】
一方、システム日付の保存値がゼロでない場合(ステップS303否定)に、ログ生成部17dは、システム日付の取得値およびシステム日付の保存値の差分が所定の閾値、例えば10秒以下であるか否かをさらに判定する(ステップS305)。このとき、システム日付の取得値およびシステム日付の保存値の差分が所定値未満である場合(ステップS305肯定)に、ログ生成部17dは、OSカウンタの取得値がOSカウンタの保存値よりも大きいか否かをさらに判定する(ステップS306)。
【0080】
ここで、OSカウンタの取得値がOSカウンタの保存値よりも大きい場合(ステップS306肯定)には、ログ生成部17dは、次のように判断する。すなわち、ログ生成部17dは、前回に監視アプリの終了が異常停止であったと判断し(ステップS307)、ログオフログ及び終了ログを生成せずに処理を終了する。
【0081】
一方、システム日付の取得値およびシステム日付の保存値の差分が所定値よりも大きい場合(ステップS305否定)またはOSカウンタの取得値がOSカウンタの保存値以下である場合(ステップS306否定)には、次のように判断される。すなわち、ログ生成部17dは、前回にPCが強制終了されたと判断する(ステップS308)。
【0082】
この場合には、ログ生成部17dは、ログオンユーザリスト13aに搭載されているユーザID及びSIDをログオフログとして生成し(ステップS309)、そのログオフログをログ情報13bへ追加登録する。さらに、ログ生成部17dは、記憶部13に記憶されていたシステム日付の保存値を前回のPCの終了日付とし、このPCの終了日付とともにPCが強制終了された旨を表すフラグ等の情報をPCの終了ログとしてログ情報13bへ登録する(ステップS310)。このようにしてログオフログ及び終了ログを生成後に処理を終了する。
【0083】
なお、システム日付のみを用いてログオフログ及び終了ログを生成する場合には、上記のステップS301〜ステップS310のうち、ステップS302及びステップS306を省略することができる。また、OSカウンタのみを用いてログオフログ及び終了ログを生成する場合には、上記のステップS301〜ステップS310のうち、ステップS301及びステップS305を省略できる。その代わりに、ステップS303でシステム日付に代えてOSカウンタの保存値がゼロであるか否かを判定する。
【0084】
また、ログ生成部17dは、S305のシステム日付を用いた判定とS306のOSカウンタを用いた判定とを逆で行っても良い。その場合は、OSカウンタの取得値がOSカウンタの保存値以下であると判定した場合(ステップS306肯定)には、ログ生成部17dはS305の判定を実行する。そして、システム日付の取得値およびシステム日付の保存値の差分が所定値よりも大きい場合(ステップS305否定)、ログ生成部17dは、前回にPCが強制終了されたと判断する。また、システム日付の取得値およびシステム日付の保存値の差分が所定値未満である場合(ステップS305肯定)、ログ生成部17dは、前回に監視アプリの終了が異常停止であったと判断する。一方、OSカウンタの取得値がOSカウンタの保存値よりも大きい場合(ステップS306否定)には、強制終了されたと判断する。
【0085】
[実施例1の効果]
上述してきたように、本実施例に係るクライアント端末10は、相互起動する複数アプリのうちの監視アプリは、異常終了後の起動時に、前回終了時刻よりも現時刻が大きければ監視アプリの異常終了であったとして、OSの終了に関するログ情報は生成しない。それゆえ、本実施例に係るクライアント端末10では、クライアント端末10が動作中に監視アプリが異常停止した場合に、誤って終了ログを生成したり、また、誤ってログオフログを生成したりすることを防止できる。よって、本実施例に係るクライアント端末10によれば、PCの終了ログやPCのログオフログなどの基本ソフトウェアの終了に関するログを正確に取得できる。
【0086】
また、本実施例に係るクライアント端末10は、システム日付間の差分が所定値以上である場合に、OSの終了に関するログ情報を生成する。さらに、本実施例に係るクライアント端末10は、システム日付間の差分が所定値未満であってもOSカウンタの取得値よりもOSカウンタの保存値の方が大きい場合に、OSの終了に関するログ情報を生成する。このため、本実施例に係るクライアント端末10によれば、電源のオン操作、強制終了操作、電源のオン操作の順に3つの操作の各々が短い間隔でなされた場合でも、ログオフログ及びPCの終了ログの生成漏れを防止できる。
【0087】
さらに、本実施例に係るクライアント端末10は、時刻情報の取得値が時刻情報の保存値よりも小さい場合には、OSの終了に関するログ情報を生成させない。そして、本実施例に係るクライアント端末10は、時刻情報の保存値よりも時刻情報の取得値の方が大きい場合に、OSの終了に関するログ情報を生成する。よって、本実施例に係るクライアント端末10によれば、監視アプリが異常停止した場合に誤って終了ログ及びログオフログが生成するのを防止しつつ、クライアント端末10が強制終了した場合に限ってログオフログ及び終了ログを生成できる。
【実施例2】
【0088】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0089】
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部17a、格納部17b、ログ送信部17cまたはログ生成部17dをクライアント端末10の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部17a、格納部17b、ログ送信部17cまたはログ生成部17dを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のクライアント端末10の機能を実現するようにしてもよい。
【0090】
[終了ログ取得プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図14を用いて、上記の実施例と同様の機能を有する終了ログ取得プログラムを実行するコンピュータの一例について説明する。なお、図14は、実施例2に係る終了ログ取得プログラムを実行するコンピュータの一例について説明するための図である。
【0091】
図14に示すように、実施例2におけるコンピュータ100は、操作部110aと、マイク110bと、スピーカ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD(Hard Disk Drive)170と、RAM(Random Access Memory)180と有する。これら110〜180の各部はバス140を介して接続される。
【0092】
ROM160には、上記の実施例1で示した取得部17aと、格納部17bと、ログ送信部17cと、ログ生成部17dと同様の機能を発揮する制御プログラムが予め記憶される。つまり、ROM160には、図14に示すように、取得プログラム160aと、格納プログラム160bと、ログ送信プログラム160cと、ログ生成プログラム160dが記憶される。これらのプログラム160a〜160dについては、図2に示したクライアント端末10の各構成要素と同様、適宜統合又は分離しても良い。なお、RAM160に格納される各データは、常に全てのデータがRAM160に格納される必要はなく、処理に必要なデータのみがRAM160に格納されれば良い。
【0093】
そして、CPU150が、これらのプログラム160a〜160dをROM160から読み出して実行する。これによって、CPU150は、図14に示すように、各プログラム160a〜160dについては、取得プロセス150a、格納プロセス150b、ログ送信プロセス150c及びログ生成プロセス150dとして機能するようになる。これらプロセス150a〜150dは、図2に示した、取得部17aと、格納部17bと、ログ送信部17cと、ログ生成部17dとにそれぞれ対応する。なお、CPU150上で仮想的に実現される各処理部は、常に全ての処理部がCPU150上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。そして、CPU150は、RAM180に格納された情報を用いて、終了ログ取得プログラムを実行する。
【0094】
なお、上記の終了ログ取得プログラムについては、必ずしも最初からHDD170やROM160に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ100がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【0095】
1 情報漏えい対処システム
3 ネットワーク
10A〜10C クライアント端末
11 入力部
11a キーボード
11b マウス
11c 電源ボタン
12 通信I/F部
13 記憶部
13a ログオンユーザリスト
13b ログ情報
13c 時刻情報
14 制御部
15 OS実行部
16a〜16c 他の監視アプリ実行部
17 監視アプリ実行部
17a 取得部
17b 格納部
17c ログ送信部
17d ログ生成部
30 管理サーバ
50 コンソール

【特許請求の範囲】
【請求項1】
コンピュータに、
ユーザによる前記コンピュータの起動命令に応じて、監視の開始を命令する第一の開始命令情報を受付け、
前記第一の開始命令を受付けた場合に、所定時間ごとに、前記コンピュータで動作される基本ソフトウェアから時刻に関する時刻情報を取得し、
前記所定時間ごとに取得した前記時刻情報を記憶領域へ格納し、
前記基本ソフトウェアを終了させる終了命令情報を受付け、
前記受付けた終了命令情報が、前記基本ソフトウェアを用いた該基本ソフトウェアの終了を命令する情報である場合は、正常終了を示す正常終了情報を前記記憶領域に格納し、
前記第一の開始命令情報とは異なる第二の開始命令情報を受付けた場合に、前記記憶領域にアクセスし、
前記記憶領域に前記正常終了情報が格納されていない場合には、前記基本ソフトウェアから他の時刻情報を取得し、
前記他の時刻情報と、前記記憶領域に格納された前記時刻情報とを比較し、
比較結果に基づいて、前記基本ソフトウェアの終了に関するログ情報を生成する処理
を実行させることを特徴とする終了ログ取得プログラム。
【請求項2】
前記時刻情報を取得する処理において、前記基本ソフトウェアによって計測されるシステム日付を含む前記時刻情報を取得し、
前記他の時刻情報を取得する処理において、他のシステム日付を含む前記他の時刻情報を取得し、
前記比較する処理において、前記他のシステム日付と、前記記憶領域に格納された前記システム日付とのシステム日付間の差分を算出し、
前記ログ情報を生成する処理において、前記システム日付間の差分が所定値以上である場合、前記基本ソフトウェアを用いずに前記コンピュータが終了された情報を有する前記ログ情報を生成する
ことを特徴とする請求項1記載の終了ログ取得プログラム。
【請求項3】
前記システム日付間の差分が所定値よりも小さい場合に、前記終了命令情報を受付けずに前記監視が終了されたことを判断すると共に、前記ログ情報を生成しないことを特徴とする請求項2記載の終了ログ取得プログラム。
【請求項4】
前記時刻情報を取得する処理において、前記基本ソフトウェアによって計測されるOSカウンタを含む前記時刻情報を取得し、
前記他の時刻情報を取得する処理において、他のOSカウンタを含む前記他の時刻情報を取得し、
比較する処理において、前記他のOSカウンタと前記OSカウンタとを比較し、
前記ログ情報を生成する処理において、前記他のOSカウンタが前記OSカウンタよりも小さい場合に、前記基本ソフトウェアを用いずに前記コンピュータが終了された情報を有する前記ログ情報を生成する
ことを特徴とする請求項1乃至請求項3のいずれか一項に記載の終了ログ取得プログラム。
【請求項5】
前記コンピュータに、
前記第二の開始命令情報が、前記ユーザによる前記起動命令によらない他の監視を開始させる命令である場合に、該他の監視を開始する処理を実行させることを特徴とする請求項1乃至請求項4のいずれか一項に記載の終了ログ取得プログラム。
【請求項6】
ユーザによるコンピュータの起動命令に応じて、監視の開始を命令する第一の開始命令情報を受付ける第一の受付部と、
前記第一の開始命令を受付けた場合に、所定時間ごとに、前記コンピュータで動作される基本ソフトウェアから時刻に関する時刻情報を取得する取得部と、
前記所定時間ごとに取得した前記時刻情報を記憶領域へ格納する格納部と、
前記基本ソフトウェアを終了させる終了命令情報を受付ける第二の受付部と、
前記受付けた終了命令情報が、前記基本ソフトウェアを用いた該基本ソフトウェアの終了を命令する情報である場合は、正常終了を示す正常終了情報を前記記憶領域に格納し、
前記第一の開始命令情報とは異なる第二の開始命令情報を受付けた場合に、前記記憶領域にアクセスし、
前記記憶領域に前記正常終了情報が格納されていない場合には、前記基本ソフトウェアから他の時刻情報を取得し、
前記他の時刻情報と、前記記憶領域に格納された前記時刻情報とを比較し、
比較結果に基づいて、前記基本ソフトウェアの終了に関するログ情報を生成するログ生成部と、
を有することを特徴とする終了ログ取得装置。
【請求項7】
コンピュータが、
ユーザによる前記コンピュータの起動命令に応じて、監視の開始を命令する第一の開始命令情報を受付け、
前記第一の開始命令を受付けた場合に、所定時間ごとに、前記コンピュータで動作される基本ソフトウェアから時刻に関する時刻情報を取得し、
前記所定時間ごとに取得した前記時刻情報を記憶領域へ格納し、
前記基本ソフトウェアを終了させる終了命令情報を受付け、
前記受付けた終了命令情報が、前記基本ソフトウェアを用いた該基本ソフトウェアの終了を命令する情報である場合は、正常終了を示す正常終了情報を前記記憶領域に格納し、
前記第一の開始命令情報とは異なる第二の開始命令情報を受付けた場合に、前記記憶領域にアクセスし、
前記記憶領域に前記正常終了情報が格納されていない場合には、前記基本ソフトウェアから他の時刻情報を取得し、
前記他の時刻情報と、前記記憶領域に格納された前記時刻情報とを比較し、
比較結果に基づいて、前記基本ソフトウェアの終了に関するログ情報を生成する処理
を実行することを特徴とする終了ログ取得方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate