CertiK: Vyper'ın 52 milyon dolarlık kaybının ayrıntılı açıklaması

Vyper 0.2.15, 0.2.16 ve 0.3.0 sürümlerindeki güvenlik açıkları bildirildi ve Curve'deki birçok havuzu yeniden giriş saldırıları riskiyle karşı karşıya bıraktı. Bu güvenlik açığı, bir saldırganın likidite kaldırma işlemi sırasında likidite ekleme işlevini çağırmasına olanak tanır.

Şimdiye kadar toplam 69,3 milyon dolar etkilendi ve bunun 16,7 milyon doları beyaz şapka korsanları tarafından kurtarıldı. Bu aynı zamanda bu olaydan 52 milyon doların çalındığı anlamına geliyor ve bu da onu 2023'te şimdiye kadarki en büyük yeniden giriş saldırısı yapıyor.

exsGmBiwYOSh5Seu3C6zysCmJcCD64sdWTvG5w0M.jpeg

Vyper Olay Analizi

Etkinlik Özeti

30 Temmuz 2023'te, Ethereum Virtual Machine (EVM) için tasarlanmış sözleşme odaklı bir programlama dili olan Vyper derleyicisinin 0.2.15, 0.2.16 ve 0.3.0 sürümlerinin yeniden giriş kilidi hatası güvenlik açıklarına sahip olduğu açıklandı. Hatadan birden fazla DeFi projesi etkilendi ve toplam 52 milyon dolarlık kayıp yaşandı.

CertiK, olayla ilgili altı adres tespit etti. İlki (0x172), 17806056 bloğundaki güvenlik açığından yararlanamadı. Orijinal istismarcı, Tornado Cash'ten 0,1 ETH çekti ve saldırı sözleşmesini oluşturmaya başladı. Ancak önde gelen bir cüzdan (0x6Ec21) daha fazla gas ücreti ödedi ve işlemi ilk gerçekleştirerek yaklaşık 6.100 WETH (11.4 milyon $) kazandı.

YLsgfOUBbfcQ6Pgy77tT2prtmsSHe2U4s7HpuCV3.png

MEV robotunun işlem öncesi başarısızlığının güvenlik açığı Kaynak: Etherscan Etherscan

İhlal daha fazla kayba yol açtı: EOA 0xDCe5d yaklaşık 21 milyon dolar değerinde varlık satın aldı. İlgili cüzdanın detayları aşağıdaki gibidir:

BQybD6x7JDeb56tNYa5gp3antJdgtukOJp5C71Gw.png

Toplam altı proje etkilendi, yaklaşık 69.3 milyon $ çalındı ve bunun 16.7 milyon $'ı iade edildi ve toplamda yaklaşık 52 milyon $'lık bir kayıp yaşandı.

Vyper nedir

Vyper, Ethereum Virtual Machine (EVM) için sözleşme odaklı bir Python programlama dilidir. Vyper, 2017'den beri beta sürümündedir, ancak beta olmayan ilk sürümü Temmuz 2020'de 0.2.1 sürümüydü.

Ethereum ekosistemindeki baskın dil olan Solidity, Vyper'dan çok daha uzun süredir var, bu nedenle birçok topluluk üyesi, yalnızca Solidity ile çalışan araçlar yarattı. DeFiLlama'nın verilerine göre, DeFi protokollerinde yaklaşık 70 milyar ABD doları olan toplam kilitli değerin (TVL) 2,17 milyar ABD doları Vyper akıllı sözleşmelerinden, 67,49 milyar ABD doları gibi yüksek bir yüksekliğe ulaşan Solidity ise büyük çoğunluğu oluşturuyor.

KjMot1urT10BOZJi8lgltDDN62IMhxVncPFncjoP.png

616cb7f4-e84a-479f-bd50-73e2adaec534 Dil kaynağına göre toplam kilitli değer: DeFiLlama

10 Mayıs 2023 itibariyle, Vyper'ın hakimiyeti Ağustos 2020'deki %30'luk yüksek seviyeden %6,27'ye düştü. Vyper'ın TVL hakimiyeti Solidity'ninkinden önemli ölçüde düşük olsa da, olay yine de 62 milyon dolarlık bir isabetle sonuçlandı.

8G03pLGwavL4LcDkdTQS5EVlIywScZBcpTb4Fzeb.png

b89a9653-a2d4-4e89-9042-24e06ed1590a (1) TVL'de farklı programlama dillerinin hakimiyeti Kaynak: DeFiLlama

Derleyici sürümü

Derleyici sürümü, insan tarafından okunabilen kaynak kodunu makine tarafından okunabilen koda dönüştüren bir programlama dili derleyicisinin belirli bir sürümünü ifade eder.

Derleyici sürümleri, özellikleri tanıtmak, hataları düzeltmek ve güvenliği artırmak için düzenli olarak güncellenir. Vyper Language şu anda bir hacker bug ödül programı sunmamaktadır.

Sürüm 0.2.15 - 0.3.0

Yukarıda belirtildiği gibi, Vyper 0.2.15, 0.2.16 ve 0.3.0 sürümlerinde güvenlik açıkları bulundu ve bu, birden fazla DeFi projesine yeniden giriş saldırılarına yol açtı.

En eski Vyper istismar sürümü 0.2.15, 23 Temmuz 2021'de yayınlandı. Aynı yılın Aralık ayında 0.3.1 sürümü yayınlandığında, önceki güvenlik açığı sona ermişti.

zaman çizelgesi

Olay ilk olarak 30 Temmuz'da Pekin saatiyle 21:10'da başladı. Saldırganın Curve'deki JPEG havuzuna yönelik işlemi, önceden çalışan işlemler nedeniyle başarısız oldu.

31.07.2023, 21.08.31'de ekran görüntüsü

30 Temmuz Pekin saatiyle 22:00'de JPEG'd, pETH-ETH Eğrisi havuzunun kötü amaçlarla kullanıldığını doğruladı.

2g2jUlVcktQTJmqFFZUPSVONMA6O9Jbp7HcbQEKd.png

Vyper daha sonra 0.2.15, 0.2.16 ve 0.3.0 sürümlerinin bozuk bir yeniden giriş kilidi içerdiğini duyurdu. Vyper tweet attıktan sonra Metronome ve Alchemix de etkilendi.

mRZI1JtH7Qv7Mvk09k7ex0chKgffsFir98ebzqtD.png

Metronom DAO Duyurusu:

FTzOyIh9Z8Opc6soNd4zLzAcKQGuLxWY2QEefPPV.png

F9Dh7bMfVanq8deivVbWwhF24E3gbbIpThEq0t5l.png

8MYwVijoFiaJPL32YVTK6AOQHeHsZvZXyxIfmF9h.png

Pekin saatiyle ikinci günün erken saatlerinde Curve Finance, Discord üzerinden kalan fon havuzunun Vyper Bug'dan etkilenmediğini ve güvenli olduğunu duyurdu.

PsdIMHoBSb8vtyuFjjlO4ZsCrmKfIC6IY6I40DkB.png

aLVrLdFyKeWEz7Jd1sqydWD4dTUWmpGw8Oj7PY0W.png

Curve Finance, Twitter'da Arbitrum'daki bir havuzun potansiyel olarak ele geçirildiğini, ancak kötü niyetli aktörlerin yürütebileceği kârlı istismarlar olmadığını, yani havuzun tehlikeye atılmasının pek mümkün olmadığını duyurdu. CertiK, Vyper güvenlik açığından yararlanan başka bir saldırı da tespit etmedi.

iqFUjHgxsKZF0Hw4cIndWFLBVQBC8VyjPCrNnDNk.png

Saldırı süreci

Aşağıda, JPEG'd'i hedefleyen bir anlaşma örneği verilmiştir:

Saldırgan: 0x6ec21d1868743a44318c3c259a6d4953f9978538

Saldırı sözleşmesi: 0x466b85b49ec0c5c1eb402d5ea3c4b88864ea0f04#code

1 Saldırgan önce Balancer: Vault'tan 80.000 WETH (yaklaşık 149.371.300$) borç alır.

2 Ardından, saldırgan WETH'yi ETH ile değiştirir, pETH-ETH-f.add_liquidity()'yi çağırır ve pETH-ETH-f havuzuna 40.000 ETH (yaklaşık 74.685.650$) ekler. Karşılığında saldırgan 32.431 pETH (pETH-ETH-f) aldı.

3 Saldırgan, 2. adımda eklenen likiditeyi kaldırmak için remove_liquidity() öğesini çağırır. Saldırı sözleşmesine 3.740 pETH ve 34.316 ETH aktarıldı ve saldırı sözleşmesinin fallbak() işlevi tetiklenerek kontrolü saldırgana verdi. fallback() işlevinde, saldırgan pETH-ETH-f havuzuna 40.000 ETH daha likidite ekledi ve 82.182 pETH aldı.

4 Saldırgan tekrar remove_liquidity() öğesini çağırır, 10.272pETH alır ve 47.506 ETH ve 1.184pETH alır. Saldırgan daha sonra pETH-ETH-f havuzunda 4.924 pETH'yi 4.285 ETH ile takas etti.

Saldırgan toplamda 86.107 ETH olmak üzere 3. adımdan 34.316 ETH, 4. adımdan 47.506 ve 4.285 ETH elde etti. 80.000 ETH anlık krediyi geri ödedikten sonra, saldırgana 6.107 ETH (~11.395.506$) kaldı.

Güvenlik açıkları

Bu güvenlik açığı, bir saldırganın likidite kaldırma işlemi sırasında likidite ekleme işlevini çağırmasına olanak tanır. Bu işlevlerin @nonreentrant('lock') tarafından korunması gerekirken, add_liquidty() ve remove_liquidity() işlevleri üzerinde yapılan testler, yeniden giriş saldırılarını engellemediğini kanıtladı.

HIhD33yKE94EHwUa7xkQhAzQRF4nscaJOwAPTOmK.png

Curve.fi Fabrika Havuzu için Vyper_contract Veri kaynağı: Etherscan

Vyper v0.2.15, v0.2.16 ve v0.3.0 sürümleri, JPEG'd, Metronome ve Alchemix açıklarından yararlanan bir yeniden giriş koruması hatası güvenlik açığına sahiptir.

Mr3KDb2SKoLhF770OEWBAtdTuOYZ88tchEodweuv.png

çözüm

Güvenlik açığı bulunan Vyper sürümlerini kullanan projeler, hafifletme konusunda yardım için Vyper ile iletişime geçmelidir. Projeler ayrıca Vyper'ın bu güvenlik açığını içermeyen en son sürümüne yükseltmeyi denemelidir.

Özetle

Vyper'a yapılan saldırı, CertiK tarafından 2023'te tespit edilen en büyük yeniden giriş güvenlik açığıdır. Mali kayıplar açısından bu saldırı, bu tür olayların %78,6'sını oluşturuyordu.

Yılın en büyük iki yeniden giriş güvenlik açığı, güvenlik açıkları aynı olmasa da Vyper'da yazılan sözleşmelerden yararlandı.

Şu anda, 2023'te tüm zincirlerde yeniden giriş saldırılarından kaynaklanan kayıplar 66 milyon doları aştı. Bu, 2020'nin tamamından yaklaşık 4 milyon dolar daha fazla ve 2021'deki kayıptan sadece 1 milyon dolar daha az. Özellikle 2023 toplamı, 2022'deki yeniden hedefleme saldırılarından kaynaklanan kayıplarda %259,45'lik bir artışı temsil ediyor.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)