Androidアプリが抱える潜在的な脆弱性のリスク
Androidといえばソーシャルアプリというイメージが先行するが、エンタープライズ領域でも、各種のモバイルソリューションが広がっている。そして、新しいアプリケーションフィールドが広がると、必ず問題となるのがセキュリティだ。久保氏によれば、連日のようにスマートフォン向けのマルウエアやrootkitの発見が報告され、マーケットに流通するアプリの情報収集機能の問題点などが指摘されているが、アプリケーションそのものの脆弱性が話題になることは少ないという。
しかし、Androidアプリに脆弱性がないのかというと、そんなことはなく、いまはまだ注目されていないだけだとして、今後、この問題が顕在化するだろうと、久保氏は警告した。
アプリそのものの脆弱性が問題になる背景には、Androidプラットフォームの成熟度の問題、およびモバイルデバイスの普及がアプリのユースケースを拡大、もしくは複雑化している現状がある。原因がアプリよりプラットフォームにあるため、久保氏はさらに、「Androidアプリのセキュリティ向上といっても、アプリケーション単体で考えていてはだめです。」と語った。そして、Androidアプリ開発において、どんな脅威に注意すればよいのかという点を、OWASPが公開しているモバイルアプリのリスク トップ10を参考に示しながら説明した。
例えば、SDカードなど外部メモリにアプリの機微な情報を保存してしまうこと。Webkitを使うためのAPIであるWebviewなどを使うときは、クライアントサイドで何が実行できてしまうかに注意すること。端末IDなどを安易にサービスの認証に使わないこと。サードパーティ製のライブラリやOSSモジュールなど利用する場合の注意。といったような点である。
また、実際にJPCERTコーディネーションセンター(JPCERT/CC)に届けられるAndroid関係の脆弱性情報は、昨年7月からおよそ30件ほどあり、内容としては、データベースのパーミッションの問題、Webviewの使用に関する脆弱性、JSONハイジャック問題などが寄せられているという。別のAndroidアプリを調査したデータでは、暗号化鍵がハードコーディングされている(42%)、乱数のエントロピー不足(61%)、機微情報の外部送信(39%)などの問題も指摘されている。
本セッションを担当したJPCERTコーディネーションセンターの講師陣による「Androidセキュアコーディングセミナー」を2012年3月14日に開催します(主催:翔泳社/CodeZine)。詳しくは特設ページまで!