SYN Flood Saldırısı Ve Wireshark Analizi

Ahmet Enes Tokmak
6 min readMar 25, 2024

--

Bilgisayar ağları günümüzde hayati öneme sahip bir bileşen haline gelmiştir. Ancak, bu ağlar üzerindeki saldırılar da giderek karmaşıklaşmaktadır. Bu saldırı türlerinden biri olan SYN flood saldırıları, özellikle TCP/IP protokolünü kullanan sistemler üzerinde ciddi zararlara neden olabilir. SYN flood saldırıları, ağ kaynaklarını tüketerek hizmet kesintilerine yol açar ve güvenlik açıklarından faydalanarak sistemlere zarar verebilir. Bu nedenle, SYN flood saldırılarını tespit etmek ve analiz etmek, ağ güvenliği uzmanlarının öncelikli görevlerinden biridir.

Bu makalede, SYN flood saldırılarının tespiti ve analizi üzerine odaklanacağız. İlk olarak, SYN flood saldırılarının ne olduğunu, nasıl gerçekleştiğini ve potansiyel zararlarını anlatacağız. Ardından, SYN flood saldırılarını tespit etmek için kullanılan yöntemleri inceleyeceğiz. Bu yöntemler arasında ağ trafiği analizi, anomalilerin izlenmesi ve saldırı tespit sistemlerinin kullanımı gibi teknikler bulunmaktadır. Son olarak, SYN flood saldırılarını analiz etmek ve saldırıya karşı savunma stratejileri geliştirmek için hangi araçların kullanılabileceğini tartışacağız. Bu makale, ağ güvenliği uzmanlarının SYN flood saldırılarına karşı daha etkili bir savunma stratejisi oluşturmalarına yardımcı olmayı amaçlamaktadır.

1. SYN Flood

Bir web sunucu kaynaklarını tüketerek ve trafik oluşturarak sunucu kullanılamaz hale getirmeyi amaçlayan bir hizmet reddi (DDoS) saldırısıdır.

Syn flood handshake

TCP SYN saldırısı, TCP protokolündeki bir güvenlik açığından yararlanan bir tür hizmet reddi (DoS) saldırısıdır. Saldırı, hedef sunucuya çok sayıda SYN paketi göndererek çalışır. Bu SYN paketleri eksiktir ve sunucu her birine bir SYN-ACK paketiyle yanıt verecektir. Saldırgan TCP bağlantısını asla tamamlamaz ve sonunda sunucunun kaynakları tükenir ve kullanılamaz hale gelir.

1.1.1. Ortam:

● İnternet bağlantısı olan bir bilgisayar

● Bir TCP SYN saldırı aracı (örneğin, Hping3, Ncat)

● Hedef sunucunun IP adresi

1.1.2. Yapılacaklar:

● TCP SYN saldırısı

● Saldırı tespiti

1.1.3. Adımlar:

  1. TCP SYN Flood saldırı araçlarını açıp aktif hale getirme.
  2. Hedef sunucunun IP adresine gönderilecek SYN paketlerinin sayısını ayarladıktan sonra saldırıyı başlatama.
  3. Wireshark ile saldırı sonucunu tespit ettikten sonra hedef sunucunun güvenlik duvarlarını aktifleştirerek saldırıyı engelleme.

2. SYN Flood Saldırısı

TCP SYN Flood saldırısı TCP’nin handshake yollarından yararlanmayı amaçlamaktadır. Handshake üç adımdan oluşur:

  1. İstemci sunucuya bağlantı oluşturmak için bir SYN mesajı gönderir.
  2. Sunucu istemciye cevap olarak bir SYN-ACK göndererek isteği onaylar.
  3. İstemci bir ACK ile yanıt vererek bağlantı başlatır.

Bir TCP SYN Flood saldırısı sunucuya bir dizi SYN isteği gönderir. Ancak son ACK’yı bilerek göndermekten kaçınır. Bu sunucunun gelmeyeceğine bilmediği için yanıtı beklemesine dolayından yarı açık bağlantıların her birine için kaynak tüketir.

Syn Flooding

3. SYN Flood Saldırı Türleri

Spoofed: istemci sunucuya gelen SYN paketleri IP adresini taklit ederek.

Direct: saldırgan saldırı için gerçek IP adresi tek kaynaklı bir cihaz kullanır.

Distributed: kötü amaçlı paketlerin kaynağını yayan birçok cihaza roobot kullanır.

4. SYN Saldırılarını Azaltma Teknikleri

Filtreleme: filtreleme kuralları oluşturma, kötü amaçlı IP adreslerine ve SYN isteklerini engelleme.

Artan biriktirme: sunucular daha sayıda SYN isteğini işleyebilir.

SYN-RECEIVED zamanlayıcıyı azaltıma: Sunucunun bir SYN-ACK gönderdikten sonra ACK bekleme süresi azaltmak

SYN Önbelleği: Sunucuya gelen SYN isteğine yüksek sayıda ayırmak yerine, istek hakkında daha az miktarda bilgi depolamak için önbellek kullanma.

5. Test Ortamının Oluşturulması

Saldırı test ortamını oluşturmak için Vmware programını yüklememiz gerekmektedir. Program üzerinden 2 adet sanal sunucu oluşturup içerisine Kali Linux işletim sistemini yüklememiz gerekmektedir.

İki sanal makinelerin kendi ip adresleri öğrenmek için ip a komutu kullanıldı.

1. Sanal sunucunun ip bilgileri

Şekil 2 1.Sanal sunucunun ip bilgileri

2. Sanal sunucunun ip bilgileri

İki sanal makine arasında bağlantı olup olmadığını kontrol edebilmek için birbirlerine ping atıyoruz.

1. sanal sunucudan 2. sanal sunucuya atılan ping
2. sanal sunucudan 1. sanal sunucuya atılan ping

5.1. Saldırı İçin Bilgi Toplama

Saldırı oluşmadan önce sunucunun performansı

5.2. Attack Aşamaları

Çoğu durumda, saldırganlar rastgele IP adreslerini taklit etmek için hping veya başka bir araç kullanır; bu nedenle, biz buna odaklanacağız.

5.2.1. Nmap

Bağlantı Noktası Tarama: Nmap, hedef sistemdeki açık bağlantı noktalarını taraması. TCP, SYN ve UDP içeren çeşitli tarama türlerini destekler. Bağlantı noktası taraması, bir sistem üzerinde çalışan hizmetleri ve olası güvenlik açıklarını anlamak için çok önemlidir.

5.2.2. Scan

Saldırganın SYN saldırısı sırasında bağlantı noktalarını taramayı seçmesinin bir nedeni, hedef sistemdeki açık bağlantı noktalarını belirlemektir. Saldırgan, çeşitli portlara SYN paketleri göndererek hedef sistemin verdiği tepkilere gözlemleyebilir. Bir port açıksa, hedef sistem bir bağlantı kurmaya istekli olduğunu belirten bir SYN-ACK ile yanıt verebilir. Bir bağlantı noktası kapalıysa, hedef sistem farklı türde bir paketle yanıt verebilir.

5.3. Saldırının Gerçekleştirilmesi

Aşağıdaki satır, SYN Flood saldırısını başlatmamızı ve hedefimize (192.168.248.129) yönlendirmeyi sağlar.

-c gönderilecek paket sayısı belirler -rand-source random source adress
-d data hacmi belirler -p hangi porta paketleri gönderecek

Saldırının başlaması

5.4. Saldırı tespiti

Aşağıdaki filtreyi kullanarak herhangi bir bildirim olmadan SYN paketlerini filtreleyebiliriz.
tcp.flags.syn == 1 and tcp.flags.ack == 0

— rand-source: komutu kullanıldığı için gönderici ip address random bir şekilde değişir

Saldırının Tespiti

SYN flood saldırı esnasında ack=1 göndermediğine kontrol etmek için tcp.flags.syn == 1 and tcp.flags.ack == 1 kullandık

Rand source sayesinde ack paketlerinin gönderilmemesi

5.5. Farklı Saldırı Örneği

2. Saldırı
Saldırının tespiti

6. Gerçek Ortam

Saldırının gerçek ortamda gerçekleştirebilmek için 2 bilgisayara ihtiyacımız var. Saldırı yapacak bilgisayar işletim sistemi kali linux, saldırı yapılacak bilgisayarın işletim sisteminde ise Windows 10 bulunmaktadır.

Windows 10 işletim sistemine ait istasyonun ip adresi
Saldırı yapacak istasyonun ip adresi

6.1. Saldırıyı Gerçekleştirme

Aşağıdaki satır, SYN Flood saldırısını başlatmamızı ve hedefimize (192.168.1.104) yönlendirmeyi sağlar.

-c gönderilecek paket sayısı belirler -d data hacmi belirler -p hangi porta paketleri gönderecek

Kaynak adres belirtmeden yapılan saldırı

6.2. Saldırının Tespiti

Aşağıdaki filtreyi kullanarak herhangi bir bildirim olmadan SYN paketlerini filtreleyebiliriz.
tcp.flags.syn == 1 and tcp.flags.ack == 0

— rand-source: komutu kullanıldığı için gönderici ip address random bir şekilde değişirs

Saldırı yapılan istasyondan saldırının tespiti

Şekil 15 saldırı yapılan bilgisayardan saldırının tespiti

Saldırı yapılan istasyonun saldırı esnasındaki performans değişimi

7. Kaynakça:

22/11/2023, https://www.akamai.com/glossary/what-are-syn-flood-ddos-attacks, What Are SYN Flood DDoS Attacks?

22/11/2023, https://www.imperva.com/learn/ddos/syn-flood/, What is a TCP SYN Flood | Mitigation Techniques | Imperva

22/11/2023, https://www.indusface.com/blog/what-is-syn-synchronize-attack-how-the-attack-works-and-how-to-prevent-the-syn-attack/, What is SYN Attack and How to Prevent the Attack? | Indusface Blog

22/11/2023, https://www.cloudflare.com/learning/ddos/syn-flood-ddos-attack/, SYN flood DDoS attack | Cloudflare

--

--