· kaynak Hacker News – Front Page (native)
eMudhra'nın sertifika otoritesi anahtarları minicik tam sayılardı, sertifikalardan milisaniyeler içinde kırılabiliyorlardı
eMudhra'nın sekiz ara CA özel anahtarı 4 ve 56 gibi tek baytlık değerlerdi ve herkese açık sertifikalardan milisaniyeler içinde geri kazanılabilir durumdaydı. Tarayıcılar bunları artık engelliyor, ancak tarayıcı olmayan TLS istemcilerinin çoğu hâlâ risk altında.

eMudhra tarafından işletilen sekiz ara sertifika otoritesi, küçüklüğüyle şaşırtıcı tam sayı değerlerine dayanan özel anahtarlara sahipti — birinin değeri kelimenin tam anlamıyla 4'tü — ve güvenlik araştırmacısı Scott Helme, sekizini de herkese açık sertifikalarından sıradan bir dizüstü bilgisayarda bir saniyenin altında geri kazandığını bildiriyor. Tarayıcı üreticileri sertifikaları engelledi, ancak etki alanı tarayıcının çok ötesine uzanıyor.
Ne oldu
Helme'ye göre bir güvenlik araştırmacısı 17 Ekim Cumartesi günü Apple, Google, Microsoft, Mozilla ve eMudhra'yı özel olarak uyararak sekiz eMudhra ara sertifikasının özel anahtarlarının ele geçirildiğini bildirdi. Chrome o akşam sertifikaları engelleyen bir CRLSet güncellemesi yayınladı ve Mozilla birkaç saat sonra Firefox'ta OneCRL aracılığıyla bunları engelledi. 20 Ekim Salı günü Mozilla sorunu kamuya açık şekilde duyurdu, eMudhra kökünü kaldıran bir NSS güncellemesi yayınladı ve Chrome, kökün Chrome Root Store v43'te çıkarılacağını doğruladı.
Sekiz ara sertifikanın altısı TLS veren CA'lar — her biri iki nesil halinde domain-doğrulamalı, organizasyon-doğrulamalı ve genişletilmiş-doğrulamalı — artı ikisi de kod imzalama CA'larıydı. Hepsi Nisan 2025'te oluşturuldu ve her biri Mayıs 2025'te Sectigo'nun AAA Certificate Services kökü tarafından da çapraz imzalandı.
Bir bayt entropi
Anahtarlar P-384 üzerinde eliptik eğri anahtarlarıdır. Özel anahtar d adında bir sayıdır ve sertifikada yayımlanan açık anahtar, d'nin sabit bir eğri noktası G ile çarpımıdır. Güvenlik modeli tamamen d'nin 384 bit uzunluğuna yakın rastgele bir değer olmasına dayanır — kabaca 2^384 olasılık, yaklaşık 10^115 — ve bunu kimsenin enumerasyon yaparak taraması mümkün değildir. Helme'nin gösterdiği gibi eMudhra'nın anahtarları ise 47 sıfır bayt ve ardından tek bir anlamlı bayttan oluşuyor. Tek bir baytın yalnızca 256 olası değeri vardır, dolayısıyla anahtarı kırmak 1 x G, 2 x G, 3 x G şeklinde hesaplayıp sonucun sertifikayla eşleşmesini beklemek anlamına gelir — en fazla 255 adım.
Helme, Mozilla'nın duyurusuna eklediği 16 etkilenen sertifikayı indirdi (sekiz anahtarın her biri iki kez görünüyor, bir kez eMudhra tarafından ve bir kez Sectigo üzerinden verilmiş) ve her birini anında kaba kuvvetle kırdı. Geri kazanılan değerler arasında OV TLS G3C ara sertifikası için 4, iki EV ara sertifikası için 56 ve 115 ile bir kod imzalama CA'sı için 237 yer alıyor. Ian Carroll tartışma dizisinde özlü biçimde özetledi: bunlar herkesin çarpanlara ayırabileceği tek baytlık anahtarlar ve bu da sorunun kontrol altına alınamaz hale getiriyor.
Özellikle, sertifikaların görünümünde yanlış bir şey yok. d = 4'ten türetilmiş bir açık anahtar gayet geçerli bir eğri noktasıdır ve tüm yapısal ve kodlama denetimleri geçer. Bu kusuru tespit etmenin tek yolu geri kazanmayı denemektir ve neredeyse hiç kimse bunu yapmaz.
Neden kontrol altına alınamıyor
Normal bir CA anahtarı ele geçirme olayı bir hırsızlık içerir ve sonrasında en azından anahtarı kimin tuttuğu üzerinde akıl yürütebilirsiniz. Burada çalınması gereken bir şey yoktu: anahtarlar Nisan 2025'te sertifikalar var olduğu andan itibaren fiilen herkese açıktı ve birine bakan herkes onu ticari donanımda milisaniyeler içinde geri kazanabilirdi. Helme, bunu yapıp yapmadığını bilmenin bir yolu olmadığını vurguluyor.
Chrome, Helme'nin aktardığı gibi, Certificate Transparency'yi zorunlu kıldığını ve bu CA'lara zincirlenen hiçbir TLS sertifikasının hiçbir zaman CT log'larında görünmediğini, dolayısıyla sahte bir sertifikanın Chrome'da varsayılan olarak güvenilmeyeceğini belirtti. Bu doğru, diye kabul ediyor Helme, ama CT kötüye kullanımı tespit eder, önlemez ve çok büyük miktarda yazılım CT'ye hiç danışmaz.
Hâlâ kimler risk altında
Güncel ana akım tarayıcılar büyük ölçüde güvende: Chrome ve Firefox ara sertifikaları doğrudan engelliyor ve ikisi de CT gerektiriyor, Safari de CT gerektiriyor. Bunların dışındaki neredeyse her şey ayrı bir hikâye. Tarayıcı olmayan TLS istemcilerinin çoğu — curl, Python, Node, Go, Java, git, paket yöneticileri ve bunların üzerine kurulu betikler ile daemon'lar — diskteki bir CA paketine güvenir, varsayılan olarak iptal denetimlerini atlar ve CT'yi yok sayar. Dolayısıyla ara sertifikaların eMudhra ve Sectigo tarafından iptal edilmesi onlar için hiçbir şey yapmaz.
Helme risk altındaki yüzeyi sayıyor: sahte bir sertifikanın saldırgan kodu çalıştırmak anlamına geldiği curl-and-pipe yükleyicileri ve kendini güncelleyen yazılımlar, çoğu zaman root olarak; bulut kimlik bilgilerini tutan CI/CD hatları; sunucudan sunucuya API trafiği (AWS CLI ve boto kendi güven paketini birlikte dağıtır, Terraform ve kubectl ise Go programlarıdır); donmuş güven depolarına sahip IoT ve gömülü cihazlar; ve Windows kod imzalama, çünkü Windows eMudhra kod imzalama köküne doğrudan güvenir ve bu anahtarlarla imzalanmış kötü amaçlı yazılımların gerçek bir yayıncıdan gelen yazılımmış gibi davranmasına izin verir.
Etkiyi yerel bir makineden api.stripe.com için sahte bir sertifika sunarak doğruladı: varsayılan ayarlarla curl sertifikayı doğrulanmış olarak bildirdi, Python el sıkışmayı tamamladı ve Node test edilen her Linux ve macOS makinesinde authorization başarılı bildirdi. Windows, iptal denetimi etkinleştirilmediği sürece zinciri kabul etti — ve o zaman bile iki olası zincir yolundan yalnızca biri iptal edilmiş olarak geri döndü.
Neden önemli
Bu P-384'ün ya da sertifika doğrulamasının kırılması değil; bu katastrofik bir anahtar üretimi başarısızlığı ve geleneksel her denetimden gizli kaldı. Bütün CA hiyerarşileri — TLS ve kod imzalama alike — yaklaşık bir buçuk yıl boyunca sekiz bit entropiye dayandı. Olay ayrıca PKI korumalarının ne kadar eşitsiz dağıtıldığını ortaya koyuyor: tarayıcılar agresif engelleme, CT zorunluluğu ve modern iptal sistemleri alırken, tarayıcı olmayan istemcilerin devasa kitlesi bu ara sertifikalara güvenmeye devam edecek, ta ki biri güven depolarını güncelleyene kadar — ve donmuş IoT paketleri belki de bu güncellemeyi hiç almayacak. Hastalıklı biçimde küçük anahtarlar için ucuz, rutin testler — basitçe onları geri kazanmayı denemek — bunu ilk günden yakalayabilirdi.
- #pki
- #tls
- #security
- #certificates
- #elliptic-curve-cryptography
İlgili yazılar
- Sekiz eMudhra sertifikasının güvenliği ihlal edildi; tarayıcılara, CDN'lere ve istemcilere yamalar zorunlu oldu
- Python ve Node, tarayıcıların engellediği eMudhra'nın ele geçirilmiş CA ara sertifikalarına hâlâ güveniyor
- ZoomEye taraması 8,16 milyon WordPress kurulumu ve 541.960 Let's Encrypt sertifikası sayıyor