Merkezi Olmayan Finans güvenlik açıkları ve önlemleri
Son zamanlarda, bir güvenlik uzmanı topluluk üyeleri için bir Merkezi Olmayan Finans güvenlik dersi paylaştı. Web3 sektörünün son zamanlarda karşılaştığı önemli güvenlik olaylarını gözden geçirdi, bu olayların nedenlerini ve nasıl önlenebileceğini tartıştı, yaygın akıllı sözleşme güvenlik açıklarını ve önleyici tedbirleri özetledi ve proje sahiplerine ve kullanıcılara bazı güvenlik önerileri verdi.
Yaygın DeFi güvenlik açıkları arasında anlık kredi, fiyat manipülasyonu, fonksiyon yetki sorunları, rastgele dış çağrılar, fallback fonksiyon sorunları, iş mantığı açıkları, özel anahtar sızıntısı, yeniden giriş saldırıları vb. bulunmaktadır. Aşağıda anlık kredi, fiyat manipülasyonu ve yeniden giriş saldırıları bu üç tür üzerinde özellikle durulacaktır.
Hızlı Kredi
Hızlı kredi, merkezi olmayan finansın (DeFi) bir yeniliğidir, ancak hackerlar tarafından kullanıldığında büyük kayıplara neden olabilir:
Saldırgan, fiyatları manipüle etmek veya iş mantığını saldırmak için büyük miktarda fonu anlık kredilerle ödünç alır.
Geliştiricilerin, sözleşme işlevinin büyük miktarda fon nedeniyle anormal hale gelip gelmeyeceğini dikkate alması gerekir.
Bazı projeler ödülleri hesaplamak için Token sayısını kullanıyor ya da DEX ticaret çiftindeki Token sayısını hesaplamaya katıyor, bu değişkenler hızlı kredi ile manipüle edilmeye açıktır.
Son iki yılda, birçok yüksek getirili Merkezi Olmayan Finans projesi, kod veya mantık sorunları nedeniyle hızlı kredi saldırılarına maruz kaldı. Örneğin, bazı projeler belirli bir zamanda pozisyon miktarına göre ödüller dağıtırken, saldırganlar hızlı kredileri kullanarak büyük miktarda token satın alıp ödüllerin çoğunu elde ediyor.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunları, hızlı kredilerle yakından ilişkilidir ve esasen iki türü vardır:
Fiyat hesaplanırken üçüncü taraf verileri kullanılır, ancak kullanım şekli yanlış veya kontrol eksik.
Belirli adreslerin Token bakiyelerini hesaplama değişkeni olarak kullanmak, bu bakiyelerin geçici olarak artırılıp azaltılabilmesi.
Yeniden Giriş Saldırısı
Dış sözleşmeleri çağırmanın ana riski, kontrol akışını ele geçirebilmeleri ve verilere beklenmedik değişiklikler yapabilmeleridir. Örneğin:
function withdrawBalance() public {
uint amountToWithdraw = userBalances[msg.sender];
(bool success, ) = msg.sender.call.value(amountToWithdraw)("");
require(başarı);
userBalances[msg.sender] = 0;
}
Kullanıcı bakiyesi, fonksiyonun sonuna kadar sıfırlanmadığı için, tekrarlanan çağrılar yine de bakiyeyi başarıyla çekebilir.
Reentrancy sorununu çözmek için dikkat edilmesi gerekenler:
Sadece tek bir fonksiyonun yeniden çağrılmasını engellemez
Checks-Effects-Interactions modeline uyun
Onaylanmış reentrancy modifier'ını kullanın
Reentrancy saldırıları çeşitli şekillerde olabilir ve birden fazla fonksiyon veya sözleşmeyi içerebilir. Tekrar tekerlek icat etmekten kaçınmak için olgun güvenlik uygulamaları kullanılması önerilir.
Güvenlik Önerileri
Proje tarafı güvenlik önerileri
Sözleşme geliştirme en iyi güvenlik uygulamalarına uyun
Sözleşmelerin yükseltilebilir ve duraklatılabilir işlevlerinin uygulanması
Zaman kilidi mekanizması kullanma
Güvenlik yatırımlarını artırmak, kapsamlı bir güvenlik sistemi kurmak
Tüm çalışanların güvenlik bilincini artırmak
İçerideki kötü niyetli eylemleri önlemek, verimliliği artırırken risk kontrolünü güçlendirmek
Üçüncü tarafları dikkatli bir şekilde dahil edin, varsayılan olarak hem yukarı hem de aşağı akış güvenli değildir.
Kullanıcı akıllı sözleşme güvenliğini değerlendirir.
Sözleşme açık kaynak mı?
Owner merkezi olmayan çoklu imza kullanıyor mu?
Sözleşmenin mevcut işlem durumunu kontrol edin
Sözleşme güncellenebilir mi, zaman kilidi var mı?
Sözleşme birden fazla kurumun denetimini kabul ediyor mu, Owner yetkisi fazla mı?
Oracle'ın güvenilirliğine dikkat edin
Özetle, Merkezi Olmayan Finans alanında birçok güvenlik riski bulunmaktadır, proje sahipleri ve kullanıcılar dikkatli olmalı, çoklu koruma önlemleri almalı ve ekosistem güvenliğini birlikte sağlamalı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.
19 Likes
Reward
19
4
Share
Comment
0/400
TokenCreatorOP
· 07-28 02:54
Bunları erken söyleseydin, USDT'm gitti.
View OriginalReply0
RooftopReserver
· 07-28 02:53
Yine enayiler çatıya çıkmak istiyor.
View OriginalReply0
consensus_failure
· 07-28 02:53
Yine bir kez daha tuzak kurup Rug Pull yapma senaryosunu oynuyor.
Merkezi Olmayan Finans güvenlik saldırı savunması: Flaş Krediler, fiyat manipülasyonu ve yeniden giriş saldırısı önleme kılavuzu
Merkezi Olmayan Finans güvenlik açıkları ve önlemleri
Son zamanlarda, bir güvenlik uzmanı topluluk üyeleri için bir Merkezi Olmayan Finans güvenlik dersi paylaştı. Web3 sektörünün son zamanlarda karşılaştığı önemli güvenlik olaylarını gözden geçirdi, bu olayların nedenlerini ve nasıl önlenebileceğini tartıştı, yaygın akıllı sözleşme güvenlik açıklarını ve önleyici tedbirleri özetledi ve proje sahiplerine ve kullanıcılara bazı güvenlik önerileri verdi.
Yaygın DeFi güvenlik açıkları arasında anlık kredi, fiyat manipülasyonu, fonksiyon yetki sorunları, rastgele dış çağrılar, fallback fonksiyon sorunları, iş mantığı açıkları, özel anahtar sızıntısı, yeniden giriş saldırıları vb. bulunmaktadır. Aşağıda anlık kredi, fiyat manipülasyonu ve yeniden giriş saldırıları bu üç tür üzerinde özellikle durulacaktır.
Hızlı Kredi
Hızlı kredi, merkezi olmayan finansın (DeFi) bir yeniliğidir, ancak hackerlar tarafından kullanıldığında büyük kayıplara neden olabilir:
Son iki yılda, birçok yüksek getirili Merkezi Olmayan Finans projesi, kod veya mantık sorunları nedeniyle hızlı kredi saldırılarına maruz kaldı. Örneğin, bazı projeler belirli bir zamanda pozisyon miktarına göre ödüller dağıtırken, saldırganlar hızlı kredileri kullanarak büyük miktarda token satın alıp ödüllerin çoğunu elde ediyor.
Fiyat Manipülasyonu
Fiyat manipülasyonu sorunları, hızlı kredilerle yakından ilişkilidir ve esasen iki türü vardır:
Yeniden Giriş Saldırısı
Dış sözleşmeleri çağırmanın ana riski, kontrol akışını ele geçirebilmeleri ve verilere beklenmedik değişiklikler yapabilmeleridir. Örneğin:
katılık mapping (address => uint) private userBalances;
function withdrawBalance() public { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(başarı); userBalances[msg.sender] = 0; }
Kullanıcı bakiyesi, fonksiyonun sonuna kadar sıfırlanmadığı için, tekrarlanan çağrılar yine de bakiyeyi başarıyla çekebilir.
Reentrancy sorununu çözmek için dikkat edilmesi gerekenler:
Reentrancy saldırıları çeşitli şekillerde olabilir ve birden fazla fonksiyon veya sözleşmeyi içerebilir. Tekrar tekerlek icat etmekten kaçınmak için olgun güvenlik uygulamaları kullanılması önerilir.
Güvenlik Önerileri
Proje tarafı güvenlik önerileri
Kullanıcı akıllı sözleşme güvenliğini değerlendirir.
Özetle, Merkezi Olmayan Finans alanında birçok güvenlik riski bulunmaktadır, proje sahipleri ve kullanıcılar dikkatli olmalı, çoklu koruma önlemleri almalı ve ekosistem güvenliğini birlikte sağlamalıdır.