Açık Nasıl Çalışıyor?
Güvenlik açığı, Ethereum Sanal Makinesi (EVM) durumunu Cosmos SDK'nın x/bank modülüyle eşleştiren kodda bulunuyor. EVM StateDB yalnızca bir hesabın harcanabilir bakiyesini izlerken, SDK durumundaki vesting hesapları hem harcanabilir hem de kilitli bakiye tutuyor. Hem x/staking hem de staking precompile, kilitli kısmın delege edilmesine izin veriyor.Bir vesting hesabı harcanabilir bakiyesinden fazlasını delege ettiğinde, delege sonrası geri yazma işlemi tam delege edilen miktarı daha küçük olan harcanabilir rakamdan düşürüyor. Bu çıkarma işlemi denetlenmiyor ve bakiye yaklaşık 2^256'ya sarıyor. Uzlaştırma işlemi pozitif deltada basım, negatif deltada yakma yapıyor. Saldırgan sarılmış hesaptan sınırlı miktarda fon çekebiliyor ya da kurban hesabına 2^256 eksi kendi bakiyesini göndererek uzlaştırmanın kurbanın gerçek varlıklarını yakmasını sağlıyor. Açığın istismar edilebilmesi için zincirin izinsiz vesting hesabı oluşturulmasına izin vermesi gerekiyor.
0.6.x sürümlerinde çalışan zincirler arka plandaki SDK defterinde basım ve yakma yapıyor; büyük bir basım arzın taşmasına ve zincirin durmasına neden oluyor. 0.7.x sürümleri ise bakiyeleri doğrudan x/bank'ta ayarlıyor ve uint256'dan int256'ya dönüşümden sağ çıkan değişiklikleri kabul ediyor. Her iki kısım da net arz değişimi sıfır olan tek bir işlem içinde, önce vesting hesabına dönüştürülen önceden hesaplanmış bir adrese dağıtılan bir sözleşmeden çalışıyor.
Cosmos Labs'ın Süreci ve Açıklamadaki Gecikmeler
28 Ağustos'ta yayımlanan olay sonrası raporda Cosmos Labs, açığın 25 Nisan'da hata ödül programı aracılığıyla bildirildiğini ve o sırada canlı ağlardaki fonlar için herhangi bir risk oluşturmadığının değerlendirildiğini belirtti. Şirket, "18 ondalıklı ağlarda güvenlik açığını yeniden oluşturamadık ve yalnızca 18 ondalıklı olmayan ağları etkilediği sonucuna yanlış biçimde vardık" dedi. Ekip, 13 Ağustos itibarıyla tüm Cosmos EVM zincirlerinin ondalık yapılandırmasından bağımsız olarak etkilendiğini doğruladı.Cosmos Labs, yamayı ardından fon kaybına yol açmayan sorunlar için kullandığı standart "sessiz yama" süreciyle dağıttı. Şirket, "Bu noktada, üretim ağlarındaki kullanıcı fonlarını tehdit ettiği bilinen bir güvenlik açığı için ekip genellikle etkilenen ağlara yamayı özel kanallar aracılığıyla dağıtır. Yama, bilinen bir istismar olmaksızın ana dalda zaten kamuya açık olduğundan, ekip sessiz yama süreciyle devam etmenin güvenli olacağı sonucuna vardı" açıklamasını yaptı.
Ancak şirketin kendi yayımladığı sessiz yama politikası bu tür bir açık için farklı bir yol öngörüyor. 27 Temmuz'da son güncellenen hata ödül politikasında Cosmos Labs şöyle diyor: "Bir sorun anlık veya ağ genelinde risk oluşturduğunda, herhangi bir kamuoyu açıklaması yapılmadan önce Cosmos Labs acil azaltma önlemleri başlatacak, yamayı özel olarak dağıtacak veya koordineli yükseltmeler gerçekleştirecektir."
İlk Saldırı ve Bildirim Zaman Çizelgesi
Push Chain'in Cosmos EVM çatalındaki kamuya açık bir çekme isteği, 20 Ağustos'ta saat 07:16 UTC'de, sürümler yayımlandıktan sekiz saat on beş dakika sonra güvenlik açığını ve istismar yolunu ayrıntılı biçimde ortaya koydu. MANTRA'ya yönelik ilk saldırı on bir saat elli dakika sonra, saat 19:06 UTC'de başladı. Cosmos Labs, MANTRA'nın istismar edildiğini bildirmesinden yaklaşık iki saat sonra, 21 Ağustos saat 03:36 UTC'de güvenli e-posta yoluyla ilk özel bildirimini gönderdi.ZetaChain katkıcısı morde08, 21 Ağustos'ta yayımlanan üç düzeltmenin tamamını içeren bir bağlantı noktasında, seçilerek uygulanan yamanın çatalın canlı yolunu yamasız bıraktığını belirtti; zira çatal yinelenen dışa aktarılmamış yardımcılar taşırken yukarı akış değişikliği yalnızca dışa aktarılan olanı değiştirdi. Warden Protocol ise iki gün sonra farklı bir yol izleyerek vesting hesabı oluşturmayı tamamen engelledi. Warden Protocol katkıcısı jlehtimaki, bir commit mesajında "Vesting hesapları Warden'daki kilitli bakiyelerin tek kaynağı ve kullanıcıların bunları oluşturabilmesine bağlı hiçbir şey yok; bu nedenle bu yolu kaldırmak, yeniden yapılandırmanın doğru olduğuna güvenmek yerine ön koşulu ortadan kaldırıyor" dedi.
Maddi Kayıp ve Ekosistem Boyutu
Cosmos Labs, altı zincirde istismarın gerçekleştiğini doğruladı. Saldırganlar, 19 Ağustos fiyatlarına göre etkilenen varlıkların yaklaşık 2,87 milyon dolar değerindeki kısmını merkeziyetsiz borsalarda sattı; şirket bu rakamın etkilenen zincirler tarafından sağlandığını ve bağımsız olarak denetlenmediğini belirtti. Merkezi borsalarda ise kamuya açık işlem hacmi verilerine dayanan bir tahminle 2,85 milyon dolarlık ek satış gerçekleştirildi.Cosmos ekosistemi 115'ten fazla bilinen kamuya açık blokzincirini kapsıyor; şirket, yazılımını çalıştıran ağların tam kaydını tutmadığını söyledi. Bu eksiklik, Temmuz ayında alt akış satıcılarının paketlenmiş dosya sistemi açıklarını bağımsız olarak yamalamak zorunda kaldığı durumun aynısı. Cosmos Labs, olay sırasında güvenlik kanallarına hiç kayıt yaptırmamış on bir Cosmos EVM dağıtımından haberdar oldu. Şirket, son 13 ayda 37 güvenlik açığı için yamayı, alt akış geliştiricileri istismar yollarını kamuoyuna ayrıntılı biçimde açıklamadan sessizce yayımladığını da belirtti.
Operatörlere Yönelik Teknik Öneriler
Cosmos EVM çalıştıran operatörler için danışma belgesi bir dizi adım sıralıyor: v0.6.2 veya v0.7.2'ye ya da daha yeni bir sürüme yükseltme yapmak, bunu durum değiştiren bir değişiklik olduğu için koordineli ağ yükseltmesi olarak uygulamak gerekiyor. Hemen yükseltme yapamayan zincirler, koordineli yönetişim yükseltmesi yerine blok üretimini durdurmakla yükümlü. Danışma belgesi, yalnızca yapılandırmayla bir azaltma yolunun bulunmadığını ve staking precompile'ı devre dışı bırakmanın birincil tetikleyici yolu kaldırsa da yamanın yerini tutmadığını belirtiyor.Operatörlerin ayrıca ante handler'da MsgCreateVestingAccount, MsgCreatePermanentLockedAccount ve MsgCreatePeriodicVestingAccount mesajlarını reddetmesi öneriliyor. Genesis'te tanımlanan vesting hesapları etkilenmiyor. Danışma belgesi ayrıca iki ek düzeltmeye dikkat çekiyor: kilitli bakiye anlık görüntüsü ve modül hesabı koruması ayrı değişiklikler olup modül hesabı koruması, modül hesaplarından yapılan EVM çağrılarını bozuyor.

Siber Güvenlik
Siber Güvenlik
Siber Güvenlik
Yorumlar (0)
Yorum yapmak için giriş yapmalısınız.