DNS Rebinding Saldırısı Nedir?

DNS rebinding, saldırganın denetlediği alan adını önce genel internetteki kendi sunucusuna, ardından aynı ad korunurken kullanıcının yerel ağındaki veya cihazındaki bir adrese çözdürmeye dayanan saldırı tekniğidir. DNS kaydı çalınmış olmak zorunda değildir; saldırgan kendi alanının yetkili DNS yanıtlarını bilerek değiştirir.
Risk, tarayıcının web kaynağını protokol, sunucu adı ve bağlantı noktasıyla tanımlaması, buna karşılık bu adın bağlandığı IP adresinin zaman içinde değişebilmesinden doğar. Saldırganın sayfasında çalışan kod aynı kaynakta görünürken yeni ağ bağlantısı yönlendiriciye, yazıcıya, geliştirme sunucusuna veya başka bir yerel hizmete gidebilir.
DNS rebinding her denemede başarılı olmaz. DNS ve tarayıcı önbelleği, açık bağlantının yeniden kullanılması ve tarayıcının yerel ağ izinleri hedefe ulaşılıp ulaşılamayacağını etkiler. Web istekleriyle yanıtlarının iletilmesinde kullanılan HTTP içinde hedef adı belirten Host ve uygun isteklerde çağrıyı başlatan kaynağı belirten Origin başlıkları bulunur. Yerel hizmetin bu bilgileri doğrulaması, kimlik doğrulama istemesi ve ağ erişiminin sınırlandırılması saldırıyı durdurabilir; savunma yalnız DNS yanıtlarını filtreleyen tek bir ayara bırakılamaz.
DNS Rebinding Saldırısı Adım Adım Nasıl Çalışır?
- Saldırgan bir alan adını ve bu alanın yetkili DNS yanıtlarını kontrol eder.
- İlk DNS yanıtı, saldırganın genel IP adresindeki web sunucusunu gösterir.
- Kullanıcı bu sunucudan saldırganın komut dosyasını yükler; tarayıcı kaynak kimliğini alan adıyla kurar.
- Saldırgan sonraki DNS yanıtını özel ağ, yalnız yerel bağlantıda geçerli link-local veya cihazın kendisine dönen loopback adresine değiştirir.
- Tarayıcı yeni bağlantı açıp adı tekrar çözerse aynı alan adına gönderilen istek yerel hedefe ulaşabilir.
- Hedef hizmet isteği kabul eder ve yanıtı tarayıcıya verirse saldırgan kodu veri okumaya veya işlem başlatmaya çalışabilir.
Saldırgan tek bir düşük süreli kayıt, IPv4 adresini taşıyan A ve IPv6 adresini taşıyan AAAA yanıtları ya da farklı zamanlarda değişen adres kümeleri kullanabilir. Tekniğin ayrıntısı, tarayıcının hangi bağlantıyı yeniden açtığı ve hangi adresi seçtiğine göre değişir; “kısa süre verildi, saldırı kesin çalışır” sonucu çıkarılamaz.
Aynı Kaynak Politikası Neden Tek Başına Yetmez?
SOP (Same-Origin Policy), iki web bağlamının kaynaklarını protokol, sunucu adı ve bağlantı noktası aynıysa eş kabul eder. IP adresi bu üçlüde ayrı bir kaynak bileşeni değildir. DNS rebinding, alan adını ve bağlantı noktasını sabit tutup yeni bağlantının ağ hedefini değiştirmeye çalışır.
Bu nedenle saldırı aynı kaynak politikasını kapatmaz veya tarayıcının rastgele başka alanları aynı saymasını sağlamaz. Alan adının arkasındaki hedef IP adresi değişse de tarayıcı, isteği saldırganın alan adına gönderilmiş kabul eder. Başarılı bir DNS rebinding girişiminden sonra aynı kaynak kuralları, yerel hizmet yanıtının saldırgan koduna okunabilir görünmesine bile neden olabilir.
Şema da sabit kalmalıdır. İlk sayfa TLS ile korunan HTTPS kullanıyor, yerel hedef yalnız şifrelenmemiş HTTP sunuyorsa protokol değişikliği aynı kaynak eşleşmesini bozar ve karma içerik denetimi bağlantıyı engelleyebilir. Saldırganın HTTPS alan adı için yerel hedefin geçerli sertifika sunamaması da bağlantıyı keser; ancak HTTP üzerinden çalışan veya yanlış yapılandırılmış yerel hizmetler yine risk altında kalabilir.
DNS Önbelleği ve Bağlantı Yenileme İlişkisi
DNS kaydındaki TTL, recursive resolver (özyinelemeli DNS çözümleyicisi) tarafından alınan yanıtın normalde önbellekte ne kadar tutulabileceğini bildirir. Çok kısa TTL yeniden sorgu ihtimalini artırabilir, fakat tarayıcının o anda yeni DNS sorgusu yapacağını garanti etmez. Tarayıcı kendi önbelleğini, işletim sistemi önbelleğini veya açık HTTP bağlantısını kullanabilir.
Recursive resolver alt sınır uygulayabilir, sıfır TTL değerini farklı ele alabilir veya cevapları ağ politikasına göre filtreleyebilir. Bağlantı havuzu, HTTP/2 veya HTTP/3 oturumu açık kaldığında adres değişse bile yeni bağlantı kurulmayabilir. Saldırgan bu nedenle bağlantıyı kapatmaya, farklı alt kaynaklar çağırmaya veya tekrar denemeye çalışabilir.
Birden fazla IP adresinin aynı yanıtta dönmesi de tek başına rebinding kanıtı değildir; yük dengeleme ve içerik dağıtım ağlarında normaldir. Şüpheyi artıran durum, saldırgan denetimli genel bir adın kısa zaman aralığında genel adreslerden yerel veya loopback adreslerine geçmesi ve bunun yerel hizmet istekleriyle örtüşmesidir.
Hangi Yerel Hedefler Risk Altında Olabilir?
- Kimlik doğrulaması olmayan veya varsayılan parola kullanan yönlendirici ve modem yönetim arayüzleri
- Yazıcı, depolama cihazı, kamera ve diğer IoT cihazlarının web hizmetleri
127.0.0.1,::1veya başka loopback adreslerinde çalışan geliştirme ve hata ayıklama araçları- Özel IPv4, benzersiz yerel IPv6 veya link-local adreslerdeki kurum içi paneller ve uygulama programlama arayüzleri
- Yalnız ağ konumuna güvenen,
Hostdeğerini doğrulamayan veya hassas işlemi veri okuması için tasarlananGETisteğiyle korumasız yapan hizmetler
Yerel hedefin yalnız kullanıcı cihazından erişilebilir olması koruma sayılmaz; saldırı zaten tarayıcının o ağ konumunu kullanır. Buna karşılık hizmetin yalnız gerekli arayüzde dinlemesi, güçlü kimlik doğrulama istemesi, hassas işlemde yetki kontrolü yapması ve beklenmeyen kaynak başlıklarını reddetmesi zinciri kırabilir.
DNS Rebinding Benzer Saldırılardan Nasıl Ayrılır?
SSRF (Server-Side Request Forgery), bir uygulama sunucusuna istenmeyen bir hedef için istek göndertir. CSRF (Cross-Site Request Forgery) ise kullanıcının tarayıcısına, çoğunlukla mevcut oturum yetkisiyle istenmeyen bir işlem yaptırmayı hedefler. DNS rebinding’in tarayıcı üzerinden gerçekleşen biçiminde saldırgan, alan adının arkasındaki ağ hedefini değiştirir.
| Teknik | Kontrol Edilen veya Aldatılan Katman | İsteği Gönderen Taraf | Temel Ayrım |
|---|---|---|---|
| Tarayıcı üzerinden DNS rebinding | Saldırganın kendi alanı için zamanla değişen DNS yanıtı | Kullanıcının tarayıcısı | Aynı sunucu adı yeni IP adresine bağlanır |
| DNS ele geçirme | İstemci DNS ayarı, trafik yolu veya yetkili alan yapılandırması | Etkilenen istemci | Meşru adın çözümlemesi izinsiz değiştirilir |
| DNS önbellek zehirleme | Recursive resolver önbelleğine sahte yanıt yerleştirme | Recursive resolver kullanan istemciler | Saldırgan kendi alanıyla sınırlı kalmaz |
| Sunucu taraflı istek sahteciliği | Sunucu tarafındaki adres alma veya istek işlevi | Uygulama sunucusu | Tarayıcı yerine sunucunun ağ konumu kullanılır |
| Siteler arası istek sahteciliği | Kullanıcının mevcut oturumu ve korumasız işlem uç noktası | Kullanıcının tarayıcısı | Yanıtı okumadan işlem yaptırmak yeterli olabilir |
Bu teknikler birbirini dışlamaz. DNS rebinding, bir sunucunun adresi denetlediği an ile bağlantı kurduğu an arasında DNS yanıtının değişmesi yoluyla SSRF saldırısının parçası da olabilir. Bu durumda isteği tarayıcı değil, sunucu gönderir.
Güncel Tarayıcılarda Yerel Ağ Erişimi Koruması
LNA (Local Network Access), genel internetten yerel veya loopback hedeflere giden belirli istekleri kullanıcı iznine bağlar. Bu izin istemi Chrome 142 ile kullanıma sunuldu. Denetimin fetch() isteklerini, alt çerçeveleri veya tarayıcıyla sunucu arasında sürekli çift yönlü iletişim kuran WebSocket bağlantılarını kapsaması tarayıcıya ve sürüme bağlıdır.
Denetim, yalnız URL’nin farklı kaynakta olup olmadığına dayanamaz; DNS yanıtı değişebildiğinden her yeni bağlantının gerçek hedef adresi değerlendirilir. Bununla birlikte LNA taslağı, güvenilir sayılan bir kaynaktan aynı kaynağa yapılan istekler için istisna içerir; aynı kaynaklı HTTPS istekleri buna örnektir. Burada TLS sertifikasının hedef adla eşleşmesi ayrı bir koruma oluşturur. Yerel ağ ve loopback izinlerinin ayrı sunulması da tarayıcı uygulamasına bağlıdır.
Bu koruma bütün tarayıcı ve kurumsal yapılandırmalarda aynı değildir; kullanıcı izni verilmiş, yönetim politikası istisna tanımış veya eski istemci kullanılıyor olabilir. Yerel cihaz üreticisi LNA istemine güvenerek CSRF, kimlik doğrulama veya Host denetimini kaldırmamalıdır.
Recursive Resolver Üzerinde DNS Rebinding Filtresi
Yönlendiricideki DNS filtresi veya recursive resolver, genel DNS'ten gelen bir adın özel IPv4, benzersiz yerel IPv6, link-local, loopback veya başka yerel kullanım adresine çözülmesini engelleyebilir. Filtre yalnız A kaydını değil AAAA yanıtını, bir adı başka bir adın takma adı yapan CNAME kayıt zincirini ve IPv4 eşlemeli IPv6 biçimlerini de tutarlı değerlendirmelidir.
Meşru kurum içi adlandırma, ağın içi ve dışı için farklı yanıt üreten split-horizon DNS yapılandırması ve bazı cihaz keşif işlemleri yerel adres döndürebilir. İstisna gerekiyorsa bütün filtreyi kapatmak yerine yalnız doğrulanmış alan ve kullanım için en dar kuralı tanımlayın. İstemcinin başka bir DNS sunucusuna veya DoH (DNS over HTTPS) hizmetine geçmesinin yerel filtreyi atlayabileceğini de ağın DNS erişim politikasında hesaba katın.
DNS filtresi yalnız üzerinden geçen DNS yanıtlarını denetler; tarayıcının doğrudan IP adresine yaptığı isteği veya önbellekteki bir adresle kurduğu bağlantıyı tek başına durduramaz. Bu katman saldırı alanını azaltır; hedef hizmetteki yetkilendirme açığını düzeltmez.
Yerel Hizmette Host, Origin ve Oturum Denetimi
Yerel hizmet, beklediği alan adlarını ve bağlantı noktalarını izin listesiyle doğrulamalıdır. DNS rebinding isteğinde ağ bağlantısı yerel IP adresine gelse de HTTP/1.1 Host başlığı çoğunlukla saldırganın alan adını taşır; HTTP/2 ve HTTP/3 için aynı hedef bilgisi :authority alanında bulunur. Tanınmayan Host değerini varsayılan web sitesine yönlendirmek yerine isteği reddedin.
Origin başlığı uygun isteklerde çağrıyı başlatan kaynağı gösterir; WebSocket el sıkışmasında da doğrulanmalıdır. Ancak Origin her GET isteğinde bulunmadığı için tek kontrol olamaz. Origin değerini yalnız Host ile eşitliğine bakarak değil, hizmetin izin verdiği kaynaklarla karşılaştırın. Sec-Fetch-Site gibi istek bağlamı başlıkları ek bilgi sağlar; ancak rebinding sırasında same-origin değerini taşıyabilir. Bu nedenle kimlik doğrulamanın ve işlem düzeyinde yetkilendirmenin yerine geçmez.
Yönetim arayüzü varsayılan parola kullanmamalı; güvenli oturum çerezi, CSRF belirteci ve hassas işlem için yeniden doğrulama uygulamalıdır. Yalnız “istek yerel IP adresinden geldi” varsayımıyla yönetici yetkisi vermeyin. Komut çalıştırma, dosya erişimi veya ayar değiştirme gibi uç noktalar ağ konumundan bağımsız yetki kontrolü yapmalıdır.
HTTPS, CORS ve DNSSEC DNS Rebinding’i Engeller mi?
TLS ile korunan HTTPS, sertifika saldırganın alan adıyla eşleşmediğinde yeniden bağlanan yerel hizmetle bağlantıyı engelleyebilir. Bu güçlü bir engeldir; yine de yerel hizmetin kendi kimlik doğrulamasını ve yetkilendirmesini ortadan kaldırmaz. Sertifika hatalarının yok sayılması veya hizmetin HTTP üzerinden de erişilebilir olması bu korumayı zayıflatabilir. Özel bir kök sertifikanın kurulmuş olması ise hedef adı doğrulamasını kendiliğinden kaldırmaz.
CORS (Cross-Origin Resource Sharing), farklı kaynakların yanıtı okuyabilmesini düzenler. Rebinding aynı sunucu adını korumaya çalıştığı için tarayıcı isteği aynı kaynakta görebilir; bu nedenle CORS tek başına güvenilir savunma değildir. CORS güvenlik duvarı veya kimlik doğrulama sistemi de değildir.
DNSSEC, güven zinciri doğrulandığında DNS verisinin yetkili bölgeden geldiğini ve imzalandıktan sonra değiştirilmediğini doğrulamaya yardımcı olur. Saldırgan kendi alanını ve imzalı kayıtlarını meşru biçimde kontrol ediyorsa farklı IP adresleri yayımlayabilir; DNSSEC bu niyeti engellemez.
Ağ Bölümlendirmesi ve Hizmet Yüzeyini Azaltma
Yönetim ağlarını kullanıcı cihazlarından ve misafir ağından ayırın. Güvenlik duvarında yalnız gerekli kaynakların yönetim arayüzüne erişmesine izin verin; kullanılmayan yerel hizmetleri kapatın ve geliştirme araçlarını tüm arayüzler yerine yalnız gereken adreste dinletin.
Yönlendirici, tarayıcı, işletim sistemi ve yerel hizmet yazılımlarını güncel tutun. IoT cihazlarının internete çıkış ve yerel ağ erişimini ihtiyaçla sınırlandırın. Bir cihazın web paneli kullanımdan kalkmışsa yalnız DNS filtresine güvenmek yerine hizmeti kapatın veya güvenilir bir yönetim geçidi arkasına alın.
Kurumsal ortamda tarayıcı LNA izinlerini, DoH politikasını ve DNS filtre istisnalarını merkezi olarak yönetin. Korumanın kullanılan sürümdeki davranışını, yetkili olduğunuz ortamda gerçek HTTP istekleri ve WebSocket bağlantılarıyla sınayın. Kullanıcının rastgele bir siteye kalıcı yerel ağ izni vermesi yeni bir güven kararıdır; izin envanteri ve iptal süreci oluşturun.
DNS Rebinding Şüphesinde Hangi Kanıtlar Toplanır?
- Aynı alan adına farklı zamanlarda dönen A ve AAAA yanıtları, TTL değerleri ve CNAME kayıt zinciri
- Yanıtın hangi recursive resolver hizmetinden alındığı ve rebinding filtresinin karar kaydı
- Tarayıcı sürümü, LNA izin durumu, güvenli bağlam bilgisi ve ağ bağlantısının zamanı
- Yerel hizmet günlüklerindeki beklenmeyen
Host,Origin, yöntem, yol ve kullanıcı oturumu - İstemcinin genel, özel veya loopback hedefe açtığı bağlantılar ile güvenlik duvarı kayıtları
Özel IP adresi içeren yanıt tek başına saldırı kanıtı değildir. Split-horizon DNS, VPN, geliştirme ortamı ve cihaz keşfi meşru olarak yerel adres döndürebilir. Alanın sahibi, yanıt değişiminin düzeni, sayfada çalışan kod ve hedef hizmetteki istek aynı zaman çizelgesinde ilişkilendirilmelidir.
Şüpheli alanı geçici engelleyin, DNS ve HTTP günlüklerini koruyun, yerel hizmet oturumlarını sonlandırın ve hassas ayarların değişip değişmediğini inceleyin. Ardından yalnız saldırgan alanını engellemekle yetinmeden, isteğin kabul edilmesini sağlayan hizmet ve ağ zafiyetini kapatın.







