爆発的な勢いで普及しているAndroidですが、OSやアプリケーションのセキュリティに目を向けると、脆弱性を突いた端末のroot化やマルウエアによる個人情報の流出、脆弱なアプリケーションによるセキュリティ侵害など、様々な問題が明らかになっています。ユーザーが安心してAndroid端末を利用できるように、開発者は一体何に気を付ければ良いのでしょうか。一言でAndroidのセキュリティを担保するといっても、様々なことを考えなくてはなりません。

図1●Androidのセキュリティは様々な視点からのチェックが必要
図1●Androidのセキュリティは様々な視点からのチェックが必要
[画像のクリックで拡大表示]

 具体的には、Android OSのカーネルの脆弱性やデバイスドライバの脆弱性、ライブラリの脆弱性、アプリケーションの脆弱性などです。多くの事柄がありますが、大きく分けるとAndroid端末側の脆弱性とアプリケーション側の脆弱性の二つがあります(図1)。端末側の脆弱性を解決することは困難ですが、アプリケーション側の脆弱性は、開発者が注意することで減らせます。

 それでは、Androidのセキュリティを学ぶ前に、まずは堅牢なAndroidのアプリケーションを作成するために覚えておきたいセキュアコーディングを押えておきましょう。