• Sonuç bulunamadı

5.4. Anomali-Tabanlı Boğma Saldırı Tespit Sistemi (ABSTS)Tasarımı

5.4.4. Gelişmiş boğma saldırı tespit sistemi

Temel saldırı tespit yönteminin bazı doğal ağ koşullarından negatif yönde etkilenmesi ve sınır düğümlerinde saldırı tespitinde yetersiz kalması ortam koşullarına daha dayanıklı ve başarımı daha yüksek bir yöntem geliştirilmesini

bool BOGMA,HATA=FALSE

/*Her örnekleme periyodunda çağrılır*/

TemelBogmaSezmeAlgoritmasi(){

if (PTO<PTOEş and ETMn>ETMEş and HPOn>HPOEş) BOGMA=TRUE // Aldatıcı,Rasgele,Darbe else if(PTO<PTOEş and ETMn>ETMEş and HPOn<HPOEş)

BOGMA=TRUE //Sürekli,Dinleme ve Kontrol Aralığı

else if(PTO<PTOEş and ETM<ETMEş and HPOn>HPOEş)

BOGMA=TRUE //Reaktif,Veri,Küme,Kesme,Darbe, else if(PTOn<PTOEş and ETMn<ETMEş and HPOn<HPOEş) BOGMA=FALSE

HATA=TRUE;

else if (PTOn>PTOEş) BOGMA=FALSE

end if }

97

zorunlu kılmaktadır. Bu sebeple temel saldırı tespit metodunda kullanılan eşik mekanizmasının bir başka ek mekanizma ile desteklenmesi gerekmektedir. Gelişmiş saldırı tespit yönteminde eşik mekanizmasının dezavantajlarını en aza indirmek üzere düğümlerin birbirlerinden faydalanarak saldırı kararını vermesini sağlayan sorgulama tabanlı saldırı tespit yöntemi geliştirilmiştir. Yöntemin esası; PTO, HPO ve ETM parametrelerine göre saldırı altında olduğundan şüphe eden düğümün komşu düğümlere gönderdiği SORGU (QUERY) paketi ve buna karşılık komşulardan gelecek CEVAP (REPLY) paketlerine dayanmaktadır. Düğümler Şekil 5.7’de görüldüğü gibi SORGU paketlerinde bulunan ALARM bayrağını kurarak kendisinin saldırı altında olma ihtimalinin yüksek olduğunu ve karar vermek için komşularının bilgilerinden faydalanacağını bildiren SORGU paketini gönderir. SORGU paketi alan düğümler ise PTO, HPO ve ETM değerlerine bakarlar. (PTO<PTO ve ETM>ETM) ya da (PTO<PTO ve HPO>HPO) şartlarının gerçekleşmesi durumunda CEVAP paketindeki ALARM bayrağını 1’e kurarak aksi durumda ise sıfırlayarak geri gönderirler. Ancak sürekli ve aldatıcı saldırgan gibi iletişim kanalını kesintisiz meşgul eden saldırganlar SORGU-CEVAP paketlerinin gönderimini de engellemektedir. Reaktif saldırgan gibi bazıları ise gönderilen sorgu paketlerin bozulmasına neden olmakta, veri paketi saldırganı gibi saldırganlar ise SORGU-CEVAP paketlerine saldırmamaktadır.

Şekil 5.7. SORGU ve CEVAP paketlerinin yapısı

Tablo 5.2’de gelişmiş sorgu tabanlı saldırı tespit yöntemi görülmektedir.

SorguTabanliSaldiriTespitAlgoritmasi fonksiyonu her örnekleme

periyodunda çağrılmaktadır ve bu fonksiyon harici bazı parametreleri de kullanarak koşul yapıları yardımıyla saldırı tespitini gerçekleştirmektedir. Fonksiyon, geçerli

Dügüm_ID Paket_ID Bayraklar 2 bayt 2 bayt 1 bayt

Zorlama Alarm ……...

Boş

Dügüm_ID Hedef_ID Bayraklar 2 bayt 2 bayt 2 bayt

Alarm ……... Paket_ID Boş Boş 1 bayt

PTO’nun eşikten küçük ve ETM’nin eşik değerinden fazla olması ya da PTO’nun eşikten küçük ve HPO’nun eşikten fazla olması gibi anormal bir durumda, anomalinin saldırılar sebebiyle ortaya çıktığından emin olmak için SORGU sürecini başlatmaktadır. Ancak gereksiz paket gönderimini engellemek üzere SORGU paketi göndermeye karar veren düğüm, gönderim yapmadan önce bir komşusundan SORGU paketi alıp almadığını kontrol etmektedir. Eğer bir SORGU paketi kendisine ulaştıysa SORGU göndermek yerine var olan SORGU/CEVAP trafiğinin bitmesini ve belirlenen zaman aşımının dolması beklemektedir. Düğüm eğer tüm komşularından CEVAP paketi aldı ise kendisine ulaşan CEVAP paketlerine göre saldırı kararını vermekte ve böylece gereksiz yere paket gönderiminin ve alımının önüne geçilmektedir. Düğüm SORGU göndermeden önce herhangi bir SORGU paketi almadıysa çekişme kurallarına da uyarak iki örnekleme periyodu içerisinde SORGU paketini göndermeye çalışmaktadır. Düğüm eğer bu süre zarfında SORGU paketi gönderemez ise sürekli veya aldatıcı saldırgan gibi kanalı meşgul eden bir saldırıya maruz kaldığına karar vermektedir. Belirlenen zaman dilimi içerisinde SORGU paketini gönderebilen bir düğüm CEVAP paketlerini beklemeye başlar ve CEVAP paketleri için belirlenen sürenin dolması ile kendisine gelen CEVAP paketlerini değerlendir.

Düğüm;

1. Hiç CEVAP paketi almadıysa

2. Aldığı CEVAP paket sayısı komşu sayısına oranla daha az ise VE sonraki atlama komşusundan CEVAP paketi gelmediyse

3. Aldığı CEVAP paket sayısı komşu sayısına oranla daha az VEYA eşit ise VE bir sonraki atlama komşusundan alınan CEVAP paketindeki Alarm bayrağı kurulu ise saldırı altında olduğuna karar vermektedir.

Doğrudan bir saldırgan etkisinde olan düğümler için yukarıdaki kurallara göre saldırı tespiti gerçekleştirilirken sınır düğümler için farklı kurallar gerekmektedir. Sınır düğümlerin sürekli, dinleme aralığı ve kontrol aralığı saldırıları altında PTO değerlerinin düşmesi, bu düğümler için saldırı tespitinin gerçekleştirilmesini zorunlu kılmaktadır. Ancak PTO düşmesine rağmen HPO ve ETM parametrelerinin saldırılardan etkilenmemesi, sınır düğümler için saldırı durumları ile komşu düğüm

99

hata durumlarının karışmasına yol açabilmektedir. Önerilen ileri saldırı tespit yönteminde bu sorunu aşmak için ZORLAMA SORGU paketlerinden faydalanılmaktadır. Đletişim kanalını sürekli meşgul eden saldırıların etkisi altındaki düğümler normal şartlarda herhangi bir paket gönderememektedir. Ancak bu düğümler, sınır düğümlerin saldırı tespitini kolaylaştırmak için çekişme kurallarına aldırmadan rasgele süre bekleyerek ZORLAMA SORGU paketi göndermektedir. Saldırgan kapsama alanın sınırlarında bulunan düğümler sayesinde ZORLAMA SORGU paketleri sınır düğümlere ulaşabilmekte ve böylece sınır düğümlerinde saldırı durumları ile hata durumlarının ayrımı gerçekleştirilebilmektedir

Tablo 5.2. Gelişmiş boğma saldırı tespiti yöntemi

/*Her örnekleme periyodunda çağrılır*/ SorguTabanliSaldiriTespitAlgoritmasi( {

if ((PTO<PTOEş AND ETM>ETMEş) OR (PTO<PTOEş AND HPO>HPOEş)) if(SorguAlindi=TRUE and DigerleriĐcinCevapBekleniyor=FALSE) CevapTimeriniKur(Simdi+2*OrneklemePeriyodu) DigerleriĐcinCevapBekleniyor=TRUE

else if ( DigerleriĐcinCevapBekleniyor=TRUE AND SorguTimerTasti=TRUE) if (CevapPaketSayisi=KomsuSayisi) CevapPaketleriniAnalizEt() else SorguAlindi=FALSE end if else if(SorguAlindi=FALSE) if (SorguSureciBasladi=FALSE) SorguGondermeyiDene() SorguTimeriniKur(Simdi+2*OrneklemePeriyodu) SorguSureciBasladi=TRUE

else if(SorguTimeriTasti=FALSE AND SorguGonderildi=TRUE)

SorguTimeriniDurdur() CevapTimeriniKur(Simdi+2*OrneklemePeriyodu)

else if (SorguTimeriTasti=TRUE AND SorguGonderildi=FALSE) BOGMA=TRUE; if(ZorlamaSorguSayisi<3) ZorlamaSorguGonder(Simdi+RasgeleZaman) ZorlamaSorguGonderildi=TRUE ZorlamaSorguSayisi++ end if else if(CevapTimeriTasti=TRUE) CevapPaketleriniAnalizEt (); end if; end if;

/*Sınır düğümlerde saldırı tespiti için geçerli şartlar */

else if (PTO<PTO AND HPO<HPO AND ETMn<ETMEş AND ZorlamaSorguAlindi=TRUE)

BOGMA=TRUE;

else if (PTO<PTO AND HPO<HPO AND ETM<ETM)

HATA=TRUE; else

BOGMA=FALSE;

end if }