(57)【要約】【課題】サーバに対するクライアント端末からのＧＵＩベースの好ましくない操作を、サーバに監視エージェントを搭載せずに防止する技術を提供すること。【解決手段】サーバ１０から受信したリモートデスクトップを表す情報に基づき、リモートデスクトップとして表示可能な画面の所定領域を表す画面情報を取得する画面取得部３１と、リモートデスクトップを表す情報をクライアント端末２０に送信するリモートデスクトップ送信部３２と、クライアント端末２０におけるリモートデスクトップに対する操作を表す操作情報を、クライアント端末２０から受信する操作情報受信部３３と、画面情報が表す画面において、操作情報に基づく操作位置が、検知対象の画像に類似する領域に含まれているか否かに基づいて、操作情報が検知対象であるか否かを判断する操作監視部３４と、検知対象でないと判断された操作情報を、サーバ１０に送信する操作情報送信部３５とを備える。【選択図】図１
2017102847.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末に提供されるリモートデスクトップを表す情報をサーバから受信し、受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得する画面取得部と、
前記リモートデスクトップを表す情報を前記クライアント端末に送信するリモートデスクトップ送信部と、
前記クライアント端末において前記リモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、前記クライアント端末から受信する操作情報受信部と、
前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断する操作監視部と、
前記操作監視部によって検知対象でないと判断された操作情報を、前記サーバに送信する操作情報送信部と、
を備えた中継装置。
【請求項２】
前記操作監視部は、前記操作情報が検知対象であると判断した場合、所定のブロック処理を行うことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記操作監視部は、前記操作情報が検知対象であると判断した場合、判断に用いた検知対象の画像に関連付けられた前記ブロック処理を行うことを特徴とする請求項２に記載の中継装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の中継装置と、
前記クライアント端末と、
前記サーバと、
を備えた情報処理システム。
【請求項５】
クライアント端末に提供されるリモートデスクトップを表す情報をサーバから受信し、
受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得し、
前記リモートデスクトップを表す情報を前記クライアント端末に送信し、
前記クライアント端末において前記リモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、前記クライアント端末から受信し、
前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断し、
検知対象でないと判断した操作情報を、前記サーバに送信する方法。
【請求項６】
サーバは、
リモートデスクトップを表す情報を中継装置を介してクライアント端末宛てに送信し、
前記中継装置は、
前記サーバから受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得し、
前記リモートデスクトップを表す情報を前記クライアント端末に送信し、
前記クライアント端末は、
前記中継装置から受信した前記情報に基づいて、前記リモートデスクトップの画面を表示装置に表示し、
表示した前記リモートデスクトップの画面の表示領域に対する操作を表す操作情報を入力装置から取得すると、取得した操作情報を前記中継装置を介して前記サーバ宛てに送信し、
前記中継装置は、
前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断し、
検知対象でないと判断した操作情報を、前記サーバに送信し、
前記サーバは、
前記中継装置から受信した前記操作情報に基づく処理を実行する方法。
【請求項７】
クライアント端末に提供されるリモートデスクトップを表す情報をサーバから受信し、受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得する画面取得ステップと、
前記リモートデスクトップを表す情報を前記クライアント端末に送信するリモートデスクトップ送信ステップと、
前記クライアント端末において前記リモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、前記クライアント端末から受信する操作情報受信ステップと、
前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断する操作監視ステップと、
前記操作監視ステップにおいて検知対象でないと判断された操作情報を、前記サーバに送信する操作情報送信ステップと、
をコンピュータ装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバに対するクライアント端末からの操作を監視する技術に関する。
【背景技術】
【０００２】
サーバに対するクライアント端末からの操作を監視したいという要望がある。このような要望に対して、サーバに監視エージェントを搭載して好ましくない操作を検知することがよく知られている。好ましくない操作としては、不正操作や誤操作、または、運用上の観点から回避したい操作等が挙げられる。しかしながら、サーバに余分な負荷をかけることが許容されない場合などのように、監視エージェントをサーバに搭載できないケースがある。
【０００３】
このようなケースに対応するため、一般的に、中継装置を用いて、サーバに対するクライアント端末からの操作を監視する手法が知られている。一般的な手法では、中継装置は、クライアント端末において入力された文字列や、サーバにおいて起動されたウィンドウのタイトル等が、登録された文字列であることを検知する。この場合、好ましくない操作の可能性がある入力文字列やウィンドウタイトルをあらかじめ登録しておくことにより、好ましくない操作を防止することが可能となる。
【０００４】
また、サーバに対するクライアント端末からのアクセスおよび操作を、中継装置を用いて管理する関連技術の一例が、特許文献１に記載されている。この関連技術では、中継装置は、サーバへのアクセスを要求するクライアント端末の利用者に付与された第１の識別情報を用いて、第１のユーザ認証処理を実行する。また、中継装置は、第１の識別情報に関連付けられた第２の識別情報を用いて、サーバに対して第２のユーザ認証処理を要求する。そして、中継装置は、第１および第２のユーザ認証処理に成功した場合に、クライアント端末およびサーバ間を中継しながら、クライアント端末からのサーバに対するアクセスログや操作ログを記録する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１５／００４７４３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年では、リモートデスクトップ接続を可能とするサーバがよく知られている。しかしながら、上述した一般的な手法または特許文献１に記載された関連技術を用いて、そのようなサーバに対するクライアント端末からの操作を監視するには、以下の課題がある。
【０００７】
一般的な手法は、クライアント端末での入力文字列や、サーバで起動されたウィンドウタイトルといった、文字列ベースで好ましくない操作を検知する。このため、一般的な手法では、ＧＵＩ（graphical user interface）ベースの好ましくない操作を防止することが難しい。ここで、ＧＵＩベースの操作とは、ＧＵＩを用いた操作である。
【０００８】
例えば、サーバにおけるサービスの管理に関するクライアント端末からの操作を監視したいケースを考える。例えば、サーバによって、次のようなサービス管理のためのＧＵＩが提供されているとする。すなわち、サービス管理ウィンドウ内に一覧表示された各サービスがマウスクリックにより選択されると、起動または停止のメニュー項目が表示される。そして、該当するメニュー項目がマウスクリックされると、選択されたサービスに対応するアプリケーションが、起動または停止される。このとき、一般的な手法は、サービス管理ウィンドウのタイトルをあらかじめ登録しておくことにより、サービス管理ウィンドウの起動そのものを検知することは可能である。しかしながら、サービス管理ウィンドウの起動そのものを検知するのではなく、個々のサービスに対する起動や停止操作を防止したいケースがある。ところが、個々のサービスに対する起動や停止操作はマウスクリックによって行われるため、一般的な手法は、これらの操作を防止することができない。
【０００９】
また、例えば、サーバにおけるファイルに対するクライアント端末によるコピーやペースト操作を防止したいケースを考える。例えば、サーバによって、次のようなファイル管理のＧＵＩが提供されているとする。すなわち、リモートデスクトップに表示されたファイルのアイコンまたはフォルダウィンドウの空きスペースがマウスクリックにより選択されると、コピーまたはペーストのメニュー項目が表示される。そして、該当するメニュー項目がマウスクリックされると、選択されたファイルまたはフォルダを対象として、コピーまたはペーストが実行される。ところが、一般的な手法は、ＧＵＩベースの操作を検知することができないため、マウスクリックによるファイルのコピーやペースト操作を防止することができない。
【００１０】
また、特許文献１には、ＧＵＩを提供するファイル共有サーバを例として、中継装置が、サーバに対するクライアント端末からの操作ログを記録することが記載されている。しかしながら、この関連技術における操作ログとは、「ファイルの作成」や「ファイルのコピーペースト」等といった操作内容と、「作成したファイル名」や「コピーペーストしたファイル名」等といった処理内容とを関連付けて記録するものである。つまり、この関連技術は、クライアント端末からのＧＵＩベースの操作に応じた処理がサーバによって実行された結果を、操作ログとして記録していると考えられる。そのため、この関連技術では、ＧＵＩベースの操作に応じた処理がサーバで実行される前に、その操作が好ましくない操作であることを検知して防止することは難しい。
【００１１】
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、サーバに対するクライアント端末からのＧＵＩベースの好ましくない操作を、サーバに監視エージェントを搭載せずに防止する技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の中継装置は、クライアント端末に提供されるリモートデスクトップを表す情報をサーバから受信し、受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得する画面取得部と、前記リモートデスクトップを表す情報を前記クライアント端末に送信するリモートデスクトップ送信部と、前記クライアント端末において前記リモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、前記クライアント端末から受信する操作情報受信部と、前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断する操作監視部と、前記操作監視部によって検知対象でないと判断された操作情報を、前記サーバに送信する操作情報送信部と、を備える。
【００１３】
また、本発明の情報処理システムは、上述の中継装置と、前記クライアント端末と、前記サーバと、を備える。
【００１４】
また、本発明の方法は、クライアント端末に提供されるリモートデスクトップを表す情報をサーバから受信し、受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得し、前記リモートデスクトップを表す情報を前記クライアント端末に送信し、前記クライアント端末において前記リモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、前記クライアント端末から受信し、前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断し、検知対象でないと判断した操作情報を、前記サーバに送信する。
【００１５】
また、本発明の他の方法は、サーバは、リモートデスクトップを表す情報を中継装置を介してクライアント端末宛てに送信し、前記中継装置は、前記サーバから受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得し、前記リモートデスクトップを表す情報を前記クライアント端末に送信し、前記クライアント端末は、前記中継装置から受信した前記情報に基づいて、前記リモートデスクトップの画面を表示装置に表示し、表示した前記リモートデスクトップの画面の表示領域に対する操作を表す操作情報を入力装置から取得すると、取得した操作情報を前記中継装置を介して前記サーバ宛てに送信し、前記中継装置は、前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断し、検知対象でないと判断した操作情報を、前記サーバに送信し、前記サーバは、前記中継装置から受信した前記操作情報に基づく処理を実行する。
【００１６】
また、本発明のプログラムは、クライアント端末に提供されるリモートデスクトップを表す情報をサーバから受信し、受信した前記情報に基づいて、前記リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得する画面取得ステップと、前記リモートデスクトップを表す情報を前記クライアント端末に送信するリモートデスクトップ送信ステップと、前記クライアント端末において前記リモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、前記クライアント端末から受信する操作情報受信ステップと、前記画面情報が表す画面において、前記操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かに基づいて、前記操作情報が検知対象であるか否かを判断する操作監視ステップと、前記操作監視ステップにおいて検知対象でないと判断された操作情報を、前記サーバに送信する操作情報送信ステップと、をコンピュータ装置に実行させる。
【発明の効果】
【００１７】
本発明は、サーバに対するクライアント端末からのＧＵＩベースの好ましくない操作を、サーバに監視エージェントを搭載せずに防止する技術を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態としての情報処理システムの構成を示すブロック図である。
【図２】本発明の実施の形態としての情報処理システムのハードウェア構成の一例を示す図である。
【図３】本発明の実施の形態としての情報処理システムの動作を説明するフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２０】
本発明の実施の形態としての情報処理システム１の機能ブロック構成を図１に示す。図１において、情報処理システム１は、サーバ１０と、クライアント端末２０と、中継装置３０とを含む。中継装置３０は、サーバ１０およびクライアント端末２０と、それぞれネットワークを介して通信可能に接続される。なお、図１には、サーバ１０、クライアント端末２０および中継装置３０がそれぞれ１つずつ示されているが、本実施の形態における各装置の数は限定されない。
【００２１】
サーバ１０は、リモートデスクトップ接続サービスを提供する装置である。
【００２２】
クライアント端末２０は、リモートデスクトップ接続を介してサーバ１０を利用する装置である。クライアント端末２０は、例えば、パーソナルコンピュータまたはモバイル端末であってもよい。
【００２３】
中継装置３０は、サーバ１０およびクライアント端末２０間の通信を中継する装置である。また、中継装置３０は、画面取得部３１と、リモートデスクトップ送信部３２と、操作情報受信部３３と、操作監視部３４と、操作情報送信部３５とを備える。
【００２４】
ここで、情報処理システム１は、図２に示すようなハードウェア要素によって構成可能である。図２において、サーバ１０は、ＣＰＵ（Central Processing Unit）１００１、メモリ１００２およびネットワークインタフェース１００５を含む。ＣＰＵ１００１は、メモリ１００２に記憶されたコンピュータ・プログラムを読み込んで実行する。メモリ１００２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）等によって構成される。ネットワークインタフェース１００５は、中継装置３０と通信可能なネットワークに接続するインタフェースである。
【００２５】
また、図２において、クライアント端末２０は、ＣＰＵ２００１、メモリ２００２、表示装置２００３、入力装置２００４およびネットワークインタフェース２００５を含む。ＣＰＵ２００１は、メモリ２００２に記憶されたコンピュータ・プログラムを読み込んで実行する。メモリ２００２は、ＲＡＭ、ＲＯＭ、補助記憶装置等によって構成される。表示装置２００３は、例えば液晶ディスプレイ等のように、情報を表示する装置によって構成される。入力装置２００４は、マウスやタッチパネル等のポインティングデバイス、キーボード、または、操作ボタン等を含んで構成されていてもよい。ネットワークインタフェース２００５は、中継装置３０と通信可能なネットワークに接続するインタフェースである。
【００２６】
また、図２において、中継装置３０は、ＣＰＵ３００１、メモリ３００２およびネットワークインタフェース３００５を含む。ＣＰＵ３００１は、メモリ３００２に記憶されたコンピュータ・プログラムを読み込んで実行する。メモリ３００２は、ＲＡＭ、ＲＯＭ、補助記憶装置等によって構成される。ネットワークインタフェース３００５は、サーバ１０およびクライアント端末２０とそれぞれ通信可能なネットワークに接続するインタフェースである。この場合、画面取得部３１、リモートデスクトップ送信部３２、操作情報受信部３３および操作情報送信部３５の各機能ブロックは、次のように構成される。すなわち、これらの各機能ブロックは、ネットワークインタフェース３００５と、メモリ３００２に記憶されたコンピュータ・プログラムを読み込んで実行するＣＰＵ３００１とによって構成される。また、操作監視部３４は、メモリ３００２に記憶されたコンピュータ・プログラムを読み込んで実行するＣＰＵ３００１によって構成される。
【００２７】
なお、情報処理システム１を構成する各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
【００２８】
次に、各装置の機能について説明する。
【００２９】
サーバ１０は、リモートデスクトップを表す情報を、中継装置３０を介してクライアント端末２０宛てに送信する。ここで、リモートデスクトップを表す情報は、クライアント端末２０の操作に基づいて、サーバ１０においてアプリケーションによって実行された結果として出力される画面情報や音声情報を含む。なお、リモートデスクトップを表す情報に含まれる画面情報は、前回の画面情報からの差分を表す情報であってもよい。例えば、サーバ１０は、クライアント端末２０からリモートデスクトップ接続の要求を受けると、リモートデスクトップを表す情報の送信を行う。また、サーバ１０は、リモートデスクトップの構成の更新に応じて、リモートデスクトップを表す情報の送信を行う。また、サーバ１０は、クライアント端末２０からの操作情報を中継装置３０を介して受信すると、操作情報に応じた処理を行う。
【００３０】
クライアント端末２０は、中継装置３０を介してサーバ１０から受信したリモートデスクトップを表す情報に基づいて、リモートデスクトップの画面を表示装置２００３に表示する。このとき、クライアント端末２０は、自装置において設定された表示サイズ（例えば、解像度や表示範囲等）を適用して、リモートデスクトップの画面を表示する。そして、クライアント端末２０は、リモートデスクトップの画面の表示領域に対して、入力装置２００４を介して入力される操作を表す操作情報を取得する。そして、クライアント端末２０は、取得した操作情報を、中継装置３０を介してサーバ１０宛てに送信する。
【００３１】
ここで、ＧＵＩベースの操作がなされた場合、操作情報は、操作位置を表す情報を含む。操作位置とは、リモートデスクトップの画面の表示領域において操作の対象として指示された位置を表す。操作位置は、リモートデスクトップの画面の表示領域に適用される画面座標系における座標として表されていてもよい。
【００３２】
例えば、入力装置２００４としてのマウスによるクリック操作がなされた場合、操作位置とは、クリック時点でのマウスポインタの位置であってもよい。また、例えば、入力装置２００４としてのタッチパネルに対して指またはペン等によるタップ操作がなされた場合、操作位置とは、タップによる接触が検知された位置であってもよい。また、例えば、入力装置２００４としてのキーボードまたは操作ボタンによりキーまたはボタンの押下操作がなされた場合、操作位置とは、押下時点で選択されている画面上の表示要素の位置であってもよい。なお、押下時点で選択されている表示要素とは、押下操作の前に、マウスのクリック操作、タッチパネルのタップ操作、キーボードや操作ボタンの矢印キー・タブキー等により選択されている要素であってもよい。
【００３３】
なお、操作情報に含まれる操作位置は１つであるとは限らない。例えば、操作がマウスによるドラッグである場合、操作情報は、ドラッグの始点、終点、軌跡等を表す複数の操作位置を表す情報を含んでいてもよい。
【００３４】
また、操作情報は、操作内容を表す情報を含んでいてもよい。例えば、入力装置２００４としてのマウスによる操作がなされた場合、操作内容とは、左クリック、右クリック、ドラッグ等の区別を表す情報であってもよい。また、例えば、入力装置２００４としてのタッチパネルに対する接触操作がなされた場合、操作内容とは、タップ、フリック、スワイプ等の区別を表す情報であってもよい。また、例えば、入力装置２００４としてのキーボードや操作ボタンによりキーまたはボタンの押下操作がなされた場合、操作内容とは、押下されたキーまたはボタンに関連付けられている文字や記号を表す情報であってもよい。
【００３５】
中継装置３０は、サーバ１０およびクライアント端末２０間の通信を中継し、リモートデスクトップに対する操作を監視する。以下に、中継装置３０の各機能ブロックの詳細について説明する。
【００３６】
画面取得部３１は、リモートデスクトップを表す情報をサーバ１０から受信する。そして、画面取得部３１は、サーバ１０から受信した情報に基づいて、画面情報を取得する。ここで、画面情報とは、サーバ１０から受信した情報に基づき表示可能なリモートデスクトップの画面の所定領域を表す画像データである。なお、所定領域は、クライアント端末２０においてリモートデスクトップとして表示される画面の表示領域と同じかそれよりも大きいことが望ましい。例えば、所定領域は、表示可能なリモートデスクトップの画面の全域であってもよい。画面情報は、後述の操作監視部３４によって用いられる。
【００３７】
リモートデスクトップ送信部３２は、リモートデスクトップを表す情報をクライアント端末２０に送信する。
【００３８】
操作情報受信部３３は、クライアント端末２０においてリモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、クライアント端末２０から受信する。
【００３９】
操作監視部３４は、画面情報が表す画面において、操作情報に基づく操作位置が、検知対象の画像に対して類似条件を満たす領域に含まれているか否かを解析する。そして、操作監視部３４は、解析結果に基づいて、操作情報が検知対象であるか否かを判断する。換言すると、操作監視部３４は、検知対象の画像に対して類似条件を満たす領域内でなされた操作を、検知対象の操作として検出する。
【００４０】
ここで、検知対象の画像は、検知対象の操作が行われる際の操作位置を含む画像である。検知対象の画像は、メモリ３００２にあらかじめ記憶された画像であってもよい。あるいは、検知対象の画像は、ネットワーク、入力装置、または、可搬型記憶媒体等を介して外部から入力された画像であってもよい。
【００４１】
また、類似条件とは、２つの画像が類似している程度を表す類似度に基づく条件であってもよい。例えば、２つの画像が類似しているほど大きい値を示す類似度を採用している場合、類似条件とは、類似度が閾値以上であることであってもよい。また、そのような類似度の算出には、２つの画像間の類似度を算出する公知の画像類似度算出アルゴリズムを採用してもよい。以降、検知対象の画像に対して類似条件を満たす領域を、検知対象類似領域とも記載する。
【００４２】
具体的には、操作監視部３４は、画面情報が表す画面に、検知対象類似領域が含まれ、かつ、その領域に操作位置が含まれる場合に、操作情報が検知対象であると判断する。
【００４３】
例えば、操作監視部３４は、検知対象の画像として、コンピュータの設定を行うためのコントロールパネルの画像、ディレクトリ・サービスの管理ウィンドウの画像、サーバ機能の管理コンソールの画像等を記憶しておいてもよい。この場合、操作監視部３４は、これらの画像が表すウィンドウやコンソールに対する操作を検知可能となる。さらに、操作監視部３４は、このようなウィンドウやコンソールの表示形式を変更する設定ウィンドウやメニュー項目の画像を、検知対象の画像として記憶しておいてもよい。これにより、操作監視部３４は、検知対象としたい操作が行われるウィンドウやコンソールに対する表示形式を変更する操作を検知して、表示形式が変更されないようにすることができる。これにより、操作監視部３４は、検知対象の画像をより確実に検出する。
【００４４】
また、例えば、操作監視部３４は、検知対象の画像として、ファイルやフォルダのアイコンまたはフォルダウィンドウの空きスペースに対する右クリックで表示されるメニューリストを記憶しておいてもよい。また、例えば、操作監視部３４は、検知対象の画像として、そのようなメニューリストのうち、コピー、カット、ペースト等のアイテムを含む領域の画像を記憶しておいてもよい。これにより、操作監視部３４は、ファイルやフォルダに対するコピー、カット、ペーストの操作を検知可能となる。
【００４５】
なお、クライアント端末２０から受信した操作情報に含まれる操作位置を表している座標系が、自装置で取得している画面情報が表す画面における座標系と異なる場合も考えられる。これは、クライアント端末２０において、リモートデスクトップの画面の表示サイズ（解像度や表示範囲等）が変更されている等の理由によると考えられる。このような場合、操作監視部３４は、操作情報に含まれる操作位置を、画面情報が表す画面における座標系に変換してから、上述の処理を行えばよい。
【００４６】
また、操作監視部３４は、画面情報が表す画面において、検知対象類似領域に操作位置が含まれているか否かに加えて、操作情報に含まれる操作内容に基づいて、操作情報が検知対象であるか否かを判断してもよい。例えば、操作監視部３４は、画面情報が表す画面において、検知対象類似領域に操作位置が含まれ、かつ、操作内容が左クリックである場合に、操作情報が検知対象であると判断してもよい。この場合、操作監視部３４は、検知対象の画像毎に、検知対象の操作内容を記憶しておいてもよい。
【００４７】
また、例えば、操作監視部３４は、操作情報が検知対象であると判断した場合、所定のブロック処理を行ってもよい。所定のブロック処理とは、例えば、操作情報をサーバ１０に送信せず、該当する操作が不可である旨を表す情報を、クライアント端末２０に通知する処理であってもよい。また、所定のブロック処理とは、例えば、それ以降の操作情報をサーバ１０に送信せず、これ以降の操作がブロックされた旨を表す情報を、クライアント端末２０に通知する処理であってもよい。具体的には、操作監視部３４は、通知内容を表す画像情報を生成してもよい。そして、操作監視部３４は、生成した通知内容の画像情報を、リモートデスクトップの画面に重畳表示するよう指示する情報とともに、クライアント端末２０に送信するよう、リモートデスクトップ送信部３２を制御してもよい。
【００４８】
また、例えば、操作監視部３４は、そのようなブロック処理を、検知対象の画像に関連付けて記憶しておいてもよい。この場合、操作監視部３４は、操作情報が検知対象であると判断した場合に、判断に用いた検知対象の画像に関連付けられたブロック処理を実行する。
【００４９】
操作情報送信部３５は、操作監視部３４によって検知対象でないと判断された操作情報を、サーバ１０に送信する。つまり、操作情報送信部３５は、操作監視部３４によって検知対象であると判断された操作情報を、サーバ１０に送信しない。
【００５０】
また、操作情報送信部３５は、操作監視部３４によって操作情報が検知対象でないと判断された場合、それ以降クライアント端末２０から受信される操作情報を、サーバ１０に送信しないようにしてもよい。
【００５１】
以上のように構成された情報処理システム１の動作について、図３を参照して説明する。図３において、左図はクライアント端末２０の動作を示し、右図はサーバ１０の動作を示し、中央の図は中継装置３０の動作を示すものとする。また、中継装置３０は、あらかじめ、検知対象の画像をメモリ１００２に記憶しているものとする。また、図３では、サーバ１０およびクライアント端末２０間で、中継装置３０を介したリモートデスクトップ接続が、既に確立されているものとする。
【００５２】
まず、サーバ１０は、リモートデスクトップを表す情報を、中継装置３０を介してクライアント端末２０宛てに送信する（ステップＳ１）。
【００５３】
次に、中継装置３０において、画面取得部３１は、リモートデスクトップを表す情報をサーバ１０から受信する。そして、画面取得部３１は、受信した情報に基づいて、画面情報を取得する（ステップＳ２）。前述のように、画面情報は、リモートデスクトップの表示可能な画面の所定領域を表す画像データである
次に、中継装置３０において、リモートデスクトップ送信部３２は、リモートデスクトップを表す情報を、クライアント端末２０に送信する（ステップＳ３）。
【００５４】
次に、クライアント端末２０は、受信した情報に基づいて、リモートデスクトップの画面を表示装置２００３に表示する（ステップＳ４）。前述のように、このとき、クライアント端末２０は、自装置の設定に基づく表示サイズで、リモートデスクトップの画面を表示する。
【００５５】
次に、クライアント端末２０は、リモートデスクトップの画面の表示領域に対する操作情報を、入力装置２００４を介して取得する（ステップＳ５）。
【００５６】
次に、クライアント端末２０は、入力された操作情報を、中継装置３０を介してサーバ１０宛てに送信する（ステップＳ６）。
【００５７】
次に、中継装置３０において、操作情報受信部３３は、操作情報をクライアント端末２０から受信する。そして、操作監視部３４は、受信した操作情報が、ＧＵＩベースの操作情報であるか否かを判断する（ステップＳ７）。これは、例えば、操作情報に、操作位置が含まれるか否かにより判断可能である。
【００５８】
ここで、ＧＵＩベースの操作情報である場合、操作監視部３４は、画面情報が表す画面に検知対象類似領域が含まれ、かつ、その検知対象類似領域に操作位置が含まれているか否かを解析する。そして、操作監視部３４は、解析結果に基づいて、操作情報が検知対象であるか否かを判断する（ステップＳ８）。
【００５９】
ここで、操作情報が検知対象である場合、操作監視部３４は、所定のブロック処理を実行する（ステップＳ９）。
【００６０】
例えば、操作監視部３４は、前述のように、操作が不可である等を表す画像情報を生成してもよい。そして、操作監視部３４は、生成した画像情報を、リモートデスクトップの画面に重畳表示するよう指示する情報とともにクライアント端末２０に送信するよう、リモートデスクトップ送信部３２を制御する。
【００６１】
一方、ステップＳ７においてＧＵＩベースの操作情報でないと判断された場合、または、ステップＳ８において操作情報が検知対象でないと判断された場合について説明する。この場合、操作情報送信部３５は、操作情報をサーバ１０に送信する（ステップＳ１０）。
【００６２】
そして、サーバ１０は、受信した操作情報に基づく処理を実行する（ステップＳ１１）。
【００６３】
なお、ステップＳ８において、操作監視部３４は、前述のように、画面情報が表す画面において検知対象類似領域に操作位置が含まれるか否かに加えて、さらに、操作内容が検知対象であるか否かを解析してもよい。そして、操作監視部３４は、検知対象類似領域に操作位置が含まれ、かつ、操作内容が検知対象である場合に、操作情報が検知対象であると判断してもよい。この場合、操作監視部３４は、検知対象類似領域に操作位置が含まれないか、または、操作内容が検知対象でない場合には、操作情報が検知対象でないと判断してもよい。
【００６４】
また、中継装置３０は、ブロック処理を特に定めていない場合等は、ステップＳ９の実行を省略してもよい。この場合であっても、操作情報送信部３５は、検知対象であると判断された操作情報をサーバ１０に送信しないので、サーバ１０は、検知対象の操作に基づく処理を実行することがない。
【００６５】
以上で、情報処理システム１の動作の説明を終了する。
【００６６】
次に、本発明の実施の形態の効果について述べる。
【００６７】
本発明の実施の形態としての情報処理システムは、サーバに対するクライアント端末からのＧＵＩベースの好ましくない操作を、サーバに監視エージェントを搭載せずに防止することができる。
【００６８】
その理由について説明する。本実施の形態では、中継装置が、サーバと、サーバにリモートデスクトップ接続するクライアント端末との間の通信を中継する。そして、中継装置において、画面取得部が、リモートデスクトップを表す情報をサーバから受信し、受信した情報に基づいて、リモートデスクトップとして表示可能な画面の所定領域を表す画像データである画面情報を取得する。そして、リモートデスクトップ送信部が、リモートデスクトップを表す情報をクライアント端末に送信する。また、操作情報受信部が、クライアント端末においてリモートデスクトップの画面の表示領域に対してなされた操作を表す操作情報を、クライアント端末から受信する。そして、操作監視部が、画面情報が表す画面において、検知対象類似領域に操作位置が含まれているか否かに基づいて、操作情報が検知対象であるか否かを判断する。そして、操作情報送信部は、検知対象でないと判断された操作情報を、サーバに送信し、検知対象であると判断された操作情報をサーバに送信しないからである。
【００６９】
このように、本実施の形態は、中継装置が、常に、リモートデスクトップの表示可能な画面の所定領域を表す画像データである画面情報を取得して記憶している。これにより、本実施の形態は、クライアント端末においてリモートデスクトップの表示サイズがどのように設定されていても、操作情報に含まれる操作位置に基づき画面情報が表す画面における操作位置を特定することができる。このため、本実施の形態は、画面情報が表す画面において、検知対象類似領域に操作位置が含まれているか否かを解析することができる。特に、画面情報が、リモートデスクトップの表示可能な画面の全域を表す場合、本実施の形態は、検知対象類似領域をより確実により精度よく検知することができる。その結果、本実施の形態は、サーバに監視エージェントを搭載することなく、入力文字列やウィンドウタイトルに基づく検知を行う場合に比べて、より粒度の細かい検知対象の操作を設定することができ、そのような操作を防止することができる。
【００７０】
上述したように、本実施の形態は、クライアント端末からサーバに対する接続自体に不正が検出されない場合であっても、ＧＵＩベースの好ましくない操作を防止することができる。
【００７１】
なお、本実施の形態において、サーバにリモートデスクトップ接続するクライアント端末が１つである例を中心に説明した。これに限らず、本実施の形態は、サーバに対して複数のクライアント端末がリモートデスクトップ接続する場合にも適用可能である。この場合、中継装置における各機能ブロックは、クライアント端末毎に情報を保持しクライアント端末毎に動作するよう構成される。
【００７２】
また、本実施の形態において、操作監視部は、ＧＵＩベースでない操作情報については、そのままサーバに送信するものとして説明した。これに限らず、操作監視部は、ＧＵＩベースでない操作情報についても、文字列等に基づく公知の手法に基づき検知対象であるか否かを判断してもよい。
【００７３】
また、本実施の形態において、中継装置の各機能ブロックが、記憶装置またはＲＯＭに記憶されたコンピュータ・プログラムを実行するＣＰＵによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせは、専用のハードウェアにより実現されていてもよい。
【００７４】
また、本実施の形態において、中継装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
【００７５】
また、上述した本発明の各実施の形態において、フローチャートを参照して説明した中継装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータの記憶装置（記憶媒体）に格納しておいてもよい。そして、係るコンピュータ・プログラムを当該ＣＰＵが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
【００７６】
また、本発明は、本実施の形態に限定されず、様々な態様で実施されることが可能である。
【符号の説明】
【００７７】
１    情報処理システム
１０    サーバ
２０    クライアント端末
３０    中継装置
３１    画面取得部
３２    リモートデスクトップ送信部
３３    操作情報受信部
３４    操作監視部
３５    操作情報送信部
１００１、２００１、３００１    ＣＰＵ
１００２、２００２、３００２    メモリ
１００５、２００５、３００５    ネットワークインタフェース
２００３    表示装置
２００４    入力装置
【図１】
2017102847.tif 000003
【図２】
2017102847.tif 000004
【図３】
2017102847.tif 000005