Bildirimler
Hepsini Temizle

Spam Tesbit Algoritmalarım  

  RSS
 Anonim

Bir süredir o kadar yaygınlaştı ki Spam mailler. Bunun en baş nedeni de makine kiralayıp onu sadece mail server olarak kullanmanın bedeli nin gayet ucuz olması. Dahası inernette artık onlarca Toplu Mail atan site olması, bunun yasalarımızda önemli kuralları olmaması. T.C Yasasında en başta Toplu Mail Hizmeti veren site açmak yasak olmalı. Mail adresi almak da satmak da suç sayılmalı.

 Artık oyle mailler geliyor ki inanılmaz Viagra reklamları mı, zırt zurt firma açtım kampanya yaptım reklamları mı, Gel siteme üye ol, şu ürün indirimli bu run boyle reklamları mı. Ama sonuçta bir toplu mail piyasası var ve ortada dönen küçük rakamlar var, rakam küçük olunca hadi bende toplu mail atayım olayına giriyor bilincsiz insanlar. 

Ya şuna ne demeli, haber listemizden çıkmak için şuraya tıklayınız: EL İNSAF BE KARDEŞİM - SANKİ BEN GİDİP SENİN MAİL LİST ine üye oldum birde bana çıkmak için ... 

 

Evet mailler oyle bir geliyorki Direk INBOX gelenlerin sayısı artıyor, bir şekilde geçiyorlar pek çok SPAM mekanizmasını. Durum boyle oluncada oturdum kendi Spam Algoritmamı yazmaya başladım. 

 

Ben bunu Web mail sistemim için Hypertext Preprocessor ile yaptığımdan ötürü ve kodlarımı bir istek gelmez ise paylaşmayacağım muhtemelen alıp kullanmanız mumkun olmayacaktır, ancak C yazılım dilleri ile yada farklı diller ile programlama yapanlar için Algoritmanın Mantığından ve ne tür işlemlerden geçirdiğimi mailleri bahsedeceğim.

 

Öncelikle SPAM algoritmam eğer, gelen mail ABUSE.CH ve SPAMHAUS.ORG kara liste veri tabanlarını geçerse devreye giriyor. Yani ben Temiz görünen mailler üstünde bu kontrolu yapıyorum.

 

SPAM ALGORİTMAM: 

1- Domain Kara listesi bulunuyor bir Foreach döngüsü ile kara listedeki domain adresleri Header kısmındaki

a- From

b- Received

c- Message ID

Alanlarında taratılıyor, eğer kara listedeki domainlerden en az biri bu 3 alandan en az 1 inde çıkarsa mail kabul edilmiyor yada spam işaretleniyor.

 

2- Mail Kara Listesi bulunuyor bir Foreach döngüsü ile kara listedeki domain adresleri Header kısmındaki

a- From

b- Received

c- Message ID

Alanlarında
taratılıyor, eğer kara listedeki email adreslerinden en az biri bu 3 alandan
en az 1 inde çıkarsa mail kabul edilmiyor yada spam işaretleniyor.

 

3- Domain Adresi nin gerçekten bana ait olup olmadığının kontrolunu yapıyorum.Bunun için tüm içeri ve dışarı giden maillerin Header kısmındaki X-Mailer alanına sadece bana özel bir sözcük yazıyorum

Örnek:  X-mailer: Tendi Bus

Ardından ise bu defa bana, benim domain adreslerimden gelen tüm mailleri kontrol etmeye başlıyorum. Bana benim domain adresimle gelen tüm maillerde X-Mailer kısmında Tendi Bus yazması gerekiyor eğerki farklı bir şey yazıyorsa yada X-mailer yoksa gelen mail kabul edilmiyor yada spam işaretleniyor.

Not: Zaten gelen SPAM maillerin çoğu (muhtemelen yarısı günümüzde kendi alan adlarımızla gelmekte) Bu nedenle bu büyük ölçüde etkili oluyor.

 

4-  Gönderici adresi ve Yanıt Adresi birbirinin Aynı olmalıdır Koşulu. Bu koşulda Header alanındaki FROM ve Reply-To alanları kontrol edilir, ancak bu kontrolun yapılabilmesi için öncelikle gelen mail in header bölümünde Reply-To alanı olmalıdır ve dolu olmalıdır yoksa bu koşul es geçilir. if(from != reply-to) diyerek eğer gönderici adresi ve yanıt adresi farklı ise bu tesbit edilir ve ardından  gelen mail kabul edilmiyor yada spam işaretleniyor.

Not: Hemen inboxlarınızı açın ve Spam Boxlarınızı açın ve gelen maillerin yanıt alanlarına bakın yine göreceksiniz ki Reklam içerikli bir mailde bu koşul %40 geçerlidir. Yani gönderici ve yanıt adresleri farklıdır !

 

5- Kara IP Listesi Gelen mailin Header bölümünde Receivedalanı kontrol edilip veri tabanındaki IP ler  ile eşleşme aranır bu eşleşme gerçekleşir ise
gelen mail kabul edilmiyor yada spam işaretleniyor.

 

6- Evrensel Kelime Filtresi İşte bu en kritik noktalardan biri çünki bu alana yazacağımız kelimeler çok önemlidir aksi halde normal maillerin gelmeside engellenebilir. Ben genellikle çok kritik kelimeler kullanırım: viagra, vigara gibi , Gelen mailin BODY kısmında kullandığımız kodlama dilinin en basit algoritması ile arama yapılır, açıkçası ben bu filtre ile tüm diğer filtreleri HİÇE sayıyor ve aranan kelimenin bulunması halinde gelen mail kabul edilmiyor. Tekrar önemle belirtiyim ben bu filtre ile tüm diğer filtreleri geçersiz kılıyorum, ve kullanıcı filtreleride geçersiz kalabiliyor, örneğin kullanıcının Temiz Kelime Filtresinde viagra kelimesi geçse bile bu hiçe syılıp evrensel kelime filtresi görevini yapıyor.

 

 

Buradaki mantık, yazılımla uğraşan çoğu kişiye güzel fikir olacaktır, Spam ın önüne geçecektir.  Konu hakkında fikri olan, lütfen buyursun, bakın ayrıca şoyle bir filtre sistemi olsa diyenlere de gözüm ve beynim açık. Görüşmek üzere.

Emre Sekirden

Alıntı
Gönderildi : 23/12/2012 00:45
Kayhan KAYIHAN
(@kayhankayihan)
Üye

Değerli bilgi paylaşımı için teşekkürler.

mx ve ptr kayıtlarını da check edebilirsiniz.

CevapAlıntı
Gönderildi : 03/01/2013 23:06
Paylaş: