(57)【要約】【課題】マルウエアの検知精度を向上させることを可能とするマルウエア検知プログラム、マルウエア検知装置及びマルウエア検知方法を提供する。【解決手段】アプリケーションからのファイル一覧の送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加して前記アプリケーションに送信し、前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する。【選択図】図５
2018041163.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
アプリケーションからのファイル一覧の送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加して前記アプリケーションに送信し、
前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する、
処理を実行させることを特徴とするマルウエア検知プログラム。
【請求項２】
請求項１において、
前記ファイル一覧は、各ファイルのファイル名を含む情報である、
ことを特徴とするマルウエア検知プログラム。
【請求項３】
請求項１において、
前記操作命令は、前記特定のファイルに対する書き込み命令または削除命令である、
ことを特徴とするマルウエア検知プログラム。
【請求項４】
請求項３において、
前記書き込み命令は、前記特定のファイルに対する暗号化命令である、
ことを特徴とするマルウエア検知プログラム。
【請求項５】
請求項１において、
前記ファイル一覧を送信する処理では、
前記アプリケーションがオペレーティングシステムに対して前記送信命令を送信すると、前記送信命令をフックし、
前記送信命令をフックしたことに応じて、前記ファイル一覧に前記特定のファイルに関する情報を付加して前記アプリケーションに送信し、
前記アプリケーションを判定する処理では、
前記アプリケーションがオペレーティングシステムに対して前記操作命令を送信すると、前記操作命令をフックし、
前記操作命令をフックしたことに応じて、前記アプリケーションの判定を行う、
ことを特徴とするマルウエア検知プログラム。
【請求項６】
請求項１において、
前記ファイル一覧を送信する処理では、
前記特定のファイルに関する情報を、前記ファイル一覧に含まれる他のファイルに関する情報よりも前に付加する、
ことを特徴とするマルウエア検知プログラム。
【請求項７】
アプリケーションからのファイル一覧の送信命令を受け付ける命令受付部と、
前記命令受付部が前記送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加する情報付加部と、
前記情報付加部が情報を付加した前記特定のファイルに関する情報を前記アプリケーションに送信する情報送信部と、
前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する判定部と、を有する、
ことを特徴とするマルウエア検知装置。
【請求項８】
アプリケーションからのファイル一覧の送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加して前記アプリケーションに送信し、
前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する、
ことを特徴とするマルウエア検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルウエア検知プログラム、マルウエア検知装置及びマルウエア検知方法に関する。
【背景技術】
【０００２】
企業や組織におけるセキュリティ管理者（以下、単に管理者とも呼ぶ）は、例えば、コンピュータウィルスを含む有害動作を行うプログラム等（以下、マルウエアとも呼ぶ）による情報の不正取得や破壊等（以下、悪性動作とも呼ぶ）を防ぐ必要がある。
【０００３】
具体的に、マルウエアの一種であるランサムウエアは、例えば、悪意のある者が外部の端末装置（以下、単に外部端末とも呼ぶ）から送信したメールに添付される形で送信され、メールを受信した端末装置において実行されることで、その端末装置内のファイルの暗号化を行う。そして、ランサムウエアが添付されたメールを送信した悪意のある者は、例えば、暗号化したファイルを復号化するための暗号鍵の譲渡の条件として対価を求める。
【０００４】
そのため、管理者は、例えば、端末装置（例えば、重要ファイルを記憶している端末装置等）に対し、アンチウイルスソフトを予めインストールする。これにより、管理者は、ランサムウエア等のマルウエアによる被害を防止する（例えば、特許文献１から３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−０３３６９０号公報
【特許文献２】特開２００６−０１１５５２号公報
【特許文献３】特開２００７−３３４５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、端末装置で実行されるマルウエアには、アンチウイルスソフトが対応していない新種のマルウエアや、アンチウイルスソフトが検知することができる動作を行わないマルウエアが存在する。そのため、アンチウイルスソフトは、端末装置で実行されたマルウエアの検知を精度良く行うことができない場合がある。
【０００７】
一方、端末装置がバックアップデータを取得している場合、管理者は、端末装置をマルウエアによる攻撃を受ける前の段階にロールバックすることが可能である。これにより、管理者は、例えば、ランサムウエア等による攻撃を受けた場合であっても、攻撃を受ける前の状態のファイルを取得することが可能になる。
【０００８】
しかしながら、端末装置においてロールバックが行われる場合、ロールバックが行われる対象期間において行われていた作業内容は失われる。そのため、例えば、端末装置においてバックアップデータの取得が行われる間隔が長い場合、管理者は、端末装置のロールバックを行うことができない場合がある。
【０００９】
そこで、一つの側面では、マルウエアの検知精度を向上させることを可能とするマルウエア検知プログラム、マルウエア検知装置及びマルウエア検知方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施の形態の一つの態様によれば、コンピュータに、アプリケーションからのファイル一覧の送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加して前記アプリケーションに送信し、前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する、処理を実行させる。
【発明の効果】
【００１１】
一つの側面によれば、マルウエアの検知精度を向上させることを可能とする。
【図面の簡単な説明】
【００１２】
【図１】図１は、情報処理システム１０の全体構成を説明する図である。
【図２】図２は、悪意のある者が端末装置１ｃに対してマルウエアを送信した場合の具体例を説明する図である。
【図３】図３は、端末装置１のハードウエア構成を説明する図である。
【図４】図４は、図３の端末装置１の機能ブロック図である。
【図５】図５は、第１の実施の形態におけるマルウエア検知処理の概略を説明するフローチャート図である。
【図６】図６は、第１の実施の形態におけるマルウエア検知処理の概略を説明するフローチャート図である。
【図７】図７は、第１の実施の形態におけるマルウエア検知処理の概略を説明する図である。
【図８】図８は、第１の実施の形態におけるマルウエア検知処理の概略を説明する図である。
【図９】図９は、第１の実施の形態におけるマルウエア検知処理の概略を説明する図である。
【図１０】図１０は、第１の実施の形態におけるマルウエア検知処理の概略を説明する図である。
【図１１】図１１は、第１の実施の形態におけるマルウエア検知処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態におけるマルウエア検知処理の詳細を説明するフローチャート図である。
【図１３】図１３は、ファイル一覧情報１３１の具体例を説明する図である。
【図１４】図１４は、ファイル一覧情報１３１の具体例を説明する図である。
【図１５】図１５は、ファイル一覧情報１３１の具体例を説明する図である。
【図１６】図１６は、第１の実施の形態におけるマルウエア検知処理の詳細を説明する図である。
【発明を実施するための形態】
【００１３】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を説明する図である。図１に示す情報処理システム１０は、端末装置１ａ、１ｂ及び１ｃ（以下、これらを総称して端末装置１またはマルウエア検知装置１とも呼ぶ）と、ファイアーウォール装置３とを有する。
【００１４】
端末装置１は、企業や組織における業務システムの開発者や管理者が使用する端末である。具体的に、端末装置１は、例えば、デスクトップＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やノート型ＰＣである。
【００１５】
ファイアーウォール装置３は、ネットワークＮＷと接続した外部端末３１と、端末装置１との間の通信を制御する。すなわち、ファイアーウォール装置３は、例えば、外部端末３１による端末装置１への不正アクセス等を防御する。なお、ネットワークＮＷは、例えば、インターネット網である。
【００１６】
［外部端末からマルウエアが送信された場合の具体例］
次に、悪意のある者が外部端末３１を介して端末装置１ｃにマルウエアを送信した場合の具体例について説明する。図２は、悪意のある者が端末装置１ｃに対してマルウエアを送信した場合の具体例を説明する図である。
【００１７】
悪意のある者は、図２に示すように、例えば、外部端末３１を介して、マルウエアを添付したメール（通常の実行ファイルが添付されたメールを装ったメール）を端末装置１ｃに対して送信する。具体的に、悪意のある者は、例えば、情報の不正取得等を行う標的（特定の企業等）を予め決定し、その標的の端末装置（端末装置１ｃ）に対してマルウエアを添付したメールを送信する（以下、これを標的型攻撃とも呼ぶ）。
【００１８】
この場合において、ファイアーウォール装置３は、外部端末３１から送信されたメールにマルウエアが添付されていると判定することができず、そのメールの破棄を行わない可能性がある。そのため、端末装置１は、図２に示すように、送信されたメールに添付されたマルウエアを利用者が実行することにより、マルウエアに感染する場合がある。
【００１９】
そこで、管理者は、例えば、端末装置（重要ファイルを記憶している端末装置等）に対し、アンチウイルスソフトを予めインストールする。アンチウイルスソフトは、例えば、端末装置１で動作するアプリケーションの動作の内容が、過去に解析済のマルウエアの動作と同じ内容である場合に、そのアプリケーションがマルウエアであると判定し、そのマルウエアの排除等を行うソフトウエアである。これにより、管理者は、ランサムウエア等のマルウエアによる被害を抑えることが可能になる。
【００２０】
しかしながら、端末装置１で実行されるマルウエアは、新種のマルウエア（アンチウイルスソフトが対応していないマルウエア）である場合がある。また、端末装置１で実行されたマルウエアは、アンチウイルスソフトが検知することができる動作を行わないマルウエアである場合がある。そのため、管理者は、これらの場合、端末装置１で実行されたマルウエアの検知を行うことができない。
【００２１】
一方、端末装置１がバックアップデータを取得している場合、管理者は、例えば、端末装置１をマルウエアによる被害を受ける前の段階にロールバックする。これにより、管理者は、マルウエアによる攻撃を受けた後であっても、攻撃を受ける前の状態のファイルを取得することが可能になる。
【００２２】
しかしながら、端末装置１においてロールバックが行われる場合、ロールバックが行われる対象期間において行われていた作業内容が失われる。そのため、例えば、端末装置１においてバックアップデータの取得が行われる間隔が長い場合、管理者は、端末装置１のロールバックを行うことができない場合がある。
【００２３】
そこで、本実施の形態における端末装置１のハイパーバイザは、アプリケーションからのファイル一覧の送信命令を受け付けると、記憶装置に記憶されたファイル一覧を取得する。具体的に、端末装置１のハイパーバイザは、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がアプリケーションから送信されたファイル一覧の送信命令を受け付けたことに応じて、記憶装置に記憶されたファイル一覧の取得を行う。
【００２４】
そして、端末装置１のハイパーバイザは、例えば、自らが生成したファイル（以下、特定のファイルとも呼ぶ）に関する情報をファイル一覧に付加し、アプリケーションに送信する。その後、端末装置１のハイパーバイザは、アプリケーションから特定のファイルに対する操作命令を受け付けると、アプリケーションがマルウエアであると判定する。
【００２５】
すなわち、特定のファイルが端末装置１のハイパーバイザによって生成されたファイルである場合、通常のアプリケーション（マルウエアではないアプリケーション）は、特定のファイルに対して書込みや削除等の操作を行う必要性を有しない。そのため、通常のアプリケーションは、取得したファイル一覧に特定のファイルに関する情報が含まれる場合であっても、特定のファイルに対して書込み等の操作を行わない。
【００２６】
一方、ファイル一覧の送信命令の送信元が端末装置１に感染したマルウエア（例えば、ランサムウエア）である場合、そのマルウエアは、例えば、取得したファイル一覧に情報が含まれる全てのファイルに対して攻撃（ファイルに対して暗号化を行うための書込みやファイルの削除等）を行う。すなわち、ファイル一覧の送信命令の送信元が端末装置１に感染したマルウエアである場合、そのマルウエアは、ハイパーバイザが生成した特定のファイルに対しても操作を行う。
【００２７】
そこで、端末装置１のハイパーバイザは、アプリケーションからファイル一覧の送信命令を受け付けた場合、特定のファイルに関する情報を付加した状態のファイル一覧をアプリケーションに送信する。そして、端末装置１のハイパーバイザは、アプリケーションから特定のファイルに対する書込み等の操作命令を受け付けた場合、そのアプリケーションがマルウエアであると判定する。
【００２８】
これにより、端末装置１のハイパーバイザは、ファイル一覧の送信命令の送信元がマルウエアであるか否かを検知することが可能になる。そのため、端末装置１のハイパーバイザは、マルウエアの存在を精度良く検知することが可能になる。したがって、端末装置１のハイパーバイザは、端末装置１のファイルに対する攻撃を効率的に防ぐことが可能になる。
【００２９】
［端末装置のハードウエア構成］
次に、端末装置１のハードウエア構成について説明する。図３は、端末装置１のハードウエア構成を説明する図である。
【００３０】
端末装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００３１】
記憶媒体１０４は、例えば、記憶媒体１０４内のプログラム格納領域（図示しない）に、マルウエアを検知する処理（以下、マルウエア検知処理とも呼ぶ）等を行うためのプログラム１１０を記憶する。記憶媒体１０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。
【００３２】
ＣＰＵ１０１は、図３に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してマルウエア検知処理等を行う。
【００３３】
記憶媒体１０４は、例えば、マルウエア検知処理等を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０または記憶装置１３０とも呼ぶ）を有する。なお、記憶部１３０は、例えば、端末装置１のハイパーバイザが制御する情報格納領域として機能する。
【００３４】
また、外部インターフェース１０３は、ファイアーウォール装置３を介してネットワークＮＷと通信を行う。
【００３５】
[端末装置のソフトウエア構成]
次に、端末装置１のソフトウエア構成について説明する。図４は、図３の端末装置１の機能ブロック図である。ＣＰＵ１０１は、プログラム１１０と協働することにより、端末装置１のハイパーバイザの機能である命令受付部１１１と、情報付加部１１２と、情報送信部１１３と、アプリ判定部１１４（以下、単に判定部１１４とも呼ぶ）として機能する。また、情報格納領域１３０には、ファイル一覧情報１３１が記憶されている。
【００３６】
命令受付部１１１は、アプリケーションからＯＳに対して送信された命令（例えば、ファイル一覧の送信命令やファイルの操作命令）を受け付ける。具体的に、命令受付部１１１は、アプリケーションからＯＳに対して命令が送信されたことを検知した場合、その命令をフックする。
【００３７】
情報付加部１１２は、命令受付部１１１がアプリケーションから送信されたファイル一覧（以下、ファイル一覧情報１３１とも呼ぶ）の送信命令をフックした場合、情報格納領域１３０に記憶されたファイル一覧情報１３１を取得する。ファイル一覧情報１３１は、例えば、情報格納領域１３０に記憶されたファイル名等を含む情報である。そして、情報付加部１１２は、情報格納領域１３０から取得したファイル一覧情報１３１に、特定のファイル（通常のアプリケーションが書込みや削除等を行わないファイル）に関する情報を付加する。
【００３８】
情報送信部１１３は、情報付加部１１２が特定のファイルに関する情報を付加したファイル一覧情報１３１を、ファイル一覧情報１３１の送信命令をＯＳに送信したアプリケーションに対して送信する。
【００３９】
アプリ判定部１１４は、命令受付部１１１がアプリケーションから送信されたファイルの操作命令をフックした場合、ＯＳに対して送信された操作命令の送信元がマルウエアであると判定する。具体的に、アプリ判定部１１４は、命令受付部１１１がフックした操作命令が特定のファイルに対する書込み命令または削除命令である場合に、ＯＳに対して送信された操作命令の送信元がマルウエアであると判定する。
【００４０】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図５及び図６は、第１の実施の形態におけるマルウエア検知処理の概略を説明するフローチャート図である。また、図７から図１０は、第１の実施の形態におけるマルウエア検知処理の概略を説明する図である。図７から図１０を参照しながら、図５及び図６のマルウエア検知処理の概略を説明する。
【００４１】
初めに、端末装置１の構成について説明を行う。図７は、端末装置１の構成について説明する図である。
【００４２】
図７に示す端末装置１において、ハイパーバイザ１３は、端末装置１のハードウエア１４（物理リソース）上で動作し、仮想マシンの生成または削除を行う。具体的に、ハイパーバイザ１３は、端末装置１において仮想マシンを生成する場合、ハイパーバイザ１３上にＯＳ１２（以下、ゲストＯＳ１２とも呼ぶ）を生成し、ハードウエア１４の一部を仮想マシンの仮想ハードウエアとして割り当てる。一方、ハイパーバイザ１３は、端末装置１に生成された仮想マシンを削除する場合、ハイパーバイザ１３上に生成されたＯＳ１２を削除し、仮想マシンの仮想ハードウエアを解放する。
【００４３】
なお、図７に示すハイパーバイザ１３は、ハードウエア１４上において直接動作しているが、ハードウエア１４上で動作するホストＯＳ（図示しない）上において動作するハイパーバイザであってもよい。すなわち、図７に示すハイパーバイザ１３は、ホストＯＳ上で動作するハイパーバイザではなく、ハードウエア１４上で直接動作するハイパーバイザ（Ｔｙｐｅ１型のハイパーバイザ）である。これに対し、ハイパーバイザ１３は、ハードウエア１４上で直接動作するホストＯＳ上で動作するハイパーバイザ（Ｔｙｐｅ２型のハイパーバイザ）であってもよい。
【００４４】
続いて、図５及び図６に示すフローチャート図について説明を行う。端末装置１のハイパーバイザ１３は、図５に示すように、アプリケーション１１からファイル一覧情報１３１の送信命令が送信されるまで待機する（Ｓ１のＮＯ）。具体的に、ハイパーバイザ１３は、アプリケーション１１からＯＳ１２に対してファイル一覧情報１３１の送信命令が送信されたこと、または、ＯＳ１２がアプリケーション１１から送信されたファイル一覧情報１３１の送信命令を受信したことを検知するまで待機する。
【００４５】
そして、ファイル一覧情報１３１の送信命令が送信された場合（Ｓ１のＹＥＳ）、ハイパーバイザ１３は、図８に示すように、Ｓ１の処理においてアプリケーション１１から送信されたことを検知した送信命令をフックする（Ｓ２）。続いて、ハイパーバイザ１３は、情報格納領域１３０からファイル一覧情報１３１を取得する（Ｓ３）。すなわち、ハイパーバイザ１３は、この場合、アプリケーション１１から送信されたファイル一覧情報１３１の送信命令をフックし、その送信命令に対応する処理を行う。
【００４６】
その後、ハイパーバイザ１３は、図９に示すように、Ｓ３の処理で取得したファイル一覧情報１３１に、特定のファイルに関する情報を付加する（Ｓ４）。そして、ハイパーバイザ１３は、Ｓ４の処理で情報を付加したファイル一覧情報１３１を、アプリケーション１１に送信する（Ｓ５）。
【００４７】
すなわち、ハイパーバイザ１３は、ファイル一覧情報１３１の送信命令に対応する処理を行うことによって取得されたファイル一覧情報１３１に、特定のファイルに関する情報を付加してからアプリケーション１１に対して送信する。これにより、ハイパーバイザ１３は、後述するように、特定のファイルに対する操作命令の送信元がマルウエアであるか否かの判定を行うことが可能になる。
【００４８】
一方、ハイパーバイザ１３は、図６に示すように、アプリケーション１１から特定のファイルの操作命令が送信されるまで待機する（Ｓ１１のＮＯ）。そして、アプリケーション１１から特定のファイルの操作命令が送信された場合（Ｓ１１のＹＥＳ）、ハイパーバイザ１３は、図１０に示すように、Ｓ１１の処理で送信されたことを検知した操作命令をフックする（Ｓ１２）。その後、ハイパーバイザ１３は、Ｓ１１の処理において送信されたことを検知した操作命令を送信したアプリケーション１１がマルウエアであると判定する（Ｓ１３）。
【００４９】
すなわち、通常のアプリケーション１１は、ハイパーバイザ１３によって生成されたファイルである特定のファイルに対する操作命令の送信を行わない。そのため、ハイパーバイザ１３は、特定のファイルに対する操作命令の送信が行われた場合、その送信元がマルウエアであると判定することが可能になる。
【００５０】
なお、Ｓ１１の処理においてアプリケーション１１から特定のファイルの操作命令が送信されたことを検知した場合、ハイパーバイザ１３は、その操作命令に対応する処理を行わない。これにより、ハイパーバイザ１３は、操作命令の送信元がマルウエアである場合に、そのマルウエアが行う悪性動作による被害の拡大を防止することが可能になる。
【００５１】
また、ハイパーバイザ１３は、Ｓ１１の処理においてアプリケーション１１から特定のファイル以外のファイルに対する操作命令が送信されたことを検知した場合、その操作命令のフックを行わない。すなわち、ハイパーバイザ１３は、この場合、ＯＳ１２が行った操作命令に対応する処理の実行を許可する。これにより、ハイパーバイザ１３は、通常のアプリケーション１１（マルウエアではないアプリケーション１１）が行ったと判定できる操作命令に対応する処理の実行を許可することが可能になる。
【００５２】
このように、本実施の形態におけるハイパーバイザ１３は、アプリケーション１１からのファイル一覧情報１３１の送信命令を受け付ける（フックする）と、情報格納領域１３０に記憶されたファイル一覧情報１３１を取得する。具体的に、ハイパーバイザ１３は、ＯＳ１２がアプリケーション１１から送信されたファイル一覧情報１３１の送信命令を受け付けた場合に、ファイル一覧情報１３１の取得を行う。
【００５３】
そして、ハイパーバイザ１３は、ハイパーバイザ１３が生成した特定のファイルに関する情報をファイル一覧情報１３１に付加し、アプリケーション１１に送信する。その後、ハイパーバイザ１３は、アプリケーション１１から特定のファイルに対する操作命令を受け付けると、アプリケーション１１がマルウエアであると判定する。
【００５４】
すなわち、特定のファイルがハイパーバイザ１３によって生成されたファイルである場合、通常のアプリケーション１１は、特定のファイルに対して書込みや削除等の操作を行う必要性を有しない。そのため、通常のアプリケーション１１は、取得したファイル一覧情報１３１に特定のファイルに関する情報が含まれる場合であっても、特定のファイルに対して書込み等の操作を行わない。
【００５５】
一方、ファイル一覧情報１３１の送信命令の送信元が端末装置１に感染したマルウエア（例えば、ランサムウエア）である場合、そのマルウエアは、例えば、取得したファイル一覧情報１３１に情報が含まれる全てのファイルに対して攻撃を行う。すなわち、ファイル一覧情報１３１の送信命令の送信元が端末装置１に感染したマルウエアである場合、そのマルウエアは、ハイパーバイザ１３が生成した特定のファイルに対しても操作を行う。
【００５６】
そこで、ハイパーバイザ１３は、アプリケーション１１からファイル一覧情報１３１の送信命令を受け付けた場合、特定のファイルに関する情報を付加した状態のファイル一覧情報１３１をアプリケーション１１に送信する。そして、ハイパーバイザ１３は、アプリケーション１１から特定のファイルに対する書込み等の操作命令を受け付けた場合、そのアプリケーション１１がマルウエアであると判定する。
【００５７】
これにより、ハイパーバイザ１３は、ファイル一覧情報１３１の送信命令の送信元がマルウエアであるか否かを検知することが可能になる。そのため、ハイパーバイザ１３は、マルウエアの存在を精度良く検知することが可能になる。したがって、ハイパーバイザ１３は、端末装置１のファイルに対する攻撃を効率的に防ぐことが可能になる。
【００５８】
なお、本実施の形態におけるハイパーバイザ１３は、アプリケーション１１から実行環境が仮想マシンであるか否かの問い合わせるための命令（以下、ＶＭ検知命令とも呼ぶ）が送信されたことを応じて、マルウエア検知処理を行うものではない。そのため、ハイパーバイザ１３は、端末装置１に感染したマルウエアがＶＭ検知命令を送信しないものであっても、そのマルウエアの検知を行うことが可能になる。
【００５９】
[第１の実施の形態の詳細]
次に、第１の実施の形態の詳細について説明する。図１１及び図１２は、第１の実施の形態におけるマルウエア検知処理の詳細を説明するフローチャート図である。また、図１３から図１６は、第１の実施の形態におけるマルウエア検知処理の詳細を説明する図である。図１３から図１６を参照しながら、図１１及び図１２のマルウエア検知処理の説明を行う。
【００６０】
ハイパーバイザ１３の命令受付部１１１は、アプリケーション１１からＯＳ１２に対する命令の送信を検知するまで待機する(Ｓ２１のＮＯ)。そして、アプリケーション１１からの命令の送信を検知した場合（Ｓ２１のＹＥＳ）、命令受付部１１１は、Ｓ２１の処理において検知した命令をフックする（Ｓ２２）。
【００６１】
続いて、ハイパーバイザ１３の情報付加部１１２は、Ｓ２１の処理で取得した命令がファイル一覧情報１３１の送信命令であるか否かの判定を行う（Ｓ２３）。その結果、Ｓ２１の処理で取得した命令がファイル一覧情報１３１の送信命令である場合（Ｓ２３のＹＥＳ）、情報付加部１１２は、情報格納領域１３０からファイル一覧情報１３１を取得する（Ｓ２４）。以下、情報格納領域１３０に記憶されたファイル一覧情報１３１の具体例について説明を行う。
【００６２】
[ファイル一覧情報の具体例（１）]
図１３は、ファイル一覧情報１３１の具体例を説明する図である。図１３に示すファイル一覧情報１３１は、ファイル一覧情報１３１に含まれる各情報を識別する「項番」と、各ファイルのファイル名を識別する「ファイル名」と、各ファイルのサイズを識別する「サイズ」とを項目として有する。また、図１３に示すファイル一覧情報１３１は、各ファイルの最終更新日時を示す「更新日時」を項目として有する。
【００６３】
具体的に、図１３に示すファイル一覧情報１３１において、「項番」が「１」である情報には、「ファイル名」として「ＡＡＡ．ｄｏｃｘ」が設定され、「サイズ」として「３４（ＫＢ）」が設定され、「更新日時」として「２０１６／８／８  １４：１２：４５」が設定されている。また、「項番」が「２」である情報には、「ファイル名」として「ＢＢＢ．ｄｏｃｘ」が設定され、「サイズ」として「５３（ＫＢ）」が設定され、「更新日時」として「２０１６／８／８  ０９：３１：２１」が設定されている。
【００６４】
さらに、図１３に示すファイル一覧情報１３１において、「項番」が「３」である情報には、「ファイル名」として「ＣＣＣ．ｘｌｓｘ」が設定され、「サイズ」として「２４６（ＫＢ）」が設定され、「更新日時」として「２０１６／８／６  １２：５１：０２」が設定されている。また、「項番」が「４」である情報には、「ファイル名」として「ＤＤＤ．ｄｏｃｘ」が設定され、「サイズ」として「３１（ＫＢ）」が設定され、「更新日時」として「２０１６／７／２  １９：２３：１１」が設定されている。
【００６５】
図１１に戻り、情報付加部１１２は、Ｓ２４の処理で取得したファイル一覧情報１３１に特定のファイルに関する情報を付加する（Ｓ２５）。以下、Ｓ２５の処理において特定のファイルに関する情報が付加された後のファイル一覧情報１３１の具体例について説明を行う。
【００６６】
[ファイル一覧情報の具体例（２）]
図１４は、ファイル一覧情報１３１の具体例を説明する図である。情報付加部１１２は、Ｓ２５の処理において、例えば、図１３で説明したファイル一覧情報１３１に特定のファイルに関する情報を付加する。
【００６７】
具体的に、情報付加部１１２は、図１４の下線部分に示すように、例えば、図１３で説明したファイル一覧情報１３１に対して、「ファイル名」が「ＥＥＥ．ｘｌｓｘ」であり、「サイズ」が「１２０（ＫＢ）」であり、「更新日時」が「２０１６／１／１  １２：００：００」である情報（「項番」が「５」である情報）を、特定のファイルに関する情報として付加する。
【００６８】
すなわち、情報付加部１１２は、通常のアプリケーション１１が書込みや削除を行わない特定のファイルに関する情報を、ファイル一覧情報１３１に付加する。これにより、ハイパーバイザ１３のアプリ判定部１１４は、後述するように、アプリケーション１１がマルウエアであるか否かの判定を行うことが可能になる。
【００６９】
なお、情報付加部１１２は、Ｓ２５の処理において、実際には存在しないファイルの情報を、特定のファイルに関する情報としてファイル一覧情報１３１に付加するものであってもよい。また、情報付加部１１２は、実際に存在するファイルを複製することによって特定のファイルを生成し、生成した特定のファイルに関する情報をファイル一覧情報１３１に付加するものであってもよい。
【００７０】
ここで、端末装置１に感染したマルウエアは、例えば、ファイル一覧情報１３１にファイル名が含まれるファイルの順に、ファイルの暗号化や削除等の悪性動作を行う場合がある。そのため、例えば、特定のファイルのファイル名がファイル一覧情報１３１の途中に付加されていた場合、ハイパーバイザ１３は、ファイル一覧情報１３１の送信命令の送信元がマルウエアである旨の判定を、端末装置１のファイルがマルウエアによって攻撃を受ける前に行うことができない。
【００７１】
そこで、情報付加部１１２は、Ｓ２５の処理において、例えば、ファイル一覧情報１３１における特定のファイルのファイル名の位置が可能な限り前になるように、特定のファイルのファイル名を決定する。具体的に、情報付加部１１２は、例えば、特定のファイルのファイル名を、先頭に「！」が付加されたファイル名である「！ＦＦＦ.ｄｏｃｘ」に決定する。そして、情報付加部１１２は、図１５の下線部分に示すように、例えば、図１３で説明したファイル一覧情報１３１に対して、「ファイル名」が「！ＦＦＦ.ｄｏｃｘ」であり、「サイズ」が「１２０（ＫＢ）」であり、「更新日時」が「２０１６／１／１  １２：００：００」である情報（「項番」が「５」である情報）を、特定のファイルに関する情報として付加する。
【００７２】
これにより、情報付加部１１２は、ファイル一覧情報１３１の送信命令を送信したアプリケーションがマルウエアである旨の判定を、端末装置１のファイルがマルウエアによって攻撃を受ける前に行うことが可能になる。
【００７３】
さらに、情報付加部１１２は、Ｓ２５の処理において、アプリケーション１１からファイル一覧情報１３１の送信命令が送信される毎に、特定のファイルに関する情報（特定のファイルのファイル名）を新たに生成（決定）し、ファイル一覧情報１３１に付加することが好ましい。また、情報付加部１１２は、特定のファイルのファイル名の拡張子を、マルウエアによる攻撃を受ける可能性が高いファイルの拡張子（例えば、ｄｏｃｘやｘｌｓｘ）等にすることが好ましい。また、情報付加部１１２は、マジックナンバー等が実際のファイルと同じものになるように、特定のファイルの生成を行うことが好ましい。
【００７４】
これらにより、情報付加部１１２は、例えば、マルウエアの送信等を行う悪意のある者に対し、ファイル一覧情報１３１に特定のファイルに関する情報が含まれていることを隠蔽することが可能になる。
【００７５】
図１１に戻り、ハイパーバイザ１３の情報送信部１１３は、Ｓ２５の処理で情報を付加したファイル一覧情報１３１を、Ｓ２１の処理で命令を送信したアプリケーション１１に送信する（Ｓ２６）。
【００７６】
また、Ｓ２１の処理で取得した命令がファイル一覧情報１３１の送信命令でない場合（Ｓ２３のＮＯ）、アプリ判定部１１４は、図１２に示すように、Ｓ２１の処理で取得した命令がファイルに対する書き込み命令または削除命令であるか否かを判定する（Ｓ３１）。そして、Ｓ２１の処理で取得した命令がファイルに対する書き込み命令等であると判定した場合（Ｓ３１のＹＥＳ）、アプリ判定部１１４は、Ｓ２１の処理で取得した命令が特定のファイルに対する命令であるか否かを判定する。
【００７７】
その結果、Ｓ２１の処理で取得した命令が特定のファイルに対する命令であると判定した場合（Ｓ３２のＹＥＳ）、アプリ判定部１１４は、Ｓ２１の処理で命令を送信したアプリケーション１１がマルウエアであると判定する（Ｓ３３）。そして、アプリ判定部１１４は、Ｓ３３の処理の後、マルウエア検知処理を終了する。
【００７８】
すなわち、アプリ判定部１１４は、アプリケーション１１から特定のファイルに対する書き込み命令や削除命令が送信された場合、その書込み命令や削除命令が、端末装置１のファイルに対する攻撃を目的として送信された命令であると判定する。そのため、アプリ判定部１１４は、この場合、その書き込み命令や削除命令を送信したアプリケーション１１がマルウエアであると判定する。
【００７９】
一方、Ｓ２１の処理で取得した命令がファイルに対する書き込み命令等であると判定した場合、または、Ｓ２１の処理で取得した命令が特定のファイルに対する命令でないと判定した場合（Ｓ３１のＮＯ、Ｓ３２のＮＯ）、アプリ判定部１１４は、Ｓ３３の処理を行わない。
【００８０】
すなわち、この場合、アプリ判定部１１４は、Ｓ２１の処理で命令を送信したアプリケーション１１がマルウエアではないと判定する。そのため、アプリ判定部１１４は、図１６に示すように、アプリケーション１１がＯＳ１２に対して送信した操作命令に対応する処理（ＯＳ１２によって行われる処理）の実行を許可する。
【００８１】
なお、通常のアプリケーション１１（マルウエアではないアプリケーション１１）であっても、特定のファイルを含めた各ファイルの読み込みを行う場合がある。そのため、アプリ判定部１１４は、Ｓ３１の処理において、アプリケーション１１から送信された命令が読み込み命令であると判定した場合、Ｓ３２以降の処理を行わない。
【００８２】
このように、本実施の形態におけるハイパーバイザ１３は、アプリケーション１１からのファイル一覧情報１３１の送信命令を受け付けると、情報格納領域１３０に記憶されたファイル一覧情報１３１を取得する。具体的に、ハイパーバイザ１３は、ＯＳ１２がアプリケーション１１から送信されたファイル一覧情報１３１の送信命令を受け付けた場合に、ファイル一覧情報１３１の取得を行う。
【００８３】
そして、ハイパーバイザ１３は、ハイパーバイザ１３が生成した特定のファイルに関する情報をファイル一覧情報１３１に付加し、アプリケーション１１に送信する。その後、ハイパーバイザ１３は、アプリケーション１１から特定のファイルに対する操作命令を受け付けると、アプリケーション１１がマルウエアであると判定する。
【００８４】
すなわち、特定のファイルがハイパーバイザ１３によって生成されたファイルである場合、通常のアプリケーション１１は、特定のファイルに対して書込みや削除等の操作を行う必要性を有しない。そのため、通常のアプリケーション１１は、取得したファイル一覧情報１３１に特定のファイルに関する情報が含まれる場合であっても、特定のファイルに対して書込み等の操作を行わない。
【００８５】
一方、ファイル一覧情報１３１の送信命令の送信元が端末装置１に感染したマルウエア（例えば、ランサムウエア）である場合、そのマルウエアは、例えば、取得したファイル一覧情報１３１に情報が含まれる全てのファイルに対して攻撃を行う。すなわち、ファイル一覧情報１３１の送信命令の送信元が端末装置１に感染したマルウエアである場合、そのマルウエアは、ハイパーバイザ１３が生成した特定のファイルに対しても操作を行う。
【００８６】
そこで、ハイパーバイザ１３は、アプリケーション１１からファイル一覧情報１３１の送信命令を受け付けた場合、特定のファイルに関する情報を付加した状態のファイル一覧情報１３１をアプリケーション１１に送信する。そして、ハイパーバイザ１３は、アプリケーション１１から特定のファイルに対する書込み等の操作命令を受け付けた場合、そのアプリケーション１１がマルウエアであると判定する。
【００８７】
これにより、ハイパーバイザ１３は、ファイル一覧情報１３１の送信命令の送信元がマルウエアであるか否かを検知することが可能になる。そのため、ハイパーバイザ１３は、マルウエアの存在を精度良く検知することが可能になる。したがって、ハイパーバイザ１３は、端末装置１のファイルに対する攻撃を効率的に防ぐことが可能になる。
【００８８】
以上の実施の形態をまとめると、以下の付記のとおりである。
【００８９】
（付記１）
コンピュータに、
アプリケーションからのファイル一覧の送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加して前記アプリケーションに送信し、
前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する、
処理を実行させることを特徴とするマルウエア検知プログラム。
【００９０】
（付記２）
付記１において、
前記ファイル一覧は、各ファイルのファイル名を含む情報である、
ことを特徴とするマルウエア検知プログラム。
【００９１】
（付記３）
付記１において、
前記操作命令は、前記特定のファイルに対する書き込み命令または削除命令である、
ことを特徴とするマルウエア検知プログラム。
【００９２】
（付記４）
付記３において、
前記書き込み命令は、前記特定のファイルに対する暗号化命令である、
ことを特徴とするマルウエア検知プログラム。
【００９３】
（付記５）
付記１において、
前記ファイル一覧を送信する処理では、
前記アプリケーションがオペレーティングシステムに対して前記送信命令を送信すると、前記送信命令をフックし、
前記送信命令をフックしたことに応じて、前記ファイル一覧に前記特定のファイルに関する情報を付加して前記アプリケーションに送信し、
前記アプリケーションを判定する処理では、
前記アプリケーションがオペレーティングシステムに対して前記操作命令を送信すると、前記操作命令をフックし、
前記操作命令をフックしたことに応じて、前記アプリケーションの判定を行う、
ことを特徴とするマルウエア検知プログラム。
【００９４】
（付記６）
付記１において、
前記ファイル一覧を送信する処理では、
前記特定のファイルに関する情報を、前記ファイル一覧に含まれる他のファイルに関する情報よりも前に付加する、
ことを特徴とするマルウエア検知プログラム。
【００９５】
（付記７）
付記１において、
前記ファイル一覧を送信する処理では、
前記特定のファイルに関する情報を新たに生成し、
新たに生成した前記特定のファイルに関する情報を前記ファイル一覧に付加する、
ことを特徴とするマルウエア検知プログラム。
【００９６】
（付記８）
アプリケーションからのファイル一覧の送信命令を受け付ける命令受付部と、
前記命令受付部が前記送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加する情報付加部と、
前記情報付加部が情報を付加した前記特定のファイルに関する情報を前記アプリケーションに送信する情報送信部と、
前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する判定部と、を有する、
ことを特徴とするマルウエア検知装置。
【００９７】
（付記９）
アプリケーションからのファイル一覧の送信命令を受け付けると、記憶装置から取得したファイル一覧に特定のファイルに関する情報を付加して前記アプリケーションに送信し、
前記アプリケーションから前記特定のファイルに対する操作命令を受け付けると、前記アプリケーションがマルウエアであると判定する、
ことを特徴とするマルウエア検知方法。
【符号の説明】
【００９８】
１ａ：端末装置                １ｂ：端末装置
１ｃ：端末装置                ３：ファイアーウォール装置
３１：外部端末                ＮＷ：ネットワーク
【図１】
2018041163.tif 000003
【図２】
2018041163.tif 000004
【図３】
2018041163.tif 000005
【図４】
2018041163.tif 000006
【図５】
2018041163.tif 000007
【図６】
2018041163.tif 000008
【図７】
2018041163.tif 000009
【図８】
2018041163.tif 000010
【図９】
2018041163.tif 000011
【図１０】
2018041163.tif 000012
【図１１】
2018041163.tif 000013
【図１２】
2018041163.tif 000014
【図１３】
2018041163.tif 000015
【図１４】
2018041163.tif 000016
【図１５】
2018041163.tif 000017
【図１６】
2018041163.tif 000018