シマンテックはこのほど、Android端末を狙った新たなランサムウェア「Android.Lockdroid.E」を確認したとセキュリティブロブで明かした。

このランサムウェアは、マルウェアを端末内に侵入させて、管理者権限を取得しようとするもの。管理者権限を取得すると、端末内のファイルを暗号化したり、デバイスをロックして暗証番号を変更したりする。また、出荷時設定にリセットして、ユーザーデータをすべて削除する。

マルウェアは「Porn ‘O' Mania」という名前のアダルト系アプリの中に含まれている。アプリは、サードパーティのアプリストア、フォーラム、torrentサイトなどで公開されている。

端末の所有者が悪質なアプリをインストールすると、端末内にマルウェアが侵入する。アプリを起動した後、システム権限付与のダイアログ上で、Googleのサービスに関連するパッケージをインストールように促される。マルウェアは、ダイアログを表示している間にバックグラウンドで、外部ストレージで見つかったファイルをすべて暗号化して、端末内の重要な情報を収集する。

紛らわしい説明が付いた管理者権限付与のダイアログ

偽の[パッケージのインストール]ダイアログ

このマルウェアは、TYPE_SYSTEM_ERRORウィンドウを使い、本来のデバイス管理者権限付与のダイアログを隠せる。その代わりに、パッケージのインストールに必要なコンポーネントの展開に関係するメッセージダイアログを表示する。

偽の[Unpacking the components(パッケージを展開中...)]ダイアログ

インストールの完了画面では、TYPE_SYSTEM_OVERLAYウィンドウを表示する。このウィンドウによって、実際に見えているボタンなどを押しても操作は受け付けなくなるため、ユーザーの操作では何も入力ができなくなる。

しかし実際には、ユーザーが見えない位置にデバイス管理者権限付与のダイアログを表示している。偽の[インストールが完了しました]ダイアログと、デバイス管理者権限付与のダイアログとを比較すると、[続行]ボタンがちょうど[Activate(有効にする)]ボタンの位置と重なっている。

シマンテックの説明では、ユーザーが[続行]ボタンを押すと、実際には[有効にする]ボタンを押すことになる。この手法をクリックジャックと呼ぶ。

クリックジャックのための重ね表示

クリックジャックの手法は、ルート権限の管理ツールへの対策にも使われている。ルート権限管理のツールは、権限を昇格してルート権限を取得しようとするアプリがないかどうかシステムを監視し、処理の続行を許可する前に、そのアプリに代わって許可を求めるダイアログを表示する。今回のマルウェアの手口は、偽のウィンドウを重ねることで管理機能を巧みに回避している。

影響を受けるAndroidのバージョンは、Android 5.0(Lollipop)より前のバージョン。5.0以降は、システム権限付与のダイアログの上に偽のダイアログを重ねて表示できない。5.0より前のバージョンを搭載する端末の利用率は、Androidユーザー全体の67%だという。なお、端末内にGoogle Playをインストールしている場合は、Google Play以外のアプリストアでダウンロードしても「Verify Apps」によって保護される。