Cosmos EVM açığı altı blok zincirinde 5,7 milyon dolarlık saldırıya zemin hazırladı

Cosmos EVM yazılımında tespit edilen bir güvenlik açığı, 20-25 Ağustos tarihleri arasında altı farklı blok zinciri ağında fonların çalınmasına yol açtı. Cosmos zincirlerinin Ethereum tabanlı uygulamaları çalıştırmasını sağlayan bu ortak yazılımda yaşanan zafiyet, Cosmos Labs tarafından yayımlanan teknik inceleme raporunda detaylandırıldı.

Saldırganlar, ele geçirdikleri token’ları merkeziyetsiz borsalarda yaklaşık 2,87 milyon dolar, merkezi borsalarda ise 2,85 milyon dolar değerinde diğer varlıklara çevirdi. Rapora göre, saldırganların merkezi borsa hesapları ilgili otoritelerin soruşturması kapsamında donduruldu.

Cosmos Labs, söz konusu açığın bir araştırmacı tarafından 25 Nisan’da Cosmos hata ödül programı üzerinden bildirildiğini açıkladı. Ancak şirketin test ekibi, canlı Cosmos zincirlerinde ve bilinen tüm Cosmos EVM ağlarında saldırının tekrarlanamadığını belirtti. Bu nedenle, ilgili ağlardaki fonların risk altında olmadığı sonucuna varıldı.

Bu değerlendirme doğrultusunda, Cosmos Labs açığı sessiz ve herkese açık bir yama süreciyle kapattı. Canlı kullanıcı fonlarını tehdit eden durumlarda uygulanan özel yama dağıtımı ise tercih edilmedi.

Açığın Detayları

Saldırgan, “integer underflow” olarak bilinen bir yazılım hatasını kullanarak Cosmos EVM ağlarını kandırdı ve saldırgan cüzdanlarına neredeyse sınırsız token aktarılmasını sağladı. Önce, kilitli token’lara sahip bir hesap oluşturuldu ve bu hesaptan harcanabilecek miktarın üzerinde bir tutar bir doğrulayıcıya delegelendi. Hesap bakiyesi sıfırın altına indiğinde, değer 2^256-1 gibi devasa bir sayıya döndü.

İkinci adımda ise bu şişirilmiş bakiye, blok zinciri tarafından geçerli kabul edilerek hedef hesaba aktarıldı. Böylece, hedef hesabın bakiyesi de benzer şekilde taşma yaşadı ve saldırgan, hedefteki token’lara sahip olurken hedef hesap sıfırlandı.

Bu süreçte yeni token üretilmedi ve toplam arz değişmedi. MANTRA’nın yayımladığı teknik incelemeye göre, bu açık token’ın en küçük birimi kadar bir arz hareketine yol açtı.

Cosmos Labs, saldırıların rastgele seçilmiş, yüksek bakiyeli hesapları — örneğin yakım adresleri ve zincir başlatılırken oluşturulan çoklu imzalı cüzdanları — hedef aldığını belirtti. Kritik olarak nitelendirilen bu güvenlik uyarısı, Cosmos EVM’in v0.6.2 ve v0.7.2 öncesi sürümlerini kapsıyor. Cosmos EVM, ekosistemin yerel EVM altyapısı olup açık kaynaklı Evmos kod tabanından türetiliyor.

Zaman Çizelgesi

Cosmos Labs, açığın canlı zincirleri etkilemediği düşüncesiyle Mayıs ayında sessiz yama süreciyle bir düzeltme yayımladı. Bu süreçte, zincir operatörlerine hangi açığın kapatıldığı bildirilmedi. Şirket, son 13 ayda bu şekilde 37 güvenlik açığını yamaladığını açıkladı.

Ancak, bağımsız araştırmacıların Ağustos başındaki raporları, açığın tüm Cosmos EVM zincirlerini etkilediğini ortaya koydu. Bunun üzerine, Cosmos Labs yamayı tersine mühendisliği önlemek için gizledi ve 19 Ağustos saat 19:01’de yayımladı. Sürüm notlarında ise yalnızca “önemli” güvenlik düzeltmelerinden bahsedildi, detay verilmedi.

İlk saldırı, 20 Ağustos saat 15:06’da başladı; yani yamanın yayımlanmasından yaklaşık 20 saat sonra.

MANTRA’nın teknik incelemesinde, “20 saatlik süre, 38 bağımsız doğrulayıcı arasında zincir kırıcı bir güncellemeyi değerlendirmek, inşa etmek, test etmek ve koordine etmek için gerçekçi bir zaman aralığı değildi, özellikle de açığa özel bir uyarı olmadan” ifadelerine yer verildi. MANTRA, Cosmos ekibine gecikmeyi resmi olarak ilettiğini ve güvenlik yamalarında daha şeffaf bildirim ve net geriye dönük uyumluluk beklentisi talep ettiğini açıkladı.

Cosmos Labs, saldırıya yol açan bir diğer faktörün de 20 Ağustos saat 03:16’da Push Chain geliştiricisinin açığı ve istismar yolunu kamuya açık bir kod değişikliğiyle paylaşması olduğunu belirtti. Bu raporda, güvenlik firması Hacken’in denetimine atıf yapıldı ve etkilenen sürümler listelendi. Ancak, raporda yeni yayımlanan v0.6.2 ve v0.7.2 sürümleri yer almadı.

Cosmos Labs, bir alt geliştiricinin istismar yolunu tam olarak açıklamasını “son derece sıra dışı” olarak nitelendirdi ve bunun istismar riskini artırabileceğini belirtti.

MANTRA’nın raporuna göre, güvenlik bulgusu saldırganın ilk denemesinden 11 saat 45 dakika önce bildirildi. Saldırganın cüzdanı ise bulgudan yaklaşık dört saat önce fonlandı. Saldırı için gereken işlem ücretleri, merkezi bir borsadan yapılan 472,70 MANTRA (eski adıyla OM) çekimiyle karşılandı.

Kayıplar

Bu açık sonucunda, MANTRA iki adresten toplam 720,9 milyon MANTRA token kaybetti. Bu token’ların değeri saldırı anında yaklaşık 3,6 milyon dolardı. Kaybedilen adresler, ağın yakım adresi ve önceki bir teşvik kampanyasından kalan hareketsiz bir çoklu imzalı cüzdandı.

İlk saldırı işlemi sırasında otomatik bir uyarı tetiklenmedi; çünkü yakım adresi taşınamaz olarak kabul edildiğinden izleme sistemleri bu tür transferleri kapsamıyordu. Saldırı yaklaşık dört saat boyunca fark edilmedi ve bu sürede saldırgan hareketsiz cüzdandaki token’ları da boşalttı.

Ağ, 20 Ağustos saat 19:13’te durduruldu ve yaklaşık 30 saat sonra yamalı yazılımla, herhangi bir geri alma işlemi olmadan yeniden başlatıldı. Durdurma sırasında saldırganın cüzdanında yaklaşık 38 milyon MANTRA donduruldu. Ancak saldırgan, kalan %94,7’lik kısmı 15 transferle tek bir borsa adresine aktardı.

TAC, DeFi uygulamalarını TON ve Telegram kullanıcılarına sunan bir platform olarak, 22 Ağustos’ta staking havuzundan yaklaşık 3 milyar TAC kaybetti. Bu token’ların yaklaşık 1,2 milyarı BNB Chain üzerinde satılarak yaklaşık 950.000 dolar gelir elde edildi.

Döviz altyapısı sağlayan KiiChain ise aynı akşam yaklaşık 148 milyon KII kaybetti. Bunun 64,6 milyonu yaklaşık 1,6 milyon dolara satıldı. Cosmos Labs, çalınan KII token’larının yaklaşık %54’ünün ağ yeniden başlatılırsa zincir üstünde kurtarılabileceğini belirtti.

Aynı yöntemle üç zincir daha saldırıya uğradı; ancak isimleri açıklanmadı.

Bunlardan birinin yapay zekâ odaklı Nesa olduğu düşünülüyor. Bitvavo borsası, 24 Ağustos’ta NES yatırma ve çekme işlemlerini, “kritik bir mutabakat açığı” nedeniyle askıya aldı. Bubblemaps’in analizine göre, saldırgan yaklaşık 250.000 dolarlık NES satın alıp Nesa’ya aktardı, açığı kullanarak bakiyesini 200 kat artırdı ve 50 milyon dolarlık NES’i Ethereum’a taşıdı.

Ancak, likiditenin havuzlardan çekilmesiyle saldırganın işlemlerinde ciddi fiyat kayması yaşandı ve yalnızca 60.000 dolar kâr elde edildi. Cüzdanın ilk fonlaması Monero’dan yapıldı.

Bubblemaps, Nesa saldırganının fonlama ve işlem tarzının önceki saldırılardan farklı olduğunu ve ayrı bir kişi olabileceğini belirtti. Cosmos Labs raporunda Nesa’dan bahsetmedi. Nesa ise henüz kendi teknik incelemesini yayımlamadı.

Kalan iki zincirin kimliği ise kamuya açıklanmadı. Cosmos Labs ve Nesa, The Block’un yorum taleplerine yanıt vermedi.

MANTRA, 28 Ağustos itibarıyla hiçbir token’ın kurtarılamadığını açıkladı. Ancak, yakım adresi gibi harcanamaz olarak raporlanan bakiyeler artık dolaşıma girdiği için MANTRA’nın dolaşımdaki arzı yaklaşık 720,9 milyon token arttı.

KiiChain’in Açıklaması

KiiChain, 23 Ağustos’ta kendi teknik incelemesini yayımladı ve Cosmos Labs’in etkilenen zincirlere ağı durdurmaları için önceden bilgi vermediğini belirtti.

KiiChain’in raporunda, “Cosmos Labs, alt zincirlere önceden bildirimde bulunmadı, sürümü güvenlik açısından kritik olarak işaretlemedi ve kamuya açık bir sürüm yayımlandığını etkilenen zincirlere ancak 21 Ağustos Cuma günü, yani iki gün sonra bildirdi” ifadeleri yer aldı. Cosmos Labs, durdurma önerisini ancak MANTRA, TAC ve KiiChain saldırıya uğradıktan sonra, 22 Ağustos’ta yaptı.

KiiChain, bir yamanın gözden geçirilmesi, inşa edilmesi, test edilmesi ve doğrulayıcılar arasında dağıtılmasının günler aldığını; oysa bir ağ durdurmanın dakikalar sürdüğünü vurguladı. “Riski anında sınırlayacak tek önlem, blok üretiminin durdurulması yönünde net bir talimattı ve bu talimat ancak zarar ortaya çıktıktan sonra verildi” denildi.

KiiChain ayrıca, istismarın yalnızca iki değil üç üst düzey yazılım hatası gerektirdiğini ve yalnızca underflow açığının kamuya açık şekilde yamalandığını savundu. MANTRA ise underflow düzeltmesini “bu saldırı yolunu kapatan kontrol” olarak tanımladı ve açığın yeniden üretilebildiğini doğruladı. Cosmos Labs raporunda iki zincirleme açık anlatıldı; ancak KiiChain’in üçüncü bir açığın yamalanmadığı iddiasına değinilmedi. KiiChain, The Block’un yorum talebine yanıt vermedi.

Cosmos Labs, müdahale sürecinde 40 zincirle koordinasyon sağladığını ve 13 zincirde açığı yamalayıp saldırıdan önce ağı durdurduklarını açıkladı. Şirket, Cosmos ekosisteminde 115’ten fazla halka açık blok zinciri bulunduğunu ve müdahale sırasında daha önce kayıtsız 11 Cosmos EVM dağıtımını tespit ettiklerini belirtti.

MANTRA, CoinGecko verilerine göre cumartesi günü 0,0043 dolar civarında işlem gördü ve yıl başından bu yana yaklaşık -%70 değer kaybetti. Token’ın 2025’teki çöküşü sonrası yeniden yapılanmaya giden MANTRA, mevcut yatırımcısı Inveniam Capital Partners tarafından satın alınıyor. Satın almanın bu çeyrekte tamamlanması bekleniyor.

Bu içerik hazırlanırken faydalanılan kaynaklar: theblock.co