(57)【要約】【課題】ログイン元計算機が正規ユーザによる利用中であるか否かによらず不正リモートログインを精度よく検知することができるようにする。【解決手段】リモートログインが行われた際のログイン元の計算機の操作情報を用いて、ログイン時刻に対応する時刻から所定時間前までの第一判定期間の入力操作における決定操作の有無から不正リモートログインを判定する（Ｓ６１）。ログイン時刻に最も近い前記決定操作の入力時刻である第一時刻から過去の第二判定期間におけるログイン元の計算機の操作情報に基づいて、入力操作の入力間隔の分散値を求め、当該分散値が所定値以下の場合に不正リモートログインではないと判定する（Ｓ６３）。ログイン時刻に最も近い時刻に入力された決定操作の入力時刻に対応する時刻から所定時間後までの第三判定期間における、ログイン元の計算機における入力操作の有無から、不正リモートログインを判定する（Ｓ６５）。【選択図】図５
2020166329.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続された複数の計算機のうちの何れかのログイン先計算機に対する他のログイン元計算機からの不正リモートログインを検知する不正リモートログイン検知装置であって、
少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して記憶する操作情報記憶部と、
前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得するログイン取得部と、
前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する異常判定部と、
を備える不正リモートログイン検知装置。
【請求項２】
前記異常判定部は、前記第一判定期間の前記決定操作であって、前記ログイン時刻に最も近い前記決定操作の前記入力時刻である第一時刻から過去の第二判定期間における前記ログイン元計算機の前記操作情報に基づいて、前記入力操作の入力間隔の分散値を求め、当該分散値が所定値以下の場合に前記不正リモートログインではないと判定する請求項１に記載の不正リモートログイン検知装置。
【請求項３】
前記第二判定期間は、前記第一時刻と、当該第一時刻の直前になされた前記決定操作の前記入力時刻である第二時刻との間の期間である請求項２に記載の不正リモートログイン検知装置。
【請求項４】
前記第二判定期間における複数の前記入力操作のうち、前記第一時刻に近い入力操作から所定数の入力操作の前記入力間隔の分散値を求め、当該分散値が所定値以下の場合に前記不正リモートログインではないと判定する請求項２又は請求項３に記載の不正リモートログイン検知装置。
【請求項５】
前記異常判定部は、前記第一判定期間に前記決定操作があった場合に、前記ログイン時刻に最も近い時刻に入力された前記決定操作の前記入力時刻に対応する時刻から所定時間後までの第三判定期間における、前記ログイン元計算機における前記入力操作の有無から、前記不正リモートログインを判定する請求項１〜請求項４の何れか一項に記載の不正リモートログイン検知装置。
【請求項６】
前記異常判定部は、前記第一判定期間に前記決定操作があった場合に、前記ログイン時刻に最も近い前記決定操作の入力時刻である第一時刻から過去の第二判定期間における前記ログイン元計算機の前記操作情報と、当該操作情報がパスワードの前記入力操作に係る特徴を有するか否かを判定するために予め学習された判定モデルとから、不正リモートログインを判定する請求項１に記載の不正リモートログイン検知装置。
【請求項７】
ネットワーク接続された複数の計算機のうちの何れかのログイン先計算機に対する他のログイン元計算機からの不正リモートログインを検知する不正リモートログイン検知方法であって、
少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して操作情報記憶部に記憶し、
ログイン取得部が、前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得し、
異常判定部が、前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する
不正リモートログイン検知方法。
【請求項８】
ネットワーク接続された複数の計算機のうちの何れかのログイン先計算機に対する他のログイン元計算機からの不正リモートログインを検知するための不正リモートログイン検知プログラムであって、
コンピュータに、
少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して操作情報記憶部に記憶し、
前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得し、
前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する
処理を実行させるための不正リモートログイン検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正リモートログイン検知装置、方法、及びプログラムに係り、特に、ネットワーク接続された複数の計算機のうちの何れかの計算機に対する他の計算機からの不正リモートログインを検知する不正リモートログイン検知装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ネットワークに接続された他の計算機に対してリモートログインを行う際のログイン認証では、ユーザ識別子とパスワードを用いて認証することにより、リモートログインを行おうとしている者が正規ユーザか否かを判定していた。
【０００３】
例えば、特許文献１には、ユーザ端末からのリモートログインをパスワードによりログイン認証し、ログイン認証の成功回数とログイン時に中継した中継機器との対応関係に基づいて、当該ユーザによる次回以降のログイン要求における認証処理方法を変更する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０９１１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、企業ネットワーク内に侵入した攻撃者によって、企業内の機密情報が盗み出される被害が多発しており、その手口の一つに企業ネットワーク内の脆弱な計算機を踏み台にする手口がある。すなわち、企業ネットワーク内の脆弱な計算機に不正侵入し、当該計算機から他の様々な計算機にリモートログインすることにより、最終的に機密情報にアクセスするという手口である。
【０００６】
特許文献１の技術では、ログイン元の計算機であるユーザ端末を踏み台にする手口を想定していないため、このような手口の不正リモートログインを制限することが困難である。一方で、ログイン先の計算機におけるイベントログを解析することで不正リモートログインを検出する一般的な不正リモートログインの検出技術を用いても、ログイン元の計算機が正規ユーザによって利用されている計算機であるため、ログイン先の計算機におけるイベントログのみから検出することが困難であった。すなわち、不正ログイン先の計算機のイベントログにはリモートログインされたことを示すイベント及びリモートログイン元の計算機の識別子などが記されるが、正規ユーザからのリモートログイン時も同様の内容のログとなり、不正か否かを判別できなかった。
【０００７】
本発明は上記問題を鑑みてなされたものであり、ログイン元の計算機が正規ユーザによる利用中であるか否かによらず不正リモートログインを精度よく検知することができる不正リモートログイン検知装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために本発明に係る不正リモートログイン検知装置は、ネットワーク接続された複数の計算機のうちの何れかのログイン先計算機に対する他のログイン元計算機からの不正リモートログインを検知する不正リモートログイン検知装置であって、少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して記憶する操作情報記憶部と、前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得するログイン取得部と、前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する異常判定部と、を備えて構成されている。
【０００９】
本発明に係る不正リモートログイン検知装置によれば、少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して操作情報記憶部に記憶する。また、ログイン取得部によって、前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得する。
【００１０】
そして、異常判定部によって、前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する。
【００１１】
また、前記異常判定部は、前記第一判定期間の前記決定操作であって、前記ログイン時刻に最も近い前記決定操作の前記入力時刻である第一時刻から過去の第二判定期間における前記ログイン元計算機の前記操作情報に基づいて、前記入力操作の入力間隔の分散値を求め、当該分散値が所定値以下の場合に前記不正リモートログインではないと判定することが好適である。
【００１２】
また、前記第二判定期間は、前記第一時刻と、当該第一時刻の直前になされた前記決定操作の前記入力時刻である第二時刻との間の期間であることが好適である。
【００１３】
また、前記第二判定期間における複数の前記入力操作のうち、前記第一時刻に近い入力操作から所定数の入力操作の前記入力間隔の分散値を求め、当該分散値が所定値以下の場合に前記不正リモートログインではないと判定することが好適である。
【００１４】
また、前記異常判定部は、前記第一判定期間に前記決定操作があった場合に、前記ログイン時刻に最も近い時刻に入力された前記決定操作の前記入力時刻に対応する時刻から所定時間後までの第三判定期間における、前記ログイン元計算機における前記入力操作の有無から、前記不正リモートログインを判定することが好適である。
【００１５】
また、前記異常判定部は、前記第一判定期間に前記決定操作があった場合に、前記ログイン時刻に最も近い前記決定操作の入力時刻である第一時刻から過去の第二判定期間における前記ログイン元計算機の前記操作情報と、当該操作情報がパスワードの前記入力操作に係る特徴を有するか否かを判定するために予め学習された判定モデルとから、不正リモートログインを判定することが好適である。
【００１６】
本発明に係る不正リモートログイン検知方法は、ネットワーク接続された複数の計算機のうちの何れかのログイン先計算機に対する他のログイン元計算機からの不正リモートログインを検知する不正リモートログイン検知方法であって、少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して操作情報記憶部に記憶し、ログイン取得部が、前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得し、異常判定部が、前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する。
【００１７】
本発明に係る不正リモートログイン検知プログラムは、ネットワーク接続された複数の計算機のうちの何れかのログイン先計算機に対する他のログイン元計算機からの不正リモートログインを検知するための不正リモートログイン検知プログラムであって、コンピュータに、少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して操作情報記憶部に記憶し、前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得し、前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する処理を実行させるためのプログラムである。
【００１８】
本発明に係る不正リモートログイン検知システムは、ネットワーク接続された複数の計算機のうちの何れかのログイン先計算機に対する他のログイン元計算機からの不正リモートログインを検知する不正リモートログイン検知装置であって、少なくとも前記ログイン元計算機の操作インタフェースを用いた入力操作ごとの入力時刻及び入力内容からなる操作情報を、前記ログイン元計算機から取得して記憶する操作情報記憶部、前記ログイン先計算機に対する前記ログイン元計算機からのリモートログインが行われたログイン時刻を取得するログイン取得部、及び前記ログイン元計算機の前記操作情報を用いて、前記ログイン時刻に対応する時刻から所定時間前までの第一判定期間の前記入力操作における決定操作の有無から前記不正リモートログインを判定する異常判定部を備えた不正リモートログイン検知装置と、前記操作情報を生成する操作情報生成部、及び前記ログイン時刻を検出するログイン検出手段を備えた複数の計算機とを含んで構成されている。
【発明の効果】
【００１９】
以上説明したように、本発明の不正リモートログイン検知装置、方法、及びプログラムによれば、ログイン元計算機の操作情報を用いることにより、ログイン元計算機が正規ユーザによる利用中であるか否かによらず不正リモートログインを精度よく検知することができる、という効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る不正リモートログイン検知システムの構成を示す概略図である。
【図２】本発明の実施の形態に係る計算機の構成を示す概略図である。
【図３】本発明の実施の形態に係る異常判定装置の構成を示す概略図である。
【図４】本発明の実施の形態に係る不正リモートログイン検知システムによる不正リモートログインを検知する処理の動作を示すシーケンス図である。
【図５】本発明の実施の形態に係る異常判定装置による異常判定処理の動作を示すフローチャートである。
【図６】（ａ）正常と判定された場合の例を示すイメージ図、（ｂ）異常と判定された場合の例を示すイメージ図、及び（ｃ）異常と判定された場合の例を示すイメージ図である。
【図７】本発明の実施の形態の他の例に係る不正リモートログイン検知システムの構成を示す概略図である。
【図８】本発明の実施の形態の他の例に係る不正リモートログイン検知システムの構成を示す概略図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２２】
＜本発明の実施の形態の概要＞
本発明の実施の形態では、正規ユーザによるリモートログインは不正なリモートログインとは異なりキーボード等の操作を伴ったリモートログインとなることに着目し、企業ネットワーク内のリモートログイン元の計算機の操作情報とリモートログインを示すイベントログを突合することにより、不正なリモートログインを検知可能にする。
【００２３】
具体的には、キーボード、マウス等からの入力操作に係る操作情報（入力内容、入力時刻）を記憶部に随時記憶する。ローカルネットワーク内の他の計算機からのリモートログインのイベントを検出したとき、当該他の計算機の操作情報を記憶部から取得し、当該操作情報を用いて、ログイン時刻の直前期間の入力操作における決定操作（例えば、「Enterキーの入力」、「OKボタンのクリック」等）の有無に基づいて不正なリモートログインであるか否かを判定する。例えば、ログイン時刻の直前期間の入力操作において、「Enterキーの押下」や「OKボタンのクリック」等の決定操作がある場合には、不正なリモートログインでないと判定される。一方、ログイン時刻の直前期間の入力操作において、決定操作がない場合には、不正なリモートログインであると判定される。
【００２４】
＜システム構成＞
以下、本発明を適用した不正リモートログイン検知システム１００の概略構成を示した図１を参照し、本発明の実施の形態の構成を説明する。
【００２５】
（不正リモートログイン検知システム１００）
図１に示すように、不正リモートログイン検知システム１００は、計算機１Ａ、１Ｂ及び異常判定装置２を含む。計算機１Ａ、２Ａ及び異常判定装置２は、ＬＡＮ（ローカルエリアネットワーク）等のネットワーク３を介して接続されて互いに通信を行う。
【００２６】
計算機１Ａ、１Ｂは、ＰＣ（Personal Computer）や、サーバ等のコンピュータである。本実施の形態では、ネットワーク３で接続された計算機が２台である場合を例に説明するが、これに限定されるものではなく、計算機が３台以上であってもよい。
【００２７】
異常判定装置２は、ＰＣや、サーバ等のコンピュータであり、ネットワーク接続された複数の計算機１Ａ、１Ｂのうちの何れかの計算機に対する他の計算機からの不正リモートログインを検知する。異常判定装置２は、不正リモートログイン検知装置の一例である。
【００２８】
（計算機１Ａ、１Ｂ）
図２に示すように、計算機１Ａ、１Ｂの各々は、入力部１０、通信部１２、記憶部１４、制御部１６、及び表示部１８を備える。
【００２９】
入力部１０は、キーボードやマウス等の入力デバイスであり、計算機１Ａ又は１Ｂを操作するための操作インタフェースとして機能する。
【００３０】
通信部１２は、ネットワーク３に接続されて他の計算機１Ａ又は１Ｂおよび異常判定装置２との通信を行い、制御部１６の制御に従って他の計算機１Ａ又は１Ｂおよび異常判定装置２と送受信した情報を、制御部１６と入出力する通信インタフェース回路である。
【００３１】
記憶部１４は、各種プログラムや各種データを記憶するＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等の記憶装置であり、制御部１６との間でこれらの情報を入出力する。
【００３２】
制御部１６は、ＣＰＵ（Central Processing Unit）、ＭＣＵ（Micro Control Unit）等で構成される演算装置であり、記憶部１４に記憶されているプログラム等に従って操作情報生成手段１６０およびログイン検出手段１６２等として機能する。
【００３３】
操作情報生成手段１６０は、入力部１０からの入力信号を受信する度に、当該入力信号に基づいて操作情報を生成し、当該操作情報を、通信部１２を介して異常判定装置２に送信する処理を行う。
【００３４】
ログイン検出手段１６２は、他の計算機１Ａ又は１Ｂからリモートログインが行われると、当該リモートログインが行われたことを示すログインイベント情報を生成し、当該ログインイベント情報を、通信部１２を介して異常判定装置２に送信する処理を行う。
【００３５】
表示部１８は、ログイン画面のほか、各種処理の結果、操作画面などを表示するモニター装置であり、液晶やＣＲＴモニターにて実現できる。タッチパネルの機能を有する場合には、入力部１０の機能を兼ね備えることができる。
【００３６】
（異常判定装置２）
図３に示すように、異常判定装置２は、入力部２０、通信部２２、記憶部２４、制御部２６、及び表示部２８を備える。なお、記憶部２４は、操作情報記憶部の一例であり、制御部２６は、ログイン取得部の一例である。
【００３７】
入力部２０は、キーボードやマウス等の入力デバイスであり、異常判定装置２を操作するための操作インタフェースとして機能する。
【００３８】
通信部２２は、ネットワーク３に接続されて計算機１Ａ、１Ｂとの通信を行い、制御部２６の制御に従って計算機１Ａ、１Ｂと送受信した情報を、制御部１６と入出力する通信インタフェース回路である。
【００３９】
記憶部２４は、各種プログラムや各種データを記憶するＲＯＭ、ＲＡＭ等の記憶装置であり、制御部２６との間でこれらの情報を入出力する。
【００４０】
また、記憶部２４が記憶するデータには、操作情報ログ２４０及びログインイベントログ２４２が含まれる。
【００４１】
操作情報ログ２４０は、各計算機１Ａ、１Ｂから受信した操作情報をリスト化又はデータベース化した情報である。ログインイベントログ２４２は、各計算機１Ａ、１Ｂから受信したログインイベント情報をリスト化又はデータベース化した情報である。
【００４２】
制御部２６は、ＣＰＵ、ＭＣＵ等で構成される演算装置であり、記憶部２４に記憶されているプログラム等に従って異常判定手段２６０等として機能する。
【００４３】
異常判定手段２６０は、他の計算機１Ａ又は１Ｂからのリモートログイン要求を受信した際、リモートログインが正常か異常かを判定する異常判定処理を行う。異常判定処理では、後述する第一判定期間Ｔ１において決定操作（例えば、Ｅｎｔｅｒキーの入力、ＯＫボタンのクリック等の検知の対象となるリモートログインのソフトウェアに、リモートログイン要求送信の契機を与える入力操作であって、該ソフトウェアの利用者に共通する入力操作）がなされたか否かを判定する、決定操作の判定処理と、後述する第二判定期間Ｔ２における入力操作がパスワード入力に関する入力操作らしいか否かを判定する、パスワード入力操作の判定処理と、後述する第三判定期間Ｔ３において何らかの入力操作が行われていないことを判定する、インターバル判定処理とを行う。
【００４４】
表示部２８は、各種処理の結果、操作画面などを表示するモニター装置であり、液晶やＣＲＴモニターにて実現できる。タッチパネルの機能を有する場合には、入力部２０の機能を兼ね備えることができる。
【００４５】
＜リモートログインの異常判定に関する動作＞
図４は、攻撃者の端末が、計算機１Ａを遠隔操作して計算機１Ｂにリモートログインしたときに不正リモートログインが検知されるまでの信号及び処理の流れを例示したシーケンス図である。
【００４６】
まず、計算機１Ｂは、入力部１０の操作情報を、通信部１２を用いてネットワーク３に送出し、異常判定装置２は、通信部２２を用いて操作情報を受信し、操作情報ログ２４０に追記する（Ｓ１）。
【００４７】
また、計算機１Ａは、入力部１０の操作情報を、通信部１２を用いてネットワーク３に送出し、異常判定装置２は、通信部２２を用いて操作情報を受信し、操作情報ログ２４０に追記する（Ｓ２）。
【００４８】
上記Ｓ１、Ｓ２の処理は、定常的に繰り返し行われる。
【００４９】
ここで、操作情報は、入力時刻、計算機ＩＤ、入力装置種別、及び入力内容を含む。
【００５０】
入力時刻は、入力部１０により入力操作された時刻である。例えば、何らかのキーボードのキー入力がなされた場合には、入力時刻は、当該キー入力された時刻である。
【００５１】
計算機ＩＤは、入力操作を行った計算機を一意に識別可能な識別子であり、例えば、ホスト名やＩＰアドレスなどである。
【００５２】
入力装置種別は、入力部１０の装置種別であり、例えば、「キーボード」や「マウス」等の情報である。
【００５３】
入力内容は、入力部１０にて入力された入力内容である。例えば、キーボードによる入力であれば、入力内容には、入力されたキーコードなどが記される。
【００５４】
なお、本実施の形態では、入力内容の機密性を保持するために、入力内容は、少なくとも「Ｅｎｔｅｒ」と「非Ｅｎｔｅｒ」とが判別できるような情報であればよい。または、後述するようにＳｈｉｆｔキーについても判別できるような情報であればよい。また、マウスによる入力であれば、入力内容は、「カーソルの位置と左クリックが押されたか否か」が判別できるような情報であればよい。
【００５５】
そして、攻撃者の端末は、計算機１Ａに対して攻撃を行い、遠隔操作するための権限を奪取する（Ｓ３）。
【００５６】
そして、攻撃者の端末は、計算機１Ａを遠隔操作して、計算機１Ｂに対してリモートログイン要求を送信し、計算機１Ｂに対してリモートログインを試みる（Ｓ４）。この際、悪用されるＩＤ及びパスワードは、例えば、メモリをダンプして収集される。
【００５７】
そして、計算機１Ｂは、他の計算機１Ａからリモートログイン要求を受信した場合、リモートログイン要求を受けたことを示すログインイベント情報を異常判定装置２に送信する（Ｓ５）。
【００５８】
ログインイベント情報は、ログイン時刻、ログイン先計算機ＩＤ、及びログイン元計算機ＩＤを含む。
【００５９】
ここで、ログイン時刻は、他の計算機からのリモートログイン要求を受信した時刻である。ログイン先計算機ＩＤは、リモートログイン要求を受けた計算機を一意に識別可能な識別子であり、例えば、ホスト名やＩＰアドレスなどである。ログイン元計算機ＩＤは、リモートログイン要求を送信した計算機を一意に識別可能な識別子であり、例えば、ホスト名やＩＰアドレスなどである。
【００６０】
そして、異常判定装置２は、計算機１Ｂからログインイベント情報を受信した場合、当該ログインイベント情報を記憶部２４のログインイベントログ２４２に追記すると共に、当該リモートログインが正常か否かを判定する異常判定処理を実行する（Ｓ６）。
【００６１】
そして、異常判定装置２は、計算機１Ｂに異常判定処理における判定結果を送信する（Ｓ７）。なお、計算機１Ｂは不正なリモートログインであることを示す判定結果を受信した場合、その旨を表示部１８に表示したり、遠隔地の管理者等にメール等で通知する。また、当該リモートログインを強制的に切断するような処理を行ってもよい。
【００６２】
上記Ｓ６の異常判定処理は、計算機１Ｂからログインイベント情報を受信した場合に異常判定手段２６０が開始する処理であり、図５に示す処理ルーチンによって実現される。
【００６３】
まず、異常判定装置２は、第一判定期間においてログイン元の計算機１Ａで決定操作が行われたか否かを判定する判定処理を行う（Ｓ６１）。具体的には、ログインイベント情報に記されたログイン時刻に基づいて第一判定期間Ｔ１を設定する。そして、ログインイベント情報に記されたログイン元計算機ＩＤに基づいて操作情報ログの中から、第一判定期間Ｔ１におけるログイン元計算機の操作情報を、操作情報ログを検索して取得する。そして、取得した操作情報を参照し、第一判定期間においてログイン元計算機で決定操作が行われているか否かを判定する。
【００６４】
第一判定期間Ｔ１は、例えば、リモートログインの時刻（ログイン時刻）を含む、予め設定された期間（例えば、２秒）の長さとする。なお、この場合の期間の長さは、多数のユーザによる正常なログイン時における入力操作や、ネットワーク遅延、計算機間におけるシステムタイムの誤差等に基づいて設定されることが望ましい。また、第一判定期間Ｔ１の終了時刻を、ログイン時刻より所定時間後とする。これは、時刻同期精度の問題や、時刻の四捨五入などによる誤差問題などにより、ログイン時刻の直後に決定操作が検出されることもあるためである。
【００６５】
そして、異常判定装置２は、上記Ｓ６１の判定処理により、第一判定期間においてログイン元の計算機１Ａで決定操作が行われたと判定されたか否かを判定する（Ｓ６２）。第一判定期間においてログイン元の計算機１Ａで決定操作が行われたと判定された場合には、Ｓ６３へ移行する。一方、第一判定期間においてログイン元の計算機１Ａで決定操作が行われなかったと判定された場合には、Ｓ６８へ移行する。
【００６６】
そして、異常判定装置２は、第二判定期間においてログイン元の計算機１Ａでパスワード入力が行われたか否かを判定する判定処理を行う（Ｓ６３）。具体的には、Ｓ６１にて識別した決定操作が行われた時刻に基づいて第二判定期間Ｔ２を設定する。そして、ログインイベント情報に記されたログイン元計算機ＩＤに基づいて操作情報ログの中から、第二判定期間Ｔ２におけるログイン元計算機の操作情報を、操作情報ログを検索して取得する。そして、取得した操作情報を参照し、第二判定期間Ｔ２においてログイン元計算機で入力操作されたタイミングに基づいて、当該入力操作が「パスワード入力操作」であるか否かを判定する。
【００６７】
例えば、第二判定期間Ｔ２における入力操作の入力間隔の分散値を求め、当該分散値が所定の閾値以下の場合は不正なリモートログインではないと判定する。利用者はパスワード入力を何度も経験すると、入力操作に慣れが生じるため、当該パスワードについてはスムーズな入力操作が可能となる。そこで、本実施の形態では、当該特徴に着目して、分散値が小さい、いわばスムーズな入力が行っていることを判定条件とした。
【００６８】
また、第二判定期間Ｔ２は、例えば、第一判定期間Ｔ１に最後（すなわち、ログイン時刻に最も近い決定操作）に入力された決定操作の時刻を第二判定期間Ｔ２の終了時刻とし、予め設定された期間（例えば、５秒）の長さとする。なお、第二判定期間Ｔ２の期間の長さは、多数のユーザによる正常なログイン時における入力操作に基づいて設定されることが望ましい。あるいは、第一判定期間Ｔ１に最後に入力された決定操作の直前になされた決定操作の入力時刻を、第二判定期間Ｔ２の開始時刻としてもよい。
また、パスワード入力に対応する文字数分の入力操作の入力間隔の分散値を求めるようにしてもよい。例えば、第二判定期間Ｔ２における複数の入力操作のうち、ログイン時刻に最も近い決定操作の時刻に近い入力操作から所定数の入力操作の入力間隔の分散値を求め、当該分散値が所定の閾値以下の場合に不正リモートログインではないと判定する。これにより、第一判定期間Ｔ１においてなされた決定操作が、ログイン元計算機の正規ユーザによるログイン操作以外の入力操作によって偶然になされた場合であっても、第二判定期間Ｔ２における入力操作に基づいてパスワード入力らしさを判定することにより、不正リモートログインであるか否かを精度良く判定することができる。
【００６９】
そして、異常判定装置２は、上記Ｓ６２の判定処理により、第二判定期間においてログイン元の計算機１Ａでパスワード入力が行われたと判定されたか否かを判定する（Ｓ６４）。第二判定期間においてログイン元の計算機１Ａでパスワード入力が行われたと判定された場合には、Ｓ６５へ移行する。一方、第二判定期間においてログイン元の計算機１Ａでパスワード入力が行われなかったと判定された場合には、Ｓ６８へ移行する。
【００７０】
そして、異常判定装置２は、第三判定期間においてログイン元の計算機１Ａで何らかの入力があったか否かを判定する判定処理を行う（Ｓ６５）。具体的には、Ｓ６１にて識別した決定操作が行われた時刻に基づいて第三判定期間Ｔ３を設定する。そして、ログインイベント情報に記されたログイン元計算機ＩＤに基づいて操作情報ログの中から、第三判定期間Ｔ３におけるログイン元計算機の操作情報を、操作情報ログを検索して取得する。そして、取得した操作情報を参照し、第三判定期間Ｔ３においてログイン元計算機で何らかの入力操作が行われたか否かを判定する。これは、リモートログインが成功した場合、リモートログインの直後は入力操作が行われるまでに一般的にインターバルがあることに着目したものである。
【００７１】
第三判定期間Ｔ３は、例えば、第一判定期間Ｔ１に最後に入力された決定操作の時刻を当該第三判定期間Ｔ３の開始時刻とし、予め設定された期間（例えば、３秒）の長さとする。なお、第三判定期間Ｔ３の期間の長さは、多数のユーザによる正常なログイン時における入力操作に基づいて設定されることが望ましい。あるいは、ＯＳや計算機の性能に基づいてリモートログイン認証の成功後に操作可能となるまでの期間を概算し、当該期間に基づいて決定してもよい。また、第三判定期間Ｔ３の開始時刻を、第一判定期間Ｔ１に最後に入力された決定操作の時刻より所定時間後とする。これは、時刻同期精度の問題や、時刻の四捨五入などによる誤差問題などにより、実際に入力された時刻の直後に決定操作が検出されることもあるためである。
【００７２】
そして、異常判定装置２は、上記Ｓ６５の判定処理により、第三判定期間においてログイン元の計算機１Ａで何らかの入力が行われたと判定されたか否かを判定する（Ｓ６６）。第三判定期間においてログイン元の計算機１Ａで何らかの入力が行われたと判定された場合には、Ｓ６８へ移行する。一方、第三判定期間においてログイン元の計算機１Ａで何らかの入力が行われなかったと判定された場合には、Ｓ６７へ移行する。
【００７３】
そして、Ｓ６７のステップに移行した異常判定装置２は、不正リモートログインではないと判定する。例えば、図６（ａ）に示すように、ログイン時刻ｔ１を含む第一判定期間Ｔ１において決定操作が行われており、第二判定期間Ｔ２における決定操作以外の操作によりパスワード入力操作らしいと判定され、かつ、第三判定期間Ｔ３において入力操作が行われていない場合に、不正リモートログインではないと判定される。
【００７４】
一方、Ｓ６８のステップに移行した異常判定装置２は、不正リモートログインであると判定する。例えば、図６（ｂ）に示すように、ログイン時刻ｔ２を含む第一判定期間Ｔ１において決定操作以外の操作が行われているものの、決定操作が行われていない場合には、不正リモートログインであると判定される。
【００７５】
また、図６（ｃ）に示すように、ログイン時刻ｔ３を含む第一判定期間Ｔ１において決定操作が行われており、第二判定期間Ｔ２における決定操作以外の操作によりパスワード入力操作らしいと判定されているものの、第三判定期間Ｔ３において入力操作が行われている場合には、不正リモートログインであると判定される。
【００７６】
そして、異常判定装置２は、ログインイベント情報を送信した計算機１Ｂに判定結果を通知する（Ｓ６９）。なお、上記の他にも、管理者へのメールの送信や、異常判定装置２の表示部２８への異常の表示などが考えられる。
【００７７】
以上説明してきたように、本発明の実施の形態に係る不正リモートログイン検知システムは、リモートログインが行われた際のログイン元の他の計算機の操作情報を用いて、ログイン時刻に対応する時刻から所定時間前までの第一判定期間の入力操作における決定操作の有無から不正リモートログインを判定することにより、ログイン元計算機が正規ユーザによる利用中であるか否かによらず、ネットワーク接続された他の計算機からの不正リモートログインを精度よく検知することができる。
【００７８】
＜変形例＞
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。
【００７９】
＜変形例１＞
例えば、第二判定期間においてログイン元の計算機でパスワード入力操作が行われたか否かの判定を、判定モデルに基づく統計的な手法によって実現することにより、不正リモートログインの有無を判定してもよい。
【００８０】
具体的には、事前に、操作情報における、利用者によるパスワードの入力操作に係る操作情報の特徴の有無を判定するための判定モデルを学習する。判定モデルの学習では、判定モデルを学習するための訓練データを収集し、それらを入力として特徴抽出と判定モデルの学習を行い、判定モデルを出力する。
【００８１】
訓練データの収集では、学習期間を定め、学習期間中のすべての決定操作とその周辺の入力デバイスの操作情報を収集する。収集する期間は短すぎず、またある程度の人数のデータを収集することが望ましい。またすべての決定操作は、実際にパスワード入力操作が行われたか否かが既知であることが必須である。
【００８２】
次に、特徴抽出では、収集したデータから、パスワード入力操作の判定に有効な特徴を抽出し特徴ベクトルを生成する。抽出する特徴の例として、文字の入力回数、文字入力間隔の分散、SHIFTキーの入力回数などが考えられる。
【００８３】
判定モデルの学習では、抽出した特徴から判定モデルを学習する。判定モデルは、特徴ベクトルを入力とし、パスワード入力操作の判定結果を出力する。判定モデルによる判定手法は、決定木などルールベースに基づく判定や、特徴ベクトルの類似度に基づく判定、SVM（サポートベクターマシーン）やニューラルネットワークなどの機械学習手法による判定などが考えられる。
【００８４】
次に、第二判定期間においてログイン元の計算機でパスワード入力操作が行われたか否かの判定において、判定したいデータを入力とし、生成した特徴ベクトルに判定モデルを適用して、判定結果を出力とする。
【００８５】
＜変形例２＞
計算機は、ログ取得手段を備え、ログ取得手段が、自らの計算機においてなされた入力操作の操作情報を記憶部に記憶するようにしてもよい。具体的には、不正リモートログイン検知システム１００において、計算機１Ａ、１Ｂの制御部１６が、操作情報生成手段１６０及びログイン検出手段１６２として機能すると共に、ログ取得手段として機能し、記憶部１４に、操作情報ログ２４０が記憶される。例えば、計算機１Ａは、他の計算機１Ｂからのリモートログインが行われた際、その旨を示すログインイベント情報を異常判定装置２に送信する。
【００８６】
そして、ログインイベント情報を受信した異常判定装置２は、ログイン時刻に基づいて求めた所定の期間における、当該他の計算機１Ｂの操作情報を異常判定装置２に送信するように命令する。
【００８７】
当該命令を受けた他の計算機１Ｂは、指定された期間における操作情報を異常判定装置２に送信する。異常判定装置２は、受信した操作情報に基づいて不正リモートログインの有無を判定する。
【００８８】
＜変形例３＞
上記の実施の形態では、他の計算機からのリモートログイン要求を受信したとき、異常判定装置２にログインイベント情報を送信した。しかし、これに限定されるものではない。例えば、図７に示すように、不正リモートログイン検知システム１００が、記録装置４を更に備え、計算機１Ａ又は１Ｂが、ログインを行ったことを示すログインイベント情報を記録装置４に定常的に送信してもよい。
【００８９】
この場合、ログインイベントがあったことを検出するログイン検出手段を記録装置４に備えてもよい。また、記録装置４のログイン検出手段が、ログイン操作がなされたことを、計算機１Ａ又は１Ｂから受信したログインイベント情報に基づいて判定し、異常判定装置２にその旨を通知する。
【００９０】
そして、異常判定装置２は、ログ取得手段を備え、ログ取得手段によって、当該通知に基づいて、ログイン元の計算機のログイン時刻の周辺の操作情報を記録装置４から取得し、異常判定手段２６０によって、当該操作情報とイベント時刻とに基づいて不正リモートログインの有無を判定してもよい。
【００９１】
＜変形例４＞
計算機が、異常判定手段を備え、他の計算機からなされたリモートログインが正常であるか否かを判定してもよい。例えば、図８に示すように、不正リモートログイン検知システム１００が、ネットワーク３に接続された複数の計算機１Ａ、１Ｂを備え、計算機１Ａ、１Ｂの各々が、異常判定手段を備え、他の計算機からなされたリモートログインが正常であるか否かを判定してもよい。
【００９２】
具体的には、不正リモートログイン検知システム１００において、計算機１Ａ、１Ｂの制御部１６が、操作情報生成手段１６０及びログイン検出手段１６２として機能すると共に、ログ取得手段及び異常判定手段として機能し、記憶部１４に、操作情報ログ２４０が記憶される。
【００９３】
例えば、計算機１Ａは、他の計算機１Ｂからリモートログインが行われた際、当該ログインされた時刻（ログイン時刻）に基づいて求めた所定の期間における、当該他の計算機１Ｂの操作情報を送信するように、当該他の計算機１Ｂに命令する。
【００９４】
当該命令を受けた他の計算機１Ｂは、指定された期間における操作情報をログイン先の計算機１Ａに送信する。ログイン先の計算機１Ａは、受信した操作情報に基づいて不正リモートログインの有無を判定するようにすればよい。
【００９５】
以上のように、当業者は本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【符号の説明】
【００９６】
１Ａ、１Ｂ    計算機
２     異常判定装置
３     ネットワーク
４     記録装置
１０、２０    入力部
１２、２２    通信部
１４、２４    記憶部
１６、２６    制御部
１８、２８    表示部
１００ 不正リモートログイン検知システム
１６０ 操作情報生成手段
１６２ ログイン検出手段
２４０ 操作情報ログ
２４２ ログインイベントログ
２６０ 異常判定手段
【図１】
2020166329.tif 000003
【図２】
2020166329.tif 000004
【図３】
2020166329.tif 000005
【図４】
2020166329.tif 000006
【図５】
2020166329.tif 000007
【図６】
2020166329.tif 000008
【図７】
2020166329.tif 000009
【図８】
2020166329.tif 000010