(57)【要約】【課題】所定の動作環境によってプログラムが実行される装置においても、インストールされたマルウェアを検出すること【解決手段】本発明の一実施形態に係るマルウェアの検出方法は、外部装置と有線または無線で接続可能な接続部を介して、当該外部装置にインストールされたファイルに対応するファイル関連情報を取得し、取得したファイル関連情報と、マルウェアを検出するための判定用情報との関係に基づいて、当該ファイル関連情報に対応するファイルがマルウェアとして検出することを含む。【選択図】図４
2017107470.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と有線または無線で接続可能な接続部を介して、当該外部装置にインストールされたファイルに対応するファイル関連情報を取得し、
取得した前記ファイル関連情報と、マルウェアを検出するための判定用情報との関係に基づいて、当該ファイル関連情報に対応するファイルがマルウェアと推定されるか否かを判定する
ことを含むマルウェアの検出方法。
【請求項２】
前記マルウェアと推定されたファイルを削除することをさらに含む請求項１に記載のマルウェアの検出方法。
【請求項３】
前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供し、
前記ユーザの選択に応じて前記マルウェアと推定されたファイルを削除することをさらに含む請求項１に記載のマルウェアの検出方法。
【請求項４】
前記判定用情報を記憶し、受信した情報に基づいて当該判定用情報を更新するサーバから、前記判定用情報を受信し、
前記ユーザの選択結果および前記ファイル関連情報に基づく情報を前記サーバに送信することをさらに含む請求項３に記載のマルウェアの検出方法。
【請求項５】
前記外部装置から前記ファイルをさらに取得し、
取得した前記ファイルの少なくとも一部の情報を抽出し、
抽出した前記少なくとも一部の情報を解析することをさらに含み、
前記ファイルがマルウェアと推定されるか否かは、前記関係および前記解析の結果に基づいて判定されることを特徴とする請求項１に記載のマルウェアの検出方法。
【請求項６】
前記外部装置は、前記ファイルの一種であるアプリケーションプログラムを実行しているときに、他の前記アプリケーションプログラムの所定のリソースへのアクセスを制限し、前記ファイル関連情報に基づいて前記リソースへのアクセスの許可をユーザに申請するためのインターフェイスを提供し、前記インターフェイスを介してユーザの許可を得たリソースに対するアクセスの制限を解除する処理を実行するためのオペレーションシステムを備える装置であり、
取得される前記ファイル関連情報は、少なくとも前記アプリケーションプログラムに対応するファイル関連情報を含むことを特徴とする請求項１に記載のマルウェアの検出方法。
【請求項７】
請求項１乃至請求項６のいずれかに記載のマルウェアの検出方法をコンピュータに実行させるためのプログラム。
【請求項８】
請求項１乃至請求項６のいずれかに記載のマルウェアの検出方法を実行する制御部と、
前記接続部に接続された前記外部装置に電力を供給する電力供給部と、
を備える電力供給装置。
【請求項９】
表示部および操作部をさらに備え、
前記制御部は、前記表示部および前記操作部を用いて、前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供することを特徴とする請求項８に記載の電力供給装置。
【請求項１０】
表示部および操作部を備えた装置と通信する通信部をさらに備え、
前記制御部は、前記通信部と通信をする前記装置が備える前記表示部および前記操作部を用いて、前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供することを特徴とする請求項８に記載の電力供給装置。
【請求項１１】
前記外部装置は、表示部および操作部をさらに備え、
前記制御部は、前記表示部および前記操作部を用いて、前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供することを特徴とする請求項８に記載の電力供給装置。
【請求項１２】
前記判定用情報を記憶する記憶部をさらに備え、
前記制御部は、前記ユーザの選択結果に基づいて前記判定用情報を更新することを特徴とする請求項９または請求項１０に記載の電力供給装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルウェアを検出する技術に関する。
【背景技術】
【０００２】
個人が所有するスマートフォン等の情報処理装置には、個人情報などの多くの情報が記憶されている。記憶されている情報のうち重要な情報については、第三者が容易にアクセスできないように、ユーザ個人しか知り得ないパスワードなどを用いることによって保護されている。しかしながら、不正な動作を行うソフトウェア（以下、マルウェアという）が情報処理装置にインストールされてしまうと、そのマルウェアによって様々な情報が漏洩されてしまうことがある。
【０００３】
このような情報漏洩を抑制するため、インストールされてしまったマルウェアを検知することが行われている。例えば、アプリケーションプログラムのマニフェストファイルを用いて、アプリケーションプログラムのマルウェアらしさを解析するためのプログラムが、特許文献１に開示されている。このプログラムは、情報処理装置にインストールして用いられる。
【０００４】
また、マルウェアがインストールされていたとしても、いわゆるサンドボックスといわれる動作環境を実現することによって情報漏洩の可能性を低減する技術が、特許文献２に開示されている。サンドボックスとは、アプリケーションプログラムを実行する際に、他のプログラム、特にオペレーションシステムのリソースへのアクセスを制限するための動作環境のことを示す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許５４４１０４３号公報
【特許文献２】特表２０１５−５０３８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、サンドボックスの動作環境下においては、他のプログラム等へのアクセスが制限されている。そのため、特許文献１に開示されたプログラムを実行しても、サンドボックスによって他のアプリケーションプログラムのマニフェストファイルを取得することが制限されてしまう場合もある。このような場合には、同じ情報処理装置にインストールされたプログラムに関してマルウェアの疑いがあるかどうか、解析をすることが困難となる。
【０００７】
本発明の目的の一つは、所定の動作環境によってプログラムが実行される装置においても、インストールされたマルウェアを検出することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施形態によると、外部装置と有線または無線で接続可能な接続部を介して、当該外部装置にインストールされたファイルに対応するファイル関連情報を取得し、取得した前記ファイル関連情報と、マルウェアを検出するための判定用情報との関係に基づいて、当該ファイル関連情報に対応するファイルがマルウェアと推定されるか否かを判定することを含むマルウェアの検出方法が提供される。
【０００９】
前記マルウェアと推定されたファイルを削除することをさらに含んでもよい。
【００１０】
前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供し、前記ユーザの選択に応じて前記マルウェアと推定されたファイルを削除することをさらに含んでもよい。
【００１１】
前記判定用情報を記憶し、受信した情報に基づいて当該判定用情報を更新するサーバから、前記判定用情報を受信し、前記ユーザの選択結果および前記ファイル関連情報に基づく情報を前記サーバに送信することをさらに含んでもよい。
【００１２】
前記外部装置から前記ファイルをさらに取得し、取得した前記ファイルの少なくとも一部の情報を抽出し、抽出した前記少なくとも一部の情報を解析することをさらに含み、前記ファイルがマルウェアと推定されるか否かは、前記関係および前記解析の結果に基づいて判定されてもよい。
【００１３】
前記外部装置は、前記ファイルの一種であるアプリケーションプログラムを実行しているときに、他の前記アプリケーションプログラムの所定のリソースへのアクセスを制限し、前記ファイル関連情報に基づいて前記リソースへのアクセスの許可をユーザに申請するためのインターフェイスを提供し、前記インターフェイスを介してユーザの許可を得たリソースに対するアクセスの制限を解除する処理を実行するためのオペレーションシステムがインストールされた装置であり、取得される前記ファイル関連情報は、少なくとも前記アプリケーションプログラムに対応するファイル関連情報を含んでもよい。
【００１４】
また、本発明の一実施形態によると、上記記載のマルウェアの検出方法をコンピュータに実行させるためのプログラムが提供される。
【００１５】
また、本発明の一実施形態によると、マルウェアの検出方法を実行する制御部と、前記接続部に接続された前記外部装置に電力を供給する電力供給部と、を備える電力供給装置が提供される。
【００１６】
表示部および操作部をさらに備え、前記制御部は、前記表示部および前記操作部を用いて、前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供してもよい。
【００１７】
表示部および操作部を備えた装置と通信する通信部をさらに備え、前記制御部は、前記通信部と通信をする前記装置が備える前記表示部および前記操作部を用いて、前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供してもよい。
【００１８】
前記外部装置は、表示部および操作部をさらに備え、前記制御部は、前記表示部および前記操作部を用いて、前記マルウェアと推定されたファイルを削除するか否かをユーザに選択させるインターフェイスを提供してもよい。
【００１９】
前記判定用情報を記憶する記憶部をさらに備え、前記制御部は、前記ユーザの選択結果に基づいて前記判定用情報を更新してもよい。
【発明の効果】
【００２０】
本発明の一実施形態によれば、所定の動作環境によってプログラムが実行される装置においても、インストールされたマルウェアを検出することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態における検出システムの構成を示すブロック図である。
【図２】本発明の一実施形態における検出装置の構成を示すブロック図である。
【図３】本発明の一実施形態における端末の構成を示すブロック図である。
【図４】本発明の一実施形態におけるマルウェア検出処理を示すフローチャートである。
【図５】本発明の一実施形態における判定処理を示すフローチャートである。
【図６】本発明の一実施形態における検出装置を電力供給装置として用いた場合の外観の一例を示す図である。
【図７】本発明の一実施形態における電力供給装置に端末を接続した場合の外観の一例を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の一実施形態における検出装置について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号（数字の後にＡ、Ｂ等を付しただけの符号）を付し、その繰り返しの説明は省略する場合がある。
【００２３】
［概要］
本発明の一実施形態における検出装置について、図面を参照しながら詳細に説明する。一実施形態における検出装置は、外部装置と接続可能な構成を備え、接続された外部装置にインストールされているファイルにマルウェアが含まれるかどうかを検出する。この例では、外部装置はスマートフォン等の端末である。また、検出装置は、ネットワークを介してサーバなどの外部の装置と接続して、マルウェアを検出するために必要な情報（例えば、以下に説明する判定用情報）等の送受信をする。まず、検出装置を含む検出システムについて説明する。
【００２４】
［検出システム］
図１は、本発明の一実施形態における検出システムの構成を示すブロック図である。検出システム１０００は、検出装置１０とサーバ８０とを備える。検出装置１０とサーバ８０とは、インターネット等のネットワークを介して接続されている。検出装置１０は、端末５０と有線または無線により接続する。なお、図１においては、複数の検出装置１０が示されているが、それぞれ同様の機能を有する装置であって、それぞれ単独での動作が可能である。
【００２５】
検出装置１０は、接続された端末５０から、端末５０にインストールされたファイルに関連するファイル関連情報を取得して、端末５０にマルウェアがインストールされているかどうか検出する。端末５０は外部装置の一例であり、この例では、スマートフォンである。検出装置１０は、マルウェアの検出の際に、アプリケーションプログラム等のファイルがマルウェアと推定されるか否かを判定するための判定用情報を用いる。この判定用情報は、検出装置１０が予め記憶していた情報であってもよいし、サーバ８０から取得した情報であってもよい。検出装置１０が判定用情報を予め記憶している場合には、判定用情報を各検出装置１０において共有するためのサーバ８０は存在しなくてもよい。
【００２６】
端末５０は、この例では、スマートフォン等の携帯装置である。なお、アプリケーションプログラム等のファイルをインストール可能であること、およびインストールされたファイルに関連する情報（ファイル関連情報）を、接続された検出装置１０に出力可能であること、を満たせば端末５０はスマートフォン等の携帯端末以外の装置であってもよい。以下、検出装置１０および端末５０について、詳細に説明する。
【００２７】
［検出装置１０］
図２は、本発明の一実施形態における検出装置の構成を示すブロック図である。検出装置１０は、制御部１１、表示部１２、操作部１３、記憶部１５、通信部１７、接続部１８および電力供給部１９を備える。これらの各構成は、バスを介して接続されている。
【００２８】
制御部１１は、ＣＰＵなどの演算処理回路を含む。制御部１１は、記憶部１５に記憶された検出プログラムをＣＰＵにより実行して、マルウェアを検出するための機能（検出機能）を検出装置１０において実現する。言い換えると、コンピュータにより検出プログラムが実行されることによって、コンピュータが検出機能を備えた検出装置１０として動作する。検出機能によってマルウェア検出処理が実行される。マルウェア検出処理については、後述する。なお、検出機能を実現する構成の一部または全部は、検出プログラムの実行によりソフトウェアによって実現される場合に限られず、ハードウエアによって実現されてもよい。
【００２９】
表示部１２は、液晶ディスプレイ、有機ＥＬディスプレイ等の表示装置であり、制御部１１による制御に基づいた画面が表示される。操作部１３は、操作ボタン、キーボード、マウスなどの装置であり、ユーザによって入力された操作に応じた信号を制御部１１に出力する。なお、操作部１３と表示部１２とは一体としてタッチパネルを構成してもよい。
【００３０】
記憶部１５は、不揮発性メモリ、ハードディスク等の記憶装置である。記憶部１５には、プログラム記憶領域１５１、判定用情報記憶領域１５３およびファイル関連情報記憶領域１５５が含まれている。プログラム記憶領域１５１は、制御部１１において実行されるプログラムが記憶される領域である。検出プログラムは、コンピュータにより実行可能であればよく、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供されてもよい。この場合には、検出装置１０は、記録媒体を読み取る装置を備えていてもよい。また、検出プログラムは、ネットワーク経由でダウンロードされてもよい。
【００３１】
判定用情報記憶領域１５３は、検出プログラムの実行により開始される検出処理で用いられる判定用情報を記憶する領域である。判定用情報は、端末５０にインストールされたファイルがマルウェアであると推定されるか否かを判定するための基準として使用される情報である。例えば、判定用情報は、ファイル関連情報に含まれる各種のパラメータから評価点を算出するための演算式の情報等が含まれる。この評価点が、対象のファイルがマルウェアであるか否かの推定を行うための指標となる。なお、上述したように、判定用情報は、予め記憶部１５に記憶されていてもよいし、サーバ８０から取得されてもよいし、サーバ８０から取得された情報によって更新されてもよい。
【００３２】
ファイル関連情報記憶領域１５５は、端末５０にインストールされたファイルに対応するファイル関連情報を検出装置１０が取得したときに、このファイル関連情報を記憶する領域である。ファイル関連情報は、これに対応するファイルに関連した特徴を示す複数のパラメータを含む。例えば、「ファイルの署名」、「パーミッション要求」、「ルート証明書」、「外部フレームワーク」等に関連する情報が、ファイル関連情報に記述されている。なお、「パーミッション要求」とは、他のプログラム（アプリケーションプログラムおよびオペレーションシステム）のリソースへのアクセスがサンドボックスにより制限されたリソースのうち、アクセス制限の解除を求める対象となるリソースを特定する情報である。
【００３３】
通信部１７は、制御部１１の制御に基づいてネットワークに接続された外部の装置と通信をし、情報の送受信を行う。なお、記憶部１５の機能は、通信部１７において通信可能な外部装置で実現されてもよい。
【００３４】
接続部１８は、端末５０と接続するための構成を備える。例えば、端末５０と検出装置１０とが有線で接続される場合には、接続部１８は、ケーブル等が接続されるコネクタである。また、端末５０と検出装置１０とが無線で接続される場合には、接続部１８は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等を用いた通信が可能な通信モジュールである。なお、通信部１７と接続部１８とは共用される場合もある。
【００３５】
電力供給部１９は、接続部１８に接続された端末５０に対して電力を供給する。この電力は、この例では、端末５０の二次電池５９（図３参照）を充電するために用いられる。なお、端末５０と検出装置１０とが無線で接続される場合には、電磁誘導方式、電磁界共鳴方式等を用いた、いわゆる非接触充電が可能な構成が用いられる。なお、端末５０を充電する機能を用いない場合には、電力供給部１９は存在しなくてもよい。
【００３６】
［端末５０］
図３は、本発明の一実施形態における端末の構成を示すブロック図である。端末５０は、制御部５１、表示部５２、操作部５３、記憶部５５、通信部５７、接続部５８および二次電池５９を備える。これらの各構成は、バスを介して接続されている。
【００３７】
制御部５１は、ＣＰＵなどの演算処理回路を含む。制御部５１は、記憶部５５に記憶されたアプリケーションプログラムをＣＰＵにより実行して、様々な機能を端末５０において実現する。このとき、制御部５１は、端末５０のオペレーションシステムにおいて、アプリケーションプログラムをサンドボックスの動作環境下で実行する。すなわち、実行されたアプリケーションプログラムは、オペレーションシステムのリソースおよび他のアプリケーションプログラムのリソースの少なくとも一部に対して、アクセスが制限された状態となる。なお、パーミッション要求に基づいて所定のリソースに対するアクセスの許可をユーザに申請するためのインターフェイスが提供され、ユーザが許可した場合に、許可した範囲内でアクセスの制限を解除する処理が実行される。このインターフェイスは、表示部５２および操作部５３を用いて提供される。
【００３８】
表示部５２は、液晶ディスプレイ、有機ＥＬディスプレイ等の表示装置であり、制御部５１による制御に基づいた画面が表示される。操作部５３は、操作ボタン、キーボード、マウスなどの装置であり、ユーザによって入力された操作に応じた信号を制御部５１に出力する。なお、操作部５３と表示部５２とは一体としてタッチパネルを構成してもよい。
【００３９】
記憶部５５は、不揮発性メモリ、ハードディスク等の記憶装置である。記憶部５５には、アプリケーションプログラムファイル記憶領域５５１および設定ファイル記憶領域５５３が含まれている。アプリケーションプログラムファイル記憶領域５５１には、さらにファイル関連情報記憶領域５５２が含まれている。設定ファイル記憶領域５５３においても、ファイル関連情報記憶領域５５４が含まれている。
【００４０】
アプリケーションプログラムファイル記憶領域５５１には、アプリケーションプログラムのファイルが記憶されている。アプリケーションプログラムのファイルには、ファイル関連情報が対応付けられてファイル関連情報記憶領域５５２に記憶されている。上述したように、アプリケーションプログラムに対応するファイル関連情報には、「ファイルの署名」、「パーミッション要求」、「ルート証明書」、「外部フレームワーク」等に関連する情報が記述されている。
【００４１】
設定ファイル記憶領域５５３には、設定ファイルが記憶されている。設定ファイルには、ファイル関連情報が対応付けられてファイル関連情報記憶領域５５４に記憶されている。設定ファイルは、オペレーションシステムまたはアプリケーションプログラムによって使用される各種設定が記述されている。このような設定ファイルは、「構成プロファイル」といわれる場合もある。設定ファイルに対応するファイル関連情報には、「ファイルの署名」等に関連する情報が記述されている。
【００４２】
記憶部５５に記憶されるファイル等は、コンピュータにより実行可能であればよく、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記憶した状態で提供されてもよい。また、これらのファイルは、ネットワーク経由でダウンロードされてもよい。
【００４３】
通信部５７は、制御部５１の制御に基づいてネットワークに接続された外部の装置と通信をし、情報の送受信を行う。
【００４４】
接続部５８は、検出装置１０と接続するための構成を備える。例えば、端末５０と検出装置１０とが有線で接続される場合には、接続部５８は、ケーブル等が接続されるコネクタである。また、端末５０と検出装置１０とが無線で接続される場合には、接続部５８は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等を用いた通信が可能な通信モジュールである。なお、通信部５７と接続部５８とは共用される場合もある。
【００４５】
なお、端末５０におけるオペレーションシステムは、接続部５８を介して、所定の要求が入力されると、要求に応じた情報を接続部５８から出力する。例えば、端末５０は、接続部５８を介して接続された検出装置１０からファイル関連情報の要求を受信すると、記憶部５５に記憶されているファイル関連情報を、アプリケーションプログラムを識別する情報と対応させて検出装置１０に送信する。また、端末５０は、検出装置１０から特定のファイルの削除の要求を受信すると、そのファイルを記憶部５５から削除する。
【００４６】
二次電池５９は、リチウムイオン電池等の充放電可能な電源であって、外部から供給された電力によって充電され、放電することによって端末５０の各構成に対して電力を供給する。
【００４７】
［マルウェア検出処理］
続いて、検出装置１０が実行するマルウェア検出処理について説明する。このマルウェア検出処理は、上記の通り、検出プログラムが制御部１１によって実行されることにより開始される。
【００４８】
図４は、本発明の一実施形態におけるマルウェア検出処理を示すフローチャートである。まず、マルウェア検出処理が開始されると、検出装置１０は、接続部１８への端末５０の接続が検知されたかどうかを判定しつつ（ステップＳ１１０）、接続されるまで待つ（ステップＳ１１０；Ｎｏ）。接続部１８に端末５０が接続されたことを検知すると（ステップＳ１１０；Ｙｅｓ）、検出装置１０は、マルウェアの検出処理の対象となるファイル（以下、対象ファイルという）に対応するファイル関連情報の要求を端末５０に出力し、端末５０からファイル関連情報を取得する（ステップＳ１２０）。
【００４９】
なお、対象ファイルは、記憶部５５に記憶されているアプリケーションプログラムのファイルおよび設定ファイルである。一方、後述のステップＳ４００において例外として登録されたファイルについては、対象ファイルから除外されてもよい。また、例外登録ではなく、マルウェアではないと判断したファイルについても対象ファイルから除外されるようにしてもよい。
【００５０】
ファイル関連情報を取得すると、検出装置１０は、判定処理を実行する（ステップＳ２００）。なお、判定処理は、対象ファイルが複数存在する場合には、それぞれの対象ファイルに対して実行される。
【００５１】
図５は、本発明の一実施形態における判定処理を示すフローチャートである。判定処理が開始されると、検出装置１０は、各ファイル関連情報を判定用情報と比較して、評価点を算出する（ステップＳ２００）。この例では、評価点が高いほど、そのファイル関連情報に対応するアプリケーションプログラム（または設定ファイル）がマルウェアである可能性が高い。この評価点の算出方法は、ファイル関連情報に記述されたパラメータを利用して様々な方法を取り得る。
【００５２】
アプリケーションプログラムに対応するファイル関連情報の場合には、以下の内容を参照して評価点が算出される。なお、評価点の算出において参照される情報は、以下の内容を参照する場合に限られず、さらに多くの情報を用いてもよいし、一部の情報のみ（例示以外の情報のみの場合を含む）を用いてもよい。すなわち、評価点の算出において参照される情報は、各アプリケーションプログラムに対応した情報としてファイル関連情報に記述された情報であればよい。
（１）「ファイルの署名」に関する評価点への影響
アプリケーションプログラムに施された署名が、信頼性できる発行元であるかどうかにより評価点が算出される。信頼できる発行元は、予め決められた発行元であればよい。なお、署名が予め決められた発行元に含まれていない場合であっても、サーバ８０において蓄積された過去のデータ（署名とマルウェアとの関係等を示したデータ）を参照して、署名の信頼度を算出し、その信頼度に基づいて評価点を算出してもよい。
（２）「パーミッション要求」に関する評価点への影響
パーミッション要求の対象となるリソースが過度ではないか、機密性の高いものではないかにより評価点が算出される。すなわち、対象となるリソースの数、種類に応じて評価点が算出される。例えば、連絡先、写真、位置情報などへのアクセスが制限されている状態において、連絡先と位置情報とがパーミッション要求の対象になっている場合には、評価点が高く算出されてもよい。連絡先および位置情報は、比較的機密性の高い情報であると考えられ、また、それぞれを同時に取得する必要性も少ないことから、マルウェアである可能性が高いためである。
（３）「ルート証明書」に関する評価点への影響
不正なルート証明書のインストールを試みていないか、不正なルート証明書を有していないかにより評価点が算出される。すなわち、不正なルート証明書が含まれる場合には、高い評価点が算出される。
（４）「外部フレームワーク」に関する評価点への影響
不正な外部フレームワークの埋め込みにより標準関数が乗っ取られていないか、正規に用意されたフレームワークであるかどうかにより評価点が算出される。すなわち、不正な外部フレームワークの埋込があると考えられる場合には、高い評価点が算出される。
【００５３】
また、対象ファイルが設定ファイルである場合には、この例では、ファイル関連情報には、「ファイルの署名」が含まれている。そのため、評価点の算出対象も「ファイルの署名」に対して行われる。
【００５４】
上記のような評価点算出方法および判定に用いられる情報（信頼できる発行元など）については、判定用情報に記述されている。上記の通り算出した評価点については、この例では第１評価点という。第１評価点が高いほど、対象ファイルがマルウェアである可能性が高い。
【００５５】
続いて、検出装置１０は、第１評価点が予め決められたしきい値以上であるか判定する（ステップＳ２２０）。第１評価点がしきい値未満である場合には（ステップＳ２２０；Ｎｏ）、検出装置１０は、対象ファイルがマルウェアではないと推定する（ステップＳ２３０）。一方、第１評価点がしきい値以上である場合には（ステップＳ２２０；Ｙｅｓ）、検出装置１０は、対象ファイルの少なくとも一部を抽出できるかどうか判定する（ステップＳ２４０）。抽出される要素は、対象ファイル全体であってもよいし、ファイルの内における暗号化されていない部分であってもよい。対象ファイルの一部を抽出することができない場合（ステップＳ２２０；Ｎｏ）、検出装置１０は、対象ファイルがマルウェアであると推定する（ステップＳ２５０）。
【００５６】
一方、対象ファイルの一部を抽出することができる場合（ステップＳ２４０；Ｙｅｓ）、抽出した部分を解析して、第２評価点を算出する（ステップＳ２４２）。第２評価点の算出方法は、抽出された部分によって様々な方法がある。例えば、対象ファイル全体を抽出したものであれば、検出装置１０は、端末５０のオペレーションシステムを仮想化環境で実現して対象ファイルを実行することによって、プログラムの挙動を確認する。そして、検出装置１０は、プログラムの挙動において、マルウェアの可能性の高いと考えられる予め決められた挙動を示した場合に高い評価点となるように、第２評価点を算出する。また、対象ファイルの一部であれば、その一部に記述された内容を解析すればよい。例えば、署名が記述されていれば、その署名が信頼性のある発行元からのものであるか否かを判定するようにすればよい。
【００５７】
検出装置１０は、第２評価点が予め決められたしきい値以上であるか判定する（ステップＳ２４２）。第２評価点がしきい値未満である場合には（ステップＳ２４２；Ｎｏ）、検出装置１０は、対象ファイルがマルウェアではないと推定する（ステップＳ２３０）。一方、第２評価点がしきい値以上である場合には（ステップＳ２４２；Ｙｅｓ）、対象ファイルがマルウェアであると推定する（ステップＳ２５０）。このようにして、検出装置１０は、対象ファイルがマルウェアであると推定されるか否かを判定する。すなわち、検出装置１０は、端末５０にインストールされたファイルのうち、マルウェアであると推定されるファイルを検出する。以下、このファイルのことを検出ファイルという。
【００５８】
なお、ステップＳ２４０、２４２、２４６の処理については実行されなくてもよい。これらの処理が実行されない場合には、第１評価点がしきい値以上である場合に（ステップＳ２２０；Ｙｅｓ）、検出装置１０は、対象ファイルがマルウェアであると推定する（ステップＳ２５０）。
【００５９】
また、検出装置１０は、ステップＳ２４０、２４２の処理と、ステップＳ２１０の処理とを並行して実行し、対象ファイルがマルウェアであると推定されるか否かを、第１評価点および第２評価点に基づいて判定してもよい。例えば、第１評価点と第２評価点とを加算した評価点が、予め決められた値以上である場合には、対象ファイルがマルウェアであると推定する（ステップＳ２５０）。一方、第１評価点と第２評価点とを加算した評価点が、予め決められた値未満である場合には、対象ファイルがマルウェアではないと推定する（ステップＳ２３０）。
【００６０】
このようにして判定処理が終了すると、図４に示すステップＳ１３０に進む。判定処理においてマルウェアと推定されるファイル（検出ファイル）が存在しない場合（ステップＳ１３０；Ｎｏ）には、検出装置１０は処理終了をユーザに通知する（ステップＳ１７０）。処理終了の通知は、例えば、表示部１２に表示されるようにすればよい。
【００６１】
一方、ステップＳ１３０において、マルウェアと推定されるファイル（検出ファイル）が存在する場合（ステップＳ１３０；Ｙｅｓ）には、検出装置１０は、検出ファイルをユーザに通知する（ステップＳ１４０）。検出ファイルの通知は、例えば、表示部１２に表示されるようにすればよい。このとき、ユーザに対して検出ファイルを削除するかどうかの指示を操作部１３により入力するように促す画面が表示部１２に表示されるようにしてもよい。例えば、「アプリケーションＡＡＡがマルウェアである可能性があります。削除しますか？削除する場合には操作キーＡを削除しない場合には操作キーＢを押してください。」といった文章を含む画面が表示される。また、参考情報として、評価点に基づいてマルウェアである可能性の指標が、さらに表示されてもよい。例えば、「アプリケーションＢＢＢは、マルウェアである可能性が非常に高いです。」、「アプリケーションＣＣＣは、マルウェアである可能性は低いですが、念のため確認してください。」といった文章を含む画面が表示されてもよい。このようにして、検出装置１０は、表示部１２および操作部１３を用いて、検出ファイルを削除するか否かをユーザに選択させるためのインターフェイスを提供する。
【００６２】
ユーザにより検出ファイルの削除指示が入力された場合（ステップＳ１５０；Ｙｅｓ）、検出装置１０は、端末５０にインストールされているファイルのうち、検出ファイルの削除処理を実行する（ステップＳ３００）。この削除処理においては、検出装置１０は、端末５０に対して、マルウェアと推定されるファイル（検出ファイル）を削除する要求を送信する。端末５０は、削除を要求されたファイルを記憶部５５から削除する。削除処理が終了すると、ステップ１７０に進む。
【００６３】
なお、判定処理において算出された評価点が非常に高い場合、すなわち、マルウェアであると推定されるしきい値よりもさらに高い第２しきい値以上であった場合には、マルウェアである可能性が非常に高い。すなわち、マルウェアであると推定される、というよりもマルウェアと断定される、という結果と考えられる。そのため、検出装置１０は、その評価点に対応する検出ファイルについては、ユーザの削除指示の入力を待たずに、削除指示の入力があったものとして、ユーザの指示とは関係なく自動的に端末５０から削除するようにしてもよい。
【００６４】
ユーザにより検出ファイルの削除指示が入力されなかった場合（ステップＳ１５０；Ｎｏ）、検出ファイルを削除対象としないように例外的な登録をするかどうかの指示を操作部１３により入力するように促す画面が表示部１２に表示される。例えば、「削除しなかったアプリケーションＡＡＡが今後マルウェアとして検出されないようにしますか？検出されないように設定する場合には操作キーＡを、設定しない場合には操作キーＢを押してください。」といった文章を含む画面が表示される。このようにして、検出装置１０は、表示部１２および操作部１３を用いて、例外登録をするか否かをユーザに選択させるためのインターフェイスを提供する。
【００６５】
そして、ユーザにより検出ファイルの例外登録指示が入力された場合（ステップＳ１６０；Ｙｅｓ）、検出装置１０は、例外登録処理を実行する（ステップＳ４００）。例外登録処理は、次回、マルウェア検出処理を実行したときに、再び検出ファイルがマルウェアとして検知されないように、判定用情報に登録しておく処理である。なお、サーバ８０に通知して判定用情報が更新されるようにして、他の検出装置１０において利用可能なようにしてもよい。このとき、１つの検出装置１０からの通知ではなく、所定数の検出装置１０から通知があったときに、判定用情報が更新されるようにしてもよい。このように、ユーザの選択の結果により、例えば、ニューラルネットワークによる機械学習によって、判定用情報が随時更新されていってもよい。
【００６６】
例外登録処理が終了すると、ステップ１７０に進む。また、ユーザにより例外登録指示が入力されなかった場合（ステップＳ１６０；Ｎｏ）、ステップ１７０に進む。例外登録指示が入力されなかった場合とは、例えば、例外登録をしない指示が入力された場合、所定時間入力がなかった場合などである。
【００６７】
検出装置１０によって処理終了がユーザに通知されると（ステップＳ１７０）、検出装置１０は、接続部１８から端末５０の接続解除が検知されたかどうかを判定しつつ（ステップＳ１８０）、接続が解除されるまで待つ（ステップＳ１８０；Ｎｏ）。検出装置１０は、接続部１８から端末５０の接続が解除されたことを検出すると（ステップＳ１８０；Ｙｅｓ）、ステップＳ１１０に戻って処理を続ける。
【００６８】
以上のマルウェア検出処理において、検出装置１０は、端末５０にインストールされたアプリケーションプログラム等のファイルに対応するファイル関連情報を端末５０から取得して、それぞれのファイルがマルウェアであると推定されるか否かの判定をする。この判定は、端末５０において実行されるのではなく、外部装置である検出装置１０においてファイル関連情報を取得してマルウェアの検知処理を実行するため、端末５０がサンドボックスの動作環境下にあってもマルウェアの検知が可能となる。
【００６９】
また、すでに端末５０にインストールされてしまっているマルウェアが特許文献１に開示されているようなプログラムを無効化する場合であっても、検出装置１０は、端末５０の外部の装置であるため、そのマルウェアの影響を受けない。したがって、すでに端末５０にインストールされてしまっているマルウェアを検出し、除去することもできる。
【００７０】
［電力供給装置（充電器）として適用した例］
検出装置１０は、電力供給部１９を備えることによって、接続部１８を介して接続された端末５０の二次電池５９を充電することもできる。すなわち端末５０の充電器などの電力供給装置としても適用可能である。充電器として検出装置１０を用いた場合の外観の例について図６、７を用いて説明する。
【００７１】
図６は、本発明の一実施形態における検出装置を電力供給装置として用いた場合の外観の一例を示す図である。図７は、本発明の一実施形態における電力供給装置に端末を接続した場合の外観の一例を示す図である。図６、図７に示すように、この例では、検出装置１０は、接続部１８の周囲に形成された溝形状の保持機構１９５を備えている。この保持機構１９５により、検出装置１０は、端末５０を接続部１８に接続した状態で保持することができる。なお、検出装置１０に電力を供給するためのプラグ等については図示を省略している。また、図示の例では、操作部５３は表示部５２に設けられたタッチセンサである。したがって、表示部５２と操作部５３とによってタッチパネルを形成している。
【００７２】
検出装置１０の上面には、検出ファイルの通知などを表示するための表示部１２、および削除指示などの入力を行うための操作部１３が配置されている。なお、表示部１２に表示される内容は、表示部１２による表示とともに、または表示部１２による表示の代わりに、端末５０の表示部５２に表示されてもよい。また、操作部１３に対して入力されるユーザの指示は、端末５０の操作部５３に対しても入力可能であってもよい。この場合には、検出装置１０において、表示部１２、操作部１３は存在しなくてもよい。
【００７３】
なお、表示部１２に表示される内容は、検出装置１０および端末５０のいずれでもない、外部装置の表示部において表示されてもよい。この場合、外部装置と検出装置１０とは通信可能になっている。また、この外部装置は、ユーザの指示を入力するための操作部を備えていてもよい。
【符号の説明】
【００７４】
１０…検出装置、１１…制御部、１２…表示部、１３…操作部、１５…記憶部、１５１…プログラム記憶領域、１５３…判定用情報記憶領域、１５５…ファイル関連情報記憶領域、１７…通信部、１８…接続部、１９…電力供給部、１９５…保持機構、５０…端末、５１…制御部、５２…表示部、５３…操作部、５５…記憶部、５５１…アプリケーションプログラムファイル記憶領域、５５２…ファイル関連情報記憶領域、５５３…設定ファイル記憶領域、５５４…ファイル関連情報記憶領域、５７…通信部、５８…接続部、５９…二次電池、８０…サーバ、１０００…検出システム
【図１】
2017107470.tif 000003
【図２】
2017107470.tif 000004
【図３】
2017107470.tif 000005
【図４】
2017107470.tif 000006
【図５】
2017107470.tif 000007
【図６】
2017107470.tif 000008
【図７】
2017107470.tif 000009