新しいAndroidバンキングトロイの木馬「Sharkbot」、その攻撃方法と防御方法
マルウェア?アンチウイルスではなく?
ハッキングを防ぐためにダウンロードされたアンチウイルスアプリですが、このアプリは悪質なマルウェアであり、ユーザーのモバイルデバイスに侵入し、バンキングアプリケーションを操作し、資産を外部に送信することが発見され、物議を醸しています。 「Sharkbot」は、2021年10月に初めて登場し、現在もGoogleを悩ませているトロイの木馬です。これらは公式のGoogle Playストアから簡単にダウンロードできますが、インストール後、ユーザーのスマートフォン上で悪質なアプリに変わります。

Sharkbotとは?
Googleはどのように騙されたのでしょうか?
通常、アプリは公式ストア(Google Playなど)に登録する前に事前審査を受けなければなりません。しかし、Sharkbotは安全なアプリのように登録され、Googleを欺いています。これはどのように起こったのでしょうか? 分析によると、Sharkbotはさまざまなアンチ解析機能を備えており、サンドボックス環境を検出したり、ハッキングのトリガータイミングを調整したりできます。さらに、完全な悪意のある機能は外部のC&Cサーバーから追加でダウンロードされます。これがGoogle Play Storeでの検査中に問題が発見されなかった理由です。 Sharkbotは、外部のC&Cドメインを自由に変更できるドメイン生成アルゴリズム(DGA)と、特定の地域で悪意のある機能を無効にするジオフェンス機能を持っているため、捕まえるのが非常に難しいです。
Sharkbotはどのようにユーザーから権限を取得したのでしょうか?
ユーザーのスマートフォンにダウンロードされたSharkbotは、外部からのコマンドを受け取ると、その悪意を明らかにします。Sharkbotは、TeaBotやUBELなどの他のマルウェアと似ており、ユーザーの機密情報を盗むために広範な権限を繰り返し要求する悪質なポップアップを表示します。Sharkbotは、TeaBotやUBELなどの他の似たようなマルウェアと同様に、ユーザーの機密情報を盗むために繰り返し広範な権限を要求する悪質なポップアップを表示します。
Source : cleafy
Sharkbotは、ユーザーがアクセシビリティ権限とサービスを有効にすると、AndroidManifestファイルに記載されたすべての権限を取得し、銀行アプリをハッキングすることができます。
その後、SharkbotはAndroidのアクセシビリティサービス権限を使用して、通常のモバイルバンキングアプリの上にオーバーレイウィンドウを表示し、ユーザーに個人情報を入力させ、取得した銀行アプリのログイン認証情報を取得して、それらを悪意のあるサーバーに送信します。
Source : cleafy
Android permission of the Sharkbot
この情報は、電子メール、ソーシャルメディア、オンライン銀行口座などにアクセスするために使用されます。上記の権限を持つSharkbotは、テキストメッセージを読み取ったり送信したり、オーバーレイ攻撃を実行したりすることができます。特に、REQUEST_IGNORE_BATTERY_OPTIMIZATIONS権限は、AndroidのDozeコンポーネントを回避し、C2サーバーに接続して悪意のある行動を継続することができます。 これにより、被害者の銀行口座からお金が転送されます。この過程で、SharkbotはデバイスのSMSメッセージを傍受し、それを使用して銀行から送信された2FAを取得することができます。攻撃者は新しいデバイスを登録せずに不正活動を行うため、被害者の銀行口座からお金が転送されても盗難が検出されにくくなります。
Sharkbotが検出を回避する方法
Sharkbotには、アンチウイルス検出を回避する技術があります。これには、エミュレーターを検査して実行すること、リモートサーバーとのコマンド・コントロール通信を暗号化すること、インストール後にアイコンをホーム画面から隠すことなど、分析と検出を回避するためのいくつかの機能が含まれています。文字列は、静的解析を遅延させ、マルウェアによって使用されるすべてのコマンドや機密情報を隠すために難読化されることがあります。以下は、Sharkbotが使用している他の回避機能のリストです。
- アンチエミュレーター:マルウェアがデバイスにインストールされたとき、実際の電話かエミュレーターかを判別します。
- 外部ATSモジュール:インストールされたマルウェアは、C2から追加モジュールをダウンロードします。外部モジュールは「.JAR」ファイルで、ATS攻撃を実行するために使用されるすべての機能が含まれています。このモジュールは、SharkbotがATSモジュールの段落で分析します。
- アイコンアプリの隠蔽:悪意のあるプログラムがインストールされると、Sharkbotはデバイス画面からアプリのアイコンを隠します。
- 削除防止:Sharkbotは、他のマルウェアのように、設定オプションからプログラムをアンインストールするのを防ぐために、アクセシビリティサービスを使用します。
- 暗号化通信:マルウェアとC2間のすべての通信は暗号化され、Base64でエンコードされます。また、ドメイン生成アルゴリズム(DGA)も使用されます。
Sharkbotを検出し、防止する方法
さまざまなセキュリティ企業やストアが自らを守るために努力していますが、App StoreやGoogle Playなどを信頼することはもはや安全ではありません。 ユーザーは、銀行をハッキングしようとする悪意のあるアプリが新しいバージョンを次々と発見していることを認識し、警戒する必要があります。このため、ユーザーは、未知のソースからのアプリや過剰な権限を要求するアプリのインストールを避け、定期的に正当なアンチウイルスを最新バージョンに更新するべきです。さらに、アプリをダウンロードするたびに、レビュー、ダウンロード数、開発者情報を慎重に確認することが重要です。特別な場合を除き、アクセシビリティサービスの権限を要求するアプリには疑いを持ち、注意深く確認することをお勧めします。
銀行アプリを提供している企業は、アプリのセキュリティを強化し、悪意のあるマルウェアを検出・ブロックするために積極的な措置を取るべきです。LIAPPは、パターン検出を通じてSharkbotとして知られるアプリを検出できます。また、LIAPPは、オーバーレイ検出、リモートコントロールプログラム検出、画面キャプチャプログラム防止などの機能を実行することで、Sharkbotが銀行アプリをハッキングするのを防ぐことができます。
もし、あなたが銀行アプリのサービスを提供する企業であれば、SharkbotについてLIAPPチームにお問い合わせください。
より詳細な相談を提供いたします。