Android 特集・連載

【Androidスマートフォン セキュリティ対策-第2回-】

「アクセス許可」を悪用するマルウェアは有益なアプリを装っている

文●mobileASCII編集部

2012年08月17日 18時30分

  • このエントリーをはてなブックマークに追加

現在確認されているAndroidのマルウェアは、ほとんどが「アクセス許可」を悪用している。第2回では、このような「アクセス許可」を悪用するアプリの実態を、スマートフォンのセキュリティ問題に詳しい株式会社ラック サイバーセキュリティ研究所 山城重成氏(以下、山城氏)のお話も参考に紹介していこう。

「アクセス許可」を悪用するマルウェアは有益なアプリを装っている

■事件となったアプリでも
■ユーザー自身が「アクセス許可」を与えていた

「Google Play」などからアプリをインストールする際、下のような画面が表示されることをご存じだろうか。ダウンロード→インストールの一番最後の過程で表示されるため、つい詳細を確認せずに飛ばしてしまい、ちゃんと見たことがない……という人もいるだろう。

「アクセス許可」を悪用するマルウェアは有益なアプリを装っている

 この画面は、アプリにスマートフォン内のさまざまな機能や情報への「アクセス許可」を与える確認を行うためのもの。実は大きな事件となった『the MOVIE』シリーズや高額請求を行うアダルト動画アプリでも、どんな機能や情報にアクセスするかは、インストールする際、この「アクセス許可」画面に表示されていた。

「たとえば『the MOVIE』シリーズで個人情報が流出したのは、〝連絡先データの読み取り〟という項目にアクセス許可を与えてしまったためです。またアダルト動画アプリの事件でSMSやメールによる不正請求が行われたのは、〝端末のステータスと ID の読み取り〟という項目に許可を与えてしまったため。マルウェアの開発者側へ電話番号やユーザーアカウント(=Gmailのアドレス)を開示してしまったのです」(山城氏)。
 つまりユーザー自身が与えてしまった許可が、マルウェアの被害にあう引き金となってしまったというわけだ。

 このような「アクセス許可」を悪用するマルウェアは、国内で問題となった例に限ったことではない。たとえば「〝プレミアムSMS〟と呼ばれる、SMSを送信することでコンテンツ利用料などを支払えるサービスが普及している欧米では、SMSの不正送信を狙う〝SMSトロイの木馬〟と呼ばれるタイプのマルウェアが特に多い(山城氏)」といい、このようなマルウェアでは、「SMSの送信」に対する「アクセス許可」を求められる。このほかにも、スマートフォンの機能を使って盗聴や盗撮を行うものや、SDカード内の画像をすべて書き換えてしまうものなど多種多様なマルウェアが発見されているが、いずれも同じように「アクセス許可」を悪用したものだ。

■有益なアプリを装って潜入するマルウェア
■公式マーケットでも過信は禁物

 これらのマルウェアは、ほとんどの場合、別の有益なアプリを装っている。そのため見た目やタイトルだけでは、マルウェアかどうかを判断することは難しい。

 実際、『the Movie』シリーズやアダルト動画再生アプリも(今でこそかなり怪しげなアプリであったといえるが)、動画再生アプリを装っていた。これらのアプリのように表面的に有益なアプリを装うだけでなく、さらに巧妙に「有料アプリのプログラムをコピーし、個人情報などを取得するプログラムを加えて、タイトルやアイコンもそのまま『無料体験版』などとして配布される〝なりすましアプリ〟もかなり多い」(山城氏)という。
 Androidアプリの開発に使われるプログラミング言語「Java」では、アプリのソースコードを解析することが容易なため、正規のアプリを改ざんすることも簡単にできるのだ。

 このようなアプリは非公式のマーケットで配布される海賊版アプリのなかに紛れていることが多いが、なかには「Google Playで公開され、有料の正規アプリと体験版を装ったマルウェア、一部カテゴリの人気ランキングで1位と2位にいたケースもあった」(山城氏)という。「Google Play」では、正規のアプリとまったく同じタイトルでは配信することができないため、正規のアプリ名に『無料』『FREE』『Trial』などを加えて無料で公開されることが多く、よほど注意して見なければわからない。公式マーケットである「Google Play」だからといって決して安心はできない状況だ。

■アプリのリスクは、求められる
■「アクセス許可」である程度推し量れる

 このように巧妙に正体を偽っている〝アクセス許可悪用型〟マルウェアのリスクを回避するために、現状最も有効な手段といえるのが、インストールしたいアプリの「アクセス許可」の項目を確認することだ。

 アプリをインストールする際に確認を求められる「アクセス許可」の情報は、「アプリのプログラム内にあるマニフェスト(そのプログラムを説明するためのデータ)にあたる部分を読み取ることで表示されている」(山城氏)という。
 このメタデータ自体を偽ることは難しく、たとえばメタデータに『電話帳のデータを読み取る』ことを書いていないと、いくら内部でそのようなプログラムを組んでも動作しない。「ジェイルブレイク(セキュリティホールを突くなどして、OSのセキュリティ機構を迂回する方法)でもしない限り困難」(山城氏)な仕組みだ。

 つまりマルウェアであっても、「アクセス許可」にない機能や情報にアクセスすることは容易ではないわけで、危険度の高い「アクセス許可」の項目を知っておけば、そのアプリのリスクをある程度推し量ることができるといえる。ちなみに、ユーザー自身が「アクセス許可」を与えてしまったアプリに対して、セキュリティソフトはほとんど何もできないという。

 ただし、いくつか問題もある。それは先述のようにAndroidのアプリの「アクセス許可」が、そもそも非常に確認しづらいこと。さらには確認したとしても、一般のユーザーには、実際に端末のどんな機能や情報にアクセスするのかが非常にわかりにくい表示になっていることだ。「アクセス許可」を悪用するマルウェアは、この〝わかりにくさ〟を突き、ユーザーの多くが、そのリスクを十分認識しないまま許可を与えてしまっているのが現状だ。

 第3回では、このような〝アクセス許可悪用型〟マルウェアを回避するために知っておきたい、リスクの高い「アクセス許可」の項目と、その確認手段を紹介していこう。

mobileASCII.jp TOPページへ