Syn Flood Attack nedir ? Nasıl önlenir ? Syn Cookie ve Syn Proxy nelerdir?
Syn Flood Attack nedir ?
Nasıl önlenir ? Syn Cookie ve Syn Proxy nelerdir?
En
temel DoS ataklarından biri olan Syn Flood atağı TCP ile
haberleşmek isteyen client ile server arasında yapılacak olan
“3-way handshake” olayına müdahele ederek mümkün olmaktadır.
Syn Flood saldırıları teorik olarak ilk 1994
yılında Firewalls And Internet Security adlı kitapta
geçmiştir.
El
sıkışmasının ilk adımında client servera bir syn paketi
gönderdikten sonra server tekrar paketi aldığına ve kendi
bağlantı isteğini göndermek için bir syn-ack paketi gönderir.
Ardından tekrar client da bu syn paketi aldığına dair bir ack
paketi gönderiyor ve bağlantı sağlanmış oluyor. Syn Flood
atağında atağı yapacak olan kişi server'a farklı IP'lerden çok
fazla syn paketi gönderir. Server'da bu paketler alındıkça
işletim sistemi gelen paket için bellekte bir yer açar. Alınan
paketler için belli bir kapasite olduğu ve bu kapasite dolduktan
sonra server göndermiş olduğu syn-ack paketlerinin geri dönüşü
olarak alıcağı ack paketleri gelmedikçe server yeni bir bağlantı
kabul etmez. Syn Flood atağının bize yarattığı sorun burda
ortaya çıkıyor. Server'a bir istekte bulunamadığımızdan erişim
sağlayamıyoruz.
Syn
Flood ataklarını engellemek için yöntemler geliştirilmiş
bunlardan bazıları işletim sistemi seviyesinde olup bazıları
kullanıcı seviyesinde geliştirilmiştir. Bunlardan başlıca
olanlar:
1- Server'ın bağlantı isteği kapasitesini arttırma
Farklı
IP'lerden gelen syn paketlerini gönderip bağlantı isteğinde
bulunmak isteyen cihaz sayısını arttırmaktır. Atağı uygulayan
kişi server'ı boğmasına rağmen alınan istek sayısını
arttırdığımızda biz de isteğimizde bulunup bağlantı kurmayı
başarabiliriz. Bu şekilde atağın başarılı olmamış
sayılabiliriz.
2- En yaşlı istenen acklerin sonlandırılması ve timeout süresinin azaltılması
Server'a
bağlantı isteği gelmiş (syn paketi) sonrasında syn-ack paketi
gönderilmiş olan ve gelecek olan ack paketini bekleyen bu
bağlantıları en eskiden başlayarak sonlandırmak bu çözümlerden
bir tanesidir. Ayrıca beklenen ack paketlerinin bir geri dönüş
süresi için bir zamanlayıcı (timer) başlatılıyor. Bu
zamanlayıcı zaman aşımına (timeout) uğrayıncaya kadar bu ack
paketini bekliyor. Biz bu timeout süresini kısaltarak da server'i
bu boş, geri dönüşü olmayacak istekleri kapatarak server'ın
rahatlamasını sağlıyoruz.
3- Syn Cookie
Bu
yöntemde server aldığı bir syn paketi için çerez (cookie)
oluşturur. Öncelikle bu Syn Cookie yönteminde temel yapılan işlem
gönderilip alınan paketlerden olan ISN (initial sequence number)
değişkeninin rastgele değil de belirli yöntemlere göre
hesaplanması üzerinedir. Server bu yöntemde artık gelen her bir
syn paketi için bellekte alan açmıyor onun yerine ISN değişkeni
hesaplanıp ( cookie ISN değerini ifade ediyor) syn-ack paketiyle
beraber gönderme işlemini uyguluyor. Sonra gelecek ack paketine
bakılarak isteğimiz doğrultusunda bir eşitlik var ise bu alan
açılıp bağlantı kurulmuş oluyor. Unix-Linux çekirdekli işletim
sistemlerinde Syn Cookie özelliği artık yüklü halde gelmekte
fakat kullanımı kullanıcıya bağlıdır. İstenildiğinde belirli
komutlar ile açılabilir.
4- Syn Proxy
Bu
yöntemde paketler öncelikle proxy server'a iletilir. Handshake
işlemi bu server'da gerçekleşir.Client öncelikle proxy server ile
bağlantıyı sağlamaktadır. Proxy server ardından bir client gibi
davranarak aldığı bağlantı isteğini server'a yönlendirir ve
client ile server'ın arasında bir bağlantı kurulmuş olur.
Ardından gelecek olan paketin sıra numarası öncekini bir fazlası
olacağı için server artık gelen isteğin doğru ve güvenilir bir
yerden olduğunu anlayabilecektir. Bu yöntemde aracı olan proxy
server'ın güvenliği üst düzeyde sağlanmalıdır.Syn Proxy'nin
kullanımı için çeşitli programlar bulunmaktadır.
Kaynakça:
Yorumlar
Yorum Gönder