- 2020/05/19
- サイバー攻撃
EVENTBOT:モバイルバンキングに新たなトロイの木馬が登場
Post by : CYBEREASON NOCTURNUS
主な調査結果
- Cybereason Nocturnusチームは、2020年3月頃から出現している新しいタイプのAndroidモバイルマルウェア、EventBotについて調査しています。EventBotは、モバイルバンキングのトロイの木馬で、Androidのユーザー補助機能を悪用して金融アプリケーションからユーザーデータを盗み取り、メッセージを読みメッセージを盗んで、マルウェアが2要素認証をバイパスできるようにするInfostealerです。
- EventBotは、バンキング、送金サービス、暗号通貨ウォレットなど、200種類以上の金融アプリケーションのユーザーをターゲットにしています。ターゲットとなっているアプリケーションには、 Paypal Business、Revolut、Barclays、UniCredit、CapitalOne UK、HSBC UK、Santander UK、TransferWise、Coinbase、paysafecardなどが含まれます。
- 具体的には、米国、およびイタリア、英国、スペイン、スイス、フランス、ドイツなどヨーロッパのバンキングアプリケーションが対象になっています。ターゲットになっているすべてのバンキングアプリケーションのリストについては、付録を参照してください。
- EventBotが特に興味深いのは、これがまだ初期段階にあるからです。この新型マルウェアは、絶えず反復的な改善が行われ、重要なオペレーティングシステムの機能を悪用し、金融アプリケーションをターゲットにしているため、次の大規模なモバイルマルウェアになる可能性があります。
- この調査では、めったに見られない、マルウェア作成者が公開前の最適化として行うプロセスの改善について報告します。攻撃者に対する攻撃とハンティングを継続することで、当社のチームは、極めて危険になる可能性のあるモバイルマルウェアを初期段階で発見することができました。
セキュリティに関する推奨事項
- 正規ソースの最新ソフトウェア更新プログラムで、モバイルデバイスを常に最新の状態にしておく。
- Google Playプロテクトをオンにしておく。
- 非公式または無許可のソースからモバイルアプリをダウンロードしない。正規のAndroidアプリのほとんどは、Google Playストアで入手できます。
- 特定のアプリに要求された権限を与えるべきか、常に批判的に考えて検討する。
- 疑わしい場合は、デバイスにインストールする前に、APK署名をチェックし、VirusTotalのようなソースにハッシュする。
- セキュリティを強化するために、モバイル脅威検知ソリューションを使用する。
はじめに
この数週間、Cybereason NocturnusチームはEventBotと呼ばれる新しいタイプのAndroidマルウェアを調査してきました。これは、2020年3月に初めて確認されました。このマルウェアは、これまでに確認されたAndroidマルウェアとは大きく異なるコードを使用して、新たに開発されたように思われます。EventBotは開発中で、急速に進化、改善され、新機能が追加された新しいバージョンが数日おきにリリースされています。
EventBotは、Androidのユーザー補助機能を悪用して、貴重なユーザー情報、システム情報、および他のアプリケーションに保存されているデータにアクセスします。中でも、EventBotはSMSメッセージをインターセプトしたり、2要素認証メカニズムをバイパスすることができます。
Cybereason Nocturnusチームは、EventBotが200種類を超えるバンキングおよび金融アプリケーションをターゲットとして設計され、ターゲットの大半は欧州の銀行と暗号通貨交換アプリケーションであるという結論を出しました。
このデータにアクセスして盗むことにより、Eventbotは財務データなどの重要なビジネスデータにアクセスする可能性があります。
企業データを保存しているまたはそれにアクセスしているデバイスの60%はモバイルで、企業がBYOD(Bring-Your-Own-Device)ポリシーを設定している場合、そのモバイルデバイスには大量の個人データとビジネスデータが格納されています。
モバイルマルウェアは、企業と消費者のどちらにとっても重大なリスクであり、個人データとビジネスデータを保護する際には考慮する必要があります。
EventBotのターゲットになっているアプリケーション
Cybereason MobileがEventBotを検知
脅威分析
初期アクセス
EventBotは、現在Google Playストアにありませんが、EventBotが正規のアプリケーションになりすますために使用しているいくつかのアイコンが見つかりました。正式にリリースされると、大抵は不正なAPKストアやその他の怪しげなウェブサイトにアップロードされ、本物のアプリケーションになりすますと考えられます。
EventBotがこれらのicons.applicationを持つ本物になりすますために使用したアイコン
マルウェアの機能
Cybereason Nocturnusチームは、2020年3月初めからEventBotを追跡調査しています。その間、このマルウェアは急激に進化したため、様々なバージョンに遭遇しました。この調査の執筆中にも、EventBotマルウェアの4つのバージョン、0.0.0.1、0.0.0.2、0.3.0.1、および0.4.0.1を確認しました。バージョンごとにボットの機能が拡張され、分析機能に対してマルウェアを分かりにくくしようとしています。この調査では、マルウェアの一般的な特徴を確認し、攻撃者が各バージョンで行っている改善点を調べます。
一般的な特徴
許可
インストールされた時点で、EventBotはデバイスで次の許可を求めます。
- SYSTEM_ALERT_WINDOW – アプリが他のアプリの上に表示されるウィンドウを作成することを許可します。
- READ_EXTERNAL_STORAGE – 外部ストレージから読み取ります。
- REQUEST_INSTALL_PACKAGES – パッケージのインストールを要求します。
- INTERNET – ネットワークソケットを開きます。
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS – バッテリーの最適化を無視することが許可されるホワイトリストにアプリを登録します。
- WAKE_LOCK – プロセッサがスリープ状態になり、画面が暗くならないようにします。
- ACCESS_NETWORK_STATE – アプリがネットワークに関する情報にアクセスすることを許可します。
- REQUEST_COMPANION_RUN_IN_BACKGROUND – アプリをバックグラウンドで実行します。
- REQUEST_COMPANION_RUN_IN_BACKGROUND – アプリがバックグラウンドでデータを使用するようにします。
- RECEIVE_BOOT_COMPLETED – アプリケーションがシステム起動後に自動的に起動するのを許可します。EventBotはこの許可を使用して持続性を実現し、バックグラウンドでサービスとして稼働します。
- RECEIVE_SMS – アプリケーションがテキストメッセージを受信できるようにします。
- READ_SMS – アプリケーションがテキストメッセージを読み取れるようにします。
マニフェストファイルに表示されるEventBotの権限
初期インストールプロセス
インストールすると、EventBotはユーザーにユーザー補助サービスへのアクセスを許可するよう求めます。
サービスとして実行するためのEventBotの最初の要求
マルウェアがユーザー補助サービスを使用できるようになると、キーロガーとして動作し、インストールされている他のアプリケーションや開いているウィンドウのコンテンツに関する情報を取得できます。
ユーザー補助サービスを使用するためのEventBotの要求
Androidの最新バージョンでは、EventBotは自分自身を起動ツールから削除する前に、バックグラウンドで実行する許可を求めます。
EventBotはバックグラウンドに常駐する権限を要求
ターゲットの構成ファイルのダウンロードと更新
EventBotバージョン0.0.0.1のHTTPパケットを分析し、デコードすることで、EventBotが約200種類の金融アプリケーションのターゲットで構成ファイルをダウンロードし、更新していたことが分かります。次に示すC2サーバーからのHTTP応答には、暗号化された構成が含まれています。
C2からの暗号化されたHTTP応答
バージョン0.0.0.1では、C2との通信がBase64およびRC4で暗号化されています。RC4キーはEventBotにハードコードされています。解読すると、サーバーからの応答がEventBotの構成のJSONオブジェクトであることが分かります。これには、C2 URLとターゲットにされたアプリケーションのリストが含まれます。
解読後のC2から返されたEventBot構成
構成ファイルには、EventBotのターゲットになり得る金融アプリケーションのリストが含まれています。このバージョンには、世界中の銀行の公式アプリケーションなど、185種類のアプリケーションが含まれています。
イタリアから26、英国から25、ドイツから6、フランスから5、そしてスペインから3のアプリケーションがターゲットになっています。ただし、ルーマニア、アイルランド、インド、オーストリア、スイス、オーストラリア、ポーランド、米国のアプリケーションもターゲットになっています。
公式のバンキングアプリケーションに加え、ターゲットリストにはその他にも銀行業務、クレジットカード管理、送信、暗号通貨ウォレットおよび為替に関する111のグローバル金融アプリケーションが含まれています。
そのターゲットには、 Paypal Business、Revolut、Barclays、UniCredit、CapitalOne UK、HSBC UK、Santander UK、TransferWise、Coinbase、paysafecardなどが含まれます。ターゲットになっているすべてのバンキングアプリケーションのリストについては、付録を参照してください。
ユーザー補助サービスの悪用
EventBotはそのアクティビティの大半に、Androidデバイスのユーザー補助サービスを悪用しています。通常、ユーザー補助機能は、入力フィールドへの書き込み、権限の自動生成、ユーザーに身振りで示すなどの機能をデバイスに提供することで、障害を持つユーザーを支援するために使用されます。
しかし、悪意から使用されると、EventBotと同様に、ユーザー補助機能が悪意の目的で正規のサービスを悪用するために利用されることになります。EventBotは複数の方法で、Wbinjectおよびその他の情報を盗む目的でユーザー補助イベントを悪用しています。
データ収集
インストールされている全アプリケーションのリストを取得
EventBotは、ターゲットのデバイスにインストールされると、インストールされている全アプリケーションをリストにして、C2に送信します。
デバイス情報
EventBotは、OS、モデルなどのデバイス情報を問い合わせ、これもC2に送信します。
感染したデバイスに関して収集され、C2に送信される情報
データ暗号化
初期バージョンのEventBotでは、盗み出されたデータはBase64およびRC4を使用して暗号化されています。新しいバージョンでは、Curve25519暗号化を使用して、暗号化に別のレイヤーを追加しています。
EventBotの最新バージョンのほぼすべてに、RC4やAESなどの他のアルゴリズムと比較してパフォーマンスを改善できるChaCha20ライブラリが組み込まれています。これは、作成者が継続的にEventBotの最適化に積極的に取り組んでいることを暗示しています。
SMSの奪取
EventBotには、SMSメッセージをターゲットデバイスのSDKバージョンを使用して正しく解析する能力があります。
奪取したSMSメッセージの解析
Webinject
ボットの構成に従って、Webinjectが特定のアプリケーションに設定されていると、それが実行されます。
事前に確立された構成によるWebinjectの実行方法
ボットの更新
EventBotにはparseCommand と呼ばれる長いメソッドがあり、これでデバイスのshared preferencesフォルダーにあるEventBotの構成XMLファイルを更新できます。
デバイスにドロップされたXML構成ファイル
EventBotはこの機能を使用して、C2、Webinjectの構成などを更新します。次のコードは、C2から送信されたEventBot解析命令を示しています。
C2からのボットによる命令の解析
バージョン固有の特徴
EventBotバージョン0.0.0.1
RC4およびBase64パケット暗号化
C2からのRC4およびBase64データ暗号化
前述のように、EventBotバージョン0.0.0.1は、デバイスにインストールされたすべてのアプリのAndroidパッケージ名が格納されたJSONオブジェクトと、ボットバージョン、botnetID、このパッケージが送信される理由などを含む追加のメタデータを送信します。
このパケットの場合、理由はボットの登録です。C2との接続に失敗した場合、成功するまで再試行を続けます。
侵入したデバイスからのLogcat
EVENTBOTバージョン0.0.0.2
動的ライブラリローディング
バージョン0.0.0.2以降では、EventBotは静的分析からメイン機能を隠そうとしています。バージョン0.0.0.1には、すべての主要な悪意のあるアクティビティが発生した場合、監視できる専用の関数クラスがあります。代わりに、バージョン0.0.0.2では、EventBotはメインモジュールを動的にロードします。
Logcatに表示されるロードされたライブラリ
デバイスでEventBotのインストールパスを参照することで、app_dexフォルダーにドロップされたライブラリを確認できます。
デバイスにドロップされたロードされているライブラリ
メインモジュールを動的にロードするコードは、静的に見ることもできます。悪意のあるライブラリは、実際には隠しライブラリであるdefault.ttfと呼ばれるフォントファイルが格納されているEventbotの資産からロードされ、RC4を使用してデコードされます。
ライブラリのロードを行うメソッド
EventBotには、C2からコマンドが与えられると、ライブラリを更新したり、場合によっては第2のライブラリもダウンロードできる能力があります。更新されたライブラリ名は、複数のデバイスプロパティのmd5sumを計算することで生成されますが、ライブラリが更新された場合、ビルドモデルは2回連結されます。
更新されたライブラリの命名規則
新しいライブラリの命名規則
データ暗号化
Curve25519暗号化アルゴリズムは、EventBotバージョン0.0.0.2以降に実装されました。この暗号化アルゴリズムは、C2と通信するための追加のセキュリティレイヤーで、前バージョンのプレーンなRC4暗号化が改善されています。解読されたパケットを確認すると、以前のバージョンと同じ内容であることは明確です。
C2からのパケットのCurve25519を使用した解読
EVENTBOTバージョン0.3.0.1
国/地域に基づいた追加資産
バージョン0.3.0.1に追加されたスペイン語およびイタリア語のイメージ
バージョン0.3.0.1では、リソースセクション内にイタリア語とスペイン語の言語互換性が組み込まれています。おそらくこれは、様々な国でターゲットのユーザーにアプリがより信頼されるように行われました。
SamsungデバイスのサポートによるScreen PINの奪取
バージョン0.3.0.1には、grabScreenPinと呼ばれる800行以下の長いメソッドが追加され、これでユーザー補助機能を使用して、デバイス設定のPINコードの変化を追跡します。
TYPE_VIEW_TEXT_CHANGEDなどのイベントを待ち受けます。おそらく、更新されたPINがC2に送信され、侵入したデバイスで、支払いやシステム構成オプションなどに関連した特権アクティビティを実行するオプションをマルウェアに付与すると考えられます。
TYPE_VIEW_TEXT_CHANGEDユーザー補助イベントの待ち受け
変更されたPINコードを収集し、それをC2に送信します。
C2へのPINコードの送信
最終的に、画面のPIN設定は、Shared Preferencesフォルダーの追加のXMLファイルに保存されます。
screenPinPrefs.xmlのコンテンツ
grabScreenPinメソッドでは、Samsungデバイスの画面ロックイベントを処理するために別個の条件付けを使用します。
Samsungデバイスをサポートするための新しい画面ロック処理メソッド
EVENTBOTバージョン0.4.0.1
パッケージ名のランダム化
このバージョンでは、パッケージ名が「com.example.eventbot」ではなくなり、見つけることがより困難になります。
com.example.eventbotではなくランダム化されたパッケージ名
ProGuard難読化
他の多くのAndroidアプリケーションと同様に、EventBotも今では難読化を使用しています。ローダーとドロップ済みクラスの両方がProGuardを使用して難読化されます。これはアルファベットを使用して名前を難読化します。
ただし、コード自体はこのタイプの難読化によって変更されることはないため、分析は容易になります。
アルファベット文字を使用して難読化されたクラス名
隠し構成データ
前述のように、EventBotは難読化を使い始めています。この難読化により、前述のcfgクラスの一部が、今はc/b/a/a/aまたはc/a/a/a/aにマッピングされています。
ネストされたクラス内のC2 URLとその他の設定
他の構成データは別の場所にあり、その一部は以下で確認できます。
- 暗号化されたライブラリパス
・ドロップ済みライブラリ用のデバイスの出力フォルダー
・ロードされた後のライブラリ名 - eventBot名の文字列
・バージョン番号
・ライブラリの解読用とネットワークデータの暗号化の一部の両方でRC4キーとして使用される文字列(以前のバージョンから変更なし)
・C2 URL
・デバイスのユーザー補助サービスを使用してランダム化されたクラス名
新しいバージョンの抽出された構成の一部
開発中のマルウェア
EventBot “cfg”クラス
前述のbotnetID文字列がバージョン間で連続した番号になっていることから分かるように、EventBotは常に進化を続けています。この例は、EventBotの最新バージョンのものですが、他のバージョンの命名規則もほぼ同じで、ボットIDはword100、word101、word102、およびtest2005、test2006、のようになっています。最新バージョンでは、難読化がさらに強化され、たぶんマルウェアは完全に機能する状態に一歩近づいています。
攻撃者による疑わしい検知テスト
EventBotを調べている中で、同じ送信者ハッシュ、22b3c7b0:から複数の送信を特定しました。
VirusTotalにEventBotのサンプルのほとんどを送信した送信者ハッシュ22b3c7b0
この送信者は他にも、VirusTotalに数千の送信がありますが、VirusTotal APIからEventBotのサンプルを送信し続けているのはここだけです。また、ボットネットIDは、送信されるたびに数字が加算されています。
このことと、送信の命名規則(
これらの送信は作成者のマシンから行われたか、検知サービスに送信され、そこからオンラインのマルウェアデータベースに転送された可能性があります。
EVENTBOT攻撃者
この調査の一環として、Cybereason NocturnusチームはEventBotの開発を支援している攻撃者の特定を試みました。前述の兆候は、EventBotが未だに開発段階にあることを示しています。
そのため、これまでのところ大規模な攻撃キャンペーンには使用されていないようです。
Cybereason Nocturnusチームは、EventBotに関連するChatterを特定するために、複数の地下プラットフォームを監視しています。
新しいマルウェアが、プロモーションとして販売されたり、景品として提供されたりして、裏社会に持ち込まれることは珍しくありません。
しかし、本書の執筆時点では、EventBotマルウェアに関連する会話は特定できていません。このことから、このマルウェアがまだ開発中で、公式に販売またはリリースされていないという疑念が強まります。
EVENTBOTインフラストラクチャ
C2サーバーをマッピングすることで、特定のURL gate_cb8a5aea1ab302f0_cに基づいた明確な繰り返しパターンが浮かび上がってきます。執筆時点では、すべてのドメインは最近登録されたもので、いくつかはすでにオフラインになっています。
調査の過程で、チームは追加のAndroid Infostealerへのリンクの可能性を発見しました。
.ora.carlaarrabitoarchitetto[.]comとora.studiolegalebasili[.]com, 31.214.157[.]6の両方のIPアドレスは、以前はドメインnext.nextuptravel[.]com.をホストしていました。
これは、Android InfostealerのC2で、2019年末にイタリアで発生したいくつかの攻撃に関与していました。
悪意のあるIPアドレスを捜索するVirusTotal
影響
EventBotは、金融情報を盗み、取引をハイジャックできる、バンキングを対象としたトロイの木馬型モバイルマルウェアです。このマルウェアがインストールされると、個人データ、パスワード、キーボード操作、バンキング情報などが収集されます。
この情報を使用して、攻撃者は個人または企業の銀行口座、個人データまたはビジネスデータにアクセスできるようになります。
攻撃者にこの種のデータへのアクセスを許すと、重大な影響がでる可能性があります。企業データを保存しているか、これにアクセスするデバイスの60%はモバイルです。
攻撃者にモバイルデバイスへのアクセスを許すと、ビジネスに重大な影響が出ます。特に、エンドユーザーがモバイルデバイスを使用してビジネスの機密情報について話したり、企業の財務情報にアクセスしたりすると重大です。この結果、ブランドの失墜、個人の評判の失墜、消費者の信頼喪失につながります。
ここ数ヶ月間見てきたように、誰でもモバイルデバイス攻撃の影響を受ける可能性があります。これらの攻撃は益々一般的になり、今では全マルウェアの3分の1はモバイルエンドポイントをターゲットにしています。
モバイルデバイスの使用とモバイルデバイスの保護への注意と配慮は不可欠です。特にBYOD(Bring-Your-Own-Device)を許可している企業の場合は言うまでもありません。
CYBEREASON MOBILE
Cybereason MobileはEventBotを検知し、直ちに修復動作を実行し、エンドユーザーを守ります。Cybereason Mobileを使用することで、アナリストは従来のエンドポイントの脅威と同じプラットフォームで、1つのインシデントの一貫として、モバイルの脅威に対応できます。
モバイルの脅威を検知しなければ、この攻撃は検知されず、エンドユーザーと企業は危険にさらされたままでした。
Cybereason MobileはEventBotを検知し、ユーザーに迅速な措置を提供
まとめ
この調査では、Nocturnusチームが急速に進化している開発中のAndroidマルウェアを分析しました。このマルウェアは、Androidのユーザー補助機能を悪用してユーザー情報を盗み、コードを更新することで数日ごとに新しい機能をリリースすることができます。バージョンが新しくなるたびに、マルウェアは動的ライブラリローディング、暗号化、および異なるロケールやメーカーへの適応など、新しい機能を追加します。
EventBotは開発の初期段階にある全く新しいマルウェアのように見えます。攻撃者がマルウェアをどのように作成し、どのようにテストするのか、興味深い見解を得ることができます。
サイバーリーズンは、この調査で説明した窃盗機能に基づいて、EventBotをモバイルバンキングのトロイの木馬およびInfostealerとして分類しています。これは、WebinjectとSMSの読み取り機能を利用して2要素認証をバイパスし、明らかに金融アプリケーションをターゲットにしています。
EventBotの開発に携わっている攻撃者は未だに不明で、このマルウェアは大規模な攻撃に関与していないようですが、モバイルマルウェア開発の初期段階を追跡することは興味深いことです。Cybereason Nocturnusチームは、EventBotの開発を引き続き監視します。
近年、オンラインアクティビティは、PCからモバイルデバイスへと徐々に移行しています。当然、この結果として、モバイルプラットフォーム、特にAndroidデバイスに対してCerberus、Xhelper、およびバンキング型トロイの木馬Anubisなどのマルウェアが登場してきました。多くの人々がモバイルデバイスをオンラインショッピングや銀行口座の管理に使用するため、モバイル領域はサイバー犯罪者にとって益々利益が見込めるようになっています。
これが、モバイルデバイスに防御、検知、対応機能を提供することでCybereason Defense Platformを強化する新製品、Cybereason Mobileを最近リリースした理由です。Cybereason Mobileを使用することで、お客様は従来のエンドポイントとモバイルエンドポイントの両方を、すべて単一のコンソール内で最新の脅威から保護することができます。
IoC(Indicators of Compromise:痕跡情報)
このキャンペーンのIOC(PDF)はこちらでご確認ください。
MITRE ATT&CK FOR MOBILEに基づくテクニックの分類
初期アクセス
・他の手段で悪意のあるアプリを配信
・ロック画面のバイパス
持続性
・デバイス起動時にアプリを自動開始
防御回避
・正規のアプリケーションになりすます
・アプリケーションアイコンの非表示
・実行時に新しいコードをダウンロード
・入力インジェクション
認証情報へのアクセス
・SMSメッセージのキャプチャー
・入力のキャプチャー
発見
・アプリケーションの発見
・システム情報の発見
収集
・入力のキャプチャー
・デバイスログの機密データへのアクセス
・保存されたアプリケーションデータへのアクセス
流出
・データ暗号化
・標準アプリケーション層プロトコル
C2
・標準暗号化プロトコル
ホワイトペーパー「モバイルのサイバー脅威を検知するためのユースケースTOP10」
モバイルデバイスに対するサイバー攻撃を検知し、優先順位を付け、対応するMobile Threat Defense(MTD:モバイル脅威対策)ソリューションの能力を評価するときに重要なことは、それが包括的なエンドポイント保護戦略とどのように統合されるかを理解することです。
本ホワイトペーパーでは、企業がMobile Threat Defense(MTD:モバイル脅威対策)を実施する上で必要なユースケースTOP10をまとめてあります。MTD製品の選定の際に活用ください。
https://www.cybereason.co.jp/product-documents/white-paper/4590/