(57)【要約】  検知装置（１０）は、ユーザ認証を行う認証装置から取得した認証情報からアカウント及びアカウントの送信元アドレスを抽出し、アカウントのタイムスタンプ及び送信元アドレスに応じて、所定時間間隔のタイムスロット毎かつ送信元アドレス毎にアカウントをグループ化し、同一グループ内で同一アカウントの重複を除外したアカウントグループを抽出する。そして、検知装置（１０）は、抽出した各アカウントグループ間で重複するアカウント数を計算する。そして、検知装置（１０）は、計算したアカウント数が第１閾値を越える同一送信元アドレスのアカウントグループの数が第２閾値を越える場合に、この同一送信元アドレスがアカウント攻撃者のアドレスであると判定する。
2016195090.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ認証を行う認証装置と、
前記認証装置から取得した認証情報からアカウント及びアカウントの送信元アドレスを抽出し、アカウントのタイムスタンプ及び送信元アドレスに応じて、所定時間間隔のタイムスロット毎かつ送信元アドレス毎にアカウントをグループ化し、同一グループ内で同一アカウントの重複を除外したアカウントグループを抽出する抽出部と、
前記抽出部により抽出された各アカウントグループ間で重複するアカウント数を計算する計算部と、
前記計算部により計算されたアカウント数が第１閾値を越える同一送信元アドレスのアカウントグループの数が第２閾値を越える場合に、該同一送信元アドレスが攻撃者のアドレスであると判定する判定部と
を備える検知装置と
を含むことを特徴とする検知システム。
【請求項２】
認証装置から取得した認証情報からアカウント及びアカウントの送信元アドレスを抽出し、アカウントのタイムスタンプ及び送信元アドレスに応じて、所定時間間隔のタイムスロット毎かつ送信元アドレス毎にアカウントをグループ化し、同一グループ内で同一アカウントの重複を除外したアカウントグループを抽出する抽出部と、
前記抽出部により抽出された各アカウントグループ間で重複するアカウント数を計算する計算部と、
前記計算部により計算されたアカウント数が第１閾値を越える同一送信元アドレスのアカウントグループの数が第２閾値を越える場合に、該同一送信元アドレスが攻撃者のアドレスであると判定する判定部と
を備えることを特徴とする検知装置。
【請求項３】
前記計算部は、第１の送信元アドレスのアカウントグループのうちの最新のタイムスロットに該当するアカウントグループと、該第１の送信元アドレスのアカウントグループのうちの最新のタイムスロット以前の所定数の各タイムスロットに該当する各アカウントグループとの間で重複する第１のアカウント数をそれぞれ計算し、
前記判定部は、前記第１のアカウント数が前記第１閾値を越えるアカウントグループの数が前記第２閾値を越える場合に、該第１の送信元アドレスが攻撃者のアドレスであると判定する
ことを特徴とする請求項２に記載の検知装置。
【請求項４】
さらに、
前記計算部は、前記第１の送信元アドレスのアカウントグループのうちの最新のタイムスロットに該当するアカウントグループと、前記第１の送信元アドレス以外の送信元アドレスのアカウントグループのうちの最新のタイムスロット以前の所定数の各タイムスロットに該当する各アカウントグループとの間で重複する第２のアカウント数をそれぞれ計算し、
前記判定部は、前記第２のアカウント数が前記第１閾値を越えるアカウントグループの数が前記第２閾値を越える場合に、該第１の送信元アドレスが攻撃者のアドレスであると判定する
ことを特徴とする請求項３に記載の検知装置。
【請求項５】
さらに、
前記判定部は、前記第２のアカウント数が前記第１閾値を越えるアカウントグループが存在する場合に、前記第２のアカウント数が前記第１閾値を越えるアカウントグループに該当する前記第１の送信元アドレス以外の送信元アドレスが攻撃者のアドレスであると判定する
ことを特徴とする請求項４に記載の検知装置。
【請求項６】
前記判定部は、前記計算部により計算されたアカウント数にタイムスロット又は送信元アドレスに応じた各加重係数を乗算した値をもとに攻撃者のアドレスを判定する
ことを特徴とする請求項２に記載の検知装置。
【請求項７】
ユーザ認証を行う認証装置及び検知装置を含む検知システムにおける検知方法であって、
前記検知装置が、
前記認証装置から取得した認証情報からアカウント及びアカウントの送信元アドレスを抽出し、アカウントのタイムスタンプ及び送信元アドレスに応じて、所定時間間隔のタイムスロット毎かつ送信元アドレス毎にアカウントをグループ化し、同一グループ内で同一アカウントの重複を除外したアカウントグループを抽出し、
抽出した各アカウントグループ間で重複するアカウント数を計算し、
計算したアカウント数が第１閾値を越える同一送信元アドレスのアカウントグループの数が第２閾値を越える場合に、該同一送信元アドレスが攻撃者のアドレスであると判定する
処理を含んだことを特徴とする検知方法。
【請求項８】
請求項２に記載の検知装置としてコンピュータを機能させる検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知システム、検知装置、検知方法及び検知プログラムに関する。
【背景技術】
【０００２】
インターネット上のサービスでは、本人性を確認するために、アカウント認証が用いられることが多い。例えば、ユーザは、サービスを利用するためにアカウント認証を試み、認証された場合のみサービスにログインして利用できる。一般的に、アカウント認証は、アカウント及びパスワードを用いる。近年、大量のアカウント及びパスワードを用いてアカウント認証の試行を繰り返すアカウントハッキングにより偶然認証されたアカウント及びパスワードを用い、不正ログインされるという被害が発生している。【０００３】
そこで、アカウントハッキングによる被害を防止するため、一定時間内のアカウント認証及び認証失敗の数を計数し、認証失敗の数が一定数を超えた場合、アカウントハッキングとして検知する方法がある。なお、正常の利用でもパスワード忘れなどにより認証失敗はある程度の割合で発生する。企業や無線ＬＡＮ（Local  Area  Network）スポット等、複数利用者が同一ＩＰ（Internet  Protocol）アドレスや同一回線を共用する場合、同一アドレスや同一回線からの認証失敗の数がより多くなり、一定時間内の認証失敗の数が一定数を超える場合がある。この場合も、アカウントハッキングと検知されてしまうおそれがある。よって、実用上は、一定時間内の認証失敗数及び認証成功数と、認証試行数との比率、すなわち、認証失敗率及び認証成功率を用いることが一般的である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“リスト型アカウントハッキングによる不正ログインへの対応方策について（サイト管理者などインターネットサービス提供事業者向け対策集）”、総務省、平成２５年（２０１３年）１２月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、認証失敗率及び認証成功率を用いてアカウントハッキングの検知を行う場合、攻撃者は、ダミーアカウントを用意することで、認証失敗率及び認証成功率を低下させずに不正ログインを大量に行う。【０００６】
具体的には、攻撃者は、ログインが成功するダミーアカウント及び不正ログインを行おうとするアカウント（ターゲットアカウント）の両方を用意し、ダミーアカウント及びターゲットアカウントが混在したリストに基づいてログイン試行する。そして、攻撃者は、ターゲットアカウントそのものあるいはターゲットアカウントのパスワードを変えながらログイン試行を繰り返す。そのため、かかるアカウントハッキングは、認証失敗率及び認証成功率に対して閾値を設ける従来の検知方法では、認証失敗率及び認証成功率が低下しないため、閾値で検知できないという課題がある。【０００７】
本願が開示する実施形態の一例は、上記に鑑みてなされたものであって、アカウントハッキングの検知精度を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本願が開示する実施形態の一例は、ユーザ認証を行う認証装置から取得した認証情報からアカウント及びアカウントの送信元アドレスを抽出し、アカウントのタイムスタンプ及び送信元アドレスに応じて、所定時間間隔のタイムスロット毎かつ送信元アドレス毎にアカウントをグループ化する。そして、同一グループ内で同一アカウントの重複を除外したアカウントグループを抽出する。そして、抽出した各アカウントグループ間で重複するアカウント数を計算する。そして、計算したアカウント数が第１閾値を越える同一送信元アドレスのアカウントグループの数が第２閾値を越える場合に、この同一送信元アドレスがアカウント攻撃者のアドレスであると判定する。
【発明の効果】
【０００９】
本願が開示する実施形態の一例によれば、例えば、アカウントハッキングの検知精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係るシステムの一例を示すブロック図である。
【図２】図２は、実施形態に係るアカウントグループの一例を示す図である。
【図３】図３は、実施形態に係る検知処理の一例を示すフローチャートである。
【図４】図４は、実施例１に係る検知処理の概要の一例を示す図である。
【図５】図５は、実施例２（実施例３）に係る検知処理の概要の一例を示す図である。
【図６】図６は、実施例４（実施例５）に係る検知処理の概要の一例を示す図である。
【図７】図７は、プログラムが実行されることにより検知装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
［実施形態］
以下、本願が開示する検知システム、検知装置、検知方法及び検知プログラムの実施形態を説明する。なお、以下の実施形態は、一例を示すに過ぎず、本願が開示する技術を限定するものではない。また、以下に示す種々の形態及び実施例は、矛盾しない範囲で適宜組合せてもよい。
【００１２】
（実施形態に係るシステムの一例）
図１は、実施形態に係るシステムの一例を示すブロック図である。実施形態に係るシステム１は、公衆網等のネットワーク２を介して接続されたクライアント３及びサーバ４を含む。また、サーバ４には、検知装置１０が接続される。ユーザは、ネットワーク２を介してサーバ４に対して認証要求を行い、サーバ４はその結果をユーザに返す。その際、サーバ４は、認証ユーザの情報及び認証の結果を認証レコードとして保持し、検知装置１０に送信する。
【００１３】
クライアント３は、ネットワーク２を介してサービスを利用するユーザの端末である。実施形態では、クライアント３は、アカウントハッキングによる攻撃者の端末も含む。サーバ４は、サービスを提供するアプリケーションサーバにおけるアカウントによるユーザ認証を行うサーバである。サーバ４は、クライアント３から受信したユーザアカウント及びパスワード等のユーザ情報を用いて、当該ユーザを認証する。
【００１４】
そして、サーバ４は、認証レコードを出力する。認証レコードは、例えばユーザアカウント（以下、アカウントと呼ぶ）、パスワード、タイムスタンプ、アカウント及びパスワードの送信元のクライアント３のＩＰアドレス等を含む。認証レコードは、ログ形式で出力されてもよい。サーバ４は、サービスを提供するアプリケーションサーバとハードウェア的又はソフトウェア的に一体に構成されてもよい。また、サーバ４は、後述する検知装置２０とハードウェア的又はソフトウェア的に一体に構成されてもよい。
【００１５】
検知装置１０は、サーバ４へのアカウントハッキングによる攻撃を検知する。検知装置１０は、アカウントグループ記憶部１１、抽出部１２、計算部１３、判定部１４を有する。
【００１６】
抽出部１２は、サーバ４から受信した認証レコードから、認証毎のアカウント、タイムスタンプ、アカウントの送信元のクライアント３のＩＰアドレス（以下、送信元ＩＰアドレスと呼ぶ）を抽出する。なお、アカウントの送信元のクライアント３を特定可能なネットワーク識別子であれば、送信元ＩＰアドレスに限らず、ＭＡＣ（Media  Access  Control）アドレス等を用いてもよい。また、抽出部１２がサーバ４から受信した認証レコードから抽出するタイムスタンプは、当該アカウントを用いてユーザがサーバ４における認証を試行した時刻である。あるいは、タイムスタンプは、当該認証レコードがサーバ４から検知装置１０へ到着した時刻もしくは検知装置１０において当該認証レコードからアカウントが抽出された時刻であってもよい。
【００１７】
そして、抽出部１２は、抽出したアカウントを、アカウントのタイムスタンプ及び送信元ＩＰアドレスに応じて、それぞれが期間Δのタイムスロット毎かつ送信元ＩＰアドレス毎にアカウントをグループ化する。そして、抽出部１２は、グループ化したアカウントの同一グループ内で同一アカウントの重複を除外する。以上が、抽出部１２が行うアカウントグループの抽出である。そして、抽出部１２は、抽出したアカウントグループをアカウントグループ記憶部１１に保存する。
【００１８】
図２は、実施形態に係るアカウントグループの一例を示す図である。図２の（ａ）は、タイムスタンプの時刻及び送信元ＩＰアドレスが異なる複数のアカウントを認証レコード群として模式的に示す。検知装置１０の抽出部１２は、認証レコード群を、図２の（ｂ）に示すように、タイムスタンプが属する所定期間Δ（タイムスロットＫ、Ｋ−１）毎かつ送信元ＩＰアドレス（ＩＰアドレスＡ、Ｂ、Ｃ）毎にアカウントをグループ化する。そして、抽出部１２は、同一アカウントグループ内でのアカウントの重複を除外する。
【００１９】
例えば、アカウント＝ａａａは、タイムスタンプ＝ｔ１がタイムスロットＫ−１に含まれ、送信元ＩＰアドレス＝Ａである場合には、図２の（ｂ）に示すアカウントグループＡＧ［Ａ］［Ｋ−１］に含まれる。なお、タイムスロットＫは、タイムスロットＫ−１の直後に続く期間である。そして、図２の（ｂ）は、一例を示すに過ぎず、タイムスロットの数、送信元ＩＰアドレスの数は、図２の（ｂ）に示すものに限られない。
【００２０】
計算部１３は、抽出部１２により抽出され、アカウントグループ記憶部１１に保存されたアカウントグループを読み出し、各アカウントグループ間で重複するアカウント数（以下、アカウント重複数と呼ぶ）を計算する。例えば、計算部１３は、抽出部１２により抽出された２つのアカウントグループ｛ａａａ，ｂｂｂ，ｃｃｃ｝、｛ｂｂｂ，ｃｃｃ｝がある場合、アカウントｂｂｂ及びｃｃｃが２つのアカウントグループ間で重複するので、アカウント重複数＝２と計算する。計算部１３による計算例は、実施例１〜５をもとに後述する。
【００２１】
判定部１４は、計算部１３による計算結果をもとに、送信元ＩＰアドレス単位で、アカウント重複数＞α（第１閾値）（αは所定正数）となるアカウントグループの数＞β（第２閾値）（βは所定正数）の場合、当該送信元ＩＰアドレスは、アカウントハッキングによる攻撃者のクライアント３のＩＰアドレスであると判定する。判定部１４による処理例は、実施例１〜５をもとに後述する。
【００２２】
（実施形態に係る検知処理）
図３は、実施形態に係る検知処理の一例を示すフローチャートである。実施形態に係る検知処理は、検知装置１０により実行される。先ず、検知装置１０は、タイムスロットの基準タイムスタンプＢＴを現在時刻で初期化する。そして、検知装置１０は、タイムスロットＩＤ＿Ｋを１で初期化する。そして、検知装置１０は、アカウントグループを格納する配列ＡＧを初期化する（以上、ステップＳ１１）。
【００２３】
次に、検知装置１０は、図示しないコンソールから、システム管理者による終了命令がシステム１へ入力されたか否かを判定する（ステップＳ１２）。検知装置１０は、システム管理者による終了命令が入力されたと判定した場合（ステップＳ１２：Ｙｅｓ）、検知処理を終了する。一方、検知装置１０は、システム管理者による終了命令が入力されていないと判定した場合（ステップＳ１２：Ｎｏ）、ステップＳ１３へ処理を移す。
【００２４】
ステップＳ１３では、検知装置１０は、未処理の認証レコードＲが到着したか否かを判定する。検知装置１０は、未処理の認証レコードＲが到着したと判定した場合（ステップＳ１３：Ｙｅｓ）、ステップＳ１４へ処理を移す。一方、検知装置１０は、未処理の認証レコードＲが到着していないと判定した場合（ステップＳ１３：Ｎｏ）、ステップＳ１２へ処理を移す。
【００２５】
ステップＳ１４では、検知装置１０は、ステップＳ１３で到着と判定した未処理の認証レコードＲのタイムスタンプからタイムスロットの基準タイムスタンプＢＴを減算した結果が所定期間Δより大であるか否かを判定する。すなわち、検知装置１０は、ステップＳ１４において、ステップＳ１３で到着と判定した未処理の認証レコードＲのタイムスタンプが、ステップＳ１１又は後述のステップＳ１５において現在時刻で初期化したタイムスロットの基準タイムスタンプＢＴ＋所定期間Δの時間内であるか否かを判定する。
【００２６】
検知装置１０は、ステップＳ１３で到着と判定した未処理の認証レコードＲのタイムスタンプからタイムスロットの基準タイムスタンプＢＴを減算した結果が所定期間Δより大であると判定した場合（ステップＳ１４：Ｙｅｓ）、ステップＳ１５へ処理を移す。一方、検知装置１０は、ステップＳ１３で到着と判定した未処理の認証レコードＲのタイムスタンプからタイムスロットの基準タイムスタンプＢＴを減算した結果が所定期間Δ以下と判定した場合（ステップＳ１４：Ｎｏ）、ステップＳ１９へ処理を移す。
【００２７】
ステップＳ１５では、検知装置１０は、タイムスロットＩＤ＿Ｋを１インクリメントし、タイムスロットの基準タイムスタンプＢＴを現在時刻で初期化する。次に、検知装置１０は、タイムスロットＩＤ＿Ｋ≧Ｎであるか否かを判定する（ステップＳ１６）。ここで、Ｎは、アカウント重複数を計算する対象のタイムスロット数を示す所定自然数である。検知装置１０は、タイムスロットＩＤ＿Ｋ≧Ｎであると判定した場合（ステップＳ１６：Ｙｅｓ）、ステップＳ１７へ処理を移す。一方、検知装置１０は、タイムスロットＩＤ＿Ｋ＜Ｎと判定した場合（ステップＳ１６：Ｎｏ）、ステップＳ１２へ処理を移す。
【００２８】
ステップＳ１７では、検知装置１０は、アカウント重複数を計算する。アカウント重複数の計算の詳細は、実施例１〜５をもとに後述する。次に、検知装置１０は、ステップＳ１７のアカウント重複数の計算結果から、アカウントハッキングの攻撃者のクライアント３のＩＰアドレスを判定する（ステップＳ１８、攻撃判定）。攻撃判定の詳細は、実施例１〜５をもとに後述する。検知装置１０は、ステップＳ１８が終了すると、ステップＳ１９へ処理を移す。
【００２９】
他方、ステップＳ１９では、検知装置１０は、配列ＡＧがステップＳ１３で到着したとした未処理の認証レコードＲのＩＰアドレスのキーを持っているかどうかを判定する。検知装置１０は、配列ＡＧがステップＳ１３で到着したとした未処理の認証レコードＲのＩＰアドレスのキーを持っていると判定した場合（ステップＳ１９：Ｙｅｓ）、ステップＳ２１へ処理を移す。一方、検知装置１０は、配列ＡＧがステップＳ１３で到着したとした未処理の認証レコードＲのＩＰアドレスのキーを持っていないと判定した場合（ステップＳ１９：Ｎｏ）、ステップＳ２０へ処理を移す。
【００３０】
ステップＳ２０では、検知装置１０は、配列ＡＧ［認証レコードＲのＩＰアドレス］を空の配列で初期化する。なお、配列ＡＧ［送信元ＩＰアドレス］［Ｋ］は、送信元ＩＰアドレス及びタイムスロットＩＤ＿Ｋで定まるアカウントグループに属するアカウントを格納する配列である。
【００３１】
続いて、ステップＳ２１では、検知装置１０は、配列ＡＧ［認証レコードＲのＩＰアドレス］［Ｋ］に、ユニーク性を保つようにアカウントを追加する。すなわち、ステップＳ２１では、検知装置１０は、配列ＡＧ［認証レコードＲのＩＰアドレス］［Ｋ］に、既に格納されているアカウントは格納せず、未格納のアカウントのみを追加する。または、ステップＳ２１では、検知装置１０は、配列ＡＧ［認証レコードＲのＩＰアドレス］［Ｋ］に、重複を除外しつつアカウントを追加する。検知装置１０は、ステップＳ２１が終了すると、ステップＳ１２へ処理を移す。
【００３２】
（実施形態による効果）
実施形態は、攻撃者が用意するダミーアカウントが有限であり、ダミーアカウントが繰り返し用いられていることに着目し、各送信元ＩＰアドレスから一定期間中にログイン試行したアカウント重複数に基づき攻撃検知を行う。よって、実施形態によれば、攻撃者が、ターゲットアカウントにダミーアカウントを混在させたリストを用いてアカウントハッキングを行っても、攻撃を検知することができる。
【実施例１】
【００３３】
図４は、実施例１に係る検知処理の概要の一例を示す図である。実施例１では、タイムスロットＩＤ＿Ｋに含まれるある送信元ＩＰアドレスＸに対して、ＡＧ［Ｘ］［Ｋ］と、ＡＧ［Ｘ］［Ｋｉ］のアカウント重複数Ｈ［Ｘ］［Ｘ］［Ｋ］［Ｋｉ］を下記の式（１）により計算する。ここで、Ｋｉは、あるタイムスロットＩＤ（Ｋ−Ｎ＋１≦Ｋｉ≦Ｋ（Ｎ＞０））である。ただし、｜＊｜は、集合＊の要素数を示す。実施例１では、計算部１３は、下記の式（１）によるＨ［Ｘ］［Ｘ］［Ｋ］［Ｋｉ］を用いてアカウント重複数を計算する。【００３４】
【数１】
2016195090.tif 000003
【００３５】
また、実施例１では、判定部１４は、所定正数αに対してＨ［Ｘ］［Ｘ］［Ｋ］［Ｋｉ］＞αの場合１、Ｈ［Ｘ］［Ｘ］［Ｋ］［Ｋｉ］≦αの場合０となる関数ＴＨ（Ｈ［Ｘ］［Ｘ］［Ｋ］［Ｋｉ］）に関し、下記の式（２）で定義されるＣ［Ｘ］を計算する。そして、判定部１４は、下記の式（３）により、所定正数βに対してＣ［Ｘ］＞βとなる送信元ＩＰアドレスＸは、攻撃者のクライアント３のＩＰアドレスであると判定する。なお、判定部１４は、所定正数βに対してＣ［Ｘ］≦βとなる送信元ＩＰアドレスＸは、攻撃者のクライアント３のＩＰアドレスではないと判定する。【００３６】
【数２】
2016195090.tif 000004
【００３７】
【数３】
2016195090.tif 000005
【００３８】
例えば、図４に示すように、カウントグループＡＧが存在するとする。図４の例では、Ｋ＝２、Ｎ＝２である。計算部１３は、アカウント重複数を次のように計算する。すなわち、ＡＧ［Ａ］［２］と、ＡＧ［Ａ］［２］との間では、“DDD”“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ａ］［２］［２］＝４となる。また、ＡＧ［Ａ］［２］と、ＡＧ［Ａ］［１］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ａ］［２］［１］＝３となる。ゆえに、α＝２とすると、Ｃ［Ａ］＝２となる。同様にして、Ｃ［Ｂ］＝１、Ｃ［Ｃ］＝２となる。【００３９】
そして、β＝２とすると、Ｃ［Ｘ］＞２となる送信元ＩＰアドレスＸが存在しないため、判定部１４は、上記の式（３）により、いずれの送信元ＩＰアドレスも攻撃者のクライアント３のＩＰアドレスではないと判定する。
【実施例２】
【００４０】
実施例２は、攻撃者が複数のＩＰアドレスを用いて攻撃を行うことに対応するため、同一の送信元ＩＰアドレスに対してだけでなく、他の複数の送信元ＩＰアドレスに対してアカウント重複数を計算する。図５は、実施例２に係る検知処理の概要の一例を示す図である。【００４１】
実施例２では、タイムスロットＩＤ＿Ｋに含まれるある送信元ＩＰアドレスＸ、Ｙ（Ｘ＝Ｙの場合も含む）に対して、ＡＧ［Ｘ］［Ｋ］と、ＡＧ［Ｙ］［Ｋｉ］（Ｋ−Ｎ＋１≦Ｋｉ≦Ｋ（Ｎ＞０））のアカウント重複数Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］を下記の式（４）により計算する。実施例２では、計算部１３は、下記の式（４）によるＨ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］を用いてアカウント重複数を計算する。【００４２】
【数４】
2016195090.tif 000006
【００４３】
また、実施例２では、判定部１４は、所定正数αに対してＨ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］＞αの場合１、Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］≦αの場合０となる関数ＴＨ（Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］）に関し、下記の式（５）で定義されるＣ［Ｘ］を計算する。そして、判定部１４は、上記の式（３）により、所定正数βに対してＣ［Ｘ］＞βとなる送信元ＩＰアドレスＸは、攻撃者のクライアント３のＩＰアドレスであると判定する。判定部１４は、所定正数βに対してＣ［Ｘ］≦βとなる送信元ＩＰアドレスＸは、攻撃者のクライアント３のＩＰアドレスではないと判定する。【００４４】
【数５】
2016195090.tif 000007
【００４５】
例えば、図５に示すように、カウントグループＡＧが存在するとする。図５の例では、Ｋ＝２、Ｎ＝２である。計算部１３は、アカウント重複数を次のように計算する。すなわち、ＡＧ［Ａ］［２］と、ＡＧ［Ａ］［２］との間では、“DDD”“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ａ］［２］［２］＝４となる。また、ＡＧ［Ａ］［２］と、ＡＧ［Ａ］［１］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ａ］［２］［１］＝３となる。同様に、ＡＧ［Ａ］［２］と、ＡＧ［Ｂ］［２］との間では、“DUMMY1”が重複アカウントであるので、Ｈ［Ａ］［Ｂ］［２］［２］＝１となる。また、ＡＧ［Ａ］［２］と、ＡＧ［Ｂ］［１］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ｂ］［２］［１］＝３となる。同様に、ＡＧ［Ａ］［２］と、ＡＧ［Ｃ］［２］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ｃ］［２］［２］＝３となる。また、ＡＧ［Ａ］［２］と、ＡＧ［Ｃ］［１］との間では、“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ｃ］［２］［１］＝２となる。ゆえに、α＝２とすると、Ｃ［Ａ］＝４となる。同様にして、Ｃ［Ｂ］＝１、Ｃ［Ｃ］＝５となる。【００４６】
そして、β＝２とすると、Ｃ［Ａ］＞２、Ｃ［Ｃ］＞２となるため、判定部１４は、上記の式（３）により、送信元ＩＰアドレスＡ及びＣが攻撃者のクライアント３のＩＰアドレスであると判定する。
【実施例３】
【００４７】
実施例３は、実施例２に加え、判定部１４は、上記の式（５）においてＴＨ（Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］）＝１（Ｋ−Ｎ＋１≦Ｋｉ≦Ｋ（Ｎ＞０））となるＫｉが存在する場合、送信元ＩＰアドレスＹも攻撃者のクライアント３のＩＰアドレスであると判定する。つまり、判定部１４は、下記の式（６）により、Ｃ［Ｘ］＞βとなる送信元ＩＰアドレス、及び、Ｃ［Ｘ］≦βかつＴＨ（Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］）＝１（Ｋ−Ｎ＋１≦Ｋｉ≦Ｋ（Ｎ＞０））となるＫｉが存在する場合の送信元ＩＰアドレスＹは、攻撃者のクライアント３のＩＰアドレスであると判定する。【００４８】
【数６】
2016195090.tif 000008
【００４９】
実施例３は、α＝２、β＝２とすると、図５においてＣ［Ａ］＞２、Ｃ［Ｃ］＞２となるため、上記の式（６）により、送信元ＩＰアドレスＡ及びＣが攻撃者のクライアント３のＩＰアドレスであると判定する。さらに、実施例３は、図５においてＴＨ（Ｈ［Ａ］［Ｂ］［２］［１］）＝１となるため、送信元ＩＰアドレスＢも攻撃者のクライアント３のＩＰアドレスであると判定する。【００５０】
以上の実施例２及び３によれば、ダミーアカウントを利用した複数の送信元ＩＰアドレスによる不正ログインを検出し、攻撃者による不正ログインを減少させることが可能である。
【実施例４】
【００５１】
実施例４は、判定部１４が、アカウント重複数を計算する際、送信元ＩＰアドレス間と、タイムスロット間との違いを考慮し、アカウントグループ毎に重み付けを行ってアカウント重複数を計算する。図６は、実施例４に係る検知処理の概要の一例を示す図である。【００５２】
実施例４は、下記の式（７）に示すように、アカウントグループＡＧ［Ｙ］［Ｋｉ］（Ｋ―Ｎ＋１≦Ｋｉ≦Ｎ（Ｎ＞０））毎に加重係数Ｗ［Ｙ］［Ｋｉ］（Ｋ―Ｎ＋１≦Ｋｉ≦Ｎ）をＴＨ（Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］）（Ｋ―Ｎ＋１≦Ｋｉ≦Ｎ（Ｎ＞０））に乗算してＣ［Ｘ］を算出する。【００５３】
【数７】
2016195090.tif 000009
【００５４】
例えば、図６に示すように、カウントグループＡＧが存在するとする。そして、ＡＧ［Ｙ］［Ｋｉ］（Ｋ−Ｎ＋１≦Ｋｉ≦Ｋ−１）と対応する加重係数Ｗ［Ｙ］［Ｋｉ］の初期値は、全て１．０であるとする。例えば、送信元ＩＰアドレス間の重複をより重視する場合（以下、ルール１と呼ぶ）、Ｘ＝Ｙの場合にＷ［Ｙ］［Ｋｉ］の値を相対的に小さく、Ｘ≠Ｙの場合にＷ［Ｙ］［Ｋｉ］の値を相対的に大きくする。これにより、送信元ＩＰアドレスが異なる場合の重複がより強調される。また、例えば、タイムスロットの時刻の近接に応じて重複をより重視する場合（以下、ルール２と呼ぶ）、送信元ＩＰアドレスＸに対する送信元ＩＰアドレスＹの加重係数Ｗ［Ｙ］［Ｋｉ］について、Ｗ［Ｙ］［Ｋ−１］＞Ｗ［Ｙ］［Ｋ−２］＞・・・＞Ｗ［Ｙ］［Ｋ−Ｎ＋１］となるようにＷ［Ｙ］［Ｋｉ］の値を設定する。これにより、近接する時刻におけるアカウントの重複がより強調される。なお、重み付けの方法は、ルール１及び２に限らず、例えばルール１及びルール２を組合せたルールであってもよい。【００５５】
図６に示す例では、ルール１に基づき、Ｗ［Ａ］［１］＝Ｗ［Ａ］［２］＝０．１、Ｗ［Ｂ］［１］＝Ｗ［Ｂ］［２］＝Ｗ［Ｃ］［１］＝Ｗ［Ｃ］［２］＝１．０と設定する。そして、ＡＧ［Ａ］［２］と、ＡＧ［Ａ］［２］との間では、“DDD”“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ａ］［２］［２］＝４となる。また、ＡＧ［Ａ］［２］と、ＡＧ［Ａ］［１］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ａ］［２］［１］＝３となる。同様に、ＡＧ［Ａ］［２］と、ＡＧ［Ｂ］［２］との間では、“DUMMY1”が重複アカウントであるので、Ｈ［Ａ］［Ｂ］［２］［２］＝１となる。また、ＡＧ［Ａ］［２］と、ＡＧ［Ｂ］［１］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ｂ］［２］［１］＝３となる。同様に、ＡＧ［Ａ］［２］と、ＡＧ［Ｃ］［２］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ｃ］［２］［２］＝３となる。また、ＡＧ［Ａ］［２］と、ＡＧ［Ｃ］［１］との間では、“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ａ］［Ｃ］［２］［１］＝２となる。ゆえに、α＝２とすると、Ｃ［Ａ］＝０．１×ＴＨ（Ｈ［Ａ］［Ａ］［２］［２］）＋０．１×ＴＨ（Ｈ［Ａ］［Ａ］［２］［１］）＋１．０×ＴＨ（Ｈ［Ａ］［Ｂ］［２］［２］）＋１．０×ＴＨ（Ｈ［Ａ］［Ａ］［２］［１］）＋１．０×ＴＨ（Ｈ［Ａ］［Ｃ］［２］［２］）＋１．０×ＴＨ（Ｈ［Ａ］［Ｃ］［２］［１］）＝０．１×１＋０．１×１＋１．０×０＋１．０×１＋１．０×１＋１．０×０＝２．２となる。【００５６】
そして、β＝２とすると、Ｃ［Ａ］＞２となるため、判定部１４は、上記の式（３）により、送信元ＩＰアドレスＡが攻撃者のクライアント３のＩＰアドレスであると判定する。【００５７】
同様に、Ｗ［Ｃ］［１］＝Ｗ［Ｃ］［２］＝０．１、Ｗ［Ｂ］［１］＝Ｗ［Ｂ］［２］＝Ｗ［Ａ］［１］＝Ｗ［Ａ］［２］＝１．０と設定する。そして、ＡＧ［Ｃ］［２］と、ＡＧ［Ｃ］［２］との間では、“CCC”“DUMMY1”“DUMMY2”“DUMMY3”“DUMMY4”が重複アカウントであるので、Ｈ［Ｃ］［Ｃ］［２］［２］＝４となる。また、ＡＧ［Ｃ］［２］と、ＡＧ［Ｃ］［１］との間では、“DUMMY2”“DUMMY3”“DUMMY4”が重複アカウントであるので、Ｈ［Ｃ］［Ｃ］［２］［１］＝３となる。同様に、ＡＧ［Ｃ］［２］と、ＡＧ［Ｂ］［２］との間では、“DUMMY1”“DUMMY4”が重複アカウントであるので、Ｈ［Ｃ］［Ｂ］［２］［２］＝２となる。また、ＡＧ［Ｃ］［２］と、ＡＧ［Ｂ］［１］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ｃ］［Ｂ］［２］［１］＝３となる。同様に、ＡＧ［Ｃ］［２］と、ＡＧ［Ａ］［２］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ｃ］［Ａ］［２］［２］＝３となる。また、ＡＧ［Ｃ］［２］と、ＡＧ［Ａ］［１］との間では、“DUMMY1”“DUMMY2”“DUMMY3”が重複アカウントであるので、Ｈ［Ｃ］［Ａ］［２］［１］＝３となる。ゆえに、α＝２とすると、Ｃ［Ｃ］＝０．１×ＴＨ（Ｈ［Ｃ］［Ｃ］［２］［２］）＋０．１×ＴＨ（Ｈ［Ｃ］［Ｃ］［２］［１］）＋１．０×ＴＨ（Ｈ［Ｃ］［Ｂ］［２］［２］）＋１．０×ＴＨ（Ｈ［Ｃ］［Ｂ］［２］［１］）＋１．０×ＴＨ（Ｈ［Ｃ］［Ａ］［２］［２］）＋１．０×ＴＨ（Ｈ［Ｃ］［Ａ］［２］［１］）＝０．１×１＋０．１×１＋１．０×０＋１．０×１＋１．０×１＋１．０×１＝３．２となる。【００５８】
そして、β＝２とすると、Ｃ［Ｃ］＞２となるため、判定部１４は、上記の式（３）により、送信元ＩＰアドレスＣは攻撃者のクライアント３のＩＰアドレスであると判定する。
【実施例５】
【００５９】
実施例５は、実施例３と実施例４の組合せである。すなわち、実施例５は、実施例４に加え、さらに、判定部１４は、上記の式（７）においてＴＨ（Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］）＝１（Ｋ−Ｎ＋１≦Ｋｉ≦Ｋ（Ｎ＞０））となるＫｉが存在する場合、送信元ＩＰアドレスＹも攻撃者のクライアント３のＩＰアドレスであると判定する。つまり、判定部１４は、上記の式（６）により、Ｃ［Ｘ］＞βとなる送信元ＩＰアドレス、及び、Ｃ［Ｘ］≦βかつＴＨ（Ｈ［Ｘ］［Ｙ］［Ｋ］［Ｋｉ］）＝１（Ｋ−Ｎ＋１≦Ｋｉ≦Ｋ（Ｎ＞０））となるＫｉが存在する場合の送信元ＩＰアドレスＹは、攻撃者のクライアント３のＩＰアドレスであると判定する。【００６０】
実施例５は、α＝２、β＝２とすると、図６においてＣ［Ａ］＞２、Ｃ［Ｃ］＞２となるため、上記の式（６）により、送信元ＩＰアドレスＡ及びＣが攻撃者のクライアント３のＩＰアドレスであると判定する。さらに、実施例５は、図６においてＴＨ（Ｈ［Ｃ］［Ｂ］［２］［１］）＝１となるため、送信元ＩＰアドレスＢも攻撃者のクライアント３のＩＰアドレスであると判定する。【００６１】
以上の実施例４及び５によれば、ダミーアカウントを利用した複数の送信元ＩＰアドレスによる不正ログインをより高精度に検出し、攻撃者による不正ログインを減少させることが可能である。【００６２】
なお、以上の実施例１〜５では、計算部１３は、各アカウントグループ間のアカウント重複数を算出する際に、各アカウントグループの自身同士のアカウント重複数も含めて算出するとした。しかし、これに限らず、計算部１３は、各アカウントグループ間のアカウント重複数を算出する際に、各アカウントグループの自身同士のアカウント重複数を除外し、異なるアカウントグループ間のアカウント重複数のみを算出するとしてもよい。この場合、上記した所定正数であるα及びβも、適切な値となるよう調整される。【００６３】
以上の実施例１〜５に示すように、本願が開示する実施形態は、認証失敗率及び認証成功率に依存せず、攻撃者が利用するダミーアカウントを検出することで攻撃判別を行う。このため、実施形態は、攻撃者が自ら用いる送信元ＩＰアドレスからの認証失敗率及び認証成功率を恣意的に操作して大量に不正ログインを行うことに対して攻撃検知が可能になり、攻撃者による不正ログインを減少させることができる。【００６４】
（検知装置の装置構成について）
図１に示す検知装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、検知装置１０の機能の分散及び統合の具体的形態は図示のものに限られず、全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。【００６５】
また、検知装置１０において行われる各処理は、全部又は任意の一部が、ＣＰＵ（Central  Processing  Unit）等の処理装置及び処理装置により解析実行されるプログラムにて実現されてもよい。また、検知装置１０において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。【００６６】
また、実施形態及び実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。もしくは、実施形態及び実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。【００６７】
（プログラムについて）
図７は、プログラムが実行されることにより、検知装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。コンピュータ１０００において、これらの各部はバス１０８０によって接続される。【００６８】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１０４１に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１０６１に接続される。【００６９】
ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、検知装置１０の各処理を規定するプログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、例えばハードディスクドライブ１０３１に記憶される。例えば、検知装置１０における機能構成と同様の情報処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。【００７０】
また、上記の実施形態での処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。【００７１】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３やプログラムデータ１０９４は、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。【００７２】
以上の実施形態ならびに実施形態の変形例は、本願が開示する技術に含まれると同様に、請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７３】
１  システム
２  ネットワーク
３  クライアント
４  サーバ
１０  検知装置
１１  アカウントグループ記憶部
１２  抽出部
１３  計算部
１４  判定部
１０００  コンピュータ
１０１０  メモリ
１０２０  ＣＰＵ
【図１】
2016195090.tif 000010
【図２】
2016195090.tif 000011
【図３】
2016195090.tif 000012
【図４】
2016195090.tif 000013
【図５】
2016195090.tif 000014
【図６】
2016195090.tif 000015
【図７】
2016195090.tif 000016
【国際調査報告】
2016195090.tif 000017
2016195090.tif 000018
2016195090.tif 000019
2016195090.tif 000020
2016195090.tif 000021
2016195090.tif 000022