DNS önbelleğine sahte veriler eklemek için yeni SAD DNS saldırısı

Riverside'daki California Üniversitesi'nden bir araştırma ekibi, CVE-2021-20322 güvenlik açığını engellemek için geçen yıl eklenen korumalara rağmen çalışan SAD DNS saldırısının (CVE-2020-25705) yeni bir versiyonunu yayınladı. Yeni yöntem genel olarak geçen yılki güvenlik açığına benziyor ve yalnızca aktif UDP bağlantı noktalarını kontrol etmek için farklı türde ICMP paketlerinin kullanılması açısından farklılık gösteriyor. Önerilen saldırı, hayali verilerin DNS sunucusu önbelleğine yerleştirilmesine olanak tanır; bu, önbellekteki rastgele bir etki alanının IP adresini değiştirmek ve etki alanına yönelik istekleri saldırganın sunucusuna yönlendirmek için kullanılabilir.

Önerilen yöntem, sunucu tarafından bir veri göndermek için kullanılan UDP bağlantı noktası numarasının belirlenmesini kolaylaştıran bir veri sızıntısı kaynağı görevi gören Linux'taki ICMP paket işleme mekanizmasının özelliklerine bağlantısı nedeniyle yalnızca Linux ağ yığınında çalışır. harici istek. Bilgi sızıntısını engelleyen değişiklikler Ağustos ayının sonunda Linux çekirdeğine uygulandı (düzeltme çekirdek 5.15'e ve çekirdeğin LTS dallarına yönelik Eylül güncellemelerine dahil edildi). Çözüm, ağ önbelleklerinde Jenkins Hash yerine SipHash karma algoritmasının kullanılmasına geçişle sınırlı. Dağıtımlardaki güvenlik açığının giderilmesi durumu şu sayfalardan değerlendirilebilir: Debian, RHEL, Fedora, SUSE, Ubuntu.

Sorunu tespit eden araştırmacılara göre, OpenDNS ve Quad38 (9) gibi popüler DNS hizmetleri de dahil olmak üzere ağdaki açık çözümleyicilerin yaklaşık %9.9.9.9'i savunmasız durumda. Sunucu yazılımlarına gelince, Linux sunucu üzerinde BIND, Unbound ve dnsmasq gibi paketler kullanılarak saldırı gerçekleştirilebilmektedir. Windows ve BSD sistemlerinde çalışan DNS sunucularında sorun görünmüyor. Bir saldırıyı başarılı bir şekilde gerçekleştirmek için IP sahtekarlığının kullanılması gerekir; Saldırganın İSS'sinin sahte kaynak IP adresine sahip paketleri engellememesi gerekir.

Bir hatırlatma olarak, SAD DNS saldırısı, 2008 yılında Dan Kaminsky tarafından önerilen klasik DNS önbellek zehirlenmesi yöntemini engellemek için DNS sunucularına eklenen korumaları atlar. Kaminsky'nin yöntemi, yalnızca 16 bit olan DNS sorgu kimliği alanının küçük boyutunu yönetir. Ana bilgisayar adı sahtekarlığı için gerekli olan doğru DNS işlem tanımlayıcısını seçmek için yaklaşık 7000 istek göndermek ve yaklaşık 140 bin hayali yanıtı simüle etmek yeterlidir. Saldırı, hayali bir IP bağlaması ve farklı DNS işlem tanımlayıcıları olan çok sayıda paketin DNS çözümleyicisine gönderilmesinden ibarettir. İlk yanıtın önbelleğe alınmasını önlemek için, her yapay yanıt biraz değiştirilmiş bir alan adı içerir (1.example.com, 2.example.com, 3.example.com, vb.).

Bu tür saldırılara karşı koruma sağlamak için, DNS sunucusu üreticileri, çözümleme isteklerinin gönderildiği kaynak ağ bağlantı noktalarının rastgele bir dağılımını uyguladı; bu, tanımlayıcının yeterince büyük olmamasını telafi etti. Kurgusal bir yanıt göndermek için koruma uygulandıktan sonra, 16 bitlik bir tanımlayıcı seçmenin yanı sıra, 64 bin bağlantı noktasından birinin seçilmesi gerekli hale geldi ve bu da seçim seçeneklerinin sayısını 2^32'ye çıkardı.

SAD DNS yöntemi, ağ bağlantı noktası numarasının belirlenmesini radikal bir şekilde basitleştirmenize ve saldırıyı klasik Kaminsky yöntemine azaltmanıza olanak tanır. Saldırgan, ICMP yanıt paketlerini işlerken ağ bağlantı noktalarının etkinliklerine ilişkin sızdırılan bilgilerden yararlanarak, kullanılmayan ve etkin UDP bağlantı noktalarına erişimi tespit edebilir. Bu yöntem, arama seçeneklerinin sayısını 4 büyüklük sırası kadar azaltmamıza olanak tanır - 2^16 yerine 2^16+2^32 (131_072_4_294 yerine 967_296). Etkin UDP bağlantı noktalarını hızlı bir şekilde belirlemenizi sağlayan bilgi sızıntısı, parçalanma istekleri (ICMP Parçalanma Gerekli bayrağı) veya yeniden yönlendirme (ICMP Yeniden Yönlendirme bayrağı) ile ICMP paketlerini işlemeye yönelik koddaki bir kusurdan kaynaklanır. Bu tür paketlerin gönderilmesi, ağ yığınındaki önbelleğin durumunu değiştirir; bu, sunucunun yanıtına göre hangi UDP bağlantı noktasının etkin olup hangisinin olmadığını belirlemeyi mümkün kılar.

Saldırı Senaryosu: Bir DNS çözümleyici, bir alan adını çözümlemeye çalıştığında, alana hizmet veren DNS sunucusuna bir UDP sorgusu gönderir. Çözümleyici bir yanıt beklerken, bir saldırgan, isteği göndermek için kullanılan kaynak bağlantı noktası numarasını hızlı bir şekilde belirleyebilir ve buna sahte bir yanıt göndererek, IP adresi sahteciliği kullanarak etki alanına hizmet veren DNS sunucusunun kimliğine bürünebilir. DNS çözümleyici, sahte yanıtta gönderilen verileri önbelleğe alır ve bir süre, alan adı için diğer tüm DNS istekleri için saldırganın değiştirdiği IP adresini döndürür.

Kaynak: opennet.ru

Yorum ekle