Geçici depolama kalıntıları 300.000 $ değerinde on-chain varlık kaybına yol açtı; geliştiricilerin yeni özelliklerin risklerine dikkat etmesi gerekiyor.

Ölümcül Kalıntı: Geçici Depolamanın Neden Olduğu 300,000 Dolar Değerinde On-Chain Olay Analizi

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

Ölümcül Kalıntı: Geçici Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

Arka Plan

Solidity 0.8.24 sürümü, EIP-1153 tabanlı geçici depolama özelliğini tanıttı. Bu, geliştiricilere düşük maliyetli, işlem süresince geçerli olan geçici bir depolama yöntemi sunan yeni bir veri depolama konumudur. Geçici depolamanın ana özellikleri şunlardır:

  1. Düşük gas maliyeti: İşlem sabit olarak 100 gas tüketiyor, bu da olağan depolama işlemlerinin çok altında.
  2. İşlem içi kalıcılık: Veriler işlem süresi boyunca geçerliliğini korur.
  3. Otomatik Temizleme: İşlem tamamlandıktan sonra, geçici depolama otomatik olarak sıfırlanır.

Ölümcül Kalan: Geçici Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

Olay Analizi

Bu olayın temel nedeni, fonksiyonda tstore kullanılarak geçici depolanan değerlerin fonksiyon çağrısı sona erdikten sonra temizlenmemesidir. Saldırgan, bu özelliği kullanarak belirli kötü niyetli adresler oluşturmuş ve yetki kontrolünü atlayarak token transferi gerçekleştirmiştir.

Saldırı adımları aşağıdaki gibidir:

  1. Saldırgan, iki kötü niyetli token A ve B oluşturur ve bu iki token için bir DEX üzerinde likidite havuzu oluşturur.

Ölümcül Kalan: Geçici Depolamanın Neden Olduğu 300.000 Dolarlık on-chain Soygun

  1. Hedef sözleşmenin initialize fonksiyonu çağrılarak A tokeni teminat olarak, B tokeni borç tokeni olarak kullanılarak kaldıraçlı ticaret piyasası oluşturulur.

Kritik Kalıntı: Geçici Depolamadan Kaynaklanan 300.000 Dolar Değerinde Bir On-Chain Soygun

  1. Mint fonksiyonunu çağırarak, borç tokeni B'yi kaldıraç tokeni olarak basın. Bu süreçte, DEX havuz adresi ve basım miktarı geçici olarak depolanır.

Ölümcül Kalan: Geçici Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

  1. Geçici depolamadaki mintleme miktarına eşit bir adres oluşturun.

Ölümcül Kalan: Anlık Depolama ile Başlayan 300.000 Dolar Değerinde Bir On-Chain Soygun

  1. Kötü niyetli sözleşmelerle hedef sözleşmenin geri çağırma fonksiyonunu çağırarak, geçici depolamada kalan değerleri kullanarak kimlik doğrulamayı atlatmak.

Ölümcül Kalıntı: Geçici Depolamanın Neden Olduğu 300.000 Dolarlık on-chain Soygun

  1. Son olarak, saldırgan, saldırı sözleşmesi aracılığıyla hedef sözleşmenin geri çağırma fonksiyonunu doğrudan çağırarak, içindeki diğer tokenleri (örneğin WBTC, WETH) çıkararak kar elde eder.

Ölümcül Kalan: Geçici Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

Fon Akışı

Zincir üzerindeki analiz araçlarının verilerine göre, saldırganlar yaklaşık 300.000 dolar değerinde varlık çaldı, bunlar arasında:

  • 17.814,8626 USDC
  • 1.4085 WBTC
  • 119.871 WETH

Bu varlıklar daha sonra WETH'ye dönüştürüldü ve toplamda 193.1428 WETH belirli bir anonimleştirme aracına aktarıldı. Saldırganın başlangıç fonları, bu araçtan aktarılan 0.3 ETH'den gelmektedir.

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

Güvenlik Tavsiyeleri

  1. Proje tarafı, iş mantığına göre, fonksiyon çağrısı sona erdikten hemen sonra tstore(key, 0) kullanarak geçici depolamadaki değerleri temizlemelidir.

Ölümcül Kalan: Anlık Depolama Tarafından Tetiklenen 300.000 Dolar Değerinde Bir On-Chain Soygun

  1. Sözleşme kodu denetimini ve güvenlik testlerini güçlendirin, özellikle yeni eklenen dil özellikleri ve bunların potansiyel risklerine dikkat edin.

Ölümcül Kalıntı: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

  1. Tek bir açığın büyük ölçekli varlık kaybına neden olmasını önlemek için çoklu doğrulama mekanizmaları uygulanmalıdır.

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

  1. Düzenli olarak güvenlik değerlendirmeleri ve zafiyet taramaları yapın, potansiyel sorunları zamanında düzeltin.

Ölümcül Kalıntı: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

  1. Güvenlik izleme sisteminin entegre edilmesi, anlık anormal işlem davranışlarını izlemek için düşünülmelidir.

Ölümcül Kalıntı: Geçici Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

Bu olay, yeni teknolojileri benimserken özellikle dikkatli olmamız, özelliklerini ve potansiyel risklerini tam olarak anlamamız gerektiğini bir kez daha hatırlatıyor. Aynı zamanda, sürekli güvenlik uygulamaları ve düzenli denetimler, on-chain projelerin güvenliğini sağlamak için hayati önem taşımaktadır.

Öldürücü Kalan: Geçici Depolama Tarafından Tetiklenen 300.000 Dolar Değerinde On-Chain Soygun

Ölümcül Kalan: Geçici Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

Ölümcül Kalan: Anlık Depolamanın Neden Olduğu 300.000 Dolar Değerinde Bir On-Chain Soygun

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
  • 5
  • Share
Comment
0/400
MemeTokenGeniusvip
· 07-22 16:28
30w dolar böyle mi gitti? Kaç kişi öldü?
View OriginalReply0
WhaleStalkervip
· 07-21 21:55
Yine bir akıllı sözleşme çukura düştü.
View OriginalReply0
GateUser-1a2ed0b9vip
· 07-19 16:59
Yine biri kaza yaptı, seni ucuzluğa kapıldığın için kimse suçlayamaz.
View OriginalReply0
ProxyCollectorvip
· 07-19 16:55
又被insanları enayi yerine koymak30w,啧啧
View OriginalReply0
BugBountyHuntervip
· 07-19 16:50
Gerçek•Böcek Yakalama Hızı MAX!
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)