(1/3)爆発的な勢いで普及し始めたAndroid端末は、大きなポテンシャルを秘める一方で、セキュリティという課題にも直面しています。この連載では一般ユーザー、ビジネスユーザーと、あらゆるAndroidユーザーを対象に、Androidのセキュリティについて解説していきます。});セキュリティ上の問題と向き合いながら使うために最近、新聞やニュースサイトでAndroidに関連したセキュリティ上の問題が取り上げられることが増えました。Androidでセキュリティ上の問題が多く報告されていることは事実です。エンタープライズ)http://www.itmedia.co.jp/enterprise/articles/1108/04/news089.html本記事では、本記事執筆時点におけるAndroidを取り巻く現実的な脅威を概観したうえで、Android端末をプライベートで使用するユーザーが気を付けるべきことを紹介します。Android端末を使い始めたばかりのユーザーに読んでいただければと思います。Android端末を「ビジネス用途」で使用したい場合には事情が変わります。Android端末をビジネス用途で使用する場合には、「私物のAndroid端末の取り扱い」や「Android端末からのイントラネットへのアクセス制御」など、考慮すべき点が増えるからです。ビジネス用途でのAndroid端末に興味がある方は、次回以降の記事をぜひ読んでください。Androidを取り巻く4つの脅威Androidを取り巻く脅威と聞いて、読者の皆さんはどのようなものをイメージするでしょうか。Android端末を「小さなノートパソコン」と見なすと、実際の脅威をイメージしやすいでしょう。Androidを取り巻く脅威として想定できるのは、主に以下のものでしょう。不正なWebサイト(注2)への誘導これらの脅威の中から、この記事では1と2の脅威を概観したいと思います。1はすでに現実的な脅威となっていますし、2は今後、現実的な脅威となり得ると考えるからです。ユーザーによっては、3も大きな脅威となるでしょう。Android端末をビジネス用途で使用している場合の方が、より被害が大きくなると考えます。そのため3に関しては次回以降の記事に譲り、4については本記事では触れないこととします。注1:本記事では、脆弱性を「ソフトウェアなどにおけるセキュリティ上の弱点」と定義します。注2:オンラインバンキングやソーシャル・ネットワーク・サービスのようなWebサイトを装いユーザーにアカウント情報などを入力させる偽物のWebサイト「フィッシングサイト」などを指します。2011年5月にF-Secureが、ブログにて、スマートフォンで最適化されるフィッシングサイトの存在を公表しています。Android端末で動作するマルウェア(以降、Androidマルウェア)の主流は「トロイの木馬」です。本記事では、「トロイの木馬」を「安全なアプリに見せかけた不正なアプリ」と定義し、説明していきます。パソコンにおけるマルウェアでは、OSやサーバソフトウェアの脆弱性を悪用してネットワーク経由で感染を広げるものや、ブラウザなどの脆弱性を悪用して感染するものが主流です。ユーザーが明示的に操作を行わなくても、脆弱性を悪用して勝手に感染してしまうタイプです。現状、Androidマルウェアはそうではありません。本記事執筆時点でインターネット上に公開されている情報を確認した限りでは、Androidマルウェアに感染するのは、ユーザー自らそれをインストールしてしまう場合だけです。インターネットに公開されている情報に基づいて、2011年7月までに確認された主要なAndroidマルウェアを表1にまとめました。Market」で発見されたものです。Market」以外で発見されたものになります。マルウェア名は基本的にSymantecの呼称で記載しています。Symantec以外の呼称を記載する場合、括弧内に補足しました。メディアプレイヤーアプリを装ったトロイの木馬。起動すると、特定の番号にSMSメッセージを送信する。利用者に通知せずにGPS情報を外部に送信するスネークゲームアプリ。既存のAndroidアプリを改変したトロイの木馬。起動すると、端末に保存されている情報を外部に送信したり、勝手に端末を操作する。既存のAndroidアプリを改変したトロイの木馬。起動すると、端末に保存されている情報を外部に送信したり、端末を外部から操作する。既存のAndroidアプリを改変したトロイの木馬。起動すると、端末に保存されている情報を外部に送信したり、特定のURLにアクセスする。正規のアプリを装ったトロイの木馬。起動すると、Androidに関連する脆弱性を悪用してrootに権限昇格したり、端末に保存されている情報を外部に送信する。Tool」を改変したトロイの木馬。起動すると、外部からの命令によりSMSメッセージを送信する。Text」のトロイの木馬。起動すると、端末利用者の個人情報と端末情報を外部に送信し、アドレス帳の電話番号にSMSメッセージを送信する。カレンダーアプリなどを装ったトロイの木馬。起動すると、特定の番号にSMSメッセージを送信する。正規アプリを装ったトロイの木馬。起動すると、端末に保存されている情報を外部に送信する。既存のAndroidアプリを改変したトロイの木馬。起動すると、端末に保存している情報を外部に送信したり、Androidに関連する脆弱性を悪用してrootに権限昇格して別のアプリをインストールする。カスタムROMを搭載したAndroid端末を標的としたトロイの木馬。起動すると、SMSメッセージを送信したり、端末に保存されている情報を外部に送信する。既存のAndroidアプリを改変したトロイの木馬。起動すると、端末に保存している情報を外部に送信して、端末を外部から操作できるサービスを起動する。Market」に似せたWebサイトで発見されたトロイの木馬。起動すると、SMSメッセージを送受信したり、端末に保存している情報を外部に送信する。既存のアプリを改変したトロイの木馬。起動すると、SMSメッセージを送受信したり、端末に保存している情報や通話履歴などを外部に送信する。既存のアプリを改変したトロイの木馬。起動すると、特定の番号にSMSメッセージを送信したり、特定の番号からのSMSメッセージを削除する。2011年7月までに確認された主要なAndroidマルウェア16種これらのAndroidマルウェアに感染すると、次のような被害に遭ってしまいます。Android端末に保存されている情報(端末関連情報であるIMEI[注3]やIMSI[注4]のほか、プライバシー情報であるGPS情報など)を外部のサーバに送信される特定の番号(注5)にSMSメッセージを送信される(外部からの指令により)Android端末を操作される幸いにして今のところ、日本国内において、Androidマルウェアに感染して金銭的な損失などの実害に至った事例は聞きません。金銭的な被害に直結する「SMSメッセージの送信」であっても、本記事執筆時点では、Androidマルウェアが指定している番号に日本国内からSMSメッセージを送信することはできませんでした(注6)。従って、本記事執筆時点での日本国内におけるAndroidマルウェアによる脅威は、「Android端末に保存されている情報を外部のサーバに送信される」ことと、「Android端末を操作される」ことだと考えていいでしょう。端末識別番号などと呼ばれます。Android端末に限らず携帯電話やスマートフォンなどの端末を一意に識別するために使われます。加入者識別子などと呼ばれます。SIMカードに保存され、SIMカードを契約している利用者を一意に識別するために使われます。注5:海外で使用されている「プレミアムSMS」の番号が確認されています。第2部:携帯データ編」によると、「プレミアムSMS」は「付加価値のあるメッセージの場合に、標準的なSMS料金よりも上乗せした料金をユーザーから受け取ることのできる仕組み」です。注6:2011年7月にXperia(SO-01B)から、Androidマルウェアが指定していた番号「3353」「3354」「1066185829」「10621900」などに実際にSMSメッセージの送信を試みましたが、送信に失敗しました。今後日本国内のユーザーも標的にされるかもしれませんが、現時点では海外のユーザーが標的になっていると考えます。Androidに関連する脆弱性を悪用した攻撃Androidに同梱されている「ブラウザ」などのアプリにも、任意のコードを実行できてしまう脆弱性(以降、断りなく「脆弱性」という場合、任意のコード実行につながる脆弱性を指す)が発見されています。Windowsにおけるユーザーへの脅威の1つに、「ブラウザや、ブラウザのプラグインの脆弱性を悪用した攻撃」があります。利用者のブラウザやブラウザのプラグインなどに脆弱性が存在する状態で、この攻撃が仕込まれたWebサイトを閲覧すると、それだけで利用者のパソコンがマルウェアに感染してしまいます。Androidアプリの中には、この脅威につながる脆弱性が発見されたものがあります。現状では、こういった脆弱性が悪用されたという情報は聞きません。Androidで任意のコードを実行できてしまう脆弱性が悪用されていない要因の1つとして、Androidの仕組みが影響していると考えられます。Androidで起動したアプリは、そのアプリ専用ユーザー(ユーザーID)の権限で動作します。Androidではアプリ専用ユーザーIDに基づいて、ファイル、ディレクトリ、プロセス間のデータへのアクセスが制御されているのです。あるアプリの脆弱性を悪用して任意のコードを実行した場合、任意のコードも、そのアプリ専用のユーザーの権限で実行されます(注7)。脆弱性を悪用して任意のコードを実行しても、「アプリでできること」しかできないのです。ここでは、ある脆弱性(便宜上、脆弱性[1]と呼びます、注8)の実証結果を例に説明してみましょう。この例ではAndroid端末ではなく、「Androidエミュレータ」を使用しました。実証コードは、インターネット上に公開されているものを一部修正しています。Androidエミュレータで「ブラウザ」を起動して、脆弱性[1]の実証コードを含むWebページにアクセスします。画面1の[ここから]のリンク先が、実証コードのWebページです。この脆弱性の実証に成功すると、外部(ここではAndroidエミュレータを実行しているホストOS)からAndroidエミュレータをシェルで操作できてしまいます(画面2)。脆弱性[1]の実証コードを含むWebページにアクセスこのシェルでは、「ブラウザ」権限(画面2の赤枠部)で可能なこと——例えばmicroSDへのアクセスなど——は可能です。「ブラウザ」権限で不可能なこと——例えばアカウント情報へのアクセス(画面2の青枠部)——は行えません。外部からAndroidエミュレータをシェルで操作できてしまうつまり、脆弱性を悪用したとしてもマルウェアのインストールなどができず、Windowsの場合に比べると攻撃者にとってメリットが小さいため、攻撃に悪用されていないと推測できます。権限昇格の脆弱性が悪用された場合、話は別です。権限昇格の脆弱性を悪用されると、Androidのroot権限が奪取されてしまいます。root権限が奪取されてしまうと、Androidにおけるどんな操作も許してしまうことになります。権限昇格の脆弱性が悪用可能なことは、すでにAndroidマルウェア「Trojan:Android/DroidDream.A」や「Trojan:Android/DroidKungFu.A」が実証したとおりです。本記事執筆時点では、任意のコードが実行できてしまう脆弱性と権限昇格の脆弱性の2つを悪用する実証コードや不正なWebページは確認されていませんが、今後登場する可能性はあります。注7:http://developer.android.com/guide/topics/security/security.html#useridを参照してください。注8:具体的には、CVE-2010-1119を指す。関しては、http://www.ipa.go.jp/security/vuln/CVE.htmlが参考になります。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。