->
Günümüzde ismini çokça duyduğumuz ancak Türkçe detaylıbir bilgiye ulaşamadığımız Syn Flood konusunda sizlere bilgi vermeye çalışacağım.
Syn Flood bir atak çeşididir. Daha doğrusu 3 adımdan oluşan bir Denial of Service yani DOS atak çeşididir.
Size bu bahsettiğim 3 adımdan bahsetmek istiyorum:
1.Adım olarak istemci makine sunucu makinenin bir portuna bağlanmak suretiyle sunucuya bir bağlantıtalebinde bulunur.
2.Adım olarak sunucu makine, eğer koşullarıuygun ise kabul eder ve istemci makineye talebinin onaylandığınıbelirtir.
3.Adım olarak ise istemci sunucuya her şeyin hazır olduğunu bildirerek bağlantıtalebini onayladığınıbildirir ve bağlantıbaşlar.
Yukarıdaki bahsettiğimiz 3 adim istemci ve sunucu arasındaki bağlantıiçin örnek verilebilir.(three-way handshake olarak ta lanse edilir)
İki makine arasında bağlantıkurulduktan sonra veriler eşzamanlıgedip gelme halindedir. Bu bağlantı“full-dublex†bağlantıolarak adlandırılır. Daha doğrusu bu bağlantının anlamıverilerin eş zamanlıgidip gelmesi halidir.
Bu bilgilerden sonra Syn Flood un ne olduğu giriş yapabiliriz:
Yukarda bahsettiğimiz bu 3 adımışimdi biraz daha derin inceleyelim:

Resim–1
1.Adım İstemci, sunucu makinenin herhangi bir servisine bağlanmak istiyor.Buna örnek olarak web,telnet,mail,ftp gibi servisler olabilir.Yani sunucu makineye içinde kendisi hakkında bilgi bulunan bir SYN (Synchronize) paketi yolluyor.
2.Adım Sunucu makine bu bahsettiğimiz SYN paketini alıyor ve istemci makineye bu SYN paketini aldığınıgösteren ACK(Acknowledgement) ile yine kendi hakkında bilgi içeren SYN paketini beraber olarak yolluyor. Yani gönderilen paket ACK+SYN
3.Adım İstemci sunucu tarafından yollanan SYN+ACK paketini alıyor ve sunucuya, sunucu tarafından kendisine gönderilen SYN+ACK paketini aldığınıgösteren bir ACK paketi yolluyor. Ve böylece 2 makine arasında bağlantıbaşlamış bulunuyor.
Bu 3 adım yukarıdaki Resim–1 de gösterilmişitir.

Resim–2
Bu SYN,SYN+ACK,ACK paketlerini sniff edilmiş halini yukarıdaki Resim–2 den takip edebiliriz.
şimdiye kadar anlatılanlar istemci ile sunucu makine arasındaki normal bir bağlantıdan başka bir şey değildi.Yani ortada herhangi bir saldırıyoktu.Bu işlemleri anlattıktan artık olayın saldırıyönüne bakabiliriz.
Diyelim ki bu bahsettiğimiz iki adım düzgün bir şekilde gerçekleşti.Yani tekrar belirtmek gerekirse istemci bir SYN,sunucu da bu SYN e karşılık ACK+SYN paketini istemciye yolladı.Buraya kadar her şey normal işledi.Fakat yukarıdaki bahsettiğimiz 3.Adım yani istemci tarafından gönderilen ACK paketi sunucuya gönderilmez ise ne olurdu ? Bunun cevabı“Full Dublex†olmaktan çıkar “YarıAçık bir Bağlantıolur†hale gelir olacaktı.Bu bağlantıçeşidi de kabul görmeyen bir bağlantıçeşididir.Çünkü Sunucu SYN+ACK i yolladıktan sonra istemciden ACK paketini beklemektedir.Ve belirli bir müddet beklemeye devam edecektir.Bekler,bekler ve bekler ..
Sunucu bu ACK paketini beklerken istemci tarafından sunucuya bir bağlantıdaha açtığımızıdüşünelim.Ve aynışekilde yine 3.Adımıgerçekleştirmediğimizi varsayalım.Hatta bunu defalarca bir kaç kez daha yapalım.Bir daha ve bir daha daha. Böylece artık bir Flood oluşacaktır.
Sunucu hala bu istemciden gelecek bu ACK paketlerini beklemektedir.Ve açtığımız her bağlantıyısunucu hafızasına yazar.Ama belirli bir sureden sonra artık bu hafızaya kaydedilen bilgi büyük bir hal almıştır ve hafızada tasmaya neden olmaktadir.

Resim–3

Resim–4
Bir sure sonra bütün hafıza dolduktan sonra sunucu , dışarıdan gelecek olan hiçbir bağlantıtalebine yanıt veremeyecek hal alır.Aslında normal sistem bağlantıiçin ACK paketi beklerken,bu paketi belirli bir süre içerisinde alamazsa bağlantıyıiptal eder ama saldırısistemden daha hızlıve gizlenmiş yani spoofed IP’ler ile sürdürülürse ne kadar bağlantıiptal edilirse edilsin yeni bağlantılar durmadan eklenecektir ve yine aynışekilde hafızada taşmalarımeydana getirecektir ve bu durumda bu kaçınılmazdır.Bunu yukarıdaki Resim–3 ten takip edebilirsiniz.Resim–4 de de spoofing yaptırılan ve sadece bunlardan biri olan TCP Client in , TCP Server a etkisini görebiliriz.Bunu Resim–3 e bakarak bir sürü TCP Client tarafından yapıldığınıdüşünelim.böylece bu şekilde bir saldırısonucunda Sunucuda bulunan TCP tabanlıservisler saldırıaltında bulunduğu surece işlev görmeyecektir .
Syn Flood u anlattıktan sonra peki bunun çözümü ne olabilir diye düşünmeye başlıyoruz doğal olarak. Çözümünü şöyle söyleyebiliriz:
Aslında günümüzdeki IP protokolü teknolojisine Gore genel olarak bir çözüm kabul edilmiş değil.Ama günümüzün teknolojisindeki routerlar,basit konfigürasyonlarısayesinde bu saldırılarıengelleyebiliyorlar.Ayrıca yeni geliştirilen kernal lar bu saldırılardan en az zarar görecek şekildeler.
Eğer benim sistemime syn flood un yapılıp yapılmadığınasıl anlarım derseniz eğer bunun tek cevabınıancak bunu sniffler la takip ederek olacaktır.Çünkü siz dışarıya doğru bağlantıyaparken sıkıntıçekmezsiniz.Dolayısıyla da bağlantıda bir aksama yaşadığınızıhissetmezsiniz.Aslında buradaki gerçek problem dışardan gelen bağlantıların sisteminizce kabul edilmesi olayıdır.
Bir dahaki makalede görüşmek üzere ..
Powered by MightyAdsense