ビットコイン価格の上昇を受け、偽の暗号通貨アプリがGoogle Playに登場

ESETの研究チームが、ビットコインの価格が再び上昇しているこのタイミングでGoogle Playに出現した偽の暗号通貨ウォレットを分析しました

2019年5月、ビットコインの価格が上昇を続けており、その価格は2018年9月以来の最高値を記録しています。当然のことながら、サイバー犯罪者もこの状況にいち早く目を付け、さまざまな詐欺や悪意のあるアプリを使って暗号通貨ユーザーを標的にした攻撃を開始しています。

そうしたアプリの1つが、最近RedditユーザーがGoogle Playで発見した、人気の暗号通貨ハードウェアウォレットTrezorになりすました「Trezor Mobile Wallet」です。Trezorブランドを悪用したマルウェアはこれまで検出したことがなかったため、このような偽アプリにどのような機能が搭載されているのか調査することにしました。Trezorが提供しているのは、保管されている暗号通貨にアクセスする際に物理的な操作とPINによる認証、または「リカバリシード」と呼ばれる情報を要求するハードウェアウォレットです。Trezorの公式アプリ「TREZOR Manager」にも同様の制約があります。

この偽アプリを分析した結果、次のことが明らかになりました。

  1.  Trezorには複数のセキュリティレイヤーが存在するため、Trezorユーザーに害が及ぶことはありません。
  2.  無防備なユーザーから金銭をだまし取る機能を持った「Coin Wallet - Bitcoin, Ripple, Ethereum, Tether」という偽の暗号通貨ウォレットアプリと関連しています。
  3.  この2つのアプリは、オンライン販売されているアプリテンプレートに基づいて作成されています。

ESETは、この偽のTrezorアプリについてGoogleのセキュリティチームに報告し、Trezorにはこのブログ記事の公開について連絡しました。Trezorは、偽アプリがユーザーにとって直接的な脅威ではないことを確認していますが、この種の偽アプリによって収集された電子メールアドレスが、後にTrezorユーザーを標的としたフィッシング攻撃に悪用される可能性があることを懸念しています。

本記事執筆時点では、偽のTrezorアプリもCoin WalletアプリもGoogle Playからは入手できなくなっています。

偽のTrezorアプリ

2019年5月1日、TrezorのモバイルウォレットになりすましたアプリがGoogle Playにアップロードされました。開発者名は「Trezor Inc.」となっていました(図1を参照)。Google Playでこのアプリのページを見る限り、アプリ名、開発者名、アプリのカテゴリ、アプリの説明、画像はすべて正規のように見え、信頼できるように思えます。ESETが分析した時点でも、Google Playで「Trezor」を検索すると、検索結果でTrezorの公式アプリの次に偽アプリが表示されました。

図1 Google Playに掲載されている偽アプリ

偽アプリの機能

しかし、この偽アプリが本物に見えるのは、Google Playの中だけです。インストール後にユーザー画面に表示されるアイコンは、Google Playに表示されるものとは異なっており、何かがおかしいことを明らかに示しています。インストールされたアプリのアイコンには「Coin Wallet」と書かれています(図2を参照)。 

図2 インストール後の「Trezor Mobile Wallet」のアイコン

さらに、ユーザーがこのアプリを起動すると、一般的なログイン画面が表示されますが、Trezorの文字はどこにもありません(図3を参照)。これもまた、正規のアプリではないことを知る手がかりです。このよくありそうな画面は、ログイン認証情報をフィッシングするために使用されていますが、具体的にどの認証情報であるかや、攻撃者がどのように使用する可能性があるかは不明です。いずれにせよ、偽のログインフォームにユーザーが入力した情報はすべて、攻撃者のサーバーに送信されます(図4を参照)。

図3 偽アプリで表示される汎用的なログイン画面
図4 入力された認証情報は攻撃者のサーバーに送信される

 

図4に示したように、偽のTrezorアプリから認証情報を収集するために使用されるサーバーは、coinwalletinc[.]comでホストされています。ドメインを調査したところ、このWebサイトでは「Coin Wallet」、Google Playでは「Coin Wallet - Bitcoin、Ripple、Ethereum、Tether」と呼ばれる別の不正アプリが見つかりました。このアプリについては、本記事の次のセクションで説明します。 

Coin Walletアプリ

前のセクションで説明したCoin Walletアプリと偽のTrezorアプリには、多くの共通点があります。 同じサーバーを使用しているだけでなく、コードとインタフェースも重複しています。Coin Walletアプリは、インストール後に偽のTrezorアプリと同じアイコンを使用します。 Coin WalletのWebサイトには、Coin Walletアプリは「世界有数のコインウォレット」だと記載されています(図5を参照)。 

図5 Coin WalletのWebサイトの虚偽的な表現

このWebサイトには、Google Playへのリンクが含まれています。2019年2月7日から2019年5月5日までの間は、Google Playでアプリ「Coin Wallet - Bitcoin, Ripple, Ethereum, Tether」が入手可能でした(図6を参照)。その間、1000人以上のユーザーがこのアプリをインストールしました。 このWebサイトはAppleのApp Storeにもリンクしているように見えますが、「App Storeでダウンロードする」ボタンをクリックしても、PNG画像のURLしか表示されません。

図6 Google Playに表示された不正なCoin Walletアプリ

偽アプリの機能

このアプリは、さまざまな暗号通貨用のウォレットを作成できると主張しています。しかし、アプリの本当の目的は、ユーザーを騙して暗号通貨を攻撃者のウォレットに送金させることです。暗号通貨を標的にしたマルウェアを以前調査した際、ESETはこのような詐欺を「ウォレットアドレス詐欺」と命名しましたが、CoinWallletアプリはその典型例です。 このアプリは、ユーザーが自分のコインを送金することができる固有のウォレットアドレスを生成するフリをします。しかし実際には、このアドレスは攻撃者のウォレットに属しており、暗号通貨にアクセスするために必要な秘密鍵を持っているのは攻撃者だけです。攻撃者は、サポートされている暗号通貨ごとに1つのウォレット(計13個のウォレット)を持っており、標的となる特定の暗号通貨を所有しているすべてのユーザーに同じウォレットアドレスを割り当てます。 これと偽のTrezorアプリで共有されているグラフィック要素を見ると、どちらも同じ基準で作成されているようです。Googleで「coinwallet app template」(coinwallet アプリ テンプレート)」を検索すると、汎用性が高く、40ドルで販売されている「Android暗号通貨ウォレットのテンプレート」が表示されます。テンプレート自体は元々無害なアセットでしたが、攻撃者の手に渡った後に悪意のあるものに変更され、多くの攻撃者が不正なアプリを迅速かつ安価に作成するのに悪用されたことがわかります。

対策

ビットコインの高値傾向が続けば、さらに多くの暗号通貨詐欺アプリが公式のAndroidアプリストアなどに出現することが予想されます。アプリをインストールする際には、(金銭が関係している場合は特に)いくつかの基本的なセキュリティ原則を守ることが重要です。

  • 暗号通貨関連のアプリやその他の金融アプリについては、サービスの公式サイトにリンクが掲載されているアプリのみを信頼します。
  • セキュリティが確保された正規のオンラインフォームであると確信できる場合に限り、機密情報を入力します。
  • デバイスを常に最新の状態に保ちます。
  • 信頼できるモバイルセキュリティソリューションを使用して、脅威をブロックし除去してください。

IoC(攻撃の痕跡情報)

パッケージ名ハッシュ検出
com.trezorwalletinc.cryptocurrency0021A89588C8CEB885A40FBCCA6DD76DTrojan.Android/FakeApp.KO
com.walletinc.cryptocurrencyEE9E4AD693A0F0C9971145FB0FB0B85CTrojan.Android/FakeApp.KO
暗号通貨ウォレット
BTC17jAe7hTZgNixT4MPZVGZD7fGKQpD9mppi
DOGEDGf6dT2rd9evb4d6X9mzjd9uaFoyywjfrm
ETH0x69919d83F74adf1E6ACc3cCC66350bEA4b01E92C
LTCLg64xV4Mw41bV3pTKc5ooBJ4QZ81gHUuJ6
BCHqq9cjckr3r9wl5x4f3xcfshpcj72jcqk9uu2qa7ja2
DASHXu6mkZNFxSGYFcDUEVWtUEcoMnfoGryAjS
ZECt1JKPTwHJcj6e5BDqLp5KayaXLWdMs6pKZo
XRPraPXPSnw61Cbn2NWky39CrCL1AZC2dg6Am
USDT0x69919d83F74adf1E6ACc3cCC66350bEA4b01E92C
XLMGDZ2AT7TU6N3LTMHUIX6J2DZHUDBU74X65ASOWEZUQGP7JMQ237KDBUX
TRXTAm4fPA6yTQvaAjKs2zFqztfDPmnNzJqi2
ADADdzFFzCqrhswWLJMdNPJK8EL2d5JdN8cSU1hbgStPhxDqLspXGRRgWkyknbw45KDvT2EJJhoPXuj2Vdsj6V6WWM5JABoZ4UhR7vnRopn
NEOAJqeUDNrn1EfrPxUriKuRrYyhobhk78zvK