[論文レビュー] Uncovering and Exploiting Hidden APIs in Mobile Super Apps
本論文では、WeChat や TikTok などのモバイルスーパーアプリに存在する文書化されていない特権APIを特定する、静的および動的分析を組み合わせたツールAPIScopeを提示する。このツールは、バイナリの不変量を用いた静的解析により隠れたAPIを同定し、動的実行による実行可能性の検証を実施する。その結果、テストされた5つのスーパーアプリすべてに、任意のURLロードやマルウェアインストールを可能にする深刻な攻撃を可能にするチェックのない隠れたAPIが存在することが判明した。
Mobile applications, particularly those from social media platforms such as WeChat and TikTok, are evolving into "super apps" that offer a wide range of services such as instant messaging and media sharing, e-commerce, e-learning, and e-government. These super apps often provide APIs for developers to create "miniapps" that run within the super app. These APIs should have been thoroughly scrutinized for security. Unfortunately, we find that many of them are undocumented and unsecured, potentially allowing miniapps to bypass restrictions and gain higher privileged access. To systematically identify these hidden APIs before they are exploited by attackers, we developed a tool APIScope with both static analysis and dynamic analysis, where static analysis is used to recognize hidden undocumented APIs, and dynamic analysis is used to confirm whether the identified APIs can be invoked by an unprivileged 3rdparty miniapps. We have applied APIScope to five popular super apps (i.e., WeChat, WeCom, Baidu, QQ, and Tiktok) and found that all of them contain hidden APIs, many of which can be exploited due to missing security checks. We have also quantified the hidden APIs that may have security implications by verifying if they have access to resources protected by Android permissions. Furthermore, we demonstrate the potential security hazards by presenting various attack scenarios, including unauthorized access to any web pages, downloading and installing malicious software, and stealing sensitive information. We have reported our findings to the relevant vendors, some of whom have patched the vulnerabilities and rewarded us with bug bounties.
研究の動機と目的
- 第三者のミニアプリによって利用可能になる可能性がある、モバイルスーパーアプリに存在する文書化されていない未保護の特権APIを体系的に同定すること。
- 複雑で多層的なスーパーアプリアーキテクチャにおいて、隠れたAPIを検出する際の手作業分析のスケーラビリティおよび包括性の限界を解決すること。
- 最初のパartyアプリに制限されたAPIと、第三者のミニアプリが利用可能なAPIを区別できるツールを開発すること。
- Androidが保護するリソースおよび権限へのアクセス可能性を検証することで、隠れたAPIが引き起こすセキュリティリスクを定量化すること。
- 発見結果を責任を持って開示し、実際の攻撃シナリオを提示することで、ベンダーによるパッチ適用を促し、プラットフォームのセキュリティを向上させること。
提案手法
- 文書化された公開APIから導出された関数およびインタフェースの不変量を用いて、スーパーアプリのバイナリを逆アセンブルし、文書化されていない隠れたAPIを検出する静的解析を実施する。
- スーパーアプリのクラス名および公開メソッドのパターンに基づいて、混合言語コードベース(例:Java、C++、JavaScript)においても検出精度を向上させる堅牢なAPIシグネチャを構築する。
- 制御されたランタイム環境で同定されたAPIを実行することで、動的解析を実施し、APIの存在および呼び出し可能性を確認する。
- 非特権の第三者ミニアプリによって呼び出しが可能かどうかに基づき、検出されたAPIを「チェック済み」と「チェックなし」に分類する。
- 動的実行中にAPIの挙動をトリガーおよび検証できる自動テストケースを生成する。
- 発見されたAPIをAndroidの権限境界と照合することで、特権昇格および機密データへのアクセスの可能性を評価する。
実験結果
リサーチクエスチョン
- RQ1人気のあるモバイルスーパーアプリに存在する隠れた、文書化されていないAPIは何か? そして、文書化された公開APIとはどのように異なるか?
- RQ2アクセス制御が欠如しているために、これらの隠れたAPIが第三者のミニアプリにどれほど露出しているか?
- RQ3任意のWebナビゲーションやAPKインストールといった高特権操作を実行できるように、どの隠れたAPIが悪用可能か?
- RQ4WeChat、TikTok、Baidu などの異なるスーパーアプリプラットフォームにおいて、隠れたAPIのセキュリティ特性はどのように異なるか?
- RQ5高い正確性と悪用可能性の検証が可能な、体系的かつ自動化された方法で、隠れたAPIを検出および分類できるか?
主な発見
- WeChat、WeCom、Baidu、QQ、TikTok の5つのテスト済みスーパーアプリすべてに、文書化されていない隠れたAPIが存在しており、中には文書化されたAPIよりも多い場合もあった。
- WeChatの決済APIカテゴリでは、1つの文書化されたAPIに対し、28個の隠れたAPIが発見された。
- 動的解析により、多くの隠れたAPIが非特権の第三者ミニアプリによって呼び出せることを確認した。これは、適切なアクセス制御が存在しないことを示している。
- 本研究では、任意のWebページへの未承諾のアクセス、悪意あるAPKのダウンロードおよびインストール、機密ユーザーデータの漏洩を含む、複数の実際の攻撃シナリオを実証した。
- 脆弱性は責任を持ってベンダーに開示された。Tencentは4件の脆弱性(低:1件、中:2件、高:1件)をパッチ適用し、バグバウンティを支払い、TikTokもパッチをリリースした。
- 本研究の結果から、スーパーアプリに存在する特権の高い隠れたAPIは、高い特権とセキュリティチェックの欠如により、深刻なセキュリティリスクを引き起こすことが明らかになった。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。