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
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.
Saldırı Süreci
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.
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.
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.
Saldırgan, ikinci geçici depolama değerine aynı olan kötü niyetli bir sözleşme oluşturur.
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.
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.
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.
Ö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.
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.
15 Likes
Reward
15
3
Share
Comment
0/400
CommunitySlacker
· 15h ago
Bir başka makineye dönüşen proje
View OriginalReply0
BlockchainDecoder
· 15h ago
Teknik açıdan, bu tipik bir geçici depolama hatalı kullanımıdır.
Ethereum projesi 300.000 dolarlık bir saldırıya uğradı, geçici depolama hatası ana neden oldu.
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:
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.
Saldırı Süreci
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.
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.
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.
Saldırgan, ikinci geçici depolama değerine aynı olan kötü niyetli bir sözleşme oluşturur.
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.
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.
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.
Saldırganın başlangıç fonu, bir karışık coin hizmetinden gelen 0.3 ETH'dir.
Ö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.