Android

脅威アクターは、サポートされていない、未知の、または大幅に調整された圧縮アルゴリズムを使用した逆コンパイルに耐える悪意のある Android APK (パッケージ化されたアプリ インストーラー) を配布する機会を増やしています。

このアプローチの主な利点は、静的分析を使用してセキュリティ ツールによる検出を回避し、研究者による調査を妨げ、Android マルウェア株がどのように機能するかについての深い理解の発展を遅らせることです。

Google Play からのマルウェアの特定と排除を専門とする「App Defense Alliance」のメンバーである Zimperium は、分析を回避しながらも Android デバイス上でシームレスに実行される APK を紹介したJoe Security のツイートを受けて、逆コンパイル耐性の状況を分析しました。

つぶやき

昨日公開された zLab レポートでは、3,300 の APK がこれらの異常な分析防止手法を使用しており、その多くがクラッシュを引き起こす可能性があると主張しています。ただし、研究者らは、Android OS バージョン 9 (API 28) 以降で正常に動作する 71 個の悪意のある APK のサブセットを発見しました。

Zimperium は、これらのアプリはいずれも Google Play ストアには存在しないことを明らかにしていますが、サードパーティ ストアからアプリを入手している人がアプリを見つけてアンインストールできるように、レポートの下部にハッシュをリストしています。

圧縮のコツ

Android APK は、圧縮なしのモードと DEFLATE アルゴリズムを使用するモードの 2 つのモードで ZIP 形式を使用します。

サポートされていない、または不明な圧縮方法を使用してパックされた APK は、Android 8 以前にはインストールできませんが、Android バージョン 9 以降では正常に動作します。

Zimperium は、JADX、APKtool、macOS Archive Utility などの解凍ツールでサンプリングしたアプリをテストしましたが、分析のために APK を解凍できるものはありませんでした。

Zimperium は、サポートされていない圧縮方法の使用に加えて、悪意のある APK 作成者が 256 バイトを超えるファイル名を使用して分析ツールをクラッシュさせたり、難読化のために AndroidManifest.xml ファイルを破損したり、不正な形式の文字列プールを使用して Android XML ファイルを分割するツールをクラッシュさせたりしていることも発見しました。 。

過度に長いファイル名 (上)、不正な形式の文字列プール ヘッダー (下)
非常に長いファイル名 (上)、不正な形式の文字列プール ヘッダー (下) (Zimperium)

これらはすべて分析対策技術であり、Zimperium はこれらの悪意のある APK が何をするのかを詳しく調べていませんが、その機能を隠蔽する意図が無害である可能性は低いです。

Google Play 以外からダウンロードされた APK は検査できないため、これらの脅威から保護する最善の方法は、そもそもサードパーティのサイトから Android アプリをインストールしないことです。

Google Play 以外でアプリをインストールする必要がある場合は、インストール前に信頼できるモバイル AV ツールでアプリをスキャンしてください。

アプリのインストール中は、要求された権限に注意し、アプリのコア機能に関係のない危険信号を探してください。

最後に、Android デバイスを「ルート化」すると、ユーザーが管理者になり、悪意のある APK が OS 上で最高の権限で実行されるようになるため、これは一般的に推奨されません。