Ethereum’un mutabakat istemcilerinden birinde, doğrulayıcı açık anahtar önbelleğinin zehirlenmesine yol açabilecek bir açık için düzeltme birleştirildi. GitHub’daki çekme isteğine göre yama, yaklaşan Gloas çatalı çevresinde ortaya çıkan ve bazı düğümlerin geçerli imzaları reddetmesine neden olabilecek hatayı gideriyor.
Hata küresel önbellek yapısında ortaya çıktı
Sorunun kaynağında, istemcinin doğrulayıcıların açık anahtarlarını ve bunlara karşılık gelen indeksleri küresel bir önbellekte tutma biçimi yer alıyor. Normal koşullarda kesinleşmiş yatırımların tüm zincirlerde aynı doğrulayıcı setini üretmesi bekleniyor. Ancak geliştiriciler, çatal sınırında bu varsayımın bozulabildiğini ortaya koydu.
Gloas, Ethereum’un planlanan Glamsterdam güncellemesinin mutabakat katmanı bölümünü oluşturuyor. Mutabakat istemcileri, doğrulayıcıların blok onayı ve imza süreçlerini yürüten yazılımlar arasında yer alıyor.
Mini sözlük: Mutabakat istemcisi, Ethereum doğrulayıcılarının blokları ve imzaları kurallara uygun biçimde işlemesini sağlayan yazılımdır. Çatal sınırı ise ağın yeni kurallara geçtiği anda, eski ve yeni durumların ayrışabildiği kritik geçiş noktasını ifade eder.
Yama, anahtarların küresel açık anahtar önbelleğine ancak etkinleşme uygunluğu dönemi kesinleştikten sonra eklenmesini öngörüyor.
Saldırı senaryosu üç bekleyen yatırımla başlıyor
Teknik açıklamaya göre saldırganın çataldan hemen önce üç bekleyen yatırıma ihtiyacı bulunuyor. Bunlardan ilki mevcut bir doğrulayıcıya yapılan büyük bir bakiye eklemesi. Diğer ikisi ise iki yeni anahtar içeriyor: A, oluşturucu kimlik bilgileriyle; B ise standart doğrulayıcı kimlik bilgileriyle işleniyor.
Ana zincirde bu büyük bakiye eklemesi denge akışını tükettiği için A ve B çatal sonrasına kalıyor. Bu durumda A oluşturucuya dönüşürken, B bir sonraki doğrulayıcı indeksini alıyor. Saldırganın yan zincirinde ise bakiye eklenen doğrulayıcı çataldan önce slash cezası alıyor ve ilgili yatırım atlanıyor. Böylece A daha erken işlenerek fiilen B’nin alacağı indeksi üstleniyor.
Etkilenen düğümler, çatal anında ana zincirdeki B doğrulayıcısından gelen geçerli tüm imzaları reddedebilir ve ağın geri kalanından ayrılabilir.
Düzeltme yayımlandı, diğer istemciler izleniyor
Hatalı önbellek mantığı, her iki zincirin de aynı doğrulayıcıları üreteceği varsayımıyla A anahtarını küresel düzeyde içe aktarıyordu. Bu nedenle sorun yaşayan düğümler, ana zincirde aslında geçerli olan imzaları hatalı biçimde reddedebiliyordu.
Geliştiriciler, saldırının pratikte uygulanmasının kolay olmadığını da belirtiyor. Bunun için doğru anda bir slash olayı ve ek bir yan zincir kurgusu gerekiyor. Bu nedenle açığın tesadüfen ortaya çıkma ihtimali düşük görülüyor.
Buna karşın, Glamsterdam güncellemesi yaklaştıkça çatal sınırında ortaya çıkabilecek benzer uç senaryoların daha yakından incelendiği anlaşılıyor. Diğer mutabakat istemcilerinin benzer bir sorundan etkilenip etkilenmediği ise henüz doğrulanmadı.







USDT
AAPL