Ölümcül Kalıntı: Geçici Depolamanın Sebep Olduğu 300.000 Dolar Değerinde On-Chain Soygunu
30 Mart 2025'te, değeri 30.000 ABD Dolarından fazla olan bir on-chain soygunu Ethereum ağında gerçekleşti. Güvenlik izleme sisteminin gösterdiğine göre, kaldıraçlı işlem projesi SIR.trading saldırıya uğradı ve büyük kayıplar yaşadı. Güvenlik ekibi bu olayı derinlemesine analiz etti ve şimdi soruşturma sonuçlarını aşağıda yayımlıyor.
Olay Arka Planı
Solidity 0.8.24 sürümü, 2024'ün Ocak ayında anlık depolama ( transient storage ) özelliğini tanıttı. Bu, geliştiricilere düşük maliyetli, işlem süresince geçerli geçici bir depolama yöntemi sunmak için tasarlanmış yeni bir veri depolama konumudur. Anlık depolama, iki yeni EVM komutu olan TSTORE ve TLOAD ile gerçekleştirilmektedir ve düşük gaz maliyeti, işlem içindeki kalıcılık ve otomatik temizleme gibi özelliklere sahiptir.
Saldırı Nedeni
Bu olayın temel nedeni, işlev içerisinde tstore kullanılarak geçici depolanan değerin işlev çağrısı sona erdikten sonra temizlenmemesidir. Saldırganlar bu özelliği kullanarak belirli kötü niyetli adresler oluşturarak yetki kontrolünü aşmayı başardılar ve token'ları başarıyla transfer ettiler.
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 havuzlar oluşturarak likidite enjekte eder; burada A token, 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 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ırarak kaldıraç tokeni APE'yi basar. Bu süreçte, DEX havuz adresi ve basım miktarı sırasıyla geçici depolamaya kaydedilir.
Saldırgan, daha önceki geçici depolamada bulunan mint miktarıyla 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 uniswapV3SwapCallback fonksiyonunu doğrudan çağırarak tokenları transfer eder. Geçici depolama alanındaki değerler temizlenmediği için kimlik kontrolü hatalı bir şekilde geçilmiş olur.
Son olarak, saldırgan, saldırı sözleşmesi (A token) aracılığıyla Vault sözleşmesinin uniswapV3SwapCallback fonksiyonunu çağırarak, Vault sözleşmesindeki diğer tokenleri (WBTC, WETH) çıkararak kar elde eder.
Fon Akışı Analizi
Zincir üstü analiz araçlarının verilerine göre, saldırgan 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. Ardından, saldırgan bu varlıkları takas etti ve transfer etti:
WBTC 63.5596 WETH'e dönüştürüldü
USDC 9.7122 WETH olarak değiştirildi
Toplam 193.1428 WETH, belirli bir anonim ağa aktarıldı
Dikkate değer olan, saldırganın başlangıç fonunun belirli bir anonim ağdan yatırılan 0.3 ETH'den geldiğidir.
Özet ve Öneriler
Bu saldırı, işlem süresince sabit kalan geçici depolama özelliğini kullanarak geri arama fonksiyonunun yetki doğrulamasını başarıyla aştı. Benzer olayların önlenmesi için proje sahiplerine önerilir:
İş mantığına göre, fonksiyon çağrısı sona erdikten hemen sonra tstore(key, 0) geçici depolamadaki değeri temizleyin.
Sözleşme kodu denetimini ve güvenlik testlerini güçlendirin, özellikle yeni özelliklerin kullanım risklerine dikkat edin.
Tek bir kimlik kontrolüne bağımlı kalmadan çoklu doğrulama mekanizmaları uygulayın.
Düzenli olarak güvenlik değerlendirmeleri yapın, potansiyel açıkları zamanında tespit edin ve düzeltin.
Bu olay, yeni teknolojilerin benimsenmesinde dikkatli olunması ve güvenlik etkilerinin kapsamlı bir şekilde değerlendirilmesi gerektiğini bir kez daha hatırlatıyor. Aynı zamanda, sürekli güvenlik denetimleri ve risk yönetimi, kullanıcı varlıklarını korumak için hayati öneme sahiptir.
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.
18 Likes
Reward
18
6
Share
Comment
0/400
GhostChainLoyalist
· 07-23 20:02
Kaçırmak oldu, yine insanları enayi yerine koymak bir proje.
View OriginalReply0
HypotheticalLiquidator
· 07-23 17:12
300 bin? Bu, piyasa temizliğinin gerçekleştiği...
View OriginalReply0
P2ENotWorking
· 07-20 21:17
Proje Ekibi yine derin uykuda.
View OriginalReply0
BlockchainRetirementHome
· 07-20 21:16
Yine akıllı sözleşmeler enayileri emmekte.
View OriginalReply0
DYORMaster
· 07-20 20:49
Güzel görünüyor ama işe yaramıyor, kodları bile incelemiyor.
Geçici depolama açığı, Marj Trade projelerinin 300.000 dolar değerinde on-chain soygununa uğramasına neden oldu.
Ölümcül Kalıntı: Geçici Depolamanın Sebep Olduğu 300.000 Dolar Değerinde On-Chain Soygunu
30 Mart 2025'te, değeri 30.000 ABD Dolarından fazla olan bir on-chain soygunu Ethereum ağında gerçekleşti. Güvenlik izleme sisteminin gösterdiğine göre, kaldıraçlı işlem projesi SIR.trading saldırıya uğradı ve büyük kayıplar yaşadı. Güvenlik ekibi bu olayı derinlemesine analiz etti ve şimdi soruşturma sonuçlarını aşağıda yayımlıyor.
Olay Arka Planı
Solidity 0.8.24 sürümü, 2024'ün Ocak ayında anlık depolama ( transient storage ) özelliğini tanıttı. Bu, geliştiricilere düşük maliyetli, işlem süresince geçerli geçici bir depolama yöntemi sunmak için tasarlanmış yeni bir veri depolama konumudur. Anlık depolama, iki yeni EVM komutu olan TSTORE ve TLOAD ile gerçekleştirilmektedir ve düşük gaz maliyeti, işlem içindeki kalıcılık ve otomatik temizleme gibi özelliklere sahiptir.
Saldırı Nedeni
Bu olayın temel nedeni, işlev içerisinde tstore kullanılarak geçici depolanan değerin işlev çağrısı sona erdikten sonra temizlenmemesidir. Saldırganlar bu özelliği kullanarak belirli kötü niyetli adresler oluşturarak yetki kontrolünü aşmayı başardılar ve token'ları başarıyla transfer ettiler.
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 havuzlar oluşturarak likidite enjekte eder; burada A token, 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 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ırarak kaldıraç tokeni APE'yi basar. Bu süreçte, DEX havuz adresi ve basım miktarı sırasıyla geçici depolamaya kaydedilir.
Saldırgan, daha önceki geçici depolamada bulunan mint miktarıyla 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 uniswapV3SwapCallback fonksiyonunu doğrudan çağırarak tokenları transfer eder. Geçici depolama alanındaki değerler temizlenmediği için kimlik kontrolü hatalı bir şekilde geçilmiş olur.
Son olarak, saldırgan, saldırı sözleşmesi (A token) aracılığıyla Vault sözleşmesinin uniswapV3SwapCallback fonksiyonunu çağırarak, Vault sözleşmesindeki diğer tokenleri (WBTC, WETH) çıkararak kar elde eder.
Fon Akışı Analizi
Zincir üstü analiz araçlarının verilerine göre, saldırgan 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. Ardından, saldırgan bu varlıkları takas etti ve transfer etti:
Dikkate değer olan, saldırganın başlangıç fonunun belirli bir anonim ağdan yatırılan 0.3 ETH'den geldiğidir.
Özet ve Öneriler
Bu saldırı, işlem süresince sabit kalan geçici depolama özelliğini kullanarak geri arama fonksiyonunun yetki doğrulamasını başarıyla aştı. Benzer olayların önlenmesi için proje sahiplerine önerilir:
Bu olay, yeni teknolojilerin benimsenmesinde dikkatli olunması ve güvenlik etkilerinin kapsamlı bir şekilde değerlendirilmesi gerektiğini bir kez daha hatırlatıyor. Aynı zamanda, sürekli güvenlik denetimleri ve risk yönetimi, kullanıcı varlıklarını korumak için hayati öneme sahiptir.