(57)【特許請求の範囲】
【請求項１】
携帯端末にインストールされるコンピュータプログラムであって、本コンピュータプログラムは、ネットワークを介して前記携帯端末にダウンロードされたアプリケーションプログラムを検査する機能を前記携帯端末に実現させ、 
前記検査する機能は、前記携帯端末のユーザの指示により開始される更新の前後のアプリケーションプログラムを合わせて検査の対象とする機能を含み、
前記検査する機能における検査は、アプリケーションプログラムがマルウエアであるか否かの判定を含むことを特徴とするコンピュータプログラム。 
【請求項２】
更新前のアプリケーションプログラムを前記携帯端末の保持部に登録する機能と、 
前記保持部に登録された更新前のアプリケーションプログラムと、更新後のアプリケーションプログラムと、を合わせて検査の対象とする機能と、をさらに前記携帯端末に実現させることを特徴とする請求項１に記載のコンピュータプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムに関する。
【背景技術】
【０００２】
スマートホンやタブレット用のアプリケーションダウンロードサイトは例えばグーグルプレイ（Google Play、登録商標）やアップルストア（Apple Store、登録商標）や特許文献１等により公知である。
【０００３】
また、非特許文献１には、不正なアプリによる情報流出の仕組みおよび対策が記載されている。この資料には、対策の１つとして、アプリをインストールするときに表示される権限（パーミッション）をよく確認することが挙げられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１１９９６５号公報
【非特許文献】
【０００５】
【非特許文献１】独立行政法人  情報処理推進機構、コンピュータウイルス・不正アクセスの届出状況[4月分]について、［online］、2012年 5月 7日、インターネット＜URL：http://www.ipa.go.jp/security/txt/2012/05outline.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、アプリの初回のダウンロード時によくパーミッションを確認してダウンロードしたとしても、以下のような手口により、端末にマルウエアが導入されてしまう可能性がある。すなわち、アプリの更新によってマルウエアを導入する手口である。
【０００７】
悪意の第３者はまず、差し障りのない少数のパーミッションを要求するアプリ（以下、シード（seed）アプリと称す）をダウンロードサイトにアップする。シードアプリは動画閲覧アプリでもよいし、バッテリーセイバーアプリでもよい。シードアプリのダウンロード数が一定数に達すると、悪意の第３者はシードアプリの更新版をリリースする。このとき、悪意のある動作のために必要なパーミッションを追加で要求する。この更新が許可されると、シードアプリは更新されてマルウエアとなり、個人情報を端末から抜いて悪意の第３者のサーバに送信したり、遠隔操作を可能としたりする。
【０００８】
このような手口に対して、非特許文献１の図１−１４には、アプリの自動更新を許可しているときに手動更新となるのは、必要とされるパーミッションが異なるときであること、および、手動更新の過程で、新たに必要とされるパーミッションは「新規」と表示されることが記載されている。もしユーザのＩＴリテラシーが十分高ければ、この「新規」マークに着目し、新たに必要とされるパーミッションについて本当に必要かどうか判断して更新するであろう。この場合、上記更新型のマルウエアが端末に導入されてしまう可能性は比較的低い。
【０００９】
しかしながら、大多数のユーザは、初回導入時のパーミッションは気にしても、更新時のパーミッションまで気にしていないのが現状である。すなわち、「新規」マークの付いたパーミッションなど気にせずに更新処理を許可するユーザが多い。更新時のパーミッションに対するしきいはぐっと下がるのである。したがって、比較的多くの端末が上記更新型のマルウエアに感染してしまう虞がある。
【００１０】
本発明はこうした課題に鑑みてなされたものであり、その目的は、更新型のマルウエアへの感染を抑えることができる技術の提供にある。
【課題を解決するための手段】
【００１１】
本発明のある態様はコンピュータプログラムに関する。このコンピュータプログラムは、携帯端末にインストールされるコンピュータプログラムであって、本コンピュータプログラムは、ネットワークを介して携帯端末にダウンロードされたアプリケーションプログラムを検査する機能を携帯端末に実現させる。検査する機能は、携帯端末のユーザの指示により開始される更新の前後のアプリケーションプログラムを合わせて検査の対象とする機能を含む。検査する機能における検査は、アプリケーションプログラムがマルウエアであるか否かの判定を含む。 
【００１２】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【図面の簡単な説明】
【００１３】
【図１】携帯端末のタッチパネルに表示されるリスト画面の代表画面図である。
【図２】携帯端末のタッチパネルに表示されるダウンロード確認画面の代表画面図である。
【図３】更新内容確認画面の代表画面図である。
【図４】更新問い合わせ画面の代表画面図である。
【図５】再問い合わせ画面の代表画面図である。
【図６】第２の実施の形態に係るセキュリティソフトを実行する携帯端末における一連の処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【００１５】
（第１の実施の形態）
第１の実施の形態に係るコンピュータプログラムは、ダウンロードサーバからインターネットなどのネットワークを介して携帯電話などの携帯端末に送信され、その携帯端末によって実行されるコンピュータプログラムである。携帯端末はいわゆるスマートホンなどであってもよく、タッチパネル、通話機能およびデータ通信機能を有し、ウェブブラウザを有していてもよい。携帯端末は本実施の形態に係るコンピュータプログラムを実行することにより各種機能を実現する。
【００１６】
他の実施の形態に係るコンピュータプログラムは、サーバから携帯端末のウェブブラウザにネットワークを介して送信され、そのウェブブラウザによって実行される、ＨＴＭＬ（HyperText Markup Language）などのプログラミング言語により記述されたコンピュータプログラムである。
【００１７】
まず、アプリケーションプログラムの初回のダウンロード時の処理について説明する。
ダウンロードサイトの運営者はダウンロードサーバを管理する。ダウンロードサーバは、ネットワークを介して携帯端末からアクセスを受けると、ダウンロードサーバからネットワークを介してダウンロード可能な複数のアプリケーションプログラムを表示するリスト画面を携帯端末のディスプレイ（例えば、タッチパネル）に表示させる。特にダウンロードサーバは、リスト画面を構成するために必要な情報を含むリスト画面表示用情報を生成し、ネットワークを介して携帯端末に送信する。携帯端末は、受信したリスト画面表示用情報を使用してリスト画面をタッチパネルに表示させる。リスト画面表示用情報は例えばＨＴＭＬ（HyperText Markup Language）によりコーディングされていてもよい。本実施の形態に係るコンピュータプログラムはリスト画面表示用情報を含む。
【００１８】
運営者は、アプリ開発者からアプリケーションプログラムをダウンロードサイトに掲載して欲しいという要請を受けると、そのアプリケーションプログラムを所定の掲載基準にしたがって審査する。掲載基準は例えば実際に実行可能なプログラムであるか否かや、サイズ（バイト数）が制限値を超えていないか否か等であってもよい。
【００１９】
運営者は、掲載基準を満たしているアプリケーションプログラムを、リスト画面に含める。運営者は、アプリケーションプログラムが掲載基準を満たしていない場合、その旨をアプリ開発者に通知する。
【００２０】
図１は、携帯端末のタッチパネルに表示されるリスト画面１００の代表画面図である。リスト画面１００は、掲載基準を満たした複数のアプリケーションプログラムの名称のリストを表示する。リスト画面１００は、掲載基準を満たしたアプリケーションプログラムの名称と、その内容と、インストール先と、を対応付けて表示する。
【００２１】
リスト画面１００に名称が表示されるアプリケーションプログラムは、ユーザによって指定されて携帯端末にダウンロードされた後、インストール先で示される記憶装置に自動でインストールされる。インストール先の候補は、携帯端末の内部記憶装置である内部メモリと、外部記憶装置であるＳＤカードと、を含む。ＳＤカードは、携帯端末に着脱可能な記憶装置である。
【００２２】
リスト画面１００は、アプリケーションプログラムが内部メモリのみにインストール可能である場合、すなわちアプリケーションプログラムがＳＤカードへのインストールに対応していない場合、インストール先として「本体」と表示する。リスト画面１００は、アプリケーションプログラムがＳＤカードへのインストールに対応している場合、インストール先として「ＳＤカード」と表示する。このように、携帯端末は、リスト画面１００において、ＳＤカードへのインストールに対応しているアプリケーションプログラムを、そうでないアプリケーションプログラムとは異なる態様で表示させる。
【００２３】
携帯端末のユーザがリスト画面１００に表示されるリストのなかからダウンロードしたいアプリケーションプログラムの名称をタップすると、携帯端末はタップされた名称を含むダウンロード要求情報をネットワークを介してダウンロードサーバに送信する。すなわち、携帯端末は、リスト画面１００においてユーザによる名称の指定を受け付け、指定された名称をダウンロード希望のアプリケーションプログラムの名称としてダウンロードサーバに送信する。
【００２４】
ダウンロードサーバは、ダウンロード要求情報を受信すると、受信されたダウンロード要求情報に含まれる名称によって特定されるアプリケーションプログラムの詳細な情報を表示してダウンロードするか否かを選択させるダウンロード確認画面を、携帯端末のタッチパネルに表示させる。特にダウンロードサーバは、ダウンロード確認画面を構成するために必要な情報を含む確認画面表示用情報を生成し、ネットワークを介して携帯端末に送信する。携帯端末は、受信した確認画面表示用情報を使用してダウンロード確認画面をタッチパネルに表示させる。確認画面表示用情報は例えばＨＴＭＬによりコーディングされていてもよい。本実施の形態に係るコンピュータプログラムは確認画面表示用情報を含む。
【００２５】
図２は、携帯端末のタッチパネルに表示されるダウンロード確認画面１０２の代表画面図である。特に図２のダウンロード確認画面１０２は、図１のリスト画面１００においてユーザが「甲ＳＮＳ」をタップした場合に表示される画面である。ダウンロード確認画面１０２は、ダウンロード対象のアプリケーションプログラムの名称を表示する名称表示領域１０４と、そのアプリケーションプログラムの製造者を表示する製造者表示領域１０６と、インストール先に関する情報を表示するインストール先表示領域１０８と、ダウンロードボタン１１０と、キャンセルボタン１１２と、を有する。
【００２６】
インストール先表示領域１０８は、リスト画面１００においてインストール先が「ＳＤカード」となっているアプリケーションプログラムについて、ユーザがインストール先として内部メモリまたはＳＤカードのいずれかを選択可能な構成を有する。インストール先表示領域１０８は、デフォルトのインストール先がＳＤカードであることを表示しつつ、ラジオボタンによりインストール先の変更を受け付ける。
【００２７】
ユーザがキャンセルボタン１１２をタップすると、携帯端末は再度リスト画面１００をディスプレイに表示させる。ユーザがダウンロードボタン１１０をタップすると、携帯端末はそのタップを、名称表示領域１０４に表示される名称のアプリケーションプログラム（図２では「甲ＳＮＳ」）についてのダウンロードの指示として受け付ける。
【００２８】
携帯端末は、ダウンロードの指示に応じて、名称表示領域１０４に表示される名称のアプリケーションプログラムをダウンロードする。さらに携帯端末は、そのダウンロード後、ユーザからのさらなる指示を待つことなく、インストール先表示領域１０８に表示されたインストール先へのアプリケーションプログラムのインストールを開始する。特に携帯端末は、ダウンロードの指示を受け付けると、ダウンロードの開始を要求するためのダウンロード開始要求情報を生成し、ネットワークを介してダウンロードサーバに送信する。ダウンロードサーバは、ダウンロード開始要求信号を受信すると、名称表示領域１０４に表示される名称のアプリケーションプログラムをネットワークを介して携帯端末に送信する。携帯端末は送信されてくるアプリケーションプログラムを受信する。携帯端末は、アプリケーションプログラムの受信を完了すると、ユーザに問い合わせることなく自動で、インストール先へのインストールを開始する。
【００２９】
次に、既に携帯端末にダウンロードされインストールされているアプリケーションプログラムの更新時の処理について説明する。
ダウンロードサーバはアプリケーションプログラムの更新版がリリースされた場合、プッシュ通知等により当該アプリケーションプログラムがインストールされている携帯端末に、更新版が利用可能となったことを通知する。携帯端末のユーザは、当該通知に応じてダウンロードサーバにアクセスする。ダウンロードサーバは、アプリケーションプログラムの更新版の内容を表示して更新処理を開始するか否かを選択させる更新内容確認画面５０を、携帯端末のタッチパネルに表示させる。特にダウンロードサーバは、更新内容確認画面５０を構成するために必要な情報を含む更新内容確認画面表示用情報を生成し、ネットワークを介して携帯端末に送信する。携帯端末は、受信した更新内容確認画面表示用情報を使用して更新内容確認画面５０をタッチパネルに表示させる。本実施の形態に係るコンピュータプログラムは更新内容確認画面表示用情報を含む。
【００３０】
図３は、更新内容確認画面５０の代表画面図である。更新内容確認画面５０は、更新対象のアプリケーションプログラムの名称と、更新版のバージョン情報と、提供元からの更新版についてのコメントと、を対応付けて表示する。
【００３１】
ユーザが更新内容確認画面５０の更新ボタン５２をタップすると、ダウンロードサーバは、アプリケーションプログラムの更新版が携帯端末に要求する権限を列挙すると共に当該更新版のダウンロードを許可するか否かをユーザに問い合わせる更新問い合わせ画面６０を、携帯端末のタッチパネルに表示させる。特にダウンロードサーバは、更新問い合わせ画面６０を構成するために必要な情報を含む更新問い合わせ画面表示用情報を生成し、ネットワークを介して携帯端末に送信する。携帯端末は、受信した更新問い合わせ画面表示用情報を使用して更新問い合わせ画面６０をタッチパネルに表示させる。本実施の形態に係るコンピュータプログラムは更新問い合わせ画面表示用情報を含む。
【００３２】
図４は、更新問い合わせ画面６０の代表画面図である。更新問い合わせ画面６０は、アプリケーションプログラムの更新版が携帯端末に要求する権限のリストと、同意してダウンロードボタン６２と、キャンセルボタン６４と、を表示する。特に更新問い合わせ画面６０は、権限のリストにおいて、更新の前後で要求される権限に差分がある場合はその差分を強調して表示する。図４の例では、アプリケーションプログラム「甲ＳＮＳ」の更新版は「電話発信」、「個人情報」、「ネットワーク通信」の３つの権限を新たに要求するので、更新問い合わせ画面６０はそれらの新たな権限に「（ＮＥＷ）」の表記を対応付けて表示することで、それらの新たな権限を強調する。
【００３３】
ユーザが同意してダウンロードボタン６２をタップすると、ダウンロードサーバは、更新版のダウンロードが開始される前に、権限の差分をユーザに通知すると共にダウンロードを許可するか否かをユーザに再度問い合わせる再問い合わせ画面７０を、携帯端末のタッチパネルに表示させる。特にダウンロードサーバは、再問い合わせ画面７０を構成するために必要な情報を含む再問い合わせ画面表示用情報を生成し、ネットワークを介して携帯端末に送信する。携帯端末は、受信した再問い合わせ画面表示用情報を使用して再問い合わせ画面７０をタッチパネルに表示させる。本実施の形態に係るコンピュータプログラムは再問い合わせ画面表示用情報を含む。
【００３４】
図５は、再問い合わせ画面７０の代表画面図である。再問い合わせ画面７０は、更新の前後で要求される権限に差分が発生していることを示すメッセージと、差分に係る権限のリストと、ＯＫボタン７２と、キャンセルボタン７４と、を表示する。特に再問い合わせ画面７０は、更新版によって要求される新たな権限（図５の例では、「電話発信」、「個人情報」、「ネットワーク通信」）をリスト形式で表示すると共に、ダウンロードを許可するか否かをユーザに再度問い合わせるメッセージを表示する。
【００３５】
再問い合わせ画面７０においてユーザがＯＫボタン７２をタップすると、ダウンロードサーバは携帯端末にアプリケーションプログラムの更新版を送信する。携帯端末は、ダウンロードされた更新版をインストールする。
【００３６】
なお、更新の前後で要求される権限に差分がない場合、または、更新により権限が追加されない場合、ユーザが同意してダウンロードボタン６２をタップすると、ダウンロードサーバは再問い合わせ画面７０を表示させることなく更新版のダウンロードを開始する。
【００３７】
本実施の形態に係るコンピュータプログラムによると、アプリケーションプログラムの更新時に、権限の追加がある場合、更新問い合わせ画面６０で追加対象の権限を強調すると共に再問い合わせ画面７０で権限の追加があることをユーザにあらためて通知して許可を得る。したがって、権限の追加についてユーザのawarenessを向上させることができる。これにより、ユーザの意識を追加される権限に向け、注意を喚起することができる。その結果、更新型のマルウエアの感染を抑えることができる。
【００３８】
通常、ユーザインタフェースは、ユーザ側の手間が少ないほどユーザに好まれる傾向にある。したがって、本実施の形態のようにアプリ更新時の処理に１ステップ追加することは、この傾向に反することとなるので、当業者であれば避けようとするものである。しかしながら、本発明者は、この１ステップを追加することによるマルウエア抑制効果によって得られるユーザの支持のほうが、この１ステップを追加することによって失うユーザの支持よりも大きくなる可能性が高いことを見出した。
【００３９】
更新型のマルウエアが認知され始めた場合、アプリダウンロードサーバの管理者には早急な対応が求められる。本実施の形態では更新時の処理に１ステップ追加するだけでよいので、本実施の形態はそのような早急性を満たす。
【００４０】
（第２の実施の形態）
第１の実施の形態のようにアプリケーションプログラムの更新時における権限変更の確認を強化したとしても、以下のような手口により、ユーザが知らない間に、端末に記憶された個人情報が外部サーバに送信されてしまう可能性がある。
【００４１】
悪意の第３者はまず、個人情報へのアクセスを要求するがネットワーク通信は要求しないアプリ（以下、更新前アプリと称す）をダウンロードサーバにアップする。更新前アプリは動画閲覧アプリでもよいし、バッテリーセイバーアプリでもよい。非特許文献１の「（３）対策」の「その３  セキュリティソフト（アプリ）を利用しよう（六箇条５）」にも記載されるとおり、通常は「インストール終了」をきっかけにセキュリティソフトによるダウンロードされたアプリのスキャンが始まる。ここでは、個人情報へのアクセス要求はあるがネットワーク通信は要求されていないので、更新前アプリがマルウエアとして検知される可能性は低くなる。更新前アプリがインストールされると、更新前アプリは端末から個人情報を抽出し、更新前アプリがアクセス可能な所定のファイルに保存する。
【００４２】
悪意の第３者は、更新前アプリのダウンロード数が一定数に達すると、更新前アプリの更新版（以下、更新後アプリと称す）をリリースする。更新後アプリはネットワーク通信を要求するが、個人情報へのアクセスは要求しない。すなわち、この更新時、「個人情報」のパーミッションは削除され、代わりに「ネットワーク通信」が追加される。セキュリティソフトはダウンロードされた更新後アプリをスキャンするが、更新後アプリは個人情報へのアクセスを要求しないので、更新後アプリをマルウエアとして検知する可能性は低い。更新後アプリがインストールされると、更新後アプリは上記のファイルに保存されている情報（個人情報）を悪意の第３者のサーバに送信する。
【００４３】
このように、更新前アプリ、更新後アプリそれぞれ単体ではセキュリティソフトのスキャンをすり抜けるようにしながら、更新前後でデータ等を受け渡すことで情報流出を実現するマルウエアの登場が懸念される。
【００４４】
そこで、第２の実施の形態は、改良されたセキュリティソフトを提供する。このセキュリティソフトは、携帯端末にインストールされるコンピュータプログラムである。セキュリティソフトは、ネットワークを介して携帯端末にダウンロードされたアプリケーションプログラムを検査する機能を携帯端末に実現させる。この検査する機能は、更新の前後のアプリケーションプログラムを合わせて検査の対象とする機能を含む。
【００４５】
より具体的には、セキュリティソフトは、更新前のアプリケーションプログラムを携帯端末のＨＤＤ（ハードディスクドライブ）やＳＳＤ（ソリッドステートドライブ）などの保持部に登録する機能と、保持部に登録された更新前のアプリケーションプログラムと、更新後のアプリケーションプログラムと、を合わせて検査の対象とする機能と、を携帯端末に実現させる。この検査する機能における検査は、アプリケーションプログラムがマルウエアであるか否かの判定を含む。
【００４６】
図６は、本実施の形態に係るセキュリティソフトを実行する携帯端末における一連の処理を示すフローチャートである。セキュリティソフトは、定期的にまたはアプリケーションプログラムが更新可能であることの通知を受けると、更新前のアプリケーションプログラムを所定の更新前アプリケーション保存領域に保存する（Ｓ２０２）。この領域は、携帯端末の保持部の一部である。
【００４７】
携帯端末はダウンロードサーバと通信することで、更新後のアプリケーションプログラムをダウンロードする（Ｓ２０４）。セキュリティソフトは、ダウンロードされた更新後のアプリケーションプログラムを検査するに当たり、更新前アプリケーション保存領域に保存されている更新前のアプリケーションプログラムを読み出す（Ｓ２０６）。そしてセキュリティソフトは、読み出された更新前のアプリケーションプログラムおよびダウンロードされた更新後のアプリケーションプログラムを合わせて（例えば、一体として）検査する（Ｓ２０８）。ここでの検査のアルゴリズムは、公知のセキュリティソフトのアルゴリズムであってもよい。
【００４８】
例えば、上記のような個人情報漏洩マルウエアに対しては、本実施の形態に係るセキュリティソフトは、更新前アプリに存在する個人情報を抽出するコードないし権限と、更新後アプリに存在するネットワーク通信のコードないし権限と、を合わせて検出できるので、その個人情報漏洩マルウエアをマルウエアとして検知できる。
【００４９】
本実施の形態に係るセキュリティソフトによると、更新前後のアプリケーションプログラムを合わせて検査するようにしたので、更新前、更新後それぞれ基本的に独立のアプリケーションプログラムとして検査されるという既存のセキュリティソフトの盲点を突いたマルウエアの検知も可能となる。
【００５０】
以上、実施の形態について説明した。これらの実施の形態は例示であり、それらの各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【要約】
【課題】更新型のマルウエアへの感染を抑えることができる技術を提供する。
【解決手段】コンピュータプログラムは、ダウンロードサーバからネットワークを介して携帯端末にダウンロードされたアプリケーションプログラムの、ネットワークを介した更新過程において、アプリケーションプログラムの更新版が携帯端末に要求する権限を列挙すると共に当該更新版のダウンロードを許可するか否かをユーザに問い合わせる機能と、アプリケーションプログラムの更新版が携帯端末に要求する権限を列挙する際、更新の前後で要求される権限に差分がある場合はその差分を強調して携帯端末のディスプレイに表示させる機能と、問い合わせに応じてユーザが更新版のダウンロードを許可した場合、ダウンロードが開始される前に、権限の差分をユーザに通知すると共にダウンロードを許可するか否かをユーザに再度問い合わせる機能と、を携帯端末に実現させる。
【選択図】図１【図１】
0005536944.tif 000002
【図２】
0005536944.tif 000003
【図３】
0005536944.tif 000004
【図４】
0005536944.tif 000005
【図５】
0005536944.tif 000006
【図６】
0005536944.tif 000007