モバイル
Facebookの認証情報や暗号資産の機密情報を窃取する偽モバイルアプリの手口を解説
トレンドマイクロが最近行った調査により、Google Play上に登録されたアプリの中には、ユーザの認証情報や秘密鍵といった機密情報を窃取するなど不正な動作を行うものが、多数存在することが分かりました。
トレンドマイクロが最近行った調査により、Google Play上に登録されたアプリの中には、ユーザの認証情報や秘密鍵といった機密情報を窃取するなど不正な動作を行うものが、多数存在することが分かりました。こうしたアプリは、ユーザからの注目も高い傾向にあり、ダウンロード回数が100,000を超えるものも見られました。そこで、今回のブログ記事では、これらのアプリが実際にどのような動作を行うのかについて、特徴的な具体例を通して解説します。
フィットネスや写真編集アプリ等に偽装してパスワードを窃取する「Facestealer」型スパイウェアの亜種
スパイウェア「Facestealer」は、2021年7月にDr. Webの記事で初めて報告され、Google Playに登録された不正なアプリを経由して、Facebookユーザの認証情報が窃取される過程が明らかになりました。認証情報を窃取されたFacebookアカウントは攻撃者の手に渡り、フィッシング詐欺や偽投稿、広告ボットなどの攻撃に利用される場合があります。Facestealerは、モバイル型マルウェア「Joker」と同様、その実装を頻繁に変更するため、多くの亜種を生み出しています。最初に発見されて以来、このスパイウェアは、Google Playのコミュニティに大きな混乱をもたらし続けています。
不正なモバイルアプリに関する最近の調査では、200個以上のFacestealerアプリが、トレンドマイクロが管理するデータベース「Mobile App Reputation Service(MARS)」から発見されました。
始めに、今回発見されたアプリの1つである「Daily Fintess OL」について解説します。このアプリは、体操やビデオ実演を備えたフィットネスアプリであることを謳いますが、実際は、Facestealerの初期に見られた亜種と同様、Facebookユーザの認証情報を窃取するように設計されていました。
このアプリは起動すると、下記URLに対して暗号化された設定情報をダウンロードするためのメッセージを送信します。
- hxxps://sufen168[.]space/config
今回の調査において、ダウンロードされた設定情報は下記の通りであり、暗号化されていました。
- `eXyJkIjowLCJleHQxIjoiNSw1LD
AsMiwwIiwiZXh0MiI6
IiIsImkiOjAsImlkIjoiMTE
1NTYzNDk2MTkxMjE3MiIsImwiOj
AsImxvZ2luX3BpY191cmxfc3dpdGNoIjow
LCJsciI6IjcwIn0`
上記を復号した結果は、下記の通りです。
- {"d":0,"ext1":"5,5,0,2,0",
"ext2":"","i":0,"id":
"1155634961912172","l":
0,"login_pic_url_switch":0,"lr":"70"}
上記の復号化済み設定情報のうち、"l"は、ユーザにFacebookへのログインを促す画面の表示有無を切り替えるフラグとして機能します。ユーザがFacebookの認証情報を入力してログインすると、当該アプリの方は、先にダウンロードした設定情報に従い、下記のようなURLを読み込むためのWebView(Webページを埋め込み表示する機能)を起動します。
- hxxps://touch[.]facebook[.]com/
home[.]php?sk=h_nor
上記で読み込んだWebページの情報に、アプリ側はさらに攻撃用のJavaScriptコードを追加で埋め込んで、実行します。これにより、先にユーザが入力したFacebookの認証情報が窃取されることとなります。
ユーザのログイン後、当該アプリはさらにクッキー情報を収集します。その上で、個人を特定できる情報(PII:Personally Identifiable Information)の全てを暗号化して、リモートサーバに送信します。この際に使用する暗号化の鍵と送信先リモートサーバのアドレスは、ダウンロード済みの設定情報から取得します。
その他の偽アプリとして、「Daily Fitness OL」と多くの面で類似した手口を備えた「Enjoy Photo Editor」について解説します。このアプリも、特に主機能である認証情報の窃取について、Daily Fitness OLと同様の手口を用います。具体的には、JavaScriptコードの埋め込みによって認証情報を窃取し、さらに、ユーザのログイン完了後にクッキー情報を収集します。ただし、設定情報のダウンロードと認証情報のアップロードをアプリのネイティブコードによって行う点で、Daily Fitness OLとは異なります。また、このアプリの実装には難読化が施されている為、セキュリティ対策ソフトによる検知をより一層困難なものとしています。
下記スクリーンショットは、これまでに述べたアプリを含め、Facestealerのさまざまな亜種をGoogle Play上で検索した結果です。なお、私たちが見つけたFacestealerの亜種は、この記事の執筆時点ですでにGoogleによりGooglePlayから削除されています。
暗号資産の秘密鍵やニーモニックを窃取する偽マイニングアプリ
以前のブログ記事で取り上げた偽暗号資産マイニングアプリについて、今回の調査では、その亜種が40個以上発見されました。これらのアプリは、暗号資産の儲けがあるかのような謳い文句でユーザを騙して誘い込み、有料サービスの契約や、広告のクリックを促すように設計されています。
まず、上述した新しい亜種の1つである「Cryptomining Farm Your own Coin」を実際にテスト用デバイスから起動しました。初期段階では、機密情報や支払いの要求、広告表示といった挙動は見られませんでした。しかし、アプリ上で「暗号資産ウォレットを接続(Connect Wallet)」のボタンを押下したところ、秘密鍵(データの暗号化と復号化を行うアルゴリズムを用いて使用されるデジタル署名)を入力するように促されました。この挙動は、機密情報の窃取を狙った不正な挙動であると疑うに十分であったため、さらに調査を続行しました。
アプリの基本設定を記述するマニフェストファイルを調べたところ、当該アプリは、オンラインで無償提供されているモバイルアプリ開発用フレームワーク「Kodular」によって開発されたことが判明しました。これまでにトレンドマイクロが調査した偽暗号資産マイニングアプリについても、そのほとんどがKodularによって開発されていました。
コードを解析したところ、このアプリは単純にあるWebサイトを読み込むだけであることが分かりました。また、マイニングの実行、または模擬を行うようなコードも見当たらなかったため、当該アプリが本当に攻撃を意図したものであるか、この時点ではまだ断定できませんでした。そこで、読み込まれたサイトのURLや内容にも注目して、調査を続行しました。
さらなる解析をスムーズに行うため、当該WebサイトのURLをデスクトップのWebブラウザからアクセスしました。このWebサイトは、外観上は洗練された作りとなっていました。内容としては、ユーザは一切の費用なしでクラウド型の暗号資産マイニングに参加できること、さらに、アクティブ状態の暗号資産ウォレットを接続することにより、1秒あたり500ギガハッシュ/秒(Gh/S)の計算速度が無償で保証される旨の記述が見られました。
ウォレット接続ページでは、ユーザの入力した情報は暗号化方式「AES(Advanced Encryption Standard)」によって暗号化されること、また、秘密鍵は保存されない旨が記載されていました。
暗号化や秘密鍵に関する記載の真偽を確認するため、Webサイト上で「Import by Currency」のタブを開き、秘密鍵として適当な文字列を入力しました。パケットキャプチャを用いてこの時の通信内容を確認したところ、Webサイトの記載に反して、入力した秘密鍵はアップロードされ、さらに、暗号化はされていないことが判明しました。
また、このWebサイトは秘密鍵だけでなく、ニーモニック(暗号資産ウォレットの作成時に設定される脈絡のない単語列)も窃取しようとすることが分かりました。通常の場合、ニーモニックは暗号資産ウォレットの消失時や損傷時に、その暗号資産を復旧するための認証キーとして使用されます。一方、Cryptomining Farm Your own Coinのような偽アプリや不正なWebサイトの場合、ユーザが入力したニーモニックは、背後にいる攻撃者のサーバに平文のまま送信されてしまいます。こうした一連の仕組みは、前回のブログ記事で取り上げた偽暗号資産アプリの手口と同様です。
以上のことを実装レベルで検証するため、アップロード処理を担う実装コードを特定してその内容を調べました。結果として、確かに、秘密鍵やニーモニックを平文のまま攻撃者の管理するサーバに送信していることが分かりました。
また、当該サイト上でユーザをサービス登録に誘い込む手口として、0.1イーサリアム相当(本原稿執筆時点で約240米ドル)のエアドロップを取得できるという内容の記載が見られました。加えて、エアドロップの詳細説明欄には、攻撃者に有益な状況を作り出すための巧妙な記載も見られました。例として、暗号資産ウォレットの登録手続きは1度のみ可能であること(ユーザが複数のウォレットを一括登録するように)、100米ドル以上を保有するウォレットのみが登録対象であること(攻撃者にとって盗む価値があるように)といった内容が挙げられます。
エアドロップのページには、0.1イーサリアムを確かに取得できたという、ユーザコメントのように見える内容が掲載されていました。しかし、これは恐らく、アプリが正当なものであるかのような雰囲気を作り出すために恣意的に用意された偽のコメント文と考えられます。
興味深いこととして、当該Webサイトの作成者アイコン(暗号資産プラットフォーム「Klever」を真似た外観)を表示する箇所のコードを確認したところ、テスラ社の創設者、CEOであり、暗号資産の投資家としても有名なイーロン・マスク氏が使用するTwitterアカウントへのリンクが見つかりました。
なお、本記事の執筆時点で、当該のアプリはGoogleによって削除されています。
結論および対策の推奨
スパイウェア「Facestealer」は、VPN(Virtual Private Network)やカメラ、写真編集、フィットネスなど、比較的シンプルなアプリに偽装することで、これらの機能に関心を持つユーザを引き寄せようとします。Facebookによるクッキー管理の運用方式を鑑みると、こうしたアプリは、今後もGoogle Playに出現し続けるでしょう。
偽暗号資産マイニングアプリについて、その背後にいる攻撃者は、暗号資産に関心のあるユーザを騙して偽のクラウド型暗号資産マイニングサービスを購入させ、さらに、秘密鍵や暗号資産関連の機密情報を窃取しようと画策しています。秘密鍵やニーモニックを窃取する手段は今後さらに多様化し、今回の記事で取り上げたもの以外にも、さまざまな手口が使用されるようになるでしょう。
以上に述べた偽アプリを回避するためにユーザが行えることは、実際にアプリをダウンロードした他のユーザのレビューを確認し、特にネガティブなコメントに目を向け、通常ではない挙動や懸念事項が報告されていないかどうか注視することです。また、アプリストアに展開される代替アプリの多さを考えると、アプリの製造者や販売者の信頼性についても注意を払うべきです。そうすることで、不正なウェブサイトや疑わしい販売者による企てを回避できるでしょう。また、サードパーティのサイトからはアプリをダウンロードしないことを推奨します。そうしたサイトは、攻撃者が不正なアプリを拡散するための恰好の場となっているためです。
モバイルアプリのユーザは「Trend Micro Mobile Security Solutions」を用いることで、こうした不正なアプリの脅威を最小限に抑え込むことができます。本セキュリティソリューションでは、モバイルデバイス上でオンデマンド、かつ、リアルタイムにスキャンを行い、不正なアプリやマルウェアを検知して、停止または削除の措置を取ることが可能です。「Trend Micro Mobile Security Solutions」は、AndroidとiOSの両プラットフォームでご利用いただけます。
侵入の痕跡(Indicators of Compromise、IoC)
侵入の痕跡(IoC)はこちらで確認してください。
MITRE ATT&CK Tactics and Techniques
MITRE ATT&CK Tactics and Techniquesはこちらで確認してください。
参考記事:
• 「Fake Mobile Apps Steal Facebook Credentials, Cryptocurrency-Related Keys」
By: Cifer Fang, Ford Qin, Zhengyu Dong
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)