(57)【要約】【課題】同一アカウントを利用した不正なログインを検出する。【解決手段】不正検出装置１は、複数の端末から同一アカウントによるログインを検知した場合に、複数の端末の位置情報を取得して複数の端末それぞれの位置を特定し、特定した複数の端末それぞれの位置に基づき、複数の端末それぞれの間の距離を算出する。そして、不正検出装置１は、算出した距離が所定の値以上である場合に、複数の端末からのログインを不正であると判定する。【選択図】図１
2018124883.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数の端末から同一アカウントによるログインを検知した場合に、前記複数の端末の位置情報を取得して前記複数の端末それぞれの位置を特定し、
特定した前記複数の端末それぞれの位置に基づき、前記複数の端末それぞれの間の距離を算出し、
算出した前記距離が所定の値以上である場合に、前記複数の端末からのログインを不正であると判定する
処理を実行させることを特徴とする不正検出プログラム。
【請求項２】
前記複数の端末からのログインを不正であると判定した場合に、前記ログイン後に前記複数の端末に出力する画面の一部または全部を視認不可能または視認しにくい状態にする
処理を実行させることを特徴とする請求項１に記載の不正検出プログラム。
【請求項３】
さらに、前記端末の情報、不正なログインの継続時間、不正なログインの回数および不正なログインを行った端末間の距離の少なくとも一つに応じて、前記視認不可能または視認しにくい状態にする領域を決定する
処理を実行させることを特徴とする請求項２に記載の不正検出プログラム。
【請求項４】
さらに、前記端末の情報、不正なログインの継続時間、不正なログインの回数および不正なログインを行った端末間の距離の少なくとも一つに応じて、前記視認のしにくさを決定する
処理を実行させることを特徴とする請求項２に記載の不正検出プログラム。
【請求項５】
コンピュータが、
複数の端末から同一アカウントによるログインを検知した場合に、前記複数の端末の位置情報を取得して前記複数の端末それぞれの位置を特定し、
特定した前記複数の端末それぞれの位置に基づき、前記複数の端末それぞれの間の距離を算出し、
算出した前記距離が所定の値以上である場合に、前記複数の端末からのログインを不正であると判定する、
処理を実行することを特徴とする不正検出方法。
【請求項６】
複数の端末から同一アカウントによるログインを検知した場合に、前記複数の端末の位置情報を取得して前記複数の端末それぞれの位置を特定する特定部と、
特定した前記複数の端末それぞれの位置に基づき、前記複数の端末それぞれの間の距離を算出する算出部と、
算出した前記距離が所定の値以上である場合に、前記複数の端末からのログインを不正であると判定する判定部と、
を有することを特徴とする不正検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正検出プログラムなどに関する。
【背景技術】
【０００２】
ソフトウェアのライセンスを管理するサーバは、ユーザ数に応じてライセンスを提供し、提供したライセンスを管理する。すなわち、かかるサーバは、提供したソフトウェアのライセンスをユーザ数に応じたユーザのアカウントにより管理する。
【０００３】
ユーザが遠隔地にいる場合のユーザのアカウントの認証技術が開示されている。例えば、ユーザのアカウントがその測地的な位置に特有な情報を用いることによって認証されるが、その情報が常に変化している場合に、ユーザのアカウントを認証し、サーバを騙すことを困難にする技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表平１１−５１２８６０号公報
【特許文献２】特開２００２−３４２２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、同じライセンスを用いて複数の端末を利用したサービスが行われる場合がある。かかる場合に、ライセンスを管理するサーバは、同一アカウントを利用したログインについて、ライセンスを有する正規のユーザが複数の端末を用いてログインしているのか、正規のユーザとそれ以外のユーザとが異なる端末を用いてログインしていのかを判別できない。このため、サーバは、同一アカウントを利用した不正なログインを検出することができないという問題がある。
【０００６】
なお、従来の技術では、ユーザのアカウントがその測地的な位置に特有な情報を用いることによって認証される場合の認証方法であり、アカウントによって認証される場合に同一アカウントを利用した不正を検出する技術ではない。
【０００７】
１つの側面では、同一アカウントを利用した不正なログインを検出することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、不正検出プログラムは、コンピュータに、複数の端末から同一アカウントによるログインを検知した場合に、前記複数の端末の位置情報を取得して前記複数の端末それぞれの位置を特定し、特定した前記複数の端末それぞれの位置に基づき、前記複数の端末それぞれの間の距離を算出し、算出した前記距離が所定の値以上である場合に、前記複数の端末からのログインを不正であると判定する、処理を実行させる。
【発明の効果】
【０００９】
１つの態様によれば、不正検出プログラムは、同一アカウントを利用した不正なログインを検出することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る不正検出装置の構成を示す機能ブロック図である。
【図２】図２は、実施例１に係るログイン情報の一例を示す図である。
【図３】図３は、実施例１に係る不正検出処理のフローチャートの一例を示す図である。
【図４】図４は、実施例２に係る不正検出装置の構成を示す機能ブロック図である。
【図５】図５は、実施例２に係る過去履歴情報の一例を示す図である。
【図６】図６は、アラート種別に対応する閾値の一例を示す図である。
【図７】図７は、アラート種別に応じたアラートの一例を示す図である。
【図８】図８は、実施例２に係る不正検出処理のフローチャートの一例を示す図である。
【図９】図９は、過去履歴情報を用いた不正段階判定処理のフローチャートの一例を示す図である。
【図１０】図１０は、不正検出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する不正検出プログラム、不正検出方法および不正検出装置の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
［実施例１に係る不正検出装置の構成］
図１は、実施例１に係る不正検出装置の構成を示す機能ブロック図である。図１に示す不正検出装置１は、複数の端末から同一アカウントによるログインを検知した場合に、そのログインが正規のユーザのみからのものであるか、不正のユーザを含むものであるかを判定する。なお、アカウントは、例えば企業で使用されるソフトウェアのライセンスを企業内のユーザ数またはＰＣ数に応じて提供される。しかしながら、アカウントは、これに限定されず、個人で使用されるソフトウェアのライセンスを個人に提供されるものであっても良い。
【００１３】
図１に示すように、不正検出装置１は、制御部１０および記憶部２０を有する。
【００１４】
制御部１０は、ＣＰＵ（Central  Processing  Unit）などの電子回路に対応する。そして、制御部１０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１０は、受信部１１、識別部１２、判定部１３および出力部１４を有する。
【００１５】
記憶部２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部２０は、ログイン情報２１を有する。ログイン情報２１は、ログインの情報を示す。
【００１６】
ここで、ログイン情報２１の一例を、図２を参照して説明する。図２は、実施例１に係るログイン情報の一例を示す図である。図２に示すように、ログイン情報２１は、アカウントＩＤ（Identifier）２１ａおよび位置情報２１ｂを対応付けて記憶する。アカウントＩＤ２１ａは、ライセンス毎に提供される文字列であってライセンスを識別するための標識となる文字列である。位置情報２１ｂは、ログインした端末の位置情報である。位置情報２１ｂは、経度と緯度とを用いた情報であっても良いし、住所の情報であっても良いし、大まかな地域の情報であっても良い。一例として、アカウントＩＤ２１ａが「ＡＡＡ」である場合に、位置情報２１ｂとして「Ｘ１」と記憶している。また、アカウントＩＤ２１ａが「ＡＡＡ」である場合に、位置情報２１ｂとして「Ｘ２」と記憶している。すなわち、アカウントＩＤ２１ａが「ＡＡＡ」である場合、同一アカウントによる複数のログインの情報が記憶されている。また、アカウントＩＤ２１ａが「ＢＢＢ」である場合に、位置情報２１ｂとして「Ｘ３」と記憶している。すなわち、アカウントＩＤ２１ａが「ＢＢＢ」である場合、単一のログインの情報が記憶されている。
【００１７】
受信部１１は、端末からログインの情報を含む情報を受信する。例えば、受信部１１は、端末からログインを検出し、アカウントＩＤおよび位置情報を含むログインの情報を受信する。
【００１８】
識別部１２は、受信部１１によって受信された情報を識別する。例えば、識別部１２は、受信部１１によって受信されたログインの情報に含まれるアカウントＩＤおよび位置情報を識別する。そして、識別部１２は、識別（特定）されたアカウントＩＤおよび識別（特定）された位置情報を対応付けてログイン情報２１に格納する。
【００１９】
判定部１３は、識別部１２によって識別された識別情報に基づき、端末からのログインが不正であるか否かを判定する。例えば、判定部１３は、ログイン情報２１を参照し、識別部１２によって識別されたアカウントＩＤと同一のアカウントＩＤの位置情報２１ｂを取得する。そして、判定部１３は、識別部１２によって識別された位置情報と、取得した位置情報２１ｂとに基づき、ログインした端末と、取得した位置情報２１ｂの端末との間の距離を算出する。そして、判定部１３は、算出した距離が所定の値以上である場合に、ログインした端末および取得した位置情報２１ｂの端末からのログインを不正であると判定する。所定の値は、例えば、１ユーザが複数の端末で利用することが可能な複数の端末間の距離の値である。すなわち、判定部１３は、同一のアカウントＩＤの複数の端末が１ユーザにより利用可能な距離に位置している場合には、複数の端末からのログインを不正でないと判定する。判定部１３は、同一のアカウントＩＤの複数の端末が１ユーザにより利用不可能な距離に位置している場合には、複数の端末からのログインを不正であると判定する。
【００２０】
出力部１４は、判定部１３によって端末からのログインが不正であると判定された場合には、不正であると判定された複数の端末に対してアラートを出力する。例えば、出力部１４は、ログイン後に、不正であると判定された複数の端末に対して注意や警告等のアラートを出力する。一例として、出力部１４は、ログイン後に、不正であると判定された複数の端末に出力する画面の一部または全部を視認不可能または視認しにくい状態にする。
【００２１】
［実施例１に係る不正検出処理のフローチャート］
図３は、実施例１に係る不正検出処理のフローチャートの一例を示す図である。図３に示すように、受信部１１は、ログインを検出したか否かを判定する（ステップＳ１１）。ログインを検出していないと判定した場合には（ステップＳ１１；Ｎｏ）、受信部１１は、ログインを検出するまで、判定処理を繰り返す。
【００２２】
一方、ログインを検出したと判定した場合には（ステップＳ１１；Ｙｅｓ）、識別部１２は、ログインの情報からアカウントＩＤおよび位置情報を特定する（ステップＳ１２）。そして、識別部１２は、特定されたアカウントＩＤおよび特定された位置情報を対応付けてログイン情報２１に格納する。
【００２３】
そして、判定部１３は、ログイン情報２１を参照し、特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂが存在するかを判定する（ステップＳ１３）。特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂが存在しないと判定した場合には（ステップＳ１３；Ｎｏ）、判定部１３は、端末からのログインを不正でないと判定し、不正検出処理を終了する。
【００２４】
一方、特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂが存在すると判定した場合には（ステップＳ１３；Ｙｅｓ）、判定部１３は、以下の処理を行う。すなわち、判定部１３は、特定された位置情報と、特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂとの距離が所定の値未満であるか否かを判定する（ステップＳ１４）。
【００２５】
距離が所定の値未満であると判定した場合には（ステップＳ１４；Ｙｅｓ）、判定部１３は、端末からのログインを不正でないと判定し、不正検出処理を終了する。
【００２６】
一方、距離が所定の値以上であると判定した場合には（ステップＳ１４；Ｎｏ）、出力部１４は、ログインが検出された端末および同一のアカウントＩＤ２１ａの位置情報２１ｂの端末に対してアラートを出力する（ステップＳ１５）。判定部１３は、ログインが検出された端末および同一のアカウントＩＤ２１ａの位置情報２１ｂの端末からのログインを不正であると判定し、出力部１４は、これらの端末に対して注意や警告等のアラートを出力する。判定部１３は、不正検出処理を終了する。
【００２７】
［実施例１の効果］
このようにして、上記実施例１では、不正検出装置１は、複数の端末から同一アカウントによるログインを検知した場合に、複数の端末の位置情報を取得して複数の端末それぞれの位置を特定する。不正検出装置１は、特定した複数の端末それぞれの位置に基づき、複数の端末それぞれの間の距離を算出する。そして、不正検出装置１は、算出した距離が所定の値以上である場合に、複数の端末からのログインを不正であると判定する。かかる構成によれば、不正検出装置１は、同一アカウントを利用した不正なログインを検出することができる。
【００２８】
また、上記実施例１では、不正検出装置１は、複数の端末からのログインを不正であると判定した場合に、ログイン後に複数の端末に出力する画面の一部または全部を視認不可能または視認しにくい状態にする処理を実行する。かかる構成によれば、不正検出装置１は、ログインを不正であると判定された複数の端末に対して、ライセンスの不正利用に対する意識を喚起させることができる。
【実施例２】
【００２９】
ところで、実施例１に係る不正検出装置１は、複数の端末から同一アカウントによるログインを検知した際、複数の端末それぞれの位置から算出された距離が所定の値以上である場合に、複数の端末からのログインを不正であると判定すると説明した。しかしながら、不正検出装置１は、これに限定されず、複数の端末からのログインを不正であると判定した場合に、過去のログインの履歴情報を参照して、段階的に複数の端末に出力する画面の一部または全部を視認不可能または視認しにくい状態にしても良い。
【００３０】
そこで、実施例２に係る不正検出装置１は、複数の端末からのログインを不正であると判定した場合に、過去のログインの履歴情報を参照して、段階的に複数の端末に出力する画面の一部または全部を視認不可能または視認しにくい状態にする場合を説明する。
【００３１】
［実施例２に係る不正検出装置の構成］
図４は、実施例２に係る不正検出装置の構成を示す機能ブロック図である。なお、図１に示す不正検出装置１と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、受信部１１を受信部１１Ａに変更し、識別部１２を識別部１２Ａに変更し、判定部１３を判定部１３Ａに変更し、出力部１４を出力部１４Ａに変更した点にある。また、実施例１と実施例２とが異なるところは、過去履歴情報３１を追加した点にある。過去履歴情報３１は、過去にログインした端末の履歴情報である。
【００３２】
ここで、過去履歴情報３１の一例を、図５を参照して説明する。図５は、実施例２に係る過去履歴情報の一例を示す図である。図５に示すように、過去履歴情報３１は、アカウントＩＤ３１ａおよびログイン開始時刻３１ｂに対応付けて、ＨＷ情報の内のＭＡＣアドレス３１ｃ、ＨＷ情報の内のＩＰアドレス３１ｄ、ログイン状況３１ｅ、利用時間３１ｆを記憶する。さらに、過去履歴情報３１は、アカウントＩＤ３１ａおよびログイン開始時刻３１ｂに対応付けて、位置情報３１ｇ、利用ＵＲＬ３１ｈおよびブラウザ３１ｉを記憶する。アカウントＩＤ３１ａは、ライセンス毎に割り当てられる文字列であってライセンスを識別するための標識となる文字列である。アカウントＩＤ３１ａは、ログイン情報２１のアカウントＩＤ２１ａに対応する。ログイン開始時刻３１ｂは、ログインの開始時刻を示す。ＨＷ情報の内のＭＡＣアドレス３１ｃは、ログインした端末のＭＡＣアドレスを示す。ＨＷ情報の内のＩＰアドレス３１ｄは、ログインした端末のＩＰアドレスを示す。ログイン状況３１ｅは、ログインした端末のログイン状況を示す。利用時間３１ｆは、ログインしてから継続して利用している継続時間を示す。位置情報３１ｇは、ログインした端末の位置情報である。位置情報３１ｇは、経度と緯度とを用いた情報であっても良いし、住所の情報であっても良いし、大まかな地域の情報であっても良い。ここでは、位置情報３１ｇは、大まかな地域の情報として示すものとする。利用ＵＲＬ３１ｈは、ログインした端末が利用しているＵＲＬを示す。ブラウザ３１ｉは、ログインした端末が利用しているブラウザを示す。
【００３３】
一例として、アカウントＩＤ３１ａが「ＡＡＡ」である場合に、ログイン開始時刻３１ｂとして「2017/01/10  13:30」、ＨＷ情報の内のＭＡＣアドレス３１ｃとして「ＭＡＣアドレスａ」、ＩＰアドレス３１ｄとして「ＩＰアドレスａ」と記憶している。ログイン状況３１ｅとして「ログイン中」、利用時間３１ｆとして「３ｈ」、位置情報３１ｇとして「東京」、利用ＵＲＬ３１ｈとして「ＵＲＬａ」、ブラウザ３１ｉとして「ＩＥ」と記憶している。また、別のアカウントＩＤ３１ａが「ＡＡＡ」である場合に、ログイン開始時刻３１ｂとして「2017/01/10  14:30」、ＨＷ情報の内のＭＡＣアドレス３１ｃとして「ＭＡＣアドレスｂ」、ＩＰアドレス３１ｄとして「ＩＰアドレスｂ」と記憶している。ログイン状況３１ｅとして「ログイン中」、利用時間３１ｆとして「１ｈ」、位置情報３１ｇとして「大阪」、利用ＵＲＬ３１ｈとして「ＵＲＬｂ」、ブラウザ３１ｉとして「ＩＥ」と記憶している。
【００３４】
受信部１１Ａは、端末からログインの情報を含む情報を受信する。また、受信部１１Ａは、ログインした端末からライセンスを利用した利用状況の情報を受信する。ログインの情報は、例えば、アカウントＩＤ、位置情報およびＨＷ情報を含む情報である。利用状況の情報は、例えば、ログイン状況、利用ＵＲＬおよびブラウザを含む情報である。
【００３５】
識別部１２Ａは、受信部１１Ａによって受信された情報を識別する。例えば、識別部１２Ａは、受信部１１Ａによって受信されたログインの情報に含まれるアカウントＩＤ、位置情報およびＨＷ情報を識別する。そして、識別部１２Ａは、識別（特定）されたアカウントＩＤおよび識別（特定）された位置情報を対応付けてログイン情報２１に格納する。識別部１２Ａは、識別（特定）されたアカウントＩＤ、位置情報およびＨＷ情報を過去履歴情報３１に格納する。また、識別部１２Ａは、受信部１１Ａによって受信された利用状況の情報に含まれるログイン状況、利用ＵＲＬおよびブラウザを識別する。そして、識別部１２Ａは、アカウントＩＤおよびＨＷ情報に対応する、過去履歴情報３１のレコードに、識別（特定）されたログイン状況、利用ＵＲＬおよびブラウザを更新する。また、識別部１２Ａは、受信部１１Ａによって利用状況が受信されたとき、ログインしてから継続して利用している利用時間を、アカウントＩＤおよびＨＷ情報に対応する、過去履歴情報３１のレコードに更新する。
【００３６】
判定部１３Ａは、識別部１２Ａによって識別された識別情報に基づき、端末からのログインを不正であると判定する。例えば、判定部１３Ａは、ログイン情報２１を参照し、識別部１２Ａによって識別されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂを取得する。そして、判定部１３Ａは、識別部１２Ａによって識別された位置情報と、取得した位置情報２１ｂとに基づき、ログインした端末と、取得した位置情報２１ｂの端末との間の距離を算出する。そして、判定部１３Ａは、算出した距離が所定の値以上である場合に、ログインした端末および取得した位置情報２１ｂの端末からのログインが不正であると判定する。すなわち、判定部１３Ａは、同一のアカウントＩＤによりログインした複数の端末からのログインが不正であると判定する。
【００３７】
また、判定部１３Ａは、同一のアカウントＩＤによりログインした複数の端末からのログインが不正であると判定した場合には、過去履歴情報３１を用いてさらに不正であるかどうかを判定する。例えば、判定部１３Ａは、過去履歴情報３１を参照して、第１の閾値に合致する場合には、複数の端末からのログインを注意段階の不正であると判定する。すなわち、かかる場合には、判定部１３Ａは、複数の端末からのログインを軽度の段階の不正と判定する。そして、判定部１３Ａは、アラート種別を「注意」として出力部１４Ａにアラート種別を出力する。また、判定部１３Ａは、過去履歴情報３１を参照して、第２の閾値に合致する場合には、複数の端末からのログインを警告の段階の不正であると判定する。すなわち、かかる場合には、判定部１３Ａは、複数の端末からのログインを中度の段階の不正と判定する。そして、判定部１３Ａは、アラート種別を「警告」として出力部１４Ａにアラート種別を出力する。また、判定部１３Ａは、過去履歴情報３１を参照して、第３の閾値に合致する場合には、複数の端末からのログインを制限の段階の不正であると判定する。すなわち、かかる場合には、判定部１３Ａは、複数の端末からのログインを重度の段階の不正と判定する。そして、判定部１３Ａは、アラート種別を「制限」として出力部１４Ａにアラート種別を出力する。なお、第１の閾値、第２の閾値および第３の閾値の関係は、第１の閾値、第２の閾値、第３の閾値の順番で閾値の内容が重く設定されるものとする。
【００３８】
ここで、ソフトウェアのライセンスとして１つのアカウントが個人に対して提供された場合の、第１の閾値、第２の閾値および第３の閾値の一例を、図６を参照して説明する。図６は、アラート種別に対応する閾値の一例を示す図である。図６で示される表は、アラート種別に対応させて、不正であるかどうかを判定する際に用いられる判定項目の閾値が表わされている。判定項目は、例えば、同一アカウントＩＤからのログイン数、所定期間におけるログイン回数、所定期間における利用時間、複数の端末間の距離である。なお、ここで示される判定項目は、一例であって、他の判定項目を適用しても良い。
【００３９】
同一アカウントＩＤからのログイン数を判定項目として用いる場合には、第１の閾値は「２〜４」、第２の閾値は「５〜９」、第３の閾値は「１０〜」である。例えば、判定部１３Ａは、過去履歴情報３１を参照し、識別部１２Ａによって識別されたアカウントＩＤと同一のアカウントＩＤのログイン中のログイン数をカウントする。そして、判定部１３Ａは、カウント数が第１の閾値を示す「２〜４」に合致する場合には、アラート種別を「注意」に決定する。軽度の段階の不正と判定したものである。そして、判定部１３Ａは、カウント数が第２の閾値を示す「５〜９」に合致する場合には、アラート種別を「警告」に決定する。中度の段階の不正と判定したものである。そして、判定部１３Ａは、カウント数が第３の閾値を示す「１０〜」に合致する場合には、アラート種別を「制限」に決定する。重度の段階の不正と判定したものである。すなわち、ログイン中の同一アカウントＩＤからのログイン数が「２〜４」である場合には、判定部１３Ａは、不正利用の可能性があるという軽度の段階の不正と判定する。ログイン中の同一アカウントＩＤからのログイン数が「５〜９」である場合には、判定部１３Ａは、不正利用の可能性が高いという中度の段階の不正と判定する。そして、ログイン中の同一アカウントＩＤからのログイン数が「１０〜」である場合には、判定部１３Ａは、不正利用の可能性が相当高いという重度の段階の不正と判定する。
【００４０】
所定期間におけるログイン回数を判定項目として用いる場合には、第１の閾値は「基準値±５０％以内」、第２の閾値は「基準値±５１〜１００％」、第３の閾値は「基準値±１０１〜１００％」である。ここで、基準値が例えば「３」であるとする。すると、第１の閾値は例えば「１．５以上４．５以下」、第２の閾値は例えば「４．５より大きく６以下」、第３の閾値は例えば「６より大きい」と設定されれば良い。なお、基準値は、過去の所定時間におけるログイン回数から算出されれば良いし、ユーザによって予め設定されても良い。
【００４１】
例えば、判定部１３Ａは、過去履歴情報３１を参照し、所定期間内で、識別部１２Ａによって識別されたアカウントＩＤと同一のアカウントＩＤのログインの回数をカウントする。そして、判定部１３Ａは、カウントしたログインの回数が第１の閾値を示す「基準値±５０％以内」に合致する場合には、アラート種別を「注意」とする。軽度の段階の不正と判定したものである。そして、判定部１３Ａは、カウントしたログインの回数が第２の閾値を示す「基準値±５１〜１００％」に合致する場合には、アラート種別を「警告」とする。中度の段階の不正と判定したものである。そして、判定部１３Ａは、カウントしたログインの回数が第３の閾値を示す「基準値±１０１〜１００％」に合致する場合には、アラート種別を「制限」とする。重度の段階の不正と判定したものである。
【００４２】
所定期間における利用時間を判定項目として用いる場合には、第１の閾値は「１０ｈ以内／日」、第２の閾値は「１０ｈ〜１５ｈ／日」、第３の閾値は「１５ｈ以上／日」である。例えば、判定部１３Ａは、過去履歴情報３１を参照し、識別部１２Ａによって識別されたアカウントＩＤの利用時間と当該アカウントＩＤと同一のアカウントＩＤの利用時間を取得する。そして、判定部１３Ａは、どちらの利用時間も第１の閾値を示す「１０ｈ以内／日」に合致する場合には、アラート種別を「注意」に決定する。軽度の段階の不正と判定したものである。そして、判定部１３Ａは、どちらの利用時間も第２の閾値を示す「１０ｈ〜１５ｈ／日」に合致する場合には、アラート種別を「警告」に決定する。中度の段階の不正と判定したものである。そして、判定部１３Ａは、どちらの利用時間も第３の閾値を示す「１５ｈ以上／日」に合致する場合には、アラート種別を「制限」に決定する。重度の段階の不正と判定したものである。すなわち、所定期間における利用時間が所定の閾値に合致する場合には、判定部１３Ａは、同一ユーザが複数台の端末を長期に渡って利用することは難しいため、不正利用と判定したものである。
【００４３】
複数の端末間の距離を判定項目として用いる場合には、第１の閾値は「企業内に該当する距離」、第２の閾値は「国内に該当する距離」、第３の閾値は「国外に該当する距離」である。例えば、判定部１３Ａは、過去履歴情報３１を参照し、識別部１２Ａによって識別されたアカウントＩＤの位置情報と当該アカウントＩＤと同一のアカウントＩＤの位置情報を取得する。そして、判定部１３Ａは、取得した位置情報から複数の端末間の距離を算出する。そして、判定部１３Ａは、複数の端末間の距離が第１の閾値を示す「企業内に該当する距離」に合致する場合には、アラート種別を「注意」に決定する。軽度の段階の不正と判定したものである。そして、判定部１３Ａは、複数の端末間の距離が第２の閾値を示す「国内に該当する距離」に合致する場合には、アラート種別を「警告」に決定する。中度の段階の不正と判定したものである。そして、判定部１３Ａは、複数の端末間の距離が第３の閾値を示す「国外に該当する距離」に合致する場合には、アラート種別を「制限」に決定する。重度の段階の不正と判定したものである。すなわち、複数の端末間の距離が所定の閾値に合致する場合には、判定部１３Ａは、同一ユーザが複数台の端末を利用することは難しいため、不正利用と判定したものである。
【００４４】
このようにして、判定部１３Ａは、複数の端末から同一のアカウントＩＤでのログインが行われた際に、位置情報だけでなく、判定条件を追加して判定することにより、そのログインが不正であるかどうかを精度良く判定することができる。
【００４５】
なお、判定部１３Ａが、各判定項目について、第１の閾値、第２の閾値および第３の閾値を用いてアラート種別を決定すると説明した。しかしながら、判定部１３Ａは、これに限定されず、各判定項目の組み合わせについて、第１の閾値、第２の閾値および第３の閾値を用いてアラート種別を決定しても良い。例えば、判定部１３Ａは、組み合わせに含まれる各判定項目について、各判定項目に関する各値がそれぞれの第１の閾値に合致する場合に、アラート種別を「注意」に決定する。判定部１３Ａは、組み合わせに含まれる各判定項目について、各判定項目に関する各値がそれぞれの第２の閾値に合致する場合に、アラート種別を「警告」に決定する。判定部１３Ａは、組み合わせに含まれる各判定項目について、各判定項目に関する各値がそれぞれの第３の閾値に合致する場合に、アラート種別を「制限」に決定する。
【００４６】
また、図６では、ソフトウェアのライセンスとして１つのアカウントが個人に対して提供された場合の、第１の閾値、第２の閾値および第３の閾値の一例を示した。しかしながら、ソフトウェアのライセンスとして１つのアカウントが企業に対して提供される場合の、第１の閾値、第２の閾値および第３の閾値であっても企業内のユーザ数に合わせて設定されれば良い。ユーザ数が１０００であるとする。かかる場合には、同一アカウントＩＤからのログイン数を判定項目として用いる場合には、第１の閾値は例えば「１００１〜１００４」、第２の閾値は例えば「１００５〜１００９」、第３の閾値は例えば「１０１０〜」と設定されれば良い。また、所定期間におけるログイン回数を判定項目として用いる場合には、規定値が例えば「３０００」であるとする。すると、第１の閾値は例えば「１５００以上４５００以下」、第２の閾値は例えば「４５００より大きく６０００以下」、第３の閾値は例えば「６０００より大きい」と設定されれば良い。
【００４７】
出力部１４Ａは、判定部１３Ａによって出力されたアラート種別に応じて、不正であると判定された複数の端末に対してアラートを出力する。例えば、出力部１４Ａは、判定部１３Ａによって出力されたアラート種別に応じて、不正であると判定された複数の端末に出力する画面の一部または全部を視認不可能または視認しにくい状態にする。一例として、出力部１４Ａは、アラート種別が「注意」である場合には、不正であると判定された複数の端末に対して、利用中の画面業務と関係のない部分を視認しにくい状態にする。すなわち、出力部１４Ａは、業務への影響が小さい部分を干渉する。出力部１４Ａは、アラート種別が「警告」である場合には、不正であると判定された複数の端末に対して、利用中の画面業務と関係のある部分を含めて視認しにくい状態にする。すなわち、出力部１４Ａは、業務への影響が出る程度の部分を干渉する。出力部１４Ａは、アラート種別が「制限」である場合には、不正であると判定された複数の端末に対して、利用中の画面全部を視認不可能な状態または視認しにくい状態にする。すなわち、出力部１４Ａは、利用画面に対して全面的に干渉する。
【００４８】
ここで、アラート種別に応じたアラートの一例を、図７を参照して説明する。図７は、アラート種別に応じたアラートの一例を示す図である。図７に示すように、過去履歴情報３１を用いて決定されたアラート種別に応じて、アラートが出力される。
【００４９】
アラート種別が「注意」である場合には、出力部１４Ａは、不正であると判定された複数の端末に対して、利用中の画面業務と関係のない部分を視認しにくい状態にする。ここでは、破線内に示される利用中の画面業務と関係のない部分が干渉されている。
【００５０】
アラート種別が「警告」である場合には、出力部１４Ａは、不正であると判定された複数の端末に対して、利用中の画面業務と関係のある部分を含めて視認しにくい状態にする。ここでは、破線内に示される利用中の画面業務と関係のある部分が干渉されている。
【００５１】
アラート種別が「制限」である場合には、出力部１４Ａは、不正であると判定された複数の端末に対して、利用中の画面全部を視認不可能な状態または視認しにくい状態にする。ここでは、利用中の画面全部が視認不可能な状態に干渉されている。
【００５２】
これにより、出力部１４Ａは、不正であると判定された複数の端末の画面に対して閾値に応じて段階的に干渉することで、ライセンスの不正利用に対する意識を喚起させることができる。
【００５３】
［実施例２に係る不正検出処理のフローチャート］
図８は、実施例２に係る不正検出処理のフローチャートの一例を示す図である。図８に示すように、受信部１１Ａは、ログインを検出したか否かを判定する（ステップＳ２１）。ログインを検出していないと判定した場合には（ステップＳ２１；Ｎｏ）、受信部１１Ａは、ログインを検出するまで、判定処理を繰り返す。
【００５４】
一方、ログインを検出したと判定した場合には（ステップＳ２１；Ｙｅｓ）、識別部１２Ａは、ログインの情報からアカウントＩＤおよび位置情報を特定する（ステップＳ２２）。そして、識別部１２Ａは、特定されたアカウントＩＤおよび特定された位置情報を対応付けてログイン情報２１に格納する。
【００５５】
そして、判定部１３Ａは、ログイン情報２１を参照し、特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂが存在するかを判定する（ステップＳ２３）。特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂが存在しないと判定した場合には（ステップＳ２３；Ｎｏ）、判定部１３Ａは、端末からのログインを不正でないと判定し、不正検出処理を終了する。
【００５６】
一方、特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂが存在すると判定した場合には（ステップＳ２３；Ｙｅｓ）、判定部１３Ａは、以下の処理を行う。すなわち、判定部１３Ａは、特定された位置情報と、特定されたアカウントＩＤと同一のアカウントＩＤ２１ａの位置情報２１ｂとの距離が所定の値未満であるか否かを判定する（ステップＳ２４）。
【００５７】
距離が所定の値未満であると判定した場合には（ステップＳ２４；Ｙｅｓ）、判定部１３Ａは、端末からのログインを不正でないと判定し、不正検出処理を終了する。
【００５８】
一方、距離が所定の値以上であると判定した場合には（ステップＳ２４；Ｎｏ）、判定部１３Ａは、特定されたアカウントＩＤによりログインした複数の端末からのログインが不正であると判定する。そして、判定部１３Ａは、さらに、特定されたアカウントＩＤについて、過去履歴情報３１を用いた不正段階判定処理を実行する（ステップＳ２５）。なお、過去履歴情報３１を用いた不正段階判定処理のフローチャートは、後述する。
【００５９】
そして、判定部１３Ａは、過去履歴情報３１を用いた不正段階判定処理を実行した後、不正検出処理を終了する。
【００６０】
［過去履歴情報を用いた不正段階判定処理のフローチャート］
図９は、過去履歴情報を用いた不正段階判定処理のフローチャートの一例を示す図である。なお、図９では、判定部１３Ａは、ログインが不正であると判定された該当のアカウントＩＤを受け取るものとする。
【００６１】
図９に示すように、判定部１３Ａは、過去履歴情報３１を参照して、該当するアカウントＩＤの過去履歴が第１の閾値に合致するか否かを判定する（ステップＳ３１）。該当するアカウントＩＤの過去履歴が第１の閾値に合致すると判定した場合には（ステップＳ３１；Ｙｅｓ）、判定部１３Ａは、該当するアカウントＩＤによりログインした複数の端末からのログインを注意段階の不正であると判定する。そして、出力部１４Ａは、「注意」のアラートを出力する（ステップＳ３２）。例えば、出力部１４Ａは、不正であると判定された複数の端末に対して、利用中の画面業務と関係のない部分を視認しにくい状態にする。そして、判定部１３Ａは、過去履歴情報３１を用いた不正段階判定処理を終了する。
【００６２】
一方、該当するアカウントＩＤの過去履歴が第１の閾値に合致しないと判定した場合には（ステップＳ３１；Ｎｏ）、判定部１３Ａは、該当するアカウントＩＤの過去履歴が第２の閾値に合致するか否かを判定する（ステップＳ３３）。該当するアカウントＩＤの過去履歴が第２の閾値に合致すると判定した場合には（ステップＳ３３；Ｙｅｓ）、判定部１３Ａは、該当するアカウントＩＤによりログインした複数の端末からのログインを警告段階の不正であると判定する。そして、出力部１４Ａは、「警告」のアラートを出力する（ステップＳ３４）。例えば、出力部１４Ａは、不正であると判定された複数の端末に対して、利用中の画面業務と関係のある部分を含めて視認しにくい状態にする。そして、判定部１３Ａは、過去履歴情報３１を用いた不正段階判定処理を終了する。
【００６３】
一方、該当するアカウントＩＤの過去履歴が第２の閾値に合致しないと判定した場合には（ステップＳ３３；Ｎｏ）、判定部１３Ａは、該当するアカウントＩＤによりログインした複数の端末からのログインを制限段階の不正であると判定する。そして、出力部１４Ａは、「制限」のアラートを出力する（ステップＳ３５）。例えば、出力部１４Ａは、不正であると判定された複数の端末に対して、利用中の画面全部を視認不可能な状態または視認しにくい状態にする。そして、判定部１３Ａは、過去履歴情報３１を用いた不正段階判定処理を終了する。
【００６４】
なお、判定部１３Ａは、同一のアカウントＩＤによりログインした複数の端末からのログインが不正であると判定した場合には、過去履歴情報３１を用いてさらに不正であるかどうかを判定すると説明した。例えば、判定部１３Ａは、過去履歴情報３１を参照して、不正なログインの継続時間（利用時間）、不正なログインの回数および不正なログインを行った複数の端末間の距離の少なくとも一つに応じて、さらに不正であるかどうかを判定する。しかしながら、判定部１３Ａは、これに限定されず、過去履歴情報３１を参照して、不正なログインを行った複数の端末の情報に応じて、さらに不正であるかどうかを判定しても良い。例えば、判定部１３Ａは、過去履歴情報３１を参照して、不正なログインを行った複数のＭＡＣアドレスを取得し、取得したＭＡＣアドレスが過去に利用していない場合には、このＭＡＣアドレスの端末を不正であると判定しても良い。また、判定部１３Ａは、過去履歴情報３１を参照して、不正なログインを行った複数の端末の情報、不正なログインの継続時間（利用時間）、不正なログインの回数および不正なログインを行った複数の端末間の距離の少なくとも一つに応じて、さらに不正であるかどうかを判定しても良い。
【００６５】
［実施例２の効果］
このようにして、上記実施例２では、不正検出装置１は、複数の端末からのログインを不正であると判定した場合に、さらに、端末の情報、不正なログインの継続時間、不正なログインの回数および不正なログインを行った端末間の距離の少なくとも一つに応じて、視認不可能または視認しにくい状態にする領域を決定する。かかる構成によれば、不正検出装置１は、過去履歴情報３１を用いることで、ログインを不正であると判定された複数の端末に対して、ライセンスの不正利用に対する意識をさらに喚起させることができる。
【００６６】
また、上記実施例２では、不正検出装置１は、複数の端末からのログインを不正であると判定した場合に、さらに、端末の情報、不正なログインの継続時間、不正なログインの回数および不正なログインを行った端末間の距離の少なくとも一つに応じて、視認のしにくさを決定する。かかる構成によれば、不正検出装置１は、過去履歴情報３１を用いて視認のしにくさを決定することで、ライセンスの不正利用に対する意識をさらに喚起させることができる。
【００６７】
［その他］
なお、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、判定部１３Ａを、同一のアカウントＩＤによりログインした複数の端末からのログインが不正であるかどうかを判定する第１の判定部と、過去履歴情報３１を用いてさらに不正であるかどうかを判定する第２の判定部とに分離しても良い。また、受信部１１Ａと識別１２Ａとを統合しても良い。また、記憶部２０を不正検出装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【００６８】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した不正検出装置１と同様の機能を実現する不正検出プログラムを実行するコンピュータの一例を説明する。図１０は、不正検出プログラムを実行するコンピュータの一例を示す図である。
【００６９】
図１０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラムなどを読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５とを有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ（Hard  Disk  Drive）２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【００７０】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。
【００７１】
ＣＰＵ２０３は、不正検出プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、不正検出装置１の各機能部に対応する。不正検出処理関連情報２０５ｂは、不正検出装置１では、受信部１１、識別部１２、判定部１３および出力部１４に対応する。そして、例えばリムーバブルディスク２１１が、不正検出プログラム２０５ａなどの各情報を記憶する。
【００７２】
なお、不正検出プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから不正検出プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【００７３】
１  不正検出装置
１０  制御部
１１、１１Ａ  受信部
１２、１２Ａ  識別部
１３、１３Ａ  判定部
１４、１４Ａ  出力部
２０  記憶部
２１  ログイン情報
３１  過去履歴情報
【図１】
2018124883.tif 000003
【図２】
2018124883.tif 000004
【図３】
2018124883.tif 000005
【図４】
2018124883.tif 000006
【図５】
2018124883.tif 000007
【図６】
2018124883.tif 000008
【図７】
2018124883.tif 000009
【図８】
2018124883.tif 000010
【図９】
2018124883.tif 000011
【図１０】
2018124883.tif 000012