Bir Dos Saldırısı olan Syn Flood

  Saldırı Ve Güvenlik
Nedir ?
 Bir Dos Saldırısı olan Syn Flood

Syn Flood, meşhur Dos (Denial of Service) saldırılarından birisi olup TCP protokolünün başını oldukça ağrıtmaktadır. Syn “synchronize” nin kısaltmasıdır, kelime anlamı “eş zamanlı” olup bu kelime ingilizceden türkçeye “senkronize” olarakta girmiştir. Bu yazıyı okuyanlardan "flood" hakkında bilgi sahibi olanların daha fazla olduğunu tahmin edebiliyorum, forumlarda ve ircde sıkça kullanılan bi kelimedir, üyeliğin silinmesine banlanılmasına sebep olan eylemdir. Flood’un kelime anlamı “sel, su baskını”dır. Buradaki işlevine bakarak eylemin sürekli tekrarlanması, baskına sebebiyet vermesi de diyebiliriz.

Syn Flood saldırı yönteminin amacı hafızayı doldurup taşırarak, istemcilerden gelen bağlantı taleplerinin sunucu tarafından cevaplanamamasını sağlayıp, sunucuyu iş göremez hale getirmektir. Bu işlem ise şöyle gerçekleştirilir : Sunucuya istemci gibi sıradan bir TCP bağlantısı isteğinde bulunulur ve SYN gönderilir, istemci bu isteği onaylarsa ACK ve SYN paketlerini göndererek cevap verir, bu adımda sunucu bağlantı için bir oturum oluşturmuş hafızada yer ayırmıştır ve istemciden gelecek ACK paketini beklemektedir. ACK “acknowding”in kısaltması olup “alındı” anlamı taşır.

Öyleyse işlemlere bidaha göz atalım. İstemci bağlantı için SYN ile bilgi gönderiyor, sunucu ise ACK ve yine SYN ile cevap veriyor : Sunucunun gönderdiği ACK istemcinin gönderdiği SYN’nin alındığını belirtiyor ve yine sunucunun gönderdiği SYN istemciye bilgi gönderiyor, son olarakta sunucu istemciden gelecek ACK alındı paketini backlog queuede beklemeye alıyor. İşte buradan sonrasında saldırıya başlanıyor, istemcinin göndermesi gereken ACK gönderilmez ve bu işlem sürekli tekrarlanıp hafıza mahvedilir.

Burada akıllara sunucunun hafıza ayırma işleminin belirli bir sınırı olup olmadığına dair bir soru geliyor; tabiiki belli sınırlar var. Örnek olarak belli bir zaman aşımı “time out” mevcut. Ama saldırgan bu zaman aşımından çok daha hızlı çalıştığı için bu pek bi anlam ifade etmiyor.

Nasıl Engellenir ?
Bu saldırılarda “spoof” yani “sahte” bağlantılar ve “ip”ler kullanılır. Ip spoofing yönteminin üç derecesi vardır, düşük, orta ve yüksek düzey. Düşük ve orta düzey spoof yöntemleri web siteleri entegre edilen kodlarla engellenebilir ama yüksek düzeyde spooflar için bu pek mümkün değildir. Zaten dos saldırılarındada bu işlem yüksek düzeydedir.

Elle(manuel) çalıştığınız zaman mantık olarak saldırıları tespit etmeniz olasıdır. Örnek olarak sıradışı trafik artışı durumunda kayıtlara(loglara) bakarak bunu hemen anlayabilirsiniz veya sahte ipleri router kayıtlarından tespit edebilirsiniz. Ancak otomatik olarak sistemin dos saldırıları engellemesi bir hayli zordur. Bunun uygulayanabilecek yöntemler şunlardır :

Eğer bilgisayarınıza internet üzerinden saldırı geliyorsa bu adrese göz atabilirsiniz : Syn Flood Block

Syn Cookies : Bu yöntem ile "backlog queue" dolu olsa bile sunucu bağlantılara onay verir. ( Bu yöntem hakkında detaylı bilgi almak istyorsanız ve nasıl etkinleştirebileceğinizi merak ediyorsanız : http://www.securityfocus.com/infocus/1729 )

Rst Cookies : Syn Cookies yöntemine bir alternatifdir. Bu yöntem ile istemciye hatalı bir SYN+ACK paketi yollanır, eğer istemci hatalı gelen paketlere karşılık bir RST paketi oluşturup sunucuya yollarsa sunucu bu noktada bağlantının sahte(spoof) olduğu anlayacaktır ve bağlantı teklifini reddedecektir.
Stack Tweaking : TCP yığınlarını azaltmak için diğer yöntemlerin içinde kullanılabilecek bir yordamdır. En çok görülen örneği “time out” süresini azaltarak diğer yöntemlere yardımcı olmaktır. (Pek etkili bir çözüm değildir; genelde diğer yöntemlerin yükünü hafifletmek için kullanılır.)
Güvenlik Yamaları : Sisteminizi güvenlik yamalarıyla desteklemeniz gerekir. ( Bu adresten gerekli dosyalara ulaşabilirsiniz : http://www.cert.org/advisories/CA-1996-21.html )

Kaynaklar :
http://www.iss.net/security_center/advice/Exploits/TCP/SYN_flood/default.htm

http://www.cert.org/advisories/CA-1996-21.html

Wikipedia

Yazan : Ahmet Kaya

 

LEAVE A COMMENT