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.
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ı.
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:
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.
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ı.
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.
30 Temmuz Pekin saatiyle 22:00'de JPEG'd, pETH-ETH Eğrisi havuzunun kötü amaçlarla kullanıldığını doğruladı.
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.
Metronom DAO Duyurusu:
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.
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.
Saldırı süreci
Aşağıda, JPEG'd'i hedefleyen bir anlaşma örneği verilmiştir:
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ı.
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.
çö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.
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.
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ı.
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:
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.
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ı.
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.
30 Temmuz Pekin saatiyle 22:00'de JPEG'd, pETH-ETH Eğrisi havuzunun kötü amaçlarla kullanıldığını doğruladı.
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.
Metronom DAO Duyurusu:
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.
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.
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ı.
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.
çö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.