Denial of service (DoS) hizmet aksatma amaçlı bir saldırı çeşitidir. Bir sisteme yapılan düzenli saldırılar sonucunda sistem çalışamaz ve hizmet veremez hale gelir. Ayrıca DoS saldırılarıyla hedef sisteme ait kaynakların tüketilmesi de amaçlanır. Bu saldırı önemli sunucuların servis vermeyi durdurması gibi büyük sorunlara yol açabilir.
Tüm DoS saldırıları iki aşamalı olarak gerçekleştirilir;
-
Toplu güvenliği kırma: Bu aşamada öncelikli olarak DoS saldırısı yapacak olan sistemlere ulaşılır ve saldırıyı gerçekleştirecek olan programlar yüklenir. Bu sistemler ilk zarar görecek olan sistemlerdir.
-
DoS saldırıları: Bu aşamada hedef sitelere saldırı yapılır ve bunun için de ilk aşamada saldırıyı gerçekleştirecek programların yüklendiği bilgisayarlar kullanılarak hedefe saldırı gerçekleştirilir.
Denial of Service saldırı türlerinin başlıcaları şunlardır;
- Arabellek Aşımı Saldırıları: DOS saldırılarının en yaygın çeşitidir. Arabellek; hafızada ard arda dizili türdeş veri depolayan hafıza bloğudur. Arabellek aşımı saldırıları; bir internet sitesine, sitenin programcısının gelmesinin beklediği ve bu amaçla veri akışı için planladığı arabellek değerinin karşılayamayacağı kadar çok trafik yollanması sonucu oluşur. Saldırı, hedef sistemdeki bilinen zayıf bir noktanın üzerine, başarıya ulaşacağı bilinerek yapılabileceği gibi zayıf bir nokta bilinmeden başarı ihtimaliyle de yapılabilir.
- SYN Saldırıları: Bu saldırı türünde saldırgan, internet üzerinde kullanılmayan IP adreslerini kullanarak birçok SYN paketini hedef makineye yollar. Hedef makine, alınan her SYN paketi için kaynak ayırır ve bir onay paketini(SYN-ACK), SYN paketinin geldiği IP adresine yollar. Hedef makine, kullanılmayan IP adresinden yanıt alamayacağı için SYN-ACK paketini defalarca tekrarlar. Saldırgan bu yöntemi üst üste uyguladığında hedef makine ayırdığı kaynaklardan ötürü yeni bir bağlantıyı kaldıramaz duruma gelir ve bu sebepten makineye bağlanılamaz.
- Teardrop Saldırıları: Bir bilgisayara internet üzerinden gelen paketler, bilgisayarda bölünerek aktarılır. Paket verilere ayrıştırılırken, pakette bulunan ofsetler kullanılır. Bu ofset bilgilerinin çakışmaması gerekmektedir. Teardrop saldırılarında, paketi gönderen saldırgan, pakete üst üste gelecek ofsetler ekler. Paketi alan bilgisayar, böyle bir durumu kontrol edebilecek mekanizmaya sahip değilse, sistem çöker.
- Smurf Saldırıları: Bu saldırı türünde, saldırgan hedef bilgisayardan ping isteğinde bulunur. Ancak ping paketi, hedef makinenin IP’sinden geliyormuş gibi görünecek şekilde hazırlanmıştır. Bu durumda ağ üzerindeki bütün makineler, hedef makineye ping atar. Hedef makine bu trafiği karşılayamaz ve bağlantı kesilir.
- Servislere Aşırı Yüklenme: Bu saldırı tipi belirli kullanıcı ve servisleri düşürmek için kullanılır. Saldırı yapan kişi özel port ve kullanıcıya bir çok ICMP paketi gönderir. Bu olay ağ izleyicisi ile kolayca anlaşılır.
- Message Flooding: Servislere Aşırı Yüklenme'den farklı olarak sistemin normal çalışmasını engellemez. Yine aynı şekilde paketler gönderilir ancak bu defa kullanıcı ya da servisler bu paket gönderimini normal olarak algılar. Örnek olarak; Nis sunucusunda 'flood' yapılırsa (Unix network) Nis bu isteği şifre isteği gibi görür ve böylece saldırganın kullanıcıya hükmetmesi sağlanmış olur.
Sistemin güvenliği açısından yapılması gereken ilk adım DoS saldırısının doğru analiz edilmesi ve kaynağının tespit edilmesidir. DoS saldırıları işletim sistemine sistemin içinden ya da dışından gelme olasılıklarına sahiptir. DoS saldırılarının çoğunun tespiti için internet hızının düşüklüğü ya da e-posta alamama gibi sorunlara dikkat edilmesi gerekmektedir. Bu tür durumlarda ilk aşamada bakılması gereken sistemin çıkış noktasıdır. Eğer çıkış noktası HTTP Proxy ise büyük isteklerin bir sistemden mi ya da daha fazla sistemden mi yapılmakta olduğuna bakılmalıdır. Eğer çıkış noktası ağ geçidi ise sistemden geçen paketlerin kontrol edilmesi gerekmektedir.
DoS saldırılarından korunma yöntemleri temel olarak iki gruba ayrılır;
- Bant genişliği saldırıları ve korunma yöntemleri: Bu tür saldırılar savunulması en zor olan DoS saldırılarıdır, bu sebeple ataklara neden olan paketler güvenliği sağlanılması istenen sistemin ağ geçidine girmeden bu paketlerin alımını durdurmaktır. Paketlerin ağ geçidine girmeden engellenmesi için TCP SYN, UDP veya ICMP gibi aynı tür paketlerin arka arkaya geldiği takdirde takibini ve kontrolunu sağlayan yazılım kurulması gerekmektedir. Paketlerin bir ya da ikiden fazla farklı ip adresinden gönderildiği göz önüne alınırsa bu durumda İnternet Servis Sağlayıcısı'ndan destek alınması gerekmektedir.
- Sistem ve servis saldırıları ve korunma yöntemleri: Bu tür saldırılar tüm ağdan çok bir ya da birkaç sisteme yönelik yapılır. Bu saldırılar birim zamanda çok yüksek sayıda paket gönderilerek, hafızada sorun yaratılarak ve yüksek sayıda geçerli istek gönderilerek yapılabilir.
Standart olarak ağ kartı paket aldığı her defada işlemciye yönelik bir istek yaratır. Bunun üzerine işlemci bu paketi ağ kartından almak üzere belirli bir zaman ayırır. TCP SYN paketleri SYN ACK paketlerini cevap olarak göndermeden önce bir zaman geçmesi gerekir. Aynı şekilde TCP, UDP ve ICMP paketleri de SYN kadar zaman almasa da yine de belirli bir zaman kaybına neden olur. Bunların dışında paket büyüklüğü ve sayısının da bant genişliğinde oluşabilecek sorunlarda büyük etkisi vardır.
Zaman ayırma, paket büyüklüğü ve sayısı gibi problemler için daha güçlü cihazlar ya da bu sorunları azaltmak, engellemek için eklenmesi gerek komutlar kullanılmalıdır. Donanım için fazla harcamalar dışında bu sorunların çoğu "sysctl(8)" komutu kullanılarak çözülebilir. "sysctl(8)" komutu sayesinde yüksek paket geliş oranında sınırlamalar yapılabilir.