実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「AAAテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」を「AAA情報」と呼ぶことができる。
図1は、一実施形態に係る計算機システムの管理システムの構成図であり、図2は、一実施形態に係る計算機システムの顧客システムの構成図である。
一実施形態に係る計算機システム1は、管理システム2と、1以上の顧客システム3(ユーザシステム)とを備える。管理システム2と、顧客システム3とは、ネットワーク40を介して接続される。ネットワーク40は、例えば、インターネットであるが、他のネットワークであってもよい。
管理システム2は、セキュリティ管理サーバの一例としての管理サーバ10と、DB(Data Base)サーバ20と、1以上のログ収集サーバ30とを備える。管理サーバ10と、DBサーバ20と、1以上のログ収集サーバ30とは、内部ネットワーク35を介して接続されている。内部ネットワーク35は、有線LAN(Local Area Network)であっても、無線LANであってもよい。
管理サーバ10は、例えば、PC(Personal Computer)、汎用計算機等により構成され、入力部11と、記憶部12と、プロセッサ13と、表示部14と、通信部15とを備える。
プロセッサ13は、記憶部12に格納されているプログラムに従って各種処理を実行する。本実施形態では、プロセッサ13は、記憶部12のプログラム12aを実行することにより、第1種スコア解析部の一例としての第1解析部13a、第2種スコア解析部の一例としての第2解析部13b、判定部13c、及びデータ処理部13dを構成する。判定部13cは、スコア統合部、ポリシー要素設定決定部、及び閾値情報受付部の一例である。データ処理部13dは、記憶制御部、ポリシールール記憶制御部、情報出力部、及びポリシー要素設定送信部の一例である。
第1解析部13aは、後述するビヘイビアアノマリ検出型解析処理により各社員(ユーザ)のスコア(第1種スコア)を決定する。第1解析部13aは、AI(Artificial Intelligence)として機能する。第2解析部13bは、後述する重み付け型解析処理により各社員のスコア(第2種スコア)を決定する。第2解析部13bは、AIとして機能する。判定部13cは、第1種スコアと、第2種スコアとに基づいて、各社員のスコア(統合スコア)を決定する。データ処理部13dは、ログデータの集計や、各種テーブルに基づいて画面を生成する処理等を実行する。なお、これら構成部の詳細については後述する。
記憶部12は、例えば、RAM(RANDOM ACCESS MEMORY)、ハードディスク、フラッシュメモリなどであり、プロセッサ13で実行されるプログラムや、プロセッサ13に利用されるデータを記憶する。本実施形態では、記憶部12は、プロセッサ13により実行されるプログラム(セキュリティ管理プログラム)12aを記憶する。
入力部11は、例えば、マウス、キーボード等であり、管理サーバ10の管理者による操作入力を受け付ける。表示部14は、例えば、液晶ディスプレイ等のディスプレイ装置であり、各種情報を表示出力する。通信部15は、例えば、有線LANカードや無線LANカードなどの通信インターフェースであり、内部ネットワーク35、ネットワーク40等を介して他の装置(例えば、DBサーバ20、ログ収集サーバ30、顧客システム3側の装置等)と通信する。
DBサーバ20は、管理サーバ10の処理によって使用されるテーブル等の情報を管理するサーバであり、例えば、プロセッサ、記憶デバイス等を備えるPC、汎用計算機等により構成され、通信処理部21と、分析用DB22とを備える。
通信処理部21は、分析用DB22と、他の装置との間での情報を送受信する処理を行う。本実施形態では、通信処理部21は、管理サーバ10からの要求に応じて各種テーブルから情報を取り出して管理サーバ10に送信したり、管理サーバ10から情報を受け取り各種テーブルに格納したりする。
分析用DB22は、社員別集計テーブル221と、顧客人事データテーブル222と、役職/雇用形態別傾向テーブル223と、社内・組織傾向テーブル224と、重み付けルールテーブル225と、ベースラインテーブル226と、テンポラリスコアテーブル227と、社員別スコアテーブル228と、平均値テーブル229と、ポリシールールテーブル230と、統合スコアテーブル231とを格納する。これらテーブルの構成については後述する。
ログ収集サーバ30は、顧客システム3のログデータを収集するサーバであり、例えば、各顧客システム毎に1つずつ備えられている。ログ収集サーバ30は、例えば、プロセッサ、記憶デバイス等を備えるPC、汎用計算機等により構成され、通信処理部31と、ログDB32とを備える。
通信処理部31は、ログDB32と、他の装置との間での情報を送受信する処理を行う。本実施形態では、通信処理部31は、担当する1つの顧客システム3のログ中継サーバ50から顧客システム3における各種ログを取得して、ログDB32に格納する。また、通信処理部31は、管理サーバ10からの指示に従って、ログDB32からログデータを取得して、管理サーバ10に送信する。
ログDB32は、顧客システム3から取得した各種ログデータ33(ログデータ331,332等)を記憶する。
顧客システム3は、ログ中継サーバ50と、セキュリティサーバ60と、1以上のクライアント端末70と、メールサーバ81と、プロキシサーバ84と、ファイアウォール(FW)87と、ファイルサーバ90とを備える。本実施形態では、内部ネットワーク41と、内部ネットワーク42とは、ファイアウォール87を介してネットワーク40に接続されている。ログ中継サーバ50と、セキュリティサーバ60と、1以上のクライアント端末70と、ファイアウォール87と、ファイルサーバ90とは、内部ネットワーク41を介して接続されている。また、メールサーバ81と、プロキシサーバ84と、ファイアウォール87とは、内部ネットワーク42を介して接続されている。
クライアント端末70は、例えば、プロセッサ、記憶デバイス等を備えるPCで構成されており、セキュリティエージェント部71と、記憶部72とを備える。セキュリティエージェント部71は、セキュリティサーバ60のセキュリティサーバ部61の指示に従って、クライアント端末70のセキュリティに関する動作を設定する。また、セキュリティエージェント部71は、ユーザによる操作内容を示すログデータを記憶部72に格納し、セキュリティサーバ60に送信する。
ファイアウォール87は、ネットワーク40と、内部ネットワーク41と,内部ネットワーク42とのそれぞれのネットワーク間の通信を制御する。
プロキシサーバ84は、各クライアント端末71のネットワーク40を介しての通信を代理する処理を行う。本実施形態では、プロキシサーバ84は、処理におけるログデータ86を記憶部85に格納する。
メールサーバ81は、ネットワーク40を介してのメール(電子メール)の送受信処理を行う。本実施形態では、メールサーバ81は、メールの送受信処理におけるログデータ83を記憶部82に格納する。
ログ中継サーバ50は、例えば、プロセッサ、記憶デバイス等を備えるPC、汎用計算機等により構成され、ログ中継部51と、記憶部52とを有する。ログ中継部51は、顧客システム3における各種ログデータ53を収集し、記憶部52に格納する。本実施形態では、ログ中継部51は、セキュリティサーバ60の記憶部62に格納されているログデータ63と、メールサーバ81の記憶部82に格納されているログデータ83と、プロキシサーバ84の記憶部85に格納されているログデータ86と、ファイアウォール87の記憶部88に格納されているログデータ89を収集して格納する。また、ログ中継部51は、記憶部52に格納したログデータ53を、所属する顧客システム3のログデータを管理するための管理システム2のログ収集サーバ30に対して、ネットワーク40を介して送信する。
ファイルサーバ90は、例えば、プロセッサ、記憶デバイス等を備えるPC、汎用計算機等により構成され、ファイルデータを記憶する記憶部91を備える。
セキュリティサーバ60は、例えば、プロセッサ、記憶デバイス等を備えるPC、汎用計算機等により構成され、セキュリティサーバ部61と、記憶部62とを有する。記憶部62は、クライアント端末70から収集された各社員のログデータ63と、ベースラインテーブル64とを格納する。セキュリティサーバ部61は、セキュリティエージェント部71から社員のログイン要求(社員番号及びパスワード)を受け付け、認証できた場合には、ベースラインテーブル64を参照し、この社員に対するポリシーの内容に従って、セキュリティエージェント部71にセキュリティ設定を行わせる指示を送信する。また、セキュリティサーバ部61は、セキュリティエージェント部71に社員のログデータの送信を指示し、セキュリティエージェント部71を介してログデータ73を取得し、取得したログデータ73を記憶部62に格納する。ベースラインテーブル64は、予めセキュリティサーバ60の管理者により設定され、以降においては、管理サーバ10から送信される内容に更新される。ベースラインテーブル64は、後述するベースラインテーブル226と同じフィールド構成である。
次に、DBサーバ20に格納されている各種テーブルについて説明する。
図3は、一実施形態に係る顧客人事データテーブルの構成図である。
顧客人事データテーブル222は、各顧客システム3のそれぞれに対して設けられるテーブルであり、対応する顧客システム3における社員ごとのエントリを格納する。顧客人事データテーブル222は、例えば、顧客システム3からデータとして取得するか、又は顧客システム3の顧客からの情報に基づいて作成される。顧客人事データテーブル222のエントリは、社員番号222aと、氏名222bと、役職222cと、所属222dと、適用ポリシー222eと、メールアドレス222fと、勤務シフト222gと、その他222hとのフィールドを含む。
社員番号222aには、エントリに対応する社員の社員番号(識別情報)が格納される。氏名222bには、エントリに対応する社員の氏名が格納される。役職222cには、エントリに対応する社員の役職名が格納される。所属222dには、エントリに対応する社員の所属(部署)名が格納される。適用ポリシー222eには、エントリに対応する社員に対して適用されるセキュリティのポリシー(セキュリティポリシー)の名前が格納される。メールアドレス222fには、エントリに対応する社員のメールアドレスが格納される。勤務シフト222gには、エントリに対応する社員の勤務シフトが格納される。その他222hには、エントリに対応する社員についての特記事項が格納される。特記事項としては、例えば、社員が退社する予定日等がある。
図4は、一実施形態に係る社員別スコアテーブルの構成図である。
社員別スコアテーブル228は、各顧客システム3のそれぞれに対して設けられるテーブルであり、対応する顧客システム3における社員ごとのエントリを格納する。社員別スコアテーブル228のエントリは、社員番号228aと、持ち出し回数228bと、禁止行為回数228cと、整合性アンマッチ228dと、監視フォルダへの操作228eと、監視フラグ228fと、スコア228gとのフィールドを含む。
社員番号228aには、エントリに対応する社員の社員番号が格納される。持ち出し回数228bには、エントリに対応する社員が所定の判定対象期間(対象期間:例えば、1か月、3か月等)において所定期間(集計単位:例えば、1日、1週間等)に行ったデータの持ち出し回数(又は、その平均値)が格納される。禁止行為回数228cには、エントリに対応する社員が所定の対象期間内の所定期間に行った禁止行為の回数(又は、その平均値)が格納される。整合性アンマッチ228dには、エントリに対応する社員が所定の対象期間において所定期間に行った操作について整合性がマッチしなかった回数(又は、その平均値)が格納される。整合性がマッチしない操作としては、例えば、社員がログアウトしていたのに、ログアウト時には通常起こりえないファイルの参照の操作がされていること等がある。監視フォルダへの操作228eには、エントリに対応する社員が所定の対象期間において所定期間に監視対象として設定されているフォルダ(監視フォルダ)への操作を行った回数(又は、その平均値)が格納される。監視フラグ228fには、エントリに対応する社員がセキュリティ上の監視が必要な要監視対象であるか否かを示すフラグ(監視フラグ)が格納される。監視フラグは、例えば、社員が要監視対象である場合には、“1”に設定され、社員が要監視対象でない場合には、“0”に設定される。スコア228gには、エントリに対応する社員に対するセキュリティ上の不正に関するスコアが格納される。本実施形態では、スコアは、セキュリティ上の不正の可能性が高いほど、高い値となる。
図5は、一実施形態に係る社内・組織傾向テーブルの構成図である。
社内・組織傾向テーブル224は、各顧客システム3のそれぞれに対して設けられるテーブルであり、対応する顧客システム3における顧客の部署(所属)ごとのエントリを格納する。社内・組織傾向テーブル224のエントリは、所属224aと、要監視対象人数224bと、傾向人数Chaos224cと、傾向人数Neutral224dと、傾向人数Law224eと、監視常連人数224fとのフィールドを含む。
所属224aには、エントリに対応する部署名が格納される。要監視対象人数224bには、エントリに対応する部署における要監視対象の人数が格納される。傾向人数Chaos224cには、エントリに対応する部署におけるセキュリティに関して無秩序な傾向のある社員の人数が格納される。傾向人数Neutral224dには、エントリに対応する部署におけるセキュリティに関して中立的な傾向のある社員の人数が格納される。傾向人数Law224eには、エントリに対応する部署におけるセキュリティに関して秩序傾向のある社員の人数が格納される。監視常連人数224fには、エントリに対応する部署における、過去の所定期間(例えば、1年)に複数回にわたって要監視対象となった人数が格納される。
図6は、一実施形態に係る役職/雇用形態別傾向テーブルの構成図である。
役職/雇用形態別傾向テーブル223は、各顧客システム3のそれぞれに対して設けられるテーブルであり、対応する顧客システム3における役職又は雇用形態ごとのエントリを格納する。役職/雇用形態別傾向テーブル223のエントリは、役職or雇用形態223aと、要監視対象人数223bと、傾向人数Chaos223cと、傾向人数Neutral223dと、傾向人数Law223eと、監査常連人数223fとのフィールドを含む。
役職or雇用形態223aには、エントリに対応する役職又は雇用形態の名称が格納される。要監視対象人数223bには、エントリに対応する役職又は雇用形態における要監視対象の人数が格納される。傾向人数Chaos223cには、エントリに対応する役職又は雇用形態におけるセキュリティに関して無秩序な傾向のある社員の人数が格納される。傾向人数Neutral223dには、エントリに対応する役職又は雇用形態におけるセキュリティに関して中立的な傾向のある社員の人数が格納される。傾向人数Law223eには、エントリに対応する役職又は雇用形態におけるセキュリティに関して秩序傾向のある社員の人数が格納される。監視常連人数223fには、エントリに対応する役職又は雇用形態における、過去の所定期間(例えば、1年)に複数回にわたって要監視対象となった人数が格納される。
図7は、一実施形態に係る社員別集計テーブルの構成図である。
社員別集計テーブル221は、各顧客システム3のそれぞれに対して設けられるテーブルであり、対応する顧客システム3における社員ごとのエントリを格納する。社員別集計テーブル221のエントリは、社員番号221aと、ポリシー221bと、印刷−成功221cと、印刷−失敗221dと、リムーバブル持ち出し−成功221eと、リムーバブル持ち出し−失敗221fと、PC操作−行動時間内221gと、PC操作−行動時間外221hとのフィールドを含む。
社員番号221aには、エントリに対応する社員の社員番号が格納される。ポリシー221bには、エントリに対応する社員に割り当てられたポリシーの名前が格納される。印刷−成功221cには、エントリに対応する社員が所定の対象期間の所定期間に印刷を実行して成功した回数(又は、その平均値)が格納される。印刷−失敗221dには、エントリに対応する社員が所定の対象期間の所定期間に印刷を実行して失敗した回数(又は、その平均値)が格納される。リムーバブル持ち出し−成功221eには、エントリに対応する社員が所定の対象期間の所定期間にリムーバルメディア(可搬型記憶媒体)へデータを格納することが成功した回数(又は、その平均値)が格納される。リムーバブル持ち出し−失敗221fには、エントリに対応する社員が所定の対象期間の所定期間にリムーバルメディアへデータを格納することが失敗した回数(又は、その平均値)が格納される。PC操作−行動時間内221gには、エントリに対応する社員が所定の対象期間の所定期間に、行動時間内にPC操作を行った回数(又は、その平均値)が格納される。PC操作−行動時間外221hには、エントリに対応する社員が所定の対象期間の所定期間に、行動時間外にPC操作を行った回数(又は、その平均値)が格納される。
図8は、一実施形態に係る平均値テーブルの構成図である。
平均値テーブル229は、各顧客システム3のそれぞれに対して設けられるテーブルであり、対応する顧客システム3における各ポリシーごとのエントリを格納する。平均値テーブル229のエントリは、ポリシー229aと、印刷−成功229bと、印刷−失敗229cと、リムーバブル持ち出し−成功229dと、リムーバブル持ち出し−失敗229eと、PC操作−行動時間内229fと、PC操作−行動時間外229gとのフィールドを含む。
ポリシー229aには、エントリに対応するポリシーの名前が格納される。印刷−成功229bには、エントリに対応するポリシーが設定された社員についての所定期間(集計単位)に印刷を実行して成功した回数の平均値が格納される。なお、平均値をとる対象の期間としては、任意の期間であってよく、例えば、対象期間であってもよい。以下の他の平均値についても同様。印刷−失敗229cには、エントリに対応するポリシーが設定された社員についての所定期間に印刷を実行して失敗した回数の平均値が格納される。リムーバブル持ち出し−成功229dには、エントリに対応するポリシーが設定された社員についての所定期間にリムーバルメディアへデータを格納することが成功した回数の平均値が格納される。リムーバブル持ち出し−失敗229eには、エントリに対応するポリシーが設定された社員についての所定期間にリムーバルメディアへデータを格納することが失敗した回数の平均値が格納される。PC操作−行動時間内229fには、エントリに対応するポリシーが設定された社員についての、所定期間に、行動時間内にPC操作を行った回数の平均値が格納される。PC操作−行動時間外229gには、エントリに対応するポリシーが設定された社員についての、所定期間に、行動時間外にPC操作を行った回数の平均値が格納される。
図9は、一実施形態に係る重み付けルールテーブルの構成図である。
重み付けルールテーブル225は、後述する重み付け型解析処理を実行する際におけるルールごとのエントリを格納する。重み付けルールテーブル225のエントリは、ルールタイプ225aと、ログタイプ225bと、キーワード225cと、説明225dと、重みスコア225eとを含む。
ルールタイプ225aには、エントリに対応するルールのタイプ(ルールタイプ)が格納される。ルールタイプとしては、URL(Uniform Resource Locator)へのアクセスに関するルールを示す「URL」、共有フォルダに関するルールを示す「SHAREFOLD」、ファイルに関するルールを示す「FILETYPE」、タイムレンジに関するルールを示す「TIME_RANGE」、メールの送信先に関するルールを示す「MAIL_DOM」等がある。ログタイプ225bには、エントリに対応するルールを適用するログデータのタイプ(ログタイプ)が格納される。ログタイプとしては、プロキシサーバ84のログデータであることを示す「PROXY」、ファイル等のアクセスのログデータであることを示す「ACCESS」、ログデータのすべてを対象とする「ALL」、メールサーバ81のログデータであることを示す「MAIL」等がある。キーワード225cには、エントリに対応するルールにおいてスコアを加算する対象とするキーワードが格納される。説明225dには、エントリに対応するルールについての説明が格納される。重みスコア225eには、エントリに対応するルールに1つのログが対応する場合に加算されるスコアの値(重みスコア)が格納される。なお、処理対象のログデータの量は、大量となる性質があるので、1つのログデータ毎に加算される重みスコアは、小さい値とすることが好ましい。
この重み付けルールテーブル225の各エントリの内容については、例えば、Webユーザインタフェースを介して(例えば、管理サーバ10の入力部11による操作により)管理者から受け付けるようにしてもよい。
図10は、一実施形態に係るテンポラリスコアテーブルの構成図である。
テンポラリスコアテーブル227は、各顧客システム3のそれぞれに対して設けられ、所定の対象期間毎に一時的作成されるテーブルである。テンポラリスコアテーブル227は、対応する顧客システム3の顧客の各社員ごとのエントリを格納する。テンポラリスコアテーブル227のエントリは、社員番号227aと、スコア227bとのエントリを含む。社員番号227aには、エントリに対応する社員の社員番号が格納される。スコア227bには、エントリに対応する社員についての重み付け型解析処理によって集計されるスコアが格納される。ここで、処理対象のすべてのログデータに対して重み付け型解析処理を行った後におけるスコア227bのスコアが第2種スコアに該当する。テンポラリスコアテーブル227のスコア227bの値は、新たな対象期間となった場合に、0に初期化される。
図11は、一実施形態に係る統合スコアテーブルの構成図である。
統合スコアテーブル231は、各顧客システム3のそれぞれに対して設けられ、所定の対象期間における対応する顧客システム3の顧客の各社員についてのビヘイビアアノマリ検出型解析処理及び重み付け型解析処理に基づくスコア(統合スコア)を管理するテーブルである。統合スコアテーブル231は、対応する顧客システム3の顧客の各社員ごとのエントリを格納する。統合スコアテーブル231のエントリは、社員番号231aと、スコア231bとのエントリを含む。社員番号231aには、エントリに対応する社員の社員番号が格納される。スコア231bには、エントリに対応する社員についてのビヘイビアアノマリ検出型解析処理によるスコア(第1種スコア)と、重み付け型解析処理によるスコア(第2種スコア)とを統合したスコア(統合スコア)が格納される
図12は、一実施形態に係るポリシールールテーブルの構成図である。
ポリシールールテーブル230は、各顧客システム3のそれぞれに対して設けられ、ポリシーを構成するポリシー要素についての設定内容を決定するルールを管理するテーブルである。ポリシールールテーブル230は、各顧客システム3のセキュリティサーバ60におけるポリシーに含まれるポリシー要素に対応するエントリを格納する。ポリシールールテーブル230のエントリは、ポリシー要素230aと、ルール230bと、設定内容230cとを含む。
ポリシー要素230aには、エントリに対応するポリシー要素の名前が格納される。ルール230bには、ポリシー要素の設定内容を決定するためのスコア(統合スコア)についての閾値の条件が格納される。設定内容230cには、エントリに対応する閾値の条件を満たしている場合にポリシー要素として設定する設定内容が格納されている。例えば、或る社員に対する統合スコアが、90である場合には、2つ目のエントリのルール(120未満:ここでは、80(同一のポリシー要素に関する直前のエントリのルールの閾値)以上120未満を意味している)に適合するので、ログ取得レベルについては、「Normal」が設定されることとなる。
このポリシールールテーブル230のルールと設定内容とについては、例えば、Webユーザインタフェースを介して(例えば、入力画面を管理サーバ10の表示装置14に表示させ、管理サーバ10の入力部11による操作を受け付けることにより)管理者から受け付けるようにしてもよい。
図13は、一実施形態に係るベースラインテーブルの構成図である。
ベースラインテーブル226は、各顧客システム3のそれぞれに対して設けられ、顧客システム3の顧客の各社員についてのポリシーの設定内容を管理するテーブルである。このベースラインテーブル226は、ベースラインテーブル64と同じフィールド構成となっており、このベースラインテーブル226が更新された後には、テーブルの全体又はテーブルの内容がセキュリティサーバ60に送信されて、セキュリティサーバ60において、ベースラインテーブル64の各内容がこのベールサインテーブル226と同じ状態に更新されることとなる。
ベースラインテーブル226は、各顧客システム3の顧客の各社員ごとのエントリを格納する。ベースラインテーブル226のエントリは、社員番号226aと、スコア226bと、ログ取得レベル226cと、行動傾向226dと、不正行動時のエージェント通知226eと、監視フラグ226fと、ミラーリング226gとのエントリを含む。
社員番号226aには、エントリに対応する社員の社員番号が格納される。スコア226bには、エントリに対応する社員に対するスコア(統合スコア)が格納される。ログ取得レベル226cには、ログデータの収集に関するレベルが格納される。本実施形態では、レベルが高いほど、取得するログデータの内容を詳細にすることを意味する。行動傾向226dには、エントリに対応する社員のセキュリティに関する行動傾向が格納される。行動傾向としては、無秩序な傾向を示す「Chaos」、秩序的な傾向を示す「Law」、中立的な傾向を示す「Nutral」がある。不正行動時のエージェント通知226eには、エントリに対応する社員の不正行動時にエージェント(セキュリティエージェント部71)によりセキュリティサーバ60に通知を行うか否かの設定が格納される。設定としては、不正行動時にエージェントにより通知を行うことを示す「TRUE」と、通知を行わないことを示す「FALSE」とがある。監視フラグ226fには、エントリに対応する社員が要監視対象か否かを示すフラグ(監視フラグ)が格納される。監視フラグは、例えば、社員が要監視対象である場合には、“1”に設定され、社員が要監視対象でない場合には、“0”に設定される。ミラーリング226gには、エントリに対応する社員が要監視対象である場合において、持ち出したデータをファイルサーバ90にミラーリングするか否かを示す設定が格納される。例えば、ミラーリング226gには、ミラーリングする場合には、「TRUE」が設定され、ミラーリングしない場合には、「FALSE」が設定される。
次に、顧客システム3で収集され、管理システム2に集約されるログデータについて説明する。なお、ログデータについては、ログデータを出力する装置等によりログ形式が異なっており、顧客システム3では、種々のログデータが存在する。以下、複数のログデータの中の一部のログデータについて説明する。
図14は、一実施形態に係るログデータの第1の構成図である。図14では、1つのログデータが図示するテーブルの1つのエントリに対応する。なお、1つのログデータは、テーブルのエントリの形式に限られず、要素同士をデリミタ(区切り文字)で切り分けたテキスト形式(例えば、CSV形式)としてもよい。
ログデータ331は、クライアント端末70を用いた操作に関するログデータであり、日時331aと、社員番号331bと、利用端末331cと、ポリシー331dと、行動331eと、結果331fとのフィールドを含む。日時331aには、ログデータに対応する操作(行動)が発生した日時が格納される。社員番号331bには、ログデータに対応する行動を行った社員の社員番号が格納される。利用端末331cには、ログデータに対応する行動に利用したクライアント端末70の識別番号が格納される。ポリシー331dには、ログデータに対応する行動を行った社員に設定されているセキュリティ上のポリシーの名前が格納される。行動331eには、ログデータに対応する行動の内容が格納される。結果331fには、ログデータに対応する行動を行った結果(例えば、成功、失敗等)が格納される。
次に、別の種類のログデータについて説明する。
図15は、一実施形態に係るログデータの第2の構成図である。
ログデータ332は、ファイルやフォルダに対する操作に関するログデータであり、日時332aと、社員番号332bと、利用端末332cと、操作332dと、操作対象332eと、属性332fとのフィールドを含む。日時332aには、ログデータに対応する操作(行動)が発生した日時が格納される。社員番号332bには、ログデータに対応する操作を行った社員の社員番号が格納される。利用端末332cには、ログデータに対応する操作に利用したクライアント端末70の識別番号が格納される。行動332dには、ログデータに対応する行動の内容が格納される。操作対象332eには、ログデータに対応する行動の対象(操作対象)を示す情報が格納される。属性332fには、操作対象についての属性が格納される。属性としては、操作対象が秘密であることを示す「SECRET」や、操作対象が自由であることを示す「RELEASE」等がある。
次に、管理システム2の管理サーバ10のプロセッサ13により構成される各部について詳細に説明する。
データ処理部13dは、所定の判定対象期間(例えば、1週間、1か月、3か月等)におけるログデータ(処理対象ログデータ)に基づいて、社員別スコアテーブル228を作成する。具体的には、社員別スコアテーブル228(エントリなし)を用意し、顧客人事データテーブル222の各社員に対応するエントリを追加する。次いで、データ処理部13dは、処理対象ログデータの内容を参照し、処理対象ログデータにおいて、データの持ち出し、禁止行為、整合性アンマッチ、監視フォルダへの操作等についてのログデータがあれば、ログデータに対応する社員のエントリにおける対応するフィールドの値を加算していく集計処理を行う。例えば、ログデータがデータの持ち出しに関するログデータである場合には、データ処理部13dは、ログデータに対応する社員についてのエントリの持ち出し回数228bの値に1を加算する。また、ログデータにデータの持ち出しがあり、その操作がNGであった内容が含まれていれば、データ処理部13dは、エントリの禁止行為の回数228cの値に1を加算する。
このようにして、判定対象期間における所定期間(集計単位)の全ての処理対象ログデータに対して集計処理を実行することにより、その集計単位における各社員についての各操作についての集計値が集計されることとなる。データ処理部13dは、このような処理を複数の集計単位のそれぞれに行って、それらの値の平均値を社員別スコアテーブル228の対応するフィールドに格納する。また、データ処理部13dは、フィールド228b〜228eの値を加算した値を、エントリにおけるスコア228gに格納する。また、データ処理部13dは、スコア228gの値が所定の閾値以上である場合には、監視フラグを監視対象とすることを意味する「1」に設定する。
また、データ処理部13dは、社員別スコアテーブル228の各社員のスコアに基づいて、各社員のセキュリティ上の操作傾向が、Chaos、Nutral、Lawのいずれであるかを判定し、顧客人事データテーブル222を参照して、部署別に集計することにより、社内・組織傾向テーブル224を生成し、また、役職別に集計することにより役職/雇用形態別傾向テーブル223を生成する。なお、データ処理部13dは、生成した社内・組織傾向テーブル224、または、役職/雇用形態別傾向テーブル223に基づいて、部署別の傾向人数や、役職/雇用形態別の傾向人数を示す画面を作成し、セキュリティサーバ60に表示させるようにしてもよい。
第1解析部13aは、ログデータからポリシー毎の複数種類の操作内容毎の所定期間(例えば、1日、1週間)における操作回数の平均値(種類別平均操作回数)を算出し、社員についての複数種類の操作内容についての所定期間における平均の操作回数(ユーザ毎平均操作回数)が、種類別平均操作回数から所定値以上逸脱しているものを検出し、所定値以上逸脱しているものを含むユーザのスコアを加算することにより、各社員のスコア(第1種スコア)を決定する処理(ビヘイビアアノマリ検出型解析処理)を実行する。
具体的には、第1解析部13aは、まず、ログデータからポリシー毎の複数種類の操作内容(例えば、印刷−成功と、印刷−失敗と、リムーバブル持ち出し−成功と、リムーバブル持ち出し−失敗と、PC操作−行動時間内と、PC操作−行動時間外)毎の所定期間(例えば、1日、1週間)における操作回数の平均値を特定し、これら操作回数の平均値を平均値テーブル229(図8参照)のポリシーに対応するエントリの操作内容に対応する各フィールドに格納する。なお、所定期間における平均値を特定するための対象とする期間は、判定対象期間としてもよいし、判定対象期間よりも長い期間としてもよい。
次いで、第1解析部13aは、複数のログデータから各社員についての複数種類の操作内容毎の所定期間における操作回数の平均値を算出し、これら操作回数の平均値を社員別集計テーブル221(図7参照)の社員に対応するエントリの操作内容に対応する各フィールドに格納する。
次いで、第1解析部13aは、社員別集計テーブル221の各社員のエントリを取得し、平均値テーブル229を参照し、エントリにおける各操作内容について、その平均値と、平均値テーブル229の対応する操作内容の平均値との差が所定値以上である場合には、この社員に対するスコアを加算(例えば、所定値、又は差に応じた値を加算)するものとし、全操作内容についての処理が終了した後のスコア(第1種スコア)を、例えば、社員別スコアテーブル228のスコア228gに格納する。
ここで、第1解析部13aによるスコアの決定方法によると、類似する働き方(ログデータの出方が近い働き方)をする複数の社員を対象として、種類別平均操作回数を算出するようにすると、より精度よくセキュリティ上のスコアを算出することができる。一方、働き方にばらつきがある、すなわち、日々の行動が大きく異なる複数の社員を対象として、種類別平均操作回数を算出すると、セキュリティ上のスコアの精度が低くなる虞がある。そこで、本実施形態では、第1解析部13aによるスコア(第1種スコア)だけでなく、後述する第2解析部13bによるスコア(第2種スコア)を合わせて各社員のスコア(統合スコア)を決定するようにしている。
第2解析部13bは、判定対象期間(対象期間)における複数のログデータについて、重み付けルールテーブル225に設定されている注目すべき操作内容(例えば、やってはいけない操作内容)が実行されたことにより、実行された内容に応じた重みスコアを、テンポラリスコアテーブル227において社員毎に集計していくことにより、社員毎のスコア(第2種スコア)を決定する処理(重み付け型解析処理)を実行する。なお、重み付けルールテーブル225に設定する内容を、顧客ごとに決定することができるので、顧客のセキュリティに対する考え方、運用に合わせて、適切なスコアの集計方法を設定することができる。
第2解析部13bは、予め設定された重み付けルールテーブル225に従って、スコアを設定することとなるので、重み付けルールテーブル225に登録していない、例えば、未知の要素に対するアクセスに対するスコアリングを行うことができない。これに対して、例えば、第2解析部13bが、不正の可能性の高い社員(例えば、スコアが高い社員)を特定し、特定した社員のログデータから、どの要素にアクセスしているかを分析し、問題があると疑わしい要素についてのエントリを、重み付けルールテーブル225に追加するようにしてもよい。
判定部13cは、第1解析部13aによって決定された第1種スコアと、第2解析部13bによって決定された第2種スコアとに基づいて、各社員の統合スコアを決定し、統合スコアを統合スコアテーブル231の各社員のエントリのスコア231bに格納する。本実施形態では、判定部13cは、第1種スコアと、第2種スコアとを加算して統合スコアとしているが、本発明はこれに限られず、一方に重み付けを行って加算するようにしてもよい。
次に、管理システム2における処理動作について説明する。
図16は、一実施形態に係るセキュリティ管理処理のフローチャートである。
ここで、セキュリティ管理処理が開始される前までにおいて、ログ収集サーバ30は、ログ中継サーバ50から各種ログデータを受信し、ログDB32に格納しており、以降においては、例えば、所定時間ごとに、ログ中継サーバ50からログデータを受信して、ログDB32に格納する。
まず、管理サーバ10のデータ処理部13dは、所定の判定対象期間(例えば、1週間、1箇月等)におけるログデータ(処理対象ログデータ)に基づいて、社員別スコアテーブル228を作成する(S11)。
次いで、第1判定部13aは、ビヘイビアアノマリ検出型解析処理を実行することにより、各社員の第1種スコアを決定し、第2判定部13bは、重み付け型解析処理を実行することにより、各社員の第2種スコアを決定し、判定部13cは、第1種スコアと、第2種スコアとに基づいて、各社員の統合スコアを決定し、統合スコアを統合スコアテーブル231の各社員のエントリのスコア231bに格納する(S12)。
次いで、判定部13cは、セキュリティサーバ60からベースラインテーブル64におけるポリシーの構成を示すポリシー構成ファイル250(図17参照:ポリシー構成情報)を取得し、ポリシー構成ファイル250に基づいて、ポリシールールテーブル230の各エントリを作成する(S13)。この時点では、ポリシールールテーブル230のエントリにおけるルール230bには、値が設定されていない。
ここで、ポリシー構成ファイル250について説明する。
図17は、一実施形態に係るポリシー構成ファイルの構成図である。
ポリシー構成ファイル250は、セキュリティサーバ60で使用されるベースラインテーブル64に含まれるポリシーの構成を示す情報である。具体的には、ポリシー構成ファイル250には、ベースラインテーブル64に含まれているポリシーの要素(ポリシー要素)、すなわち、一部のエントリを構成する各ポリシー要素(ログ取得レベル、行動傾向、不正行動時のエージェント通知、監視フラグ、ミラーリング)と、各ポリシー要素に設定される複数の設定値との情報が含まれる。このポリシー構成ファイル250によると、ポリシー要素にはどのようなものがあり、どのような値が設定されるのかを特定することができる。図17に示すポリシー構成ファイル250では、例えば、ポリシー要素の行動傾向は、Law、Nutral、Chaosを設定値としてとることがわかる。
図16の説明に戻り、判定部13cは、ポリシールールテーブル230の各エントリのルール230bに対してスコアについての閾値を設定することにより、ポリシールールテーブル230を完全な状態に作成する(S14)。なお、スコアの閾値については、予め決められたアルゴリズムにより決定してもよく、入力部11を介して管理者からの入力を受け付けるようにしてもよい。
次いで、判定部13cは、ポリシー構成ファイル250に基づいてベースラインテーブル226を作成する(S15)。具体的には判定部13cは、社員番号226aと、スコア226bと、ポリシー構成ファイル250に含まれる各ポリシー要素のフィールド(226c〜226g)とを含むベースラインテーブル226を作成し、各社員についてのエントリを追加する。次いで、判定部13cは、各エントリのスコア226bに、統合スコアテーブル231の各社員のスコア231bの値(統合スコア)を設定する。次いで、判定部13cは、ポリシールールテーブル230を参照して、統合スコアに基づいて、各ポリシー要素の設定内容を決定し、決定した設定内容を、各ポリシー要素のフィールド(226c〜226g)に格納する。これにより、ベースラインテーブル226は、図13に示すように、各社員に対して、スコアが設定されるとともに、各ポリシー要素に対する設定内容が設定されている状態となる。
次いで、データ処理部13dは、作成されたベースラインテーブル226を構築可能な情報(ベースラインテーブル226のデータそのものであっても、テーブル内の各フィールドの値のデータであってもよい)をセキュリティサーバ60にエクスポートする(S16)。これにより、この時点におけるベースラインテーブル226と同じ状態のベースラインテーブル64をセキュリティサーバ60において保持することができるようになる。
次いで、データ処理部13dは、一定時間(次の判定対象期間までの時間)が経過したか否かを判定し(S17)、一定期間が経過していない場合(S17:NO)には、処理をステップS17に戻す。一方、一定期間が経過した場合(S17:YES)には、次のセキュリティの判定をする時点であることを意味しているので、データ処理部13dは、処理をステップS18に進める。
ステップS18では、第1判定部13aは、ビヘイビアアノマリ検出型解析処理を実行して、各社員の第1種スコアを決定し、第2判定部13bは、重み付け型解析処理を実行して、各社員の第2種スコアを決定し、判定部13cは、第1種スコアと、第2種スコアとに基づいて、各社員の統合スコアを決定し、統合スコアを統合スコアテーブル231の各社員のエントリのスコア231bに格納する。
次いで、判定部13cは、ベースラインテーブル226の各エントリのスコア226bに、統合スコアテーブル231の各社員のスコア231bの値(統合スコア)を設定(反映)する(S19)。次いで、判定部13cは、ポリシールールテーブル230を参照して、各社員について、スコア231bの統合スコアに基づいて、各ポリシー要素の設定内容を決定し、決定した設定内容を、各ポリシー要素のフィールド(226c〜226g)に格納する(S20)。これにより、ベースラインテーブル226は、新たに決定された統合スコアに対応する各ポリシー要素の設定内容に更新されることとなる。
次いで、データ処理部13dは、作成されたベースラインテーブル226を構築可能な情報をセキュリティサーバ60にエクスポートし(S22)、処理をステップS18に進める。これにより、この時点におけるベースラインテーブル226と同じ内容のベースラインテーブル64をセキュリティサーバ60において保持することができる。この結果、セキュリティサーバ60においては、ベースラインテーブル64の各ポリシー要素の新たな設定内容に従って、各クライアント端末70におけるセキュリティ設定を適切に行うことができる。このため、セキュリティサーバ60側で、セキュリティサーバ60の管理者が、セキュリティ設定等を変更する処理等を行わずに済む。
図18は、一実施形態に係るセキュリティ情報表示処理のフローチャートである。
セキュリティ情報表示処理は、例えば、管理サーバ10のデータ処理部13dがセキュリティサーバ60からセキュリティ情報画面の表示要求を受信した場合に実行される。
データ処理部13dがセキュリティ情報画面の表示要求を受信すると、データ処理部13dは、統合スコアテーブル231を参照し、所定の閾値以上のスコアの社員を要監視対象者として特定する(S31)。次いで、データ処理部13dは、セキュリティサーバ60から指示されている要監視対象者を特定する(S32)。
次いで、データ処理部13dは、社員別スコアテーブル228のスコア228gのスコアに基づいて、各社員の順位をソートし、その結果から上位者(例えば、上位50名)について、順位(ランク)と、スコアと、社員番号とを含む上位者一覧表を作成するとともに、社員別スコアテーブル228の監視フラグ228fの監視フラグが「1」の社員を抽出し、抽出された社員について、順位(ランク)と、スコアと、社員番号とを含む監視対象者一覧表を作成し、これらを含むセキュリティ情報画面250(図19参照)をセキュリティサーバ60に送信する(S33)。これにより、セキュリティサーバ60においては、セキュリティ情報画面250が表示され、管理者は、要監視対象者のスコアや、スコアが上位の社員を特定することができる。
次に、セキュリティ情報画面について説明する。
図19は、一実施形態に係るセキュリティ情報画面を説明する図である。
セキュリティ情報画面100は、スコアが上位者一覧表を表示する上位者一覧表表示領域110と、要監視対象者の一覧表を表示するよう監視対象者一覧表表示領域120とを含む。上位者一覧表表示領域110の一覧表は、データ処理部13dが、社員別スコアテーブル228のスコア228gのスコアに基づいて、各社員の順位をソートし、その結果から上位者(例えば、上位50名)について、順位(ランク)と、スコアと、社員番号とを含ませることにより作成される。
監視者一覧表表示領域120の要監視者一覧表は、データ処理部13dが、社員別スコアテーブル228の監視フラグ228fの監視フラグが「1」の社員を抽出し、抽出された社員について、順位(ランク)と、スコアと、社員番号とを含ませることにより作成される。
本実施形態では、上位者一覧表又は監視対象者一覧表において、社員番号を押下されると、データ処理部13dは、押下された社員番号に対応する社員に関する個人詳細情報を含む個人詳細ウインドウ150を表示する。個人詳細ウインドウ150には、例えば、その社員の個人情報、設定されているポリシーに関する情報、その社員の操作に関するログの一覧等が表示される。このセキュリティ情報画面100によると、スコア上位者や、要監視対象者を容易に把握することができ、個人詳細ウインドウ150を表示させることにより、各社員の詳細な情報を把握することができる。
以上説明したように、本実施形態によると、ビヘイビアアノマリ検出型解析処理を実行して決定した第1種スコアと、重み付け型解析処理を実行して得られた第2種スコアとに基づいて、社員のセキュリティ上のリスクを示す統合スコアを決定するようにしたので、社員のセキュリティ上の不正に関する評価を適切にできる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態では、管理システム2において、管理サーバ10と、DBサーバ20と、ログ収集サーバ30とを別体として構成するようにしていたが、これらのいずれか複数を同一の装置上で構成するようにしてもよい。例えば、管理サーバ10内に、DBサーバ20の機能を含めるようにしてもよい。また、DBサーバ20で管理しているテーブル等の情報の一部を別の装置、管理サーバ10やログ収集サーバ30で管理するようにしてもよい。
また、上記実施形態において、プロセッサが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型且つ不揮発性の記憶メディア)であってもよい。