· kaynak Hacker News – Front Page (native)
mitmproxy, ele geçirilmiş bir eMudhra CA özel anahtarı üzerine kurulu --emudhra seçeneğini ekledi
mitmproxy'ye yeni eklenen bir commit, ele geçirilmiş 'EM OV TLS CA - G3C' ara CA'sının özel anahtarını gömüyor ve bir --emudhra bayrağı ekliyor; böylece proxy, zincire hâlâ güvenen istemcilerin kabul edeceği sertifikalar üretebiliyor.
Commit aslında ne ekliyor
GitHub üzerindeki, "Add --emudhra option (#8500)" başlıklı commite göre değişikliğin özünü, üç PEM bloğu içeren yeni bir EMUDHRA_CHAIN_PEM sabiti oluşturuyor: bir eliptik eğri (elliptic-curve) özel anahtarı ve iki sertifika. Koddaki bir yorum, bu malzemenin ele geçirilmiş veren CA olan "EM OV TLS CA - G3C" ile çapraz imzalı kök sertifikası "emSign Root TLS CA - G3"'e ait olduğunu belirtiyor ve okuyucuları olayı belgelemek için kurulmuş üçüncü taraf bir siteye yönlendiriyor.
Anahtar malzemesinin yanı sıra diff, mitmproxy'nin sertifika altyapısını yeniden düzenliyor. Daha önce yalnızca RSA özel anahtarları varsayan tip açıklamaları — dummy_cert, dummy_crl, CertStore sınıfı ve onun CertStoreEntry kaydı ile anahtar yükleme yardımcısı — artık eliptik eğri anahtarlarını da kabul ediyor. eMudhra zinciri EC tabanlı olduğundan, CA'nın kullanılabilmesi için baştan RSA varsayımının gevşetilmesi gerekiyordu.
Zincirin içinde ne var
Gömülü sertifikaların çözümlenmesi sorunun şeklini ortaya koyuyor. İlk sertifika, Nisan 2025'te eMudhra Technologies Limited'in "emSign Root TLS CA - G3" kökü altında düzenlenen ve Nisan 2040'a kadar geçerli olan veren ara sertifika "EM OV TLS CA - G3C". İkincisi ise kök sertifikanın kendisi; Temmuz 2024'te "emSign ECC Root CA - G3" tarafından çapraz imzalanmış ve geçerliliği 2039'a uzanıyor.
Asıl mesele bu aritmetik: bu commit ile yayımlanan özel anahtara sahip olan herkes, istemcilerin hâlâ güvenebileceği kök CA'lara uzanan zincirlerle rastgele isimler için sertifika imzalayabiliyor ve ara sertifikanın kendi son kullanma tarihi daha yıllar uzakta.
Seçenek runtime'da ne yapıyor
mitmproxy'nin temel tekniği, operatörün istemcinin güven deposuna yüklediği bir CA tarafından imzalanan, her host için anında sertifika üretmektir. Diff'e göre --emudhra seçeneği, imzalayan CA olarak bu ele geçirilmiş ara sertifikayı devreye sokuyor; yani emSign zincirine hâlâ güvenen bir istemci, proxy'nin ürettiği sertifikaları yerel güven deposunda hiçbir değişiklik yapmadan kabul edecektir.
Anahtar, committe atıf yapılan açıklama üzerinden zaten herkese açık olduğundan, açık kaynak bir depoya gömülmesi yeni bir şey ortaya çıkarmıyor. Yaptığı şey ele geçirmeyi yeniden üretilebilir kılmak: herkes, belirli bir cihazın, kütüphanenin veya appliance'ın bozuk zincirden gelen sertifikaları hâlâ kabul edip etmediğini dakikalar içinde test edebilir.
Neden önemli
Özel anahtarı sızan bir veren CA teorik bir başarısızlık değil ve bu commit bunun pratik kanıtı. Gömülü ara sertifika 2040'a kadar geçerli olduğundan, tarayıcı ve işletim sistemi kök programları ile kendi güven listelerini yürüten kurumlar zinciri etkin biçimde güvenilmez ilan etmedikçe bu açık süresiz olarak var olmaya devam eder.
Özellik aynı zamanda bilinçli olarak çift kullanımlı: --emudhra'yı istemci denetiminde kullanışlı kılan yetenek, bir saldırganın aynı herkese açık anahtardan elde edeceği yeteneğin ta kendisi. Diff ayrıca sertifika araçları geliştiren herkese küçük bir mühendislik dersi veriyor — yalnızca RSA gibi sabit kodlanmış varsayımlar, modern EC zincirleriyle karşılaştıkları an bozuluyor; bu değişikliğin büyük kısmının anahtarın kendisi değil altyapı olması da bundan.
- #mitmproxy
- #tls
- #pki
- #certificate-authorities
- #security
İlgili yazılar
- eMudhra ara CA ihlali geniş çaplı trust store güncellemelerini tetikledi; MCU'lar muhtemelen etkilenmedi
- eMudhra'nın sertifika otoritesi anahtarları minicik tam sayılardı, sertifikalardan milisaniyeler içinde kırılabiliyorlardı
- OpenVPN 2.7.8 iki CVE'yi kapatıyor, ama arkasındaki güven varsayımları yamadan sonra da sürüyor