(57)【要約】【課題】不正なプログラムを検出できるようにする。【解決手段】仮想計算機部２２１は物理計算機の動作を模擬する仮想計算機として動作する。実行命令検出部２１１が物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する。実行命令が検出された場合、実行命令部２２２は、動作プログラムの実行を仮想計算機部２２１に命令する。動作プログラムの実行が仮想計算機部２２１に命令された後、レジストリ変更検出部２３１は、仮想レジストリの変更を検出する。仮想レジストリの変更が検出された場合、不正変更判定部２３２は、仮想レジストリの変更の内容に基づいて、動作プログラムが不正なプログラムであるか判定する。【選択図】図６
2016181208.tif 000002
【特許請求の範囲】
【請求項１】
レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する仮想計算機部と、
前記物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する実行命令検出部と、
前記実行命令が検出された場合、前記動作プログラムの実行を前記仮想計算機部に命令する実行命令部と、
前記動作プログラムの実行が前記仮想計算機部に命令された後、前記仮想計算機部が有するレジストリである仮想レジストリの変更を検出するレジストリ変更検出部と、
前記仮想レジストリの変更が検出された場合、前記仮想レジストリの変更の内容に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正変更判定部と
を備える不正監視装置。
【請求項２】
前記仮想レジストリは複数の設定情報を含み、
前記不正監視装置は、
前記動作プログラムの実行が開始された後に前記仮想計算機部に発生した発生動作を検出する発生動作検出部を備え、
前記不正変更判定部は、
動作に設定情報を対応付けたレジストリ管理ファイルから、前記発生動作に対応付いた設定情報を対象情報として特定し、前記仮想レジストリの変更が前記対象情報の変更であるか否かに基づいて前記動作プログラムが不正なプログラムであるか判定する
請求項１に記載の不正監視装置。
【請求項３】
前記動作プログラムの実行が開始された後に前記仮想計算機部に発生した発生動作を検出する発生動作検出部と、
前記発生動作によって起動されたプログラムを発生プログラムとして検出する発生プログラム検出部と、
前記発生プログラムが検出された場合、前記発生プログラムの種類に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正起動判定部と
を備える請求項１に記載の不正監視装置。
【請求項４】
前記不正起動判定部は、動作にプログラムを対応付けたプログラム管理ファイルから、前記発生動作に対応付いたプログラムを対象プログラムとして特定し、前記発生プログラムが前記対象プログラムであるか否かに基づいて前記動作プログラムが不正なプログラムであるか判定する
請求項３に記載の不正監視装置。
【請求項５】
前記仮想計算機部は、実行される予定のタスクが登録されるタスク登録ファイルを有し、
前記不正監視装置は、
前記動作プログラムの実行が開始された後に前記仮想計算機部に発生した発生動作を検出する発生動作検出部と、
前記発生動作によって前記タスク登録ファイルに登録されたタスクを発生タスクとして検出する発生タスク検出部と、
前記発生タスクが検出された場合、前記発生タスクの種類に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正登録判定部と
を備える請求項１に記載の不正監視装置。
【請求項６】
前記不正登録判定部は、動作にタスクを対応付けたタスク管理ファイルから、前記発生動作に対応付いたタスクを対象タスクとして特定し、前記発生タスクが前記対象タスクであるか判定し、判定結果に基づいて前記動作プログラムが不正なプログラムであるか判定する
請求項５に記載の不正監視装置。
【請求項７】
送信データを検出する送信検出部と、
前記送信が検出された場合、前記送信データを発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する送信判定部と、
前記送信プログラムが前記操作プログラムでないと判定された場合、前記送信プログラムを停止させる送信停止部と
を備える請求項１から請求項６のいずれか１項に記載の不正監視装置。
【請求項８】
前記送信プログラムが前記操作プログラムでないと判定された場合、外部との通信を遮断する通信遮断部を備える
請求項７に記載の不正監視装置。
【請求項９】
第２のウェブサイトをリンクさせるウェブリンクを含んだ第１のウェブサイトの前記ウェブリンクをクリックするユーザ操作をジャンプ操作として検出するジャンプ操作検出部と、
前記ジャンプ操作が検出された場合、ウェブサイトのアドレスであるリンク元アドレスに、ウェブサイトにリンクされたリンク先へのアクセスの可否を指定するリンク先情報、を対応付けたウェブ管理ファイルに含まれるリンク先情報のうち、前記第１のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、前記ジャンプ操作の許否を判定するジャンプ操作判定部と
を備える請求項１から請求項８のいずれか１項に記載の不正監視装置。
【請求項１０】
前記ジャンプ操作が許可された場合、前記第２のウェブサイトのアドレスがリンク元アドレスとして前記ウェブ管理ファイルに登録されていなければ、前記第２のウェブサイトのアドレスをリンク元アドレスとして前記ウェブ管理ファイルに登録するウェブ管理部と、
ウェブサイトへのアクセスを要求するユーザ操作をアクセス操作として検出するアクセス操作検出部と、
前記アクセス操作が検出された場合、アクセス先のウェブサイトのアドレスがリンク元アドレスとして前記ウェブ管理ファイルに登録されていることを条件として、前記アクセス操作を許可するアクセス操作判定部と
を備える請求項９に記載の不正監視装置。
【請求項１１】
送信データを検出する送信検出部と、
前記送信データが検出された場合、前記送信データを発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する送信判定部と、
前記送信プログラムが前記操作プログラムでないと判定された場合、前記送信プログラムを停止させる送信停止部と
を備える不正監視装置。
【請求項１２】
第２のウェブサイトをリンクさせるウェブリンクを含んだ第１のウェブサイトの前記ウェブリンクをクリックするユーザ操作をジャンプ操作として検出するジャンプ操作検出部と、
前記ジャンプ操作が検出された場合、ウェブサイトのアドレスであるリンク元アドレスに、ウェブサイトにリンクされたリンク先へのアクセスの可否を指定するリンク先情報、を対応付けたウェブ管理ファイルに含まれるリンク先情報のうち、前記第１のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、前記ジャンプ操作の許否を判定するジャンプ操作判定部と
を備える不正監視装置。
【請求項１３】
レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する仮想計算機部と、
前記物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する実行命令検出部と、
前記実行命令が検出された場合、前記動作プログラムの実行を前記仮想計算機部に命令する実行命令部と、
前記動作プログラムの実行が前記仮想計算機部に命令された後、前記仮想計算機部が有するレジストリである仮想レジストリの変更を検出するレジストリ変更検出部と、
前記仮想レジストリの変更が検出された場合、前記仮想レジストリの変更の内容に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正変更判定部
としてコンピュータを機能させるための不正監視プログラム。
【請求項１４】
送信データを検出する送信検出部と、
前記送信データが検出された場合、前記送信データの送信を発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する送信判定部と、
前記送信プログラムが前記操作プログラムでないと判定された場合、前記送信プログラムを停止させる送信停止部
としてコンピュータを機能させるための不正監視プログラム。
【請求項１５】
第２のウェブサイトをリンクさせるウェブリンクを含んだ第１のウェブサイトの前記ウェブリンクをクリックするユーザ操作をジャンプ操作として検出するジャンプ操作検出部と、
前記ジャンプ操作が検出された場合、ウェブサイトのアドレスであるリンク元アドレスに、ウェブサイトにリンクされたリンク先へのアクセスの可否を指定するリンク先情報、を対応付けたウェブ管理ファイルに含まれるリンク先情報のうち、前記第１のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、前記ジャンプ操作の許否を判定するジャンプ操作判定部
としてコンピュータを機能させるための不正監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正なプログラムおよび不正なユーザ操作を監視する技術に関するものである。
【背景技術】
【０００２】
コンピュータ上で動作させたくないプログラムの起動を防止するためにブラックリストおよびホワイトリストを用いる方式がある。
ブラックリストは動作させたくないプログラムの一覧であり、ブラックリストには動作させたくないプログラムのファイル名またはファイル名のハッシュ値が登録される。このブラックリストを用いる方式は、動作させたくないプログラムをブラックリストを用いて判別し、動作させたくないプログラムが起動した場合にそのプログラムのプロセスを強制終了する仕組みである。
ホワイトリストは、ブラウザ、メールソフトおよびオフィスなど、動作が許可されているプログラムの一覧である。ホワイトリストを用いる方式は、動作が許可されているプログラムをホワイトリストを用いて判別し、動作が許可されていないプログラムが起動した場合にそのプログラムのプロセスを強制終了する仕組みである。
【０００３】
ブラックリストを用いる方式は、業務と無関係なプログラムまたは攻撃者が悪用する可能性が高いプログラムなど、ブラックリストに登録されていない未知のプログラムが動作する、というリスクがある。
一方、ホワイトリストを用いる方式は、利用したい新規のプログラムをホワイトリストに登録する必要があるため、運用の負荷が高くなる。
そのため、いずれの方式を採用した場合にも、技術的または運用的に課題がある。また、フリーウェアなど、市場には多数のプログラムが存在する。そのため、業務形態が多岐にわたる場合、全てのプログラムをブラックリストおよびホワイトリストを用いて管理することは現実的でない。
【０００４】
特許文献１から特許文献３は、コンピュータのレジストリを監視することによって、不正なプログラムを検出する技術について開示している。しかし、いずれの技術においても、不正なプログラムが検出されたときには、コンピュータのレジストリが実際に変更されてしまっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−０３８５９６号公報
【特許文献２】特表２００５−５３４０９２号公報
【特許文献３】特開２００５−１４８８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ブラックリストおよびホワイトリストを用いずに、また、コンピュータである物理計算機のレジストリを変更されずに、不正なプログラムを検出できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の不正監視装置は、
レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する仮想計算機部と、
前記物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する実行命令検出部と、
前記実行命令が検出された場合、前記動作プログラムの実行を前記仮想計算機部に命令する実行命令部と、
前記動作プログラムの実行が前記仮想計算機部に命令された後、前記仮想計算機部が有するレジストリである仮想レジストリの変更を検出するレジストリ変更検出部と、
前記仮想レジストリの変更が検出された場合、前記仮想レジストリの変更の内容に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正変更判定部とを備える。
【発明の効果】
【０００８】
本発明によれば、ブラックリストおよびホワイトリストを用いずに、また、コンピュータである物理計算機のレジストリを変更されずに、不正なプログラムを検出することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１における不正監視装置１００の機能構成図。
【図２】実施の形態１におけるレジストリ管理ファイル１９１の構成図。
【図３】実施の形態１におけるプログラム管理ファイル１９２の構成図。
【図４】実施の形態１におけるタスク管理ファイル１９３の構成図。
【図５】実施の形態１におけるウェブ管理ファイル１９４の構成図。
【図６】実施の形態１における不正プログラム監視部２００の機能構成図。
【図７】実施の形態１における不正送信監視部１１０の機能構成図。
【図８】実施の形態１における不正アクセス監視部１２０の機能構成図。
【図９】実施の形態１における不正監視装置１００のハードウェア構成図。
【図１０】実施の形態１における不正プログラム監視方法のフローチャート。
【図１１】実施の形態１における動作検証処理（Ｓ１４０）のフローチャート。
【図１２】実施の形態１における不正送信監視方法のフローチャート。
【図１３】実施の形態１における不正アクセス監視方法のフローチャート。
【発明を実施するための形態】
【００１０】
実施の形態１．
不正プログラム監視機能と不正送信監視機能と不正アクセス監視機能とを有するコンピュータである不正監視装置１００について、図１から図１３に基づいて説明する。
【００１１】
不正プログラム監視機能は、不正なプログラムの起動を監視する機能である。不正なプログラムは実行すべきでないプログラムである。不正なプログラムの一例は、個人情報および秘匿情報を外部に流出させるマルウェアである。一方、正当なプログラムは実行しても問題がないプログラムである。
不正送信監視機能は、不正なプログラムによるデータの送信を監視する機能である。
不正アクセス監視機能は、許可されていないウェブサイトへのアクセスを監視する機能である。
コンピュータは物理計算機であり、物理計算機の動作を模擬する計算機を仮想計算機という。
【００１２】
＊＊＊構成の説明＊＊＊
図１に基づいて、不正監視装置１００の機能構成について説明する。
不正監視装置１００は、不正プログラム監視機能を実現する不正プログラム監視部２００と、不正送信監視機能を実現する不正送信監視部１１０と、不正アクセス監視機能を実現する不正アクセス監視部１２０とを備える。
【００１３】
不正監視装置１００はファイル記憶部１９０を備える。
ファイル記憶部１９０は、ブラックリスト１０１と、ホワイトリスト１０２と、タスク登録ファイル１０３とを記憶する。
ブラックリスト１０１は不正なプログラムの一覧である。
ホワイトリスト１０２は正当なプログラムの一覧である。
タスク登録ファイル１０３は、実行される予定のタスクの一覧を示すファイルである。
【００１４】
ファイル記憶部１９０は、レジストリ管理ファイル１９１と、プログラム管理ファイル１９２と、タスク管理ファイル１９３と、ウェブ管理ファイル１９４とを記憶する。
【００１５】
図２に基づいて、レジストリ管理ファイル１９１の構成について説明する。
レジストリ管理ファイル１９１は、プログラムの実行によって発生する動作に、レジストリに含まれる設定情報を対応付けたファイルである。
動作は、動作の種類と動作の対象になるプログラムとによって区別される。
動作に対応付いた設定情報は、動作によって変更される設定情報である。
オフィスＭというプログラムをインストールする動作が発生したる場合、ＨＫＬＭ＿ＡＡＡという設定情報の値が変更される。
ワープロＭというプログラム、表計算ＭというプログラムまたはワープロＪというプログラムに対応付いたファイルをオープンする動作が発生した場合、いずれの設定情報の値も変更されない。
【００１６】
図３に基づいて、プログラム管理ファイル１９２の構成について説明する。
プログラム管理ファイル１９２は、プログラムの実行が開始された後に発生する動作に、発生した動作によって起動されるプログラムを対応付けたファイルである。
ドキュメントファイルをオープンする動作が発生した場合、ワープロＭというプログラムが起動される。
【００１７】
図４に基づいて、タスク管理ファイル１９３の構成について説明する。
タスク管理ファイル１９３は、プログラムの実行が開始された後に発生する動作に、発生した動作によって登録されるタスクを対応付けたファイルである。
ドキュメントファイルをオープンする動作が発生した場合、タスク登録ファイル１０３にタスクは登録されない。
プログラムＡを再起動するためにコンピュータを再起動する動作が発生した場合、コンピュータが再起動される前にタスク登録ファイル１０３にプログラムＡを起動させるタスクが登録されて、コンピュータが再起動された後にプログラムＡが起動される。
【００１８】
図５に基づいて、ウェブ管理ファイル１９４の構成について説明する。
ウェブ管理ファイル１９４は、リンク元アドレスにリンク先情報を対応付けたファイルである。リンク元アドレスはウェブサイトのアドレスである。リンク先情報はウェブサイトにリンクされたリンク先へのアクセスの可否を指定する情報である。
ウェブサイトＡにリンクされたリンク先にアクセスするための操作が行われた場合、その操作は許可されない。
ウェブサイトＢにリンクされたリンク先にアクセスするための操作が行われた場合、その操作は許可される。
ウェブサイトＣにリンクされたウェブサイトＢにアクセスするための操作が行われた場合、その操作は許可される。しかし、ウェブサイトＣにリンクされた他のリンク先にアクセスするための操作が行われた場合、その操作は許可されない。
【００１９】
図６に基づいて、不正プログラム監視部２００の機能構成について説明する。
不正プログラム監視部２００は、実行命令検出部２１１と、ブラックリスト照合部２１２と、ホワイトリスト照合部２１３とを備える。
実行命令検出部２１１は動作プログラムの実行を命令する実行命令を検出する。動作プログラムは物理計算機を動作させるプログラムである。以降の説明において、動作プログラムは実行命令の対象である動作プログラムを意味する。
ブラックリスト照合部２１２は、実行命令が検出された場合、動作プログラムをブラックリスト１０１と照合し、照合結果に基づいて動作プログラムが不正なプログラムであるか判定する。
ブラックリスト照合部２１２は、実行命令が検出された場合、動作プログラムをホワイトリスト１０２と照合し、照合結果に基づいて動作プログラムが正当なプログラムであるか判定する。
【００２０】
不正プログラム監視部２００は、仮想計算機部２２１と、実行命令部２２２と、発生動作検出部２２３とを備える。
仮想計算機部２２１は、レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する。
実行命令部２２２は、実行命令が検出された場合、動作プログラムの実行を仮想計算機部２２１に命令する。
発生動作検出部２２３は、動作プログラムの実行が開始された後に仮想計算機部２２１に発生した発生動作を検出する。
【００２１】
不正プログラム監視部２００は、レジストリ変更検出部２３１と、不正変更判定部２３２とを備える。
レジストリ変更検出部２３１は、動作プログラムの実行が仮想計算機部２２１に命令された後、仮想計算機部２２１が有するレジストリである仮想レジストリの変更を検出する。仮想レジストリは複数の設定情報を含む。
不正変更判定部２３２は、仮想レジストリの変更が検出された場合、仮想レジストリの変更の内容に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正変更判定部２３２は、レジストリ管理ファイル１９１から、発生動作に対応付いた設定情報を対象情報として特定する。そして、不正変更判定部２３２は、検出された仮想レジストリの変更が対象情報の変更であるか否かに基づいて、動作プログラムが不正なプログラムであるか判定する。
【００２２】
不正プログラム監視部２００は、発生プログラム検出部２４１と、不正起動判定部２４２とを備える。
発生プログラム検出部２４１は、発生動作によって起動されたプログラムを発生プログラムとして検出する。
不正起動判定部２４２は、発生プログラムが検出された場合、発生プログラムの種類に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正起動判定部２４２は、プログラム管理ファイル１９２から、発生動作に対応付いたプログラムを対象プログラムとして特定する。そして、不正起動判定部２４２は、検出された発生プログラムが対象プログラムであるか否かに基づいて、動作プログラムが不正なプログラムであるか判定する。
【００２３】
不正プログラム監視部２００は、発生タスク検出部２５１と、不正登録判定部２５２とを備える。
発生タスク検出部２５１は、発生動作によってタスク登録ファイル１０３に登録されたタスクを発生タスクとして検出する。
不正登録判定部２５２は、発生タスクが検出された場合、発生タスクの種類に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正登録判定部２５２は、タスク管理ファイル１９３から、発生動作に対応付いたタスクを対象タスクとして特定する。そして、不正登録判定部２５２は、検出された発生タスクが対象タスクであるかに基づいて、動作プログラムが不正なプログラムであるか判定する。
【００２４】
不正プログラム監視部２００は実行命令制御部２６１を備える。
動作プログラムが正当なプログラムであると判定された場合、または、動作プログラムが不正なプログラムであると判定されなかった場合、実行命令制御部２６１は、検出された実行命令に従って、不正監視装置１００であるコンピュータに動作プログラムを起動させる。
動作プログラムが不正なプログラムであると判定された場合、実行命令制御部２６１は、検出された実行命令を破棄する。この場合、不正監視装置１００であるコンピュータによって動作プログラムは起動されない。
【００２５】
図７に基づいて、不正送信監視部１１０の機能構成について説明する。
不正送信監視部１１０は、送信検出部１１１と、送信判定部１１２と、送信停止部１１３と、通信遮断部１１４と、ユーザ操作検出部１１５とを備える。
送信検出部１１１は、送信データを検出する。送信データは外部に送信されるデータである。
送信判定部１１２は、送信データが検出された場合、送信データを発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する。送信プログラムは送信データを発生させたプログラムである。操作プログラムはユーザ操作に従って動作しているプログラムである。ユーザ操作はユーザインタフェースを用いて行われる操作である。
送信停止部１１３は、送信プログラムが操作プログラムでないと判定された場合、送信プログラムを停止させる。
通信遮断部１１４は、送信プログラムが操作プログラムでないと判定された場合、外部との通信を遮断する。
ユーザ操作検出部１１５はユーザ操作を検出する。
操作プログラム特定部１１６は、検出されたユーザ操作に従って動作しているプログラムを操作プログラムとして特定する。
【００２６】
図８に基づいて、不正アクセス監視部１２０の機能構成について説明する。
不正アクセス監視部１２０は、アクセス操作検出部１２１と、アクセス操作判定部１２２と、ジャンプ操作検出部１２３と、ジャンプ操作判定部１２４と、ウェブ管理部１２５とを備える。
アクセス操作検出部１２１は、ウェブサイトへのアクセスを要求するユーザ操作をアクセス操作として検出する。
アクセス操作判定部１２２は、アクセス操作が検出された場合、アクセス先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル１９４に登録されていることを条件として、アクセス操作を許可する。
ジャンプ操作検出部１２３は、第２のウェブサイトをリンクさせるウェブリンクを含んだ第１のウェブサイトのウェブリンクをクリックするユーザ操作をジャンプ操作として検出する。
ジャンプ操作判定部１２４は、ジャンプ操作が検出された場合、ウェブ管理ファイル１９４に含まれるリンク先情報のうち、第１のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、ジャンプ操作の許否を判定する。
ウェブ管理部１２５は、ジャンプ操作が許可された場合、第２のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル１９４に登録されていなければ、第２のウェブサイトのアドレスをリンク元アドレスとしてウェブ管理ファイル１９４に登録する。
【００２７】
図９に基づいて、不正監視装置１００のハードウェア構成例について説明する。
不正監視装置１００は、プロセッサ９０１、補助記憶装置９０２、メモリ９０３、通信装置９０４、入力インタフェース９０５、出力インタフェース９０６といったハードウェアを備えるコンピュータである。
プロセッサ９０１は信号線９１０を介して他のハードウェアと接続されている。入力インタフェース９０５はケーブル９１１を介して入力装置９０７に接続されている。出力インタフェース９０６はケーブル９１２を介して出力装置９０８に接続されている。
【００２８】
プロセッサ９０１は、プロセッシングを行うＩＣであり、他のハードウェアを制御する。プロセッサ９０１の一例は、ＣＰＵ、ＤＳＰ、ＧＰＵである。ＩＣはＩｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称である。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称であり、ＤＳＰはＤｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略称であり、ＧＰＵはＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
補助記憶装置９０２はデータを記憶する。補助記憶装置９０２の一例は、ＲＯＭ、フラッシュメモリ、ＨＤＤである。ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称であり、ＨＤＤはＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
メモリ９０３はデータを記憶する。メモリ９０３の一例はＲＡＭである。ＲＡＭはＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
通信装置９０４は、データを受信するレシーバ９０４１と、データを送信するトランスミッタ９０４２とを備える。通信装置９０４の一例は、通信チップ、ＮＩＣである。ＮＩＣはＮｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略称である。
入力インタフェース９０５はケーブル９１１が接続されるポートであり、ポートの一例はＵＳＢ端子である。ＵＳＢはＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略称である。
出力インタフェース９０６はケーブル９１２が接続されるポートであり、ＵＳＢ端子およびＨＤＭＩ端子はポートの一例である。ＨＤＭＩ（登録商標）はＨｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅの略称である。
入力装置９０７はデータ、命令および要求を入力する。入力装置９０７の一例は、マウス、キーボード、タッチパネルである。ユーザによって操作される入力装置９０７はユーザインタフェースである。
出力装置９０８はデータ、結果および応答を出力する。出力装置９０８の一例は、ディスプレイ、プリンタである。ディスプレイの一例はＬＣＤである。ＬＣＤはＬｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略称である。
【００２９】
補助記憶装置９０２にはＯＳが記憶されている。ＯＳはＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略称である。
また、補助記憶装置９０２には、不正プログラム監視部２００と不正送信監視部１１０と不正アクセス監視部１２０としてコンピュータを機能させるための不正監視プログラムが記憶されている。
ＯＳの少なくとも一部はメモリ９０３にロードされ、プロセッサ９０１はＯＳを実行しながら不正監視プログラムを実行する。不正監視プログラムは、メモリ９０３にロードされ、プロセッサ９０１に読み込まれ、プロセッサ９０１によって実行される。
なお、不正監視装置１００が複数のプロセッサ９０１を備えて、複数のプロセッサ９０１が連携して不正監視プログラムを実行してもよい。
【００３０】
コンピュータの処理の結果を示すデータ、情報、信号値および変数値などは、メモリ９０３、補助記憶装置９０２、プロセッサ９０１内のレジスタ、または、プロセッサ９０１内のキャッシュメモリに記憶される。
【００３１】
不正プログラム監視部２００、不正送信監視部１１０、不正アクセス監視部１２０といった「部」は「サーキットリ」で実装してもよい。これらの「部」は「回路」、「工程」、「手順」または「処理」に読み替えてもよい。
「回路」及び「サーキットリ」は、プロセッサ９０１、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡといった処理回路を包含する概念である。ＧＡはＧａｔｅ  Ａｒｒａｙの略称であり、ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【００３２】
＊＊＊動作の説明＊＊＊
不正監視装置１００の動作は不正監視方法に相当する。また、不正監視方法は不正監視プログラムの処理手順に相当する。
【００３３】
図１０に基づいて、不正プログラム監視方法について説明する。不正プログラム監視方法は不正監視方法の一例である。
Ｓ１０１は実行命令検出処理である。
Ｓ１０１において、実行命令検出部２１１は不正監視装置１００であるコンピュータを監視する。
そして、不正監視装置１００であるコンピュータに動作プログラムの実行を命令する実行命令が発生した場合、実行命令検出部２１１は発生した実行命令を検出する。
以降の処理において、動作プログラムは実行命令の対象である動作プログラムを意味する。
【００３４】
Ｓ１１１はブラックリスト照合処理である。
Ｓ１１１において、ブラックリスト照合部２１２は、動作プログラムをブラックリスト１０１と照合する。そして、ブラックリスト照合部２１２は、照合結果に基づいて、動作プログラムが不正なプログラムであるか判定する。
動作プログラムがブラックリスト１０１に登録されている場合、ブラックリスト照合部２１２は、動作プログラムが不正なプログラムであると判定する。
動作プログラムがブラックリスト１０１に登録されていない場合、ブラックリスト照合部２１２は、動作プログラムが不正なプログラムであると判定しない。
動作プログラムが不正なプログラムであると判定された場合、実行命令制御部２６１は検出された実行命令を破棄し、不正プログラム監視方法の処理は終了する。この場合、不正監視装置１００であるコンピュータによって動作プログラムは起動されない。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はＳ１１２に進む。
【００３５】
Ｓ１１２はホワイトリスト照合処理である。
Ｓ１１２において、ホワイトリスト照合部２１３は、動作プログラムをホワイトリスト１０２を照合する。そして、ホワイトリスト照合部２１３は、照合結果に基づいて、動作プログラムが正当なプログラムであるか判定する。
動作プログラムがホワイトリスト１０２に登録されている場合、ホワイトリスト照合部２１３は、動作プログラムが正当なプログラムであると判定する。
動作プログラムがホワイトリスト１０２に登録されていない場合、ホワイトリスト照合部２１３は、動作プログラムが正当なプログラムであると判定しない。
動作プログラムが正当なプログラムであると判定された場合、実行命令制御部２６１は、検出された実行命令に従って、不正監視装置１００であるコンピュータに動作プログラムを起動させる。そして、不正プログラム監視方法の処理は終了する。
動作プログラムが正当なプログラムであると判定されなかった場合、処理はＳ１２１に進む。
【００３６】
Ｓ１２１は仮想計算機処理である。
Ｓ１２１において、仮想計算機部２２１は仮想マシンモニタと呼ばれるプログラムを起動する。この仮想マシンモニタはコンピュータを仮想計算機として機能させるためのプログラムである。
仮想マシンモニタが起動された後、仮想計算機部２２１は仮想計算機として動作する。
【００３７】
Ｓ１２２は実行命令処理である。
Ｓ１２２において、実行命令部２２２は仮想計算機部２２１に動作プログラムの実行を命令し、仮想計算機部２２１は動作プログラムを実行する。
【００３８】
Ｓ１３０は発生動作件検出処理、レジストリ変更検出処理、発生プログラム検出処理および発生タスク検出処理である。
Ｓ１３０において、発生動作検出部２２３、レジストリ変更検出部２３１、発生プログラム検出部２４１および発生タスク検出部２５１は、監視時間が経過するまで、仮想計算機部２２１を監視する。
発生動作検出部２２３は、動作プログラムの実行が開始された後に仮想計算機部２２１に発生した動作を発生動作として検出する。プログラムのインストール、ファイルのオープン、プログラムを再起動するためのコンピュータの再起動といった動作は発生動作の一例である。
仮想計算機部２２１が有するレジストリである仮想レジストリが変更された場合、レジストリ変更検出部２３１は仮想レジストリの変更を検出する。
発生動作によってプログラムが起動された場合、発生プログラム検出部２４１は起動されたプログラムを発生プログラムとして検出する。
発生動作によってタスク登録ファイル１０３にタスクが登録された場合、発生タスク検出部２５１はタスク登録ファイル１０３に登録されたタスクを発生タスクとして検出する。
【００３９】
Ｓ１４０は動作検証処理である。
Ｓ１４０において、検出された発生動作、仮想レジストリの変更、発生プログラムおよび発生タスクに基づいて、動作プログラムが不正なプログラムであるか判定される。
動作プログラムが不正なプログラムであると判定された場合、不正監視装置１００であるコンピュータは動作プログラムを起動しない。
動作プログラムが不正なプログラムであると判定されなかった場合、不正監視装置１００であるコンピュータは動作プログラムを起動する。
Ｓ１４０の後、不正プログラム監視方法の処理は終了する。
【００４０】
図１１に基づいて、動作検証処理（Ｓ１３０）について説明する。
Ｓ１４１において、不正変更判定部２３２は、仮想レジストリの変更が検出されたか判定する。
仮想レジストリの変更が検出された場合、処理はＳ１４２に進む。
仮想レジストリの変更が検出されなかった場合、処理はＳ１４３に進む。
【００４１】
Ｓ１４２は不正変更判定処理である。
Ｓ１４２において、不正変更判定部２３２は、レジストリ管理ファイル１９１から、発生動作に対応付いた設定情報を対象情報として特定する。図２において、発生動作がオフィスＭというプログラムのインストールである場合、対象情報はＨＫＬＭ＿ＡＡＡである。
そして、不正変更判定部２３２は、検出された仮想レジストリの変更が対象情報の変更であるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された仮想レジストリの変更が対象情報の変更である場合、不正変更判定部２３２は、動作プログラムが不正なプログラムであると判定しない。
検出された仮想レジストリの変更が対象情報の変更でない場合、つまり、検出された仮想レジストリの変更が対象情報とは異なる設定情報の変更である場合、不正変更判定部２３２は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はＳ１４８に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はＳ１４３に進む。
【００４２】
Ｓ１４３において、不正起動判定部２４２は、発生プログラムが検出されたか判定する。
発生プログラムが検出された場合、処理はＳ１４４に進む。
発生プログラムが検出されなかった場合、Ｓ１４５に進む。
【００４３】
Ｓ１４４は不正起動判定処理である。
Ｓ１４４において、不正起動判定部２４２は、プログラム管理ファイル１９２から、発生動作に対応付いたプログラムを対象プログラムとして特定する。図３において、発生動作がドキュメントファイルのオープンである場合、対象プログラムはワープロＭというプログラムである。
不正起動判定部２４２は、検出された発生プログラムが対象プログラムであるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された発生プログラムが対象プログラムである場合、不正起動判定部２４２は、動作プログラムが不正なプログラムであると判定しない。
検出された発生プログラムが対象プログラムでない場合、つまり、検出された発生プログラムが対象プログラムとは異なるプログラムである場合、不正起動判定部２４２は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はＳ１４８に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はＳ１４５に進む。
【００４４】
Ｓ１４５において、不正登録判定部２５２は、発生タスクが検出されたか判定する。
発生タスクが検出された場合、処理はＳ１４６に進む。
発生タスクが検出されなかった場合、処理はＳ１４７に進む。
【００４５】
Ｓ１４６は不正登録判定処理である。
Ｓ１４６において、不正登録判定部２５２は、タスク管理ファイル１９３から、発生動作に対応付いたタスクを対象タスクとして特定する。図４において、発生動作がプログラムＡを再起動するためのコンピュータの再起動である場合、対象タスクはプログラムＡを起動させるタスクである。
そして、不正登録判定部２５２は、検出された発生タスクが対象タスクであるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された発生タスクが対象タスクである場合、不正登録判定部２５２は、動作プログラムが不正なプログラムであると判定しない。
検出された発生タスクが対象タスクでない場合、つまり、検出された発生タスクが対象タスクと異なるタスクである場合、不正登録判定部２５２は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はＳ１４８に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はＳ１４７に進む。
【００４６】
Ｓ１４７は動作プログラム起動処理である。
Ｓ１４７において、実行命令制御部２６１は、検出された実行命令に従って、不正監視装置１００であるコンピュータに動作プログラムを起動させる。
Ｓ１４７の後、動作検証処理（Ｓ１４０）は終了する。
【００４７】
Ｓ１４８は実行命令破棄処理である。
Ｓ１４８において、実行命令制御部２６１は、検出された実行命令を破棄する。この場合、不正監視装置１００であるコンピュータによって動作プログラムは起動されない。
Ｓ１４８の後、動作検証処理（Ｓ１４０）は終了する。
【００４８】
図１２に基づいて、不正送信監視方法について説明する。不正送信監視方法は不正監視方法の一例である。
Ｓ２０１は送信検出処理である。
Ｓ２０１において、送信検出部１１１は、不正監視装置１００であるコンピュータが実行しているプログラムを監視し、送信プログラムを検出する。送信プログラムは、送信データを発生させたプログラムであり、送信データを通信装置９０４に入力する。
さらに、送信検出部１１１は、不正監視装置１００であるコンピュータが備える通信装置９０４を監視し、送信データを検出する。送信データは、外部に送信されるデータであり、通信装置９０４に入力される。
【００４９】
また、ユーザ操作検出部１１５は、ユーザインタフェースである入力装置９０７を監視し、入力装置９０７の操作をユーザ操作として検出する。
そして、操作プログラム特定部１１６は、検出されたユーザ操作に従って動作しているプログラムを操作プログラムとして特定する。
【００５０】
Ｓ２１０は送信判定処理である。
Ｓ２１０において、送信判定部１１２は、検出された送信プログラムが特定された操作プログラムであるか判定する。
送信プログラムが操作プログラムである場合、不正送信監視方法の処理は終了する。
送信プログラムが操作プログラムでない場合、処理はＳ２２０に進む。
【００５１】
Ｓ２２０は送信停止処理である。
Ｓ２２０において、送信停止部１１３は、不正監視装置１００であるコンピュータに検出された送信プログラムを停止させる。
【００５２】
Ｓ２３０は通信遮断処理である。
Ｓ２３０において、通信遮断部１１４は、不正監視装置１００であるコンピュータが備える通信装置９０４を停止させることによって、外部との通信を遮断する。
Ｓ２３０の後、不正送信監視方法の処理は終了する。
【００５３】
図１３に基づいて、不正アクセス監視方法について説明する。不正アクセス監視方法は不正監視方法の一例である。
Ｓ３０１はアクセス操作検出処理である。
Ｓ３０１において、アクセス操作検出部１２１は、不正監視装置１００であるコンピュータによって実行されるウェブブラウザとユーザインタフェースである入力装置９０７とを監視し、アクセス操作を検出する。アクセス操作は、ウェブサイトへのアクセスを要求するユーザ操作である。
【００５４】
Ｓ３１１およびＳ３１２はアクセス操作判定処理である。
Ｓ３１１において、アクセス操作判定部１２２は、アクセス先のウェブサイトのアドレスであるアクセス先アドレスがウェブ管理ファイル１９４にリンク元アドレスとして登録されているか判定する。
図５において、アクセス先アドレスがウェブサイトＡ、ウェブサイトＢまたはウェブサイトＣのアドレスである場合、アクセス先アドレスはウェブ管理ファイル１９４にリンク元アドレスとして登録されている。
アクセス先アドレスがウェブ管理ファイル１９４にリンク先アドレスとして登録されている場合、処理はＳ３１２に進む。
アクセス先アドレスがウェブ管理ファイル１９４にリンク先アドレスとして登録されていない場合、アクセス操作判定部１２２は検出されたアクセス操作を許可しない。この場合、ウェブブラウザはアクセス先のウェブサイトにアクセスしない。そして、処理はＳ３０１に戻る。
【００５５】
Ｓ３１２において、アクセス操作判定部１２２は検出されたアクセス操作を許可する。この場合、ウェブブラウザはアクセス先のウェブサイトにアクセスする。
【００５６】
Ｓ３２１はジャンプ操作検出処理である。
Ｓ３２１において、ジャンプ操作検出部１２３は、ウェブブラウザと入力装置９０７とを監視し、ジャンプ操作を検出する。ジャンプ操作は、アクセス先のウェブサイトに含まれるウェブリンクをクリックするユーザ操作である。ウェブリンクは、他のウェブサイトをリンクさせる部分である。他のウェブサイトをリンクさせる文字列およびバナーは、ウェブリンクの一例である。
【００５７】
Ｓ３２２およびＳ３２３はジャンプ操作判定処理である。
Ｓ３２２において、ジャンプ操作判定部１２４は、ウェブ管理ファイル１９４から、アクセス先アドレスと同じアドレスのリンク元アドレスに対応付いたリンク先情報を特定する。
図５において、アクセス先アドレスがウェブサイトＡである場合、特定されるリンク先情報はアクセス不可である。アクセス先アドレスがウェブサイトＢである場合、特定されるリンク先情報はアクセス許可である。アクセス先アドレスがウェブサイトＣである場合、特定されるリンク先情報はウェブサイトＢである。
【００５８】
Ｓ３２３において、ジャンプ操作判定部１２４は、特定されたリンク先情報に基づいて、検出されたジャンプ操作の許否を判定する。
特定されたリンク先情報がアクセス不可である場合、ジャンプ操作判定部１２４はジャンプ操作を許可しない。
特定されたリンク先情報がアクセス許可である場合、ジャンプ操作判定部１２４はジャンプ操作を許可する。
特定されたリンク先情報がウェブサイトＢであり、クリックされたウェブリンクにリンクされたウェブサイトがウェブサイトＢである場合、ジャンプ操作判定部１２４はジャンプ操作を許可する。
特定されたリンク先情報がウェブサイトＢであり、クリックされたウェブリンクにリンクされたウェブサイトがウェブサイトＢとは異なるウェブサイトである場合、ジャンプ操作判定部１２４はジャンプ操作を許可しない。
【００５９】
Ｓ３３１において、ジャンプ操作が許可された場合、ウェブブラウザはリンク先のウェブサイトにアクセスする。そして、処理はＳ３３２に進む。
一方、ジャンプ操作が許可されなかった場合、ウェブブラウザはリンク先のウェブサイトにアクセスしない。そして、処理はＳ３２１に戻る。
【００６０】
Ｓ３３２において、ウェブ管理部１２５は、リンク先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル１９４に登録されているか判定する。
そして、リンク先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル１９４に登録されていない場合、ウェブ管理部１２５は、リンク先のウェブサイトのアドレスをリンク元アドレスとしてウェブ管理ファイル１９４に登録する。また、ウェブ管理部１２５は、登録したリンク元アドレスに対応付けるリンク先情報としてアクセス不可をウェブ管理ファイル１９４に登録する。但し、登録したリンク元アドレスに対応付けるリンク先情報はアクセス不可とは異なる情報でも構わない。
図５において、リンク先のウェブサイトのアドレスがウェブサイトＢのアドレスである場合、ウェブ管理部１２５は、ウェブサイトＢのアドレスをリンク元アドレスとしてウェブ管理ファイル１９４に登録する。
Ｓ３３２の後、処理はＳ３２１に戻る。
【００６１】
＊＊＊効果の説明＊＊＊
不正プログラム監視方法によって、コンピュータである物理計算機においてレジストリの変更およびタスクの登録がされずに、不正なプログラムの起動時に不正なプログラムを検出することができる。
不正送信監視方法によって、不正なデータの送信を検出し、通信を遮断することができる。例えば、一定時間が経過した後に時限爆弾的に動作を開始するマルウェアによるデータの送信を検出し、通信を遮断することによって情報漏えいを防ぐことができる。
不正アクセス監視方法によって、許可されていないウェブサイトへのアクセスを防ぐことができる。これにより、許可されていないウェブサイトを介してコンピュータウイルスに感染することを防ぐことができる。
【００６２】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は部分的に実施してもよい。
フローチャート等を用いて説明した処理手順は、不正監視装置、不正監視方法および不正監視プログラムの処理手順の一例である。
【符号の説明】
【００６３】
１００  不正監視装置、１０１  ブラックリスト、１０２  ホワイトリスト、１０３  タスク登録ファイル、１１０  不正送信監視部、１１１  送信検出部、１１２  送信判定部、１１３  送信停止部、１１４  通信遮断部、１１５  ユーザ操作検出部、１１６  操作プログラム特定部、１２０  不正アクセス監視部、１２１  アクセス操作検出部、１２２  アクセス操作判定部、１２３  ジャンプ操作検出部、１２４  ジャンプ操作判定部、１２５  ウェブ管理部、１９０  ファイル記憶部、１９１  レジストリ管理ファイル、１９２  プログラム管理ファイル、１９３  タスク管理ファイル、１９４  ウェブ管理ファイル、２００  不正プログラム監視部、２１１  実行命令検出部、２１２  ブラックリスト照合部、２１３  ホワイトリスト照合部、２２１  仮想計算機部、２２２  実行命令部、２２３  発生動作検出部、２３１  レジストリ変更検出部、２３２  不正変更判定部、２４１  発生プログラム検出部、２４２  不正起動判定部、２５１  発生タスク検出部、２５２  不正登録判定部、２６１  実行命令制御部、９０１  プロセッサ、９０２  補助記憶装置、９０３  メモリ、９０４  通信装置、９０４１  レシーバ、９０４２  トランスミッタ、９０５  入力インタフェース、９０６  出力インタフェース、９０７  入力装置、９０８  出力装置、９１０  信号線、９１１  ケーブル、９１２  ケーブル。
【図１】
2016181208.tif 000003
【図２】
2016181208.tif 000004
【図３】
2016181208.tif 000005
【図４】
2016181208.tif 000006
【図５】
2016181208.tif 000007
【図６】
2016181208.tif 000008
【図７】
2016181208.tif 000009
【図８】
2016181208.tif 000010
【図９】
2016181208.tif 000011
【図１０】
2016181208.tif 000012
【図１１】
2016181208.tif 000013
【図１２】
2016181208.tif 000014
【図１３】
2016181208.tif 000015