Ethereum projesi 300.000 dolarlık bir saldırıya uğradı, geçici depolama hatası ana neden oldu.

robot
Abstract generation in progress

Geçici depolama hatası, Ethereum projesinin 300.000 dolarlık bir saldırıya uğramasına neden oldu

30 Mart 2025'te, bir güvenlik izleme sistemi Ethereum ağı üzerindeki bir kaldıraç işlem projesinin saldırıya uğradığını tespit etti ve 300.000 dolardan fazla varlık kaybı yaşandı. Güvenlik ekibi bu olayı analiz etti ve sonuçları aşağıda paylaşmaktadır:

Arka Plan Bilgisi

Solidity 0.8.24 sürümü, geçici depolama ( transient storage ) özelliğini tanıttı; bu, yeni bir veri depolama konumudur. Temel özelliği, verilerin yalnızca mevcut işlem yürütülürken geçerli olmasıdır; işlem sona erdikten sonra otomatik olarak silinir. Erişim ve değişiklik, iki yeni EVM talimatı olan TSTORE ve TLOAD aracılığıyla gerçekleştirilir.

Geçici depolamanın aşağıdaki özellikleri vardır:

  • Düşük gas maliyeti: TSTORE ve TLOAD'un gas maliyeti 100 olarak sabittir.
  • İşlem içi kalıcılık: Veriler işlem süresi boyunca geçerliliğini korur.
  • Otomatik sıfırlama: İşlem sona erdikten sonra otomatik olarak sıfırlanır

Ölümcül Kalıntı: Anlık Depolama Nedeniyle Gerçekleşen 300.000 Dolarlık Zincir Üstü Soygun

Açık Nedenleri

Bu olayın temel nedeni, fonksiyonda tstore kullanarak anlık depolanan değerlerin, fonksiyon çağrısı sona erdikten sonra temizlenmemesidir. Bu durum, saldırganların bu özelliği kullanarak belirli kötü niyetli adresler oluşturmasına ve yetki kontrolünü aşarak token transfer etmesine olanak tanımaktadır.

Ölümcül Kalıntı: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Saldırı Süreci

  1. Saldırgan, iki kötü niyetli token A ve B oluşturur ve bu iki token için bir DEX'te havuz oluşturarak likidite sağlar; burada A token, saldırı sözleşmesidir.

  2. Saldırgan, A tokenini teminat tokeni ve B tokenini borç tokeni olarak kullanarak Vault sözleşmesinin initialize fonksiyonunu çağırarak kaldıraçlı işlem piyasası APE-21'i oluşturur.

  3. Saldırgan, Vault sözleşmesinin mint fonksiyonunu çağırarak, borç tokeni B'yi yatırıp APE kaldıraç tokenini basar. Bu süreçte, DEX havuz adresi ve basım miktarı sırasıyla geçici olarak depolanır.

  4. Saldırgan, ikinci geçici depolama değerine aynı olan kötü niyetli bir sözleşme oluşturur.

  5. Saldırgan, bu kötü niyetli sözleşme aracılığıyla Vault sözleşmesinin geri çağırma fonksiyonunu doğrudan çağırarak tokenleri dışa aktardı. Geçici depolamadaki değerlerin temizlenmemesi, kimlik kontrolünün yanlış geçmesine neden oldu.

  6. Son olarak, saldırgan, A token'ı üzerinde bir saldırı gerçekleştirerek Vault sözleşmesinin geri çağırma fonksiyonunu tetikleyerek, Vault sözleşmesindeki diğer token'ları (WBTC, WETH) çıkararak kâr elde eder.

Öldürücü Kalıntılar: Ani Depolama Nedeniyle Gerçekleşen 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Öldürücü Kalıntı: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Kalıntı: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Kalıntı: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Kalan: Anlık Depolama ile Başlayan 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Kalıntı: Anlık Depolama Tarafından Başlatılan 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Öldürücü Kalıntı: Geçici Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Kalıntı: Anlık Depolama Kaynaklı 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Artık: Geçici Depolama Tarafından Başlatılan 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Kalıntı: Geçici Depolama Tarafından Başlatılan 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Kritik Kalıntı: Anlık Depolama Nedeniyle Gerçekleşen 300,000 Dolar Değerinde Bir Zincir Üstü Soygun

Fon Akışı Analizi

Zincir üzerindeki analizlere göre, saldırganlar yaklaşık 300.000 dolar değerinde varlık çaldı; bunlar arasında 17.814,8626 USDC, 1,4085 WBTC ve 119,871 WETH bulunmaktadır.

  • WBTC, 63.5596 WETH'e dönüştürüldü
  • USDC, 9.7122 WETH'e dönüştürüldü
  • Toplam 193.1428 WETH, bir karıştırma hizmetine transfer edildi.

Saldırganın başlangıç fonu, bir karışık coin hizmetinden gelen 0.3 ETH'dir.

Öldürücü Kalıntı: Anlık Depolama Tarafından Başlatılan 300,000 Dolar Değerinde Bir Zincir Üstü Soygun

Öldürücü Kalıntı: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir Zincir Üstü Soygun

Ölümcül Kalan: Anlık Depolamanın Neden Olduğu 300.000 Dolarlık Zincir Üstü Soygun

Ölümcül Kalıntılar: Geçici Depolama Tarafından Başlatılan 300.000 Dolarlık Zincir Üzerindeki Soygun

Özet ve Öneriler

Bu saldırının temelinde, geçici depolamanın, işlem süresi boyunca değerleri saklama özelliğini kullanarak geri çağırma fonksiyonlarının yetki doğrulamasını atlatmak yatmaktadır. Proje sahiplerine, iş mantığına göre fonksiyon çağrısı sona erdikten hemen sonra tstore(key, 0) kullanarak geçici depolamadaki değerleri temizlemeleri önerilmektedir. Ayrıca, benzer durumların meydana gelmesini önlemek amacıyla sözleşme kodu denetimi ve güvenlik testlerinin güçlendirilmesi gerekmektedir.

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
  • 3
  • Share
Comment
0/400
CommunitySlackervip
· 15h ago
Bir başka makineye dönüşen proje
View OriginalReply0
BlockchainDecodervip
· 15h ago
Teknik açıdan, bu tipik bir geçici depolama hatalı kullanımıdır.
View OriginalReply0
StealthMoonvip
· 15h ago
Yine geçici depolama açığı mı? Biraz dikkat et.
View OriginalReply0
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)