本連載でモバイルデバイスへの攻撃について取り上げた際に、多くの攻撃がAndroidデバイスをターゲットにしていることを挙げました。今回は、Androidデバイスに対する悪意の攻撃について焦点をあてて説明します。
なぜAndroidが狙われるのか
筆者が所属するパロアルトネットワークスでは世界中の検体を調査し、全体の98%にあたる大半のモバイルマルウェアはAndroid向けであることを確認しています。iOS向けは約0.5%でしたが、ほとんどがジェイルブレイク (脱獄) が行われたデバイスを対象としたマルウェアです。AndroidとiOSでこれほどマルウェアの数に差があるのはなぜでしょうか。
Androidへの攻撃が多い理由について、市場シェアがiOSより高いこともあげられますが、OSバージョンアップの配布を携帯端末メーカーやキャリアに依存している点と、正規のアプリストア以外のアプリの公開やダウンロードがしやすい点が大きな理由として挙げられます。
古いAndroidに潜む脆弱性
iOSと異なり、AndroidはGoogleが最新OSを公開してもそのままユーザー自身がアップデートできず、各メーカーが検証した上でユーザーへ再配布する仕組みになっています。これにより最新OSへのアップデートや修正プログラムの適用が遅れてしまい、セキュリティ上の大きな問題となっています。
そのため脆弱性が発見されても対応に時間がかかってしまったり、対策をまったく打てなかったりする場合も多いです。このような背景から、古いAndroid OSに残された脆弱性をつく攻撃が増加しており、従業員が数年前から私的に利用しているスマートフォンをBYODで利用するような場合は特に注意が必要です。
Android 4.3以前のバージョン (一部を除く) では「Installer Hijacking」という脆弱性が存在し、約49.5%のAndroidユーザーに影響があると推測されます。これはAndroidの「PackageInstaller」というアプリダウンロード システムの脆弱性で、攻撃者が実際より少ない偽のアクセス権限を表示できたり、個人情報やパスワードを含むユーザーデバイス上のサービスやデータにフルアクセスできたりするようになる危険性をはらんでいます。
例えば懐中電灯アプリや無音カメラアプリを限定されたアクセス権限をもってインストールしているはずが、実際には多くの権限をアプリに与えることができるという攻撃です。
アクセス権限(またはアクセス許可)とはインストール時にアプリが端末の機能や情報へアクセスする許可を求めるもので、「アプリ内課金」「端末とアプリの履歴」「ID」「画像、メディア、ファイル」「カメラ」「Wi-Fi接続情報」「端末IDと通話情報」などがあります。
アプリ本来の機能と比較して不必要なアクセス権限が多い場合、アプリが不正にデバイス内の情報にアクセスしてインターネット経由で漏えいさせている可能性も考えられます。知識のあるユーザーであればアプリのインストール時にアクセス権限が適当か、開発者が信頼できるかをチェックすることもできますが、この脆弱性が悪用されるとそれすら意味のないものになってしまいます。また、この脆弱性によりファイルの整合性チェックができなくなるため、マルウェアのインストールも可能になってしまいます。
このPackageInstaller の脆弱性以外にも、Android 4.3以前でDDoS攻撃の踏み台となる危険性がある脆弱性(情報処理推進機構発表)や、Android 4.3までのバージョンに使われている標準ブラウザに潜む脆弱性など、古いAndroidの脆弱性はこれまでも数多く発見されています。