Peneliti keamanan telah menemukan kerentanan dalam alat untuk pengembangan aplikasi Android yang mudah dieksploitasi, baik yang dapat diunduh atau berbasis cloud, yang memungkinkan penyerang untuk mencuri file dan mengeksekusi kode berbahaya pada sistem yang rentan secara remote.
Masalah ini ditemukan oleh para peneliti keamanan di Check Point, yang juga merilis sebuah proof of concept (PoC) untuk serangannya, yang mereka sebut ParseDroid.
Kerentanan berada dalam library parsing XML populer “DocumentBuilderFactory,” yang digunakan oleh Android Integrated Development Environments (IDE) yang paling umum seperti Android Studio Google, JetBrains’ IntelliJ IDEA dan Eclipse serta alat reverse engineering utama untuk aplikasi Android seperti APKTool, Cuckoo-Droid dan lainnya.
Kerentanan ParseDroid, yang secara teknis dikenal sebagai kerentanan XML External Entity (XXE), dipicu saat pengembangan Android yang rentan atau saat alat reverse engineering memecahkan kode aplikasi dan mencoba mengurai berkas “AndroidManifest.xml” yang di dalamnya dibuat menjadi berbahaya.
Semua yang penyerang perlukan untuk memicu kerentanan adalah trik mengelabui pengembang dan reverse engineer agar memuat file APK yang dibuat dengan berbahaya.
“Dengan hanya memuat file ‘AndroidManifest.xml’ berbahaya sebagai bagian dari proyek Android, IDE mulai spitting out file yang dikonfigurasi oleh penyerang,” kata periset tersebut.
Demonstrasi: XML External Entity (XXE) ke Remote Code Execution
Kerentanan XXE juga dapat digunakan untuk menginjeksikan file arbitrary di manapun pada komputer yang ditargetkan untuk mencapai remote code execution (RCE) penuh.
Selain itu, penyerang tidak perlu menargetkan korban secara langsung, karena para periset menyarankan “skenario serangan lain yang dapat digunakan di alam bebas untuk menyerang sejumlah besar pengembang Android dengan menginjeksikan AAR (Android Archive Library) berbahaya yang berisi payload XXE kami ke repositori.”
Untuk tujuan pendidikan dan demonstrasi, periset juga telah menciptakan alat decoder APK online yang dapat mengekstrak file berbahaya dari APK (dalam hal ini mereka menggunakan shell web PHP), yang memungkinkan penyerang untuk menjalankan perintah sistem pada server aplikasi web, seperti yang ditampilkan dalam video.
“Cara kami memilih untuk menunjukkan kerentanan ini, tentu saja, hanyalah salah satu dari banyak metode serangan yang mungkin dapat digunakan untuk mencapai RCE penuh,” para peneliti Check Point menulis. “Memang, metode Path Traversal memungkinkan kita menyalin file apapun ke lokasi manapun pada sistem file, sehingga bisa menyerang secara luas dan beragam.”
Periset Check Point, Eran Vaknin, Gal Elbaz, Alon Boxiner dan Oded Vanunu menemukan masalah ini pada bulan Mei 2017 dan melaporkannya ke semua IDE utama serta alat pengembang, termasuk Google, JetBrains, Eclipse dan APKTool.
Sebagian besar pengembang, termasuk Google, JetBrains dan APKTool, telah memperbaiki masalah ini dan merilis versi patch.
Karena semua metode serangan yang ditunjukkan oleh para peneliti adalah cross-platform, pengembang dan reverse engineer sangat dianjurkan untuk memperbarui alat, jika belum melakukannya.