Şifreli DNS kullanıldığında sorgunun alan adı ve yanıt içeriği ağ üzerindeki sıradan bir gözlemci tarafından doğrudan okunamaz. Ancak şifreleme, iletilen verinin uzunluğunu her durumda aynı hale getirmez. Bu nedenle sorgu ve yanıt boyutları, trafik analizi yapan bir gözlemciye bazı kalıplar hakkında ipucu verebilir.

DNS padding, DNS mesajına işlevsel veri taşımayan ek baytlar ekleyerek bu boyut ipucunu azaltmayı amaçlar. DNS mesajlarına ek seçenekler taşıyan EDNS(0) mekanizmasındaki Padding seçeneği, istemci ve sunucunun sorgu ya da yanıt mesajını belirlenen bir padding politikasına göre büyütmesine olanak tanır.

Bu yöntem bir anonimlik katmanı değildir. RFC 7830'a göre EDNS padding yalnız şifreli DNS taşımasında kullanılmalıdır. Padding özellikle mesaj boyutuna dayalı çıkarımı zorlaştırır; zamanlama, sorgu-yanıt sayısı, bağlantının karşı ucu veya başka trafik akışlarından görülebilen meta verileri tek başına gizlemez.

DNS Padding Boyut Sızıntısını Nasıl Azaltır?

  • Şifreleme DNS içeriğini gizlese de mesaj uzunluğu gözlemlenebilir bir özellik olarak kalabilir.
  • EDNS padding, DNS mesajını ek padding baytlarıyla büyüterek padding eklenmeden önceki uzunluğun doğrudan görülmesini zorlaştırır.
  • Bir padding politikası, padding eklenmeden önce farklı boyutlarda olan çok sayıda mesajı daha az sayıda gözlemlenebilir boyut grubunda toplayarak boyut çeşitliliğini azaltır.
  • Gizlilik artışı karşılığında daha fazla veri taşınır; bu nedenle padding miktarı ile bant genişliği maliyeti arasında denge gerekir.
  • Padding, zamanlama ve bağlantı uçları gibi diğer meta veri türlerini ortadan kaldırmaz.

Temel fikir, şifreli bir DNS mesajının boyutunu asıl içeriğin uzunluğuna mümkün olduğunca az bağlı hale getirmektir. Bir gözlemci yalnızca belirli boyutlarda paketler veya mesajlar görüyorsa hangi alan adının sorgulandığını boyut eşleştirmesiyle tahmin etmekte zorlanır.

Şifreleme Varken Mesaj Boyutu Neden Bilgi Taşır?

Şifreleme metni okunamaz hale getirir, ancak asıl veri ile şifreli verinin uzunlukları arasındaki bağı her zaman tamamen koparmaz. DNS sorgularında alan adı uzunluğu, kullanılan kayıt türü, EDNS seçenekleri ve yanıtın içeriği mesaj boyutunu etkileyebilir. Bu nedenle aynı ya da benzer sorgular, gözlemlenebilir boyutlarda tekrar eden kalıplar oluşturabilir.

Bir saldırgan genellikle yalnızca tek bir pakete bakarak sorguyu kesin biçimde belirleyemez. Saldırgan bilinen trafik örnekleriyle karşılaştırma yapabildiğinde veya çok sayıda sorgu ve yanıtı birlikte gözlemlediğinde risk artabilir. Padding bu ilişkiyi zayıflatmayı hedefler; şifrelemenin yerine geçmez.

EDNS Padding Nasıl Çalışır?

İstemci veya sunucu, şifrelemeden önce DNS mesajına EDNS(0) Padding seçeneğini ekler. Padding'in kendisi sorgunun anlamını değiştirmez; yalnızca iletilen DNS mesajının uzunluğunu artırır.

RFC 7830, Padding seçeneğinin nasıl taşınacağını tanımlar; ne kadar padding ekleneceğini ise kullanım durumuna bırakır. RFC 8467 bu boşluğu doldurmak için farklı padding politikalarını karşılaştırır ve deneysel bir blok uzunluğu yaklaşımı önerir.

Blok Uzunluğuna Göre Padding

Blok uzunluğu yaklaşımında mesaj, seçilen blok uzunluğunun bir katına ulaşacak kadar doldurulur. Böylece padding eklenmeden önce farklı uzunluklardaki mesajlar aynı gözlemlenebilir boyuta yuvarlanabilir. RFC 8467'nin deneysel önerisinde sorgular için 128 baytlık, yanıtlar için 468 baytlık bloklar yer alır; bunlar her ürünün veya hizmetin bugün aynı değerleri kullandığı anlamına gelmez.

Bu yaklaşımın amacı bütün mesajları tek bir dev boyuta dönüştürmek değildir. Daha az sayıda boyut sınıfı, mesajların yalnız boyutlarına göre ayırt edilmesini zorlaştırırken gereksiz trafik artışını da sınırlayabilir.

Diğer Padding Politikaları

Padding'in nasıl seçildiği gizlilik ve maliyet dengesini doğrudan etkiler. Temel politikalar arasındaki farklar şöyledir:

PolitikaBoyuta EtkisiGizlilik ve Maliyet Etkisi
Blok uzunluğuMesajı seçilen blok katına tamamlarPadding öncesi uzunluk tam gizlenmez, ancak boyut çeşitliliği azalır
Maksimum uzunlukMesajları izin verilen en büyük boyuta kadar büyütürBoyut gizliliği güçlüdür fakat veri ve kaynak maliyeti yüksektir
Rastgele uzunlukDeğişken miktarda padding eklerÇok sayıda gözlemde padding öncesi uzunluk dağılımı hakkında çıkarım yapılabilir
Sabit miktarlı paddingHer mesaja aynı miktarda ek bayt eklerMesajların padding öncesindeki boyut farkları büyük ölçüde korunur

RFC 8467, maksimum uzunluğa kadar doldurmayı yüksek kaynak tüketimi nedeniyle önermez. Tamamen rastgele uzunluk yaklaşımını da çok sayıda gözlemden padding öncesindeki uzunluk hakkında bilgi çıkarılabildiği için uygun bulmaz. Her mesaja yalnızca aynı miktarda padding eklemek de gerçek boyut farklarını saklamada zayıftır.

Padding Gizliliği Ne Kadar Artırır?

Padding en çok mesaj boyutlarının sorgu ve yanıtlarla eşleştirilmesini zorlaştırır. Birden fazla sorgu ve yanıt aynı ya da benzer doldurulmuş uzunluklarda görünürse gözlemlenen mesaj boyutu, padding öncesindeki DNS mesajını ayırt etmek için daha az bilgi verir.

Buna rağmen padding, şifreli DNS trafiğini görünmez yapmaz. Trafiğin DNS'e ait olduğu anlaşılabilir; sorguların ne zaman gönderildiği ve kaç sorgu-yanıt çiftinin oluştuğu gözlemlenebilir. RFC 8467 özellikle zamanlama ve sorgu-yanıt sayısı gibi yan kanalların padding ile çözülmediğini belirtir.

Bağlantı kurulan DNS hizmetinin IP adresi, ağ düzeyinde ayrı bir meta veridir. Padding, DNS çözümlemesinden sonra kurulan web veya uygulama bağlantılarının hedef IP adreslerini gizleyen bir mekanizma da değildir; bu adreslerin kim tarafından görülebileceği kullanılan ağ ve tünel yapısına bağlıdır. Sorguyu işleyen recursive resolver (özyinelemeli DNS çözümleyicisi), padding kullanılsa da alan adını görür.

Bant Genişliği ve Kaynak Maliyeti

Padding eklenen her mesaj daha fazla bayt taşır. Bu ek yük çoğu masaüstü bağlantısında düşük kalabilir, ancak bant genişliğinin düşük ya da ücretli olduğu ağlarda ve pil tüketiminin önemli olduğu cihazlarda toplam maliyet önem kazanabilir. Bu nedenle mümkün olan en büyük padding her durumda en iyi politika değildir.

Padding ayrıca DNS mesajında başka EDNS seçenekleri için kullanılabilecek alanı da azaltabilir. İstemci ve DNS hizmeti, mesaj boyutu sınırlarını ve seçilen taşımanın özelliklerini dikkate almalıdır.

DoH veya DoT Kullanıldığında Padding de Etkin Olur mu?

DNS sorgularını şifreli HTTPS bağlantısıyla taşıyan DoH veya doğrudan şifreli TLS bağlantısıyla taşıyan DoT kullanmak, padding'i otomatik olarak etkinleştirmez. TLS, bağlantıdaki verinin gizliliğini ve bütünlüğünü koruyan güvenlik protokolüdür. Şifreli taşıma ve mesaj padding'i farklı işlevlerdir: biri DNS içeriğini ağ üzerindeki gözlemciden saklar, diğeri şifreli mesajın boyutundan yapılabilecek çıkarımı azaltmaya çalışır.

Padding'in etkili olabilmesi için istemcinin ve karşı taraftaki DNS hizmetinin uyumlu davranması gerekir. Özellikle yanıtların padding politikası önemlidir; sorgular doldurulsa bile yanıtlar ayırt edici boyutlarda kalırsa toplam trafik yapısı daha fazla bilgi taşıyabilir. Belirli bir işletim sistemi, tarayıcı, VPN veya DNS hizmetinin güncel padding davranışı ürünün resmi belgesinden ya da doğrudan teknik testten doğrulanabilir.

DNS Padding Politikası Seçerken Nelere Bakılır?

Blok boyutunu uyarlarken mesaj boyutlarının dağılımını, ek veri miktarını ve ürün uyumluluğunu gerçek trafik üzerinde karşılaştırmak gerekir. Ağ bağlantısının tek parçada taşıyabildiği en büyük IP paketi boyutu olan MTU da hesaba katılır. UDP gibi veriyi datagram adı verilen ayrı iletim birimleriyle taşıyan protokollerde büyük mesajlar IP paketinin parçalanmasını gerektirebilir; değerlendirmeye DNS mesajının yanı sıra şifreli taşıma ve ağ başlıklarının eklediği baytlar da dahil edilir.