JP2016181208A - 不正監視装置および不正監視プログラム - Google Patents
不正監視装置および不正監視プログラム Download PDFInfo
- Publication number
- JP2016181208A JP2016181208A JP2015062212A JP2015062212A JP2016181208A JP 2016181208 A JP2016181208 A JP 2016181208A JP 2015062212 A JP2015062212 A JP 2015062212A JP 2015062212 A JP2015062212 A JP 2015062212A JP 2016181208 A JP2016181208 A JP 2016181208A
- Authority
- JP
- Japan
- Prior art keywords
- program
- unit
- transmission
- website
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】不正なプログラムを検出できるようにする。【解決手段】仮想計算機部221は物理計算機の動作を模擬する仮想計算機として動作する。実行命令検出部211が物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する。実行命令が検出された場合、実行命令部222は、動作プログラムの実行を仮想計算機部221に命令する。動作プログラムの実行が仮想計算機部221に命令された後、レジストリ変更検出部231は、仮想レジストリの変更を検出する。仮想レジストリの変更が検出された場合、不正変更判定部232は、仮想レジストリの変更の内容に基づいて、動作プログラムが不正なプログラムであるか判定する。【選択図】図6
Description
本発明は、不正なプログラムおよび不正なユーザ操作を監視する技術に関するものである。
コンピュータ上で動作させたくないプログラムの起動を防止するためにブラックリストおよびホワイトリストを用いる方式がある。
ブラックリストは動作させたくないプログラムの一覧であり、ブラックリストには動作させたくないプログラムのファイル名またはファイル名のハッシュ値が登録される。このブラックリストを用いる方式は、動作させたくないプログラムをブラックリストを用いて判別し、動作させたくないプログラムが起動した場合にそのプログラムのプロセスを強制終了する仕組みである。
ホワイトリストは、ブラウザ、メールソフトおよびオフィスなど、動作が許可されているプログラムの一覧である。ホワイトリストを用いる方式は、動作が許可されているプログラムをホワイトリストを用いて判別し、動作が許可されていないプログラムが起動した場合にそのプログラムのプロセスを強制終了する仕組みである。
ブラックリストは動作させたくないプログラムの一覧であり、ブラックリストには動作させたくないプログラムのファイル名またはファイル名のハッシュ値が登録される。このブラックリストを用いる方式は、動作させたくないプログラムをブラックリストを用いて判別し、動作させたくないプログラムが起動した場合にそのプログラムのプロセスを強制終了する仕組みである。
ホワイトリストは、ブラウザ、メールソフトおよびオフィスなど、動作が許可されているプログラムの一覧である。ホワイトリストを用いる方式は、動作が許可されているプログラムをホワイトリストを用いて判別し、動作が許可されていないプログラムが起動した場合にそのプログラムのプロセスを強制終了する仕組みである。
ブラックリストを用いる方式は、業務と無関係なプログラムまたは攻撃者が悪用する可能性が高いプログラムなど、ブラックリストに登録されていない未知のプログラムが動作する、というリスクがある。
一方、ホワイトリストを用いる方式は、利用したい新規のプログラムをホワイトリストに登録する必要があるため、運用の負荷が高くなる。
そのため、いずれの方式を採用した場合にも、技術的または運用的に課題がある。また、フリーウェアなど、市場には多数のプログラムが存在する。そのため、業務形態が多岐にわたる場合、全てのプログラムをブラックリストおよびホワイトリストを用いて管理することは現実的でない。
一方、ホワイトリストを用いる方式は、利用したい新規のプログラムをホワイトリストに登録する必要があるため、運用の負荷が高くなる。
そのため、いずれの方式を採用した場合にも、技術的または運用的に課題がある。また、フリーウェアなど、市場には多数のプログラムが存在する。そのため、業務形態が多岐にわたる場合、全てのプログラムをブラックリストおよびホワイトリストを用いて管理することは現実的でない。
特許文献1から特許文献3は、コンピュータのレジストリを監視することによって、不正なプログラムを検出する技術について開示している。しかし、いずれの技術においても、不正なプログラムが検出されたときには、コンピュータのレジストリが実際に変更されてしまっている。
本発明は、ブラックリストおよびホワイトリストを用いずに、また、コンピュータである物理計算機のレジストリを変更されずに、不正なプログラムを検出できるようにすることを目的とする。
本発明の不正監視装置は、
レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する仮想計算機部と、
前記物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する実行命令検出部と、
前記実行命令が検出された場合、前記動作プログラムの実行を前記仮想計算機部に命令する実行命令部と、
前記動作プログラムの実行が前記仮想計算機部に命令された後、前記仮想計算機部が有するレジストリである仮想レジストリの変更を検出するレジストリ変更検出部と、
前記仮想レジストリの変更が検出された場合、前記仮想レジストリの変更の内容に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正変更判定部とを備える。
レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する仮想計算機部と、
前記物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する実行命令検出部と、
前記実行命令が検出された場合、前記動作プログラムの実行を前記仮想計算機部に命令する実行命令部と、
前記動作プログラムの実行が前記仮想計算機部に命令された後、前記仮想計算機部が有するレジストリである仮想レジストリの変更を検出するレジストリ変更検出部と、
前記仮想レジストリの変更が検出された場合、前記仮想レジストリの変更の内容に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正変更判定部とを備える。
本発明によれば、ブラックリストおよびホワイトリストを用いずに、また、コンピュータである物理計算機のレジストリを変更されずに、不正なプログラムを検出することができる。
実施の形態1.
不正プログラム監視機能と不正送信監視機能と不正アクセス監視機能とを有するコンピュータである不正監視装置100について、図1から図13に基づいて説明する。
不正プログラム監視機能と不正送信監視機能と不正アクセス監視機能とを有するコンピュータである不正監視装置100について、図1から図13に基づいて説明する。
不正プログラム監視機能は、不正なプログラムの起動を監視する機能である。不正なプログラムは実行すべきでないプログラムである。不正なプログラムの一例は、個人情報および秘匿情報を外部に流出させるマルウェアである。一方、正当なプログラムは実行しても問題がないプログラムである。
不正送信監視機能は、不正なプログラムによるデータの送信を監視する機能である。
不正アクセス監視機能は、許可されていないウェブサイトへのアクセスを監視する機能である。
コンピュータは物理計算機であり、物理計算機の動作を模擬する計算機を仮想計算機という。
不正送信監視機能は、不正なプログラムによるデータの送信を監視する機能である。
不正アクセス監視機能は、許可されていないウェブサイトへのアクセスを監視する機能である。
コンピュータは物理計算機であり、物理計算機の動作を模擬する計算機を仮想計算機という。
***構成の説明***
図1に基づいて、不正監視装置100の機能構成について説明する。
不正監視装置100は、不正プログラム監視機能を実現する不正プログラム監視部200と、不正送信監視機能を実現する不正送信監視部110と、不正アクセス監視機能を実現する不正アクセス監視部120とを備える。
図1に基づいて、不正監視装置100の機能構成について説明する。
不正監視装置100は、不正プログラム監視機能を実現する不正プログラム監視部200と、不正送信監視機能を実現する不正送信監視部110と、不正アクセス監視機能を実現する不正アクセス監視部120とを備える。
不正監視装置100はファイル記憶部190を備える。
ファイル記憶部190は、ブラックリスト101と、ホワイトリスト102と、タスク登録ファイル103とを記憶する。
ブラックリスト101は不正なプログラムの一覧である。
ホワイトリスト102は正当なプログラムの一覧である。
タスク登録ファイル103は、実行される予定のタスクの一覧を示すファイルである。
ファイル記憶部190は、ブラックリスト101と、ホワイトリスト102と、タスク登録ファイル103とを記憶する。
ブラックリスト101は不正なプログラムの一覧である。
ホワイトリスト102は正当なプログラムの一覧である。
タスク登録ファイル103は、実行される予定のタスクの一覧を示すファイルである。
ファイル記憶部190は、レジストリ管理ファイル191と、プログラム管理ファイル192と、タスク管理ファイル193と、ウェブ管理ファイル194とを記憶する。
図2に基づいて、レジストリ管理ファイル191の構成について説明する。
レジストリ管理ファイル191は、プログラムの実行によって発生する動作に、レジストリに含まれる設定情報を対応付けたファイルである。
動作は、動作の種類と動作の対象になるプログラムとによって区別される。
動作に対応付いた設定情報は、動作によって変更される設定情報である。
オフィスMというプログラムをインストールする動作が発生したる場合、HKLM_AAAという設定情報の値が変更される。
ワープロMというプログラム、表計算MというプログラムまたはワープロJというプログラムに対応付いたファイルをオープンする動作が発生した場合、いずれの設定情報の値も変更されない。
レジストリ管理ファイル191は、プログラムの実行によって発生する動作に、レジストリに含まれる設定情報を対応付けたファイルである。
動作は、動作の種類と動作の対象になるプログラムとによって区別される。
動作に対応付いた設定情報は、動作によって変更される設定情報である。
オフィスMというプログラムをインストールする動作が発生したる場合、HKLM_AAAという設定情報の値が変更される。
ワープロMというプログラム、表計算MというプログラムまたはワープロJというプログラムに対応付いたファイルをオープンする動作が発生した場合、いずれの設定情報の値も変更されない。
図3に基づいて、プログラム管理ファイル192の構成について説明する。
プログラム管理ファイル192は、プログラムの実行が開始された後に発生する動作に、発生した動作によって起動されるプログラムを対応付けたファイルである。
ドキュメントファイルをオープンする動作が発生した場合、ワープロMというプログラムが起動される。
プログラム管理ファイル192は、プログラムの実行が開始された後に発生する動作に、発生した動作によって起動されるプログラムを対応付けたファイルである。
ドキュメントファイルをオープンする動作が発生した場合、ワープロMというプログラムが起動される。
図4に基づいて、タスク管理ファイル193の構成について説明する。
タスク管理ファイル193は、プログラムの実行が開始された後に発生する動作に、発生した動作によって登録されるタスクを対応付けたファイルである。
ドキュメントファイルをオープンする動作が発生した場合、タスク登録ファイル103にタスクは登録されない。
プログラムAを再起動するためにコンピュータを再起動する動作が発生した場合、コンピュータが再起動される前にタスク登録ファイル103にプログラムAを起動させるタスクが登録されて、コンピュータが再起動された後にプログラムAが起動される。
タスク管理ファイル193は、プログラムの実行が開始された後に発生する動作に、発生した動作によって登録されるタスクを対応付けたファイルである。
ドキュメントファイルをオープンする動作が発生した場合、タスク登録ファイル103にタスクは登録されない。
プログラムAを再起動するためにコンピュータを再起動する動作が発生した場合、コンピュータが再起動される前にタスク登録ファイル103にプログラムAを起動させるタスクが登録されて、コンピュータが再起動された後にプログラムAが起動される。
図5に基づいて、ウェブ管理ファイル194の構成について説明する。
ウェブ管理ファイル194は、リンク元アドレスにリンク先情報を対応付けたファイルである。リンク元アドレスはウェブサイトのアドレスである。リンク先情報はウェブサイトにリンクされたリンク先へのアクセスの可否を指定する情報である。
ウェブサイトAにリンクされたリンク先にアクセスするための操作が行われた場合、その操作は許可されない。
ウェブサイトBにリンクされたリンク先にアクセスするための操作が行われた場合、その操作は許可される。
ウェブサイトCにリンクされたウェブサイトBにアクセスするための操作が行われた場合、その操作は許可される。しかし、ウェブサイトCにリンクされた他のリンク先にアクセスするための操作が行われた場合、その操作は許可されない。
ウェブ管理ファイル194は、リンク元アドレスにリンク先情報を対応付けたファイルである。リンク元アドレスはウェブサイトのアドレスである。リンク先情報はウェブサイトにリンクされたリンク先へのアクセスの可否を指定する情報である。
ウェブサイトAにリンクされたリンク先にアクセスするための操作が行われた場合、その操作は許可されない。
ウェブサイトBにリンクされたリンク先にアクセスするための操作が行われた場合、その操作は許可される。
ウェブサイトCにリンクされたウェブサイトBにアクセスするための操作が行われた場合、その操作は許可される。しかし、ウェブサイトCにリンクされた他のリンク先にアクセスするための操作が行われた場合、その操作は許可されない。
図6に基づいて、不正プログラム監視部200の機能構成について説明する。
不正プログラム監視部200は、実行命令検出部211と、ブラックリスト照合部212と、ホワイトリスト照合部213とを備える。
実行命令検出部211は動作プログラムの実行を命令する実行命令を検出する。動作プログラムは物理計算機を動作させるプログラムである。以降の説明において、動作プログラムは実行命令の対象である動作プログラムを意味する。
ブラックリスト照合部212は、実行命令が検出された場合、動作プログラムをブラックリスト101と照合し、照合結果に基づいて動作プログラムが不正なプログラムであるか判定する。
ブラックリスト照合部212は、実行命令が検出された場合、動作プログラムをホワイトリスト102と照合し、照合結果に基づいて動作プログラムが正当なプログラムであるか判定する。
不正プログラム監視部200は、実行命令検出部211と、ブラックリスト照合部212と、ホワイトリスト照合部213とを備える。
実行命令検出部211は動作プログラムの実行を命令する実行命令を検出する。動作プログラムは物理計算機を動作させるプログラムである。以降の説明において、動作プログラムは実行命令の対象である動作プログラムを意味する。
ブラックリスト照合部212は、実行命令が検出された場合、動作プログラムをブラックリスト101と照合し、照合結果に基づいて動作プログラムが不正なプログラムであるか判定する。
ブラックリスト照合部212は、実行命令が検出された場合、動作プログラムをホワイトリスト102と照合し、照合結果に基づいて動作プログラムが正当なプログラムであるか判定する。
不正プログラム監視部200は、仮想計算機部221と、実行命令部222と、発生動作検出部223とを備える。
仮想計算機部221は、レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する。
実行命令部222は、実行命令が検出された場合、動作プログラムの実行を仮想計算機部221に命令する。
発生動作検出部223は、動作プログラムの実行が開始された後に仮想計算機部221に発生した発生動作を検出する。
仮想計算機部221は、レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する。
実行命令部222は、実行命令が検出された場合、動作プログラムの実行を仮想計算機部221に命令する。
発生動作検出部223は、動作プログラムの実行が開始された後に仮想計算機部221に発生した発生動作を検出する。
不正プログラム監視部200は、レジストリ変更検出部231と、不正変更判定部232とを備える。
レジストリ変更検出部231は、動作プログラムの実行が仮想計算機部221に命令された後、仮想計算機部221が有するレジストリである仮想レジストリの変更を検出する。仮想レジストリは複数の設定情報を含む。
不正変更判定部232は、仮想レジストリの変更が検出された場合、仮想レジストリの変更の内容に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正変更判定部232は、レジストリ管理ファイル191から、発生動作に対応付いた設定情報を対象情報として特定する。そして、不正変更判定部232は、検出された仮想レジストリの変更が対象情報の変更であるか否かに基づいて、動作プログラムが不正なプログラムであるか判定する。
レジストリ変更検出部231は、動作プログラムの実行が仮想計算機部221に命令された後、仮想計算機部221が有するレジストリである仮想レジストリの変更を検出する。仮想レジストリは複数の設定情報を含む。
不正変更判定部232は、仮想レジストリの変更が検出された場合、仮想レジストリの変更の内容に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正変更判定部232は、レジストリ管理ファイル191から、発生動作に対応付いた設定情報を対象情報として特定する。そして、不正変更判定部232は、検出された仮想レジストリの変更が対象情報の変更であるか否かに基づいて、動作プログラムが不正なプログラムであるか判定する。
不正プログラム監視部200は、発生プログラム検出部241と、不正起動判定部242とを備える。
発生プログラム検出部241は、発生動作によって起動されたプログラムを発生プログラムとして検出する。
不正起動判定部242は、発生プログラムが検出された場合、発生プログラムの種類に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正起動判定部242は、プログラム管理ファイル192から、発生動作に対応付いたプログラムを対象プログラムとして特定する。そして、不正起動判定部242は、検出された発生プログラムが対象プログラムであるか否かに基づいて、動作プログラムが不正なプログラムであるか判定する。
発生プログラム検出部241は、発生動作によって起動されたプログラムを発生プログラムとして検出する。
不正起動判定部242は、発生プログラムが検出された場合、発生プログラムの種類に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正起動判定部242は、プログラム管理ファイル192から、発生動作に対応付いたプログラムを対象プログラムとして特定する。そして、不正起動判定部242は、検出された発生プログラムが対象プログラムであるか否かに基づいて、動作プログラムが不正なプログラムであるか判定する。
不正プログラム監視部200は、発生タスク検出部251と、不正登録判定部252とを備える。
発生タスク検出部251は、発生動作によってタスク登録ファイル103に登録されたタスクを発生タスクとして検出する。
不正登録判定部252は、発生タスクが検出された場合、発生タスクの種類に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正登録判定部252は、タスク管理ファイル193から、発生動作に対応付いたタスクを対象タスクとして特定する。そして、不正登録判定部252は、検出された発生タスクが対象タスクであるかに基づいて、動作プログラムが不正なプログラムであるか判定する。
発生タスク検出部251は、発生動作によってタスク登録ファイル103に登録されたタスクを発生タスクとして検出する。
不正登録判定部252は、発生タスクが検出された場合、発生タスクの種類に基づいて、動作プログラムが不正なプログラムであるか以下のように判定する。
不正登録判定部252は、タスク管理ファイル193から、発生動作に対応付いたタスクを対象タスクとして特定する。そして、不正登録判定部252は、検出された発生タスクが対象タスクであるかに基づいて、動作プログラムが不正なプログラムであるか判定する。
不正プログラム監視部200は実行命令制御部261を備える。
動作プログラムが正当なプログラムであると判定された場合、または、動作プログラムが不正なプログラムであると判定されなかった場合、実行命令制御部261は、検出された実行命令に従って、不正監視装置100であるコンピュータに動作プログラムを起動させる。
動作プログラムが不正なプログラムであると判定された場合、実行命令制御部261は、検出された実行命令を破棄する。この場合、不正監視装置100であるコンピュータによって動作プログラムは起動されない。
動作プログラムが正当なプログラムであると判定された場合、または、動作プログラムが不正なプログラムであると判定されなかった場合、実行命令制御部261は、検出された実行命令に従って、不正監視装置100であるコンピュータに動作プログラムを起動させる。
動作プログラムが不正なプログラムであると判定された場合、実行命令制御部261は、検出された実行命令を破棄する。この場合、不正監視装置100であるコンピュータによって動作プログラムは起動されない。
図7に基づいて、不正送信監視部110の機能構成について説明する。
不正送信監視部110は、送信検出部111と、送信判定部112と、送信停止部113と、通信遮断部114と、ユーザ操作検出部115とを備える。
送信検出部111は、送信データを検出する。送信データは外部に送信されるデータである。
送信判定部112は、送信データが検出された場合、送信データを発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する。送信プログラムは送信データを発生させたプログラムである。操作プログラムはユーザ操作に従って動作しているプログラムである。ユーザ操作はユーザインタフェースを用いて行われる操作である。
送信停止部113は、送信プログラムが操作プログラムでないと判定された場合、送信プログラムを停止させる。
通信遮断部114は、送信プログラムが操作プログラムでないと判定された場合、外部との通信を遮断する。
ユーザ操作検出部115はユーザ操作を検出する。
操作プログラム特定部116は、検出されたユーザ操作に従って動作しているプログラムを操作プログラムとして特定する。
不正送信監視部110は、送信検出部111と、送信判定部112と、送信停止部113と、通信遮断部114と、ユーザ操作検出部115とを備える。
送信検出部111は、送信データを検出する。送信データは外部に送信されるデータである。
送信判定部112は、送信データが検出された場合、送信データを発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する。送信プログラムは送信データを発生させたプログラムである。操作プログラムはユーザ操作に従って動作しているプログラムである。ユーザ操作はユーザインタフェースを用いて行われる操作である。
送信停止部113は、送信プログラムが操作プログラムでないと判定された場合、送信プログラムを停止させる。
通信遮断部114は、送信プログラムが操作プログラムでないと判定された場合、外部との通信を遮断する。
ユーザ操作検出部115はユーザ操作を検出する。
操作プログラム特定部116は、検出されたユーザ操作に従って動作しているプログラムを操作プログラムとして特定する。
図8に基づいて、不正アクセス監視部120の機能構成について説明する。
不正アクセス監視部120は、アクセス操作検出部121と、アクセス操作判定部122と、ジャンプ操作検出部123と、ジャンプ操作判定部124と、ウェブ管理部125とを備える。
アクセス操作検出部121は、ウェブサイトへのアクセスを要求するユーザ操作をアクセス操作として検出する。
アクセス操作判定部122は、アクセス操作が検出された場合、アクセス先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル194に登録されていることを条件として、アクセス操作を許可する。
ジャンプ操作検出部123は、第2のウェブサイトをリンクさせるウェブリンクを含んだ第1のウェブサイトのウェブリンクをクリックするユーザ操作をジャンプ操作として検出する。
ジャンプ操作判定部124は、ジャンプ操作が検出された場合、ウェブ管理ファイル194に含まれるリンク先情報のうち、第1のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、ジャンプ操作の許否を判定する。
ウェブ管理部125は、ジャンプ操作が許可された場合、第2のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル194に登録されていなければ、第2のウェブサイトのアドレスをリンク元アドレスとしてウェブ管理ファイル194に登録する。
不正アクセス監視部120は、アクセス操作検出部121と、アクセス操作判定部122と、ジャンプ操作検出部123と、ジャンプ操作判定部124と、ウェブ管理部125とを備える。
アクセス操作検出部121は、ウェブサイトへのアクセスを要求するユーザ操作をアクセス操作として検出する。
アクセス操作判定部122は、アクセス操作が検出された場合、アクセス先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル194に登録されていることを条件として、アクセス操作を許可する。
ジャンプ操作検出部123は、第2のウェブサイトをリンクさせるウェブリンクを含んだ第1のウェブサイトのウェブリンクをクリックするユーザ操作をジャンプ操作として検出する。
ジャンプ操作判定部124は、ジャンプ操作が検出された場合、ウェブ管理ファイル194に含まれるリンク先情報のうち、第1のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、ジャンプ操作の許否を判定する。
ウェブ管理部125は、ジャンプ操作が許可された場合、第2のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル194に登録されていなければ、第2のウェブサイトのアドレスをリンク元アドレスとしてウェブ管理ファイル194に登録する。
図9に基づいて、不正監視装置100のハードウェア構成例について説明する。
不正監視装置100は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、出力インタフェース906といったハードウェアを備えるコンピュータである。
プロセッサ901は信号線910を介して他のハードウェアと接続されている。入力インタフェース905はケーブル911を介して入力装置907に接続されている。出力インタフェース906はケーブル912を介して出力装置908に接続されている。
不正監視装置100は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、出力インタフェース906といったハードウェアを備えるコンピュータである。
プロセッサ901は信号線910を介して他のハードウェアと接続されている。入力インタフェース905はケーブル911を介して入力装置907に接続されている。出力インタフェース906はケーブル912を介して出力装置908に接続されている。
プロセッサ901は、プロセッシングを行うICであり、他のハードウェアを制御する。プロセッサ901の一例は、CPU、DSP、GPUである。ICはIntegrated Circuitの略称である。CPUはCentral Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、GPUはGraphics Processing Unitの略称である。
補助記憶装置902はデータを記憶する。補助記憶装置902の一例は、ROM、フラッシュメモリ、HDDである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
メモリ903はデータを記憶する。メモリ903の一例はRAMである。RAMはRandom Access Memoryの略称である。
通信装置904は、データを受信するレシーバ9041と、データを送信するトランスミッタ9042とを備える。通信装置904の一例は、通信チップ、NICである。NICはNetwork Interface Cardの略称である。
入力インタフェース905はケーブル911が接続されるポートであり、ポートの一例はUSB端子である。USBはUniversal Serial Busの略称である。
出力インタフェース906はケーブル912が接続されるポートであり、USB端子およびHDMI端子はポートの一例である。HDMI(登録商標)はHigh Definition Multimedia Interfaceの略称である。
入力装置907はデータ、命令および要求を入力する。入力装置907の一例は、マウス、キーボード、タッチパネルである。ユーザによって操作される入力装置907はユーザインタフェースである。
出力装置908はデータ、結果および応答を出力する。出力装置908の一例は、ディスプレイ、プリンタである。ディスプレイの一例はLCDである。LCDはLiquid Crystal Displayの略称である。
補助記憶装置902はデータを記憶する。補助記憶装置902の一例は、ROM、フラッシュメモリ、HDDである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
メモリ903はデータを記憶する。メモリ903の一例はRAMである。RAMはRandom Access Memoryの略称である。
通信装置904は、データを受信するレシーバ9041と、データを送信するトランスミッタ9042とを備える。通信装置904の一例は、通信チップ、NICである。NICはNetwork Interface Cardの略称である。
入力インタフェース905はケーブル911が接続されるポートであり、ポートの一例はUSB端子である。USBはUniversal Serial Busの略称である。
出力インタフェース906はケーブル912が接続されるポートであり、USB端子およびHDMI端子はポートの一例である。HDMI(登録商標)はHigh Definition Multimedia Interfaceの略称である。
入力装置907はデータ、命令および要求を入力する。入力装置907の一例は、マウス、キーボード、タッチパネルである。ユーザによって操作される入力装置907はユーザインタフェースである。
出力装置908はデータ、結果および応答を出力する。出力装置908の一例は、ディスプレイ、プリンタである。ディスプレイの一例はLCDである。LCDはLiquid Crystal Displayの略称である。
補助記憶装置902にはOSが記憶されている。OSはOperating Systemの略称である。
また、補助記憶装置902には、不正プログラム監視部200と不正送信監視部110と不正アクセス監視部120としてコンピュータを機能させるための不正監視プログラムが記憶されている。
OSの少なくとも一部はメモリ903にロードされ、プロセッサ901はOSを実行しながら不正監視プログラムを実行する。不正監視プログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
なお、不正監視装置100が複数のプロセッサ901を備えて、複数のプロセッサ901が連携して不正監視プログラムを実行してもよい。
また、補助記憶装置902には、不正プログラム監視部200と不正送信監視部110と不正アクセス監視部120としてコンピュータを機能させるための不正監視プログラムが記憶されている。
OSの少なくとも一部はメモリ903にロードされ、プロセッサ901はOSを実行しながら不正監視プログラムを実行する。不正監視プログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
なお、不正監視装置100が複数のプロセッサ901を備えて、複数のプロセッサ901が連携して不正監視プログラムを実行してもよい。
コンピュータの処理の結果を示すデータ、情報、信号値および変数値などは、メモリ903、補助記憶装置902、プロセッサ901内のレジスタ、または、プロセッサ901内のキャッシュメモリに記憶される。
不正プログラム監視部200、不正送信監視部110、不正アクセス監視部120といった「部」は「サーキットリ」で実装してもよい。これらの「部」は「回路」、「工程」、「手順」または「処理」に読み替えてもよい。
「回路」及び「サーキットリ」は、プロセッサ901、ロジックIC、GA、ASIC、FPGAといった処理回路を包含する概念である。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField−Programmable Gate Arrayの略称である。
「回路」及び「サーキットリ」は、プロセッサ901、ロジックIC、GA、ASIC、FPGAといった処理回路を包含する概念である。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField−Programmable Gate Arrayの略称である。
***動作の説明***
不正監視装置100の動作は不正監視方法に相当する。また、不正監視方法は不正監視プログラムの処理手順に相当する。
不正監視装置100の動作は不正監視方法に相当する。また、不正監視方法は不正監視プログラムの処理手順に相当する。
図10に基づいて、不正プログラム監視方法について説明する。不正プログラム監視方法は不正監視方法の一例である。
S101は実行命令検出処理である。
S101において、実行命令検出部211は不正監視装置100であるコンピュータを監視する。
そして、不正監視装置100であるコンピュータに動作プログラムの実行を命令する実行命令が発生した場合、実行命令検出部211は発生した実行命令を検出する。
以降の処理において、動作プログラムは実行命令の対象である動作プログラムを意味する。
S101は実行命令検出処理である。
S101において、実行命令検出部211は不正監視装置100であるコンピュータを監視する。
そして、不正監視装置100であるコンピュータに動作プログラムの実行を命令する実行命令が発生した場合、実行命令検出部211は発生した実行命令を検出する。
以降の処理において、動作プログラムは実行命令の対象である動作プログラムを意味する。
S111はブラックリスト照合処理である。
S111において、ブラックリスト照合部212は、動作プログラムをブラックリスト101と照合する。そして、ブラックリスト照合部212は、照合結果に基づいて、動作プログラムが不正なプログラムであるか判定する。
動作プログラムがブラックリスト101に登録されている場合、ブラックリスト照合部212は、動作プログラムが不正なプログラムであると判定する。
動作プログラムがブラックリスト101に登録されていない場合、ブラックリスト照合部212は、動作プログラムが不正なプログラムであると判定しない。
動作プログラムが不正なプログラムであると判定された場合、実行命令制御部261は検出された実行命令を破棄し、不正プログラム監視方法の処理は終了する。この場合、不正監視装置100であるコンピュータによって動作プログラムは起動されない。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS112に進む。
S111において、ブラックリスト照合部212は、動作プログラムをブラックリスト101と照合する。そして、ブラックリスト照合部212は、照合結果に基づいて、動作プログラムが不正なプログラムであるか判定する。
動作プログラムがブラックリスト101に登録されている場合、ブラックリスト照合部212は、動作プログラムが不正なプログラムであると判定する。
動作プログラムがブラックリスト101に登録されていない場合、ブラックリスト照合部212は、動作プログラムが不正なプログラムであると判定しない。
動作プログラムが不正なプログラムであると判定された場合、実行命令制御部261は検出された実行命令を破棄し、不正プログラム監視方法の処理は終了する。この場合、不正監視装置100であるコンピュータによって動作プログラムは起動されない。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS112に進む。
S112はホワイトリスト照合処理である。
S112において、ホワイトリスト照合部213は、動作プログラムをホワイトリスト102を照合する。そして、ホワイトリスト照合部213は、照合結果に基づいて、動作プログラムが正当なプログラムであるか判定する。
動作プログラムがホワイトリスト102に登録されている場合、ホワイトリスト照合部213は、動作プログラムが正当なプログラムであると判定する。
動作プログラムがホワイトリスト102に登録されていない場合、ホワイトリスト照合部213は、動作プログラムが正当なプログラムであると判定しない。
動作プログラムが正当なプログラムであると判定された場合、実行命令制御部261は、検出された実行命令に従って、不正監視装置100であるコンピュータに動作プログラムを起動させる。そして、不正プログラム監視方法の処理は終了する。
動作プログラムが正当なプログラムであると判定されなかった場合、処理はS121に進む。
S112において、ホワイトリスト照合部213は、動作プログラムをホワイトリスト102を照合する。そして、ホワイトリスト照合部213は、照合結果に基づいて、動作プログラムが正当なプログラムであるか判定する。
動作プログラムがホワイトリスト102に登録されている場合、ホワイトリスト照合部213は、動作プログラムが正当なプログラムであると判定する。
動作プログラムがホワイトリスト102に登録されていない場合、ホワイトリスト照合部213は、動作プログラムが正当なプログラムであると判定しない。
動作プログラムが正当なプログラムであると判定された場合、実行命令制御部261は、検出された実行命令に従って、不正監視装置100であるコンピュータに動作プログラムを起動させる。そして、不正プログラム監視方法の処理は終了する。
動作プログラムが正当なプログラムであると判定されなかった場合、処理はS121に進む。
S121は仮想計算機処理である。
S121において、仮想計算機部221は仮想マシンモニタと呼ばれるプログラムを起動する。この仮想マシンモニタはコンピュータを仮想計算機として機能させるためのプログラムである。
仮想マシンモニタが起動された後、仮想計算機部221は仮想計算機として動作する。
S121において、仮想計算機部221は仮想マシンモニタと呼ばれるプログラムを起動する。この仮想マシンモニタはコンピュータを仮想計算機として機能させるためのプログラムである。
仮想マシンモニタが起動された後、仮想計算機部221は仮想計算機として動作する。
S122は実行命令処理である。
S122において、実行命令部222は仮想計算機部221に動作プログラムの実行を命令し、仮想計算機部221は動作プログラムを実行する。
S122において、実行命令部222は仮想計算機部221に動作プログラムの実行を命令し、仮想計算機部221は動作プログラムを実行する。
S130は発生動作件検出処理、レジストリ変更検出処理、発生プログラム検出処理および発生タスク検出処理である。
S130において、発生動作検出部223、レジストリ変更検出部231、発生プログラム検出部241および発生タスク検出部251は、監視時間が経過するまで、仮想計算機部221を監視する。
発生動作検出部223は、動作プログラムの実行が開始された後に仮想計算機部221に発生した動作を発生動作として検出する。プログラムのインストール、ファイルのオープン、プログラムを再起動するためのコンピュータの再起動といった動作は発生動作の一例である。
仮想計算機部221が有するレジストリである仮想レジストリが変更された場合、レジストリ変更検出部231は仮想レジストリの変更を検出する。
発生動作によってプログラムが起動された場合、発生プログラム検出部241は起動されたプログラムを発生プログラムとして検出する。
発生動作によってタスク登録ファイル103にタスクが登録された場合、発生タスク検出部251はタスク登録ファイル103に登録されたタスクを発生タスクとして検出する。
S130において、発生動作検出部223、レジストリ変更検出部231、発生プログラム検出部241および発生タスク検出部251は、監視時間が経過するまで、仮想計算機部221を監視する。
発生動作検出部223は、動作プログラムの実行が開始された後に仮想計算機部221に発生した動作を発生動作として検出する。プログラムのインストール、ファイルのオープン、プログラムを再起動するためのコンピュータの再起動といった動作は発生動作の一例である。
仮想計算機部221が有するレジストリである仮想レジストリが変更された場合、レジストリ変更検出部231は仮想レジストリの変更を検出する。
発生動作によってプログラムが起動された場合、発生プログラム検出部241は起動されたプログラムを発生プログラムとして検出する。
発生動作によってタスク登録ファイル103にタスクが登録された場合、発生タスク検出部251はタスク登録ファイル103に登録されたタスクを発生タスクとして検出する。
S140は動作検証処理である。
S140において、検出された発生動作、仮想レジストリの変更、発生プログラムおよび発生タスクに基づいて、動作プログラムが不正なプログラムであるか判定される。
動作プログラムが不正なプログラムであると判定された場合、不正監視装置100であるコンピュータは動作プログラムを起動しない。
動作プログラムが不正なプログラムであると判定されなかった場合、不正監視装置100であるコンピュータは動作プログラムを起動する。
S140の後、不正プログラム監視方法の処理は終了する。
S140において、検出された発生動作、仮想レジストリの変更、発生プログラムおよび発生タスクに基づいて、動作プログラムが不正なプログラムであるか判定される。
動作プログラムが不正なプログラムであると判定された場合、不正監視装置100であるコンピュータは動作プログラムを起動しない。
動作プログラムが不正なプログラムであると判定されなかった場合、不正監視装置100であるコンピュータは動作プログラムを起動する。
S140の後、不正プログラム監視方法の処理は終了する。
図11に基づいて、動作検証処理(S130)について説明する。
S141において、不正変更判定部232は、仮想レジストリの変更が検出されたか判定する。
仮想レジストリの変更が検出された場合、処理はS142に進む。
仮想レジストリの変更が検出されなかった場合、処理はS143に進む。
S141において、不正変更判定部232は、仮想レジストリの変更が検出されたか判定する。
仮想レジストリの変更が検出された場合、処理はS142に進む。
仮想レジストリの変更が検出されなかった場合、処理はS143に進む。
S142は不正変更判定処理である。
S142において、不正変更判定部232は、レジストリ管理ファイル191から、発生動作に対応付いた設定情報を対象情報として特定する。図2において、発生動作がオフィスMというプログラムのインストールである場合、対象情報はHKLM_AAAである。
そして、不正変更判定部232は、検出された仮想レジストリの変更が対象情報の変更であるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された仮想レジストリの変更が対象情報の変更である場合、不正変更判定部232は、動作プログラムが不正なプログラムであると判定しない。
検出された仮想レジストリの変更が対象情報の変更でない場合、つまり、検出された仮想レジストリの変更が対象情報とは異なる設定情報の変更である場合、不正変更判定部232は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はS148に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS143に進む。
S142において、不正変更判定部232は、レジストリ管理ファイル191から、発生動作に対応付いた設定情報を対象情報として特定する。図2において、発生動作がオフィスMというプログラムのインストールである場合、対象情報はHKLM_AAAである。
そして、不正変更判定部232は、検出された仮想レジストリの変更が対象情報の変更であるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された仮想レジストリの変更が対象情報の変更である場合、不正変更判定部232は、動作プログラムが不正なプログラムであると判定しない。
検出された仮想レジストリの変更が対象情報の変更でない場合、つまり、検出された仮想レジストリの変更が対象情報とは異なる設定情報の変更である場合、不正変更判定部232は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はS148に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS143に進む。
S143において、不正起動判定部242は、発生プログラムが検出されたか判定する。
発生プログラムが検出された場合、処理はS144に進む。
発生プログラムが検出されなかった場合、S145に進む。
発生プログラムが検出された場合、処理はS144に進む。
発生プログラムが検出されなかった場合、S145に進む。
S144は不正起動判定処理である。
S144において、不正起動判定部242は、プログラム管理ファイル192から、発生動作に対応付いたプログラムを対象プログラムとして特定する。図3において、発生動作がドキュメントファイルのオープンである場合、対象プログラムはワープロMというプログラムである。
不正起動判定部242は、検出された発生プログラムが対象プログラムであるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された発生プログラムが対象プログラムである場合、不正起動判定部242は、動作プログラムが不正なプログラムであると判定しない。
検出された発生プログラムが対象プログラムでない場合、つまり、検出された発生プログラムが対象プログラムとは異なるプログラムである場合、不正起動判定部242は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はS148に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS145に進む。
S144において、不正起動判定部242は、プログラム管理ファイル192から、発生動作に対応付いたプログラムを対象プログラムとして特定する。図3において、発生動作がドキュメントファイルのオープンである場合、対象プログラムはワープロMというプログラムである。
不正起動判定部242は、検出された発生プログラムが対象プログラムであるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された発生プログラムが対象プログラムである場合、不正起動判定部242は、動作プログラムが不正なプログラムであると判定しない。
検出された発生プログラムが対象プログラムでない場合、つまり、検出された発生プログラムが対象プログラムとは異なるプログラムである場合、不正起動判定部242は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はS148に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS145に進む。
S145において、不正登録判定部252は、発生タスクが検出されたか判定する。
発生タスクが検出された場合、処理はS146に進む。
発生タスクが検出されなかった場合、処理はS147に進む。
発生タスクが検出された場合、処理はS146に進む。
発生タスクが検出されなかった場合、処理はS147に進む。
S146は不正登録判定処理である。
S146において、不正登録判定部252は、タスク管理ファイル193から、発生動作に対応付いたタスクを対象タスクとして特定する。図4において、発生動作がプログラムAを再起動するためのコンピュータの再起動である場合、対象タスクはプログラムAを起動させるタスクである。
そして、不正登録判定部252は、検出された発生タスクが対象タスクであるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された発生タスクが対象タスクである場合、不正登録判定部252は、動作プログラムが不正なプログラムであると判定しない。
検出された発生タスクが対象タスクでない場合、つまり、検出された発生タスクが対象タスクと異なるタスクである場合、不正登録判定部252は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はS148に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS147に進む。
S146において、不正登録判定部252は、タスク管理ファイル193から、発生動作に対応付いたタスクを対象タスクとして特定する。図4において、発生動作がプログラムAを再起動するためのコンピュータの再起動である場合、対象タスクはプログラムAを起動させるタスクである。
そして、不正登録判定部252は、検出された発生タスクが対象タスクであるか判定し、判定結果に基づいて動作プログラムが不正なプログラムであるか判定する。
検出された発生タスクが対象タスクである場合、不正登録判定部252は、動作プログラムが不正なプログラムであると判定しない。
検出された発生タスクが対象タスクでない場合、つまり、検出された発生タスクが対象タスクと異なるタスクである場合、不正登録判定部252は、動作プログラムが不正なプログラムであると判定する。
動作プログラムが不正なプログラムであると判定された場合、処理はS148に進む。
動作プログラムが不正なプログラムであると判定されなかった場合、処理はS147に進む。
S147は動作プログラム起動処理である。
S147において、実行命令制御部261は、検出された実行命令に従って、不正監視装置100であるコンピュータに動作プログラムを起動させる。
S147の後、動作検証処理(S140)は終了する。
S147において、実行命令制御部261は、検出された実行命令に従って、不正監視装置100であるコンピュータに動作プログラムを起動させる。
S147の後、動作検証処理(S140)は終了する。
S148は実行命令破棄処理である。
S148において、実行命令制御部261は、検出された実行命令を破棄する。この場合、不正監視装置100であるコンピュータによって動作プログラムは起動されない。
S148の後、動作検証処理(S140)は終了する。
S148において、実行命令制御部261は、検出された実行命令を破棄する。この場合、不正監視装置100であるコンピュータによって動作プログラムは起動されない。
S148の後、動作検証処理(S140)は終了する。
図12に基づいて、不正送信監視方法について説明する。不正送信監視方法は不正監視方法の一例である。
S201は送信検出処理である。
S201において、送信検出部111は、不正監視装置100であるコンピュータが実行しているプログラムを監視し、送信プログラムを検出する。送信プログラムは、送信データを発生させたプログラムであり、送信データを通信装置904に入力する。
さらに、送信検出部111は、不正監視装置100であるコンピュータが備える通信装置904を監視し、送信データを検出する。送信データは、外部に送信されるデータであり、通信装置904に入力される。
S201は送信検出処理である。
S201において、送信検出部111は、不正監視装置100であるコンピュータが実行しているプログラムを監視し、送信プログラムを検出する。送信プログラムは、送信データを発生させたプログラムであり、送信データを通信装置904に入力する。
さらに、送信検出部111は、不正監視装置100であるコンピュータが備える通信装置904を監視し、送信データを検出する。送信データは、外部に送信されるデータであり、通信装置904に入力される。
また、ユーザ操作検出部115は、ユーザインタフェースである入力装置907を監視し、入力装置907の操作をユーザ操作として検出する。
そして、操作プログラム特定部116は、検出されたユーザ操作に従って動作しているプログラムを操作プログラムとして特定する。
そして、操作プログラム特定部116は、検出されたユーザ操作に従って動作しているプログラムを操作プログラムとして特定する。
S210は送信判定処理である。
S210において、送信判定部112は、検出された送信プログラムが特定された操作プログラムであるか判定する。
送信プログラムが操作プログラムである場合、不正送信監視方法の処理は終了する。
送信プログラムが操作プログラムでない場合、処理はS220に進む。
S210において、送信判定部112は、検出された送信プログラムが特定された操作プログラムであるか判定する。
送信プログラムが操作プログラムである場合、不正送信監視方法の処理は終了する。
送信プログラムが操作プログラムでない場合、処理はS220に進む。
S220は送信停止処理である。
S220において、送信停止部113は、不正監視装置100であるコンピュータに検出された送信プログラムを停止させる。
S220において、送信停止部113は、不正監視装置100であるコンピュータに検出された送信プログラムを停止させる。
S230は通信遮断処理である。
S230において、通信遮断部114は、不正監視装置100であるコンピュータが備える通信装置904を停止させることによって、外部との通信を遮断する。
S230の後、不正送信監視方法の処理は終了する。
S230において、通信遮断部114は、不正監視装置100であるコンピュータが備える通信装置904を停止させることによって、外部との通信を遮断する。
S230の後、不正送信監視方法の処理は終了する。
図13に基づいて、不正アクセス監視方法について説明する。不正アクセス監視方法は不正監視方法の一例である。
S301はアクセス操作検出処理である。
S301において、アクセス操作検出部121は、不正監視装置100であるコンピュータによって実行されるウェブブラウザとユーザインタフェースである入力装置907とを監視し、アクセス操作を検出する。アクセス操作は、ウェブサイトへのアクセスを要求するユーザ操作である。
S301はアクセス操作検出処理である。
S301において、アクセス操作検出部121は、不正監視装置100であるコンピュータによって実行されるウェブブラウザとユーザインタフェースである入力装置907とを監視し、アクセス操作を検出する。アクセス操作は、ウェブサイトへのアクセスを要求するユーザ操作である。
S311およびS312はアクセス操作判定処理である。
S311において、アクセス操作判定部122は、アクセス先のウェブサイトのアドレスであるアクセス先アドレスがウェブ管理ファイル194にリンク元アドレスとして登録されているか判定する。
図5において、アクセス先アドレスがウェブサイトA、ウェブサイトBまたはウェブサイトCのアドレスである場合、アクセス先アドレスはウェブ管理ファイル194にリンク元アドレスとして登録されている。
アクセス先アドレスがウェブ管理ファイル194にリンク先アドレスとして登録されている場合、処理はS312に進む。
アクセス先アドレスがウェブ管理ファイル194にリンク先アドレスとして登録されていない場合、アクセス操作判定部122は検出されたアクセス操作を許可しない。この場合、ウェブブラウザはアクセス先のウェブサイトにアクセスしない。そして、処理はS301に戻る。
S311において、アクセス操作判定部122は、アクセス先のウェブサイトのアドレスであるアクセス先アドレスがウェブ管理ファイル194にリンク元アドレスとして登録されているか判定する。
図5において、アクセス先アドレスがウェブサイトA、ウェブサイトBまたはウェブサイトCのアドレスである場合、アクセス先アドレスはウェブ管理ファイル194にリンク元アドレスとして登録されている。
アクセス先アドレスがウェブ管理ファイル194にリンク先アドレスとして登録されている場合、処理はS312に進む。
アクセス先アドレスがウェブ管理ファイル194にリンク先アドレスとして登録されていない場合、アクセス操作判定部122は検出されたアクセス操作を許可しない。この場合、ウェブブラウザはアクセス先のウェブサイトにアクセスしない。そして、処理はS301に戻る。
S312において、アクセス操作判定部122は検出されたアクセス操作を許可する。この場合、ウェブブラウザはアクセス先のウェブサイトにアクセスする。
S321はジャンプ操作検出処理である。
S321において、ジャンプ操作検出部123は、ウェブブラウザと入力装置907とを監視し、ジャンプ操作を検出する。ジャンプ操作は、アクセス先のウェブサイトに含まれるウェブリンクをクリックするユーザ操作である。ウェブリンクは、他のウェブサイトをリンクさせる部分である。他のウェブサイトをリンクさせる文字列およびバナーは、ウェブリンクの一例である。
S321において、ジャンプ操作検出部123は、ウェブブラウザと入力装置907とを監視し、ジャンプ操作を検出する。ジャンプ操作は、アクセス先のウェブサイトに含まれるウェブリンクをクリックするユーザ操作である。ウェブリンクは、他のウェブサイトをリンクさせる部分である。他のウェブサイトをリンクさせる文字列およびバナーは、ウェブリンクの一例である。
S322およびS323はジャンプ操作判定処理である。
S322において、ジャンプ操作判定部124は、ウェブ管理ファイル194から、アクセス先アドレスと同じアドレスのリンク元アドレスに対応付いたリンク先情報を特定する。
図5において、アクセス先アドレスがウェブサイトAである場合、特定されるリンク先情報はアクセス不可である。アクセス先アドレスがウェブサイトBである場合、特定されるリンク先情報はアクセス許可である。アクセス先アドレスがウェブサイトCである場合、特定されるリンク先情報はウェブサイトBである。
S322において、ジャンプ操作判定部124は、ウェブ管理ファイル194から、アクセス先アドレスと同じアドレスのリンク元アドレスに対応付いたリンク先情報を特定する。
図5において、アクセス先アドレスがウェブサイトAである場合、特定されるリンク先情報はアクセス不可である。アクセス先アドレスがウェブサイトBである場合、特定されるリンク先情報はアクセス許可である。アクセス先アドレスがウェブサイトCである場合、特定されるリンク先情報はウェブサイトBである。
S323において、ジャンプ操作判定部124は、特定されたリンク先情報に基づいて、検出されたジャンプ操作の許否を判定する。
特定されたリンク先情報がアクセス不可である場合、ジャンプ操作判定部124はジャンプ操作を許可しない。
特定されたリンク先情報がアクセス許可である場合、ジャンプ操作判定部124はジャンプ操作を許可する。
特定されたリンク先情報がウェブサイトBであり、クリックされたウェブリンクにリンクされたウェブサイトがウェブサイトBである場合、ジャンプ操作判定部124はジャンプ操作を許可する。
特定されたリンク先情報がウェブサイトBであり、クリックされたウェブリンクにリンクされたウェブサイトがウェブサイトBとは異なるウェブサイトである場合、ジャンプ操作判定部124はジャンプ操作を許可しない。
特定されたリンク先情報がアクセス不可である場合、ジャンプ操作判定部124はジャンプ操作を許可しない。
特定されたリンク先情報がアクセス許可である場合、ジャンプ操作判定部124はジャンプ操作を許可する。
特定されたリンク先情報がウェブサイトBであり、クリックされたウェブリンクにリンクされたウェブサイトがウェブサイトBである場合、ジャンプ操作判定部124はジャンプ操作を許可する。
特定されたリンク先情報がウェブサイトBであり、クリックされたウェブリンクにリンクされたウェブサイトがウェブサイトBとは異なるウェブサイトである場合、ジャンプ操作判定部124はジャンプ操作を許可しない。
S331において、ジャンプ操作が許可された場合、ウェブブラウザはリンク先のウェブサイトにアクセスする。そして、処理はS332に進む。
一方、ジャンプ操作が許可されなかった場合、ウェブブラウザはリンク先のウェブサイトにアクセスしない。そして、処理はS321に戻る。
一方、ジャンプ操作が許可されなかった場合、ウェブブラウザはリンク先のウェブサイトにアクセスしない。そして、処理はS321に戻る。
S332において、ウェブ管理部125は、リンク先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル194に登録されているか判定する。
そして、リンク先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル194に登録されていない場合、ウェブ管理部125は、リンク先のウェブサイトのアドレスをリンク元アドレスとしてウェブ管理ファイル194に登録する。また、ウェブ管理部125は、登録したリンク元アドレスに対応付けるリンク先情報としてアクセス不可をウェブ管理ファイル194に登録する。但し、登録したリンク元アドレスに対応付けるリンク先情報はアクセス不可とは異なる情報でも構わない。
図5において、リンク先のウェブサイトのアドレスがウェブサイトBのアドレスである場合、ウェブ管理部125は、ウェブサイトBのアドレスをリンク元アドレスとしてウェブ管理ファイル194に登録する。
S332の後、処理はS321に戻る。
そして、リンク先のウェブサイトのアドレスがリンク元アドレスとしてウェブ管理ファイル194に登録されていない場合、ウェブ管理部125は、リンク先のウェブサイトのアドレスをリンク元アドレスとしてウェブ管理ファイル194に登録する。また、ウェブ管理部125は、登録したリンク元アドレスに対応付けるリンク先情報としてアクセス不可をウェブ管理ファイル194に登録する。但し、登録したリンク元アドレスに対応付けるリンク先情報はアクセス不可とは異なる情報でも構わない。
図5において、リンク先のウェブサイトのアドレスがウェブサイトBのアドレスである場合、ウェブ管理部125は、ウェブサイトBのアドレスをリンク元アドレスとしてウェブ管理ファイル194に登録する。
S332の後、処理はS321に戻る。
***効果の説明***
不正プログラム監視方法によって、コンピュータである物理計算機においてレジストリの変更およびタスクの登録がされずに、不正なプログラムの起動時に不正なプログラムを検出することができる。
不正送信監視方法によって、不正なデータの送信を検出し、通信を遮断することができる。例えば、一定時間が経過した後に時限爆弾的に動作を開始するマルウェアによるデータの送信を検出し、通信を遮断することによって情報漏えいを防ぐことができる。
不正アクセス監視方法によって、許可されていないウェブサイトへのアクセスを防ぐことができる。これにより、許可されていないウェブサイトを介してコンピュータウイルスに感染することを防ぐことができる。
不正プログラム監視方法によって、コンピュータである物理計算機においてレジストリの変更およびタスクの登録がされずに、不正なプログラムの起動時に不正なプログラムを検出することができる。
不正送信監視方法によって、不正なデータの送信を検出し、通信を遮断することができる。例えば、一定時間が経過した後に時限爆弾的に動作を開始するマルウェアによるデータの送信を検出し、通信を遮断することによって情報漏えいを防ぐことができる。
不正アクセス監視方法によって、許可されていないウェブサイトへのアクセスを防ぐことができる。これにより、許可されていないウェブサイトを介してコンピュータウイルスに感染することを防ぐことができる。
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は部分的に実施してもよい。
フローチャート等を用いて説明した処理手順は、不正監視装置、不正監視方法および不正監視プログラムの処理手順の一例である。
フローチャート等を用いて説明した処理手順は、不正監視装置、不正監視方法および不正監視プログラムの処理手順の一例である。
100 不正監視装置、101 ブラックリスト、102 ホワイトリスト、103 タスク登録ファイル、110 不正送信監視部、111 送信検出部、112 送信判定部、113 送信停止部、114 通信遮断部、115 ユーザ操作検出部、116 操作プログラム特定部、120 不正アクセス監視部、121 アクセス操作検出部、122 アクセス操作判定部、123 ジャンプ操作検出部、124 ジャンプ操作判定部、125 ウェブ管理部、190 ファイル記憶部、191 レジストリ管理ファイル、192 プログラム管理ファイル、193 タスク管理ファイル、194 ウェブ管理ファイル、200 不正プログラム監視部、211 実行命令検出部、212 ブラックリスト照合部、213 ホワイトリスト照合部、221 仮想計算機部、222 実行命令部、223 発生動作検出部、231 レジストリ変更検出部、232 不正変更判定部、241 発生プログラム検出部、242 不正起動判定部、251 発生タスク検出部、252 不正登録判定部、261 実行命令制御部、901 プロセッサ、902 補助記憶装置、903 メモリ、904 通信装置、9041 レシーバ、9042 トランスミッタ、905 入力インタフェース、906 出力インタフェース、907 入力装置、908 出力装置、910 信号線、911 ケーブル、912 ケーブル。
Claims (15)
- レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する仮想計算機部と、
前記物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する実行命令検出部と、
前記実行命令が検出された場合、前記動作プログラムの実行を前記仮想計算機部に命令する実行命令部と、
前記動作プログラムの実行が前記仮想計算機部に命令された後、前記仮想計算機部が有するレジストリである仮想レジストリの変更を検出するレジストリ変更検出部と、
前記仮想レジストリの変更が検出された場合、前記仮想レジストリの変更の内容に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正変更判定部と
を備える不正監視装置。 - 前記仮想レジストリは複数の設定情報を含み、
前記不正監視装置は、
前記動作プログラムの実行が開始された後に前記仮想計算機部に発生した発生動作を検出する発生動作検出部を備え、
前記不正変更判定部は、
動作に設定情報を対応付けたレジストリ管理ファイルから、前記発生動作に対応付いた設定情報を対象情報として特定し、前記仮想レジストリの変更が前記対象情報の変更であるか否かに基づいて前記動作プログラムが不正なプログラムであるか判定する
請求項1に記載の不正監視装置。 - 前記動作プログラムの実行が開始された後に前記仮想計算機部に発生した発生動作を検出する発生動作検出部と、
前記発生動作によって起動されたプログラムを発生プログラムとして検出する発生プログラム検出部と、
前記発生プログラムが検出された場合、前記発生プログラムの種類に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正起動判定部と
を備える請求項1に記載の不正監視装置。 - 前記不正起動判定部は、動作にプログラムを対応付けたプログラム管理ファイルから、前記発生動作に対応付いたプログラムを対象プログラムとして特定し、前記発生プログラムが前記対象プログラムであるか否かに基づいて前記動作プログラムが不正なプログラムであるか判定する
請求項3に記載の不正監視装置。 - 前記仮想計算機部は、実行される予定のタスクが登録されるタスク登録ファイルを有し、
前記不正監視装置は、
前記動作プログラムの実行が開始された後に前記仮想計算機部に発生した発生動作を検出する発生動作検出部と、
前記発生動作によって前記タスク登録ファイルに登録されたタスクを発生タスクとして検出する発生タスク検出部と、
前記発生タスクが検出された場合、前記発生タスクの種類に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正登録判定部と
を備える請求項1に記載の不正監視装置。 - 前記不正登録判定部は、動作にタスクを対応付けたタスク管理ファイルから、前記発生動作に対応付いたタスクを対象タスクとして特定し、前記発生タスクが前記対象タスクであるか判定し、判定結果に基づいて前記動作プログラムが不正なプログラムであるか判定する
請求項5に記載の不正監視装置。 - 送信データを検出する送信検出部と、
前記送信が検出された場合、前記送信データを発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する送信判定部と、
前記送信プログラムが前記操作プログラムでないと判定された場合、前記送信プログラムを停止させる送信停止部と
を備える請求項1から請求項6のいずれか1項に記載の不正監視装置。 - 前記送信プログラムが前記操作プログラムでないと判定された場合、外部との通信を遮断する通信遮断部を備える
請求項7に記載の不正監視装置。 - 第2のウェブサイトをリンクさせるウェブリンクを含んだ第1のウェブサイトの前記ウェブリンクをクリックするユーザ操作をジャンプ操作として検出するジャンプ操作検出部と、
前記ジャンプ操作が検出された場合、ウェブサイトのアドレスであるリンク元アドレスに、ウェブサイトにリンクされたリンク先へのアクセスの可否を指定するリンク先情報、を対応付けたウェブ管理ファイルに含まれるリンク先情報のうち、前記第1のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、前記ジャンプ操作の許否を判定するジャンプ操作判定部と
を備える請求項1から請求項8のいずれか1項に記載の不正監視装置。 - 前記ジャンプ操作が許可された場合、前記第2のウェブサイトのアドレスがリンク元アドレスとして前記ウェブ管理ファイルに登録されていなければ、前記第2のウェブサイトのアドレスをリンク元アドレスとして前記ウェブ管理ファイルに登録するウェブ管理部と、
ウェブサイトへのアクセスを要求するユーザ操作をアクセス操作として検出するアクセス操作検出部と、
前記アクセス操作が検出された場合、アクセス先のウェブサイトのアドレスがリンク元アドレスとして前記ウェブ管理ファイルに登録されていることを条件として、前記アクセス操作を許可するアクセス操作判定部と
を備える請求項9に記載の不正監視装置。 - 送信データを検出する送信検出部と、
前記送信データが検出された場合、前記送信データを発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する送信判定部と、
前記送信プログラムが前記操作プログラムでないと判定された場合、前記送信プログラムを停止させる送信停止部と
を備える不正監視装置。 - 第2のウェブサイトをリンクさせるウェブリンクを含んだ第1のウェブサイトの前記ウェブリンクをクリックするユーザ操作をジャンプ操作として検出するジャンプ操作検出部と、
前記ジャンプ操作が検出された場合、ウェブサイトのアドレスであるリンク元アドレスに、ウェブサイトにリンクされたリンク先へのアクセスの可否を指定するリンク先情報、を対応付けたウェブ管理ファイルに含まれるリンク先情報のうち、前記第1のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、前記ジャンプ操作の許否を判定するジャンプ操作判定部と
を備える不正監視装置。 - レジストリを有する物理計算機の動作を模擬する仮想計算機として動作する仮想計算機部と、
前記物理計算機を動作させる動作プログラムの実行を命令する実行命令を検出する実行命令検出部と、
前記実行命令が検出された場合、前記動作プログラムの実行を前記仮想計算機部に命令する実行命令部と、
前記動作プログラムの実行が前記仮想計算機部に命令された後、前記仮想計算機部が有するレジストリである仮想レジストリの変更を検出するレジストリ変更検出部と、
前記仮想レジストリの変更が検出された場合、前記仮想レジストリの変更の内容に基づいて、前記動作プログラムが不正なプログラムであるか判定する不正変更判定部
としてコンピュータを機能させるための不正監視プログラム。 - 送信データを検出する送信検出部と、
前記送信データが検出された場合、前記送信データの送信を発生させた送信プログラムがユーザ操作に従って動作している操作プログラムであるか判定する送信判定部と、
前記送信プログラムが前記操作プログラムでないと判定された場合、前記送信プログラムを停止させる送信停止部
としてコンピュータを機能させるための不正監視プログラム。 - 第2のウェブサイトをリンクさせるウェブリンクを含んだ第1のウェブサイトの前記ウェブリンクをクリックするユーザ操作をジャンプ操作として検出するジャンプ操作検出部と、
前記ジャンプ操作が検出された場合、ウェブサイトのアドレスであるリンク元アドレスに、ウェブサイトにリンクされたリンク先へのアクセスの可否を指定するリンク先情報、を対応付けたウェブ管理ファイルに含まれるリンク先情報のうち、前記第1のウェブサイトのアドレスがリンク元アドレスとして対応付いたリンク先情報に基づいて、前記ジャンプ操作の許否を判定するジャンプ操作判定部
としてコンピュータを機能させるための不正監視プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015062212A JP2016181208A (ja) | 2015-03-25 | 2015-03-25 | 不正監視装置および不正監視プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015062212A JP2016181208A (ja) | 2015-03-25 | 2015-03-25 | 不正監視装置および不正監視プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016181208A true JP2016181208A (ja) | 2016-10-13 |
Family
ID=57132594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015062212A Pending JP2016181208A (ja) | 2015-03-25 | 2015-03-25 | 不正監視装置および不正監視プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016181208A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019046266A (ja) * | 2017-09-04 | 2019-03-22 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
CN109670337A (zh) * | 2018-12-24 | 2019-04-23 | 北京天融信网络安全技术有限公司 | 一种检测方法及装置 |
JP2019525314A (ja) * | 2017-06-27 | 2019-09-05 | シマンテック コーポレーションSymantec Corporation | グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減 |
JPWO2020261438A1 (ja) * | 2019-06-26 | 2020-12-30 |
-
2015
- 2015-03-25 JP JP2015062212A patent/JP2016181208A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019525314A (ja) * | 2017-06-27 | 2019-09-05 | シマンテック コーポレーションSymantec Corporation | グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減 |
JP2019046266A (ja) * | 2017-09-04 | 2019-03-22 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
CN109670337A (zh) * | 2018-12-24 | 2019-04-23 | 北京天融信网络安全技术有限公司 | 一种检测方法及装置 |
CN109670337B (zh) * | 2018-12-24 | 2021-12-14 | 北京天融信网络安全技术有限公司 | 一种检测方法及装置 |
JPWO2020261438A1 (ja) * | 2019-06-26 | 2020-12-30 | ||
US20220366035A1 (en) * | 2019-06-26 | 2022-11-17 | Nec Corporation | Execution control system, execution control method, and program |
JP7255681B2 (ja) | 2019-06-26 | 2023-04-11 | 日本電気株式会社 | 実行制御システム、実行制御方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7460696B2 (ja) | カーネルモードにおけるマルウェアおよびステガノグラフィのリアルタイム検出ならびにマルウェアおよびステガノグラフィからの保護 | |
US20210019411A1 (en) | Mitigation of ransomware | |
US10642973B2 (en) | System and method of analysis of files for maliciousness and determining an action | |
CN107430662B (zh) | 识别进程的恶意运行 | |
US11645390B2 (en) | Cloud-based method to increase integrity of a next generation antivirus (NGAV) security solution in a virtualized computing environment | |
US8918878B2 (en) | Restoration of file damage caused by malware | |
US10055585B2 (en) | Hardware and software execution profiling | |
US8347380B1 (en) | Protecting users from accidentally disclosing personal information in an insecure environment | |
KR102271545B1 (ko) | 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들 | |
US10187418B2 (en) | System and method for identifying and preventing vulnerability exploitation using symbolic constraints | |
US20110277033A1 (en) | Identifying Malicious Threads | |
WO2014049499A2 (en) | Identifying whether an application is malicious | |
CN107960126B (zh) | 基于分析事件的漏洞利用检测 | |
US11048795B2 (en) | System and method for analyzing a log in a virtual machine based on a template | |
US9430647B2 (en) | Peer-aware self-regulation for virtualized environments | |
US10007785B2 (en) | Method and apparatus for implementing virtual machine introspection | |
CN110659478B (zh) | 在隔离的环境中检测阻止分析的恶意文件的方法 | |
WO2015109912A1 (zh) | 缓冲区溢出攻击检测装置、方法和安全防护系统 | |
JP2015514252A (ja) | オペレーティングシステムに対する悪意ある活動のレポート | |
JP2016181208A (ja) | 不正監視装置および不正監視プログラム | |
RU2649794C1 (ru) | Система и способ формирования журнала в виртуальной машине для проведения антивирусной проверки файла | |
EP3361406A1 (en) | System and method of analysis of files for maliciousness in a virtual machine | |
JP6498413B2 (ja) | 情報処理システム、情報処理装置、制御サーバ、生成サーバ、動作制御方法及び動作制御プログラム |