人気のあるAndroid通信ライブラリの重大な脆弱性により、最近、数百万のデジタル資産保有者が深刻なデータ盗難リスクにさらされました。
この脆弱性により、同じデバイスにインストールされた悪意のあるアプリが、Androidセキュリティサンドボックスをバイパスし、ユーザー認証情報や財務情報を含むプライベートデータを静かに盗むことができました。
露出の規模は膨大でした。3000万以上のクリプト財布アプリケーションのインストールがSDKの脆弱なバージョンに依存しており、様々なアプリカテゴリーで5000万以上のインストールに影響を与えていました。
問題の根源は、EngageSDKがバックグラウンドアクティビティを処理する方法にあります。
開発者がライブラリをインポートすると、エクスポートされたアクティビティMTCommonActivityは、ビルドプロセス中にアプリケーションのマージされたマニフェストに自動的に追加されます。
これはビルド後に発生するため、多くの開発者はそれを完全に見逃し、アクティビティをユーザーのデバイス上の他のアプリに公開してしまいます。
露出すると、悪意のあるアプリはインテント(intentと呼ばれる特別に作られたメッセージ)をこの脆弱なアクティビティに送信できます。
アクティビティは着信データを処理し、URIストリングを抽出して新しいインテントを作成します。重要なことに、これは通常は大きく制限されるべき権限を付与する安全でないフラグを使用して処理されます。
無害なシステム解決アクションを作成する代わりに、SDKは被害者のアプリケーションの信頼できる権限で実行される明示的なインテントを生成します。
これにより、攻撃者はターゲットアプリのプライベートディレクトリへの永続的な読み取りおよび書き込みアクセスを取得します。そこから、悪意のあるアプリケーションは被害者のモバイル財布から機密キーと個人データを簡単に抽出できます。
この事件は、モバイル開発における不透明な依存関係の危機が増していることを浮き彫りにしています。アプリケーションが安全に構築されていたとしても、アップストリームライブラリの小さな見落としは壊滅的な攻撃の可能性をもたらすことができます。
研究者は2025年4月にこの問題をEngageLabに最初に報告し、その年の後半に脆弱なアクティビティが最終的に外部アクセスから制限される包括的な修正がもたらされました。
さらに、エンジニアリングチームは、サードパーティの依存関係を導入または更新するときはいつでも、マージされたAndroidマニフェストの強制的なレビューを実装する必要があります。
これらのビルド後ファイルを監視することは、隠れたコンポーネントまたは過度に広い権限をエンドユーザーに到達する前に特定するために不可欠です。
日常的なユーザーにとって、Google Playストアなどのオフィシャルチャネルからアプリケーションを常に更新することは、最良の防御手段です。
Androidはまた、この特定の脅威に対する一時的な緩和策を提供するために、自動ユーザー保護を更新しました。同時に、開発者は継続的に彼らのソフトウェアをパッチしています。
翻訳元: https://cyberpress.org/engagesdk-flaw-endangers-millions/