(57)【特許請求の範囲】
【請求項１】
通信のアクセスの状況を記録したログデータから、ログオンの失敗が第１の所定回数以上計数されるアカウントを抽出し、
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数される場合に共有アカウントと判別し、
そうでない場合に不正アクセスと判別する、
機能をコンピュータに実行させることを特徴とするアクセス判別プログラム。
【請求項２】
前記ログデータから、前記アカウントについて、最後にパスワード変更が実施されたパスワード変更時刻と、前記パスワード変更時刻前に最後にログオンが失敗したログオン失敗時刻との期間を算出し、該算出した期間に基づいて前記所定判定期間を決定する、
ことを特徴とする請求項１に記載のプログラム。
【請求項３】
前記ログデータにおいて、最新のログデータから時刻が遡るログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とパスワード変更を示す文字列とを含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記パスワード変更時刻として抽出し、
前記パスワード変更時刻が検出されたログデータから更に時刻が遡る時刻文字列が記録されているログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列とを含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記ログオン失敗時刻として抽出し、
前記パスワード変更時刻と前記ログオン失敗時刻との時間差を前記所定判定期間とし、
前記パスワード変更時刻が検出されたログデータから時刻が新しくなるログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列とを含むログデータを抽出し、該ログデータに含まれる時刻と前記パスワード変更時刻との差が前記所定判定期間以内である場合に前記ログオンの失敗数の計数値を１ずつ増加させる動作を繰り返す、
ことを特徴とする請求項２に記載のプログラム。
【請求項４】
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数する前に、前記ログデータにおいて、前記ログオンの失敗が第１の所定回数以上記録されている場合に、同時期に同一のアカウントで第３の所定回数以上のログオン又はログアウトが発生しているか否かを検出し、
前記第３の所定回数以上のログオン又はログアウトの発生が検出されたときに、前記ログデータにおいて、前記同一のアカウントによるアクセスにおいてアクセスコマンド又はアクセスデータが所定頻度以上異なるか否かを検出する、
ことを特徴とする請求項１に記載のプログラム。
【請求項５】
通信のアクセスの状況を記録したログデータから、ログオンの失敗が第１の所定回数以上計数されるアカウントを抽出するログオン失敗ログ抽出部と、
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数される場合に共有アカウントと判別し、そうでない場合に不正アクセスと判別するアクセス判別部と、
を含むことを特徴とするアクセス判別装置。
【請求項６】
コンピュータが、
通信のアクセスの状況を記録したログデータから、ログオンの失敗が第１の所定回数以上記録されているアカウントを抽出し、
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数される場合に共有アカウントと判別し、
そうでない場合に不正アクセスと判別する、
ことを実行することを特徴とするアクセス判別方法。
【請求項７】
コンピュータに、
通信状況を記録したログ情報から、ログオンの失敗が所定回数以上計数されるアカウントについて、当該アカウントのパスワード変更のタイミングと、当該アカウントのログオンの失敗タイミングとの関連性に基づいて、当該アカウントが複数利用者で共有されているアカウント、又は不正アクセスを受けているアカウントのどちらであるかを判別する、
ことを実行させることを特徴とする判別プログラム。
【請求項８】
通信状況を記録したログ情報から、ログオンの失敗が所定回数以上計数されるアカウントを抽出するログオン失敗ログ抽出部と、
前記アカウントについて、当該アカウントのパスワード変更のタイミングと、当該アカウントのログオンの失敗タイミングとの関連性に基づいて、当該アカウントが複数利用者で共有されているアカウント、または不正アクセスを受けているアカウントのどちらであるかを判別するアクセス判別部と、
を含むことを特徴とするアクセス判別装置。
【請求項９】
コンピュータが、
通信状況を記録したログ情報から、ログオンの失敗が所定回数以上計数されるアカウントについて、当該アカウントのパスワード変更のタイミングと、当該アカウントのログオンの失敗タイミングとの関連性に基づいて、当該アカウントが複数利用者で共有されているアカウント、又は不正アクセスを受けているアカウントのどちらであるかを判別する、
ことを実行することを特徴とするアクセス判別方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワーク上でログオン制御されたシステムにおいて、アカウントの不正使用を検知する技術に関する。
【背景技術】
【０００２】
近年、アカウント不正使用による情報漏えい事件やホームページ（Ｗｅｂ）の改ざんなどの事件が数多く発生し、不正アクセス防止法などの法整備も進んできている。また、ログオン失敗のログを分析し対策の一助とする活動も活発であり、このような分析を支援する多くの技術も提案されている。
【０００３】
アカウントの不正使用の第１のパターンとしては、正当な利用者ではない者がインターネット等のネットワークを介してシステムに不正にログオンしようとする不正アクセスがある。
【０００４】
アカウントの不正使用の第２のパターンとしては、複数の正当な利用者が、１つのアカウントを共有アカウントとして共有しながらシステムにログオンする共有アカウントがある。
【０００５】
ここで、アカウントとは、この出願においては、システムの利用者を識別するためのいわゆるユーザＩＤ（利用者識別情報）とパスワードを含む情報のことである。
不正アクセスによるアカウントの不正使用は、悪意を持った者によるシステムへの攻撃等の目的を防ぐために、未然に防止しなければならない。
【０００６】
不正アクセスの自動抽出技術としては、下記のような従来技術が知られている。
第１の従来技術として、不正利用検出において、誤った認証情報を連続して入力した回数とログオン（又はログイン）は不成功に終わったのか否かを判定することにより、不正な利用を発見する技術が知られている。また、同一利用者名で複数箇所からログオンがあった場合に、不正な利用が行われたと判断する技術が知られている。（例えば特許文献１に記載の技術。）
【０００７】
第２の従来技術として、ログ分析装置で、利用者が行った操作モデルと、同一のグループに属する利用者の操作モデルの一般的な傾向とを比較して分析することによって、グループ内において他の利用者に比して特異な操作を行った利用者を検出する技術が知られている。（例えば特許文献２に記載の技術。）
【０００８】
第３の従来技術として、不正操作判定プログラムで、コンピュータが受け付けたオペレーションを、コンピュータ単位のプロファイルと利用者単位のプロファイルを参照して不正操作であるかを判定する技術が知られている。（例えば特許文献３に記載の技術。）
【０００９】
一方、アカウントを複数の利用者が共有した場合には、下記のような問題がある。
・各利用者に対して適切なパスワードを設定するのが困難である。
・アカウントの管理形態が曖昧になり、変更が行われにくくなる。
・パスワード変更の際に、アカウントを共有する各利用者への連絡が必要であるため、漏洩の可能性が増す。
・パスワードが不明になっての問い合わせが想定されるため、漏洩の可能性が増す。
【００１０】
しかしながら、利用システムやその上で操作するアプリケーションの制約などにより、１つのアカウントを複数の利用者が利用している、いわゆる共有アカウントの利用、すなわち共有アカウントの不正使用が多く存在する。
【００１１】
共有アカウントによる不正使用は、企業等のセキュリティ管理者が利用者各人に定期的にヒアリング等で確認し、企業等の情報管理ポリシーに反して共有されているアカウントを検知していた。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平１０−３４０２５４号公報
【特許文献２】特開２００８−１９２０９１号公報
【特許文献３】ＷＯ２００５／０４８１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
コンピュータのアカウントへのアクセスは、通常、ログデータに記録される。不正アクセスと共有アカウントの不正使用とでは対策が異なる。このため、ログデータから、不正アクセスと共有アカウントによる不正使用を自動的に判別する技術が必要となる。
【００１４】
しかし、前述した第１、第２、第３の従来技術の何れも、アクセス権限を持たない第三者からの不正アクセス（ログオン）、又はアクセス権限を持っていても通常とは異なる不正な操作を検出するための技術である。このため、これらの従来技術を不正アクセスと共有アカウントによる不正使用を自動的に判別する技術としては応用することはできないという問題点を有していた。
【００１５】
そこで、本発明の１つの側面では、不正内容に応じた対応を可能とするため、操作ログから、不正アクセスと共有アカウントによる不正使用を判別可能とすることを目的とする。
【課題を解決するための手段】
【００１６】
態様の一例は、通信のアクセスの状況を記録したログデータからログオンの失敗が第１の所定回数以上計数されるアカウントを抽出し、前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数される場合に共有アカウントと判別し、そうでない場合に不正アクセスと判別する、機能をコンピュータに実行させるためのアクセス判別プログラムである。
【発明の効果】
【００１７】
本実施形態によって実現されるプログラム、装置、方法によれば、人手に頼らず、ログデータから不正アクセスと共有アカウントを判別することが可能となる。
不正アクセスと共有アカウントによる不正使用とでは、対策の方式が異なるが、本実施形態によって実現されるプログラム、装置、方法により、ログからログオン失敗の原因を判別することができ、効果的な対策の選択につなげるとともに不正アクセスと共有アカウントの不正使用の検出の精度をあげることが可能となる。
【図面の簡単な説明】
【００１８】
【図１】実施形態の全体システム構成図である。
【図２】実施形態のシステム構成図である。
【図３】ログオン失敗ログの出現例の説明図である。
【図４】実施形態の制御を示すフローチャートである。
【図５】図４のステップＳ４０６の更に詳細制御を示すフローチャートである。
【図６】ログデータのデータ構成例を示す図である。
【図７】管理用画面での出力例を示す図である。
【図８】他の実施形態の制御を示すフローチャートである。
【図９】実施形態のシステムを実現できるコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図１は、実施形態の全体システム構成図である。
インターネット１０３から企業内ネットワーク１０４へのアクセスとしては、正当なアカウントを有する利用者による正当なアクセスのほか、１０２として示されるように、不正アクセス者Ｘ，Ｙ等による不正アクセスがある。また、１０１として示されるように、正当な利用者であるが共有アカウントを使った利用者Ａ，Ｂ等による不正使用もある。この場合、企業内ネットワーク１０４の管理者１０５は、ログオン失敗ログデータベース（以下、「ログオン失敗ログＤＢ」と記述する）１０６に蓄積されるログオンの失敗を示すログデータを分析する。この結果、管理者１０５は、不正アクセスと共有アカウントによる不正使用とを区別して認識する必要がある。そして、管理者１０５は、不正アクセスに対しては、１０８として示されるように、パスワードポリシーの強化、システムの脆弱性に対する対策、その他の対策の強化等を実施する必要がある。一方、管理者１０５は、共有アカウントを使ったアクセスに対しては、利用者群１０１に対して、共有アカウントの禁止を再周知し、共有アカウントの利用に対する罰則規定を整備する等の対策を実施する必要がある。
【００２０】
このように、ログオン失敗の原因に依存して対策が異なるため、ログオン失敗ログＤＢ１０６から、不正アクセスと共有アカウントによる不正使用を判別して抽出し通知することが重要である。
【００２１】
以下に説明する本実施形態は、ログオン失敗ログＤＢ１０６から、コンピュータによるログ分析によって不正アクセスと共有アカウントによる不正使用を判別して抽出し管理者１０５に通知する手段１０７を提供するものである。
【００２２】
図２は、図１に示されるコンピュータによるログ分析によって不正アクセスと共有アカウントによる不正使用を判別して抽出し管理者１０５に通知する手段１０７を実現する本実施形態のシステム構成図である。
【００２３】
このシステムは例えば、図１の企業内ネットワーク１０４内のサーバ等のコンピュータ上に構築される。
利用者インタフェース２０１は、例えば図１のインターネット１０３を介して、他のコンピュータからのデータ操作リクエストを受け付けるサーバ等のコンピュータ上で実行されるソフトウェア実行機能部である。このソフトウェアは例えば、ＨＴＴＰ（ハイパー・テキスト・トランスファ・プロトコル）通信によるＷＷＷ（ワールド・ワイド・ウェブ）アクセスを受け付けるＷＷＷソフトウェアである。或いは、このソフトウェアは、固有のプロトコルによりデータベースアクセスを受け付けるソフトウェアである。
【００２４】
ログ記録部２０２は、他のコンピュータからのアクセスやそれに対するアクセスエラーの発生状況等を、ログデータとしてログ蓄積部２０７に記録する。
ログオン失敗ログ抽出部２０３は、ログ蓄積部２０７に蓄積されているログデータから、ログオンに失敗したことを示すログオン失敗ログを抽出する機能部である。
【００２５】
同時期ログオン／ログアウト判定部２０４は、ログオン失敗ログ抽出部２０３におけるログオン失敗ログの抽出状況に応じて動作する。そして、この同時期ログオン／ログアウト判定部２０４は、ログ蓄積部２０７に蓄積されているログデータにおいて、同時期（同時間帯）に同一のユーザＩＤで複数回のログオン／ログアウトが発生しているか否かを検出する。
【００２６】
同一ＩＤアクセスのコマンド比較部２０５は、同時期ログオン／ログアウト判定部２０４での判定状況に応じて動作する。そして、この同一ＩＤアクセスのコマンド比較部２０５は、ログ蓄積部２０７に蓄積されているログデータにおいて、同一のユーザＩＤによるアクセスにおいてアクセスコマンド又はファイルやフォルダが所定頻度以上異なるか否かを判定する。
【００２７】
アクセス判別部２０６は、同一ＩＤアクセスのコマンド比較部２０５での判定状況に応じて動作する。そして、このアクセス判別部２０６は、パスワード変更直後にログオン失敗ログを多数検知した場合に、共有アカウントによる不正使用が発生したと判断する。一方、それ以外の場合には、不正アクセスが発生したと判断する。そして、これらの判別結果を、管理者用インタフェース２０８に出力する。
【００２８】
管理者用インタフェース２０８は、サーバコンピュータの表示装置又は管理者用端末の表示装置に、アクセス判別部２０６が判別出力した共有アカウントによる不正使用の発生又は不正アクセスの発生を通知するソフトウェア機能部である。
【００２９】
図３は、本実施形態におけるログオン失敗ログの出現例の説明図である。
正常ログオン時には、図３（ａ）に示されるように、パスワードが変更されたタイミングにおいても、多数のログオン失敗ログは検出されていない。
【００３０】
これに対して、不正アクセスによる不正ログオン頻発時には、図３（ｂ）に示されるように、パスワードが変更されるとされないとにかかわらず、ランダムにログオン失敗ログが検出される。
【００３１】
更に、共有アカウントによる不正使用においては、図３（ｃ）に示されるように、パスワードが変更されてから所定の期間Ｘ（所定判定期間）においてのみ、複数のログオン失敗ログが発生する可能性が高い。これは、アカウントが複数の利用者に共有されていて、誰かがその共有アカウントのパスワードを変更した場合に、他の利用者がそれを把握していないために、そのタイミングにおいてのみログオン失敗が多発する傾向が強いためである。本実施形態では、このように、共有アカウントによる不正使用の場合、その共有アカウントのパスワード変更後に著しく多いログオン失敗ログが検出されるという経験則に基づいて、不正アクセスと共有アカウントによる不正使用を判別する。
【００３２】
図４は、本実施形態のコンピュータによる動作を示すフローチャートであり、図２に示されるログオン失敗ログ抽出部２０３、同時期ログオン／ログアウト判定部２０４、同一ＩＤアクセスのコマンド比較部２０５、及びアクセス判別部２０６の各機能を実現する。このフローチャートは、所定期間毎（例えば１週間に一度）に、サーバ等のコンピュータが実装しているスケジューラ機能（例えばｃｒｏｎ機能）を使って自動実行される。
【００３３】
ステップＳ４０１とＳ４０２は、図２のログオン失敗ログ抽出部２０３の機能を実現する。
即ちまず、図２のログ蓄積部２０７から、ログオン失敗ログが収集される（ステップＳ４０１）。
【００３４】
次に、ステップＳ４０１の抽出結果において、ログオン失敗が多いか否かが、所定の閾値（第１の所定回数）と比較することにより判定される（ステップＳ４０２）。
ログオン失敗が多くはなくステップＳ４０２の判定がＮＯならば、正常アカウントによるアクセスが行われていると判断されて図４のフローチャートに対応する動作を終了する（ステップＳ４０２→Ｓ４０４）。
【００３５】
ログオン失敗が多くステップＳ４０２の判定がＹＥＳならば、ステップＳ４０３の処理が実行される。この処理は、図２の同時期ログオン／ログアウト判定部２０４の機能を実現する。ここでは、図２のログ蓄積部２０７に蓄積されているログデータにおいて、同時期（同時間帯）に同一のユーザＩＤで所定回数（第３の所定回数）以上のログオン／ログアウトが発生しているか否かが判定される。
【００３６】
ステップＳ４０３の判定がＮＯならば、正常アカウントによるアクセスが行われていると判断されて図４のフローチャートに対応する動作を終了する（ステップＳ４０３→Ｓ４０４）。
【００３７】
ステップＳ４０３の判定がＹＥＳならば、ステップＳ４０５の処理が実行される。この処理は、図２の同一ＩＤアクセスのコマンド比較部２０５の機能を実現する。ここでは、図２のログ蓄積部２０７に蓄積されているログデータにおいて、同一のユーザＩＤによるアクセスにおいてアクセスコマンド等が所定頻度以上異なるか否かが判定される。より具体的には、同一のユーザＩＤで操作されているアクセスコマンドの種類の数、又はファイル（コマンド）やフォルダの数が所定の閾値と比較される。
【００３８】
ステップＳ４０５の判定がＮＯならば、正常アカウントによるアクセスが行われている判断されて図４のフローチャートに対応する動作を終了する（ステップＳ４０５→Ｓ４０４）。
【００３９】
ステップＳ４０５の判定がＹＥＳならば、不正アクセスか共有アカウントによる不正使用の何れかが発生していると判断される（ステップＳ４０６）。この場合には更に、ステップＳ４０７の処理が実行される。この処理は、図２のアクセス判別部２０６の機能を実現する。ここでは、パスワード変更直後にログオン失敗ログが多数（第２の所定回数以上）検知されたか否かが判断される。
【００４０】
そして、パスワード変更直後にログオン失敗ログが多数検知されたと判断されてステップＳ４０７の判定がＹＥＳの場合には、共有アカウントによる不正使用が発生していると判断され、その判別結果が図２の管理者用インタフェース２０８に出力される。そして、管理者用インタフェース２０８によって、コンピュータの表示装置又は管理者用端末の表示装置に、共有アカウントによる不正使用が通知される（以上、ステップＳ４０８）。これを受けて、図１の管理者１０５は、共有アカウント禁止の再周知と罰則規定の整備、該当幹部への警告等の措置を講ずることになる（ステップＳ４０９）。
【００４１】
一方、パスワード変更直後にログオン失敗ログが多数検知されてはいないと判断されてステップＳ４０７の判定がＮＯの場合には、ステップ４０２で同時期にログオン失敗が多数発生しているから、正常アクセスではない。したがってパスワード変更直後にログオン失敗が多数発生していなければ不正アクセスが発生していると判断され、その旨が図２の管理者用インタフェース２０８に出力される。そして、管理者用インタフェース２０８によって、サーバ等のコンピュータの表示装置又は管理者用端末の表示装置に、不正アクセスの発生が通知される（以上、ステップＳ４１０）。これを受けて、図１の管理者１０５は、パスワードポリシーの強化、システムの脆弱性に対する対策、その他対策の強化等の措置を講ずることになる（ステップＳ４１１）。
【００４２】
図５は、図４のステップＳ４０７のコンピュータによる更に詳細な動作を示すフローチャートである。この処理は、図２のアクセス判別部２０６の機能を実現する。ここでは、前述したように、パスワード変更直後にログオン失敗ログが多数検知されたか否かが判断される。
【００４３】
まず、現在着目しているアカウントについて、最後にパスワード変更を実施した時刻をａ、パスワード変更前最後のログオン失敗ログ検知時刻をｂとして、その両者の時間間隔「Ｘ＝ａ−ｂ」が算出される（ステップＳ５０１）。このＸは、図３（ｃ）のＸ（所定判定期間）に対応する。
【００４４】
次に、上記アカウントについて、パスワード変更時刻ａ以後、所定判定期間Ｘ内でのログオン失敗ログ件数が、図２のログオン失敗ログ抽出部２０３にて抽出されたログデータ上で計数され、その計数結果がΑとされる（ステップＳ５０２）。
【００４５】
そして、計数結果Ａが、２（第２の所定回数）以上であるか否かが判定される（ステップＳ５０３）。
計数結果Ａが２以上であって、ステップＳ５０３の判定がＹＥＳならば、共有アカウントによる不正使用が発生していると判別される。
【００４６】
一方、計数結果Ａが２以上ではなく、ステップＳ５０３の判定がＮＯならば、不正アクセスが発生していると判別される。
上述のように、パスワード変更時直前のログオン失敗の所定判定期間Ｘが算出されることにより、分析対象とするログ抽出期間の単位がログ量のスケールに合わせて自動的に決定され、それに基づいて、不正アクセスと共有アカウントによる不正使用が適切に判別される。
【００４７】
図６は、図２のログ蓄積部２０７に蓄積されるログデータのデータ構成例を示す図である。
このようなデータ構成例に対して、コンピュータにより図５のフローチャートの動作が実行される場合には、以下のような処理が実行される。
【００４８】
まず、図５のステップＳ５０１において、現在着目しているアカウントについて最後にパスワード変更を実施した時刻ａは、次のように算出される。まず、図６のログデータ例６０１において各ログは時間昇順で１行ずつ記録されているものとする。即ち、時間経過に従ってファイルの先頭から末尾に向かって各ログが１行ずつ記録されてゆき、末尾の行に最新のログが記録されている。このようなログデータ例６０１に対して、その末尾から先頭に向かって１行ずつ読み込まれながら、現在着目しているアカウントのユーザＩＤ文字列「suzuki」に対するパスワード変更を示す文字列「Change Password:suzuki」を含む行が検出される。このため、末尾から見て最初に見つかる上記検出行は、ユーザＩＤ「suzuki」について最後にパスワード変更が実施されたログとなる。この行が検出されたら、その行の先頭部分の時刻文字列「2009/11/15 14:54:06」が検出される。この時刻（2009年11月15日14時54分6秒）が、時刻ａとして例えば時刻変数データａに記憶される。
【００４９】
次に、図５のステップＳ５０１において、パスワード変更前最後のログオン失敗ログ検知時刻ｂは、次のようにして算出される。即ち、上記時刻ａが検出された行から更に１行ずつ各行が先頭方向すなわち時間が遡る方向に向かって読み込まれながら、現在着目しているアカウントのユーザＩＤ文字列「suzuki」に対するログオン失敗を示す文字列「Logon Error suzuki」を含む行が検出される。この行が検出されたら、その行の先頭部分の時刻文字列「2009/11/15 13:23:03」が検出される。この時刻（2009年11月15日13時23分3秒）が、時刻ｂとして例えば時刻変数データｂに記憶される。
【００５０】
次に、図５のステップＳ５０１において、時刻変数データａの時刻値「2009/11/15 14:54:06」から上記時刻変数データｂの時刻値「2009/11/15 13:23:03」が減算され、その結果Ｘ＝「01:31:03」（1時間31分3秒）が期間変数データＸに記憶される。
【００５１】
次に、図５のステップＳ５０２において、上記アカウントについて、パスワード変更時刻ａ以後、所定判定期間Ｘ内でのログオン失敗ログ件数Ａを計数する処理は、次のようにして算出される。
【００５２】
まず、時刻変数データａの時刻値「2009/11/15 14:54:06」に、期間変数データＸの値「01:31:03」を加算することにより、時刻ａから所定判定期間Ｘだけ経過した時刻値「2009/11/15 16:25:09」（2009年11月15日16時25分9秒）が算出される。次に、時刻ａが検出された行から末尾方向すなわち時間が新しくなる方向に各行が読み込まれながら、現在着目しているアカウントのユーザＩＤ文字列「suzuki」に対するログオン失敗を示す文字列「Logon Error suzuki」を含む行が検出される。この行が検出されたら、その行の先頭部分の時刻文字列が検出される。そして、その時刻文字列が示す時刻が、上述の時刻ａから所定判定期間Ｘだけ経過した時刻値「2009/11/15 16:25:09」よりも早いか否かが判定される。早ければ、ログオン失敗ログ件数の計数値が＋１される。過ぎていれば、計数を終了し、その計数値を、上記所定判定期間Ｘ内でのログオン失敗ログ件数Ａとして出力する。
【００５３】
以上のようにして算出された計数結果Ａについて、前述の図５のステップＳ５０３で、その計数値が２（第２の所定回数）以上であるか否かが判定される。そして、計数結果Ａが２以上であるなら共有アカウントによる不正使用が発生していると判別される。
【００５４】
図６に示される不正アクセス時のログデータ例６０１では、パスワード変更とその直前のログオン失敗の時間差が例えば約１時間３０分間であったようなときに、パスワード変更後の同じ１時間３０分の間のログオン失敗が例えば１回のみ発生する。このように、パスワード変更前後で、ログオン失敗の頻度が大きくは変わっていないため、「不正アクセス」が発生していると判別される。
【００５５】
一方、図６に示される共有アカウントによる不正使用時のログデータ例６０２では、パスワード変更とその直前のログオン失敗の時間差が例えば約３時間であったようなときに、パスワード変更後の同じ３時間でログオン失敗が例えば５回発生する。このように、パスワード変更前に比べ、変更直後のログオン失敗の頻度が高くなっているため、「共有アカウントによる不正使用」が発生していると判別される。
【００５６】
図７は、不正アクセス及び共有アカウントによる不正使用が判別通知されたそれぞれの場合における管理画面の表示の出力例を示す図である。
図７（ａ）に示されるように、不正アクセスの判別通知時には、パスワードポリシーの強化、システムの脆弱性に対する対策、その他対策の強化等を促す表示がなされる。
【００５７】
図７（ｂ）に示されるように、共有アカウントによる不正使用の判別通知時には、共有アカウント禁止の再周知と罰則規定の整備、該当幹部への警告等を促す表示がなされる。
以上説明したように、本実施形態では、同じログオン失敗でも、不正アクセスと共有アカウントによる不正使用とでは特徴が異なり、特にパスワード変更後のログの検出傾向が異なることに着目し、不正アクセスと共有アカウントによる不正使用を自動的に判別して検知することができる。
【００５８】
また、本実施形態によれば、人手に頼らず既存システムのログデータを利用して不正アクセスと共有アカウントによる不正使用を判別できるため、既存システムへの適用が容易である。
【００５９】
更に、本実施形態によれば、不正アクセスと共有アカウントによる不正使用とでは、対策の方式が異なるが、本発明により、ログオン失敗ログから原因を判別することができ、効果的な対策の選択につなげるとともに不正アクセスと共有アカウントの不正使用そのものの検出精度をあげることが可能となる。共有アカウントを自動的に判別することで、システムのアクセスコントロールを実施する上で必要となる利用者認証を強化し、システムのセキュリティを高めることが可能となる。
【００６０】
加えて、本実施形態では、ログ失敗ログ発生の所定判定期間Ｘが、パスワード変更の直前のログ失敗の発生状況に基づいて調整されるため、処理のロジックが効率化され、大規模なシステムでも小規模なシステムでも対応できるようになる。
【００６１】
以上説明した実施形態は、不正アクセスと共有アカウントによる不正使用を判別する機能を有するシステムとして実現されている。これに対して、以下のような他の実施形態が実施されてもよい。
【００６２】
即ち、他の実施形態では、図８のフローチャートで示される動作が実行される。図８のフローチャートでは、前述した図４のステップＳ４０１からＳ４０６、Ｓ４１０、Ｓ４１１の各処理は省略され、ステップＳ４０７、Ｓ４０８に相当する機能のみが実装される。
【００６３】
図８のステップＳ４０７では、図４のステップＳ４０７と同様に、ログデータにおいて、パスワード変更直後にログオン失敗ログが多数（第２の所定回数以上）検知されたか否かが判断される。そして、図８のステップＳ４０７の詳細な動作は図５における、ステップＳ５０１、Ｓ５０２、Ｓ５０３により実行される。
【００６４】
そして、パスワード変更直後にログオン失敗ログが多数検知されたと判断されて図８のステップＳ４０７の判定がＹＥＳの場合には、共有アカウントによる不正使用が発生していると判断され、その判別結果が図２の管理者用インタフェース２０８に出力される。そして、管理者用インタフェース２０８によって、コンピュータの表示装置又は管理者用端末の表示装置に、共有アカウントによる不正使用が通知される（以上、図８のステップＳ４０８）。これを受けて、図１の管理者１０５は、共有アカウント禁止の再周知と罰則規定の整備、該当幹部への警告等の措置を講ずることになる（図８のステップＳ４０９）。
【００６５】
一方、パスワード変更直後にログオン失敗ログが多数検知されてはいないと判断されて図８のステップＳ４０７の判定がＮＯの場合には、共有アカウントによる不正使用が発生していないと判断され、管理者等への通知は行われない（図８のステップＳ８０１）。
このような第８図に示した実施形態により、共有アカウントによる不正使用が発生しているか否かのみを検知するシステムの実現が可能となる。
【００６６】
図９は、上記各実施形態のシステムを実現できるコンピュータのハードウェア構成の一例を示す図である。
図９に示されるコンピュータは、ＣＰＵ９０１、メモリ９０２、入力装置９０３、出力装置９０４、外部記憶装置９０５、可搬記録媒体９０９が挿入される可搬記録媒体駆動装置９０６、及び通信ネットワーク９０７を有し、これらがバス９０８によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
【００６７】
ＣＰＵ９０１は、当該コンピュータ全体の制御を行う。メモリ９０２は、プログラムの実行、データ更新等の際に、外部記憶装置９０５（或いは可搬記録媒体９０９）に記憶されているプログラム又はデータを一時的に格納するＲＡＭ等のメモリである。ＣＵＰ９０１は、プログラムをメモリ９０２に読み出して実行することにより、全体の制御を行う。
【００６８】
外部記憶装置９０５は、例えばハードディスク記憶装置である。例えば、図２のログ蓄積部２０７は、外部記憶装置９０５上に構築される。
図２の実施形態によるシステム構成において利用者インターフェース２０１、ログ記録部２０２、ログオン失敗ログ抽出部２０３、同時期ログオン／ログアウト判定部２０４、同一ＩＤアクセスのコマンド比較部２０５、アクセス判定部２０６、管理者インタフェース２０８は、ＣＰＵ９０１がメモリ９０２に記憶されたプログラムを実行することにより実現される。また、ログ記録部２０２は、外部記憶装置９０５内に構築されている所定のログディレクトリに記憶されるログファイルである。各実施形態の機能を実現する図４、図５の各フローチャートに対応する各プログラムを、ＣＰＵ９０１が実行することで実現される。そのプログラムは、例えば外部記憶装置９０５や可搬記録媒体９０９に記録して配布してもよく、或いは通信インターフェース９０７によりネットワークから取得できるようにしてもよい。
【００６９】
以上の各実施形態に関して、更に以下の付記を開示する。
（付記１）
通信のアクセスの状況を記録したログデータから、ログオンの失敗が第１の所定回数以上計数されるアカウントを抽出し、
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数される場合に共有アカウントと判別し、
そうでない場合に不正アクセスと判別する、
機能をコンピュータに実行させるためのアカウントの不正使用判別プログラム。
（付記２）
前記ログデータから、前記アカウントについて、最後にパスワード変更が実施されたパスワード変更時刻と、前記パスワード変更時刻前に最後にログオンが失敗したログオン失敗時刻との期間を算出し、該算出した期間に基づいて前記所定判定期間を決定する、
ことを特徴とする付記１に記載のプログラム。
（付記３）
前記ログデータにおいて、最新のログデータから時刻が遡るログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とパスワード変更を示す文字列とを含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記パスワード変更時刻として抽出し、
前記パスワード変更時刻が検出されたログデータから更に時刻が遡る時刻文字列が記録されているログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列とを含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記ログオン失敗時刻として抽出し、
前記パスワード変更時刻と前記ログオン失敗時刻との時間差を前記所定判定期間とし、
前記パスワード変更時刻が検出されたログデータから時刻が新しくなるログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列とを含むログデータを抽出し、該ログデータに含まれる時刻と前記パスワード変更時刻との差が前記所定判定期間以内である場合に前記ログオンの失敗数の計数値を１ずつ増加させる動作を繰り返す、
ことを特徴とする付記２に記載のプログラム。
（付記４）
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数する前、前記ログデータにおいて、前記ログオンの失敗が第１の所定回数以上記録されている場合に、同時期に同一のアカウントで第３の所定回数以上のログオン又はログアウトが発生しているか否かを検出し、
前記第３の所定回数以上のログオン又はログアウトの発生が検出されたときに、前記ログデータにおいて、前記同一のアカウントによるアクセスにおいてアクセスコマンド又はアクセスデータが所定頻度以上異なるか否かを検出し、
前記アクセスコマンド又はアクセスデータが所定頻度以上異なることを検出する、
ことを特徴とする付記１に記載のプログラム。
（付記５）
通信のアクセスの状況を記録したログデータから、ログオンの失敗が第１の所定回数以上計数されるアカウントを抽出するログオン失敗ログ抽出部と、
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数される場合に共有アカウントと判別し、そうでない場合に不正アクセスと判別するアクセス判別部と、
を含むことを特徴とするアカウント不正使用判別装置。
（付記６）
前記アクセス判別部は、
前記ログデータから、前記アカウントについて、最後にパスワード変更が実施されたパスワード変更時刻と、前記パスワード変更時刻前に最後にログオンが失敗したログオン失敗時刻との期間を算出し、該算出した期間に基づいて前記所定判定期間を決定する、
ことを特徴とする付記５に記載のアクセス判別装置。
（付記７）
前記アクセス判別部は、
前記ログデータにおいて、時刻が最新のログデータから時刻が遡るログデータを順次検索しながら、現在着目しているアカウントのユーザＩＤの文字列とパスワード変更を示す文字列を含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記パスワード変更時刻として抽出し、
前記パスワード変更時刻が検出されたログデータから更に時刻が遡る時刻文字列が記録されているログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列を含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記ログオン失敗時刻として抽出し、
前記パスワード変更時刻と前記ログオン失敗時刻との時間差を前記所定判定期間とし、
前記パスワード変更時刻が検出されたログデータから時刻が新しくなるログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列を含むログデータを抽出し、該ログデータに含まれる時刻と前記パスワード変更時刻との差が前記所定判定期間以内である場合に前記ログオンの失敗数の計数値を１ずつ増加させる動作を繰り返す、
ことを特徴とする付記６に記載のアクセス判別装置。
（付記８）
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数する前に、前記ログデータにおいて、前記ログオンの失敗が第１の所定回数以上記録されている場合に、同時期に同一のアカウントで第３の所定回数以上のログオン又はログアウトが発生しているか否かを検出する同時期ログオン／ログアウト判定部と、
前記第３の所定回数以上のログオン又はログアウトの発生が検出されたときに、前記ログデータにおいて、前記同一のアカウントによるアクセスにおいてアクセスコマンド又はアクセスデータが所定頻度以上異なるか否かを検出する検出部と、
を更に含む、
ことを特徴とする付記５に記載のアクセス判別装置。
（付記９）
通信のアクセスの状況を記録したログデータから、ログオンの失敗が第１の所定回数以上計数されるアカウントを抽出し、
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数される場合に共有アカウントと判別し、
そうでない場合に不正アクセスと判別する、
ことを特徴とするアクセス判別方法。
（付記１０）
前記ログデータから、前記アカウントについて、最後にパスワード変更が実施されたパスワード変更時刻と、前記パスワード変更時刻前に最後にログオンが失敗したログオン失敗時刻との期間を算出し、該算出した期間に基づいて前記所定判定期間を決定する、
ことを特徴とする付記９に記載のアクセス判別方法。
（付記１１）
前記ログデータにおいて、時刻が最新のログデータから時刻が遡るログデータを順次検索しながら、現在着目しているアカウントのユーザＩＤの文字列とパスワード変更を示す文字列を含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記パスワード変更時刻として抽出し、
前記パスワード変更時刻が検出されたログデータから更に時刻が遡る時刻文字列が記録されているログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列を含む最初のログデータを抽出して該ログデータに記録されている時刻文字列に対応する時刻を前記ログオン失敗時刻として抽出し、
前記パスワード変更時刻と前記ログオン失敗時刻との時間差を前記所定判定期間とし、
前記パスワード変更時刻が検出されたログデータから時刻が新しくなるログデータを順次検索しながら、前記アカウントのユーザＩＤの文字列とログオン失敗を示す文字列を含むログデータを抽出し、該ログデータに含まれる時刻と前記パスワード変更時刻との差が前記所定判定期間以内である場合に前記ログオンの失敗数の計数値を１ずつ増加させる動作を繰り返す、
ことを特徴とする付記１０に記載のアクセス判別方法。
（付記１２）
前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が第２の所定回数以上計数する前に、前記ログデータにおいて、前記ログオンの失敗が第１の所定回数以上記録されている場合に、同時期に同一のアカウントで第３の所定回数以上のログオン又はログアウトが発生しているか否かを検出し、
前記第３の所定回数以上のログオン又はログアウトの発生が検出されたときに、前記ログデータにおいて、前記同一のアカウントによるアクセスにおいてアクセスコマンド又はアクセスデータが所定頻度以上異なるか否かを検出する、
ことを特徴とする付記９に記載のアクセス判別方法。
（付記１３）
利用者からの通信のアクセスの状況を記録したログデータから、アカウントを抽出し、前記アカウントについて、パスワード変更後の所定判定期間にログオンの失敗数が所定回数以上記録されているかを判定し、前記判定がなされたときに、複数の利用者が１つのアカウントを共有していたことを示す通知を出力する、
機能をコンピュータに実行させるためのプログラム。
（付記１４）
前記ログデータから、前記利用者アカウントについて、最後にパスワード変更が実施されたパスワード変更時刻と、前記パスワード変更時刻前の最後のログオン失敗ログの検知時刻との期間を算出し、
前記パスワード変更時刻以後前記期間に基づいて決定される期間内で、前記利用者アカウントについて、前記ログデータからログオン失敗ログの数を検出し、
前記ログオン失敗ログの数が所定の閾値以上である場合に、前記複数の利用者が１つの前記利用者アカウントを共有して使用したことを示す通知を出力する、
ことを特徴とするログ分析による共有アカウントの抽出・通知プログラム。
【符号の説明】
【００７０】
１０１  共有アカウントを不正使用する利用者群
１０２  不正アクセス者
１０３  インターネット
１０４  企業内ネットワーク
１０５  管理者
１０６  ログオン失敗ログデータベース（ログオン失敗ログＤＢ）
１０７  ログ分析による共有アカウントの抽出及び通知手段
２０１  利用者インタフェース
２０２  ログ記録部
２０３  ログオン失敗ログ抽出部
２０４  同時期ログオン／ログアウト判定部
２０５  同一ＩＤアクセスのコマンド比較部
２０６  アクセス判別部
２０７  管理者用インタフェース
６０１  不正アクセス時のログデータ例
６０２  共有アカウントによる不正使用頻発時のログデータ例
【図２】
0005454166.tif 000002
【図４】
0005454166.tif 000003
【図５】
0005454166.tif 000004
【図６】
0005454166.tif 000005
【図７】
0005454166.tif 000006
【図８】
0005454166.tif 000007
【図９】
0005454166.tif 000008
【図１】
0005454166.tif 000009
【図３】
0005454166.tif 000010