Nis
27th

Syn Flood Nedir ?

Files under Genel | Posted by Nuh

Syn Flood Nedir ?

Syn Flood, 3 adımdan oluşan bir D.o.S (Denial of Service) atak çeşitidir.

İlk önce bu 3 adım’ın ne olduÄŸuna bir göz atalım.

1. adım : İstemci makine,sunucu makinenin bir portuna baÄŸlanmak için sunucu’ya bir baÄŸlantı talebinde bulunur.

2. adım : Sunucu makine bu isteği -eğer koşullar uyuyor ise- kabul eder ve istemci makineye bağlantı talebinin onayladığını belirtir.

3. adım : İstemci,sunucuya herşeyin tamam olduğunu belirtir ve bağlantı başlar.

BaÄŸlantı baÅŸladıktan sonra,veriler iki makine arasında eÅŸzamanlı olarak gidip gelir.Bu çeÅŸit baÄŸlantıya “full-duplex” iletiÅŸim denilir.Full-duplex iletiÅŸim sayesinde veri alış veriÅŸi iki makine arasında eÅŸ zamanlı olur.

- Buraya kadar herÅŸey iyi peki SyN Flood nedir ?

Ok. Az önce olayın üzerinden basit bir geçiş yaptık.Gelin az önceki o 3 adım süresince neler olduğuna bakalım.

1. adım : İstemci,sunucu makinenin herhangi bir servisine bağlanmak istiyor telnet, mail, web, news..etc.. Ve sunucu makineye içinde kendisi hakkında bilgi bulunan bir SYN (Synchronize) paketi yolluyor.

2. adım : Sunucu makine bu SYN paketini alıyor,ve istemci makineye gönderilen SYN’i aldığını belirten ACK (Acknowledgement) ile yine kendi hakkında bilgi içeren SYN paketini beraber yolluyor.

3. adım : İstemci SYN+ACK paketini alıyor ve sunucuya ACK paketi ile bunu haber veriyor.Ve iki makine arasındaki bağlantı başlıyor.
Şimdiye kadar anlatılan şeyler istemci ile sunucu makine arasındaki normal bir bağlantıdan başka birşey değildi.Yani ortada herhangi bir saldırı yoktu.Herşey normal idi.
Şimdide olayın saldırı yönüne bakacağız.

Diyelim ki, ilk iki adım gerçekleÅŸti.Yani istemci bir SYN,sunucuda buna yanıt olarak SYN+ACK paketlerini yolladı ve ACK paketini beklemeye koyuldu.Buraya kadar herÅŸey güzel.Peki,ACK paketi gelmez ise ne olurdu? ACK paketi gelmez ise bu baÄŸlantı full-duplex deÄŸil “yarı-açık” bir baÄŸlantı olurdu.Ve bu baÄŸlantı çeÅŸidi pek içaçıcı deÄŸildir.

Sunucu SYN+ACK’yi yolladıktan sonra ACK için bekler.Fakat dediÄŸim gibi istemci ACK paketini yollamaz ise iÅŸler çıkmaza girer.Sunucu beklemeyi bırakmaz.Sürekli bekler..

Sunucu ACK için beklerken,karşıya ACK yerine bir baÄŸlantı talebinde daha bulunduÄŸumuzu varsayalım.Ve yine 3. adım’ı gerçekleÅŸtirmeyelim.Yani son ACK’yi yollamayalım.Hatta bunu bir daha yapalım.. Bir daha .. Bir daha.. Ve “flood” ÅŸekline getirelim bunu :) (Eminim herkes flood’un anlamını biliyordur,IRC de çoÄŸu zaman kick+ban sebebi olur.)

Sunucu açtığımız her bağlantının son ACK paketini bekliyecektir.Açtığımız her bağlantı hakkında bilgiyi hafızaya yerleştirir.Ama bir süre olduktan sonra artık bu bilgi boyut olarak bayağı büyümüştür.Yani kısaca bu data,hafızada taşma meydana getirir.

Artık bir süre sonra bütün hafıza dolacaktır.Ve sunucu dışarıdan gelecek hiçbir baÄŸlantı talebine yanıt veremeyecektir.Normalde sistem baÄŸlantı için ACK paketi beklerken,bu paketi bir süre içinde alamazsa baÄŸlantıyı iptal eder.Fakat saldırı sistemden daha hızlı ve spoofed IP’ler ile sürdülürse,ne kadar baÄŸlantı iptal edilirse edilsin,yenileri eklenecektir.

- Hasar..
Bu şekil bir saldırı sonucunda,sunucuda bulunan TCP tabanlı servisler saldırı altında bulunduğu sürece çalışmayacaktır.

- Çözüm..
Åžu günkü IP protokol’ü teknolojisine göre genel olarak bir çözüm kabul edilmiÅŸ degil.Ama teknolojinin bugün yarattığı routerlar,basit bir konfigürasyon sayesinde bu saldırıyı engelleyebiliyorlar.Ayrıca yeni kerneller bu saldırıdan en az ÅŸekilde etkilenebilecek ÅŸekildeler.

- Sistemime SYN Flood yapıldığını nasıl anlarım?
Sisteminize taki bir Spoofed IP paketi girip içerde dolaşana dek olayların farkına varmazsınız. Siz dışarıya bağlantı yapabilirsiniz,fakat problem dışarıdan gelen bağlantıların sisteminizce kabul edilmemesidir.

Sisteminize saldırı yapıldığını anlamak için Ağ Trafiğini kontrol etmelisiniz.

www.TcpSecurity.com

Post a Comment