Kuş Postacılar İle DNS: Aşık Olacağınız En Absürt Protokol Yığını
Güvercin Postacılar Üzerinden DNS: Sevgiyle Bağlanacağınız En Absürt Protokol Yığını
Şöyle bir itirafla başlayayım: IETF'nin "Avian Taşıyıcılar Üzerinden DNS (DoAC)" başlıklı bir taslağını okumaya oldukça fazla zaman harcadım ve bunun için en küçük bir pişmanlık duymuyorum.
Henüz deneyimlemediyseniz bilmenizde fayda var: IETF, modern internetin çalışmasını sağlayan teknik standartlardan sorumlu kuruluş. Belgeleri tipik olarak yoğun, sistematik ve son derece ciddi olur. Dolayısıyla evcil güvercinlerle hostname çözümlemesi yapmayı ciddi ciddi öneren bir taslağa rastladığınızda, dikkat kesilirsiniz—pratik olduğu için değil, ağ protokolleri hakkındaki düşünce yapımız hakkında bambaşka bir şeyleri gözler önüne serdiği için.
Zamanın Unuttuğu Protokol Yığını
Hikaye 1990'da, IP over Avian Carriers (IPoAC) yani Güvercin Taşıyıcılar Üzerinden IP'yi tanıtan RFC 1149 ile başlıyor. Evet, IETF resmen IP verigramlarını taşıyıcı güvercinler aracılığıyla iletmek için resmi bir spesifikasyon yayınladı. Belge; paket kaybı tahminleri ("ağırlıksız yaklaşık %55"), gecikme hesaplamaları ve verimlilik karşılaştırmaları içeriyor. 2001'de RFC 2549 (güvercin taşıyıcılar için Hizmet Kalitesi desteği) ve 2011'de RFC 6214 (IPv6 uyumluluğu) ile güncellendi.
Bunlar şaka değildi—çalışan implementasyonları ve gerçek dünya testleri olan meşru deneysel protokollerdi. Üniversiteler ve hacker grupları eğitim ve eğlence amaçlı güvercin tabanlı ağlar kurdu.
İşte sorun şu: Otuz yıl boyunca bu protokol yığını ciddi bir eksiklikle boğuştu. IP paketlerini güvercinle gönderebiliyordunuz ama domain adı çözümleyemiyordunuz. DNS olmadan her hedef, kuşun üzerine doğrudan IP adresi olarak kodlanmış olmalıydı. Ağ operatörlerinize yeni bir sunucu eklemenin güvercinlerinizi yeniden eğitmeyi gerektirdiğini açıklamayı düşünün.
DoAC: Kuşlara Özel DNS
DoAC taslağı, karakteristik teknik ciddiyetiyle bu sorunu çözmeye çalışıyor. Şunları tanımlıyor:
- DNS sorguları ve yanıtları için, güvercinlere eklenebilecek mesaj formatları
- AA (Avian Authority) Kaynak Kaydı, güvercin kümesi adreslerini yayınlamak için
- Avian teslimatın öngörülemeyen doğasını hesaba katan yeniden iletim davranışları
- Önyükleme prosedürleri—ilk çözümleyiciyi bulmak için "Son Çare Güvercini" dahil
Detaylara gösterilen özen gerçekten etkileyici. 5.2 bölümü "Önceki Durum Olmadan Çözümleyici Keşfi"ni tartışıyor ve ilk güvercinin DNS sunucusunu nerede bulacağını bilemeyeceğini çünkü DNS'in kendisine bakacak bir şeyi olmadığını kabul ediyor. Çözüm mü? Önceden yapılandırılmış bir acil durum güvercini.
Bir Doğa Belgeseli Gibi Okunan Güvenlik Değerlendirmeleri
DoAC'nin gerçekten parladığı yer güvenlik analizi. Taslak şu tehditleri tanımlıyor:
- Yırtıcının sorgunuzu uçuş sırasında kesintiye uğrattığı Ortalıkta Kartal Saldırıları
- Önerilen çözümü "Tüy Tabanlı Kimlik Doğrulama" olan Güvercin Sahteciliği
- Saldırganın hedefinizin kontrolünü ele geçirdiği Kümes Ele Geçirme
- Kuşlar için DDoS olan Uçuş Reddi Saldırıları (DoF)
- Aç Kediyi Fiziksel Katman Tehdidi Olarak (isminden de anlaşılacağı üzere)
- ** Taxidermili Taşıyıcı ile Yeniden Yürütme Saldırıları** (birisi eski önbelleğe alınmış yanıtları taşıyan ölü bir güvercin gönderiyor)
Bu saldırı vektörlerinden bazılarını bir kırmızı takım girişiminde denemek için gerçek para öderdim.
Bu Bize Aslında Ne Anlatıyor?
Absürt teknik belgeler hakkında şu var: Çoğu zaman mantıklı olanlardan daha öğretici oluyorlar. DoAC, farkında olmadan yaptığınız varsayımlarla yüzleşmenizi sağlıyor.
Bugün DNS kullandığınızda örtük olarak güveniyorsunuz:
- ISS'nizin çözümleyicileri size yalan söylemeyecek
- Paketler kesintiye uğramayacak veya değiştirilmeyecek
- Sunucular ihtiyacınız olduğunda erişilebilir olacak
- Fiziksel altyapı felaket boyutunda çökmeyecek
DoAC bu tüm örtük güvenleri açık ve gülünç hale getiriyor. Bir güvercin ağı üretim sistemleri için mantıklı değil ama bunun için tasarım yapmak, göz ardı ettiğimiz altyapıya ne kadar bağımlı olduğumuzu gözler önüne seriyor.
Asıl Çıkarılacak Ders
Modern sistemler kuran geliştiriciler için—özellikle edge computing, mesh ağlar veya kesintili bağlantıyla çalışanlar için—burada bir ders var:
Her protokol, belirli özelliklere sahip bir alt taşıma katmanı varsayar. Bu özellikler değiştiğinde, yeni protokoller gerekir.
TCP/IP üzerinden DNS, güvenilir ve hızlı paket teslimatı varsayar. Avian Taşıyıcılar üzerinden DNS ise... paketlerinizin sonunda, belki, belki de ulaşacağını varsayar. DoAC taslağı sadece bir şaka değil—"her zaman açık, düşük gecikmeli, yüksek güvenilirlikli" bir lüks, bir varsayılan değil.
Yükselen pazarlar, kırsal alanlar veya felaket senaryoları için uygulama geliştiren girişimimler için bu değiş tokuşları anlamak kritik önem taşıyor. IETF, ağınız bir güvercin sürüsü olduğunda ne olacağını düşünmek için 30 yıl harcadı. Bu çalışma, sandığınızdan çok daha alakalı olabilir.
Ağın nasıl çalıştığıyla ilgili varsayımlarınızı sorgulatan bir protokolle karşılaştınız mı? Yorumlarda sevdiğiniz absürt RFC'yi paylaşın. Ve DNS kayıtları eklenmiş bir taksidermili güvercin bulduysanız, nasıl gittiğini bize de anlatın.