Skip to content

Proctor 2022: A URL Phishing Detector

Cover

Aplikasi berbasis web untuk mendeteksi website phising menggunakan algoritma shallow machine learning yaitu Logistic Regression dan Multinomial Naive Bayes.

Jumlah serangan phishing terus meningkat sejak wabah COVID-19 pada akhir tahun 2019. Phishing merupakan salah satu cara untuk mencuri informasi kredensial seseorang. Dalam laporan tren aktivitas phishing yang dikeluarkan oleh Anti-Phishing Working Group (APWG), kasus phishing global terus meningkat sepanjang tahun 2021 hingga kuartal pertama 2022. Dalam mengurangi dan menanggulangi pengaruh negatif dari URL (Uniform Resource Locator) phishing, maka pemerintah dalam hal ini Badan Siber dan Sandi Negara (BSSN) melalui Pusat Pengkajian dan Pengembangan Teknologi Keamanan Siber dan Sandi (Puskajibang Tekkamsisan) melakukan kajian terhadap deteksi URL phishing. Metode yang digunakan adalah algoritma shallow machine learning seperti Logistic Regression dan Multinomial Naive Bayes. Penelitian ini dilakukan untuk membandingkan algoritma shallow machine learning dan deep learning dalam melakukan klasifikasi URL phishing. Penelitian dimulai dengan melakukan feature extraction dari dataset yang digunakan. Tahap selanjutnya yaitu pemodelan yang untuk algoritma deep learning. Model deep learning yang telah dibuat diuji dan dibandingkan dengan model shallow machine learning. Hasil dari penelitian ini menunjukkan bahwa algoritma deep learning kombinasi LSTM dan GRU lebih unggul dari Random Forest, dengan hasil akhir akurasi deep learning 98,1% sedangkan Random Forest 97.4%, sehingga algoritma yang digunakan untuk tahap selanjutnya adalah deep learning. Tahap akhir dari penelitian ini yaitu implementasi model prediksi dalam bentuk website menggunakan framework Flask dengan hasil klasifikasi berupa skor probabilitas URL terdeteksi phishing.

Judul penelitian

Komparasi Model Shallow Machine Learning dan Deep Learning untuk Mendeteksi URL Phishing.

Implementasi

Penelitian ini mengambil lokus Puskajibang Tekkamsisan BSSN. Obyek penelitian adalah deteksi URL phishing. Data penelitian didapatkan dari lokus, dan sumber terbuka dari penelitian milik Rao et al. berupa sampel URL legal dan URL phishing. Penelitian ini akan mengimplementasikan machine learning deep learning menggunakan arsitektur long short-term memory untuk mengklasifikasikan URL phishing dengan menggunakan bahasa pemrograman Python.

Tahapan penelitian yang dilakukan dalam penelitian ini ditunjukkan pada gambar di bawah ini.

Alur peneliian

Pemodelan digunakan untuk melakukan pelatihan pada data latih sehingga mendapatkan hasil berupa model yang dapat mendeteksi URL phishing. Model yang akan digunakan adalah algoritma deep learning RNN, LSTM dan GRU. Untuk pembanding digunakan 3 model shallow machine learning terbaik dari penelitian yang dilakukan oleh Rao et.al menggunakan algoritma Random Forest (RF), Logistic Regression (LR), dan Decision Tree.

Model prediksi yang sudah dibuat sebelumnya kemudian dilakukan pengujian dengan menggunakan data uji. Pada tahap ini juga dilakukan hyperparameter tuning untuk mendapatkan model deteksi yang paling baik.

Model deteksi yang telah ada selanjutnya dilakukan evaluasi menggunakan confussion matrix untuk mendapatkan accuracy, precision dan recall serta AUC score. Hasil tersebut digunakan untuk melakukan perbandingan pada 3 model shallow machine learning yaitu RF, LR, DT dan 3 model deep learning yaitu RNN, LSTM, GRU. Berdasarkan evaluasi, didapatkan algoritma LSTM mendapatkan hasil accuracy yang paling tinggi. Sedangkan algoritma GRU sebagai algoritma dengan hasil paling baik berdasarkan susunan teks URL. Berdasarkan hasil tersebut maka dilakukan pengujian dengan penggabungan 2 model yaitu model GRU dan model LSTM sebagai model untuk melakukan klasifikasi.

Kombinasi algoritma

Proses pelatihan model kombinasi di atas menunjukkan perurunan hasil validasi dibawah hasil latih pada proses pelatihan model. Proses menunjukkan hasil validasi dibawah hasil latih terlihat pada proses ke 6 hingga ke 9. Oleh karena itu maka model yang dianggap maksimal adalah model pada proses pelatihan ke 5, dimana model tersebut-lah yang digunakan untuk dilakukan pengujian terhadap data uji. Hasil dari metode tersebut dapat dilihat pada tabel di bawah ini.

Tabel perbandingan

Model yang terbaik diimplementasikan pada sebuah website dengan menggunakan kerangka kerja (framework) flask. Flask adalah framework aplikasi website yang ditulis dalam bahasa pemrograman Python. Pemilihan framework flask adalah untuk mempermudah melakukan klasifikasi URL karena program pembuatan model juga dibuat menggunakan bahasa pemrograman Python. Flowchart sistem ditunjukkan pada gambar di bawah ini.

Flowchart

Berdasarkan hasil penelitian yang dilakukan, diperoleh beberapa kesimpulan untuk menjawab rumusan masalah dalam penelitian ini:

  1. Implementasi deep learning dapat digunakan untuk melakukan klasifikasi URL phishing dengan akurasi 98,1%. Arsitektur yang digunakan yakni kombinasi LSTM dan GRU dengan metode feature dan teks based sebagai input.

  2. Berdasarkan hasil benchmarking model didapatkan model deep learning untuk klasifikasi URL phishing menggunakan arsitektur kombinasi LSTM dan GRU mendapatkan hasil yang lebih tinggi dari pada shallow machine learning yakni Random Forest masing-masing akurasi 98,1% dan 97,4%. Untuk skor AUC masing-masing yakni 99,7% dan 99,6%

Tangkapan Layar

  1. Halaman utama
    Halaman utama

  2. Halaman hasil prediksi negatif
    negatif

  3. Halaman hasil prediksi positif
    positif

Peneliti

  • Nizam Aditya Zuhayr

Supervisor

  • Nurul Qomariasih
  • Girinoto
  • Ray Novita Yasa

Publikasi

Zuhayr, N. A., Qomariasih, N., & Setiawan, H. (2023, May). Detection Model for URL Phishing with Comparison Between Shallow Machine Learning and Deep Learning Models. In 1st International Conference on Neural Networks and Machine Learning 2022 (ICONNSMAL 2022) (pp. 146-156). Atlantis Press. DOI: 10.2991/978-94-6463-174-6_13.