Geçici Depolama Açığı 300.000 Dolar Değerinde On-Chain Saldırı Olayı Analizi
30 Mart 2025'te, bir Ethereum on-chain kaldıraç ticareti projesi saldırıya uğradı ve 300.000 dolardan fazla varlık kaybına neden oldu. Güvenlik ekibi bu olayı derinlemesine analiz etti ve sonuçları aşağıda paylaşılıyor:
Arka Plan Bilgisi
Solidity 0.8.24 versiyonu, yeni bir veri depolama yeri olan (geçici depolama) özelliğini tanıttı. Başlıca özellikleri şunlardır:
Düşük gas maliyeti: TSTORE ve TLOAD işlemlerinin gas maliyeti 100 olarak sabittir.
İşlem içi kalıcılık: Veriler işlem süresince geçerliliğini korur.
Otomatik Temizleme: İşlem tamamlandıktan sonra, geçici depolama otomatik olarak sıfıra sıfırlanır.
Saldırı Nedeni
Bu olayın temel nedeni, fonksiyonda tstore kullanılarak geçici depolanan değerlerin fonksiyon çağrısı sona erdikten sonra temizlenmemesidir. Saldırganlar bu özelliği kullanarak belirli kötü niyetli adresler oluşturup yetki kontrolünü aşarak token transferi gerçekleştirmişlerdir.
Saldırı Adımları
Saldırgan, iki kötü niyetli token A ve B oluşturur ve bu iki token için bir DEX'te havuz oluşturup likidite sağlar.
Saldırgan, Vault sözleşmesinin initialize fonksiyonunu çağırarak A tokenini teminat tokeni, B tokenini ise borç tokeni olarak kullanarak kaldıraçlı işlem piyasası oluşturur.
Saldırgan, Vault sözleşmesinin mint fonksiyonunu çağırarak borç tokeni B'yi yatırarak kaldıraç tokeni basar. Bu süreçte, DEX havuzunun adresi ilk kez geçici olarak depolanır.
DEX havuzları değişim işlemi gerçekleştirdiğinde, Vault sözleşmesinin uniswapV3SwapCallback fonksiyonu geri çağrılacaktır. Bu fonksiyon, çağrıcı kimliğini doğrulamak için tload kullanarak geçici depolamadan değer alır ve basılan miktarı ikinci bir geçici depolamaya kaydeder.
Saldırgan, ikinci geçici depolama değerine aynı olan bir kötü niyetli 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 tokenleri çıkarır. Geçici depolamadaki değerler temizlenmediği için kimlik doğrulama hatalı bir şekilde geçmiştir.
Son olarak, saldırgan, sözleşmeyi (A token) saldırarak Vault sözleşmesinin uniswapV3SwapCallback fonksiyonunu çağırarak, Vault sözleşmesindeki diğer tokenları (örneğin WBTC, WETH) çıkarıp kâr elde eder.
Fon Akış Analizi
On-chain kara para aklama ve izleme araçları analiziyle, saldırganlar yaklaşık 300.000 dolar değerinde varlık çaldı, dahil olmak üzere:
17,814.8626 USDC
1.4085 WBTC
119.871 WETH
Daha sonra, saldırgan WBTC ve USDC'yi WETH ile değiştirdi ve toplamda 193.1428 WETH bir karıştırma aracına aktarıldı. Saldırganın başlangıç fonları, bu karıştırma aracına aktarılan 0.3 ETH'ten geldi.
Güvenlik Önerileri
Proje ekibi, iş mantığına göre, fonksiyon çağrısı sona erdikten hemen sonra tstore(key, 0) kullanarak geçici depolamadaki değerleri temizlemelidir.
Sözleşme kodu denetimini ve güvenlik testlerini güçlendirin, benzer açıkları önleyin.
Yeni eklenen özellikleri dikkatli bir şekilde kullanın ve potansiyel risklerini tam olarak anlayın.
Çoklu doğrulama mekanizmaları oluşturun, yalnızca tek bir kimlik doğrulama yöntemine güvenmeyin.
Düzenli olarak güvenlik değerlendirmeleri ve zafiyet taramaları yapılmalı, tespit edilen sorunlar zamanında düzeltilmelidir.
Bu saldırı olayı, blok zinciri projelerinin yeni teknolojik özellikler kullanırken ekstra dikkatli olmaları gerektiğini bir kez daha vurguladı ve sürekli güvenlik denetimlerinin önemini de öne çıkardı. Geliştiriciler, en son güvenlik en iyi uygulamalarını her zaman takip etmeli ve kod uygulamalarında bu uygulamalara sıkı sıkıya uymalıdır.
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.
14 Likes
Reward
14
7
Share
Comment
0/400
DegenWhisperer
· 19h ago
Emiciler Tarafından Oyuna Getirilmek bir gün daha başladı
View OriginalReply0
PensionDestroyer
· 19h ago
30w yeniden yağlandı
View OriginalReply0
AirDropMissed
· 19h ago
又被 insanları enayi yerine koymak 了一波 enayiler
View OriginalReply0
ruggedNotShrugged
· 20h ago
Kapsam daraldı, şimdi bu kadar saldırı bile önemli değil.
View OriginalReply0
SillyWhale
· 20h ago
Yine küçük projeler emiciler tarafından oyuna getirildi.
View OriginalReply0
RugPullAlarm
· 20h ago
Bir başka sözleşme düzgün temizlenmeden ifşa edildi.
View OriginalReply0
SwingingLittleLeek
· 20h ago
Son zamanlarda Ethereum 3000+ seviyelerinde dolaşıyor! Gelecekte 3000+ seviyesinin üzerine çıkacak.
Geçici depolama açığı, Ethereum projelerinin 300.000 dolarlık saldırıya uğramasına neden oldu. Güvenlik ekibi kritik detayları analiz etti.
Geçici Depolama Açığı 300.000 Dolar Değerinde On-Chain Saldırı Olayı Analizi
30 Mart 2025'te, bir Ethereum on-chain kaldıraç ticareti projesi saldırıya uğradı ve 300.000 dolardan fazla varlık kaybına neden oldu. Güvenlik ekibi bu olayı derinlemesine analiz etti ve sonuçları aşağıda paylaşılıyor:
Arka Plan Bilgisi
Solidity 0.8.24 versiyonu, yeni bir veri depolama yeri olan (geçici depolama) özelliğini tanıttı. Başlıca özellikleri şunlardır:
Saldırı Nedeni
Bu olayın temel nedeni, fonksiyonda tstore kullanılarak geçici depolanan değerlerin fonksiyon çağrısı sona erdikten sonra temizlenmemesidir. Saldırganlar bu özelliği kullanarak belirli kötü niyetli adresler oluşturup yetki kontrolünü aşarak token transferi gerçekleştirmişlerdir.
Saldırı Adımları
Saldırgan, iki kötü niyetli token A ve B oluşturur ve bu iki token için bir DEX'te havuz oluşturup likidite sağlar.
Saldırgan, Vault sözleşmesinin initialize fonksiyonunu çağırarak A tokenini teminat tokeni, B tokenini ise borç tokeni olarak kullanarak kaldıraçlı işlem piyasası oluşturur.
Saldırgan, Vault sözleşmesinin mint fonksiyonunu çağırarak borç tokeni B'yi yatırarak kaldıraç tokeni basar. Bu süreçte, DEX havuzunun adresi ilk kez geçici olarak depolanır.
DEX havuzları değişim işlemi gerçekleştirdiğinde, Vault sözleşmesinin uniswapV3SwapCallback fonksiyonu geri çağrılacaktır. Bu fonksiyon, çağrıcı kimliğini doğrulamak için tload kullanarak geçici depolamadan değer alır ve basılan miktarı ikinci bir geçici depolamaya kaydeder.
Saldırgan, ikinci geçici depolama değerine aynı olan bir kötü niyetli 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 tokenleri çıkarır. Geçici depolamadaki değerler temizlenmediği için kimlik doğrulama hatalı bir şekilde geçmiştir.
Son olarak, saldırgan, sözleşmeyi (A token) saldırarak Vault sözleşmesinin uniswapV3SwapCallback fonksiyonunu çağırarak, Vault sözleşmesindeki diğer tokenları (örneğin WBTC, WETH) çıkarıp kâr elde eder.
Fon Akış Analizi
On-chain kara para aklama ve izleme araçları analiziyle, saldırganlar yaklaşık 300.000 dolar değerinde varlık çaldı, dahil olmak üzere:
Daha sonra, saldırgan WBTC ve USDC'yi WETH ile değiştirdi ve toplamda 193.1428 WETH bir karıştırma aracına aktarıldı. Saldırganın başlangıç fonları, bu karıştırma aracına aktarılan 0.3 ETH'ten geldi.
Güvenlik Önerileri
Proje ekibi, iş mantığına göre, fonksiyon çağrısı sona erdikten hemen sonra tstore(key, 0) kullanarak geçici depolamadaki değerleri temizlemelidir.
Sözleşme kodu denetimini ve güvenlik testlerini güçlendirin, benzer açıkları önleyin.
Yeni eklenen özellikleri dikkatli bir şekilde kullanın ve potansiyel risklerini tam olarak anlayın.
Çoklu doğrulama mekanizmaları oluşturun, yalnızca tek bir kimlik doğrulama yöntemine güvenmeyin.
Düzenli olarak güvenlik değerlendirmeleri ve zafiyet taramaları yapılmalı, tespit edilen sorunlar zamanında düzeltilmelidir.
Bu saldırı olayı, blok zinciri projelerinin yeni teknolojik özellikler kullanırken ekstra dikkatli olmaları gerektiğini bir kez daha vurguladı ve sürekli güvenlik denetimlerinin önemini de öne çıkardı. Geliştiriciler, en son güvenlik en iyi uygulamalarını her zaman takip etmeli ve kod uygulamalarında bu uygulamalara sıkı sıkıya uymalıdır.