Paylaşılan DH grubu, taze sırlar: saldırı neden ucuzluyor
Taze oturum sırları zayıf bir sonlu cisim grubunu onarmaz. Tek bir grubu yeniden kullanmak, saldırının en pahalı aşamasını onu müzakere eden her değişime dağıtır.
Grup parametreleri tasarım gereği kamusaldır ve onları kolayca göz ardı edilebilir kılan tam da bu kamusallıktır. Sonlu cisim üzerinde Diffie-Hellman'da modül ve üreteç paylaşılır, özel üsler ve bunlardan çıkan oturum anahtarları ise paylaşılmaz. Sayı cismi eleği saldırısının pahalı aşaması tek bir değişime değil gruba bağlıdır, bu yüzden her yerde kullanılan tek bir zayıf grup ortak bir yükümlülüğe dönüşür. Parametrelere kamusal demek doğrudur ve konunun dışındadır, çünkü yeniden kullanılan maliyet tam da o gruba saldırmanın maliyetidir.
Kamusal yarı savunmasız yarı değildir ve tuzak oradadır
Alışılmış yarım argüman, parametrelerin bir standartta yayımlandığını, dolayısıyla saldırganın onları zaten bildiğini ve saklamanın hiçbir şeyi değiştirmeyeceğini söyler. İki önerme de doğrudur ve hiçbiri diğerinden çıkmaz. Birlikte gönderilen varsayılan grup kamusaldır ve geçen hafta ürettiğiniz özel grup da el sıkışmayı tamamlayan herkes tarafından görülebilir. Gizlilik hiçbir zaman denetim değildi; güç ve doğrulama denetimdir.
Değişen şey, aynı zayıflığı kaç yerin paylaştığıdır. Kendi 2048 bitlik grubunu üreten bir kuruluş kendi saldırı maliyetini öderken, milyonların seçtiği bir protokol varsayılanı tek bir maliyeti hepsine yayar. Bu anlamda sıra dışı bir grup otomatik olarak daha iyi değildir. Çok küçük, sıra dışı bir grup yalnızca üzerinde daha az göz olan daha küçük bir ortak sırdır.
Doğrulama en az boyut kadar önemlidir. Küçük çarpanlı bir modül gönderen ya da protokolün beklediği biçimde olmayan bir modül gönderen taraf, bit uzunluğu saygın görünse bile özel üs hakkında bilgi sızdırabilir. Girişte bozuk parametreleri reddeden kütüphaneler gerçek iş yapar, bu yüzden elle yazılmış parametre ayrıştırma çabadan tasarruf etmek için kötü bir yerdir.
Ön hesaplama saldırgına gerçekte ne kazandırır
Sayı cismi eleğinin yalnızca asal sayıya bağlı bir aşaması vardır ve çıktısı o asal sayıyı kullanan her değişime karşı yeniden kullanılabilir. Tarihsel kaygının arkasındaki bütün mekanizma budur: pahalı kısım bir kez ödenir ve sonraki her oturumun marjinal maliyeti düşer. Taze üsler, grup eleme işlemini olanaksız kılacak kadar büyük olduğu sürece her bir değişimi pasif bir gözlemciden korumaya devam eder. İki ifade birbiriyle uyumludur ve bu konudaki tartışmaların çoğu birini seçip diğerini bırakmaktan doğar.
2015 Logjam çalışması, 512 bitlik ihracat sınıfı Diffie-Hellman'a bir düşüşü gösterdi ve daha büyük, yaygın olarak yeniden kullanılan gruplara önemli kaynaklarla saldırmanın ne kadar tutacağını tahmin etti. Gösterim somuttu, tahminler tahmindi ve hiçbiri belirli bir VPN oturumunun çözüldüğünün kanıtı değildi.
Çalışmayı mekanizma ve gösterilen düşüş için alıntılayın, dağıtımınızın ölçümü olarak değil. Kaç sunucunun varsayılan bir grubu paylaştığına dair eski istatistikler o yılın internetini anlatır, bugün inceleyebileceğiniz bir ağı değil. Taşınmaya değer yararlı şey sorudur: cihazlarınız hâlâ küçük ya da zayıf doğrulanmış bir grubu müzakere ediyor mu?
Standartlaştırılmış olmak zayıf olmak değildir
RFC 7919, iki ucun bir tanımlayıcıyla grup üzerinde anlaşması ve tutarlı bir politika uygulaması için adlandırılmış sonlu cisim gruplarını tanımlar. Standartlaştırılmış olmak bir avantajdır, çünkü müzakeredeki belirsizliği kaldırır ve bir uygulamanın desteklenmeyen boyutları reddetmesine izin verir. Adlandırılmış bir grup yalnızca boyutu takip ettiğinizi iddia ettiğiniz politikanın altında kaldığında zayıftır, bir belgede göründüğü için değil. Aynı mantık, farklı yapıya ve farklı arıza biçimlerine sahip eliptik eğri grupları için de geçerlidir.
Onlar hakkında düşünürken yapıları ayrı tutun. Sonlu cisim üzerinde Diffie-Hellman hakkındaki bir sonuç X25519 hakkında hiçbir şey söylemez ve 1024 bitlik bir MODP grubu hakkındaki bir sonuç 3072 bitlik olan hakkında hiçbir şey söylemez. Güç politikası mekanizma, boyut ve protokol sürümü başına belirlenir, bu yüzden güçlü kriptografi ifadesi gözden geçirilebilir bir önerme değildir.
Kimlik doğrulama diğer yarıdır ve yerine geçmez. Taraf doğrulaması olmayan güçlü bir grup saldırganı ortada bırakır ve geçerli bir sertifika 768 bitlik bir değişimi kurtaramaz. Onları iki bağımsız çizgi olarak inceleyin, sonra ikisinin de gerçekten müzakere edildiğini doğrulayın.
Gerçek bir bağlantıda müzakere edilen grubu okuyun
Müzakere edilen grubu yapılandırma şablonundan değil, cihazdan okuyun. Şablonlar niyeti tanımlar ve ilginç değer son el sıkışmada iki tarafın anlaştığı değerdir. Bir IPsec uç noktasında durum çıktısı genellikle seçilen öneriyi, MODP grubu dahil, yazdırır.
O satırı bir politika değişikliğinden önce ve sonra kaydedin ve ikisini de değişiklik kaydında saklayın. Karşılaştırma kanıttır.
ipsec statusall | grep -Ei "proposal|ESP|IKE"
openssl dhparam -in /etc/vpn/dh3072.pem -check -nooutDeğişiklikten sonra durum hâlâ eski grubu gösteriyorsa bağlantı yeniden müzakere etmemiştir ve yapılandırma düzenlemesi hiçbir şey kanıtlamamıştır. Eşi yeniden başlatın veya güvenlik ilişkisini temizleyin, sonra durumu tekrar okuyun. Yalnızca yeni bağlantılara uygulanan bir politika, uzun ömürlü tünelleri ayakta kaldıkları sürece eski parametrelerde bırakır.
Grubu ve eşin kimliğini ayrı ayrı denetleyin
Grubun neyi koruduğunu, karşı tarafta kimin olduğundan ayırın. Anahtar değişim yöntemini, grubun boyutunu ve kimlik doğrulama yöntemini üç alan olarak kaydedin, çünkü bunlar birbirinden bağımsız olarak başarısız olur. 3072 bitlik bir grup müzakere edip herhangi bir sertifikayı kabul eden bir tünel, eşi sabitleyip 2048 bitlik grup kullanan bir tünelle aynı risk değildir.
Kabul ölçütlerini inceleme başlamadan önce yazın, böylece sonuç bir görüş değil karşılaştırma olsun. Protokol sürümü başına asgari grup boyutu, adlandırılmış grupların izin listesi ve zorunlu eş doğrulaması kararı mekanik kılmaya yeter. O listedeki belirsizlik, bir incelemeyi tartışmaya çeviren şeydir ve tartışmalar düzeltilmez. O zaman çıktı, belirtilen bir kuralı ihlal eden uç noktaların listesidir.
ipsec statusall | grep -Ei "peer|auth|cert"
openssl s_client -connect vpn.acme.example:443 -brief -cipher 'DHE-RSA-AES256-GCM-SHA384'Düzeltmeden sonra müzakere edilen değerleri yeniden okuyarak döngüyü kapatın. Uyumlu bir yapılandırma dosyası, bir tünelin onu aldığının kanıtı değildir. Durum çıktısı ve bir taze el sıkışma kanıttır ve bunları toplamak, gerekli olup olmadıklarına dair toplantıdan daha az zaman alır.