IoT Siber Güvenliği: ESP32 DNS Saldırısı Manipülasyon ve Zehirleme

IoT Siber Güvenliği: ESP32 DNS Saldırısı Manipülasyon ve Zehirleme

Bu çalışmada, ESP32 DNS istekleri üzerinde gerçekleştirilecek siber güvenlik testleriyle, yerel ağlarda ciddi tehditler oluşturan DNS zehirlenmesi (DNS Cache Poisoning) zafiyetlerini nasıl analiz edeceğimizi ve bunları nasıl engelleyeceğimizi inceleyeceğiz. Alan Adı Sistemi (Domain Name System – DNS), ağ cihazlarının insan tarafından okunabilen alan adlarını (örneğin devreyakan.com) makine düzeyindeki IP adreslerine çözümlemesini sağlayan kritik bir protokoldür. ESP32 gibi IoT donanımlarının dış dünya ile gerçekleştirdiği etkileşimde DNS istekleri ağ trafiğinin en temel bileşenidir. Geliştirdiğimiz benzer projeler için ESP32 rehberimizi inceleyebilir, ağ katmanındaki siber savunma teknikleri için IoT siber güvenliği çalışmalarını takip edebilirsiniz.

DNS İsteklerinin Temel Çalışma Mekanizması ve ESP32 Mimarisi

DNS istekleri, bir istemcinin hedef sunucuya erişebilmek amacıyla alan adının IP karşılığını sorguladığı UDP tabanlı ağ paketleridir. ESP32 mikrodenetleyicisi, etkin bir Wi-Fi veya Ethernet bağlantısı kurduğunda, uzak sunucularla (bulut sistemleri, API’ler) iletişim başlatmak için bu protokolü arka planda otomatik olarak tetikler. Bu nedenle, ESP32 DNS isteklerinin bütünlüğü ağ iletişiminin kesintisiz ve güvenli sürmesi açısından hayati önem taşır.

ESP32 DNS
DNS Zehirlemesi

ESP32 Platformunda Gömülü DNS Çözümleme Aşamaları

ESP32 donanımları, internet protokol yığını (lwIP) üzerinden hedef sunucuların IP adreslerini çözümleyerek bağlantıları başlatır. Ancak, şifresiz ve kimlik doğrulamasız (varsayılan) ESP32 DNS istekleri, yerel ağda dinleme veya müdahale gerçekleştiren saldırganların birincil hedefidir. DNS sorgu mekanizmaları üzerinde sızma testleri (penetration testing) uygulamak, ağ zafiyetlerinin tespiti için zorunlu bir adımdır.

DNS Zehirlenmesi (DNS Spoofing) Tehdit Vektörü ve ESP32 Üzerindeki Etkileri

DNS Zehirlenmesi (DNS Cache Poisoning), saldırganların DNS çözümleyicilerin (resolver) önbelleğine veya doğrudan istemciye sahte DNS yanıt paketleri enjekte ederek cihazları sahte sunuculara yönlendirdiği son derece tehlikeli bir MITM (Ortadaki Adam) saldırısı türüdür. Bu saldırı vektörü; telemetri verilerinin çalınması, firmware güncellemelerinde zararlı yazılım enjekte edilmesi veya servis dışı bırakma (DoS) durumlarının yaratılması amacıyla kullanılır. Standart ağ katmanında ESP32 DNS istekleri, kriptografik bir zırha sahip olmadığında bu manipülasyonlara karşı tamamen savunmasızdır.

Gömülü Sistemlerde DNS Zehirlenmesinin Yıkıcı Sonuçları

  • Hassas Veri İhlali (Exfiltration): Cihazın buluta gönderdiği kritik sensör verileri, kullanıcı kimlik bilgileri ve API anahtarları saldırganın kontrolündeki sahte sunucuya sızdırılır.
  • Hizmet Dışı Bırakma ve Kötü Amaçlı Kod (Malware): Cihazın kontrol ve güncelleme sunucusuyla olan bağı tamamen kesilir; sahte yönlendirmelerle cihaza manipüle edilmiş güncelleme paketleri (malicious OTA updates) yüklenmeye çalışılabilir.

DNS Manipülasyonu ve Zehirlenmesi Arasındaki Teknik Farklar

DNS Manipülasyonu (DNS Spoofing): Genellikle yerel ağda (LAN) aktif bir şekilde araya girilerek (örneğin ARP Zehirlenmesi ile) istemcinin gönderdiği DNS isteklerine anında sahte yanıt paketleri enjekte edilmesi işlemidir.

DNS Önbellek Zehirlenmesi (DNS Cache Poisoning): Ağ geçitlerinde veya ISP düzeyindeki DNS sunucularının önbellek kayıtlarının (cache) kalıcı olarak manipüle edilmesidir. Bu durumda, yerel ağda aktif bir dinleme yapılmasa bile tüm sorgular otomatik olarak sahte IP adresine yönlendirilir.


Adım 1: ESP32 Ağ Bağlantısı ve Temel DNS Konfigürasyonu

Süreç analizine başlamak için ESP32 cihazınızı hedef kablosuz ağa bağlayarak yerel ağdan aldığı IP adresini ve varsayılan DNS çözümleyici (resolver) adresini doğrulamalısınız:

Yukarıdaki başlangıç kodu, cihazın ağa dahil olmasını ve lwIP yığını üzerinden standart çözümleme sorguları göndermeye hazır hale gelmesini sağlar.

Adım 2: Laboratuvar Ortamında DNS Manipülasyonunun Gerçekleştirilmesi

ESP32’nin gerçekleştirdiği DNS isteklerini manipüle etmek amacıyla test ortamında yerel bir yönlendirme sunucusu kuracağız. Bu simülasyonda, cihazın gitmek istediği asıl IP adresi yerine saldırganın belirlediği adresi döndüreceğiz.

Ağ düzeyinde bu manipülasyonu simüle etmek için oldukça kararlı çalışan hafif bir DNS sunucu yazılımı olan dnsmasq aracından faydalanacağız. dnsmasq, yerel ağdaki sorguları yakalayarak istediğimiz IP adreslerine eşleyebilir.

sudo apt-get install dnsmasq
sudo nano /etc/dnsmasq.conf

Gerekli araçları kurduktan sonra, dnsmasq.conf dosyasını düzenleyerek yönlendirme kurallarını tanımlayın:

address=/example.com/192.168.1.100

Bu yapılandırma, ESP32’nin çözümlemek istediği example.com alan adını, sunucunun gerçek IP adresi yerine tamamen saldırganın kontrolündeki 192.168.1.100 IP adresine eşler.


ESP32 Ağ Trafiği Üzerinde DNS İsteklerinin İzlenmesi

Saha konuşlandırmalarında veya test süreçlerinde ESP32 cihazının gerçekleştirdiği DNS trafiğini izlemek, anomali tespiti için en efektif yöntemdir. Açık kaynaklı ağ analizörü Wireshark yardımıyla, cihazın gönderdiği sorgu paketleri ve aldığı yanıtlar gerçek zamanlı olarak izlenebilir.

Wireshark ile Paket Analizi ve Anomali Tespiti

Wireshark arayüzünde filtreleme yaparak ESP32’nin ağdaki hareketlerini izleyebilirsiniz. Cihaz example.com adresine gitmek istediğinde, DNS protokolü üzerinden gelen sahte yanıt paketleri ağda açıkça görülecektir.

Ağ trafiği akarken Wireshark üzerinde şu adımları izleyerek manipülasyonu analiz edebilirsiniz:

  1. Ağ Trafiğini Filtreleyin: Wireshark filtre alanına dns veya ip.addr == ESP32_IP_ADRESI komutunu girerek sadece ilgili cihazın sorgularını süzün.
  2. Paket Başlıklarını (Header) İnceleyin: Gelen DNS yanıt paketi içerisindeki IP adresinin, alan adının resmi genel IP adresiyle uyuşmadığını, test ortamımızdaki sahte IP adresiyle (192.168.1.100) eşleştiğini doğrulamalısınız.

DNS Saldırılarına Karşı Gömülü Sistemlerde Alınabilecek Defansif Önlemler

ESP32 ve benzeri IoT uç noktalarını bu tür ciddi yönlendirme saldırılarından korumak için şu siber savunma metotlarını mimarinize dahil etmelisiniz:

  1. DNSSEC (Domain Name System Security Extensions) Entegrasyonu:
    DNSSEC protokolünü zorunlu kılarak gelen yanıtların kaynağını ve bütünlüğünü kriptografik imzalar yardımıyla doğrulayın. Bu sayede sahte DNS paketleri ESP32 lwIP katmanında otomatik olarak reddedilir. DNSSEC çalışma prensipleri ve örnek uygulamaları için hazırladığımız ESP32 DNSSEC uygulaması rehberini inceleyebilirsiniz.
  2. Güvenli Aktarım Protokolleri (HTTPS / TLS):
    Uygulama katmanında düz HTTP yerine mutlaka şifreli HTTPS (TLS) protokollerini kullanın. Bu sayede DNS manipüle edilerek cihaz sahte bir sunucuya yönlendirilse bile, SSL/TLS sertifika doğrulaması (certificate validation) başarısız olacağı için veri aktarımı başlamadan kesilecektir.
  3. Periyodik Ağ Sızma Testleri:
    IoT donanımlarının konumlandırıldığı kablosuz ağlarda düzenli olarak sahte erişim noktası (Rogue AP) veya DNS manipülasyon testleri gerçekleştirerek ağ geçidindeki (gateway) güvenlik açıklarını kapatın.
  4. Özel Güvenli DNS Servisleri:
    Cihazlarınızda varsayılan modem DNS’leri yerine, zararlı siteleri ve sahte yönlendirmeleri filtreleyen kurumsal güvenli DNS hizmetlerini (örneğin Cloudflare Gateway veya Cisco Umbrella) static IP olarak yapılandırın.

DNS yönlendirme ve önbellek zehirlenmesi saldırıları, IoT sistemlerinin veri gizliliğini ve kararlılığını doğrudan tehdit eden kritik saldırı vektörleridir. Bu çalışmada, ESP32 tabanlı gömülü sistemlerin DNS isteklerini laboratuvar ortamında dnsmasq ile nasıl manipüle edebileceğimizi, bu anomaliyi Wireshark ile nasıl analiz edebileceğimizi ve siber savunma aşamalarını pratik olarak ele aldık.

Cihaz düzeyinde DNSSEC doğrulamasını ve TLS sertifika denetimlerini entegre ederek, sahadaki IoT uç noktalarınızı bu tür manipülasyonlara karşı tamamen bağışık hale getirebilirsiniz. Unutulmamalıdır ki, güvenli bir IoT ekosistemi tasarlamak ancak cihazın donanım katmanından ağ katmanına kadar uzanan bütüncül bir güvenlik yaklaşımıyla mümkündür.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.