Skip to content

YogaDroid: A Malware Analysis Tool For Android Apk

Halaman utama

Aplikasi untuk mengklasifikasi dan menganalisa malware pada aplikasi Android menggunakan algoritma Deep Learning.

Sistem operasi Android merupakan sistem operasi ponsel yang paling cepat berkembang karena sifatnya yang open-source. Namun, popularitas yang dimiliki Android tidak selalu berdampak positif bagi penggunanya. Salah satu ancaman bagi pengguna Android adalah adanya malicious software (malware). Oleh karena itu, tindakan preventif perlu dilakukan untuk mendeteksi dan klasifikasi malware. Salah satu cara yang dapat digunakan adalah deep learning. Penelitian ini membandingkan arsitektur single-view deep learning dan multi-view deep learning untuk mendeteksi dan klasifikasi Android malware dengan memanfaatkan analisis malware Android berbasis hybrid yaitu menggabungkan analisis statis dan dinamis untuk menutupi kelemahan dari keduanya. system-call sequence dan network flow diperoleh dari analisis dinamis sedangkan static feature diperoleh dari analisis statis dari sebuah aplikasi. Model deep learning yang dibangun menggunakan tiga algoritma berbeda yaitu Bi-LSTM dan Bi-GRU untuk memproses system-call serta MLP untuk memproses network flow dan static feature. Pada arsitektur single-view deep learning, masing-masing fitur diproses pada model secara terpisah, sedangkan pada multi-view deep learning ketiga fitur diproses pada sebuah model yang telah digabungkan dengan fungsi concatenate. Setelah melalui tahap training model dan evaluasi, hasil penelitian menunjukkan bahwa model terbaik terdapat untuk arsitektur binary classification adalah model Bi-GRU dan Bi-LSTM dengan hasil mencapai 100%. Sedangkan pada arsitektur multi-class classification, model MLP berdasarkan static feature memperoleh hasil sebesar 94%.

Judul penelitian

Implementasi Deep Learning untuk Deteksi dan Klasifikasi Malware Android Menggunakan Analisis Berbasis Hybrid

Implementasi

Peneliti melakukan penelitian terkait deteksi dan klasifikasi malware Android menggunakan deep learning menggunakan dataset CICMalDroid-2020. Fitur yang digunakan pada penelitian ini merupakan gabungan dari hasil analisis dinamis berupa network flow dan system-call sequence serta hasil dari analisis statis. System-call dipilih sebagai pengganti API call pada penelitian sebelumnya karena fitur system-call juga dapat membantu dalam deteksi dan klasifikasi malware [18], [19]. Model deep learning yang dibuat menggunakan multi-view learning dengan menggabungkan dua atau lebih model single-view deep learning dan menghasilkan satu output klasifikasi untuk meningkatkan kinerja sebuah model [20]. Algoritma deep learning untuk analisis data hasil analisis statis dipilih arsitektur Multi-Layer Perceptron (MLP). Algoritma deep learning untuk analisis data hasil analisis dinamis dipilih arsitektur Recurrent Neural Network (RNN) karena bersifat sequence [21] dengan varian Bidirectional Gated Recurrent Unit (Bi-GRU) dan Bidirectional Long Short-Term Memory (LSTM). Kedua algoritma tersebut dipilih karena model Bi-GRU lebih baik dibandingkan varian RNN lainnya [22]. Namun, penelitian [23] juga menyebutkan bahwa Bi-LSTM lebih baik dibandingkan Bi-GRU dalam hal klasifikasi malware. Oleh karena itu, penelitian ini kembali mengkaji terkait hal tersebut, dengan mengukur berbagai metrik evaluasi performa model seperti accuracy, precision, recall, dan f1-score.

Proses deteksi dan klasifikasi melibatkan pengiriman sampel malware ke sebuah laman web yang akan menganalisanya dengan menggunakan server VirusTotal. Hasil dari analisis ini berupa informasi terperinci tentang sampel malware tersebut. Setelah melalui proses analisis di VirusTotal, data hasil analisis kemudian diolah. Salah satu hasil ekstraksi dari VirusTotal adalah voting vendor. Sistem kerja dari VirusTotal adalah tidak langsung menyatakan apakah sebuah aplikasi merupakan malware atau bukan melainkan melakukan voting dari vendor eksternal. Jika ada vendor yang menyatakan suatu aplikasi merupakan malicious maka sistem akan masuk pada alur pengkondisian kanan yang mana hasil dari ekstraksi akan dimasukkan kedalam model deep learning dan hasil prediksi, hasil persentase, dan hasil voting vendor akan ditampilkan. Jika tidak ada vendor yang menyatakan suatu aplikasi merupakan malicious maka sistem akan masuk pada alur pengkondisian kiri yang mana hasil dari ekstraksi akan dimasukkan kedalam model deep learning dan kemudian apabila hasil dari prediksi adalah selain benign maka sistem hanya akan menampilkan hasil voting vendor akan ditampilkan namun apabila hasil dari prediksi adalah benign maka hasil prediksi, hasil persentase, dan hasil voting vendor akan ditampilkan. Flowchart sistem dapat dilihat pada gambar di bawah ini.

Flowchart

Tangkapan Layar

  1. Halaman input
    Halaman input

  2. Hasil malware terdeteksi
    Halaman hasil prediksi

  3. Hasil benign
    Benign

Peneliti

  • Arga Prayoga

Supervisor

  • R. Budiarto Hadiprakoso
  • Ray Novita Yasa
  • Girinoto

Publikasi

A. Prayoga, R. B. Hadiprakoso, R. N. Yasa and Girinoto, "Deep Learning for Android Malware Detection and Classification Using Hybrid-Based Analysis: A Comparative Study," 2023 IEEE International Conference on Cryptography, Informatics, and Cybersecurity (ICoCICs), Bogor, Indonesia, 2023, pp. 309-313, doi: 10.1109/ICoCICs58778.2023.10277613.