以下、本発明による情報処理装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による情報処理装置について、図面を参照しながら説明する。
図1は、本実施の形態による情報処理装置1の構成を示すブロック図である。本実施の形態による情報処理装置1は、作業申請情報受付部11と、作業申請情報蓄積部12と、申請判断部13と、申請判断結果出力部14と、承認情報受付部15と、作業許可情報蓄積部16と、ホワイトリスト記憶部17と、ブラックリスト記憶部18と、作業記録情報受付部19と、作業記録情報蓄積部20と、出力部21と、対応情報記憶部22と、判断部23と、判断結果出力部24と、を備える。
作業申請情報受付部11は、作業申請情報を受け付ける。作業申請情報は、情報処理システムに対する操作作業を示す情報であり、その操作作業の申請の情報である。なお、この作業申請情報は、申請である旨を示す情報を含んでいてもよく、あるいは、情報処理装置1において、申請の情報であると認識されるのであれば、申請である旨を示す情報を含んでいなくてもよい。「情報処理システムに対する操作作業」とは、情報処理システムに関係する種々の操作作業を含むものである。例えば、その操作作業は、システムや装置(スタンドアロンでもよく、そうでなくてもよい)に対する制御や操作等の処理(例えば、その装置等へのアクセスや、その装置等で用いられる設定情報の変更等の処理)であってもよく、ソフトウェアやデータに対する処理(例えば、ソフトウェアやデータの変更や追加、削除等の処理)であってもよく、その他の操作作業であってもよい。ただし、その操作作業は、例えば、コンピュータや、ネットワーク、ユーザインタフェース等を介して電子的に実行されるものである。
作業申請情報は、操作作業の作業内容を示す情報を少なくとも含んでいるものとする。作業内容を示す情報とは、例えば、操作作業の作業対象を示す情報(例えば、装置やデータ、ソフトウェア等の識別情報であってもよい)であってもよく、操作作業の処理内容を示す情報(例えば、変更、追加、削除、読み出し、バックアップ等の処理)であってもよく、その両方であってもよく、その他の作業内容を示す情報であってもよい。また、その操作内容を示す情報は、例えば、「CDを挿入します。」などのように自然言語によって記述されたテキスト情報であってもよく、「delete」「update」「insert」などのあらかじめ規定されているコマンドやコードなどによって記述された情報であってもよい。本実施の形態では、前者の場合について説明する。その前者の場合に、操作内容を示す情報は、キーボード等から入力されてもよく、あるいは、メニュー等からの選択によって入力されてもよい。また、作業申請情報では、2以上の操作作業が、作業順序を含めて示されることが一般的である。例えば、1番目に操作内容Aを実行し、2番目に操作内容Bを実行し、3番目に操作内容Cを実行する、と言うように記述されていてもよい。なお、作業申請情報は、一の操作作業のみを示すものであってもよい。また、作業申請情報に、作業を行う作業者を識別する情報が含まれていてもよく、あるいは、含まれていなくてもよい。また、作業申請情報に、作業を行う時期を示す情報が含まれていてもよく、あるいは、含まれていなくてもよい。作業を行う時期を示す情報は、例えば、時期の始期を示す情報であってもよく、時期の終期を示す情報であってもよく、あるいは、その両方であってもよい。
作業申請情報受付部11は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された作業申請情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された作業申請情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された作業申請情報を受け付けてもよい。なお、作業申請情報受付部11は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、作業申請情報受付部11は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
作業申請情報蓄積部12は、作業申請情報受付部11が受け付けた作業申請情報を記録媒体に蓄積する。この記録媒体は、例えば、半導体メモリや、光ディスク、磁気ディスク等であり、作業申請情報蓄積部12が有していてもよく、あるいは作業申請情報蓄積部12の外部に存在してもよい。また、この記録媒体は、作業申請情報を一時的に記憶するものであってもよく、そうでなくてもよい。
申請判断部13は、作業申請情報受付部11が受け付けた作業申請情報の示す操作作業が、後述するブラックリスト記憶部18で記憶されているいずれかの作業不許可情報の示す操作作業と一致するかどうか判断する。作業不許可情報は、許可されない操作作業である。したがって、申請判断部13は、作業申請情報の示す操作作業が、許可されているものであるかどうかを判断することになる。なお、作業申請情報に2以上の操作作業を示す情報が含まれている場合には、申請判断部13は、一般にその操作作業ごとに判断を行うものとするが、そうでなくてもよい。
申請判断結果出力部14は、申請判断部13による判断結果を出力する。申請判断結果出力部14は、ある作業申請情報について、その作業申請情報に対応する承認情報(承認情報については後述する)を受け付けるより前に、判断結果を出力することが好適である。承認する際に、その判断結果を用いることができるようにするためである。また、申請判断結果出力部14は、作業申請情報受付部11が受け付けた作業申請情報と、その作業申請情報に対する承認を要求する情報である承認要求情報と、その作業申請情報に対する申請判断部13による判断結果とを対応付けて出力してもよい。本実施の形態では、この場合について説明する。承認要求情報は、承認を要求することの分かる情報であれば、どのようなものであってもよい。例えば、「承認」ボタンと、「却下」ボタンとを表示するための情報であってもよく、「承認してください。」と言ったテキスト情報であってもよく、その他の承認を要求する情報であってもよい。また、作業申請情報と、承認要求情報と、判断結果とを対応付けて出力するとは、それらを同時に出力することであってもよく、それらを順番に出力することであってもよく、それらが互いに対応付けられていることが分かるように出力するのであれば、その方法を問わない。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力が、送信や、記録媒体への蓄積、他の構成要素への引き渡しであったとしても、最終的には、出力対象となる情報が表示されたり、印刷されたりすることによって、人に提示されることになるものとする。また、申請判断結果出力部14は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、申請判断結果出力部14は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
承認情報受付部15は、作業申請情報で示される申請が承認されたかどうかを示す情報である承認情報を受け付ける。なお、承認情報は、承認または却下の対象となる作業申請情報を識別する情報が含まれていることが好適である。その結果、どの作業申請情報が承認されたのか、承認されなかったのかが分かるようになるからである。作業申請情報を識別する情報は、例えば、作業申請情報そのものであってもよく、作業申請情報のハッシュ値であってもよく、作業申請情報に対して付与されたID等の識別情報であってもよく、その他の作業申請情報を識別する情報であってもよい。作業申請情報を識別する情報が、作業申請情報に対して付与されたID等の識別情報である場合には、その識別情報が、例えば、申請判断結果出力部14によって、作業申請情報と一緒に出力されていることが好適である。
承認情報受付部15は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された承認情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された承認情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された承認情報を受け付けてもよい。なお、承認情報受付部15は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、承認情報受付部15は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
作業許可情報蓄積部16は、作業申請情報受付部11が受け付けた作業申請情報であって、承認されたことを示す承認情報を承認情報受付部15が受け付けた作業申請情報の示す操作作業の情報である作業許可情報を、後述するホワイトリスト記憶部17に蓄積する。すなわち、作業許可情報は、承認された作業申請情報の示す操作作業の情報である。なお、作業許可情報は、作業申請情報そのものであってもよく、あるいは、そうでなくてもよい。前者の場合には、例えば、承認された作業申請情報そのものを、作業許可情報蓄積部16がホワイトリスト記憶部17に蓄積してもよい。後者の場合には、例えば、作業許可情報蓄積部16は、承認された作業申請情報から操作作業の情報を抽出し、その抽出した操作作業の情報を含む作業許可情報を構成してホワイトリスト記憶部17に蓄積してもよい。また、作業申請情報に2以上の操作作業を、作業順序を含めて示す情報が含まれている場合には、その作業申請情報に対応して蓄積された作業許可情報も、2以上の操作作業を、作業順序を含めて示す情報となる。
ホワイトリスト記憶部17では、許可される操作作業である作業許可情報を1以上含むホワイトリストが記憶される。前述のように、ホワイトリスト記憶部17が記憶している作業許可情報は、作業許可情報蓄積部16によって蓄積されたものである。
ホワイトリスト記憶部17での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。ホワイトリスト記憶部17は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
ブラックリスト記憶部18では、許可されない操作作業である作業不許可情報を1以上含むブラックリストが記憶される。このブラックリストに含まれる作業不許可情報は、不正な操作となりうる可能性のある操作作業を示すものである。例えば、作業不許可情報は、重要なデータに対する操作作業や、データやソフトウェアを削除する操作作業、装置やシステムの設定を変更する操作作業等を示すものである。なお、一の作業不許可情報は、一般に、一の操作作業を示すものであるが、そうでなくてもよい。例えば、作業不許可情報は、2以上の操作作業を示す情報であってもよい。その場合に、その順序を含めて、2以上の操作作業を示す情報であってもよい。
ブラックリスト記憶部18にブラックリストが記憶される過程は問わない。例えば、記録媒体を介してブラックリストがブラックリスト記憶部18で記憶されるようになってもよく、通信回線等を介して送信されたブラックリストがブラックリスト記憶部18で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたブラックリストがブラックリスト記憶部18で記憶されるようになってもよい。ブラックリスト記憶部18での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。ブラックリスト記憶部18は、所定の記録媒体(例え
ば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
作業記録情報受付部19は、作業申請情報に応じて情報処理システムに対してなされた操作作業の記録を示す作業記録情報を受け付ける。この作業記録情報は、いわゆる操作作業の履歴の情報であってもよい。また、この作業記録情報は、作業申請情報に応じてなされた操作作業がコンピュータ等によって自動的に記録されたものである。その記録に、例えば、前述の非特許文献1で紹介されているシステムを用いてもよい。そのようなシステムを用いることによって、操作画面の動画像や、通信ポート、ファイルアクセス、プロセス、キーボード打刻などの様々な操作作業に関する記録をとることができる。例えば、作業記録情報が操作画面の動画像である場合には、その動画像において表示されているテーブルやデータベースの名称を文字認識によって取得してもよい。通常、テーブルやデータベースの名称が表示される位置は決まっていることが多いため、その位置の画像についてのみ文字認識を行うようにしてもよい。また、ボタンがクリックされる際に、ボタンの色が変化することなどを用いて、クリックされたボタンを特定し、そのボタンの上に表示されている文字列を文字認識によって取得することにより、ボタンを特定する情報、例えば、「検索」等を取得してもよい。このようにして、動画像から、「検索」ボタンがクリックされた、と言う操作作業に関する情報を取得することもできる。なお、本実施の形態では、作業記録情報が、コマンドや、通信ポート、プロセス等を示す情報である場合について説明する。
作業記録情報受付部19は、例えば、有線もしくは無線の通信回線を介して送信された作業記録情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された作業記録情報を受け付けてもよい。なお、作業記録情報受付部19は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、作業記録情報受付部19は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
作業記録情報蓄積部20は、作業記録情報受付部19が受け付けた作業記録情報を記録媒体に蓄積する。この記録媒体は、例えば、半導体メモリや、光ディスク、磁気ディスク等であり、作業記録情報蓄積部20が有していてもよく、あるいは作業記録情報蓄積部20の外部に存在してもよい。また、この記録媒体は、作業記録情報を一時的に記憶するものであってもよく、そうでなくてもよい。また、作業記録情報蓄積部20は、作業記録情報を蓄積する際に、その作業記録情報に対応する作業許可情報に対応付けて蓄積してもよく、そうでなくてもよい。対応付けて蓄積するとは、作業記録情報と、作業許可情報との紐付(リンク)が明確になるように蓄積することであってもよく、あるいは、結果として両者の紐付が分かるように蓄積することであってもよい。前者の場合には、例えば、作業記録情報を蓄積する際に、作業記録情報蓄積部20が、その作業記録情報に対応する作業許可情報の識別情報を、その作業記録情報に対応付けて蓄積することであってもよい。その識別情報は、例えば、作業許可情報のID等であってもよく、作業許可情報の記憶されている位置を示すポインタであってもよく、その他の作業許可情報を識別する情報であってもよい。後者の場合、すなわち、結果として作業記録情報と、作業許可情報との紐付が分かるように蓄積する場合には、例えば、両情報に含まれる項目が同じであることであってもよい。その各項目に含まれる情報の一致・不一致を確認することによって、対応するかどうかを事後的に判断することができうるからである。
ここで、作業許可情報と、その作業許可情報に対応する作業記録情報との関係について説明する。作業許可情報は、前述のように、承認された作業申請情報と同じ操作作業を示す情報である。したがって、承認された作業申請情報と同じ操作作業を示す作業許可情報を、その承認された作業申請情報に対応する作業許可情報と呼ぶことにする。また、作業記録情報は、承認された作業申請情報に応じて実行された操作作業の記録である。したがって、承認された作業申請情報に応じて実行された操作作業の記録である作業許可情報を、その承認された作業申請情報に対応する作業記録情報と呼ぶことにする。その承認された作業申請情報を介して対応する作業許可情報と作業記録情報とが、互いに対応する作業許可情報と作業記録情報となる。
出力部21は、ホワイトリスト記憶部17で記憶されているホワイトリストに含まれる0個の作業許可情報または1以上の作業許可情報と、作業記録情報蓄積部20が蓄積した作業記録情報とを出力する。作業記録情報蓄積部20が、作業記録情報を作業許可情報に対応付けて蓄積した場合には、出力部21は、その作業記録情報と、その作業記録情報と対応する作業許可情報とを出力してもよい。その場合に、作業記録情報に対応する作業許可情報が存在しなかった場合には、作業記録情報のみが出力されることになる。すなわち、0個の作業許可情報と、作業記録情報とが出力されることになる。なお、本実施の形態では、1以上の作業許可情報と、作業記録情報とが出力される場合について主に説明する。ここで、この出力は、例えば、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよいが、本実施の形態では、この出力は、後述する判断部23への引き渡しである場合について説明する。なお、出力部21は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、出力部21は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
対応情報記憶部22では、自然言語によって記述されたテキスト情報である作業内容を示す情報と、コードによって記述された作業内容を示す情報とを対応付ける情報である対応情報が1以上記憶される。自然言語によって記述されたテキスト情報である作業内容を示す情報は、例えば、「サーバA.*ログオン」のように、正規表現等を用いたものであってもよく、「サーバAにログオンする。」「サーバAにログオンします。」のように、正規表現を用いていないものであってもよい。コードによって記述された作業内容を示す情報は、その作業内容の識別情報であってもよく、その作業内容のプロセスや、通信ポート、コマンド等を示す情報であってもよい。また、対応情報記憶部22で記憶される対応情報は、作業不許可情報に対応した作業内容に関するものであってもよく、その他の作業内容に関するものを含んでいてもよい。本実施の形態では、前者の場合について説明する。後者の場合には、例えば、作業申請情報や、作業許可情報において、自然言語で記述された作業内容を示すすべての情報を、コードで記述された作業内容を示す情報に変換可能なように対応情報が整備されていてもよい。なお、コードで記述された作業内容を示す情報を、単にコードと呼ぶこともある。
対応情報記憶部22に対応情報が記憶される過程は問わない。例えば、記録媒体を介して対応情報が対応情報記憶部22で記憶されるようになってもよく、通信回線等を介して送信された対応情報が対応情報記憶部22で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された対応情報が対応情報記憶部22で記憶されるようになってもよい。対応情報記憶部22での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。対応情報記憶部22は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
ここで、「自然言語によって記述されたテキスト情報である作業内容を示す情報と、コードによって記述された作業内容を示す情報とを対応付ける」とは、自然言語によって記述されたテキスト情報である作業内容を示す情報とコードによって記述された作業内容を示す情報の一方の情報から、他方の情報を取得できればよいという意味である。したがって、対応情報は、両情報を組として含む情報を有してもよく、両情報をリンク付ける情報であってもよい。後者の場合には、対応情報は、例えば、自然言語によって記述されたテキスト情報である作業内容を示す情報とコードによって記述された作業内容を示す情報の格納されている位置を示すポインタやアドレスとを対応付ける情報であってもよい。本実施の形態では、前者の場合について説明する。また、両情報は、直接対応付けられていなくてもよい。例えば、一方の情報に、第3の情報が対応しており、その第3の情報に他方の情報が対応していてもよい。
判断部23は、出力部21が出力した、作業許可情報と作業記録情報とを用いて、作業記録情報の示す操作作業が、いずれかの作業許可情報の示す操作作業と一致するかどうかの判断であるホワイトリスト判断を行う。このホワイトリスト判断において一致すると判断された場合には、その操作作業は、あらかじめ申請して承認された操作作業であることになる。したがって、あらかじめ申請されて承認された操作作業が適切に実行されたことを知ることができるようになる。すなわち、この判断によって、承認された作業申請情報の範囲内で操作作業が実行されたかどうかを知ることができるようになる。なお、判断部23は、作業記録情報の示す操作作業のうち、作業不許可情報の示す操作作業と一致するものについてのみ、いずれかの作業許可情報の示す操作作業と一致するかどうかのホワイトリスト判断を行うようにしてもよい。作業不許可情報の示す操作作業と一致しない操作作業については、不正な操作ではないと考えられるため、あえて作業許可情報の示す操作作業と一致するかどうかの判断を行うまでもないと考えることもできるからである。また、判断部23は、作業許可情報の示す操作作業のすべてが作業記録情報に含まれているかどうかの判断を行ってもよい。含まれている場合には、承認された作業申請情報に含まれるすべての操作作業が実行されたことになり、含まれていない場合には、承認された作業申請情報に含まれるすべての操作作業のうち、実行されなかった操作作業が存在することになる。
また、判断部23は、作業記録情報の示す操作作業が、いずれの作業許可情報の示す操作作業とも一致しないが、いずれかの作業不許可情報の示す操作作業と一致するものであるかどうかの判断であるブラックリスト判断をも行う。このブラックリスト判断において、いずれの作業許可情報の示す操作作業とも一致しないが、いずれかの作業不許可情報の示す操作作業と一致すると判断された場合には、あらかじめ申請して承認された以外の操作作業であって、許可されていない操作作業が実行されたことになる。すなわち、この判断によって、不正な操作作業が実行されたかどうかを知ることができるようになる。
なお、判断部23は、これらの判断を行う際に、対応情報記憶部22で記憶されている対応情報を用いて、自然言語によって記述された作業内容を示す情報から、コードによって記述された作業内容を示す情報に変換した作業許可情報を用いて判断を行うものとする。本実施の形態では、判断部23による判断処理の際に、対応情報を用いた作業内容を示す情報の変換が行われる場合について説明するが、その変換のタイミングを問わないことはいうまでもない。例えば、ホワイトリスト記憶部17に蓄積する前に、その変換を行ってもよく、ホワイトリスト記憶部17で記憶されている際に、その変換を行ってもよく、判断部23に出力される前に、その変換を行ってもよい。また、対応情報を用いた変換の主体も問わない。例えば、本実施の形態で説明するように、判断部23によって変換が行われてもよく、他の構成要素によって変換が行われてもよい。
また、作業許可情報や、作業記録情報が2以上の操作作業を示す場合には、判断部23は、それぞれの操作作業について、前述の判断の処理を行うものとする。また、出力部21が、一の作業記録情報と、その一の作業記録情報に対応する一の作業許可情報とを判断部23に出力した場合には、判断部23は、その一の作業記録情報と、一の作業許可情報とについてのみ、判断の処理を行ってもよい。
また、作業許可情報が2以上の操作作業を、作業順序を含めて示す情報である場合に、判断部23は、作業記録情報の示す操作作業が、いずれかの作業許可情報の示す2以上の操作作業と一致するかどうかを、作業順序も一致するかどうかを含めて判断してもよい。例えば、作業許可情報が、バックアップをしてから、削除をすることを示す場合に、作業記録情報が、削除をしてから、バックアップをすることを示す場合には、作業許可情報の通りの操作作業が実行されたとは判断されないことになる。なお、このような判断を行う場合であっても、作業順序を含めないで一致するかどうかの判断を行ってもよく、あるいは、行わなくてもよい。
また、作業許可情報や作業記録情報が、作業内容以外の情報、例えば、作業者を識別する情報や、作業時期を示す情報等を含む場合には、それらの情報をも含めて一致、不一致を判断してもよく、あるいは、それらの情報を含めないで一致、不一致の判断を行ってもよい。例えば、作業許可情報で示される作業者を識別する情報で識別される作業者が、作業許可情報で示される作業時期にのみ操作作業を行うことができるように設定されているシステムの場合には、作業者を識別する情報や、作業時期を用いた判断を行わなくても、作業許可情報と作業記録情報とにおいて、作業者を識別する情報や、作業時期が一致していることは当然だからである。
また、「一致する」の判断には、一方が他方に含まれることを含んでもよい。例えば、一の情報が時期であり、他の情報が日時であり、その日時がその時期に含まれる場合には、両者が一致すると判断してもよい。また、例えば、一の情報が人のグループを示す情報であり、他の情報がひとりの人を示す情報である場合に、そのひとりの人がそのグループに含まれる場合には、両情報が一致すると判断してもよい。また、例えば、一の情報が正規表現を用いて記述された情報であり、他の情報がそうではない情報である場合に、他の情報が、正規表現を用いて記述された情報に含まれるのであれば、両情報が一致すると判断してもよい。
また、ここでは、対応情報によって、自然言語によって記述された作業内容を示す情報から、コードによって記述された作業内容を示す情報に変換された作業許可情報を用いて判断部23が判断を行う場合について説明したが、前述の申請判断部13も、判断部23と同様に、自然言語によって記述された作業内容を示す情報から、コードによって記述された作業内容を示す情報に変換された作用申請情報を用いて、作業申請情報の示す操作作業が、作業不許可情報の示す操作作業と一致するかどうかの判断を行ってもよい。
判断結果出力部24は、判断部23によるホワイトリスト判断の判断結果を出力する。ホワイトリスト判断の判断結果は、例えば、作業記録情報の操作作業が、作業許可情報の操作作業と一致しているかどうかの情報である。判断結果出力部24は、判断部23によるブラックリスト判断の判断結果をも出力する。ブラックリスト判断の判断結果は、例えば、作業記録情報の操作作業が、作業不許可情報の操作作業と一致するかどうかの情報である。また、作業記録情報の操作作業が、ホワイトリストにもブラックリストにも含まれない場合に、判断結果出力部24は、その旨を示す情報を出力してもよい。このように、判断結果出力部24は、判断部23による判断結果に関する情報を出力するのであれば、その出力対象は問わない。また、この判断結果の表現方法も問わない。判断部23による判断結果は、作業記録情報に含まれる各操作作業に対して、作業許可情報に一致するかどうかや、作業不許可情報に一致するかどうかをテキストや記号、マーク、色などによって表示したものであってもよい。また、順序を含めた判断を行う場合には、判断結果によって、順序の通りの操作作業が行われたかどうかも、テキストや記号等によって表示してもよい。また、作業許可情報に含まれる操作作業のうち、作業記録情報に含まれない操作作業が存在する場合には、判断結果は、その操作作業を示すものであってもよい。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、判断結果出力部24は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、判断結果出力部24は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、作業申請情報蓄積部12が作業申請情報を蓄積する記録媒体と、ホワイトリスト記憶部17と、ブラックリスト記憶部18と、作業記録情報蓄積部20が作業記録情報を蓄積する記録媒体と、対応情報記憶部22とのうち、任意の2以上の記録媒体や記憶部は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、ホワイトリストを記憶している領域がホワイトリスト記憶部17となり、ブラックリストを記憶している領域がブラックリスト記憶部18となる。
ここで、ホワイトリスト、ブラックリストについて説明する。本来であれば、あらかじめ申請されて承認された操作作業を示す作業許可情報の集合であるホワイトリストに含まれる操作作業のみを許可された操作とすることが理想的である。しかしながら、そのようにすると、そのホワイトリストに含まれていない操作であるが、不正な処理ではないと考えられる「A」キーの打刻なども許可されていない操作となってしまい適切ではない。そこで、図2で示されるように、全操作作業の集合Uのうち、不正であると考えられる操作作業の集合B(ブラックリスト)を設定し、その上で、あらかじめ申請されて承認された操作作業の集合A(ホワイトリスト)を事後的に登録する。集合Aは、部分集合An(nは1以上の整数)の集合である。また、部分集合Anは、一の作業許可情報に対応しているものとする。そして、実行された操作作業が集合Bに含まれない場合には、不正な操作作業ではないと判断される。また、実行された操作作業が集合Bに含まれるが、集合Aにも含まれる場合には、承認されている操作作業であるため、不正な操作作業ではないと判断される。また、実行された操作作業と、部分集合Anの要素である操作作業とが一致する場合には、あらかじめ申請されて承認された操作作業が実行されたと判断される。このようにして、作業記録情報の示す操作作業と、ホワイトリストやブラックリストとの比較を行うことによって、その作業記録情報の示す操作作業が不正な作業であるのかどうかや、あらかじめ申請されて承認された一連の操作作業が実行されたのかどうかについて知ることができるようになる。また、前述のように、ホワイトリスト判断は、作業記録情報の示す操作作業が、集合Bに含まれる範囲内の部分集合An(例えば、A2,A3,A6,A7)に含まれるかどうかの判断であってもよく、あるいは、作業記録情報の示す操作作業が、すべての部分集合An(例えば、A1〜A7)に含まれるかどうかの判断であってもよい。
なお、このようなブラックリスト、ホワイトリストの性質から明らかなように、作業許可情報の方が、作業不許可情報よりも細かく設定された情報であることが一般的であるが、そうでなくてもよい。例えば、作業不許可情報では、作業者や作業時期が限定されていなくてもよいが、作業許可情報では、作業者や作業時期が限定されていてもよい。
次に、本実施の形態による情報処理装置1の動作について、図3のフローチャートを用いて説明する。
(ステップS101)作業申請情報受付部11は、作業申請情報を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS102に進み、そうでない場合には、ステップS105に進む。
(ステップS102)作業申請情報蓄積部12は、作業申請情報受付部11が受け付けた作業申請情報を記録媒体に蓄積する。
(ステップS103)申請判断部13は、作業申請情報受付部11が受け付けた作業申請情報の示す操作作業が、作業不許可情報の示す操作作業と一致するかどうか判断する。この処理の詳細については、図4のフローチャートを用いて後述する。
(ステップS104)申請判断結果出力部14は、作業申請情報受付部11が受け付けた作業申請情報と、その作業申請情報に対する申請判断部13による判断結果と、その作業申請情報に対する承認を要求する情報である承認要求情報とを出力する。そして、ステップS101に戻る。
(ステップS105)承認情報受付部15は、承認情報を受け付けたかどうか判断する。そして、承認情報を受け付けた場合には、ステップS106に進み、そうでない場合には、ステップS108に進む。
(ステップS106)作業許可情報蓄積部16は、承認情報受付部15が受け付けた承認情報によって、承認したことが示されるのか、あるいは、却下したことが示されるのかを判断する。そして、承認したことが示される場合には、ステップS107に進み、そうではなく、却下したことが示される場合には、ステップS101に戻る。
(ステップS107)作業許可情報蓄積部16は、承認された作業申請情報の示す操作作業の情報である作業許可情報をホワイトリスト記憶部17に蓄積する。そして、ステップS101に戻る。
(ステップS108)作業記録情報受付部19は、作業記録情報を受け付けたかどうか判断する。そして、作業記録情報を受け付けた場合には、ステップS109に進み、そうでない場合には、ステップS101に戻る。
(ステップS109)作業記録情報蓄積部20は、作業記録情報受付部19が受け付けた作業記録情報を記録媒体に蓄積する。
(ステップS110)出力部21は、作業記録情報蓄積部20が蓄積した作業記録情報と、その作業記録情報に対応する、ホワイトリスト記憶部17で記憶されている作業許可情報とをそれぞれ読み出して判断部23に出力する。なお、その作業記録情報に対応する作業許可情報が存在しない場合には、作業記録情報のみが出力されることになる。
(ステップS111)判断部23は、出力部21が出力した作業記録情報と作業許可情報とを用いて、ホワイトリスト判断や、ブラックリスト判断等を行う。この処理の操作については、図5のフローチャートを用いて後述する。
(ステップS112)判断結果出力部24は、判断部23による判断結果を出力する。そして、ステップS101に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図4は、図3のフローチャートにおける作業申請情報に関する判断の処理(ステップS103)の詳細を示すフローチャートである。
(ステップS201)申請判断部13は、カウンタiを1に設定する。
(ステップS202)申請判断部13は、作業申請情報に含まれるi番目の作業内容が、ブラックリスト記憶部18で記憶されているブラックリストに含まれるいずれかの作業不許可情報と一致するかどうか判断する。そして、いずれかの作業不許可情報と一致する場合には、ステップS203に進み、そうでない場合には、ステップS204に進む。なお、この判断の際に、本実施の形態では、申請判断部13は、対応情報を用いることによって、作業申請情報の示す、自然言語によって記述された作業内容を示す情報を、コードによって記述された作業内容を示す情報に変換し、その変換後の作業内容を示す情報を用いて、作業不許可情報と一致するかどうかの判断を行うものとする。
(ステップS203)申請判断部13は、作業申請情報に含まれるi番目の作業内容が、作業不許可情報と一致する不許可のものである旨を、その作業内容に対して付与する。不許可のものである旨は、例えば、「ブラックリスト」「不許可」等のテキスト情報であってもよく、あらかじめ決められた色等であってもよく、あらかじめ決められた強調表示(例えば、文字を太字にする、文字のフォントを大きくする、文字を枠で囲む等)であってもよい。
(ステップS204)申請判断部13は、カウンタiを1だけインクリメントする。
(ステップS205)申請判断部13は、作業申請情報にi番目の作業内容が存在するかどうか判断する。そして、存在する場合には、ステップS202に戻り、そうでない場合には、すべての作業内容について判断が終了したとして、図3のフローチャートに戻る。
なお、図4のフローチャートでは、ブラックリストに含まれる作業不許可情報が作業内容のみに関するものであるとして、作業申請情報に含まれる作業内容と、作業不許可情報との一致、不一致を判断する場合について説明したが、ブラックリストに含まれる作業不許可情報が作業内容以外の作業時期や作業者に関するものでもある場合には、作業申請情報に含まれる操作作業と、作業不許可情報との一致、不一致を判断するようにしてもよい。
図5は、図3のフローチャートにおける判断の処理(ステップS111)の詳細を示すフローチャートである。なお、この図5のフローチャートでは、申請されて承認された作業申請情報で指定された作業者のみが作業を行うことができるシステムであるとして、作業許可情報と作業記録情報とについて、作業者が一致しているかどうかは判断しないものとする。一方、時期の判断は行うものとする。また、このフローチャートにおいて、ブラックリスト記憶部18で記憶されている作業不許可情報には、その作業不許可情報を識別するIDが対応付けられているものとする。また、このフローチャートにおいて、対応情報によって、自然言語で記述された作業内容を示す情報に対応付けられる、コードによって記述された作業内容を示す情報は、コードそのものであり、そのコードは、作業不許可情報のIDであるとする。また、このフローチャートでは、出力部21によって、一の作業記録情報と、それに対応する一の作業許可情報とが出力された場合について説明する。
(ステップS301)判断部23は、カウンタiを1に設定する。
(ステップS302)判断部23は、作業記録情報に含まれるi番目の操作作業が、ブラックリスト記憶部18で記憶されているブラックリストに含まれるいずれかの作業不許可情報と一致するかどうか判断する。そして、いずれかの作業不許可情報と一致する場合には、ステップS303に進み、そうでない場合には、ステップS305に進む。
(ステップS303)判断部23は、作業記録情報に含まれるi番目の操作作業が、作業不許可情報と一致する不許可のものである旨を、その操作作業に対して付与する。不許可のものである旨は、例えば、「ブラックリスト」「不許可」等のテキスト情報であってもよく、あらかじめ決められた色(例えば、赤色など)等であってもよい。
(ステップS304)判断部23は、作業記録情報に含まれるi番目の操作作業と一致する作業不許可情報に対応付けられているIDを読み出し、その作業不許可情報のIDを、作業記録情報に含まれるi番目の操作作業に対して付与する。IDを操作作業に対して付与するとは、例えば、その操作作業に対応付けてIDを図示しない記録媒体に蓄積することであってもよい。
なお、ステップS304の処理を行うことによって、ステップS303の処理の目的も達成することができるため、ステップS303の処理は行わなくてもよい。
(ステップS305)判断部23は、カウンタiを1だけインクリメントする。
(ステップS306)判断部23は、作業記録情報にi番目の操作作業が存在するかどうか判断する。そして、存在する場合には、ステップS302に戻り、そうでない場合には、ステップS307に進む。
なお、ステップS301〜S306の処理によって、作業記録情報に含まれる各操作作業がブラックリストに含まれる作業不許可情報に対応するかどうかが判断されたことになる。
(ステップS307)判断部23は、作業記録情報と、その作業記録情報と対応付けて出力された作業許可情報との時期を示す情報が一致するかどうか判断する。そして、一致する場合には、ステップS308に進み、一致しない場合には、作業記録情報の各操作作業がホワイトリストに含まれることはないため、図3のフローチャートに戻る。
(ステップS308)判断部23は、カウンタjを1に設定する。
(ステップS309)判断部23は、出力部21が出力した作業許可情報のj番目の作業内容に対応する対応情報が存在するかどうか判断する。すなわち、判断部23は、j番目の作業内容と一致する、自然言語で記述されたテキスト情報である作業内容を示す情報が存在するかどうか判断する。そして、存在する場合には、ステップS310に進み、そうでない場合には、ステップS314に進む。
(ステップS310)判断部23は、j番目の作業内容と一致する、自然言語で記述されたテキスト情報である作業内容を示す情報に、対応情報によって対応付けられているコードを取得する。
(ステップS311)判断部23は、ステップS310で取得したコードと一致する作業不許可情報のIDが、作業記録情報のいずれかの操作作業に対して付与されているかどうか判断する。そして、付与されている場合には、ステップS312に進み、そうでない場合には、ステップS314に進む。
(ステップS312)判断部23は、取得したコードと一致する作業不許可情報のIDの付与されている操作作業に対して、作業許可情報と一致する許可のものである旨を付与する。許可のものである旨は、例えば、「ホワイトリスト」「許可」等のテキスト情報であってもよく、あらかじめ決められた色(例えば、黄色など)等であってもよい。また、それまでに付与されている不許可のものである旨は、消去してもよく、残してもよい。
(ステップS313)判断部23は、ステップS312で許可のものである旨を付与した操作作業の作業記録情報における順番を図示しない記録媒体に蓄積する。例えば、ステップS312で許可のものである旨を付与した操作作業が作業記録情報においてN番目のものであれば、判断部23は、その「N」の値を蓄積する。なお、この蓄積の際に、蓄積順が分かるように蓄積するものとする。
(ステップS314)判断部23は、カウンタjを1だけインクリメントする。
(ステップS315)判断部23は、作業許可情報にj番目の作業内容が存在するかどうか判断する。そして、存在する場合には、ステップS309に戻り、そうでない場合には、ステップS316に進む。
(ステップS316)判断部23は、ステップS313で蓄積した作業記録情報における操作作業の順番が、蓄積順に昇順になっているかどうか判断する。そして、一部でも昇順になっていないところがある場合には、作業許可情報における操作作業の順序と、作業記録情報における操作作業の順序とが入れ替わっている箇所が存在することになるため、そのまま図3のフローチャートに戻る。一方、ステップS313で蓄積した作業記録情報における操作作業の順番が、蓄積順に昇順になっている場合には、作業許可情報における操作作業の順序と、作業記録情報における操作作業の順序とが一致しているため、ステップS317に進む。
(ステップS317)判断部23は、ステップS312で付与した許可のものである旨が付与された操作作業に対して、さらに順序も一致している旨を付与する。順序も一致している旨は、例えば、「順序一致」等のテキスト情報であってもよく、あらかじめ決められた色(例えば、青色や緑色など)等であってもよい。また、それまでに付与されている許可のものである旨は、消去してもよく、残してもよい。そして、図3のフローチャートに戻る。
なお、図5のフローチャートでは、ステップS317において、順序も一致している旨が付与される場合について説明したが、たとえ順序が一致していたとしても、作業許可情報に含まれる複数の作業内容のすべてが実行されたかどうかを知ることはできない。したがって、作業許可情報に含まれる複数の作業内容のすべてが実行されたかどうかを知ることができるようにするために、判断部23は、ステップS313において、操作作業の作業記録情報における順番を蓄積する際に、カウンタjの値も蓄積してもよい。そして、作業許可情報のすべての作業内容についての処理が終了した後に、その蓄積したカウンタjの値が、1から作業内容の総数まで連続しているかどうか判断する。連続している場合には、作業許可情報のすべての作業内容が実行されたことになる。一方、連続していない場合には、作業許可情報のいずれかの作業内容が実行されなかったことになる。ただし、この判断を行うことができるのは、対応情報において、作業許可情報のすべての作業内容をコードに変換することができる場合(すなわち、ステップS309でNOになることがない場合)である。
また、図5のフローチャートのステップS308〜S315において、ホワイトリスト判断が行われることになる。すなわち、その処理において、許可のものである旨の付与された操作作業がホワイトリストに該当する操作作業である。ただし、この図5のフローチャートでは、ブラックリストに含まれる範囲内でのホワイトリスト判断が行われている。すなわち、図2における部分集合A1,A4,A5に該当するかどうかの判断は行われていない。また、図5のフローチャートのステップS301〜S306において不許可のものである旨が付与されると共に、ステップS308〜S315において、許可のものである旨の付与されなかった操作作業がブラックリストに該当する操作作業である。したがって、ステップS301〜S315において、ブラックリスト判断が行われることになる。なお、図3のフローチャートのステップS110において、作業記録情報のみが出力された場合には、この図5のフローチャートにおいて、ブラックリストに該当するかどうかの判断(ステップS301〜S306)のみが実行され、その後に、作業許可情報が存在しないため、ステップS307でNOとなって図3のフローチャートに戻ることになる。
また、図5のフローチャートでは、まず、ブラックリストに該当するかどうかを判断し、次にホワイトリストに該当するかどうかを判断する場合について説明したが、そうでなくてもよい。例えば、はじめに作業記録情報の各操作作業が、ホワイトリストに該当するかどうかを判断し、その後に、ホワイトリストに該当しなかった操作作業について、ブラックリストに該当するかどうかの判断を行うようにしてもよい。このように判断する場合には、例えば、ブラックリストの範囲に関係のないホワイトリスト判断、例えば、図2における部分集合A1,A4,A5に該当するかどうかの判断も行うことができる。
また、図5のフローチャートでは、判断部23が、出力部21が出力した一の作業記録情報と、その作業記録情報に対応する一の作業許可情報とを用いた判断を行う場合について説明したが、そうでなくてもよい。例えば、出力部21は、一の作業記録情報と、ホワイトリストに含まれるすべての作業許可情報とを出力し、判断部23は、その複数の作業許可情報を用いた判断を行ってもよい。その場合には、判断部23は、まず、作業記録情報の作業者や時期と一致する作業許可情報を特定し、その特定した作業許可情報を用いて、図5と同様の処理を行ってもよい。
次に、本実施の形態による情報処理装置1の動作について、具体例を用いて説明する。この具体例では、図6で示されるように、情報処理装置1と、申請者端末2と、承認者端末3と、サーバ4とが有線または無線の通信回線500を介して接続されているものとする。通信回線500は、例えば、インターネットやイントラネット、公衆電話回線網等である。申請者端末2は、申請者が作業申請情報に含まれる情報の入力などを行う端末である。承認者端末3は、承認者が作業申請情報の承認を行う端末である。サーバ4は、承認された操作作業を行う作業者が、その操作作業を行う対象となるものであるとする。
また、この具体例において、ブラックリスト記憶部18では、図7で示されるブラックリストが記憶されているものとする。図7のブラックリストは、不許可IDと、作業不許可情報とを有している複数のレコードを有している。例えば、1番目のレコードでは、IPアドレス「192.168.105.170」にアクセスする処理が作業不許可情報として規定されており、その作業不許可情報の識別情報である不許可IDが「B001」であることが示されている。また、2番目のレコードでは、CDまたはDVDのドライブにメディアが入れられることが作業不許可情報として規定されており、その作業不許可情報の不許可IDが「B002」であることが示されている。
また、この具体例において、対応情報記憶部22では、図8で示される対応情報が記憶されているものとする。図8の対応情報は、不許可IDであるコードと、自然言語によって作業内容を示す情報とが対応付けられている。なお、作業内容を示す情報では、正規表現が用いられている。例えば、1番目のレコードでは、作業内容を示す情報が「"サーバA".*接続」であるため、「"サーバA"」の後ろに「接続」があれば、その作業内容を示す情報に該当することになる。なお、この具体例の対応情報では、コードが不許可IDであるため、作業内容が、対応情報に含まれるいずれかの作業内容を示す情報に該当した場合に、その作業内容は、ブラックリストに該当することになる。
まず、作業申請を行う申請者が、申請者端末2を操作し、操作作業を申請するプログラムを起動したとする。すると、申請者端末2において、操作作業のタイトルや作業開始日時、作業終了日時等を入力する画面が表示され、申請者がそれらの各情報をキーボードやマウスを用いて入力したとする。図9は、その入力が行われた画面を示す図である。図9では、アプリケーションBをインストールする作業の申請が行われており、タイトルや、作業開始日時、作業終了日時、作業内容、作業者、パスワードが入力されている。作業内容は、「1.」「2.」のように、順番を示す番号ごとに一の作業内容が入力されている。具体的には、「1."サーバA"機に"作業用アカウント"で"ログオン"します。」が一の作業内容となる。また、申請者と作業者とは、同じであってもよく、違っていてもよい。また、パスワードは、申請されて承認された操作作業を実行する際に用いられるパスワードである。申請者が、「OK」ボタンをクリックすると、図9で入力された各情報を有する作業申請情報が構成され、申請者端末2から情報処理装置1に送信される。
申請者端末2から送信された作業申請情報は、情報処理装置1の作業申請情報受付部11で受信され(ステップS101)、作業申請情報蓄積部12に渡される。作業申請情報蓄積部12は、受け取った作業申請情報を図示しない記録媒体に蓄積する(ステップS102)。図10は、作業申請情報蓄積部12が蓄積した作業申請情報を示す図である。なお、図10では、一の作業申請情報のみを示しているが、他の作業申請情報も蓄積されていてもよい。また、作業申請情報蓄積部12は、作業申請情報を蓄積する際に、その作業申請情報を特定するための情報として、申請IDを付与して蓄積するものとする(図10では、その申請IDは図示していない)。図10で示される作業申請情報に対応する申請IDは、「E1005」であったとする。したがって、図10で示される作業申請情報と、申請ID「E1005」とが紐付けられて記憶されていることになる。
申請判断部13は、新たな作業申請情報が蓄積されたため、その作業申請情報と、それに対応する申請ID「E1005」とを読み出して、作業申請情報に関する判断を行う(ステップS103)。具体的には、申請判断部13は、図10で示される1番目の作業内容「1."サーバA"機に"作業用アカウント"で"ログオン"します。」が、図8で示される対応情報のいずれかの作業内容を示す情報と一致するかどうか判断する(ステップS201,S202)。この場合には、1番目のレコードの作業内容を示す情報と一致するため、その作業内容に不許可である旨の情報を付加する(ステップS203)。前述のように、この具体例では、対応情報の作業内容を示す情報と一致する作業内容は、作業不許可情報に該当するからである。なお、この具体例では、不許可である旨の情報は、枠囲みであるとする。したがって、申請判断部13は、1番目の作業内容「1."サーバA"機に"作業用アカウント"で"ログオン"します。」を枠で囲む処理を行う。その後、申請判断部13は、2番目以降の作業内容についても同様に、対応情報の作業内容を示す情報と一致するかどうかの判断等を最後の作業内容まで繰り返して実行する(ステップS202〜S205)。
その後、申請判断結果出力部14は、判断結果を示す枠囲みのなされた作業申請情報と、それに対応する申請ID「E1005」と、承認要求情報とを、承認者端末3を宛先として送信する(ステップS104)。その承認者端末3に対応するアドレスは、あらかじめ情報処理装置1において保持されているものとする。
情報処理装置1から送信された作業申請情報等は、承認者端末3で受信され、承認者端末3のディスプレイに図11で示される表示がなされる。図11の表示において、「承認」「却下」ボタンが、承認要求情報であるとする。また、承認者は、枠囲みのなされている作業内容は、ブラックリストに該当しているものであることを知ることができ、承認時に、より注意深く承認してよいかどうかを検討することができる。
この具体例では、図11で示される作業申請情報が承認されることになったとする。すると、承認者は、マウスを操作して、「承認」ボタンをクリックする。すると、承認者端末3は、受信した申請ID「E1005」と、作業申請情報を承認する旨とを含む承認情報を構成し、その承認情報を情報処理装置1に送信する。
その送信された承認情報は、情報処理装置1の承認情報受付部15で受信され(ステップS105)、作業許可情報蓄積部16に渡される。作業許可情報蓄積部16は、承認情報に承認する旨が含まれていると判断し(ステップS106)、その承認情報から申請ID「E1005」を読み出す。そして、作業申請情報蓄積部12が蓄積した、その申請ID「E1005」に対応する作業申請情報を読み出し、その作業申請情報である作業許可情報と、申請IDとをホワイトリスト記憶部17に蓄積する(ステップS107)。すなわち、図10の情報がホワイトリスト記憶部17に蓄積されることになる。また、図示しない作業許可処理部は、作業用のアカウント「123456」を生成し、その作業用のアカウントと、図10のパスワード「123ABC」とを、操作作業が行われるサーバ4に送信する。したがって、サーバ4では、その作業用のアカウントと、パスワードとを用いてログインした場合に、処理を実行できるように設定する。また、その作業用のアカウントが、作業者「田中太郎」に対して、電子メール等で通知されるものとする。また、申請ID「E1005」と、その申請IDで識別される作業申請情報に応じた作業で用いられる作業用アカウント「123456」とを対応付ける作業用アカウント対応情報を生成し、その作業用アカウント対応情報を図示しない記録媒体に蓄積する。なお、この具体例では、作業用アカウント対応情報が生成される場合について説明したが、作業用アカウントと、作業許可情報とを対応付けることができるのであれば、その方法を問わない。例えば、作業用アカウントが、その作業用アカウントに対応する作業許可情報に紐付けられてホワイトリスト記憶部17に蓄積されてもよい。
2009年3月10日の22時に、作業者「田中太郎」が、図12で示されるように、作業用のアカウント「123456」と、パスワード「123ABC」を用いて、サーバ4にログインしたとする。そして、作業申請情報で申請した作業内容を順次、実行したとする。すると、サーバ4において、その作業内容は、図13で示されるように、順次、記録されることになる。なお、図12の作業記録情報において、作業用のアカウント「123456」が1行目に含まれている。作業者「田中太郎」による一連の作業が終了すると、作業用アカウント「123456」を用いた作業の終了した旨が情報処理装置1に伝えられる。すると、情報処理装置1の作業記録情報受付部19は、作業用アカウント「123456」に対応した作業用アカウントの送信要求をサーバ4に送信する。その結果、作業記録情報受付部19は、図13で示される作業記録情報を受信し(ステップS108)、作業記録情報蓄積部20に渡す。作業記録情報蓄積部20は、その受け取った作業記録情報を図示しない記録媒体に蓄積する(ステップS109)。
出力部21は、新たな作業記録情報が蓄積されたため、その作業記録情報を読み出し、作業用アカウント対応情報を参照して、その作業記録情報に含まれる作業用アカウント「123456」と対応する申請ID「E1005」を取得し、ホワイトリスト記憶部17から、その申請IDに対応する作業許可情報を読み出す。そして、その読み出した作業記録情報と作業許可情報とを判断部23に渡す(ステップS110)。
判断部23は、図13で示される作業記録情報と、図10で示される作業許可情報とを出力部21から受け取ると、それらの情報と、ブラックリストとを用いた判断を行う(ステップS111)。具体的には、判断部23は、作業記録情報の1番目の操作作業、すなわち、1行目の操作作業を読み出し、その作業内容が、図7で示されるいずれかの作業不許可情報と一致するかどうか判断する(ステップS301,S302)。この場合には、図7のブラックリストの1番目のレコードの作業不許可情報が、図13で示される作業記録情報の1番目の操作作業と一致するため、判断部23は、ブラックリストの1番目のレコードから不許可ID「B001」を読み出し、その作業記録情報の1番目の操作作業に対して、その不許可ID「B001」を付与する。具体的には、判断部23は、作業記録情報に含まれる日時と、作業内容と、許可/不許可の旨を示す情報とを対応付ける情報を構成して、図示しない記録媒体で保持しており、その許可/不許可の情報として、「不許可ID:B001」を入力する(ステップS303,S304)。図14の1番目のレコードは、そのようにして構成されたものである。この後、判断部23は、作業記録情報の2番目以降の操作作業についても順次、ブラックリストの作業不許可情報と一致するかどうかの判断を行い、その判断結果を蓄積していく(ステップS302〜S306)。その結果、図14で示される情報が構成される。なお、図14において、作業内容が作業不許可情報と一致しない場合には、許可/不許可を示す情報の欄が空欄になっているものとする。
その後、判断部23は、作業記録情報に含まれる各日時が、作業許可情報に含まれる作業開始日時から作業終了日時までの間に含まれるかどうか判断する(ステップS307)。そして、一部でも含まれないものがあれば、図14の情報を判断結果とし、すべてが含まれている場合には、継続してホワイトリストに含まれるかどうかの判断を行うことになる。この具体例では、作業記録情報に含まれるすべての日時が、作業許可情報の作業開始日時から作業終了日時までの間に含まれていたとする。すると、判断部23は、作業許可情報の1番目の作業内容「1."サーバA"機に"作業用アカウント"で"ログオン"します。」を読み出し、それと一致する作業内容を示す情報が図8の対応情報に含まれているかどうか判断する(ステップS308,S309)。この場合には、対応情報の1番目のレコードの作業内容を示す情報が、作業許可情報の1番目の作業内容と一致するため、判断部23は、対応情報の1番目のレコードから、コード「B001」を読み出す(ステップS310)。そして、判断部23は、そのコードを検索キーとして、図14で示されるテーブルを検索する(ステップS311)。この場合には、1番目のレコードがヒットするため、判断部23は、その1番目のレコードの「不許可ID:B001」を「許可」で上書きする(ステップS312)。また、判断部23は、許可/不許可を示す情報を書き換えたレコードの番号「1」を図示しない記録媒体に蓄積する(ステップS313)。この後、判断部23は、作業許可情報の2番目以降の作業内容についても順次、同様の処理を行う(ステップS309〜S315)。その結果、図14のテーブルは、図15のようになったとする。なお、図15において、作業許可情報に含まれていない作業内容が作業記録情報に含まれていた場合には、許可/不許可を示す情報に、不許可ID等が残っているものとする。
その後、判断部23は、順次、蓄積していたレコード番号が昇順であるかどうか判断する(ステップS316)。この場合には、昇順であったとする。すると、判断部23は、作業記録情報における作業内容の順序も、作業許可情報と一致していると判断し、図15の許可/不許可を示す情報における「許可」に対して、「順序OK」を追加する(ステップS317)。その結果、図16で示されるテーブルのようになる。
判断結果出力部24は、図16で示される判断結果を出力する(ステップS112)。そして、その出力された図16の判断結果を見ることによって、一連の作業内容が、あらかじめ申請されて承認されたものであるのかどうかを知ることができる。例えば、図16の各レコードにおいて、許可/不許可を示す情報が「許可」であるかどうかを確認することによって、あらかじめ申請されて承認されたものが実行されたことを容易に知ることができるようになる。また、その「許可」に対して、「順序OK」が付加されているかどうかによって、順序を含めて承認されたものと一致しているかどうかを容易に知ることができる。また、許可/不許可を示す情報が「不許可」であるレコードが存在する場合には、その作業内容は、あらかじめ申請されて承認されたものではなく、さらに、ブラックリストに該当する不正な処理であることを容易に知ることができる。また、許可/不許可を示す情報が空欄である場合には、ブラックリストに該当しない処理であることを容易に知ることができる。
なお、この具体例での説明のように、図5のフローチャートで示される処理を実行した場合には、作業記録情報の各作業内容について、「許可」が付与されていることによって、作業許可情報に含まれる作業内容であることは容易に知ることができるが、その作業許可情報に含まれるすべての作業内容が実行されたのかどうかは分からないことになる。したがって、判断部23は、図14〜図16で示される、作業記録情報の各作業内容に対応したレコードに対して、対応する作業許可情報における作業内容の順番を示す番号(例えば、「1.」「2.」等)を付与するようにしてもよい。そして、すべての付与の処理が終了した後に、判断部23は、作業許可情報に含まれるすべての作業内容が実行されたかどうかを判断してもよい。具体的には、判断部23は、作業許可情報における作業内容の順番を示す番号の最小値と、最大値とを取得し、その最小値から最大値までの各番号が、作業記録情報の作業内容に対して付与されているかどうか判断する。そして、付与されている場合には、すべての処理が実行されたことになり、付与されていない番号が存在する場合には、すべての処理が実行されていないと判断することができる。その判断の際に、その番号が昇順に並んでいるかどうかについても判断することによって、判断部23は、作業許可情報で示される順序通りに作業内容が実行されたかどうかを判断することもできる。すなわち、昇順に並んでいる場合には、作業許可情報の示す順序通りに作業内容が実行されたことになり、昇順に並んでいない場合には、作業許可情報の示す順序通りに作業内容が実行されていないことになる。
なお、この具体例において、作業用アカウント等をサーバ4に送信する際に、作業開始日時と、作業終了日時とも一緒に送信してもよい。その場合には、サーバ4は、その作業許可情報から作業終了日時までの間に、あらかじめ送信された作業用アカウントとパスワードでログインした場合にのみ、操作作業を実行できるようにしてもよい。ただし、その操作作業を実行できるのは、その作業許可情報から作業終了日時までの間のみである。この場合には、作業記録情報に含まれる各操作作業は、作業許可情報の作業開始日時から作業終了日時までの間に実行されていることは確実であるため、図5のフローチャートにおいて、ステップS307の判断を行わず、ステップS306のNOからステップS308に進むようにしてもよい。
また、この具体例では、コードが不許可IDである場合について説明したが、コードは、例えば、「TYPE=IPPort,…」と言うように作業内容を示す情報であってもよい。
また、この具体例では、作業申請情報によって申請された操作作業がサーバ4で実行される場合について説明したが、そうでなくてもよい。他の装置、サーバ、システム等において実行されてもよいことは言うまでもない。
以上のように、本実施の形態による情報処理装置1によれば、承認された作業申請情報に基づいて操作作業が実行される際に、承認されていない不正な処理(ブラックリストに含まれる処理)が実行されたかどうかを容易に知ることができるようになる。また、作業記録情報に含まれる各操作作業が、承認された作業申請情報に含まれる各作業内容に対応しているものであるかどうかについても、容易に知ることができるようになる。特に、ホワイトリストとブラックリストの両方を用いた判断を行うことによって、フェイルセーフ(fail safe)な判断を行うことができるようになる。例えば、本来はサーバAに対する操作作業を行うにも関わらず、作業申請情報では、誤って「サーバB」に対する操作作業を行うと記述し、それに対して承認が得られたとする。その場合に、サーバAに対する操作がブラックリストに該当したとすると、作業者がサーバAに対する操作作業を行ったときに、その操作がブラックリストに該当する旨が出力されるため、不適切な操作作業に関する注意喚起を行うことができ、そのことについて調査することができる。このように、あらかじめブラックリストが設定されていることによって、何らかのミス等によって、システムやデータ等に重大な影響を与える可能性のある操作作業が承認なしに実行された場合には、そのことを検出することができるようになる。また、ブラックリストに含まれない操作作業については、そのような検出を行わないため、システムやデータ等に重大な影響を与えることのない操作作業が承認なしに実行されたとしても、そのことを検出しないことになり、重要なもののみを検出することができるようになる。
なお、本実施の形態では、作業申請情報蓄積部12が蓄積した作業申請情報のうち、承認された作業申請情報の示す操作作業の情報である作業許可情報をホワイトリスト記憶部17に蓄積する場合について説明したが、本実施の形態における具体例で説明したように、作業申請情報と、作業許可情報とが同じ情報である場合には、作業申請情報の蓄積と、作業許可情報の蓄積とが1回の蓄積によって行われてもよい。例えば、作業申請情報受付部11が受け付けた作業申請情報を作業許可情報蓄積部16が蓄積する。そして、作業許可情報蓄積部16が蓄積した作業申請情報のうち、承認されたものについて、作業許可情報蓄積部16が、承認されたことを示すフラグ等の情報を付与してもよい。その結果、作業許可情報蓄積部16が蓄積した作業申請情報のうち、承認されたことを示すフラグ等の情報が付与されたものが、作業許可情報であることになる。また、その作業許可情報の記憶されている領域が、ホワイトリスト記憶部17であることになる。この場合には、情報処理装置1は、作業申請情報蓄積部12を備えていなくてもよい。
また、本実施の形態の具体例では、作業申請情報や、作業記録情報に2以上の操作作業が含まれる場合について説明したが、そうでなくてもよい。一の作業申請情報に一の操作作業のみが含まれていてもよく、一の作業記録情報に一の操作作業のみが含まれていてもよい。
また、本実施の形態では、対応情報を用いて作業内容を示す情報を変換する場合について説明したが、そうでなくてもよい。作業申請情報に含まれる作業内容を示す情報と、作業記録情報に含まれる作業内容を示す情報と、作業不許可情報に含まれる作業内容を示す情報とを用いて、それらの情報が一致するのかどうかを判断できるのであれば、対応情報を用いないでもよい。その場合には、情報処理装置1は、対応情報記憶部22を備えていなくてもよい。
また、本実施の形態では、申請判断結果出力部14が、作業申請情報と、承認要求情報と、申請判断部13による判断結果とを出力する場合について説明したが、そうでなくてもよい。例えば、申請判断結果出力部14は、申請判断部13による判断結果を出力するものであってもよい。なお、申請判断結果出力部14が判断結果を出力するタイミングも問わない。例えば、申請判断結果出力部14は、作業申請情報に対応する承認情報を受け付ける前に、その作業申請情報に対する申請判断部13による判断結果を出力してもよく、あるいは、それ以外のタイミングで出力してもよい。
また、本実施の形態では、申請判断結果出力部14が、申請判断部13による判断結果を出力する場合について説明したが、そうでなくてもよい。すなわち、申請判断結果出力部14による判断結果の出力が行われなくてもよい。その場合には、情報処理装置1は、申請判断部13や、申請判断結果出力部14を備えていなくてもよい。
また、本実施の形態では、判断部23が、ブラックリスト記憶部18で記憶されている作業不許可情報を用いた判断を行う場合について説明したが、そうでなくてもよい。判断部23は、ブラックリスト記憶部18で記憶されている作業不許可情報を用いた判断を行わなくてもよい。その場合には、情報処理装置1は、ブラックリスト記憶部18を備えていなくてもよい。
また、本実施の形態では、判断部23による判断を行い、その判断結果を出力する場合について説明したが、そうでなくてもよい。情報処理装置1は、出力部21による作業記録情報と、作業許可情報との出力までの処理を行い、その後の判断の処理は、別の装置によって行われてもよい。その場合には、情報処理装置1は、作業申請情報受付部11と、承認情報受付部15と、作業許可情報蓄積部16と、ホワイトリスト記憶部17と、作業記録情報受付部19と、作業記録情報蓄積部20と、出力部21とを備えるものであってもよい。
また、本実施の形態では、作業申請情報が作業者や時期等を含む細かい情報である場合について説明したが、作業申請情報は包括的な内容のものであってもよい。例えば、作業者や時期を限定しないで、作業内容のみを含むものであってもよい。そのような場合には、その作業申請情報が承認されて作業許可情報として蓄積されることによって、作業者や時期を特定しないホワイトリストが設定されることになる。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、情報処理装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における情報処理装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、情報処理システムに対する操作作業を示す情報であり、当該操作作業の申請の情報である作業申請情報を受け付ける作業申請情報受付部、前記作業申請情報で示される申請が承認されたかどうかを示す情報である承認情報を受け付ける承認情報受付部、前記作業申請情報受付部が受け付けた作業申請情報であって、前記承認情報受付部が承認されたことを示す承認情報を受け付けた作業申請情報の示す操作作業の情報である作業許可情報を、許可される操作作業である作業許可情報が記憶されるホワイトリスト記憶部に蓄積する作業許可情報蓄積部、作業申請情報に応じて情報処理システムに対してなされた操作作業の記録を示す作業記録情報を受け付ける作業記録情報受付部、前記作業記録情報受付部が受け付けた作業記録情報を蓄積する作業記録情報蓄積部、前記ホワイトリスト記憶部で記憶されている作業許可情報と、前記作業記録情報蓄積部が蓄積した作業記録情報とを出力する出力部、として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図17は、上記プログラムを実行して、上記実施の形態による情報処理装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図17において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図18は、コンピュータシステム900の内部構成を示す図である。図18において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。