Ölümcül Kalıntı: Geçici Depolamadan Kaynaklanan 300.000 Dolar Değerinde Bir On-Chain Saldırı Olayı
30 Mart 2025'te, bir güvenlik izleme sistemi Ethereum on-chain'deki kaldıraçlı ticaret projesinin saldırıya uğradığını tespit etti ve 300.000 dolardan fazla varlık kaybı yaşandı. Güvenlik ekibi bu olayı derinlemesine analiz etti ve sonuçları aşağıda paylaşmaktadır:
Arka Plan
Solidity 0.8.24 sürümü (2024 Ocak'ta yayımlanacak) EIP-1153'e dayalı geçici depolama özelliklerini tanıttı. Bu, geliştiricilere düşük maliyetli, işlem süresince geçerli geçici depolama yöntemleri sunmak için tasarlanmış yeni bir veri depolama konumudur.
Geçici depolamanın ana özellikleri şunlardır:
Düşük gas maliyeti: TSTORE ve TLOAD işlemlerinin gas maliyeti sabit olarak 100'dür.
İşlem içi kalıcılık: Veriler işlem süresi boyunca geçerliliğini korur.
Otomatik Temizleme: İşlem sona erdikten sonra geçici depolama otomatik olarak sıfıra sıfırlanır.
Saldırı Kaynağı
Bu olayın temel nedeni, fonksiyon içinde tstore kullanılarak geçici 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şturabilmesine ve yetki kontrollerini atlatarak token çıkarmasına olanak tanımaktadır.
Saldırı Süreci
Saldırgan, iki kötü niyetli token A ve B oluşturur, bu iki token için bir DEX'te havuz oluşturur ve likidite enjekte eder; burada A token'i saldırı sözleşmesidir.
Saldırgan, Vault sözleşmesinin initialize fonksiyonunu çağırarak A tokenini teminat tokeni, B tokenini borç tokeni olarak kullanarak APE-21 kaldıraç ticaret pazarını oluşturur.
Saldırgan, Vault sözleşmesinin mint fonksiyonunu çağırarak, borç tokeni B'yi yatırıp kaldıraç tokeni APE'yi mintler. Bu süreçte, iki geçici depolama işlemi gerçekleştirilir: önce bir DEX havuzunun adresi depolanır, ardından mintlenen token miktarı depolanır.
Saldırgan, ikinci geçici depolamanın değeriyle aynı olan bir adresle kötü niyetli bir sözleşme oluşturmak için özel yöntemler kullanır.
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ışarı aktarır. Geçici depolama alanındaki değerler temizlenmediği için çağrıyı yapanın kimlik kontrolü yanlış bir şekilde geçilmiş olur.
Son olarak, saldırgan, saldırı sözleşmesi (A token) aracılığıyla Vault sözleşmesinin geri çağırma fonksiyonunu çağırarak, Vault sözleşmesindeki diğer tokenleri (örneğin WBTC, WETH) çıkararak kâr elde eder.
Fon Akışı Analizi
Zincir üstü analiz araçlarının analizine 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. Bu varlıklar daha sonra birleştirildi ve WETH'e dönüştürüldü ve nihayetinde bir gizli ticaret protokolüne aktarıldı.
Saldırganın başlangıç sermayesi, bu gizlilik ticaret protokolüne aktarılan 0.3 ETH'den gelmektedir.
Özet ve Öneriler
Bu saldırının temelinde, saldırganların işlem süresi boyunca geçici depolama alanında değerin değişmeden kalma özelliğinden yararlanarak geri çağırma fonksiyonunun yetki doğrulamasını atlamaları yatmaktadır. Benzer durumların önlenmesi için projeye öneriler:
İş mantığına göre, işlev çağrısı sona erdikten hemen sonra tstore(key, 0) kullanarak geçici depolamadaki değeri temizleyin.
Sözleşme kodu denetimini ve güvenlik testlerini güçlendirin.
Yeni tanıtılan özellikleri dikkatli bir şekilde kullanın, potansiyel risklerini tam olarak anlayın.
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.
300.000 ABD Doları on-chain saldırı olayı: Geçici depolama açığı Marj Trade projelerini etkiledi
Ölümcül Kalıntı: Geçici Depolamadan Kaynaklanan 300.000 Dolar Değerinde Bir On-Chain Saldırı Olayı
30 Mart 2025'te, bir güvenlik izleme sistemi Ethereum on-chain'deki kaldıraçlı ticaret projesinin saldırıya uğradığını tespit etti ve 300.000 dolardan fazla varlık kaybı yaşandı. Güvenlik ekibi bu olayı derinlemesine analiz etti ve sonuçları aşağıda paylaşmaktadır:
Arka Plan
Solidity 0.8.24 sürümü (2024 Ocak'ta yayımlanacak) EIP-1153'e dayalı geçici depolama özelliklerini tanıttı. Bu, geliştiricilere düşük maliyetli, işlem süresince geçerli geçici depolama yöntemleri sunmak için tasarlanmış yeni bir veri depolama konumudur.
Geçici depolamanın ana özellikleri şunlardır:
Saldırı Kaynağı
Bu olayın temel nedeni, fonksiyon içinde tstore kullanılarak geçici 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şturabilmesine ve yetki kontrollerini atlatarak token çıkarmasına olanak tanımaktadır.
Saldırı Süreci
Saldırgan, iki kötü niyetli token A ve B oluşturur, bu iki token için bir DEX'te havuz oluşturur ve likidite enjekte eder; burada A token'i saldırı sözleşmesidir.
Saldırgan, Vault sözleşmesinin initialize fonksiyonunu çağırarak A tokenini teminat tokeni, B tokenini borç tokeni olarak kullanarak APE-21 kaldıraç ticaret pazarını oluşturur.
Saldırgan, Vault sözleşmesinin mint fonksiyonunu çağırarak, borç tokeni B'yi yatırıp kaldıraç tokeni APE'yi mintler. Bu süreçte, iki geçici depolama işlemi gerçekleştirilir: önce bir DEX havuzunun adresi depolanır, ardından mintlenen token miktarı depolanır.
Saldırgan, ikinci geçici depolamanın değeriyle aynı olan bir adresle kötü niyetli bir sözleşme oluşturmak için özel yöntemler kullanır.
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ışarı aktarır. Geçici depolama alanındaki değerler temizlenmediği için çağrıyı yapanın kimlik kontrolü yanlış bir şekilde geçilmiş olur.
Son olarak, saldırgan, saldırı sözleşmesi (A token) aracılığıyla Vault sözleşmesinin geri çağırma fonksiyonunu çağırarak, Vault sözleşmesindeki diğer tokenleri (örneğin WBTC, WETH) çıkararak kâr elde eder.
Fon Akışı Analizi
Zincir üstü analiz araçlarının analizine 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. Bu varlıklar daha sonra birleştirildi ve WETH'e dönüştürüldü ve nihayetinde bir gizli ticaret protokolüne aktarıldı.
Saldırganın başlangıç sermayesi, bu gizlilik ticaret protokolüne aktarılan 0.3 ETH'den gelmektedir.
Özet ve Öneriler
Bu saldırının temelinde, saldırganların işlem süresi boyunca geçici depolama alanında değerin değişmeden kalma özelliğinden yararlanarak geri çağırma fonksiyonunun yetki doğrulamasını atlamaları yatmaktadır. Benzer durumların önlenmesi için projeye öneriler: