Phishing Email Detection via Machine Learning

David Wahyu Widodo

Sosial Media


0 orang menyukai ini
Suka

Summary

Phishing adalah ancaman siber di mana pelaku mencuri informasi sensitif melalui email palsu. Meskipun fitur spam ada, ia belum efektif mendeteksi phishing. Program ini menggunakan machine learning untuk mendeteksi phishing dalam email, dibangun dengan front-end React Native dan Snack Expo, serta back-end Flask. Tujuannya untuk meningkatkan kewaspadaan pengguna dan mengurangi risiko phishing, serta menjadi dasar pengembangan fitur serupa di layanan email di masa depan.

Description

Nama Kelompok

  1. David Wahyu Widodo
  2. Ahmad Fauzi Nugroho
  3. Muhammad Sammy Aidil
  4. Anadya Tafdhila
  5. Ellen Chandra
  6. Setia Sari

Latar Belakang

Phishing adalah ancaman siber yang mengintai pengguna internet, di mana pelaku mencoba mencuri informasi sensitif seperti kata sandi melalui email palsu yang tampak terpercaya. Meskipun layanan email telah memiliki fitur spam, fitur tersebut belum cukup efektif untuk mendeteksi phishing secara spesifik. Untuk mengatasi masalah ini, kami mengembangkan sebuah program pendeteksi phishing berbasis machine learning, yang menganalisis email untuk mendeteksi indikasi phishing secara otomatis. Dibangun dengan front-end menggunakan React Native dan Snack Expo, serta back-end menggunakan Flask, program ini bertujuan untuk meningkatkan kewaspadaan pengguna dan mengurangi risiko menjadi korban phishing. Harapannya, solusi ini dapat menjadi dasar untuk pengembangan fitur pendeteksi phishing yang lebih canggih di layanan email di masa depan.

Motivasi

Motivasi utama dari pembuatan program ini adalah untuk mengurangi jumlah korban phishing. Program ini juga diharapkan dapat diimplementasikan sebagai fitur tambahan pada layanan email. Saat ini, program masih menggunakan protokol IMAP dan diintegrasikan dengan dataset sederhana sebagai langkah awal pengembangan.

Tujuan

  1. Meningkatkan kesadaran dan kewaspadaan pengguna dalam menghadapi potensi serangan phishing melalui deteksi otomatis pada email.
  2. Mengembangkan dan meningkatkan kemampuan algoritma machine learning untuk mendeteksi phishing dengan menggunakan dataset yang lebih akurat dan relevan.
  3. Menyediakan solusi praktis yang dapat diintegrasikan dengan layanan email untuk memberikan perlindungan tambahan terhadap ancaman phishing di masa depan.

Dataset 

Dataset yang digunakan berisi kolom: subject, content,  sender_email, contains_suspicious_link, contains_money_request, dan is_phishing dengan total data sebanyak 1000 berupa 500 phishing dan 500 normal. Dataset didapat dari hasil generate ai. 

Program App.py

Berfungsi sebagai flask yang nantinya akan di berikan ke snack expo. Program ini berisi dataset yang sudah dilatih yakni email_phishing_detector.pkl.

Prosesnya adalah:

  • Koneksi ke IMAP
  • Pengambilan email yang nantinya akan dideteksi
  • Proses deteksi phishing
  • Proses enkripsi dan dekripsi menggunakan cryptography.fernet
  • Enkripsi dan dekripsi menggunakan cipher dari Fernet.

Test.py

Digunakan untuk melakukan pengecekan data, pelatihan data, dan pembuatan model.

Prosesnya adalah

  • Eksplorasi data : Pada proses ini, data akan diperiksa dan dilihat informasi datasetnya. Serta akan dilakukan pengecekan nilai yang hilang dan duplikasi.
  • Pemrosesan data : Proses ini akan membagi data menjadi fitur x dan y yang kemudian data akan dilatih.
  • Pembuatan model : Model akan dibuat menggunakan pipeline yang terdiri dari Vectorizer untuk mengubah teks email menjadi vektor dan classifier untuk mendeteksi.
  • Pelatihan model : Pada proses ini model akan dilatih menggunakan data latih, dan akan dievaluasi dengan data uji.
  • Fungsi prediksi : Pembuatan fungsi untuk prediksi yang akan berfungsi untuk memuat model, melakukan prediksi pada email, menghitung tingkat kebenaran/kepercayaan, dan mengembalikan hasil.
  • Test model : Pada proses ini model akan dijalankan pada email yang diberikan.

Hasil test.py

Snack Expo 

Pada snackexpo ini pengguna diminta untuk memasukkan email dan username yang telah terautentikasi, serta melakukan pengaturan IMAP untuk memeriksa inbox email. Program kemudian akan memeriksa setiap pesan di inbox dan memberikan status "Phising" jika ditemukan email yang mengandung indikasi phishing, atau "safe" jika email tersebut tidak terdeteksi sebagai phishing. 

 

Harapan kedepannya 

  1. Akurasi Deteksi yang Lebih Baik
    Program ini diharapkan dapat lebih akurat dalam mendeteksi phishing dengan pembaruan dataset dan algoritma yang lebih canggih.
  2. Integrasi dengan Layanan Email
    Diharapkan program ini dapat terintegrasi langsung dengan layanan email, sehingga pengguna bisa langsung mendeteksi phishing tanpa aplikasi tambahan.
  3. Fitur Keamanan Lain
    Program ini juga diharapkan bisa menambah fitur keamanan lain, seperti mendeteksi malware atau penipuan, untuk perlindungan yang lebih maksimal.

Informasi Course Terkait
  Kategori: Cloud Computing
  Course: Cyber Security