Androidでは、これまでの代表的なOSの反省点を十分生かしたセキュリティモデルが設計されています。後発のOSであるからこそ、ユビキタス時代のインフラに必須とされる、強固なセキュリティレベルを持っているといえます。
これまでの組み込み機器向けOSは、元来、用途が特定された閉域的な環境で利用されてきたため、セキュリティというものをあまり意識する必要がありませんでした。ネットワークに接続された状態での利用も少なかったため、脅威もほとんどありませんでしたし、CPUをはじめとする各種リソースも限られていて、セキュリティ対策を実装するのは現実的ではありませんでした。
しかし近年では、組み込み機器のCPUや各種リソースの進歩により、ネットワークに接続する機会が増え、組み込み機器に対する外部からの攻撃が現実的なものとなってきました。組み込み機器もセキュリティに配慮しなければならない時代となったのです。
組み込み機器業界では独自に開発されているファームウェアが多く、その場合は個別にセキュリティ対策を行う必要があり、コストが大幅に上がります。そのために、セキュリティ対策が不透明になる可能性もあります。
これに対しすでに高い利用実績と信頼性を備え、自由に改変可能なLinuxカーネルベースのAndroidを採用すれば、開発のコストダウンだけでなく、セキュリティレベルの向上も期待できます。
いくらAndroidのセキュリティ的なポテンシャルが高くても、100%完璧ということはありません。現にAndroidにもいくつか脆弱性が見つかっていますし、Androidを構成しているLinuxカーネルや各種ライブラリに脆弱性が見つかれば、それもAndroidの脆弱性となります。
脆弱性が見つかれば、対策としてのパッチが作られ、公開されるのが一般的です。しかし現状のAndroidでは、作られたパッチが各端末にいつごろ適用されるかが不透明といった問題があります。
現在、Androidの利用領域のほとんどはスマートフォンですが、それらのアップデートに関してはおおむねメーカー任せとなっており、特にAndroidで統一されたアップデート手段があるわけではありません。Googleから新しいバージョンのAndroidがリリースされると、ある程度時間が経過した後にアップデートされる端末もあれば、アップデートが打ち切られてしまう端末もある状態です。
前者の場合、バージョンアップに伴い、Android Open Source Project(AOSP)などで修正されたパッチも端末に反映されるため問題ないのですが、後者のようにアップデートが打ち切られてしまうと、それ以降に修正されたAndroidの脆弱性が残ったままになってしまいます。
AOSPなどで脆弱性が修正されても、きちんと端末に反映されなければ意味がありません。アップデートのシステムをきちんと整備することもAndroidの課題でしょう。
Androidの大きな特徴として「オープンソースソフトウェア」である点が挙げられます。
過去にはたびたび、オープンソースとセキュリティの問題、つまり、「オープンソースであることは安全なのか、そうでないのか」といった議論が巻き起こりました。当初、ソースコードを公開するということは、攻撃者に脆弱性をさらしているのも同然だという認識が強く、基本OSとしてオープンソースが採用されることはあまりありませんでした。
ところが今では、「オープンソースの方が安全だ(ただしきちんと運用されていれば)」という認識も持たれてきています。ここで重要なのは、そのオープンソースプロジェクトが多くの開発者から成り立っており、確実に、パッチのリリースが行われていることです。Androidは、この要件を満たしており、十分安全なオープンソースソフトウェアだと考えます。
しかし、携帯電話をはじめ、先ほど出てきたユビキタスコンピューティングを実現するデバイスにまで搭載されるとなると、少し事情は変わってくるとも考えられます。
現在、代表的なオープンソースOSといえば、AndroidのベースにもなっているLinuxでしょう。Linuxは基本的にカーネルを提供し、これにシェルや各種ソフトウェアなどを同梱したディストリビューションが配布されています。そしてLinuxカーネルのアップデートは、各ディストリビューションに搭載されたアップデートシステムによって配布されます。このアップデートシステムを使いこなしている人は、たいてい「パワーユーザー」と呼ばれ、企業の情報システム管理者であったり、サーバを自前で構築しているような人であったりします。
ところが、携帯電話などにまで搭載されるAndroidの場合、パワーユーザーでなくとも利用することになります。つまり、「携帯電話ユーザー」や、今後ユビキタス時代ともなれば「一般家庭」といった、もっと幅広い層の人たちの手元にまで、オープンソースソフトウェアが行き渡ることになります。
そうなると、ただASOPが確実にパッチをリリースするだけではなく、「たとえどんな人が使っていても、どのような機器に搭載されていても、適切にAndroidがアップデートされるかどうか」という点も重要な課題となります。これが実現でき、安全に利用できるインフラになってこそ、真の“ユビキタス時代”といえるのかもしれません。
ユーザーの側も、ただ便利なものを自由に使うだけでは済まず、自由に使いたいのであれば、それ相応のセキュリティ対策への責任を果たす必要が生じてくるかもしれません。
そうした時代が来れば、前述のように自動アップデートの開発といった技術的な側面からの支援も必要ですが、ユーザーに適切なAndroidの情報を伝え、セキュリティに関する最低限の知識を周知させるといった、情報共有や啓蒙的な側面でのサポートも必要になると考えています。
「Androidセキュリティ部」は、これまでの技術面のみからのセキュリティではなく、「コミュニティ」という非営利団体の立場で、Androidにおけるセキュリティをサポートできるのではないかと考えています。現状では手探りな部分もありますが、日本スマートフォンセキュリティフォーラム(JSSEC)にも参加するなど、Androidのセキュリティ情報や対策などの発信を行っていきたいと考えています。
人の力あってこその、コミュニティです。Androidのセキュリティに純粋な興味がある方は、どうぞお気軽に「Androidセキュリティ部」にご参加ください。この記事を読んだ皆さんと一緒に、Androidのセキュリティに取り組んでいけたらうれしいです。
【関連リンク】
Android セキュリティ部
http://groups.google.com/group/android-security-japan
次回以降は、Androidアプリ開発者向け、一般ユーザー向け、ビジネスユーザー向けの各論を紹介していく予定です。どうぞお楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.