(57)【要約】【課題】端末に対する不正な遠隔操作を有効に防止する。【解決手段】ユーザ端末１０は、実行するプログラム５０から、遠隔操作端末１５０との遠隔操作を行う所定の命令を検知し、当該プログラムの実行を一時的に停止するとともに、その信頼性を信頼性管理サーバ２００に諮ることで、プログラムの実行可否についてより高い精度の情報をユーザに提供する。【選択図】図１
2014089639.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して他の機器と通信可能に接続されたユーザ端末であって、
前記ユーザ端末がプログラムを実行する場合において、当該プログラムから、前記他の機器と遠隔操作を行う所定の命令の呼び出しを検知する呼び出し検知手段と、
前記呼び出し検知手段によって、所定の命令の呼び出しが検知されたプログラムの実行を、当該所定の命令の呼び出しの直前で一時的に停止する実行停止手段と、
前記プログラムの、前記所定の命令の呼び出しの可否に関して、ユーザからの入力を受け付ける実行可否受付手段と、
前記実行可否受付手段によって、許可の入力を受け付けた場合に、前記実行停止手段によって停止されたプログラムの実行を再開する実行再開手段と、
を備えるユーザ端末。
【請求項２】
請求項１に記載のユーザ端末であって、
前記実行可否受付手段において受け付けた入力を、前記ユーザ端末が備える記憶部に記憶させる実行可否記憶手段と、
前記呼び出し検知手段によって、所定の命令の呼び出しが検知されたプログラムの情報を画面に表示するとともに、前記実行可否記憶手段によって、当該プログラムに関して前記ユーザから過去に入力された実行可否に関する情報を表示する履歴表示手段と、
を備えるユーザ端末。
【請求項３】
請求項１または２のいずれか一項に記載のユーザ端末であって、
前記実行可否受付手段において受け付けた入力を、前記ユーザ端末と通信可能に接続された信頼性管理サーバに記憶させる実行可否報告手段と、
前記呼び出し検知手段によって、所定の命令の呼び出しが検知されたプログラムの情報を画面に表示するとともに、前記信頼性管理サーバから受信した、当該プログラムに関して一以上の前記ユーザから過去に入力された実行可否に関する情報を表示する信頼性表示手段と、
を備えるユーザ端末。
【請求項４】
請求項３に記載のユーザ端末と通信可能に接続された信頼性管理サーバであって、
前記ユーザ端末から、前記実行可否受付手段において受け付けた入力を受信して記憶部に記憶させる実行可否累積手段と、
前記実行可否累積手段において記憶させた実行可否に関する情報に統計的な処理を加え、前記実行可否に関わるプログラムの信頼性を算出する信頼性算出手段と、
前記ユーザ端末の求めに応じて、前記実行可否記憶手段において記憶させた実行可否と、前記信頼性算出手段において算出された信頼性との少なくとも一方を、前記ユーザ端末に送信する信頼性提供手段と、
を備える信頼性管理サーバ。
【請求項５】
ネットワークを介して他の機器と通信可能に接続されたユーザ端末が実行する不正遠隔操作防止方法であって、
前記ユーザ端末がプログラムを実行する場合において、当該プログラムから、他の機器と通信を行う所定の命令の呼び出しを検知するステップと、
前記所定の命令の呼び出しが検知されたプログラムの実行を、当該所定の命令の呼び出しの直前で一時的に停止するステップと、
前記プログラムの、前記所定の命令の呼び出しの可否に関して、ユーザからの入力を受け付けるステップと、
前記ユーザから許可の入力を受け付けた場合に、前記実行停止手段によって停止されたプログラムの実行を再開するステップと、
を備える不正遠隔操作防止方法。
【請求項６】
ネットワークを介して他の機器と通信可能に接続されたユーザ端末に、
前記ユーザ端末がプログラムを実行する場合において、当該プログラムから、他の機器と通信を行う所定の命令の呼び出しを検知するステップ、
前記所定の命令の呼び出しが検知されたプログラムの実行を、当該所定の命令の呼び出しの直前で一時的に停止するステップ、
前記プログラムの、前記所定の命令の呼び出しの可否に関して、ユーザからの入力を受け付けるステップ、
前記ユーザから許可の入力を受け付けた場合に、前記実行停止手段によって停止されたプログラムの実行を再開するステップ、
を実行させる不正遠隔操作防止プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正な遠隔操作を防止するユーザ端末、信頼性管理サーバ、不正遠隔操作防止方法、及び不正遠隔操作防止プログラムに関する。
【背景技術】
【０００２】
近年、インターネットの普及とともに、インターネットを利用した犯罪もまた、増加している。特に、セキュリティの知識を持たない個人が、コンピュータ自体に重要な情報を記憶させないよう心がけていても、コンピュータを踏み台にされることで、ハッキングや犯罪予告等の犯罪行為の疑惑をかけられるといった、サイバー犯罪に巻き込まれるケースが散見される。
【０００３】
しかし、コンピュータを利用する上で、インターネットを利用することは大きな利点である。そこで、インターネット自体の利用は続けたまま、トロイの木馬と呼ばれるようなプログラムを初めとする、悪意ある遠隔操作プログラムの実行を防止する必要がある。
【０００４】
このような課題に対して、監視対象となるソフトウェアプログラムを加工することなく、当該ソフトウェアプログラムにおける改ざんを確実に検出し得る、改ざん検出装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１８５５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１によれば、ソフトウェアプログラムが、分岐処理または復帰処理を行った場合に、記憶装置のスタック領域に格納されているアドレスが、記憶装置の動的領域及び静的領域のいずれのアドレスであるかを判定し、判定結果に基づいて、記憶領域に格納されているデータに対する改ざんを検出する手法が開示されている。
【０００７】
しかしながら、特許文献１に記載の手法では、元々正常なプログラムが、悪意ある挙動を行うよう改ざんされた場合にそれを防ぐことができるに過ぎず、初めから不正な遠隔操作を行うよう設計され、ユーザに対してさも安全であるかのように見せかけるソフトウェアに対しては、有効に機能しない。
【０００８】
ところで、不正な遠隔操作を行うソフトウェアは広くウイルスと呼ばれ、こうしたウイルスの侵入を防止し、実行を防ぐ、アンチウイルスソフトと呼ばれる、セキュリティ向上のためのソフトウェアがある。
【０００９】
こうしたソフトウェアは、プログラムの内容を辞書状のデータ群と照合し、ウイルスとして登録されている部分を見つけた場合に、当該プログラムをウイルスとみなすよう設計されている。そのため、有名なウイルスほど確実に対処できるが、年々データ群のアップデートを行う必要があるほか、新種のウイルスには対応までのタイムラグが必要であって、個人が作成したウイルスには漏れが生じる場合もあり、高い性能と引き換えに、製品としての価格も高価である。
【００１０】
そこで、本発明者は、アンチウイルスソフトを導入しなくとも、遠隔操作を行う所定の命令をプログラムから検知することで、個々のソフトウェアを照合するのでなく、遠隔操作を行う処理のみを補足し、その信頼性を過去のデータの蓄積から算出することで、より精度の高いプログラムの実行可否の判断を行える方法を提供できることに着目した。
【００１１】
本発明は、これらの課題に鑑み、プログラムから遠隔操作を行う所定の命令を検知し、当該プログラムの実行を一時的に停止するとともに、その信頼性を信頼性管理サーバに諮ることで、プログラムの実行可否についてより高い精度の情報をユーザに提供するユーザ端末を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では、以下のような解決手段を提供する。
【００１３】
第１の特徴に係る発明は、ネットワークを介して他の機器と通信可能に接続されたユーザ端末であって、
前記ユーザ端末がプログラムを実行する場合において、当該プログラムから、前記他の機器と遠隔操作を行う所定の命令の呼び出しを検知する呼び出し検知手段と、
前記呼び出し検知手段によって、所定の命令の呼び出しが検知されたプログラムの実行を、当該所定の命令の呼び出しの直前で一時的に停止する実行停止手段と、
前記プログラムの、前記所定の命令の呼び出しの可否に関して、ユーザからの入力を受け付ける実行可否受付手段と、
前記実行可否受付手段によって、許可の入力を受け付けた場合に、前記実行停止手段によって停止されたプログラムの実行を再開する実行再開手段と、
を備えるユーザ端末を提供する。
【００１４】
第１の特徴に係る発明によれば、ネットワークを介して他の機器と通信可能に接続されたユーザ端末は、前記ユーザ端末がプログラムを実行する場合において、当該プログラムから、前記他の機器と遠隔操作を行う所定の命令の呼び出しを検知し、所定の命令の呼び出しが検知されたプログラムの実行を、当該所定の命令の呼び出しの直前で一時的に停止し、前記プログラムの、前記所定の命令の呼び出しの可否に関して、ユーザからの入力を受け付け、許可の入力を受け付けた場合に、前記実行停止手段によって停止されたプログラムの実行を再開する。
【００１５】
第１の特徴に係る発明は、ユーザ端末のカテゴリであるが、不正遠隔操作防止方法、及び、不正遠隔操作防止プログラムであっても同様の作用、効果を奏する。
【００１６】
第２の特徴に係る発明は、第１の特徴に係る発明であるユーザ端末であって、
前記実行可否受付手段において受け付けた入力を、前記ユーザ端末が備える記憶部に記憶させる実行可否記憶手段と、
前記呼び出し検知手段によって、所定の命令の呼び出しが検知されたプログラムの情報を画面に表示するとともに、前記実行可否記憶手段によって、当該プログラムに関して前記ユーザから過去に入力された実行可否に関する情報を表示する履歴表示手段と、
を備えるユーザ端末を提供する。
【００１７】
第２の特徴に係る発明によれば、第１の特徴に係る発明であるユーザ端末は、前記受け付けた入力を、前記ユーザ端末が備える記憶部に記憶させ、所定の命令の呼び出しが検知されたプログラムの情報を画面に表示するとともに、当該プログラムに関して前記ユーザから過去に入力された実行可否に関する情報を表示する。
【００１８】
第３の特徴に係る発明は、第１又は第２のいずれかの特徴に係る発明であるユーザ端末であって、
前記実行可否受付手段において受け付けた入力を、前記ユーザ端末と通信可能に接続された信頼性管理サーバに記憶させる実行可否報告手段と、
前記呼び出し検知手段によって、所定の命令の呼び出しが検知されたプログラムの情報を画面に表示するとともに、前記信頼性管理サーバから受信した、当該プログラムに関して一以上の前記ユーザから過去に入力された実行可否に関する情報を表示する信頼性表示手段と、
を備えるユーザ端末を提供する。
【００１９】
第３の特徴に係る発明によれば、第１又は第２のいずれかの特徴に係る発明であるユーザ端末は、前記受け付けた入力を、前記ユーザ端末と通信可能に接続された信頼性管理サーバに記憶させ、所定の命令の呼び出しが検知されたプログラムの情報を画面に表示するとともに、前記信頼性管理サーバから受信した、当該プログラムに関して一以上の前記ユーザから過去に入力された実行可否に関する情報を表示する。
【００２０】
第４の特徴に係る発明は、第３の特徴に係る発明であるユーザ端末と通信可能に接続された信頼性管理サーバであって、
前記ユーザ端末から、前記実行可否受付手段において受け付けた入力を受信して記憶部に記憶させる実行可否累積手段と、
前記実行可否累積手段において記憶させた実行可否に関する情報に統計的な処理を加え、前記実行可否に関わるプログラムの信頼性を算出する信頼性算出手段と、
前記ユーザ端末の求めに応じて、前記実行可否記憶手段において記憶させた実行可否と、前記信頼性算出手段において算出された信頼性との少なくとも一方を、前記ユーザ端末に送信する信頼性提供手段と、
を備える信頼性管理サーバを提供する。
【００２１】
第４の特徴に係る発明によれば、第３の特徴に係る発明であるユーザ端末と通信可能に接続された信頼性管理サーバは、前記ユーザ端末から、前記受け付けた入力を受信して記憶部に記憶させ、記憶させた実行可否に関する情報に統計的な処理を加え、前記実行可否に関わるプログラムの信頼性を算出し、前記ユーザ端末の求めに応じて、前記記憶させた実行可否と、前記算出された信頼性との少なくとも一方を、前記ユーザ端末に送信する。
【００２２】
第５の特徴に係る発明は、ネットワークを介して他の機器と通信可能に接続されたユーザ端末が実行する不正遠隔操作防止方法であって、
前記ユーザ端末がプログラムを実行する場合において、当該プログラムから、他の機器と通信を行う所定の命令の呼び出しを検知するステップと、
前記所定の命令の呼び出しが検知されたプログラムの実行を、当該所定の命令の呼び出しの直前で一時的に停止するステップと、
前記プログラムの、前記所定の命令の呼び出しの可否に関して、ユーザからの入力を受け付けるステップと、
前記ユーザから許可の入力を受け付けた場合に、前記実行停止手段によって停止されたプログラムの実行を再開するステップと、
を備える不正遠隔操作防止方法を提供する。
【００２３】
第６の特徴に係る発明は、ネットワークを介して他の機器と通信可能に接続されたユーザ端末に、
前記ユーザ端末がプログラムを実行する場合において、当該プログラムから、他の機器と通信を行う所定の命令の呼び出しを検知するステップ、
前記所定の命令の呼び出しが検知されたプログラムの実行を、当該所定の命令の呼び出しの直前で一時的に停止するステップ、
前記プログラムの、前記所定の命令の呼び出しの可否に関して、ユーザからの入力を受け付けるステップ、
前記ユーザから許可の入力を受け付けた場合に、前記実行停止手段によって停止されたプログラムの実行を再開するステップ、
を実行させる不正遠隔操作防止プログラムを提供する。
【発明の効果】
【００２４】
本発明によれば、プログラムから遠隔操作を行う所定の命令を検知し、当該プログラムの実行を一時的に停止するとともに、その信頼性を信頼性管理サーバに諮ることで、プログラムの実行可否についてより高い精度の情報をユーザに提供するユーザ端末を提供することが可能となる。
【図面の簡単な説明】
【００２５】
【図１】図１は、不正遠隔操作防止システム１の概要図である。
【図２】図２は、不正遠隔操作防止システム１の全体構成図である。
【図３】図３は、ユーザ端末１０、遠隔操作端末１５０、信頼性管理サーバ２００の機能ブロック図である。
【図４】図４は、ユーザ端末１０と信頼性管理サーバ２００が実行する不正遠隔操作防止処理を示すフローチャート図である。
【図５】図５は、ユーザ端末１０と信頼性管理サーバ２００が実行する信頼性表示処理を示すフローチャート図である。
【図６】図６は、信頼性を表示しない場合に、プログラムの実行可否の入力を受け付ける画面の一例である。
【図７】図７は、信頼性として過去の実行可否の履歴を表示した場合の、実行可否の入力を受け付ける画面の一例である。
【図８】図８は、信頼性管理サーバ２００が算出した信頼性を表示した場合の、実行可否の入力を受け付ける画面の一例である。
【図９】図９は、実行可否データベース２５０内の、実行可否テーブルの一部である。
【００２６】
以下、本発明を実施するための最良の形態について図を参照しながら説明する。なお、これはあくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
【００２７】
［不正遠隔操作防止システム１の概要］
図１は、本発明の好適な実施形態である、ユーザ端末１０と、遠隔操作端末１５０と、信頼性管理サーバ２００によって構成される、不正遠隔操作防止システム１の概要を説明するための概要図である。この図１に基づいて、不正遠隔操作防止システム１の概要について説明する。
【００２８】
不正遠隔操作防止システム１において、ユーザ端末１０と、信頼性管理サーバ２００とが通信可能に接続されている。また、不正遠隔操作防止システム１において、ユーザ端末１０と、遠隔操作端末１５０とが通信可能に接続されている。
【００２９】
初めに、ユーザ端末１０は、プログラム５０を実行する。プログラム５０はコンピュータソフトウェアであって、機械語やプログラミング言語をユーザ端末１０が読み取って実行する。ここで、プログラム５０は、コンパイル済みファイルであるかスクリプト言語であるかを問わず、加えて、具体的な処理内容を設定ファイルや中間コード、スクリプトファイル等の外部ファイルに記載し、プログラム５０がそれを読み込むことで挙動を制御する、いわゆる仮想マシンやスクリプトエンジンであってもよい。
【００３０】
ユーザ端末１０は、実行中のプログラム５０を、実行するステップごとに解析し、次に実行されるステップとして、遠隔操作端末１５０から遠隔操作を受け、または、遠隔操作端末１５０に対して遠隔操作を行うような所定の命令を検知する（ステップＳ０１）。以下では、いずれかの方向の遠隔操作が発生するような命令を、まとめて遠隔操作を行う命令と呼ぶ。当該検知は、名前空間と関数名の組み合わせや、連続した命令の組み合わせや、読み込んだＤＬＬ（ダイナミック・リンク・ライブラリ）のファイル名等によって検知を行ってよい。
【００３１】
すなわち、当該検知は、例えば、プログラム５０が．ＮＥＴ  Ｆｒａｍｅｗｏｒｋ（ドットネットフレームワーク）上で動作するものであれば、ステップ実行とともに、上記のような名前空間と関数名の組み合わせによって、遠隔操作を行うステップを検知してよい。また、Ｊａｖａ仮想マシン上で動作するプログラムであれば、パッケージ名とクラス名によって、遠隔操作を行うステップを検知してよい。
【００３２】
これらの他、プログラム５０が完全な機械語で記載されている場合は、プログラム５０を実行するユーザ端末１０のＣＰＵごとに、ＣＰＵに対する命令を解析し、ある範囲で連続して実行される命令のパターンが、予め記憶された遠隔操作の際に実行される命令パターンと類似しているかどうかを調べ、遠隔操作を行うステップを検知してよい。なお、当該検知は、ユーザの設定に応じて、検知の精度を調節できてよい。
【００３３】
なお、ここでは検知のタイミングとして、プログラム５０の実行中を挙げたが、それに限られず、所定のタイミングで、遠隔操作を行う命令や関数の呼び出しを、プログラム５０の全体から検知してもよい。
【００３４】
ユーザ端末１０がプログラム５０から、遠隔操作を行うステップの検知を行った場合、ユーザ端末１０は、遠隔操作を行わずに、一時的にプログラム５０の実行を停止する。そして、信頼性管理サーバ２００に、プログラム５０の信頼性を要求する。
【００３５】
具体的には、はじめにユーザ端末１０がプログラム５０の情報を送信する。信頼性管理サーバ２００は、過去のユーザの実行可否が記憶されている実行可否データベース２５０から、プログラム５０に関する情報を抽出する。信頼性管理サーバ２００は抽出された実行可否の情報から信頼性を算出し、ユーザ端末１０に送信する（ステップＳ０２）。ここで、過去のユーザの実行可否とは、信頼性を要求したユーザのもののみならず、不特定多数のユーザが過去に行った実行可否の選択であってよい。
【００３６】
ユーザ端末１０は、信頼性管理サーバ２００から受信した信頼性を表示し、ユーザからプログラム５０の実行可否の入力を受け付ける。ここで、信頼性管理サーバ２００が利用可能でないとき等は、単にユーザ端末１０に記憶された過去の実行可否を読みだして、表示部に表示してもよい。
【００３７】
ユーザ端末１０は、ユーザから実行可否の入力を受け付けると、信頼性管理サーバ２００に当該入力を送信する（ステップＳ０３）。信頼性管理サーバ２００は、受信した実行可否の選択を実行可否データベース２５０に記憶させ、次回以降の信頼性の算出において利用できるようにする。
【００３８】
最後に、ユーザ端末１０は、受け付けた実行可否の入力に基づいて、停止されていたプログラム５０を処理する。具体的には、実行許可を受け付けた場合には、プログラム５０を、停止させた遠隔操作を行うステップから、そのまま実行を再開する。一方、実行を拒否した場合には、プログラム５０をそのまま終了させたり、実行中であった関数のみを終了させたりする。プログラム５０が何らかのデータを編集中であった場合に、強制的にプログラム５０全体を終了させることはユーザにとって不利益が大きいため、実行を拒否した場合のその後の処理は、ユーザに判断させることが望ましい。
【００３９】
以上が、不正遠隔操作防止システム１の概要である。
【００４０】
［不正遠隔操作防止システム１のシステム構成］
図２は、本発明の好適な実施形態である不正遠隔操作防止システム１のシステム構成図である。不正遠隔操作防止システム１は、ユーザ端末１０と、遠隔操作端末１５０と、信頼性管理サーバ２００と、公衆回線網３（インターネット網や第３世代、第４世代通信網など）から構成される。
【００４１】
信頼性管理サーバ２００は、後述の機能を備えることで、実行可否に関するユーザの選択を蓄積し、プログラムごとに信頼性を管理するサーバである。
【００４２】
ユーザ端末１０は、データ通信を行うことが可能な家庭用又は業務用の電化製品であって、例えば、パソコン、テレビ、電話機、コンピュータに加えて、携帯電話、携帯情報端末、ネットブック端末、スレート端末、電子書籍端末、携帯型音楽プレーヤ、オーディオコンポ、コンテンツ再生・録画プレーヤ、プリンタ、ＦＡＸ機、コピー機、スキャナ機、ＭＦＰ（多機能周辺装置、多機能プリンタ）等の情報家電のみならず、冷蔵庫、洗濯機、食器洗浄乾燥機、扇風機、エアコン、電気ストーブ、炊飯器、電子レンジ等の白物家電や、電気照明、サーバ、ルータ、ゲートウェイ、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）等も含む。
【００４３】
遠隔操作端末１５０は、ユーザ端末１０に対して遠隔操作を行い、またはユーザ端末１０から遠隔操作を受ける機能を有する、一般的な情報端末である。
【００４４】
本実施例において、ユーザ端末１０と信頼性管理サーバ２００、及びユーザ端末１０と遠隔操作端末１５０は、公衆回線網３を介して通信可能に接続されている。このとき、信頼性管理サーバ２００と、遠隔操作端末１５０は、直接通信可能である必要はない。また、不正遠隔操作防止システム１内の通信は、有線と無線とを問わない。
【００４５】
また、遠隔操作端末１５０は図２において一台のみ描画されているが、複数台であってよく、ユーザ端末１０とは、ローカルエリアネットワークや有線で接続されていてもよい。信頼性管理サーバ２００に関しても、同様である。
【００４６】
［各機能の説明］
図３は、ユーザ端末１０と、遠隔操作端末１５０と、信頼性管理サーバ２００の機能ブロックと各機能の関係を示す図である。
【００４７】
ユーザ端末１０は、制御部１１として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ），ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ），ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を備え、通信部１２として、例えば、ＩＥＥＥ８０２．１１に準拠したＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ対応デバイス又は、第３世代移動通信システム等のＩＭＴ−２０００規格に準拠した無線デバイス等を備える（有線によるＬＡＮ接続であってもよい）。
【００４８】
また、ユーザ端末１０は、入出力部１３として、制御部で制御したデータや画像を出力表示する表示部を備え、ユーザやサポート者からの入力を受付けるタッチパネルやキーボード、マウス等を備える。さらに、ユーザ端末１０は、記憶部２２として、ハードディスクや半導体メモリによる、データのストレージ部を備える。
【００４９】
ユーザ端末１０において、制御部１１が所定のプログラムを読み込むことで、通信部１２と協働して、呼び出し検知モジュール１４、実行停止モジュール１５、実行再開モジュール１７、実行可否報告モジュール２０を実現する。また、ユーザ端末１０において、制御部１１が所定のプログラムを読み込むことで、入出力部１３と協働して、実行可否受付モジュール１６、履歴表示モジュール１９、信頼性表示モジュール２１を実現する。また、ユーザ端末１０において、制御部１１が所定のプログラムを読み込むことで、記憶部２２と協働して、実行可否記憶モジュール１８を実現する。
【００５０】
信頼性管理サーバ２００は、同様に、制御部２０１として、ＣＰＵ，ＲＡＭ，ＲＯＭ等を備え、通信部２０２として、例えば、ＩＥＥＥ８０２．１１に準拠したＷｉＦｉ対応デバイス又は、第３世代移動通信システム等のＩＭＴ−２０００規格に準拠した無線デバイス等を備える（有線によるＬＡＮ接続であってもよい）。さらに、信頼性管理サーバ２００は、記憶部２０３として、ハードディスクや半導体メモリによる、データのストレージ部を備える。信頼性管理サーバ２００は、実行可否データベース２５０を、記憶部に備える。
【００５１】
信頼性管理サーバ２００において、制御部２０１が所定のプログラムを読み込むことで、通信部２０２と協働して、信頼性提供モジュール２０４を実現する。また、信頼性管理サーバ２００において、制御部２０１が所定のプログラムを読み込むことで、記憶部２０３と協働して、実行可否累積モジュール２０５、信頼性算出モジュール２０６を実現する。
【００５２】
遠隔操作端末１５０は、同様に、制御部１５１として、ＣＰＵ，ＲＡＭ，ＲＯＭ等を備え、通信部１５２として、例えば、ＩＥＥＥ８０２．１１に準拠したＷｉＦｉ対応デバイス又は、第３世代移動通信システム等のＩＭＴ−２０００規格に準拠した無線デバイス等を備える（有線によるＬＡＮ接続であってもよい）。
【００５３】
遠隔操作端末１５０において、制御部１５１が所定のプログラムを読み込むことで、通信部１５２と協働して、遠隔操作モジュール１５３を実現する。
【００５４】
［不正遠隔操作防止処理］
図４は、ユーザ端末１０と信頼性管理サーバ２００が実行する、不正遠隔操作防止処理のフローチャートである。上述した各装置のモジュールが行う処理について、本処理にて併せて説明する。
【００５５】
はじめに、ユーザ端末１０は、プログラムを一ステップずつ実行するともに、次のステップの処理内容を取得する（ステップＳ１１）。ここでステップとは、プログラムの処理を実行単位でまとめたものであって、ＣＰＵ命令等の最小単位であってもよいし、関数等の、一定の粒度の処理のまとまりであってもよい。ステップの単位が小さいほど、後述の遠隔操作を行うステップの検知の精度は高まるが、実行負荷も大きくなる関係にある。
【００５６】
ユーザ端末１０の呼び出し検知モジュール１４は、取得したステップの内容が、遠隔操作端末１５０の遠隔操作モジュール１５３の機能を呼び出す等の、ネットワークを介した他の機器との遠隔操作を行う所定の命令であるかを判断することで、遠隔操作を行う所定の命令を検知する（ステップＳ１２）。次のステップが遠隔操作を行う命令でなかった場合（ステップＳ１２：「ＮＯ」の場合）には、そのステップを実行し、所定の命令が検知されるまでステップＳ１１をループする。次のステップが遠隔操作を行う命令であった場合（ステップＳ１２：「ＹＥＳ」の場合）には、それを検知し、当該次のステップを実行せずに、以下の処理を行う。
【００５７】
ここで、当該検知は、名前空間と関数名の組み合わせや、連続した命令の組み合わせや、読み込んだＤＬＬのファイル名等によって検知を行ってよい。なお、呼び出し検知モジュール１４は、プログラム自体の解析を行わず、通信部１２で送受信されるパケットのデータを解析し、既知のプロトコルと照らし合わせることで、遠隔操作の実行を検出し、そこから遠隔操作を行う所定の命令を、プログラムから検知してもよい。
【００５８】
また、呼び出し検知モジュール１４は、ユーザ端末１０が直接遠隔操作端末１５０と通信を行わず、ユーザ端末１０と同一のローカルエリアネットワーク内にあって、遠隔操作を中継する端末が存在するような場合であっても、そのような処理を行う所定の命令を検知するものとする。
【００５９】
呼び出し検知モジュール１４が所定の命令を検知した場合、ユーザ端末１０の実行停止モジュール１５は、所定の命令が検知されたプログラムの実行を一時的に停止する（ステップＳ１３）。なお、実行停止モジュール１５は、プログラム自体の実行を停止する代わりに、当該プログラムからの通信部１２の機能の発揮を遮断することで、遠隔操作を行う命令を停止してもよい。そして、当該プログラムの実行可否をユーザが判断するに際して、当該プログラムの信頼性に関する情報をユーザに提供するため、後述の信頼性表示処理を行う（ステップＳ１４）。
【００６０】
［信頼性表示処理］
図５は、ユーザ端末１０と信頼性管理サーバ２００が実行する、信頼性表示処理のフローチャートである。上述した各装置のモジュールが行う処理について、本処理にて併せて説明する。
【００６１】
はじめに、ユーザ端末１０の実行可否報告モジュール２０は、信頼性管理サーバ２００に対して、所定の命令が検知されたプログラムの情報を送信する（ステップＳ２２）。ここで、プログラムの情報として、プログラムの作成者、作成日、プログラムの名称、データの大きさといった一般的な情報に限らず、遠隔操作の通信先、遠隔操作を呼び出そうとした頻度、ダウンロード元ホスト等の入手経路といった、プログラム固有の挙動や属性を、可能な限り送信してよい。なお、回線及び容量の制約が小さい場合には、プログラムの情報として、プログラムのデータ全体を送信してもよい。
【００６２】
次に、信頼性管理サーバ２００は、プログラムの情報を受信し、当該情報を信頼性算出モジュール２０６に渡すことで、実行可否データベース２５０から、当該プログラムや、当該プログラムと類似のプログラムに関する、ユーザの実行可否に関するデータを抽出する（ステップＳ２３）。
【００６３】
図９は、実行可否データベース２５０内の、実行可否テーブルの一部である。実行可否テーブルには、実行可否を行ったユーザを表す取得元ＩＰと、上記のようなプログラム情報が記憶されている。図９では省略されており、遠隔操作の通信先である通信先ＩＰのみ表示している。
【００６４】
信頼性算出モジュール２０６が実行可否テーブルから、受信した情報と実行可否テーブル内のプログラム情報との類似度を計算し、特定のプログラム、または類似のプログラムに関するデータを抽出する。類似度は、例えばプログラムの情報として一致する項目数で計算されてよく、その中でも特に、通信先ＩＰはプログラムの信頼度を大きく左右するので、重視されるべきである。また、実行可否が最近に記憶されたものは、それより過去に記憶されたものよりも、より重視されるべきといえる。また、過去に実行可否のデータを提供したユーザは、今回要求を行っているユーザと異なっていて構わない。そうすることで、より多くのデータが利用可能となる。
【００６５】
次に、信頼性算出モジュール２０６は、抽出した実行可否データに対して統計処理等を加えることで、当該プログラムの信頼度を算出する（ステップＳ２４）。最も基本的な統計処理として、単に全体の何％のユーザが実行許可、あるいは実行拒否を行ったかを算出してよい。更に、統計処理を加えることで、信頼性の精度を上昇させたり、人間たるユーザが意味を解釈しやくしたりするための処理をおこなってもよい。
【００６６】
具体的には、例えば「安全なプログラムであれば、９０％のユーザが実行を許可する」ということが過去のデータからわかっていた場合に、新たに発見されたプログラムに対して「このプログラムは安全である」という仮説に対して統計学的検定を行う。仮説が棄却された場合に「このプログラムの実行は非常に危険です。発行元が信頼できる場合にだけ、実行を許可してください」というメッセージを信頼度とすることで、「５５％のユーザが実行を拒否しました」という情報よりも、ユーザが正しい判断を行う可能性を向上させることができる。
【００６７】
次に、信頼性提供モジュール２０４は、ユーザ端末１０に対し、算出された信頼度を送信する（ステップＳ２５）。ユーザ端末１０は信頼性を受信し、信頼性表示モジュール２１が、受信した信頼性を表示部に表示する（ステップＳ２６）。以上が、信頼性表示処理の処理手順である。
【００６８】
不正遠隔操作防止処理に戻り、ユーザ端末１０の実行可否受付モジュール１６は、停止させたプログラムの実行可否の入力を、ユーザから受け付ける（ステップＳ１５）。なお、信頼性管理サーバ２００が利用可能でない場合や、ユーザ端末１０が信頼性管理サーバ２００と通信を行う機能を持たない場合には、ユーザ端末１０は、信頼性表示処理に替えて、後述の実行可否記憶モジュール１８によって記憶部２２に記憶された、自身の過去の実行可否の記録を、信頼性として表示部に表示して良い。それも利用可能でない場合には、信頼性を表示せず、単にプログラムの実行可否の入力を受け付けるのみであってよい。
【００６９】
図６は、信頼性を表示しない場合に、プログラムの実行可否の入力を受け付ける画面の一例である。プログラム名と通信先を含む報告メッセージ６１のほか、実行可否の入力を促す旨のメッセージ６２と、実行許可を表す継続ボタン６３、及び、実行拒否を表す中止ボタン６４が画面に表示される。
【００７０】
図７は、信頼性として過去の実行可否の履歴を表示した場合の、実行可否の入力を受け付ける画面の一例である。自らが過去に実行を許可した回数７１と、実行を拒否した回数７２が画面に表示される。その他は、図６と同様である。
【００７１】
図８は、信頼性管理サーバ２００が算出した信頼性を表示した場合の、実行可否の入力を受け付ける画面の一例である。信頼性管理サーバ２００が算出した信頼性に関するメッセージ８１が表示される。ほかにも、例えば、「このプログラムの実行は非常に危険です。発行元が信頼できる場合にだけ、実行を許可してください」といった信頼性を表す文章も、メッセージ８１として表示されうる。その他は、図６と同様である。
【００７２】
ユーザは、図６における継続ボタン６３を押し下げることで、実行許可を入力し、あるいは中止ボタン６４を押し下げることで、実行拒否を入力する。実行可否が入力されると、ユーザ端末１０の実行可否記憶モジュール１８は、当該実行可否を記憶部２２に記憶させる（ステップＳ１６）。このデータは、図７の表示に利用される。
【００７３】
次に、実行可否報告モジュール２０は、実行可否を信頼性管理サーバ２００に送信し（ステップＳ１７）、信頼性管理サーバ２００の実行可否累積モジュール２０５は、当該実行可否をプログラムの情報とともに実行可否データベース２５０に記憶させる（ステップＳ１８）。
【００７４】
最後に、ユーザの入力した実行可否に従って、プログラムを処理する（ステップＳ１９）。ユーザが実行許可を入力した場合には、実行再開モジュール１７は、プログラムを停止した次のステップからそのまま開始し、遠隔操作端末１５０との遠隔操作を行う。一方、実行を拒否した場合には、実行再開を行わない。その後はユーザがプログラムを終了させてもよいし、実行停止モジュール１５が、強制的にプログラムを終了させてもよい。
【００７５】
なお、本実施例では、実行可否を信頼性管理サーバ２００に報告した後で、プログラムを再開している。よって、実行許可を選択したにも関わらず、その後不正な遠隔操作が行われた場合等に、報告する実行可否を変更すべき場合がある。そのような場合には、当該プログラムが実行を終了するまで図６のようなウィンドウを出し続けることで、後から実行可否を上書きするとともに、中止ボタン６４が押されたタイミングで、プログラムの実行を強制停止してもよい。一方、信頼性管理サーバ２００は、そのようにして上書きされた実行中止の報告を、実行再開前に報告された実行可否と比して、より重要度が高いデータとして扱ってよい。
【００７６】
以上が、不正遠隔操作防止処理の処理手順である。
【００７７】
上述した手段、機能は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が、所定のプログラムを読み込んで、実行することによって実現される。プログラムは、例えば、フレキシブルディスク、ＣＤ（ＣＤ−ＲＯＭなど）、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し記憶して実行する。また、そのプログラムを、例えば、磁気ディスク、光ディスク、光磁気ディスク等の記憶装置（記録媒体）に予め記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【００７８】
以上、本発明の実施形態について説明したが、本発明は上述したこれらの実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００７９】
１  不正遠隔操作防止システム、１０  ユーザ端末、１５０  遠隔操作端末、２００  信頼性管理サーバ、２５０  実行可否データベース
【図１】
2014089639.tif 000003
【図２】
2014089639.tif 000004
【図３】
2014089639.tif 000005
【図４】
2014089639.tif 000006
【図５】
2014089639.tif 000007
【図６】
2014089639.tif 000008
【図７】
2014089639.tif 000009
【図８】
2014089639.tif 000010
【図９】
2014089639.tif 000011