第3回 Androidアプリのストア環境について知っておくべきことWindowsネットワーク管理者のためのAndroid活用入門

Androidをターゲットとしたマルウェア(不正アプリ)の報道が増えている。背景にはAndroidのアプリ・ストア環境にも一因がありそうだ。エンドユーザーを抱える管理者として注意すべき点をまとめる。

» 2013年05月29日 17時52分 公開
[島田広道デジタルアドバンテージ]
Windowsネットワーク管理者のためのAndroid活用入門
Windows Server Insider


「Windowsネットワーク管理者のためのAndroid活用入門」のインデックス

連載目次

 最近、Androidスマートフォンを舞台とした、マルウェア(不正アプリ)による情報漏えい事件が報道されることが多くなった。これはAndroidスマートフォンが普及してきたことで、攻撃者がAndroidをターゲットにし始めたということなのだが、同程度のユーザーを抱えるiOS(iPhone/iPad)に対し、なぜAndroidに対する攻撃が目立つのだろうか? 背景にはAndroidアプリケーションのストア環境にも一因がありそうだ。

 そこで、iOS端末との違いを交えながら、Androidアプリのストア環境について2回にわたって説明し、スマートフォン/タブレットのエンドユーザーを抱えるシステム管理者として注意すべき点についてまとめる。

Androidアプリケーションはどこからインストールできるのか?

 最初に、Androidアプリケーションはどこからインストールできるのか、ストア環境をiOSと比較しながら整理してみよう。

 まず、開発者が作ったアプリケーションを端末にインストールできるのは、AndroidもiOSと変わりがない。ただ、インストール可能なアプリケーションの置き場やアプリケーション内容のチェック体制、インストール方法がiOSとは大きく異なる。

  Android iOS
インストール可能なアプリケーションのありか(オンライン・サイト) Google Playストア、それ以外の独自アプリ・ストア、一般のWebサイト 公式アプリ・ストア(App Store)のみ
アプリケーションのインストール方法 ・Google Playストアや独自アプリ・ストアから直接ダウンロード
・通常のWebサイトからダウンロード
・メール添付からインストール
・メモリ・カードからインストール
・PCと接続して内部ストレージにアプリケーションをコピーしてからインストール
・iOSのApp Storeアプリケーションで直接ダウンロード
・PC/MacのiTunesでApp Storeからダウンロードし、同期してiOS端末にダウンロード
配布されるアプリケーションのチェック体制 ・Google Playの場合: 開発者が申請してから1〜2時間で公開される。基本的に時間のかかる審査はない。「Bouncer」という自動の不正アプリ対策機能が使用されている
・ほかのアプリ・ストアや一般のWebサイトの場合: ストアやWebサイトに依存する。Google Playより厳しく審査している場合もあれば、まったく審査や担保がないこともある
(App Store)申請から公開までは1週間程度かかる。各種規約を満たしているかどうかチェックされ、満たしていない場合は開発者に戻される。改善されるまでは公開されない
アプリケーションのインストールに関するAndroidとiOSの違い(概略)

■Androidにはさまざまなアプリ・ストアがある

 iOSの場合、アプリケーションをインストールできるのは基本的に公式アプリ・ストア「App Store」からだけに限られる(社内アプリケーションを配布するクローズドなサイトも構築できるが、ここでは触れない)。一方、Androidには複数、それも数多くのアプリ・ストアが存在する。

Androidには複数のアプリ・ストア(マーケット)が存在する Androidには複数のアプリ・ストア(マーケット)が存在する

 Androidの標準アプリ・ストアといえるのは、Google運営の「Google Playストア」だ。多くのAndroid端末がデフォルトのまま利用できるし、アプリケーション開発者もユーザー数の多いGoogle Playに優先して登録することが多いので、たくさんのアプリケーションから選択できる。ただし、Googleの審査やAndroidの基準を満たしていない端末ではGoogle Playが利用できない(クリエイティブの「ZiiO」など、Androidを採用しながらGoogle Playストア・アプリケーションを搭載していない端末もある)。

 そのほかの独自アプリ・ストアには、au Market(au)やdマーケット(NTTドコモ)などの携帯キャリアが運営するものや、端末ベンダが自社製品向けに運営しているストアがある。また、Amazonの「Amazonアプリストア」のような特定の端末に依存しないストアもある。

Google Playストアの画面Amazonアプリストアの画面

Android向けアプリ・ストアの例
左は標準といえるGoogle Playストア。右はAmazon運営の「Amazonアプリストア」で、AmazonのWebサイトから手動でストア・アプリをインストールする必要がある。


 アプリ・ストアごとの重要な違いとしては、アプリケーションのチェック体制と利用制限が挙げられる。Google Playの場合、自動の不正アプリ・チェック機能はあるものの、基本的に時間のかかる審査なしで迅速にアプリケーションが登録される(詳細は後述)。しかし、ほかのアプリ・ストアではもっと細かく時間をかけてチェックしていることもある。また利用制限については、携帯キャリアや端末ベンダのアプリ・ストアだと自社製品だけに利用を許可している(他社製品からのアクセスはブロックする)ことが珍しくない。

分類 運営企業 利用制限 特徴
Google Playストア Google Googleの審査を通過した端末だけが利用可能(同名のストア・アプリがプレインストール可能) Androidの標準的なアプリ・ストア。流通するアプリケーションも豊富。規約はあるものの、基本的に時間のかかる審査なしでアプリケーションが登録される
独自アプリ・ストア 携帯キャリアや端末ベンダ 携帯キャリアあるいは端末ベンダが販売する端末向け。携帯キャリアや端末ベンダのユーザー・アカウントがないとアプリケーションがインストールできない 多くの端末ではGoogle Playと併用できる。ただしAmazon Kindleのように独自マーケットのみアクセス可能な端末も存在する。端末や運営企業に依存した特別なアプリケーションがラインアップされていることもある。携帯キャリアや端末ベンダが審査したうえでアプリケーションが登録されることが多い
上記以外の企業 会員登録をすれば、端末によらず利用できる(無制限) Google Playの規約にとらわれないアプリケーション(特にゲーム)が提供されている場合もある
Android向けアプリ・ストアの種類

■普通のWebサイトでもAndroidアプリは配布できる

 アプリケーションを配布できるのはアプリ・ストアだけではない。実は普通のWebサイトでもAndroidアプリケーションを公開できる。作成したプログラム・ファイルをWebサイト上に配置すれば、ユーザーにインストールさせることが可能だ(Webサイトと端末の両方に、ちょっとした設定変更は必要だが)。こうしたサイトやアプリケーションは、アプリ・ストアの管理から外れていることから、しばしば「野良サーバ」「野良アプリ」などと呼ばれる。

 実際、開発者が自分で作ったアプリケーションを自身のWebサイトあるいはブログで配布していることは珍しくない(アプリが規約に抵触するせいでGoogle Playに登録できない、という場合が多いようだ)。

 しかし、配布されているアプリケーションの内容は、第三者が担保してくれているものではない。もちろん、悪意などまったくない有用なアプリケーションを無償で配布している開発者のサイトもたくさんある。しかしプログラムの中身など確認できないエンドユーザーから見ると、それが「真っ当」なアプリケーションなのか否かは判断できない。

 この仕組みには、社内限定アプリをイントラネット・サイトから手軽に配布できるというメリットもある。しかし裏を返せば、不正アプリの手軽な配布に悪用できる仕組みともいえる。実際、マルウェアを配布しているサイトがしばしば見つかっている。前出の「不審な節電アプリ」も、一般のサイトから配布されていたそうだ。

 以上のようにAndroidには標準のアプリ・ストアがある一方で、ユーザーはさまざまなアプリ・ストアやWebサイトから選択してアプリケーションを入手できる。こうした自由度はiOSにはない。しかし選択肢の数が増えると複雑さも増すので、セキュリティ上、危険な間違いが起こる隙も増えることにもなる。

ストア・アプリなら安心なのか?

 「野良サーバ」のアプリケーションに担保がないと述べたが、それではストア・アプリ(アプリ・ストアで配布されているアプリケーション)だけインストールしていれば大丈夫なのだろうか? ストアが公開前のアプリケーションをどのようにチェックしているのか、iOSのApp StoreとAndroidのGoogle Playを比較してみる。

■App Storeでは人手による細かいチェックがあるが公開に時間がかかる

 App Storeの場合、開発者が提出したアプリケーションがストア側の審査・承認を経て公開されるまで1週間程度かかる。App Storeではアプリケーションが規約に従っているか一通りチェックしていて、規約違反が見つかると開発者に改善要請が届く。この場合、修正されるまで公開されることはない。ちなみに弊社のマップ・アプリ開発者によれば、次のような改善要請があったそうで、人手によるチェックがなされていることがうかがえる。

  • マップの著作権表示がボタンで隠れないようにする
  • 酒類を扱うショップが記載されたコンテンツなら年齢制限を設定する(App Storeでは一定年齢以上のユーザーしかアプリケーションを購入できないように制限できる)
  • Webアプリケーションの画面上にあった「Beta」のロゴを外す(App Storeではアプリケーションのベータ・テストは不許可)

 しかし、規約が厳しい分だけアプリケーションの自由度は低く、Androidほどのバリエーションはないといえる。またアプリケーションの不具合を解消したり機能を改善したりした更新版がリリースされるまで、時間がかかるのは、ユーザーにとってもデメリットとして挙げられる。

■Google Playでは基本的に時間のかかる審査はない

 一方、Google Playストアでは、開発者がアプリケーションを提出してから1〜2時間程度と迅速に公開される。最低限の確認だけが行われているようだ。ただし、不正アプリについては、少なくとも「Bouncer」と呼ばれる不正アプリ自動検出機能でチェックされている。当然ながらこのようなストアのシステムでは、不正なものや不適切なものも公開されてしまうことになるが、それらについてはユーザーからの報告で処理(公開を取り消すなど)を行うことで、健全性を維持するという方針を採用している。

 開発者から見るとGoogle Playの方が素早くアプリケーションの更新ができるなど、手軽で扱いやすそうだ。それに規約が比較的緩い分、Google Playに登録されているアプリケーションはバラエティに富んでいる。一方、攻撃者にとってはGoogle Playの方がチェックをすり抜けて不正アプリを登録しやすそうだ。実際、不正アプリがGoogle Playで公開されるという事件が発生している。

 どちらも動画視聴アプリとか壁紙アプリと称しつつ、個人情報を抜き出して外部サーバへ送信していたとのことだ。このように「標準のアプリ・ストア」であるGoogle Playだから安心してインストールできる、とは決していえない状況であることが分かる。Googleには、アプリケーションの自由度や迅速な公開・更新というメリットを保ちながら、もっと安心して利用できるようにGoogle Playのセキュリティを高めてほしいところだ。

不正アプリで何が起こるのか?

 これまでに発覚したAndroidの不正アプリ事件を振り返ってみると、やはり上記のように個人情報を盗み取るものが特に目に付く。また不正請求のアプリも多い。インストールすると料金請求メッセージが画面に表示され続ける、というPCの世界では古くからあるパターンだ。ただAndroid端末の場合は、同時に連絡先情報が盗み取られ、入金督促のメッセージがSMSで届くという悪辣な例もあるそうだ。

 筆者の同僚もAndroidの不正アプリの被害に遭った。彼は数十年にわたってPCや携帯端末に関する記事を執筆・編集してきた事情通で、決してITの素人ではない。もちろんAndroidの不正アプリの存在も知っていて、注意しながらアプリケーションを頻繁にダウンロードしていた。ところが、ある日突然、身に覚えのないアプリケーションのアイコンがホーム画面に登録されるようになってしまったのだ。そのアプリケーションを削除しても、いつの間にか別のアプリケーションがまたインストールされてしまうし、マルウェア対策ソフトウェアでスキャンしても異常は見つからない。結局、端末を初期化するしか解決方法はなかったとのことだ。

 それなりにAndroidに詳しい人でも、こうしたトラブルに遭遇することがある。

アプリケーションのインストール時に注意すればよい?

 Androidには標準で、不正アプリのインストールを防ぐのに役立ちそうな機能があるが、それで万全というわけではないようだ。

■野良サーバからのインストールはデフォルトで禁止されている

 まず、Androidのデフォルトの設定では、Google Play以外からアプリケーションをインストールできないようになっている。だが、[設定]−[ユーザー設定]−[セキュリティ]−[提供元不明のアプリ]にチェックを入れてオンにすると、野良サーバからでもアプリケーションをインストールできるようになる。

Google Play以外からのインストールを許可/禁止する設定 Google Play以外からのインストールを許可/禁止する設定
  (1)これにチェックをいれてオンにすると、野良サーバからアプリケーションをインストールできるようになる。デフォルトではオフだが、Google Play以外のアプリ・ストアでは、オフのままだとストア・アプリをインストールできないことがある。

 このチェック・ボックスは誰でもオンにできる。しかもAmazonアプリストアをKindle以外のAndroid端末で利用する場合などでは、このチェックがオフだとアプリをインストールできない。イントラネット・サーバから社内限定アプリをダウンロードする際も同様だ。つまり、普段はこのチェックをオフ(Google Playのみ許可)にしつつ、必要に応じてオン(ほかのアプリ・ストアや野良サイトも許可)というような運用が迫られる。エンドユーザーにとっては面倒な方法といえる。

■アプリケーションのインストール時に表示される警告メッセージに従えばいい?

 Android端末にアプリケーションをインストールする際、次のような警告メッセージが表示される。これはそのアプリケーションが必要としている端末の各種リソースへのアクセス許可一覧である。

最初に表示されるアクセス許可要求の一覧アクセス許可の説明

アプリケーションのインストール時に表示される警告メッセージ
アプリケーションが必要とするリソースへのアクセス許可要求の一覧が表示される。
  (1)各アクセス許可の概要。タップすると説明が表示される。
  (2)これをタップすると、一覧にある全アクセス許可要求に同意したと見なされ、アプリケーションがインストールされる。
  (3)(1)をタップして表示されたアクセス許可の説明文。システム管理者のレベルなら意味を理解できそうだが、エンドユーザーにとっては全般的に難しい説明だ。


警告メッセージ アプリケーションに許可されるアクセス内容
連絡先の読み取り/変更 端末内に格納されている連絡先(住所録)のデータの読み出し/書き換え・削除
電話番号発信 電話番号を指定して自動的に電話をかける
通話履歴の読み取り/書き込み 電話の発信/着信履歴(電話番号など)の読み取り/書き込み
端末のステータスとIDの読み取り 電話番号や端末固有のID、通話先の電話番号、通話中かどうかというステータスの取得
カレンダーの予定と機密情報を読み取る 端末内に格納されているカレンダーの予定の読み出し。共有カレンダーの予定も含む。カレンダーでの公開・共有設定に関係なく予定の読み出しが許可される可能性がある
ネットワークへのフルアクセス ネットワーク・ソケットの作成およびカスタムのネットワーク・プロトコルの使用
USBストレージのコンテンツの変更または削除 SDカードを含むUSBストレージに格納されたコンテンツの変更および削除
おおよその位置情報/正確な位置情報 GPSや3G/4G基地局、Wi-Fiスポットから得られる位置情報の取得(現在地を特定できる)
アクセス許可を求める代表的な警告メッセージとその意味

 システム管理者のレベルであれば、アプリケーションの目的とアクセス許可要求を照らし合わせて、明らかに関係のなさそうなアクセス許可要求が含まれていたら、不正アプリと判断できるかもしれない。しかしエンドユーザーにとって、上記のようなメッセージが何を意味するのか理解することは難しい。そもそも、面倒なのでいちいち確認せずにインストールしてしまうのが普通だろう。


 今回は、Androidアプリケーションのインストールにおけるセキュリティについて説明した。Androidでは、総じてユーザーの自由度が高いが、その分ユーザーの責任が重いことが分かる。

 次回は、不正アプリによる被害のリスクを減らすために注意すべきポイントを具体的に解説する。


「Windowsネットワーク管理者のためのAndroid活用入門」のインデックス

Windowsネットワーク管理者のためのAndroid活用入門

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。