DNS zehirlenmesi nedir?
DNS zehirlenmesi, bir DNS önbelleğine yanlış bilgi girme eylemidir, böylece DNS sorguları yanlış bir yanıt döndürür ve kullanıcılar yanlış web sitelerine yönlendirilir. DNS önbellek zehirlenmesi, “DNS sahtekarlığı” veya “DNS spoofing” olarak da bilinir.
IP adresleri, internet trafiğinin doğru yerlere ulaşmasını sağlar. DNS çözümleyici önbellekleri dizindir ve hatalı bilgileri depoladıklarında, önbelleğe alınan bilgiler düzeltilene kadar trafik yanlış yerlere gider. Bunun, gerçek web sitelerinin gerçek IP adresleriyle olan bağlantısını gerçekten kesmediğini unutmayın.
Genellikle DNS çözümleyicilerinin önbelleklerindeki verileri doğrulamalarının bir yolu olmadığından, yanlış DNS bilgileri, geçerlilik süresi (TTL) sona erene veya manuel olarak kaldırılana kadar önbellekte kalır. Bir dizi güvenlik açığı, DNS zehirlenmesini mümkün kılar. DNSSEC adı verilen daha güvenli bir DNS protokolü, bu sorunlardan bazılarını çözmeyi amaçlamaktadır, ancak henüz yaygın olarak benimsenmemiştir.
DNS çözücüler ne yapar?
DNS çözümleyicileri, istemcilere bir etki alanı adıyla ilişkili IP adresini sağlar. Başka bir deyişle, kartal24.com
gibi insan tarafından okunabilir web sitesi adreslerini alır ve bunları makine tarafından okunabilir IP adreslerine çevirirler. Bir kullanıcı bir web sitesine gitmeye çalıştığında, işletim sistemi bir DNS çözümleyiciye bir istek gönderir. DNS çözümleyici, IP adresiyle yanıt verir ve web tarayıcısı bu adresi alır ve web sitesini yüklemeye başlar.
DNS önbelleğe alma nasıl çalışır?
Bir DNS çözümleyici, yanıtları belirli bir süre için IP adresi sorgularına kaydedecektir. Bu şekilde, çözümleyici, tipik DNS çözümleme sürecine dahil olan birçok sunucuyla iletişim kurmaya gerek kalmadan gelecekteki sorgulara çok daha hızlı yanıt verebilir. DNS çözümleyicileri, yanıtları önbelleklerinde, söz konusu IP adresiyle ilişkilendirilmiş belirlenmiş yaşam süresi (TTL) izin verdiği sürece kaydeder.
Hacker’lar DNS önbellekleri nasıl zehirler?
Saldırganlar, DNS ad sunucularını taklit ederek, bir DNS çözümleyicisine istekte bulunarak ve ardından DNS çözümleyicisi bir ad sunucusunu sorduğunda yanıtı taklit ederek DNS önbelleklerini zehirleyebilir. Bu, DNS sunucularının TCP yerine UDP kullanması ve şu anda DNS bilgileri için doğrulama olmaması nedeniyle mümkündür.
Her iki iletişim tarafının da iletişimi başlatmak ve cihazların kimliğini doğrulamak için bir anlaşma gerçekleştirmesini gerektiren TCP kullanmak yerine, DNS istekleri ve yanıtları UDP’yi veya Kullanıcı Datagram Protokolünü kullanır. UDP ile, bir bağlantının açık olduğuna, alıcının almaya hazır olduğuna veya gönderenin söylediği kişi olduğuna dair bir garanti yoktur. UDP, bu nedenle sahteciliğe karşı savunmasızdır. Bir hacker, UDP aracılığıyla bir mesaj gönderebilir ve başlık verilerini taklit ederek meşru bir sunucudan bir yanıtmış gibi davranabilir.
Bir DNS çözümleyici sahte bir yanıt alırsa, verileri kritik olmayan bir şekilde kabul eder ve önbelleğe alır çünkü bilginin doğru olup olmadığını ve yasal bir kaynaktan geldiğini doğrulamanın bir yolu yoktur. DNS önbelleğe alma sürecindeki bu önemli güvenlik açığı noktalarına rağmen, DNS zehirleme saldırıları kolay değildir. DNS çözümleyicisi aslında yetkili ad sunucusunu sorguladığından, saldırganların yetkili ad sunucusundan gerçek yanıt gelmeden önce sahte yanıtı göndermek için yalnızca birkaç milisaniye süresi vardır.
Saldırganlar, DNS çözümleyiciye başka bir şekilde de erişebilirler. Kötü niyetli bir taraf bir DNS çözümleyiciyi çalıştırır, hackler veya fiziksel erişim kazanırsa, önbelleğe alınan verileri daha kolay değiştirebilir.
Ağ iletişiminde, bir bağlantı noktası sanal bir iletişim alma noktasıdır. Bilgisayarların her biri kendi numarasına sahip birden çok bağlantı noktası vardır ve bilgisayarların birbiriyle konuşabilmesi için belirli bağlantı türleri için belirli bağlantı noktalarının belirlenmesi gerekir. Örneğin, HTTP iletişimleri her zaman bağlantı noktası 80’e gider ve HTTPS her zaman 443 numaralı bağlantı noktasını kullanır.
DNS sahtekarlığı ve sansür
Bazı devletler, belirli web sitelerine veya web kaynaklarına erişimi reddetmek için kendi ülkelerinde DNS önbelleklerini kasıtlı olarak zehirledi. Türkiye’de de İnternet servis sağlayıcıları, kendi kullanıcılarına hacker’ların dolandırıcılık için kullandıkları yöntemlerden birisi olan DNS zehirleme yöntemini uygular.
DNS zehirleme veya DNS hijacking yöntemleri kullanıcıların kişisel bilgisayarlarında kullandıkları bazı halka açık DNS (Alan adı Çözümleme) sunucuları, bazı adresleri kendi DNS sunucularına yönlendirmeye başladılar. Türk servis sağlayıcıları belirli dönemlerde başta Google DNS ve Open DNS, Level3 DNS gibi bir çok halka açık DNS adresinden gelen çağrıları sanki onlardan geliyormuş gibi kendi sunucularına yönlendirdiler.
Bu DNS’leri bilgisayarınızda kullanıyorsanız, örneğin tarayıcınıza youtube.com yazdığınızda servis sağlayıcınız sanki Google DNS öyle yönlendiriyormuş gibi yapıp, sizi servis sağlayıcınızdan bir IP’ye yönlendirmekte. Tabii ki bunda Google DNS veya Open DNS’in size gönderdiği bilgi yanlış değil, çünkü zaten onlardan gelen bilgiler değil, onlardan sanarak ISP’den gelen yanıtı alıyorsunuz. Bu nedenle normalde yasaklı sitelere girebilmeniz gerekirken, DNS değiştirseniz bile giremiyorsunuz. Aslında DNS değiştirmemiş oluyorsunuz.
Diğer bir deyişle teknik altyapıda yapılan bir değişiklik dolayısıyla kullanıcıların yasaklı sitelere girmek için yoğun olarak kullandığı Open DNS sunucularına ait IP adresleri ‘hijack’ edildi ve Türkiye sınırları içinde orijinalinden farklı DNS sunucularında kullanılmaya başlandı. Bu IP adresleri Türkiye içinde çalınarak yine Türkiye içerisinde bulunan DNS sunucularına verildiğinden bu adreslere doğru olan tüm DNS trafiği Türkiye çapında sonlandırıldı, dışarı çıkamaz duruma geldi.
Bu yolla DNS değiştiren kullanıcıların Türkiye’de kayıtlı bir DNS’e yönlendirilerek yasaklı sitelere girişinin daha keskin bir şekilde engelleneceği düşünülüyor. Eğer siz de mevcut DNS’inizle engellenmiş web sitelere giremiyorsanız, nedeni bundan ibarettir. Bu durumu çözmek için Engellenmiş web sitelere VPN’siz girmek ile ilgili kılavuzumuzdan DoH yöntemini öğrenerek DNS değiştirmeyi deneyin.