IP spoofing, kaynak IP adresi sahte olan Internet Protocol (IP) paketleri oluşturma eylemidir; böylece paketler, gerçekte geldikleri makine veya kullanıcıdan farklı bir kaynaktan geliyormuş gibi görünür.
IP spoofing'in temel işleyişi, bir paketin IP başlığındaki kaynak IP adresi alanını değiştirmeye dayanır. Bu müdahale, alıcı sistemin paketin belirtilen — çoğu zaman meşru ama yanlış — kaynak IP adresinden geldiğine inanmasına yol açar. Teknik, IP'nin kendi durumsuz (stateless) yapısını istismar eder: paketler, kaynağın doğrulanması gerekmeksizin hedef adreslere göre yönlendirilir.
IP spoofing nasıl çalışır
Bir IP paketi; kaynak IP adresi, hedef IP adresi, protokol tipi ve checksum gibi alanlar içeren bir başlık taşır. Bir sistem paket gönderdiğinde, kaynak IP adresi alanını kendi IP'siyle doldurur. IP spoofing saldırısında ise saldırgan paketleri elle oluşturur ve kaynak alanına rastgele bir IP adresi yerleştirir.
Paket oluşturma örneği (Scapy ile Python)
Saldırganlar bu paketleri hazırlamak için hazır araçlar veya kendi yazdıkları betikleri kullanabilir. Örneğin Python'da scapy ile:
from scapy.all import IP, TCP, send
# Sahte kaynak IP'yi ve hedef IP'yi tanımla
spoofed_ip = "192.168.1.100" # Örnek: iç ağdaki bir host
target_ip = "10.0.0.50" # Örnek: hedef alınan bir sunucu
# Sahte kaynakla bir IP paketi oluştur
ip_layer = IP(src=spoofed_ip, dst=target_ip)
# Bir TCP katmanı ekle (örn. bağlantı denemesi için SYN paketi)
tcp_layer = TCP(dport=80, flags="S") # Hedef port 80, SYN bayrağı
# Katmanları birleştir
spoofed_packet = ip_layer / tcp_layer
# Paketi gönder (root/admin yetkisi gerektirir)
send(spoofed_packet)
print(f"Sent spoofed packet from {spoofed_ip} to {target_ip}")
Bu örnek, kaynak IP adresinin gerçek göndericinin IP'si yerine 192.168.1.100 olarak ayarlandığı bir TCP SYN paketinin gönderilmesini gösterir. Hedef sistem 10.0.0.50 bu paketi alır ve sanki 192.168.1.100 adresinden gelmiş gibi işler.
Dönüş trafiği sorunu
IP spoofing kullanan saldırganlar için önemli bir zorluk dönüş trafiğini yönetmektir. Hedef sistem sahte bir pakete yanıt verdiğinde, yanıtı saldırganın gerçek IP'sine değil, sahte kaynak IP adresine gönderir.
- Kör spoofing (blind spoofing): Bu senaryoda saldırgan hedefin yanıtlarını almaz. Çift yönlü bağlantı veya oturum kurulumu gerektirmeyen saldırılar için etkilidir, örneğin:
- Hizmet reddi (DoS) saldırıları: Yanıtların saldırının başarısı için kritik olmadığı durumlarda hedefi sahte paketlerle boğmak (örn. SYN flood, UDP flood).
- DDoS amplifikasyon saldırıları: Sahte bir kurban IP adresine büyük bir yanıt göndermek için bir yansıtıcı sunucu (örn. DNS, NTP) kullanmak. Saldırgan kurbanın IP'sini kaynak olarak taklit eder, yansıtıcıya küçük bir istek gönderir; yansıtıcı da kurbana büyük bir yanıt yollar.
- Kör olmayan spoofing (non-blind spoofing): Daha karmaşıktır ve saldırganın dönüş trafiğini yakalayabilmesini gerektirir. Bu genellikle yalnızca saldırganın sahte IP'ye giden trafiği dinleyebildiği yerel bir ağ segmentinde ya da saldırganın yönlendirme yolları üzerinde denetimi varsa mümkündür. Örnekler:
- ARP spoofing (Katman 2): İlişkili ama farklıdır; yerel trafiği yakalamak için MAC adresleri taklit edilir.
- Oturum ele geçirme (session hijacking): Saldırgan sıra numaralarını tahmin edip mevcut bir oturuma paket enjekte edebiliyorsa, tüm dönüş trafiğini almasa bile mümkündür.
IP spoofing'in amaçları
Saldırganlar IP spoofing'i birkaç nedenle kullanır:
- Anonimlik: Gerçek kimliklerini ve kaynaklarını gizleyerek izlerinin sürülmesini zorlaştırmak.
- Güvenlik denetimlerini aşmak: Bazı güvenlik sistemleri kimlik doğrulama veya erişim kontrol listeleri (ACL) için IP adresine dayanır. Spoofing, saldırganın güvenilir bir host gibi görünmesini sağlar.
- Hizmet reddi (DoS) ve dağıtık hizmet reddi (DDoS) saldırıları: Belirtildiği gibi spoofing, saldırganın kaynağını gizlemek ve saldırı hacmini büyütmek için bu saldırılarda yaygın bir tekniktir.
- Saldırı tespit sistemlerinden (IDS) kaçmak: Kaynak IP'leri değiştirerek saldırganlar tespitten kaçmaya veya saldırı izlerini dağıtmaya çalışabilir.
IP spoofing'e karşı korunma
IP spoofing'e karşı etkili korunma; ağ altyapısını, host tabanlı güvenliği ve uygulama düzeyindeki denetimleri kapsayan çok katmanlı bir yaklaşım gerektirir.
1. Giriş filtreleme (BCP 38)
RFC 2827 (bugün BCP 38) ile tanımlanan giriş filtreleme, internet servis sağlayıcıları (ISP) ve ağ operatörleri tarafından uygulanan kritik bir savunmadır. Ağ sınırlarında gelen paketleri (ingress) kontrol ederek, kaynak IP adreslerinin geldikleri ağ bloğuna ait olduğunu doğrulamayı içerir.
- Mekanizma: Yönlendiriciler, ağlarına giren paketlerin kaynak IP adresini inceler. Bir paket, o giriş arayüzündeki müşterilere tahsis edilmemiş bir IP adresinden geldiğini iddia ediyorsa, yönlendirici paketi düşürür.
- Etki: Bu, dış saldırganların ISP'nin kendi adres alanından veya başka dış adres alanlarından geliyormuş gibi görünen sahte paketler göndermesini engeller. Ağ sınırları arasında kör spoofing saldırılarının etkinliğini önemli ölçüde azaltır.
2. Çıkış filtreleme
Çıkış filtreleme, bir kurumun iç ağı içinde, dış ağa açılan sınırda uygulanır.
- Mekanizma: Güvenlik duvarları veya yönlendiriciler, giden paketlerin (egress) kaynak IP adresinin kurumun iç ağına ait olduğunu doğrular.
- Etki: Bu, ele geçirilmiş iç sistemlerin veya kötü niyetli çalışanların, dış IP adreslerinden geliyormuş gibi görünen sahte paketler göndermesini engeller. Ayrıca kurumun ağının DDoS amplifikasyon saldırılarında kaynak olarak kullanılmasını önlemeye yardımcı olur.
| Özellik | Giriş filtreleme | Çıkış filtreleme |
|---|---|---|
| Konum | ISP/upstream ağ sınırı | Kurumun ağ sınırı (giden) |
| Yön | Müşteri ağlarından gelen trafik | İç ağdan çıkan trafik |
| Amaç | Sahte IP'lerin ağa girmesini engellemek | Sahte IP'lerin ağdan çıkmasını engellemek |
| Başlıca fayda | İnterneti sahte IP'lerden kaynaklanan saldırılara karşı korur | Diğer ağları sizin iç ağınızdan kaynaklanan saldırılara karşı korur |
3. TCP sıra numaraları
TCP gibi bağlantı odaklı protokollerde sıra numaraları, paketlerin doğru sırayla alınmasını sağlamak ve tekrar (replay) saldırılarını önlemek için kullanılır.
- Mekanizma: TCP el sıkışması sırasında (SYN, SYN-ACK, ACK) başlangıç sıra numaraları (ISN) karşılıklı iletilir. Sonraki paketler bu numaraları artırır.
- Etki: Bir saldırgan, doğru sıra numarasını bilmeden mevcut bir TCP oturumuna sahte paket enjekte etmeye çalışırsa, alıcı sistem paketi genellikle atar; çünkü paket beklenen sıra penceresine uymaz. Bu da aktif TCP oturumlarının kör olmayan spoofing'ini, saldırgan sıra numaralarını doğru şekilde tahmin edemedikçe veya gözlemleyemedikçe çok zorlaştırır.
4. IPsec
IPsec (Internet Protocol Security), IP katmanında güvenlik hizmetleri sağlayan bir protokol ailesidir.
- Mekanizma: IPsec, kriptografik yöntemlerle (örn. AH — Authentication Header) IP paketlerinin kaynağını doğrulayabilir ve verileri şifreleyebilir (ESP — Encapsulating Security Payload).
- Etki: Doğru uygulandığında IPsec, paketlerin gerçekten iddia edilen kaynaktan geldiğini ve yolda değiştirilmediğini garanti eder. Bu, IPsec ile korunan trafikte IP spoofing'i etkili biçimde etkisizleştirir.
5. Proxy hizmetleri
Proxy hizmetleri IP adresleri bağlamında ikili bir rol oynar: doğaları gereği giden bağlantıların görünen kaynak IP'sini değiştirirler ve kötü niyetli spoofing'e karşı koruma sunabilirler.
- Anonimlik/kaynak IP maskeleme: Bir istemci proxy üzerinden bağlandığında, hedef sunucu kaynak olarak istemcinin gerçek IP'sini değil proxy'nin IP adresini görür. Bu, anonimlik sağlayan veya proxy'nin IP'sine dayalı erişim kontrolüne izin veren meşru bir IP adresi değişikliğidir. Proxy meşru biçimde aracı rolü üstlendiği için kötü niyetli IP spoofing'den farklıdır.
- Filtreleme ve doğrulama: Sağlam bir proxy hizmeti kendi filtreleme kurallarını uygulayabilir. Gelen istemci isteklerini iletmeden önce doğrular. Bir istemci sahte kaynak IP ile trafik göndermeye çalışırsa (örn. özel bir başlıkta veya uygulama katmanı protokolünde), proxy bunu tespit edip engelleyebilir.
- Kimlik doğrulama: Proxy'ler, istemcilerin hizmetlere erişmesi için güçlü kimlik doğrulama mekanizmaları (örn. kullanıcı adı/parola, istemci sertifikaları) zorunlu kılabilir. Böylece saldırgan bir IP adresini taklit etmeyi başarsa bile proxy'nin gerektirdiği kimlik doğrulamayı aşamaz.
- Hız sınırlama: Proxy'ler istemci veya hedef bazında hız sınırlaması uygulayabilir; böylece sahte trafiğin bir kısmı proxy'ye ulaşsa bile DoS saldırılarının etkisi azaltılır.
- Uygulama katmanı güvenliği: Proxy'ler daha üst katmanlarda çalışır (örn. HTTP/HTTPS proxy'leri). Uygulama katmanı başlıklarını ve içeriğini inceleyip doğrulayabilir, böylece IP düzeyindeki filtrelemenin ötesinde bir savunma katmanı sağlarlar. Örneğin bir proxy, HTTP
X-Forwarded-Forbaşlıklarının tutarlı olduğunu doğrulayabilir veya potansiyel olarak zararlı olanları temizleyebilir.
6. Diğer kimlik doğrulama mekanizmaları
Kimlik doğrulama için yalnızca IP adreslerine güvenmek (IP tabanlı ACL'ler), spoofing riski nedeniyle doğası gereği güvensizdir.
- Mekanizma: Daha güçlü kimlik doğrulama yöntemleri uygulayın:
- Kullanıcı adı ve parolalar: Standart kimlik doğrulama.
- Çok faktörlü kimlik doğrulama (MFA): Ek bir güvenlik katmanı ekler.
- Dijital sertifikalar: Karşılıklı TLS kimlik doğrulaması için istemci tarafı sertifikaları.
- API anahtarları/token'ları: Programatik erişim için.
- Etki: Saldırgan bir IP adresini taklit etse bile geçerli kimlik bilgileri veya sertifikalar olmadan yetkisiz erişim sağlayamaz.
7. Güvenlik duvarları ve saldırı tespit/önleme sistemleri (IDS/IPS)
- Mekanizma: Güvenlik duvarları, geçersiz kaynak IP'lere sahip paketleri düşürecek şekilde yapılandırılabilir (örn. dış arayüzlerde özel IP adresleri, loopback adresleri). IDS/IPS sistemleri, var olmayan veya beklenmedik kaynak IP'lerden ani paket akını gibi spoofing girişimine işaret eden anormal trafik desenlerini ya da imzaları tespit edebilir.
- Etki: Bu sistemler gerçek zamanlı izleme ve engelleme yeteneği sunarak IP spoofing'in çeşitli biçimlerine karşı ek bir savunma katmanı ekler.
