スマートフォンがあまねく浸透しつつある昨今、ビジネスとプライベートの垣根なく、モバイルデバイスが利用されています。そうした環境下で問題となるのが「セキュリティ」ですが、自分の手元にあるスマートフォンであっても、そこにどのようなセキュリティ対策が施されているのか知らない方も多いでしょう。

そこで、米Googleに在籍するエンジニアの方に、Androidを始めとするGoogle製品・サービスのモバイル環境下でのセキュリティ対策が、どのように行われているのか解説していただきます。スマートフォンで安心・安全にサービスを利用するためにはどのようにすればいいのか、この連載を通して学んでみてください。

Androidとセキュリティ

Googleのモバイル向けOSであるAndroidは、世界で最も早く成長しているオペレーティングシステムです。

2008年に初めてのAndroidスマートフォンを米国で発売してから、現在では世界中で14億人が利用するまでに成長しました。エコシステムも広がりを見せており、約400社のメーカーが約500社の通信キャリアとパートナーシップを組み、累計で4000種類以上のAndroid搭載スマートフォンや、タブレット端末、テレビなどを世界に送り出しています。

Androidは、「ハードウェアメーカーのためのオープンな基準を作る」という少しクレイジーなアイデアのもとに誕生しました。Androidはオープンソースのため、どんなハードウェアであっても無料で利用できます。これは、ハードウェアの開発プロセスを簡素化するだけでなく、あらゆるスマートフォンで動くアプリを制作する開発者の方々にもメリットをもたらします。

開かれたエコシステムと10億人以上のユーザーを持つことは同時に、セキュリティについて、真剣に考える必要があることを意味します。だからこそ、開発初期の段階から、セキュリティはAndroidの理念の中心にありました。ここでいくつか例をご紹介します。

壁の外の情報へアクセスできない仕組みが組み込まれている

  • アプリケーションサンドボックス

Androidにおけるすべてのアプリケーションは、「アプリケーションサンドボックス」と呼ぶ仕組みによって動作しています。

砂(サンド)をこぼさない壁のように、それぞれのアプリをバーチャルな「サンドボックス」で囲み、壁の外の情報にアクセスしないよう設計されています。つまり、ユーザーが誤ってマルウェアを含むアプリをインストールしてしまった場合でも、端末内の他の情報へアクセスできないのです。

  • 最新のセキュリティ技術

Android搭載端末は、エンクリプション(暗号化)とアプリケーションサイニング、SELinux、ASLR、TrustZoneといった、最先端のハードウェアとソフトウェアセキュリティ技術によってユーザーのデータと端末を保護しています。

このように権限を承認しないと機能が利用できない。
これまでは、アプリインストール時に一括承認する方法しか用意されていなかったため、新しい権限モデルによってセキュリティリスクが下がる

  • Android Mの新しい権限モデルと管理方法

Androidの最新バージョンである6.0 Marshmallowで導入された新しいアプリ権限モデルでは、どのアプリにどのような権限を与えるのかを、より分かりやすく管理できるようになりました。

例えば、メッセージアプリで初めて位置情報を送信する際に、まずはユーザーに権限を求めるダイアログボックスが表示されます。ユーザーがその機能を必要とした時に初めてリクエストを出すため、「懐中電灯アプリが写真へのアクセスを求めてくる」というような怪しい挙動を見せた時は「許可しない」を選ぶことで、アプリの動作をブロックできます。

Google Play のセキュリティ

Android向けアプリや、ゲームを配信するGoogleの公式コンテンツマーケットであるGoogle Playも、Androidのセキュリティにおいて重要な役割を担っています。

Google Playの規約では悪意あるアプリの配信を禁じており、新しく登録されるアプリはマーケット上に表示される前にGoogleのセキュリティ審査を受けます。規定違反を行ったアプリを制作する開発者に対しては、アカウント停止措置を講じる場合があります。

キャプチャ下部にVerify Appsの許可項目が確認できる。Google Play以外からAPKファイルをダウンロードしてインストールしたアプリをスキャンしてマルウェアアプリかどうかを確認してくれるため、企業がサイドローディングで入れたアプリに危険性がないかどうかを確認する意味でも、安心の機能となる

AndroidではGoogle Play以外のアプリマーケットの運営を認めており、ユーザーはサードパーティ製のアプリをGoogle Playを介さずにダウンロードして利用できます。そのようなユーザーを手助けする機能として、「Verify Apps」という機能があることをご存じでしょうか?

Verify Appsは、脆弱性のあるSDKを含むアプリをインストールしようとするユーザーに対して警告します。また、過去にインストールされたアプリであっても、悪意あるコードがアップデートによって追加された場合にもユーザーに対して削除を促します。このセキュリティスキャンは1日2億回以上行われており、対象端末は10億台以上に上ります。

これらの対策によって、Androidにおけるマルウェア検知は比較的まれなこととなりました。社内調査によると、2014年に潜在的な有害アプリをインストールしたAndroid端末の割合は、全体の1%以下ということがわかりました。また、Google Playのみのマーケットを利用している端末のうち、潜在的な有害アプリを含んでいる端末はわずか0.15%でした。

次回以降は、Androidユーザーを守るためにセキュリティコミュニティと協力していることや、ユーザー自身で端末を守る方法について解説します。

著者プロフィール

エイドリアン・ルードウィグ
Google Android セキュリティ リードエンジニア

Androidプラットフォームや、Android向けGoogleアプリケーション・サービスにおけるセキュリティ責任者を務める。
Google入社前は、JoyentやAdobe、Macromedia、@stake、米国防総省で技術部門の責任者を歴任していた。
ウィリアム大学で数学の学士号を、カリフォルニア大学バークレー校で経営学修士号を取得している。