20192019年3月、GoogleはAndroidアプリにおけるSMSと通話ログへのアクセス許可情報(パーミッション)の使用を制限しました。これにより、認証情報を盗むアプリは、これらのアクセス許可を悪用してSMSベースの2要素認証(2FA)メカニズムを迂回できなくなりました。2FAメッセージ内のワンタイムパスワード(OTP)にアクセスして、Googleの現行の制限を回避できる悪意のあるアプリが、ESETにより発見されました。この手法を使用すれば、電子メールベースの複数の2FAシステムからもOTPを入手できます。このアプリは、トルコの暗号通貨交換所BtcTurkのアプリを装い、同サービスへのログイン情報をフィッシング詐欺の手法で詐取します。これらの悪意のあるアプリは、SMSメッセージを傍受してユーザーのアカウントやトランザクションの2FA保護を迂回するのではなく、侵入したデバイスに表示される通知からOTPを取得します。2FA通知を読み取るだけでなく、不正なトランザクションが行われていることを被害者に気付かせないために通知を無効化することもできます。新しいSMSアクセス許可の制限を回避できることが確認されたマルウェアは、これが初めてです。このマルウェアのすべての形態は、Android/FakeApp.KPとしてESET製品によって検出されます。Playにアップロードしたものでした。ESETがGoogleセキュリティチームに報告する以前に、50人以上のユーザーがこのアプリをインストールしていました。BtcTurkはトルコの暗号通貨交換所であり、その公式携帯アプリへのリンクは交換所のWebサイトに掲載されており、利用できるのはトルコのユーザーに限られています。Beta」という名称でアップロードしたものです。2つのアプリで用いられている偽装方法は非常によく似ていますが、作成した攻撃者は別人のようです。ESETがアプリを報告した2019年6月12日の時点で、インストールしたユーザー数は50人未満でした。2番目のアプリが削除された後、同じ攻撃者が同じ機能を備えた別のアプリをアップロードしました。PRO」で、開発者名、アイコン、およびスクリーンショットは同じものが使用されていました。ESETはこのアプリを2019年6月13日に報告しました。Playに掲載された最初の2つの悪意のあるアプリを示します。前のセクションで説明した2つのアプリは、インストール後によく似た手順を実行します。Beta」を例にとり、新しい2FA回避手法を説明します。access(通知へのアクセス)というアクセス許可を要求します(図2参照)。このアクセス許可が付与されたアプリは、デバイスにインストールされている他のアプリによって表示される通知を読み取ること、通知を無効化すること、または通知に含まれるボタンをクリックすることが可能です。Bean)で導入されたアクセス許可です。すべてのアクティブなAndroidデバイスがこの新しい回避手法の影響を受ける可能性があります。どちらの偽BtcTurkアプリも、実行にはAndroidバージョン5.0(KitKat)以上が必要です。したがって、Androidデバイスの約90%に影響を与える可能性があります。ユーザーがこのアクセス許可を付与すると、アプリはBtcTurkの認証情報を要求する偽のログイン画面を表示します(図3参照)。認証情報が入力されると、トルコ語の偽のエラーメッセージが表示されます(図4参照)。メッセージを日本語に翻訳すると次のようになります。「SMS検証システムの変更により、モバイルアプリケーションのサービスを一時的に停止しています。メンテナンス作業が終了しましたら、アプリケーションを介して通知します。」バックグラウンドでは、入力された資格情報が攻撃者のサーバーに送信されます。悪意のあるアプリによって表示される偽のエラーメッセージ悪意のあるアプリは通知へのアクセス許可を利用して、他のアプリ(SMS、メールアプリなど)から送信された通知を読み取ることができます。このアプリには、図5に示したようにキーワード「gm、yandex、mail、k9、outlook、sms、messaging」が名前に含まれているアプリからの通知のみをターゲットにするためのフィルタが設定されています。ターゲットとなるアプリの名前とタイプターゲットになったアプリからの全ての通知内容は、攻撃者のサーバーに送信されます。ロック画面に通知を表示するために被害者が使用している設定に関係なく、攻撃者は表示内容にアクセスできます。このアプリの背後にいる攻撃者は、着信した通知を無効化し、デバイスの呼び出しモードをサイレントに設定することもできるため、不正なトランザクションが実行されていることに被害者が気付くのを阻止できます。この手法では、2FA回避の有効性に関して限界があります。いうのも、攻撃者は通知のテキストフィールドに適合するテキストにしかアクセスできないため、OTPが含まれているとは限りません。ターゲットになったアプリ名を見ると、このマルウェアを使用している攻撃者の関心がSMSおよび電子メールの2FAであることがわかります。SMSの2FAのメッセージは一般的に短く、OTPは通知メッセージに通常収まります。電子メールの2FAではメッセージの長さと形式が多様であり、攻撃者のOTPへのアクセスに影響を与える可能性があります。急速に進化する手法ESETは先週、トルコの暗号通貨交換所Koineksを偽装した悪意のあるアプリの分析を行いました(このアプリについてESETに注意喚起してくれた@DjoNn35に謝意を表します)。興味深いのは、この偽のKoineksアプリがSMSベースと電子メールベースの2FAを迂回するために用いている手法が同じでありながら、通知を無効化し表示させないようにする機能が搭載されていない点です。Beta」アプリと同じ攻撃者によって作成されたことが確認されました。攻撃者は現在、この手法にチューニングを加えて、SMSメッセージの窃取の「次善策」を完成させようとしていると考えられます。前述した悪意のあるアプリのいずれかをインストールし使用したと思われる場合は、直ちにアンインストールすることをお勧めします。ご自分のアカウントで不審なアクティビティが行われていないかをチェックし、パスワードを変更してください。Playに数多くの暗号通貨マルウェアが出現したことについて警告する記事を公開しました。この度の発見された事実は、サイバー詐欺師たちがこの状況を利益の増加に利用する目的で、セキュリティ対策の迂回方法を模索していることを示しています。この新たな手法、および金銭目的のAndroidマルウェア全般に対する防御策は次のとおりです。暗号通貨関連のアプリやその他の金融アプリについては、サービスの公式サイトにリンクが掲載されているアプリのみを信頼するセキュリティが確保された正規のオンラインフォームであると確信できる場合に限り、機密情報を入力するデバイスを常に最新の状態に保つ信頼できるモバイルセキュリティソリューションを使用して、脅威をブロックし、除去する。ESETシステムはこれらの悪意のあるアプリケーションを、Android/FakeApp.KPとして検出し、ブロックします可能であれば、SMSや電子メールの代わりに、ソフトウェアベースまたはハードウェアトークンのワンタイムパスワード(OTP)ジェネレータを使用してください信頼できると判断したアプリのみを使用してください。