Spam-mail dapat didefinisikan sebagai “unsolicited bulk e-mail” yaitu e-mail yang dikirimkan kepada ribuan penerima (recipient) yang sebenarnya email tersebut tidak dikehendaki oleh penerima email. Spam mail biasanya dikirimkan oleh perusahaan yang menawarkan suatu produk tertentu. Karena fasilitas e-mail yang mudah dan murah untuk diterapkan dengan mengirimkan ke sejumlah penerima, maka spam mail menjadi semakin merajalela. Pada survey yang dilakukan oleh Cranor & La Macchia (1998), ditemukan bahwa 10% dari mail yang diterima oleh suatu perusahaan adalah spam-mail. Spam-mail dapat dikategorikan kedalam istilah-istilah berikut :

  • Junk mail adalah e-mail yang dikirimkan secara besar-besaran dari suatu perusahaan.
  • Non-commercial spam, email berantai yang dikirimkan secara masal tanpa tujuan komersial tertentu.
  • Pornographic spam yaitu e-mail yang dikirimkan secara masal yang mengandung konten pornografi.
  • Virus spam yaitu e-mail yang dikirimkan secara masal yang mengandung virus worm, atau Trojans.

Agar email yang diterima dapat dikategorikan spam atau tidak diperlukan penyaringan email agar email dapat dikategorikan sebagai email spam (ham mail) atau bukan spam (legitimate mail). Penerapan algoritma penyaringan email spam (spam-mail filter) yang sebagian besar menggunakan metoda menyamakan (matching) berdasarkan pola pesan (message) yang diterima. Dengan metode ini maka aturan harus diatur secara manual pada kotak masuk email (inbox). Pengaturan ini menjadi tidak efektif karena pola karakteristik spam-mail terus berubah, sehingga diperlukan metoda penyaringan yang dapat memisahkan spam-mail dari ham-mail berdasarkan pola-pola pesan yang telah diperoleh sebelumnya sebagai data awal.

2. Metode-metode Anti Spam

Terdapat beberapa metode yang dapat digunakan untuk mencegah spam diantaranya :

a. Keyword filtering

Metode ini merupakan Application Layer Filtering (ALF). Dengan metode ini, spam-mail di-blok berdasarkan kata-kata tertentu yang sering dituliskan pada spam-mail misalnya : “sex”, “porn”, “free”.

b. Address blocking

Metode ini melakukan pengeblokkan spam-mail berdasarkan IP atau domain atau alamat e-mail tertentu yang telah dikategorikan sebagai alamat spammer.

c. Black listing

Metode ini hampir sama dengan address blocking, yaitu mem-blok spam berdasarkan daftar alamat spammers yang telah diketahui. Biasanya black listing ini dikerjakan oleh beberapa sukarelawan dan dibuat dalam bentuk database spam-mail, sehingga dapat digunakan oleh semua orang, misalnya Open Relay Data Base di URL : ORDB.org

d. White Listing

Kebalikan dengan Black listing, white listing berisi daftar alamat yang dikategorikan sebagai pengirim e-mail yang sah (legitimate mail). Alamat pengirim mail yang tidak termasuk dalam daftar ini akan diasumsikan sebagai spam-mail.

e. Signature –Based Filtering

Metode ini akan membandingkan e-mail yang datang dengan spam-mail yang telah diketahui. Hal ini dilakukan dengan membuat beberapa alamat e-mail palsu. Spam-mail yang biasanya dikirim ke beratus-ratus alamat e-mail juga akan dikirim ke alamat-alamat palsu ini. Sehingga dengan membuat list alamat-alamat mana saja yang mengirim mail ke alamat palsu ini, spam mail dapat diblok. Salah satu cara untuk menunjukkan bahwa dua buah e-mail sama dilakukan dengan memberikan “signature” pada setiap e-mail. Metode untuk memberikan signature antara lain dengan memberikan angka untuk setiap huruf, lalu semua angka tersebut dijumlahkan. Sehingga setiap e-mail akan memiliki “signature” yang berbeda. Dalam hal ini, dua e-mail yang memiliki signature yang sama, dan dikirim ke beberapa alamat dapat dikategorikan sebagai spam-mail. Cara inilah yang diterapkan pada signature-based filtering. Tetapi metode filter ini sangat mudah dikalahkan oleh spammers. Cukup dengan menambahkan sembarang karakter yang berbeda pada setiap copy spam-mail, akan membuat copy spam-mail itu memiliki signature yang berbeda.

f. Bayesian (Statistical) Filtering

Metode Bayesian mengenali spam berdasarkan kata-kata (token) yang terkandung pada sebuah e-mail. Metode filter ini untuk pertama kali harus di “training” terlebih dahulu dengan menggunakan dua macam koleksi e-mail. Satu koleksi merupakan spam-mail, dan koleksi yang lain merupakan legitimate-mail. Dengan cara seperti ini, pada setiap e-mail baru yang diterima, Bayesian filter dapat memperkirakan probabilitas spam berdasarkan kata-kata yang sering muncul di koleksi spam-mail atau di koleksi legitimate mail. Bayesian filter efektif untuk melakukan pengeblokan spam karena filter ini dapat secara otomatis mengkategorikan spam-mail atau legitimate mail.

 

3. Algoritma Bayesian Filter

Bayesian filter merupakan metode baru yang digunakan untuk mendeteksi spam mail. Algoritma ini memanfaatkan metode probabilitas dan statistik yang dikemukakan oleh ilmuwan Inggris Thomas Bayes, yaitu memprediksi probabilitas di masa depan berdasarkan pengalaman di masa sebelumnya. Dua kelompok peneliti yaitu Pantel dan Lin, dan yang lain oleh Microsoft Research memperkenalkan metode statistik Bayesian ini pada teknologi anti spam filter. Tetapi yang membuat algoritma Bayesian filtering ini popular adalah pendekatan yang dilakukan oleh Paul Graham.

Bayesian filter mendeteksi spam dengan cara menghitung probabilitas dari suatu pesan (mail) berdasarkan isinya. Probabilitas ini dapat dihitung dengan terlebih dahulu membuat suatu database spam-mail dan database non spam-mail. Kemudian dengan suatu metode training, software anti spam yang menggunakan algoritma Bayesian dapat dilatih untuk melihat kata-kata yang sering digunakan pada spam-mail, sehingga pada akhirnya dihasilkan filter anti spam yang akurat dengan sesedikit mungkin false positives. False positives adalah e-mail legal yang ditujukan kepada penerima, tetapi karena kesalahan dari filter anti spam, dikategorikan menjadi spam-mail.

Pada dasarnya, algoritma Bayesian filter merupakan pengembangan dari algoritma penilaian pesan (scoring content-based filter, hampir sama dengan keywords filtering) yaitu filter mencari karakteristik kata-kata yang banyak digunakan pada spam-mail, kata-kata ini diberi nilai individual, dan nilai spam secara keseluruhan dihitung dari nilai individual tersebut. Tetapi algoritma ini memiliki kelemahan yaitu karakteristik kata-kata pada spam-mail dan non-spam mail akan berbeda-beda untuk setiap individu. Kata “bisnis” misalnya yang untuk sebagian orang akan termasuk pada karakteristik kata-kata pada spam-mail, tetapi untuk perusahaan tertentu yang bergerak di bidang itu, kata “bisnis” tersebut akan termasuk pada non spam-mail.

Lain halnya dengan scoring content-based filter, Bayesian filter akan membuat daftar karakteristik kata-kata spam dan non-spam mail secara otomatis. Tentunya terlebih dahulu , kita harus mengklasifikasikan e-mail – e-mail mana saja yang termasuk spam-mail dan mana yang termasuk non-spam mail. Bayesian filter akan menghitung probabilitas dari kata-kata yang umum digunakan pada spam mail berdasarkan klasifikasi ini. Karakteristik dari spam-mail yang dapat diidentifikasi antara lain berdasarkan kata-kata pada body message, header message, dan juga kode HTML.