JavaRush /Java Blog /Random-JA /Android の新しい脆弱性により、署名に影響を与えずにアプリが変更される

Android の新しい脆弱性により、署名に影響を与えずにアプリが変更される

Random-JA グループに公開済み
ベルギーの企業GuardSquare は、 Janus という愛称で知られる Android で発見された脆弱性 (CVE-2017-13156) に関するレポートを公開しました。この脆弱性により、攻撃者は署名に影響を与えることなくアプリケーション コードを変更できます。
Android の新しい脆弱性により、署名に影響を与えることなくアプリケーションが変更される - 1
Android アプリケーションを開発する場合、専門家が製品に署名する必要があります。更新中に、システムは APK ファイルの署名を既存のバージョンと比較し、一致する場合、アプリケーションはデバイス上で実行できるように DEX ファイルにコンパイルされます。問題の根本は、この脆弱性が APK および DEX ファイルに余分なバイトを追加する機能に関連していることです。APK ファイルは zip アーカイブであり、zip エントリの前の先頭に任意のバイトを含めることができます。署名中、JAR はアプリケーションの署名を検証するために必要な zip エントリ以外の追加バイトを無視します。さらに、DEX ファイルの最後には任意のバイトが含まれます。したがって、Janus は、未変更の APK ファイルと、アプリケーションの署名に影響を与えない変更された DEX 実行可能ファイルを結合します。この場合、Android システムでは、DEX ヘッダーからコードをインストールして実行できます。同時に、攻撃者は権限を管理し、次回の更新時にアプリケーションを置き換える機会を与えられます。
Android の新しい脆弱性により、署名に影響を与えずにアプリケーションが変更される - 2
Janus は、JAR ベースの方法 (Android 5.0 以降) を使用して署名されたアプリケーションにのみ害を及ぼすことができます。Android 7.0 Nougat 以降、JAR 署名メソッドは APK Signature Scheme v2 に置き換えられ、後続のバージョンに保護が提供されます。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION